/* VIPと同じブランドのまま、各ページの目的に合わせて写真と本文のリズムを作ります。 */
.home-invitation { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:12%; padding-top:110px; padding-bottom:105px; }
.home-invitation h2 { font-size:clamp(32px,3.4vw,52px); }
.home-invitation .lead { font-size:14px; }
.home-hours { border-top:1px solid var(--line); padding-top:30px; }
.home-hours>p:first-child { font:16px/2 var(--serif); color:var(--muted); }
.home-hours>.display { font:clamp(32px,3.5vw,58px)/1.7 "Bodoni Moda",var(--sans); letter-spacing:-.035em; white-space:nowrap; padding-block:18px 12px; }
.home-hours>p:last-child { font-size:12px; color:var(--muted); }
.home-hours>p:last-child>span { display:block; margin-top:12px; }
.home-menu-copy>.small-copy { margin-top:24px; }
.home-first-visit { display:grid; grid-template-columns:1fr 1.45fr; gap:12%; border-top:1px solid var(--line); padding-top:90px; padding-bottom:90px; }
.home-first-visit h2 { font-size:clamp(30px,3vw,44px); }
.home-first-visit .lead { font-size:14px; }
.editorial-questions details { border-bottom:1px solid var(--line); }
.editorial-questions summary { padding:24px 38px 24px 0; font-size:14px; }
.editorial-questions summary::after { top:21px; }
.editorial-questions details[open]>summary { color:var(--gold); }
.editorial-questions details>p { padding:0 30px 26px 0; color:var(--muted); font-size:13px; line-height:2.1; }
.editorial-questions a { color:var(--paper); }
.visit-strip .small-copy { margin-top:26px; }

/* メニューとアクセスの導入。小さな画面では欧文を一行にして写真を早く見せます。 */
.feature-opening { max-width:1740px; margin:auto; padding:125px var(--gutter) 65px; display:grid; grid-template-columns:1fr 1.08fr; gap:8%; align-items:center; }
.feature-opening-copy { min-width:0; }
.feature-opening .breadcrumb { margin-bottom:30px; }
.feature-opening .display { font-size:clamp(78px,8.5vw,144px); line-height:1.1; padding-bottom:.09em; margin-bottom:25px; }
.feature-opening .display em { color:var(--gold); }
.feature-opening h1 { font:400 clamp(22px,2.3vw,33px)/1.8 var(--serif); letter-spacing:.05em; margin-bottom:18px; }
.feature-opening .lead { font-size:14px; }
.feature-opening .text-link { margin-top:22px; }
.feature-opening-photo { min-width:0; }
.feature-opening-photo img { height:clamp(470px,68svh,720px); width:100%; object-fit:cover; }
.feature-opening-photo figcaption { font-size:10px; }
.menu-arrival .feature-opening-photo { padding-top:30px; }
.menu-arrival .feature-opening-photo img { object-position:50% 57%; }
.access-arrival { grid-template-columns:.9fr 1.15fr; }
.access-arrival .feature-opening-photo { margin-right:calc(-1 * var(--gutter)); }
.access-arrival .feature-opening-photo img { object-position:45% 55%; }
.access-arrival .feature-opening-photo figcaption { padding-right:var(--gutter); }

/* 店内は、窓辺・素材・細部の写真・個室の順に案内します。 */
.space-scene .page-scene-copy { left:var(--gutter); bottom:70px; pointer-events:auto; }
.space-scene .page-scene-copy>.section-label { margin-bottom:20px; }
.space-scene .page-scene-copy>.display { font-size:clamp(92px,12vw,180px); margin-bottom:22px; }
.space-scene .page-scene-copy h1 { font-size:clamp(21px,2.3vw,32px); }
.space-scene .page-scene-copy .lead { font-size:14px; color:var(--paper); margin-top:22px; text-shadow:0 1px 20px #050705; }
.space-scene .page-scene-copy .text-link { margin-top:20px; }
.space-story { padding-top:110px; padding-bottom:95px; }
.space-story .lead { font-size:14px; }
.room-portrait { display:grid; grid-template-columns:1.5fr .9fr; gap:8%; align-items:center; max-width:1740px; margin:auto; padding:20px var(--gutter) 100px 0; }
.room-portrait-photo { min-width:0; }
.room-portrait-photo img { width:100%; height:clamp(440px,42vw,650px); object-fit:cover; object-position:58% 50%; }
.room-portrait-photo figcaption { padding-left:var(--gutter); }
.room-portrait-copy h2 { font-size:clamp(28px,3vw,46px); }
.room-portrait-copy .lead { font-size:14px; margin-bottom:26px; }
.space-textures { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:40px 4%; align-items:start; padding-top:90px; padding-bottom:100px; }
.space-texture-copy { grid-column:1/5; padding-top:28px; }
.space-texture-copy h2 { font-size:clamp(35px,3.8vw,58px); }
.space-texture-copy .lead { font-size:14px; }
.space-texture-wide { grid-column:5/13; }
.space-texture-wide img { width:100%; height:520px; object-fit:cover; object-position:54% 50%; }
.space-texture-detail { grid-column:1/5; margin-top:-130px; }
.space-texture-detail img { width:100%; aspect-ratio:.85; object-fit:cover; }
.space-texture-note { grid-column:6/12; padding-top:35px; max-width:32em; }
.page-space .gallery-section { padding-top:35px; padding-bottom:90px; }
.page-space .gallery-heading { display:block; margin-bottom:48px; }
.page-space .gallery-heading h2 { font-size:clamp(28px,3vw,44px); margin-bottom:20px; }
.space-edited-gallery { gap:65px 6%; }
.space-edited-gallery>.photograph:nth-child(1) { grid-column:1/8; margin:0; }
.space-edited-gallery>.photograph:nth-child(2) { grid-column:9/13; margin-top:110px; }
.space-edited-gallery>.photograph:nth-child(3) { grid-column:1/7; margin:0; }
.space-edited-gallery>.photograph:nth-child(4) { grid-column:8/13; margin-top:75px; }
.space-edited-gallery>.photograph figcaption::before { content:""; width:28px; height:1px; background:var(--gold); }
.space-private { display:grid; grid-template-columns:1fr 1fr; gap:12%; align-items:center; padding-top:80px; padding-bottom:110px; }
.space-private-photo { grid-column:2; grid-row:1; min-width:0; }
.space-private>div:last-child { grid-column:1; grid-row:1; }
.space-private-photo img { aspect-ratio:1; width:100%; object-fit:cover; }
.space-private .display { font-size:clamp(72px,8vw,125px); line-height:1.15; padding-bottom:.06em; margin-bottom:30px; white-space:nowrap; }
.space-private .display em { color:var(--gold); }
.space-private h2 { font-size:clamp(25px,2.5vw,36px); }
.space-private .lead { font-size:13px; }
.space-private .text-link { margin-top:25px; }
.space-next h2 { font-size:clamp(28px,3.1vw,46px); }
.space-next .lead { font-size:14px; }

/* 香り選びから品書きへ。料金の根拠と商品検索を同じ温度感で見せます。 */
.flavor-guidance { display:grid; grid-template-columns:.65fr 1.15fr; gap:13%; align-items:center; padding-top:85px; padding-bottom:95px; }
.flavor-guidance-photo { width:90%; min-width:0; }
.flavor-guidance-photo img { width:100%; height:490px; object-fit:cover; object-position:50% 55%; }
.flavor-guidance-photo figcaption { font-size:10px; }
.flavor-guidance-copy .lead { font-size:14px; }
.flavor-guidance-notes { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:35px; padding-top:25px; border-top:1px solid var(--line); }
.flavor-guidance-notes dt { font:16px/1.8 var(--serif); margin-bottom:13px; }
.flavor-guidance-notes dd { color:var(--muted); font-size:12px; line-height:2.1; }
.flavor-guidance-notes a { display:inline-block; margin-top:6px; color:var(--paper); }
.page-menu .menu-pricing { padding-top:80px; padding-bottom:95px; }
.page-menu .pricing-heading { display:block; margin-bottom:32px; }
.page-menu .pricing-heading h2 { font-size:clamp(28px,3vw,44px); margin-bottom:24px; }
.page-menu .pricing-heading .lead { font-size:14px; }
.page-menu .shisha-price { border-top:0; padding-block:35px; }
.page-menu .shisha-price .display { font-size:clamp(66px,6vw,92px); }
.pricing-scroll:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
.page-menu .price-table { font-size:14px; }
.page-menu .price-table th { font-size:12px; }
.menu-food-story { grid-template-columns:.85fr 1.6fr; gap:7%; padding-block:100px 110px; background:#10120f; }
.menu-food-story .food-story-heading { padding-top:38px; }
.menu-food-story .food-story-heading h2 { font-size:clamp(27px,3vw,44px); }
.menu-food-story .food-story-heading .lead { font-size:14px; }
.menu-food-story .food-photos { grid-template-columns:1.25fr 1fr 1fr; gap:20px; }
.menu-food-story .food-photos .food-large { margin-top:0; }
.menu-food-story .food-photos .food-large img { aspect-ratio:.72; }
.menu-food-story .food-photos .food-small:nth-child(2) { margin-top:110px; }
.menu-food-story .food-photos .food-small:nth-child(3) { margin-top:45px; }
.page-menu .full-menu { padding-top:100px; padding-bottom:90px; }
.page-menu .full-menu .catalogue-heading { margin-bottom:32px; }
.page-menu .full-menu .catalogue-heading .lead { font-size:14px; }
.menu-tools { display:flex; justify-content:space-between; gap:30px; align-items:end; padding:32px 0 25px; }
.menu-search-field { position:relative; width:min(100%,410px); }
.menu-search-field label { display:block; font-size:12px; margin-bottom:12px; color:var(--muted); }
.menu-search-field input { display:block; width:100%; min-height:50px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; color:var(--paper); font:16px/1.8 var(--sans); padding:10px 8px 10px 0; -webkit-appearance:none; appearance:none; }
.menu-search-field input::placeholder { color:var(--muted); opacity:1; }
.menu-search-field input:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
.menu-search-field button { position:absolute; right:0; top:-10px; background:transparent; border:0; color:var(--paper); font-size:12px; text-decoration:underline; text-underline-offset:5px; padding:10px 0; min-height:44px; }
.menu-search-field button:hover { color:var(--gold); }
.menu-results { flex-shrink:0; padding-bottom:14px; font-variant-numeric:tabular-nums; }
.menu-index { display:flex; flex-wrap:wrap; gap:4px 25px; border-bottom:1px solid var(--line); padding-bottom:25px; margin-bottom:28px; }
.menu-index a { display:inline-flex; align-items:center; gap:12px; padding:10px 0; min-height:44px; max-width:100%; color:var(--muted); font-size:13px; text-decoration:none; overflow-wrap:anywhere; }
.menu-index a:hover,.menu-index a:focus-visible { color:var(--gold); }
.menu-index a span { flex-shrink:0; color:var(--gold); font:11px var(--sans); }
.menu-category { scroll-margin-top:125px; }
.menu-category>summary { padding-right:40px; overflow-wrap:anywhere; }
.menu-category>summary>small { flex-shrink:0; margin-left:auto; margin-right:15px; font:11px/1.8 var(--sans); letter-spacing:0; color:var(--muted); }
.menu-category[data-filtered="true"]>summary { color:var(--gold); }
.menu-no-results { color:var(--muted); padding:40px 0; font-size:14px; line-height:2.1; }
.menu-visit-note { display:grid; grid-template-columns:1fr 1fr; gap:10%; padding-top:80px; padding-bottom:90px; border-top:1px solid var(--line); }
.menu-visit-note h2 { font-size:clamp(27px,2.8vw,42px); }
.menu-visit-note .lead { font-size:14px; }
.menu-visit-note .small-copy { margin-top:22px; }
.menu-visit-note .text-link { margin-top:20px; }

/* 地図、二つの目印、お席、予約の順に。未確認の徒歩分数や出口は補いません。 */
.page-access .access-details { padding-top:50px; padding-bottom:90px; }
.page-access .access-details h2 { font-size:clamp(28px,3vw,44px); }
.page-access .access-details>.info-table { border-top:1px solid var(--line); padding-top:20px; }
.access-details .lead { font-size:14px; }
.access-hours-display { font:clamp(31px,3.1vw,48px)/1.5 "Bodoni Moda",var(--sans); letter-spacing:-.03em; margin:25px 0; white-space:nowrap; }
.access-hours-display small { display:block; color:var(--muted); font:12px/2 var(--sans); letter-spacing:.03em; margin-top:15px; }
.page-access .access-map { padding-bottom:90px; }
.access-landmarks { padding-top:30px; padding-bottom:85px; }
.access-landmarks-heading { margin-bottom:45px; }
.access-landmarks-heading h2 { font-size:clamp(28px,3vw,44px); }
.access-landmarks-heading .lead { font-size:14px; }
.landmark-photos { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:start; max-width:1050px; }
.landmark-photos>div { min-width:0; }
.landmark-photos>div:last-child { padding-top:90px; }
.landmark-photos img { width:100%; aspect-ratio:1.08; object-fit:cover; }
.landmark-photos h3 { font:20px/1.8 var(--serif); margin:25px 0 13px; }
.landmark-photos p { font-size:13px; line-height:2; color:var(--muted); }
.landmark-photos figcaption { font-size:10px; }
.access-landmarks>.note { margin-top:36px; }
.access-reservation { padding-top:95px; padding-bottom:85px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:center; }
.contact-grid h2 { font-size:clamp(32px,3.5vw,52px); }
.contact-grid .lead { font-size:14px; margin-bottom:24px; }
.contact-actions { min-width:0; }
.contact-phone { display:block; text-decoration:none; padding-block:18px 28px; }
.contact-phone>small { display:block; color:var(--muted); font-size:12px; margin-bottom:14px; }
.contact-phone>span { display:flex; align-items:center; justify-content:space-between; gap:16px; font:clamp(30px,3.4vw,51px)/1.4 var(--display); letter-spacing:-.02em; white-space:nowrap; }
.contact-phone>span>span { color:var(--gold); font:26px var(--sans); }
.contact-phone:hover>span,.contact-phone:focus-visible>span { color:var(--gold); }
.contact-instagram { display:flex; justify-content:space-between; align-items:center; gap:20px; min-height:68px; padding:20px 26px; background:var(--gold); color:var(--ink); border:1px solid var(--gold); font-size:13px; text-decoration:none; }
.contact-instagram:hover,.contact-instagram:focus-visible { background:var(--paper); border-color:var(--paper); }
.contact-instagram>span:last-child { font-size:22px; }
.reservation-preparation { display:grid; grid-template-columns:1fr 1.5fr; gap:8%; border-top:1px solid var(--line); padding-top:32px; margin-top:55px; }
.reservation-preparation h3 { font:16px/2 var(--serif); }
.reservation-preparation p { display:flex; flex-wrap:wrap; gap:12px 28px; font-size:13px; color:var(--muted); }
.reservation-preparation p span { padding-left:15px; border-left:1px solid var(--gold); }
.access-questions { display:grid; grid-template-columns:1fr 1.5fr; gap:8%; margin-top:45px; padding-top:30px; border-top:1px solid var(--line); }
.access-questions>h3 { font-size:23px; padding-top:18px; }
.access-reservation>.visiting-note { margin-top:45px; }

@media (prefers-reduced-motion:no-preference) {
  .js .feature-opening .display { animation:title-arrival 1.4s var(--ease) both; }
  .js .feature-opening h1,.js .feature-opening .lead { animation:copy-arrival 1.2s .18s var(--ease) both; }
  .js .feature-opening-photo .photograph>a { animation:photograph-arrival 1.5s var(--ease) both; }
}

@media (max-width:1100px) {
  .home-invitation { gap:7%; }
  .home-invitation .lead { font-size:13px; }
  .home-hours>.display { font-size:32px; }
  .feature-opening { gap:6%; }
  .feature-opening .display { font-size:clamp(76px,8.6vw,110px); }
  .feature-opening .lead { font-size:13px; }
  .room-portrait { gap:6%; grid-template-columns:1.25fr 1fr; }
  .room-portrait-copy .lead { font-size:13px; }
  .space-texture-copy .lead { font-size:12px; }
  .space-texture-wide img { height:430px; }
  .space-texture-detail { margin-top:-40px; }
  .space-private { gap:8%; }
  .space-private .display { font-size:75px; }
  .space-private .lead br { display:none; }
  .flavor-guidance { gap:8%; grid-template-columns:.7fr 1.1fr; }
  .flavor-guidance-photo { width:100%; }
  .flavor-guidance-copy .lead { font-size:13px; }
  .flavor-guidance-notes { grid-template-columns:1fr; gap:22px; }
  .menu-food-story { grid-template-columns:1fr; gap:40px; }
  .menu-food-story .food-story-heading { padding-top:0; }
  .menu-food-story .food-photos { max-width:900px; }
  .contact-grid { gap:7%; }
  .contact-grid .lead { font-size:13px; }
}

@media (max-width:767px) {
  .home-invitation { grid-template-columns:1fr; gap:35px; padding-top:65px; padding-bottom:65px; }
  .home-invitation h2 { font-size:32px; }
  .home-invitation .lead { font-size:13px; }
  .home-hours { padding-top:24px; }
  .home-hours>p:first-child { font-size:15px; }
  .home-hours>.display { font-size:clamp(30px,8.5vw,42px); padding-block:12px; }
  .home-first-visit { grid-template-columns:1fr; gap:26px; padding-block:65px; }
  .home-first-visit .lead { font-size:13px; }
  .editorial-questions summary { font-size:13px; padding-block:22px; }
  .editorial-questions details>p { padding-right:12px; }
  .feature-opening { display:block; padding:105px var(--gutter) 40px; }
  html:not(.js) .feature-opening { padding-top:32px; }
  .feature-opening .breadcrumb { margin-bottom:25px; }
  .feature-opening .display { font-size:clamp(38px,11.5vw,74px); line-height:1.2; white-space:nowrap; margin-bottom:22px; padding-bottom:.06em; }
  .feature-opening .display br { display:none; }
  .feature-opening .display em { margin-left:.14em; }
  .feature-opening h1 { font-size:22px; line-height:1.8; margin-bottom:16px; letter-spacing:.04em; }
  .feature-opening .lead { font-size:13px; }
  .feature-opening .text-link { min-height:56px; margin-top:16px; }
  .feature-opening .opening-links { margin-top:22px; gap:26px; }
  .feature-opening-photo,.menu-arrival .feature-opening-photo { margin:34px calc(-1 * var(--gutter)) 0 28px; padding:0; }
  .feature-opening-photo img { height:auto; aspect-ratio:1; object-fit:cover; }
  .feature-opening-photo figcaption { padding-right:20px; }
  .access-arrival .feature-opening-photo { margin-right:calc(-1 * var(--gutter)); }
  .space-scene { min-height:650px; height:90svh; }
  .space-scene .page-scene-copy { left:var(--gutter); right:var(--gutter); bottom:75px; }
  .space-scene .page-scene-copy>.display { font-size:clamp(72px,22vw,105px); margin-bottom:18px; }
  .space-scene .page-scene-copy h1 { font-size:20px; max-width:100%; }
  .space-scene .page-scene-copy .lead { font-size:13px; margin-top:18px; }
  .space-scene .page-scene-copy .text-link { min-height:56px; margin-top:16px; }
  .space-scene .page-scene-media img { object-position:58% center; }
  .space-story { padding-top:65px; padding-bottom:60px; }
  .space-story h2 { font-size:30px; }
  .space-story .lead { font-size:13px; }
  .room-portrait { display:block; padding:15px var(--gutter) 55px; }
  .room-portrait-photo { margin-left:calc(-1 * var(--gutter)); margin-right:16px; }
  .room-portrait-photo img { height:390px; object-position:56% center; }
  .room-portrait-copy { margin:32px 0 0 28px; }
  .room-portrait-copy h2 { font-size:29px; }
  .room-portrait-copy .lead { font-size:13px; }
  .space-textures { grid-template-columns:1fr 1fr; gap:28px 22px; padding-top:35px; padding-bottom:60px; }
  .space-texture-copy { grid-column:1/-1; padding:0; }
  .space-texture-copy h2 { font-size:34px; }
  .space-texture-copy .lead { font-size:13px; }
  .space-texture-wide { grid-column:1/-1; margin-right:calc(-1 * var(--gutter)); }
  .space-texture-wide img { height:320px; object-position:55% 50%; }
  .space-texture-detail { grid-column:1; margin:0; }
  .space-texture-detail img { aspect-ratio:.7; }
  .space-texture-note { grid-column:2; padding-top:10px; font-size:11px; }
  .space-texture-note br { display:none; }
  .page-space .gallery-section { padding-top:25px; padding-bottom:55px; }
  .page-space .gallery-heading { margin-bottom:30px; }
  .page-space .gallery-heading h2 { font-size:26px; }
  .space-edited-gallery { display:grid; grid-template-columns:1fr 1fr; gap:35px 20px; }
  .space-edited-gallery>.photograph:nth-child(n) { grid-column:auto; width:100%; margin:0; }
  .space-edited-gallery>.photograph:nth-child(1) { grid-column:1/-1; }
  .space-edited-gallery>.photograph:nth-child(2) { grid-row:2/4; align-self:start; }
  .space-edited-gallery>.photograph:nth-child(3) { grid-column:2; margin-top:28px; }
  .space-edited-gallery>.photograph:nth-child(4) { grid-column:2; }
  .space-edited-gallery .photograph figcaption { font-size:10px; gap:8px; }
  .space-edited-gallery>.photograph figcaption::before { width:14px; flex-shrink:0; }
  .space-private { display:flex; flex-direction:column; align-items:stretch; gap:30px; padding-block:45px 65px; }
  .space-private-photo { width:84%; margin-left:auto; }
  .space-private .display { font-size:clamp(70px,21vw,105px); margin-bottom:22px; }
  .space-private h2 { font-size:clamp(24px,6.8vw,28px); }
  .space-private .lead { font-size:13px; }
  .space-next { display:block; padding-block:60px; }
  .space-next h2 { font-size:clamp(24px,6.8vw,28px); letter-spacing:.04em; }
  .space-next .lead { font-size:13px; }
  .space-next .round-link { margin:30px 0 0 auto; }
  .flavor-guidance { display:block; padding-top:50px; padding-bottom:55px; }
  .flavor-guidance-photo { width:72%; }
  .flavor-guidance-photo img { height:320px; }
  .flavor-guidance-copy { margin:32px 0 0 28px; }
  .flavor-guidance-copy h2 { font-size:30px; }
  .flavor-guidance-copy .lead { font-size:13px; }
  .flavor-guidance-copy .lead br { display:none; }
  .flavor-guidance-notes { grid-template-columns:1fr; margin-top:25px; gap:24px; }
  .page-menu .menu-pricing { padding-top:50px; padding-bottom:60px; }
  .page-menu .pricing-heading h2 { font-size:27px; }
  .page-menu .pricing-heading .lead { font-size:13px; }
  .page-menu .shisha-price .display { font-size:clamp(58px,18vw,74px); }
  .page-menu .price-table { font-size:12px; min-width:470px; }
  .page-menu .price-table th { font-size:11px; }
  .menu-food-story { padding:65px var(--gutter) 70px; gap:32px; }
  .menu-food-story .food-story-heading h2 { font-size:29px; }
  .menu-food-story .food-story-heading .lead { font-size:13px; }
  .menu-food-story .food-photos { grid-template-columns:1fr 1fr; gap:25px 18px; }
  .menu-food-story .food-photos .food-large { width:80%; }
  .menu-food-story .food-photos .food-large img { aspect-ratio:1; }
  .menu-food-story .food-photos .food-small:nth-child(2) { margin-top:0; }
  .menu-food-story .food-photos .food-small:nth-child(3) { margin-top:40px; }
  .page-menu .full-menu { padding-top:65px; padding-bottom:60px; }
  .page-menu .full-menu .catalogue-heading .display { font-size:clamp(62px,19vw,88px); }
  .page-menu .full-menu .catalogue-heading .lead { font-size:13px; }
  .menu-tools { display:block; padding-top:25px; }
  .menu-search-field { width:100%; }
  .menu-results { padding:18px 0 0; }
  .menu-index { gap:2px 20px; padding-bottom:18px; margin-bottom:20px; }
  .menu-index a { font-size:12px; gap:8px; }
  .menu-no-results { font-size:13px; }
  .menu-visit-note { grid-template-columns:1fr; gap:5px; padding-block:60px; }
  .menu-visit-note h2 { font-size:29px; }
  .menu-visit-note .lead { font-size:13px; }
  .page-access .access-details { padding-top:30px; padding-bottom:60px; }
  .page-access .access-details h2 { font-size:clamp(25px,7vw,29px); letter-spacing:.04em; }
  .access-hours-display { font-size:clamp(29px,8.5vw,40px); }
  .page-access .access-map { padding-bottom:60px; }
  .access-landmarks { padding-top:15px; padding-bottom:60px; }
  .access-landmarks-heading { margin-bottom:30px; }
  .access-landmarks-heading h2 { font-size:27px; }
  .access-landmarks-heading .lead { font-size:13px; }
  .landmark-photos { gap:20px; }
  .landmark-photos>div:last-child { padding-top:50px; }
  .landmark-photos img { aspect-ratio:.85; }
  .landmark-photos h3 { font-size:17px; margin-top:20px; }
  .landmark-photos p { font-size:12px; }
  .landmark-photos figcaption { font-size:9px; }
  .access-reservation { padding-top:65px; padding-bottom:60px; }
  .contact-grid { grid-template-columns:1fr; gap:25px; }
  .contact-grid h2 { font-size:32px; }
  .contact-grid .lead { font-size:13px; }
  .contact-phone>span { font-size:clamp(32px,9.4vw,48px); }
  .contact-instagram { min-height:64px; padding:18px 22px; }
  .reservation-preparation { display:block; margin-top:38px; padding-top:28px; }
  .reservation-preparation p { display:block; margin-top:20px; }
  .reservation-preparation p span { display:block; margin-top:13px; }
  .access-questions { display:block; margin-top:32px; padding-top:24px; }
  .access-questions>h3 { font-size:21px; margin-bottom:12px; }
}

@media (max-width:359px) {
  .home-hours>.display { font-size:29px; }
  .feature-opening .opening-links { gap:15px; }
  .feature-opening .opening-links a { font-size:11px; gap:12px; }
  .room-portrait-copy,.flavor-guidance-copy { margin-left:0; }
  .space-texture-note { font-size:10px; }
  .landmark-photos { grid-template-columns:1fr; gap:28px; }
  .landmark-photos>div:last-child { padding-top:0; }
  .landmark-photos img { aspect-ratio:1.08; }
}

@media (min-width:768px) and (max-height:820px) {
  .feature-opening { padding-top:110px; padding-bottom:50px; }
  .feature-opening .breadcrumb { margin-bottom:22px; }
  .feature-opening .display { font-size:clamp(74px,7.5vw,108px); margin-bottom:20px; }
  .feature-opening h1 { font-size:24px; margin-bottom:14px; }
  .feature-opening .lead { font-size:13px; }
  .feature-opening .text-link { min-height:56px; margin-top:16px; }
  .feature-opening-photo img { height:max(430px,calc(100svh - 180px)); }
  .space-scene .page-scene-copy>.display { font-size:clamp(90px,10vw,150px); }
}
