*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand:#0B1F3A;
  /* Darkened from the original #3B82F6/#F39C12/#27AE60/#E74C3C for WCAG AA
     (4.5:1) as text/link colour on white -- the originals read fine as
     small icons but fail as body-sized text. Nudged one step further
     (4.5-4.76:1 -> 5.3-5.55:1 against both --bg and --bg-alt) after a
     re-audit found the first pass left almost no headroom -- any future
     background darkening by even a couple of RGB points would have
     tipped these back under the line. */
  --accent:#BA1635;
  --accent-hover:#99102B;
  --text:#1E293B;
  --text-muted:#5B697E;
  --bg:#FFFFFF;
  --bg-alt:#F8FAFC;
  --border:#E2E8F0;
  --green:#1B7742;
  --amber:#925D07;
  --red:#C82918;
  --radius:12px;
  --max:1120px;
}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}

/* Off-screen until focused, so a keyboard user tabbing in gets a first
   stop that jumps straight past the nav to #main-content, without
   sighted mouse users ever seeing it. */
.skip-link{
  position:absolute;left:16px;top:-60px;z-index:1000;
  background:var(--brand);color:#fff;padding:12px 20px;border-radius:8px;
  font-weight:700;font-size:14px;text-decoration:none;
  transition:top .15s ease;
}
.skip-link:focus{top:16px}

