:root { color-scheme: light; --ink:#152c37; --muted:#546773; --line:#d8e3e8; --accent:#126b65; }
* { box-sizing:border-box; }
body { margin:0; font:17px/1.6 system-ui,sans-serif; color:var(--ink); background:#f6f9fa; }
header { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem max(1rem,calc((100% - 1050px)/2)); background:white; border-bottom:1px solid var(--line); }
nav { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.brand { font-size:1.25rem; font-weight:750; text-decoration:none; white-space:nowrap; }
main { max-width:1000px; margin:2rem auto; padding:0 1.25rem; min-height:65vh; }
h1 { font-size:2.1rem; line-height:1.2; } h2 { margin-top:2.5rem; } h3 { margin-top:0; }
a { color:var(--accent); text-underline-offset:3px; }
article, details { padding:1.4rem; margin:1rem 0; background:white; border:1px solid var(--line); border-radius:10px; }
article a { margin-right:1rem; }
button,.button { display:inline-block; padding:.65rem 1rem; color:white; background:var(--accent); border:1px solid var(--accent); border-radius:6px; font:inherit; cursor:pointer; text-decoration:none; }
.secondary { color:var(--accent); background:white; }
form { margin:1rem 0; } nav form { margin:0; }
label { display:block; font-weight:550; }
input,select,textarea { max-width:100%; font:inherit; padding:.5rem; border:1px solid #a7bdc8; border-radius:4px; }
textarea { width:100%; } input[type=radio],input[type=checkbox] { width:auto; margin-right:.5rem; }
input:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible { outline:3px solid #e0a227; outline-offset:3px; }
.errorlist { color:#9a2539; } .notice { border-left:4px solid var(--accent); background:#e9f3f1; padding:1rem; }
.eyebrow { font-size:.8rem; font-weight:700; letter-spacing:.1em; color:var(--muted); }
.metric { font-size:2.4rem; font-weight:750; } .metric small { font-size:1rem; font-weight:400; }
table { width:100%; border-collapse:collapse; background:white; overflow-wrap:anywhere; }
th,td { text-align:left; vertical-align:top; border-bottom:1px solid var(--line); padding:.7rem; }
footer { max-width:1000px; margin:3rem auto 1rem; padding:1rem; border-top:1px solid var(--line); color:var(--muted); }
@media(max-width:700px) { header { align-items:flex-start; flex-direction:column; } h1 { font-size:1.8rem; } th,td { padding:.4rem; font-size:.88rem; } }
