:root{--paper:#f7f6f3;--veil:#eeeeea;--ink:#1a1c22;--slate:#5c6370;--ghost:#1a1c2214;--ghost-strong:#1a1c2224;--signal:#3d6b8c;--signal-soft:#3d6b8c1f;--signal-mid:#3d6b8c38;--font-display:"Newsreader", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 3.5vw, 2.25rem);--text-3xl:clamp(2.25rem, 5vw, 3.25rem);--text-4xl:clamp(2.75rem, 6.5vw, 4rem);--leading-tight:1.15;--leading-snug:1.35;--leading-body:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--space-11:10rem;--max:68rem;--measure:38rem;--nav-h:4rem;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.18s;--duration-slow:.4s}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-weight:400}@media (width<=767px){body{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}}body:before{content:"";pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;position:fixed;inset:0}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.2em;transition:color var(--duration) var(--ease), opacity var(--duration) var(--ease);text-decoration-thickness:1px}a:hover{color:var(--signal)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.skip-link{left:var(--space-4);z-index:10000;padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--paper);font-size:var(--text-sm);border-radius:2px;text-decoration:none;position:absolute;top:-100%}.skip-link:focus{top:var(--space-4)}.wrap{width:min(100% - var(--space-6), var(--max));margin-inline:auto}@media (width>=768px){.wrap{width:min(100% - var(--space-8), var(--max))}}.section{padding-block:var(--space-10)}@media (width>=768px){.section{padding-block:var(--space-11)}}.section--veil{background:var(--veil)}.section-label{margin:0 0 var(--space-5);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--slate);font-weight:400;display:block}.section-title{margin:0 0 var(--space-5);font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.02em;color:var(--ink);max-width:18ch}.section-lede{max-width:var(--measure);font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--slate);margin:0}.hairline{border:0;border-top:1px solid var(--ghost);margin:0}.btn{align-items:center;gap:var(--space-2);border:1px solid var(--ghost-strong);color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.02em;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;padding:.85rem 1.35rem;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--signal-soft);border-color:var(--signal-mid);color:var(--signal);text-decoration:none}.btn:focus-visible{outline-offset:4px}.btn__arrow{opacity:.55;transition:transform var(--duration) var(--ease), opacity var(--duration) var(--ease);font-size:1em}.btn:hover .btn__arrow{opacity:1;transform:translate(2px)}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
