:root { --ink:#f4f2ed; --muted:#a8a5a0; --acid:#ff4fa7; --line:rgba(255,255,255,.15); --bg:#090909; --pointer-x:50%; --pointer-y:50%; --rainbow:linear-gradient(90deg,#ef3b9a 0%,#ff342e 13%,#ff9f2d 26%,#f8e94a 39%,#66e348 52%,#00bd88 65%,#20cde2 78%,#8069ff 90%,#ef3b9a 100%); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
#dimensionCanvas { position:fixed; z-index:3; inset:0; pointer-events:none; mix-blend-mode:screen; }
.spectralBackdrop { position:fixed; z-index:0; inset:-20%; pointer-events:none; opacity:.055; background:url('assets/cropped-colorbg.jpg') center/cover; filter:saturate(1.8) contrast(1.35); transform:rotate(-8deg) scale(1.2); animation:spectralDrift 18s ease-in-out infinite alternate; }
.scrollProgress { position:fixed; z-index:100; inset:0 0 auto; height:4px; background:var(--rainbow); background-size:220% 100%; transform:scaleX(0); transform-origin:left; box-shadow:0 0 20px #ff4fa7; animation:rainbowFlow 5s linear infinite; }
.cursorGlow { position:fixed; z-index:0; left:-170px; top:-170px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle,rgba(216,255,54,.12),transparent 68%); pointer-events:none; will-change:transform; }
main { position:relative; z-index:1; overflow:hidden; }
.reveal { opacity:0; transform:translateY(54px); transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1); }
.reveal.isVisible { opacity:1; transform:none; }
.nav { position:absolute; z-index:10; inset:0 0 auto; height:92px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid var(--line); }
.brand { font-weight:950; font-size:1.45rem; letter-spacing:-.08em; }
.brand span { color:var(--acid); }
.imageBrand img { display:block; width:150px; height:auto; }
.navLinks { display:flex; gap:2.5rem; font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; }
.navLinks a { opacity:.72; transition:.2s; }
.navLinks a:hover { opacity:1; color:var(--acid); }
.navCta { display:flex; align-items:center; gap:1.4rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:.85rem 1.15rem .85rem 1.35rem; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.navCta span,.primaryButton span { color:var(--acid); }
.hero { position:relative; min-height:100svh; overflow:hidden; padding:clamp(9rem,17vh,12rem) 5vw 2.2rem; display:flex; flex-direction:column; justify-content:flex-end; background:radial-gradient(circle at 78% 37%, #242b16 0, #11130e 22%, #090909 52%); }
.photoHero { background:#070707; }
.heroPhoto { position:absolute; inset:-8%; background:radial-gradient(circle at 72% 28%,rgba(216,255,54,.42),transparent 19%),radial-gradient(circle at 82% 48%,rgba(39,231,255,.3),transparent 27%),radial-gradient(circle at 62% 68%,rgba(255,43,157,.3),transparent 25%),conic-gradient(from 210deg at 76% 48%,#050505,#202805,#050505,#28071d,#050505); filter:saturate(1.25) contrast(1.08); transform:translateY(var(--parallax,0)) scale(1.08); will-change:transform; animation:heroBreath 10s ease-in-out infinite alternate; }
.heroSpaceCanvas { position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; mix-blend-mode:screen; filter:saturate(1.35) contrast(1.08); }
.heroAstronautRig { position:absolute; z-index:2; right:4vw; top:22vh; height:min(51vh,540px); aspect-ratio:2/3; pointer-events:none; opacity:.9; transform-origin:52% 47%; filter:drop-shadow(-15px 18px 32px rgba(0,0,0,.68)) drop-shadow(0 0 20px rgba(32,205,226,.22)); animation:astronautRigFloat 11s ease-in-out infinite alternate; }
.heroAstronautPose { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.heroAstronautPose.poseOne { animation:astronautPoseOne 6s ease-in-out infinite alternate; }
.heroAstronautPose.poseTwo { opacity:0; animation:astronautPoseTwo 6s ease-in-out infinite alternate; }
.heroShade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.16) 76%),linear-gradient(0deg,#080808 0%,transparent 44%); }
.chromaticVeil { position:absolute; inset:-10%; opacity:.18; background:url('assets/cropped-colorbg.jpg') center/140% 140%; mix-blend-mode:color-dodge; filter:saturate(2.2) contrast(1.5); transform:perspective(800px) rotateX(72deg) translateY(47%); animation:chromaticWave 9s ease-in-out infinite alternate; }
.portalCore { position:absolute; z-index:1; right:7vw; top:14vh; width:min(41vw,610px); aspect-ratio:1; transform:perspective(950px) rotateX(67deg) rotateZ(-18deg); transform-style:preserve-3d; filter:drop-shadow(0 0 30px rgba(216,255,54,.35)); }
.logo3d { position:absolute; z-index:3; right:4vw; top:15vh; width:min(36vw,580px); aspect-ratio:4.625; transform-style:preserve-3d; perspective:900px; animation:logo3dFlight 9s ease-in-out infinite alternate; }.logo3d img { position:absolute; inset:0; width:100%; height:auto; transform-style:preserve-3d; filter:drop-shadow(0 0 20px rgba(255,255,255,.3)); }.logo3d img:nth-child(1) { opacity:.28; filter:sepia(1) saturate(8) hue-rotate(52deg) drop-shadow(0 0 28px var(--acid)); transform:translate3d(-18px,16px,-80px); }.logo3d img:nth-child(2) { opacity:.34; filter:sepia(1) saturate(9) hue-rotate(270deg) drop-shadow(0 0 28px #ff2b9d); transform:translate3d(15px,-12px,-40px); }.logo3d img:nth-child(3) { transform:translateZ(35px); }.logo3d i { position:absolute; z-index:-1; left:20%; top:-130%; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(216,255,54,.32),rgba(255,43,157,.13) 37%,transparent 70%); filter:blur(25px); animation:corePulse 4s ease-in-out infinite; }
.portalCore i,.portalCore b { position:absolute; inset:0; border-radius:50%; border:2px solid rgba(216,255,54,.72); box-shadow:0 0 26px rgba(216,255,54,.42),inset 0 0 30px rgba(255,31,157,.2); animation:portalSpin 8s linear infinite; }.portalCore i:nth-child(2) { inset:13%; border-color:#ff2b9d; animation-direction:reverse; animation-duration:6s; }.portalCore i:nth-child(3) { inset:27%; border-style:dashed; border-color:#27e7ff; animation-duration:4s; }.portalCore b { inset:39%; border:0; background:radial-gradient(circle,#fff 0,var(--acid) 8%,rgba(255,30,150,.48) 28%,transparent 70%); animation:corePulse 2.6s ease-in-out infinite; }
.hero:before { content:""; position:absolute; inset:0; opacity:.08; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.8) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to right,transparent,black); }
.heroGlow { position:absolute; right:-8vw; top:8vh; width:min(55vw,700px); aspect-ratio:1; border-radius:50%; border:1px solid rgba(216,255,54,.25); box-shadow:0 0 120px rgba(216,255,54,.06),inset 0 0 120px rgba(216,255,54,.04); }
.heroGlow:after { content:"02"; position:absolute; right:14%; top:15%; color:var(--acid); font-size:.72rem; letter-spacing:.2em; }
.heroOrbit { position:absolute; border:1px solid rgba(216,255,54,.22); border-radius:50%; pointer-events:none; mix-blend-mode:screen; }
.orbitOne { right:-9vw; top:10vh; width:min(54vw,760px); aspect-ratio:1; animation:orbitPulse 7s ease-in-out infinite; box-shadow:inset 0 0 90px rgba(216,255,54,.035); }
.orbitTwo { right:9vw; top:27vh; width:min(28vw,390px); aspect-ratio:1; border-style:dashed; animation:spin 22s linear infinite; }
.heroTitle span { display:inline-block; animation:titleIn 1s cubic-bezier(.2,.8,.2,1) both; }.heroTitle em { display:inline-block; animation:titleIn 1s .12s cubic-bezier(.2,.8,.2,1) both; }
@keyframes titleIn { from { opacity:0; transform:translateY(80px) rotateX(-35deg); } to { opacity:1; transform:none; } }
@keyframes astronautRigFloat { from { transform:translate3d(-2%,-3%,0) rotate(-5deg) scale(.98); } to { transform:translate3d(5%,7%,45px) rotate(4deg) scale(1.035); } }
@keyframes astronautPoseOne { 0%,38% { opacity:1; transform:scale(1); } 58%,100% { opacity:0; transform:scale(1.008); } }
@keyframes astronautPoseTwo { 0%,38% { opacity:0; transform:scale(.992); } 58%,100% { opacity:1; transform:scale(1); } }
@keyframes orbitPulse { 50% { transform:scale(1.08); opacity:.55; } }
@keyframes spin { to { transform:rotate(360deg); } }
@keyframes portalSpin { to { transform:rotateZ(360deg) rotateX(18deg); } }
@keyframes corePulse { 50% { transform:scale(1.45) translateZ(65px); filter:hue-rotate(90deg); } }
@keyframes chromaticWave { to { background-position:50% 86%; transform:perspective(800px) rotateX(68deg) translateY(40%) scaleX(1.18); filter:saturate(2.8) contrast(1.8) hue-rotate(55deg); } }
@keyframes spectralDrift { to { transform:rotate(7deg) scale(1.35) translate3d(3%,-4%,0); filter:saturate(2.4) contrast(1.55) hue-rotate(70deg); } }
@keyframes heroBreath { to { transform:translateY(calc(var(--parallax,0) - 1.5%)) scale(1.14) rotate(2deg); filter:saturate(1.8) contrast(1.2) hue-rotate(75deg); } }
@keyframes logoOrbit { to { transform:translate3d(-5%,10%,80px) rotate(-2deg); opacity:.31; filter:drop-shadow(0 0 45px rgba(216,255,54,.35)); } }
@keyframes logo3dFlight { from { transform:perspective(900px) rotateX(8deg) rotateY(-19deg) rotateZ(-3deg) translate3d(0,0,0); } to { transform:perspective(900px) rotateX(-8deg) rotateY(20deg) rotateZ(3deg) translate3d(-6%,18%,90px) scale(1.06); } }
.eyebrow { position:relative; display:flex; align-items:center; gap:.8rem; margin-bottom:1.3rem; color:#c8c5bf; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow i { width:8px; height:8px; background:var(--acid); border-radius:50%; box-shadow:0 0 16px var(--acid); }
h1 { position:relative; max-width:1150px; margin:0; font-size:clamp(3.5rem,8.8vw,9.2rem); line-height:.81; letter-spacing:-.075em; text-transform:uppercase; font-weight:950; }
h1 em { color:transparent; -webkit-text-stroke:1.5px var(--acid); font-style:normal; }
.heroCopy { position:relative; max-width:590px; margin:2rem 0 1.7rem 34%; color:#c3c0ba; font-size:clamp(1rem,1.35vw,1.3rem); line-height:1.55; }
.heroActions { position:relative; margin-left:34%; display:flex; align-items:center; gap:2.2rem; }
.primaryButton { display:flex; gap:1.8rem; align-items:center; background:var(--ink); color:#111; border-radius:999px; padding:1rem 1.1rem 1rem 1.35rem; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; transition:.25s; }
.primaryButton:hover { background:var(--rainbow); background-size:220% 100%; transform:translateY(-2px); animation:rainbowFlow 3s linear infinite; }
.primaryButton:hover span { color:#111; }
.textLink { color:#b5b1ab; border-bottom:1px solid #77736d; padding:.65rem 0; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.textLink span { margin-left:1rem; color:var(--acid); }
.heroRail { position:relative; display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(2.2rem,6vh,4.5rem); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.heroRail a { display:grid; gap:.35rem; padding:1.15rem 1.2rem 1.15rem 0; transition:.25s; }
.heroRail a+a { border-left:1px solid var(--line); padding-left:1.5rem; }
.heroRail a:hover { background:rgba(216,255,54,.05); }
.heroRail small { color:var(--acid); letter-spacing:.15em; font-size:.58rem; }
.heroRail strong { font-size:clamp(1.3rem,2.2vw,2.4rem); letter-spacing:-.05em; }
.heroRail span { color:#8e8a84; font-size:.7rem; }
.scrollMark { position:absolute; right:2.4vw; bottom:2rem; display:flex; align-items:center; gap:1rem; transform:rotate(90deg); transform-origin:right bottom; color:#6f6c67; font-size:.56rem; letter-spacing:.18em; }
.scrollMark i { display:block; width:44px; height:1px; background:var(--acid); }
@media (max-width:780px) {
  .nav { height:72px; padding:0 1.25rem; }.navLinks { display:none; }.navCta { padding:.72rem 1rem; }
  .hero { padding:8rem 1.25rem 1rem; min-height:100svh; } h1 { font-size:clamp(3.4rem,17vw,6rem); line-height:.84; }
  .heroCopy,.heroActions { margin-left:0; }.heroCopy { font-size:1rem; margin-top:1.7rem; }.heroActions { gap:1.2rem; flex-wrap:wrap; }
  .heroRail { grid-template-columns:1fr; margin-top:2rem; }.heroRail a+a { border-left:0; border-top:1px solid var(--line); padding-left:0; }
  .heroRail a { grid-template-columns:92px 1fr; align-items:center; padding:.8rem 0; }.heroRail span,.scrollMark { display:none; }
}

.sectionTag { color:transparent; font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; background:var(--rainbow); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; animation:rainbowFlow 6s linear infinite; }
.statement { padding:10rem 9vw; display:grid; grid-template-columns:1fr 3fr; gap:5vw; border-bottom:1px solid var(--line); }
.statement p { margin:0; max-width:1000px; font-size:clamp(2.2rem,4.6vw,5.3rem); line-height:1.03; letter-spacing:-.055em; font-weight:700; }
.statement p span { color:var(--acid); }
.solutions { position:relative; padding:9rem 5vw 7rem; background:#090909; isolation:isolate; }.solutions:before { content:"SOLVE"; position:absolute; right:-3vw; top:2rem; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.045); font-size:25vw; line-height:1; font-weight:950; letter-spacing:-.12em; pointer-events:none; }.solutions:after { content:""; position:absolute; z-index:-1; inset:-15% -20%; opacity:.1; background:url('assets/cropped-colorbg.jpg') center/cover; filter:saturate(2.3) blur(5px); transform:rotate(14deg) scale(1.18); animation:spectralDrift 16s ease-in-out infinite alternate-reverse; }
.solutionsHead { position:relative; z-index:2; display:grid; grid-template-columns:.8fr 2.3fr 1fr; align-items:end; gap:4vw; margin-bottom:6rem; }.solutionsHead h2 { margin:0; font-size:clamp(4.3rem,8.5vw,10rem); line-height:.77; letter-spacing:-.085em; text-transform:uppercase; }.solutionsHead h2 em { color:transparent; -webkit-text-stroke:1.5px var(--acid); font-style:normal; }.solutionsHead>p { color:#aaa6a0; line-height:1.65; }
.solutionGrid { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); perspective:1000px; }.solutionCard { position:relative; min-height:610px; overflow:hidden; background:#111; transform-style:preserve-3d; transition:transform .18s ease-out; }.solutionCard img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.48; filter:grayscale(.4) contrast(1.12); transform:scale(1.04); transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s,opacity .8s; }.solutionCard:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#080808 1%,rgba(8,8,8,.9) 29%,transparent 74%); }.solutionCard>div { position:absolute; z-index:2; inset:auto 1.7rem 1.8rem; transform:translateZ(28px); }.solutionCard span { color:var(--acid); font-size:.6rem; letter-spacing:.18em; }.solutionCard h3 { margin:1rem 0; font-size:clamp(2.7rem,3.8vw,4.8rem); line-height:.79; letter-spacing:-.07em; text-transform:uppercase; }.solutionCard p { color:#aaa6a0; line-height:1.55; min-height:76px; }.solutionCard b { display:block; padding-top:1.2rem; border-top:1px solid var(--line); color:#85817b; font-size:.54rem; letter-spacing:.13em; }.solutionCard:hover img { opacity:.75; filter:grayscale(0) saturate(1.15) contrast(1.04); transform:scale(1.12); }.solutionCard:hover h3 { color:var(--acid); }
.solutionOutro { position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:4rem 0 0; }.solutionOutro p { margin:0; font-size:clamp(1.5rem,2.6vw,3rem); letter-spacing:-.04em; }.solutionOutro a { display:inline-flex; align-items:center; justify-content:center; min-width:230px; min-height:70px; padding:1rem 2rem; border-radius:999px; background:var(--rainbow); background-size:220% 100%; color:#090909; font-size:.68rem; font-weight:bold; letter-spacing:.08em; text-transform:uppercase; transition:transform .15s; animation:rainbowFlow 5s linear infinite; }
.marquee { overflow:hidden; padding:1rem 0; border-bottom:1px solid var(--line); background:url('assets/cropped-colorbg.jpg') center 54%/cover; color:#0b0b0b; transform:rotate(-1.2deg) scale(1.02); box-shadow:0 0 45px rgba(255,79,167,.25); }
.marquee div { width:max-content; font-weight:950; font-size:clamp(1.4rem,2.5vw,3rem); letter-spacing:-.04em; white-space:nowrap; animation:marquee 22s linear infinite; }
@keyframes marquee { to { transform:translateX(-50%); } }
.webLab { position:relative; padding:10rem 6vw 7rem; background:radial-gradient(circle at 52% 35%,#20270d 0,#0b0b0b 38%,#070707 70%); perspective:1200px; }
.webLab:before { content:""; position:absolute; inset:0; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(circle at center,black,transparent 70%); }
.webLab:after { content:""; position:absolute; z-index:0; inset:16% -20% 25%; opacity:.12; background:url('assets/cropped-colorbg.jpg') center/cover; mix-blend-mode:screen; transform:rotate(-12deg) skewY(-7deg); filter:blur(2px) saturate(2); animation:spectralDrift 12s ease-in-out infinite alternate-reverse; }
.labIntro { position:relative; z-index:2; display:grid; grid-template-columns:1fr 2.4fr 1fr; gap:3vw; align-items:end; }
.labIntro h2 { margin:0; font-size:clamp(4rem,8.5vw,9.6rem); line-height:.79; letter-spacing:-.08em; text-transform:uppercase; }.labIntro h2 em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--acid); }.labIntro p { color:#aaa6a0; line-height:1.65; }
.webStage { position:relative; z-index:2; height:min(74vw,880px); min-height:640px; margin:4rem auto 2rem; transform-style:preserve-3d; }
.stageHalo { position:absolute; left:50%; top:48%; width:55vw; height:55vw; max-width:720px; max-height:720px; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(216,255,54,.28),rgba(216,255,54,.04) 44%,transparent 70%); filter:blur(18px); animation:orbitPulse 5s ease-in-out infinite; }
.browserMock { position:absolute; overflow:hidden; border:1px solid rgba(255,255,255,.32); border-radius:18px; background:#111; box-shadow:0 35px 100px rgba(0,0,0,.7); transform-style:preserve-3d; will-change:transform; transition:transform .18s ease-out; }
.browserBar { height:42px; display:flex; align-items:center; gap:7px; padding:0 15px; border-bottom:1px solid var(--line); background:rgba(13,13,13,.95); }.browserBar i { width:7px; height:7px; border-radius:50%; background:#666; }.browserBar i:first-child { background:var(--acid); }.browserBar span { margin-left:auto; margin-right:auto; color:#777; font-size:.58rem; letter-spacing:.12em; }
.mockBack { left:3%; top:21%; width:54%; height:53%; transform:translateY(var(--parallax,0)) rotateY(19deg) rotateX(5deg) translateZ(-80px); }.mockBack img { width:100%; height:100%; object-fit:cover; opacity:.58; }.mockBack:after { content:""; position:absolute; inset:42px 0 0; background:linear-gradient(90deg,rgba(0,0,0,.9),transparent); }.mockBack b { position:absolute; z-index:2; left:5%; bottom:8%; font-size:clamp(2.2rem,5vw,6rem); line-height:.8; letter-spacing:-.07em; }
.mockFront { right:5%; top:10%; width:58%; height:59%; transform:translateY(var(--parallax,0)) rotateY(-12deg) rotateX(4deg) translateZ(90px); }.mockScreen { height:calc(100% - 42px); padding:7%; display:flex; flex-direction:column; justify-content:center; background:radial-gradient(circle at 75% 25%,#c9ff19,#333b19 22%,#111 48%); }.mockScreen small { color:var(--acid); letter-spacing:.2em; }.mockScreen strong { margin:.8rem 0 1.6rem; font-size:clamp(4rem,8vw,9rem); line-height:.72; letter-spacing:-.09em; }.mockScreen span { width:max-content; padding:.8rem 1rem; border:1px solid #777; border-radius:999px; font-size:.62rem; letter-spacing:.12em; }
.phoneMock { position:absolute; z-index:4; left:47%; bottom:2%; width:min(22vw,260px); aspect-ratio:.52; padding:7px; border:1px solid #888; border-radius:32px; background:#080808; box-shadow:0 35px 80px #000; overflow:hidden; transform:translateY(var(--parallax,0)) rotate(-8deg) translateZ(190px); }.phoneMock img { width:100%; height:100%; object-fit:cover; border-radius:25px; opacity:.67; }.phoneMock:after { content:""; position:absolute; inset:7px; border-radius:25px; background:linear-gradient(0deg,#000,transparent 70%); }.phonePill { position:absolute; z-index:4; left:50%; top:16px; width:32%; height:16px; transform:translateX(-50%); background:#080808; border-radius:99px; }.phoneMock strong { position:absolute; z-index:3; bottom:10%; left:10%; font-size:clamp(2rem,3.4vw,4rem); line-height:.8; letter-spacing:-.07em; }
.floatLabel { position:absolute; z-index:6; padding:.72rem 1rem; border:1px solid var(--acid); border-radius:999px; background:rgba(8,8,8,.7); color:var(--acid); backdrop-filter:blur(10px); font-size:.6rem; letter-spacing:.14em; animation:float 4s ease-in-out infinite; }.labelA { left:10%; top:12%; }.labelB { right:4%; top:70%; animation-delay:-1.5s; }.labelC { left:28%; bottom:5%; animation-delay:-2.6s; }
@keyframes float { 50% { transform:translateY(-15px) rotate(2deg); } }
.realityBreak { position:relative; z-index:3; min-height:930px; display:grid; place-items:center; margin:3rem -6vw 7rem; overflow:hidden; isolation:isolate; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#080808; }.realityBreak:before { content:""; position:absolute; inset:-25%; z-index:-3; background:url('assets/cropped-colorbg.jpg') center/cover; filter:saturate(1.8) contrast(1.2); animation:realityFlow 13s ease-in-out infinite alternate; }.realityBreak:after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),transparent 0,rgba(0,0,0,.18) 37%,#070707 82%),repeating-linear-gradient(90deg,transparent 0 8vw,rgba(0,0,0,.18) 8vw 8.2vw); mix-blend-mode:multiply; }
.realityPortrait { position:absolute; z-index:-2; inset:-8%; width:116%; height:116%; object-fit:cover; object-position:center; opacity:.68; filter:grayscale(1) contrast(1.25); mix-blend-mode:luminosity; mask-image:radial-gradient(ellipse at center,black 15%,rgba(0,0,0,.78) 45%,transparent 76%); animation:portraitBeyond 11s ease-in-out infinite alternate; }.realityLogo { position:absolute; z-index:2; left:50%; top:9%; width:min(38vw,600px); transform:translateX(-50%); opacity:.24; mix-blend-mode:screen; filter:drop-shadow(0 0 26px rgba(255,255,255,.4)); animation:realityLogo 6s ease-in-out infinite alternate; }
.riftBeam { position:absolute; z-index:0; left:50%; top:50%; width:160vw; height:12vw; min-height:80px; background:linear-gradient(90deg,transparent,#ff2b9d 26%,#fff 48%,var(--acid) 54%,#27e7ff 72%,transparent); mix-blend-mode:screen; filter:blur(24px); opacity:.32; transform-origin:center; pointer-events:none; }.beamOne { animation:riftOne 7s ease-in-out infinite alternate; }.beamTwo { animation:riftTwo 9s ease-in-out infinite alternate-reverse; opacity:.18; }
.realityBreak p { position:relative; z-index:3; margin:0; font-size:clamp(6rem,15vw,18rem); line-height:.61; letter-spacing:-.1em; font-weight:950; text-align:center; text-transform:uppercase; text-shadow:0 0 40px rgba(0,0,0,.4); }.realityBreak p em { font-style:normal; color:transparent; -webkit-text-stroke:2px white; }.realityBreak>span { position:absolute; z-index:4; right:5%; bottom:7%; font-size:.65rem; line-height:1.6; letter-spacing:.2em; text-align:right; }
.spectralDisc { position:absolute; width:min(63vw,770px); aspect-ratio:1; border-radius:50%; transform-style:preserve-3d; animation:discFloat 7s ease-in-out infinite; }.spectralDisc i { position:absolute; inset:0; border:1px solid rgba(255,255,255,.62); border-radius:50%; box-shadow:0 0 28px rgba(255,255,255,.3); }.spectralDisc i:nth-child(1) { transform:rotateX(68deg); }.spectralDisc i:nth-child(2) { transform:rotateY(68deg); border-color:var(--acid); }.spectralDisc i:nth-child(3) { inset:18%; transform:rotateX(58deg) rotateY(44deg); border-color:#ff2b9d; }
@keyframes realityFlow { to { transform:scale(1.2) rotate(4deg) translateY(5%); filter:saturate(2.4) contrast(1.4) hue-rotate(120deg); } }
@keyframes discFloat { 50% { transform:rotateZ(20deg) scale(1.08); filter:hue-rotate(90deg); } }
@keyframes portraitBeyond { to { transform:scale(1.12) translate3d(-2%,2%,0); filter:grayscale(.55) contrast(1.38) hue-rotate(35deg); opacity:.84; } }
@keyframes realityLogo { to { transform:translateX(-50%) translateY(18px) scale(1.08); opacity:.43; filter:drop-shadow(0 0 50px rgba(216,255,54,.55)); } }
@keyframes riftOne { from { transform:translate(-50%,-50%) rotate(-18deg) scaleX(.75); } to { transform:translate(-50%,-50%) rotate(19deg) scaleX(1.15); filter:blur(40px) hue-rotate(80deg); } }
@keyframes riftTwo { from { transform:translate(-50%,-50%) rotate(51deg) scaleX(.7); } to { transform:translate(-50%,-50%) rotate(126deg) scaleX(1.2); filter:blur(46px) hue-rotate(150deg); } }
.labGrid { position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.labCard { min-height:430px; padding:2rem; background:rgba(10,10,10,.9); transform-style:preserve-3d; transition:transform .18s ease-out,background .3s; }.labCard:hover { background:#15180d; }.labCard>span { color:var(--acid); font-size:.65rem; }.labCard h3 { margin:4rem 0 2rem; font-size:clamp(2.7rem,4vw,5rem); line-height:.8; letter-spacing:-.07em; text-transform:uppercase; transform:translateZ(35px); }.labCard p { max-width:340px; color:#aaa6a0; line-height:1.6; }.labCard b { display:block; margin-top:3rem; color:#777; font-size:.57rem; letter-spacing:.13em; }
.labPromise { position:relative; z-index:2; padding:10rem 0 2rem; }.labPromise>span { display:block; color:transparent; background:var(--rainbow); background-size:220% 100%; -webkit-background-clip:text; background-clip:text; animation:rainbowFlow 6s linear infinite; font-size:clamp(1rem,1.6vw,1.8rem); letter-spacing:.2em; }.labPromise>strong { display:block; margin-top:1rem; font-size:clamp(7rem,18vw,22rem); line-height:.62; letter-spacing:-.105em; }.labPromise>a { position:absolute; right:3%; bottom:8%; width:170px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:var(--rainbow); background-size:220% 100%; color:#090909; text-align:center; font-size:.72rem; font-weight:bold; text-transform:uppercase; transition:transform .15s; animation:rainbowFlow 5s linear infinite; }
.worlds { position:relative; display:grid; grid-template-columns:repeat(3,1fr); background:#080808; }.worlds:before { content:""; position:absolute; z-index:0; inset:-25%; opacity:.16; pointer-events:none; background:conic-gradient(from 45deg at var(--pointer-x) var(--pointer-y),transparent,#ff2b9d55,transparent,#27e7ff55,transparent,var(--acid)); filter:blur(70px); animation:spin 24s linear infinite; }
.world { min-height:760px; position:relative; overflow:hidden; border-right:1px solid var(--line); padding:2rem; transition:.35s; }
.world:last-child { border:0; }.world:hover { background:#111; }
.worldPhoto { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.55; filter:grayscale(.25) contrast(1.05); transition:.5s; }.world:hover .worldPhoto { opacity:.72; transform:scale(1.025); }.world:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.15) 72%); }
.worldTop { display:flex; justify-content:space-between; color:#9b9892; font-size:.62rem; letter-spacing:.15em; }
.worldTop,.worldBody { z-index:2; position:relative; }.worldBody { position:absolute; inset:auto 2rem 2.6rem; }
.ghostWord { position:absolute; bottom:80%; left:-1rem; margin:0; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.09); font-size:clamp(6rem,11vw,12rem); line-height:.7; font-weight:950; transform:rotate(-90deg); transform-origin:left bottom; }
.world h2 { margin:0 0 1.4rem; font-size:clamp(3rem,5vw,6rem); line-height:.85; letter-spacing:-.075em; }
.worldBody>p:not(.ghostWord) { color:#aaa6a0; line-height:1.55; min-height:92px; }
.world ul { list-style:none; padding:1.4rem 0; margin:1.6rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.world li { padding:.3rem 0; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.world a,.nextEvent a { display:flex; justify-content:space-between; color:var(--acid); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; }
.worldArtist { background:radial-gradient(circle at 50% 15%,#1e2811,#0a0a0a 46%); }.worldEvent { background:radial-gradient(circle at 60% 18%,#23121e,#0a0a0a 48%); }.worldStudio { background:radial-gradient(circle at 60% 18%,#15202b,#0a0a0a 48%); }
.proof { padding:9rem 6vw; background:var(--acid); color:#101010; }
.proof .sectionTag { color:#101010; }.proofIntro { display:flex; justify-content:space-between; align-items:flex-start; gap:3rem; }
.proofIntro h2 { margin:0; font-size:clamp(3rem,6vw,7rem); letter-spacing:-.07em; line-height:.88; text-transform:uppercase; }.proofIntro em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px #111; }
.numbers { display:grid; grid-template-columns:repeat(3,1fr); margin-top:8rem; border-top:1px solid rgba(0,0,0,.35); border-bottom:1px solid rgba(0,0,0,.35); }
.numbers div { padding:2.5rem 0; display:flex; flex-direction:column; }.numbers div+div { border-left:1px solid rgba(0,0,0,.35); padding-left:2rem; }
.numbers strong { font-size:clamp(3rem,6vw,7rem); letter-spacing:-.08em; line-height:1; }.numbers span { font-size:.65rem; letter-spacing:.16em; margin-top:.5rem; }
.quote { display:flex; justify-content:flex-end; gap:4rem; margin-top:5rem; }.quote p { margin:0; max-width:650px; font-size:clamp(1.6rem,3vw,3.5rem); line-height:1.1; letter-spacing:-.045em; }.quote span { align-self:flex-end; font-size:.62rem; letter-spacing:.12em; }
.caseStudy { position:relative; min-height:900px; display:grid; grid-template-columns:1.15fr .85fr; overflow:hidden; background:#080808; border-bottom:1px solid var(--line); }.caseVisual { position:relative; min-height:760px; overflow:hidden; clip-path:polygon(0 0,93% 0,100% 100%,0 100%); }.caseVisual>img { position:absolute; inset:-5%; width:110%; height:110%; object-fit:cover; filter:grayscale(1) contrast(1.2); animation:caseImage 12s ease-in-out infinite alternate; }.caseVisual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,#080808),linear-gradient(0deg,rgba(0,0,0,.82),transparent 45%); }.caseVisual>span { position:absolute; z-index:3; left:4vw; bottom:4vw; color:var(--acid); font-size:.62rem; letter-spacing:.2em; }.caseRings { position:absolute; z-index:2; left:50%; top:45%; width:48vw; max-width:620px; aspect-ratio:1; transform:translate(-50%,-50%) perspective(800px) rotateX(66deg); }.caseRings i { position:absolute; inset:0; border:1px solid rgba(216,255,54,.55); border-radius:50%; box-shadow:0 0 28px rgba(216,255,54,.18); animation:portalSpin 9s linear infinite; }.caseRings i:nth-child(2) { inset:16%; border-color:#ff2b9d; animation-direction:reverse; animation-duration:6s; }.caseRings i:nth-child(3) { inset:31%; border-style:dashed; border-color:#27e7ff; animation-duration:4s; }.caseCopy { position:relative; z-index:4; align-self:center; padding:7rem 6vw 7rem 2vw; }.caseCopy h2 { margin:1.8rem 0 2rem; font-size:clamp(4rem,7vw,8.5rem); line-height:.76; letter-spacing:-.08em; text-transform:uppercase; }.caseCopy h2 em { color:transparent; -webkit-text-stroke:1.5px var(--acid); font-style:normal; }.caseCopy>p { max-width:570px; color:#aaa6a0; font-size:1.05rem; line-height:1.7; }.caseCopy ul { list-style:none; padding:0; margin:3rem 0; border-top:1px solid var(--line); }.caseCopy li { display:flex; gap:1.2rem; padding:1rem 0; border-bottom:1px solid var(--line); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; }.caseCopy li span { color:var(--acid); }.caseCopy .primaryButton { width:max-content; }
@keyframes caseImage { to { transform:scale(1.08) translate3d(-2%,2%,0); filter:grayscale(.4) contrast(1.15) hue-rotate(18deg); } }
.references { position:relative; overflow:hidden; padding:10rem 6vw 8rem; background:#0c0c0c; isolation:isolate; }.references:before { content:""; position:absolute; z-index:-1; inset:-40% -20%; opacity:.12; background:url('assets/cropped-colorbg.jpg') center/cover; filter:saturate(2.4) blur(6px); transform:rotate(-38deg); animation:spectralDrift 15s ease-in-out infinite alternate; }.referenceIntro { display:grid; grid-template-columns:.75fr 2.2fr 1fr; gap:4vw; align-items:end; margin-bottom:6rem; }.referenceIntro h2 { margin:0; font-size:clamp(4rem,8vw,9rem); line-height:.78; letter-spacing:-.08em; text-transform:uppercase; }.referenceIntro h2 em { color:transparent; -webkit-text-stroke:1.5px var(--acid); font-style:normal; }.referenceIntro>p { color:#aaa6a0; line-height:1.65; }
.referenceNames { border-top:1px solid var(--line); }.referenceNames a { position:relative; display:grid; grid-template-columns:80px 1fr auto; align-items:center; min-height:120px; border-bottom:1px solid var(--line); font-size:clamp(2.1rem,4vw,5.2rem); font-weight:800; letter-spacing:-.055em; text-transform:uppercase; transition:color .3s,padding .3s,background .3s; }.referenceNames a:after { content:"↗"; color:var(--acid); font-size:1rem; }.referenceNames a span { color:var(--acid); font-size:.6rem; letter-spacing:.15em; }.referenceNames a:hover { padding-left:1.5rem; color:#090909; background:var(--acid); }.referenceNames a:hover span,.referenceNames a:hover:after { color:#090909; }
.contactPerson { margin-top:8rem; display:grid; grid-template-columns:1fr 1fr; min-height:510px; border:1px solid var(--line); background:rgba(7,7,7,.82); backdrop-filter:blur(18px); }.personMark { position:relative; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),rgba(216,255,54,.28),rgba(255,43,157,.12) 35%,#080808 68%); }.personMark:before,.personMark:after { content:""; position:absolute; width:70%; aspect-ratio:1; border:1px solid var(--acid); border-radius:50%; animation:spin 12s linear infinite; }.personMark:after { width:45%; border-color:#ff2b9d; border-style:dashed; animation-direction:reverse; animation-duration:8s; }.personMark img { position:relative; z-index:2; width:64%; filter:drop-shadow(0 0 30px rgba(255,255,255,.25)); animation:logoOrbit 7s ease-in-out infinite alternate; }.personMark i { position:absolute; width:22%; aspect-ratio:1; border-radius:50%; background:var(--acid); filter:blur(45px); animation:corePulse 3s ease-in-out infinite; }.contactPerson>div:last-child { padding:5rem; align-self:center; }.contactPerson h3 { margin:1.2rem 0; font-size:clamp(5rem,9vw,11rem); line-height:.75; letter-spacing:-.09em; text-transform:uppercase; }.contactPerson p { max-width:520px; color:#aaa6a0; line-height:1.65; }.contactPerson a { display:flex; justify-content:space-between; margin-top:3rem; padding:1.2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--acid); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.nextEvent { min-height:760px; padding:7rem 7vw; display:grid; grid-template-columns:1fr 1fr; background:linear-gradient(120deg,#080808 40%,#28131f); }
.eventDate { color:transparent; -webkit-text-stroke:1px #777; font-size:clamp(4rem,10vw,11rem); line-height:.78; font-weight:900; letter-spacing:-.08em; }
.eventInfo { align-self:end; }.eventInfo>span { color:var(--acid); font-size:.65rem; letter-spacing:.16em; }.eventInfo h2 { margin:1rem 0; font-size:clamp(4rem,7.5vw,8rem); line-height:.82; letter-spacing:-.075em; text-transform:uppercase; }.eventInfo p { color:#aaa6a0; }.eventInfo a { margin-top:3rem; padding:1.2rem 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.process { position:relative; padding:9rem 7vw; overflow:hidden; }.process:before { content:""; position:absolute; inset:-60% -20%; opacity:.08; pointer-events:none; background:url('assets/cropped-colorbg.jpg') center/cover; transform:rotate(68deg); animation:spectralDrift 20s ease-in-out infinite alternate; }.process>* { position:relative; }.process>h2 { font-size:clamp(3rem,6vw,7rem); letter-spacing:-.07em; line-height:.9; text-transform:uppercase; }.process>h2 em { color:var(--acid); font-style:normal; }
.gallerySection { padding:9rem 4vw; background:#0d0d0d; border-top:1px solid var(--line); }
.galleryHead { display:grid; grid-template-columns:2fr 1fr; align-items:end; gap:5vw; padding:0 3vw 5rem; }.galleryHead h2 { margin:1.5rem 0 0; font-size:clamp(5rem,11vw,12rem); line-height:.68; letter-spacing:-.095em; text-transform:uppercase; }.galleryHead h2 em { color:transparent; -webkit-text-stroke:1.5px var(--acid); font-style:normal; }.galleryHead>p { color:#aaa6a0; line-height:1.7; max-width:470px; }
.photoWall { columns:4 260px; column-gap:18px; perspective:1200px; }.photoWall figure { position:relative; break-inside:avoid; margin:0 0 18px; padding:5px; overflow:hidden; border-radius:clamp(18px,2vw,30px); background:var(--rainbow); background-size:220% 100%; transform-style:preserve-3d; box-shadow:0 16px 42px rgba(0,0,0,.42); transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s; animation:rainbowFlow 11s linear infinite; }.photoWall figure::before { content:""; position:absolute; z-index:1; inset:5px; pointer-events:none; border-radius:calc(clamp(18px,2vw,30px) - 5px); background:linear-gradient(145deg,rgba(32,205,226,.16),transparent 38%,rgba(239,59,154,.2)),linear-gradient(0deg,rgba(5,5,8,.55),transparent 48%); opacity:.78; transition:opacity .45s; }.photoWall figure::after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; border:1px solid rgba(255,255,255,.26); border-radius:inherit; box-shadow:inset 0 0 28px rgba(255,255,255,.08); }.photoWall img { width:100%; height:auto; display:block; border-radius:calc(clamp(18px,2vw,30px) - 5px); filter:grayscale(.5) saturate(.72) contrast(1.08); transition:filter .55s,transform .7s cubic-bezier(.2,.8,.2,1); }.photoWall figure:hover { z-index:3; transform:translateY(-10px) rotateX(2deg) rotateY(-2deg) scale(1.035); box-shadow:0 28px 70px rgba(0,0,0,.7),0 0 38px rgba(255,79,167,.28); }.photoWall figure:hover::before { opacity:.22; }.photoWall figure:hover img { filter:grayscale(0) saturate(1.2) contrast(1.03); transform:scale(1.075); }.photoWall figcaption { position:absolute; z-index:3; inset:auto 5px 5px; padding:3.5rem .9rem .8rem; opacity:0; transform:translateY(12px); border-radius:0 0 calc(clamp(18px,2vw,30px) - 5px) calc(clamp(18px,2vw,30px) - 5px); color:white; font-size:.55rem; letter-spacing:.14em; background:linear-gradient(transparent,rgba(0,0,0,.9)); transition:opacity .3s,transform .35s; }.photoWall figure:hover figcaption { opacity:1; transform:translateY(0); }

@keyframes rainbowFlow { to { background-position:220% 0; } }
.steps { margin-top:6rem; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.steps>div { padding:2rem 2rem 2rem 0; }.steps>div+div { padding-left:2rem; border-left:1px solid var(--line); }.steps span { color:var(--acid); font-size:.65rem; }.steps h3 { font-size:2rem; margin:3.5rem 0 1rem; letter-spacing:-.04em; }.steps p { color:#97938d; line-height:1.6; max-width:330px; }
.contact { position:relative; overflow:hidden; padding:8rem 7vw 3rem; background:#121212; }.contactGlow { position:absolute; right:-12vw; top:-15vw; width:55vw; aspect-ratio:1; border:1px solid rgba(216,255,54,.25); border-radius:50%; box-shadow:0 0 150px rgba(216,255,54,.07); }.contactLogo { position:absolute; right:-7vw; top:2rem; width:min(58vw,920px); opacity:.035; animation:logoDrift 8s ease-in-out infinite alternate; }.contact h2 { position:relative; margin:2rem 0; font-size:clamp(6rem,16vw,17rem); line-height:.62; letter-spacing:-.1em; text-transform:uppercase; }.contact h2 em { color:var(--acid); font-style:normal; }.contact>p { position:relative; margin-left:45%; max-width:560px; color:#aaa6a0; line-height:1.6; font-size:1.1rem; }
@keyframes logoDrift { to { transform:translate3d(-4%,7%,0) scale(1.07); opacity:.075; } }
.contactActions { position:relative; margin:3rem 0 8rem 45%; display:flex; align-items:center; gap:2rem; flex-wrap:wrap; }.mailLink { border-bottom:1px solid #777; padding:.8rem 0; font-size:.82rem; }.contactMeta { display:flex; justify-content:space-between; padding-top:1.5rem; border-top:1px solid var(--line); color:#77736d; font-size:.58rem; letter-spacing:.14em; }
.contactGrid { position:relative; z-index:3; display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(2rem,5vw,7rem); align-items:start; margin:5rem 0 8rem; padding:clamp(1.5rem,4vw,4rem); border:1px solid rgba(255,255,255,.14); border-radius:34px; background:linear-gradient(145deg,rgba(21,21,25,.92),rgba(7,7,10,.86)); box-shadow:0 35px 100px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.08); backdrop-filter:blur(18px); }.contactPitch>span { color:#20cde2; font-size:.58rem; letter-spacing:.2em; }.contactPitch h3 { margin:1.2rem 0 1.8rem; max-width:560px; font-size:clamp(2.8rem,5vw,6.5rem); line-height:.82; letter-spacing:-.075em; text-transform:uppercase; }.contactPitch>p { max-width:460px; color:#aaa6a0; line-height:1.7; }.contactGrid .contactActions { margin:2.5rem 0 0; gap:1.2rem; }.directMail { color:#d2cec8; font-size:.72rem; letter-spacing:.08em; }
.projectForm { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.formField { position:relative; display:flex; flex-direction:column; gap:.7rem; }.formWide { grid-column:1/-1; }.formField label { color:#8f8a84; font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; }.formField input,.formField select,.formField textarea { width:100%; border:1px solid rgba(255,255,255,.17); border-radius:16px; outline:0; padding:1rem 1.1rem; background:rgba(0,0,0,.34); color:white; font:inherit; transition:border-color .25s,box-shadow .25s,background .25s; }.formField select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#ff4fa7 50%),linear-gradient(135deg,#ff4fa7 50%,transparent 50%); background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }.formField select option { color:#111; }.formField textarea { resize:vertical; min-height:150px; }.formField input:focus,.formField select:focus,.formField textarea:focus { border-color:#20cde2; background:rgba(7,18,24,.72); box-shadow:0 0 0 3px rgba(32,205,226,.1),0 0 28px rgba(32,205,226,.1); }.formTrap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }.formConsent { display:flex; align-items:flex-start; gap:.75rem; color:#8f8a84; font-size:.66rem; line-height:1.5; }.formConsent input { margin-top:.2rem; accent-color:#ff4fa7; }.formConsent a { color:white; border-bottom:1px solid #777; }.formSubmit { display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; }.formSubmit button { border:0; cursor:pointer; }.formSubmit button:disabled { opacity:.6; cursor:wait; }.formStatus { margin:0; max-width:340px; color:#aaa6a0; font-size:.75rem; line-height:1.45; }.formStatus.isSuccess { color:#66e348; }.formStatus.isError { color:#ff6f7d; }
.invaderGame { position:relative; z-index:3; width:min(100%,1040px); margin:0 auto 7rem; padding:1px; background:var(--rainbow); background-size:220% 100%; animation:rainbowFlow 7s linear infinite; clip-path:polygon(0 4%,100% 0,98% 96%,2% 100%); box-shadow:0 30px 100px rgba(0,0,0,.6),0 0 60px rgba(239,59,154,.14); }.invaderGame:before { content:""; position:absolute; inset:1px; z-index:-1; background:linear-gradient(145deg,#160b20,#08080c 42%,#07121b); clip-path:inherit; }.cityStamp { position:absolute; right:3.5rem; top:1rem; color:#ff9f2d; font:900 .65rem/1.05 inherit; letter-spacing:.16em; text-align:right; transform:rotate(5deg); text-shadow:2px 2px #ef3b9a; }.cityStamp b { color:#20cde2; font-size:1.2rem; }.invaderHead { display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; padding:3.3rem 3.5rem 1.4rem; }.invaderHead span,.gameWhy { color:#817d78; font-size:.55rem; letter-spacing:.2em; }.invaderHead h3 { margin:.7rem 0 0; font-size:clamp(2.4rem,5vw,5.7rem); line-height:.72; letter-spacing:-.07em; text-shadow:3px 3px 0 #ef3b9a,6px 6px 0 rgba(32,205,226,.5); }.gameHud { display:flex; gap:1.3rem; flex-wrap:wrap; justify-content:flex-end; }.gameHud span { color:#aaa6a0; }.gameHud b { display:block; margin-top:.4rem; color:white; font-size:1rem; letter-spacing:.08em; }.gameScreen { position:relative; margin:0 2rem; overflow:hidden; border:1px solid rgba(255,255,255,.16); background:#050509; box-shadow:inset 0 0 60px rgba(32,205,226,.06); }.gameScreen canvas { display:block; width:100%; height:auto; aspect-ratio:12/7; image-rendering:pixelated; outline:0; }.gameIntro,.gameMessage { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; padding:2rem; text-align:center; background:radial-gradient(circle,rgba(36,7,43,.58),rgba(5,5,9,.94)); backdrop-filter:blur(4px); }.gameIntro[hidden],.gameMessage[hidden] { display:none; }.gameIntro small { margin-bottom:.8rem; color:#20cde2; font-size:.58rem; letter-spacing:.2em; }.gameIntro strong,.gameMessage strong { color:white; font-size:clamp(1.5rem,4vw,3.8rem); line-height:.9; letter-spacing:-.04em; text-shadow:3px 3px #ef3b9a; }.gameIntro p,.gameMessage p { margin:1.2rem 0 1.5rem; color:#d3cec8; font-size:.68rem; line-height:1.7; letter-spacing:.1em; text-transform:uppercase; }.gameIntro button,.gameMessage button,.gameMessage a { border:0; padding:1rem 1.4rem; background:var(--rainbow); background-size:220% 100%; color:#070707; font:700 .65rem/1 inherit; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; animation:rainbowFlow 5s linear infinite; }.gameMessage { z-index:4; }.gameMessage>div { display:flex; }.gameMessage a { margin-top:.65rem; text-decoration:none; }.gameControls { display:none; grid-template-columns:repeat(3,1fr); gap:8px; margin:10px 2rem 0; }.gameControls button { min-height:58px; border:1px solid rgba(255,255,255,.18); background:#101016; color:white; font-size:1.3rem; touch-action:none; }.gameControls button:active { background:var(--acid); color:#050505; }.gameWhy { margin:0; padding:1.5rem 3.5rem 3rem; }.gameWhy strong { color:white; }
footer { display:flex; justify-content:space-between; align-items:center; padding:2.2rem 5vw; font-size:.7rem; color:#8f8b85; }footer p { margin:0; }footer>div { display:flex; gap:1.4rem; }footer .brand { color:var(--ink); }.footerLogo img { display:block; width:120px; height:auto; }

/* AIRZWO angle system: no rigid section cuts */
.nav,.statement,.caseStudy,.gallerySection { border:0; }
.statement { margin:-2.8vw 0; padding-top:13rem; padding-bottom:13rem; clip-path:polygon(0 5vw,100% 0,100% calc(100% - 5vw),0 100%); background:#0e0e0e; }
.heroRail { border:0; gap:10px; }.heroRail a { padding-left:1.2rem; clip-path:polygon(0 14%,100% 0,96% 86%,4% 100%); background:rgba(8,8,8,.48); }.heroRail a+a { border:0; padding-left:1.8rem; }
.solutionGrid { gap:14px; border:0; background:transparent; }.solutionCard { min-height:650px; margin:-20px 0; clip-path:polygon(0 6%,100% 0,100% 94%,0 100%); }
.worlds { gap:14px; padding:5vw 1vw; }.world { border:0!important; clip-path:polygon(0 7%,100% 0,100% 93%,0 100%); }.world:nth-child(2) { transform:translateY(2.2vw); }
.proof { clip-path:polygon(0 6vw,100% 0,100% calc(100% - 6vw),0 100%); margin:-4vw 0; padding-top:13rem; padding-bottom:13rem; }
.caseStudy { clip-path:polygon(0 5vw,100% 0,100% calc(100% - 5vw),0 100%); margin-top:-4vw; padding-top:4vw; padding-bottom:4vw; }
.referenceNames { border:0; display:grid; gap:10px; }.referenceNames a { border:0; padding:1.8rem 3rem; min-height:135px; background:rgba(20,20,20,.82); clip-path:polygon(0 22%,100% 0,97% 78%,3% 100%); }.referenceNames a:nth-child(even) { clip-path:polygon(3% 0,100% 20%,97% 100%,0 80%); }
.gallerySection { clip-path:polygon(0 4vw,100% 0,100% calc(100% - 4vw),0 100%); margin:-3vw 0; padding-top:13rem; padding-bottom:13rem; }
.steps { border:0; gap:14px; }.steps>div { padding:2.5rem; background:#111; clip-path:polygon(0 12%,100% 0,96% 88%,4% 100%); }.steps>div+div { border:0; padding-left:2.5rem; }.contact { clip-path:polygon(0 5vw,100% 0,100% 100%,0 100%); padding-top:13rem; }
@media (max-width:780px) {
  .statement { grid-template-columns:1fr; padding:6rem 1.25rem; }.statement p { font-size:2.6rem; }
  .solutions { padding:6rem 1.25rem 5rem; }.solutionsHead { grid-template-columns:1fr; margin-bottom:3.5rem; }.solutionsHead h2 { font-size:15vw; margin:1rem 0; }.solutionGrid { grid-template-columns:1fr; }.solutionCard { min-height:540px; }.solutionOutro { align-items:flex-start; flex-direction:column; }.solutionOutro a { min-width:190px; }
  .heroPhoto { background-position:66% center; }.heroShade { background:linear-gradient(0deg,#080808 0%,rgba(0,0,0,.2) 62%),linear-gradient(90deg,rgba(0,0,0,.82),transparent); }.heroAstronautRig { right:-10vw; top:24vh; height:34vh; opacity:.8; }
  .worlds { grid-template-columns:1fr; }.world { min-height:580px; border-right:0; border-bottom:1px solid var(--line); padding:1.25rem; }.worldBody { inset:auto 1.25rem 1.8rem; }.worldBody>p:not(.ghostWord){ min-height:auto; }.ghostWord { display:none; }
  .proof { padding:6rem 1.25rem; }.proofIntro { display:block; }.proofIntro h2 { margin-top:2rem; }.numbers { grid-template-columns:1fr; margin-top:4rem; }.numbers div+div { border-left:0; border-top:1px solid rgba(0,0,0,.35); padding-left:0; }.quote { display:block; margin-top:4rem; }.quote span { display:block; margin-top:2rem; }
  .caseStudy { min-height:0; grid-template-columns:1fr; }.caseVisual { min-height:540px; clip-path:none; }.caseVisual:after { background:linear-gradient(0deg,#080808,transparent 55%); }.caseRings { width:95vw; }.caseCopy { padding:4rem 1.25rem 6rem; }.caseCopy h2 { font-size:15vw; }
  .references { padding:6rem 1.25rem 5rem; }.referenceIntro { grid-template-columns:1fr; margin-bottom:3.5rem; }.referenceIntro h2 { margin:1rem 0; font-size:14vw; }.referenceNames a { grid-template-columns:42px 1fr auto; min-height:88px; font-size:8vw; }.contactPerson { grid-template-columns:1fr; margin-top:5rem; }.personMark { min-height:330px; }.contactPerson>div:last-child { padding:3rem 1.25rem; }.contactPerson h3 { font-size:25vw; }
  .nextEvent { min-height:650px; padding:5rem 1.25rem; grid-template-columns:1fr; }.eventDate { margin:2rem 0; }.eventInfo h2 { font-size:4rem; }
  .process { padding:6rem 1.25rem; }.steps { grid-template-columns:1fr; margin-top:3rem; }.steps>div+div { border-left:0; border-top:1px solid var(--line); padding-left:0; }.steps h3 { margin-top:2rem; }
  .gallerySection { padding:6rem .7rem; }.galleryHead { grid-template-columns:1fr; padding:0 .55rem 3rem; }.galleryHead h2 { font-size:24vw; }.photoWall { columns:2 145px; column-gap:9px; }.photoWall figure { margin-bottom:9px; padding:3px; border-radius:16px; }.photoWall figure::before { inset:3px; border-radius:13px; }.photoWall img { border-radius:13px; }
  .contact { padding:6rem 1.25rem 2rem; }.contact h2 { font-size:27vw; }.contact>p,.contactActions { margin-left:0; }.contactGrid { grid-template-columns:1fr; margin:3.5rem 0 6rem; padding:1.25rem; border-radius:22px; }.contactPitch h3 { font-size:14vw; }.projectForm { grid-template-columns:1fr; }.formWide { grid-column:auto; }.formSubmit { align-items:stretch; flex-direction:column; }.formSubmit .primaryButton { width:100%; }.contactMeta { gap:1rem; flex-direction:column; }.invaderGame { width:calc(100% + 1.1rem); margin-left:-.55rem; clip-path:polygon(0 2%,100% 0,98% 98%,2% 100%); }.invaderHead { align-items:flex-start; flex-direction:column; padding:2.8rem 1.25rem 1.2rem; }.gameHud { justify-content:flex-start; }.gameScreen { margin:0 .65rem; }.gameControls { display:grid; margin-left:.65rem; margin-right:.65rem; }.gameWhy { padding:1.2rem 1.25rem 2.5rem; line-height:1.6; }.gameIntro p { font-size:.55rem; }.gameMessage strong { font-size:1.7rem; }
  footer { align-items:flex-start; gap:1.5rem; flex-direction:column; }footer>div { flex-wrap:wrap; }
  .statement { margin:-8vw 0; padding-top:8rem; padding-bottom:8rem; clip-path:polygon(0 7vw,100% 0,100% calc(100% - 7vw),0 100%); }.heroRail { gap:4px; }.heroRail a { clip-path:polygon(0 12%,100% 0,96% 88%,4% 100%); }.solutionGrid { gap:8px; }.solutionCard { margin:-8px 0; min-height:560px; }.worlds { gap:8px; padding:9vw 0; }.world:nth-child(2) { transform:none; }.proof,.caseStudy,.gallerySection,.contact { clip-path:polygon(0 6vw,100% 0,100% calc(100% - 6vw),0 100%); margin-top:-5vw; }.contact { clip-path:polygon(0 6vw,100% 0,100% 100%,0 100%); }.referenceNames a { padding:1.3rem 1rem; min-height:100px; }
  .cursorGlow { display:none; }.heroOrbit { opacity:.5; }.orbitOne { width:90vw; right:-30vw; }.orbitTwo { width:55vw; right:-6vw; }
  .portalCore { width:82vw; right:-29vw; top:17vh; opacity:.72; }.chromaticVeil { opacity:.12; }.spectralBackdrop { opacity:.035; }.logo3d { width:72vw; right:-16vw; top:15vh; opacity:.72; }
  .marquee div { font-size:1.45rem; }.webLab { padding:7rem 1.25rem 5rem; }.labIntro { grid-template-columns:1fr; }.labIntro h2 { font-size:16vw; margin:1.2rem 0; }.labIntro p { max-width:28rem; }
  .webStage { height:670px; min-height:0; margin-top:2rem; }.mockBack { left:-20%; top:27%; width:86%; height:42%; }.mockFront { right:-22%; top:7%; width:94%; height:47%; }.mockScreen strong { font-size:15vw; }.phoneMock { left:29%; bottom:2%; width:42vw; max-width:190px; }.floatLabel { font-size:.48rem; }.labelA { left:0; }.labelB { right:-4%; }.labelC { left:0; bottom:10%; }
  .labGrid { grid-template-columns:1fr; }.labCard { min-height:340px; }.labCard h3 { margin-top:3rem; }.labPromise { padding-top:7rem; }.labPromise>strong { font-size:24vw; }.labPromise>a { position:relative; right:auto; bottom:auto; width:135px; margin:3rem 0 0 auto; }
  .realityBreak { min-height:700px; margin:2rem -1.25rem 5rem; }.realityBreak p { font-size:19vw; line-height:.67; }.spectralDisc { width:105vw; }.realityBreak>span { right:1.25rem; bottom:2rem; font-size:.5rem; }.realityPortrait { object-position:56% center; opacity:.58; }.realityLogo { width:75vw; top:10%; }
}
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }.reveal { opacity:1; transform:none; }#dimensionCanvas { display:none; } }
