:root{
  --red:#C1272D;--red-hi:#e13a41;--ink:#231F20;--night:#0d0b0c;--night-2:#121011;--night-3:#181516;
  --white:#f7f7f4;--grey:#a7a0a2;--line:rgba(255,255,255,.13);--line-soft:rgba(255,255,255,.075);
  --display:"Space Grotesk",Inter,system-ui,sans-serif;--body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",Consolas,monospace;
  --shell:1480px;--pad:clamp(18px,4.25vw,68px);--r1:8px;--r2:12px;--r3:20px;--r4:34px;
  --ease:cubic-bezier(.2,.82,.2,1);--spring:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{margin:0;background:var(--night);color:var(--white);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.is-menu-open,body.is-booting{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}img,svg{display:block;max-width:100%}.site-shell{width:min(100%,var(--shell));margin:auto;padding-inline:var(--pad);position:relative}.skip-link{position:fixed;z-index:99999;top:-80px;left:16px;background:#fff;color:#111;padding:12px 16px;border-radius:10px}.skip-link:focus{top:16px}::selection{background:var(--red);color:#fff}

/* Permanent laboratory environment */
.lab-atmosphere{position:fixed;inset:0;z-index:-3;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 70% 18%,rgba(193,39,45,.1),transparent 30%),linear-gradient(180deg,#0b090a 0%,#100e0f 48%,#0b090a 100%)}
.lab-pattern{position:absolute;inset:0;background-image:url('../img/mirai-pattern-variable-dark.svg');background-size:1052px 177px;background-repeat:repeat;opacity:.11;mix-blend-mode:screen;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),rgba(0,0,0,.18) 40%,rgba(0,0,0,.55));animation:patternDrift 32s linear infinite}.lab-glow{position:absolute;width:55vw;height:55vw;right:-25vw;top:20vh;border-radius:50%;background:var(--red);filter:blur(170px);opacity:.055;animation:glowBreathe 10s ease-in-out infinite alternate}.ambient-modules{position:absolute;inset:0}.ambient-modules i{position:absolute;width:clamp(10px,1.3vw,22px);aspect-ratio:1;border-radius:30%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.04);left:calc((var(--i)*17.37)%100 * 1%);top:calc((var(--i)*31.19)%100 * 1%);animation:ambientFloat calc(7s + (var(--i)%7)*1s) ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.37s);will-change:transform}.ambient-modules i:nth-child(11){background:var(--red);box-shadow:0 0 34px rgba(193,39,45,.34)}
@keyframes patternDrift{to{background-position:1052px 177px}}@keyframes glowBreathe{to{transform:translate(-10vw,10vh) scale(1.18);opacity:.085}}@keyframes ambientFloat{to{transform:translate3d(calc((var(--i)%3 - 1)*28px),calc((var(--i)%5 - 2)*18px),0) rotate(calc(var(--i)*7deg))}}

/* Fast brand boot: approved mark geometry, moving as pieces, resolving exact */
.lab-boot{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#090708;transition:opacity .55s var(--ease),visibility .55s;overflow:hidden}.lab-boot.is-done{opacity:0;visibility:hidden;pointer-events:none}.lab-boot__scan{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 47%,rgba(193,39,45,.05) 50%,transparent 53%);background-size:220px 100%;animation:bootScan 1.1s linear infinite}.lab-boot__logo{width:min(42vw,330px);perspective:900px}.boot-mark{width:100%;overflow:visible}.boot-mark #path1,.boot-mark #rect1,.boot-mark #path2,.boot-mark #path3,.boot-mark #rect3,.boot-mark #rect4,.boot-mark #text4{transform-box:fill-box;transform-origin:center;opacity:0;animation:logoResolve 1.12s var(--spring) forwards}.boot-mark #path1{--x:-220px;--y:-60px;--rot:-130deg;animation-delay:.04s}.boot-mark #rect1{--x:210px;--y:-160px;--rot:190deg;animation-delay:.12s}.boot-mark #path2{--x:-240px;--y:130px;--rot:160deg;animation-delay:.19s}.boot-mark #path3{--x:180px;--y:200px;--rot:-210deg;animation-delay:.27s}.boot-mark #rect3{--x:250px;--y:80px;--rot:230deg;animation-delay:.34s}.boot-mark #rect4{--x:-80px;--y:230px;--rot:320deg;animation-delay:.58s}.boot-mark #text4{--x:0px;--y:100px;--rot:0deg;animation-delay:.74s}.lab-boot__status{position:absolute;bottom:clamp(28px,7vh,72px);left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font:500 10px/1 var(--mono);letter-spacing:.18em;color:#797476}.lab-boot__status span:last-child{color:var(--red)}
@keyframes bootScan{to{background-position:220px 0}}@keyframes logoResolve{0%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rot)) scale(.58)}55%{opacity:1}78%{transform:translate(0,0) rotate(4deg) scale(1.035)}100%{opacity:1;transform:none}}

/* Header / HUD */
.site-header{position:fixed;z-index:500;inset:0 0 auto;background:linear-gradient(180deg,rgba(9,7,8,.92),rgba(9,7,8,.55),transparent);transition:.3s}.site-header.is-scrolled{background:rgba(10,8,9,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft)}.header-inner{height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:36px}.brand{width:64px;filter:drop-shadow(0 0 18px rgba(193,39,45,.08));transition:transform .4s var(--spring)}.brand:hover{transform:rotate(-4deg) scale(1.06)}.mirai-nav{justify-self:center}.mirai-nav ul,.mirai-nav__list{list-style:none;display:flex;gap:6px;margin:0;padding:0}.mirai-nav a{display:block;padding:10px 13px;border-radius:12px;font:500 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#c9c5c6;transition:.25s}.mirai-nav a:hover,.mirai-nav .current-menu-item>a{background:rgba(255,255,255,.08);color:#fff;transform:translateY(-2px)}.header-tools{display:flex;align-items:center;gap:10px}.sound-toggle,.header-cta{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;border-radius:999px;min-height:42px;padding:0 14px;font:500 9px/1 var(--mono);letter-spacing:.1em}.sound-toggle{display:flex;gap:8px;align-items:center;cursor:pointer}.sound-toggle__dot{width:7px;height:7px;border-radius:3px;background:#5a5557}.sound-toggle[aria-pressed=true] .sound-toggle__dot{background:var(--red);box-shadow:0 0 12px var(--red)}.header-cta{display:grid;place-items:center;background:#fff;color:#100e0f;border-color:#fff}.menu-btn{display:none;border:0;background:none;width:44px;height:44px;padding:12px}.menu-btn span{display:block;height:2px;background:#fff;margin:6px 0}.scene-meter{position:fixed;z-index:300;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:9px;justify-items:center;font:500 8px/1 var(--mono);letter-spacing:.09em;color:#777174;writing-mode:vertical-rl}.scene-meter b{height:82px;width:2px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}.scene-meter i{position:absolute;inset:auto 0 0;height:20%;background:var(--red);transition:height .4s var(--ease)}

/* Cursor Variable */
.mirai-cursor{position:fixed;z-index:5000;left:0;top:0;width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.34);pointer-events:none;opacity:0;transition:opacity .18s,width .25s,height .25s,border-radius .25s,background .25s;mix-blend-mode:difference}.mirai-cursor span{position:absolute;inset:9px;border-radius:3px;background:#fff}.mirai-cursor.is-visible{opacity:1}.mirai-cursor.is-active{width:48px;height:48px;border-radius:14px;background:#fff}.mirai-cursor.is-active span{background:#000;inset:17px}

/* Scene engine: one continuous lab, not stacked cards */
.lab-world{position:relative}.lab-scene{position:relative;min-height:125svh}.scene-sticky{position:sticky;top:0;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:104px 0 42px}.scene-sticky:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,10,11,.9),rgba(12,10,11,.76));z-index:-1}.scene-sticky--hero:before{background:linear-gradient(180deg,rgba(8,6,7,.62),rgba(11,9,10,.88))}.scene-eyebrow{font:500 10px/1 var(--mono);letter-spacing:.18em;color:#8f898b;text-transform:uppercase}.scene-eyebrow:before{content:"";display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--red);margin-right:10px;vertical-align:-1px}.variable{color:var(--red)!important}

/* Scene 01 */
.hero-stage{min-height:calc(100svh - 146px);display:grid;grid-template-columns:1.14fr .86fr;grid-template-rows:auto 1fr auto;gap:24px;align-items:center}.hero-hud{grid-column:1/-1;display:flex;justify-content:space-between;font:500 9px/1 var(--mono);letter-spacing:.15em;color:#777174}.hero-hud i{display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--red);margin-right:9px;animation:statusPulse 1.6s infinite}.hero-copy{position:relative;z-index:3;max-width:900px}.hero-copy h1{font:700 clamp(54px,7.4vw,124px)/.86 var(--display);letter-spacing:-.065em;margin:22px 0 28px;max-width:10ch}.hero-copy h1 em{font-style:normal;color:var(--red)}.hero-positioning{max-width:690px;color:#aaa4a6;font-size:clamp(16px,1.5vw,21px);line-height:1.55}.hero-play{align-self:stretch;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr);gap:10px;transform:rotate(-4deg);padding:44px 0 36px;perspective:800px}.hero-cell{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.045);border-radius:clamp(9px,1.1vw,18px);position:relative;cursor:crosshair;transition:transform .45s var(--spring),background .3s,border-color .3s,box-shadow .3s;animation:cellDance calc(4.6s + (var(--n,1)*.14s)) ease-in-out infinite alternate}.hero-cell:nth-child(3n){transform:translateY(8px)}.hero-cell:nth-child(4n){transform:translateY(-11px)}.hero-cell span{position:absolute;inset:23%;border:2px solid rgba(255,255,255,.08);border-radius:35%}.hero-cell:hover,.hero-cell:focus-visible{transform:translateY(-14px) scale(1.08) rotate(3deg);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22);outline:none}.hero-cell.is-variable{background:var(--red);border-color:var(--red);box-shadow:0 18px 70px rgba(193,39,45,.28);animation:variableDance 2.8s ease-in-out infinite alternate}.hero-cell.is-variable span{border-color:rgba(255,255,255,.45)}.hero-tagline{grid-column:1/2;display:flex;gap:clamp(10px,2vw,30px);font:600 clamp(13px,1.3vw,20px)/1 var(--display);letter-spacing:.03em}.hero-bottom{grid-column:2/3;display:flex;justify-content:flex-end;align-items:center;gap:24px;font:500 8px/1.3 var(--mono);letter-spacing:.12em;color:#757073}.round-link{width:118px;aspect-ratio:1;border-radius:35%;background:#f4f3ef;color:#151213;padding:20px;display:flex;flex-direction:column;justify-content:space-between;font:700 13px/1.05 var(--display);transform:rotate(4deg);transition:.35s var(--spring)}.round-link b{align-self:flex-end;font-size:20px}.round-link:hover{transform:rotate(-3deg) scale(1.06)}
@keyframes statusPulse{50%{opacity:.25}}@keyframes cellDance{to{translate:0 -8px;rotate:1.5deg}}@keyframes variableDance{to{translate:0 -16px;rotate:-4deg;scale:1.04;box-shadow:0 26px 100px rgba(193,39,45,.38)}}

/* Scene 02 */
.method-stage{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(44px,8vw,130px);align-items:center;min-height:calc(100svh - 150px)}.method-intro h2{font:700 clamp(60px,8vw,132px)/.82 var(--display);letter-spacing:-.07em;margin:24px 0 34px}.method-intro h2 span{color:var(--red)}.method-intro p{max-width:560px;font-size:18px;color:#aaa4a6}.method-orbit{display:flex;flex-direction:column;gap:8px}.method-word{position:relative;border-top:1px solid var(--line);min-height:150px;padding:22px 10px 22px 74px;display:grid;grid-template-columns:1fr auto;align-items:center;transition:.45s var(--spring);cursor:default}.method-word>span{position:absolute;left:8px;top:25px;font:500 9px/1 var(--mono);color:#767073}.method-word strong{font:700 clamp(44px,5.2vw,84px)/.9 var(--display);letter-spacing:-.055em;color:#4c4749;transition:.4s}.method-word p{color:#746f71;margin:0;max-width:200px;text-align:right;font-size:13px}.method-word:hover,.method-word.is-active{padding-left:98px}.method-word:hover strong,.method-word.is-active strong{color:#fff}.method-word.is-variable strong{color:var(--red)}.method-word.is-variable:after{content:"";position:absolute;left:43px;top:50%;width:20px;height:20px;border-radius:7px;background:var(--red);transform:translateY(-50%) rotate(45deg);box-shadow:0 0 30px rgba(193,39,45,.33)}.method-path{position:absolute;inset:auto 2% 7% auto;width:230px;height:80px;display:flex;gap:16px;align-items:end;opacity:.5}.method-path i{width:22px;border-radius:8px;background:#423d3f;height:var(--h,32px);animation:pathDance 2.7s ease-in-out infinite alternate}.method-path i:nth-child(2){--h:58px}.method-path i:nth-child(3){--h:40px;background:var(--red)}.method-path i:nth-child(4){--h:72px}.method-path i:nth-child(5){--h:48px}.method-path i:nth-child(6){--h:28px}@keyframes pathDance{to{height:calc(var(--h,32px) + 18px);transform:translateY(-6px)}}

/* Scene 03 / expanding project lab */
.scene-sticky--work{align-items:flex-start;padding-top:118px}.work-stage{width:100%}.work-head{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:end;margin-bottom:28px}.work-head h2{font:700 clamp(48px,6vw,88px)/.92 var(--display);letter-spacing:-.055em;margin:12px 0 0}.work-head p{color:#9b9597;max-width:650px;margin:0 0 8px}.category-lab{display:grid;gap:10px}.category-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;transition:grid-template-columns .62s var(--spring)}.category-tile{position:relative;min-height:360px;padding:22px;border:1px solid var(--line-soft);border-radius:var(--r3);background:rgba(255,255,255,.035);overflow:hidden;transition:background .35s,border-color .35s,transform .35s,filter .35s;outline:none}.category-tile:focus-visible{border-color:#fff}.category-row.has-active .category-tile:not(.is-active){filter:saturate(.3);background:rgba(255,255,255,.02)}.category-tile.is-active{background:#171415;border-color:rgba(255,255,255,.18);transform:translateY(-5px);box-shadow:0 28px 90px rgba(0,0,0,.28)}.category-tile__pattern{position:absolute;inset:0;background:url('../img/mirai-pattern-variable-dark.svg') center/820px auto;opacity:.12;transition:.4s;mask-image:linear-gradient(to bottom,#000,transparent 70%)}.category-tile.is-active .category-tile__pattern{opacity:.24;transform:scale(1.06)}.category-tile__top{position:relative;z-index:2;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.1em;color:#777174}.category-tile__top b{font-weight:500;color:#aaa4a6}.category-tile h3{position:relative;z-index:2;font:700 clamp(32px,3.4vw,56px)/1 var(--display);letter-spacing:-.045em;margin:76px 0 10px;transition:.4s}.category-tile.is-active h3{color:var(--red);transform:translateY(-8px)}.category-tile>p{position:relative;z-index:2;color:#8e888a;font-size:13px;max-width:330px;margin:0;transition:.35s}.category-tile:not(.is-active) .category-projects,.category-tile:not(.is-active) .category-open{opacity:0;pointer-events:none;transform:translateY(16px)}.category-projects{position:relative;z-index:2;margin-top:28px;display:grid;gap:7px;opacity:1;transition:.4s .12s var(--ease)}.mini-project{display:grid;grid-template-columns:86px 1fr auto;gap:12px;align-items:center;min-height:64px;border:1px solid var(--line-soft);background:rgba(0,0,0,.22);padding:8px;border-radius:12px;transition:.25s}.mini-project:hover{background:rgba(255,255,255,.08);transform:translateX(5px)}.mini-project__preview{height:48px;border-radius:8px;overflow:hidden;background:#0d0b0c}.mini-project__preview .project-preview{height:100%;min-height:0;border:0;border-radius:0}.mini-project__preview .project-preview--image img{width:100%;height:100%;object-fit:cover}.mini-project__preview .project-preview--pattern{background:url('../img/mirai-pattern-variable-dark.svg') center/310px auto}.preview-host{display:none}.mini-project div:nth-child(2){display:grid;gap:4px}.mini-project span{font:500 7px/1 var(--mono);letter-spacing:.08em;color:#777174}.mini-project strong{font:600 13px/1.15 var(--display)}.mini-project>b{color:var(--red)}.mini-project--empty{color:#8c8587}.empty-variable{width:34px;height:34px;border-radius:10px;background:var(--red)}.category-open{position:absolute;z-index:2;right:22px;bottom:20px;font:500 9px/1 var(--mono);letter-spacing:.1em;color:#c9c4c5;transition:.3s}.category-open span{color:var(--red)}.work-index-link{display:inline-flex;margin-top:20px;border-bottom:1px solid var(--line);padding:10px 0;font:600 10px/1 var(--mono);letter-spacing:.12em}.work-index-link span{color:var(--red);margin-left:18px}

/* Scene 04 */
.labfloor-stage{min-height:calc(100svh - 150px);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:70px}.labfloor-copy h2{font:700 clamp(52px,6vw,96px)/.88 var(--display);letter-spacing:-.06em;margin:22px 0 26px}.labfloor-copy p{max-width:560px;color:#979193}.labfloor-objects{position:relative;height:640px}.floating-object{position:absolute;border:1px solid var(--line);background:#151213;border-radius:28px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;transition:.4s var(--spring);box-shadow:0 30px 90px rgba(0,0,0,.25);overflow:hidden}.floating-object:before{content:"";position:absolute;inset:0;background:url('../img/mirai-pattern-variable-dark.svg') center/720px auto;opacity:.14}.floating-object>*{position:relative;z-index:1}.floating-object>span{font:500 8px/1 var(--mono);letter-spacing:.11em;color:#827c7e}.floating-object strong{font:700 clamp(28px,3vw,46px)/.95 var(--display);max-width:8ch}.floating-object>b{align-self:flex-end;color:var(--red);font-size:24px}.floating-object:hover{transform:translateY(-18px) rotate(0deg)!important;border-color:rgba(255,255,255,.28)}.object-product{left:3%;top:6%;width:56%;height:48%;transform:rotate(-6deg);animation:objectFloatA 5.8s ease-in-out infinite alternate}.object-experiment{right:0;bottom:5%;width:54%;height:46%;transform:rotate(7deg);animation:objectFloatB 6.7s ease-in-out infinite alternate}.object-signal{left:20%;bottom:2%;width:26%;height:31%;background:var(--red);transform:rotate(4deg);animation:objectFloatC 4.8s ease-in-out infinite alternate}.object-signal:before{display:none}.object-signal i{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.2);position:absolute}.object-signal i:nth-of-type(1){left:24px;bottom:24px}.object-signal i:nth-of-type(2){right:24px;top:42px}.object-signal i:nth-of-type(3){right:48px;bottom:44px}.object-signal i:nth-of-type(4){left:44%;top:45%;background:#fff}@keyframes objectFloatA{to{transform:rotate(-3deg) translateY(-18px)}}@keyframes objectFloatB{to{transform:rotate(4deg) translate(8px,-22px)}}@keyframes objectFloatC{to{transform:rotate(-2deg) translate(-8px,-20px)}}

/* Scene 05 */
.contact-stage{min-height:calc(100svh - 150px);display:flex;align-items:center}.console-window{width:100%;border:1px solid rgba(255,255,255,.17);border-radius:34px;background:#121011;overflow:hidden;box-shadow:0 60px 160px rgba(0,0,0,.4)}.console-bar{height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;font:500 8px/1 var(--mono);letter-spacing:.13em;color:#787274}.console-bar i{display:inline-block;width:7px;height:7px;border-radius:3px;background:var(--red);margin-right:8px}.console-body{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;padding:clamp(34px,6vw,90px)}.console-body h2{font:700 clamp(62px,8vw,132px)/.84 var(--display);letter-spacing:-.07em;margin:20px 0}.console-body>div:last-child{align-self:end}.console-body p{color:#aaa4a6;font-size:18px;max-width:520px}.console-action{display:flex;justify-content:space-between;align-items:center;margin-top:34px;padding:18px 20px;border-radius:14px;background:var(--red);font:700 13px/1 var(--display)}.console-action b{font-size:22px}.console-pattern{height:124px;border-top:1px solid var(--line);background:url('../img/mirai-pattern-variable-dark.svg') center/1052px auto repeat;position:relative}.console-pattern span{position:absolute;left:66%;top:46%;width:34px;height:34px;border-radius:10px;background:var(--red);animation:variableDance 2.8s ease-in-out infinite alternate}

/* Work index + shared archive/content surfaces */
.archive-lab-hero,.archive-hero,.case-hero{padding:160px 0 64px;min-height:48svh;display:flex;align-items:end}.archive-lab-hero h1,.archive-hero h1,.case-hero h1{font:700 clamp(58px,8vw,126px)/.85 var(--display);letter-spacing:-.07em;margin:18px 0 26px;max-width:11ch}.archive-lab-hero p,.archive-hero p,.case-hero p{max-width:760px;color:#9e989a;font-size:18px}.section-index,.mono-label{font:500 9px/1 var(--mono);letter-spacing:.12em;color:#7e787a;text-transform:uppercase}.work-lab-index,.section,.section-dark{padding:50px 0 100px}.all-projects-head{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:22px 4px;margin-top:70px;font:500 9px/1 var(--mono);letter-spacing:.11em;color:#777174}.project-index-grid,.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.project-card{grid-column:span 6;position:relative;border:1px solid var(--line-soft);border-radius:22px;overflow:hidden;background:#141112;min-height:560px;transition:.4s var(--spring)}.project-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.2)}.project-card__link{position:absolute;inset:0;z-index:5}.project-preview{height:330px;background:#0c0a0b;overflow:hidden}.project-preview--pattern{background:url('../img/mirai-pattern-variable-dark.svg') center/900px auto;position:relative}.project-preview--pattern:after{content:"";position:absolute;width:40px;height:40px;border-radius:12px;background:var(--red);left:68%;top:48%}.project-preview--image img{width:100%;height:100%;object-fit:cover}.project-preview--live{position:relative}.project-preview--live iframe{position:absolute;left:0;top:0;width:1440px;height:950px;border:0;transform:scale(.49);transform-origin:0 0;pointer-events:none}.project-preview__fallback{position:absolute;inset:0;display:grid;place-items:center;font:500 10px/1 var(--mono);color:#777174}.project-card__body{padding:26px}.project-card__meta{display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.1em;color:#7e787a}.project-card h3{font:700 clamp(28px,3vw,46px)/.95 var(--display);margin:28px 0 14px}.project-card p{color:#8c8688;max-width:580px}.project-proof{margin-top:26px;border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:baseline;gap:12px}.project-proof strong{font:700 28px/1 var(--display);color:var(--red)}.project-proof span{font:500 8px/1 var(--mono);color:#7e787a}.nav-links{display:flex;gap:8px;margin-top:30px}.page-numbers{border:1px solid var(--line);border-radius:999px;padding:10px 13px;font:500 9px/1 var(--mono)}.page-numbers.current{background:#fff;color:#111}.index-list{border-top:1px solid var(--line)}.index-row{display:grid;grid-template-columns:130px 1fr 1fr auto;gap:26px;align-items:center;padding:28px 4px;border-bottom:1px solid var(--line);transition:.3s}.index-row:hover{padding-left:14px;background:rgba(255,255,255,.025)}.index-row__state{font:500 8px/1 var(--mono);color:var(--red)}.index-row strong{font:600 24px/1 var(--display)}.index-row>span:nth-child(3){color:#898385}.experiment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.experiment-card{min-height:390px;border:1px solid var(--line);border-radius:24px;padding:24px;background:#141112;position:relative;overflow:hidden;transition:.4s var(--spring)}.experiment-card:hover{transform:translateY(-10px) rotate(-1deg)}.experiment-card__meta{display:flex;justify-content:space-between;font:500 8px/1 var(--mono);color:#777174}.experiment-card h2{font:700 38px/.95 var(--display);margin:90px 0 14px}.experiment-card p{color:#8d8789}.experiment-variable{position:absolute;right:24px;bottom:24px;width:42px;height:42px;border-radius:12px;background:var(--red)}

/* Case / content / intake */
.case-preview{padding-bottom:40px}.case-preview .site-shell>.project-preview{border:1px solid var(--line);border-radius:24px;height:70vh;min-height:520px}.case-proof{margin-top:12px;border:1px solid var(--line);border-radius:18px;padding:24px;display:grid;grid-template-columns:160px auto 1fr;gap:24px;align-items:baseline}.case-proof span{font:500 8px/1 var(--mono);color:#777174}.case-proof strong{font:700 52px/1 var(--display);color:var(--red)}.case-proof p{color:#999395}.content-grid{display:grid;grid-template-columns:220px minmax(0,850px);gap:clamp(32px,7vw,120px);padding-top:40px}.entry-content{font-size:18px;color:#b5afb1}.entry-content h1{font:700 clamp(48px,7vw,96px)/.9 var(--display);letter-spacing:-.06em;color:#fff}.entry-content h2,.entry-content h3{font-family:var(--display);color:#fff}.entry-content a{color:#fff;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:4px}.intake-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px}.intake-note{border:1px solid var(--line);border-radius:20px;padding:24px;height:max-content}.intake-note ol{padding-left:22px;color:#9b9597}.intake-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.intake-form label{font:500 8px/1 var(--mono);letter-spacing:.1em;color:#888285}.intake-form input,.intake-form textarea{display:block;width:100%;margin-top:9px;background:#151213;border:1px solid var(--line);border-radius:12px;color:#fff;padding:15px;outline:none;transition:.2s}.intake-form input:focus,.intake-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(193,39,45,.12)}.intake-form label:last-of-type{grid-column:1/-1}.hp-field{position:absolute;left:-9999px}.form-status{grid-column:1/-1;color:#aaa4a6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;border:0;border-radius:12px;padding:0 18px;font:600 10px/1 var(--mono);letter-spacing:.08em}.btn--red{background:var(--red);color:#fff}.btn--ink{background:#fff;color:#111}.btn--ghost{border:1px solid var(--line);background:transparent;color:#fff}.error-lab{min-height:100svh;display:flex;align-items:center;padding-top:100px}.error-lab .site-shell{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.error-code{font:700 clamp(120px,25vw,360px)/.7 var(--display);letter-spacing:-.09em;color:#1e1a1b}.error-lab h1{font:700 clamp(48px,6vw,88px)/.9 var(--display)}

/* Footer */
.site-footer{position:relative;border-top:1px solid var(--line);padding:70px 0 28px;background:#090708}.footer-inner{display:grid;grid-template-columns:1fr 1fr auto;gap:50px;align-items:end}.footer-brand img{width:80px}.footer-brand p{max-width:560px;color:#777174;font-size:12px;margin-top:24px}.footer-tagline{display:grid;gap:4px;font:700 clamp(25px,3vw,48px)/.9 var(--display);letter-spacing:-.03em}.footer-links{display:grid;gap:12px;font:500 9px/1 var(--mono);letter-spacing:.1em}.footer-links a:hover{color:var(--red)}.footer-bottom{border-top:1px solid var(--line);margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.12em;color:#625d5f}
.magnetic{will-change:transform}

@media(max-width:1100px){
  .scene-meter{display:none}.hero-stage,.method-stage,.labfloor-stage{grid-template-columns:1fr}.hero-copy h1{max-width:12ch}.hero-play{min-height:430px}.hero-tagline{grid-column:1}.hero-bottom{grid-column:1}.method-orbit{margin-top:20px}.work-head{grid-template-columns:1fr}.scene-sticky--work{position:relative;min-height:auto}.scene-work{min-height:auto}.category-tile{min-height:390px}.labfloor-objects{height:520px}.console-body{grid-template-columns:1fr}.project-card{grid-column:span 12}.footer-inner{grid-template-columns:1fr 1fr}.footer-links{grid-column:1/-1}.content-grid{grid-template-columns:1fr}.experiment-grid{grid-template-columns:1fr 1fr}.intake-grid{grid-template-columns:1fr}.index-row{grid-template-columns:110px 1fr auto}.index-row>span:nth-child(3){grid-column:2/3}.case-proof{grid-template-columns:120px 1fr}.case-proof p{grid-column:2}
}
@media(max-width:780px){
  :root{--pad:18px}.site-header{background:rgba(10,8,9,.88);backdrop-filter:blur(16px)}.header-inner{height:72px;grid-template-columns:auto 1fr auto}.brand{width:52px}.menu-btn{display:block;justify-self:end}.header-tools{display:none}.mirai-nav{position:fixed;inset:72px 10px auto;background:#121011;border:1px solid var(--line);border-radius:18px;padding:10px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}.mirai-nav.is-open{opacity:1;visibility:visible;transform:none}.mirai-nav ul,.mirai-nav__list{flex-direction:column;align-items:stretch}.mirai-nav a{font:600 17px/1 var(--display);padding:15px}.lab-boot__logo{width:58vw}.lab-scene{min-height:auto}.scene-sticky{position:relative;min-height:auto;padding:110px 0 70px}.scene-sticky--hero{min-height:100svh}.hero-stage{min-height:calc(100svh - 145px);display:flex;flex-direction:column;align-items:stretch}.hero-hud{font-size:7px}.hero-copy h1{font-size:clamp(48px,14vw,78px);margin-top:18px}.hero-positioning{font-size:15px}.hero-play{min-height:330px;grid-template-columns:repeat(7,1fr);gap:5px;transform:rotate(-2deg);padding:10px 0}.hero-cell{border-radius:8px}.hero-cell span{border-width:1px}.hero-tagline{font-size:12px;gap:12px;flex-wrap:wrap}.hero-bottom{margin-top:10px;justify-content:space-between}.round-link{width:100px}.method-stage{min-height:auto}.method-intro h2{font-size:58px}.method-word{min-height:118px;padding-left:52px;grid-template-columns:1fr}.method-word strong{font-size:42px}.method-word p{text-align:left;margin-top:8px}.method-word.is-variable:after{left:18px;width:16px;height:16px}.method-path{display:none}.work-head h2{font-size:52px}.category-row{display:block!important}.category-tile{min-height:220px;margin-bottom:10px}.category-tile h3{margin-top:55px;font-size:38px}.category-tile:not(.is-active) .category-projects,.category-tile:not(.is-active) .category-open{display:none}.category-tile.is-active{min-height:540px}.category-projects{margin-top:22px}.mini-project{grid-template-columns:70px 1fr auto}.labfloor-stage{min-height:auto}.labfloor-copy h2{font-size:55px}.labfloor-objects{height:560px}.object-product{width:82%;height:40%;left:0}.object-experiment{width:82%;height:40%;right:0}.object-signal{width:43%;height:26%;left:7%}.console-body{padding:34px 22px}.console-body h2{font-size:61px}.console-pattern{height:88px}.archive-lab-hero,.archive-hero,.case-hero{padding:125px 0 50px;min-height:auto}.archive-lab-hero h1,.archive-hero h1,.case-hero h1{font-size:60px}.project-index-grid,.project-grid{display:block}.project-card{margin-bottom:12px;min-height:0}.project-preview{height:240px}.project-card__body{padding:20px}.experiment-grid{grid-template-columns:1fr}.index-row{grid-template-columns:1fr auto;padding:22px 4px}.index-row>span:nth-child(3){grid-column:1/-1}.case-preview .site-shell>.project-preview{height:430px;min-height:0}.case-proof{grid-template-columns:1fr}.case-proof p{grid-column:auto}.intake-form{grid-template-columns:1fr}.intake-form label:last-of-type{grid-column:auto}.footer-inner{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.mirai-cursor{display:none}.error-lab .site-shell{grid-template-columns:1fr}.error-code{text-align:center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lab-pattern,.lab-glow,.ambient-modules i,.hero-cell,.method-path i,.floating-object,.console-pattern span,.hero-hud i{animation:none!important}.lab-scene{min-height:auto}.scene-sticky{position:relative}.mirai-cursor{display:none}.boot-mark #path1,.boot-mark #rect1,.boot-mark #path2,.boot-mark #path3,.boot-mark #rect3,.boot-mark #rect4,.boot-mark #text4{animation:none;opacity:1;transform:none}.magnetic{transform:none!important}}

/* v2.1 - MIRAI Control Deck + Tech Bench */
.lab-boot__logo{transition:transform .8s var(--spring),filter .8s var(--ease)}
.lab-boot.is-settled .lab-boot__logo{transform:scale(1.04);filter:drop-shadow(0 0 44px rgba(193,39,45,.16))}
.lab-boot.is-settled .boot-mark #rect4{animation:bootVariableHold 1.05s ease-in-out infinite alternate!important}
@keyframes bootVariableHold{to{filter:drop-shadow(0 0 12px rgba(193,39,45,.7));transform:scale(1.08)}}
.boot-mark #path1,.boot-mark #rect1,.boot-mark #path2,.boot-mark #path3,.boot-mark #rect3,.boot-mark #rect4,.boot-mark #text4{animation-duration:1.85s}
.boot-mark #path1{animation-delay:.08s}.boot-mark #rect1{animation-delay:.22s}.boot-mark #path2{animation-delay:.42s}.boot-mark #path3{animation-delay:.61s}.boot-mark #rect3{animation-delay:.82s}.boot-mark #rect4{animation-delay:1.02s}.boot-mark #text4{animation-delay:1.28s}

.hero-stage--deck{grid-template-columns:minmax(0,.95fr) minmax(520px,1.05fr);column-gap:clamp(34px,5vw,92px)}
.hero-copy--deck h1{font-size:clamp(64px,7.6vw,128px);max-width:8ch;margin-bottom:24px}.hero-copy--deck h1 em{font-style:normal;color:var(--red)}
.hero-readout{margin-top:34px;padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.035);max-width:630px;position:relative;overflow:hidden;transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--spring)}
.hero-readout:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--red)}.hero-readout.is-pulsing{transform:translateX(6px);border-color:rgba(193,39,45,.42);background:rgba(193,39,45,.055)}
.hero-readout__code{display:block;font:500 8px/1 var(--mono);letter-spacing:.14em;color:var(--red);margin-bottom:10px}.hero-readout strong{display:block;font:600 clamp(20px,2vw,30px)/1.08 var(--display);letter-spacing:-.03em}.hero-readout p{margin:9px 0 0;color:#918b8d;max-width:52ch;font-size:13px}

.control-deck{align-self:center;justify-self:stretch;min-height:550px;border:1px solid rgba(255,255,255,.12);border-radius:46px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:inset 0 1px rgba(255,255,255,.08),0 38px 110px rgba(0,0,0,.38);position:relative;padding:76px clamp(30px,4vw,68px) 70px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(46px,6vw,90px);overflow:hidden;transform:rotate(-1.3deg);isolation:isolate}
.control-deck:before{content:"";position:absolute;inset:0;background-image:url('../img/mirai-pattern-variable-dark.svg');background-size:760px auto;opacity:.09;mask-image:linear-gradient(135deg,rgba(0,0,0,.2),#000 55%,rgba(0,0,0,.3));z-index:-1}.control-deck:after{content:"";position:absolute;left:50%;top:50%;width:210px;height:210px;border-radius:50%;border:1px solid rgba(255,255,255,.06);transform:translate(-50%,-50%);box-shadow:0 0 0 34px rgba(255,255,255,.012),0 0 0 66px rgba(255,255,255,.008);z-index:-1}
.control-deck__label{position:absolute;left:34px;right:34px;top:27px;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.13em;color:#706a6c}.control-deck__label span:last-child{color:#9b9597}
.control-pad{width:min(100%,310px);aspect-ratio:1;position:relative;justify-self:center}.deck-key{position:absolute;width:88px;height:88px;border:1px solid rgba(255,255,255,.12);background:#191617;border-radius:27px;display:grid;place-items:center;gap:4px;cursor:pointer;color:#bbb5b7;box-shadow:inset 0 1px rgba(255,255,255,.06),0 12px 25px rgba(0,0,0,.22);transition:.32s var(--spring);padding:12px}.deck-key svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.deck-key span{font:600 8px/1 var(--mono);letter-spacing:.12em}.deck-key:hover,.deck-key:focus-visible,.deck-key.is-active{outline:none;background:#252122;color:#fff;border-color:rgba(255,255,255,.26);transform:translateY(-6px) scale(1.06);box-shadow:0 18px 38px rgba(0,0,0,.38)}.deck-key.is-active:before{content:"";position:absolute;width:8px;height:8px;border-radius:3px;background:var(--red);right:10px;top:10px;box-shadow:0 0 14px rgba(193,39,45,.7)}
.deck-key--up{left:50%;top:0;transform:translateX(-50%)}.deck-key--up:hover,.deck-key--up:focus-visible,.deck-key--up.is-active{transform:translateX(-50%) translateY(-6px) scale(1.06)}.deck-key--down{left:50%;bottom:0;transform:translateX(-50%)}.deck-key--down:hover,.deck-key--down:focus-visible,.deck-key--down.is-active{transform:translateX(-50%) translateY(6px) scale(1.06)}.deck-key--left{left:0;top:50%;transform:translateY(-50%)}.deck-key--left:hover,.deck-key--left:focus-visible,.deck-key--left.is-active{transform:translateY(-50%) translateX(-6px) scale(1.06)}.deck-key--right{right:0;top:50%;transform:translateY(-50%)}.deck-key--right:hover,.deck-key--right:focus-visible,.deck-key--right.is-active{transform:translateY(-50%) translateX(6px) scale(1.06)}
.deck-key--center{left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:36px;background:#100e0f}.deck-key--center:hover,.deck-key--center:focus-visible,.deck-key--center.is-active{transform:translate(-50%,-50%) scale(1.06);background:#151213}.variable-core{width:48px;height:48px!important;border-radius:16px;background:var(--red);display:grid!important;place-items:center;box-shadow:0 0 36px rgba(193,39,45,.23);animation:controlVariable 2.8s ease-in-out infinite alternate}.variable-core i{width:13px;height:13px;border-radius:4px;background:#fff;opacity:.9}@keyframes controlVariable{to{transform:rotate(9deg) scale(1.12);box-shadow:0 0 46px rgba(193,39,45,.43)}}
.action-cluster{width:min(100%,310px);aspect-ratio:1;position:relative;justify-self:center}.action-key{position:absolute;width:92px;height:92px;border:1px solid rgba(255,255,255,.12);background:#191617;border-radius:50%;display:grid;place-items:center;align-content:center;gap:5px;color:#aaa4a6;cursor:pointer;transition:.3s var(--spring);box-shadow:inset 0 1px rgba(255,255,255,.06),0 12px 25px rgba(0,0,0,.22)}.action-key b{font:500 28px/1 var(--display);color:#fff}.action-key span{font:600 7px/1 var(--mono);letter-spacing:.12em}.action-key:hover,.action-key:focus-visible,.action-key.is-active{outline:none;transform:translateY(-7px) scale(1.07);border-color:rgba(255,255,255,.3);background:#282425}.action-key.is-active b,.action-key--o:hover b{color:var(--red)}.action-key--x{left:0;top:50%;transform:translateY(-50%)}.action-key--x:hover,.action-key--x:focus-visible,.action-key--x.is-active{transform:translateY(-50%) translateX(-5px) scale(1.07)}.action-key--o{right:0;top:50%;transform:translateY(-50%)}.action-key--o:hover,.action-key--o:focus-visible,.action-key--o.is-active{transform:translateY(-50%) translateX(5px) scale(1.07)}.action-key--sq{left:50%;top:0;transform:translateX(-50%)}.action-key--sq:hover,.action-key--sq:focus-visible,.action-key--sq.is-active{transform:translateX(-50%) translateY(-5px) scale(1.07)}.action-key--tri{left:50%;bottom:0;transform:translateX(-50%)}.action-key--tri:hover,.action-key--tri:focus-visible,.action-key--tri.is-active{transform:translateX(-50%) translateY(5px) scale(1.07)}
.deck-shoulder{position:absolute;top:68px;width:100px;height:18px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#151213;display:grid;place-items:center;font:500 7px/1 var(--mono);letter-spacing:.15em;color:#5f5a5c}.deck-shoulder--left{left:46px}.deck-shoulder--right{right:46px}.deck-status{position:absolute;left:36px;right:36px;bottom:25px;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.12em;color:#6f696b}.deck-status span{display:flex;align-items:center;gap:8px}.deck-status i{width:7px;height:7px;border-radius:3px;background:var(--red);box-shadow:0 0 14px rgba(193,39,45,.55)}.deck-status b{font-weight:500;color:#aaa4a6}

/* Tech Bench - recognizable technology names in MIRAI lab trays, not an agency-logo wall */
.scene-techbench{min-height:135svh}.scene-sticky--bench:before{background:linear-gradient(180deg,rgba(9,7,8,.92),rgba(15,12,13,.88))}.techbench-stage{min-height:calc(100svh - 146px);display:grid;align-content:center;gap:clamp(30px,4vw,58px)}.techbench-head{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end}.techbench-head h2{font:700 clamp(54px,6.5vw,105px)/.86 var(--display);letter-spacing:-.065em;margin:18px 0 0;max-width:12ch}.techbench-head h2 span{color:var(--red)}.techbench-head>p{max-width:620px;color:#979193;font-size:clamp(15px,1.3vw,20px)}
.techbench{display:grid;grid-template-columns:1.9fr repeat(4,.72fr);gap:10px;transition:grid-template-columns .55s var(--spring)}.techtray{min-width:0;min-height:360px;border:1px solid var(--line);border-radius:28px;padding:22px;background:linear-gradient(155deg,#171415,#100e0f);position:relative;overflow:hidden;cursor:default;transition:background .35s,border-color .35s,transform .35s var(--spring);isolation:isolate}.techtray:before{content:"";position:absolute;inset:0;background-image:url('../img/mirai-pattern-variable-dark.svg');background-size:650px auto;opacity:.035;z-index:-1}.techtray:hover,.techtray:focus-visible,.techtray.is-active{outline:none;border-color:rgba(255,255,255,.22);background:linear-gradient(155deg,#1e1a1b,#121011)}.techtray__top{display:flex;justify-content:space-between;font:500 7px/1 var(--mono);letter-spacing:.12em;color:#696365}.techtray__top b{font-weight:500;color:#8d8789}.techtray h3{font:650 clamp(25px,2.6vw,42px)/.96 var(--display);letter-spacing:-.045em;margin:clamp(72px,8vh,115px) 0 18px;max-width:8ch}.techtray:not(.is-active) h3{font-size:clamp(21px,1.75vw,30px);writing-mode:vertical-rl;transform:rotate(180deg);margin:70px auto 0;max-height:190px}.techtray__brands{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;opacity:0;transform:translateY(20px);transition:.35s var(--ease);pointer-events:none}.techtray.is-active .techtray__brands{opacity:1;transform:none;pointer-events:auto;transition-delay:.12s}.tech-brand{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 11px 7px 7px;background:rgba(255,255,255,.035);white-space:nowrap;transform:translateY(calc((var(--brand-index))*2px));transition:.25s}.tech-brand:hover{background:rgba(255,255,255,.08);transform:translateY(-3px)}.tech-brand__mark{width:29px;height:29px;border-radius:9px;background:#242021;display:grid;place-items:center;font:600 7px/1 var(--mono);letter-spacing:-.03em;color:#d6d2d3}.tech-brand strong{font:500 11px/1 var(--body);color:#e4e1e2}.techtray.is-active .tech-brand:nth-child(2) .tech-brand__mark{background:var(--red);color:#fff}.techtray__signal{position:absolute;right:18px;bottom:18px;display:flex;gap:5px}.techtray__signal i{width:7px;height:7px;border-radius:3px;background:#393436}.techtray.is-active .techtray__signal i:nth-child(2){background:var(--red);box-shadow:0 0 12px rgba(193,39,45,.5)}.techbench-note{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid var(--line);font:500 8px/1 var(--mono);letter-spacing:.12em;color:#6c6668}.techbench-note strong{font-weight:500;color:#aaa4a6}

@media(max-width:1100px){
  .hero-stage--deck{grid-template-columns:1fr}.control-deck{min-height:520px;margin-top:8px}.hero-copy--deck h1{max-width:none}.techbench-head{grid-template-columns:1fr}.scene-techbench{min-height:auto}.scene-sticky--bench{position:relative;min-height:auto}.techbench{grid-template-columns:1.8fr repeat(4,.66fr)}
}
@media(max-width:780px){
  .boot-mark #path1,.boot-mark #rect1,.boot-mark #path2,.boot-mark #path3,.boot-mark #rect3,.boot-mark #rect4,.boot-mark #text4{animation-duration:1.5s}.hero-stage--deck{display:flex}.hero-copy--deck h1{font-size:clamp(56px,16vw,82px);line-height:.83}.hero-readout{margin-top:22px}.control-deck{min-height:610px;border-radius:30px;padding:86px 18px 64px;grid-template-columns:1fr 1fr;gap:18px;transform:none}.control-deck__label{left:18px;right:18px}.control-pad,.action-cluster{width:100%;max-width:260px}.deck-key{width:70px;height:70px;border-radius:21px}.deck-key svg{width:27px;height:27px}.deck-key--center{width:86px;height:86px;border-radius:26px}.variable-core{width:37px;height:37px!important;border-radius:12px}.action-key{width:72px;height:72px}.action-key b{font-size:23px}.deck-shoulder{display:none}.deck-status{left:18px;right:18px}.scene-techbench{padding:0}.techbench-stage{min-height:auto}.techbench-head h2{font-size:54px}.techbench{display:block}.techtray{min-height:150px;margin-bottom:9px}.techtray h3,.techtray:not(.is-active) h3{writing-mode:horizontal-tb;transform:none;font-size:31px;margin:54px 0 10px;max-width:none;max-height:none}.techtray:not(.is-active) .techtray__brands{display:none}.techtray.is-active{min-height:310px}.techbench-note{gap:18px;align-items:flex-start}.techbench-note strong{text-align:right}
}
@media(max-width:780px){.control-deck{align-self:stretch;width:100%;max-width:none}}


/* ===== v2.2 / FLAT SIGNAL FIELD + KINETIC TECH BENCH ===== */
.lab-status-dot{display:inline-block;width:8px;height:8px;border-radius:3px;background:var(--red);box-shadow:0 0 16px rgba(193,39,45,.58);flex:0 0 auto}.lab-online-indicator{position:fixed;z-index:540;left:var(--pad);bottom:22px;display:flex;align-items:center;gap:9px;font:500 8px/1 var(--mono);letter-spacing:.14em;color:#8d8789;pointer-events:none}.lab-online-indicator .lab-status-dot{animation:statusPulse 2.4s ease-in-out infinite}@keyframes statusPulse{50%{opacity:.45;box-shadow:0 0 4px rgba(193,39,45,.22)}}
.lab-boot.is-settled .boot-mark #rect4{animation:bootVariableSettle .72s var(--spring) both}@keyframes bootVariableSettle{40%{transform:scale(1.22) rotate(7deg);filter:drop-shadow(0 0 12px rgba(193,39,45,.5))}100%{transform:none;filter:none}}

.hero-stage--signal{grid-template-columns:minmax(0,.9fr) minmax(560px,1.1fr);column-gap:clamp(38px,5vw,92px)}.hero-copy--signal h1{font-size:clamp(64px,7.6vw,128px);max-width:8ch;margin-bottom:24px}.hero-copy--signal h1 em{font-style:normal;color:var(--red)}
.signal-legend{margin-top:32px;display:flex;flex-wrap:wrap;gap:8px 15px;max-width:650px}.signal-legend>span{display:flex;align-items:center;gap:8px;font:500 8px/1 var(--mono);letter-spacing:.11em;color:#8f898b}.signal-legend>span.is-variable{color:#ddd8d9}.legend-shape{position:relative;width:15px;height:15px;display:inline-grid;place-items:center}.legend-shape--ring{border:2.5px solid currentColor;border-radius:50%}.legend-shape--square{border:2.5px solid currentColor;border-radius:2px}.legend-shape--cross:before,.legend-shape--cross:after{content:"";position:absolute;width:15px;height:2.5px;background:currentColor;border-radius:3px}.legend-shape--cross:after{transform:rotate(90deg)}.legend-shape--triangle:before{content:"";width:12px;height:12px;border-left:2.5px solid currentColor;border-top:2.5px solid currentColor;transform:rotate(45deg) skew(-8deg,-8deg)}.legend-shape--variable{background:var(--red);border-radius:4px;transform:rotate(8deg)}
.signal-field{align-self:center;min-height:590px;border:1px solid rgba(255,255,255,.13);border-radius:42px;background:#0f0d0e;position:relative;overflow:hidden;isolation:isolate}.signal-field:before{content:"";position:absolute;inset:0;background-image:url('../img/mirai-pattern-variable-dark.svg');background-size:760px auto;opacity:.055;z-index:-2}.signal-field:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.025),transparent 43%);z-index:-1}.signal-field__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:58px 58px;mask-image:radial-gradient(circle,#000,transparent 74%);opacity:.5}.signal-field__hud{position:absolute;z-index:4;top:26px;left:30px;right:30px;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.13em;color:#6e686a}.signal-core{position:absolute;left:50%;top:50%;width:170px;height:170px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.075);border-radius:50%;display:grid;place-items:center;animation:coreSpin 20s linear infinite}.signal-core:before,.signal-core:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.035)}.signal-core:before{inset:-34px}.signal-core:after{inset:-68px}.signal-core span{width:58px;height:58px;border:6px solid #d7d2d4;border-radius:18px;transform:rotate(14deg);opacity:.55}.signal-core i{position:absolute;width:14px;height:14px;border-radius:4px;background:var(--red);box-shadow:0 0 24px rgba(193,39,45,.44);animation:variableOrbit 7.5s linear infinite}@keyframes coreSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes variableOrbit{from{transform:rotate(0deg) translateX(114px) rotate(0deg)}to{transform:rotate(360deg) translateX(114px) rotate(-360deg)}}
.signal-symbol{position:absolute;z-index:2;left:var(--sx);top:var(--sy);width:var(--ss);height:var(--ss);transform:translate(calc(-50% + var(--px,0px)),calc(-50% + var(--py,0px))) rotate(var(--rot));animation:signalDance var(--dur) ease-in-out var(--sd) infinite alternate;will-change:transform;transition:filter .25s}.signal-symbol i{position:absolute;inset:0;display:block;color:#dedadc;opacity:.78}.signal-symbol--ring i{border:5px solid currentColor;border-radius:50%}.signal-symbol--square i{border:5px solid currentColor;border-radius:5px}.signal-symbol--cross i:before,.signal-symbol--cross i:after{content:"";position:absolute;left:0;top:calc(50% - 2.5px);width:100%;height:5px;background:currentColor;border-radius:5px}.signal-symbol--cross i:after{transform:rotate(90deg)}.signal-symbol--bar i{left:8%;right:8%;top:38%;bottom:38%;border-radius:999px;background:currentColor}.signal-symbol--triangle i{width:70%;height:70%;left:15%;top:13%;border-left:5px solid currentColor;border-top:5px solid currentColor;transform:rotate(45deg) skew(-8deg,-8deg);border-radius:2px}.signal-symbol.is-variable i{color:var(--red);opacity:1;filter:drop-shadow(0 0 10px rgba(193,39,45,.22))}@keyframes signalDance{0%{margin-left:-10px;margin-top:10px;rotate:-7deg}40%{margin-left:12px;margin-top:-16px;rotate:5deg}100%{margin-left:-4px;margin-top:15px;rotate:11deg}}
.signal-field__status{position:absolute;z-index:4;left:30px;right:30px;bottom:24px;display:flex;justify-content:space-between;font:500 8px/1 var(--mono);letter-spacing:.12em;color:#706a6c}.signal-field__status span{display:flex;gap:9px;align-items:center}.signal-field__status b{font-weight:500;color:#a8a2a4}

.tech-rail{position:absolute;z-index:4;left:0;right:0;top:96px;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;background:#0c0a0b}.tech-rail__track{width:max-content;display:flex;align-items:center;gap:28px;padding:14px 0;animation:techRail 28s linear infinite;font:600 10px/1 var(--mono);letter-spacing:.16em;color:#a29c9e}.tech-rail__track span{white-space:nowrap}.tech-rail__track b{color:var(--red);font-weight:600}@keyframes techRail{to{transform:translateX(-50%)}}
.techbench-stage--v22{padding-top:70px}.techbench--logos{grid-template-columns:1.75fr repeat(4,.72fr)}.techtray--v22{min-height:330px}.techtray__brands--logos{gap:10px}.tech-brand--logo{padding:9px 14px 9px 10px;min-height:48px;border-radius:16px}.tech-brand__logo{width:28px;height:28px;object-fit:contain;filter:grayscale(1) brightness(1.25)}.tech-brand__fallback{width:28px;height:28px;border-radius:9px;background:#262223;display:none;place-items:center;font:600 7px/1 var(--mono);color:#d8d3d5}.tech-brand__fallback--db{display:grid;position:relative;border-radius:50%}.tech-brand__fallback--db:before,.tech-brand__fallback--db:after,.tech-brand__fallback--db i{content:"";position:absolute;left:6px;right:6px;height:6px;border:2px solid #d8d3d5;border-radius:50%}.tech-brand__fallback--db:before{top:5px}.tech-brand__fallback--db i{top:10px;border-top:0;border-radius:0}.tech-brand__fallback--db:after{bottom:5px}.tech-brand--logo strong{font:600 12px/1.05 var(--body);letter-spacing:-.01em}.techtray.is-active .tech-brand--logo:nth-child(2){border-color:rgba(193,39,45,.48);background:rgba(193,39,45,.08)}

@media(max-width:1100px){.hero-stage--signal{grid-template-columns:1fr}.signal-field{min-height:520px;margin-top:10px}.tech-rail{top:92px}.techbench-stage--v22{padding-top:76px}}
@media(max-width:780px){.hero-stage--signal{display:flex}.signal-field{align-self:stretch;width:100%}.hero-copy--signal h1{font-size:clamp(56px,16vw,82px);line-height:.83}.signal-field{min-height:510px;border-radius:28px}.signal-field__hud{left:18px;right:18px;top:20px;font-size:7px}.signal-core{width:116px;height:116px}.signal-core:before{inset:-24px}.signal-core:after{inset:-48px}.signal-core span{width:44px;height:44px;border-width:5px}.signal-core i{width:12px;height:12px}@keyframes variableOrbit{from{transform:rotate(0deg) translateX(78px) rotate(0deg)}to{transform:rotate(360deg) translateX(78px) rotate(-360deg)}}.signal-symbol{--ss:clamp(20px,var(--ss),42px)}.signal-field__status{left:18px;right:18px}.tech-rail{position:relative;top:auto;margin:0 0 22px}.techbench-stage--v22{padding-top:0}.techbench--logos{display:block}.techtray--v22{min-height:144px}.techtray--v22.is-active{min-height:285px}.tech-brand--logo{min-height:44px}.lab-online-indicator{left:18px;bottom:14px;background:rgba(9,7,8,.72);padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}}
@media(prefers-reduced-motion:reduce){.signal-symbol,.signal-core,.signal-core i,.tech-rail__track,.lab-online-indicator .lab-status-dot{animation:none!important}.signal-symbol{transform:translate(-50%,-50%) rotate(var(--rot))}.lab-boot__scan{animation:none}.lab-boot{transition-duration:.01ms}}

/* v2.2 rail placement hardening */
.techbench-stage--v22>.tech-rail{position:relative;left:auto;right:auto;top:auto;width:100vw;margin-left:calc(50% - 50vw);margin-bottom:clamp(24px,4vw,46px)}
.techbench-stage--v22{padding-top:0}
