*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-width:20rem;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-body);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,dl,dd,figure{margin:0}
h1,h2,h3{font-family:var(--font-heading)}
[hidden]{display:none!important}
.container{width:min(var(--max-width),calc(100% - 2 * var(--gutter)));margin-inline:auto}
.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:fixed;left:1rem;top:1rem;z-index:9999;transform:translateY(-160%);background:#fff;border:2px solid var(--color-accent);padding:.75rem 1rem}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid rgba(0,104,168,.32);outline-offset:3px}
.eyebrow{font-family:var(--font-heading);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#5e6971}
.status-message{min-height:1.5rem;color:var(--color-text-muted);font-size:.86rem}
.status-message.is-error{color:var(--color-error)}
.status-message.is-success{color:var(--color-success)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
