:root{--bg: #05060a;--bg-soft: #0a0c14;--ink: #f4f1ea;--ink-dim: #8b8da0;--ink-faint: #4b4d63;--violet: #7b5cff;--cyan: #22e3ff;--magenta: #ff2e9a;--amber: #ffb547;--red: #ff3b30;--accent: var(--violet);--grad: linear-gradient(100deg, var(--cyan), var(--violet) 45%, var(--magenta));--maxw: 1320px;--pad: clamp(1.25rem, 4vw, 4rem);--font-display: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Space Mono", monospace;--ease: cubic-bezier(.22, 1, .36, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:auto}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;cursor:none}@media (pointer: coarse){body{cursor:auto}}a{color:inherit;text-decoration:none}::selection{background:var(--magenta);color:#fff}#webgl{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}.grain{position:fixed;inset:-50%;z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .6s steps(2) infinite}@keyframes grain{0%{transform:translate(0)}50%{transform:translate(-3%,2%)}to{transform:translate(2%,-2%)}}.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 120% at 50% 40%,transparent 55%,rgba(0,0,0,.65) 100%)}.loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s}.loader.is-done{opacity:0;visibility:hidden}.loader__inner{width:min(440px,80vw);text-align:center}.loader__mark{font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,12vw,7rem);letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1.5rem}.loader__bar{height:2px;width:100%;background:#ffffff14;overflow:hidden}.loader__bar span{display:block;height:100%;width:0%;background:var(--grad);transition:width .3s var(--ease)}.loader__meta{display:flex;justify-content:space-between;margin-top:1rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--ink-dim)}.cursor{position:fixed;top:0;left:0;z-index:90;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(255,255,255,.35);border-radius:50%;pointer-events:none;mix-blend-mode:difference;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s var(--ease),opacity .3s;display:grid;place-items:center}.cursor__dot{width:4px;height:4px;border-radius:50%;background:var(--ink)}.cursor.is-hover{width:72px;height:72px;margin:-36px 0 0 -36px;background:var(--ink);border-color:transparent}.cursor.is-hover .cursor__dot{opacity:0}@media (pointer: coarse){.cursor{display:none}}.nav{position:fixed;top:0;left:0;width:100%;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:clamp(1rem,2.5vw,1.8rem) var(--pad);mix-blend-mode:difference}.nav__logo{font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.02em}.nav__logo-dot{color:var(--magenta)}.nav__right{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem)}.nav__loc{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.18em;color:var(--ink-dim)}.nav__cta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.55rem 1rem;border:1px solid rgba(255,255,255,.5);border-radius:100px;transition:background .3s var(--ease),color .3s var(--ease)}.nav__cta:hover{background:var(--ink);color:var(--bg)}@media (max-width: 720px){.nav__loc{display:none}}.scroll-cue{position:fixed;bottom:1.6rem;left:50%;transform:translate(-50%);z-index:30;display:flex;flex-direction:column;align-items:center;gap:.6rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.25em;color:var(--ink-dim);transition:opacity .5s var(--ease)}.scroll-cue__line{width:1px;height:42px;background:#ffffff26;overflow:hidden;position:relative}.scroll-cue__line i{position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--ink);animation:cue 1.8s var(--ease) infinite}@keyframes cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(300%)}}.progress{position:fixed;top:0;left:0;z-index:41;width:100%;height:2px;background:transparent}.progress span{display:block;height:100%;width:0%;background:var(--grad);transform-origin:left}main{position:relative;z-index:10}.panel{position:relative;min-height:100vh;display:flex;align-items:center;padding:clamp(5rem,10vh,9rem) var(--pad);pointer-events:none}.panel *{pointer-events:auto}.wrap{width:100%;max-width:var(--maxw);margin:0 auto}.center{text-align:center;margin-left:auto;margin-right:auto}.eyebrow,.kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.3em;color:var(--ink-dim);margin-bottom:1.6rem}.kicker:before{content:"";display:inline-block;width:28px;height:1px;background:var(--accent);vertical-align:middle;margin-right:.8rem}.panel--hero{min-height:100vh}.hero{max-width:var(--maxw);margin:0 auto;width:100%}.hero__title{font-family:var(--font-display);font-weight:700;font-size:clamp(3.5rem,17vw,16rem);line-height:.86;letter-spacing:-.04em;margin:.5rem 0 2rem}.line{display:block;overflow:hidden}.line__in{display:block}.line--accent .line__in{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero__sub{max-width:30ch;font-size:clamp(1rem,1.5vw,1.3rem);color:var(--ink-dim);line-height:1.55}.big-statement{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,6.5vw,6rem);line-height:1.02;letter-spacing:-.03em;margin-bottom:2rem}.big-statement span,.big-statement.center span{display:block}.accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{max-width:52ch;font-size:clamp(1rem,1.4vw,1.25rem);color:var(--ink-dim);line-height:1.6}.lead.center{margin-left:auto;margin-right:auto}.section-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,5vw,4.2rem);letter-spacing:-.03em;line-height:1.02;margin-bottom:clamp(2.5rem,6vw,5rem)}.panel--galaxy{flex-direction:column;justify-content:flex-start;min-height:320vh;text-align:center}.galaxy-head{max-width:var(--maxw);margin:0 auto;padding-top:6vh}.galaxy-spacer{flex:1}.galaxy-foot{max-width:var(--maxw);margin:0 auto;padding-bottom:14vh}.panel--artifacts{min-height:130vh}.artifacts{list-style:none;display:grid;gap:0}.artifact{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem,4vw,3rem);padding:clamp(1.5rem,4vw,2.5rem) 0;border-top:1px solid rgba(255,255,255,.1);transition:padding-left .5s var(--ease)}.artifact:last-child{border-bottom:1px solid rgba(255,255,255,.1)}.artifact:hover{padding-left:clamp(.5rem,2vw,1.5rem)}.artifact__no{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-faint)}.artifact__body{max-width:60ch}.artifact__title{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,4vw,3rem);letter-spacing:-.02em;line-height:1.05;transition:color .4s var(--ease)}.artifact:hover .artifact__title{color:var(--cyan)}.artifact__blurb{color:var(--ink-dim);font-size:clamp(.92rem,1.1vw,1.05rem);margin-top:.5rem;max-width:52ch}.artifact__tag{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.15em;color:var(--ink);border:1px solid rgba(255,255,255,.2);border-radius:100px;padding:.4rem .8rem;white-space:nowrap}@media (max-width: 720px){.artifact{grid-template-columns:auto 1fr}.artifact__tag{display:none}}.panel--workflow{min-height:120vh}.flow{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;align-items:stretch}.flow li{flex:1 1 200px;min-width:160px;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.4rem 1.3rem 1.6rem;position:relative;overflow:hidden;background:#ffffff04;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .5s var(--ease),border-color .5s var(--ease)}.flow li:before{content:"";position:absolute;inset:0;background:var(--grad);opacity:0;transition:opacity .5s var(--ease);z-index:-1}.flow li:hover{transform:translateY(-6px);border-color:transparent}.flow li:hover:before{opacity:.14}.flow__no{font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.1em}.flow__step{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin:.6rem 0 .4rem;letter-spacing:-.01em}.flow__desc{color:var(--ink-dim);font-size:.88rem;line-height:1.45}.stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,3vw,2rem)}.stats li{border-top:1px solid rgba(255,255,255,.12);padding-top:1.2rem}.stat__value{font-family:var(--font-display);font-weight:700;font-size:clamp(2.8rem,8vw,7rem);line-height:.9;letter-spacing:-.04em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stat__label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--ink-dim);margin-top:.8rem}@media (max-width: 820px){.stats{grid-template-columns:repeat(2,1fr)}}.panel--contact{min-height:100vh}.cta-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2.6rem,11vw,11rem);line-height:.9;letter-spacing:-.04em;margin:1rem 0 2.5rem}.mega-cta{display:inline-block;font-family:var(--font-display);font-weight:500;font-size:clamp(1rem,3vw,2rem);letter-spacing:-.01em;padding-bottom:.3rem;background-image:var(--grad);background-repeat:no-repeat;background-position:0 100%;background-size:0% 2px;transition:background-size .5s var(--ease)}.mega-cta:hover{background-size:100% 2px}.footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:clamp(4rem,12vh,9rem);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;color:var(--ink-faint)}.reveal,[data-split]{will-change:transform,opacity}.char,.word{display:inline-block;will-change:transform}@media (prefers-reduced-motion: reduce){.grain,.scroll-cue__line i{animation:none}*{transition-duration:.01ms!important}}
