*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;color:var(--color-text);background:var(--color-white);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;overflow-x:hidden}
body.nav-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{color:var(--color-primary);text-underline-offset:.18em}
a:hover{color:var(--color-primary-dark)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}
h1,h2,h3{margin:0 0 var(--space-3);line-height:1.08;letter-spacing:-.025em}
h1{font-size:clamp(2.35rem,4.8vw,4.5rem);max-width:15ch}
h2{font-size:clamp(1.9rem,3.5vw,3.25rem);max-width:17ch}
h3{font-size:1.25rem}
p{margin:0 0 var(--space-3)}
.container{width:min(calc(100% - 2rem),var(--max-width));margin-inline:auto}
.section{padding:var(--space-8) 0}
.section--soft{background:var(--color-surface)}
.section--dark{background:var(--color-primary-dark);color:var(--color-white)}
.eyebrow{margin:0 0 var(--space-3);color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.section--dark .eyebrow{color:var(--color-accent)}
.lead{max-width:62ch;color:var(--color-muted);font-size:clamp(1.05rem,2vw,1.25rem)}
.section--dark .lead{color:#dbe8f7}
.skip-link{position:fixed;z-index:9999;top:.5rem;left:.5rem;padding:.75rem 1rem;background:var(--color-white);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.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}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
