/* One full-viewport visual, beneath native scrolling content. */
.tech-stage{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:#050814}.tech-canvas-wrap{position:absolute;inset:0}.tech-canvas-wrap canvas,.tech-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tech-poster{opacity:.65;object-fit:contain;object-position:center}.tech-canvas-wrap canvas{opacity:0}.tech-ready .tech-canvas-wrap canvas{opacity:1}.tech-ready .tech-poster{display:none}.tech-stage:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#040813dc 0%,#040813ad 27%,#04081312 65%),linear-gradient(0deg,#040813b0,transparent 24%,transparent 80%,#04081380);pointer-events:none}.tech-caption{position:fixed;bottom:25px;left:4vw;right:4vw;display:flex;align-items:flex-end;justify-content:space-between;gap:15px;z-index:4;color:#e4f6ff;pointer-events:none}.scene-en{display:block;font-size:9px;letter-spacing:.23em;font-weight:650;line-height:1.6}.scene-jp{display:block;color:#adbdcf;font-size:10px;line-height:1.7;margin-top:4px;letter-spacing:.06em}.scene-counter{white-space:nowrap;color:#8facc4;font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:.05em}.scene-counter strong{font-size:33px;font-weight:300;color:#dfedff;line-height:1}.tech-controls{position:fixed;left:4vw;right:4vw;bottom:13px;height:2px;z-index:4}.scene-progress{display:block;height:1px;background:#acd7ff26;position:relative}.scene-progress:after{content:'';display:block;height:100%;width:var(--tech-progress,10%);background:#b8eeff;box-shadow:0 0 12px #8ae6ff;transition:width .45s}.motion-toggle{position:fixed;top:calc(var(--header) + 13px);right:4vw;z-index:31;min-height:44px;padding:8px 11px;border:1px solid #e0f0ff30;background:#0611248c;backdrop-filter:blur(10px);color:#daeafb;font-size:10px;letter-spacing:.035em;pointer-events:auto}.motion-toggle[hidden]{display:none}.motion-toggle:disabled{opacity:.8;cursor:default}.motion-toggle:hover{background:#112741}.tech-stage:before{content:'';position:absolute;z-index:3;inset:auto 0 0;height:90px;background:linear-gradient(transparent,#030814eb);pointer-events:none}@media(max-width:760px){.tech-stage:after{background:linear-gradient(0deg,#030814c7 0%,#030814ba 23%,#030814a6 45%,#03081400 72%),linear-gradient(90deg,#05091422,transparent)}.tech-caption{left:23px;right:23px;bottom:24px}.scene-en{font-size:8px;letter-spacing:.18em}.scene-jp{font-size:9px}.scene-counter strong{font-size:28px}.scene-counter{font-size:8px}.tech-controls{left:23px;right:23px;bottom:12px}.motion-toggle{top:calc(var(--header) + 10px);right:23px;font-size:9px;padding:7px 9px;background:#06112473}.tech-stage:before{height:92px}.tech-poster{object-fit:contain;object-position:center top}}
@media(prefers-reduced-motion:reduce){.scene-progress:after{transition:none}}

.scene-en,.scene-jp,.motion-toggle{font-size:12px}.scene-en{letter-spacing:.1em}.scene-jp{letter-spacing:0}@media(max-width:760px){.scene-en,.scene-jp,.motion-toggle{font-size:12px}.scene-jp{font-size:11px}.motion-toggle{font-size:11px}}

.tech-hud{position:fixed;inset:auto 0 0;height:90px;z-index:20;pointer-events:none;background:linear-gradient(0deg,#030814 0%,#030814f0 65%,#03081400 100%)}.tech-hud .tech-caption,.tech-hud .tech-controls{position:absolute}
/* A real button for each visual: only the current scene's action is exposed. */
.tech-hud{height:152px}.scene-actions{position:absolute;left:4vw;bottom:81px;width:min(360px,calc(100% - 8vw));pointer-events:auto}.scene-action{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;background:#e4f4ff;color:#071524;border:1px solid #d9f5ff;border-radius:2px;box-shadow:0 5px 22px #02081255;font-size:14px;font-weight:650;line-height:1.6;cursor:pointer;transition:background .2s,transform .2s}.scene-action[hidden]{display:none!important}.scene-action>span:last-child{font-size:23px;font-weight:400;line-height:1}.scene-action:hover{background:white}.scene-action:active{transform:scale(.985);background:#bceeff}.scene-detail{padding:24px;max-width:580px;max-height:calc(100svh - 40px);overscroll-behavior:contain}.scene-detail>.close{position:sticky;top:0;z-index:2;background:#0b1428}.scene-detail-visual{clear:both;height:190px;margin-top:10px;background:radial-gradient(ellipse at center,#1b3155,#081020);border:1px solid #b8deff20;overflow:hidden}.scene-detail-visual canvas{display:block;width:100%;height:100%}.scene-detail h2{font-size:26px;line-height:1.55;margin:24px 0 18px}.scene-detail-copy p{font-size:16px;line-height:2.1;margin:18px 0}.scene-detail-copy strong{font-weight:600}.scene-detail-copy .project-grid{display:block}.scene-detail-copy .project-card{margin-bottom:15px;backdrop-filter:none}.scene-detail-copy .project-content{padding:20px}.scene-detail-copy h3{font-size:18px}.scene-detail-copy .project-meta{font-size:12px}.scene-detail-copy dl{display:grid;grid-template-columns:95px 1fr;font-size:14px;line-height:2}.scene-detail-copy dt,.scene-detail-copy dd{margin:0;padding:15px 0;border-top:1px solid var(--line)}.scene-detail-copy dt{color:var(--muted);font-size:13px}.scene-detail-note{display:block;font-size:13px;color:#b8def4;margin-top:18px}.scene-detail-services{border-top:1px solid var(--line);margin-top:25px;padding-top:15px}.scene-detail-services p{font-size:13px;overflow-wrap:anywhere}.site-footer{padding-bottom:185px}@media(max-width:760px){.scene-actions{left:23px;width:calc(100% - 46px);bottom:80px}.scene-action{font-size:14px;padding:11px 15px;min-height:48px}.scene-detail{padding:20px}.scene-detail h2{font-size:23px}.scene-detail-visual{height:166px}.scene-detail-copy dl{grid-template-columns:80px 1fr}.scene-detail-copy dd{font-size:13px}.scene-detail-copy dt{font-size:12px}.site-footer{padding-bottom:185px}}@media(prefers-reduced-motion:reduce){.scene-action{transition:none}.scene-action:active{transform:none}}

/* Cinematic v2: the modal remains an opaque reading surface with a separate visual. */
.scene-detail-tools{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#0b1428;padding:8px 0 12px;border-bottom:1px solid #b8deff20}
.scene-detail-tools .close{position:static;float:none;margin-left:auto;min-height:44px;flex:none}
.dialog-motion-toggle{min-height:44px;padding:8px 12px;background:#10243a;border:1px solid #b8deff55;border-radius:2px;color:#e8f6ff;font-size:12px;line-height:1.7;cursor:pointer}
.dialog-motion-toggle:disabled{opacity:.8;cursor:default}.dialog-motion-toggle[hidden]{display:none}
.scene-detail-visual{height:clamp(190px,30svh,270px);isolation:isolate}
.scene-detail-copy .service-grid{display:block}.scene-detail-copy .service-card{min-height:0;padding:24px 0;background:none}.scene-detail-copy .service-card h3{font-size:21px;margin-bottom:12px}.scene-detail-copy .service-card p{margin:0}.scene-detail-copy .service-card .number,.scene-detail-copy .service-en{display:none}
@media(max-width:760px){.scene-detail-visual{height:190px}.scene-detail-tools{gap:8px}.dialog-motion-toggle{font-size:11px;padding:8px 10px}}
