*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}
body{
  font-family:var(--font);
  font-size:var(--base);
  line-height:1.7;
  color:var(--text);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration:none}
a:hover{color:var(--gold-700)}
h1,h2,h3,h4{color:var(--navy);line-height:1.2;font-weight:700;letter-spacing:-0.02em;text-wrap:balance}
h1{font-size:var(--h1)}
h2{font-size:var(--h2)}
h3{font-size:var(--h3);letter-spacing:-0.01em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{padding-left:1.15em}
strong{color:var(--ink);font-weight:700}
:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}
::selection{background:var(--gold);color:#fff}

/* Skip link, keyboard users land on content not the whole nav */
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--navy);color:#fff;padding:12px 18px;border-radius:0 0 8px 0;
}
.skip:focus{left:0;color:#fff}
