:root{--color-paper:#f3f3f0;--color-paper-dim:#e3e3de;--color-ink:#111;--color-ink-soft:#3a3a36;--color-muted:#5f5f58;--color-accent:#3326ff;--color-accent-soft:#dcdaff;--color-accent-on-ink:#9c96ff;--color-on-ink:#f3f3f0;--color-on-ink-muted:#bdbdb6;--color-line-on-ink:#333;--font-display:var(--font-bricolage,"Bricolage Grotesque", system-ui, sans-serif);--font-mono:var(--font-plex-mono,"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace);--tracking-tight:-.055em;--tracking-snug:-.035em;--text-mono:.8125rem;--text-body:1.1875rem;--text-lead:clamp(1.625rem, 1.1rem + 2vw, 2.5rem);--text-statement:clamp(2rem, 1.2rem + 3.2vw, 3.625rem);--text-h3:clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem);--text-h2:clamp(3.5rem, 2rem + 6vw, 7.5rem);--text-display:clamp(4.75rem, 2rem + 11vw, 12.25rem);--text-giant:clamp(5.5rem, 2rem + 15vw, 18.75rem);--container:85rem;--gutter:clamp(1rem, .4rem + 2.6vw, 3rem);--section-space:clamp(5rem, 3rem + 6vw, 8.125rem);--radius:6px;--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-in-out:cubic-bezier(.75, 0, .2, 1);--ease-spring:cubic-bezier(.3, 1.6, .5, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.25rem}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;margin:0;line-height:1.55;overflow-x:hidden}h1,h2,h3,p,ul,figure{margin:0}[hidden]{display:none!important}img{max-width:100%;height:auto;display:block}a{color:inherit}a:hover{color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::selection{background:var(--color-accent);color:var(--color-on-ink)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.mono{font-family:var(--font-mono);font-size:var(--text-mono);letter-spacing:.02em;line-height:1.6}.display{letter-spacing:var(--tracking-tight);overflow-wrap:break-word;hyphens:auto;font-weight:800;line-height:.86}.accent{color:var(--color-accent)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{background:var(--color-ink);min-height:3.5rem;color:var(--color-on-ink);font:600 1.0625rem var(--font-display);cursor:pointer;transition:transform .3s var(--ease-spring);border:0;border-radius:999px;align-items:center;gap:.75rem;padding:0 1.875rem;text-decoration:none;display:inline-flex}.btn:hover{color:var(--color-on-ink);transform:scale(1.05)}.btn:disabled{opacity:.6;cursor:progress}.mask{padding-bottom:.04em;display:block;overflow:hidden}.mask>span{animation:mask-up 1.1s var(--ease-in-out) both;display:block}@keyframes mask-up{0%{transform:translateY(105%)}}.marquee{overflow:hidden}.marquee__track{white-space:nowrap;width:max-content;animation:30s linear infinite marquee;display:flex}.marquee__track>*{padding-right:var(--marquee-gap,3rem)}@keyframes marquee{to{transform:translate(-50%)}}.outline{color:#0000;-webkit-text-stroke:1.5px var(--outline-color,var(--color-ink))}.blob{background:var(--color-accent);pointer-events:none;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;animation:14s ease-in-out infinite morph;position:absolute}@keyframes morph{0%,to{border-radius:42% 58% 63% 37%/41% 44% 56% 59%;transform:rotate(0)translate(0)}33%{border-radius:61% 39% 38% 62%/58% 63% 37% 42%;transform:rotate(60deg)translate(20px,-14px)}66%{border-radius:37% 63% 52% 48%/36% 47% 53% 64%;transform:rotate(130deg)translate(-16px,10px)}}.cross{pointer-events:none;width:18px;height:18px;animation:11s ease-in-out infinite drift;position:absolute}.cross:before,.cross:after{content:"";background:currentColor;width:2px;height:18px;position:absolute;top:0;left:8px}.cross:after{transform:rotate(90deg)}@keyframes drift{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(18px,-22px)rotate(90deg)}}@keyframes caret{50%{opacity:0}}.caret{animation:1s step-end infinite caret}[data-offscreen],[data-offscreen] *{animation-play-state:paused!important}@keyframes reveal{0%{opacity:0;transform:translateY(40px)}}@supports (animation-timeline:view()){.reveal{animation-name:reveal;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 30%}}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition-group(*){animation-duration:.7s;animation-timing-function:var(--ease-in-out)}::view-transition-group(root){animation-duration:.4s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
