:root{--oat:#e2dff4;--paper:#eeecfb;--side:#cbcfea;--ink:#1f272a;--mut:#4b555c;--rose:#2b999a;--rose2:#1f7d7d;--blush:#c5e2ea;--moss:#502c5b;--mossd:#341b3c;--sage:#cfbde0;--clay:#4f61b8;--clayt:#c5c4ec;--line:#b6b4d9;--loam:#1d292b;--loamink:#d8d8f1;
--hf:"Petrona",Georgia,"Times New Roman",serif;--bf:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mf:"Fragment Mono",ui-monospace,Menlo,Consolas,monospace;
--r1:28px 34px 26px 36px/34px 26px 36px 28px;--r2:58% 42% 47% 53%/46% 55% 45% 54%;--sw:268px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--oat);color:var(--ink);font:400 1.0625rem/1.65 var(--bf);overflow-x:hidden}
h1,h2,h3{font-family:var(--hf);font-weight:700;line-height:1.12;margin:0 0 .5em;overflow-wrap:break-word;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,3.1vw + .9rem,3.5rem)}
h2{font-size:clamp(1.65rem,1.6vw + 1rem,2.35rem)}
h3{font-size:1.28rem;line-height:1.2}
p{margin:0 0 1em}
a{color:var(--rose);text-underline-offset:.18em;text-decoration-thickness:1.5px}
a:hover{color:var(--rose2)}
:focus-visible{outline:3px solid var(--moss);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--ink);color:var(--oat);padding:12px 18px;border-radius:12px}
.skip:focus{left:8px}
code{font-family:var(--mf);font-size:.88em;background:var(--clayt);padding:.12em .4em;border-radius:7px;overflow-wrap:anywhere}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;padding:.6em 1.5em;background:var(--rose);color:#efefff;border:2px solid var(--rose);border-radius:var(--r1);font:700 1.02rem/1.2 var(--bf);text-decoration:none;cursor:pointer;text-align:center;transition:transform .2s,background .2s,border-radius .4s}
.btn:hover{background:var(--rose2);border-color:var(--rose2);color:#efefff;transform:translateY(-2px);border-radius:36px 26px 34px 28px/28px 36px 26px 34px}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--oat);border-color:var(--ink)}
.btn.sm{min-height:44px;padding:.4em 1.1em;font-size:.94rem}
.btn.inv{background:#efefff;color:var(--rose2);border-color:#efefff}
.btn.inv:hover{background:var(--ink);border-color:var(--ink);color:#efefff}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0 0}

/* sidebar */
.side{position:fixed;inset:0 auto 0 0;width:var(--sw);background:var(--side);padding:30px 26px 24px 28px;display:flex;flex-direction:column;gap:26px;z-index:20}
.side::after{content:"";position:absolute;top:0;bottom:0;left:100%;width:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='96'%3E%3Cpath fill='%23ead6cb' d='M0 0h5c11 24 11 24 0 48-8 24-8 24 0 48H0z'/%3E%3C/svg%3E") repeat-y;pointer-events:none}
.logo{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font:700 1.32rem/1.05 var(--hf)}
.logo:hover{color:var(--rose2)}
.logo .mark{flex:none}
.logo span{max-width:8.5ch}
.side-cta{order:3;width:100%}
.nav{order:2}
.plot{order:4;margin-top:auto;font-size:.86rem;color:var(--mut);line-height:1.45}
.plot p{margin:0 0 8px}
.plot .tag{font:italic 500 1.04rem/1.3 var(--hf);color:var(--ink);margin-bottom:12px}
.plot code{background:rgba(242,240,255,.6);font-size:.74rem;display:inline-block;padding:.3em .6em}
.vine{list-style:none;margin:0;padding:0;position:relative}
.vine::before{content:"";position:absolute;top:-10px;bottom:-10px;left:6px;width:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='52'%3E%3Cpath fill='none' stroke='%234f5b2c' stroke-width='2' d='M8 0c7 13-7 39 0 52'/%3E%3C/svg%3E") repeat-y}
.vine a{position:relative;display:flex;align-items:center;min-height:52px;padding:0 10px 0 50px;color:var(--ink);text-decoration:none;font:600 1.04rem var(--bf);border-radius:var(--r1)}
.vine .bud{position:absolute;left:14px;top:9px;transition:transform .3s;transform-origin:2px 22px}
.vine li:nth-child(even) .bud:not(.bloom){transform:scaleY(-1) translateY(-8px)}
.bud .lf{fill:var(--moss)}.bud .vn{fill:none;stroke:var(--side);stroke-width:1.3;stroke-linecap:round}
.bud.bloom{left:0;top:11px}.bloom .pt{fill:var(--rose)}.bloom .ey{fill:#958bf3}
.vine a:hover{color:var(--rose2)}
.vine a:hover .bud:not(.bloom){transform:rotate(-14deg) scale(1.12)}
.vine li:nth-child(even) a:hover .bud:not(.bloom){transform:scaleY(-1) translateY(-8px) rotate(-14deg) scale(1.12)}
.vine .on a{font:700 1.22rem var(--hf);color:var(--rose2)}
.burger{display:none}
.page{margin-left:var(--sw);padding-left:14px;min-width:0}

/* bands */
.band{position:relative;padding:clamp(56px,7vw,96px) clamp(20px,5vw,76px);--bg:var(--oat);background:var(--bg)}
.band>.in{max-width:1060px;margin:0 auto;position:relative}
.band.clay{--bg:var(--clayt)}.band.paper{--bg:var(--paper)}
.band.moss{--bg:var(--mossd);color:#e3ddf3}
.band.sow{--bg:var(--rose);color:#efefff}
.wave{position:absolute;left:0;right:0;bottom:calc(100% - 1px);width:100%;height:34px;display:block;pointer-events:none}
.wave path{fill:var(--bg)}
.band>.in>h2{max-width:22ch;margin-bottom:1.1em}
.band>.in>h2::after,.faq h2::after{content:"";display:block;width:74px;height:10px;margin-top:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='74' height='10'%3E%3Cpath fill='none' stroke='%239a2b62' stroke-width='3' stroke-linecap='round' d='M2 6c9-6 14 5 23 0s14 5 23 0 14 4 24-1'/%3E%3C/svg%3E") no-repeat}
.moss>.in>h2::after{filter:brightness(2.4) saturate(.6)}

/* blobs */
.blob{position:absolute;display:block;border-radius:var(--r2);pointer-events:none;z-index:0;animation:morph 16s ease-in-out infinite alternate}
.b1{width:min(430px,78vw);height:min(360px,64vw);background:var(--blush);left:-70px;top:-52px}
.b2{width:96px;height:84px;background:var(--moss);right:6%;top:-30px;opacity:.9;animation-duration:11s}
.b3{width:54px;height:50px;background:var(--clay);left:46%;bottom:22px;animation-duration:9s}
@keyframes morph{0%{border-radius:58% 42% 47% 53%/46% 55% 45% 54%}50%{border-radius:44% 56% 60% 40%/55% 42% 58% 45%}100%{border-radius:52% 48% 38% 62%/40% 60% 44% 56%}}

/* hero */
.hero{padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(40px,5vw,64px)}
.hero>.in{max-width:1120px}
.hero-g{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero-g>*{min-width:0}
.hero-t{position:relative}
.hero-t>*:not(.blob){position:relative;z-index:1}
.hero h1{font-size:clamp(2.05rem,2.5vw + 1rem,3.3rem)}
.eyebrow{font:400 .82rem var(--mf);letter-spacing:.06em;text-transform:uppercase;color:var(--rose2);margin:0 0 1.1em;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:12px;height:12px;background:var(--moss);border-radius:0 100% 0 100%;flex:none}
.lead{font-size:1.2rem;line-height:1.55;color:var(--mut);max-width:58ch}
.hero .lead{color:var(--ink)}
.leaves{list-style:none;padding:0;margin:1.2em 0 0;display:grid;gap:10px}
.leaves li{position:relative;padding-left:32px}
.leaves li::before{content:"";position:absolute;left:2px;top:.36em;width:17px;height:17px;background:var(--moss);border-radius:0 100% 0 100%}
.leaves li:nth-child(even)::before{background:var(--rose);border-radius:100% 0 100% 0}
.slab-h{font:400 .78rem var(--mf);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 10px 18px}
.hero-c{position:relative}

/* code */
.codebox{background:var(--loam);border-radius:30px 38px 28px 42px/36px 28px 40px 30px;padding:14px 14px 6px;box-shadow:14px 16px 0 var(--blush);min-width:0}
.codetabs{display:flex;flex-wrap:wrap;gap:6px;padding:2px 4px 10px}
.codetabs button{min-height:44px;padding:0 18px;background:transparent;border:1.5px solid #50646a;color:#c8cae3;border-radius:var(--r1);font:400 .84rem var(--mf);cursor:pointer}
.codetabs button:hover{border-color:#b9ebf0;color:#ffffff}
.codetabs button[aria-selected=true]{background:#b9ebf0;border-color:#b9ebf0;color:var(--loam)}
pre.code{position:relative;margin:0 0 1.4em;padding:50px 20px 20px;background:var(--loam);color:var(--loamink);border-radius:24px 30px 22px 32px/28px 22px 32px 24px;font:400 .84rem/1.65 var(--mf);overflow-x:auto;white-space:pre;tab-size:2;max-width:100%}
.codebox pre.code{margin:0;border-radius:18px;background:transparent;padding:46px 12px 16px}
pre.code code{background:none;padding:0;font-size:inherit;color:inherit;overflow-wrap:normal}
pre.code .k{color:#a3eef5}pre.code .s{color:#c28ed9}pre.code .c{color:#9aa0b3;font-style:italic}
.copy{position:absolute;top:8px;right:10px;min-height:36px;min-width:44px;padding:4px 14px;background:rgba(239,239,255,.08);color:var(--loamink);border:1.5px solid #50646a;border-radius:18px 22px 17px 23px/21px 17px 23px 18px;font:400 .76rem var(--mf);cursor:pointer}
.copy:hover{background:#b9ebf0;color:var(--loam);border-color:#b9ebf0}

/* facts */
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:clamp(40px,5vw,64px) auto 0;max-width:1120px;position:relative;z-index:1}
.facts div{padding:6px 16px 4px 20px;border-left:2px dotted var(--clay);min-width:0}
.facts div:first-child{border-left:0;padding-left:0}
.facts dd{margin:0;font:700 clamp(1.5rem,1.7vw + .7rem,2.25rem)/1.1 var(--hf);color:var(--rose2)}
.facts dt{font-size:.88rem;line-height:1.35;color:var(--mut);margin-top:6px}
.facts.big{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:40px}
.facts.big div{grid-column:span 2;border:0;padding:24px 26px;background:var(--paper);border-radius:var(--r1)}
.facts.big div:nth-child(-n+2){grid-column:span 3;background:var(--blush);padding:32px 34px;border-radius:44px 60px 40px 64px/56px 42px 62px 44px}
.facts.big div:nth-child(2){background:var(--sage)}
.facts.big div:nth-child(2) dd{color:var(--mossd)}
.facts.big div:nth-child(-n+2) dd{font-size:clamp(2.6rem,4vw + 1rem,4.2rem)}
.facts.big dt{color:var(--ink);font-size:.95rem}
.facts.mini{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 0;margin-top:34px}
.facts.mini div{grid-column:span 2;padding-left:14px}
.facts.mini div:nth-child(-n+2){grid-column:span 3}
.facts.mini div:nth-child(3){border-left:0;padding-left:0}
.facts.mini dd{font-size:1.45rem}

/* seed rows */
ol.seeds,ol.stem,ol.beds{list-style:none;margin:0;padding:0}
.seeds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px clamp(32px,5vw,72px)}
.seeds.one{grid-template-columns:1fr;gap:26px}
.seeds li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:20px;align-items:start}
.num{display:grid;place-items:center;width:58px;height:54px;background:var(--blush);color:var(--rose2);font:700 1.5rem/1 var(--hf);border-radius:var(--r2)}
.seeds li:nth-child(3n+2) .num{background:var(--sage);color:var(--mossd);border-radius:44% 56% 60% 40%/55% 42% 58% 45%}
.seeds li:nth-child(3n) .num{background:#abb1e9;color:#18256a;border-radius:62% 38% 44% 56%/42% 58% 42% 58%}
.seeds h3,.stem h3,.beds h3{margin-bottom:.35em}
.seeds p,.stem p{margin:0;color:var(--mut)}
.clay .seeds p,.clay .stem p{color:#3b424d}
.seeds.one li{grid-template-columns:46px minmax(0,1fr);gap:16px}
.seeds.one .num{width:46px;height:43px;font-size:1.2rem}
.seeds.one h3{font-size:1.14rem}
.seeds.one p{font-size:.98rem}
/* steps on a stem */
.stem{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,52px);position:relative}
.stem::before{content:"";position:absolute;left:30px;right:8%;top:22px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='14'%3E%3Cpath fill='none' stroke='%234f5b2c' stroke-width='2' d='M0 7c16-9 16 9 32 0s16 9 32 0'/%3E%3C/svg%3E") repeat-x}
.stem li{position:relative}
.stem .num{background:var(--moss);color:#e5dff7;margin-bottom:20px;position:relative;box-shadow:0 0 0 8px var(--bg)}
.stem li:nth-child(2) .num{background:var(--rose)}
.stem li:nth-child(3) .num{background:var(--clay);color:#f0eeff;background:#3a4d96}
/* use cases */
.beds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px,5vw,72px)}
.beds li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:28px 0;border-top:2px dotted #744f82}
.beds li:nth-child(-n+2){border-top:0;padding-top:4px}
.beds .num{width:auto;height:auto;background:none;color:#a9e4e9;font:italic 500 2.3rem/1 var(--hf);border-radius:0;min-width:1.3ch}
.beds p{margin:0;color:#d1c6e2}
.moss h2,.moss h3{color:#ece6fb}

/* prose */
.prose{max-width:70ch;min-width:0}
.prose>*{max-width:100%}
.prose h2{margin:1.9em 0 .6em;scroll-margin-top:84px}
.prose h2:first-child{margin-top:0}
.prose h3{margin:1.6em 0 .5em}
.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.45em}
.prose ul li::marker{color:var(--rose)}
.prose ol li::marker{color:var(--moss);font-weight:700;font-family:var(--hf)}
.prose table{display:block;width:100%;overflow-x:auto;border-collapse:separate;border-spacing:0;margin:0 0 1.5em;font-size:.95rem}
.prose th,.prose td{padding:12px 16px;text-align:left;border-bottom:2px dotted var(--line);vertical-align:top;min-width:120px}
.prose th{background:var(--sage);color:var(--mossd);font:700 1rem var(--hf);border-bottom:0}
.prose th:first-child{border-radius:18px 0 0 14px}.prose th:last-child{border-radius:0 22px 16px 0}
.prose blockquote{margin:1.4em 0;padding:16px 22px;background:var(--blush);border-radius:var(--r1);font:italic 500 1.15rem/1.5 var(--hf)}
.prose blockquote p:last-child{margin:0}
.prose strong{color:var(--ink)}

/* faq */
.faq{padding-top:clamp(40px,5vw,64px)}
.faq .in{max-width:1060px;display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:start}
.qa{min-width:0}
.qa details{border-bottom:2px dotted var(--clay)}
.qa summary{list-style:none;cursor:pointer;position:relative;padding:18px 54px 18px 0;min-height:56px;font:700 1.18rem/1.3 var(--hf)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:6px;top:16px;width:26px;height:26px;background:var(--moss);border-radius:0 100% 0 100%;transition:transform .3s,background .3s}
.qa details[open] summary::after{transform:rotate(135deg);background:var(--rose)}
.qa summary:hover{color:var(--rose2)}
.qa details p{color:var(--mut);margin:0 0 20px;max-width:66ch}

/* cta band */
.sow .in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 48px;align-items:center}
.sow h2{margin-bottom:.3em;color:#efefff}
.sow p{margin:0;max-width:56ch;color:#e6f8fb}

/* page top */
.top{position:relative;z-index:1;margin-bottom:8px}
.top h1{max-width:20ch}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;margin:0 0 26px;padding:0;font:400 .8rem var(--mf);color:var(--mut)}
.crumbs li{display:flex;align-items:center;gap:10px}
.crumbs li+li::before{content:"";width:9px;height:9px;background:var(--clay);border-radius:0 100% 0 100%}
.crumbs a{color:var(--mut);display:inline-block;padding:6px 0}
.date{font:400 .82rem var(--mf);color:var(--mut);margin:0 0 1.6em}

/* key page */
.keyp{padding-top:clamp(36px,4.5vw,60px)}
.keyp>.in{max-width:1120px}
.key-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,448px);grid-template-areas:"h f" "b f";gap:10px clamp(28px,4vw,60px);align-items:start}
.key-h{grid-area:h;position:relative}.key-f{grid-area:f}.key-b{grid-area:b;position:relative;z-index:1}
.key-h .b1{width:300px;height:240px;left:-60px;top:-30px}
.key-h h1{font-size:clamp(2rem,2.2vw + 1rem,3rem)}
.bed{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:36px 46px 34px 50px/44px 34px 48px 36px;padding:clamp(22px,2.6vw,32px);box-shadow:12px 14px 0 var(--moss)}
.bed>h2{font-size:1.55rem;margin-bottom:.2em}
.bed-p{color:var(--mut);margin-bottom:16px;font-size:.98rem}
.form{min-width:0}
.form>a.btn{width:100%;margin-bottom:0}
.form a.btn.ghost{border-width:1.5px;background:#ffffff}
.form a.btn.ghost:hover{background:var(--clayt);color:var(--ink);border-color:var(--ink)}
.form a.btn svg{flex:none}
.note{font-size:.86rem;line-height:1.45;color:var(--mut);margin:10px 0 0}
.tabs2{display:flex;gap:6px;background:var(--clayt);padding:5px;border-radius:var(--r1);margin:16px 0 18px}
.tabs2 button{flex:1;min-height:44px;padding:0 10px;background:transparent;border:0;border-radius:22px 28px 20px 30px/26px 20px 30px 22px;color:var(--mut);font:700 .98rem var(--bf);cursor:pointer}
.tabs2 button[aria-selected=true]{background:var(--ink);color:var(--oat)}
.msg{display:none;margin:0 0 14px;padding:12px 16px;border-radius:var(--r1);font-size:.95rem}
.msg.err{display:block;background:#dce7fb;border:2px solid #1a52a3;color:#103c7c}
.msg.ok{display:block;background:var(--sage);border:2px solid var(--moss);color:var(--mossd)}
.row{margin-bottom:14px}
label{display:block;font:700 .92rem var(--bf);margin:0 0 6px}
input,select,textarea{width:100%;min-height:50px;padding:11px 16px;background:#faf8ff;color:var(--ink);border:2px solid #70748d;border-radius:20px 24px 18px 26px/24px 18px 26px 20px;font:400 1rem var(--bf)}
textarea{min-height:150px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:3px solid var(--moss);outline-offset:2px;border-color:var(--ink)}
.form form .btn,.sup button{width:100%;margin-top:4px}
.keyout{display:none}.keyout.on{display:block}
.keyout h3{margin-bottom:.5em}
.keybox{display:flex;align-items:center;gap:10px;background:var(--loam);color:var(--loamink);padding:12px 12px 12px 18px;border-radius:var(--r1);font:400 .86rem/1.4 var(--mf);word-break:break-all;margin:8px 0 12px}
.keybox span{flex:1;min-width:0}.keybox .btn{flex:none;background:#b9ebf0;border-color:#b9ebf0;color:var(--loam)}
.keyout p{font-size:.96rem;line-height:1.9}
.keyout .acts{margin-top:14px;gap:8px}
.mut{color:var(--mut)}

/* pricing */
.calc-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.calc-g h2{margin-bottom:1em}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--paper);border:2px solid var(--ink);border-radius:36px 46px 34px 50px/44px 34px 48px 36px;padding:clamp(20px,2.6vw,30px);box-shadow:12px 14px 0 var(--rose)}
.calc>div{min-width:0}
.calc>div:last-child{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:2px dotted var(--clay);padding-top:16px;margin-top:4px}
.calc>div:last-child label{margin:0;font-size:1rem}
.calc output{font:700 clamp(2.4rem,3vw + 1rem,3.4rem)/1 var(--hf);color:var(--rose2)}

/* docs / article */
.read>.in{max-width:1080px}
.read-g{display:grid;grid-template-columns:minmax(0,1fr) 236px;gap:clamp(32px,4vw,64px);align-items:start}
.read-m{min-width:0}
.read .top{margin-bottom:34px}
.rail{position:sticky;top:28px;display:grid;gap:26px;max-height:calc(100vh - 56px);overflow:auto;padding:4px 4px 16px 0}
.toc-h,.nudge-h{font:700 1.1rem var(--hf);margin:0 0 10px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t;border-left:2px solid var(--moss)}
.toc li{counter-increment:t}
.toc a{position:relative;display:block;padding:9px 0 9px 22px;color:var(--mut);text-decoration:none;font-size:.93rem;line-height:1.35}
.toc a::before{content:"";position:absolute;left:-1px;top:14px;width:11px;height:11px;background:var(--moss);border-radius:0 100% 0 100%}
.toc li:nth-child(even) a::before{top:10px;transform:scaleY(-1)}
.toc a:hover{color:var(--rose2)}.toc a:hover::before{background:var(--rose)}
.nudge{background:var(--blush);border-radius:34px 42px 30px 46px/40px 30px 44px 34px;padding:22px 22px 24px;font-size:.94rem}
.nudge p{margin:0 0 12px}
.nudge .btn{width:100%}
.take{background:var(--sage);border-radius:36px 46px 34px 50px/44px 34px 48px 36px;padding:26px 28px 28px;max-width:70ch}
.take h2{font-size:1.4rem;color:var(--mossd);margin-bottom:.2em}
.take .leaves{margin-top:.8em}.take li{color:#2c1733}

/* support */
.sup-g{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start}
.sup{margin-top:30px;max-width:640px}
.sup button{min-height:50px;padding:.6em 1.5em;background:var(--rose);color:#efefff;border:2px solid var(--rose);border-radius:var(--r1);font:700 1.02rem var(--bf);cursor:pointer}
.sup button:hover{background:var(--rose2)}
.sup output,.sup form>p{display:block;margin-top:12px;font-size:.95rem;color:var(--mossd);font-weight:600}
.sup-g .nudge{margin-top:64px}
.sup-g .nudge .facts.mini{margin-top:22px}
.sup-g .facts.mini div,.sup-g .facts.mini div:nth-child(-n+2){grid-column:span 6;border-left:0;padding-left:0;display:flex;gap:10px;align-items:baseline}
.sup-g .facts.mini dd{font-size:1.2rem}.sup-g .facts.mini dt{margin:0;color:var(--ink)}

/* 404 */
.nf{min-height:70vh}
.nf .in>*:not(.blob){position:relative;z-index:1}
.nf-n{font:italic 500 clamp(5rem,14vw,10rem)/1 var(--hf);color:var(--rose2);margin:0 0 .1em}
.nf-l{list-style:none;padding:0;margin:1.6em 0 0;display:flex;flex-wrap:wrap;gap:6px 22px}
.nf-l a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}

/* footer */
.foot{position:relative;--bg:var(--side);background:var(--bg);padding:44px clamp(20px,5vw,76px) 34px}
.foot .in{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px 48px;align-items:center}
.foot .logo span{max-width:none}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 24px;justify-content:flex-end}
.foot li a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-weight:600;font-size:.96rem}
.legal{grid-column:1/-1;margin:0;padding-top:18px;border-top:2px dotted var(--clay);font-size:.86rem;color:var(--mut)}

/* ---------- responsive ---------- */
@media(max-width:1240px){
.hero-g{grid-template-columns:1fr}
.read-g{grid-template-columns:1fr}
.rail{position:static;max-height:none;overflow:visible;order:-1;grid-template-columns:1fr}
.rail .nudge{display:none}
.read-g .rail{grid-row:1}
.read-g .read-m{grid-row:2}
.read .top{margin-bottom:0}
.read-g{gap:28px}
.toc{background:var(--paper);border-radius:var(--r1);padding:20px 24px}
.key-g{grid-template-columns:minmax(0,1fr) minmax(0,400px)}
}
@media(max-width:1240px) and (min-width:981px){
.read-g{display:flex;flex-direction:column}
.read-g .read-m{display:contents}
.read-g .top{order:1}.read-g .rail{order:2;width:100%}.read-g .prose{order:3}
}
@media(max-width:1100px){
.key-g{grid-template-columns:1fr;grid-template-areas:"h" "f" "b";gap:26px}
.key-f{max-width:520px}
.key-b{margin-top:14px}
.calc-g,.sup-g{grid-template-columns:1fr}
.sup-g .nudge{margin-top:0;max-width:640px}
}
@media(max-width:980px){
.side{position:sticky;top:0;inset:auto;width:auto;flex-direction:row;align-items:center;gap:10px;padding:8px 14px 8px 16px;min-height:64px}
.side::after{top:100%;bottom:auto;left:0;right:0;width:auto;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='10'%3E%3Cpath fill='%23ead6cb' d='M0 0v3c24 9 24 9 48 0 24-7 24-7 48 0V0z'/%3E%3C/svg%3E") repeat-x}
.logo{font-size:1.06rem;gap:9px;margin-right:auto}
.side .logo .mark{width:34px;height:34px}
.side-cta{order:0;width:auto;min-height:44px;padding:.3em 1em;font-size:.92rem;white-space:nowrap}
.burger{order:1;display:grid;place-content:center;gap:5px;width:46px;height:46px;flex:none;background:transparent;border:2px solid var(--ink);border-radius:var(--r2);cursor:pointer;padding:0}
.burger i{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s,opacity .25s}
.burger[aria-expanded=true] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] i:nth-child(2){opacity:0}
.burger[aria-expanded=true] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--side);padding:18px 22px 28px;border-radius:0 0 34px 42px/0 0 30px 38px;box-shadow:0 18px 30px rgba(31,39,42,.22);max-height:calc(100vh - 64px);overflow:auto}
.nav.open{display:block}
.plot{display:none}
.page{margin-left:0;padding-left:0}
.read-g{display:flex;flex-direction:column}
.read-g .read-m{display:contents}
.read-g .top{order:1}.read-g .rail{order:2;width:100%}.read-g .prose{order:3}
.prose h2{scroll-margin-top:84px}
}
@media(max-width:760px){
body{font-size:1rem}
.lead{font-size:1.09rem}
.seeds,.beds{grid-template-columns:1fr}
.beds li:nth-child(2){border-top:2px dotted #744f82;padding-top:28px}
.stem{grid-template-columns:1fr;gap:30px}
.stem::before{left:22px;right:auto;top:10px;bottom:40px;width:14px;height:auto;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='64'%3E%3Cpath fill='none' stroke='%234f5b2c' stroke-width='2' d='M7 0c-9 16 9 16 0 32s9 16 0 32'/%3E%3C/svg%3E") repeat-y}
.stem li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px}
.stem .num{margin:0}
.facts{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 0}
.facts div{grid-column:span 2;padding-left:12px;padding-right:8px}
.facts div:nth-child(-n+2){grid-column:span 3}
.facts div:nth-child(3){border-left:0;padding-left:0}
.facts.big{gap:12px}
.facts.big div,.facts.big div:nth-child(-n+2){padding:18px 16px}
.facts.big div:nth-child(-n+2){padding:24px 20px}
.facts.big div:nth-child(3){padding-left:16px}
.facts.big dd{font-size:1.3rem}
.facts.big dt{font-size:.84rem}
.faq .in{grid-template-columns:1fr;gap:6px}
.sow .in{grid-template-columns:1fr}
.sow .btn{justify-self:start}
.foot .in{grid-template-columns:1fr}
.foot ul{justify-content:flex-start}
.codebox{box-shadow:8px 10px 0 var(--blush);padding:10px 8px 4px}
.codetabs button{padding:0 14px}
.bed{box-shadow:7px 9px 0 var(--moss);padding:20px 18px 22px}
.calc{box-shadow:7px 9px 0 var(--rose)}
.b1{left:-90px;top:-40px}
.b2{width:64px;height:56px;right:-10px}
.b3{display:none}
.keyp{padding-top:30px}
.key-h h1{font-size:1.95rem}
.key-h .lead{margin-bottom:0}
.crumbs ol{margin-bottom:16px}
pre.code{font-size:.8rem;padding-left:16px;padding-right:16px}
}
@media(max-width:420px){
.calc{grid-template-columns:1fr}
.side-cta{padding:.3em .8em;font-size:.88rem}
.logo{font-size:1rem}
.facts dd{font-size:1.4rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* review fixes */
.facts.mini div:first-child{padding-left:0}
.hero .b2{right:-2%;top:-64px}
.hero .b3{left:auto;right:4%;bottom:-8px}
@media(min-width:761px){.stem::before{right:calc(33.33% - 40px)}}
@media(max-width:760px){.stem::before{bottom:130px}.hero .b2{right:-10px;top:-30px}}
