/* Local v9: approved editorial photographs, natural proportions and quiet scroll entrances. */
.home-page .visit-welcome-grid{grid-template-columns:1fr 1.25fr 1fr;gap:36px}
.home-page .visit-welcome-grid>figure img{aspect-ratio:3/4;object-fit:contain;height:auto;width:100%}
.home-page .visit-welcome-grid>figure:last-child{margin-top:64px}
.home-page .visit-welcome-grid figcaption{padding-top:12px;font-size:14px;color:var(--muted)}
.home-page .visit-variety{background:var(--paper)}
.home-page .visit-section-heading{display:block;max-width:690px;margin-bottom:38px}
.home-page .visit-section-heading>p{margin-top:20px;max-width:590px}
.editorial-food-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 28px}
.editorial-food-grid figure{margin:0}
.editorial-food-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:2px}
.editorial-food-grid figcaption{font-family:Georgia,serif;font-size:25px;line-height:1.3;padding-top:15px;color:var(--ink)}
.home-page .visit-kitchen-grid{grid-template-columns:1fr .8fr 1.2fr}
.home-page .visit-kitchen-detail{align-self:center;margin:0}
.home-page .visit-kitchen-detail img{aspect-ratio:4/3;object-fit:contain;height:auto}
.home-page .visit-place-grid{grid-template-columns:1.2fr 1fr;gap:64px}
.home-page .visit-place-grid>figure{max-width:none}
.home-page .visit-place-grid>figure img,.home-page .visit-map-photo img{aspect-ratio:1672/941;object-fit:contain;height:auto}
.restaurant-news h2{font-size:clamp(36px,4vw,52px);letter-spacing:-.03em;line-height:1.1;margin:0 0 36px}
.restaurant-news-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}
.restaurant-news-grid figure{margin:0}.restaurant-news-grid img{width:100%;height:auto;display:block;border-radius:2px}
.restaurant-news-copy{max-width:440px}.restaurant-news-copy h3{font-size:clamp(30px,3.2vw,42px);line-height:1.15;letter-spacing:-.02em;margin:12px 0 20px}
.restaurant-news-copy p{color:var(--muted);font-size:16px;line-height:1.7}.restaurant-news-copy .news-status{color:var(--red);font-size:13px;margin:0}
.restaurant-news-copy .text-link{margin-top:25px}.restaurant-news-copy .news-detail{font-size:14px}
/* Baseline is visible even without JS. Motion uses Web Animations only while entering. */
@media(max-width:1100px){.home-page .visit-welcome-grid{gap:24px}.home-page .visit-place-grid,.restaurant-news-grid{gap:36px}}
@media(max-width:760px){
 .home-page .visit-welcome-grid{grid-template-columns:1fr 1fr;gap:16px}
 .home-page .visit-welcome-grid>figure:last-child{margin-top:28px}
 .home-page .visit-welcome-grid figcaption{font-size:13px}
 .editorial-food-grid{grid-template-columns:1fr;gap:30px}
 .editorial-food-grid figcaption{font-size:23px;padding-top:12px}
 .home-page .visit-kitchen-grid{grid-template-columns:1fr 1fr}
 .home-page .visit-place-grid,.restaurant-news-grid{grid-template-columns:1fr;gap:28px}
 .restaurant-news h2{margin-bottom:28px}.restaurant-news-copy{max-width:none}.restaurant-news-copy p{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.home-page [data-editorial-reveal]{transform:none!important;opacity:1!important;filter:none!important}}

.restaurant-news-grid+.restaurant-news-grid{margin-top:48px;padding-top:48px;border-top:1px solid var(--line)}
html[data-theme="dark"] .restaurant-news-copy .news-status{color:#edaaa6}
/* v10: a paced photographic journey; the document keeps native scrolling. */
.home-page .visit-variety{overflow:clip;padding-top:90px}
.food-journey{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}
.home-page .food-journey .visit-section-heading{position:sticky;top:150px;margin:45px 0 0}
.home-page .food-journey .visit-section-heading h2{font-size:clamp(40px,4vw,60px);line-height:1.08}
.food-journey .visit-section-heading .text-link{margin-top:30px}
.food-journey .editorial-food-grid{display:flex;flex-direction:column;gap:100px;min-width:0}
.food-journey .editorial-food-grid figure{width:91%;align-self:flex-start}
.food-journey .editorial-food-grid figure:nth-child(even){align-self:flex-end}
.food-journey .editorial-food-grid figcaption{font-size:29px;padding-top:19px}
.food-journey .visit-categories{grid-column:1/-1;margin-top:10px;padding-top:25px;border-top:1px solid var(--line)}
.home-page .visit-place{padding-top:50px}
.home-page .visit-place-grid{grid-template-columns:1.4fr .6fr;gap:40px 65px;align-items:start}
.home-page .room-panorama{grid-column:1/-1;overflow:hidden}
.home-page .room-panorama img{display:block;width:100%;aspect-ratio:1672/941;object-fit:contain}
.home-page .room-story-copy{max-width:730px;margin-top:0}
.home-page .visit-place h2{font-size:clamp(38px,4.3vw,62px)}
.home-page .visit-place-grid .room-story-copy p:not(.eyebrow){max-width:600px}
.home-page .visit-breakfast{margin:6px 0 0;padding:26px 0 0}
.home-page .visit-final-grid{grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center}
.visit-location-hybrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.home-page .visit-location-hybrid .visit-map-photo{display:flex;flex-direction:column;min-width:0}
.home-page .visit-location-hybrid .visit-map-photo img{height:330px;aspect-ratio:auto;object-fit:cover;object-position:65% center}
.home-page .visit-location-hybrid .visit-map-photo>span{font-size:11px;padding:13px 10px;min-height:50px;gap:6px}
.restaurant-map{width:100%;height:380px;border:0;background:var(--sage);border-radius:2px}
@media(max-width:1100px){.food-journey{gap:32px;grid-template-columns:.8fr 1.2fr}.home-page .visit-final-grid{grid-template-columns:1fr;gap:36px}.visit-location-hybrid{max-width:none}}
@media(max-width:760px){
 .food-journey{display:block}.home-page .food-journey .visit-section-heading{position:static;margin:0 0 40px}
 .home-page .food-journey .visit-section-heading h2{font-size:40px}
 .food-journey .editorial-food-grid{gap:45px}.food-journey .editorial-food-grid figure{width:95%}
 .food-journey .editorial-food-grid figcaption{font-size:25px;padding-top:14px}
 .food-journey .visit-categories{margin-top:36px}.home-page .visit-variety{padding-top:65px}
 .home-page .visit-place-grid{grid-template-columns:1fr;gap:28px}.home-page .room-panorama{grid-column:auto}
 .home-page .visit-breakfast{margin-top:0}.home-page .visit-place{padding-top:20px}
 .visit-location-hybrid{grid-template-columns:1fr}.home-page .visit-location-hybrid .visit-map-photo img{height:auto;aspect-ratio:16/9;object-fit:contain}.restaurant-map{height:290px}
}
/* Show the complete frontage above the map instead of cropping it into a narrow column. */
.visit-location-hybrid{grid-template-columns:1fr;gap:0}
.home-page .visit-location-hybrid .visit-map-photo img{height:auto;aspect-ratio:1672/941;object-fit:contain}
.restaurant-map{height:280px;border-radius:0 0 2px 2px}
/* v11: bound the sticky narrative to the photo column, with categories outside it. */
.food-copy-track{align-self:stretch;min-width:0;position:relative}
.home-page .food-copy-track .visit-section-heading{margin:0;top:clamp(105px,16vh,155px);padding-bottom:35px}
.journey-copy-stack{min-height:305px}
.journey-copy[hidden]{display:none}
.home-page .journey-copy h2{margin-top:0}
.home-page .journey-copy p{margin-top:22px;max-width:455px}
.home-page #favorites>.visit-categories{margin:65px auto 0;padding-top:26px;border-top:1px solid var(--line)}
@keyframes editorial-arrival{from{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  [data-editorial-reveal]{animation:editorial-arrival linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
  [data-editorial-reveal]:focus-within{animation:none}
 }
}
@media(max-width:1100px){.journey-copy-stack{min-height:345px}}
@media(max-width:760px){
 .home-page .food-copy-track .visit-section-heading{position:static;padding-bottom:0;margin-bottom:40px}
 .journey-copy-stack{min-height:0}.home-page #favorites>.visit-categories{margin-top:42px}
}
@media(prefers-reduced-motion:reduce){[data-editorial-reveal]{animation:none!important;opacity:1!important;transform:none!important}}
/* v12: deliberate alternating arrivals, paced by scroll distance. */
.editorial-food-grid figure{--dish-arrival-x:42px}
.editorial-food-grid figure:nth-child(even){--dish-arrival-x:-42px}
@keyframes dish-arrival{from{opacity:.45;transform:translate(var(--dish-arrival-x),18px)}to{opacity:1;transform:translate(0,0)}}
@supports(animation-timeline:view()){
 @media(prefers-reduced-motion:no-preference){
  .editorial-food-grid [data-editorial-reveal]{animation-name:dish-arrival;animation-range:entry 0% entry 100%}
 }
}
.home-page #favorites>.visit-categories{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;padding-top:30px}
.home-page .visit-categories a{display:flex;flex-direction:column;justify-content:flex-start;text-align:center;gap:14px;margin:0;padding:20px 8px 22px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45}
.category-symbol{height:58px;display:flex;align-items:center;justify-content:center;color:var(--green)}
.category-symbol .icon{width:48px;height:48px;stroke-width:1.25}
.category-symbol .icon+.icon{width:30px;height:30px;margin-left:-8px;align-self:flex-end}
.home-page .visit-categories a:hover,.home-page .visit-categories a:focus-visible{background:var(--sage);color:var(--ink)}
.home-page .visit-categories a:focus-visible{outline:2px solid var(--green);outline-offset:4px}
@media(max-width:1100px){.home-page #favorites>.visit-categories{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){
 .editorial-food-grid figure{--dish-arrival-x:18px}.editorial-food-grid figure:nth-child(even){--dish-arrival-x:-18px}
 .home-page #favorites>.visit-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .home-page .visit-categories a{font-size:12px;padding:15px 5px;gap:8px}
 .category-symbol{height:48px}.category-symbol .icon{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){.editorial-food-grid [data-editorial-reveal]{animation:none!important;transform:none!important;opacity:1!important}}
