:root { color-scheme: light dark; --navy:#102a43; --blue:#2cb1bc; --coral:#f97066; --paper:#f7fafc; --ink:#102a43; --muted:#526d82; --line:#bcccdc; --card:#fff; }
@media (prefers-color-scheme:dark) { :root { --paper:#0b1f33; --ink:#f7fafc; --muted:#bcccdc; --line:#486581; --card:#102a43; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:#087f8c; text-underline-offset:.18em; }
@media (prefers-color-scheme:dark) { a { color:#63d7df; } }
header,main,footer { width:min(72rem,calc(100% - 2rem)); margin-inline:auto; }
header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }
nav { display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
nav a { font-weight:650; }
.brand { display:flex; align-items:center; gap:.75rem; color:var(--ink); font-weight:800; text-decoration:none; }
.brand img { width:2.75rem; height:2.75rem; border-radius:.65rem; }
.hero { display:grid; grid-template-columns:1.35fr .65fr; gap:2rem; align-items:center; padding:clamp(3rem,8vw,7rem) 0; }
.hero img { width:min(100%,22rem); border-radius:22%; box-shadow:0 1.5rem 4rem #102a4340; }
h1,h2,h3 { line-height:1.15; letter-spacing:-.025em; }
h1 { font-size:clamp(2.5rem,7vw,5.4rem); margin:.25rem 0 1rem; }
h2 { font-size:clamp(1.55rem,3vw,2.4rem); margin-top:2.5rem; }
.eyebrow { color:var(--blue); font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.lead { font-size:clamp(1.1rem,2vw,1.35rem); color:var(--muted); max-width:48rem; }
.actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.button { display:inline-block; border:2px solid var(--navy); border-radius:.75rem; padding:.7rem 1rem; background:var(--navy); color:white; font-weight:750; text-decoration:none; }
.button.secondary { background:transparent; color:var(--ink); }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.card { border:1px solid var(--line); border-radius:1rem; background:var(--card); padding:1.25rem; }
.card h3 { margin-top:0; }
.notice { border-left:.35rem solid var(--coral); padding:1rem 1.25rem; background:var(--card); }
main { padding-bottom:4rem; }
main.prose { max-width:54rem; }
footer { border-top:1px solid var(--line); padding:2rem 0 3rem; color:var(--muted); }
footer nav { margin-bottom:1rem; }
table { width:100%; border-collapse:collapse; }
th,td { border-bottom:1px solid var(--line); padding:.7rem; text-align:left; vertical-align:top; }
code { background:var(--card); padding:.1rem .3rem; border-radius:.25rem; }
@media (max-width:48rem) { .hero { grid-template-columns:1fr; } .hero img { order:-1; width:9rem; } .grid { grid-template-columns:1fr; } header { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
