/* Keep navigation and essential actions within reach on small screens. */
.menu-toggle { display: none; }
.menu-cross { display: none; }
.site-header [hidden] { display: none !important; }
a:focus-visible, .menu-toggle:focus-visible {
  outline: 3px solid #597434;
  outline-offset: 4px;
}

@media (max-width: 760px) {
  html { scroll-padding-top: 92px; }
  .site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    height: auto;
    min-height: 72px;
    padding: 12px max(18px, env(safe-area-inset-right)) 12px max(18px, env(safe-area-inset-left));
    gap: 12px;
    flex-wrap: wrap;
    background: var(--paper);
    border-bottom: 1px solid #dce1d2;
  }
  .site-header .brand { font-size: 29px; }
  .menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 10px 14px;
    border: 1px solid var(--green);
    border-radius: 4px;
    background: var(--green);
    color: var(--paper);
    font: 600 1rem 'DM Sans', sans-serif;
    cursor: pointer;
  }
  .menu-toggle[aria-expanded="true"] .menu-lines { display: none; }
  .menu-toggle[aria-expanded="true"] .menu-cross { display: block; }
  .site-header #site-nav {
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 8px;
    background: var(--paper);
    position: absolute;
    top: calc(100% + 8px);
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    width: auto;
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    border: 1px solid #c7d0bd;
    border-radius: 6px;
    box-shadow: 0 12px 30px #172e2733;
  }
  .site-header:has(.menu-toggle[aria-expanded="true"]) #site-nav {
    display: flex;
  }
  .site-header #site-nav > a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 12px 16px;
    margin: 0;
    font-size: 1rem;
    border-radius: 3px;
  }
  .site-header #site-nav > a:hover { background: #eaf0df; }
  .site-header #site-nav .nav-call { justify-content: space-between; margin-top: 4px; }
}

@media (max-width: 720px) {
  .hero-copy { padding-top: 34px; }
  h1 { font-size: clamp(48px, 12.5vw, 83px); letter-spacing: -1.5px; }
  .hero-copy > .primary { width: 100%; max-width: 360px; }
  .phone-link { min-height: 44px; font-size: 1rem; margin-top: 12px; }
  .hero-bottom { gap: 8px; flex-wrap: wrap; }
  .hero-image { min-height: 0; aspect-ratio: 1 / 1.05; margin: 0 14px 14px; }
  .hero-image figcaption { left: 18px; right: 18px; text-align: right; line-height: 1.4; }
  .image-note { bottom: 62px; }
  .section { padding-top: 52px; padding-bottom: 52px; }
  .section > *, .detail > div { min-width: 0; }
  .text-link, .menu-download, .email, .legal-links a { min-height: 44px; align-content: center; }
  .text-link { align-items: center; }
  .menu-card { padding: 24px 20px; }
  .menu-card h3 { margin-top: 24px; }
  .menu-actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .menu-open { width: 100%; min-height: 50px; padding: 14px 16px; gap: 12px; font-size: 1rem; }
  .menu-download { display: inline-flex; align-items: center; font-size: 1rem; }
  .visit-intro > .button { width: 100%; max-width: 360px; gap: 12px; }
  .detail { gap: 14px; }
  .email { display: inline-block; }
  footer { padding-bottom: max(34px, env(safe-area-inset-bottom)); }
  .legal-links { gap: 8px; }
}

@media (max-width: 600px) {
  .pdf-header {
    padding-top: max(14px, env(safe-area-inset-top));
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    flex-wrap: wrap;
  }
  .pdf-header h2 { font-size: 22px; }
  .pdf-header-actions { margin-left: auto; }
  .pdf-header-actions > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .pdf-toolbar { flex-wrap: wrap; justify-content: center; gap: 8px 16px; }
  .pdf-scroll { padding-bottom: max(18px, env(safe-area-inset-bottom)); }
}

/* Center the menu viewer dialog (global margin reset kills dialog's auto centering). */
.pdf-viewer[open] {
  margin: auto;
  inset: 0;
}
@media (max-width: 600px) {
  .pdf-viewer[open] { margin: 0; }
}

.sushi-card{grid-column:1/-1}
.menu-download { display: none !important; }
#pdf-download { display: none !important; }
#pdf-canvas-host canvas { -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; pointer-events: none; }
