:root{
  --bg:#080809;
  --bg2:#121214;
  --text:#f7f7f7;
  --muted:#a7a6a5;
  --line:rgba(199,198,197,.16);
  --line2:rgba(199,198,197,.07);
  --accent:#9f2428;
  --accent2:#c7c6c5;
  --steel:#696a6c;
  --graphite:#585856;
  --mx:50vw;
  --my:50vh;
  --progress:0;
  --scene-progress:0;
  --journey:0;
  --pad:clamp(20px,4vw,64px);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-4;pointer-events:none;
  background:
    radial-gradient(900px circle at var(--mx) var(--my),rgba(159,36,40,.16),transparent 45%),
    radial-gradient(650px circle at calc(100% - var(--mx)) calc(100% - var(--my)),rgba(199,198,197,.045),transparent 52%),
    linear-gradient(180deg,#080809 0%,#101011 42%,#080809 100%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.15;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:rgba(159,36,40,.3);color:#fff}

.grid-bg{position:fixed;inset:0;z-index:-3;pointer-events:none;opacity:.35;
  background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 94%);
  transform:perspective(800px) rotateX(58deg) translateY(-15vh) scale(1.4);transform-origin:top center;
}
#network{position:fixed;inset:0;z-index:-2;width:100%;height:100%;opacity:.72;pointer-events:none}
.scrollbar{position:fixed;top:0;left:0;right:0;height:2px;z-index:100;background:rgba(255,255,255,.05)}
.scrollbar span{display:block;height:100%;width:calc(var(--progress)*100%);background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 28px rgba(159,36,40,.7)}

header{
  position:fixed;top:0;left:0;right:0;z-index:50;padding:20px var(--pad);display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(to bottom,rgba(8,8,9,.72),transparent);backdrop-filter:blur(0px);transition:.3s ease;
}
header.scrolled{background:rgba(8,8,9,.55);backdrop-filter:blur(16px);border-bottom:1px solid var(--line2)}
.brand{display:flex;gap:14px;align-items:center;min-height:44px;text-transform:uppercase}
.brand-logo{display:block;width:clamp(138px,13vw,190px);height:auto}
.labs-tag{font:700 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.24em;color:#fff;padding:8px 10px 7px;border-left:2px solid var(--accent);background:linear-gradient(90deg,rgba(159,36,40,.14),transparent)}
.lab-status{display:flex;align-items:center;gap:10px;font:500 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:var(--muted)}
.status-dot{width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 16px var(--accent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35;transform:scale(.75)}}

main{position:relative}
section{position:relative;min-height:100vh;padding:120px var(--pad) 90px;display:flex;align-items:center}
.section-inner{width:min(1500px,100%);margin:0 auto;position:relative;z-index:2}
.meta{font:600 14px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;color:#b8b7b6;display:flex;gap:14px;align-items:center}
.meta::before{content:"";width:40px;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}
.eyebrow{font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}
.display{font-size:clamp(56px,10vw,170px);line-height:.84;letter-spacing:-.065em;font-weight:700;margin:20px 0;max-width:1200px}
.display .ghost{-webkit-text-stroke:1px rgba(199,198,197,.42);color:transparent;text-shadow:0 0 70px rgba(159,36,40,.12)}
.lede{max-width:650px;font-size:clamp(18px,2vw,28px);line-height:1.25;color:#d3d2d1;letter-spacing:-.02em}
.small{font-size:16px;line-height:1.65;color:var(--muted);max-width:570px}

.hero{min-height:115vh;padding-top:150px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:10% 8% auto auto;width:min(38vw,600px);aspect-ratio:1;border:1px solid rgba(255,255,255,.1);border-radius:50%;filter:drop-shadow(0 0 40px rgba(159,36,40,.08));animation:orb 20s linear infinite}
.hero::after{content:"";position:absolute;right:10%;top:16%;width:min(27vw,420px);aspect-ratio:1;border:1px dashed rgba(159,36,40,.18);border-radius:50%;animation:orb 30s linear reverse infinite}
@keyframes orb{to{transform:rotate(360deg)}}
.hero .display{max-width:1000px}
.hero-title{position:relative}
.hero-title .line{display:block;overflow:hidden}
.hero-title .line > span{display:inline-block;transform:translateY(110%);animation:reveal .95s cubic-bezier(.16,1,.3,1) forwards}
.hero-title .line:nth-child(2)>span{animation-delay:.11s}
@keyframes reveal{to{transform:none}}
.hero-brand-orbit{position:absolute;right:clamp(-80px,2vw,30px);top:14%;width:clamp(260px,38vw,590px);aspect-ratio:1;opacity:.18;pointer-events:none;z-index:0;filter:drop-shadow(0 0 90px rgba(159,36,40,.23))}
.hero-brand-orbit::before,.hero-brand-orbit::after{content:"";position:absolute;inset:4%;border:1px solid rgba(159,36,40,.22);border-radius:50%;animation:orbitPulse 7s ease-in-out infinite}
.hero-brand-orbit::after{inset:15%;border-color:rgba(199,198,197,.12);animation-delay:-2.4s}
.hero-brand-orbit img{position:absolute;inset:19%;width:62%;height:62%;object-fit:contain;animation:markFloat 8s ease-in-out infinite}
@keyframes orbitPulse{0%,100%{transform:scale(.98);opacity:.5}50%{transform:scale(1.035);opacity:1}}
@keyframes markFloat{0%,100%{transform:translate3d(0,-4px,0)}50%{transform:translate3d(0,9px,0)}}
.hero-kicker{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.scroll-cue{display:flex;gap:16px;align-items:center;font:600 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.scroll-cue i{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal;position:relative;overflow:hidden}
.scroll-cue i::after{content:"";width:1px;height:16px;background:var(--accent);animation:drop 1.8s ease-in-out infinite}
@keyframes drop{0%{transform:translateY(-18px);opacity:0}35%{opacity:1}100%{transform:translateY(18px);opacity:0}}

.signal-row{display:flex;gap:28px;flex-wrap:wrap;margin:36px 0 0}
.signal{font:500 14px ui-monospace,SFMono-Regular,Menlo,monospace;color:#aaa9a8;letter-spacing:.12em;text-transform:uppercase}
.signal b{color:var(--accent2);font-weight:600}

.discipline-wrap{display:grid;grid-template-columns:minmax(280px,.8fr) 1.7fr;gap:8vw;align-items:center}
.constellation{position:relative;min-height:640px;border:1px solid var(--line2);border-radius:40px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.005));overflow:hidden;box-shadow:inset 0 0 100px rgba(159,36,40,.03)}
.constellation::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(159,36,40,.08),transparent 52%)}
.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:translate(-50%,-50%)}
.orbit.o1{width:42%;aspect-ratio:1}.orbit.o2{width:68%;aspect-ratio:1}.orbit.o3{width:94%;aspect-ratio:1}
.discipline{position:absolute;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.12);background:rgba(8,8,9,.72);backdrop-filter:blur(10px);padding:11px 16px;border-radius:999px;color:#e3e2e1;font-size:14px;font-weight:600;min-height:48px;white-space:nowrap;transition:.35s cubic-bezier(.2,.8,.2,1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none}
.discipline:focus-visible{outline:2px solid #fff;outline-offset:3px;border-color:var(--accent)}
.discipline[aria-pressed="true"]{background:rgba(159,36,40,.18);border-color:rgba(159,36,40,.7);box-shadow:0 0 40px rgba(159,36,40,.18)}
.discipline::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:9px;box-shadow:0 0 12px var(--accent)}
.discipline:hover{transform:translate(-50%,-50%) scale(1.08);background:rgba(159,36,40,.09);border-color:rgba(159,36,40,.42);color:#fff;box-shadow:0 12px 50px rgba(0,0,0,.35)}
.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(159,36,40,.35);font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-align:center;color:var(--accent);box-shadow:0 0 70px rgba(159,36,40,.12),inset 0 0 40px rgba(159,36,40,.05)}

.pipeline{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stage{min-height:220px;padding:24px 20px 30px;position:relative;border-right:1px solid var(--line);overflow:hidden}
.stage:last-child{border-right:0}
.stage-num{font:500 14px ui-monospace,SFMono-Regular,Menlo,monospace;color:#7d7c7b;letter-spacing:.16em}
.stage h3{font-size:clamp(26px,3vw,48px);letter-spacing:-.045em;margin:58px 0 8px}
.stage p{font-size:16px;line-height:1.5;color:var(--muted);margin:0}
.stage::after{content:"";position:absolute;left:0;bottom:0;width:calc(var(--stage-progress,0)*100%);height:2px;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 24px rgba(159,36,40,.5);transition:width .8s ease}

.experiments-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}
.experiments{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.experiment{position:relative;min-height:360px;border:1px solid var(--line);border-radius:28px;padding:26px;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));transition:.35s ease;transform-style:preserve-3d}
.experiment:nth-child(1){grid-column:span 7}.experiment:nth-child(2){grid-column:span 5}.experiment:nth-child(3){grid-column:span 5}.experiment:nth-child(4){grid-column:span 7}
.experiment:hover{border-color:rgba(159,36,40,.3);transform:translateY(-4px);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.experiment::before{content:"";position:absolute;inset:0;background:radial-gradient(480px circle at var(--cx,50%) var(--cy,50%),rgba(159,36,40,.11),transparent 42%);opacity:0;transition:.3s}
.experiment:hover::before{opacity:1}
.exp-top{display:flex;justify-content:space-between;gap:20px;position:relative;z-index:2}
.exp-id,.exp-status{font:600 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#999897;text-transform:uppercase}
.exp-status{color:var(--accent)}
.exp-content{position:absolute;left:26px;right:26px;bottom:26px;z-index:2}
.exp-content h3{font-size:clamp(30px,4vw,64px);letter-spacing:-.055em;line-height:.92;margin:0 0 12px;max-width:800px}
.exp-content p{max-width:560px;color:#c0bfbe;font-size:16px;line-height:1.55;margin:0}
.schematic{position:absolute;inset:70px 20px 130px;opacity:.38}
.schematic svg{width:100%;height:100%}

.learning .display{font-size:clamp(56px,9vw,150px);max-width:1300px}
.learning-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:9vw;align-items:end}
.system-map{height:520px;position:relative;border-left:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.sys-node{position:absolute;width:12px;height:12px;border-radius:50%;border:1px solid rgba(159,36,40,.55);background:#111113;box-shadow:0 0 26px rgba(159,36,40,.16)}
.sys-node.active{background:var(--accent);box-shadow:0 0 28px rgba(159,36,40,.6)}
.system-map svg{position:absolute;inset:0;width:100%;height:100%}
.system-map path{stroke:rgba(159,36,40,.22);stroke-width:.7;fill:none;stroke-dasharray:4 8;animation:dash 18s linear infinite}
@keyframes dash{to{stroke-dashoffset:-120}}

.wales{overflow:hidden}
.wales .display{position:relative;z-index:2;font-size:clamp(70px,11.5vw,190px)}
.topography{position:absolute;inset:0;opacity:.32;pointer-events:none}
.topography svg{width:120%;height:120%;transform:translate(-8%,-8%) rotate(-8deg)}
.topography path{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1}
.coordinates{display:flex;gap:30px;flex-wrap:wrap;margin-top:44px;font:500 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;color:#999897}

.final{min-height:110vh;align-items:flex-end;padding-bottom:52px}
.final .display{font-size:clamp(62px,11vw,176px);max-width:1200px}
.final-actions{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:70px;padding-top:26px;border-top:1px solid var(--line)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 20px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font:600 14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;transition:.3s ease;background:rgba(255,255,255,.025)}
.button:hover{border-color:var(--accent);background:rgba(159,36,40,.08);box-shadow:0 0 42px rgba(159,36,40,.12)}
footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;flex-wrap:wrap;margin-top:110px;color:#a9a8a7;font-size:14px}
.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:clamp(180px,20vw,260px);height:auto}.footer-brand .labs-tag{font-size:14px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.footer-links a:hover{color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:4px}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:none}

.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:200;border-radius:50%;transform:translate(-50%,-50%);display:none}
.cursor-dot{width:5px;height:5px;background:#fff}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(255,255,255,.35);transition:width .2s,height .2s,border-color .2s,background .2s}
@media (pointer:fine){.cursor-dot,.cursor-ring{display:block}a,button,.discipline{cursor:none}.cursor-ring.active{width:62px;height:62px;border-color:rgba(159,36,40,.55);background:rgba(159,36,40,.05)}}

/* Kinetic Systems visual layer. */
.kinetic-thread{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.72}
.kinetic-thread svg{width:100%;height:100%}
.kinetic-thread .thread-base{fill:none;stroke:rgba(199,198,197,.06);stroke-width:1}
.kinetic-thread .thread-live{fill:none;stroke:url(#threadGradient);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--journey));filter:drop-shadow(0 0 10px rgba(159,36,40,.35));transition:stroke-dashoffset .08s linear}
.scene-rail{position:fixed;right:12px;top:50%;z-index:60;transform:translateY(-50%);display:grid;gap:4px;padding:7px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(8,8,9,.34);backdrop-filter:blur(14px)}
.scene-rail a{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;position:relative}
.scene-rail a::before{content:"";width:6px;height:6px;border-radius:50%;background:#72716f;transition:.3s ease}
.scene-rail a::after{content:attr(data-label);position:absolute;right:52px;white-space:nowrap;font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:#c7c6c5;opacity:0;transform:translateX(8px);transition:.25s ease;pointer-events:none}
.scene-rail a:hover::after,.scene-rail a:focus-visible::after{opacity:1;transform:none}
.scene-rail a.active::before{width:10px;height:10px;background:var(--accent);box-shadow:0 0 24px rgba(159,36,40,.85)}
[data-scene]{--local-progress:0}
.hero{min-height:150vh}
.hero .section-inner{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:80px;padding-bottom:54px}
.hero-aperture{position:absolute;right:clamp(-170px,-4vw,-40px);top:50%;width:clamp(420px,58vw,920px);aspect-ratio:1;transform:translateY(-50%) rotate(calc(var(--local-progress)*26deg)) scale(calc(1 + var(--local-progress)*.16));transform-origin:center;pointer-events:none;opacity:.62;will-change:transform}
.hero-aperture::before,.hero-aperture::after{content:"";position:absolute;border-radius:50%;inset:0;border:1px solid rgba(199,198,197,.13);box-shadow:inset 0 0 90px rgba(159,36,40,.035)}
.hero-aperture::after{inset:13%;border-color:rgba(159,36,40,.28);border-style:dashed;transform:rotate(calc(var(--local-progress)*-60deg))}
.aperture-ring{position:absolute;border-radius:50%;inset:26%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 100px rgba(159,36,40,.12),inset 0 0 80px rgba(159,36,40,.08)}
.aperture-ring::before,.aperture-ring::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.aperture-ring::before{width:140%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.aperture-ring::after{width:1px;height:140%;background:linear-gradient(180deg,transparent,var(--accent2),transparent)}
.aperture-core{position:absolute;inset:38%;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(159,36,40,.16),rgba(8,8,9,.1) 60%,transparent);border:1px solid rgba(159,36,40,.32)}
.aperture-core img{width:72%;height:auto;opacity:.82;filter:drop-shadow(0 0 34px rgba(159,36,40,.28))}
.hero-title{z-index:3}.hero-kicker{z-index:3}
.hero-title .ghost{background:linear-gradient(90deg,rgba(199,198,197,.16),rgba(159,36,40,.62),rgba(199,198,197,.12));background-size:220% 100%;background-position:calc(var(--local-progress)*100%) 50%;-webkit-background-clip:text;background-clip:text}
#experiments{min-height:135vh}
#experiments .section-inner{position:sticky;top:9vh}
.discipline-wrap{perspective:1200px}
.constellation{transform:rotateX(calc((var(--local-progress) - .5)*5deg)) rotateY(calc((var(--local-progress) - .5)*-7deg));box-shadow:inset 0 0 110px rgba(159,36,40,.035),0 40px 120px rgba(0,0,0,.25);will-change:transform}
.constellation .orbit{transform:translate(-50%,-50%) rotate(calc(var(--local-progress)*80deg))}.constellation .o2{transform:translate(-50%,-50%) rotate(calc(var(--local-progress)*-55deg))}
#reality{min-height:120vh;overflow:hidden}
#reality::before{content:"IDEA / EXPERIMENT / SYSTEM / DEPLOY";position:absolute;left:-3vw;top:9%;font-size:clamp(70px,13vw,230px);font-weight:800;letter-spacing:-.075em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);transform:translateX(calc(var(--local-progress)*-18vw));pointer-events:none}
.pipeline{position:relative;background:rgba(8,8,9,.38);backdrop-filter:blur(12px)}
.stage{transition:background .45s ease,transform .45s ease}.stage:hover{background:rgba(159,36,40,.055);transform:translateY(-8px)}
#current{padding-top:150px;padding-bottom:150px}
.experiment-stack{display:grid;gap:22px;position:relative}
.experiment-stack .experiment{grid-column:auto!important;position:sticky;top:clamp(88px,10vh,128px);min-height:min(72vh,700px);background:linear-gradient(145deg,rgba(24,24,27,.97),rgba(9,9,10,.97));box-shadow:0 -1px 0 rgba(255,255,255,.08),0 40px 100px rgba(0,0,0,.42);transform-origin:center top}
.experiment-stack .experiment:nth-child(1){z-index:1}.experiment-stack .experiment:nth-child(2){z-index:2;top:calc(clamp(88px,10vh,128px) + 14px)}.experiment-stack .experiment:nth-child(3){z-index:3;top:calc(clamp(88px,10vh,128px) + 28px)}.experiment-stack .experiment:nth-child(4){z-index:4;top:calc(clamp(88px,10vh,128px) + 42px)}
.experiment-stack .schematic{inset:82px 4% 152px;opacity:.48;transform:scale(calc(.94 + var(--local-progress)*.06));transform-origin:center}.experiment-stack .exp-content h3{font-size:clamp(42px,6vw,90px);max-width:1000px}
.learning{min-height:130vh}.learning .section-inner{position:sticky;top:10vh}
.system-map{transform:perspective(900px) rotateY(calc((.5 - var(--local-progress))*10deg));box-shadow:inset 0 0 80px rgba(159,36,40,.04)}
.system-map::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(159,36,40,.08) 48%,transparent 66%);transform:translateX(calc((var(--local-progress)*180%) - 90%));pointer-events:none}
.wales{min-height:145vh;perspective:1100px}.wales .section-inner{position:sticky;top:10vh}
.wales-portal{position:absolute;right:5vw;top:50%;width:min(48vw,720px);aspect-ratio:1;transform:translateY(-50%) rotateX(64deg) rotateZ(calc(-12deg + var(--local-progress)*14deg)) scale(calc(.78 + var(--local-progress)*.22));transform-style:preserve-3d;pointer-events:none;opacity:.74}
.wales-portal span{position:absolute;inset:var(--ring);border:1px solid rgba(199,198,197,.12);border-radius:48% 52% 44% 56% / 54% 43% 57% 46%;box-shadow:0 0 42px rgba(159,36,40,.04);transform:translateZ(var(--z))}
.wales-portal span:nth-child(1){--ring:4%;--z:0px}.wales-portal span:nth-child(2){--ring:10%;--z:22px}.wales-portal span:nth-child(3){--ring:16%;--z:44px}.wales-portal span:nth-child(4){--ring:22%;--z:66px}.wales-portal span:nth-child(5){--ring:28%;--z:88px;border-color:rgba(159,36,40,.3)}.wales-portal span:nth-child(6){--ring:35%;--z:110px;border-color:rgba(159,36,40,.45)}
.wales-portal::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%) translateZ(140px);box-shadow:0 0 0 18px rgba(159,36,40,.08),0 0 80px 20px rgba(159,36,40,.34)}
.topography{transform:translateY(calc((var(--local-progress) - .5)*-5vh)) scale(calc(1 + var(--local-progress)*.05));will-change:transform}
.final{min-height:130vh;overflow:hidden}.final::before{content:"";position:absolute;left:50%;bottom:-34vw;width:min(88vw,1250px);aspect-ratio:1;border:1px solid rgba(159,36,40,.24);border-radius:50%;transform:translateX(-50%) scale(calc(.75 + var(--local-progress)*.25));box-shadow:0 0 180px rgba(159,36,40,.08),inset 0 0 160px rgba(159,36,40,.04)}
.final .section-inner{z-index:3}.final-actions .button{min-width:260px}

@media (max-width:900px){
  section{padding-top:105px}
  .discipline-wrap,.learning-grid{grid-template-columns:1fr;gap:50px}
  .constellation{min-height:520px}
  .pipeline{grid-template-columns:1fr 1fr}
  .stage:nth-child(2){border-right:0}.stage:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .experiments{grid-template-columns:1fr}.experiment:nth-child(n){grid-column:auto;min-height:390px}
  .scene-rail{display:none}.hero{min-height:115vh}.hero .section-inner,#experiments .section-inner,.learning .section-inner,.wales .section-inner{position:relative;top:auto}.hero-aperture{right:-250px;opacity:.4}.constellation{transform:none}.experiment-stack .experiment{position:relative;top:auto!important;min-height:520px}.wales-portal{right:-26vw;width:86vw;opacity:.42}
  .experiments-head{align-items:flex-start;flex-direction:column}
  .system-map{height:420px}
.hero-kicker{align-items:flex-start;flex-direction:column}
}
@media (max-width:560px){
  header{padding-top:14px;padding-bottom:14px}.brand-logo{width:136px}.labs-tag{padding:7px 8px 6px;font-size:14px}.lab-status span:last-child{display:none}
  .hero{padding-top:120px;min-height:100svh}.hero-brand-orbit{width:310px;right:-130px;top:22%;opacity:.12}.display{line-height:.9}.lede{font-size:18px}
.hero-kicker{margin-top:34px}.scroll-cue{display:none}
  .constellation{min-height:auto;border-radius:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:88px 14px 18px}.constellation .orbit{opacity:.35}.discipline{position:relative!important;left:auto!important;top:auto!important;transform:none!important;white-space:normal;width:100%;font-size:14px;line-height:1.25;padding:12px 13px;min-height:48px;text-align:left;justify-content:flex-start}.discipline:hover{transform:none!important}.core{top:42px;width:74px;font-size:14px}
  .pipeline{grid-template-columns:1fr}.stage{border-right:0;border-bottom:1px solid var(--line)!important;min-height:180px}.stage:last-child{border-bottom:0!important}.stage h3{margin-top:38px}
  .experiment{min-height:360px;border-radius:22px;padding:20px}.exp-content{left:20px;right:20px;bottom:20px}.schematic{inset:55px 10px 145px}
  .system-map{height:330px}.final-actions{align-items:flex-start;flex-direction:column}.final{min-height:100svh}
  .kinetic-thread{opacity:.42}.hero-aperture{width:520px;right:-320px}.experiment-stack .experiment{min-height:430px}.experiment-stack .exp-content h3{font-size:clamp(36px,11vw,58px)}.wales-portal{right:-44vw;width:110vw}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.001ms!important;animation-duration:.001ms!important}
  .hero-title .line>span{transform:none}.reveal{opacity:1;transform:none}#network{display:none}
  .kinetic-thread{display:none}.hero-aperture{transform:none!important}.constellation,.topography,.wales-portal,.system-map{transform:none!important}.experiment-stack .experiment{position:relative;top:auto!important}
}

/* Multi-page Labs shell */
.lab-index{position:relative;margin-left:auto;margin-right:18px;font:600 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.lab-index summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:rgba(8,8,9,.5);cursor:pointer;color:#ddd}
.lab-index summary::-webkit-details-marker{display:none}.lab-index summary span{color:var(--accent2);font-size:12px}.lab-index[open] summary{border-color:rgba(159,36,40,.45);background:#111113}
.lab-index-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 32px));padding:10px;border:1px solid var(--line);border-radius:18px;background:rgba(12,12,14,.98);box-shadow:0 28px 80px rgba(0,0,0,.5);display:grid;gap:3px}
.lab-index-panel a{display:grid;grid-template-columns:42px 1fr;align-items:center;min-height:48px;padding:8px 12px;border-radius:10px;color:#d7d6d4}.lab-index-panel a:hover,.lab-index-panel a[aria-current="page"]{background:rgba(159,36,40,.11);color:#fff}.lab-index-panel b{color:#777;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.experiment-link{display:block;color:inherit;text-decoration:none}.experiment-link::before{content:"VIEW EXPERIMENT ↗";position:absolute;right:26px;bottom:26px;z-index:4;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#aaa}.experiment-link:hover::before{color:#fff}.experiment-stack .experiment:nth-child(5){z-index:5;top:calc(clamp(88px,10vh,128px) + 56px)}

.experiment-page main{overflow:hidden}.experiment-page .page-hero{min-height:100svh;padding-top:150px}.experiment-page .page-hero .section-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;gap:clamp(40px,8vw,130px)}
.page-code{font:600 14px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;color:#a3a2a0;text-transform:uppercase;margin-bottom:20px}.page-title{font-size:clamp(64px,10vw,164px);line-height:.86;letter-spacing:-.065em;margin:0;max-width:1100px}.page-title .ghost{color:#565557}.page-intro{font-size:clamp(18px,2vw,25px);line-height:1.55;color:#c1c0be;max-width:750px;margin:30px 0 0}.page-note{font-size:16px;line-height:1.65;color:#979694;max-width:720px}
.page-visual{position:relative;aspect-ratio:1;min-height:360px;display:grid;place-items:center}.page-visual::before,.page-visual::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(199,198,197,.13);inset:6%;animation:slowspin 30s linear infinite}.page-visual::after{inset:20%;border-style:dashed;border-color:rgba(159,36,40,.36);animation-direction:reverse;animation-duration:22s}.page-visual-core{width:42%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(159,36,40,.45);background:radial-gradient(circle,rgba(159,36,40,.15),transparent 68%);box-shadow:0 0 90px rgba(159,36,40,.1);font:700 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-align:center;color:#d4d3d1}
@keyframes slowspin{to{transform:rotate(360deg)}}
.page-section{min-height:auto;padding-top:130px;padding-bottom:130px}.page-section.tint{background:linear-gradient(180deg,transparent,rgba(255,255,255,.018),transparent)}.page-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(40px,9vw,150px);align-items:start}.page-section h2{font-size:clamp(44px,7vw,104px);line-height:.93;letter-spacing:-.055em;margin:14px 0 24px}.page-section h3{font-size:clamp(24px,3vw,42px);line-height:1.02;letter-spacing:-.035em;margin:0 0 12px}.page-copy{font-size:18px;line-height:1.72;color:#c1c0be;max-width:760px}.page-copy p{margin:0 0 1.2em}
.flow{display:grid;grid-template-columns:repeat(var(--flow-count,5),minmax(0,1fr));border:1px solid var(--line);border-radius:24px;overflow:hidden;margin-top:54px;background:rgba(8,8,9,.42)}.flow-step{padding:28px 20px;min-height:148px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;gap:30px}.flow-step:last-child{border-right:0}.flow-step span{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#797876;letter-spacing:.12em}.flow-step b{font-size:clamp(18px,2vw,28px);letter-spacing:-.03em}
.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feature{min-height:210px;padding:24px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.025),transparent);position:relative;overflow:hidden}.feature::after{content:"";position:absolute;inset:auto 20px 0;height:1px;background:linear-gradient(90deg,var(--accent),transparent)}.feature small{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#888;letter-spacing:.12em}.feature h3{margin-top:48px;font-size:26px}.feature p{font-size:16px;line-height:1.55;color:#9f9e9c;margin:0}
.principle-list{display:grid;border-top:1px solid var(--line)}.principle{display:grid;grid-template-columns:90px minmax(0,1fr);gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.principle b{font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent2)}.principle h3{font-size:25px;margin:0 0 7px}.principle p{font-size:16px;line-height:1.6;color:#9f9e9c;margin:0}
.source-links{display:grid;gap:10px;margin-top:28px}.source-links a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;border-bottom:1px solid var(--line);font-size:16px;color:#bdbcb9}.source-links a:hover{color:#fff}
.language-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;margin-top:24px}.language-switch a{min-height:44px;display:flex;align-items:center;padding:0 16px;border-radius:999px;font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.language-switch a[aria-current="page"]{background:rgba(159,36,40,.18);color:#fff}
.experiment-pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin-top:80px}.experiment-pager a{min-height:130px;padding:28px 0;display:flex;flex-direction:column;justify-content:center;gap:8px}.experiment-pager a:last-child{text-align:right;border-left:1px solid var(--line);padding-left:28px}.experiment-pager small{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#777;letter-spacing:.15em}.experiment-pager strong{font-size:clamp(22px,3vw,38px);letter-spacing:-.04em}
.page-footer{padding:45px var(--pad);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}.page-footer .footer-brand{display:flex;align-items:center}.page-footer nav{display:flex;gap:18px;flex-wrap:wrap}.page-footer nav a{min-height:44px;display:flex;align-items:center;color:#999}.page-footer nav a:hover{color:#fff}

body[data-page="nursery"] .page-visual::before{border-radius:42% 58% 55% 45%/48% 41% 59% 52%}body[data-page="operations"] .page-visual::before{border-radius:22px;transform:rotate(12deg)}body[data-page="trades"] .page-visual::before{border-radius:8px;transform:skewY(-8deg)}body[data-page="infrastructure"] .page-visual::after{box-shadow:0 0 0 34px rgba(159,36,40,.025),0 0 0 68px rgba(255,255,255,.018)}body[data-page="web"] .page-visual::before{border-radius:28px;inset:12% 2%;transform:rotate(-6deg)}

@media(max-width:900px){.lab-status{display:none}.lab-index{margin-right:0}.experiment-page .page-hero .section-inner,.page-grid{grid-template-columns:1fr}.page-visual{min-height:300px;max-width:600px}.flow{grid-template-columns:repeat(2,1fr)}.flow-step{border-bottom:1px solid var(--line)}.feature-grid{grid-template-columns:1fr 1fr}.experiment-stack .experiment:nth-child(5){top:auto!important}}
@media(max-width:560px){.lab-index summary{padding:0 11px}.lab-index summary span{display:none}.lab-index-panel{right:-4px}.experiment-page .page-hero{padding-top:130px}.page-title{font-size:clamp(56px,17vw,88px)}.page-section{padding-top:90px;padding-bottom:90px}.flow{grid-template-columns:1fr}.flow-step{min-height:120px;border-right:0}.feature-grid{grid-template-columns:1fr}.principle{grid-template-columns:54px 1fr}.experiment-pager{grid-template-columns:1fr}.experiment-pager a:last-child{text-align:left;border-left:0;border-top:1px solid var(--line);padding-left:0}.page-footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.page-visual::before,.page-visual::after{animation:none!important}}
.framework-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:42px}.framework-card{padding:26px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.018)}.framework-card.wide{grid-column:1/-1}.framework-card .framework-tag{font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;color:#8f8e8c;text-transform:uppercase}.framework-card h3{margin:22px 0 16px}.framework-card ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.framework-card li{font-size:16px;line-height:1.5;color:#b5b4b2;padding-left:18px;position:relative}.framework-card li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.framework-note{margin-top:28px;padding:20px 22px;border-left:2px solid var(--accent);background:linear-gradient(90deg,rgba(159,36,40,.09),transparent);font-size:16px;line-height:1.65;color:#c6c5c3}.boundary-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:44px}.boundary-card{padding:28px;border-radius:20px;border:1px solid var(--line);min-height:260px}.boundary-card.ai{background:linear-gradient(145deg,rgba(159,36,40,.07),transparent)}.boundary-card.human{background:linear-gradient(145deg,rgba(199,198,197,.05),transparent)}.boundary-card h3{font-size:32px}.boundary-card ul{margin:22px 0 0;padding-left:20px;color:#afaeac}.boundary-card li{font-size:16px;line-height:1.55;margin-bottom:10px}.capability-cloud{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.capability-cloud span{min-height:44px;display:flex;align-items:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;font-size:14px;color:#c7c6c4;background:rgba(255,255,255,.02)}
@media(max-width:700px){.framework-grid,.boundary-grid{grid-template-columns:1fr}.framework-card.wide{grid-column:auto}}
