/* A wider opening shot and light around the artwork carry the visual impact. */
.hero-line { display: block; }
.arrival-gallery .product-plane { max-width: 1040px; max-height: 540px; }
.constellation-fallback {
  background-image: radial-gradient(ellipse at 50% 69%, #20374b26, transparent 55%),
    radial-gradient(ellipse at 30% 80%, #6d3e2014, transparent 44%),
    radial-gradient(circle at 9% 23%, #e3d4b49c 0 1px, transparent 1.5px),
    radial-gradient(circle at 88% 33%, #dfc587 0 1px, transparent 2px);
  background-size: 100% 100%, 100% 100%, 537px 631px, 751px 543px;
}
.cinema-shot {
  transform: perspective(1600px) translate3d(var(--shot-x, 0px), var(--shot-y, 0px), 0)
    rotateY(var(--shot-yaw, 0deg));
}
.cinema-shot.shot-near { will-change: transform; }
.arrival .cinema-shot {
  transform: perspective(1600px) translate3d(var(--shot-x, 0px), var(--shot-y, 0px), 0)
    rotateX(4deg) rotateY(var(--shot-yaw, 0deg));
  border-color: #ded0b875; box-shadow: 0 38px 90px #000c, 0 1px 0 #fff3 inset;
}
.capture-window { border-color: #918573; box-shadow: 0 28px 70px #0007; }
.capture-window::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  box-shadow: inset 0 1px 0 #fff2;
}
@media (min-width: 1200px) {
  .arrival h1 { font-size: clamp(60px, 5.2vw, 88px); line-height: 1.04; letter-spacing: -.05em; white-space: nowrap; }
  .arrival .hero-line { display: inline; }
  .arrival .chapter-intro { margin-bottom: 34px; }
}
@media (max-width: 899px) {
  .arrival-gallery .product-plane { max-width: 640px; max-height: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cinema-shot, .arrival .cinema-shot { transform: none !important; will-change: auto; }
}

.social-capture .capture-window img { padding: 6px; }

/* The scene continues behind the footer instead of meeting an opaque slab. */
.constellation .site-footer { background: transparent; border-top: 0; }
