*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--font-text);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);margin:0;font-weight:var(--fw-semibold)}
p{margin:0}
a{color:var(--text-brand);text-decoration:none;transition:var(--transition-control)}
a:hover{color:var(--blue-600);text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--asv-blue);outline-offset:2px}
::selection{background:var(--asv-blue);color:#fff}
.asv-eyebrow{font-family:var(--font-text);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-eyebrow);line-height:var(--lh-eyebrow);text-transform:uppercase;font-weight:var(--fw-semibold);color:var(--text-brand)}
.asv-container{max-width:var(--container);margin:0 auto;padding-inline:var(--gutter)}
.asv-mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--ls-mono)}
