:root{
--ink:#14170F;--ink-2:#3A402F;--ink-3:#6A705C;
--paper:#EDEEE9;--paper-2:#E3E5DC;--line:#C9CCBE;--white:#FAFAF7;
--roots:#4F6B2A;--remedies:#7A2E4A;--rescue:#1F5E6B;
--display:"Quicksand",system-ui,sans-serif;--body:"Newsreader",Georgia,serif;
--mx:min(1180px,92vw);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:19px;line-height:1.55;text-wrap:pretty}
h1,h2,h3,h4,.dsp{font-family:var(--display);font-weight:500;letter-spacing:-.01em;line-height:1.05;margin:0}
p{margin:0 0 1em}
a{color:var(--rescue);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--rescue);outline-offset:3px}
.wrap{width:var(--mx);margin:0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--white);padding:.6em 1em;z-index:99}
.skip:focus{left:8px;top:8px}

/* topbar */
.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{width:var(--mx);margin:0 auto;display:flex;align-items:center;gap:24px;min-height:66px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);min-width:0}
.brand .mark{width:42px;height:42px;flex:none;background:#F7F3EA;border:1px solid var(--line)}
.brand b{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.005em;white-space:nowrap}
.brand span{font-size:14px;color:var(--ink-3);white-space:nowrap}
.nav{display:flex;gap:clamp(10px,1.6vw,26px);margin-left:auto;align-items:center;min-width:0;font-family:var(--display);font-weight:500;font-size:15px}
.nav a{color:var(--ink-2);text-decoration:none;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:var(--ink);border-color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:15px;background:var(--ink);color:var(--white);text-decoration:none;padding:11px 20px;border-radius:999px;border:1px solid var(--ink);white-space:nowrap}
.btn:hover{background:var(--roots);border-color:var(--roots);color:var(--white)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn.lg{font-size:17px;padding:15px 28px}
.btn[aria-disabled=true]{background:var(--paper-2);color:var(--ink-3);border-color:var(--line);cursor:default}
@media(max-width:1040px){.nav{display:none}.top-in{gap:14px}}

/* sections */
main{display:block}
section{padding:clamp(56px,7vw,104px) 0;border-top:1px solid var(--line)}
section:first-child{border-top:0}
.lead{font-size:clamp(20px,2.1vw,23px);color:var(--ink-2);max-width:62ch}
.kicker{font-family:var(--display);font-weight:600;font-size:14px;color:var(--ink-3)}
h2.big{font-size:clamp(30px,4.2vw,52px);max-width:22ch}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(28px,4vw,52px)}
@media(max-width:820px){.head{grid-template-columns:1fr;align-items:start}}

/* track chips + ring */
.tk{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.02em;color:var(--tc,var(--ink-2));text-decoration:none}
.tk::before{content:"";width:13px;height:13px;border-radius:50%;border:3px solid var(--tc,var(--ink-3));border-right-color:transparent;transform:rotate(-40deg)}
.t-roots{--tc:var(--roots)}.t-remedies{--tc:var(--remedies)}.t-rescue{--tc:var(--rescue)}
.lockup{display:block;width:100%;height:auto;max-width:340px;margin:0 auto}
.tba{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.06em;color:var(--ink-3);border:1px dashed var(--line);border-radius:999px;padding:4px 12px;background:var(--white)}

/* generic blocks */
.rule{height:1px;background:var(--line);margin:0}
.grid{display:grid;gap:clamp(18px,2.4vw,30px)}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:880px){.g3{grid-template-columns:1fr}.g2{grid-template-columns:1fr}}
.card{background:var(--white);border:1px solid var(--line);padding:clamp(20px,2.4vw,30px)}
.fact dt{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.02em;color:var(--ink-3);margin-bottom:4px}
.fact dd{margin:0 0 18px;font-size:18px}
footer{background:var(--ink);color:#DDE0D2;padding:clamp(48px,6vw,80px) 0;font-size:17px}
footer a{color:#DDE0D2}
footer a:hover{color:var(--white)}
footer h3{color:var(--white);font-size:22px;margin-bottom:14px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
@media(max-width:820px){.fgrid{grid-template-columns:1fr}}
.fnav{display:grid;gap:9px;font-family:var(--display);font-size:16px}
.fnav a{text-decoration:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
