@charset "UTF-8";
/* Compact promotion overview; native dialogs keep full details off the page. */
main>.promotion-intro-compact{padding:38px 0 28px}
main>.promotion-intro-compact>.container::before{display:none}
main>.promotion-intro-compact h1{clear:none;font-size:clamp(2.3rem,4vw,3.4rem);margin:16px 0}
main>.promotion-intro-compact .eyebrow{margin:0}
main>.promotion-intro-compact p:last-child{font-size:1rem;margin:0}
.promotion-overview{padding:12px 0 40px}
.offer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.offer-card{display:grid;grid-template-columns:minmax(0,1fr) 30%;gap:20px;align-items:center;padding:28px;background:#101113;color:#f5f0e4;border:1px solid #c4aa7e;scroll-margin-top:24px}
.offer-card-copy{min-width:0}
.offer-card .eyebrow{color:#c4aa7e;font-size:.62rem;margin:0 0 18px}
.offer-card .offer-highlight{text-align:left;display:flex;gap:10px;align-items:baseline}
.offer-card .offer-highlight strong{font-size:clamp(2.6rem,4.5vw,4rem)}
.offer-card .offer-highlight>span{font-size:.6rem}
.offer-card h2{font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:1.45;color:#f5f0e4;margin:16px 0 12px}
.offer-card-time{font-size:.8rem;line-height:1.6;color:#e7d6b6;margin:0 0 10px}
.offer-card-summary{font-size:.72rem;line-height:1.6;color:#c8c2b7;margin:0 0 22px}
.offer-card .button{font-size:.75rem;min-height:44px;padding:12px 16px;gap:16px}
.offer-thumbnail{width:100%;height:auto;border:1px solid #c4aa7e66;box-shadow:6px 8px 0 #c4aa7e22}
.offer-dialog{width:min(780px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #c4aa7e;background:#f7f3ea;color:#242823;overflow:hidden}
.offer-dialog:not([open]){display:none}
.offer-dialog[open]{display:flex;flex-direction:column}
.offer-dialog::backdrop{background:#08090bca;backdrop-filter:blur(3px)}
.offer-dialog-header{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:22px 28px 16px;background:#101113;color:#f5f0e4;flex-shrink:0}
.offer-dialog-header .eyebrow{color:#c4aa7e;font-size:.6rem;margin:0 0 10px}
.offer-dialog-header h2{font-size:1.4rem;line-height:1.4;margin:0 0 8px;color:#f5f0e4}
.offer-dialog-header p:last-child{font-size:.8rem;margin:0;color:#dfcfb1}
.offer-dialog [data-offer-close]{width:44px;height:44px;flex-shrink:0;background:transparent;color:#c4aa7e;border:1px solid #c4aa7e88;font-size:1.7rem;cursor:pointer}
.offer-view-switch{display:flex;gap:8px;padding:12px 28px;border-bottom:1px solid #c4aa7e66;flex-shrink:0;background:#eee5d5}
.offer-view-switch button{min-height:44px;padding:10px 20px;border:1px solid #ae9672;background:transparent;font:inherit;font-size:.8rem;color:#322d25;cursor:pointer}
.offer-view-switch [aria-pressed="true"]{background:#282622;color:#f6ead4;border-color:#282622}
.offer-dialog-body{overflow:auto;overscroll-behavior:contain;padding:24px 28px;min-height:0}
.offer-dialog [data-offer-panel][hidden]{display:none}
.offer-dialog .offer-poster{max-width:600px;margin:0 auto}
.offer-dialog .offer-details h3{margin-top:20px}
.offer-dialog .offer-details h3:first-child{margin-top:0}
.offer-dialog-footer{padding:12px 28px;border-top:1px solid #c4aa7e66;flex-shrink:0;background:#eee5d5}
.offer-dialog-footer .button{min-height:44px;padding:10px 18px;font-size:.8rem}
.offer-dialog button:focus-visible,.offer-card a:focus-visible{outline:3px solid #c4aa7e;outline-offset:3px}
@media(max-width:760px){
 .offer-cards{grid-template-columns:1fr;gap:18px}.offer-card{padding:22px;gap:18px;grid-template-columns:minmax(0,1fr) 28%}
 .offer-card .offer-highlight{gap:6px}.offer-card .offer-highlight strong{font-size:2.6rem}.offer-card h2{font-size:1.15rem}
 .offer-card-summary{margin-bottom:16px}.offer-card .eyebrow{margin-bottom:12px}
 .offer-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px)}
 .offer-dialog-header{padding:16px}.offer-dialog-header h2{font-size:1.15rem}
 .offer-view-switch{padding:10px 16px}.offer-view-switch button{flex:1;padding:10px}
 .offer-dialog-body{padding:18px 16px}.offer-dialog-footer{padding:10px 16px}
}
/* Owner-approved promotion posters: whole images, with readable bilingual details. */
.promotion-intro .offer-jumps{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px}
.offer-jumps a{display:inline-flex;align-items:center;gap:24px;min-height:44px;border-bottom:1px solid #a58a5d;text-decoration:none;font-size:.85rem}
main>.promotion-intro{padding-bottom:32px}
main>.promotion-section{padding-top:32px;scroll-margin-top:24px}
.offer-header{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:32px 40px;margin-bottom:40px;background:#101113;color:#f5f0e4;border-top:3px solid #c4aa7e;border-image:linear-gradient(90deg,#786040,#c4aa7e,#f0dfb8,#927345) 1}
.offer-header h2{font-size:clamp(1.7rem,3vw,2.5rem);margin:8px 0 16px;line-height:1.3;color:#f5f0e4}
.offer-header .eyebrow{color:#c4aa7e;margin:0}
.offer-header .offer-time{font-size:.9rem;margin:0;color:#e7dfd2}
.offer-highlight{flex-shrink:0;text-align:right;color:#c4aa7e}
.offer-highlight strong{display:block;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:400;line-height:1.1;white-space:nowrap}
.offer-highlight strong small{font-size:.43em;vertical-align:baseline}
.offer-highlight>span{display:block;font-size:.7rem;letter-spacing:.16em;margin-top:8px}
.offer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:clamp(28px,5vw,72px)}
.offer-poster{margin:0;min-width:0}
.offer-poster a{display:block;cursor:zoom-in;box-shadow:0 14px 32px #10111318;border:1px solid #c4aa7e}
.offer-poster img{display:block;width:100%;height:auto}
.offer-poster figcaption{font-size:.75rem;line-height:1.6;margin-top:14px;color:#665c4b}
.offer-details{min-width:0}
.offer-details h3{font-size:1.25rem;line-height:1.4;margin:0 0 10px;padding-bottom:12px;border-bottom:2px solid #c4aa7e;color:#282723}
.offer-list{list-style:none;padding:0;margin:0 0 34px}
.offer-list li{display:flex;justify-content:space-between;align-items:start;gap:18px;padding:18px 0;border-bottom:1px solid #c4aa7e66}
.offer-name{min-width:0}
.offer-code{display:block;color:#806a46;letter-spacing:.08em;font-size:.65rem;margin-bottom:5px}
.offer-name h4{font-size:1rem;line-height:1.5;margin:0;color:#222523;font-weight:500}
.offer-name p{font-size:.75rem;line-height:1.6;margin:4px 0 0;color:#69665e;overflow-wrap:anywhere}
.offer-price{flex-shrink:0;text-align:right;white-space:nowrap}
.offer-original{display:block;font-size:.65rem;color:#6a665e}
.offer-price strong{display:block;font-size:1.2rem;font-weight:500;color:#745935;line-height:1.6}
.offer-price small{display:block;font-size:.65rem;color:#69665e}
.offer-detail-note{font-size:.85rem;color:#665c4b;margin:16px 0 0}
.promotion-notes{padding:32px 0 56px;background:#eee5d5;border-top:1px solid #c4aa7e66}
.promotion-notes p{font-size:.85rem;max-width:850px}
.offer-poster a:focus-visible,.offer-jumps a:focus-visible{outline:3px solid #806a46;outline-offset:5px}
@media(min-width:761px) and (max-width:1100px){.site-header .desktop-nav{gap:14px}.site-header .desktop-nav a{font-size:.72rem}.site-header .header-inner{gap:20px}}
@media(max-width:760px){
 .promotion-intro .offer-jumps{gap:8px 20px}.offer-jumps a{font-size:.75rem;gap:14px}
 .offer-header{padding:24px 20px;gap:16px;align-items:start;flex-direction:column;margin-bottom:26px}
 .offer-highlight{text-align:left;display:flex;align-items:baseline;gap:12px}.offer-highlight strong{font-size:3rem}
 .offer-grid{grid-template-columns:1fr;gap:32px}.offer-poster{max-width:480px;margin-inline:auto;width:100%}
 .offer-list li{gap:12px}.offer-name h4{font-size:.95rem}.offer-price strong{font-size:1.05rem}
 .promotion-notes{padding-bottom:36px}
}
.journey-bird{position:relative;transform:translateY(var(--journey-bob,0px))}
.journey-bird .story-bird-rest{display:block;width:100%;height:auto}
.journey-bird .story-wing-rig,.journey-bird .story-wing,.journey-bird .story-wing-body{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.journey-bird .story-wing-rig{opacity:0}
.journey-bird .story-wing-body{z-index:2}
.journey-bird .journey-shoulder{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.journey-bird .story-wing{overflow:visible}
.journey-bird .story-wing-pivot{transform-box:view-box}
.journey-bird .story-wing--near .story-wing-pivot{transform-origin:585px 595px;transform:rotate(var(--journey-wing-near,0deg))}
.journey-bird .story-wing--far .story-wing-pivot{transform-origin:570px 550px;transform:rotate(var(--journey-wing-far,0deg))}
.is-journey-ready .journey-bird .story-bird-rest{opacity:0}
.is-journey-ready .journey-bird .story-wing-rig{opacity:1}
/* Cinematic home: progressive enhancement preserves a normal static hero. */
.hero-journey{--journey-progress:0;background:#102d25;color:#f5f0e4;position:relative}
.journey-stage{position:relative;min-height:760px;height:100svh;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 74% 42%,#34594a 0%,#163b30 43%,#10261f 85%)}
.journey-art{position:absolute;inset:0;pointer-events:none}
.journey-window{position:absolute;top:5%;right:7%;width:45%;height:83%;max-width:650px;border:1px solid #c6a66e;border-radius:50% 50% 0 0;overflow:hidden;background:#cbdccb;transform-origin:65% 65%;transform:scale(calc(1 + var(--journey-progress)*.65)) translateX(calc(var(--journey-progress)*-10%))}
.journey-backdrop{width:100%;height:100%;object-fit:cover;object-position:50% 62%;transform:scale(calc(1 + var(--journey-progress)*.22));transform-origin:55% 65%}
.journey-leaves{position:absolute;right:7%;top:5%;width:45%;height:110%;object-fit:fill;transform-origin:bottom;opacity:.9;mask-image:linear-gradient(transparent 32%,#000 58%),linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.journey-leaves--left{clip-path:inset(0 46% 0 0);transform:translateX(calc(var(--journey-progress)*-28vw)) scale(calc(1 + var(--journey-progress)*.25))}
.journey-leaves--right{clip-path:inset(0 0 0 54%);transform:translateX(calc(var(--journey-progress)*25vw)) scale(calc(1 + var(--journey-progress)*.25))}
.journey-cloud{position:absolute;width:70%;height:70%;object-fit:contain;right:-8%;bottom:-24%;opacity:.25;transform:translateX(calc(var(--journey-progress)*-45%));mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.journey-crane{position:absolute;width:clamp(90px,13vw,190px);top:38%;left:53%;transform:translate(calc(var(--journey-progress)*35vw),calc(var(--journey-progress)*-24vh)) scale(calc(1 - var(--journey-progress)*.65)) rotate(calc(var(--journey-progress)*-12deg));opacity:clamp(0,calc(2 - var(--journey-progress)*2.4),1)}
.journey-copy{position:relative;z-index:2;padding-top:clamp(32px,7vh,76px);pointer-events:none;opacity:clamp(0,calc(1 - var(--journey-progress)*2),1);transform:translateY(calc(var(--journey-progress)*-45px))}
.journey-logo{height:110px;width:auto;object-fit:contain;margin-bottom:24px}
.journey-copy .eyebrow{color:#d4bc8b;margin-bottom:22px}
.hero-journey .journey-copy h1{font:400 clamp(2.4rem,4.6vw,4.7rem)/1.2 var(--heading);max-width:48%;letter-spacing:.025em;margin:0 0 24px}
.journey-body{max-width:37%;font-size:.95rem;line-height:1.9;color:#d4dfd1}
.journey-rebrand{font-size:.65rem;letter-spacing:.05em;max-width:38%;color:#bbc9ba}
.journey-ending{position:absolute;inset:40% 10% auto;text-align:center;z-index:3;opacity:clamp(0,calc(var(--journey-progress)*4 - 2.7),1);pointer-events:none;color:#fff9e9;text-shadow:0 2px 24px #102d25}
.journey-ending span{font-size:.7rem;letter-spacing:.25em}
.journey-ending p{font:400 clamp(2rem,4.4vw,4rem)/1.4 var(--heading);margin-top:24px}
.journey-stage::after{content:"";position:absolute;inset:0;background:#0b261e;opacity:calc(var(--journey-progress)*.48);z-index:1;pointer-events:none}
.journey-controls{position:absolute;z-index:4;bottom:35px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.journey-controls .actions{gap:28px;flex-wrap:wrap;margin-right:140px}
.journey-controls .text-link{color:#f5eddb}
.journey-skip{font-size:.6rem;letter-spacing:.13em;color:#e6d4af;background:#102d25df;padding:10px 12px;border:1px solid #b89b6040}
.journey-skip span{display:inline-block;margin-left:12px;font-size:1.2rem}
.journey-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#b89b602b;z-index:5}
.journey-track span{display:block;width:100%;height:100%;background:#cfb47b;transform-origin:left;transform:scaleX(var(--journey-progress))}
@media(prefers-reduced-motion:no-preference){
 .hero-journey.is-journey-ready{height:290vh;height:290svh}
 .is-journey-ready .journey-stage{position:sticky;top:0;height:100vh;height:100svh;min-height:0}
}
@media(max-width:600px){
 .journey-stage{min-height:800px}
 .journey-copy{padding-top:24px}
 .journey-logo{height:64px;margin-bottom:16px}
 .journey-copy .eyebrow{font-size:.55rem;margin-bottom:12px}
 .hero-journey .journey-copy h1{font-size:2rem;max-width:100%;line-height:1.3;margin-bottom:12px}
 .journey-body{font-size:.78rem;max-width:94%;line-height:1.7;margin-bottom:10px}
 .journey-rebrand{font-size:.55rem;max-width:100%}
 .journey-window{width:66%;right:6%;top:40%;height:45%}
 .journey-leaves{width:90%;right:-6%;top:35%;height:72%}
 .journey-window{transform-origin:center;transform:scale(calc(1 + var(--journey-progress)*.65)) translateY(calc(var(--journey-progress)*-10%))}
 .journey-crane{width:92px;left:20%;top:48%}
 .journey-cloud{width:110%;right:-35%;bottom:-12%;height:65%}
 .journey-controls{bottom:calc(230px - var(--journey-progress)*110px);display:block}
 .journey-controls .actions{display:none}
 .journey-controls .button{padding:11px 15px;font-size:.78rem}
 .journey-controls .text-link{font-size:.78rem}
 .journey-skip{font-size:.5rem}
 .journey-ending{inset:36% 8% auto}
 .journey-ending p{font-size:1.8rem}
}
@media(prefers-reduced-motion:no-preference) and (max-width:600px){
 .hero-journey.is-journey-ready{height:220vh;height:220svh}
}
@media(max-width:600px) and (max-height:650px){
 .journey-copy{padding-top:14px}
 .journey-logo{height:38px;margin-bottom:8px}
 .hero-journey .journey-copy h1{font-size:1.6rem;margin-bottom:8px}
 .journey-copy .eyebrow{margin-bottom:8px}
 .journey-body{font-size:.7rem;line-height:1.5}
 .journey-rebrand{font-size:.5rem}
 .journey-window{top:43%;height:43%}
 .journey-controls{bottom:120px}
}
@media(prefers-reduced-motion:reduce){
 .hero-journey{--journey-progress:0!important}
 .journey-ending,.journey-track{display:none}
}
/* Original-logo water reveal. Hidden by default: failed/disabled scripts cannot block entry. */
.logo-loader{--loader-styled:1;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:32px 24px;overflow:auto;background:radial-gradient(ellipse at 50% 42%,#292725 0%,#161617 65%,#101113 100%);color:#eee8db;z-index:1000;--water-y:265px}
.logo-loader::backdrop{background:#101113}
.logo-loader-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center}
.loader-kicker{font:500 .65rem/1.6 Arial,sans-serif;letter-spacing:.22em;color:#c4aa7e}
.loader-mark{position:relative;width:139px;flex:none}
.loader-ghost{width:100%;height:auto;opacity:.16}
.loader-color{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.loader-water-rise{transform:translateY(var(--water-y));transition:transform .3s ease-out}
.logo-loader[open] .loader-water-wave{animation:loader-ripple 1.8s linear infinite}
.loader-readout p{margin:0}.loader-readout #loader-title{font-family:var(--heading);font-size:1.05rem;letter-spacing:.08em}
[data-loader-number]{display:block;margin:9px 0;font:400 .9rem/1.6 Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.12em;color:#c4aa7e}
.loader-readout #loader-description{max-width:310px;font-size:.65rem;line-height:1.7;color:#c1bcb4}
.loader-skip{min-height:44px;padding:9px 17px;border:1px solid #c4aa7e;background:transparent;color:#eee8db;font-size:.72rem;letter-spacing:.05em}.loader-skip span{margin-left:16px}.loader-skip:hover{background:#ffffff0d}.loader-skip:focus-visible{outline:2px solid #c4aa7e;outline-offset:5px}
.logo-loader.is-complete{opacity:0;transition:opacity .3s ease .2s}
@keyframes loader-ripple{to{transform:translateX(-69.5px)}}
@media(max-height:620px){.logo-loader{padding:20px}.logo-loader-inner{gap:15px}.loader-mark{width:102px}.loader-kicker{font-size:.6rem}}
@media(prefers-reduced-motion:reduce),print{.logo-loader{display:none!important}.loader-water-rise{transition:none}.loader-water-wave{animation:none!important}}
:root{--ink:#0f1110;--jade:#244e46;--gold:#bb9257;--paper:#f7f3ea;--cream:#eee8db;--text:#18201c;--muted:#536058;--line:#d8d2c5;--heading:Georgia,"Noto Serif SC","Songti SC",SimSun,serif;color-scheme:light;font-family:Arial,"Noto Sans SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--paper);font-size:17px;line-height:1.7}
*{box-sizing:border-box}body{margin:0}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #947033;outline-offset:5px}p{margin:0 0 1.3rem}h1,h2,h3{font-family:var(--heading);font-weight:400;line-height:1.12;margin:0 0 1.4rem;text-wrap:balance}h1{font-size:clamp(2.5rem,5.7vw,5.5rem);letter-spacing:-.04em}h2{font-size:clamp(2rem,3.5vw,3.45rem);letter-spacing:-.035em}h3{font-size:1.4rem;line-height:1.35}em{font-weight:400;color:var(--gold)}address{font-style:normal}figure{margin:0}[hidden]{display:none!important}::selection{background:var(--gold);color:var(--ink)}
.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.dark{background:var(--ink);color:var(--paper)}.paper{background:var(--paper)}.section{padding:100px 0}.eyebrow{font:500 .7rem/1.6 Arial,"Microsoft YaHei",sans-serif;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}.muted{color:var(--muted)}.dark .eyebrow{color:#c4aa7e}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:52px;padding:13px 24px;background:var(--jade);color:white;font-size:.81rem;letter-spacing:.015em;border:1px solid var(--jade);transition:background .18s,color .18s}.button:hover{background:#173c34}.button span,.text-link span{font-size:1.2rem;line-height:1}.button.gold{background:var(--gold);border-color:var(--gold);color:#141710}.button.gold:hover{background:#d1ac71}.button.outline{background:transparent;border-color:#827154;color:var(--paper)}.button.outline:hover{background:var(--jade)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.text-link{display:inline-flex;gap:20px;align-items:center;min-height:48px;border-bottom:1px solid currentColor;font-size:.82rem}.text-link:hover{color:var(--gold)}.actions{display:flex;flex-wrap:wrap;gap:20px 30px;align-items:center}.fine-print{font-size:.8rem;color:var(--muted);line-height:1.65}.section-note{font-size:.83rem;color:var(--muted);margin-top:36px;margin-bottom:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);padding:12px;z-index:100}.skip-link:focus{top:12px}.preview-notice{background:#e9e2d5;color:#4d544d;text-align:center;font-size:.65rem;padding:5px 16px;letter-spacing:.04em}
.site-header{border-bottom:1px solid #31352d}.header-inner{display:flex;align-items:center;gap:55px;min-height:112px}.brand{padding:12px 10px;flex:none}.brand img{height:86px;width:auto}.desktop-nav{display:flex;gap:28px;align-items:center;margin-left:8px;font-size:.79rem}.desktop-nav a{padding:12px 0}.desktop-nav [aria-current],.site-footer [aria-current]{color:#d0ad76}.desktop-nav a:hover{color:#d0ad76}.header-actions{margin-left:auto;display:flex;align-items:center;gap:25px;font-size:.75rem}.language-link{padding:12px 0;min-width:36px;text-align:center}.header-enquire{border-bottom:1px solid #78694b;padding:10px 0;color:#dfc397}.mobile-nav{display:none}
.hero{background:#101411 url('/assets/brand/ink-texture-menu-background.webp') center/cover}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:44px;padding-top:66px;padding-bottom:68px}.hero-copy{max-width:520px}.hero h1{font-size:clamp(3.5rem,6.2vw,5.4rem);line-height:1.03;letter-spacing:-.045em;margin-bottom:25px}.hero-body{max-width:390px;color:#c7c9bf;font-size:.9rem;line-height:1.8;margin-bottom:30px}.hero-copy .rebrand{font-size:.7rem;color:#afb3a6;margin:27px 0 0}.hero-dish{align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-frame{position:relative;min-height:420px;display:flex;align-items:center;background:#21372e;border:1px solid #5d644f;border-radius:240px 240px 3px 3px;padding:50px 20px 24px;margin:15px 0 0}.hero-food{width:100%;object-fit:contain;filter:drop-shadow(0 16px 18px #0004)}.vertical-note{position:absolute;top:45px;right:24px;writing-mode:vertical-rl;letter-spacing:.35em;color:#beaf8e;font-family:var(--heading);font-size:.8rem}.hero-dish figcaption{display:grid;grid-template-columns:1fr auto;gap:5px 20px;margin-top:20px;font-size:.8rem;line-height:1.5}.hero-dish figcaption .eyebrow{grid-column:1;margin-bottom:2px;font-size:.6rem}.hero-dish figcaption>a{grid-column:2;grid-row:1/3;align-self:center;border:1px solid #747463;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem}.hero-baseline{border-top:1px solid #4b50434d;display:flex;align-items:center;justify-content:space-between;padding:19px 0;font-size:.61rem;letter-spacing:.15em;color:#b7bbaa}.hero-baseline a{font-size:1.2rem;padding:0 14px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-heading>div:first-child{max-width:590px}.section-heading>div:last-child:not(:first-child),.section-heading>p{max-width:340px;font-size:.9rem}.section-heading h2{margin-bottom:0}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px}.dish-card{min-width:0;scroll-margin-top:24px}.dish-image{position:relative;background:#e9e5da;aspect-ratio:1.28;display:flex;align-items:center;justify-content:center;padding:18px;overflow:hidden}.dish-image img{object-fit:contain;max-height:100%;max-width:100%;width:auto;height:auto;transition:transform .3s}.dish-image:hover img{transform:translateY(-3px)}.dish-card:target{outline:2px solid var(--gold);outline-offset:9px}.dish-code{position:absolute;bottom:12px;left:14px;font-size:.64rem;letter-spacing:.08em;background:#f7f3eaeb;padding:1px 7px}.dish-content{padding:22px 0 0}.dish-content .eyebrow{font-size:.58rem;margin-bottom:9px}.dish-content h3{margin-bottom:10px;font-size:1.29rem}.dish-translation{font-size:.79rem;color:var(--muted);line-height:1.6;min-height:1.6em;margin-bottom:14px}.dish-content .text-link{font-size:.75rem;min-height:40px}.dish-price{font-size:.96rem;color:var(--jade);margin:15px 0 6px;font-weight:600}.dish-actions{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;margin-top:12px}.dish-actions>a:last-child{font-size:.71rem;color:var(--muted);padding:10px 0}.dish-content .fine-print{font-size:.72rem;margin-bottom:8px}
.story-strip{background:#e9eee5}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.garden-window{position:relative;max-width:490px;margin-inline:auto;border:1px solid #b6c1b1;border-radius:220px 220px 0 0;overflow:hidden;background:#e1e9dd;padding-top:30px}.garden-window img{width:100%;object-fit:contain}.garden-caption{display:block;padding:20px;text-align:center;font-size:.58rem;letter-spacing:.2em;color:#365744}.story-copy{max-width:480px}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:1rem}.gather-strip{background:#18392f}.gather-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.gather-grid>div>p:not(.eyebrow){color:#ccd6cb;max-width:510px}.gather-art{text-align:center}.gather-art img{max-height:330px;width:auto;margin:auto;object-fit:contain}.gather-art p{font-family:var(--heading);font-style:italic;color:#c4af88!important;margin-top:25px;font-size:1.2rem}.contact-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:40px}.contact-grid>div{padding:0 25px;border-left:1px solid var(--line)}.contact-grid>div:first-child{padding-left:0;border:0}.contact-grid address{font-size:1.08rem;margin-bottom:12px}.contact-grid p:not(.eyebrow){font-size:.9rem}.phone{display:block;font-family:var(--heading);font-size:1.35rem;line-height:1.6;margin-bottom:4px}.phone:hover{text-decoration:underline}.final-cta{background:var(--jade);color:var(--paper);padding:70px 0}.final-inner{display:flex;justify-content:space-between;align-items:center;gap:55px}.final-inner h2{font-size:2.4rem;margin:0;max-width:630px}.final-inner .button{flex-shrink:0}.final-inner .eyebrow{color:#d0bc98}
.site-footer{padding:65px 0 0}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:55px;font-size:.85rem}.footer-brand img{height:130px;width:auto;margin-bottom:25px}.footer-brand p{font:1.15rem var(--heading);color:#c9bd9f}.footer-top nav{display:flex;flex-direction:column;gap:15px;padding-top:5px}.footer-top>div:last-child>a{display:block;margin-bottom:10px}.footer-top address{color:#9fa69a;font-size:.78rem;margin-top:22px}.footer-bottom{border-top:1px solid #30362d;padding-block:24px;display:flex;gap:35px;color:#b0b5a8;font-size:.7rem}.footer-bottom>a:last-child{margin-left:auto}.mobile-contact{display:none}
.page-intro{padding:75px 0 65px;background:#14241d}.page-intro h1{max-width:950px}.page-intro p:not(.eyebrow){max-width:620px;color:#c8d0c4;font-size:1.05rem;margin-bottom:0}.intro-row{display:flex;align-items:center;justify-content:space-between;gap:40px}.intro-row .button{flex-shrink:0}.menu-disclosure{background:#ece7dc;border-left:3px solid #a38b5d;padding:17px 22px;font-size:.83rem;color:#424d41}.filter-toolbar{display:grid;grid-template-columns:1fr minmax(220px,.7fr) auto;gap:20px;align-items:end;margin-top:35px}.filter-toolbar label{display:block;font-size:.75rem;margin-bottom:8px}.filter-toolbar input,.filter-toolbar select{width:100%;min-height:50px;background:transparent;border:1px solid #a7ac9d;border-radius:0;color:var(--text);padding:10px 12px;min-width:0;font-size:.85rem}.reset-button{border:0;background:var(--jade);color:white;min-height:50px;padding:10px 22px;font-size:.85rem}.filter-status{font-size:.75rem;margin:20px 0 30px;color:var(--muted)}.menu-grid{row-gap:55px}.empty-state{padding:50px 0 70px}.index-section{background:#e7ebdf}.category-index{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin-bottom:30px}.category-index a{display:flex;align-items:center;gap:18px;padding:19px 0;border-bottom:1px solid #bcc6b6;font-size:.9rem}.category-index a:hover{color:var(--jade);background:#ffffff38}.index-number{font-size:.65rem;letter-spacing:.1em;color:var(--muted)}.index-page{margin-left:auto;white-space:nowrap;font-size:.73rem}.garden-window.large{padding:0;border-radius:260px 260px 0 0}.garden-window.large img{max-height:640px}.quote-section{padding:85px 20px;text-align:center;background:#e8ede3}.quote-section blockquote{font-family:var(--heading);font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.7;margin:30px 0;letter-spacing:.05em}.quote-section p:last-child{color:var(--muted);font-size:.9rem}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.occasion-grid article{border-top:1px solid #b1bca7;padding-top:25px}.occasion-grid h2{font-size:1.65rem;line-height:1.3}.occasion-grid p{font-size:.95rem;color:var(--muted)}.occasion-number{font:italic 2.3rem var(--heading);color:#57765c;display:block;margin-bottom:30px}.enquiry-section{background:#e9eee5}.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.planning-list{list-style:none;counter-reset:plan;padding:0;margin:20px 0 25px}.planning-list li{counter-increment:plan;padding:15px 0;border-bottom:1px solid #bfc8b8;font-size:.95rem}.planning-list li:before{content:'0' counter(plan);margin-right:25px;color:#536e55;font-size:.75rem}.enquiry-panel{background:var(--paper);border:1px solid #d0d7c8;padding:45px}.enquiry-panel h3{font-size:2.45rem;white-space:pre-line}.enquiry-panel .button{margin:10px 0 25px;width:100%}.enquiry-panel p{font-size:.83rem;color:var(--muted);margin-top:22px}.enquiry-panel .phone{font-size:1.6rem}.faq-wrap{max-width:880px}.faq{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{display:flex;justify-content:space-between;gap:30px;list-style:none;min-height:36px;align-items:center;font-size:1rem}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.4rem;color:var(--jade)}.faq[open] summary span{transform:rotate(45deg)}.faq p{margin:17px 35px 8px 0;font-size:.91rem;color:var(--muted)}.visit-note{margin-top:65px;padding:40px;border:1px solid var(--line);max-width:800px}.visit-note>p{max-width:600px}.visit-garden{background:var(--jade);color:var(--paper);padding:80px 0}.visit-garden>.container{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.visit-garden h2{white-space:pre-line}.visit-garden img{opacity:.8}.reading-width{max-width:850px}.privacy-section{margin:40px 0}.privacy-section h2{font-size:1.65rem}.privacy-section p{font-size:1rem;color:var(--muted)}
html:lang(zh-Hans-SG) h1,html:lang(zh-Hans-SG) h2{letter-spacing:.025em;line-height:1.35}html:lang(zh-Hans-SG) .hero h1{font-size:clamp(2.7rem,5vw,4.4rem);line-height:1.4}html:lang(zh-Hans-SG) .hero-grid{padding-block:85px}html:lang(zh-Hans-SG) .hero em{font-style:normal}html:lang(zh-Hans-SG) .dish-content h3{line-height:1.5}
@media(min-width:1500px){.hero-grid{padding-block:82px}.hero-frame{min-height:460px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{gap:28px}.desktop-nav{gap:20px}.header-actions{gap:16px}.hero-grid{gap:30px}.hero-frame{min-height:360px}.story-grid,.gather-grid,.enquiry-grid{gap:50px}.section{padding-block:75px}.dish-grid{gap:40px 22px}.footer-top{gap:45px}}
@media(max-width:850px){.desktop-nav,.header-enquire{display:none}.mobile-nav{display:block}.header-inner{min-height:100px}.brand img{height:72px}.mobile-nav>summary{list-style:none;font-size:1.4rem;padding:7px 12px;min-height:48px}.mobile-nav>summary::-webkit-details-marker{display:none}.site-header{position:relative;z-index:5}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:#14241d;border-bottom:1px solid #5b6453;padding:20px 32px;display:flex;flex-direction:column}.mobile-nav nav a{padding:12px 0;border-bottom:1px solid #394a3b}.mobile-nav [aria-current]{color:#dfc397}.hero h1{font-size:3.5rem}.hero-grid{padding-block:50px}.hero-frame{min-height:300px;padding:40px 12px 20px}.vertical-note{font-size:.7rem;right:14px;top:25px}.hero-body{font-size:.86rem}.hero .actions{gap:16px}.hero .button{padding-inline:16px;gap:12px}.hero-baseline>span:nth-child(2){display:none}.section-heading{gap:35px}.section-heading h2{font-size:2.3rem}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid,.enquiry-grid{gap:35px}.contact-grid{grid-template-columns:1fr 1fr}.contact-grid>div:last-child{grid-column:1/-1;border:0;padding:24px 0 0;border-top:1px solid var(--line)}.final-inner{gap:35px}.final-inner h2{font-size:2rem}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;display:flex;gap:40px;align-items:center}.footer-brand p{margin:0}.footer-brand img{height:105px;margin:0}.occasion-grid{gap:25px}.occasion-grid h2{font-size:1.45rem}.enquiry-panel{padding:30px}.enquiry-panel h3{font-size:2rem}.intro-row{align-items:flex-start;flex-direction:column;gap:25px}.page-intro{padding-block:55px}}
@media(max-width:600px){:root{font-size:16px}.container{width:calc(100% - 40px)}.preview-notice{font-size:.58rem;padding:6px 10px}.header-inner{min-height:88px}.brand{padding:10px 0}.brand img{height:64px}.header-actions{gap:15px}.section{padding-block:60px}.hero-grid{grid-template-columns:1fr;gap:30px;padding-top:42px;padding-bottom:30px}.hero h1{font-size:3.85rem;line-height:1.04;margin-bottom:25px}.hero h1 br:nth-of-type(2){display:none}.hero-copy{max-width:none}.hero-body{max-width:420px;font-size:.94rem;margin-bottom:25px}.hero-copy .eyebrow{font-size:.66rem;margin-bottom:20px}.hero-copy .rebrand{margin-top:20px;font-size:.66rem}.hero .actions{gap:16px 24px}.hero .button{padding:12px 16px;gap:15px;font-size:.81rem}.hero-dish{max-width:420px;width:100%;margin:auto}.hero-frame{min-height:260px;padding:40px 14px 20px;margin-top:0}.hero-food{max-height:285px}.hero-dish figcaption{font-size:.78rem;margin-top:16px}.hero-baseline{font-size:.56rem;padding-block:13px}.section-heading{display:block;margin-bottom:30px}.section-heading>div:last-child:not(:first-child){margin-top:20px}.section-heading>p{margin-top:20px}.section-heading h2{font-size:2.3rem}.eyebrow{font-size:.65rem}.dish-grid{gap:32px 18px}.dish-image{padding:10px;aspect-ratio:1}.dish-content{padding-top:17px}.dish-content h3{font-size:1.18rem}.dish-content .eyebrow{font-size:.53rem}.dish-translation{font-size:.77rem}.dish-code{font-size:.58rem;bottom:8px;left:8px}.dish-content .text-link{font-size:.76rem;gap:9px}.story-grid,.gather-grid,.enquiry-grid{grid-template-columns:1fr;gap:40px}.garden-window{width:min(100%,370px)}.story-copy{max-width:none}.gather-art{max-width:370px;margin:auto}.gather-art img{max-height:240px}.contact-grid{grid-template-columns:1fr;gap:25px}.contact-grid>div{border:0;border-bottom:1px solid var(--line);padding:0 0 25px}.contact-grid>div:last-child{padding:0;border:0}.contact-grid address{font-size:1.1rem}.contact-grid .eyebrow{margin-bottom:12px}.final-cta{padding-block:50px}.final-inner{display:block}.final-inner h2{font-size:2.3rem;margin-bottom:25px}.site-footer{padding-top:45px;padding-bottom:calc(70px + env(safe-area-inset-bottom))}.footer-top{grid-template-columns:1fr 1.2fr;gap:35px;padding-bottom:40px;font-size:.8rem}.footer-brand{gap:30px}.footer-brand img{height:105px}.footer-brand p{font-size:1.15rem}.footer-bottom{gap:12px;flex-wrap:wrap;font-size:.66rem}.footer-bottom>a:last-child{margin-left:0;width:100%}.mobile-contact{display:grid;grid-template-columns:1fr 1.5fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);border-top:1px solid #c3c9ba;padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:10px}.mobile-contact a{min-height:48px;display:flex;align-items:center;justify-content:center;font-size:.81rem;border:1px solid var(--jade);color:var(--jade)}.mobile-contact a:last-child{background:var(--jade);color:white;gap:15px}.page-intro{padding:45px 0}.page-intro h1{font-size:2.9rem;overflow-wrap:break-word}.page-intro p:not(.eyebrow){font-size:1rem}.filter-toolbar{grid-template-columns:1fr auto;gap:15px}.search-field{grid-column:1/-1}.filter-toolbar select{font-size:.84rem}.menu-grid{grid-template-columns:1fr;gap:42px}.menu-grid .dish-image{aspect-ratio:1.4;padding:20px}.menu-grid .dish-content h3{font-size:1.5rem}.menu-grid .dish-translation{font-size:.87rem}.menu-grid .dish-content .eyebrow{font-size:.66rem}.menu-grid .dish-content .fine-print{font-size:.81rem}.menu-grid .dish-content .text-link{font-size:.83rem}.category-index{grid-template-columns:1fr}.category-index a{font-size:.9rem}.category-index .index-page{font-size:.7rem}.menu-disclosure{font-size:.83rem;padding:16px}.occasion-grid{grid-template-columns:1fr;gap:30px}.occasion-number{margin-bottom:15px}.occasion-grid h2{font-size:1.8rem}.occasion-grid p{margin-bottom:0}.enquiry-panel{padding:27px}.enquiry-panel h3{font-size:2.3rem}.faq summary{font-size:1rem}.visit-note{padding:25px;margin-top:35px}.visit-garden{padding-block:60px}.visit-garden>.container{grid-template-columns:1fr;gap:40px}.visit-garden img{max-width:350px;margin:auto}.reading-width{width:calc(100% - 40px)}.quote-section{padding:55px 0}.quote-section blockquote{font-size:1.75rem}html:lang(zh-Hans-SG) .hero-grid{padding-block:45px 30px}html:lang(zh-Hans-SG) .hero h1{font-size:2.9rem;line-height:1.4}html:lang(zh-Hans-SG) .page-intro h1{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.preview-notice,.site-header,.site-footer,.mobile-contact,.filter-toolbar{display:none}.dark{color:#111;background:white}.section{padding-block:20px}.dish-image img{max-height:140px}.dish-grid{grid-template-columns:repeat(2,1fr)}.dish-card{break-inside:avoid}}
/* Allow the contact-page illustration to shrink inside a narrow grid track. */
.visit-garden>.container>*{min-width:0}
@media(max-width:600px){.visit-garden img{width:100%;max-width:350px}}
/* Keep explicit light text readable when printers omit dark backgrounds. */
@media print{.dark,.visit-garden,.final-cta{background:#fff!important;color:#111!important}.dark *,.visit-garden *,.final-cta *{color:#111!important}}
/* Paired language choices: both remain available on every screen size. */
.language-switch{display:inline-flex;align-items:center;flex-shrink:0;border:1px solid #776548;border-radius:4px;padding:3px;background:#ffffff03}
.language-switch .language-link{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 10px;color:#d4d5ca;font-size:.72rem;letter-spacing:.045em;border-radius:2px}
.language-switch .language-link[aria-current="true"]{background:#bb925724;color:#e3bf82;box-shadow:inset 0 -2px #bb9257}
.language-switch .language-link:hover{background:#bb925738;color:#f3d49d}
.language-divider{color:#8f8c7b;font-size:.7rem;padding:0 2px}
/* Original crane, flowers and cloud artwork; decorative only, never a venue photo. */
.hero-frame::before{content:"";position:absolute;top:-52px;left:-32px;width:180px;aspect-ratio:673/404;background:url('/assets/brand/crane-floral-illustration.webp') center/contain no-repeat;pointer-events:none}
.page-intro>.container::before{content:"";float:right;width:175px;aspect-ratio:673/404;margin:-30px 0 15px 35px;background:url('/assets/brand/crane-floral-illustration.webp') center/contain no-repeat;pointer-events:none;opacity:.78}
.page-intro>.container::after{content:"";display:block;clear:both}
.page-intro h1{clear:both}
@media(max-width:1100px) and (min-width:851px){.header-inner{gap:20px}.desktop-nav{gap:15px}.header-actions{gap:15px}}
@media(max-width:600px){.header-actions{gap:10px}.language-switch .language-link{padding-inline:8px}.hero-frame{margin-top:25px}.hero-frame::before{width:130px;top:-35px;left:0}.page-intro>.container::before{width:105px;margin:-18px 0 12px 16px}.page-intro .intro-row{clear:both}}
@media print{.hero-frame::before,.page-intro>.container::before{display:none}}
/* Restrained motion: finite animations, stable layout, no content hidden at rest. */
@keyframes regal-arrive{from{opacity:.2;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes regal-reveal{from{opacity:.35;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes regal-cloud-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(var(--drift-x,5px),var(--drift-y,-6px))}}
@media(prefers-reduced-motion:no-preference){
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-body,.hero-copy>.actions,.hero-copy>.rebrand{animation:regal-arrive .45s cubic-bezier(.2,.7,.25,1) both}
  .hero-copy>h1{animation-delay:40ms}.hero-copy>.hero-body{animation-delay:70ms}.hero-copy>.actions{animation-delay:100ms}.hero-copy>.rebrand{animation-delay:120ms}
  .hero-frame::before,.page-intro>.container::before{animation:regal-cloud-drift 4.8s ease-in-out 1}
  .reveal-enter{animation:regal-reveal .52s cubic-bezier(.2,.7,.25,1)}
  .language-switch .language-link{transition:background-color .2s,color .2s,box-shadow .2s}
  .button>span,.text-link>span,.header-enquire>span{display:inline-block;transition:transform .2s ease-out}
  .button:focus-visible>span,.text-link:focus-visible>span,.header-enquire:focus-visible>span{transform:translate(2px,-2px)}
  @media(hover:hover) and (pointer:fine){.button:hover>span,.text-link:hover>span,.header-enquire:hover>span{transform:translate(2px,-2px)}.dish-image{transition:background-color .25s,box-shadow .25s}.dish-image:hover{background-color:#e3e2d4;box-shadow:0 8px 20px #13281d12}}
  @media(max-width:600px){.hero-frame::before,.page-intro>.container::before{--drift-x:2px;--drift-y:-3px}}
}
.reveal-enter:focus-within,.reveal-enter:target,.hero-copy>.actions:focus-within{animation:none!important}
@media(hover:none){.dish-image:hover img{transform:none}}
@media(prefers-reduced-motion:reduce){.dish-image:hover img{transform:none}}
@media print{*,*::before,*::after{animation:none!important;transition:none!important}}

/* Homepage gathering invitation: original menu artwork, never a venue photograph. */
.gather-strip{background:linear-gradient(#18392fed,#122f27ed),url('/assets/brand/ink-texture-menu-background.webp') center/cover;scroll-margin-top:24px}
.gather-strip .gather-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:0;align-items:stretch;padding:20px;border:1px solid #a88e5f80;position:relative}
.gather-invitation{position:relative;padding:64px 56px;background:var(--paper);color:var(--text);min-width:0}
.gather-invitation::before{content:"";position:absolute;inset:12px;border:1px solid #bb925759;pointer-events:none}
.gather-invitation .eyebrow{color:#536d5c;font-size:.76rem;letter-spacing:.15em;margin-bottom:30px}
.gather-invitation h2{font-size:clamp(2rem,3.3vw,3rem);max-width:460px;margin-bottom:25px}
.gather-strip .gather-invitation .gather-body{color:var(--muted);font-size:1rem;line-height:1.9;margin-bottom:32px;max-width:440px}
.gather-invitation .button{min-height:54px;font-size:.87rem;gap:26px}
.gather-strip .gather-art{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:0;max-width:none;width:100%;margin:0;padding:34px 22px 34px 42px;text-align:center}
.gather-art-label{font-size:.65rem;line-height:1.8;letter-spacing:.24em;color:#cfb98c;margin-bottom:34px}
.gather-strip .gather-art img{width:100%;max-width:480px;height:auto;max-height:none;object-fit:contain;margin:0}
.gather-strip .gather-art p{font-size:1.2rem;line-height:1.8;max-width:330px;color:#eadac0!important;font-style:normal;margin:34px 0 0;text-wrap:balance}
.gather-strip .gather-art p::before{content:"";display:block;width:46px;height:1px;background:#bda071;margin:0 auto 22px}
@media(max-width:1100px){
  .gather-strip .gather-grid{padding:16px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
  .gather-invitation{padding:48px 36px}
  .gather-strip .gather-art{padding:30px 14px 30px 28px}
  .gather-art-label{font-size:.6rem;letter-spacing:.17em}
}
@media(max-width:760px){
  .gather-strip .gather-grid{grid-template-columns:minmax(0,1fr);padding:12px;gap:0}
  .gather-invitation{padding:42px 30px}
  .gather-invitation h2{max-width:460px}
  .gather-strip .gather-invitation .gather-body{max-width:480px}
  .gather-strip .gather-art{padding:28px 22px 22px}
  .gather-art-label{display:none}
  .gather-strip .gather-art img{max-width:300px}
  .gather-strip .gather-art p{font-size:1.08rem;margin-top:20px}
  .gather-strip .gather-art p::before{margin-bottom:15px;width:32px}
}
@media(max-width:400px){
  .gather-invitation{padding:36px 23px}
  .gather-invitation::before{inset:9px}
  .gather-invitation .eyebrow{font-size:.72rem;margin-bottom:22px}
  .gather-invitation h2{font-size:1.85rem}
  .gather-invitation .button{width:100%;gap:14px;padding-inline:10px}
  .gather-strip .gather-art{padding-inline:16px}
}
@media print{.gather-invitation{background:#fff}.gather-strip .gather-art img{max-width:260px}}

/* Section 03: the garden stays still during flight, then breathes once on arrival. */
.garden-scene{position:relative;isolation:isolate;width:100%;max-width:480px;padding:16px 10px 0}
.garden-stage{position:relative;aspect-ratio:1620/971;overflow:hidden;pointer-events:none}
.gather-strip .garden-scene img{width:100%;max-width:none}
.garden-layers{position:absolute;inset:0;visibility:hidden}
.garden-layers img,.garden-crane{position:absolute;inset:0}
.garden-base{transform-origin:50% 65%}
.garden-crane--upper{transform-origin:35% 25%}
.garden-crane--lower{transform-origin:69% 61%}
/* Mirror only the lower bird's transparent canvas: right-side landing, left-facing beak. */
.garden-crane--lower .crane-pose{transform:scaleX(-1)}
/* Register the extracted upper bird to the approved source; no source image is changed. */
.garden-crane--upper .crane-pose{transform:translateY(.5%) scale(.93);transform-origin:21% 2%}
.crane-pose,.crane-rig,.crane-wing{position:absolute;inset:0;width:100%;height:100%}
/* Keep a layout box so lazy body images can load before the rig is enabled. */
.crane-rig{opacity:0}
.crane-wing{overflow:visible}
.crane-wing--far{z-index:0}
.gather-strip .garden-scene .crane-body{z-index:1;height:100%;object-fit:fill}
.crane-wing--near{z-index:2}
.crane-wing-pivot{transform-box:view-box}
.garden-crane--upper .crane-wing--near .crane-wing-pivot{transform-origin:550px 248px}
.garden-crane--upper .crane-wing--far .crane-wing-pivot{transform-origin:548px 228px}
.garden-crane--lower .crane-wing--near .crane-wing-pivot{transform-origin:500px 596px}
.garden-crane--lower .crane-wing--far .crane-wing-pivot{transform-origin:504px 558px}
.garden-scene.is-layered .garden-fallback{visibility:hidden}
.garden-scene.is-layered .garden-layers{visibility:visible}
.garden-hint{display:block;position:relative;margin-top:22px;font-size:.72rem;line-height:1.7;letter-spacing:.07em;color:#d1c3a6;pointer-events:none}
.garden-hint[hidden]{display:block!important;visibility:hidden}
@keyframes garden-bloom{
  0%,100%{transform:scale(1)}
  45%{transform:scale(1.04)}
}
@keyframes garden-fly-upper{
  0%{transform:translate(-62%,35%) rotate(-14deg);opacity:0}
  16%{opacity:1}
  45%{transform:translate(-23%,9%) rotate(-9deg)}
  76%{transform:translate(-4%,1%) rotate(-3deg)}
  100%{transform:translate(0,0) rotate(0);opacity:1}
}
@keyframes garden-fly-lower{
  0%{transform:translate(59%,8%) rotate(10deg);opacity:0}
  16%{opacity:1}
  45%{transform:translate(22%,-10%) rotate(7deg)}
  76%{transform:translate(4%,-3%) rotate(2deg)}
  100%{transform:translate(0,0) rotate(0);opacity:1}
}
@media(prefers-reduced-motion:no-preference){
  .garden-scene.is-layered.is-arrived .garden-base{animation:garden-bloom .9s ease-in-out 1}
  .garden-scene.is-winged .crane-rig{display:block;opacity:var(--wing-rig-opacity,0)}
  .garden-scene.is-winged .crane-rest{opacity:calc(1 - var(--wing-rig-opacity,0))}
  .garden-crane--upper .crane-wing--near .crane-wing-pivot{transform:rotate(var(--wing-upper-angle,0deg))}
  .garden-crane--upper .crane-wing--far .crane-wing-pivot{transform:rotate(calc(var(--wing-upper-angle,0deg) * -.65))}
  .garden-crane--lower .crane-wing--near .crane-wing-pivot{transform:rotate(var(--wing-lower-angle,0deg))}
  .garden-crane--lower .crane-wing--far .crane-wing-pivot{transform:rotate(calc(var(--wing-lower-angle,0deg) * -.65))}
  /* A paused timeline is sampled by scroll progress; it never plays by elapsed time. */
  .garden-scene.is-layered .garden-crane{animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-iteration-count:1;animation-play-state:paused;animation-delay:calc(var(--garden-progress,1) * -1s)}
  .garden-scene.is-layered .garden-crane--upper{animation-name:garden-fly-upper}
  .garden-scene.is-layered .garden-crane--lower{animation-name:garden-fly-lower}
}
@media(max-width:760px){.garden-scene{max-width:320px;padding-inline:12px}.garden-hint{font-size:.7rem;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.garden-hint{visibility:hidden}.garden-scene .garden-layers{visibility:hidden!important}.garden-scene .garden-fallback{visibility:visible!important}.garden-crane{animation:none!important}}
@media print{.garden-hint{visibility:hidden}.garden-scene .garden-layers{visibility:hidden!important}.garden-scene .garden-fallback{visibility:visible!important}.garden-crane{animation:none!important}}

/* Homepage 01: stable card bounds, scroll-linked inner movement; original food crops unchanged. */
[data-selection-scene] .dish-arrival{display:flow-root}
[data-selection-scene] .dish-image img{transform:none!important}
[data-selection-scene] .dish-image::after{content:"";position:absolute;inset:0;border:1px solid var(--gold);opacity:0;pointer-events:none}
[data-selection-scene] .dish-card:focus-within .dish-image::after{opacity:1}
@media(prefers-reduced-motion:no-preference){
  [data-selection-scene].is-selection-active .dish-arrival{opacity:var(--selection-opacity,1);transform:translateY(var(--selection-shift,0px))}
  [data-selection-scene].is-selection-active .dish-card:focus-within .dish-arrival,
  [data-selection-scene].is-selection-active .dish-card:target .dish-arrival{opacity:1;transform:none}
  [data-selection-scene] .dish-image::after{transition:opacity .25s ease-out}
  @media(hover:hover)and(pointer:fine){
    [data-selection-scene] .dish-card:hover .dish-image::after{opacity:1}
    [data-selection-scene] .dish-card:hover .dish-image{box-shadow:0 8px 22px #244e4618}
    [data-selection-scene] .dish-card:hover .text-link>span{transform:translate(2px,-2px)}
  }
}
@media print{[data-selection-scene].is-selection-active .dish-arrival{opacity:1;transform:none}[data-selection-scene] .dish-image::after{display:none}}

/* Homepage 02: trace the garden window as the unscaled original art emerges. */
.footer-credit{padding:0 0 24px;text-align:center;font-size:.7rem;letter-spacing:.04em;color:#b0b5a8}
.menu-invitation{display:grid;grid-template-columns:.75fr 1fr;gap:100px;align-items:center}
.menu-book{display:block;width:min(100%,300px);margin:auto;box-shadow:10px 12px 0 #ddd7c7,0 15px 30px #18392f18;border:1px solid #b69b6a}
.menu-book img{display:block;width:100%;height:auto}
.menu-invitation h2{white-space:pre-line}.menu-invitation p:not(.eyebrow){color:var(--muted);max-width:470px;margin-bottom:30px}
.menu-reading{padding-top:45px}.menu-reader-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px}.menu-reader-intro>p{margin:0;color:var(--muted);font-size:.8rem}
.pdf-reader{border:1px solid #b8bbaa;background:#ecebe4;scroll-margin-top:16px}
.pdf-toolbar{padding:16px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#18392f;color:#eadcc0;border-block:1px solid #b99a6259}
.pdf-toolbar[hidden]{display:none}.pdf-paging,.pdf-options{display:flex;align-items:center;gap:10px;font-size:.8rem}
.pdf-toolbar button,.pdf-toolbar select,.pdf-toolbar input{min-height:44px;border:1px solid #b99a6266;border-radius:3px;background:transparent;color:#eadcc0;padding:8px;font:inherit;transition:background-color .25s,border-color .25s,color .25s}.pdf-toolbar input{width:42px;padding:4px;text-align:center;font-family:var(--heading);font-size:1.2rem;font-variant-numeric:tabular-nums;appearance:textfield;border-color:transparent;border-bottom-color:#b99a6270;border-radius:0}.pdf-toolbar input::-webkit-inner-spin-button,.pdf-toolbar input::-webkit-outer-spin-button{appearance:none;margin:0}.pdf-toolbar button{min-width:44px;cursor:pointer}.pdf-toolbar button:disabled{opacity:.28;cursor:default}.pdf-toolbar option{background:#18392f;color:#f7f3ea}
.pdf-toolbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.pdf-toolbar-brand img{width:22px;height:auto;flex:none}.pdf-toolbar-brand>span{font-size:.62rem;letter-spacing:.13em;line-height:1.7}.pdf-toolbar-brand small{display:block;font-size:.54rem;letter-spacing:.18em;color:#b7bda7}.pdf-options{justify-self:end;padding-left:18px;border-left:1px solid #b99a6259}.pdf-paging>span{color:#b7bda7;font-variant-numeric:tabular-nums;margin-right:8px}.pdf-paging>button{font-size:1.2rem;border-radius:50%}.pdf-options button{display:inline-flex;align-items:center;gap:8px;padding-inline:12px;white-space:nowrap}.pdf-options button[hidden]{display:none}.pdf-options button::before{content:'⛶';font-size:1.2rem;line-height:1}.pdf-zoom-label::before{content:'⌕';font-size:1.3rem;color:#d1b580}.pdf-toolbar select{max-width:130px}.pdf-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pdf-toolbar :is(button,select,input):focus-visible{outline:2px solid #e6c893;outline-offset:3px;background:#ffffff0a}
@media(hover:hover){.pdf-toolbar button:not(:disabled):hover,.pdf-toolbar select:hover{background:#bb925724;border-color:#d3b47a;color:#fff2d9}}
@media(max-width:950px){.pdf-toolbar{grid-template-columns:1fr auto;gap:14px}.pdf-options{grid-column:1/-1;justify-self:stretch;justify-content:flex-end;padding:12px 0 0;border-left:0;border-top:1px solid #b99a6238}.pdf-toolbar-brand>span{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.pdf-toolbar button,.pdf-toolbar select,.pdf-toolbar input{transition:none}}
.pdf-paging>button{width:44px;height:44px;padding:0;line-height:1;flex:none}
.pdf-options .pdf-zoom-step{width:44px;height:44px;padding:0;justify-content:center;font-size:1.25rem;line-height:1;flex:none}.pdf-options .pdf-zoom-step::before{content:none}
@media(max-width:650px){.pdf-options{justify-content:center}.pdf-options .pdf-zoom-label::before{content:none}}
.pdf-toolbar label{display:flex;align-items:center;gap:8px}.pdf-status{padding:10px 16px;margin:0;font-size:.75rem;line-height:1.5;color:#455948}
.pdf-scroll{position:relative;height:75vh;min-height:400px;overflow:auto;overscroll-behavior:contain;padding:16px;scrollbar-gutter:stable}
.pdf-spread{display:flex;gap:12px;width:max-content;margin:0 auto 24px;align-items:flex-start}
.pdf-spread[hidden]{display:none}.pdf-options label[hidden]{display:none}
.pdf-options .pdf-sound::before{content:none}
.pdf-blank{width:var(--book-width);height:var(--book-height);background:#eee7d8;box-shadow:inset 0 0 30px #8d74551a;flex:none}
.pdf-spread .pdf-sheet{backface-visibility:hidden;box-shadow:0 5px 16px #0003}
.pdf-sheet{position:relative;flex:none;margin:0;background:white;box-shadow:0 2px 10px #14241d18;max-width:none}
.pdf-options{flex-wrap:wrap}.pdf-toolbar{grid-template-columns:auto auto 1fr}
@media(max-width:1100px){.pdf-toolbar{grid-template-columns:1fr auto}.pdf-options{grid-column:1/-1;justify-self:stretch;justify-content:flex-end;padding:12px 0 0;border-left:0;border-top:1px solid #b99a6238}}
.pdf-sheet canvas{width:100%;height:100%;display:block}.pdf-sheet figcaption{position:absolute;bottom:4px;left:6px;max-width:calc(100% - 12px);padding:2px 6px;background:#f7f3eae6;color:#334c3a;font-size:.65rem;pointer-events:none}
.pdf-reader:fullscreen{display:flex;flex-direction:column;width:100%;height:100%;background:#ecebe4}.pdf-reader:fullscreen .pdf-scroll{flex:1;min-height:0;height:auto}
@media(max-width:650px){.menu-invitation{grid-template-columns:1fr;gap:42px}.menu-book{width:220px}.menu-invitation h2{font-size:2.2rem}.menu-reading>.container{width:calc(100% - 24px)}.pdf-toolbar{padding:10px;gap:10px}.pdf-paging,.pdf-options{font-size:.72rem;gap:6px}.pdf-scroll{height:68vh;min-height:320px}.menu-reader-intro .actions{gap:16px}.menu-invitation .actions{gap:14px}}
.arrival-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
.arrival-welcome h2{margin-bottom:32px}
.arrival-gate{position:relative;width:82%;max-width:330px;aspect-ratio:1.2;margin-left:24px;border:1px solid #b69b6a;border-radius:180px 180px 0 0;overflow:hidden;background:#e6ecdf}
.arrival-gate img{width:100%;height:100%;object-fit:cover;opacity:.7}
.arrival-gate span{position:absolute;bottom:0;left:0;right:0;padding:24px 10px 14px;text-align:center;font-size:.55rem;letter-spacing:.18em;color:#365744;background:linear-gradient(transparent,#e6ecdf)}
.arrival-card{position:relative;padding:48px;background:#18392f;color:#f7f3ea;border:1px solid #8d805b;box-shadow:12px 12px 0 #e8e4d8}
.arrival-card>.eyebrow{color:#d0b887;font-size:.62rem;margin-bottom:20px}
.arrival-rule{height:1px;width:100%;background:#b99a6266;margin-bottom:30px}
.arrival-label{font-size:.7rem;letter-spacing:.08em;color:#c9cdbb;margin:0 0 12px}
.arrival-card address{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.7;font-style:normal;margin-bottom:28px}
.arrival-card address span{font-size:.88rem;color:#c9cdbb}
.arrival-phones{display:flex;flex-wrap:wrap;gap:6px 26px;padding-top:24px;border-top:1px solid #a8ae9233}
.arrival-phones .arrival-label{flex-basis:100%;margin-bottom:4px}
.arrival-phones a{font-family:var(--heading);font-size:1.23rem;white-space:nowrap}
.arrival-phones a:hover{color:#e1bf86}
.arrival-hours{color:#c9cdbb;font-size:.75rem;line-height:1.7;margin:20px 0 28px}
.arrival-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px}
.arrival-actions .text-link{font-size:.75rem;color:#e4d4b6}
.arrival-map{height:370px;overflow:hidden;border:1px solid #b69b6a;border-radius:170px 170px 4px 4px;background:#e6ecdf}
.arrival-map-prompt{height:100%;padding:65px 24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#365744}
.arrival-map-prompt>.eyebrow{font-size:.58rem;margin-bottom:12px}
.arrival-map-prompt>p{font-size:.9rem;margin-bottom:18px}
.arrival-map-prompt .arrival-map-note{font-size:.65rem;line-height:1.7;max-width:270px;margin:16px 0 0;color:#536653}
.arrival-map iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:950px){.arrival-grid{gap:36px}.arrival-card{padding:32px}.arrival-gate{margin-left:0;width:90%}}
@media(max-width:650px){.arrival-section{padding-block:60px}.arrival-grid{grid-template-columns:1fr;gap:28px}.arrival-welcome{position:relative;min-height:155px;padding-right:120px;display:flex;flex-direction:column;justify-content:center}.arrival-welcome h2{font-size:2rem;margin:0}.arrival-welcome .eyebrow{font-size:.62rem;margin-bottom:12px}.arrival-gate{position:absolute;right:0;top:0;width:110px;height:150px;aspect-ratio:auto;margin:0}.arrival-gate span{display:none}.arrival-card{padding:28px 24px;box-shadow:6px 6px 0 #e8e4d8}.arrival-card address{font-size:1.22rem}.arrival-actions{gap:12px 20px}.arrival-phones a{font-size:1.18rem}}
@media(max-width:650px){.arrival-map-welcome{display:block;padding-right:0}.arrival-map-welcome h2{margin-bottom:24px}.arrival-map{height:350px;border-radius:150px 150px 4px 4px}}
/* Native cursor; restrained gold feedback belongs to interactive elements. */
.button{transition:background-color .35s ease,color .35s ease,border-color .35s ease}
.text-link,.header-enquire{position:relative}
.text-link::after,.header-enquire::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;pointer-events:none}
.button.button:focus-visible{background:#d1ac71;border-color:#d1ac71;color:#141710}
.text-link:focus-visible::after,.header-enquire:focus-visible::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
  .button.button:hover{background:#d1ac71;border-color:#d1ac71;color:#141710}
  .text-link:hover::after,.header-enquire:hover::after{transform:scaleX(1)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .dish-image:hover img,[data-selection-scene] .dish-image:hover img{transform:scale(1.025)!important}
}
@media(prefers-reduced-motion:reduce){.button,.text-link::after,.header-enquire::after{transition:none}}
[data-story-scene="cover"] .story-cover-view{position:relative;overflow:hidden;border-radius:inherit}
[data-story-scene="cover"] .cover-mist{position:absolute;pointer-events:none;left:-30%;width:160%;height:24%;top:61%;opacity:0;background:radial-gradient(ellipse at 25% 55%,#f7f4e6b0 0%,transparent 38%),radial-gradient(ellipse at 65% 45%,#eaf1e3c0 0%,transparent 42%);filter:blur(10px)}
[data-story-scene="cover"] .cover-mist--near{top:72%;height:18%}
@media(prefers-reduced-motion:no-preference){
  [data-story-scene="cover"].is-story-active .story-cover-view .story-reveal{opacity:1;transform:scale(var(--story-scene-scale,1));transform-origin:55% 72%;mask-image:none;-webkit-mask-image:none}
  [data-story-scene="cover"].is-story-mist-active .cover-mist{animation:cover-mist-left 16s linear infinite}
  [data-story-scene="cover"].is-story-mist-active .cover-mist--near{animation-duration:21s;animation-delay:-9s}
  @keyframes cover-mist-left{0%{transform:translateX(24%);opacity:0}18%,75%{opacity:.65}100%{transform:translateX(-24%);opacity:0}}
}
@media print{[data-story-scene="cover"] .cover-mist{display:none}}
/* Registered copies of the untouched artwork: broad overlapping masks avoid hard seams. */
.cover-depth-layer{display:none;position:absolute;inset:0;pointer-events:none;transform-origin:55% 72%}
.cover-depth-sway{display:block;position:absolute;inset:0;background:url('/assets/brand/garden-cover-artwork.webp') center/100% 100% no-repeat}
.cover-depth--middle{mask-image:radial-gradient(ellipse 29% 23% at 53% 69%,#000 72%,transparent 100%)}
.cover-depth--foreground{transform-origin:50% 100%}
.garden-window.large .cover-foreground{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:fill}
/* Divide only through the transparent central corridor, preserving leaf contours. */
.cover-foreground--left{mask-image:linear-gradient(90deg,#000 54%,transparent 54%);transform-origin:20% 100%}
.cover-foreground--right{mask-image:linear-gradient(90deg,transparent 54%,#000 54%);transform-origin:85% 100%}
@media(prefers-reduced-motion:no-preference){
  [data-story-scene="cover"].is-story-active .cover-depth-layer{display:block}
  [data-story-scene="cover"].is-story-active .story-cover-view .story-reveal{transform:scale(calc(1 + var(--cover-depth,0)*.025))}
  .cover-depth--middle{transform:translateY(calc(var(--cover-depth,0)*-2%)) scale(calc(1 + var(--cover-depth,0)*.17))}
  .cover-depth--foreground{transform:translateY(calc(var(--cover-depth,0)*-1%)) scale(calc(1 + var(--cover-depth,0)*.12))}
  .cover-foreground--left{animation:cover-leaf-wind 7.6s ease-in-out -1.3s infinite;animation-play-state:paused}
  .cover-foreground--right{animation:cover-leaf-wind 9.2s ease-in-out -4.8s infinite reverse;animation-play-state:paused}
  .is-story-mist-active .cover-foreground{animation-play-state:running}
  @keyframes cover-leaf-wind{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.5deg)}}
  @media(max-width:600px){[data-story-scene="cover"] .cover-depth-layer{transform:scale(calc(1 + var(--cover-depth,0)*.065))}}
}
.garden-window.large .cover-clean-patch{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:fill;opacity:0;pointer-events:none;mask-image:radial-gradient(ellipse 8% 5% at 36% 64%,#000 70%,transparent 100%)}
@media(prefers-reduced-motion:no-preference){
  [data-story-scene="cover"].is-story-flight-ready .cover-clean-patch{opacity:1}
  [data-story-scene="cover"] .story-cover-view .story-bird{left:28%;top:59%;width:17%;z-index:2;transform-origin:center}
  [data-story-scene="cover"].is-story-flight-ready .story-cover-view .story-bird{transform:translate(var(--story-bird-x,0px),var(--story-bird-y,0px)) rotate(var(--story-bird-angle,0deg)) scale(var(--story-bird-scale,1))}
  [data-story-scene="cover"].is-story-mist-active.is-story-wings-ready .story-wing--near .story-wing-pivot{animation:cover-crane-flap 1.1s ease-in-out infinite alternate}
  [data-story-scene="cover"].is-story-mist-active.is-story-wings-ready .story-wing--far .story-wing-pivot{animation:cover-crane-flap 1.1s ease-in-out -.12s infinite alternate-reverse}
  @keyframes cover-crane-flap{from{transform:rotate(-30deg)}to{transform:rotate(32deg)}}
  [data-story-scene="cover"] .cover-mist{z-index:3}
}
@media print{.cover-depth-layer,.cover-clean-patch{display:none!important}}
.page-intro.story-title{padding:44px 0;background:radial-gradient(ellipse at 80% 70%,#24473a85,transparent 55%),#14241d;border-bottom:3px solid #c4aa7e;border-image:var(--gold-line) 1}
.story-title>.container::before,.story-title>.container::after{display:none}
.story-title-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px}
.story-title-copy{padding-block:24px}
.story-title-copy .eyebrow{margin-bottom:26px;letter-spacing:.19em}
.page-intro.story-title h1{font-size:clamp(2.8rem,5.4vw,4.5rem);line-height:1.2;margin:0 0 25px;clear:none}
.story-title-rule{display:block;width:52px;height:1px;background:#bb9b5e;margin-bottom:23px}
.story-title-art{position:relative;height:280px;max-width:420px;width:100%;justify-self:end;pointer-events:none}
.story-title-orbit{position:absolute;width:235px;height:235px;border:1px solid #c8aa6970;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;top:5px;right:45px;transform:rotate(-24deg)}
.story-title-crane{position:absolute;width:105px;height:auto;top:18px;right:128px;transform:rotate(-7deg);opacity:.92}
.story-title-crane .story-bird-rest{display:block;width:100%;height:auto}
.story-title-crane .story-wing-rig,.story-title-crane .story-wing,.story-title-crane .story-wing-body{position:absolute;inset:0;width:100%;height:100%}
.story-title-crane .story-wing-rig{opacity:0}
.story-title-crane .story-wing{overflow:visible}
.story-title-crane .story-wing-pivot{transform-box:view-box}
.story-title-crane .story-wing--near .story-wing-pivot{transform-origin:585px 595px}
.story-title-crane .story-wing--far .story-wing-pivot{transform-origin:570px 550px}
@media(prefers-reduced-motion:no-preference){
  .is-title-flying .story-title-crane{animation:none;transform:rotate(-7deg);opacity:.92}
  .is-title-flying .story-title-crane .story-bird-rest{opacity:0}
  .is-title-flying .story-title-crane .story-wing-rig{opacity:1}
  .is-title-flying .story-wing--near .story-wing-pivot{animation:title-wing-near 1.8s ease-in-out 1s 3 both}
  .is-title-flying .story-wing--far .story-wing-pivot{animation:title-wing-far 1.8s ease-in-out 1s 3 both}
  @keyframes title-wing-near{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-8deg)}70%{transform:rotate(6deg)}}
  @keyframes title-wing-far{0%,100%{transform:rotate(0deg)}35%{transform:rotate(5deg)}75%{transform:rotate(-4deg)}}
  .is-title-paused .story-title-crane,.is-title-paused .story-wing-pivot{animation-play-state:paused}
  .is-title-reduced .story-title-crane,.is-title-reduced .story-wing-pivot{animation:none}
  @keyframes title-crane-depart{0%{transform:translate(0,0) rotate(-7deg) scale(1);opacity:.92}45%{transform:translate(48px,-28px) rotate(-14deg) scale(.78);opacity:.92}75%{opacity:.65}100%{transform:translate(125px,-90px) rotate(-5deg) scale(.25);opacity:0}}
}
.story-title-flowers{position:absolute;width:100%;height:auto;bottom:0;right:0;opacity:.86}
.story-title-mist{position:absolute;bottom:40px;left:0;width:100%;height:50px;background:radial-gradient(ellipse,#d4e1d119,transparent 65%);filter:blur(9px)}
@media(prefers-reduced-motion:no-preference){.story-title-mist{animation:title-mist-drift 12s ease-in-out infinite alternate}@keyframes title-mist-drift{from{transform:translateX(14px)}to{transform:translateX(-18px)}}}
@media(max-width:600px){.page-intro.story-title{padding:30px 0 24px}.story-title-grid{grid-template-columns:1fr;gap:8px}.story-title-copy{padding:8px 0}.story-title-copy .eyebrow{margin-bottom:18px}.page-intro.story-title h1{font-size:2.65rem;margin-bottom:20px}.story-title-rule{margin-bottom:18px}.story-title-art{height:185px;width:260px;justify-self:end}.story-title-orbit{width:160px;height:160px;right:28px;top:0}.story-title-crane{width:76px;right:87px;top:5px}}
@media print{.story-title-art{display:none}.story-title-grid{display:block}}
#about{scroll-margin-top:90px;overflow:clip}
[data-story-scene] .story-art{position:relative;width:100%;max-width:490px;margin-inline:auto}
[data-story-scene] .story-art .garden-window{width:100%;max-width:none;margin:0}
[data-story-scene] .story-reveal{position:relative}
[data-story-scene] .story-sky-patch{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;mask-image:radial-gradient(ellipse 11% 11% at 54.3% 38.8%,#000 70%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 11% 11% at 54.3% 38.8%,#000 70%,transparent 100%)}
[data-story-scene] .story-cloud-plate{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 54%,#000 63%,#000 84%,transparent 94%),linear-gradient(to right,transparent 28%,#000 43%);mask-composite:intersect}
/* Derived from the actual cloud bank beneath the pavilion, on full-size transparent canvases. */
[data-story-scene] .story-mist{position:absolute;display:block;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;z-index:1;will-change:transform,opacity}
[data-story-scene] .story-mist img{width:100%;height:100%;object-fit:fill;mask-image:linear-gradient(to right,transparent 18%,#000 36%,#000 83%,transparent 100%)}
[data-story-scene] .story-bird{position:absolute;width:16%;height:auto;left:46.3%;top:var(--story-bird-home-y,31px);opacity:0;pointer-events:none;z-index:3}
[data-story-scene] .story-bird-rest{display:block;width:100%;height:auto}
[data-story-scene] .story-wing-rig,[data-story-scene] .story-wing,[data-story-scene] .story-wing-body{position:absolute;inset:0;width:100%;height:100%}
[data-story-scene] .story-wing-rig{opacity:0;pointer-events:none}
[data-story-scene] .story-wing{overflow:visible}
[data-story-scene] .story-wing-pivot{transform-box:view-box}
[data-story-scene] .story-wing--far .story-wing-pivot{transform-origin:570px 550px}
[data-story-scene] .story-wing--near .story-wing-pivot{transform-origin:585px 595px}
@media(max-width:600px){[data-story-scene] .story-art{max-width:370px}}
[data-story-scene] .garden-window{isolation:isolate}
[data-story-scene] .garden-caption{position:relative;background:#e1e9dd}
[data-story-scene] .garden-trace{display:none;position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);z-index:2;pointer-events:none;fill:none}
[data-story-scene] .garden-trace path{stroke:#b18a4f;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:var(--story-trace-offset,0);vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:no-preference){
  [data-story-scene].is-story-active .garden-trace{display:block}
  [data-story-scene].is-story-active .story-reveal{opacity:var(--story-opacity,1);transform:translateY(var(--story-shift,0px)) scale(var(--story-scene-scale,1));transform-origin:78% 55%}
  [data-story-scene].is-story-active .story-copy>*{opacity:var(--story-opacity,1);transform:translateY(var(--story-shift,0px))}
  [data-story-scene].is-story-active .story-copy:focus-within>*{opacity:1;transform:none}
  [data-story-scene].is-story-active .story-reveal{-webkit-mask-image:linear-gradient(to top,#000 var(--story-reveal-solid,100%),transparent var(--story-reveal-edge,124%));mask-image:linear-gradient(to top,#000 var(--story-reveal-solid,100%),transparent var(--story-reveal-edge,124%))}
  [data-story-scene].is-story-flight-ready .story-sky-patch{opacity:1}
  [data-story-scene].is-story-flight-ready .story-bird{opacity:var(--story-bird-opacity,0);transform:translate(var(--story-bird-x,0px),var(--story-bird-y,0px)) rotate(var(--story-bird-angle,0deg))}
  [data-story-scene].is-story-wings-ready .story-bird-rest{opacity:calc(1 - var(--story-wing-mix,0))}
  [data-story-scene].is-story-wings-ready .story-wing-rig{opacity:var(--story-wing-mix,0)}
  [data-story-scene].is-story-wings-ready .story-wing--near .story-wing-pivot{transform:rotate(var(--story-wing-angle,0deg))}
  [data-story-scene].is-story-wings-ready .story-wing--far .story-wing-pivot{transform:rotate(calc(var(--story-wing-angle,0deg) * -.65))}
  [data-story-scene].is-story-clouds-ready .story-cloud-plate{opacity:1}
  [data-story-scene].is-story-clouds-ready.is-story-mist-active .story-mist--far{animation:story-mist-far 18s linear infinite;animation-delay:-2s}
  [data-story-scene].is-story-clouds-ready.is-story-mist-active .story-mist--near{animation:story-mist-near 14s linear infinite;animation-delay:-4s}
  @keyframes story-mist-far{0%{opacity:0;transform:translate3d(40%,-3%,0) scale(.94)}20%,68%{opacity:.68}100%{opacity:0;transform:translate3d(-85%,-5%,0) scale(.98)}}
  @keyframes story-mist-near{0%{opacity:0;transform:translate3d(38%,0,0)}20%,72%{opacity:1}100%{opacity:0;transform:translate3d(-95%,-2%,0)}}
  @media(hover:hover)and(pointer:fine){
    [data-story-scene] .garden-window{transition:box-shadow .25s ease-out}
    [data-story-scene] .garden-window:hover{box-shadow:0 0 0 1px #bb925750,0 8px 28px #36574410}
  }
}
@media print{[data-story-scene].is-story-active .story-reveal,[data-story-scene].is-story-active .story-copy>*{opacity:1;transform:none;-webkit-mask-image:none;mask-image:none}[data-story-scene].is-story-active .garden-trace{display:none}[data-story-scene] .story-sky-patch,[data-story-scene] .story-bird,[data-story-scene] .story-mist{display:none}}
@media print{[data-story-scene] .story-cloud-plate{display:none}}
.garden-music{position:fixed;z-index:35;right:24px;bottom:24px;display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 17px;border:1px solid #bca16e;border-radius:28px;background:#173b32;color:#eee5ce;font:inherit;font-size:12px;letter-spacing:.08em;box-shadow:0 4px 18px #102d241c;cursor:pointer}
.garden-music:hover{background:#234e41}.garden-music:focus-visible{outline:3px solid #bd9252;outline-offset:4px}.music-note{font-size:19px;color:#d5b67a}.garden-music[data-state="playing"] .music-note{animation:music-breathe 3s ease-in-out infinite}
@keyframes music-breathe{50%{opacity:.5}}
@media(max-width:760px){.garden-music{right:14px;bottom:calc(80px + env(safe-area-inset-bottom));padding:9px 13px}}
@media(prefers-reduced-motion:reduce){.garden-music .music-note{animation:none!important}}
@media print{.garden-music{display:none}}
.navigation-notice{position:fixed;z-index:80;left:50%;bottom:100px;transform:translateX(-50%);width:min(90%,650px);background:#f5f0e4;color:#173b32;border:1px solid #bd9252;padding:18px;box-shadow:0 8px 28px #0003;display:flex;gap:14px;flex-wrap:wrap}.navigation-notice[hidden]{display:none}.navigation-notice button,.navigation-notice a{color:inherit;font:inherit;text-decoration:underline;background:none;border:0;cursor:pointer}
.quote-section{padding:64px 0 80px;background:#e8ede3}
.quote-card{position:relative;isolation:isolate;margin:0;padding:66px 36px 52px;background:#f7f3e9;border:1px solid #b9995b66;box-shadow:0 12px 35px #18392d06;text-align:center}
.quote-card::before{content:"";position:absolute;inset:12px;border:1px solid #b9995b38;pointer-events:none}
.quote-content{position:relative;z-index:1;max-width:680px;margin:auto}
.quote-kicker{font-size:.65rem;letter-spacing:.22em;color:#7c6945;margin:0 0 26px}
.quote-section .quote-card blockquote{font-family:var(--heading);font-size:clamp(1.6rem,3.3vw,2.7rem);line-height:1.85;letter-spacing:.045em;margin:0;color:#344d42}
.quote-card blockquote span{display:block}
.quote-card blockquote em{font-style:normal;color:#173e32}
.quote-rule{display:block;width:46px;height:1px;background:#b99759;margin:28px auto 24px}
.quote-section .quote-note{max-width:480px;margin:0 auto 26px;color:#59685c;font-size:.88rem;line-height:1.9}
.quote-source{font-size:.6rem;letter-spacing:.16em;color:#7a725f}
.quote-flora{position:absolute;width:210px;height:auto;opacity:.25;pointer-events:none;z-index:0}
.quote-flora--left{left:18px;bottom:22px;transform:rotate(-12deg)}
.quote-flora--right{right:20px;top:25px;width:180px;transform:rotate(165deg);opacity:.19}
@media(max-width:600px){
 .quote-section{padding:36px 0 48px}
 .quote-card{padding:60px 22px 48px}
 .quote-card::before{inset:8px}
 .quote-section .quote-card blockquote{font-size:clamp(1.05rem,4.9vw,1.75rem);letter-spacing:.01em;line-height:2}
 .quote-kicker{font-size:.55rem;letter-spacing:.15em;margin-bottom:25px}
 .quote-section .quote-note{font-size:.8rem;max-width:240px}
 .quote-flora--left{width:116px;left:9px;bottom:12px;opacity:.18}
 .quote-flora--right{width:112px;right:10px;top:12px;opacity:.16}
 .quote-source{font-size:.53rem;letter-spacing:.08em}
}

/* Owner-approved champagne palette. Artwork and original logo remain untouched. */
:root{--gold:#c4aa7e;--gold-hover:#d3bc96;--bronze:#76603e;--ink:#142c25;--jade:#203e34;--paper:#faf6ee;--cream:#eee3d0;--text:#20362e;--muted:#5e6258;--line:#d9cbb3}
.dark,.site-header,.site-footer{background-color:var(--ink)}
.eyebrow{color:var(--bronze)}
.dark .eyebrow,.journey-copy .eyebrow,.arrival-card>.eyebrow,.gather-art-label,.header-enquire{color:var(--gold)}
.site-header{border-bottom-color:#c4aa7e55}
.site-footer{border-top:1px solid #c4aa7e66}
.desktop-nav [aria-current],.site-footer [aria-current],.desktop-nav a:hover{color:var(--gold)}
.language-switch{border-color:#c4aa7e88}
.language-switch .language-link[aria-current="true"]{background:#c4aa7e22;color:var(--gold);box-shadow:inset 0 -2px var(--gold)}
.language-switch .language-link:hover{background:#c4aa7e33;color:var(--paper)}
.button,.button.gold,.button.light{background:var(--gold);border-color:var(--bronze);color:var(--ink)}
.button:hover,.button.gold:hover,.button.light:hover{background:var(--gold-hover);color:var(--ink);border-color:var(--bronze)}
.button.outline{background:transparent;border-color:var(--gold);color:var(--gold)}
.button.outline:hover{background:var(--gold);color:var(--ink)}
.text-link{border-bottom-color:var(--gold)}
.text-link:hover{color:var(--bronze)}
.dark .text-link:hover,.arrival-card .text-link:hover{color:var(--gold-hover)}
.story-strip,.quote-section,.enquiry-section,.index-section{background:#f0e8da}
.garden-window{border-color:var(--gold)}
.garden-caption{background:#eee3d0;color:var(--bronze)}
.gather-strip{background:linear-gradient(#f0e6d5f5,#eee2cff5),url('/assets/brand/ink-texture-menu-background.webp') center/cover;color:var(--text)}
.gather-strip .gather-grid{border-color:var(--gold)}
.gather-invitation{background:var(--paper)}
.gather-art-label,.gather-strip .eyebrow{color:var(--bronze)}
.gather-strip .gather-art p{color:var(--text)!important}
.gather-strip .gather-art p::before{background:var(--gold)}
.gather-strip .garden-scene{color:var(--bronze)}
.gather-strip .garden-hint{color:var(--bronze)}
.arrival-card{background:var(--jade);border-color:var(--gold);box-shadow:12px 12px 0 #e9ddc7}
.arrival-gate,.quote-card,.quote-card::before{border-color:var(--gold)}
.quote-card{background:var(--paper)}
.quote-kicker,.quote-source{color:var(--bronze)}
.final-cta,.visit-garden{background:var(--gold);color:var(--ink)}
.final-cta .eyebrow,.visit-garden .eyebrow{color:var(--ink)}
.final-cta .button,.visit-garden .button.outline{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.final-cta .button:hover,.visit-garden .button.outline:hover{background:var(--jade);color:var(--paper)}
.menu-disclosure{background:#eee3d0;border-left-color:var(--bronze);color:var(--text)}
.pdf-reader,.pdf-reader:fullscreen{background:#eee3d0;border-color:var(--gold)}
.pdf-toolbar{background:var(--ink);color:var(--gold);border-color:var(--gold)}
.pdf-toolbar button,.pdf-toolbar select,.pdf-toolbar input{color:var(--paper);border-color:#c4aa7e88}
.pdf-toolbar option{background:var(--ink);color:var(--paper)}
.pdf-toolbar button:not(:disabled):hover,.pdf-toolbar select:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.pdf-status{color:var(--muted)}
.garden-music{background:var(--gold);color:var(--ink);border-color:var(--bronze)}
.garden-music:hover{background:var(--gold-hover)}
.music-note{color:var(--ink)}
.mobile-contact{background:var(--paper);border-top-color:var(--gold)}
.mobile-contact a{border-color:var(--bronze);color:var(--ink)}
.mobile-contact a:last-child{background:var(--gold);color:var(--ink);border-color:var(--bronze)}
:where(a,button,input,select,summary):focus-visible{outline:2px solid var(--bronze);outline-offset:4px}
.dark :where(a,button,input,select,summary):focus-visible{outline-color:var(--gold)}
@media(max-width:650px){.arrival-card{box-shadow:6px 6px 0 #e9ddc7}}
@media print{.gather-strip,.final-cta,.visit-garden{background:#fff!important;color:#111!important}}

/* Confirmed champagne header and home opening; preserve original artwork. */
.hero-journey,.journey-stage{background:var(--gold);color:var(--ink)}
.site-header{background:var(--night);color:var(--paper);border-bottom:1px solid var(--gold);border-image:var(--gold-line) 1}
.site-header .language-switch .language-link{color:var(--paper)}
.site-header .header-enquire,.site-header .desktop-nav [aria-current],.site-header .desktop-nav a:hover{color:var(--gold)}
.site-header .desktop-nav [aria-current]{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:1px}
.site-header .language-switch{border-color:#c4aa7e88}
.site-header .language-switch .language-link[aria-current="true"]{background:#c4aa7e22;color:var(--gold);box-shadow:inset 0 -2px var(--gold)}
.site-header .language-switch .language-link:hover{background:#c4aa7e33;color:var(--gold-hover)}
.site-header .header-enquire{border-color:var(--gold)}
.site-header .header-enquire::after{background:var(--gold)}
.site-header .mobile-nav nav{background:var(--night);color:var(--paper);border-color:#c4aa7e66}
.site-header .mobile-nav nav a{border-color:#c4aa7e33}
.site-header .mobile-nav [aria-current]{color:var(--gold);text-decoration:underline;text-underline-offset:5px}
.hero-journey .journey-copy .eyebrow,.journey-body,.journey-rebrand,.journey-controls .text-link{color:var(--ink)}
.journey-controls .text-link{border-color:var(--ink)}
.journey-controls .button{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.journey-controls .button:hover{background:var(--jade);color:var(--paper)}
.journey-track{background:#142c2526}
.journey-track span{background:var(--ink)}
.site-header :where(a,button,summary):focus-visible{outline-color:var(--gold)}

/* Garden companions and original menu leather, approved by the owner. */
/* Poetic opening typography; exact copy and scroll transforms are preserved. */
.journey-copy .eyebrow{display:flex;align-items:center;gap:16px;letter-spacing:.2em;font-size:.61rem}
.journey-copy .eyebrow::before{content:"";width:36px;height:1px;flex:none;background:var(--gold-line)}
html:lang(zh) .hero-journey .journey-copy h1{font-family:"Songti SC","Noto Serif SC",SimSun,serif;font-size:clamp(2.6rem,4.9vw,4.6rem);line-height:1.45;letter-spacing:.08em;margin-bottom:24px}
.journey-verse{display:block;white-space:nowrap}
.journey-verse+.journey-verse{margin-left:.7em}
.journey-body{max-width:34%;font-size:.86rem;line-height:2.05;letter-spacing:.025em}
.journey-rebrand{font-size:.6rem;line-height:1.8;letter-spacing:.06em;margin-top:24px}
@media(max-width:760px){
 .journey-copy .eyebrow{font-size:.53rem;gap:10px;letter-spacing:.16em}
 .journey-copy .eyebrow::before{width:24px}
 html:lang(zh) .hero-journey .journey-copy h1{font-size:clamp(1.85rem,6.7vw,2.5rem);line-height:1.38;margin-bottom:14px;letter-spacing:.06em}
 .journey-verse+.journey-verse{margin-left:.6em}
 .journey-body{max-width:100%;font-size:.8rem;line-height:1.8}
 .journey-rebrand{margin-top:12px;font-size:.56rem}
}
@media(max-width:760px) and (max-height:700px){html:lang(zh) .hero-journey .journey-copy h1{font-size:1.65rem;line-height:1.3;margin-bottom:10px}.journey-rebrand{margin-top:8px}}
:root{--garden-mist:#e7ede2;--blossom:#ead2c6;--night:#101113;--gold-line:linear-gradient(100deg,#735331 0%,#c4aa7e 28%,#f2dfb2 49%,#c4aa7e 70%,#80603b 100%)}
.story-strip,.quote-section{background:var(--garden-mist)}
.gather-strip{background:linear-gradient(115deg,#f0e6d5 0%,#eee3d0 62%,#ead2c6 100%)}
.quote-card::before{border-color:#c4aa7e88}
.quote-rule,.gather-strip .gather-art p::before{background:var(--gold-line)}
#selections,.site-footer,.pdf-toolbar{background:var(--night) url('/assets/brand/ink-texture-menu-background.webp') center bottom/cover;color:var(--paper)}
#selections,.site-footer{position:relative}
#selections::before,#selections::after,.site-footer::before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--gold-line);pointer-events:none}
#selections::before,.site-footer::before{top:0}
#selections::after{bottom:0}
#selections .eyebrow{color:var(--gold)}
#selections .menu-invitation p:not(.eyebrow){color:#e2d9c9}
#selections .text-link{color:var(--paper)}
#selections .text-link:hover{color:var(--gold-hover)}
#selections .menu-book{border-color:var(--gold);box-shadow:10px 12px 0 #c4aa7e26,0 18px 36px #0006}
#selections :where(a,button):focus-visible,.site-footer :where(a,button):focus-visible{outline-color:var(--gold)}
.pdf-toolbar{border-bottom:2px solid var(--gold);border-image:var(--gold-line) 1}
.footer-brand p{color:var(--gold)}
.footer-top address,.footer-bottom{color:#d2cbbb}
.footer-bottom{border-top-color:#c4aa7e55}
@media print{#selections{background:#fff!important;color:#111!important}#selections .eyebrow,#selections .menu-invitation p:not(.eyebrow),#selections .text-link{color:#111}#selections::before,#selections::after{display:none}}

[data-pdf-reader][data-layout="double"] .pdf-sheet{cursor:pointer}
/* Decorative occasion emblems sit on the existing rules; headings carry meaning. */
.occasion-grid>article{position:relative;border-top-color:#c4aa7e;padding-top:46px}
.occasion-grid>article::before{content:"";position:absolute;top:-33px;right:0;width:66px;height:66px;border:1px solid #c4aa7e;border-radius:50%;background-color:#f7f5ef;background-position:center;background-repeat:no-repeat;background-size:44px;box-shadow:0 0 0 8px #f7f5ef}
.occasion-grid>article:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2376603e' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='9' r='3'/%3E%3Ccircle cx='23' cy='9' r='3'/%3E%3Ccircle cx='16' cy='17' r='2.5'/%3E%3Cpath d='M3 24v-6a6 6 0 0 1 9-5M29 24v-6a6 6 0 0 0-9-5M11 27v-2a5 5 0 0 1 10 0v2M3 27h26'/%3E%3C/svg%3E")}
.occasion-grid>article:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2376603e' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 7 8-2 3 10a4 4 0 0 1-8 2L4 7Zm24 0-8-2-3 10a4 4 0 0 0 8 2l3-10ZM10 20l2 7m10-7-2 7M8 28l8-2m8 2-8-2M6 12l7-2m13 2-7-2M16 2v3'/%3E%3C/svg%3E")}
.occasion-grid>article:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%2376603e' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='24' height='17' rx='2'/%3E%3Cpath d='M11 10V7a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v3M4 16l10 3m14-3-10 3'/%3E%3Crect x='14' y='16' width='4' height='5' rx='1'/%3E%3C/svg%3E")}
@media(max-width:650px){.occasion-grid{gap:46px}}
main:has(> .visit-garden)>.page-intro{padding-bottom:24px}
main:has(> .visit-garden)>.page-intro+.section{padding-top:24px}
.pdf-scroll .pdf-spread{margin-bottom:0}
[data-pdf-reader][data-zoom="fit"] .pdf-scroll{scrollbar-width:none;scrollbar-gutter:auto}
[data-pdf-reader][data-zoom="fit"] .pdf-scroll::-webkit-scrollbar{display:none;width:0;height:0}
main:has([data-pdf-reader])>.page-intro{padding-bottom:24px}
main>.section:has([data-pdf-reader]){padding-top:24px}
/* One continuous marble surface across inner-page sections, not restarted tiles. */
main:has(> .page-intro.dark){background:#f7f5ef url('/assets/brand/ivory-marble-menu-background.webp') center top/cover no-repeat}
main:has(> .page-intro.dark)>:is(.page-intro.dark,.paper,.quote-section){background:transparent}
main>.page-intro.dark,main>.page-intro.dark h1,main>.page-intro.dark p{color:#20362e}
main>.page-intro.dark .eyebrow{color:#76603e}
/* October redesign: film, ivory marble, ink leather and restrained champagne. */
.film-hero{position:relative;isolation:isolate;min-height:480px;height:calc(100svh - 148px);background:#101113;color:#faf6ee;overflow:hidden}
.film-hero video,.film-poster,.film-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}
.film-poster{z-index:-3}.film-hero video{z-index:-2}.film-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.69),rgba(0,0,0,.18) 72%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}
.film-copy{padding-block:100px 130px;display:flex;flex-direction:column;justify-content:center;height:100%;position:relative}
.film-copy .eyebrow{color:#e5d2b0;font-size:.65rem;letter-spacing:.24em;margin-bottom:28px}
.film-copy h1{font:400 clamp(3rem,5.8vw,6rem)/1.15 var(--heading);letter-spacing:.01em;max-width:800px;margin:0 0 28px;text-wrap:balance;color:#faf6ee}
html:lang(zh) .film-copy h1{font-family:"Songti SC","Noto Serif SC",SimSun,serif;letter-spacing:.1em;line-height:1.4}
.film-subtitle{font-size:.68rem;letter-spacing:.24em;color:#f2e9d9;margin:0 0 34px}
.film-copy .actions{gap:28px}.film-copy .button{background:#c4aa7e;color:#101113;border-color:#c4aa7e}.film-copy .button:hover{background:#e0c99f}
.film-menu{color:#faf6ee;border-bottom:1px solid #c4aa7e;padding:12px 0;font-size:.82rem}
.film-bottom{position:absolute;left:0;right:0;bottom:28px;display:flex;justify-content:space-between;align-items:center;padding-right:210px;gap:18px}
.film-bottom a,.film-bottom button{font:inherit;font-size:.62rem;letter-spacing:.13em;color:#faf6ee}.film-bottom a span{margin-left:20px}
.film-bottom button{border:1px solid #c4aa7e99;background:#10111380;border-radius:0;padding:12px 18px;cursor:pointer}
.film-hero :focus-visible{outline:2px solid #f2dfb2;outline-offset:5px}
.hero-journey,.hero-journey .journey-stage{background:#f4f1e9 url('/assets/brand/ivory-marble-menu-background.webp') center/cover;color:#172522}
.hero-journey .journey-copy h2{font:400 clamp(2.4rem,4.6vw,4.7rem)/1.2 var(--heading);max-width:48%;letter-spacing:.025em;margin:0 0 24px}
html:lang(zh) .hero-journey .journey-copy h2{font-family:"Songti SC","Noto Serif SC",SimSun,serif;font-size:clamp(2.6rem,4.9vw,4.6rem);line-height:1.45;letter-spacing:.08em}
.story-strip,.quote-section,.arrival-section,.paper{background:#f7f5ef url('/assets/brand/ivory-marble-menu-background.webp') center/cover}
.gather-strip{background:#101113 url('/assets/brand/ink-texture-menu-background.webp') center bottom/cover;color:#faf6ee}
.gather-strip .gather-grid{border-color:#c4aa7e66}.gather-invitation{background:#f7f5ef url('/assets/brand/ivory-marble-menu-background.webp') center/cover;color:#172522}
.gather-strip .gather-art p{color:#e7d7ba!important}.gather-art-label,.gather-strip .garden-hint{color:#c4aa7e}
.arrival-card{background:#101113 url('/assets/brand/ink-texture-menu-background.webp') center/cover;color:#faf6ee;border:1px solid #c4aa7e;box-shadow:10px 12px 0 #c4aa7e22}
.arrival-card p,.arrival-card address,.arrival-card a{color:#f0e8dc}.arrival-card .button{color:#101113;background:#c4aa7e}
.final-cta,.visit-garden{background:#101113 url('/assets/brand/ink-texture-menu-background.webp') center/cover;color:#faf6ee;border-top:1px solid #c4aa7e}
.final-cta h2,.final-cta p,.final-cta .text-link{color:#faf6ee}.final-cta .eyebrow{color:#c4aa7e}.final-cta .button{background:#c4aa7e;color:#101113}
@media(max-width:760px){
 .film-hero{height:calc(100svh - 180px);min-height:520px}
 .film-copy{padding-block:75px 110px;justify-content:flex-end}.film-copy h1{font-size:clamp(2.5rem,9vw,3.5rem)}
 .film-copy .eyebrow{font-size:.56rem;margin-bottom:20px}.film-subtitle{font-size:.57rem;margin-bottom:22px}
 .film-copy .actions{gap:20px}.film-copy .button{padding:14px 22px}.film-menu{font-size:.74rem}
 .film-bottom{bottom:25px;padding-right:var(--gutter,24px)}.film-bottom button{position:absolute;right:24px;bottom:calc(100svh - 260px);font-size:.58rem;padding:10px}
 .film-shade{background:linear-gradient(0deg,#000c,rgba(0,0,0,.1) 95%)}
 .hero-journey .journey-copy h2{max-width:100%;font-size:2rem;line-height:1.3;margin-bottom:12px}
 html:lang(zh) .hero-journey .journey-copy h2{font-size:clamp(1.85rem,6.7vw,2.5rem);line-height:1.38;margin-bottom:14px;letter-spacing:.06em}
}
@media(max-width:760px) and (max-height:700px){.film-hero{min-height:500px}.film-copy{padding-block:50px 110px}.film-copy h1{font-size:2.4rem}html:lang(zh) .hero-journey .journey-copy h2{font-size:1.65rem}}
@media(max-width:760px){
 .site-header .header-inner{position:relative;min-height:88px}
 .site-header .header-inner>.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;z-index:2}
 .site-header .header-actions{width:100%;margin:0;display:flex;justify-content:space-between;align-items:center}
 .site-header .language-switch{margin:0;padding:2px;gap:0}
 .site-header .language-switch .language-link{min-width:34px;min-height:44px;padding:8px 5px;font-size:.56rem;letter-spacing:.02em}
 .site-header .language-switch .language-divider{font-size:.55rem;padding:0 1px}
 .site-header .mobile-nav{margin-left:auto}
}
@media(max-width:360px){.site-header .language-link{min-width:36px;padding-inline:6px}.site-header .language-switch{gap:2px}}
/* Homepage-only overlay: navigation no longer consumes the film's height. */
body:has([data-video-hero]){--film-preview-height:0px}
body:has([data-video-hero]):has(.preview-notice){--film-preview-height:28px}
body:has([data-video-hero]) .site-header{position:fixed;top:0;left:0;right:0;z-index:40;background:rgba(16,17,19,.48);backdrop-filter:blur(5px);border-image:none;border-bottom:1px solid #c4aa7e44;transition:background .25s ease}
body:has([data-video-hero]):has(.preview-notice) .site-header:not(.is-film-scrolled){top:28px}
body:has([data-video-hero]) .site-header.is-film-scrolled{background:#101113}
.film-hero{height:calc(100svh - var(--film-preview-height,0px));min-height:600px}
.film-copy{padding-top:160px}
body:has([data-video-hero]) #selections{scroll-margin-top:115px}
@media(max-width:760px){
 .film-hero{min-height:620px}
 .film-copy{padding-top:130px;padding-bottom:180px}
 .film-bottom{bottom:95px}
 .film-bottom button{position:static}
 body:has([data-video-hero]) #selections{scroll-margin-top:90px}
}
@media(prefers-reduced-motion:reduce){body:has([data-video-hero]) .site-header{transition:none}}
@media print{.film-hero video,.film-bottom{display:none}.film-hero{height:500px;min-height:0}}
