.three-pages { --display:"Yu Mincho","Hiragino Mincho ProN","MS PMincho",serif; }
.three-pages [aria-current=page] { text-decoration:underline; text-underline-offset:7px; }
.three-pages .page-link { display:inline-flex; align-items:center; gap:22px; min-height:44px; border-bottom:1px solid currentColor; }
.three-pages .page-link:hover { color:var(--red); }
.meal-preview { background:linear-gradient(180deg,#746253, #e5dacf 11%,var(--paper) 27%); padding:clamp(36px,7vw,98px) 0; }
.meal-preview-grid { display:grid; grid-template-columns:.64fr 1fr; align-items:center; gap:clamp(25px,7vw,110px); }
.meal-preview h2,.hours-summary h2 { font-family:var(--display); font-size:clamp(29px,4.2vw,57px); line-height:1.25; letter-spacing:-.035em; }
.meal-preview p { margin:16px 0; }
.meal-preview img { aspect-ratio:1.77; object-fit:cover; object-position:center 62%; clip-path:inset(var(--edge,0px) 0 0); }
.hours-summary { display:flex; align-items:center; justify-content:space-between; gap:18px 32px; padding-block:clamp(32px,6vw,75px); }
.three-pages:not(.home-page) .header { color:#302720; background:var(--paper); border-bottom:1px solid var(--line); }
.three-pages:not(.home-page) .header .brand img { filter:none; }
.menu-page .counter-menu::before { display:none; }
.menu-page #menu-title,.guide-page #calendar-title { font-family:var(--display); font-size:clamp(36px,5vw,69px); font-weight:500; line-height:1.3; }
.menu-page .counter-menu .counter-section-head { transform:none; padding-top:0; }
.menu-page .table-salmon,.menu-page .table-chicken { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,.36fr); gap:0; max-width:none; align-items:center; margin:24px 0 0; border-bottom:1px solid var(--line); }
.menu-page .table-salmon figure,.menu-page .table-chicken figure { grid-area:1/1; margin:0; }
.menu-page .table-salmon img,.menu-page .table-chicken img { aspect-ratio:1.7; object-position:center 55%; }
.menu-page .table-salmon>div,.menu-page .table-chicken>div { grid-area:1/2; padding:22px clamp(20px,3vw,42px); border:0; }
.menu-page .counter-sides { margin-top:clamp(35px,6vw,90px); }
.page-end { padding-bottom:38px; }
.guide-page .today-strip { margin-top:0; border-bottom:1px solid var(--line); }
.guide-page .calendar-section { padding-top:clamp(35px,6vw,85px); }
.guide-page .hours-summary { border-top:1px solid var(--line); }
@media(max-width:800px) {
  .meal-preview-grid { display:flex; flex-direction:column-reverse; align-items:stretch; gap:14px; }
  .meal-preview-grid figure { margin-inline:calc(-1 * var(--gutter)); }
  .meal-preview img { aspect-ratio:1.55; }
  .meal-preview p { margin:7px 0; }
  .hours-summary { display:block; }
  .hours-summary p { margin:10px 0; }
  .menu-page .table-salmon,.menu-page .table-chicken { display:block; margin:24px 0 0; }
  .menu-page .table-salmon img,.menu-page .table-chicken img { aspect-ratio:1.48; }
  .menu-page .table-salmon>div,.menu-page .table-chicken>div { display:grid; grid-template-columns:1fr auto; gap:4px 10px; padding:12px 0 18px; }
  .menu-page .counter-dish h3 { font-size:18px; }
  .menu-page .counter-dish>div>p:first-of-type { font-size:15px; }
  .menu-page .counter-dish .price { font-size:21px; }
  .menu-page .counter-dish .price small { margin-left:4px; }
}
.three-pages.guide-page .today-strip { color:var(--ink); border-color:var(--line); }
.guide-page #calendar-title { font-size:clamp(32px,3.3vw,54px); white-space:nowrap; }
.menu-page .table-chicken img { aspect-ratio:1.95; object-position:center 80%; }
@media(max-width:800px) {
  .menu-page .table-chicken img { aspect-ratio:1.64; object-position:center 78%; }
}

/* Keep hours and menu prices aligned with their Japanese labels. */
.three-pages .price, .three-pages .counter-price strong, .three-pages .regular-hours dd,
.three-pages .detail-hours { font-variant-numeric: lining-nums tabular-nums; }
.three-pages .counter-section-head > p { text-wrap: pretty; }

.three-pages .copy-phrase { display: inline-block; }
.three-pages .meal-preview h2, .three-pages .counter-dish h3 { text-wrap: balance; }
.three-pages .counter-title p, .three-pages .meal-preview p, .three-pages .hours-summary p,
.three-pages .counter-menu p, .three-pages .calendar-intro p { word-break: auto-phrase; }
