/* One connected scroll language: a naval construction line opens every chapter. */
html,body,main{background:#061321}
.cinematic-section{--cinema-progress:0;--cinema-reveal:0%;--cinema-content-lift:44px;--cinema-line:0;--cinema-saturation:.5;position:relative;isolation:isolate;overflow:hidden;margin:0;opacity:1;transform:none}
.cinematic-section>.cinematic-veil{position:absolute;inset:-2px;z-index:60;pointer-events:none;transform:translate3d(0,var(--cinema-reveal),0);will-change:transform;background:#061321;background-image:linear-gradient(rgba(174,207,223,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(174,207,223,.045) 1px,transparent 1px);background-size:25vw 25vw;box-shadow:0 32px 90px rgba(1,8,15,.68)}
.cinematic-section>.cinematic-veil:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 3%,rgba(183,215,230,.45) 18%,#d4e4ec 50%,rgba(183,215,230,.45) 82%,transparent 97%);box-shadow:0 0 18px rgba(150,204,230,.72)}
.cinematic-section>.cinematic-veil i{position:absolute;left:50%;bottom:-5px;width:9px;height:9px;border:1px solid rgba(209,230,240,.88);border-radius:50%;background:#0c2436;box-shadow:0 0 20px rgba(151,208,236,.75);transform:translateX(-50%)}
.journey-marker{position:absolute;z-index:35;top:0;right:2.4vw;width:24px;height:100%;pointer-events:none;color:rgba(185,211,225,.5);font:600 .56rem/1 'Inter',sans-serif;letter-spacing:.12em}
.journey-marker>i{position:absolute;left:11px;top:0;width:1px;height:100%;background:rgba(174,205,222,.1)}
.journey-marker>i:after{content:"";position:absolute;inset:0;background:linear-gradient(#7895ff,#b8d6e5);transform:scaleY(var(--cinema-line));transform-origin:top;box-shadow:0 0 10px rgba(111,144,255,.45)}
.journey-marker>span{position:absolute;top:4rem;right:19px;color:#829aff;writing-mode:vertical-rl;transform:rotate(180deg)}
.journey-marker>b{position:absolute;top:4rem;left:7px;width:9px;height:9px;border:1px solid rgba(190,218,232,.7);border-radius:50%;background:#081a2a;transform:scale(var(--cinema-scale));box-shadow:0 0 14px rgba(128,177,202,.45)}
.cinematic-section>.services-head,.cinematic-section>.service-grid,.cinematic-section>.locations-head,.cinematic-section>.location-list,.cinematic-section>.locations-photo,.cinematic-section>.record-head,.cinematic-section>.record-progress-line,.cinematic-section>.record-grid,.cinematic-section>.record-visual,.cinematic-section>.team-head,.cinematic-section>.trades,.cinematic-section>.process-head,.cinematic-section>.process,.cinematic-section>.contact-content{transform:translate3d(0,var(--cinema-content-lift),0);will-change:transform}
.cinematic-section .service-visual img,.cinematic-section .locations-photo img,.cinematic-section.contact>img{filter:saturate(var(--cinema-saturation)) contrast(1.06);transition:filter .35s linear}
.cinematic-section.cinema-active .service-grid article,.cinematic-section.cinema-active .location-list article{transition-property:opacity,transform,background-color;transition-duration:.8s;transition-timing-function:cubic-bezier(.16,.8,.22,1)}
.cinematic-section.cinema-active .service-grid article:nth-child(2),.cinematic-section.cinema-active .location-list article:nth-child(2){transition-delay:80ms}.cinematic-section.cinema-active .service-grid article:nth-child(3),.cinematic-section.cinema-active .location-list article:nth-child(3){transition-delay:160ms}.cinematic-section.cinema-active .location-list article:nth-child(4){transition-delay:240ms}
@media(max-width:900px){.journey-marker{right:2vw;opacity:.7}.journey-marker>span{display:none}}
@media(prefers-reduced-motion:reduce){.cinematic-section{transform:none!important;opacity:1!important}.cinematic-section>.cinematic-veil{display:none}.journey-marker>i:after{transform:scaleY(1)}.cinematic-section>.services-head,.cinematic-section>.service-grid,.cinematic-section>.locations-head,.cinematic-section>.location-list,.cinematic-section>.locations-photo,.cinematic-section>.record-head,.cinematic-section>.record-progress-line,.cinematic-section>.record-grid,.cinematic-section>.record-visual,.cinematic-section>.team-head,.cinematic-section>.trades,.cinematic-section>.process-head,.cinematic-section>.process,.cinematic-section>.contact-content{transform:none!important}}
