.hero-media video.scene { display: block; }
.hero .effect-controls { flex-direction: row; align-items: center; gap: 16px; }
.hero .effect-controls [hidden] { display: none; }
.world.apsara .scene, .project-hero.apsara .scene { object-position: 50% 48%; }
.world.apsara .world-copy { bottom: clamp(72px, 9vh, 108px); }
.world.apsara .actions { align-items: center; flex-wrap: wrap; }
.world.apsara .actions .text-link { margin: 0; }
.world.apsara .shade, .project-hero.apsara .page-shade {
  background: linear-gradient(180deg, #080d0a70, transparent 23%), linear-gradient(0deg, #080d0ae8, #080d0a14 51%, transparent 70%), linear-gradient(90deg, #080d0a86, transparent 54%);
}
.project-hero.apsara .actions { align-items: center; }
.apsara-gallery, .apsara-rooftop { padding-block: clamp(24px, 5vw, 82px); }
.apsara-gallery figure, .apsara-rooftop figure { margin: 0; }
.apsara-gallery .page-media { aspect-ratio: 16 / 9; overflow: hidden; }
.apsara-gallery .apsara-wide .page-media { aspect-ratio: 1933 / 813; }
.apsara-supporting { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(16px, 3vw, 48px); margin-top: clamp(24px, 4vw, 64px); }
.apsara-supporting figure:last-child .scene { object-position: 30% center; }
.apsara-gallery figcaption, .apsara-rooftop figcaption { margin: 12px 0 0; font: 14px/1.5 var(--mono); color: var(--muted, #b8b3a5); }
.apsara-rooftop { border-top: 1px solid #dcc9a933; }
.apsara-rooftop h2 { margin: 16px 0; font-size: clamp(38px, 5.6vw, 88px); letter-spacing: -.055em; line-height: 1.05; }
.apsara-study-copy { max-width: 55ch; font-size: clamp(17px, 1.6vw, 24px); line-height: 1.6; margin-bottom: 26px; }
.apsara-comparison { display: grid; grid-template-columns: .9fr 1.3fr; align-items: end; gap: clamp(16px, 3vw, 48px); }
.apsara-comparison img, .apsara-comparison video { display: block; width: 100%; height: auto; }
.apsara-comparison video { aspect-ratio: 992 / 432; background: #080b09; }
.apsara-process-watch { display: grid; gap: 12px; justify-items: center; align-content: center; }
.apsara-process-watch img { width: min(100%, 350px); aspect-ratio: 16 / 9; object-fit: cover; }
.apsara-process-drawing { width: min(100%, 560px); margin: 0; }
.apsara-process-drawing img { width: 100%; height: auto; display: block; }
.apsara-process-drawing figcaption { margin-top: 10px; font: 14px/1.5 var(--mono); }
.apsara-process-watch .text-link, .journey-footer .text-link { white-space: normal; }
.apsara-player { position: fixed; inset: 0; margin: auto; width: min(90vw, 1110px); max-width: 100vw; max-height: 94dvh; padding: 0; background: #0e110f; color: #dcc9a9; border: 1px solid #dcc9a94c; }
.apsara-player::backdrop { background: #050805e8; }
.apsara-player video { display: block; width: 100%; max-height: calc(92dvh - 64px); background: #000; }
.apsara-player-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; }
.apsara-player-bar h2 { margin: 0; font: 16px/1.4 var(--mono); }
.apsara-player-bar button { color: inherit; font: inherit; background: transparent; border: 0; cursor: pointer; min-height: 40px; }
@media (max-width: 700px) {
  .world.apsara .scene, .project-hero.apsara .scene { position: absolute; top: 5%; height: 56%; object-position: 50% center; mask-image: linear-gradient(0deg, transparent, #000 12%, #000 88%, transparent); }
  .world.apsara .shade, .project-hero.apsara .page-shade { background: linear-gradient(0deg, #080d0a 29%, #080d0aeb 37%, transparent 52%, transparent 85%, #080d0a73); }
  .world.apsara .world-copy { bottom: 84px; }
  .world.apsara .world-copy .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
  .world.apsara .world-copy .actions .button { min-height: 48px; padding: 10px; font-size: 14px; }
  .world.apsara .world-copy .actions .text-link { grid-column: 1/-1; justify-self: start; font-size: 14px; }
  .world.apsara .world-hook { margin-block: 10px; font-size: 17px; }
  .project-hero.apsara .project-hero-copy { padding-top: 36vh; }
  .project-hero.apsara .project-hero-copy .actions { flex-wrap: wrap; }
  .apsara-supporting, .apsara-comparison { grid-template-columns: 1fr; }
  .apsara-player { width: 96vw; }
  .apsara-player-bar { padding: 8px 12px; }
  .apsara-player-bar h2 { font-size: 14px; }
  .hero .effect-controls { flex-direction: column; align-items: end; gap: 6px; }
}
