:root { color-scheme: light; --ink:#172d37; --muted:#56666c; --accent:#176a62; --paper:#f6f5ef; --line:#d7ddd5; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.65; }
header,main,footer { width:min(980px,calc(100% - 48px)); margin-inline:auto; }
header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); }
a { color:var(--accent); text-underline-offset:4px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.brand { color:var(--ink); font-weight:750; letter-spacing:-.04em; font-size:21px; text-decoration:none; }
.brand span { font-weight:450; color:var(--muted); }
.badge { font-size:12px; text-transform:uppercase; letter-spacing:.08em; padding:5px 10px; border:1px solid var(--line); border-radius:4px; }
main { padding:68px 0 52px; }
.eyebrow { margin:0 0 20px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); font-weight:700; }
h1 { max-width:900px; margin:0; font-size:clamp(37px,5.8vw,62px); line-height:1.12; letter-spacing:-.045em; font-weight:700; }
.lead { max-width:760px; font-size:20px; line-height:1.6; margin:28px 0; color:var(--muted); }
.button { display:inline-flex; gap:30px; align-items:center; background:var(--accent); color:white; padding:12px 18px; border-radius:5px; text-decoration:none; font-weight:600; margin:3px 0 15px; }
.button:hover { background:#12564f; }
section { max-width:800px; border-top:1px solid var(--line); padding-top:27px; margin-top:39px; }
h2 { font-size:22px; line-height:1.35; letter-spacing:-.025em; margin:0 0 17px; }
p { margin:0 0 14px; }
.policy { max-width:900px; }
.policy h1 { font-size:clamp(36px,5vw,52px); }
.policy .lead { font-size:18px; }
.draft-note { max-width:800px; margin-top:36px; border-left:3px solid #b18729; padding:12px 18px; background:#f1ead9; color:#654c17; font-size:14px; }
code { font-size:.88em; overflow-wrap:anywhere; }
footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid var(--line); padding:25px 0 35px; color:var(--muted); font-size:13px; }
footer nav { display:flex; flex-wrap:wrap; gap:22px; }
@media(max-width:600px) { header,main,footer { width:calc(100% - 36px); } header { align-items:flex-start; gap:16px; } .brand { font-size:18px; } .badge { max-width:110px; font-size:10px; } main { padding-top:43px; } .lead { font-size:18px; } section { margin-top:30px; } footer { align-items:flex-start; flex-direction:column; } }
