/* Targeted safeguards for 320px–768px without changing the desktop composition. */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
main, header, footer, section, article, aside, nav, form, figure, div { min-width: 0; }
section, footer, header { max-width: 100%; }
img { max-width: 100%; height: auto; }
.footer-link19, .footer-link20, .contact-text { display: contents; cursor: default; }
.footer-address, .footer-copyright, .footer-link, .legal-prose { overflow-wrap: anywhere; word-break: normal; }
.navigation-toggle { color: var(--color-on-surface); }
.hero-section .navigation-toggle, .menu-hero .navigation-toggle, .private-hero .navigation-toggle { color: inherit; }

@media (max-width: 768px) {
  :root {
    --spacing-4xl: 3rem;
    --spacing-3xl: 2.5rem;
    --spacing-2xl: 2rem;
  }
  body h1 { font-size: clamp(2rem, 9vw, 3rem); line-height: 1.12; }
  body h2 { font-size: clamp(1.65rem, 7vw, 2.35rem); line-height: 1.18; }
  body h3 { font-size: clamp(1.25rem, 5.5vw, 1.75rem); line-height: 1.25; }
  .section-container,
  .navigation-container,
  .footer-container,
  .hero-content,
  .menu-content,
  .content-wrapper,
  .legal-container {
    width: min(100%, var(--content-max-width));
    max-width: 100%;
    padding-right: max(1rem, env(safe-area-inset-right));
    padding-left: max(1rem, env(safe-area-inset-left));
  }
  .btn, button, input, select, textarea { max-width: 100%; }
  .footer-newsletter-form, .footer-input-group, .inquiry-form { width: 100%; max-width: 100%; }
  .footer-input { min-width: 0; width: 100%; }
  .navigation-overlay-content { width: 100%; }
  .navigation-mobile-link { overflow-wrap: anywhere; }
  .testimonials-rail, .recommendations-rail { max-width: 100vw; overscroll-behavior-inline: contain; }
  .recommendation-card, .testimonial-card { flex-basis: min(280px, calc(100vw - 2rem)); }
  .dish-item, .menu-content-grid, .planning-grid, .inquiry-grid, .atmosphere__grid,
  .story-philosophy-grid, .excellence-grid, .brand-intro-grid, .why-choose-grid,
  .contact-invite-grid, .philosophy-flex, .panel-layout { min-width: 0; }
  table { display: block; width: 100%; max-width: 100%; overflow-x: auto; }
}

@media (max-width: 480px) {
  .navigation-root { padding: 0.75rem 1rem; }
  .navigation-brand-text { font-size: 0.9rem; letter-spacing: 0.08em; }
  .footer-root { padding-right: 1rem; padding-left: 1rem; }
  .footer-newsletter-row, .footer-bottom-bar { gap: 1rem; }
  .footer-legal-links { flex-wrap: wrap; justify-content: center; }
  .private-hero, .experience-overview { min-height: 34rem; height: auto; }
  .home-hero-title, .dining-experience-hero-title { font-size: clamp(2rem, 10vw, 2.6rem); }
  .gallery-grid, .private-events-gallery-grid { grid-auto-rows: minmax(220px, auto); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@media (max-width: 768px) {
  .home-container1 h1,
  .our-menu-container1 h1,
  .dining-experience-container1 h1,
  .our-chefs-container1 h1,
  .private-events-container1 h1,
  .about-us-container1 h1,
  .legal-page-container h1 {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
  }
}
