/* Ported from the prototype. Edit here; the prototype is frozen. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--u-bg);color:var(--u-text);font-family:var(--u-font-body);font-size:1.0625rem;line-height:1.6;font-weight:400}
[data-ground]{background:var(--u-bg);color:var(--u-text)}
a{color:var(--u-link);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--u-text)}
:focus-visible{outline:2px solid var(--u-focus);outline-offset:3px}
p{margin:0}
h1,h2,h3{margin:0;font-weight:900;text-wrap:balance}
.d{font-family:var(--u-font-display);font-size:clamp(3.25rem,6.2vw,6rem);line-height:1.02;letter-spacing:-.005em}
.h1{font-family:var(--u-font-display);font-size:2.25rem;line-height:1.1}
.h2{font-family:var(--u-font-display);font-size:1.75rem;line-height:1.15}
.lead{font-size:1.25rem;line-height:1.5;max-width:60ch}
.measure{max-width:62ch}
.small{font-size:.875rem;font-weight:500;color:var(--u-text-2)}
.num{font-variant-numeric:tabular-nums}
.wrap{max-width:1160px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem)}
.sec{padding:clamp(4rem,8vw,7rem) 0}
.stack{display:grid;gap:1.25rem}

/* grain: ink surfaces only */
.grain{position:relative;isolation:isolate}
.grain::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:var(--u-grain) center/cover;mix-blend-mode:overlay;opacity:.55}
.grain>*{position:relative;z-index:1}

