/* Shared document foundation; local fonts stay in /fonts/fonts.css. */
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:var(--font-body);background:var(--navy-900);color:var(--fog);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    ::selection{background:var(--mint);color:var(--navy-900)}
    h1,h2,h3,.display{font-family:var(--font-display);font-weight:700;line-height:.98;letter-spacing:-.01em;text-transform:uppercase}
    h1,.hero h1{hyphens:manual;overflow-wrap:normal;word-break:normal}
    h2,h3,h4{hyphens:auto;hyphenate-limit-chars:10 5 4;overflow-wrap:break-word;word-break:normal;text-wrap:balance}
    p,li{overflow-wrap:break-word;word-break:normal;text-wrap:pretty}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    button,input,textarea,select{font:inherit}
    .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
    .eyebrow,.idx{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
    .eyebrow{color:var(--mint);letter-spacing:.28em}.idx{color:var(--gold)}


:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--color-focus) !important;
  outline-offset:3px;
  box-shadow:0 0 0 6px var(--color-focus-contrast) !important;
}
[id]{scroll-margin-top:6rem}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;transition-delay:0ms !important}
  .reveal{opacity:1 !important;transform:none !important}
  .stat .bar{transform:scaleX(1) !important}
}
