@font-face{font-family:"Space Grotesk";src:url("../fonts/space-grotesk-latin-wght.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-latin-wght.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}

:root{
  --bg:#03050b;
  --bg-2:#070b17;
  --panel:rgba(12,18,38,.62);
  --panel-solid:#0a1022;
  --line:rgba(150,185,255,.13);
  --line-strong:rgba(150,210,255,.32);
  --ink:#eef4ff;
  --muted:rgba(206,219,244,.64);
  --dim:rgba(222,232,255,.34);
  --cyan:#62e4ff;
  --blue:#4f7dff;
  --violet:#8f6bff;
  --gutter:clamp(20px,4.2vw,56px);
  --shell:min(1320px,calc(100% - var(--gutter) * 2));
  --display:"Space Grotesk","Segoe UI",system-ui,sans-serif;
  --body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:ui-monospace,"SFMono-Regular","Cascadia Mono",Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --radius:26px;
  --tilt-x:0deg;
  --tilt-y:0deg;
  --gx:50%;
  --gy:30%;
  --mag-x:0px;
  --mag-y:0px
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg);color-scheme:dark}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 40% at 85% 0%,rgba(79,125,255,.10),transparent 70%),radial-gradient(50% 40% at 0% 100%,rgba(143,107,255,.07),transparent 70%),var(--bg)}
body.menu-open{overflow:hidden}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.04em;line-height:.95;text-wrap:balance}
::selection{background:rgba(98,228,255,.3);color:#fff}
:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:6px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:200;padding:12px 18px;border-radius:999px;background:var(--ink);color:var(--bg);font-weight:600;transition:top .2s}
.skip-link:focus{top:16px}
.section-shell{width:var(--shell);margin-inline:auto;padding-block:clamp(88px,11vw,160px)}

.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:28px;font-family:var(--display);font-size:.74rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(170,225,255,.82)}
.section-index{display:inline-grid;place-items:center;min-width:38px;height:24px;padding:0 8px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;color:var(--cyan)}
.pulse-dot{position:relative;display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.pulse-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid var(--cyan);opacity:0;animation:pulse 2.4s var(--ease) infinite}
.text-dim{color:var(--dim)}
.headline-accent{display:inline-block;padding-bottom:.08em;background:linear-gradient(100deg,#ffffff 0%,#a8eeff 34%,#6e92ff 68%,#a98cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px 64px;align-items:end;margin-bottom:clamp(56px,7vw,96px)}
.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}
.section-heading h2,.approach-header h2,.thinking-content h2,.about-grid h2{font-size:clamp(2.5rem,6.2vw,6.1rem)}
.section-intro{max-width:30rem;color:var(--muted);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.6}

.site-header{position:fixed;top:16px;left:50%;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1240px,calc(100% - 32px));padding:9px 10px 9px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(6,10,22,.42);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 20px 50px -30px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.05);transform:translateX(-50%);transition:width .5s var(--ease),top .5s var(--ease),background .4s,padding .4s,opacity .5s,transform .5s var(--ease)}
.site-header.is-scrolled{top:10px;width:min(920px,calc(100% - 24px));padding-block:6px;background:rgba(6,10,22,.74);border-color:rgba(150,200,255,.18)}
.is-finale .site-header:not(:focus-within){opacity:0;pointer-events:none;transform:translate(-50%,-24px)}
.brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:.8rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase}
.brand-mark{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;font-family:var(--display);font-size:.8rem;font-weight:700;letter-spacing:.02em;color:#fff}
.brand-mark::before,.brand-mark::after{content:"";position:absolute;inset:0;border:1px solid rgba(140,220,255,.6);border-radius:9px}
.brand-mark::after{inset:5px;border-color:rgba(143,107,255,.5);border-radius:5px;transform:rotate(45deg) scale(.82)}
.primary-nav{display:flex;align-items:center;gap:4px}
.primary-nav a{padding:10px 16px;border-radius:999px;font-family:var(--display);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .25s,background .25s}
.primary-nav a:hover{color:#fff;background:rgba(120,170,255,.1)}
.primary-nav a:last-child{margin-left:6px;color:var(--bg);background:var(--ink)}
.primary-nav a:last-child:hover{background:#fff;box-shadow:0 0 24px rgba(120,220,255,.45)}
.menu-toggle{display:none;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--line);border-radius:999px;font-family:var(--display);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.menu-icon{position:relative;display:block;width:18px;height:10px}
.menu-icon i{position:absolute;left:0;width:100%;height:1.5px;border-radius:2px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-icon i:first-child{top:0}
.menu-icon i:last-child{top:8px}
.menu-toggle[aria-expanded="true"] .menu-icon i:first-child{top:4px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-icon i:last-child{top:4px;transform:rotate(-45deg)}

.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;border-radius:999px;font-family:var(--display);font-size:.95rem;font-weight:600;letter-spacing:-.005em;white-space:nowrap;translate:var(--mag-x) var(--mag-y);transition:translate .3s var(--ease),background .3s,box-shadow .3s,border-color .3s}
.button-primary{color:#030712;background:linear-gradient(180deg,#ffffff,#d6f3ff);box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,0 14px 40px -12px rgba(98,228,255,.7)}
.button-primary:hover{box-shadow:0 0 0 1px #fff inset,0 18px 60px -10px rgba(98,228,255,.95)}
.button-secondary{border:1px solid var(--line-strong);background:rgba(10,16,34,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.button-secondary:hover{border-color:rgba(160,225,255,.7);background:rgba(40,70,140,.3)}
.hero{--hero-p:0;position:relative;isolation:isolate;display:flex;align-items:center;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--bg)}
.hero-environment{position:absolute;inset:-4%;z-index:-3;background-color:#050914;background-image:radial-gradient(70% 60% at 70% 40%,rgba(58,110,255,.28),transparent 70%),url("../images/hero-command-centre.png");background-image:radial-gradient(70% 60% at 70% 40%,rgba(58,110,255,.28),transparent 70%),image-set(url("../images/hero-command-centre.webp") type("image/webp"),url("../images/hero-command-centre.png") type("image/png"));background-size:cover;background-position:60% 50%;opacity:.5;filter:saturate(1.1) contrast(1.05);transform:translate3d(0,calc(var(--hero-p) * 8vh),0) scale(calc(1.06 + var(--hero-p) * .1));animation:drift 28s ease-in-out infinite alternate;will-change:transform}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(3,5,11,.96) 0%,rgba(3,5,11,.78) 34%,rgba(3,5,11,.2) 70%,rgba(3,5,11,.55) 100%),linear-gradient(180deg,rgba(3,5,11,.7) 0%,transparent 26%,transparent 62%,var(--bg) 100%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22vh;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,var(--bg))}
.hero-grid{position:absolute;left:-30%;right:-30%;bottom:-6%;height:58%;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(110,170,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(110,170,255,.22) 1px,transparent 1px);background-size:64px 64px;transform:perspective(520px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(0deg,rgba(0,0,0,.9),transparent 78%);mask-image:linear-gradient(0deg,rgba(0,0,0,.9),transparent 78%);opacity:.55;animation:grid-flow 5s linear infinite}
.scene-host{position:absolute;inset:0;pointer-events:none}
.scene-host canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.4s var(--ease)}
.scene-host.is-live canvas{opacity:1}
.scene-host.is-live>div{opacity:0}
.scene-host>div{transition:opacity 1s var(--ease)}
.hero-scene{z-index:0;transform:translate3d(0,calc(var(--hero-p) * -6vh),0);transform-origin:70% 50%}
.core-fallback{position:absolute;left:69%;top:48%;width:min(44vw,620px);aspect-ratio:1;transform:translate(-50%,-50%);transform-style:preserve-3d;perspective:900px}
.cf-glow{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(160,230,255,.55) 0%,rgba(79,125,255,.22) 30%,rgba(143,107,255,.08) 55%,transparent 70%);filter:blur(6px);animation:breathe 6s ease-in-out infinite}
.cf-ring{position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(130,215,255,.42);box-shadow:0 0 30px rgba(98,228,255,.15),inset 0 0 30px rgba(98,228,255,.08)}
.cf-ring.r1{transform:rotateX(72deg);animation:ring-a 16s linear infinite}
.cf-ring.r2{inset:6%;border-color:rgba(143,107,255,.36);transform:rotateX(66deg) rotateY(24deg);animation:ring-b 22s linear infinite}
.cf-ring.r3{inset:22%;border-style:dashed;border-color:rgba(160,225,255,.3);transform:rotateY(70deg);animation:ring-c 18s linear infinite}
.cf-crystal{position:absolute;left:50%;top:50%;width:24%;aspect-ratio:.72;transform:translate(-50%,-50%);clip-path:polygon(50% 0,100% 38%,78% 100%,22% 100%,0 38%);background:linear-gradient(135deg,#f3fbff 0%,#8fdcff 22%,#3a62d8 55%,#1a1d5a 80%,#7b5cff 100%);box-shadow:0 0 80px rgba(98,228,255,.6);animation:float 7s ease-in-out infinite}
.hero-hud{position:absolute;inset:0;z-index:1;pointer-events:none}
.hud-chip{position:absolute;display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(6,12,28,.5);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(200,236,255,.82);animation:float 9s ease-in-out infinite}
.hud-chip i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.hud-chip::before{content:"";position:absolute;top:50%;width:70px;height:1px;background:linear-gradient(90deg,rgba(98,228,255,.6),transparent)}
.hud-a{top:24%;right:7%}
.hud-a::before{right:100%;transform:scaleX(-1);transform-origin:100% 50%}
.hud-b{bottom:24%;right:34%;animation-delay:-4s}
.hud-b i{background:var(--violet);box-shadow:0 0 10px var(--violet)}
.hud-b::before{left:100%}
.hero-content{position:relative;z-index:3;width:var(--shell);margin-inline:auto;padding-block:clamp(130px,17vh,190px) clamp(120px,16vh,170px);opacity:calc(1 - var(--hero-p) * 1.5);transform:translate3d(0,calc(var(--hero-p) * -10vh),0) scale(calc(1 - var(--hero-p) * .08));transform-origin:0 50%}
.hero h1{font-size:clamp(3.2rem,7.4vw,8.8rem);line-height:.88;letter-spacing:-.055em}
.hero h1>span{display:block}
.hero h1 .headline-accent{display:block;width:fit-content}
.hero-support{display:grid;grid-template-columns:minmax(0,26rem) auto;align-items:end;gap:28px 56px;margin-top:clamp(36px,5vh,56px)}
.hero-kicker{margin-bottom:10px;font-family:var(--display);font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:600;letter-spacing:-.02em;color:#fff}
.hero-copy p:last-child{color:var(--muted);font-size:1.02rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.scroll-indicator{position:absolute;left:50%;bottom:30px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:12px;font-family:var(--display);font-size:.64rem;letter-spacing:.34em;text-transform:uppercase;color:var(--dim);transform:translateX(-50%);opacity:calc(1 - var(--hero-p) * 4);transition:color .3s}
.scroll-indicator:hover{color:#fff}
.scroll-indicator i{position:relative;width:1px;height:44px;overflow:hidden;background:rgba(150,200,255,.18)}
.scroll-indicator i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:linear-gradient(180deg,transparent,var(--cyan));animation:scroll-line 2.2s var(--ease) infinite}
.build-section{position:relative;overflow-x:clip}
.build-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2vw,28px);perspective:1800px}
.build-module{--pop:70px;--img:none;position:relative;grid-column:span 6;min-height:clamp(440px,36vw,520px);transform-style:preserve-3d;transform:rotateX(var(--tilt-y)) rotateY(var(--tilt-x));transition:transform .6s var(--ease),translate 1.1s var(--ease),opacity .9s var(--ease)}
.build-module.is-hovered{transition:transform .12s linear,translate 1.1s var(--ease),opacity .9s var(--ease)}
.module-ai{grid-column:span 7;--img:url("../images/ai-intelligence.webp");--img-pos:70% 40%}
.module-automation{grid-column:span 5;--img:url("../images/automation-network.webp");--img-pos:50% 50%}
.module-saas{grid-column:span 5;--img:url("../images/saas-infrastructure.webp");--img-pos:50% 40%}
.module-custom{grid-column:span 7;--img:url("../images/hero-command-centre.webp");--img-pos:80% 30%}
.slab-back{position:absolute;inset:0;border-radius:var(--radius);border:1px solid rgba(143,107,255,.18);background:linear-gradient(160deg,rgba(79,125,255,.12),rgba(143,107,255,.06));transform:translate3d(0,16px,-36px) scale(.965);opacity:.7}
.slab-face{position:absolute;inset:0;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(165deg,rgba(18,28,58,.9) 0%,rgba(7,11,24,.96) 60%);box-shadow:0 50px 90px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.07);transform:translateZ(0)}
.slab-face::before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:var(--img-pos,50% 50%);opacity:.42;mix-blend-mode:screen;-webkit-mask-image:linear-gradient(200deg,#000 10%,rgba(0,0,0,.35) 50%,transparent 78%);mask-image:linear-gradient(200deg,#000 10%,rgba(0,0,0,.35) 50%,transparent 78%);transition:opacity .6s,transform 1.2s var(--ease)}
.slab-face::after{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--gx) var(--gy),rgba(150,225,255,.16),transparent 55%);opacity:0;transition:opacity .4s}
.build-module:hover .slab-face::before{opacity:.6;transform:scale(1.04)}
.build-module.is-hovered .slab-face::after{opacity:1}
.module-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(26px,3vw,40px)}
.record-number{display:block;margin-bottom:16px;font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}
.module-copy h3{margin-bottom:14px;font-size:clamp(1.9rem,2.9vw,2.9rem)}
.module-copy p{max-width:30rem;color:var(--muted)}
.motif{position:absolute;top:clamp(20px,3vw,40px);right:clamp(20px,3vw,44px);z-index:3;width:230px;height:230px;pointer-events:none;transform-style:preserve-3d;transform:translateZ(var(--pop))}

.cube{--s:40px;position:absolute;width:var(--s);height:var(--s);transform-style:preserve-3d}
.cube i{position:absolute;inset:0;border:1px solid rgba(150,225,255,.6);background:rgba(60,130,255,.14);box-shadow:inset 0 0 14px rgba(98,228,255,.18)}
.cube .f1{transform:translateZ(calc(var(--s) / 2));background:rgba(140,225,255,.32)}
.cube .f2{transform:rotateY(180deg) translateZ(calc(var(--s) / 2))}
.cube .f3{transform:rotateY(90deg) translateZ(calc(var(--s) / 2));background:rgba(50,90,220,.3)}
.cube .f4{transform:rotateY(-90deg) translateZ(calc(var(--s) / 2))}
.cube .f5{transform:rotateX(90deg) translateZ(calc(var(--s) / 2));background:rgba(80,160,255,.22)}
.cube .f6{transform:rotateX(-90deg) translateZ(calc(var(--s) / 2))}
.cube.accent i{border-color:rgba(190,160,255,.8);background:rgba(143,107,255,.28);box-shadow:inset 0 0 18px rgba(170,140,255,.4),0 0 20px rgba(143,107,255,.3)}

.sphere{position:absolute;inset:25px;transform-style:preserve-3d;animation:spin-3d 22s linear infinite}
.sphere i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(120,220,255,.5)}
.sphere i:nth-child(2){transform:rotateY(45deg)}
.sphere i:nth-child(3){transform:rotateY(90deg)}
.sphere i:nth-child(4){transform:rotateY(135deg);border-color:rgba(143,107,255,.55)}
.sphere i.eq{transform:rotateX(90deg);border-color:rgba(200,240,255,.7);box-shadow:0 0 18px rgba(98,228,255,.3)}
.sphere b{position:absolute;inset:36%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#8fe6ff 30%,#3b63e0 70%,rgba(59,99,224,0));box-shadow:0 0 50px rgba(98,228,255,.8)}
.sphere em{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:#dff8ff;box-shadow:0 0 12px var(--cyan);animation:orbit 5s linear infinite}
.sphere em:nth-of-type(2){animation-duration:7s;animation-delay:-2s;background:#cbb8ff;box-shadow:0 0 12px var(--violet)}
.sphere em:nth-of-type(3){animation-duration:9s;animation-delay:-5s}

.flow,.layers,.modules{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-40deg)}
.flow .cube{--s:44px;animation:bob 4s ease-in-out infinite}
.flow .c1{left:12px;top:92px;animation-delay:0s}
.flow .c2{left:94px;top:92px;--s:52px;animation-delay:-1.3s}
.flow .c3{left:176px;top:92px;animation-delay:-2.6s}
.flow .c2 i{border-color:rgba(190,160,255,.8);background:rgba(143,107,255,.26)}
.flow-line{position:absolute;top:116px;height:3px;overflow:hidden;background:rgba(120,200,255,.22)}
.flow-line.l1{left:56px;width:38px}
.flow-line.l2{left:146px;width:30px}
.flow-line b{position:absolute;inset:0;background:linear-gradient(90deg,transparent,#aef3ff);animation:packet-x 1.6s linear infinite}
.flow-line.l2 b{animation-delay:-.8s}

.layers i{position:absolute;inset:26px;display:flex;flex-direction:column;gap:9px;padding:20px;border-radius:14px;border:1px solid rgba(150,215,255,.45);background:linear-gradient(135deg,rgba(80,140,255,.2),rgba(20,30,70,.3));box-shadow:0 0 30px rgba(79,125,255,.15);transform:translateZ(calc(var(--n) * 20px));transition:transform .8s var(--ease)}
.layers i:nth-child(1){--n:0;opacity:.55}
.layers i:nth-child(2){--n:1;opacity:.72}
.layers i:nth-child(3){--n:2;opacity:.88}
.layers i:nth-child(4){--n:3;border-color:rgba(190,170,255,.7);background:linear-gradient(135deg,rgba(143,107,255,.3),rgba(79,125,255,.12))}
.layers b{display:block;height:9px;border-radius:4px;background:rgba(170,230,255,.5)}
.layers b:nth-child(2){width:62%}
.layers b:nth-child(3){width:38%;background:rgba(98,228,255,.8)}
.build-module:hover .layers i,.build-module:focus-within .layers i{transform:translateZ(calc(var(--n) * 38px))}
.layers{animation:hover-float 6s ease-in-out infinite}

.modules .cube{--s:52px;transition:transform 1s var(--ease)}
.modules .m1{left:58px;top:58px;animation:assemble-1 7s var(--ease) infinite}
.modules .m2{left:114px;top:58px;animation:assemble-2 7s var(--ease) infinite}
.modules .m3{left:58px;top:114px;animation:assemble-3 7s var(--ease) infinite}
.modules .m4{left:114px;top:114px;animation:assemble-4 7s var(--ease) infinite}
.modules .m5{left:86px;top:86px;animation:assemble-5 7s var(--ease) infinite}
.systems-section{position:relative}
.system-records{display:grid;gap:clamp(90px,11vw,170px)}
.system-record{--p:.5;--dir:1;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,80px);perspective:1600px}
.record-reverse{--dir:-1;grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)}
.record-reverse .record-visual{order:2}
.record-visual{--img:url("../images/saas-infrastructure.webp");position:relative;container-type:inline-size;min-height:clamp(340px,40vw,540px);overflow:hidden;border-radius:calc(var(--radius) + 6px);border:1px solid var(--line);background:radial-gradient(80% 70% at 50% 55%,rgba(40,80,200,.22),transparent 70%),linear-gradient(170deg,#0a1126 0%,#050810 100%);box-shadow:0 60px 120px -50px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.06);transform:translate3d(0,calc((var(--p) - .5) * -70px),0) rotateY(calc((var(--p) - .5) * 10deg * var(--dir))) rotateX(calc((var(--p) - .5) * -6deg));transform-style:preserve-3d;will-change:transform}
.record-visual::before{content:"";position:absolute;inset:-6%;background-image:var(--img);background-size:cover;background-position:center;opacity:.3;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(75% 70% at 50% 50%,#000 20%,transparent 80%);mask-image:radial-gradient(75% 70% at 50% 50%,#000 20%,transparent 80%);transform:translate3d(0,calc((var(--p) - .5) * 40px),0) scale(1.06)}
.record-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(3,5,11,.85)),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px)}
.visual-conversation,.visual-learning{--img:url("../images/ai-intelligence.webp")}
.visual-document,.visual-initiative{--img:url("../images/automation-network.webp")}
.visual-meter,.visual-portal{--img:url("../images/saas-infrastructure.webp")}
.iso{position:absolute;left:50%;top:50%;z-index:1;width:26em;height:26em;margin:-13em 0 0 -13em;font-size:12px;font-size:clamp(6px,2.4cqi,13px);transform-style:preserve-3d;transform:translateY(-.8em) rotateX(58deg) rotateZ(calc(-48deg + var(--p) * 16deg))}
.iso-floor{position:absolute;inset:-4%;border-radius:1.4em;border:1px solid rgba(120,180,255,.2);background-color:rgba(30,60,150,.1);background-image:linear-gradient(rgba(120,190,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(120,190,255,.14) 1px,transparent 1px);background-size:2.6em 2.6em;box-shadow:0 0 80px rgba(60,110,255,.18) inset}
.iso-link{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--len) * 1%);height:3px;margin-top:-1.5px;overflow:hidden;background:rgba(120,200,255,.28);transform-origin:0 50%;transform:translateZ(.15em) rotate(var(--angle))}
.iso-link b{position:absolute;inset:0;transform:translateX(-100%);animation:packet 2.6s linear infinite;animation-delay:var(--delay)}
.iso-link b::before{content:"";position:absolute;right:0;top:0;width:2.6em;height:100%;background:linear-gradient(90deg,transparent,#c8f6ff);box-shadow:0 0 10px #62e4ff}
.box{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:var(--w);height:var(--w);margin:calc(var(--w) / -2) 0 0 calc(var(--w) / -2);transform-style:preserve-3d;animation:box-rise 5s ease-in-out infinite;animation-delay:calc(var(--i) * -.6s)}
.box i{position:absolute;border:1px solid rgba(140,210,255,.42);background:linear-gradient(180deg,rgba(60,110,230,.55),rgba(20,34,90,.75))}
.box .t{inset:0;transform:translateZ(var(--h));background:linear-gradient(135deg,rgba(170,235,255,.55),rgba(80,140,255,.35));border-color:rgba(190,240,255,.7)}
.box .n,.box .s{left:0;width:100%;height:var(--h);transform-origin:50% 0;transform:rotateX(90deg)}
.box .n{top:0}
.box .s{top:100%;background:linear-gradient(0deg,rgba(40,80,200,.7),rgba(20,30,80,.8))}
.box .e,.box .w{top:0;height:100%;width:var(--h);transform-origin:0 50%;transform:rotateY(-90deg)}
.box .e{left:100%;background:linear-gradient(90deg,rgba(30,60,170,.8),rgba(60,120,240,.55))}
.box .w{left:0}
.box-core i{border-color:rgba(200,180,255,.65);background:linear-gradient(180deg,rgba(143,107,255,.6),rgba(40,30,110,.8))}
.box-core .t{background:linear-gradient(135deg,#e9fbff,#7fdcff 40%,#7b6bff);box-shadow:0 0 50px rgba(120,220,255,.8);border-color:#fff}
.iso-ring{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:10em;height:10em;margin:-5em 0 0 -5em;border-radius:50%;border:1px solid rgba(120,220,255,.55);transform:translateZ(.2em);animation:ring-pulse 3.2s var(--ease) infinite}
.visual-label{position:absolute;left:clamp(18px,3cqi,30px);bottom:clamp(16px,3cqi,26px);z-index:2;max-width:70%;font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(190,225,255,.7)}
.visual-number{position:absolute;right:clamp(16px,3cqi,30px);top:clamp(6px,1.5cqi,14px);z-index:2;font-family:var(--display);font-size:clamp(4rem,14cqi,8rem);font-weight:700;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(170,215,255,.2)}
.record-content{position:relative;padding:clamp(28px,3.4vw,48px);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,rgba(16,24,50,.7),rgba(8,12,26,.55));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 40px 80px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);transform:translate3d(0,calc((var(--p) - .5) * 36px),0)}
.record-content::before{content:"";position:absolute;left:clamp(28px,3.4vw,48px);top:-1px;width:64px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--violet))}
.record-meta{display:flex;justify-content:space-between;gap:16px;margin-bottom:26px;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.record-meta span:last-child{display:inline-flex;align-items:center;gap:10px;color:rgba(170,230,255,.8)}
.record-content h3{margin-bottom:18px;font-size:clamp(1.9rem,3.1vw,3rem)}
.record-content>p{color:var(--muted);font-size:1.02rem}
.capability-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:30px;padding:18px 0 4px;border-top:1px solid var(--line);font-family:var(--display);font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(200,230,255,.85);text-align:left}
.capability-toggle:hover{color:#fff}
.capability-toggle i{position:relative;width:28px;height:28px;border:1px solid var(--line-strong);border-radius:50%;transition:transform .4s var(--ease),border-color .3s}
.capability-toggle i::before,.capability-toggle i::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;margin:-.75px 0 0 -5px;background:currentColor}
.capability-toggle i::after{transform:rotate(90deg)}
.capability-toggle[aria-expanded="true"] i{transform:rotate(135deg);border-color:var(--cyan)}
.capabilities{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.capabilities ul{display:flex;flex-wrap:wrap;gap:8px;min-height:0;overflow:hidden}
.capability-toggle[aria-expanded="true"]+.capabilities{grid-template-rows:1fr}
.capability-toggle[aria-expanded="true"]+.capabilities ul{padding-top:18px}
html:not(.js) .capabilities{grid-template-rows:1fr}
.capabilities li{padding:7px 13px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(40,80,170,.14);font-size:.84rem;color:rgba(225,238,255,.9)}
.thinking-section{position:relative;isolation:isolate;min-height:110vh;display:flex;align-items:center;overflow:hidden;border-block:1px solid var(--line)}
.thinking-section::before{content:"";position:absolute;inset:0;z-index:-2;background-image:url("../images/automation-network.webp");background-size:cover;background-position:center;opacity:.16;-webkit-mask-image:radial-gradient(70% 70% at 70% 50%,#000,transparent 80%);mask-image:radial-gradient(70% 70% at 70% 50%,#000,transparent 80%)}
.thinking-section::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(3,5,11,.92) 0%,rgba(3,5,11,.55) 45%,rgba(3,5,11,.1) 100%)}
.thinking-scene{z-index:-1}
.network-fallback{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(120,200,255,.5) 1.2px,transparent 1.8px);background-size:46px 46px;-webkit-mask-image:radial-gradient(60% 60% at 72% 50%,#000,transparent 75%);mask-image:radial-gradient(60% 60% at 72% 50%,#000,transparent 75%);opacity:.55}
.thinking-content{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.thinking-content header{max-width:900px}
.thinking-copy{max-width:34rem;display:grid;gap:14px;color:var(--muted);font-size:clamp(1.02rem,1.3vw,1.16rem)}
.thinking-command{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:600;letter-spacing:-.025em;line-height:1.15;color:#fff}
.thinking-command:first-of-type{margin-top:14px}
.thinking-command::before{content:"→ ";color:var(--cyan)}

.approach{position:relative}
.approach-header{margin-bottom:clamp(40px,5vw,64px)}
.approach-path{width:100%;height:clamp(60px,8vw,110px);margin-bottom:clamp(24px,3vw,40px);overflow:visible}
.approach-path path{fill:none;stroke:rgba(110,210,255,.75);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:0;filter:drop-shadow(0 0 6px rgba(98,228,255,.6));transition:stroke-dashoffset 2.6s var(--ease)}
.reveal-ready .approach-path:not(.is-visible) path{stroke-dashoffset:1}
.approach-sequence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,22px);counter-reset:stage;perspective:1400px}
.approach-sequence li{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:48px;min-height:clamp(260px,24vw,330px);padding:clamp(24px,2.4vw,34px);border:1px solid var(--line);border-radius:22px;background:linear-gradient(170deg,rgba(18,26,54,.8),rgba(7,10,22,.9));transform:rotateX(0) translateZ(0);transition:transform .6s var(--ease),border-color .4s,box-shadow .4s,translate 1.1s var(--ease),rotate 1.3s var(--ease),opacity .9s var(--ease);transition-delay:0s,0s,0s,calc(var(--i) * 110ms),calc(var(--i) * 110ms),calc(var(--i) * 110ms)}
.approach-sequence li:hover{transform:rotateX(8deg) translateZ(30px);border-color:rgba(150,215,255,.4);box-shadow:0 40px 60px -30px rgba(0,0,0,.9),0 0 40px -10px rgba(98,228,255,.3)}
.approach-sequence li:nth-child(1){background:repeating-linear-gradient(62deg,rgba(150,190,255,.05) 0 1px,transparent 1px 9px),repeating-linear-gradient(-38deg,rgba(143,107,255,.05) 0 1px,transparent 1px 13px),linear-gradient(170deg,rgba(18,26,54,.8),rgba(7,10,22,.9))}
.approach-sequence li:nth-child(2){background:repeating-linear-gradient(90deg,rgba(150,190,255,.045) 0 1px,transparent 1px 18px),linear-gradient(170deg,rgba(18,26,54,.8),rgba(7,10,22,.9))}
.approach-sequence li:nth-child(4){border-color:rgba(98,228,255,.4);background:radial-gradient(90% 60% at 50% 0%,rgba(98,228,255,.16),transparent 70%),linear-gradient(170deg,rgba(18,32,64,.9),rgba(7,12,26,.95));box-shadow:0 0 50px -12px rgba(98,228,255,.35)}
.reveal-ready .approach-sequence li:not(.is-visible){rotate:calc(var(--i) * -5deg + 9deg);translate:calc((var(--i) - 1.5) * -30px) 80px}
.stage-no{font-family:var(--display);font-size:clamp(3rem,5vw,4.6rem);font-weight:700;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(170,215,255,.35)}
.approach-sequence li:nth-child(4) .stage-no{-webkit-text-stroke:0;background:linear-gradient(135deg,#fff,#7fdcff 50%,#8f6bff);-webkit-background-clip:text;background-clip:text}
.approach-sequence h3{margin-bottom:10px;font-size:clamp(1.4rem,1.9vw,1.8rem);letter-spacing:-.03em;text-transform:uppercase}
.approach-sequence p{color:var(--muted);font-size:.96rem}

.lab-console{overflow:hidden;border:1px solid var(--line);border-radius:calc(var(--radius) + 2px);background:linear-gradient(175deg,rgba(12,18,40,.85),rgba(5,8,18,.92));box-shadow:0 60px 120px -60px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.05)}
.console-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.console-bar span:first-child{display:flex;gap:7px}
.console-bar i{width:9px;height:9px;border-radius:50%;background:rgba(150,190,255,.2)}
.console-bar i:first-child{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.lab-console ol{perspective:1200px}
.lab-console li{position:relative;display:grid;grid-template-columns:72px 68px minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(22px,2.6vw,34px) clamp(20px,2.6vw,34px);border-bottom:1px solid var(--line);transition:background .4s,transform .5s var(--ease)}
.lab-console li:last-child{border-bottom:0}
.lab-console li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--cyan),var(--violet));transform:scaleY(0);transition:transform .5s var(--ease)}
.lab-console li:hover{background:rgba(70,120,255,.06);transform:translateZ(18px)}
.lab-console li:hover::before{transform:scaleY(1)}
.lab-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--line);border-radius:16px;background:rgba(40,70,160,.1);perspective:260px}
.lab-cube{--s:24px;position:relative;animation:spin-3d 12s linear infinite}
.lab-console li:nth-child(2) .lab-cube{animation-duration:15s;animation-direction:reverse}
.lab-console li:nth-child(3) .lab-cube{--s:20px;animation-duration:10s}
.lab-console li:nth-child(4) .lab-cube i{border-color:rgba(190,160,255,.8);background:rgba(143,107,255,.25)}
.lab-index{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;color:var(--cyan)}
.lab-console h3{margin-bottom:6px;font-size:clamp(1.3rem,2vw,1.9rem);letter-spacing:-.03em}
.lab-console p{max-width:40rem;color:var(--muted);font-size:.98rem}
.lab-state{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(190,230,255,.8)}
.lab-state::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--violet);box-shadow:0 0 8px var(--violet);animation:blink 2s ease-in-out infinite}

.about-section{position:relative}
.about-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.about-grid h2{font-size:clamp(2.4rem,4.7vw,5rem)}
.about-copy{display:grid;gap:16px;padding-top:clamp(0px,4vw,56px);color:var(--muted);font-size:clamp(1.02rem,1.3vw,1.14rem)}
.about-copy p:first-child{font-family:var(--display);font-size:1.3rem;font-weight:600;color:#fff}
.about-question{margin-block:10px;font-family:var(--display);font-size:clamp(1.7rem,2.8vw,2.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.05;color:#fff}
.about-question::before{content:"";display:block;width:48px;height:2px;margin-bottom:18px;background:linear-gradient(90deg,var(--cyan),var(--violet))}

.constellation{position:relative;display:flex;flex-direction:column;align-items:center;gap:36px;margin-top:clamp(72px,9vw,120px);padding:48px 0}
.constellation canvas{display:none}
.constellation-core{position:relative;z-index:2;display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(98,228,255,.3),rgba(79,125,255,.1) 55%,transparent 72%);font-family:var(--display);font-size:1.05rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase;color:#fff;text-shadow:0 0 20px rgba(98,228,255,.8)}
.constellation-core span{padding-left:.34em}
.constellation-core::before,.constellation-core::after{content:"";position:absolute;inset:18px;border-radius:50%;border:1px solid rgba(140,220,255,.5)}
.constellation-core::after{inset:0;border-style:dashed;border-color:rgba(143,107,255,.45);animation:spin 30s linear infinite}
.constellation-nodes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:760px}
.constellation-nodes li{padding:9px 16px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(10,18,40,.7);font-family:var(--display);font-size:.84rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}
.constellation.is-3d{display:block;height:clamp(460px,52vw,680px);padding:0}
.constellation.is-3d::before,.constellation.is-3d::after{content:"";position:absolute;left:50%;top:50%;width:min(980px,92%);aspect-ratio:1;border-radius:50%;pointer-events:none;translate:-50% -50%;transform:rotateX(74deg)}
.constellation.is-3d::before{background:radial-gradient(circle,rgba(79,125,255,.16),rgba(79,125,255,.04) 45%,transparent 68%);border:1px solid rgba(120,180,255,.1)}
.constellation.is-3d::after{width:min(600px,62%);border:1px dashed rgba(143,107,255,.22)}
.constellation.is-3d canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.constellation.is-3d .constellation-core{position:absolute;left:50%;top:50%;margin:-75px 0 0 -75px}
.constellation.is-3d .constellation-nodes{position:absolute;inset:0;display:block;max-width:none}
.constellation.is-3d .constellation-nodes li{position:absolute;left:0;top:0;will-change:transform,opacity;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

.contact{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;min-height:100svh;overflow:hidden;text-align:center}
.contact::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(50% 45% at 50% 55%,transparent,rgba(3,5,11,.75) 80%),linear-gradient(180deg,var(--bg) 0%,transparent 22%,transparent 80%,var(--bg) 100%)}
.contact-scene{z-index:-2}
.portal-fallback{position:absolute;inset:0;perspective:600px}
.portal-fallback i{position:absolute;left:50%;top:50%;width:80vmin;height:80vmin;margin:-40vmin 0 0 -40vmin;border-radius:50%;border:1px solid rgba(110,200,255,.35);box-shadow:0 0 40px rgba(79,125,255,.15);animation:tunnel 8s linear infinite}
.portal-fallback i:nth-child(2){animation-delay:-1.6s}
.portal-fallback i:nth-child(3){animation-delay:-3.2s;border-color:rgba(143,107,255,.35)}
.portal-fallback i:nth-child(4){animation-delay:-4.8s}
.portal-fallback i:nth-child(5){animation-delay:-6.4s}
.contact-inner{position:relative;width:var(--shell);padding-block:clamp(120px,16vh,180px)}
.contact .eyebrow{justify-content:center}
.contact h2,.contact h1{margin-inline:auto;font-size:clamp(2.3rem,6.4vw,6.8rem);line-height:.92;letter-spacing:-.05em}
.contact-lead{margin-top:clamp(24px,3vw,36px);font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.9rem);font-weight:500;color:var(--muted)}
.contact-email{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-top:clamp(32px,4vw,52px);padding:clamp(20px,2.4vw,28px) clamp(30px,4vw,56px);border:1px solid transparent;border-radius:999px;background:linear-gradient(#070c1c,#070c1c) padding-box,conic-gradient(from var(--spin),rgba(98,228,255,.9),rgba(79,125,255,.2),rgba(143,107,255,.9),rgba(79,125,255,.2),rgba(98,228,255,.9)) border-box;box-shadow:0 0 60px -6px rgba(79,160,255,.55),0 0 140px -20px rgba(143,107,255,.45);font-family:var(--display);font-size:clamp(1.1rem,2.6vw,2.2rem);font-weight:600;letter-spacing:-.02em;color:#fff;translate:var(--mag-x) var(--mag-y);animation:border-spin 6s linear infinite;transition:translate .3s var(--ease),box-shadow .4s,opacity .9s var(--ease)}
.contact-email:hover{box-shadow:0 0 80px 0 rgba(98,228,255,.7),0 0 180px -10px rgba(143,107,255,.6)}
.contact-signature{margin-top:clamp(40px,5vw,64px);font-family:var(--display);font-size:.78rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--dim)}
.contact-standalone{padding-top:40px}
.text-link{display:inline-flex;gap:10px;margin-top:28px;font-family:var(--display);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(190,230,255,.8);transition:color .3s}
.text-link:hover{color:#fff}

.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:var(--shell);margin-inline:auto;padding:32px 0 40px;border-top:1px solid var(--line);font-size:.82rem;color:var(--dim)}
.footer-brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.back-to-top{font-family:var(--display);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;transition:color .3s}
.back-to-top:hover{color:#fff}

.cursor-ring{position:fixed;left:0;top:0;z-index:300;width:36px;height:36px;margin:-18px 0 0 -18px;border:1px solid rgba(160,225,255,.55);border-radius:50%;pointer-events:none;opacity:0;transition:opacity .3s,scale .35s var(--ease),background .3s,border-color .3s}
.cursor-ring.is-visible{opacity:1}
.cursor-ring.is-active{scale:1.7;border-color:rgba(98,228,255,.85);background:rgba(98,228,255,.06)}

:where([data-reveal]){transition:opacity .9s var(--ease),translate 1.1s var(--ease),scale 1.1s var(--ease)}
.reveal-ready [data-reveal]:not(.is-visible){opacity:0;translate:0 56px}
.reveal-ready .section-heading:not(.is-visible){scale:.96}
.reveal-ready .build-module:not(.is-visible),.reveal-ready .system-record:not(.is-visible){translate:0 90px}
.build-grid .build-module:nth-child(2),.build-grid .build-module:nth-child(4){transition-delay:0s,.12s,.12s}

@keyframes pulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.3);opacity:0}}
@keyframes drift{0%{background-position:60% 50%}100%{background-position:48% 45%}}
@keyframes grid-flow{0%{background-position:0 0}100%{background-position:0 64px}}
@keyframes breathe{0%,100%{opacity:.72;scale:.94}50%{opacity:1;scale:1.04}}
@keyframes ring-a{from{transform:rotateX(72deg) rotateZ(0)}to{transform:rotateX(72deg) rotateZ(360deg)}}
@keyframes ring-b{from{transform:rotateX(66deg) rotateY(24deg) rotateZ(0)}to{transform:rotateX(66deg) rotateY(24deg) rotateZ(-360deg)}}
@keyframes ring-c{from{transform:rotateY(70deg) rotateZ(0)}to{transform:rotateY(70deg) rotateZ(360deg)}}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -14px}}
@keyframes scroll-line{0%{top:-40%}100%{top:100%}}
@keyframes spin-3d{from{transform:rotateX(-18deg) rotateY(0)}to{transform:rotateX(-18deg) rotateY(360deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes orbit{from{transform:rotate(0) translateX(92px)}to{transform:rotate(360deg) translateX(92px)}}
@keyframes bob{0%,100%{transform:translateZ(calc(var(--s) / 2))}50%{transform:translateZ(calc(var(--s) / 2 + 12px))}}
@keyframes packet-x{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes packet{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@keyframes hover-float{0%,100%{transform:rotateX(58deg) rotateZ(-40deg) translateZ(0)}50%{transform:rotateX(58deg) rotateZ(-40deg) translateZ(14px)}}
@keyframes box-rise{0%,100%{transform:translateZ(0)}50%{transform:translateZ(.7em)}}
@keyframes ring-pulse{0%{transform:translateZ(.2em) scale(.35);opacity:.9}100%{transform:translateZ(.2em) scale(1.7);opacity:0}}
@keyframes assemble-1{0%,12%,100%{transform:translate3d(-34px,-34px,calc(var(--s) / 2 + 46px))}42%,82%{transform:translate3d(0,0,calc(var(--s) / 2))}}
@keyframes assemble-2{0%,12%,100%{transform:translate3d(34px,-34px,calc(var(--s) / 2 + 30px))}46%,82%{transform:translate3d(0,0,calc(var(--s) / 2))}}
@keyframes assemble-3{0%,12%,100%{transform:translate3d(-34px,34px,calc(var(--s) / 2 + 30px))}50%,82%{transform:translate3d(0,0,calc(var(--s) / 2))}}
@keyframes assemble-4{0%,12%,100%{transform:translate3d(34px,34px,calc(var(--s) / 2 + 46px))}54%,82%{transform:translate3d(0,0,calc(var(--s) / 2))}}
@keyframes assemble-5{0%,20%,100%{transform:translate3d(0,0,calc(var(--s) * 1.5 + 90px));opacity:0}62%,82%{transform:translate3d(0,0,calc(var(--s) * 1.5));opacity:1}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes tunnel{0%{transform:scale(.04);opacity:0}25%{opacity:.9}100%{transform:scale(1.7);opacity:0}}
@keyframes border-spin{to{--spin:360deg}}

@media (max-width:1100px){
  .build-module,.module-ai,.module-automation,.module-saas,.module-custom{grid-column:span 6}
  .motif{width:190px;height:190px;transform:translateZ(var(--pop)) scale(.85);transform-origin:100% 0}
  .approach-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .system-record,.record-reverse{grid-template-columns:minmax(0,1fr)}
  .record-reverse .record-visual{order:0}
  .record-visual{min-height:clamp(320px,62vw,500px)}
  .record-content{transform:none}
  .about-grid{grid-template-columns:minmax(0,1fr)}
  .about-copy{padding-top:0;max-width:40rem}
  .hero-support{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .menu-toggle{display:inline-flex}
  .site-header.is-scrolled{width:calc(100% - 24px)}
  .primary-nav{position:fixed;left:0;right:0;top:calc(100% + 10px);flex-direction:column;align-items:stretch;gap:2px;padding:12px;border:1px solid var(--line);border-radius:24px;background:rgba(6,10,22,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 30px 60px -20px rgba(0,0,0,.9);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,transform .4s var(--ease),visibility 0s .4s}
  .primary-nav.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .4s var(--ease),visibility 0s}
  .primary-nav a{padding:16px 18px;font-size:.8rem}
  .primary-nav a:last-child{margin:6px 0 0;text-align:center}
  .section-heading{grid-template-columns:minmax(0,1fr)}
  .thinking-section{min-height:auto}
  .thinking-section::after{background:linear-gradient(180deg,rgba(3,5,11,.55),rgba(3,5,11,.85))}
}
@media (max-width:760px){
  .hero{align-items:flex-end}
  .hero-content{padding-block:120px 110px}
  .hero h1{font-size:clamp(2.5rem,11.6vw,4.6rem)}
  .hero::before{background:linear-gradient(180deg,rgba(3,5,11,.55) 0%,rgba(3,5,11,.25) 30%,rgba(3,5,11,.85) 62%,var(--bg) 100%)}
  .core-fallback{left:50%;top:30%;width:min(88vw,420px)}
  .hero-scene{transform-origin:50% 30%}
  .hero-hud{display:none}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .button{width:100%}
  .scroll-indicator{display:none}
  .build-module,.module-ai,.module-automation,.module-saas,.module-custom{grid-column:1/-1;--pop:30px;min-height:430px}
  .motif{top:14px;right:10px;transform:translateZ(var(--pop)) scale(.7)}
  .approach-path{display:none}
  .approach-sequence{grid-template-columns:minmax(0,1fr)}
  .approach-sequence li{min-height:0;gap:28px}
  .reveal-ready .approach-sequence li:not(.is-visible){rotate:calc(var(--i) * -2deg + 3deg);translate:0 50px}
  .console-bar span:last-child{display:none}
  .lab-console li{grid-template-columns:56px minmax(0,1fr);gap:14px 18px;align-items:start}
  .lab-icon{width:52px;height:52px;grid-row:span 2}
  .lab-index{align-self:end}
  .lab-console li>div{grid-column:2}
  .lab-state{grid-column:2;justify-self:start}
  .contact h2{font-size:clamp(2rem,9.6vw,3.6rem)}
  .contact-email{max-width:100%;padding:18px 26px;font-size:clamp(1rem,5.4vw,1.4rem)}
  .site-footer{flex-direction:column;align-items:flex-start;text-align:left}
  .record-meta{flex-wrap:wrap}
}
@media (max-width:420px){
  .brand-name{display:none}
  .build-module{min-height:460px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-environment,.hero-scene,.hero-content,.record-visual,.record-visual::before,.record-content{transform:none!important}
  .hero-content,.scroll-indicator{opacity:1!important}
  .modules .cube{transform:translateZ(calc(var(--s) / 2))}
  .modules .m5{transform:translateZ(calc(var(--s) * 1.5))}
  .flow .cube{transform:translateZ(calc(var(--s) / 2))}
  .iso-link b{transform:none}
  .iso-ring,.portal-fallback i:nth-child(n+4){opacity:.3}
  .portal-fallback i:nth-child(1){transform:scale(.3)}
  .portal-fallback i:nth-child(2){transform:scale(.6)}
  .portal-fallback i:nth-child(3){transform:scale(.9)}
  .portal-fallback i:nth-child(4){transform:scale(1.2)}
  .portal-fallback i:nth-child(5){transform:scale(1.5)}
}
