@import "https://fonts.googleapis.com/css2?family=Unbounded:wght@300;500;700;900&family=Space+Grotesk:wght@300;400;500;600&display=swap";
:root{--bg:#06070d;--ink:#f2f4ff;--ink-dim:#f2f4ff9e;--cyan:#7dd6ff;--violet:#b48dff;--peach:#ff9d7d;--mint:#9dffb0;--font-display:"Unbounded", system-ui, sans-serif;--font-body:"Space Grotesk", system-ui, sans-serif;--glass-edge:#ffffff38}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-width:thin;scrollbar-color:#fff3 transparent}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);cursor:none;overflow-x:hidden}::selection{background:var(--violet);color:var(--bg)}.svg-defs{width:0;height:0;position:absolute;overflow:hidden}#webgl{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}#smooth-wrapper{z-index:2;position:relative}main{position:relative}section{padding:12vh 6vw;position:relative}.grain{z-index:40;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");width:200%;height:200%;animation:.6s steps(4,end) infinite grain-shift;position:fixed;inset:-50%}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,1.5%)}50%{transform:translate(1.5%,-1%)}75%{transform:translate(-1%,-2%)}to{transform:translate(2%,1%)}}.cursor,.cursor-dot{pointer-events:none;z-index:100;border-radius:50%;position:fixed;top:0;left:0}.cursor{-webkit-backdrop-filter:blur(2px)brightness(1.08);border:1.5px solid #ffffff80;width:38px;height:38px;margin:-19px 0 0 -19px;transition:width .25s,height .25s,margin .25s,border-color .25s}.cursor.is-hover{border-color:var(--cyan);width:72px;height:72px;margin:-36px 0 0 -36px}.cursor-dot{background:var(--cyan);width:5px;height:5px;margin:-2.5px 0 0 -2.5px}@media (hover:none){.cursor,.cursor-dot{display:none}body{cursor:auto}}.loader{z-index:90;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.loader-inner{flex-direction:column;align-items:center;gap:14px;display:flex}.loader-glyph{color:var(--cyan);font-size:56px;display:inline-block}.loader-text{font-family:var(--font-display);letter-spacing:.35em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.glass{border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(1.5)brightness(1.06);background:linear-gradient(120deg,#ffffff1a,#ffffff05 38%,#ffffff12 78%);border-radius:28px;position:relative;box-shadow:inset 0 1px #ffffff47,inset 0 -1px 1px #ffffff14,inset 2px 4px 12px #ffffff0f,0 24px 60px -18px #0009}@supports ((-webkit-backdrop-filter:url(#liquid-lens)) or (backdrop-filter:url(#liquid-lens))){.glass{-webkit-backdrop-filter:url(#liquid-lens)blur(3px)saturate(1.55)brightness(1.08);backdrop-filter:url(#liquid-lens)blur(3px)saturate(1.55)brightness(1.08)}.glass-strong{-webkit-backdrop-filter:url(#liquid-lens-strong)blur(2px)saturate(1.6)brightness(1.1);backdrop-filter:url(#liquid-lens-strong)blur(2px)saturate(1.6)brightness(1.1)}}.glass:before{content:"";border-radius:inherit;background:linear-gradient(115deg,#0000 30%,#ffffff24 46%,#ffffff08 52%,#0000 64%) 0 0/280% 280%;background-position:var(--sheen-x,80%) 50%;pointer-events:none;position:absolute;inset:0}.glass:after{content:"";border-radius:inherit;background:conic-gradient(from var(--rim-angle,210deg), #7dd6ff8c, #b48dff59, #ff9d7d80, #9dffb04d, #7dd6ff8c);-webkit-mask-composite:xor;opacity:.55;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.nav{z-index:50;justify-content:center;display:flex;position:fixed;top:22px;left:0;right:0}.nav-pill{border-radius:999px;align-items:center;gap:34px;padding:12px 14px 12px 26px;display:flex}.nav-logo{font-family:var(--font-display);color:var(--ink);font-size:22px;font-weight:900;text-decoration:none}.nav-logo span{color:var(--cyan)}.nav-links{gap:26px;display:flex}.nav-links a{color:var(--ink-dim);letter-spacing:.04em;font-size:14.5px;text-decoration:none;transition:color .25s}.nav-links a:hover{color:var(--ink)}.nav-cta{color:var(--bg);background:linear-gradient(120deg, var(--cyan), var(--violet));border-radius:999px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding-top:16vh;display:flex}.hero-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:10px;font-size:14px;display:flex}.kicker-dot{background:var(--mint);width:9px;height:9px;box-shadow:0 0 14px var(--mint);border-radius:50%}.hero-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:3vh 0 0;font-size:clamp(56px,13vw,190px);font-weight:900;line-height:1.02}.hero-title .char{background-image:linear-gradient(100deg, #fff 5%, var(--cyan) 35%, var(--violet) 65%, var(--peach) 95%);color:#0000;background-size:900% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-squiggle{width:min(560px,72vw);margin-top:-1vh;overflow:visible}.hero-sub{color:var(--ink-dim);margin-top:3.5vh;font-size:clamp(15px,1.5vw,19px);line-height:1.75}.hero-sub em{color:var(--peach);font-style:normal;font-weight:600}.hero-cta-row{margin-top:4.5vh}.btn-glass{color:var(--ink);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:12px;padding:16px 30px;font-size:15.5px;font-weight:600;text-decoration:none;display:inline-flex}.btn-big{font-size:clamp(17px,2.4vw,26px);font-family:var(--font-display);padding:26px 46px;font-weight:500}.scroll-hint{color:var(--ink-dim);letter-spacing:.3em;text-transform:uppercase;flex-direction:column;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;bottom:4.5vh;left:50%;transform:translate(-50%)}.hero-floaters,.contact-floaters{pointer-events:none;position:absolute;inset:0;overflow:hidden}.floater{opacity:0;will-change:transform;position:absolute}.marquee{background:#06070d59;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12;padding:4vh 0;overflow:hidden}.marquee-track{white-space:nowrap;font-family:var(--font-display);color:#0000;-webkit-text-stroke:1px #ffffff59;will-change:transform;font-size:clamp(28px,5vw,64px);font-weight:300;display:flex}.about{justify-content:center;padding-top:18vh;padding-bottom:18vh;display:flex}.about-card{max-width:980px;padding:clamp(34px,6vw,80px)}.section-tag{letter-spacing:.32em;text-transform:uppercase;color:var(--cyan);margin-bottom:3vh;font-size:12.5px}.section-tag.centered{text-align:center}.about-heading{font-family:var(--font-display);font-size:clamp(34px,5.4vw,72px);font-weight:700;line-height:1.12}.about-heading .line{display:block;overflow:hidden}.about-heading i{background:linear-gradient(100deg, var(--cyan), var(--peach));color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.about-body{max-width:640px;color:var(--ink-dim);margin-top:4vh;font-size:clamp(15px,1.4vw,18.5px);line-height:1.85}.stats{flex-wrap:wrap;gap:clamp(28px,5vw,80px);margin-top:6vh;display:flex}.stat-num,.stat-suffix{font-family:var(--font-display);color:var(--ink);font-size:clamp(36px,4.5vw,64px);font-weight:700}.stat-suffix{color:var(--violet);margin-left:4px;font-size:clamp(20px,2.4vw,32px)}.stat p{color:var(--ink-dim);margin-top:6px;font-size:14px}.work{flex-direction:column;justify-content:center;min-height:100vh;padding:0;display:flex;overflow:hidden}.work-header{padding:10vh 6vw 5vh}.work-heading{font-family:var(--font-display);font-size:clamp(30px,4.6vw,60px);font-weight:700}.work-track{will-change:transform;align-items:stretch;gap:clamp(24px,3vw,48px);width:max-content;padding:0 6vw 10vh;display:flex}.project{border-radius:32px;flex-direction:column;flex-shrink:0;width:clamp(300px,38vw,520px);display:flex;overflow:hidden}.project-visual{border-radius:28px 28px 0 0;place-items:center;height:clamp(220px,30vh,320px);display:grid;position:relative}.visual-a{background:radial-gradient(120% 130% at 20% 15%,#7dd6ff66,#0000 55%),radial-gradient(110% 120% at 85% 80%,#b48dff55,#0000 60%),#ffffff08}.visual-b{background:radial-gradient(120% 130% at 80% 20%,#b48dff66,#0000 55%),radial-gradient(110% 120% at 15% 85%,#ff9d7d55,#0000 60%),#ffffff08}.visual-c{background:radial-gradient(120% 130% at 25% 80%,#ff9d7d66,#0000 55%),radial-gradient(110% 120% at 80% 15%,#7dd6ff55,#0000 60%),#ffffff08}.visual-d{background:radial-gradient(120% 130% at 75% 75%,#9dffb066,#0000 55%),radial-gradient(110% 120% at 20% 20%,#7dd6ff55,#0000 60%),#ffffff08}.project-num{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1.5px #ffffff80;font-size:clamp(80px,9vw,140px);font-weight:900}.project-meta{padding:28px 30px 32px}.project-meta h3{font-family:var(--font-display);margin-bottom:12px;font-size:24px;font-weight:500}.project-meta p{color:var(--ink-dim);font-size:15px;line-height:1.7}.tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tags span{letter-spacing:.06em;color:var(--ink-dim);border:1px solid #ffffff2e;border-radius:999px;padding:6px 13px;font-size:12px}.work-endcap{min-width:38vw;font-family:var(--font-display);color:var(--ink-dim);text-align:center;place-items:center;font-size:clamp(22px,3vw,40px);line-height:1.5;display:grid}.process{padding-top:20vh;padding-bottom:16vh}.process-heading{text-align:center;font-family:var(--font-display);margin-bottom:8vh;font-size:clamp(30px,4.6vw,60px);font-weight:700}.process-body{max-width:920px;min-height:1400px;margin:0 auto;position:relative}.process-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.process-node{fill:var(--bg);stroke:var(--cyan);stroke-width:3px}.step{top:var(--step-y);border-radius:24px;width:min(380px,44%);padding:30px 32px;position:absolute}div.step:nth-of-type(odd){right:0}div.step:nth-of-type(2n){left:0}.step-no{color:var(--violet);font-size:26px}.step h3{font-family:var(--font-display);margin:10px 0 12px;font-size:21px;font-weight:500}.step p{color:var(--ink-dim);font-size:14.5px;line-height:1.7}.contact{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:95svh;display:flex}.contact-heading{font-family:var(--font-display);margin-bottom:7vh;font-size:clamp(40px,8vw,110px);font-weight:900;line-height:1.06}.contact-heading .line{display:block;overflow:hidden}.contact-heading .line:nth-child(2){background:linear-gradient(100deg, var(--cyan), var(--violet), var(--peach));color:#0000;-webkit-background-clip:text;background-clip:text}.footer{color:var(--ink-dim);flex-direction:column;align-items:center;gap:12px;margin-top:14vh;font-size:13px;display:flex}.footer-content{flex-direction:column;align-items:center;gap:8px;display:flex}.footer-content p{margin:0}.social-links{align-items:center;gap:20px;display:flex}.social-link{color:var(--ink-dim);letter-spacing:.05em;border-bottom:1px solid #0000;align-items:center;gap:6px;padding-bottom:2px;font-size:12px;text-decoration:none;transition:color .3s;display:flex}.social-link svg{width:16px;height:16px;transition:transform .3s}.social-link:hover{color:var(--cyan);border-bottom-color:var(--cyan)}.social-link:hover svg{transform:translateY(-2px)}.footer-hint{opacity:.5;margin:0;font-size:11.5px}@media (max-width:760px){.nav-links{display:none}.step{width:100%;margin-bottom:26px;position:relative;top:auto!important;left:auto!important;right:auto!important}.process-body{min-height:0}.process-svg{display:none}}@media (prefers-reduced-motion:reduce){.grain{animation:none}}
