*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:Geist,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
a{color:inherit}
h1,h2,h3,p,figure,blockquote,dl,dd{margin-top:0}
h1,h2,h3{line-height:1.04;letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(3.1rem,7.3vw,6rem);font-weight:500;max-width:12ch}
h2{font-size:clamp(2.15rem,4.4vw,4rem);font-weight:500;max-width:17ch}
h3{font-size:clamp(1.25rem,2vw,1.65rem);font-weight:500}
p{max-width:70ch}
button{cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;background:var(--charcoal);color:var(--white);padding:.75rem 1rem;border-radius:var(--radius-field);transform:translateY(-180%)}
.skip-link:focus{transform:none}
.section-shell{width:var(--shell);margin-inline:auto}
.section{padding-block:var(--space-7)}
.measure{max-width:65ch}
.sr-status{min-height:1.6em}
.internal-note{font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.75rem}
@media(prefers-reduced-motion:no-preference){
  .page-hero .reveal{animation:hero-arrive .65s var(--ease) both}
  .page-hero .reveal:nth-child(2){animation-delay:.08s}
  @keyframes hero-arrive{from{opacity:.01;transform:translateY(18px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
