*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E")}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;position:relative;z-index:1}
a{color:inherit;text-decoration:none}
.accent{color:var(--blue)}
.serif{font-family:var(--serif)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:4px}
.reveal{opacity:0;transform:translateY(22px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes rise{to{opacity:1;transform:none}}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}
section{position:relative;z-index:1}
.band{padding:72px 0}
.band-tight{padding-top:8px}
.kicker{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.kicker-center{text-align:center;margin-bottom:36px}
h2{font-family:var(--serif);font-weight:900;font-size:clamp(30px,5vw,48px);line-height:1.05;letter-spacing:-.02em;color:var(--navy);max-width:20ch}
h2 em{font-style:italic;font-weight:500;color:var(--blue)}
.intro{font-size:18px;color:var(--muted);max-width:62ch;margin-top:18px}
.intro a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}
