.hero-media { overflow: hidden; isolation: isolate; }
.photo--hero-responsive picture { display: block; width: 100%; height: 100%; }
.brand-intro-name { font-size: clamp(13px, 1.2vw, 17px); letter-spacing: .075em; }
.action-arrow { transition: transform 180ms ease; }
.production-credit { display: inline-flex; min-height: 44px; align-items: center; gap: .4em; font-size: 13px; line-height: 1.8; color: var(--muted); padding: 8px 0; }
.production-credit > span:first-child { border-bottom: 1px solid currentColor; }
.production-credit > span:last-child { margin-left: 5px; transition: transform 180ms ease; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 28px; }
@media (hover: hover) and (pointer: fine) {
  .action:hover .action-arrow, .production-credit:hover > span:last-child { transform: translate(3px, -3px); }
  .production-credit:hover { color: var(--text); }
}
.action:focus-visible .action-arrow { transform: translate(3px, -3px); }
@media (max-width: 767px) {
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
html[data-review-reduced="true"] * { animation: none !important; transition: none !important; }

/* Responsive accessible name follows the selected photograph, including without JS. */
.hero-photo-description { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hero-alt-sp { display: none; }
@media (max-width: 767px) { .hero-alt-pc { display: none; } .hero-alt-sp { display: inline; } }
.photo-caption .hero-caption-sp { display: none; }
@media (max-width: 767px) { .photo-caption .hero-caption-pc { display: none; } .photo-caption .hero-caption-sp { display: block; } }
