.hero-motion-track {
  --hero-progress: 0;
  position: relative;
  min-height: 400vh;
  background: #071016;
  color: #fff;
  isolation: isolate;
  overflow: clip;
}

.hero-motion-sticky {
  position: sticky;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #071016 url("/releases/aisv-20261013-anchor/assets/hero-eurasia/scene-01-orbit.png") center / cover no-repeat;
}

.hero-motion-frames,
.hero-motion-videos,
.hero-motion-vignette {
  position: absolute;
  inset: 0;
}

.hero-motion-frames {
  z-index: 0;
  overflow: hidden;
  background: #071016;
}

.hero-motion-frames img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: saturate(.94) contrast(1.03) brightness(.91);
  transform: scale(1);
  transform-origin: center;
  will-change: opacity, transform;
}

.hero-motion-frames img:first-child { opacity: 1; }
.hero-motion-frames img:nth-child(1),
.hero-motion-videos video:nth-child(1) { transform-origin: 58% 50%; }
.hero-motion-frames img:nth-child(2),
.hero-motion-videos video:nth-child(2) { transform-origin: 52% 50%; }
.hero-motion-frames img:nth-child(3),
.hero-motion-videos video:nth-child(3) { transform-origin: 55% 54%; }
.hero-motion-frames img:nth-child(4),
.hero-motion-videos video:nth-child(4) { transform-origin: 58% 55%; }

.hero-motion-videos {
  z-index: 1;
  overflow: hidden;
  background: transparent;
  mix-blend-mode: screen;
}

.hero-motion-videos video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  filter: brightness(1.75) saturate(1.12) contrast(1.1);
  transform: scale(1);
  will-change: opacity, transform;
}

.hero-motion-videos video:first-child { opacity: 1; }

.hero-motion-vignette {
  z-index: 2;
  pointer-events: none;
  /* Constant across chapters: gradient backgrounds cannot interpolate smoothly. */
  background:
    linear-gradient(90deg, rgba(3, 10, 15, .44) 0%, rgba(3, 10, 15, .24) 45%, rgba(3, 10, 15, .44) 100%),
    linear-gradient(180deg, rgba(3, 10, 15, .34) 0%, transparent 28%, transparent 70%, rgba(3, 10, 15, .52) 100%);
}

.hero-motion-chapters {
  position: relative;
  z-index: 1;
  margin-top: -100vh;
  margin-top: -100svh;
}

.hero-motion-scene {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100vh;
  min-height: 100svh;
  padding: 110px clamp(24px, 6vw, 100px) 72px;
  pointer-events: none;
  will-change: opacity, transform;
}

.hero-motion-scene-three {
  justify-content: flex-end;
}

.hero-motion-copy {
  position: relative;
  isolation: isolate;
  width: min(760px, 63vw);
}

.hero-motion-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -58px -76px;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(2, 8, 12, .34), rgba(2, 8, 12, .12) 54%, transparent 74%);
}

.hero-motion-scene-one .hero-motion-copy {
  width: min(940px, 75vw);
}

.hero-motion-scene-one h1 {
  white-space: nowrap;
}

.hero-motion-scene-two .hero-motion-copy {
  width: min(780px, 64vw);
}

.hero-motion-scene-three .hero-motion-copy {
  width: min(720px, 56vw);
}

.hero-motion-scene-four .hero-motion-copy {
  width: min(800px, 66vw);
}

.hero-motion-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .82);
}

.hero-motion-eyebrow span {
  width: 26px;
  height: 1px;
  flex: 0 0 auto;
  background: #c7ef46;
}

.hero-motion-scene h1,
.hero-motion-scene h2 {
  margin: 0;
  font-family: var(--display);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .97;
  text-wrap: balance;
  text-shadow: 0 2px 30px rgba(0, 0, 0, .44);
}

.hero-motion-scene h1 {
  max-width: 980px;
  font-size: clamp(46px, 5.5vw, 92px);
}

.hero-motion-scene h2 {
  font-size: clamp(44px, 5.15vw, 82px);
}

.hero-motion-lede {
  max-width: 660px;
  margin: 30px 0 0;
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.55;
  color: rgba(255, 255, 255, .88);
  text-shadow: 0 1px 20px rgba(0, 0, 0, .48);
}

.hero-motion-detail {
  max-width: 820px;
  margin: 20px 0 0;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-motion-scene-three .hero-motion-lede {
  max-width: 610px;
}

.hero-motion-link {
  width: fit-content;
  margin-top: 34px;
  display: flex;
  align-items: center;
  gap: 44px;
  padding: 16px 20px;
  border: 1px solid rgba(255, 255, 255, .36);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  pointer-events: auto;
  transition: background .25s, color .25s, border-color .25s;
}

.hero-motion-link:hover {
  border-color: #c7ef46;
  background: #c7ef46;
  color: #11110f;
}

.hero-motion-status {
  position: absolute;
  z-index: 3;
  left: clamp(24px, 6vw, 100px);
  bottom: 29px;
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 9px;
  letter-spacing: .14em;
  color: rgba(255, 255, 255, .55);
}

.hero-motion-rule {
  position: relative;
  width: 72px;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, .2);
}

.hero-motion-rule i {
  position: absolute;
  inset: 0;
  background: #c7ef46;
  transform: scaleX(var(--hero-progress));
  transform-origin: left;
}

.hero-motion-scroll {
  position: absolute;
  z-index: 3;
  right: clamp(24px, 4vw, 72px);
  bottom: 25px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 9px;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
  opacity: calc(1 - var(--hero-progress));
}

.hero-motion-scroll i {
  position: relative;
  width: 1px;
  height: 26px;
  background: rgba(255, 255, 255, .25);
}

.hero-motion-scroll i::after {
  content: "";
  position: absolute;
  left: -2px;
  bottom: 0;
  width: 5px;
  height: 5px;
  border-right: 1px solid #c7ef46;
  border-bottom: 1px solid #c7ef46;
  transform: rotate(45deg);
}

@media (max-width: 860px) {
  .hero-motion-scene { padding: 104px 24px 76px; }
  .hero-motion-copy,
  .hero-motion-scene-two .hero-motion-copy,
  .hero-motion-scene-three .hero-motion-copy,
  .hero-motion-scene-four .hero-motion-copy { width: 100%; }
  .hero-motion-scene-three { justify-content: flex-start; text-align: left; }
  .hero-motion-scene h1 { font-size: clamp(42px, 10vw, 68px); line-height: 1.01; }
  .hero-motion-scene-one h1 { white-space: normal; }
  .hero-motion-scene h1 br { display: none; }
  .hero-motion-scene h2 { font-size: clamp(40px, 10vw, 66px); line-height: 1; }
  .hero-motion-lede { max-width: 580px; }
  .hero-motion-vignette,
  .hero-motion-track[data-active-chapter] .hero-motion-vignette {
    background:
      linear-gradient(90deg, rgba(4, 11, 16, .82), rgba(4, 11, 16, .24)),
      linear-gradient(180deg, rgba(4, 11, 16, .42), transparent 35%, rgba(4, 11, 16, .58));
  }
}

@media (max-width: 520px) {
  html,
  body { overflow-x: clip; }
  .hero-motion-scene { align-items: flex-end; padding: 96px 20px 86px; }
  .hero-motion-scene h1 { font-size: clamp(37px, 11.4vw, 52px); }
  .hero-motion-scene h2 { font-size: clamp(37px, 10.7vw, 49px); }
  .hero-motion-eyebrow { margin-bottom: 18px; font-size: 9px; }
  .hero-motion-lede { margin-top: 21px; font-size: 15px; line-height: 1.48; }
  .hero-motion-detail { margin-top: 14px; font-size: 9px; line-height: 1.55; }
  .hero-motion-link { margin-top: 23px; padding: 14px 16px; gap: 24px; }
  .hero-motion-status { left: 20px; bottom: 24px; }
  .hero-motion-status > span:last-child { display: none; }
  .hero-motion-scroll { right: 20px; bottom: 20px; }
  .hero-motion-scroll span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-motion-track { min-height: 100svh; }
  .hero-motion-sticky { position: absolute; inset: 0; min-height: 100svh; }
  .hero-motion-chapters { margin-top: 0; }
  .hero-motion-scene-one { min-height: 100svh; opacity: 1 !important; transform: none !important; }
  .hero-motion-scene-two,
  .hero-motion-scene-three,
  .hero-motion-scene-four,
  .hero-motion-scroll { display: none; }
  .hero-motion-videos { display: none; }
  .hero-motion-rule i { transform: scaleX(1); }
}
