/* Stage-specific emphasis follows the same factory coordinates as the hotspots. */
.stage-focus{position:absolute;pointer-events:none;overflow:visible;z-index:1;color:#f5da80}
.stage-focus g{opacity:0;transition:opacity .6s}
.viewport[data-phase="2"] [data-focus="energy"],.viewport[data-phase="3"].interior [data-focus="electrical"],.viewport[data-phase="4"].interior [data-focus="production"]{opacity:1}
[data-focus="electrical"]{color:#9ef1e3}[data-focus="production"]{color:#c9ecad}
.stage-focus path,.stage-focus circle{stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;fill:none}
.stage-focus .focus-area{fill:currentColor;fill-opacity:.1;stroke-dasharray:8 6}
.stage-focus .focus-line{stroke-width:3;filter:drop-shadow(0 0 5px #d0fff0)}
.stage-focus circle{stroke-dasharray:3 7;animation:focus-turn 14s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes focus-turn{to{transform:rotate(360deg)}}
.viewport .headline{isolation:isolate;z-index:4}
.viewport .headline::before{content:"";position:absolute;z-index:-1;inset:-28px -32px;background:linear-gradient(90deg,#12372eeb 0%,#12372edb 65%,#12372e00 100%);border-radius:18px;pointer-events:none}
.viewport .headline>p{opacity:1;color:#f0f5e9;font-size:16px;line-height:1.7}
.viewport.interior .headline{opacity:1;transform:none}
.viewport.interior .shade{opacity:1}
.viewport.data-on .headline::before{right:auto;width:min(490px,72%)}
.viewport.navigation-open .headline{opacity:.15}
@media(max-width:600px){
 .viewport .headline .kicker{font-size:12px;line-height:1.45;letter-spacing:.75px;gap:9px}
 .viewport .headline>p{font-size:14px;line-height:1.6;max-width:340px}
 .viewport .headline h1{font-size:clamp(30px,8vw,36px)}
 .viewport .headline::before,.viewport.data-on .headline::before{inset:-16px -22px;width:auto;background:linear-gradient(180deg,#173b31ed 0%,#173b31d9 82%,#173b3100 100%);border-radius:0}
 .viewport .scene{--scene-top:var(--review-content-bottom,350px)}
 .viewport.data-on .scene{--scene-top:var(--ai-content-bottom,460px)}
 .viewport .energy-entry>span{font-size:12px;letter-spacing:.02em}
 .viewport .stage-focus .focus-line{stroke-width:1.5}
}
@media(max-height:530px) and (min-width:601px){
 .viewport .headline .kicker{font-size:12px;line-height:1.4}
 .viewport .headline>p{font-size:13px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.stage-focus circle{animation:none}.stage-focus g{transition:none}}
