*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:.98}
h1{font-size:clamp(3.25rem,7vw,7.2rem)}
h2{font-size:clamp(2.35rem,4.5vw,4.8rem)}
h3{line-height:1.2}
::selection{background:var(--acid);color:var(--ink)}
.shell{width:min(calc(100% - 40px),var(--shell));margin-inline:auto}
.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}
.skip-link{position:fixed;top:12px;left:12px;z-index:1000;padding:10px 14px;background:var(--ink);color:white;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:20px;font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
.rich-text p:last-child{margin-bottom:0}
.rich-text a{color:var(--brand-dark)}
.rich-text blockquote{margin:2rem 0;padding-left:1.5rem;border-left:3px solid var(--brand);font-family:var(--serif);font-size:1.4rem}
[data-reveal]{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
[data-reveal].will-reveal{opacity:0;transform:translateY(22px)}
[data-reveal].will-reveal.is-visible{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}[data-reveal]{opacity:1;transform:none}}
