*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--body);line-height:1.68;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--brand-dark)}
button,input,textarea,select{font:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
::selection{background:var(--brand-soft);color:var(--ink)}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.025em;line-height:1.2;text-wrap:balance}
h1{font-size:var(--h1);margin-bottom:var(--s5)}
h2{font-size:var(--h2);margin-bottom:var(--s4)}
h3{font-size:var(--h3);margin-bottom:var(--s3)}
p{margin-bottom:var(--s4);max-width:var(--measure)}
small{font-size:var(--small)}
code,pre{font-family:var(--mono)}
code{font-size:.9em}
strong{font-weight:600}
.skip{position:fixed;left:1rem;top:-5rem;z-index:1000;background:white;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.65rem .9rem;box-shadow:var(--shadow-sm)}
.skip:focus{top:1rem}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media print{.site-header,.site-footer,.cta-band,.skip{display:none!important}body{background:white;color:black}.section{padding-block:1.5rem}.page-hero{padding-block:2rem 1rem}}
