:root{--plaster:#d8d1c7;--plaster-step:#cfc7bb;--paper:#ffffff;--ink:#161412;--ink-note:#4d4842;--patina:#4e605a;--patina-deep:#3d4c47;--sarana:#b3262d;--sarana-press:#92191f;--font-display:var(--font-shantell),"Segoe Print",system-ui,sans-serif;--font-text:var(--font-open-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--margin:clamp(16px,4vw,56px);--gutter:clamp(16px,2vw,32px);--section:clamp(104px,12vw,200px);--header-h:72px;--t-display:clamp(2.75rem,1.4rem + 5.4vw,6.5rem);--t-h1:clamp(2.375rem,1.5rem + 3.6vw,5rem);--t-h2:clamp(2.125rem,1.35rem + 3.1vw,4.25rem);--t-h3:clamp(1.5rem,1.2rem + 1.1vw,2.125rem);--t-statement:clamp(1.5rem,1.15rem + 1.35vw,2.25rem);--t-lead:clamp(1.1875rem,1.05rem + 0.5vw,1.4375rem);--t-body:clamp(1.0625rem,1rem + 0.22vw,1.1875rem);--t-small:0.9375rem;--ease-out:cubic-bezier(0.2,0.75,0.34,0.94);--ease-settle:cubic-bezier(0,0.65,0.51,0.99);--ease-travel:cubic-bezier(0.65,0,0.35,1)}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-color:var(--ink) var(--plaster-step);scrollbar-width:thin}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{margin:0;min-height:100vh;background-color:var(--plaster);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .09 0 0 0 0 .08 0 0 0 0 .07 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font-family:var(--font-text);font-size:var(--t-body);line-height:1.55;font-feature-settings:"kern";font-kerning:normal;text-rendering:optimizeLegibility}img,svg,video{display:block;max-width:100%}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:700;line-height:1.04;letter-spacing:-.012em;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration-thickness:from-font;text-underline-offset:.18em}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--ink);color:var(--plaster)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}[data-surface=dark] :focus-visible{outline-color:var(--plaster)}input,textarea{caret-color:var(--sarana)}.visually-hidden{position:absolute!important;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;left:var(--margin);top:12px;z-index:100;padding:10px 18px;background:var(--ink);color:var(--plaster);border-radius:999px;transform:translateY(-160%);transition:transform .2s var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.condensed{font-stretch:75%}.frame{padding-inline:var(--margin)}.btn{--btn-bg:var(--ink);--btn-fg:var(--plaster);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 1.6em;border:0;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-text);font-size:1.0625rem;font-weight:650;font-stretch:87%;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .25s var(--ease-out),background-color .2s linear}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px) scale(.98)}.btn--accent{--btn-bg:var(--sarana);--btn-fg:#fff}.btn--accent:hover{--btn-bg:var(--sarana-press)}.btn--light{--btn-bg:var(--plaster);--btn-fg:var(--ink)}.link{font-weight:650;font-stretch:87%;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.28em;transition:text-underline-offset .2s var(--ease-out)}.link:hover{text-underline-offset:.42em}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html.js:not(.reveal-off):not(.reveal-fallback) [data-reveal]:not([data-revealed]){opacity:0}.reveal-line{padding-bottom:.06em;margin-bottom:-.06em}