
:root{
  --bg:#ffffff; --text:#111111; --muted:#555555;
  --brand:#0b57d0; --brand-contrast:#ffffff;
  --edge:#e6e6e6; --edge-strong:#d9dfea; --focus:#1a73e8;
  --shadow:0 1px 2px rgba(16,24,40,.06), 0 2px 6px rgba(16,24,40,.06);
  --page-max: 1000px; --page-gutter: 20px;
  color-scheme: light;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif}
a{color:var(--brand)} a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width: var(--page-max); margin-inline:auto; padding-inline: var(--page-gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:16px;top:10px;width:auto;height:auto;background:#000;color:#fff;padding:10px 14px;border-radius:8px;z-index:10000}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.95);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--edge);z-index:999}
.header-row{display:grid;grid-template-columns:max-content 1fr;align-items:center;column-gap:24px;padding:14px 0}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}
.brand-logo{height:auto !important; max-height:44px; width:auto; max-width:none; object-fit:contain}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-name{font-weight:750;font-size:1rem;letter-spacing:.2px;color:var(--text)}
.brand-tagline{font-size:.8rem;font-weight:600;color:var(--muted)}
.menu-toggle{display:none;border:1px solid var(--edge);background:#fff;border-radius:8px;padding:8px 10px}
.menu-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus),0 0 0 6px #fff}
.site-nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;justify-content:flex-end}
.site-nav a.nav-link{display:block;padding:12px 16px;border-radius:12px;color:#111;text-decoration:none;font-weight:600}
.site-nav a.nav-link.active,.site-nav a.nav-link:hover{background:#f5f7fb;text-decoration:underline}
.btn{display:inline-block;background:var(--brand);color:var(--brand-contrast);padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:700;box-shadow:var(--shadow)}
.btn:hover{background:#0a4cc0;transform:translateY(-1px)}
.hero{padding:48px 0 28px;border-bottom:1px solid var(--edge-strong)}
.hero h1{font-size:2rem;line-height:1.2;margin:0 0 8px 0}
.hero p.lead{color:var(--muted);max-width:70ch;font-size:1.125rem;line-height:1.75}
.hero-figure{margin:16px 0 0 0;border-radius:18px;overflow:hidden;border:1px solid var(--edge-strong)}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{border:1px solid var(--edge-strong);border-radius:16px;padding:16px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05), 0 6px 16px rgba(16,24,40,.06)}
.stat{font-size:1.5rem;font-weight:800}
section{padding:40px 0}
section + section{border-top:1px solid var(--edge-strong)}
section h2{font-size:1.5rem;line-height:1.2;margin:0 0 8px 0}
.lead{color:var(--muted);max-width:70ch}
label{font-weight:600}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--edge);border-radius:10px}
input:focus-visible,textarea:focus-visible,select:focus-visible,.nav-link:focus-visible,.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus),0 0 0 6px #fff}
.error{color:#b00020;font-size:.9rem;margin-top:6px}
.help{font-size:.9rem;color:var(--muted)}
.site-footer{border-top:none;background:#12294f;color:#e9eef8}
.site-footer a{color:#cfe2ff;text-decoration:underline}
.footer-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));padding:24px 0}
.footer-heading{margin:0;font-size:1rem;color:#fff}
.address a{display:inline-block;margin-top:4px}
.footer-nav{columns:2;column-gap:24px}
.fineprint{font-size:.9rem;color:#c7d1e4}
@media (max-width:1100px){
  body.nav-open{overflow:hidden}
  .brand-text{display:none}
  .site-nav{display:none}
  .menu-toggle{display:inline-flex;align-items:center;gap:8px}
  .site-nav.open{
    display:block; position:fixed; left:0; right:0; top:60px; background:#fff;
    border-bottom:1px solid var(--edge-strong); box-shadow:0 10px 24px rgba(16,24,40,.10);
    padding:8px 0 16px; max-height:calc(100dvh - 60px); overflow-y:auto;
  }
  .site-nav ul{flex-direction:column;gap:4px;padding:8px var(--page-gutter) 16px}
  .site-nav a.nav-link{padding:14px 18px;border-radius:10px}
  .cta-li .btn{display:block;text-align:center;margin:6px 0 2px;padding:14px 18px;border-radius:14px}
  .header-row{grid-template-columns:1fr;row-gap:10px;justify-items:center}
}
