:root { color-scheme: dark light; --bg:#080e1a; --surface:#101a2b; --text:#eff4fc; --muted:#b2bed1; --line:#2b3850; --accent:#7ee4e3; }
* { box-sizing:border-box; }
html { scroll-padding-top:1.5rem; }
body { margin:0; background:var(--bg); color:var(--text); font:1rem/1.75 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--accent); text-underline-offset:.2em; overflow-wrap:anywhere; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; border-radius:3px; }
.site-header, nav, main, footer { max-width:1040px; margin-inline:auto; padding-inline:clamp(20px,5vw,64px); }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:35px; padding-bottom:24px; }
.brand { color:var(--text); font-size:1.5rem; font-weight:750; letter-spacing:-.055em; text-decoration:none; }
.brand span { color:var(--accent); }
.byline, .date, footer { color:var(--muted); font-size:.875rem; }
nav { display:flex; flex-wrap:wrap; gap:4px 20px; padding-bottom:24px; border-bottom:1px solid var(--line); }
nav a { padding-block:7px; color:var(--muted); font-size:.85rem; }
nav a[aria-current="page"] { color:var(--accent); text-decoration-thickness:2px; }
main { padding-top:54px; padding-bottom:36px; }
.document-header { margin-bottom:34px; }
.eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:.75rem; color:var(--accent); font-weight:650; }
h1 { font-size:clamp(2.2rem,6vw,3.4rem); line-height:1.15; letter-spacing:-.045em; margin:18px 0; overflow-wrap:anywhere; }
h2 { font-size:1.25rem; line-height:1.4; letter-spacing:-.02em; margin:0 0 14px; }
p { margin:0 0 16px; overflow-wrap:anywhere; }
.lead { font-size:1.13rem; color:var(--muted); max-width:650px; }
.contents { border:1px solid var(--line); background:var(--surface); border-radius:16px; padding:24px; margin-bottom:40px; }
.contents h2 { font-size:1rem; }
.contents ol { margin:0; padding-left:1.5rem; }
.contents li { padding-block:4px; }
section { margin-block:38px; max-width:760px; }
section p { color:var(--muted); }
.resource-links { padding-left:1.3rem; }
.resource-links li { padding-block:5px; }
.cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.card { display:block; padding:26px; border:1px solid var(--line); border-radius:16px; background:var(--surface); text-decoration:none; }
.card:hover { border-color:var(--accent); }
.card h2 { color:var(--text); }
.card h2 span { color:var(--accent); }
.card p { color:var(--muted); margin:0; font-size:.94rem; }
.contact { border-top:1px solid var(--line); padding-top:30px; }
footer { border-top:1px solid var(--line); padding-top:24px; padding-bottom:40px; }
footer p { margin-bottom:8px; }
.skip-link { position:absolute; left:20px; top:-100px; padding:12px; background:var(--surface); z-index:10; }
.skip-link:focus { top:10px; }
@media (max-width:600px) { .cards { grid-template-columns:1fr; } main { padding-top:32px; } .contents, .card { padding:20px; } }
@media (prefers-color-scheme:light) { :root { --bg:#f8fafc; --surface:#fff; --text:#101b2d; --muted:#45566d; --line:#d2dce7; --accent:#006a70; } }
@media print { :root { --bg:#fff; --surface:#fff; --text:#000; --muted:#222; --line:#aaa; --accent:#000; } nav, .contents, .skip-link { display:none; } main { padding:0; } .site-header, footer { padding-inline:0; } h1 { font-size:28pt; } section { break-inside:auto; } h2 { break-after:avoid; } a { text-decoration:underline; } }
