:root{
  --green:#2f6f3e;
  --green-2:#6f9f52;
  --lime:#b7d46a;
  --kiwi:#dce9a5;
  --cream:#fffdf6;
  --paper:#fffefb;
  --ink:#20241f;
  --muted:#667063;
  --line:rgba(47,111,62,.18);
  --shadow:0 18px 55px rgba(49,83,46,.12);
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --shell-height:100vh;
  --nav-reserve:calc(78px + var(--safe-bottom));
  --gutter:clamp(.8rem,3vw,1.35rem);
  --radius:26px;
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@supports(height:100dvh){:root{--shell-height:100dvh}}

*{box-sizing:border-box}
html{
  width:100%;
  height:var(--shell-height);
  margin:0;
  background:var(--green);
  overflow:clip;
  font-family:var(--sans);
  color:var(--ink);
  text-rendering:optimizeLegibility;
}
body{
  position:fixed;
  inset:0;
  width:100%;
  height:var(--shell-height);
  margin:0;
  overflow:clip;
  background:var(--green);
}
button,input,textarea,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{color:inherit}
a{color:inherit}
.skip-link{
  position:fixed;
  z-index:99999;
  left:1rem;
  top:1rem;
  transform:translateY(-180%);
  padding:.7rem 1rem;
  border-radius:999px;
  background:#fff;
}
.skip-link:focus{transform:none}

[data-app-shell]{
  position:absolute;
  inset:max(var(--safe-top),6px) max(var(--safe-right),6px) max(var(--safe-bottom),6px) max(var(--safe-left),6px);
  overflow:clip;
  border:clamp(4px,1vw,8px) solid var(--green);
  border-radius:clamp(22px,4vw,34px);
  background:var(--cream);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.75);
}

.kiwi-pattern{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background:
    radial-gradient(circle at 20px 20px,rgba(47,111,62,.12) 0 2px,transparent 2.5px),
    radial-gradient(ellipse at 20px 20px,rgba(183,212,106,.18) 0 13px,transparent 13.5px);
  background-size:58px 58px;
  transform:rotate(-2deg) scale(1.06);
}

.app-window{display:none}
.app-window[hidden],
.app-window[aria-hidden="true"],
.app-window:not(.is-active){
  display:none;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}
.app-window.is-active:not([hidden])[aria-hidden="false"]{
  display:block;
  position:absolute;
  top:0;
  right:0;
  bottom:var(--nav-reserve);
  left:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  touch-action:pan-y pinch-zoom;
  -webkit-overflow-scrolling:touch;
}

.page-shell{
  position:relative;
  z-index:1;
  width:min(1100px,100%);
  min-height:100%;
  margin:0 auto;
  padding:var(--gutter) var(--gutter) calc(var(--gutter) + 1rem);
}

.hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(160px,280px);
  gap:clamp(1rem,4vw,3rem);
  align-items:center;
  min-height:min(600px,70vh);
  padding:clamp(1.2rem,4vw,3.2rem);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:clamp(24px,5vw,42px);
  background:
    radial-gradient(circle at 86% 12%,rgba(183,212,106,.35),transparent 26%),
    linear-gradient(135deg,rgba(255,255,255,.97),rgba(244,249,225,.96));
  box-shadow:var(--shadow);
}
.hero::after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  right:-90px;
  bottom:-105px;
  border:34px solid rgba(47,111,62,.065);
  border-radius:50%;
}
.eyebrow{
  margin:0 0 .55rem;
  color:var(--green);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.16em;
}
.hero h1,.page-heading h1{
  margin:0;
  font-size:clamp(2.7rem,9vw,7rem);
  line-height:.88;
  letter-spacing:-.055em;
}
.hero-line{
  margin:.75rem 0 0;
  font-size:clamp(1.2rem,3vw,2rem);
  font-weight:750;
}
.hero-intro{
  max-width:620px;
  margin:.65rem 0 0;
  color:var(--muted);
  font-size:clamp(.95rem,2vw,1.08rem);
  line-height:1.65;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}
.button{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:.8rem 1.12rem;
  border:0;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  cursor:pointer;
}
.button.primary{background:var(--green);color:white;box-shadow:0 10px 26px rgba(47,111,62,.2)}
.button.light{background:white;border:1px solid var(--line)}
.button:active{transform:scale(.98)}

.kiwi-mark{
  position:relative;
  display:grid;
  width:min(260px,28vw);
  aspect-ratio:1;
  place-items:center;
  justify-self:end;
  border-radius:50%;
  background:#6a4a31;
  box-shadow:0 18px 42px rgba(56,61,37,.18);
}
.kiwi-half{
  position:absolute;
  inset:8%;
  border-radius:50%;
  background:
    radial-gradient(circle,#f7f1cb 0 14%,transparent 14.6%),
    radial-gradient(circle,#8fbc5b 0 58%,#6f9f52 58.5% 68%,#f4e3bd 68.5% 100%);
}
.kiwi-half i{
  position:absolute;
  width:7px;
  height:18px;
  left:50%;
  top:19%;
  border-radius:999px;
  background:#2f241b;
  transform-origin:50% 450%;
}
.kiwi-half i:nth-child(1){transform:rotate(0deg)}
.kiwi-half i:nth-child(2){transform:rotate(36deg)}
.kiwi-half i:nth-child(3){transform:rotate(72deg)}
.kiwi-half i:nth-child(4){transform:rotate(108deg)}
.kiwi-half i:nth-child(5){transform:rotate(144deg)}
.kiwi-half i:nth-child(6){transform:rotate(180deg)}
.kiwi-half i:nth-child(7){transform:rotate(216deg)}
.kiwi-half i:nth-child(8){transform:rotate(252deg)}
.kiwi-half i:nth-child(9){transform:rotate(288deg)}
.kiwi-half i:nth-child(10){transform:rotate(324deg)}
.kiwi-mark strong{
  position:relative;
  z-index:2;
  display:grid;
  width:34%;
  aspect-ratio:1;
  place-items:center;
  border-radius:50%;
  background:rgba(255,253,246,.94);
  color:var(--green);
  font-size:clamp(1rem,3vw,2rem);
  letter-spacing:-.08em;
}

.home-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.75rem,2vw,1.1rem);
  padding:clamp(1rem,3vw,1.7rem) 0 0;
}
.feature-card{
  min-width:0;
  padding:1.2rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.9);
  box-shadow:0 10px 30px rgba(49,83,46,.06);
}
.feature-card>span{
  display:inline-grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:.72rem;
  font-weight:900;
}
.feature-card h2{margin:.85rem 0 .35rem;font-size:1.35rem}
.feature-card p{min-height:3.3em;margin:0;color:var(--muted);line-height:1.55}
.feature-card button{
  margin-top:1rem;
  padding:0;
  border:0;
  background:none;
  color:var(--green);
  font-weight:900;
  cursor:pointer;
}

.page-heading{padding:clamp(1.3rem,4vw,3rem) .15rem 1.1rem}
.page-heading h1{font-size:clamp(3rem,9vw,6rem)}
.page-heading>p:last-child{max-width:680px;margin:.65rem 0 0;color:var(--muted);line-height:1.6}

.product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.75rem,2vw,1rem);
}
.product-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 10px 30px rgba(49,83,46,.07);
}
.product-image{
  display:grid;
  aspect-ratio:1;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 50%,#f7f1cb 0 12%,transparent 12.5%),
    radial-gradient(circle at 50% 50%,#8fbc5b 0 55%,#6f9f52 55.5% 65%,#efe2c3 65.5% 100%);
}
.product-image img{width:100%;height:100%;object-fit:cover}
.product-image span{padding:1rem;border-radius:999px;background:rgba(255,255,255,.86);font-weight:900;color:var(--green)}
.product-info{padding:1rem}
.product-top{display:flex;align-items:start;justify-content:space-between;gap:.75rem}
.product-top h2{margin:0;font-size:1.08rem}
.product-price{white-space:nowrap;color:var(--green);font-weight:950}
.product-kind{margin:.35rem 0 0;color:var(--muted);font-size:.8rem}
.product-status{
  display:inline-flex;
  margin-top:.7rem;
  padding:.25rem .5rem;
  border-radius:999px;
  background:#edf4df;
  color:#496b31;
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
}
.product-status.sold{background:#eee;color:#666}
.product-status.soon{background:#fff1c8;color:#805b12}

.empty-state{
  display:grid;
  min-height:42vh;
  place-items:center;
  align-content:center;
  padding:2rem;
  border:1px dashed rgba(47,111,62,.3);
  border-radius:var(--radius);
  text-align:center;
  background:rgba(255,255,255,.6);
}
.empty-state h2{margin:.8rem 0 .2rem}
.empty-state p{margin:0;color:var(--muted)}
.mini-kiwi{
  width:88px;
  aspect-ratio:1;
  border:10px solid #6a4a31;
  border-radius:50%;
  background:radial-gradient(circle,#f7f1cb 0 12%,#8fbc5b 13% 62%,#6f9f52 63% 100%);
}

.app-card,.about-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(160px,260px) minmax(0,1fr);
  gap:clamp(1rem,4vw,3rem);
  align-items:center;
  padding:clamp(1.1rem,4vw,2.4rem);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(255,255,255,.92);
  box-shadow:var(--shadow);
}
.app-icon{
  display:grid;
  width:min(220px,100%);
  aspect-ratio:1;
  place-items:center;
  border-radius:26%;
  background:linear-gradient(145deg,var(--green),#93b95f);
  box-shadow:0 16px 38px rgba(47,111,62,.2);
}
.app-icon span{color:#fff;font-size:clamp(2rem,5vw,3.6rem);font-weight:950;letter-spacing:-.08em}
.status-pill{
  display:inline-flex;
  padding:.3rem .58rem;
  border-radius:999px;
  background:#edf4df;
  color:var(--green);
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}
.app-copy h2{margin:.65rem 0 .4rem;font-size:clamp(1.6rem,4vw,2.8rem)}
.app-copy p{max-width:650px;margin:0 0 1rem;color:var(--muted);line-height:1.65}

.about-pattern{
  min-height:240px;
  border-radius:22px;
  background:
    radial-gradient(circle at 24px 24px,#2f241b 0 2px,transparent 2.4px),
    radial-gradient(circle at 24px 24px,#97bf61 0 15px,#6f9f52 15.5px 18px,transparent 18.5px);
  background-size:64px 64px;
  background-color:#f5f9e9;
}
.about-card>div:last-child>p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.75}
.contact-block{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  margin-top:1.3rem;
  padding-top:1rem;
  border-top:1px solid var(--line);
}
.contact-block a{color:var(--green);font-weight:900}

.kiwi-pill{
  position:absolute;
  z-index:9000;
  left:max(var(--safe-left),.7rem);
  right:max(var(--safe-right),.7rem);
  bottom:max(var(--safe-bottom),.55rem);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-height:62px;
  padding:.35rem;
  border:1px solid rgba(47,111,62,.2);
  border-radius:24px;
  background:rgba(255,255,255,.9);
  box-shadow:0 12px 36px rgba(40,72,40,.15);
  backdrop-filter:blur(16px);
}
.kiwi-pill button{
  display:flex;
  min-width:0;
  min-height:52px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.1rem;
  border:0;
  border-radius:18px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
}
.kiwi-pill button span{font-size:1.05rem}
.kiwi-pill button b{font-size:.72rem}
.kiwi-pill button[aria-current="page"]{background:var(--green);color:#fff}

:where(button,a[href]):focus-visible{outline:3px solid rgba(47,111,62,.5);outline-offset:2px}

@media(max-width:760px){
  .hero{grid-template-columns:minmax(0,1fr);min-height:auto}
  .kiwi-mark{width:min(210px,55vw);justify-self:center}
  .home-grid{grid-template-columns:minmax(0,1fr)}
  .feature-card p{min-height:0}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-card,.about-card{grid-template-columns:minmax(0,1fr)}
  .app-icon{width:min(180px,52vw);justify-self:center}
  .about-pattern{min-height:180px}
}
@media(max-width:460px){
  :root{--nav-reserve:calc(74px + var(--safe-bottom))}
  [data-app-shell]{border-width:4px;border-radius:22px}
  .page-shell{padding-top:.7rem}
  .hero{padding:1.05rem;border-radius:22px}
  .hero h1{font-size:clamp(2.55rem,15vw,4.2rem)}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:minmax(0,1fr)}
  .kiwi-pill{left:.5rem;right:.5rem;bottom:max(var(--safe-bottom),.45rem);border-radius:20px}
}
@media(orientation:landscape) and (max-height:560px){
  :root{--nav-reserve:calc(68px + var(--safe-bottom))}
  .page-shell{padding-top:.55rem}
  .hero{grid-template-columns:minmax(0,1fr) minmax(120px,170px);min-height:auto;padding:1rem 1.2rem}
  .hero h1{font-size:clamp(2.6rem,7vw,4.6rem)}
  .hero-line{font-size:1.1rem}
  .hero-intro{font-size:.9rem;line-height:1.45}
  .kiwi-mark{width:min(160px,22vw)}
  .home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .feature-card{padding:.9rem}
  .feature-card p{font-size:.82rem}
  .page-heading{padding:1rem .1rem .8rem}
  .kiwi-pill{min-height:56px}
  .kiwi-pill button{min-height:46px}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* kiwiwashere fun skin v2 */
:root{
  --pink:#ef6f91;
  --brown:#7a5232;
  --fun:"Marker Felt","Chalkboard SE","Noteworthy","Comic Sans MS",cursive;
}
html,body{background:var(--green)}
[data-app-shell]{
  border-color:#2f6f3e;
  background:#fff8e9;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 14px 60px rgba(20,75,38,.24);
}
.kiwi-pattern{
  inset:-24px;
  opacity:1;
  transform:none;
  background-color:#fff7e5;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20180%22%3E%0A%20%20%3Cg%20opacity%3D%22.98%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2238%22%20cy%3D%2240%22%20r%3D%2231%22%20fill%3D%22%237a5232%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2238%22%20cy%3D%2240%22%20r%3D%2225%22%20fill%3D%22%23a9cf62%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2238%22%20cy%3D%2240%22%20r%3D%228%22%20fill%3D%22%23f7f0c7%22%2F%3E%0A%20%20%20%20%3Cg%20fill%3D%22%232f241b%22%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2238%22%20cy%3D%2219%22%20rx%3D%222.2%22%20ry%3D%225.5%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2252%22%20cy%3D%2224%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(45%2052%2024)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2259%22%20cy%3D%2240%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(90%2059%2040)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2252%22%20cy%3D%2256%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(135%2052%2056)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2238%22%20cy%3D%2261%22%20rx%3D%222.2%22%20ry%3D%225.5%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2224%22%20cy%3D%2256%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(45%2024%2056)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2217%22%20cy%3D%2240%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(90%2017%2040)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2224%22%20cy%3D%2224%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(135%2024%2024)%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22145%22%20cy%3D%22132%22%20r%3D%2229%22%20fill%3D%22%237a5232%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22145%22%20cy%3D%22132%22%20r%3D%2223%22%20fill%3D%22%23a9cf62%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22145%22%20cy%3D%22132%22%20r%3D%227%22%20fill%3D%22%23f7f0c7%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M93%2031c9-17%2024-15%2029-13-2%208-9%2022-26%2025z%22%20fill%3D%22%236f9f52%22%20transform%3D%22rotate(-18%20107%2031)%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M79%20145c10-18%2025-16%2030-13-3%208-10%2022-27%2024z%22%20fill%3D%22%236f9f52%22%20transform%3D%22rotate(15%2094%20145)%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M115%2078c5-10%2015-8%2016-2%201%206-7%2012-16%2021-9-9-17-15-16-21%201-6%2011-8%2016%202z%22%20fill%3D%22%23ef6f91%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2283%22%20cy%3D%2277%22%20r%3D%223.2%22%20fill%3D%22%236f9f52%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2291%22%20cy%3D%2285%22%20r%3D%222.4%22%20fill%3D%22%236f9f52%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2275%22%20cy%3D%2290%22%20r%3D%222.6%22%20fill%3D%22%236f9f52%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
  background-repeat:repeat;
  background-size:154px 154px;
}
.page-shell{padding-top:clamp(.7rem,2.5vw,1.15rem)}
.hero{
  grid-template-columns:minmax(0,1.1fr) minmax(210px,.9fr);
  gap:clamp(.8rem,3vw,2rem);
  min-height:min(650px,76vh);
  padding:clamp(1.1rem,3.5vw,2.5rem);
  border:3px solid rgba(47,111,62,.28);
  background:rgba(255,252,239,.94);
  box-shadow:0 18px 55px rgba(57,86,43,.15),inset 0 0 0 2px rgba(255,255,255,.7);
}
.hero::before{
  content:"♥";
  position:absolute;
  right:3.5%;
  top:4%;
  color:var(--pink);
  font:900 clamp(2rem,5vw,4rem)/1 var(--fun);
  transform:rotate(10deg);
}
.hero::after{
  content:"✦";
  width:auto;height:auto;
  right:9%;
  bottom:5%;
  border:0;
  color:var(--green);
  font:900 clamp(1.6rem,4vw,3.2rem)/1 var(--fun);
  transform:rotate(-12deg);
}
.eyebrow{
  color:var(--green);
  font-family:var(--fun);
  font-size:clamp(.72rem,1.6vw,.95rem);
  letter-spacing:.12em;
}
.hero h1,.page-heading h1,.feature-card h2,.app-copy h2,.empty-state h2{
  font-family:var(--fun);
  letter-spacing:-.035em;
}
.hero h1{
  color:#153d26;
  font-size:clamp(3.2rem,10vw,7.2rem);
  text-shadow:0 3px 0 #d7ef8a;
}
.hero-line{
  font-family:var(--fun);
  color:#183f27;
  font-size:clamp(1.4rem,3.4vw,2.35rem);
  font-weight:900;
}
.hero-intro{color:#5f685c;font-size:clamp(.98rem,2vw,1.12rem)}
.button{
  font-family:var(--fun);
  font-size:1.08rem;
  letter-spacing:.015em;
  border:2px solid var(--green);
  transition:transform .16s ease,box-shadow .16s ease;
}
.button:hover{transform:translateY(-2px) rotate(-.5deg)}
.button.primary{background:linear-gradient(180deg,#368647,#246a35);box-shadow:0 10px 24px rgba(47,111,62,.24)}
.button.light{background:#fffaf0;color:#173c25}

.hero-character{
  position:relative;
  justify-self:end;
  width:min(330px,30vw);
  aspect-ratio:565/696;
  overflow:hidden;
  border:4px solid #173c25;
  border-radius:34px 34px 56px 34px;
  background-color:#fff9ef;
  background-image:url("./assets/kiwi-caricature-enhanced.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  box-shadow:10px 12px 0 #d8eb8c,0 18px 38px rgba(58,71,39,.16);
  transform:rotate(1.2deg);
}
.hero-character::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.6);
  border-radius:inherit;
}
.hero-sticker{
  position:absolute;
  z-index:2;
  display:none;
  place-items:center;
  color:var(--green);
  font-family:var(--fun);
  font-weight:900;
  background:#fff9ef;
  border:3px solid #173c25;
  box-shadow:4px 5px 0 rgba(239,111,145,.45);
}
.sticker-heart{
  left:5%;
  top:7%;
  width:54px;height:54px;
  border-radius:50%;
  color:var(--pink);
  font-size:1.7rem;
  transform:rotate(-8deg);
}
.sticker-crown{
  right:5%;
  top:5%;
  width:48px;height:48px;
  border-radius:16px;
  font-size:1.65rem;
  transform:rotate(9deg);
}
.sticker-note{
  right:4%;
  bottom:6%;
  padding:.48rem .58rem;
  border-radius:16px;
  font-size:.72rem;
  line-height:.95;
  text-align:center;
  transform:rotate(-5deg);
}
.home-grid{gap:clamp(.8rem,2vw,1.1rem)}
.feature-card,
.app-card,.about-card,.product-card,.empty-state{
  border:2px solid rgba(47,111,62,.22);
  background:rgba(255,252,239,.95);
  box-shadow:7px 8px 0 rgba(183,212,106,.26),0 12px 26px rgba(64,84,47,.08);
}
.feature-card:nth-child(2){transform:rotate(.5deg)}
.feature-card:nth-child(3){transform:rotate(-.45deg)}
.feature-card>span{
  font-family:var(--fun);
  background:#2f7a40;
}
.feature-card button{
  font-family:var(--fun);
  color:#1f6f37;
  font-size:1rem;
}
.page-heading .eyebrow{font-size:.9rem}
.page-heading h1{color:#173c25;text-shadow:0 3px 0 #d7ef8a}
.product-status,.status-pill{font-family:var(--fun)}
.about-pattern{
  background-color:#fff5dc;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20180%20180%22%3E%0A%20%20%3Cg%20opacity%3D%22.98%22%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2238%22%20cy%3D%2240%22%20r%3D%2231%22%20fill%3D%22%237a5232%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2238%22%20cy%3D%2240%22%20r%3D%2225%22%20fill%3D%22%23a9cf62%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2238%22%20cy%3D%2240%22%20r%3D%228%22%20fill%3D%22%23f7f0c7%22%2F%3E%0A%20%20%20%20%3Cg%20fill%3D%22%232f241b%22%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2238%22%20cy%3D%2219%22%20rx%3D%222.2%22%20ry%3D%225.5%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2252%22%20cy%3D%2224%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(45%2052%2024)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2259%22%20cy%3D%2240%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(90%2059%2040)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2252%22%20cy%3D%2256%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(135%2052%2056)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2238%22%20cy%3D%2261%22%20rx%3D%222.2%22%20ry%3D%225.5%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2224%22%20cy%3D%2256%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(45%2024%2056)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2217%22%20cy%3D%2240%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(90%2017%2040)%22%2F%3E%0A%20%20%20%20%20%20%3Cellipse%20cx%3D%2224%22%20cy%3D%2224%22%20rx%3D%222.2%22%20ry%3D%225.5%22%20transform%3D%22rotate(135%2024%2024)%22%2F%3E%0A%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22145%22%20cy%3D%22132%22%20r%3D%2229%22%20fill%3D%22%237a5232%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22145%22%20cy%3D%22132%22%20r%3D%2223%22%20fill%3D%22%23a9cf62%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%22145%22%20cy%3D%22132%22%20r%3D%227%22%20fill%3D%22%23f7f0c7%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M93%2031c9-17%2024-15%2029-13-2%208-9%2022-26%2025z%22%20fill%3D%22%236f9f52%22%20transform%3D%22rotate(-18%20107%2031)%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M79%20145c10-18%2025-16%2030-13-3%208-10%2022-27%2024z%22%20fill%3D%22%236f9f52%22%20transform%3D%22rotate(15%2094%20145)%22%2F%3E%0A%20%20%20%20%3Cpath%20d%3D%22M115%2078c5-10%2015-8%2016-2%201%206-7%2012-16%2021-9-9-17-15-16-21%201-6%2011-8%2016%202z%22%20fill%3D%22%23ef6f91%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2283%22%20cy%3D%2277%22%20r%3D%223.2%22%20fill%3D%22%236f9f52%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2291%22%20cy%3D%2285%22%20r%3D%222.4%22%20fill%3D%22%236f9f52%22%2F%3E%0A%20%20%20%20%3Ccircle%20cx%3D%2275%22%20cy%3D%2290%22%20r%3D%222.6%22%20fill%3D%22%236f9f52%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
  background-size:126px 126px;
}
.kiwi-pill{
  border:2px solid rgba(47,111,62,.24);
  background:rgba(255,253,246,.96);
  box-shadow:0 14px 35px rgba(40,72,40,.18);
}
.kiwi-pill button{
  font-family:var(--fun);
  transition:transform .14s ease,background .14s ease;
}
.kiwi-pill button[aria-current="page"]{
  background:linear-gradient(180deg,#39884a,#276d38);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);
}
.kiwi-pill button[aria-current="page"] span{transform:rotate(-5deg)}
@media(max-width:760px){
  .hero{
    grid-template-columns:minmax(0,1fr);
    gap:1rem;
    min-height:auto;
  }
  .hero-character{
    width:min(430px,94%);
    aspect-ratio:565/696;
    justify-self:center;
    background-size:cover;
    background-position:center;
  }
}
@media(max-width:460px){
  .hero{padding:1rem}
  .hero h1{font-size:clamp(3rem,15.5vw,4.45rem)}
  .hero-line{font-size:clamp(1.25rem,6.4vw,1.65rem)}
  .hero-character{
    width:100%;
    aspect-ratio:565/696;
    border-radius:28px 28px 42px 28px;
    box-shadow:7px 8px 0 #d8eb8c,0 14px 28px rgba(58,71,39,.15);
    background-size:cover;
    background-position:center;
  }
  .sticker-note{font-size:.64rem}
  .kiwi-pattern{background-size:132px 132px}
}
@media(orientation:landscape) and (max-height:560px){
  .hero{
    grid-template-columns:minmax(0,1.2fr) minmax(155px,.65fr);
    padding:.85rem 1rem;
  }
  .hero-character{
    width:min(210px,24vw);
    aspect-ratio:565/696;
    background-size:cover;
    background-position:center;
  }
  .hero h1{font-size:clamp(2.65rem,6.4vw,4.6rem)}
}


/* MISS SPENDING TrackHER flower mark */
.app-flower-title{
  display:flex;
  align-items:center;
  gap:.28em;
}
.app-flower-title::before{
  content:"";
  flex:0 0 auto;
  width:.72em;
  height:.72em;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23000000'%3E%3Ccircle cx='50' cy='18' r='18'/%3E%3Ccircle cx='78' cy='34' r='18'/%3E%3Ccircle cx='78' cy='66' r='18'/%3E%3Ccircle cx='50' cy='82' r='18'/%3E%3Ccircle cx='22' cy='66' r='18'/%3E%3Ccircle cx='22' cy='34' r='18'/%3E%3C/g%3E%3Ccircle cx='50' cy='50' r='16' fill='%23d39be8'/%3E%3C/svg%3E");
}


/* Inline flower mark, guaranteed visible on Safari */
.app-flower-title::before{display:none!important}
.app-flower-title,
.app-title-row{
  display:flex;
  align-items:center;
  gap:.28em;
}
.app-title-row{margin:0}
.app-title-row h1,
.app-title-row h2{margin:0}
.app-title-row-small{margin:.65rem 0 .4rem}
.app-title-row-small h2{font-size:clamp(1.6rem,4vw,2.8rem)}
.app-flower-mark{
  flex:0 0 auto;
  width:.78em;
  height:.78em;
  display:block;
}
.page-heading .app-title-row .app-flower-mark{
  width:clamp(2rem,6vw,4.4rem);
  height:clamp(2rem,6vw,4.4rem);
}
.app-title-row-small .app-flower-mark{
  width:1.05em;
  height:1.05em;
}


/* MISS SPENDING storefront v3 */
.app-product-shell{padding-bottom:2rem}
.app-product-heading{padding-bottom:.9rem}
.app-product-kicker{
  max-width:760px;
  margin:.8rem 0 0;
  color:var(--muted);
  font-size:clamp(.95rem,2vw,1.08rem);
  line-height:1.6;
}
.app-product-card{
  display:grid;
  grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr);
  gap:clamp(1rem,3vw,2rem);
  padding:clamp(1rem,3vw,1.5rem);
  border:2px solid rgba(47,111,62,.22);
  border-radius:30px;
  background:rgba(255,252,239,.96);
  box-shadow:8px 9px 0 rgba(183,212,106,.28),0 18px 38px rgba(64,84,47,.1);
}
.app-product-media{
  display:grid;
  align-content:start;
  gap:1rem;
}
.tracker-preview{
  position:relative;
  min-height:300px;
  overflow:hidden;
  border:3px solid rgba(47,111,62,.25);
  border-radius:26px;
  background:#fff;
  box-shadow:0 10px 28px rgba(47,111,62,.1);
}
.tracker-logo-row{
  display:flex;
  align-items:center;
  gap:.38rem;
  min-height:68px;
  padding:.75rem 1rem;
  background:linear-gradient(180deg,#f5b5fa,#e7a0ef);
  font-family:var(--fun);
  color:#111;
}
.tracker-logo-row .app-flower-mark{width:1.15rem;height:1.15rem}
.tracker-logo-row strong{font-size:clamp(1rem,2.8vw,1.45rem)}
.tracker-logo-row span{margin-left:auto;font-size:1.35rem}
.tracker-toolbar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:#1a8a20;
  color:#fff;
  font:900 .62rem/1.2 var(--sans);
  letter-spacing:.05em;
  text-align:center;
}
.tracker-toolbar span{padding:.45rem .25rem;border-right:1px solid rgba(255,255,255,.38)}
.tracker-toolbar span:last-child{border-right:0}
.tracker-grid{
  height:205px;
  background:
    linear-gradient(to right,rgba(36,94,48,.22) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(36,94,48,.18) 1px,transparent 1px);
  background-size:44px 100%,100% 27px;
}
.tracker-character{
  position:absolute;
  right:.5rem;
  bottom:.35rem;
  width:32%;
  max-width:145px;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:50%;
  border:4px solid #fff;
  box-shadow:0 7px 18px rgba(0,0,0,.12);
}
.product-app-icon{
  width:min(180px,48%);
  justify-self:center;
}
.app-product-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:stretch;
  gap:.78rem;
}
.app-title-row-small{
  margin:0;
  flex-wrap:wrap;
}
.app-title-row-small h2{
  font-family:var(--fun);
  font-size:clamp(1.8rem,4.5vw,3rem);
  line-height:1.02;
}
.app-money{font-size:1.5rem}
.app-price{
  margin:0;
  color:#173c25;
  font-family:var(--fun);
  font-size:clamp(1.8rem,4.6vw,2.6rem);
  font-weight:900;
}
.app-purchase-actions{
  display:grid;
  gap:.65rem;
}
.app-buy-button{
  width:100%;
  min-height:54px;
}
.app-buy-button.secondary{
  color:#176e42;
  background:#fff;
  border:2px solid #176e42;
}
#appAddCart[aria-disabled="true"]{
  opacity:.62;
  cursor:not-allowed;
  pointer-events:none;
}
.purchase-link-note{
  margin:-.2rem 0 0;
  color:#7c746c;
  font-size:.78rem;
  line-height:1.35;
}
.app-final-sale{
  margin:.2rem 0 .25rem;
  color:#e52525;
  font-family:var(--fun);
  font-size:clamp(.92rem,2vw,1.05rem);
  line-height:1.45;
}
.app-description{
  color:#343934;
  font-size:.98rem;
  line-height:1.68;
}
.app-description p{margin:0 0 1rem}
.app-feature-list{
  display:grid;
  gap:.35rem;
  margin:.1rem 0 1rem 1.1rem;
  padding:0;
}
.app-red-note{
  color:#f11d1d;
  font-family:var(--fun);
  font-weight:900;
}
@media(max-width:760px){
  .app-product-card{grid-template-columns:minmax(0,1fr)}
  .tracker-preview{min-height:265px}
  .tracker-grid{height:180px}
  .product-app-icon{width:min(160px,46vw)}
}
@media(max-width:460px){
  .app-product-card{padding:.85rem;border-radius:24px}
  .tracker-preview{min-height:235px;border-radius:20px}
  .tracker-logo-row{min-height:58px;padding:.62rem .72rem}
  .tracker-toolbar{font-size:.5rem}
  .tracker-grid{height:155px;background-size:36px 100%,100% 24px}
  .app-title-row-small h2{font-size:clamp(1.65rem,8vw,2.2rem)}
}


/* MISS SPENDING readability pass v4 */
#app .app-product-shell{
  background:rgba(255,248,230,.92);
  border-radius:28px;
}
.app-alert-banner{
  position:relative;
  z-index:3;
  margin:0 0 .85rem;
  padding:.78rem 1rem;
  border-radius:20px 20px 12px 12px;
  background:#e91414;
  color:#fff;
  box-shadow:0 8px 22px rgba(135,0,0,.18);
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(.78rem,2.25vw,1rem);
  font-weight:900;
  line-height:1.35;
  letter-spacing:.01em;
}
#app .app-product-heading{
  margin-bottom:.85rem;
  padding:1rem;
  border:2px solid rgba(47,111,62,.16);
  border-radius:24px;
  background:#fffdf6;
}
#app .app-product-card{
  grid-template-columns:minmax(0,1fr);
  background:#fffdf6;
  box-shadow:8px 9px 0 rgba(183,212,106,.28),0 18px 38px rgba(64,84,47,.11);
}
#app .app-product-media{
  display:grid;
  place-items:center;
  padding:.4rem 0 .2rem;
}
#app .product-app-icon{
  width:min(220px,58vw);
  margin:0 auto;
  border-width:5px;
  box-shadow:10px 12px 0 #f2a8c4,0 16px 38px rgba(47,111,62,.18);
}
#app .app-product-copy{
  padding:clamp(.2rem,1vw,.5rem);
}
#app .app-title-row-small{
  padding-bottom:.15rem;
  border-bottom:2px solid rgba(47,111,62,.12);
}
#app .app-price{
  color:#111;
}
#app .app-final-sale{
  padding:.85rem;
  border:2px solid rgba(229,37,37,.22);
  border-radius:16px;
  background:#fff6f3;
  color:#d71919;
}
#app .app-description{
  padding:clamp(1rem,3vw,1.35rem);
  border:2px solid rgba(47,111,62,.16);
  border-radius:22px;
  background:#fff;
  color:#1f231f;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1rem,2.55vw,1.08rem);
  line-height:1.72;
  box-shadow:0 8px 22px rgba(49,83,46,.06);
}
#app .app-description strong{
  color:#111;
}
#app .app-feature-list{
  padding-left:1.15rem;
}
#app .app-red-note{
  margin-top:1.1rem;
  padding:.9rem;
  border-radius:14px;
  background:#fff1ef;
  color:#e11111;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:900;
  line-height:1.55;
}
#app .purchase-link-note{
  padding:.65rem .8rem;
  border-radius:12px;
  background:#f5f2e8;
  color:#5f5a52;
}
@media(max-width:460px){
  #app .app-product-shell{
    border-radius:20px;
  }
  .app-alert-banner{
    margin-left:-.1rem;
    margin-right:-.1rem;
    padding:.72rem .7rem;
    border-radius:16px 16px 10px 10px;
  }
  #app .app-product-heading{
    padding:.85rem;
    border-radius:20px;
  }
  #app .app-product-card{
    padding:.8rem;
  }
  #app .product-app-icon{
    width:min(185px,54vw);
  }
  #app .app-description{
    padding:.9rem;
    font-size:1rem;
    line-height:1.68;
  }
}


/* MISS SPENDING readability pass v5 */
#app .app-alert-banner{
  background:#fffdf6 !important;
  color:#e01818 !important;
  border:3px solid #e01818 !important;
  box-shadow:0 8px 22px rgba(135,0,0,.12) !important;
  text-shadow:none !important;
  font-size:clamp(.82rem,2.35vw,1.02rem) !important;
  line-height:1.4 !important;
}
#app .app-alert-banner strong{
  color:#e01818 !important;
  font-weight:950 !important;
}
#app .app-product-heading{
  background:#fffdf6 !important;
  border:3px solid rgba(47,111,62,.2) !important;
  box-shadow:0 10px 24px rgba(47,111,62,.08) !important;
}
#app .app-product-kicker{
  display:block !important;
  max-width:100% !important;
  margin:1rem 0 0 !important;
  padding:1rem 1.05rem !important;
  border:2px solid rgba(47,111,62,.18) !important;
  border-radius:16px !important;
  background:#ffffff !important;
  color:#1c281f !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:clamp(1rem,2.5vw,1.12rem) !important;
  font-weight:700 !important;
  line-height:1.58 !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
  box-shadow:0 8px 20px rgba(47,111,62,.07) !important;
}
@media(max-width:460px){
  #app .app-alert-banner{
    font-size:.82rem !important;
    line-height:1.35 !important;
    padding:.72rem .78rem !important;
  }
  #app .app-product-kicker{
    padding:.85rem .9rem !important;
    font-size:1rem !important;
    line-height:1.5 !important;
  }
}


/* MISS SPENDING background visibility v6 */
#app .app-product-shell{
  background:rgba(255,248,230,.34) !important;
}
#app .app-product-heading{
  background:rgba(255,253,246,.76) !important;
  backdrop-filter:blur(5px) saturate(1.05);
  -webkit-backdrop-filter:blur(5px) saturate(1.05);
}
#app .app-product-card{
  background:rgba(255,253,246,.74) !important;
  backdrop-filter:blur(4px) saturate(1.06);
  -webkit-backdrop-filter:blur(4px) saturate(1.06);
}
#app .app-product-kicker{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
#app .app-description{
  background:rgba(255,255,255,.84) !important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
#app .app-final-sale{
  background:rgba(255,246,243,.86) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
#app .purchase-link-note{
  background:rgba(245,242,232,.82) !important;
}
#app .app-alert-banner{
  background:rgba(255,253,246,.84) !important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
#app .app-title-row h1,
#app .app-title-row h2,
#app .app-product-kicker,
#app .app-description{
  text-shadow:0 1px 0 rgba(255,255,255,.95);
}
@media(max-width:460px){
  #app .app-product-heading{background:rgba(255,253,246,.8) !important}
  #app .app-product-card{background:rgba(255,253,246,.78) !important}
  #app .app-product-kicker{background:rgba(255,255,255,.86) !important}
  #app .app-description{background:rgba(255,255,255,.88) !important}
}


/* Site-wide readability pass v8 */
:root{
  --readable-ink:#223126;
  --readable-ink-soft:#314338;
  --readable-panel:rgba(255,253,246,.78);
  --readable-panel-strong:rgba(255,255,255,.86);
}

/* Darken low-contrast copy everywhere */
.hero-intro,
.feature-card p,
.page-heading > p:last-child,
.product-kind,
.empty-state p,
.app-copy p,
.about-card > div:last-child > p,
.purchase-link-note,
.app-product-kicker,
.app-description,
#shopNote,
#intro,
#aboutText{
  color:var(--readable-ink) !important;
  opacity:1 !important;
  font-weight:650 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.92);
}

/* Keep secondary copy subdued but still readable */
.product-kind,
.purchase-link-note{
  color:var(--readable-ink-soft) !important;
}

/* Give text sitting on the kiwi pattern a translucent reading plate */
.hero-intro,
.page-heading > p:last-child,
#shopNote,
#aboutText,
.app-product-kicker,
.app-description,
.empty-state p{
  display:inline-block;
  max-width:100%;
  padding:.55rem .8rem;
  border-radius:14px;
  background:var(--readable-panel);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  box-shadow:0 6px 18px rgba(47,111,62,.06);
}

/* Longer blocks get a slightly stronger plate */
.app-description,
.app-product-kicker{
  background:var(--readable-panel-strong);
}

/* Ensure cards never inherit washed-out gray */
.feature-card,
.product-card,
.empty-state,
.app-card,
.about-card,
.app-product-card{
  color:#1f2a22;
}

/* Keep patterned section intros above the decorative layer */
#shop .page-heading,
#about .page-heading,
#app .page-heading{
  position:relative;
  z-index:2;
}

@media(max-width:460px){
  .hero-intro,
  .feature-card p,
  .page-heading > p:last-child,
  .product-kind,
  .empty-state p,
  .app-copy p,
  .about-card > div:last-child > p,
  .purchase-link-note,
  .app-product-kicker,
  .app-description,
  #shopNote,
  #intro,
  #aboutText{
    font-size:1rem;
    line-height:1.58;
  }

  .hero-intro,
  .page-heading > p:last-child,
  #shopNote,
  #aboutText,
  .app-product-kicker,
  .app-description,
  .empty-state p{
    padding:.7rem .85rem;
    background:rgba(255,255,255,.84);
  }
}

/* Kiwi home social links */
.home-socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  margin:.7rem auto 1rem;
  padding:.7rem .9rem;
  width:fit-content;
  max-width:100%;
  position:relative;
  z-index:2;
  background:rgba(255,253,246,.38);
  border:1.5px solid rgba(255,255,255,.45);
  border-radius:22px;
  backdrop-filter:blur(10px) saturate(1.08);
  -webkit-backdrop-filter:blur(10px) saturate(1.08);
  box-shadow:0 8px 22px rgba(47,111,62,.12);
}
.home-socials a{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#173c25;
  text-decoration:none;
}
.home-socials a b{
  display:none;
}
.home-socials a span{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:50%;
  background:#f2a8c4;
  color:#173c25;
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.35rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 5px 12px rgba(47,111,62,.12);
}
.home-socials a:hover,
.home-socials a:focus-visible{
  transform:translateY(-2px);
}


/* Kiwi commerce system */
.commerce-product{
  display:flex;
  flex-direction:column;
}
.commerce-product .product-info{
  display:flex;
  flex:1;
  flex-direction:column;
}
.product-description{
  margin:.55rem 0 0;
  color:#314338;
  font-size:.9rem;
  line-height:1.45;
}
.product-card-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  margin-top:auto;
  padding-top:.9rem;
}
.product-card-actions .product-status{
  margin-top:0;
}
.product-add{
  min-height:40px;
  padding:.55rem .8rem;
  white-space:nowrap;
}
.product-add:disabled{
  cursor:not-allowed;
  opacity:.48;
}

.cart-launch{
  position:absolute;
  z-index:9050;
  right:max(var(--safe-right),.9rem);
  bottom:calc(var(--nav-reserve) + .65rem);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.25rem;
  width:56px;
  height:56px;
  border:2px solid rgba(47,111,62,.22);
  border-radius:50%;
  background:rgba(255,253,246,.92);
  color:#173c25;
  box-shadow:0 10px 28px rgba(40,72,40,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  cursor:pointer;
}
.cart-launch span{
  font-size:1.35rem;
  line-height:1;
}
.cart-launch b{
  position:absolute;
  top:-5px;
  right:-5px;
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 .28rem;
  border:2px solid #fff;
  border-radius:999px;
  background:#f2a8c4;
  color:#173c25;
  font:900 .72rem/1 Arial,Helvetica,sans-serif;
}

.cart-scrim{
  position:absolute;
  z-index:9090;
  inset:0;
  background:rgba(20,35,22,.28);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.cart-scrim[hidden]{display:none}

.cart-drawer{
  position:absolute;
  z-index:9100;
  top:max(var(--safe-top),.75rem);
  right:max(var(--safe-right),.75rem);
  bottom:calc(var(--nav-reserve) + .65rem);
  display:flex;
  width:min(430px,calc(100% - 1.5rem));
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(47,111,62,.22);
  border-radius:26px;
  background:rgba(255,253,246,.96);
  box-shadow:0 20px 56px rgba(24,54,31,.26);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transform:translateX(calc(100% + 2rem));
  transition:transform .2s ease;
}
.cart-drawer[hidden]{display:none}
.cart-drawer.is-open{transform:translateX(0)}
.cart-head,
.checkout-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1rem .8rem;
  border-bottom:1px solid rgba(47,111,62,.14);
}
.cart-head h2,
.checkout-head h2{
  margin:0;
  font-size:1.65rem;
}
.cart-close{
  display:grid;
  width:42px;
  height:42px;
  flex:0 0 42px;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#edf4df;
  color:#173c25;
  font:900 1.6rem/1 Arial,Helvetica,sans-serif;
  cursor:pointer;
}
.cart-empty{
  margin:auto 1rem;
  padding:1.1rem;
  border:1px dashed rgba(47,111,62,.3);
  border-radius:18px;
  background:rgba(255,255,255,.68);
  text-align:center;
  color:#314338;
  font-weight:750;
}
.cart-items{
  flex:1;
  overflow:auto;
  padding:.8rem 1rem;
}
.cart-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:.8rem;
  padding:.75rem 0;
  border-bottom:1px solid rgba(47,111,62,.12);
}
.cart-item img,
.cart-item-placeholder{
  width:72px;
  height:72px;
  border-radius:16px;
  object-fit:cover;
  background:#edf4df;
}
.cart-item-placeholder{
  display:grid;
  place-items:center;
  font-size:1.5rem;
}
.cart-item-copy{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.22rem;
}
.cart-item-copy strong{
  line-height:1.2;
}
.cart-item-copy > span{
  color:#2f6f3e;
  font-weight:900;
}
.cart-item-controls{
  display:flex;
  align-items:center;
  gap:.35rem;
  margin-top:.35rem;
}
.cart-item-controls button{
  min-width:30px;
  height:30px;
  border:1px solid rgba(47,111,62,.2);
  border-radius:10px;
  background:#fff;
  color:#173c25;
  font-weight:900;
  cursor:pointer;
}
.cart-item-controls .cart-remove{
  width:auto;
  margin-left:auto;
  padding:0 .55rem;
  color:#8f3131;
  font-size:.75rem;
}
.cart-digital{
  padding:.25rem .5rem;
  border-radius:999px;
  background:#edf4df;
  color:#496b31;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}
.cart-footer{
  padding:.9rem 1rem 1rem;
  border-top:1px solid rgba(47,111,62,.14);
  background:rgba(255,255,255,.64);
}
.cart-total,
.checkout-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  font-size:1.08rem;
}
.cart-total strong,
.checkout-total strong{
  color:#2f6f3e;
  font-size:1.25rem;
}
.cart-footer > p{
  margin:.45rem 0 .8rem;
  color:#526155;
  font-size:.76rem;
  line-height:1.4;
}
.cart-checkout,
.checkout-pay{
  width:100%;
}
html.cart-open .app-window.is-active{
  overflow:hidden !important;
}

.checkout-dialog{
  width:min(620px,calc(100% - 1.5rem));
  max-height:min(88dvh,760px);
  padding:0;
  overflow:hidden;
  border:1px solid rgba(47,111,62,.22);
  border-radius:28px;
  background:rgba(255,253,246,.98);
  color:#1f2a22;
  box-shadow:0 24px 80px rgba(24,54,31,.3);
}
.checkout-dialog::backdrop{
  background:rgba(20,35,22,.42);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
}
.checkout-shell{
  max-height:min(88dvh,760px);
  overflow:auto;
}
.checkout-order{
  display:grid;
  gap:.45rem;
  padding:1rem 1rem .3rem;
}
.checkout-order > div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:.55rem .65rem;
  border-radius:12px;
  background:rgba(237,244,223,.7);
}
.checkout-order span{
  min-width:0;
  line-height:1.3;
}
.checkout-order b{
  white-space:nowrap;
}
.checkout-total{
  margin:0 1rem;
  padding:.8rem .65rem;
  border-top:2px solid rgba(47,111,62,.15);
}
.checkout-validation{
  min-height:1.2em;
  margin:.3rem 1rem 0;
  color:#496b31;
  font-size:.78rem;
  font-weight:800;
}
.checkout-form{
  display:grid;
  gap:.8rem;
  padding:1rem;
}
.checkout-form label{
  display:grid;
  gap:.3rem;
}
.checkout-form label > span,
.checkout-form legend{
  color:#314338;
  font-size:.78rem;
  font-weight:900;
}
.checkout-form input{
  width:100%;
  min-height:44px;
  border:1px solid rgba(47,111,62,.25);
  border-radius:12px;
  background:#fff;
  color:#1f2a22;
  padding:.7rem .8rem;
  font:inherit;
}
.checkout-form input:focus{
  outline:3px solid rgba(47,111,62,.18);
  border-color:#2f6f3e;
}
.checkout-form fieldset{
  display:grid;
  gap:.75rem;
  margin:.15rem 0 0;
  padding:.85rem;
  border:1px solid rgba(47,111,62,.18);
  border-radius:16px;
}
.checkout-form fieldset[hidden]{display:none}
.checkout-row{
  display:grid;
  grid-template-columns:1fr 110px;
  gap:.65rem;
}
.payment-slot{
  padding:.9rem;
  border:1px solid rgba(47,111,62,.18);
  border-radius:16px;
  background:rgba(255,255,255,.72);
}
#paymentPending strong{
  color:#173c25;
}
#paymentPending p{
  margin:.25rem 0 0;
  color:#526155;
  font-size:.82rem;
  line-height:1.45;
}
.payment-error{
  min-height:1.2em;
  margin:.4rem 0 0;
  color:#a22929;
  font-size:.8rem;
  font-weight:800;
}
.checkout-pay:disabled{
  cursor:not-allowed;
  opacity:.52;
}

@media(max-width:640px){
  .product-card-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .product-add{
    width:100%;
  }
  .cart-launch{
    right:.7rem;
    bottom:calc(var(--nav-reserve) + .5rem);
    width:52px;
    height:52px;
  }
  .cart-drawer{
    top:.55rem;
    right:.55rem;
    bottom:calc(var(--nav-reserve) + .5rem);
    width:calc(100% - 1.1rem);
    border-radius:22px;
  }
  .checkout-row{
    grid-template-columns:1fr;
  }
}

/* App Bakery muffin icon */
.app-bakery-muffin{
  width:1.8em;
  height:1.8em;
  display:block;
  flex:none;
}
[data-route-button="app"] span{
  display:inline-grid;
  place-items:center;
}


/* Multi-app App Bakery */
.app-bakery-shell{
  padding-bottom:clamp(1.2rem,3vw,2.5rem);
}
.app-bakery-heading{
  position:relative;
  z-index:2;
  margin-bottom:.9rem;
  padding:clamp(1rem,3vw,1.55rem);
  border:1px solid rgba(47,111,62,.18);
  border-radius:24px;
  background:rgba(255,253,246,.78);
  box-shadow:0 10px 28px rgba(47,111,62,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.app-bakery-title-line{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
}
.app-bakery-title-line .app-title-row{
  min-width:0;
}
.app-bakery-count{
  flex:0 0 auto;
  margin-bottom:.2rem;
  padding:.42rem .7rem;
  border:1px solid rgba(47,111,62,.18);
  border-radius:999px;
  background:#edf4df;
  color:#173c25;
  font-size:.76rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.app-bakery-intro{
  max-width:760px;
  margin:.7rem 0 0;
  color:#314338;
  font-weight:700;
  line-height:1.5;
}
.app-bakery-banner{
  display:flex;
  align-items:center;
  gap:.8rem;
  margin:0 0 1rem;
  padding:.85rem 1rem;
  border:1px solid rgba(47,111,62,.15);
  border-radius:20px;
  background:rgba(255,255,255,.76);
  box-shadow:0 8px 22px rgba(47,111,62,.07);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.app-bakery-banner > span{
  display:grid;
  width:44px;
  height:44px;
  flex:0 0 44px;
  place-items:center;
  border-radius:50%;
  background:#f2a8c4;
  font-size:1.35rem;
}
.app-bakery-banner strong{
  color:#173c25;
}
.app-bakery-banner p{
  margin:.15rem 0 0;
  color:#314338;
  line-height:1.4;
}
.app-bakery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.bakery-card{
  position:relative;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:1rem;
  min-width:0;
  padding:1rem;
  overflow:hidden;
  border:1px solid rgba(47,111,62,.18);
  border-radius:26px;
  background:rgba(255,253,246,.86);
  box-shadow:0 12px 32px rgba(47,111,62,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.bakery-card::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-54px;
  width:130px;
  height:130px;
  border:20px solid rgba(242,168,196,.12);
  border-radius:50%;
  pointer-events:none;
}
.bakery-card.is-featured{
  grid-column:1 / -1;
  grid-template-columns:minmax(210px,300px) minmax(0,1fr);
  padding:clamp(1rem,2.5vw,1.35rem);
  background:
    radial-gradient(circle at 82% 8%,rgba(242,168,196,.22),transparent 28%),
    rgba(255,253,246,.9);
}
.bakery-card-number{
  position:absolute;
  top:.65rem;
  left:.7rem;
  z-index:2;
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:50%;
  background:#173c25;
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.04em;
}
.bakery-card-art{
  position:relative;
  display:grid;
  min-height:150px;
  aspect-ratio:1;
  place-items:center;
  overflow:hidden;
  border:2px solid rgba(47,111,62,.18);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.95) 0 22%,transparent 23%),
    radial-gradient(circle at 50% 50%,#eef3d7 0 62%,#dce7bd 63% 100%);
}
.bakery-card.is-featured .bakery-card-art{
  min-height:230px;
}
.bakery-card-art img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.bakery-placeholder-icon{
  display:grid;
  width:92px;
  height:92px;
  place-items:center;
  border-radius:50%;
  background:#f2a8c4;
  box-shadow:0 8px 20px rgba(47,111,62,.12);
  font-size:2.25rem;
}
.bakery-card-copy{
  position:relative;
  z-index:1;
  display:flex;
  min-width:0;
  flex-direction:column;
}
.bakery-card-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.65rem;
  margin-bottom:.5rem;
}
.bakery-status{
  display:inline-flex;
  padding:.3rem .55rem;
  border-radius:999px;
  background:#edf4df;
  color:#496b31;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.is-development .bakery-status{
  background:#fff1c8;
  color:#805b12;
}
.bakery-price{
  color:#2f6f3e;
  font-size:1.05rem;
  font-weight:950;
}
.bakery-price-muted{
  color:#805b12;
  font-size:.82rem;
}
.bakery-card h2{
  margin:0;
  color:#173c25;
  font-size:clamp(1.2rem,2.6vw,1.75rem);
  line-height:1.05;
}
.bakery-card-copy > p{
  margin:.55rem 0 0;
  color:#314338;
  line-height:1.48;
}
.bakery-card-actions{
  display:flex;
  margin-top:auto;
  padding-top:.85rem;
}
.bakery-card-actions .button{
  min-height:42px;
}
.bakery-wait{
  border:1px solid rgba(47,111,62,.15);
  background:#f4f0df;
  color:#6f6b53;
  cursor:not-allowed;
  text-transform:capitalize;
}
.bakery-details{
  margin-top:.85rem;
  border-top:1px solid rgba(47,111,62,.14);
  padding-top:.75rem;
}
.bakery-details summary{
  width:fit-content;
  cursor:pointer;
  color:#2f6f3e;
  font-weight:900;
}
.bakery-details-body{
  margin-top:.7rem;
  padding:.8rem;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  color:#223126;
  line-height:1.5;
}
.bakery-details-body p{
  margin:.55rem 0;
}
.bakery-details-body ul{
  margin:.55rem 0;
  padding-left:1.25rem;
}
.bakery-details-body li{
  margin:.2rem 0;
}
.bakery-final-sale{
  color:#9b2c2c;
}
.bakery-loading-card{
  grid-column:1 / -1;
  display:grid;
  min-height:220px;
  place-items:center;
  align-content:center;
  gap:.5rem;
  border:1px dashed rgba(47,111,62,.28);
  border-radius:24px;
  background:rgba(255,255,255,.68);
  color:#314338;
  text-align:center;
}
.bakery-loading-card span{
  font-size:2rem;
}
.app-bakery-more{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin:1rem 0;
  padding:.85rem 1rem;
  border-radius:18px;
  background:rgba(237,244,223,.8);
  color:#314338;
}
.app-bakery-more > span{
  font-size:1.3rem;
}
.app-bakery-more p{
  margin:0;
}
.app-bakery-policy{
  margin-top:.8rem;
}

@media(max-width:820px){
  .app-bakery-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .bakery-card.is-featured{
    grid-column:auto;
  }
}
@media(max-width:620px){
  .app-bakery-title-line{
    align-items:flex-start;
    flex-direction:column;
  }
  .app-bakery-count{
    margin-bottom:0;
  }
  .bakery-card,
  .bakery-card.is-featured{
    grid-template-columns:minmax(0,1fr);
  }
  .bakery-card-art,
  .bakery-card.is-featured .bakery-card-art{
    width:min(240px,72vw);
    min-height:0;
    justify-self:center;
  }
  .bakery-card-actions .button{
    width:100%;
  }
}
