:root{
  --ink:#1B231F;
  --ink-soft:#454F49;
  --muted:#6E7A73;
  --paper:#FCFBF8;
  --card:#FFFFFF;
  --sage:#3E5B4A;
  --sage-mid:#5C7A66;
  --sage-wash:#EAF0EB;
  --amber-wash:#FAF1E0;
  --amber-ink:#7A5410;
  --rose-wash:#F8ECEA;
  --rose-ink:#8A3A2E;
  --line:#E2E6E1;
  --line-strong:#C9D1CA;
  --radius:10px;
  --wrap:min(1080px,92vw);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.4vw,3rem);letter-spacing:-.015em}
h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-top:2.4em}
h3{font-size:1.15rem;margin-top:1.8em}
p{margin:0 0 1.1em}
a{color:var(--sage);text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:4px}
.wrap{width:var(--wrap);margin:0 auto}
.narrow{max-width:720px}

header.site{border-bottom:1px solid var(--line);background:var(--card)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;flex-wrap:wrap}
.brand{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:600;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--sage-mid)}
nav.site a{font-size:.93rem;color:var(--ink-soft);text-decoration:none;margin-left:1.35rem}
nav.site a:hover{color:var(--sage);text-decoration:underline}

.eyebrow{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage-mid);font-weight:600;margin:0 0 .9rem}
.lede{font-size:1.14rem;color:var(--ink-soft);max-width:62ch}
.hero{padding:3.4rem 0 2.2rem}

.tool{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.3rem,3.4vw,2.2rem);margin:1.6rem 0 2rem}
.rail{display:flex;gap:.4rem;margin-bottom:1.7rem;flex-wrap:wrap}
.rail i{display:block;height:3px;flex:1;min-width:34px;background:var(--line-strong);border-radius:2px;transition:background .25s}
.rail i.on{background:var(--sage)}
.qnum{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.5rem}
.q{font-family:Fraunces,Georgia,serif;font-size:clamp(1.25rem,2.6vw,1.6rem);font-weight:600;line-height:1.25;margin:0 0 .5rem}
.qhint{color:var(--muted);font-size:.95rem;margin:0 0 1.3rem;max-width:56ch}
.opts{display:grid;gap:.6rem}
.opt{
  display:block;width:100%;text-align:left;cursor:pointer;
  background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);
  padding:.95rem 1.1rem;font:inherit;color:var(--ink);transition:border-color .15s,background .15s
}
.opt:hover{border-color:var(--sage);background:var(--sage-wash)}
.opt b{display:block;font-weight:600}
.opt em{display:block;font-style:normal;color:var(--muted);font-size:.9rem;margin-top:.15rem}
.backrow{margin-top:1.3rem;display:flex;gap:1rem;align-items:center}
.linkbtn{background:none;border:none;padding:0;font:inherit;font-size:.92rem;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:var(--sage)}

.result{border-left:4px solid var(--sage);background:var(--sage-wash);border-radius:0;padding:1.3rem 1.4rem;margin-bottom:1.2rem}
.result.warn{border-left-color:#B8860B;background:var(--amber-wash)}
.result.stop{border-left-color:#A6493A;background:var(--rose-wash)}
.result h3{margin:0 0 .4rem;font-size:1.3rem}
.result p:last-child{margin-bottom:0}
.tag{display:inline-block;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--sage);margin-bottom:.5rem}
.result.warn .tag{color:var(--amber-ink)}
.result.stop .tag{color:var(--rose-ink)}
.checklist{margin:0;padding-left:1.15rem}
.checklist li{margin-bottom:.5rem}

.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));margin:1.8rem 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column}
.card h3{margin:0 0 .45rem;font-size:1.1rem}
.card p{font-size:.95rem;color:var(--ink-soft);margin-bottom:1rem}
.card a.go{margin-top:auto;font-size:.93rem;font-weight:500;text-decoration:none;color:var(--sage)}
.card a.go:hover{text-decoration:underline}
.card.soon{opacity:.62}
.card.soon .go{color:var(--muted)}

table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.95rem}
th,td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;background:var(--sage-wash);font-size:.88rem}

details{border-bottom:1px solid var(--line);padding:.35rem 0}
summary{cursor:pointer;padding:.75rem 0;font-weight:500;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";color:var(--sage);font-weight:600;margin-right:.6rem}
details[open] summary::before{content:"–"}
details .body{padding:0 0 .9rem;color:var(--ink-soft);font-size:.97rem}
details .body p:last-child{margin-bottom:0}

.note{font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.1rem;margin-top:2.4rem}
footer.site{border-top:1px solid var(--line);margin-top:4rem;padding:2.2rem 0 3rem;background:var(--card)}
footer.site p{font-size:.87rem;color:var(--muted);margin-bottom:.6rem}
footer.site a{color:var(--ink-soft)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{header.site,footer.site,nav,.opts,.backrow{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
