:root { --ink:#17222d; --muted:#5f6e7d; --line:#d6e0e7; --canvas:#f3f7f9; --surface:#fff; --navy:#173c5f; --blue:#286c99; --blue-soft:#e9f3f9; --shadow:0 8px 28px rgba(18,44,67,.08); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--ink); background:var(--canvas); }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; display:flex; flex-direction:column; line-height:1.6; }
a { color:var(--navy); }
.site-header, main, footer { width:min(1080px,calc(100% - 2rem)); margin-inline:auto; }
.site-header { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:1.35rem 0; }
.brand { color:var(--navy); font-size:1.35rem; font-weight:800; letter-spacing:-.04em; text-decoration:none; }
.brand span { color:var(--blue); }
nav { display:flex; align-items:center; flex-wrap:wrap; gap:.35rem; }
nav a { border-radius:.35rem; padding:.4rem .55rem; color:var(--muted); font-size:.9rem; font-weight:650; text-decoration:none; }
nav a:hover, nav a:focus, nav .is-current { color:var(--navy); background:var(--blue-soft); }
nav .portal-link { color:#fff; background:var(--navy); }
main { flex:1; padding:4.5rem 0; }
.hero { max-width:720px; padding:3rem; border:1px solid var(--line); border-radius:.8rem; background:var(--surface); box-shadow:var(--shadow); }
.eyebrow { margin:0 0 .65rem; color:var(--blue); font-size:.78rem; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
h1, h2 { color:var(--navy); line-height:1.18; letter-spacing:-.03em; }
h1 { max-width:650px; margin:.1rem 0 1.1rem; font-size:clamp(2.15rem,6vw,4.1rem); }
h2 { margin:0 0 .75rem; font-size:1.25rem; }
.lead { max-width:610px; margin-bottom:1.8rem; color:var(--muted); font-size:1.12rem; }
.button { display:inline-block; padding:.68rem 1rem; border-radius:.35rem; background:var(--navy); color:#fff; font-weight:700; text-decoration:none; }
.button:hover, .button:focus { background:#0e2c49; }
.content-section { max-width:720px; margin-top:3.5rem; padding:1.6rem 0; border-top:1px solid var(--line); }
.contact { margin-top:1rem; }
.email { display:inline-block; margin:.15rem 0 1.1rem; font-size:1.15rem; font-weight:700; }
address { font-style:normal; color:var(--muted); }
.legal-page { max-width:800px; padding-top:3rem; }
.legal-page h1 { font-size:clamp(2rem,5vw,3.25rem); }
.legal-page section { margin:2.1rem 0; }
.legal-page p, .legal-page li { max-width:780px; }
.updated { color:var(--muted); font-size:.92rem; }
footer { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 0 2rem; color:var(--muted); font-size:.85rem; }
@media (max-width:640px) { .site-header { align-items:flex-start; flex-direction:column; gap:.8rem; } main { padding:2rem 0 3rem; } .hero { padding:1.6rem; } h1 { font-size:2.3rem; } footer { align-items:flex-start; flex-direction:column; } }
