:root { color-scheme:light dark; --bg:#f5f7f9; --surface:#e6edf3; --text:#172d3c; --muted:#465d6d; --accent:#175d83; --button-text:#fff; }
@media(prefers-color-scheme:dark) { :root { --bg:#13232f; --surface:#1d3443; --text:#f0f5f8; --muted:#beced9; --accent:#9ed9fa; --button-text:#13232f; } }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:18px; line-height:1.6; color:var(--text); background:var(--bg); }
a { color:var(--accent); text-underline-offset:.2em; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
a:active { transform:translateY(1px); }
h1,h2,h3 { line-height:1.15; text-wrap:balance; letter-spacing:-.025em; }
p { text-wrap:pretty; max-width:65ch; }
p+p { margin-top:16px; }
.container { width:min(1120px,100% - 48px); margin-inline:auto; }
nav { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 32px; padding:20px 0; }
nav strong { font-size:20px; }
nav div,.actions,.footer-links { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:center; }
nav a,.actions a,.footer-links a { display:inline-flex; align-items:center; min-height:44px; }
.skip-link { position:absolute; top:-100px; left:24px; padding:12px; background:var(--bg); }
.skip-link:focus { top:12px; }
.hero { padding:48px 0 64px; display:grid; grid-template-columns:minmax(0,1fr) 112px; gap:24px 48px; }
.logo { grid-column:2; grid-row:1/3; width:112px; height:112px; }
h1 { font-size:clamp(2.5rem,5.5vw,4.5rem); max-width:16ch; }
.hero p { font-size:22px; }
.hero .actions,.hero .note { grid-column:1/-1; }
.button { padding:12px 24px; background:var(--accent); color:var(--button-text); text-decoration:none; font-weight:600; }
.note { font-size:16px!important; color:var(--muted); }
section { padding:64px 0; }
h2 { font-size:clamp(2rem,3.5vw,3rem); margin-bottom:24px; }
h3 { font-size:24px; margin-bottom:12px; }
.feature-list { display:grid; grid-template-columns:1fr 1fr; gap:32px 64px; }
.band { background:var(--surface); }
.steps { padding-left:28px; max-width:70ch; }
.steps li { padding-left:8px; margin:20px 0; }
.steps li::marker { font-weight:600; }
.steps strong { display:block; }
.paths { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:32px; }
.paths article { min-width:0; }
.paths ol { padding-left:24px; }
.paths li { margin-bottom:20px; padding-left:4px; }
code { font-size:.9em; overflow-wrap:anywhere; }
.local-intro { max-width:68ch; }
details { margin-top:24px; }
summary { cursor:pointer; padding:12px 0; min-height:44px; font-weight:600; }
details p { margin-top:16px; }
.split { display:grid; grid-template-columns:1fr 1.5fr; gap:48px; }
footer { padding:32px 0; font-size:16px; }
footer p { margin-top:20px; }
@media(max-width:760px) {
 .container { width:calc(100% - 40px); }
 .hero { grid-template-columns:1fr; padding:32px 0 40px; }
 .logo { grid-column:1; grid-row:1; width:72px; height:72px; }
 .hero p { font-size:20px; }
 .feature-list,.paths,.split { grid-template-columns:1fr; gap:32px; }
 section { padding:44px 0; }
 nav { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
