.daily-message {
  display: inline-block;
  max-width: 640px;
  margin: 12px 0 23px;
  padding: 12px 17px;
  border-left: 3px solid #e8bc75;
  border-radius: 0 10px 10px 0;
  background: rgba(36, 8, 9, .62);
  color: #fff9ed;
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.65;
}

.chips a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  transition: background .2s, border-color .2s, color .2s;
}

.chips a:hover,
.chips a:focus-visible {
  border-color: var(--wine);
  background: var(--wine);
  color: #fff;
}

html[lang="ne"] .hero h1,
html[lang="ne"] .section h2,
html[lang="hi"] .hero h1,
html[lang="hi"] .section h2 {
  font-family: "Noto Sans Devanagari", "Noto Sans JP", sans-serif;
  line-height: 1.35;
  letter-spacing: 0;
}

@media (max-width: 560px) {
  html[lang="ne"] .hero h1,
  html[lang="hi"] .hero h1 {
    font-size: 39px;
  }

  html[lang="ne"] .section h2,
  html[lang="hi"] .section h2 {
    font-size: 34px;
  }
}

@media (max-width: 560px) {
  .site-header { gap: 8px; }
  .lang-switch { min-width: 0; max-width: calc(100vw - 133px); overflow-x: auto; flex-shrink: 1; }
  .lang-switch button { flex: none; font-size: 12px; }
}

/* Make the right branch menu easy to reach on a phone. */
#full-menu, #obusuma-menu, #komejima-menu, #order, #shops, #branch-now { scroll-margin-top: 125px; }
.menu-branch-jump { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 24px; }
.menu-branch-jump a { display:block; padding:16px 18px; border-radius:14px; background:#681216; color:#fff; font-weight:800; font-size:15px; text-align:center; }
.menu-branch-jump a:nth-child(2) { background:#33231d; }
.menu-branch-jump a:focus-visible { outline:3px solid #d3a65d; outline-offset:3px; }
@media(max-width:620px) {
  .hero { min-height: 510px; }
  .hero-copy { width:100%; padding:36px 6vw 42px; }
  .hero h1 { font-size:clamp(34px, 9vw, 46px); line-height:1.2; }
  .hero-actions { margin:18px 0; gap:9px; }
  .hero-actions .btn { min-height:46px; padding:10px 18px; }
  .quick a { padding:11px 5vw; min-height:64px; }
  .quick b { font-size:11px; }
  .quick span { font-size:11px; opacity:.9; }
  .branch-now { padding-top:34px; }
  .menu-branch-jump { grid-template-columns:1fr; }
  .menu-branch-jump a { padding:13px 16px; }
}

/* Keep the branch menus easy to scan without scrolling through forty pages. */
.current-menu-pages:not(.expanded) a:nth-child(n+5) { display:none; }
.menu-expand { display:block; width:100%; min-height:48px; margin:16px 0 4px; border:1px solid #681216; border-radius:12px; background:#fff; color:#681216; font:inherit; font-size:15px; font-weight:800; cursor:pointer; }
.menu-expand:hover,.menu-expand:focus-visible { background:#681216; color:#fff; }
.menu-book-head { gap:15px; flex-wrap:wrap; }
.menu-book-actions { flex-wrap:wrap; }
.menu-book-actions a { min-height:42px; display:inline-flex; align-items:center; }
/* Food fills the small cards; keep the source menu page itself uncropped so prices stay readable. */
.obusuma-dishes img:nth-child(2) { object-position:center 39%; }
.menu-card .dish-photo { object-position:center 38%; }
