*,*:before,*:after{box-sizing:border-box;margin:0}html,body{min-height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-mono);background:var(--color-canvas);color:var(--color-type);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video,svg{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}:root{--color-canvas: #07080B;--color-canvas-2: #0E1018;--color-type: #F4F5F7;--color-type-dim: rgba(244, 245, 247, .6);--color-accent: #5B8CFF;--color-accent-2: #B14DFF;--color-accent-3: #FF4D9D;--color-rule: rgba(244, 245, 247, .1);--color-rule-hover: rgba(244, 245, 247, .32);--glow-accent: 0 0 40px rgba(91, 140, 255, .5);--font-mono: "Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-hero: clamp(3rem, 12vw, 11rem);--fs-h2: clamp(1.75rem, 5vw, 3.5rem);--fs-h3: clamp(1.25rem, 2.5vw, 1.75rem);--fs-body: clamp(1rem, 1.1vw, 1.125rem);--fs-label: .8125rem;--lh-tight: 1.05;--lh-body: 1.55;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 3rem;--space-6: 4rem;--space-8: 6rem;--space-10: 8rem;--space-section: clamp(4rem, 12vh, 10rem);--max-width: 1440px;--gutter: clamp(1.25rem, 4vw, 3rem);--ease-default: cubic-bezier(.65, .05, 0, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--dur-fast: .18s;--dur-default: .75s;--dur-slow: 1.2s;--z-cursor: 9999;--z-nav: 100;--z-overlay: 50}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-default: 0ms;--dur-slow: 0ms}}*{transition-timing-function:var(--ease-default)}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/IBMPlexMono-Regular-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/IBMPlexMono-Medium-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:focus-visible{outline:2px dashed var(--color-type);outline-offset:2px}::selection{background:var(--color-accent);color:var(--color-canvas)}.skip{position:absolute;left:-9999px}.skip:focus{left:0;top:0;padding:var(--space-2);background:var(--color-accent);color:var(--color-canvas);z-index:var(--z-overlay)}.doubled{display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-6);position:static}.headline{font-family:var(--font-mono);font-weight:500;font-size:var(--fs-h2);line-height:var(--lh-tight);margin:0;text-transform:lowercase}.headline-echo{color:var(--color-type-dim);margin-top:-.15em}.nav-wordmark{position:fixed;top:var(--space-2);right:var(--gutter);font-family:var(--font-mono);font-weight:500;font-size:var(--fs-label);color:var(--color-type);opacity:0;z-index:var(--z-nav);pointer-events:none;letter-spacing:.02em}.nav-cursor-block{display:inline-block;width:.5em;height:.9em;background:var(--color-accent);margin-left:.1em;vertical-align:-.05em}@media(max-width:719px){.nav-wordmark{right:var(--space-2);left:auto;font-size:.7rem}}.doubled-link{position:relative;display:inline-block;overflow:hidden;vertical-align:baseline;line-height:1.2}.doubled-link__inner{display:inline-block;transition:transform var(--dur-default) var(--ease-default)}.doubled-link:before{content:attr(data-text);position:absolute;top:100%;left:0;right:0;white-space:nowrap;transition:transform var(--dur-default) var(--ease-default);pointer-events:none}.doubled-link:hover .doubled-link__inner,.doubled-link:focus-visible .doubled-link__inner{transform:translateY(-100%)}.doubled-link:hover:before,.doubled-link:focus-visible:before{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){.doubled-link__inner,.doubled-link:before{transition:none}}.copy-toast{display:inline-block;margin-left:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-label);color:var(--color-accent);opacity:0;transform:translateY(4px);transition:opacity .2s var(--ease-default),transform .2s var(--ease-default);pointer-events:none}.copy-toast--visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.copy-toast{transform:none;transition:opacity .2s}}.marquee{overflow:hidden;padding:var(--space-4) 0;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.marquee__track{display:flex;gap:var(--space-4);width:max-content;animation:marquee 40s linear infinite}.marquee__item{font-family:var(--font-mono);font-size:var(--fs-h3);color:var(--color-type-dim);white-space:nowrap}.marquee__item:after{content:" · ";margin-left:var(--space-4);color:var(--color-accent)}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}@media(max-width:719px){.marquee{display:none}}@media(prefers-reduced-motion:reduce){.marquee__track{animation:none}}.reveal-mask{display:inline-block;overflow:hidden;vertical-align:baseline}.reveal-word{display:inline-block}@media(prefers-reduced-motion:reduce){.reveal-mask{overflow:visible}.reveal-word{transform:none!important}}.course-trace{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;color:var(--color-accent);opacity:.28;z-index:1}#course-path{stroke-dasharray:var(--path-length, 2400);stroke-dashoffset:var(--path-length, 2400)}@media(prefers-reduced-motion:reduce){#course-path{stroke-dashoffset:0}}.progress-bar{position:fixed;top:0;left:0;width:2px;height:100vh;background:var(--color-rule);z-index:var(--z-nav);pointer-events:none}.progress-bar__fill{width:100%;height:0%;background:var(--color-accent);transition:height 60ms linear}@media(max-width:719px){.progress-bar{width:1px}}main{scroll-snap-type:y proximity}main>section{scroll-snap-align:start;scroll-snap-stop:normal}@media(max-width:719px){main{scroll-snap-type:none}}@media(prefers-reduced-motion:reduce){main{scroll-snap-type:none}}.cursor-block{display:inline-block;width:.5em;height:.85em;margin-left:.04em;vertical-align:-.05em;background:var(--color-accent);animation:blink 1s steps(1,end) infinite}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.fade-in-on-load{opacity:0;transition:opacity var(--dur-slow) var(--ease-default)}body.loaded .fade-in-on-load{opacity:1}@media(prefers-reduced-motion:reduce){.cursor-block{animation:none;opacity:1}.fade-in-on-load{opacity:1;transition:none}}.wordmark{font-family:var(--font-mono);font-weight:500;font-size:clamp(2.5rem,10vw,9rem);line-height:var(--lh-tight);letter-spacing:-.02em;white-space:nowrap;margin:0 0 var(--space-3);background:linear-gradient(168deg,#fff 18%,#cdc6ff 92%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 32px rgba(110,86,249,.42))}.wordmark-3d{perspective:800px;perspective-origin:50% 50%;transform-style:preserve-3d;position:relative;display:inline-block}.wordmark-layer{font-family:var(--font-mono);font-weight:500;font-size:clamp(2.5rem,10vw,9rem);line-height:var(--lh-tight);letter-spacing:-.02em;white-space:nowrap;transform-style:preserve-3d}.wordmark-layer--back{color:#f5efe626;position:absolute;top:0;left:0;transform:translateZ(-30px)}.wordmark-layer--mid{color:#f5efe666;position:absolute;top:0;left:0;transform:translateZ(-15px)}.wordmark-layer--front{color:var(--color-type);position:relative;transform:translateZ(0);margin:0 0 var(--space-3)}@media(max-width:719px){.wordmark-3d{perspective:none}.wordmark-layer--back,.wordmark-layer--mid{display:none}}@media(prefers-reduced-motion:reduce){.wordmark-3d{perspective:none}.wordmark-layer--back,.wordmark-layer--mid{display:none}}.glyph-morph{display:inline-block;position:relative;overflow:hidden;width:1.5em;text-align:left;vertical-align:baseline}.glyph-morph__current,.glyph-morph__old{display:block;transition:transform .3s var(--ease-default),opacity .3s var(--ease-default)}.glyph-morph__old{position:absolute;top:0;left:0}.glyph-morph--animating .glyph-morph__old{transform:translateY(-100%);opacity:0}.glyph-morph--animating .glyph-morph__current{animation:glyph-in .3s var(--ease-default)}@keyframes glyph-in{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.glyph-morph__current,.glyph-morph__old{transition:none;animation:none}.glyph-morph--animating .glyph-morph__old{display:none}}
