/* 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) {
  .wordmark { max-width: 100%; overflow-wrap: anywhere; }
  .wordmark span { line-height: 1.5; }
  .hero-top, .hero-caption, .menu-note { flex-wrap: wrap; }
  .hero-top > *, .hero-caption > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .hero-caption .round-link, .menu-note a { white-space: normal; }
}
@media (max-width: 900px) {
  .hero h1 { font-size: clamp(3rem, 11vw, 5.5rem); line-height: 1.04; }
  .hero-image { height: auto; border-radius: 14px 14px 0 0; }
  .hero-image > .stamped-photo { height: auto; }
  .hero-image > .stamped-photo > img { display: block; width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; animation: none; }
  .hero-tag { position: static; inset: auto; transform: none; box-shadow: none; padding: 18px 20px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
  .hero-tag > * { min-width: 0; overflow-wrap: anywhere; }
  .hero-tag a { min-height: 44px; display: inline-flex; align-items: center; }
  .dish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dish-grid article { min-width: 0; }
}
@media (max-width: 600px) {
  .dish-grid { grid-template-columns: minmax(0, 1fr); }
  .dish-grid article { padding: 24px 0 !important; border-right: 0; border-bottom: 1px solid var(--line) !important; }
  .dish-grid article:last-child { border-bottom: 0 !important; }
  .dish-grid p { max-width: none; }
  .hours dl > div { flex-direction: column; }
  .hero-caption { align-items: flex-start; }
}
