:root{
  --cream:#f4ead5; --cream2:#ebdcbc; --paper:#fbf5e7;
  --soil:#2b1d14; --soil2:#4a3222; --bark:#6d4a30;
  --wheat:#e0b04a; --wheat2:#f2c96a; --terracotta:#c4622d; --olive:#6b7a3a; --sage:#a9b48a; --sky:#e9d9b4;
  --text:#2b1d14; --muted:#7a6650;
  --display:"Fraunces", Georgia, serif;
  --body:"Work Sans", system-ui, sans-serif;
  --mono:"DM Mono", ui-monospace, monospace;
  --max:1200px; --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--cream);color:var(--text);font:16px/1.65 var(--body);overflow-x:hidden;
  background-image:radial-gradient(circle at 20% 0%, rgba(242,201,106,.35), transparent 40%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .17 0 0 0 0 .11 0 0 0 0 .07 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--terracotta)}
code{font:.86em var(--mono);background:rgba(43,29,20,.07);padding:.08em .35em;border-radius:4px;word-break:break-all}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:var(--soil);color:var(--cream);padding:8px 12px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px;border-radius:4px}
.muted{color:var(--muted)}
.eyebrow{font:600 .78rem var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);margin:0 0 10px}

.nav{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(16px,4vw,44px);background:rgba(244,234,213,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(43,29,20,.1)}
.brand{display:flex;align-items:center;gap:10px;color:var(--soil);text-decoration:none;font:800 1.35rem var(--display)}
.mark{width:28px;height:28px;color:var(--olive)}
.brand.small{font-size:1.05rem}
.nav nav{display:flex;gap:2px;flex-wrap:wrap}
.nav nav a{color:var(--soil2);text-decoration:none;font:500 .9rem var(--body);padding:7px 12px;border-radius:999px}
.nav nav a:hover{background:rgba(107,122,58,.14)}

.btn{display:inline-flex;align-items:center;justify-content:center;font:600 .95rem var(--body);padding:13px 22px;border-radius:999px;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:transform .15s, box-shadow .15s}
.btn-soil{background:var(--soil);color:var(--cream);box-shadow:0 8px 20px -10px rgba(43,29,20,.8)}
.btn-soil:hover{transform:translateY(-2px)}
.btn-line{border-color:var(--soil);color:var(--soil)}
.btn-line:hover{background:var(--soil);color:var(--cream)}

.hero{max-width:var(--max);margin:0 auto;padding:clamp(40px,7vw,90px) clamp(16px,4vw,44px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.hero h1{font:800 clamp(2.6rem,6.2vw,5rem)/.98 var(--display);margin:0 0 22px;letter-spacing:-.02em;font-variation-settings:"opsz" 144}
.hero h1 em{font-style:italic;font-weight:500;color:var(--terracotta)}
.lede{font-size:1.12rem;max-width:34em;color:var(--soil2);margin:0 0 26px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.nav-right{display:flex;align-items:center;gap:12px}
.x-link{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;color:var(--soil);border:2px solid var(--soil);border-radius:999px;text-decoration:none;transition:.15s;flex:none}
.x-link:hover{background:var(--soil);color:var(--cream)}
.ca{display:flex;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap;padding:10px 14px;border:1px solid rgba(43,29,20,.18);border-radius:var(--r);background:var(--paper);max-width:540px}
.ca-lbl{font:700 .72rem var(--mono);letter-spacing:.14em;color:var(--terracotta)}
.ca code{font:500 .86rem var(--mono);color:var(--soil);word-break:break-all;flex:1;min-width:120px}
.btn-copy{font:600 .82rem var(--body);background:var(--wheat);color:var(--soil);border:1px solid var(--bark);border-radius:999px;padding:7px 15px;cursor:pointer}
.btn-copy:hover{background:var(--wheat2)}
.copy.done{background:var(--olive)!important;color:var(--cream)!important;border-color:var(--olive)!important}
.foot-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.foot-copy{font:600 .82rem var(--body);background:transparent;color:var(--wheat2);border:1px solid var(--wheat2);border-radius:999px;padding:6px 14px;cursor:pointer}
.foot-copy:hover{background:var(--wheat2);color:var(--soil)}
.sky{margin:0;background:linear-gradient(#f7e7bf, #f1d9a5 70%);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(43,29,20,.6), inset 0 0 0 1px rgba(43,29,20,.08)}
.sky svg{display:block;width:100%;height:auto}
.sky-l{font:500 11px var(--mono);fill:#f4ead5;opacity:.75}
.halo{animation:pulse 4s ease-in-out infinite;transform-origin:center}
@keyframes pulse{50%{opacity:.32;transform:scale(1.12)}}
.stalk{transform-box:fill-box;transform-origin:bottom center;animation:sway 5s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}
.sky-cap{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 20px;background:var(--soil);color:var(--cream);font:500 .9rem var(--mono)}
.sky-cap b{color:var(--wheat2)}

.almanac-strip{max-width:var(--max);margin:10px auto 0;padding:0 clamp(16px,4vw,44px);display:grid;grid-template-columns:repeat(6,1fr);gap:0;}
.stat{padding:18px 16px;border-top:3px solid var(--soil);border-bottom:1px solid rgba(43,29,20,.18);display:flex;flex-direction:column;gap:2px;background:linear-gradient(transparent, rgba(224,176,74,.12))}
.stat+.stat{border-left:1px dashed rgba(43,29,20,.2)}
.stat .k{font:600 .72rem var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stat .v{font:700 1.6rem/1.2 var(--display);color:var(--soil)}
.stat .s{font:400 .72rem var(--mono);color:var(--muted)}
.netstatus{max-width:var(--max);margin:8px auto 0;padding:0 clamp(16px,4vw,44px);font:400 .85rem var(--mono);color:var(--terracotta);min-height:1.2em}
.netstatus button,.vstatus button{margin-left:8px;font:600 .8rem var(--body);background:var(--soil);color:var(--cream);border:0;border-radius:999px;padding:4px 12px;cursor:pointer}

.calc{max-width:var(--max);margin:50px auto 0;padding:0 clamp(16px,4vw,44px)}
.packet{background:var(--paper);border-radius:22px;padding:clamp(20px,4vw,44px);position:relative;box-shadow:0 40px 80px -40px rgba(43,29,20,.55), 0 0 0 1px rgba(43,29,20,.08);
  background-image:linear-gradient(90deg, rgba(196,98,45,.06) 0 14px, transparent 14px)}
.packet::before{content:"";position:absolute;top:0;left:30px;right:30px;height:10px;background:radial-gradient(circle at 5px 0, transparent 5px, var(--paper) 5.5px) 0 0/14px 10px;transform:translateY(-9px)}
.packet-head h2{font:800 clamp(2rem,4vw,3rem)/1.05 var(--display);margin:0 0 6px}
.calc-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:36px;margin-top:28px}
.field{border:0;margin:0 0 22px;padding:0}
.field label,.field legend{display:flex;justify-content:space-between;font:600 .92rem var(--body);margin-bottom:8px;color:var(--soil)}
.field output{font:500 .95rem var(--mono);color:var(--terracotta)}
.row{display:flex;align-items:stretch;border:2px solid var(--soil);border-radius:12px;overflow:hidden;background:#fffdf6}
.row input{flex:1;min-width:0;border:0;padding:12px 14px;font:500 1.3rem var(--mono);background:transparent;color:var(--soil)}
.row input:focus{outline:none}
.row:focus-within{box-shadow:0 0 0 4px rgba(196,98,45,.25)}
.unit{display:grid;place-items:center;padding:0 14px;background:var(--soil);color:var(--cream);font:500 .9rem var(--mono)}
.quick{display:flex;gap:6px;margin-top:8px}
.quick button,.chip{font:500 .82rem var(--mono);background:transparent;border:1.5px solid rgba(43,29,20,.3);border-radius:999px;padding:4px 12px;cursor:pointer;color:var(--soil)}
.quick button:hover,.chip:hover{border-color:var(--terracotta);color:var(--terracotta)}
.note{font-size:.8rem;color:var(--muted);margin:6px 0 0}
.link{background:none;border:0;padding:0;color:var(--terracotta);font:600 .82rem var(--body);cursor:pointer;text-decoration:underline;margin-top:4px}
input[type=range]{width:100%;accent-color:var(--terracotta);height:28px}
.ticks{display:flex;justify-content:space-between;font:400 .7rem var(--mono);color:var(--muted)}
.toggle label{display:flex;gap:8px;justify-content:flex-start;font-weight:500;align-items:center;margin-bottom:6px}
.toggle input{accent-color:var(--olive);width:18px;height:18px}
.picked{background:rgba(107,122,58,.14);border-left:4px solid var(--olive);padding:10px 12px;border-radius:6px;font-size:.88rem;margin:0}
.picked code{font-size:.8rem}

.yield-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.yc{background:var(--cream);border-radius:14px;padding:14px;display:flex;flex-direction:column;border:1px solid rgba(43,29,20,.08)}
.yc.wide{grid-column:span 2;background:var(--soil);color:var(--cream)}
.yc .k{font:600 .7rem var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.yc.wide .k{color:var(--wheat2)}
.yc .v{font:700 1.5rem/1.2 var(--display)}
.yc .v.big{font-size:2.3rem}
.yc .s{font:400 .82rem var(--mono);opacity:.8}
.chart-wrap{margin-top:16px;background:#fffdf6;border-radius:16px;padding:14px;border:1px solid rgba(43,29,20,.1)}
#growth{width:100%;height:auto;display:block;aspect-ratio:64/30}
.legend{display:flex;gap:16px;flex-wrap:wrap;font:500 .8rem var(--body);color:var(--soil2);margin-top:8px}
.legend i{display:inline-block;width:22px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
.l1{background:var(--terracotta)}.l2{background:var(--olive)}.l3{background:repeating-linear-gradient(90deg,var(--bark) 0 5px,transparent 5px 9px)}
.formula{font-size:.82rem;color:var(--muted);margin:14px 0 0;line-height:1.55}
.formula b{color:var(--soil)}

.compare{margin-top:34px}
.compare h3,.dist h3{font:700 1.5rem var(--display);margin:0 0 4px}
.table-wrap{overflow-x:auto;margin-top:12px;border-radius:12px;border:1px solid rgba(43,29,20,.12);-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fffdf6}
th{font:600 .72rem var(--body);letter-spacing:.1em;text-transform:uppercase;text-align:left;color:var(--muted);padding:10px 14px;background:var(--cream2);white-space:nowrap}
td{padding:10px 14px;border-top:1px solid rgba(43,29,20,.08);font-family:var(--mono);white-space:nowrap}
tr.you td{background:rgba(196,98,45,.1);font-weight:500}
td.neg{color:var(--terracotta)}

.sec-head{margin-bottom:30px;max-width:760px}
.sec-head h2{font:800 clamp(2rem,4.4vw,3.2rem)/1.05 var(--display);margin:0 0 10px;letter-spacing:-.01em}
.field-sec,.how,.uses,.almanac,.faq,.honest{max-width:var(--max);margin:0 auto;padding:clamp(70px,9vw,120px) clamp(16px,4vw,44px) 0}
.field-tools{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin-bottom:18px}
.vsearch{display:flex;gap:8px;flex:1 1 380px}
.vsearch input{flex:1;min-width:0;padding:12px 16px;border:2px solid var(--soil);border-radius:999px;font:400 .9rem var(--mono);background:#fffdf6;color:var(--soil)}
.samples{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.85rem;color:var(--muted)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.tab{font:600 .85rem var(--body);background:transparent;border:1.5px solid rgba(43,29,20,.25);border-radius:999px;padding:7px 16px;cursor:pointer;color:var(--soil)}
.tab[aria-selected=true]{background:var(--olive);border-color:var(--olive);color:#fff}
.vstatus{font:400 .85rem var(--mono);color:var(--muted);min-height:1.3em}
.vstatus.err{color:var(--terracotta)}
.vtable td:nth-child(2){font-size:.82rem}
.vtable .use{font:600 .8rem var(--body);background:var(--soil);color:var(--cream);border:0;border-radius:999px;padding:5px 14px;cursor:pointer}
.vtable .use:hover{background:var(--terracotta)}
.perfbar{display:inline-block;width:60px;height:6px;background:rgba(43,29,20,.1);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:8px}
.perfbar i{display:block;height:100%;background:var(--olive)}
.found td{background:rgba(224,176,74,.22)}

.dist{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;margin-top:40px;align-items:start}
.dist-bars{display:grid;gap:10px;margin-top:14px}
.db{display:grid;grid-template-columns:90px 1fr 110px;gap:12px;align-items:center;font-size:.86rem}
.db .lbl{font:500 .85rem var(--mono)}
.db .bars{display:grid;gap:3px}
.db .b{height:12px;border-radius:0 6px 6px 0;background:var(--wheat);transform-origin:left;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}
.db .b.st{background:var(--olive);height:8px}
@keyframes grow{from{transform:scaleX(0)}}
.db .num{font:400 .78rem var(--mono);color:var(--muted);text-align:right}
.dist-facts{display:grid;gap:10px}
.fact{background:var(--soil);color:var(--cream);border-radius:14px;padding:16px 18px}
.fact .v{font:700 1.7rem var(--display);color:var(--wheat2)}
.fact .k{font-size:.85rem;opacity:.85}

.seasons{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.seasons li{background:var(--paper);border-radius:18px;padding:22px;position:relative;border:1px solid rgba(43,29,20,.08);transition:transform .2s}
.seasons li:hover{transform:translateY(-4px) rotate(-.4deg)}
.season{font:italic 500 1rem var(--display);color:var(--terracotta)}
.seasons svg{width:100%;height:auto;max-height:80px;margin:8px 0}
.soil{stroke:var(--bark);stroke-width:4;stroke-linecap:round;fill:none}
.seed{fill:var(--wheat)}
.stem{stroke:var(--olive);stroke-width:3;stroke-linecap:round;fill:none}
.leaf{fill:var(--sage)}
.grain{fill:var(--wheat)}
.seasons h3{font:700 1.2rem var(--display);margin:0 0 6px}
.seasons p{margin:0;font-size:.93rem;color:var(--soil2)}

.use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.use{padding:24px;border-radius:18px;background:linear-gradient(160deg, var(--paper), var(--cream2));border:1px solid rgba(43,29,20,.08);position:relative;overflow:hidden}
.use::after{content:"";position:absolute;right:-30px;bottom:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(var(--wheat2), transparent 70%);opacity:.5}
.use h3{font:700 1.2rem var(--display);margin:0 0 6px}
.use p{margin:0;font-size:.94rem;color:var(--soil2)}

.alm-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start}
.alm-text h3{font:700 1.35rem var(--display);margin:26px 0 8px}
.alm-text h3:first-child{margin-top:0}
.alm-text p{margin:0 0 14px;font-size:1.02rem;color:var(--soil2)}
.alm-side{background:var(--soil);color:var(--cream);border-radius:20px;padding:24px;position:sticky;top:90px}
.alm-side h3{font:700 1.3rem var(--display);margin:0 0 4px;color:var(--wheat2)}
.alm-side .muted{color:#cbb898;font-size:.85rem}
.alm-side .mt{margin-top:24px}
.sched{background:transparent;font-size:.85rem;margin-top:10px}
.sched th{background:rgba(244,234,213,.1);color:#cbb898}
.sched td{border-color:rgba(244,234,213,.12);color:var(--cream)}
.gloss{margin:8px 0 0;font-size:.88rem}
.gloss dt{font:600 .9rem var(--display);color:var(--wheat2);margin-top:10px}
.gloss dd{margin:2px 0 0;color:#e7d9bd}
.live{font-family:var(--mono);background:rgba(224,176,74,.3);padding:0 4px;border-radius:3px}

.faq-list{display:grid;gap:10px;max-width:880px}
.faq details{background:var(--paper);border-radius:14px;border:1px solid rgba(43,29,20,.1)}
.faq summary{cursor:pointer;list-style:none;padding:18px 54px 18px 22px;font:600 1.08rem var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:22px;top:50%;width:12px;height:12px;border-right:2.5px solid var(--terracotta);border-bottom:2.5px solid var(--terracotta);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq details p{margin:0;padding:0 22px 18px;color:var(--soil2)}

.honest-box{background:repeating-linear-gradient(-45deg, rgba(224,176,74,.13) 0 12px, transparent 12px 24px), var(--paper);border:2px dashed var(--bark);border-radius:20px;padding:clamp(20px,4vw,36px)}
.honest-box h2{font:800 1.8rem var(--display);margin:0 0 12px}
.honest-box ul{margin:0;padding-left:20px}
.honest-box li{margin-bottom:8px}

.foot{margin-top:100px;background:var(--soil);color:#d9c7a5;padding:34px clamp(16px,4vw,44px)}
.foot .brand{color:var(--cream)}
.foot .mark{color:var(--wheat)}
.foot a{color:var(--wheat2)}
.foot-inner{max-width:var(--max);margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 30px;justify-content:space-between;align-items:center;font-size:.88rem}
.foot p{margin:0}

@media (max-width:1000px){
  .hero,.calc-grid,.alm-cols,.dist{grid-template-columns:1fr}
  .almanac-strip{grid-template-columns:repeat(3,1fr)}
  .stat:nth-child(4){border-left:0}
  .seasons,.use-grid{grid-template-columns:repeat(2,1fr)}
  .alm-side{position:static}
}
@media (max-width:640px){
  .nav nav{display:none}
  .almanac-strip{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(odd){border-left:0}
  .stat:nth-child(even){border-left:1px dashed rgba(43,29,20,.2)}
  .yield-cards{grid-template-columns:repeat(2,1fr)}
  .seasons,.use-grid{grid-template-columns:1fr}
  .db{grid-template-columns:70px 1fr 84px}
  .vsearch{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
.yield-cards .yc:nth-child(4),.yield-cards .yc:nth-child(5){grid-column:span 2}
@media (max-width:640px){.yield-cards .yc:nth-child(4),.yield-cards .yc:nth-child(5){grid-column:span 1}}
.hero>*,.calc-grid>*,.alm-cols>*,.dist>*,.outputs>*{min-width:0}
.table-wrap{max-width:100%}
@media (max-width:1000px){.hero,.calc-grid,.alm-cols,.dist{grid-template-columns:minmax(0,1fr)}}
.table-wrap{contain:paint}
