/* Plate & Prompt. Fonts: Fraunces and Atkinson Hyperlegible (SIL Open Font License), self-hosted latin subset. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600 700;font-display:swap;src:url(/assets/fonts/fraunces-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-400-normal.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/atkinson-700-normal.woff2) format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/atkinson-400-italic.woff2) format('woff2')}

:root{
  --paper:#FBF7EF;--card:#FFFDF8;--ink:#1E2A33;--soft:#4B5863;--line:#E3D8C3;
  --tomato:#C4533B;--tomato-ink:#A63F29;--tomato-bg:#FBEAE5;
  --sage:#4F7A68;--sage-ink:#3B6152;--sage-bg:#EDF2EC;
  --butter:#F6E3A9;--butter-bg:#FCF3D6;--butter-line:#E3C97A;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Atkinson Hyperlegible',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --r:14px;--gut:16px;--maxw:1140px;
  --ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--tomato-ink);text-underline-offset:.18em;text-decoration-thickness:1.5px}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.08;letter-spacing:-.015em;margin:0 0 .45em;text-wrap:balance}
h1{font-size:clamp(2.35rem,8.4vw,4.6rem)}
h2{font-size:clamp(1.8rem,5.2vw,2.9rem)}
h3{font-size:1.3rem;line-height:1.2}
p{margin:0 0 1em}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
@media (min-width:700px){:root{--gut:32px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;z-index:50;text-decoration:none}
.skip:focus{top:12px}
.kicker{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--tomato-ink);margin:0 0 .8em}
.lead{font-size:clamp(1.1rem,2.6vw,1.3rem);line-height:1.5;color:#2c3a44;max-width:36em}
.fine{font-size:.875rem;color:var(--soft);line-height:1.5}
.src{font-size:.8125rem;color:var(--soft)}
.amp{color:var(--sage);font-style:italic}
section{padding:clamp(56px,10vw,112px) 0}
.tight{padding-top:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:.7em 1.3em;border-radius:999px;border:2px solid var(--ink);background:var(--ink);color:#fff;font:700 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:transform .2s var(--ease),background .2s}
.btn:hover{background:#000;color:#fff;transform:translateY(-2px)}
.btn.red{background:var(--tomato-ink);border-color:var(--tomato-ink)}
.btn.red:hover{background:#8a3221;border-color:#8a3221}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6em}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(251,247,239,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-head.scrolled{border-bottom-color:var(--line)}
.head-row{display:flex;align-items:center;justify-content:space-between;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{width:36px;height:36px}
.brand-word{font-family:var(--serif);font-weight:700;font-size:1.2rem;letter-spacing:.01em;color:var(--tomato-ink);margin:0}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;cursor:pointer;border-radius:10px;color:var(--ink)}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:22px;height:2.5px;background:currentColor;border-radius:2px;position:relative;transition:transform .25s var(--ease)}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";position:absolute;left:0}
.nav-toggle .bars::before{top:-7px}.nav-toggle .bars::after{top:7px}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{transform:translateY(-7px) rotate(-45deg)}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav a{display:block;padding:12px 4px;color:var(--ink);text-decoration:none;font-weight:700}
.site-nav a[aria-current="page"]{color:var(--tomato-ink);text-decoration:underline;text-decoration-thickness:2px}
.site-nav a:hover{color:var(--tomato-ink)}
@media (max-width:819px){
  .js .site-nav{position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--line);padding:4px var(--gut) 16px;display:none}
  .js .site-nav.open{display:block}
  .site-nav li{border-top:1px solid var(--line)}
  html:not(.js) .nav-toggle{display:none}
  html:not(.js) .head-row{flex-wrap:wrap}
  html:not(.js) .site-nav ul{display:flex;flex-wrap:wrap;gap:0 16px}
}
@media (min-width:820px){
  .nav-toggle{display:none}
  .site-nav ul{display:flex;gap:28px}
}

/* hero */
.hero{padding:clamp(28px,6vw,72px) 0 clamp(48px,8vw,96px);overflow:hidden}
.hero-grid{display:grid;gap:8px;align-items:center}
.hero h1 em{font-style:normal;color:var(--tomato-ink);display:inline-block}
.hero-art{order:-1;width:132px;margin:0 0 6px}
@media (min-width:900px){
  .hero-grid{grid-template-columns:1.1fr .9fr;gap:40px}
  .hero-art{order:0;width:100%;max-width:500px;margin:0 0 0 auto}
}
.mark{overflow:visible}
.mark .m-plate,.mark .m-fork,.mark .m-bar,.mark .m-bubble{transform-box:fill-box}
.js .mark:not(.play) .m-plate,.js .mark:not(.play) .m-fork,.js .mark:not(.play) .m-bar,.js .mark:not(.play) .m-bubble{opacity:0}
.mark.play .m-plate{animation:plateIn .8s var(--spring) both;transform-origin:50% 50%}
.mark.play .m-ring{stroke-dasharray:860;stroke-dashoffset:860;animation:draw 1.1s .25s var(--ease) forwards}
.mark.play .m-fork{animation:forkDrop .7s .45s var(--spring) both;transform-origin:50% 100%}
.mark.play .m-bar{animation:barUp .65s var(--spring) both;transform-origin:50% 100%}
.mark.play .m-bar:nth-child(1){animation-delay:.6s}.mark.play .m-bar:nth-child(2){animation-delay:.7s}.mark.play .m-bar:nth-child(3){animation-delay:.8s}.mark.play .m-bar:nth-child(4){animation-delay:.9s}
.mark.play .m-bubble{animation:pop .6s 1.2s var(--spring) both;transform-origin:30% 100%}

@keyframes plateIn{from{opacity:0;transform:scale(.6) rotate(-25deg)}to{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes forkDrop{from{opacity:0;transform:translateY(-120px) rotate(-18deg)}to{opacity:1;transform:none}}
@keyframes barUp{from{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(.3) rotate(-8deg)}to{opacity:1;transform:none}}
@keyframes hiBreath{0%,100%{transform:none}50%{transform:scaleY(1.08)}}
@keyframes forkWiggle{0%,90%,100%{transform:none}93%{transform:rotate(-6deg)}96%{transform:rotate(4deg)}}

/* proof strip */
.proof{padding:0 0 clamp(40px,7vw,80px)}
.proof-grid{display:grid;gap:14px}
@media (min-width:760px){.proof-grid{grid-template-columns:repeat(3,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.stat .big{font-family:var(--serif);font-weight:700;font-size:clamp(2rem,6vw,2.6rem);line-height:1;margin:0 0 .3em;color:var(--ink);font-variant-numeric:tabular-nums}
.stat .big .to{color:var(--sage-ink)}
.stat p{margin:0 0 .5em}

/* photo demo */
.demo{background:var(--ink);color:#F4EEE2}
.demo h2{color:#fff}
.demo .kicker{color:var(--butter)}
.demo .lead{color:#D9D2C4}
.demo a{color:var(--butter)}
.demo .fine,.demo .src{color:#BFC6CC}
.demo-grid{display:grid;gap:28px;margin-top:28px;align-items:start}
@media (min-width:900px){.demo-grid{grid-template-columns:1.05fr .95fr;gap:48px}}
.stage{position:relative;background:#26343F;border-radius:22px;padding:18px 18px 22px;overflow:hidden}
.stage svg{width:100%;height:auto}
.ai-bubble{position:absolute;left:16px;top:16px;max-width:62%;background:#fff;color:var(--ink);border-radius:16px 16px 16px 4px;padding:10px 14px;font-weight:700;font-size:.95rem;box-shadow:0 6px 0 rgba(0,0,0,.18)}
.ai-bubble small{display:block;font-weight:400;color:var(--soft);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.readouts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.readout{border-radius:14px;padding:12px 14px;background:#33424E}
.readout .lbl{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#C9D0D5;margin:0}
.readout .val{font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,6vw,2.5rem);line-height:1.05;margin:.1em 0 0;font-variant-numeric:tabular-nums;color:#fff}
.readout.scale{background:var(--butter);color:var(--ink)}
.readout.scale .lbl{color:#5b4a14}
.readout.scale .val{color:var(--ink)}
.readout.scale.bump{animation:bump .35s var(--ease)}
@keyframes bump{40%{transform:translateY(3px) scale(.98)}}
.hidden-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border-radius:12px;border:2px solid #4A5966;background:transparent;color:#fff;font:700 1rem/1.3 var(--sans);text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.toggle:hover{border-color:var(--butter)}
.toggle .plus{flex:0 0 auto;font-family:var(--serif);color:var(--butter);font-size:1.05rem}
.toggle[aria-pressed="true"]{background:var(--butter);border-color:var(--butter);color:var(--ink)}
.toggle[aria-pressed="true"] .plus{color:var(--tomato-ink)}
.demo-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.demo .btn{background:var(--butter);color:var(--ink);border-color:var(--butter)}
.demo .btn:hover{background:#fff;border-color:#fff}
.demo .btn.ghost{background:transparent;color:#fff;border-color:#6B7984}
.demo .btn.ghost:hover{border-color:#fff}
.verdict{min-height:3.2em;font-family:var(--serif);font-size:1.25rem;line-height:1.3;color:#fff;margin:0 0 14px}
.verdict b{color:var(--butter)}
.helps{background:#26343F;border-left:4px solid var(--sage);border-radius:10px;padding:14px 16px;margin-top:8px}
.helps p{margin:0 0 .4em}
.js .drop{opacity:0}
.js .drop.fall{animation:fall .7s var(--ease) forwards}
.js .drop.on{opacity:1}
@keyframes fall{0%{opacity:0;transform:translateY(-140px)}60%{opacity:1}80%{transform:translateY(6px)}100%{opacity:1;transform:none}}
.plate-g.shake{animation:shake .35s ease}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

.demo :focus-visible{outline-color:var(--butter)}
.demo-note{margin:12px 2px 0;font-size:.8125rem;color:#C9D0D5}
.buy-note{margin-top:12px}
.kits-home{padding:0 0 clamp(56px,10vw,104px)}
.kits-grid.one{grid-template-columns:1fr;max-width:860px}
input[aria-invalid="true"]{border-color:var(--tomato-ink);background:#FFF6F3}
.sample{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;margin-top:20px}
@media (min-width:760px){.sample{padding:32px}}
.sample h3{margin-top:1.2em}
.sample-res{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:14px 0}

[hidden]{display:none!important}
.uses{list-style:none;padding:0;margin:0 0 .4em;display:grid;gap:8px;max-width:38em}
.uses li{padding-left:18px;position:relative}
.uses li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--tomato)}
.kit-head{display:grid;gap:22px;align-items:center}
.kit-head-img{display:none}
@media (min-width:900px){.kit-head{grid-template-columns:1.4fr .6fr;gap:48px}.kit-head-img{display:block}.kit-head-img img{border-radius:10px;border:1px solid var(--line);box-shadow:0 22px 40px -26px rgba(30,42,51,.6);transform:rotate(2deg)}}
.calc-settings{display:grid;gap:10px;margin-top:16px}
.btn.small{min-height:44px;padding:.5em 1em;font-size:.9rem}
.result-sum p + p{font-size:.9rem;color:#D3D9DD;margin-top:.35em}
.tool-head{padding-bottom:4px}
.sample-toggle summary{font-size:1.05rem}
.sample-toggle[open] summary{margin-bottom:6px}
@media (max-width:639px){
  .kit{gap:14px}
  .kits-home .kit-cover{display:none}
  .kits-home .kit h3{font-size:1.4rem}
  .demo-grid{gap:18px;margin-top:18px}
}

.worked{background:var(--ink);color:#EDE7DA;border-radius:22px;padding:22px}
@media (min-width:640px){.worked{padding:28px}}
.worked .kicker{color:var(--butter)}
.worked a{color:var(--butter)}
.worked .src{color:#BFC6CC}
.w-out{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.w-out div{background:#2A3843;border-radius:12px;padding:10px 12px}
.w-out dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#C9D0D5}
.w-out dd{margin:0;font-family:var(--serif);font-weight:700;font-size:1.6rem;color:#fff;font-variant-numeric:tabular-nums}
.w-check{background:#2A3843;border-left:4px solid var(--butter);border-radius:8px;padding:10px 12px;font-size:.92rem}
.w-check b{color:var(--butter)}

.kbar{display:flex;height:30px;margin-top:12px;border-radius:8px;overflow:hidden;background:#33424E}
.kseg{display:block;height:100%;width:0;transition:width .6s var(--ease)}
.kseg.base{width:var(--w);background:#56646F;display:flex;align-items:center;padding-left:10px;color:#fff;font-size:.78rem;white-space:nowrap}
.kseg.on{width:var(--w)}
.kseg[data-item="oil"]{background:#C9A227}
.kseg[data-item="butter"]{background:#FFF1A8}
.kseg[data-item="cheese"]{background:#FFFDF2}
html:not(.js) .kseg{width:var(--w)}
.copy-status{display:block;font-size:.85rem;color:var(--sage-ink);margin-top:6px;min-height:1.2em}
.kits-grid{align-items:start}
.pick-field{margin:10px 0 2px}
.pick-field select{width:100%;max-width:420px}
.kit-head-mob{display:block;max-width:220px;text-decoration:none;color:var(--soft);font-size:.85rem}
.kit-head-mob img{border-radius:8px;border:1px solid var(--line);box-shadow:0 14px 26px -18px rgba(30,42,51,.6);margin-bottom:6px}
@media (min-width:900px){.kit-head-mob{display:none}}

.w-out dd small{display:block;font-family:var(--sans);font-weight:400;font-size:.72rem;color:#C9D0D5;line-height:1.3;margin-top:2px}
.w-more summary{cursor:pointer;font-weight:700;color:var(--butter);min-height:44px;display:flex;align-items:center}
.w-more[open] summary{margin-bottom:6px}
.worked :focus-visible{outline-color:var(--butter)}
.why-buy{margin-top:22px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 18px 8px}
.why-h{font-size:1.15rem;line-height:1.25;margin-bottom:.6em}
.why-list{margin:0 0 .6em;padding-left:1.3em}
.why-list li{margin:.35em 0}
.klegend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 14px;padding:0;margin:8px 2px 0;font-size:.8rem;color:#8E9BA5}
.klegend li::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:#4A5966}
.klegend li.on{color:#fff}
.klegend li[data-item="oil"].on::before{background:#C9A227}
.klegend li[data-item="butter"].on::before{background:#FFF1A8}
.klegend li[data-item="cheese"].on::before{background:#FFFDF2}
html:not(.js) .klegend li{color:#fff}

.result-sum a{color:var(--butter)}
.result-sum :focus-visible{outline-color:var(--butter)}
[id]{scroll-margin-top:84px}
@media (min-width:900px){.kits-home .kits-grid{grid-template-columns:1fr 1fr}}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:18px 0 0}
.chips li{font-size:.88rem;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--sage-bg);border:1px solid #CDDCCC;color:var(--sage-ink)}
.why-buy{margin:18px 0 0;background:none;border:0;padding:0}
.why-h{font-family:var(--sans);font-size:.95rem;font-weight:400;margin:0}
.srccell{font-size:.8rem;line-height:1.45;min-width:150px}
.srccell span{color:var(--soft)}
.store-note{color:var(--tomato-ink);font-weight:700}
.calc-kit{margin-top:10px}

.reasons{margin:16px 0 0;font-size:1rem;color:#2c3a44;max-width:36em}
.steps3{margin:12px 0 0;padding-left:1.3em;font-size:.95rem}
.buy-note + .uses,.excerpt + .uses{margin-top:18px}
.steps3 li{margin:.2em 0}
@media (max-width:899px){.hero-art{order:2;width:150px;margin:28px 0 0}}
@media (max-width:899px){.hero-art{order:2;width:100%;max-width:420px;margin:26px 0 0}}
@media (max-width:1199px){.kits-home .kit{grid-template-columns:1fr}.kits-home .kit-cover{display:none}}
.calc-kit{margin:0 0 10px}

/* hero demo */
.hero-demo{margin:0}
.hd-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 16px 14px;box-shadow:0 22px 40px -28px rgba(30,42,51,.55)}
.hd-who{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin:0 0 6px;font-weight:700}
.hd-table{font-size:.95rem}
.hd-table th,.hd-table td{padding:7px 6px;border-bottom:1px solid #EFE7D7;background:none;text-transform:none;letter-spacing:0;color:var(--ink);font-size:.95rem}
.hd-table th{font-weight:700;text-align:left}
.hd-table td:nth-child(2){font-variant-numeric:tabular-nums;white-space:nowrap}
.hd-old{color:#5F6B74;text-decoration-thickness:2px;text-decoration-color:var(--tomato)}
.hd-new{color:var(--sage-ink);font-weight:700}
.hd-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:5px;background:var(--butter);color:#5b4a14}
.hd-tag.ok{background:var(--sage-bg);color:var(--sage-ink)}
.hd-you{margin:12px 0 10px;background:var(--sage-bg);border-radius:12px 12px 4px 12px;padding:9px 12px;font-size:.92rem}
.hd-you span{font-weight:700;color:var(--sage-ink)}
.hd-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hd-totals > div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-family:var(--serif);font-size:1.25rem}
.hd-totals .hd-l{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.hd-totals .hd-old{font-size:1rem}
.hd-cap{font-size:.85rem;color:var(--soft);margin-top:10px;line-height:1.45}
.hd-replay{border:0;background:none;color:var(--tomato-ink);font:700 .85rem var(--sans);text-decoration:underline;cursor:pointer;padding:6px 2px;min-height:32px}
/* animated states (only when JS runs and motion is allowed) */
.hero-demo.anim.s0 .hd-new,.hero-demo.anim.s0 .hd-you{opacity:0}
.hero-demo.anim.s0 .hd-old{text-decoration-color:transparent;color:var(--ink)}
.hero-demo.anim.s0 .hd-totals .hd-new{opacity:1}
.hero-demo.anim.s0 .hd-totals .hd-old{display:none}
.hero-demo.anim.s1 .hd-tag:not(.ok){animation:tagPulse .9s var(--ease) 1;box-shadow:0 0 0 3px rgba(196,83,59,.35)}
.hero-demo.anim.s2 .hd-you{opacity:1;animation:youIn .5s var(--spring) both}
.hero-demo.anim.s3 .hd-new{opacity:1;transition:opacity .4s}
.hero-demo.anim.s3 .hd-old{text-decoration-color:var(--tomato);color:#5F6B74;transition:color .4s,text-decoration-color .4s}
.hero-demo.anim.s3 .hd-totals .hd-old{display:inline}
@keyframes tagPulse{0%{transform:scale(1)}40%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes youIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* kits excerpt */
.excerpt{margin:18px 0 0;background:#fff;border:1px solid var(--line);border-left:5px solid var(--tomato);border-radius:12px;padding:14px 16px}
.excerpt-h{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--tomato-ink);margin:0 0 8px}
.excerpt-pre{white-space:pre-wrap;word-wrap:break-word;margin:0;font:.95rem/1.55 var(--sans)}
.excerpt .ph{background:var(--butter);color:#7a2e1c;font-weight:700;border-radius:3px;padding:0 2px}
.excerpt-more{font-size:.9rem;color:var(--soft);margin:10px 0 0}
.calc-daily{margin:-4px 0 12px;font-weight:700;font-size:.95rem}

.hd-who span{font-weight:400;letter-spacing:0;text-transform:none}
.pick-field{margin-top:16px}

/* all kits */
.kitgrid{display:grid;gap:16px;margin-top:24px}
@media (min-width:640px){.kitgrid{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.kitgrid{grid-template-columns:repeat(4,1fr)}}
.kcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}
.kcard img,.bundle img,.starter-art img{width:100%;height:auto;background:var(--paper);border-bottom:1px solid var(--line)}
.kcard-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.kcard-body h3{font-size:1.3rem;margin-bottom:.35em}
.kcard-body p{margin:0 0 .6em;font-size:.97rem}
.kcard-use{font:700 .72rem/1 var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--tomato-ink);margin-bottom:8px!important}
.kcard-meta{color:var(--soft);font-size:.875rem!important}
.kcard-buy{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:6px}
.kprice{font-family:var(--serif);font-weight:700;font-size:1.5rem}
.coupon{margin:4px 0 12px!important;font-size:.85rem!important;background:var(--butter-bg);border:1px dashed #CDB25F;border-radius:10px;padding:8px 10px}
.bundle{display:grid;gap:0;margin-top:16px;background:var(--card);border:2px solid var(--ink);border-radius:18px;overflow:hidden}
@media (min-width:760px){.bundle{grid-template-columns:1fr 1fr;align-items:center}.bundle img{border-bottom:0;border-right:1px solid var(--line)}}
.bundle-body{padding:18px 20px 20px}
.bundle-body h3{font-size:1.6rem}
.bundle-math{font-size:1rem;background:var(--sage-bg);border-radius:10px;padding:10px 12px;margin:0 0 12px}
.kits-note{margin-top:12px}
.proof-row{display:grid;gap:18px;margin-top:clamp(40px,7vw,72px);align-items:start}
@media (min-width:900px){.proof-row{grid-template-columns:.8fr 1.2fr;gap:40px}}
.starter-art{max-width:420px}
.signup-grid{align-items:center}
.starter-art img{border:1px solid var(--line);border-radius:14px}
.h1-like{font-size:clamp(2.1rem,7vw,3.6rem)}
.page-head.closer{border-top:1px solid var(--line);margin-top:12px}

@media (max-width:639px){.kcard img{aspect-ratio:16/7;object-fit:cover;object-position:88% 40%}}
.kcard-buy{margin-top:auto}

/* thirty grams: objects */
.objects-head{max-width:40em}
.tabs{display:flex;flex-wrap:wrap;gap:8px;padding:4px 2px 10px;margin:22px -2px 6px}
.tab{flex:0 0 auto;min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:700 .95rem/1 var(--sans);cursor:pointer}
.tab:hover{border-color:var(--ink)}
.tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.obj-panel{display:grid;gap:20px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px}
@media (min-width:860px){.obj-panel{grid-template-columns:1.25fr .75fr;padding:32px;align-items:center}}
.obj-equation{font-family:var(--serif);font-weight:700;font-size:clamp(1.6rem,5vw,2.4rem);line-height:1.1;margin:0 0 .4em}
.obj-equation .q{color:var(--sage-ink)}
.obj-stage{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;min-height:90px;margin-top:8px}
.obj{width:clamp(44px,12vw,68px)}
.obj svg{width:100%;height:auto}
.obj.part{position:relative}
.obj.part .ghost{display:block;opacity:.22}
.obj.part .cut{position:absolute;inset:0}
.js .obj{opacity:0;transform:translateY(-40px) scale(.7)}
.obj.in{opacity:1;transform:none;transition:opacity .3s,transform .5s var(--spring)}
.obj-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fact{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.fact .n{font-family:var(--serif);font-weight:700;font-size:1.7rem;line-height:1.05;margin:0;font-variant-numeric:tabular-nums}
.fact .l{font-size:.85rem;color:var(--soft);margin:.2em 0 0}
.fact.warn .n{color:var(--tomato-ink)}
.obj-note{grid-column:1/-1;margin:0}
details.table-alt{margin-top:14px}
details.table-alt summary{cursor:pointer;font-weight:700;padding:8px 0;min-height:44px;display:flex;align-items:center;gap:10px;list-style:none}
details summary::-webkit-details-marker{display:none}
details.table-alt summary::before,details.faq summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--ink);font:700 1rem/1 var(--sans);flex:0 0 auto;transition:transform .2s}
details[open].table-alt summary::before,details[open].faq summary::before{transform:rotate(45deg)}
details.faq summary{display:flex;align-items:center;gap:10px;list-style:none}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);background:var(--butter-bg)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tr:last-child td{border-bottom:0}

/* kits */
.kits-grid{display:grid;gap:18px;margin-top:26px}
@media (min-width:900px){.kits-grid{grid-template-columns:1.6fr 1fr}}
.kit{display:grid;gap:22px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px}
@media (min-width:640px){.kit{grid-template-columns:200px 1fr;padding:28px}}
.kit-cover{aspect-ratio:3/4;border-radius:10px;background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 28px -16px rgba(30,42,51,.45);padding:14px 12px;position:relative;overflow:hidden;transform:rotate(-2deg);transition:transform .4s var(--spring);max-width:220px;width:100%}
@media (max-width:639px){.kit-cover{max-width:150px}}
.kit:hover .kit-cover{transform:rotate(0) translateY(-4px)}
.kit-cover .kc-brand{font:700 .55rem/1 var(--sans);letter-spacing:.16em;color:var(--tomato-ink);text-transform:uppercase}
.kit-cover svg{width:72%;margin:10px 0 0 auto}
.kit-cover .kc-title{font-family:var(--serif);font-weight:700;font-size:1.25rem;line-height:1.02;position:absolute;left:12px;bottom:14px;right:10px}
.kit h3{font-size:1.6rem;margin-bottom:.3em}
.ticks{list-style:none;padding:0;margin:0 0 1em}
.ticks li{position:relative;padding:4px 0 4px 28px}
.ticks li::before{content:"";position:absolute;left:2px;top:.6em;width:14px;height:8px;border-left:3px solid var(--sage);border-bottom:3px solid var(--sage);transform:rotate(-45deg)}
.price{font-family:var(--serif);font-weight:700;font-size:2rem;margin:0}
.price small{font-family:var(--sans);font-weight:400;font-size:.95rem;color:var(--soft);display:inline-block;line-height:1.3;vertical-align:middle;max-width:16em}
.kit .btn-row{margin-top:.8em;align-items:center}
.slot{border:2px dashed #CDBF9F;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:center;background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(227,216,195,.25) 14px 28px)}
.slot .tag{align-self:flex-start;font:700 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--butter);padding:6px 10px;border-radius:6px;margin-bottom:12px}

/* bars (tool teaser) */
.bars-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.bar-row{display:grid;grid-template-columns:minmax(110px,30%) 1fr;gap:12px;align-items:center}
.bar-name{font-weight:700;font-size:.95rem;line-height:1.2}
.bar-track{position:relative;height:38px;background:#F1EADB;border-radius:8px;overflow:hidden}
.bar-track{display:block;padding-right:4.6em;background:none!important;overflow:visible!important}
.bar-fill{display:block;position:relative;height:100%;width:var(--w);background:var(--ink);border-radius:8px}
.bar-val{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin-left:8px;color:var(--ink);font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.bar-row.hi .bar-fill{background:var(--tomato-ink)}
.js .bars-list:not(.in) .bar-fill{width:0}
.js .bars-list:not(.in) .bar-val{opacity:0}
.bars-list.in .bar-val{transition:opacity .4s .9s}
.bars-list.in .bar-fill{transition:width 1s var(--ease),color .3s .8s}
.bars-list.in .bar-row:nth-child(2) .bar-fill{transition-delay:.08s,.88s}
.bars-list.in .bar-row:nth-child(3) .bar-fill{transition-delay:.16s,.96s}
.bars-list.in .bar-row:nth-child(4) .bar-fill{transition-delay:.24s,1.04s}
.bars-list.in .bar-row:nth-child(5) .bar-fill{transition-delay:.32s,1.12s}
.bars-list.in .bar-row:nth-child(6) .bar-fill{transition-delay:.4s,1.2s}
.bar-kcal{font-size:.85rem;color:var(--soft);grid-column:2;margin-top:-6px}
.bar-kcal b{color:var(--tomato-ink)}
.tool-grid{display:grid;gap:26px}
@media (min-width:900px){.tool-grid{grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}}

/* myth cards */
.cards{display:grid;gap:16px;margin-top:26px}
@media (min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(30,42,51,.5)}
.card .myth{font:700 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tomato-ink);margin-bottom:10px}
.card h2 a,.card h3 a{color:var(--ink);text-decoration:none}
.card h2 a::after,.card h3 a::after{content:"";position:absolute;inset:0;border-radius:18px}
.card h2 a:focus-visible,.card h3 a:focus-visible{outline:none}
.card:focus-within{outline:3px solid var(--ink);outline-offset:3px}
.card .big{font-family:var(--serif);font-weight:700;font-size:2.2rem;color:var(--sage-ink);margin:auto 0 0;line-height:1}
.card .big + p{margin:.3em 0 0;font-size:.9rem;color:var(--soft)}

/* signup */
.signup{background:var(--sage-bg);border-top:1px solid #D3DFD2;border-bottom:1px solid #D3DFD2}
.signup-grid{display:grid;gap:22px;align-items:end}
@media (min-width:900px){.signup-grid{grid-template-columns:1fr 1fr;gap:48px}}
.signup h2{font-size:clamp(1.6rem,4.4vw,2.3rem)}
.signup label{display:block;font-weight:700;margin-bottom:6px}
.signup-row{display:flex;flex-wrap:wrap;gap:10px}
.signup-row input{flex:1 1 220px}
input[type=email],input[type=text],input[type=number],select{min-height:48px;padding:10px 14px;border:2px solid #667780;border-radius:12px;background:#fff;color:var(--ink);font:1rem/1.2 var(--sans);width:100%}
input:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.signup-note{margin-top:10px}
.signup-note.err{color:var(--tomato-ink)}

/* how we work */
.how-grid{display:grid;gap:16px;margin-top:22px}
@media (min-width:760px){.how-grid{grid-template-columns:repeat(3,1fr)}}
.how{border-top:3px solid var(--ink);padding-top:14px}
.how h3{font-size:1.15rem}

/* article */
.article{padding-top:clamp(28px,6vw,64px)}
.prose{max-width:42rem}
.prose h1{font-size:clamp(2.1rem,7vw,3.4rem)}
.prose h2{font-size:clamp(1.45rem,4vw,1.9rem);margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.35em 0}
.verdict-box{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin:1.6em 0}
.verdict-box .stamp{font:700 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:8px 10px;border-radius:8px;background:var(--tomato-ink);color:#fff;transform:rotate(-4deg)}
.verdict-box .stamp.ok{background:var(--sage-ink)}
.verdict-box p{margin:0}
.compare{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:1.4em 0}
.compare > div{border-radius:14px;padding:16px;border:1px solid var(--line);background:var(--card)}
.compare .bad{background:var(--tomato-bg);border-color:#EDC4B9}
.compare .good{background:var(--sage-bg);border-color:#CDDCCC}
.compare .n{font-family:var(--serif);font-weight:700;font-size:clamp(1.6rem,6vw,2.2rem);line-height:1;margin:.2em 0}
.compare .l{font-size:.85rem;color:var(--soft);margin:0}
.prompt-box{background:#fff;border:1px solid var(--line);border-left:5px solid var(--tomato);border-radius:10px;padding:14px 16px;margin:1em 0;position:relative}
.prompt-box pre{white-space:pre-wrap;word-wrap:break-word;margin:0;font:1rem/1.55 var(--sans)}
.copy-btn{margin-top:10px;min-height:40px;padding:6px 14px;border-radius:999px;border:2px solid var(--ink);background:transparent;font:700 .9rem/1 var(--sans);cursor:pointer;color:var(--ink)}
.copy-btn:hover{background:var(--ink);color:#fff}
.sources{border-top:1px solid var(--line);margin-top:2.4em;padding-top:1.2em}
.sources ol{padding-left:1.2em;font-size:.9rem;color:var(--soft)}
.back{display:inline-block;margin-bottom:1.2em;font-weight:700}
.next-myth{margin-top:2em;background:var(--butter-bg);border:1px solid #EBD9A0;border-radius:14px;padding:16px 18px}
.next-myth p{margin:0}

/* placeholders the owner fills */
.owner{background:#FFF3B0;outline:2px dashed #B08B00;padding:0 .25em;border-radius:3px;color:#3d3000;font-weight:700}

/* page head (inner pages) */
.page-head{padding:clamp(28px,6vw,64px) 0 clamp(18px,4vw,32px)}
.page-head h1{font-size:clamp(2.1rem,7vw,3.6rem)}

/* calculator */
.calc-controls{display:grid;gap:12px 16px;margin:12px 0 16px;grid-template-columns:auto 1fr}
.calc-controls .field:nth-child(3){grid-column:1/-1}
.uses .fine{white-space:nowrap}
@media (min-width:760px){.calc-controls{grid-template-columns:repeat(3,auto);align-items:end;justify-content:start;gap:16px}.calc-controls .field:nth-child(3){grid-column:auto}}
.field label,.field .lab{display:block;font-weight:700;font-size:.9rem;margin-bottom:4px}
.field input,.field select{width:auto;min-width:120px}
.seg{display:inline-flex;border:2px solid var(--ink);border-radius:999px;padding:2px;gap:2px}
.seg button{border-radius:999px}
.seg button{min-height:44px;padding:8px 14px;border:0;background:transparent;font:700 .9rem/1 var(--sans);color:var(--ink);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.calc-table td{vertical-align:middle}
.calc-table .food{font-weight:700;line-height:1.25}
.calc-table .food small{display:block;font-weight:400;color:var(--soft);font-size:.78rem}
.calc-table input{width:96px;min-height:44px;padding:8px 10px}
.calc-table select{width:auto;min-height:44px;padding:8px 8px;font-size:.9rem}
.price-cell{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.cost{font-family:var(--serif);font-weight:700;font-size:1.15rem}
.mini-track{height:8px;width:100%;max-width:140px;border-radius:4px;background:#ECE4D3;margin:6px 0 0 auto;overflow:hidden}
.mini-bar{height:100%;border-radius:4px;background:var(--ink);transition:width .5s var(--ease)}
.toolbar{display:grid;gap:4px;margin:6px 0 4px}
details.tool-more{border-bottom:1px solid var(--line)}
details.tool-more summary{cursor:pointer;font-weight:700;padding:10px 0;min-height:48px;display:flex;align-items:center;gap:10px;list-style:none}
details.tool-more summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--ink);font:700 1rem/1 var(--sans);flex:0 0 auto;transition:transform .2s}
details[open].tool-more summary::before{transform:rotate(45deg)}
details.tool-more .addfood{margin:6px 0 14px}
details.tool-more .btn-row{margin-bottom:14px!important}
.more-btn{margin-top:12px}
@media (max-width:759px){
  .mini-track{margin-left:0}
  .calc-table tr{display:grid!important;grid-template-columns:1fr 1fr;gap:2px 12px}
  .calc-table td.food,.calc-table td[data-l="Your price"]{grid-column:1/-1}
  .calc-table .cost{font-size:1.05rem}
}
.mini-bar.kc{background:var(--tomato)}
.best{background:var(--sage-bg)}
.badge{display:inline-block;font:700 .68rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;background:var(--sage-ink);color:#fff;padding:4px 7px;border-radius:5px;margin-left:6px;vertical-align:2px}
.badge.est{background:#8A6D00}
.empty{color:var(--soft);font-size:.9rem}
.addfood{display:grid;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:22px}
@media (min-width:760px){.addfood{grid-template-columns:repeat(5,1fr) auto;align-items:end}}
.addfood .field input{width:100%;min-width:0}
.rm{border:0;background:none;color:var(--tomato-ink);font-weight:700;cursor:pointer;min-height:44px;padding:0 6px;text-decoration:underline}
.result-sum{background:var(--ink);color:#fff;border-radius:16px;padding:16px 18px;margin:18px 0}
.result-sum p{margin:0}
.result-sum b{color:var(--butter)}
@media (max-width:759px){
  .calc-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .calc-table,.calc-table tbody,.calc-table tr,.calc-table td{display:block;width:100%}
  .calc-table tr{border-bottom:1px solid var(--line);padding:12px 12px 10px}
  .calc-table td{border:0;padding:4px 0}
  .calc-table td[data-l]::before{content:attr(data-l);display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
  .calc-table td.num{text-align:left}
  .calc-table .two-up{display:inline-block;width:49%}
}

/* 404 */
.lost{text-align:center;padding:clamp(40px,10vw,110px) 0}
.lost .plate404{width:min(70vw,280px);margin:0 auto 18px}
.lost .plate404 .fork404{transform-origin:50% 100%;transform-box:fill-box;animation:forkWiggle 2.6s ease-in-out 2}


/* kits page */
.pages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
@media (min-width:900px){.pages-grid{grid-template-columns:repeat(4,1fr);gap:20px}}
.page-shot{display:block;text-decoration:none;color:var(--ink)}
.page-shot img{border-radius:8px;border:1px solid var(--line);box-shadow:0 16px 30px -22px rgba(30,42,51,.6);transition:transform .3s var(--spring);background:#fff;width:100%}
.page-shot:hover img{transform:translateY(-4px) rotate(-.6deg)}
.page-shot span{display:block;font-weight:700;font-size:.9rem;margin-top:8px;line-height:1.3}
.kit-two{display:grid;gap:30px}
@media (min-width:900px){.kit-two{grid-template-columns:1fr 1fr;gap:56px}}
.kit-two h2{font-size:clamp(1.5rem,4vw,2rem)}
.prompt-list{padding:0;margin:0;list-style:none;counter-reset:n}
.prompt-list li{counter-increment:n;position:relative;padding:9px 0 9px 46px;border-bottom:1px solid var(--line)}
.prompt-list li::before{content:counter(n);position:absolute;left:0;top:7px;width:32px;height:32px;border-radius:50%;background:var(--tomato-ink);color:#fff;font:700 .95rem/32px var(--serif);text-align:center}
details.faq{border-bottom:1px solid var(--line)}
details.faq summary{cursor:pointer;font-weight:700;padding:14px 0;min-height:48px;list-style-position:outside}
details.faq p{margin:0 0 14px}

/* footer */
.site-foot{background:#F3ECDD;border-top:1px solid var(--line);padding:40px 0 28px;margin-top:0}
.foot-grid{display:grid;gap:20px}
@media (min-width:760px){.foot-grid{grid-template-columns:1.2fr 1fr}}
.foot-brand{font-size:1.3rem;margin-bottom:.4em}
.foot-links{list-style:none;padding:0;margin:0;display:grid;gap:2px}
@media (min-width:500px){.foot-links{grid-template-columns:1fr 1fr}}
.foot-links a{display:inline-block;padding:8px 0;color:var(--ink);overflow-wrap:anywhere}
.foot-base{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}

/* reveal */
.js .reveal{opacity:0;transform:translateY(22px)}
.js .reveal.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .js .reveal,.js .obj,.js .mark:not(.play) .m-plate,.js .mark:not(.play) .m-fork,.js .mark:not(.play) .m-bar,.js .mark:not(.play) .m-bubble{opacity:1!important;transform:none!important}
  .js .bars-list:not(.in) .bar-fill{width:var(--w)}
  .js .bars-list:not(.in) .bar-val{opacity:1}
  .mark.play .m-ring{stroke-dashoffset:0}
}
@media print{.site-head,.site-foot,.signup,.nav-toggle{display:none}body{background:#fff}}
