/* One response per object; no moving background or full-cover spotlight. */
.cover-studio .story-intro::before { background-image: url('../assets/hero-studio-backdrop.webp'); opacity: .64; }
.masthead-letter { display: inline-block; position: relative; transform-origin: 50% 85%; backface-visibility: hidden; user-select: none; transition: text-shadow 280ms ease; }
.cover-studio .masthead-letter.is-near { text-shadow: 0 6px 18px rgb(231 174 191 / .17); }
.cover-studio .hero-masthead { white-space: nowrap; }
@media (min-width: 761px) {
  .cover-studio .hero-masthead { font-size: min(28vw, 43svh, 460px); }
}
@media (min-width: 761px) and (max-height: 620px) {
  .cover-studio .hero-masthead { top: 56px; font-size: min(27vw, 36svh, 235px); }
}
/* Animate the real letters in place, without a duplicate-word handoff. */
html[data-opening] .cover-studio .hero-masthead { visibility: visible; }
html[data-opening="pending"] .cover-studio .masthead-letter { opacity: 0; }
html[data-opening] .opening-screen { pointer-events: none; }
html[data-opening] .opening-skip { pointer-events: auto; }
.opening-veil, .opening-word { display: none; }
/* Frame-driven transforms must not chase a second CSS interpolation. */
.cover-studio.story-animated .story-card,
.cover-studio.story-animated .card-flipper { transition: none; }
@media (max-width: 760px) {
  .cover-studio .story-intro::before { background-position: 47% center; opacity: .46; }
}
@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .cover-studio .masthead-letter { transform: none !important; text-shadow: none !important; }
}
html[data-motion="reduced"] .cover-studio .masthead-letter { transform: none !important; text-shadow: none !important; }
