
:root { color-scheme: light; --bg:#f6f4ee; --ink:#1b2925; --muted:#465952; --accent:#205344; --line:#ced7cf; --surface:#fff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:17px; line-height:1.75; }
a { color:var(--accent); text-underline-offset:4px; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.wrap { max-width:1160px; margin:auto; padding:0 32px; }
.skip { position:absolute; top:-100px; left:12px; z-index:4; background:var(--surface); padding:12px; }
.skip:focus { top:12px; }
.masthead { min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.brand { font-weight:750; letter-spacing:-.03em; font-size:20px; }
.label,.eyebrow { text-transform:uppercase; letter-spacing:.13em; font-size:12px; font-weight:650; }
.label { color:var(--muted); }
.hero { padding:64px 0 42px; max-width:920px; }
.eyebrow { color:var(--accent); margin:0 0 16px; }
h1 { font-size:clamp(34px,5.5vw,66px); letter-spacing:-.045em; line-height:1.09; margin:0 0 24px; font-weight:650; overflow-wrap:anywhere; }
.intro { max-width:770px; font-size:19px; color:var(--muted); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:12px 22px; background:var(--accent); color:white; font-weight:650; text-decoration:none; border-radius:5px; max-width:100%; text-align:center; }
.button:hover { filter:brightness(1.12); }
.note { font-size:14px; color:var(--muted); margin-top:12px; }
.facts { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:0 0 44px; }
.facts div { padding:16px 18px 16px 0; font-size:14px; }
.facts b { display:block; font-size:16px; }
.reading { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; align-items:start; }
nav.toc { position:sticky; top:24px; padding-bottom:24px; }
nav.toc p { margin:0 0 12px; font-size:12px; text-transform:uppercase; letter-spacing:.12em; font-weight:700; }
nav.toc a { display:block; font-size:14px; line-height:1.45; padding:10px 0; text-decoration:none; border-bottom:1px solid var(--line); min-height:44px; }
article { min-width:0; }
article section { padding:0 0 25px; margin-bottom:25px; border-bottom:1px solid var(--line); }
h2 { font-size:clamp(24px,3vw,32px); line-height:1.22; letter-spacing:-.025em; margin:0 0 20px; }
h3 { font-size:20px; line-height:1.35; margin:24px 0 10px; }
p { margin:0 0 18px; }
.callout { padding:28px; margin:18px 0 44px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.callout h2 { font-size:27px; }
.faq h3 { font-size:19px; }
footer { padding:32px 0 40px; margin-top:24px; border-top:1px solid var(--line); color:var(--muted); font-size:14px; }
footer p { max-width:840px; }
body[data-layout="1"] .hero { max-width:880px; margin:auto; text-align:center; }
body[data-layout="1"] .intro { margin-left:auto; margin-right:auto; }
body[data-layout="1"] .reading { grid-template-columns:1fr; max-width:820px; margin:auto; gap:30px; }
body[data-layout="1"] nav.toc { position:static; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
body[data-layout="1"] nav.toc p { grid-column:1/-1; }
body[data-layout="2"] h1,body[data-layout="2"] h2 { font-family:Georgia,"Times New Roman",serif; font-weight:500; }
body[data-layout="2"] .hero { border-left:4px solid var(--accent); padding-left:32px; margin:42px 0; padding-top:12px; padding-bottom:12px; }
body[data-layout="3"] .reading { grid-template-columns:minmax(0,1fr) 250px; }
body[data-layout="3"] nav.toc { grid-column:2; grid-row:1; }
body[data-layout="3"] article { grid-column:1; grid-row:1; }
@media(max-width:760px) {
 .wrap { padding:0 20px; } .masthead { min-height:70px; } .masthead .label { max-width:130px; text-align:right; font-size:10px; }
 .hero { padding:32px 0 26px; } h1 { font-size:36px; } .intro { font-size:17px; }
 .facts { margin-bottom:30px; } .facts div { font-size:12px; padding:12px 8px 12px 0; } .facts b { font-size:14px; }
 .reading,body[data-layout="3"] .reading { display:flex; flex-direction:column; gap:20px; }
 nav.toc { position:static; width:100%; } nav.toc a { font-size:14px; }
 .callout { padding:22px; } body[data-layout="2"] .hero { margin:28px 0; padding-left:20px; }
 body[data-layout="1"] nav.toc { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

:root {--bg:#f6f4ee; --ink:#1b2925; --muted:#465952; --accent:#205344; --line:#ced7cf;}
