/* Only the homepage hero participates in the sequence. Navigation and ticker
   remain in their original DOM positions and keep their existing styles. */
.hero-sequence-scroll { position: relative; }
.hero-sequence-scroll.is-ready { height: 700svh; }
#home.hero-sequence {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: 100svh;
  min-height: 100svh;
  background: #000;
  padding-top: clamp(108px, 15svh, 150px);
  padding-bottom: 28px;
}
.is-ready > #home.hero-sequence { position: sticky; top: 0; }
#home > .hero-sequence-background,
.hero-sequence-background picture,
.hero-sequence-background img,
.hero-sequence-background canvas,
.hero-sequence-shade {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none;
}
.hero-sequence-background { z-index: 0; overflow: hidden; }
.hero-sequence-background img { object-fit: cover; object-position: center; }
.hero-sequence-canvas { z-index: 1; opacity: 0; }
.has-sequence-frame .hero-sequence-canvas { opacity: 1; }
.hero-sequence-shade {
  z-index: 2;
  background: linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.23) 48%, transparent 76%), linear-gradient(0deg, rgba(0,0,0,.7), transparent 35%);
}
.hero-sequence-background [data-cgs-layer="embers"] { z-index: 3; }
.hero-sequence-background [data-cgs-layer="cursor-energy"] { z-index: 4; }
#home > .hero-title, #home > .hero-bottom { position: relative; z-index: 1; }
#home > .hero-stamp { z-index: 1; }
.hero-story { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.hero-sequence-blackout { position: absolute; inset: 0; z-index: 5; background: #000; opacity: var(--blackout-opacity, 0); pointer-events: none; }
.hero-title[hidden], #home > .hero-bottom[hidden], #home > .hero-stamp[hidden] { display: none !important; }
.hero-story-scene {
  --scene-opacity: 0;
  --scene-rise: 42px;
  --scene-haze: 13px;
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(12px, 2.4svh, 25px);
  padding: clamp(28px, 7vw, 100px);
  opacity: var(--scene-opacity);
  transform: translate3d(0, var(--scene-rise), 0);
  filter: blur(var(--scene-haze));
  will-change: opacity, transform, filter;
}
.hero-story-scene[aria-hidden="true"] { visibility: hidden; }
.hero-story-scene[aria-hidden="false"] { visibility: visible; }
.hero-story-scene.side-left { align-items: flex-start; text-align: left; }
.hero-story-scene.side-right { align-items: flex-end; text-align: right; }
.hero-story-scene.side-center { align-items: center; text-align: center; }
.hero-story-eyebrow { max-width: 100%; font-size: clamp(9px, .9vw, 12px); letter-spacing: .2em; font-weight: 700; }
.hero-story-heading { margin: 0; max-width: 100%; font-size: clamp(56px, min(10.6vw, 16svh), 180px); line-height: .88; letter-spacing: -.065em; }
.hero-story-line { display: block; white-space: nowrap; }
.hero-story-line.accent { color: var(--orange); }
.hero-story-line.outline { color: transparent; -webkit-text-stroke: 1.5px var(--paper); }
.scene-belief .hero-story-heading { font-size: clamp(46px, min(8vw, 12svh), 138px); }
.hero-story-scene.scene-growth { justify-content: flex-end; padding-bottom: clamp(72px, 11svh, 132px); }
.hero-story-scene.scene-belief { justify-content: flex-end; padding-bottom: clamp(54px, 8svh, 96px); }
.hero-story-scene.scene-belief .hero-story-heading { font-size: clamp(42px, min(6.6vw, 10svh), 110px); }
.hero-story-scene.scene-close { justify-content: center; align-items: center; text-align: center; }
.scene-close .hero-story-actions { justify-content: center; }
.scene-close { pointer-events: none; }
.scene-close .hero-story-heading { font-size: clamp(48px, min(9.5vw, 14svh), 158px); }
.hero-story-copy { max-width: 540px; font-size: clamp(13px, 1.15vw, 16px); color: #eee; }
.hero-story-actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 24px; margin-top: 8px; pointer-events: auto; }
.hero-story-actions .pill { pointer-events: auto; }
.hero-story-actions .story-secondary { display: inline-flex; align-items: center; gap: 18px; padding: 12px 0; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: bold; letter-spacing: .07em; pointer-events: auto; }
/* Retain the four-line headline; cap its size by height so CTAs fit on screen. */
#home.hero-sequence h1 { font-size: clamp(38px, min(9.6vw, 11.3svh), 172px); }
#home.hero-sequence .hero-label { margin-bottom: clamp(16px, 3svh, 35px); }
#home.hero-sequence .hero-bottom { margin-top: 20px; }
@media (max-width: 950px) {
  #home.hero-sequence h1 { font-size: min(12vw, 11svh); }
}
@media (max-width: 640px) {
  .hero-sequence-scroll.is-ready { height: 620svh; }
  #home.hero-sequence { padding-top: 112px; padding-bottom: 22px; }
  #home.hero-sequence h1 { font-size: min(14.6vw, 9svh); }
  #home.hero-sequence .hero-actions { margin-top: 16px; }
  #home.hero-sequence .scroll-cue { margin-top: 18px; }
}
@media (max-height: 700px) and (min-width: 641px) {
  #home.hero-sequence { padding-top: 100px; padding-bottom: 20px; }
  #home.hero-sequence h1 { font-size: 9svh; }
  #home.hero-sequence .hero-label { margin-bottom: 14px; }
  #home.hero-sequence .hero-copy p { font-size: 13px; }
  #home.hero-sequence .hero-actions { margin-top: 14px; }
  #home.hero-sequence .hero-bottom { margin-top: 14px; }
}
@media (max-height: 700px) and (max-width: 640px) {
  #home.hero-sequence { padding-top: 96px; padding-bottom: 16px; }
  #home.hero-sequence h1 { font-size: min(14.6vw, 7.2svh); }
  #home.hero-sequence .hero-label { margin-bottom: 12px; }
  #home.hero-sequence .hero-copy p { font-size: 12px; line-height: 1.4; }
  #home.hero-sequence .hero-bottom { margin-top: 12px; }
  #home.hero-sequence .hero-actions { gap: 12px; margin-top: 12px; }
  #home.hero-sequence .hero-actions .pill { min-height: 48px; padding: 12px 18px; }
  #home.hero-sequence .scroll-cue { margin-top: 12px; }
}
/* On very short screens let content extend naturally rather than clip links. */
@media (max-height: 560px) {
  #home.hero-sequence { height: auto; min-height: 100svh; }
  .hero-sequence-scroll.is-ready { height: auto; }
  .is-ready > #home.hero-sequence { position: relative; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-sequence-scroll.is-ready { height: auto; }
  .is-ready > #home.hero-sequence { position: relative; }
  .hero-sequence-background canvas { display: none; }
}


/* Interleaved typography over the original uninterrupted frame sequence. */
.hero-flow-scene{position:absolute;inset:auto auto auto 50%;top:0;width:calc(100% - 64px);max-width:1300px;padding:0;gap:22px;align-items:center;text-align:center;justify-content:flex-start;transform:translate3d(-50%,110svh,0);filter:none;opacity:0;visibility:visible;will-change:transform,opacity}
.hero-flow-scene[aria-hidden="true"]{visibility:visible;pointer-events:none}
.hero-flow-scene .hero-story-line{white-space:normal}
.hero-flow-scene .hero-story-heading{font-size:clamp(56px,8vw,122px);line-height:1;letter-spacing:-.045em;max-width:100%}
.hero-flow-scene .hero-story-eyebrow{position:relative;z-index:2;font-size:clamp(11px,1.4vw,22px);color:#fff;letter-spacing:.1em;line-height:1.4}
.hero-flow-scene .hero-story-copy{position:relative;font-size:clamp(13px,1.2vw,17px);line-height:1.6;max-width:640px}
.hero-flow-scene .hero-story-actions{position:relative;justify-content:center;flex-wrap:wrap}
.hero-flow-scene[data-scene="build"]{align-items:flex-start;text-align:left}
.hero-flow-scene[data-scene="build"] .hero-story-copy{max-width:600px}
.hero-flow-scene[data-scene="build"] .hero-story-actions{justify-content:flex-start}
.hero-metric-number{position:relative;z-index:2;font:900 clamp(140px,21vw,320px)/.95 Nunito,Arial,sans-serif;letter-spacing:-.075em;background:linear-gradient(106deg,#92f0e9 0%,#b4d1ff 43%,#dfb8ff 100%);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:nowrap;padding:.05em .08em .1em;margin:-.05em -.08em -.1em;filter:drop-shadow(0 4px 16px #0004)}
.hero-metric-echo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(1.75);font:900 clamp(140px,21vw,320px)/1 Nunito,Arial,sans-serif;letter-spacing:-.075em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #ffffff35;pointer-events:none}
.hero-statistics-readable{position:relative;z-index:3;list-style:none;display:flex;flex-wrap:wrap;gap:30px;padding:36px 0 0;margin:0}.hero-statistics-readable[hidden]{display:none!important}.hero-statistics-readable li{display:grid;gap:12px;flex:1;min-width:180px}.hero-statistics-readable strong{font:900 clamp(48px,7vw,100px)/1.1 Nunito,Arial,sans-serif}.hero-statistics-readable span{font-size:18px}
@media(max-width:768px){.hero-flow-scene{width:calc(100% - 40px);gap:18px}.hero-flow-scene .hero-story-heading{font-size:clamp(38px,9vw,76px)}.hero-metric-number,.hero-metric-echo{font-size:clamp(76px,23vw,175px)}.hero-metric-scene .hero-story-eyebrow{font-size:clamp(12px,3vw,20px)}.hero-flow-scene .hero-story-copy{font-size:13px}.hero-flow-scene .hero-story-actions{gap:14px}.hero-statistics-readable{flex-direction:column}.hero-statistics-readable li{min-width:0}}
@media(prefers-reduced-motion:reduce),(max-height:560px){#home.hero-sequence{height:auto;min-height:100svh}}
html[data-cgs-reduce-motion] #home.hero-sequence{height:auto;min-height:100svh}

/* Service-led opening headline with a compact editorial rhythm. */
#home.hero-sequence .hero-flow-scene[data-scene="build"] .hero-story-heading,
#home.hero-sequence .hero-title h1{font-size:clamp(38px,4.6vw,72px);line-height:.90;letter-spacing:-.045em;max-width:min(100%,800px)}
.hero-flow-scene[data-scene="build"] .hero-story-line{line-height:inherit;margin:0;padding:0}
.hero-flow-scene[data-scene="build"] .hero-story-eyebrow,
#home.hero-sequence .hero-label .eyebrow{font-weight:400;font-size:clamp(10px,1.05vw,14px);letter-spacing:.12em;line-height:1.5}
@media(max-width:768px){#home.hero-sequence .hero-flow-scene[data-scene="build"] .hero-story-heading,#home.hero-sequence .hero-title h1{font-size:clamp(27px,5.6vw,43px);line-height:.94}}
