:root { color-scheme: dark; --bg:#081126; --panel:#101f36; --text:#eef5ff; --muted:#b9c8dc; --gold:#f0bd54; --link:#72ddff; --line:#34435a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font:17px/1.65 system-ui,-apple-system,sans-serif; }
a { color:var(--link); text-underline-offset:.2em; overflow-wrap:anywhere; }
a:hover { color:white; }
:focus-visible { outline:3px solid var(--gold); outline-offset:5px; border-radius:2px; }
.skip { position:absolute; top:-100px; left:16px; padding:12px; background:var(--panel); z-index:1; }
.skip:focus { top:12px; }
.site-header,main,footer { width:min(100%,828px); margin-inline:auto; padding-inline:24px; }
.site-header { padding-top:24px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.brand { display:inline-flex; align-items:center; min-height:44px; color:var(--gold); font-weight:800; letter-spacing:.06em; text-decoration:none; }
nav { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:8px; }
nav a { display:inline-flex; align-items:center; min-height:44px; }
nav [aria-current="page"] { color:var(--gold); font-weight:700; }
main { padding-top:40px; padding-bottom:48px; }
h1,h2 { line-height:1.2; color:var(--gold); }
h1 { font-size:clamp(2rem,6vw,3rem); margin:0 0 24px; letter-spacing:-.025em; }
h2 { font-size:1.35rem; margin:36px 0 12px; }
p,ul,ol { margin:0 0 20px; }
li+li { margin-top:8px; }
.eyebrow { color:var(--muted); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:16px; }
.lead { font-size:1.2rem; }
.note { padding:20px; border-left:4px solid var(--gold); border-radius:4px; background:var(--panel); margin:24px 0; }
.note p:last-child { margin-bottom:0; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; margin:32px 0; }
.card { display:block; background:var(--panel); padding:24px; border:1px solid var(--line); border-radius:12px; text-decoration:none; }
.card strong { display:block; color:var(--gold); font-size:1.25rem; margin-bottom:8px; }
.card span { color:var(--text); }
.contact { display:inline-flex; align-items:center; min-height:48px; padding:10px 16px; border:1px solid var(--link); border-radius:8px; }
.updated,footer { color:var(--muted); font-size:.9rem; }
footer { padding-top:24px; padding-bottom:32px; border-top:1px solid var(--line); }
footer p { margin-bottom:8px; }
@media(max-width:400px) { .site-header,main,footer { padding-inline:18px; } main { padding-top:28px; } .note { padding:16px; } }
