/* LaTronic V8 Phase 10 — Imagery + Motion
   Motion is transform/opacity-led so stabilized layouts remain unchanged. */
:root{--m10-duration:850ms;--m10-fast:420ms;--m10-stagger:70ms;--m10-lift:24px;--m10-red:var(--red-500);--m10-ease:cubic-bezier(.22,1,.36,1)}
.phase10-cinematic{--m10-pointer-x:0;--m10-pointer-y:0;background:var(--paper-100)}
.phase10-cinematic main{overflow-x:clip}
.phase10-cinematic .page-noise{opacity:.026}

/* Page entrance / navigation transition */
.phase10-transition{position:fixed;inset:0;z-index:4000;pointer-events:none;display:grid;grid-template-columns:1fr 1fr;visibility:hidden}
.phase10-transition::before,.phase10-transition::after{content:"";background:var(--ink-950);transform:scaleX(0);transition:transform .52s var(--m10-ease)}
.phase10-transition::before{transform-origin:left}.phase10-transition::after{transform-origin:right}
.phase10-transition.is-leaving{visibility:visible}.phase10-transition.is-leaving::before,.phase10-transition.is-leaving::after{transform:scaleX(1)}
.phase10-transition.is-entering{visibility:visible}.phase10-transition.is-entering::before,.phase10-transition.is-entering::after{transform:scaleX(0)}

/* Generic reveal system added to structural elements, not body copy. */
.phase10-cinematic .m10-reveal{opacity:0;transform:translate3d(0,var(--m10-lift),0);transition:opacity var(--m10-duration) var(--m10-ease),transform var(--m10-duration) var(--m10-ease);transition-delay:calc(var(--m10-i,0) * var(--m10-stagger))}
.phase10-cinematic .m10-reveal.is-in-view{opacity:1;transform:translate3d(0,0,0)}
.phase10-cinematic .m10-reveal-left{opacity:0;transform:translate3d(-24px,0,0);transition:opacity var(--m10-duration) var(--m10-ease),transform var(--m10-duration) var(--m10-ease)}
.phase10-cinematic .m10-reveal-left.is-in-view{opacity:1;transform:none}
.phase10-cinematic .m10-reveal-right{opacity:0;transform:translate3d(24px,0,0);transition:opacity var(--m10-duration) var(--m10-ease),transform var(--m10-duration) var(--m10-ease)}
.phase10-cinematic .m10-reveal-right.is-in-view{opacity:1;transform:none}

/* Cinematic image treatment. Existing photography stays real; treatment is consistent. */
.phase10-cinematic .m10-media{overflow:hidden;isolation:isolate;will-change:transform,filter}
.phase10-cinematic .m10-media::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(125deg,rgba(198,59,50,.12),transparent 32%,transparent 70%,rgba(6,16,27,.18));mix-blend-mode:screen;opacity:.45}
.phase10-cinematic .m10-media::after{content:"";position:absolute;inset:-2px;z-index:5;pointer-events:none;background:linear-gradient(90deg,var(--ink-950) 0%,#17202a 62%,var(--red-700) 100%);transform:scaleX(1);transform-origin:right;transition:transform 1.05s var(--m10-ease);will-change:transform}
.phase10-cinematic .m10-media.is-in-view::after{transform:scaleX(0)}
.phase10-cinematic .m10-parallax{--m10-y:0px;transform:translate3d(0,var(--m10-y),0) scale(1.055)!important;will-change:transform}
.phase10-cinematic .m10-photo-frame{position:relative}
.phase10-cinematic .m10-photo-frame::after{content:"";position:absolute;inset:18px;border:1px solid rgba(255,255,255,.14);pointer-events:none;z-index:6}

/* Subtle ambient technical fields: additive, no layout ownership. */
.phase10-cinematic .home-hero::after,.phase10-cinematic .data-hero::after,.phase10-cinematic .ai-hero::after,.phase10-cinematic .ds-hero::after,.phase10-cinematic .pp8-hero::after,.phase10-cinematic .eh-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('../visuals/phase10-signal.svg') center/cover no-repeat;opacity:.18;mix-blend-mode:screen;z-index:1}
.phase10-cinematic .cloud-hero::after,.phase10-cinematic .about-hero::after,.phase10-cinematic .pm-hero::after,.phase10-cinematic .fh-hero::after,.phase10-cinematic .vh-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('../visuals/phase10-grid.svg') center/cover no-repeat;opacity:.13;mix-blend-mode:screen;z-index:1}
.phase10-cinematic .wf-hero::after,.phase10-cinematic .nh-hero::after,.phase10-cinematic .dh-hero::after,.phase10-cinematic .c09-hero::after,.phase10-cinematic .ct09-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('../visuals/phase10-topography.svg') center/cover no-repeat;opacity:.13;z-index:0}

/* Buttons / links gain restrained kinetic feedback. */
.phase10-cinematic .btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s var(--ease-ui),border-color .28s,color .28s,background .28s}
.phase10-cinematic .btn::before{content:"";position:absolute;top:-30%;bottom:-30%;left:-55%;width:38%;z-index:-1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-18deg);transition:left .62s var(--m10-ease)}
.phase10-cinematic .btn:hover{transform:translateY(-2px)}
.phase10-cinematic .btn:hover::before{left:125%}
.phase10-cinematic .text-link{transition:gap .25s var(--ease-ui),color .25s}.phase10-cinematic .text-link:hover{gap:14px}

/* Hero copy arrives with deliberate sequencing, without resizing text. */
.phase10-cinematic main>section:first-child h1{transform-origin:left center}
.phase10-cinematic.motion-ready main>section:first-child .reveal.is-revealed h1{animation:m10HeroTitle .95s var(--m10-ease) both}
.phase10-cinematic.motion-ready main>section:first-child .reveal.is-revealed p{animation:m10HeroCopy .85s .1s var(--m10-ease) both}
@keyframes m10HeroTitle{from{opacity:0;transform:translateY(18px) skewY(1.2deg)}to{opacity:1;transform:none}}
@keyframes m10HeroCopy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* HOME — editorial images and capability stage */
.phase10-cinematic.phase02-home .home-hero__photo{filter:saturate(.48) contrast(1.14) brightness(.72)}
.phase10-cinematic.phase02-home .home-hero__hud{transform:translate3d(calc(var(--m10-pointer-x)*8px),calc(var(--m10-pointer-y)*8px),0);transition:transform .22s linear}
.phase10-cinematic.phase02-home .home-hud__node i{box-shadow:0 0 0 0 rgba(198,59,50,.28);animation:m10Beacon 2.8s infinite}
.phase10-cinematic.phase02-home .home-scene{transition:transform .5s var(--m10-ease),box-shadow .5s var(--m10-ease)}
.phase10-cinematic.phase02-home .home-scene:hover{transform:translateY(-7px);box-shadow:0 24px 70px rgba(6,16,27,.14)}
.phase10-cinematic.phase02-home .home-cap-button i{transition:transform .3s var(--m10-ease)}.phase10-cinematic.phase02-home .home-cap-button:hover i,.phase10-cinematic.phase02-home .home-cap-button.is-active i{transform:translate(3px,-3px)}
.phase10-cinematic.phase02-home .home-cap-detail{box-shadow:0 28px 90px rgba(3,10,17,.28)}
.phase10-cinematic.phase02-home .home-project-index a{transition:transform .35s var(--m10-ease),background .35s,border-color .35s}.phase10-cinematic.phase02-home .home-project-index a:hover{transform:translateX(8px)}
.phase10-cinematic.phase02-home .home-tech-group{transition:transform .35s var(--m10-ease),border-color .35s,background .35s}.phase10-cinematic.phase02-home .home-tech-group:hover{transform:translateY(-5px);background:#fff}
@keyframes m10Beacon{0%{box-shadow:0 0 0 0 rgba(198,59,50,.35)}75%,100%{box-shadow:0 0 0 18px rgba(198,59,50,0)}}

/* ABOUT — operating model and company evidence */
.phase10-cinematic.phase03-about .about-model__orbit{animation:m10Orbit 30s linear infinite}
.phase10-cinematic.phase03-about .about-model__crosshair{transform:translate3d(calc(var(--m10-pointer-x)*9px),calc(var(--m10-pointer-y)*9px),0)}
.phase10-cinematic.phase03-about .about-stage{transition:transform .35s var(--m10-ease),border-color .35s}.phase10-cinematic.phase03-about .about-stage:hover{transform:translateX(6px)}
.phase10-cinematic.phase03-about .about-evidence__metric strong{display:inline-block;transition:transform .4s var(--m10-ease)}.phase10-cinematic.phase03-about .about-evidence__metric:hover strong{transform:translateY(-4px)}
@keyframes m10Orbit{to{transform:rotate(360deg)}}

/* DATA — data fabric activates progressively */
.phase10-cinematic.phase04-data .data-source{transition:transform .45s var(--m10-ease),background .45s,border-color .45s}.phase10-cinematic.phase04-data .data-source.is-in-view{animation:m10NodeIn .8s var(--m10-ease) both;animation-delay:calc(var(--m10-i)*80ms)}
.phase10-cinematic.phase04-data .data-route{transform:scaleX(0);transform-origin:left;transition:transform 1.05s var(--m10-ease)}.phase10-cinematic.phase04-data .data-fragment__stage.is-in-view .data-route{transform:scaleX(1)}
.phase10-cinematic.phase04-data .data-orbit{animation:m10Orbit 36s linear infinite}.phase10-cinematic.phase04-data .data-orbit--2{animation-direction:reverse;animation-duration:44s}
.phase10-cinematic.phase04-data .data-layer{transition:transform .38s var(--m10-ease),background .38s}.phase10-cinematic.phase04-data .data-layer:hover{transform:translateX(7px)}
@keyframes m10NodeIn{from{opacity:0;transform:scale(.88) translateY(8px)}to{opacity:1;transform:none}}

/* CLOUD — architectural stack / route */
.phase10-cinematic.phase04-cloud .cloud-hero__blueprint{transform:translate3d(calc(var(--m10-pointer-x)*10px),calc(var(--m10-pointer-y)*7px),0);transition:transform .16s linear}
.phase10-cinematic.phase04-cloud .cloud-chapter{transition:transform .38s var(--m10-ease),background .38s}.phase10-cinematic.phase04-cloud .cloud-chapter:hover{transform:translateX(7px)}
.phase10-cinematic.phase04-cloud .cloud-route__track::after{content:"";position:absolute;left:0;top:50%;height:1px;width:100%;background:linear-gradient(90deg,var(--red-500),rgba(198,59,50,0));transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--m10-ease);pointer-events:none}.phase10-cinematic.phase04-cloud .cloud-route.is-in-view .cloud-route__track::after{transform:scaleX(1)}

/* AI — signal extraction */
.phase10-cinematic.phase05-ai .ai-signal{transform:perspective(1200px) rotateX(calc(var(--m10-pointer-y)*-1.1deg)) rotateY(calc(var(--m10-pointer-x)*1.5deg));transition:transform .18s linear}
.phase10-cinematic.phase05-ai .ai-engines div{transition:transform .35s var(--m10-ease),background .35s}.phase10-cinematic.phase05-ai .ai-engines div:hover{transform:translateX(6px);background:rgba(255,255,255,.07)}
.phase10-cinematic.phase05-ai .ai-stage.is-active .ai-stage__visual i{animation:m10Chip .52s var(--m10-ease) both;animation-delay:calc(var(--m10-i,0)*75ms)}
.phase10-cinematic.phase05-ai .ai-evidence__diagram{transform:translate3d(calc(var(--m10-pointer-x)*6px),calc(var(--m10-pointer-y)*6px),0);transition:transform .2s linear}
@keyframes m10Chip{from{opacity:0;transform:translateX(-12px)}to{opacity:1;transform:none}}

/* WORKFLOW — manual-to-governed transformation */
.phase10-cinematic.phase05-workflow .paper{transition:transform .55s var(--m10-ease),box-shadow .55s}.phase10-cinematic.phase05-workflow .wf-hero__board:hover .paper.p1{transform:rotate(-7deg) translate(-4px,-4px)}.phase10-cinematic.phase05-workflow .wf-hero__board:hover .paper.p2{transform:rotate(6deg) translate(5px,-2px)}.phase10-cinematic.phase05-workflow .wf-hero__board:hover .paper.p3{transform:rotate(5deg) translate(-3px,4px)}.phase10-cinematic.phase05-workflow .wf-hero__board:hover .paper.p4{transform:rotate(-6deg) translate(5px,3px)}
.phase10-cinematic.phase05-workflow .wf-path div{transition:transform .35s var(--m10-ease),border-color .35s,background .35s}.phase10-cinematic.phase05-workflow .wf-path div:hover{transform:translateX(5px);border-color:rgba(198,59,50,.42)}
.phase10-cinematic.phase05-workflow .wf-system__layer{transition:transform .38s var(--m10-ease),border-color .38s}.phase10-cinematic.phase05-workflow .wf-system__layer:hover{transform:translateY(-5px);border-color:rgba(220,107,97,.38)}

/* DEVSECOPS — continuous delivery motion */
.phase10-cinematic.phase06-devsecops .ds-orbit__ring{animation:m10Orbit 28s linear infinite}.phase10-cinematic.phase06-devsecops .ds-orbit__ring:nth-child(2){animation-direction:reverse;animation-duration:38s}
.phase10-cinematic.phase06-devsecops .ds-orbit__node{transition:transform .35s var(--m10-ease),background .35s}.phase10-cinematic.phase06-devsecops .ds-orbit__node:hover{transform:scale(1.05)}
.phase10-cinematic.phase06-devsecops .ds-rail__lane{position:relative;overflow:hidden}.phase10-cinematic.phase06-devsecops .ds-rail__lane::after{content:"";position:absolute;left:-30%;top:0;bottom:0;width:24%;background:linear-gradient(90deg,transparent,rgba(198,59,50,.2),transparent);animation:m10Lane 4.8s linear infinite}
@keyframes m10Lane{to{left:115%}}

/* PROGRAM — mission control stays executive, not flashy */
.phase10-cinematic.phase06-program .pm-board{transform:perspective(1400px) rotateX(calc(var(--m10-pointer-y)*-.75deg)) rotateY(calc(var(--m10-pointer-x)*1deg));transition:transform .2s linear}
.phase10-cinematic.phase06-program .pm-riskdot{animation:m10Risk 2.8s ease-in-out infinite}.phase10-cinematic.phase06-program .pm-riskdot:nth-child(2n){animation-delay:.6s}
.phase10-cinematic.phase06-program .pm-system__nav button{transition:transform .3s var(--m10-ease),background .3s}.phase10-cinematic.phase06-program .pm-system__nav button:hover{transform:translateX(4px)}
@keyframes m10Risk{0%,100%{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}

/* PAST PERFORMANCE — chapters feel like dossier transitions */
.phase10-cinematic .pp8-hero__photo{transition:transform 1.1s var(--m10-ease),filter 1.1s}.phase10-cinematic .pp8-hero__visual:hover .pp8-hero__photo--one{transform:translate(-7px,-5px) scale(1.025)}.phase10-cinematic .pp8-hero__visual:hover .pp8-hero__photo--two{transform:translate(7px,-4px) scale(1.02)}.phase10-cinematic .pp8-hero__visual:hover .pp8-hero__photo--three{transform:translate(-4px,7px) scale(1.02)}.phase10-cinematic .pp8-hero__visual:hover .pp8-hero__photo--four{transform:translate(6px,5px) scale(1.025)}
.phase10-cinematic .pp8-eoms__line{transform:scaleX(0);transform-origin:left;transition:transform 1.15s var(--m10-ease)}.phase10-cinematic .pp8-eoms.is-in-view .pp8-eoms__line{transform:scaleX(1)}
.phase10-cinematic .pp8-rabbit__control-status::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;background:#78c19a;box-shadow:0 0 0 0 rgba(120,193,154,.4);animation:m10Status 2.4s infinite}
@keyframes m10Status{70%,100%{box-shadow:0 0 0 14px rgba(120,193,154,0)}}

/* FEDERAL — acquisition pages use precise, restrained line movement. */
.phase10-cinematic .fh-access__routes::before,.phase10-cinematic .vh-routeboard__spine,.phase10-cinematic .eh-rel__line,.phase10-cinematic .eh-techline{transition:transform 1.1s var(--m10-ease),opacity .6s;transform-origin:left}
.phase10-cinematic .fh-access.is-in-view .fh-access__routes::before,.phase10-cinematic .vh-routeboard.is-in-view .vh-routeboard__spine,.phase10-cinematic .eh-relationships.is-in-view .eh-rel__line,.phase10-cinematic .eh-tech.is-in-view .eh-techline{transform:scaleX(1);opacity:1}
.phase10-cinematic .fh-path,.phase10-cinematic .vh-route,.phase10-cinematic .nh-cred,.phase10-cinematic .eh-agency{transition:transform .34s var(--m10-ease),border-color .34s,background .34s}.phase10-cinematic .fh-path:hover,.phase10-cinematic .vh-route:hover,.phase10-cinematic .nh-cred:hover,.phase10-cinematic .eh-agency:hover{transform:translateY(-4px)}
.phase10-cinematic .dh-page{transition:transform .42s var(--m10-ease),box-shadow .42s}.phase10-cinematic .dh-page:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(6,16,27,.18)}

/* CAREERS + CONTACT — editorial depth, quiet motion. */
.phase10-cinematic.phase09-careers .c09-job{transition:transform .3s var(--m10-ease),background .3s,border-color .3s}.phase10-cinematic.phase09-careers .c09-job:hover{transform:translateX(6px)}
.phase10-cinematic.phase09-careers .c09-discipline-track>*{transition:transform .35s var(--m10-ease),background .35s}.phase10-cinematic.phase09-careers .c09-discipline-track>*:hover{transform:translateY(-4px)}
.phase10-cinematic.phase09-contact .ct09-route__choice{transition:transform .3s var(--m10-ease),background .3s,border-color .3s}.phase10-cinematic.phase09-contact .ct09-route__choice:hover{transform:translateY(-3px)}
.phase10-cinematic.phase09-contact .ct09-form-card{box-shadow:0 28px 90px rgba(6,16,27,.12)}
.phase10-cinematic.phase09-role .r09-apply-card,.phase10-cinematic.phase09-role .r09-brief__focus{transition:box-shadow .4s var(--m10-ease),transform .4s var(--m10-ease)}
.phase10-cinematic.phase09-role .r09-related-card{transition:transform .32s var(--m10-ease),border-color .32s}.phase10-cinematic.phase09-role .r09-related-card:hover{transform:translateY(-4px)}

/* Footer gets one quiet light sweep when it enters. */
.phase10-cinematic .foundation-footer{position:relative;overflow:hidden}.phase10-cinematic .foundation-footer::before{content:"";position:absolute;left:-25%;top:0;width:18%;height:1px;background:linear-gradient(90deg,transparent,var(--red-500),transparent);animation:m10Footer 10s linear infinite;opacity:.75}
@keyframes m10Footer{to{left:115%}}

/* Motion-accessible fallback. */
@media(prefers-reduced-motion:reduce){
  .phase10-cinematic *,.phase10-cinematic *::before,.phase10-cinematic *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
  .phase10-cinematic .m10-reveal,.phase10-cinematic .m10-reveal-left,.phase10-cinematic .m10-reveal-right{opacity:1!important;transform:none!important}
  .phase10-cinematic .m10-media::after{display:none}.phase10-cinematic .m10-parallax{transform:none!important}
  .phase10-transition{display:none!important}
}
@media(max-width:800px){
  .phase10-cinematic .m10-parallax{transform:scale(1.03)!important}
  .phase10-cinematic .m10-photo-frame::after{inset:10px}
  .phase10-cinematic .home-hero::after,.phase10-cinematic .data-hero::after,.phase10-cinematic .ai-hero::after,.phase10-cinematic .ds-hero::after,.phase10-cinematic .pp8-hero::after{opacity:.1}
}
