/* Mobile maintenance: keep scene, copy and controls in separate layout rows. */
.fan-icon{display:none}
@media(max-width:1000px) and (max-aspect-ratio:1/1){
 .story.is-enhanced .story-stage{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px minmax(100px,1fr) 44px var(--story-copy-height,auto) 44px;gap:12px;padding:max(16px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));height:100svh;min-height:0}
 .story.is-enhanced .story-stage-top{position:relative;inset:auto;grid-area:1/1;gap:8px;min-width:0}
 .story .story-stage-top>span{max-width:150px;font-size:10px;line-height:1.4;text-align:left}
 .story .story-actions{gap:6px}.story #story-play{min-width:44px;min-height:44px;padding:8px;justify-content:center}.story .play-label{display:none}.story #motion-toggle{min-height:44px;padding:8px 12px;font-size:10px}
 .story.is-enhanced #system-canvas,.story.is-enhanced .story-intro,.story.is-enhanced .story-poster,.story.is-enhanced .story-reality{position:relative;inset:auto;grid-area:2/1;width:100%;height:100%;min-height:0;border-radius:20px;overflow:hidden}
 .story.is-enhanced .story-poster img{position:absolute;inset:0}
 .story.is-enhanced .operating-caption{position:relative;inset:auto;grid-area:2/1;align-self:end;justify-self:start;margin:10px;max-width:calc(100% - 20px);font-size:9px;padding:6px 10px}
 .story.is-enhanced .plan-legend{position:relative;inset:auto;grid-area:3/1;width:100%;gap:5px 16px;justify-content:flex-start;align-content:center;font-size:10px}
 .story.is-enhanced:not([data-active="3"]):not([data-active="4"]) .plan-legend{visibility:hidden}
 .story.is-enhanced .model-controls{position:relative;inset:auto;grid-area:3/1;align-self:stretch;width:100%;max-width:100%;padding:0;gap:2px;flex-wrap:nowrap;justify-content:space-between;box-shadow:none;touch-action:manipulation}
 .story .model-controls button{min-width:44px;width:44px;height:44px;font-size:18px;flex:0 0 44px}
 .story .model-controls #model-interact{min-width:78px;width:78px;flex-basis:78px;padding:0 6px;font-size:10px}
 .story .model-controls #fan-toggle{width:44px;min-width:44px;height:44px;flex:0 0 44px;padding:0}
 .story .fan-icon{display:block}.story .fan-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.story #fan-toggle[aria-pressed="true"]{background:#415772}.story .model-hint{display:none}
 .story.is-enhanced .stage-caption{position:relative;inset:auto;grid-area:4/1;width:100%;max-width:none;min-width:0}
 .story .stage-caption .beat-copy{max-width:100%}.story.is-enhanced .stage-caption .beat-copy h2{font-size:clamp(27px,7.8vw,40px);line-height:1.08;margin-bottom:12px}.story .stage-caption .beat-copy p{font-size:14px;line-height:1.55;max-width:620px}.story.is-enhanced .stage-caption .beat-copy a{font-size:13px;line-height:1.5;margin-top:10px;min-height:44px;padding:0;display:inline-flex;align-items:center}.story.is-enhanced[data-active="0"] .stage-caption .beat-copy a{padding:0 16px}
 .story.is-enhanced .story-chapters{position:relative;inset:auto;grid-area:5/1;padding:0;gap:0;align-items:center}.story-chapters button{height:44px;min-height:44px;min-width:0;padding:8px 0;gap:0}.story-chapters button span:last-child{display:none}.story-chapters button span:first-child{font-size:12px}
}
@media(max-width:380px) and (max-aspect-ratio:1/1){
 .story.is-enhanced .story-stage{gap:8px;padding-left:14px;padding-right:14px}.story.is-enhanced .stage-caption .beat-copy h2{font-size:27px;margin-bottom:10px}.story .stage-caption .beat-copy p{font-size:13px;line-height:1.45}.story .story-stage-top>span{font-size:9px;max-width:128px}
}
@media(min-width:641px) and (max-width:1000px) and (max-aspect-ratio:1/1){
 .story.is-enhanced .story-stage{padding:24px 30px;gap:18px}.story .story-stage-top>span{max-width:none;font-size:13px}.story .play-label{display:inline}.story #story-play{padding:8px 14px}.story .stage-caption .beat-copy p{font-size:16px}
 .story.is-enhanced .model-controls{justify-content:center;gap:10px;width:max-content;justify-self:end;padding:0 5px}.story .model-controls #fan-toggle{width:auto;flex-basis:auto;padding:0 14px;font-size:11px}.story .fan-icon{display:none}.story .fan-label{position:static;clip-path:none;overflow:visible;width:auto;height:auto}
}
@media(min-width:701px) and (max-width:1000px) and (max-aspect-ratio:1/1){
 .split-copy,.split-hero:not(.is-3d-ready) .split-copy{left:40px;top:142px;width:calc(100% - 80px);max-width:none;transform:none!important}
 .split-copy h1{font-size:54px;line-height:1.06}.split-copy p{font-size:15px;margin:20px 0 24px;max-width:500px}
 .split-visual{inset:435px 24px 140px}.split-poster{inset:0;width:100%}.split-scroll-cue,.hero-interaction-hint{display:none}
 .motion-button{display:inline-flex;align-items:center}.split-actions{gap:18px}.hero-skip-full{display:none}.hero-skip-short{display:inline}
}
/* Landscape phones: compact header, copy beside the scene, controls below it. */
@media(max-width:1000px) and (max-height:600px) and (min-aspect-ratio:1/1){
 body{padding-top:8px}.site-header{top:max(16px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));gap:16px}.brand{width:72px;height:50px;border-radius:16px}.brand img{width:54px;height:38px}.menu-button{display:block}
 .main-nav{display:none;position:absolute;top:56px;left:auto;right:0;width:min(340px,90vw);max-height:calc(100svh - 90px);overflow-y:auto;background:white;color:var(--ink);border-radius:24px;padding:12px;box-shadow:0 18px 40px #0002;flex-direction:column;align-items:stretch;gap:0}.main-nav.is-open{display:flex}.main-nav>a{padding:12px 16px;font-size:14px}.main-nav .nav-contact{margin:0;background:var(--soft);padding:12px 16px;justify-content:space-between}
 .split-stage{height:100svh;min-height:390px}.split-copy,.split-hero:not(.is-3d-ready) .split-copy{left:28px;top:88px;width:40%;max-width:350px;transform:none!important}.split-copy h1{font-size:32px}.split-copy p{font-size:12px;line-height:1.5;margin:12px 0 14px}.split-copy .primary-link{font-size:11px;padding:6px 6px 6px 16px;gap:16px}.split-copy .primary-link>span{width:32px;height:32px}
 .split-visual{inset:76px 20px 92px 46%}.split-poster{inset:0;width:100%}.hero-interaction-hint,.split-scroll-cue{display:none}.split-model-note{font-size:8px;right:5px}.split-bottom{left:28px;right:28px;bottom:max(14px,env(safe-area-inset-bottom));gap:20px;display:flex}.assembly-status{width:40%;gap:8px 12px}.assembly-title{font-size:13px}.assembly-value{font-size:10px}.split-actions{gap:16px;margin:0}.motion-button{display:inline-flex;align-items:center;font-size:11px}.hero-sound-button,.hero-skip{font-size:11px}.hero-skip-full{display:none}.hero-skip-short{display:inline}
 .story.is-enhanced .story-stage{display:grid;grid-template-columns:40% minmax(0,1fr);grid-template-rows:44px minmax(0,1fr) 44px 44px;gap:8px 18px;padding:12px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));height:100svh;min-height:0}
 .story.is-enhanced .story-stage-top{position:relative;inset:auto;grid-area:1/1/2/3;gap:12px}.story-stage-top>span{font-size:11px;max-width:none}.story #story-play,.story #motion-toggle{min-height:44px;font-size:11px;padding:8px 12px}
 .story.is-enhanced #system-canvas,.story.is-enhanced .story-intro,.story.is-enhanced .story-poster,.story.is-enhanced .story-reality{position:relative;inset:auto;grid-area:2/2;width:100%;height:100%;min-height:0;border-radius:18px;overflow:hidden}.story.is-enhanced .operating-caption{position:relative;inset:auto;grid-area:2/2;align-self:end;justify-self:start;margin:8px;font-size:8px;padding:5px 8px}
 .story.is-enhanced .stage-caption{position:relative;inset:auto;grid-area:2/1/4/2;width:100%;max-width:none;align-self:center}.story .stage-caption .beat-copy h2{font-size:clamp(22px,3.5vw,30px);line-height:1.08;margin-bottom:8px}.story .stage-caption .beat-copy p{font-size:12px;line-height:1.4}.story .stage-caption .beat-copy a{font-size:12px;margin-top:8px;min-height:30px;display:inline-flex;align-items:center}
 .story.is-enhanced .model-controls{position:relative;inset:auto;grid-area:3/2;align-self:stretch;justify-content:center;width:100%;max-width:100%;padding:0;gap:4px;box-shadow:none}.story .model-controls button{min-width:44px;height:44px}.story .model-controls #model-interact{min-width:82px;padding:0 8px;font-size:10px}.story .model-controls #fan-toggle{font-size:10px;padding:0 10px}.story .model-hint{display:none}
 .story.is-enhanced .plan-legend{position:relative;inset:auto;grid-area:3/2;font-size:9px;gap:6px 12px;justify-content:flex-start}.story.is-enhanced:not([data-active="3"]):not([data-active="4"]) .plan-legend{visibility:hidden}
 .story.is-enhanced .story-chapters{position:relative;inset:auto;grid-area:4/1/5/3;padding:0;gap:0}.story-chapters button{min-height:44px;padding:8px 0}.story-chapters button span:last-child{display:none}
 .charging-scene{height:62svh;margin:0}.loading-screen .loading-caption{font-size:11px;margin:0 0 8px}.loading-skip{bottom:max(8px,env(safe-area-inset-bottom));right:16px}
}
@media(max-width:700px){
 .loading-skip{bottom:max(20px,env(safe-area-inset-bottom))}.contact-actions .contact-main{overflow-wrap:anywhere}.contact-actions>a:last-child{min-height:44px}
 .mbm-lightbox .pswp__top-bar{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
}
@media(max-width:700px) and (max-height:420px) and (min-aspect-ratio:1/1){
 .site-header{top:10px}.brand{height:44px;width:66px}.brand img{height:34px;width:49px}
 .split-copy,.split-hero:not(.is-3d-ready) .split-copy{top:76px;width:42%}.split-copy h1{font-size:26px}.split-copy p{font-size:11px;line-height:1.45;margin:8px 0 10px}.split-copy .primary-link{min-height:40px;padding:4px 4px 4px 12px;gap:12px}
 .split-visual{top:66px;bottom:76px}.split-bottom{bottom:10px;gap:10px}.assembly-title{font-size:12px}.split-actions{gap:12px}.hero-sound-button,.motion-button,.hero-skip{font-size:10px}
 .story.is-enhanced .stage-caption .beat-copy h2{font-size:21px;line-height:1.08}.story .stage-caption .beat-copy a{font-size:11px;margin-top:6px;min-height:28px}
 .story.is-enhanced .model-controls{gap:2px;justify-content:space-between}.story .model-controls #model-interact{min-width:70px;padding:0 3px}.story .model-controls #fan-toggle{width:44px;min-width:44px;padding:0}.story .fan-icon{display:block}.story .fan-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
