/* Enquire contact card and reused Find Us map, approved 27 September 2026. */
.enquire-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 40px; margin-top:24px; }
.enquire-contact dt { color:var(--brown); font:14px/1.5 var(--type); letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.enquire-contact dd { margin:0; font:20px/1.6 var(--roman); overflow-wrap:anywhere; }
.enquire-contact a { max-width:100%; }
.enquire-dogs { margin-top:28px; font:700 15px/2 var(--type); letter-spacing:.03em; transform:rotate(-1deg); transform-origin:left center; }
.enquire-dogs span { background:#fffdf5; color:var(--navy); padding:3px 7px; border:1px solid #decdb1; box-shadow:0 1px 2px #6b4f3a16; box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.enquire-dogs b { color:var(--red); margin-right:4px; }
.enquire-message-intro { padding:28px 40px; margin:0; font:400 26px/1.4 var(--roman); border-bottom:3px double var(--rule-gold); }
.enquire-map .visit__section { margin-top:0; }
@media(max-width:700px) {
 .enquire-contact { grid-template-columns:minmax(0,1fr); gap:20px; }
 .enquire-contact dd { font-size:18px; }
 .enquire-message-intro { padding:24px; font-size:23px; }
}

.enquire-notice { display:flex; justify-content:center; padding-top:42px; }
.enquire-notice__paper { width:min(100%,530px); padding:22px 28px 18px; background:var(--card); border:3px double #24221f; box-shadow:0 4px 9px #0002; transform:rotate(-3deg); }
.enquire-daily-stamp { border:5px double var(--red); color:var(--red); padding:12px 10px; text-align:center; text-transform:uppercase; font:700 clamp(16px,2.2vw,24px)/1.5 var(--type); letter-spacing:.04em; mask-image:url('../gilt/coming-soon-ink-wear.svg?v=2'); mask-mode:luminance; mask-size:100% 100%; mask-repeat:no-repeat; }
.enquire-daily-stamp span,.enquire-daily-stamp strong { display:block; font:inherit; }
.enquire-urgent { margin:14px 0 0; color:#24221f; text-align:center; font:15px/1.6 var(--type); }
.enquire-urgent a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:700px) {
 .enquire-notice { padding-top:32px; }
 .enquire-notice__paper { padding:16px 14px; width:calc(100% - 12px); }
 .enquire-daily-stamp { font-size:clamp(13px,3.5vw,20px); padding:10px 4px; letter-spacing:.015em; }
 .enquire-urgent { font-size:13px; }
 .enquire-dogs { font-size:13px; }
}

@media screen{
/* Shared navigation: familiar icon and quick access to menus, calls and location. */
.head__burger-icon {
  display: grid;
  gap: 5px;
  width: 24px;
}
.head__burger-icon > span {
  display: block;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
}
@media (max-width: 1599px) {
  .js .head__burger {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    min-width: 48px;
    padding: 10px;
    border: 3px double var(--gold);
    cursor: pointer;
  }
  .head__burger:focus-visible {
    outline: 2px solid #faf6ee;
    outline-offset: 3px;
  }
}
@media (max-width: 900px) {
  .counter {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    background: #faf6ee;
    border-top: 3px double var(--gold);
  }
  .counter a {
    padding: 12px 8px;
    min-height: 56px;
    color: var(--quick-text);
    background: var(--quick-bg);
    font: 600 14px/1.3 var(--type);
    letter-spacing: .03em;
    text-transform: none;
  }
  .counter__menus { --quick-bg: #1b2a4e; --quick-text: #faf6ee; }
  .counter__call { --quick-bg: #faf6ee; --quick-text: #1b2a4e; }
  .counter__cta { --quick-bg: #6b4f3a; --quick-text: #faf6ee; }
  .counter a + a { border-left: 1px solid var(--gold); }
  .counter a:hover,
  .counter a:focus-visible,
  .counter a:active {
    background: var(--quick-bg);
    color: var(--quick-text);
    filter: brightness(.94);
  }
  .counter a:focus-visible { outline: 2px solid var(--quick-text); outline-offset: -4px; }
  body { padding-bottom: calc(59px + env(safe-area-inset-bottom, 0px)); }
}
}
/* Brief 26. Temporary movement; all resting geometry belongs to the original. */
:root{--postal-ease:cubic-bezier(.22,1,.36,1);--postal-fast:180ms}
.js .reveal,.js .reveal.reveal--card{opacity:1;transform:none;transition:none;will-change:auto}
@media(prefers-reduced-motion:no-preference){
 ::view-transition-group(*){animation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none}
 ::view-transition-old(postal-paper){animation:postal-out 160ms ease-out both}
 ::view-transition-new(postal-paper){animation:postal-in 180ms var(--postal-ease) both}
 ::view-transition-old(postal-masthead){animation:none}
 ::view-transition-new(postal-masthead){animation:none}
 .stamp-hero .arch-fan__card{transition-property:transform,opacity;transition-duration:600ms,200ms;transition-timing-function:var(--postal-ease)}
 .special-details{transition-property:opacity}
 dialog[open]{animation:postal-dialog 260ms var(--postal-ease)}
 dialog::backdrop{animation:postal-in 180ms ease-out}
}
@keyframes postal-in{from{opacity:.55}to{opacity:1}}
@keyframes postal-out{from{opacity:1}to{opacity:0}}
@keyframes postal-dialog{from{opacity:.75;transform:translateY(8px) rotate(-.35deg) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* Reserve the approved carousel geometry before its external script arrives.
   The class is only set when JS runs; the original no-JS layout is retained. */
.postal-js .menu-carousel:not(.is-ready) .menu-carousel__viewport{display:grid;isolation:isolate;padding:36px 18px 28px;perspective:1200px}
.postal-js .menu-carousel:not(.is-ready) .menu-carousel__slide{grid-area:1/1;min-width:0;transform-origin:center;pointer-events:none;margin-top:0}
.postal-js .menu-carousel:not(.is-ready) .menu-carousel__slide:nth-child(1){transform:translate(5%,5%) rotate(3deg) scale(.92);z-index:3}
.postal-js .menu-carousel:not(.is-ready) .menu-carousel__slide:nth-child(2){transform:translate(-4%,0) rotate(-4deg) scale(.94);z-index:2}
.postal-js .menu-carousel:not(.is-ready) .menu-carousel__slide:nth-child(3){transform:translate(1%,-5%) rotate(1deg) scale(.94);z-index:1}
.postal-js .menu-carousel:not(.is-ready) .photo-stamp{transform:none}
.postal-js .menu-carousel:not(.is-ready) .photo-stamp figcaption{min-height:74px;display:flex;align-items:center;justify-content:center}
.postal-js .menu-carousel:not(.is-ready)::after{content:"";display:block;height:150px}
.postal-js .room-carousel:not(.is-ready) .photo-stamp figcaption{min-height:96px}
@media(max-width:640px){.postal-js .room-carousel:not(.is-ready) .photo-stamp figcaption{min-height:104px}}
@media(max-width:500px){
 .postal-js .menu-carousel:not(.is-ready) .menu-carousel__viewport{margin:0;padding:26px 8px 22px}
 .postal-js .menu-carousel:not(.is-ready):not(.room-carousel) .photo-stamp figcaption{min-height:68px}
}

.postal-js .cabinet-carousel:not(.is-ready)::after{height:124px}
.postal-js .cabinet-carousel:not(.is-ready):not(.room-carousel) .photo-stamp figcaption{min-height:58px}
@media(max-width:900px){
 .postal-js .cabinet-carousel:not(.is-ready) .menu-carousel__viewport{padding-top:24px;padding-bottom:18px}
 .postal-js .cabinet-carousel:not(.is-ready):not(.room-carousel) .photo-stamp figcaption{min-height:52px}
}
@media screen{.postal-js .arch-fan__controls[hidden]{display:flex;visibility:hidden}}

/* Signature motion, version 3. Rest geometry comes from the approved site. */
.arch-fan__stage,.menu-carousel__viewport{touch-action:pan-y;transform-origin:50% 55%}
.stamp-hero .arch-fan__card{transition:none!important}
.v3-gold-reflection{position:fixed;z-index:80;pointer-events:none;object-fit:fill;filter:brightness(1.8) saturate(.65);mix-blend-mode:screen}
.v3-order-mark{position:fixed;z-index:100;display:grid;place-items:center;width:34px;height:34px;background:#f9f2e3;color:#20304e;border:2px dotted #a78042;font:bold 13px monospace;box-shadow:0 5px 16px #20304e33;pointer-events:none}
.dish-photo[open]{animation:none!important;transform-origin:center}
.dish-photo::backdrop{animation:v3-backdrop 400ms ease-out}
@keyframes v3-backdrop{from{background:rgb(20 27 40 / 0)}to{background:rgb(20 27 40 / .76)}}
@media(prefers-reduced-motion:no-preference){
 ::view-transition-old(postal-paper){animation:v3-paper-out 300ms cubic-bezier(.4,0,1,1) both;transform-origin:50% 15%}
 ::view-transition-new(postal-paper){animation:v3-paper-in 580ms cubic-bezier(.16,1,.3,1) both;transform-origin:50% 15%}
 @keyframes v3-paper-out{to{transform:perspective(1400px) translateY(-32px) rotateX(3deg) scale(.97);opacity:0}}
 @keyframes v3-paper-in{from{transform:perspective(1400px) translateY(65px) rotateX(-5deg) scale(.97);opacity:0}to{transform:none;opacity:1}}
}
@media(prefers-reduced-motion:reduce){.v3-gold-reflection,.v3-order-mark{display:none}.arch-fan__stage,.menu-carousel__viewport{transform:none!important;transition:none!important}.dish-photo::backdrop{animation:none}}
@media print{.v3-gold-reflection,.v3-order-mark{display:none!important}}

.language-control{display:flex;align-items:center;gap:4px;margin-left:auto;color:#f9f0d7;font:13px Georgia,serif;flex-shrink:0}
.language-control select{font:inherit;color:inherit;background:#20324d;border:1px solid #b79b61;border-radius:0;min-height:44px;padding:5px;max-width:112px;cursor:pointer}
.language-control select:focus-visible{outline:2px solid #fff;outline-offset:3px}
.translated-heading{display:none;font-family:Georgia,'Noto Serif',serif;color:var(--gold,#95763e);font-size:clamp(28px,4vw,52px);font-weight:400;line-height:1.2;letter-spacing:.015em}
html:not([data-language=en]) [data-language-heading]{display:none!important}
html:not([data-language=en]) .translated-heading{display:block}
html[data-language=ja] .write-word,html[data-language=zh] .write-word{display:inline;white-space:normal}
html[data-language=ja] .postcard-handwriting,html[data-language=zh] .postcard-handwriting{font-family:'Hiragino Mincho ProN','Songti SC','Noto Serif CJK JP',serif!important;font-size:62px}
html:not([data-language=en]) .head__links a{white-space:normal}
html:not([data-language=en]) .chapter-route-labels{font-size:8px;letter-spacing:0}
html:not([data-language=en]) .bo-jump-nav a{white-space:normal}
@media(max-width:900px){.language-control{gap:2px;margin-right:8px}.language-control select{max-width:90px;font-size:12px}.head__brand{gap:8px}.head__word{max-width:calc(100vw - 224px)!important}.head__burger{margin-left:0!important}}
@media(min-width:901px){.language-control{margin-left:20px}}
@media print{.language-control{display:none}}

@media(max-width:760px){html:not([data-language=en]) .menu-jumps{width:calc(100% - 24px)}html:not([data-language=en]) .menu-jumps a{font-size:10px;white-space:normal;overflow-wrap:anywhere;text-align:center;padding:4px 6px;min-width:0}html[data-language=ja] .chapter-copy h1,html[data-language=zh] .chapter-copy h1{font-size:38px}html[data-language=ja] .chapter-copy h2,html[data-language=zh] .chapter-copy h2{font-size:38px}}
html:not([data-language=en]) .postcard__enquire{display:flex;align-items:center;justify-content:center;background:#20364b;box-shadow:inset 0 0 0 2px #9ea89e;z-index:4}
html:not([data-language=en]) .postcard__enquire .vh{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;overflow:visible!important;white-space:normal!important;color:#fbf3dd;font:clamp(11px,2vw,20px)/1.15 Georgia,serif;text-align:center;padding:3px}
html:not([data-language=en]) .bread__collab{line-height:1.3}

.pagehead__title .translated-heading{text-align:center;width:100%}
@media(max-width:900px){.head__brand{min-width:0;width:100%}.head__word{flex:1 1 0;max-width:none!important}.language-control{margin-left:auto;margin-right:0}.language-control>span{display:none}.language-control select{width:86px}.head__home{width:44px;height:44px}}
@media(max-width:360px){.head__brand{gap:6px}.language-control select{width:78px}.head__word{height:32px}}

/* Korean uses readable Hangul lettering rather than a Latin handwriting font. */
html[data-language=ko] .postcard-handwriting{font-family:'Apple SD Gothic Neo','Malgun Gothic',sans-serif!important;font-size:60px}
html[data-language=ko] .write-word{display:inline;white-space:normal}
@media(max-width:760px){html[data-language=ko] .chapter-copy h1,html[data-language=ko] .chapter-copy h2{font-size:38px}html:not([data-language=en]) .chapter-menu-tabs button{min-width:0;white-space:normal;overflow-wrap:anywhere}html:not([data-language=en]) .chapter-menu-open{white-space:normal;font-size:12px}}
