*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:var(--step-0);line-height:1.65;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.18em}
button,input,select,textarea{font:inherit}
h1,h2,h3{margin:0 0 var(--space-4);font-family:var(--display);line-height:1.08;letter-spacing:-.035em}
h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}
p{margin:0 0 var(--space-4)}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
.container{width:min(calc(100% - 2rem),var(--container));margin-inline:auto}
.section{padding-block:var(--space-16)}
.sr-only{position:absolute!important;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:1000;padding:.75rem 1rem;background:var(--white);color:var(--navy);transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.prose{max-width:760px}
@media (max-width:24rem){h1{font-size:2.15rem;overflow-wrap:anywhere}}
@media (min-width:48rem){.section{padding-block:var(--space-24)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
