:root{color-scheme:light;--ink:#1d342e;--muted:#53665f;--accent:#17624d;--paper:#fff;--canvas:#f5f7f3;--line:#dbe5dc;--review:#fff0c7;--review-ink:#5c4309}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font:17px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.14em}
a:focus-visible{outline:3px solid #a34510;outline-offset:5px;border-radius:2px}
.skip-link{position:absolute;top:-5rem;left:1rem;padding:.6rem 1rem;background:var(--paper);z-index:2}
.skip-link:focus{top:.5rem}
.review-banner{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1.4rem;background:var(--review);color:var(--review-ink);font-size:.84rem;line-height:1.45;border-bottom:1px solid #e4ce97}
.review-banner strong{text-transform:uppercase;font-size:.76rem;letter-spacing:.08em}
.site-header,.site-footer,main{width:min(100% - 3rem,1080px);margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:1.5rem;border-bottom:1px solid var(--line)}
.wordmark{font-size:1.1rem;font-weight:750;letter-spacing:-.025em;text-decoration:none;color:var(--ink)}
nav{display:flex;gap:1.6rem;flex-wrap:wrap;font-size:.91rem}
nav a{padding:.25rem 0;color:var(--muted);text-decoration:none}
nav a[aria-current="page"]{color:var(--accent);box-shadow:0 2px 0 var(--accent);font-weight:650}
main{padding-block:3.5rem 4rem}
.hero{max-width:850px;margin-bottom:3.7rem}
.eyebrow,.small-label{text-transform:uppercase;letter-spacing:.12em;font-size:.73rem;font-weight:750;color:var(--accent)}
h1,h2,h3{line-height:1.18;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.2rem,5.5vw,3.9rem);font-weight:720;margin:.8rem 0 1.3rem;max-width:900px}
h2{font-size:1.5rem;font-weight:700;margin:0 0 1rem}
h3{font-size:1.14rem;font-weight:700;margin:.5rem 0 .8rem}
p{margin:0 0 1.1rem}
p:last-child{margin-bottom:0}
.lead{font-size:1.12rem;line-height:1.75;color:var(--muted);max-width:770px}
.scope-note{display:grid;gap:.3rem;margin-top:1.8rem;padding:1.2rem 1.4rem;border-left:3px solid var(--accent);background:#e8f0e9;border-radius:0 8px 8px 0}
code{font: .86em/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}
.scope-note code{color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.card{padding:1.5rem;background:var(--paper);border:1px solid var(--line);border-radius:12px}
.card p{font-size:.95rem;color:var(--muted)}
.card .step{color:var(--accent);font-size:.8rem;font-weight:750;letter-spacing:.1em;margin-bottom:1.8rem}
.panel{margin-top:2.5rem;padding:2rem;background:var(--paper);border:1px solid var(--line);border-radius:12px;max-width:960px}
.panel p,.reading-links p{max-width:820px;color:var(--muted)}
.reading-links{margin-top:2.8rem;max-width:850px}
.document{max-width:820px}
.document h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.document section{margin-top:2.6rem}
.document section h2{font-size:1.35rem}
.document section p,.document li{color:var(--muted)}
ul{padding-left:1.5rem;margin:1rem 0 1.2rem}
li+li{margin-top:.75rem}
strong{color:inherit}
.review-note{margin-top:2.8rem;padding:1.5rem;background:var(--review);color:var(--review-ink);border:1px solid #e4ce97;border-radius:10px}
.review-note h2{font-size:1.15rem}
.review-note p{font-size:.95rem}
.site-footer{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:1.5rem 2rem;color:var(--muted);font-size:.8rem}
.site-footer p{margin:0}
.site-footer strong,.site-footer span{display:block;overflow-wrap:anywhere}
@media(max-width:760px){.card-grid{grid-template-columns:1fr}.card{padding:1.35rem}.card .step{margin-bottom:.7rem}.site-header,main,.site-footer{width:min(100% - 2rem,1080px)}main{padding-top:2.5rem}.hero{margin-bottom:2.5rem}.panel{padding:1.4rem}.review-banner{justify-content:flex-start;gap:.35rem}}
@media(prefers-reduced-motion:no-preference){a{transition:color .15s ease}}
@media print{body{background:#fff;color:#000;font-size:11pt}.site-header,.site-footer,main{width:100%}.review-banner{background:#fff;border:1px solid #777}main{padding-block:1.5rem}.card-grid{display:block}.card{margin-bottom:1rem;break-inside:avoid}.panel,.review-note{break-inside:avoid}a{color:#000}.skip-link{display:none}}
