/* Immersive, scroll-directed 3D scenes. The rest of the site stays in style.css. */
.cinematic-section{height:290svh;--scene-progress:0;--restored:0;--repair:0;--flash:0;position:relative;isolation:isolate;background:#070c14;scroll-margin-top:-90px}
.cinematic-stage{position:sticky;top:0;height:100svh;min-height:740px;overflow:hidden;background:#070c14}
.cinematic-environment{position:absolute;inset:-3%;z-index:0;transform:scale(calc(1.03 + var(--scene-progress)*.045)) translateX(calc(var(--scene-progress)*-1.5%));will-change:transform}
.environment-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:63% 50%;filter:none}
.environment-off{filter:brightness(.94)}
.environment-on{opacity:var(--restored);filter:brightness(1.08)}
.electric-flash{position:absolute;inset:0;background:radial-gradient(ellipse at 85% 12%,#b9dfff99,transparent 65%);opacity:var(--flash);mix-blend-mode:screen;pointer-events:none}
.world3d{position:absolute;top:7%;bottom:1%;left:27%;right:-7%;z-index:3;pointer-events:none}
.world3d canvas{width:100%;height:100%;display:block}
.scene-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 30%);opacity:.75}
.world3d.webgl-ready .scene-fallback{display:none}
.cinematic-vignette{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,#060b12ec 0%,#060b12b5 24%,#060b1220 51%,transparent 72%),linear-gradient(0deg,#060b12e6 0%,transparent 25%,transparent 74%,#060b1222 100%)}
.scene-atmosphere{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:calc(var(--restored)*.3);background:radial-gradient(ellipse at 78% 45%,#3c88d844,transparent 60%);mix-blend-mode:screen}
.cinematic-copy{position:absolute;z-index:6;left:6%;width:44%;top:47%;transform:translateY(-43%);padding:0;will-change:opacity,transform}
.cinematic-copy h1,.cinematic-copy h2{font-size:clamp(70px,7.5vw,122px);line-height:.9;letter-spacing:-.5px;font-weight:800;margin:0 0 25px}
.cinematic-copy h1 em,.cinematic-copy h2 em{font-style:normal;color:#f13142;white-space:nowrap}
.cinematic-copy .eyebrow{font-size:12px;letter-spacing:1.5px;margin-bottom:25px}
.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow){font-size:16px;color:#bac6d7;line-height:1.8;margin:0 0 28px}
.cinematic-copy .hero-actions{display:flex;align-items:center;gap:24px}
.cinematic-copy .text-link{font-size:13px;white-space:nowrap}
.hero-before{opacity:1}.hero-middle,.hero-after{opacity:0}
.hero-after h2 em{color:#f1f6ff}.hero-after .eyebrow{color:#90c2ff}.hero-after .eyebrow>span{background:#4b9bff}
.hero-middle h2 em{color:white}
.scene-tag{position:absolute;top:125px;left:6%;right:6%;display:flex;align-items:center;gap:10px;z-index:7;color:#dfe7f0;font-size:11px;font-weight:600;letter-spacing:2px;pointer-events:none}
.scene-tag>i{height:6px;width:6px;background:#f3434e;border-radius:50%;box-shadow:0 0 15px #ff303d88}
.scene-tag>b{font-family:var(--heading);font-size:18px;color:#a6b3c5;margin-left:auto;letter-spacing:2px;font-weight:500}
.scene-status{position:absolute;right:6%;top:184px;z-index:7;padding:16px 19px 13px;border-top:2px solid #eb3444;border-left:1px solid #ffffff1b;border-right:1px solid #ffffff1b;border-bottom:1px solid #ffffff1b;background:#06101cbf;backdrop-filter:blur(18px);width:237px;box-shadow:0 10px 40px #0002}
.status-kicker{font-size:9px;letter-spacing:1.8px;color:#a1b0c6;display:block;margin-bottom:4px}
.scene-status>strong{font-family:var(--heading);font-size:31px;line-height:1.3;font-weight:600;letter-spacing:.5px;color:#f56774;display:block}
.energy-meter{display:flex;gap:4px;margin:12px 0 11px;height:14px}
.energy-meter>i{flex:1;background:#2a3649;transform:scaleY(.3);transform-origin:bottom;transition:background .2s,transform .3s}
.scene-disclaimer{display:block;color:#8d9daf;font-size:8px;letter-spacing:1px;line-height:1.5}
.cinematic-section[data-phase="2"] .scene-tag>i{background:#6fb9ff;box-shadow:0 0 15px #238aff}
.cinematic-section[data-phase="2"] .scene-status{border-top-color:#529ef6}
.cinematic-section[data-phase="2"] .scene-status>strong{color:#83c4ff}
.cinematic-section[data-phase="2"] .energy-meter>i{background:#419ef1;transform:scaleY(1)}
.cinematic-section[data-phase="1"] .energy-meter>i:nth-child(-n+6){background:#ec4658;transform:scaleY(.6)}
.cinematic-footer{position:absolute;bottom:27px;left:6%;right:6%;z-index:8;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-top:19px;border-top:1px solid #ffffff22}
.scene-direction{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:1.5px;line-height:1.8;flex-shrink:0;color:#9daec4;padding-bottom:4px}
.scene-direction strong{font-weight:500;color:#eef5ff}
.mouse-cue{border:1px solid #8695ab;width:20px;height:32px;border-radius:14px;position:relative;flex-shrink:0}
.mouse-cue:before{content:'';position:absolute;width:2px;height:6px;background:#ff4657;left:8px;top:6px;animation:mouse-scroll 1.8s infinite}
.sequence-navigation{width:min(640px,60%)}
.sequence-navigation .story-steps{display:flex;justify-content:space-between;gap:15px;margin-bottom:4px}
.sequence-navigation .story-step,.sequence-navigation .equipment-button{background:transparent;border:0;display:flex;gap:10px;align-items:center;color:#a5b1c3;padding:7px 0;font-family:var(--body);text-align:left;line-height:1.5}
.sequence-navigation .story-step b,.sequence-navigation .equipment-button b{font-family:var(--heading);font-size:17px;font-weight:500;line-height:1}
.sequence-navigation .story-step span,.sequence-navigation .equipment-button span{font-size:11px;letter-spacing:1px;font-weight:500}
.sequence-navigation button.active{color:#fff}
.sequence-navigation button.active b{color:#ff4c5d}
.cinematic-section[data-phase="2"] .sequence-navigation button.active b{color:#7ac1ff}
.scene-range{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;padding:0;background:transparent;cursor:ew-resize;display:block;--range-progress:0%}
.scene-range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,#ef3548 0%,#70bcff var(--range-progress),#66758a66 var(--range-progress),#66758a66 100%)}
.scene-range::-moz-range-track{height:2px;background:#66758a66}.scene-range::-moz-range-progress{background:#70bcff;height:2px}
.scene-range::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;background:#f5f9ff;border:1px solid #fff;border-radius:50%;margin-top:-4px;box-shadow:0 0 0 4px #b8d6ff11}
.scene-range::-moz-range-thumb{width:10px;height:10px;background:#f5f9ff;border:1px solid #fff;border-radius:50%}
.scene-play{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.5px;background:none;border:0;padding:6px 0;color:#c8d3e4;flex-shrink:0;min-height:48px}
.scene-play svg{width:33px;height:33px;border:1px solid #67768c;border-radius:50%;padding:8px;fill:#e2ebf8;stroke:none}
.scene-play[aria-pressed="true"] svg{fill:#f54455;border-color:#f54455}
.equipment-section.cinematic-section{height:310svh}
.quarry-environment .environment-image{filter:brightness(calc(.55 + var(--repair)*.35)) saturate(calc(.38 + var(--repair)*.48));object-position:center 50%}
.equipment-world{left:16%;right:-10%;top:5%;bottom:0}
.equipment-section .cinematic-copy{width:44%;top:45%}
.equipment-section .cinematic-copy h2{font-size:clamp(66px,6.8vw,112px)}
.equipment-middle h2{font-size:clamp(55px,5.9vw,95px)!important}
.equipment-before{opacity:1}.equipment-middle,.equipment-after{opacity:0}
.equipment-after h2 em{color:#fff}
.equipment-middle .eyebrow{color:#91bfff}
.equipment-middle h2 em{color:#87bfff}
.equipment-after .eyebrow{color:#92c7ff}
.repair-indicators{margin:11px 0;display:flex;flex-direction:column;gap:5px}
.repair-indicators>span{font-size:9px;letter-spacing:.8px;color:#a9b9cc;display:flex;justify-content:space-between;gap:10px}
.repair-indicators i{font-style:normal;color:#b8c2d1;font-size:9px}
.cinematic-section[data-phase="2"] .repair-indicators i{color:#77bdff}
.repair-light-sweep{position:absolute;top:17%;bottom:12%;left:calc(22% + var(--repair)*78%);width:2px;z-index:5;pointer-events:none;background:linear-gradient(transparent,#60b5ffa6,transparent);box-shadow:0 0 35px 10px #449cff22;opacity:0}
.cinematic-section[data-phase="1"] .repair-light-sweep{opacity:.6}
@keyframes mouse-scroll{0%{transform:translateY(0);opacity:0}35%{opacity:1}100%{transform:translateY(12px);opacity:0}}
@media(min-width:1600px){.cinematic-copy{width:41%}.world3d{left:30%;right:-5%}.equipment-world{left:23%;right:-5%}}
@media(max-width:1150px){.cinematic-copy{left:5%;width:48%}.cinematic-copy h1,.cinematic-copy h2{font-size:clamp(66px,7.9vw,90px)}.cinematic-copy .hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.cinematic-copy .eyebrow{font-size:11px;letter-spacing:1px}.scene-tag,.cinematic-footer{left:5%;right:5%}.scene-status{right:5%;width:207px;padding:13px 15px}.scene-status>strong{font-size:27px}.world3d{left:29%;right:-10%}.equipment-world{left:16%;right:-13%}.cinematic-footer{gap:23px}.scene-direction{font-size:9px;letter-spacing:1px}.sequence-navigation{width:63%}.scene-play span{display:none}.sequence-navigation .story-step span,.sequence-navigation .equipment-button span{font-size:10px;letter-spacing:.6px}.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow){font-size:15px}.equipment-section .cinematic-copy{width:47%}.equipment-section .cinematic-copy h2{font-size:clamp(65px,7.5vw,90px)}}
@media(max-width:800px){.cinematic-section{height:280svh}.cinematic-stage{height:100svh;min-height:820px}.cinematic-environment{inset:-2% -30%;transform:translateX(calc(var(--scene-progress)*-2%)) scale(1.02)}.environment-image{object-position:65% center}.cinematic-vignette{background:linear-gradient(0deg,#060c14f7 0%,#060c1411 36%,#060c1400 56%,#060c1499 76%,#060c14cc 100%),linear-gradient(90deg,#060b12aa,transparent 80%)}.cinematic-copy,.equipment-section .cinematic-copy{left:7%;width:87%;top:145px;transform:none;padding:0}.cinematic-copy h1,.cinematic-copy h2,.equipment-section .cinematic-copy h2{font-size:clamp(52px,10.7vw,78px);line-height:.94;margin-bottom:17px}.cinematic-copy .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:16px;gap:10px}.cinematic-copy .eyebrow>span{width:22px}.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow){font-size:14px;line-height:1.6;margin-bottom:18px}.cinematic-copy .hero-actions{flex-direction:row;align-items:center;gap:18px}.cinematic-copy .button{font-size:12px;min-height:43px;padding:13px 17px}.cinematic-copy .text-link{font-size:11px}.scene-tag{left:7%;right:7%;top:98px;font-size:9px;letter-spacing:1.1px}.scene-tag>b{font-size:14px}.scene-status{top:auto;bottom:105px;right:7%;width:190px;padding:8px 12px;background:#07101bb0}.scene-status>strong{font-size:21px;line-height:1.2}.scene-status .status-kicker{font-size:8px;letter-spacing:1px;margin-bottom:3px}.scene-status .scene-disclaimer{font-size:7px;letter-spacing:.4px;margin-top:5px}.energy-meter{height:7px;margin:6px 0 0;gap:3px}.world3d{top:255px;left:-9%;right:-23%;bottom:50px}.equipment-world{top:267px;left:-8%;right:-23%;bottom:42px}.cinematic-footer{left:7%;right:7%;bottom:20px;gap:17px;padding-top:13px;align-items:center}.scene-direction{display:none}.sequence-navigation{width:auto;flex:1;min-width:0}.sequence-navigation .story-steps{gap:8px;margin-bottom:2px}.sequence-navigation .story-step,.sequence-navigation .equipment-button{gap:5px;padding:6px 0;align-items:flex-start;flex-direction:column}.sequence-navigation .story-step b,.sequence-navigation .equipment-button b{font-size:14px}.sequence-navigation .story-step span,.sequence-navigation .equipment-button span{font-size:8px;letter-spacing:.3px;white-space:nowrap}.scene-play{padding:0;min-height:40px}.scene-play svg{width:31px;height:31px}.scene-range{height:20px}.equipment-section.cinematic-section{height:295svh}.equipment-middle h2{font-size:clamp(45px,9.4vw,70px)!important}.repair-indicators{margin:6px 0 0;gap:3px}.repair-indicators>span,.repair-indicators i{font-size:8px}.equipment-status .scene-disclaimer{display:none}.repair-light-sweep{top:41%;bottom:12%}}
@media(max-width:450px){.cinematic-copy,.equipment-section .cinematic-copy{top:140px}.cinematic-copy h1,.cinematic-copy h2,.equipment-section .cinematic-copy h2{font-size:clamp(50px,13.7vw,63px)}.cinematic-copy .hero-actions{flex-wrap:wrap;gap:12px}.cinematic-copy .text-link{font-size:11px}.cinematic-copy .hero-actions .button{font-size:11px;padding:12px 15px}.world3d{top:260px;left:-19%;right:-31%;bottom:59px}.equipment-world{top:290px;left:-15%;right:-25%;bottom:44px}.scene-status{width:165px;bottom:109px}.scene-status>strong{font-size:20px}.equipment-middle h2{font-size:45px!important}.scene-status .status-kicker{font-size:7px}.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow){font-size:13px}.scene-tag{font-size:8px;letter-spacing:1px}}
@media(max-height:760px) and (min-width:801px){.cinematic-stage{min-height:680px}.scene-tag{top:112px}.scene-status{top:158px}.cinematic-copy{top:47%}.cinematic-copy h1,.cinematic-copy h2{font-size:clamp(64px,7vw,95px)}.cinematic-copy .eyebrow{margin-bottom:18px}.cinematic-copy .hero-description{margin-bottom:21px}.equipment-section .cinematic-copy{top:48%}.equipment-section .cinematic-copy h2{font-size:clamp(65px,7vw,98px)}}
body.reduced-motion .cinematic-section{height:auto!important}body.reduced-motion .cinematic-stage{position:relative;height:100svh;min-height:820px;overflow:hidden}body.reduced-motion .cinematic-copy{transform:none!important;top:34%;opacity:0!important;pointer-events:none}body.reduced-motion .cinematic-copy[data-power-copy="2"],body.reduced-motion .cinematic-copy[data-equipment-copy="2"]{display:block!important;opacity:1!important;pointer-events:auto}body.reduced-motion .cinematic-footer,body.reduced-motion .play-sequence,body.reduced-motion .repair-light-sweep{display:none}body.reduced-motion .equipment-copy{max-width:none}body.reduced-motion .cinematic-environment{transform:none!important}@media(max-width:800px){body.reduced-motion .cinematic-copy{top:150px}body.reduced-motion .scene-status{bottom:40px}}.webgl-unavailable .world3d{opacity:.8}
@media(max-width:800px){.cinematic-stage,body.reduced-motion .cinematic-stage{min-height:640px;height:100svh}.world3d{top:clamp(220px,31svh,260px)}.equipment-world{top:clamp(235px,34svh,290px)}}
@media(max-width:800px) and (max-height:740px){.cinematic-copy,.equipment-section .cinematic-copy{top:129px}.cinematic-copy h1,.cinematic-copy h2,.equipment-section .cinematic-copy h2{font-size:48px;margin-bottom:12px}.cinematic-copy .eyebrow{margin-bottom:11px;font-size:9px}.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow){font-size:12px;margin-bottom:13px}.scene-tag{top:96px}.cinematic-copy .button{min-height:39px;padding:11px 14px}.cinematic-footer{bottom:12px;padding-top:8px}.scene-status{bottom:95px}.equipment-middle h2{font-size:42px!important}}
@media(max-height:680px){.cinematic-stage,body.reduced-motion .cinematic-stage{min-height:0;height:100svh}.scene-status{top:auto;bottom:98px}.cinematic-footer{bottom:12px}.cinematic-copy,.equipment-section .cinematic-copy{top:46%}}
@media(max-width:800px) and (max-height:640px){.cinematic-copy,.equipment-section .cinematic-copy{top:125px}.cinematic-copy h1,.cinematic-copy h2,.equipment-section .cinematic-copy h2{font-size:42px}.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow){font-size:11px;margin-bottom:10px}.cinematic-copy .hero-actions .text-link{display:none}.world3d,.equipment-world{top:180px;bottom:35px}.scene-status{width:143px;bottom:87px}.scene-status>strong{font-size:17px}.cinematic-copy .eyebrow{font-size:8px;letter-spacing:.6px}.equipment-middle h2{font-size:37px!important}}
@media(max-height:480px){.cinematic-copy,.equipment-section .cinematic-copy,body.reduced-motion .cinematic-copy{left:5%;width:48%;top:104px;transform:none!important}.cinematic-copy h1,.cinematic-copy h2,.equipment-section .cinematic-copy h2{font-size:40px;line-height:.95;margin-bottom:10px}.cinematic-copy .eyebrow{font-size:8px;margin-bottom:10px}.cinematic-copy .hero-description,.cinematic-copy>p:not(.eyebrow),.scene-status,.scene-tag,.scene-direction{display:none}.world3d,.equipment-world{top:55px;left:28%;right:-16%;bottom:45px}.cinematic-footer{left:5%;right:5%;bottom:7px;padding-top:5px;gap:16px}.sequence-navigation{width:auto;flex:1}.sequence-navigation .story-step,.sequence-navigation .equipment-button{flex-direction:row;gap:6px;padding:3px 0}.scene-play{min-height:32px}.cinematic-copy .button{padding:9px 12px;min-height:34px;font-size:10px}.equipment-middle h2{font-size:35px!important}.scene-range{height:17px}}
@media(max-width:800px){.cinematic-section{scroll-margin-top:-77px}}
@media(min-width:801px){.equipment-status{top:170px;padding:11px 15px;width:205px}.equipment-status>strong{font-size:25px}.equipment-status .scene-disclaimer{display:none}.equipment-status .repair-indicators{margin:7px 0 0;gap:4px}}
@media(max-width:450px) and (max-height:640px){.scene-status{display:none}}
