/* ==========================================================================
   main.css — resets, base typography, global rules
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-400);
  line-height:1.6;
  color:var(--color-ink-900);
  background:var(--color-white);
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:var(--color-blue-600);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.15;margin:0 0 var(--sp-4);color:var(--color-navy-950);}
h1{font-size:var(--fs-900);font-weight:700;letter-spacing:-.01em;}
h2{font-size:var(--fs-800);font-weight:700;letter-spacing:-.01em;}
h3{font-size:var(--fs-700);font-weight:600;}
h4{font-size:var(--fs-600);font-weight:600;}
p{margin:0 0 var(--sp-4);color:var(--color-gray-500);}
ul,ol{margin:0 0 var(--sp-4);padding-left:1.2rem;}
small,.eyebrow{font-family:var(--font-mono);font-size:var(--fs-200);letter-spacing:.08em;text-transform:uppercase;}
:focus-visible{outline:3px solid var(--color-amber-500);outline-offset:2px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
.skip-link{position:absolute;left:-999px;top:0;background:var(--color-navy-900);color:#fff;padding:.5rem 1rem;z-index:200;}
.skip-link:focus{left:0;}
