/* Source-reviewed responsive candidate. Append after existing main-page styles.
   Photo stamp placement is intentionally left to the adaptive stamp layer. */
@media (max-width: 1050px) {
  header { flex-wrap: wrap; gap: 16px 24px; }
  header > *, header nav > *, main, main > section > *, footer > * { min-width: 0; }
  header nav { display: flex; flex-wrap: wrap; order: 3; flex-basis: 100%; width: 100%; gap: 6px 20px; }
  header nav a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  header :is(.header-call, .call, .nav-phone, .nav-call) { min-height: 44px; max-width: 100%; align-items: center; white-space: normal; overflow-wrap: anywhere; }
  :is(button, summary, .mobile-actions a, .sample-actions a, .mobile-bar a) { min-height: 44px; }
  :is(.mobile-actions, .sample-actions, .mobile-bar) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :is(.mobile-actions a, .sample-actions a, .mobile-bar a) { overflow-wrap: anywhere; }
  :is(h1, h2, h3, address, .eyebrow, .button, .phone, .footer-brand, .footer-title, .footer-name) { overflow-wrap: anywhere; }
  :is(.hero-copy, .hero-copy > *, .visit-card, .section-heading > *, .section-head > *, .cinema-heading, .cinema-card, .r-review) { min-width: 0; }
  :is(.hero-actions, .actions, .visit-actions, .footer-top, .footer-bottom) { flex-wrap: wrap; }
  :is(.hours dl > div, .visit-card dl > div) { flex-wrap: wrap; gap: 6px 16px; }
  :is(.hours dt, .hours dd, .visit-card dt, .visit-card dd) { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  :is(.cinema-controls, .cinema-dialog-bar) > * { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  :is(.button, .text-link, .hero-secondary, .entrance-link, .round-link, .menu-source-link) { min-height: 44px; }
  :is(.text-link, .hero-secondary, .entrance-link, .menu-source-link) { display: inline-flex; align-items: center; }
  .button { max-width: 100%; text-align: center; }
}

@media (max-width: 1050px) {
  .brand-logo { max-width: 100%; flex-wrap: wrap; }
  .brand-logo > span { min-width: 0; overflow-wrap: anywhere; }
  header nav > a:first-child { display: inline-flex; }
  .image-caption { overflow-wrap: anywhere; }
}
@media (max-width: 900px) {
  .hero { display: flex; flex-direction: column; min-height: 0; height: auto; max-height: none; gap: 36px; padding: 40px 7vw 76px; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: clamp(2.75rem, 11vw, 5rem); }
  .hero-art { width: 100%; max-width: 760px; padding: 0; transform: none; }
  .hero-art .photo-frame { padding: 12px; }
  .photo-frame > .stamped-photo > img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
  .image-caption { position: static; inset: auto; display: block; padding-top: 14px; line-height: 1.7; }
  .vertical-word { display: none; }
  .food-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .food-photo { width: 100%; margin: 0; transform: none; padding: 12px; border-radius: 12px; }
  .food-photo > .stamped-photo > img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; border-radius: 0; }
  .section-heading { grid-template-columns: minmax(0, 1fr); }
  .section-heading > p:last-child { justify-self: start; }
  .visit { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .visit-note { border-left: 0; padding-left: 0; }
  .menu-list article > div { min-width: 0; }
}
@media (max-width: 480px) {
  .visit-note { grid-template-columns: minmax(0, 1fr); }
  .big-v { grid-row: auto; }
}
