@charset "UTF-8";

/* Native scrolling and sticky stages; no wheel/touch interception. */
.support-intro { padding-block:128px; overflow:hidden; overflow:clip; }
.support-intro .section-heading { margin-bottom:0; }
.service-scene { position:relative; color:white; background:var(--navy); }
.service-stage { position:relative; isolation:isolate; display:grid; align-items:center; min-height:100vh; min-height:100svh; padding-block:clamp(64px,9vh,96px); padding-block:clamp(64px,9svh,96px); overflow:hidden; overflow:clip; }
.scene-photo { position:absolute; z-index:-2; top:-10%; left:0; width:100%; max-width:none; height:120%; object-fit:cover; object-position:center; transform:translate3d(0,var(--scene-shift,0px),0) scale(var(--scene-zoom,1)); }
.scene-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(9,35,40,.84) 0%,rgba(9,35,40,.66) 36%,rgba(9,35,40,.18) 75%),linear-gradient(0deg,rgba(9,35,40,.42),transparent 40%); }
.scene-content { padding-block:24px; }
.scene-title { width:fit-content; max-width:100%; color:white; font-size:clamp(64px,7.8vw,112px); font-weight:700; line-height:1.25; letter-spacing:-.055em; }
.scene-copy { max-width:560px; margin-top:32px; }
.scene-copy > p { font-size:24px; font-weight:500; line-height:1.8; letter-spacing:-.025em; }
.scene-link { width:360px; margin-top:40px; }
.support-end { padding-block:64px; }
.support-end .support-process-link { margin-top:0; }
.scroll-effects .service-scene { height:calc(var(--stage-height,100vh) + var(--scene-run,52vh)); height:calc(var(--stage-height,100svh) + var(--scene-run,52svh)); }
.scroll-effects .service-scene:not(.is-static) > .service-stage { position:sticky; top:0; }
.scroll-effects .service-scene.is-static { height:auto; }
.scroll-effects .service-scene.is-near .scene-photo { will-change:transform; }

/* Text is visible by default. JS opts in only when the motion APIs exist. */
.home .approach,.home .about-teaser,.home .consultation { overflow:hidden; overflow:clip; }
[data-reveal-title] { transform-origin:left center; }
.reveal-effects [data-reveal-state="waiting"] [data-reveal-title],
.reveal-effects [data-reveal-state="waiting"] [data-reveal-copy] { opacity:0; }
.reveal-effects [data-reveal-state="revealing"] [data-reveal-title] { will-change:transform,filter,opacity; }

@media (max-width:1100px) {
  .scene-copy > p { font-size:22px; }
}
@media (max-width:800px) {
  .support-intro { padding-block:96px; }
  .scene-title { font-size:72px; }
  .scene-copy > p { font-size:20px; }
}
@media (max-width:600px) {
  .support-intro { padding-block:88px; }
  .service-stage { padding-block:64px; }
  .scene-photo { object-position:60% center; }
  .service-scene-operations .scene-photo { object-position:62% center; }
  .scene-shade { background:linear-gradient(90deg,rgba(9,35,40,.76),rgba(9,35,40,.4)),linear-gradient(0deg,rgba(9,35,40,.65),transparent 80%); }
  .scene-title { font-size:clamp(48px,14.5vw,80px); }
  .scene-copy { margin-top:24px; }
  .scene-copy > p { font-size:17px; line-height:1.8; }
  .scene-link { width:100%; max-width:320px; margin-top:32px; }
  .support-end { padding-block:40px; }
}
@media (max-height:650px) and (min-width:601px) {
  .scene-title { font-size:64px; }
  .scene-copy { margin-top:24px; }
  .scene-copy > p { font-size:20px; }
  .scene-link { margin-top:24px; }
}
@media (prefers-reduced-motion:reduce) {
  .scroll-effects .service-scene { height:auto; }
  .scroll-effects .service-scene > .service-stage { position:relative !important; }
  .scene-photo { top:0; height:100%; transform:none !important; will-change:auto !important; }
  [data-reveal-title],[data-reveal-copy] { opacity:1 !important; transform:none !important; filter:none !important; }
}
@media print {
  .scroll-effects .service-scene { height:auto; }
  .scroll-effects .service-scene > .service-stage { position:relative !important; min-height:150mm; print-color-adjust:exact; }
  .scene-photo { transform:none !important; }
  [data-reveal-title],[data-reveal-copy] { opacity:1 !important; transform:none !important; filter:none !important; }
}
