.scene-support p {font-size:15px;line-height:1.85;max-width:410px}
.scene-support .text-link {font-size:10px;letter-spacing:.16em;margin-top:20px;width:100%}
/* Scroll-driven framing with timed, threshold-triggered slide fades. */
@media (min-width:901px) and (min-aspect-ratio:3/2) {
  .service-scene[data-scene] .scene-copy h3 {
    font-size:clamp(54px,5.4vw,108px);
    line-height:1.06;
    letter-spacing:-.045em;
    margin-bottom:26px;
  }
  .service-scene[data-scene] .scene-copy .eyebrow {font-size:10px;line-height:1.7;margin-bottom:22px}
  .service-scene .scene-copy>p:not(.eyebrow) {font-size:15px;line-height:1.85;max-width:410px}
  .service-scene .scene-copy>.text-link {font-size:10px;letter-spacing:.16em;margin-top:20px}
  .service-scene[data-scene="1"] .scene-copy {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,28%);
    grid-template-rows:auto auto;column-gap:6vw;align-items:start;
  }
  .service-scene[data-scene="1"] .scene-copy .eyebrow {grid-column:1;grid-row:1}
  .service-scene[data-scene="1"] .scene-copy h3 {grid-column:1;grid-row:2;max-width:none;margin:0}
  .service-scene[data-scene="1"] .scene-support {grid-column:2;grid-row:1 / 3;max-width:380px}

}
.story-mode .services-story {height:330svh;background:#fff}
.story-mode .service-stage {min-height:0;clip-path:inset(0 var(--frame-inset,3.5%));isolation:isolate}
.story-mode .service-scene {
  opacity:0;visibility:hidden;z-index:0;
  transition:opacity .65s ease,visibility .65s;
}
.story-mode .service-scene[data-active="true"] {opacity:1;visibility:visible;z-index:1}
.story-mode .service-scene .scene-image,
.story-mode .service-scene[data-active="true"] .scene-image {
  transform:translate3d(0,var(--photo-y,0px),0) scale(var(--photo-scale,1.018));transition:none;
}
.story-mode .service-scene .scene-copy,
.story-mode .service-scene[data-active="true"] .scene-copy {
  opacity:var(--copy-opacity,1);transform:translate3d(0,var(--copy-y,0px),0);transition:none;
}
.story-mode .stage-steps {opacity:var(--navigation-opacity,1);transition:color .25s ease}
.story-mode .stage-steps button:before {transition:none}
/* The pale transport sky already gives dark text contrast; keep that image clear. */
.service-scene[data-scene="0"] .scene-shade,
.service-scene[data-scene="2"] .scene-shade {
  background:radial-gradient(ellipse 55% 75% at 9% 73%,rgba(8,19,15,.42),rgba(8,19,15,.23) 44%,transparent 80%);
}
@media(max-width:900px),(max-aspect-ratio:3/2) {
  .service-scene[data-scene] .scene-copy h3 {font-size:clamp(40px,7vw,70px);line-height:1.09;letter-spacing:-.045em;margin-bottom:22px}
  .service-scene[data-scene] .scene-copy .eyebrow {margin-bottom:20px}
  .service-scene .scene-copy>p:not(.eyebrow) {font-size:14px;line-height:1.85}
  .scene-support p {font-size:14px;line-height:1.85;max-width:520px}
  .scene-support .text-link {width:auto}
  .service-scene[data-scene="2"] .scene-shade {background:none}
}
@media(max-width:700px) {
  .service-scene[data-scene="0"] .scene-shade {background:linear-gradient(0deg,rgba(8,19,15,.32),rgba(8,19,15,.12) 45%,transparent 75%)}
}
@media(prefers-reduced-motion:reduce) {
  .service-stage {clip-path:none!important}
  .service-scene,.scene-copy {opacity:1!important;visibility:visible!important}
}
