/* MailSprout landing (Sproutwick Post & Garden). Fonts: Caprasimo (display) + Gabarito (text), google/fonts, SIL OFL, see fonts/. */
@font-face{font-family:"Caprasimo";src:url(/mailsprout/fonts/Caprasimo.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gabarito";src:url(/mailsprout/fonts/Gabarito.woff2) format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
:root{
  --paper:#F6EFDC;--paper-2:#EFE3C4;--paper-3:#E6D6AE;--ink:#22301F;--ink-soft:#4A5642;
  --moss:#1F3A24;--leaf:#2F6B2A;--lime:#8CBF26;--lime-soft:#D9EBA6;--soil:#6B4A2E;--terra:#A44A26;
  --sun:#F2B830;--blossom:#E9879A;--sky:#9EC3C9;
  --r:18px;--shadow:0 2px 0 rgba(34,48,31,.12),0 14px 30px -18px rgba(34,48,31,.45);
  --display:"Caprasimo",Georgia,serif;--body:"Gabarito",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.06rem/1.6 var(--body);
  background-image:radial-gradient(rgba(107,74,46,.06) 1px,transparent 1.4px);background-size:7px 7px}
img{max-width:100%;height:auto;display:block}
a{color:var(--leaf)}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:var(--moss);color:#fff;padding:.6rem 1rem;border-radius:10px;z-index:99}
.skip:focus{left:8px}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.05;margin:0 0 .5em;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.4rem,6vw,4.9rem);font-weight:800}
h2{font-size:clamp(1.9rem,4.2vw,3.2rem);font-weight:750}
h3{font-size:1.35rem;font-weight:700}
p{margin:0 0 1em;text-wrap:pretty}
.wrap{width:min(1180px,100% - 2.4rem);margin-inline:auto}
.eyebrow{font:800 .78rem/1.2 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--terra);margin-bottom:.8rem;display:inline-block}
.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:48px;padding:.7rem 1.3rem;border-radius:999px;font:800 1rem/1 var(--body);
  text-decoration:none;border:2.5px solid var(--moss);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.btn-primary{background:var(--moss);color:var(--paper);box-shadow:0 4px 0 var(--leaf)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--leaf)}
.btn-ghost{background:transparent;color:var(--moss)}
.btn-ghost:hover{background:var(--paper-2)}
section{padding:clamp(3.5rem,8vw,6.5rem) 0;position:relative}
.torn{position:relative}
.torn::before{content:"";position:absolute;left:0;right:0;top:-14px;height:16px;background:inherit;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16' preserveAspectRatio='none'%3E%3Cpath d='M0 16V9l6-3 7 4 9-6 8 5 10-4 7 3 9-5 8 6 9-4 8 3 8-5 9 6 8-3 7 2v8z'/%3E%3C/svg%3E") 0 0/240px 16px repeat-x;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 16' preserveAspectRatio='none'%3E%3Cpath d='M0 16V9l6-3 7 4 9-6 8 5 10-4 7 3 9-5 8 6 9-4 8 3 8-5 9 6 8-3 7 2v8z'/%3E%3C/svg%3E") 0 0/240px 16px repeat-x}

/* header */
.top{position:sticky;top:0;z-index:30;background:rgba(246,239,220,.94);border-bottom:2px dashed rgba(107,74,46,.25)}
.top .wrap{display:flex;align-items:center;gap:1rem;min-height:72px}
.brand img{height:64px;width:auto;margin-block:-4px;object-fit:contain}
.nav{display:flex;gap:.2rem;margin-left:auto;flex-wrap:wrap}
.nav a{color:var(--ink);text-decoration:none;font-weight:700;padding:.55rem .75rem;border-radius:999px}
.nav a:hover{background:var(--paper-2)}
.top .btn{min-height:44px;padding:.55rem 1rem}
.menu-btn{display:none}
@media (max-width:940px){
  .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);flex-direction:column;padding:.6rem 1.2rem 1.2rem;border-bottom:2px dashed rgba(107,74,46,.3)}
  .nav.open{display:flex}
  .nav a{padding:.8rem .6rem}
  .menu-btn{display:inline-flex;margin-left:auto;background:var(--paper-2);border:2px solid var(--moss);border-radius:999px;min-height:44px;padding:.5rem 1rem;font:800 .95rem var(--body);color:var(--moss);cursor:pointer}
  .top .btn-primary{display:none}
}

/* hero */
.hero{padding-top:clamp(2rem,5vw,4rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.hero h1 em{font-style:italic;color:var(--leaf)}
.hero .lede{font-size:1.2rem;max-width:34rem;color:var(--ink-soft)}
.hero .ctas{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.hero-art{position:relative}
.hero-art .frame{border-radius:28px 34px 22px 40px;overflow:hidden;box-shadow:var(--shadow);border:3px solid var(--moss);background:var(--paper-2)}
.hero-art img.main{width:100%;height:auto;aspect-ratio:2752/1536;object-fit:cover}
.hero-art .bee{position:absolute;width:clamp(64px,9vw,120px);height:auto;right:-14px;top:-30px;transform:rotate(8deg);animation:bob 4s ease-in-out infinite}
.tag-note{position:absolute;left:-18px;bottom:-22px;background:var(--sun);color:var(--moss);font:800 .9rem/1.2 var(--body);padding:.7rem 1rem;border-radius:12px;transform:rotate(-4deg);box-shadow:var(--shadow);max-width:15rem;border:2px solid var(--moss)}
.providers{font-size:.92rem;color:var(--ink-soft)}
.providers b{color:var(--ink)}
@keyframes bob{50%{transform:translateY(-10px) rotate(4deg)}}
@media (max-width:1180px){.hero-art .bee{right:4px}}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.hero-art{order:-1}.tag-note{left:10px}.hero-art .bee{width:clamp(56px,13vw,84px);right:10px;top:-18px}}

/* letter */
.letter-sec{background:var(--paper-2)}
.letter{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:2.5rem;align-items:end}
.paper{background:#FBF6E8;border-radius:6px;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow);transform:rotate(-.6deg);
  background-image:repeating-linear-gradient(transparent 0 31px,rgba(158,195,201,.45) 31px 32px);line-height:32px;position:relative}
.paper::after{content:"";position:absolute;top:-14px;left:44%;width:110px;height:30px;background:rgba(242,184,48,.55);transform:rotate(3deg)}
.paper p{margin-bottom:32px}
.paper .sig{font-family:var(--body);font-style:italic;font-size:1.3rem}
.letter-side img{width:min(340px,100%);margin:0 auto}
.stamp{display:inline-block;border:3px dashed var(--terra);color:var(--terra);font:800 .8rem/1.2 var(--body);letter-spacing:.12em;text-transform:uppercase;padding:.6rem .8rem;border-radius:8px;transform:rotate(-6deg);margin-top:1rem}
@media (max-width:800px){.letter{grid-template-columns:1fr}.letter-side img{width:200px}}

/* map */
.map-sec h2{max-width:20ch}
.map-layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:1.6rem;align-items:start;margin-top:2rem}
.map{position:relative;border-radius:22px;overflow:hidden;border:3px solid var(--moss);box-shadow:var(--shadow)}
.map img{width:100%;height:auto}
.hot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;border:3px solid var(--moss);background:var(--sun);
  color:var(--moss);font:900 1rem/1 var(--body);cursor:pointer;display:grid;place-items:center;box-shadow:0 3px 0 var(--moss)}
.hot::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:3px solid rgba(242,184,48,.7);animation:pulse 2.4s ease-out infinite}
.hot[aria-pressed="true"]{background:var(--terra);color:#fff}
.hot[aria-pressed="true"]::after{border-color:rgba(184,86,47,.6)}
@keyframes pulse{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
.map-panel{background:#FBF6E8;border-radius:20px;padding:1.5rem;border:2.5px solid var(--moss);box-shadow:var(--shadow);min-height:100%}
.map-panel .kicker{font:800 .78rem var(--body);text-transform:uppercase;letter-spacing:.12em;color:var(--terra)}
.map-panel h3{font-size:1.7rem;margin:.3rem 0 .6rem}
.map-panel ul{padding-left:1.1rem;margin:.6rem 0 0}
.map-panel li{margin-bottom:.35rem}
.map-panel .real{display:inline-block;margin-top:1rem;font-size:.82rem;font-weight:800;color:var(--leaf);background:var(--lime-soft);padding:.25rem .6rem;border-radius:999px}
.map-index{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}
.map-index button{border:2px solid var(--moss);background:transparent;border-radius:999px;padding:.35rem .75rem;min-height:40px;font:700 .88rem var(--body);color:var(--moss);cursor:pointer}
.map-index button[aria-pressed="true"]{background:var(--moss);color:var(--paper)}
@media (max-width:900px){.map-layout{grid-template-columns:1fr}.hot{width:34px;height:34px;font-size:.85rem}}
@media (max-width:520px){.hot{width:28px;height:28px;border-width:2px;font-size:.75rem}.hot::after{display:none}}

/* seasons */
.seasons-sec{background:var(--moss);color:var(--paper)}
.seasons-sec h2{color:var(--paper)}
.seasons-sec .eyebrow{color:var(--sun)}
.pano{box-sizing:content-box;position:relative;border-radius:20px;overflow:hidden;margin:2rem 0 0;border:3px solid var(--paper);aspect-ratio:3168/1344;background:#efe3c4 url(/mailsprout/art/four-seasons.webp) 0 0/100% 100% no-repeat}
.pano .shade{position:absolute;top:0;bottom:0;background:rgba(31,58,36,.55);transition:left .5s ease,right .5s ease,width .5s ease}
.pano .lens{position:absolute;top:0;bottom:0;border:4px solid var(--sun);border-radius:12px;transition:left .5s ease,width .5s ease;pointer-events:none}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.2rem}
.tabs button{flex:1 1 9rem;min-height:56px;border-radius:14px;border:2.5px solid var(--paper);background:transparent;color:var(--paper);font:800 1rem var(--body);cursor:pointer;text-align:left;padding:.6rem 1rem}
.tabs button small{display:block;font-weight:600;opacity:.8}
.tabs button[aria-selected="true"]{background:var(--sun);color:var(--moss);border-color:var(--sun)}
.season-panel{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;margin-top:1.6rem;background:rgba(246,239,220,.07);border-radius:20px;padding:1.6rem;border:2px dashed rgba(246,239,220,.35)}
.season-panel h3{color:var(--sun);font-size:1.8rem}
.season-panel ol{margin:0;padding-left:1.2rem}
.season-panel li{margin-bottom:.5rem}
.season-panel .app-bits{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.season-panel .app-bits span{background:var(--paper);color:var(--moss);font-weight:800;font-size:.82rem;padding:.25rem .65rem;border-radius:999px}
@media (max-width:760px){.season-panel{grid-template-columns:1fr}.pano{aspect-ratio:4/3;background-size:auto 100%}.pano .shade,.pano .lens{display:none}}

/* packets */
.packets-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chips button{min-height:44px;border-radius:999px;border:2px solid var(--moss);background:transparent;color:var(--moss);font:800 .92rem var(--body);padding:.4rem 1rem;cursor:pointer}
.chips button[aria-pressed="true"]{background:var(--moss);color:var(--paper)}
.packet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.4rem;margin-top:2rem;list-style:none;padding:0}
.packet{perspective:900px}
.packet button{all:unset;display:block;width:100%;cursor:pointer;border-radius:14px}
.packet button:focus-visible{outline:3px solid var(--terra);outline-offset:4px}
.packet .inner{position:relative;height:300px;transition:transform .6s ease;transform-style:preserve-3d}
.packet[data-flipped="true"] .inner{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;border-radius:12px 12px 16px 16px;border:2.5px solid var(--moss);box-shadow:var(--shadow);padding:1rem;display:flex;flex-direction:column}
.front{background:var(--c,var(--lime-soft))}
.front::before{content:"";position:absolute;left:0;right:0;top:0;height:26px;border-bottom:2px dashed rgba(34,48,31,.35);background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.35) 6px 8px)}
.front .art{flex:1;display:grid;place-items:center;margin-top:22px;background:#FBF6E8;border-radius:10px;border:2px solid rgba(34,48,31,.25)}
.front .art .mini{width:78%;display:grid;gap:5px}
.mini i{display:block;height:12px;border-radius:3px;background:var(--leaf);opacity:.22}
.mini i.h{height:26px;opacity:.5;background:var(--terra)}
.mini .row{display:grid;gap:5px;grid-template-columns:var(--cols,1fr)}
.mini .row i{height:30px}
.front h3{font-size:1.15rem;margin:.7rem 0 0}
.front .variety{font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--soil)}
.back{background:#FBF6E8;transform:rotateY(180deg);font-size:.95rem}
.back h3{font-size:1.1rem}
.back dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.25rem .7rem;font-size:.9rem}
.back dt{font-weight:800;color:var(--soil)}
.back dd{margin:0}
.flip-hint{font-size:.85rem;color:var(--ink-soft);margin-top:.6rem}
@media (max-width:600px){.packet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.packet .inner{height:250px}.face{padding:.7rem}.front h3{font-size:1rem}.back{font-size:.82rem}.back p{margin-bottom:.5em}.back dl{font-size:.8rem;grid-template-columns:1fr}}

/* vine builder */
.vine-sec{background:var(--paper-2)}
.vine-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2rem;align-items:start;margin-top:2rem}
.controls{background:#FBF6E8;border:2.5px solid var(--moss);border-radius:20px;padding:1.4rem;box-shadow:var(--shadow)}
.controls label{font-weight:800;display:block;margin-bottom:.35rem}
.controls select{width:100%;min-height:48px;border-radius:12px;border:2px solid var(--moss);background:#fff;font:600 1rem var(--body);padding:.4rem .7rem;color:var(--ink)}
.trigger-hint{font-size:.92rem;color:var(--ink-soft);margin:.6rem 0 1.2rem;min-height:3em}
.step-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.step-btns button{min-height:48px;border-radius:12px;border:2px solid var(--moss);background:var(--paper);font:800 .92rem var(--body);color:var(--moss);cursor:pointer;text-align:left;padding:.5rem .8rem}
.step-btns button:hover{background:var(--lime-soft)}
.row-btns{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}
.row-btns button{min-height:44px;border-radius:999px;border:2px dashed var(--soil);background:transparent;font:800 .9rem var(--body);color:var(--soil);padding:.4rem 1rem;cursor:pointer}
.trellis{position:relative;background:#FBF6E8;border-radius:20px;border:2.5px solid var(--moss);padding:1.4rem 1.4rem 1.4rem 4.2rem;min-height:420px;padding-bottom:110px;box-shadow:var(--shadow);
  background-image:linear-gradient(90deg,transparent 0 31px,rgba(107,74,46,.25) 31px 34px,transparent 34px),repeating-linear-gradient(0deg,transparent 0 58px,rgba(107,74,46,.12) 58px 60px)}
.vine{list-style:none;margin:0;padding:0;position:relative}
.vine::before{content:"";position:absolute;left:-2.35rem;top:10px;bottom:10px;width:6px;border-radius:6px;background:var(--leaf)}
.vine li{position:relative;background:#fff;border:2px solid var(--moss);border-radius:14px;padding:.7rem .9rem;margin-bottom:.8rem;animation:grow .45s ease both}
.vine li::before{content:"";position:absolute;left:-2.75rem;top:50%;width:26px;height:16px;border-radius:0 100% 0 100%;background:var(--lime);border:2px solid var(--leaf);transform:translateY(-50%) rotate(-20deg)}
.vine li:nth-child(even)::before{transform:translateY(-50%) rotate(20deg) scaleX(-1)}
.vine li.trigger{background:var(--sun)}
.vine li b{display:block;font-family:var(--body);font-size:1.1rem}
.vine li span{font-size:.9rem;color:var(--ink-soft)}
.vine li.trigger span{color:var(--moss)}
@keyframes grow{from{opacity:0;transform:translateY(10px) scale(.96)}}
.trellis .worm{position:static;display:block;width:84px;margin:.2rem 0 0 auto;pointer-events:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:860px){.vine-grid{grid-template-columns:1fr}}

/* bees */
.bees-layout{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:2rem;align-items:center;margin-top:2rem}
.hive{position:relative}
.hive img.hb{width:min(320px,100%);margin:auto}
.hive img.b{position:absolute;width:76px}
.hive img.b1{left:4%;top:4%;animation:bob 3.4s ease-in-out infinite}
.hive img.b2{right:8%;top:30%;animation:bob 4.2s ease-in-out infinite .6s;transform:scaleX(-1)}
.bee-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:0;padding:0;border:0}
.bee-list label{display:flex;align-items:center;gap:.5rem;min-height:52px;border:2px solid var(--moss);border-radius:14px;padding:.5rem .8rem;font-weight:800;cursor:pointer;background:#FBF6E8}
.bee-list input{accent-color:var(--leaf);width:18px;height:18px}
.bee-list label:has(input:checked){background:var(--moss);color:var(--paper)}
.bee-note{margin-top:1rem;background:var(--lime-soft);border-radius:16px;padding:1rem 1.2rem;border:2px solid var(--leaf);min-height:5.5rem}
.bee-note b{font-family:var(--body);font-size:1.15rem}
@media (max-width:820px){.bees-layout{grid-template-columns:1fr}.hive img.hb{width:200px}}

/* cast */
.cast-sec{background:var(--paper-2)}
.cast{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;margin-top:2.2rem;list-style:none;padding:0}
.cast li{background:#FBF6E8;border:2.5px solid var(--moss);border-radius:18px;padding:1rem;box-shadow:var(--shadow);text-align:left}
.cast li:nth-child(odd){transform:rotate(-1.2deg)}
.cast li:nth-child(even){transform:rotate(1deg) translateY(16px)}
.cast img{height:150px;width:100%;object-fit:contain;margin-bottom:.6rem}
.cast h3{font-size:1.15rem;margin-bottom:.2rem}
.cast .job{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--terra)}
.cast p{font-size:.93rem;margin:.4rem 0 0}
@media (max-width:1100px){.cast{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.cast{grid-template-columns:repeat(2,minmax(0,1fr))}.cast li:nth-child(even){transform:rotate(1deg)}}
@media (max-width:380px){.cast{grid-template-columns:1fr}}

/* compare */
.compare{width:100%;border-collapse:separate;border-spacing:0;margin-top:2rem;background:#FBF6E8;border:2.5px solid var(--moss);border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}
.compare th,.compare td{padding:1rem 1.1rem;text-align:left;vertical-align:top;border-bottom:1.5px dashed rgba(107,74,46,.35)}
.compare thead th{background:var(--moss);color:var(--paper);font-family:var(--body);font-size:1.2rem}
.compare thead th img{width:44px;display:inline-block;vertical-align:middle;margin-right:.4rem}
.compare tbody th{font-weight:800;width:22%}
.compare td.us{background:rgba(140,191,38,.14)}
.compare tr:last-child>*{border-bottom:0}
.fair{font-size:.92rem;color:var(--ink-soft);margin-top:1rem}
@media (max-width:700px){
  .compare thead{display:none}
  .compare,.compare tbody,.compare tr,.compare th,.compare td{display:block;width:100%}
  .compare tbody th{background:var(--paper-2)}
  .compare td::before{content:attr(data-h);display:block;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}
}

/* growth toy */
.toy-sec{background:var(--moss);color:var(--paper)}
.toy-sec h2{color:var(--paper)}
.toy-sec .eyebrow{color:var(--sun)}
.toy{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem;margin-top:2rem;align-items:stretch}
.toy .knobs{background:rgba(246,239,220,.08);border:2px dashed rgba(246,239,220,.4);border-radius:20px;padding:1.4rem}
.toy label{display:block;font-weight:800;margin:1rem 0 .3rem}
.toy label:first-child{margin-top:0}
.toy input[type=range]{width:100%;accent-color:var(--sun);min-height:32px}
.toy input[type=number]{width:100%;min-height:48px;border-radius:12px;border:2px solid var(--paper);background:var(--paper);font:700 1rem var(--body);padding:.4rem .7rem;color:var(--ink)}
.toy output{font-family:var(--display);font-size:1.5rem;color:var(--sun)}
.toy .hint{font-size:.85rem;opacity:.85;margin-top:.3rem}
.orchard{background:#F6EFDC;border-radius:20px;color:var(--ink);padding:1.4rem;display:flex;flex-direction:column;gap:1rem;border:3px solid var(--paper)}
.trees{display:flex;flex-wrap:wrap;align-content:flex-end;gap:2px;min-height:190px;background:linear-gradient(transparent 82%,var(--soil) 82%);border-radius:12px;padding:.6rem .6rem 1.2rem}
.trees img{width:38px;height:auto;align-self:flex-end;animation:grow .35s ease both}
.ledger{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;font-size:1rem}
.ledger dt{color:var(--ink-soft)}
.ledger dd{margin:0;font-weight:800;text-align:right}
.ledger .big{font-family:var(--display);font-size:1.5rem;color:var(--leaf)}
@media (max-width:820px){.toy{grid-template-columns:1fr}}

/* prices */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;margin-top:2.2rem;align-items:start}
.plan{background:#FBF6E8;border:2.5px solid var(--moss);border-radius:22px;padding:1.5rem;position:relative;box-shadow:var(--shadow)}
.plan.mid{background:var(--lime-soft);transform:translateY(-12px)}
.plan img{height:110px;width:auto;max-width:100%;object-fit:contain;margin:-.4rem 0 .4rem}
.plan .price{font-family:var(--display);font-size:2.2rem;font-weight:800}
.plan .price small{font:700 .9rem var(--body);color:var(--ink-soft)}
.plan ul{padding-left:1.1rem;margin:1rem 0 1.3rem}
.plan li{margin-bottom:.3rem}
.demo{position:absolute;top:14px;right:14px;background:var(--terra);color:#fff;font:900 .72rem var(--body);letter-spacing:.14em;padding:.3rem .55rem;border-radius:6px;transform:rotate(4deg)}
.plans-note{margin-top:1.6rem;font-size:.95rem;color:var(--ink-soft);max-width:60rem}
@media (max-width:900px){.plans{grid-template-columns:1fr}.plan.mid{transform:none}}

/* almanac */
.almanac-sec{background:var(--paper-2)}
.almanac{columns:2 380px;column-gap:2rem;margin-top:2rem}
.almanac details{break-inside:avoid;background:#FBF6E8;border:2px solid var(--moss);border-radius:16px;margin:0 0 1rem;padding:0 1.2rem;box-shadow:var(--shadow)}
.almanac summary{cursor:pointer;list-style:none;padding:1rem 0;font-family:var(--body);font-size:1.15rem;font-weight:700;display:flex;gap:.8rem;align-items:baseline;min-height:44px}
.almanac summary::-webkit-details-marker{display:none}
.almanac summary .no{font:900 .8rem var(--body);color:var(--terra);letter-spacing:.08em;flex:none}
.almanac summary::after{content:"+";margin-left:auto;font-family:var(--body);font-weight:900;color:var(--leaf)}
.almanac details[open] summary::after{content:"\2212"}
.almanac details p{padding-bottom:.6rem}

/* footer cta */
.final{background:var(--moss);color:var(--paper);text-align:left;overflow:hidden}
.final .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:2rem;align-items:center}
.final h2{color:var(--paper);font-size:clamp(2.2rem,5vw,4rem)}
.final .btn-primary{background:var(--sun);color:var(--moss);border-color:var(--sun);box-shadow:0 4px 0 #b88a1d}
.final .btn-ghost{color:var(--paper);border-color:var(--paper)}
.final img{width:auto;height:320px;max-width:100%;object-fit:contain;margin:auto}
footer.foot{background:#172C1B;color:rgba(246,239,220,.8);padding:2rem 0;font-size:.9rem}
footer.foot .wrap{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;justify-content:space-between}
footer.foot img{height:60px;width:auto}
@media (max-width:760px){.final .wrap{grid-template-columns:1fr}.final img{height:300px}}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* App integration additions */
html{font-synthesis:style}
button,input,select,textarea{font-family:inherit}
h1{font-size:clamp(2.3rem,5vw,4.1rem);font-weight:400}
h2{font-weight:400}
h3{font-family:var(--body);font-weight:800}
.plan .price{font-weight:400}
.top .auth-links{display:flex;gap:.5rem;align-items:center}
.top .auth-links .btn{white-space:nowrap}
.plan .freq{font-size:.9rem;color:var(--ink-soft)}
.plan .desc{margin:.2rem 0 .8rem}
.plans-empty{padding:1.2rem;border:2px dashed var(--moss);border-radius:16px;background:var(--card)}
.foot nav{display:flex;gap:1rem;flex-wrap:wrap}
.foot nav a{color:inherit}
:focus-visible{outline:3px solid var(--moss);outline-offset:3px}
@media (max-width:520px){.top .wrap{gap:.5rem}.top .auth-links .btn{min-height:40px;padding:.4rem .75rem;font-size:.95rem}.top .brand img{max-width:132px;height:auto}}
