:root{--menu-ink:#243a30;--menu-deep:#182b23;--menu-ivory:#f7f3eb;--menu-sand:#e9dfcd;--menu-gold:#b79b67;--menu-muted:#68776d;--menu-line:rgba(36,58,48,.16);--menu-header-height:86px}
*{box-sizing:border-box}.menu-page{margin:0;background:var(--menu-ivory);color:var(--menu-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.menu-page a{color:inherit;text-decoration:none}.menu-page a:visited{color:inherit}.menu-page a:focus-visible,.menu-page button:focus-visible{outline:2px solid var(--menu-gold);outline-offset:4px}.menu-page .container{width:min(calc(100% - 56px),1180px);margin-inline:auto}.skip-link{position:absolute;left:-999px;top:12px}.skip-link:focus{left:16px;z-index:100;padding:12px 16px;background:#fff;color:var(--menu-ink)}
.menu-header{position:relative;z-index:30;min-height:var(--menu-header-height);padding:14px max(28px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;background:var(--menu-deep);color:#fff}.menu-header .brand{display:flex;flex-direction:column;min-width:0;color:#fff}.menu-header .brand span,.menu-footer .footer-brand{font:400 clamp(31px,3.5vw,48px)/.9 "Brush Script MT","Segoe Script",cursive;letter-spacing:-.04em;white-space:nowrap}.menu-header .brand small{margin-top:8px;font:600 8px/1 Arial,sans-serif;letter-spacing:.2em}.menu-header nav{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.menu-header nav>a:first-child{padding:10px 12px;color:rgba(255,255,255,.76)}.menu-header-book{border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:12px 16px;color:#fff;transition:background .2s ease,color .2s ease}.menu-header-book:hover,.menu-header-book:focus-visible{background:#fff;color:var(--menu-deep)}
.menu-hero{min-height:clamp(430px,58vh,620px);position:relative;display:grid;align-items:center;color:#fff;overflow:hidden}.menu-hero-media,.menu-hero-media picture,.menu-hero-media img{position:absolute;inset:0;width:100%;height:100%}.menu-hero-media img{object-fit:cover;object-position:center 60%;filter:saturate(.78) brightness(.76)}.menu-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,31,23,.86) 0%,rgba(13,31,23,.52) 48%,rgba(13,31,23,.14) 100%)}.menu-hero-copy{position:relative;padding-block:clamp(76px,10vw,126px)}.eyebrow{margin:0;color:var(--menu-gold);font:600 10px/1.2 Inter,ui-sans-serif,sans-serif;letter-spacing:.18em;text-transform:uppercase}.menu-hero-copy h1{max-width:760px;margin:16px 0 18px;font:400 clamp(48px,6vw,82px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.05em;text-wrap:balance}.menu-hero-copy>p:not(.eyebrow){max-width:560px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(15px,1.6vw,18px);line-height:1.65}.menu-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.menu-page .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;padding:12px 20px;font:600 11px/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.1em;text-transform:uppercase;transition:transform .2s ease,background .2s ease,border-color .2s ease}.menu-page .button:hover{transform:translateY(-1px)}.menu-page .button-light{background:#f5eee2;color:var(--menu-deep)}.menu-page .button-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}.menu-page .button-ghost:hover{background:rgba(255,255,255,.12)}
.menu-anchor-nav{position:sticky;top:0;z-index:20;max-width:100vw;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;border-bottom:1px solid var(--menu-line);background:color-mix(in srgb,var(--menu-ivory) 90%,transparent);backdrop-filter:blur(14px)}.menu-anchor-nav>div{display:flex;width:max-content;max-width:none;gap:8px;padding:12px 0}.menu-anchor-nav a{display:inline-flex;align-items:center;min-height:36px;border:1px solid transparent;border-radius:999px;padding:8px 13px;color:var(--menu-muted);font:600 10px/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease}.menu-anchor-nav a:hover,.menu-anchor-nav a:focus-visible,.menu-anchor-nav a[aria-current=true]{border-color:rgba(183,155,103,.55);background:var(--menu-sand);color:var(--menu-ink)}.menu-intro{padding:42px 0 10px}.menu-intro p{max-width:680px;margin:0;color:var(--menu-muted);font:400 clamp(18px,2.1vw,24px)/1.45 Georgia,serif}
.menu-category{scroll-margin-top:74px;padding:74px max(28px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--menu-line)}.menu-category.signature-category{background:linear-gradient(180deg,rgba(233,223,205,.46),transparent 55%)}.menu-category-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px);align-items:end;gap:40px;margin-bottom:34px}.menu-category-head h2{max-width:760px;margin:10px 0 0;font:400 clamp(34px,4.5vw,64px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.05em;text-wrap:balance}.menu-category-subtitle{max-width:540px;margin:12px 0 0;color:var(--menu-muted);font-size:14px;line-height:1.55}.menu-category-image,.menu-category-art{display:block;width:100%;aspect-ratio:4/3;overflow:hidden}.menu-category-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.menu-category-art{position:relative;display:grid;place-items:end start;padding:18px;background:radial-gradient(circle at 80% 20%,rgba(183,155,103,.35),transparent 34%),linear-gradient(135deg,#385548,#1a2e25 72%);color:#f6eee0}.menu-category-art:after{content:"";position:absolute;inset:14px;border:1px solid rgba(246,238,224,.26);border-radius:50% 12px 50% 12px;transform:rotate(-13deg)}.menu-category-art span{position:relative;z-index:1;font:400 clamp(20px,2.2vw,28px)/1.1 Georgia,serif}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-card{min-width:0;display:flex;flex-direction:column;padding:28px 30px 26px;border:1px solid var(--menu-line);border-radius:14px;background:rgba(255,255,255,.26);box-shadow:0 8px 26px rgba(24,43,35,.035)}.menu-card:hover{border-color:rgba(183,155,103,.55)}.menu-card h3{margin:0;font:500 clamp(21px,2.2vw,30px)/1.08 Inter,ui-sans-serif,sans-serif;letter-spacing:-.035em;overflow-wrap:anywhere}.menu-card>p{margin:12px 0 22px;color:var(--menu-muted);font-size:14px;line-height:1.6}.menu-card dl{margin:auto 0 0;padding-top:14px;border-top:1px solid var(--menu-line)}.menu-card dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.menu-card dt{padding-top:3px;color:#879188;font:600 10px/1.3 Inter,ui-sans-serif,sans-serif;letter-spacing:.1em;text-transform:uppercase}.menu-card dd{margin:0}.menu-card ul{margin:0;padding:0;list-style:none}.menu-card li{display:flex;justify-content:flex-end;gap:18px;white-space:nowrap;font-size:13px;line-height:1.8}.menu-card li span{color:var(--menu-muted)}.menu-card li strong{color:var(--menu-ink);font-weight:700}.menu-card.is-signature{border-color:rgba(183,155,103,.5);background:linear-gradient(145deg,rgba(255,255,255,.58),rgba(233,223,205,.5))}.signature-badge{display:inline-flex;align-self:flex-start;margin-bottom:16px;border:1px solid rgba(183,155,103,.7);border-radius:999px;padding:6px 10px;color:#8a7043;font:700 9px/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.14em;text-transform:uppercase}.menu-footer{padding:70px 0;background:var(--menu-deep);color:#fff}.menu-footer .footer-brand{display:block}.menu-footer p{max-width:480px;margin:18px 0 0;color:rgba(255,255,255,.64);font-size:13px;line-height:1.6}.menu-footer>div>div:last-child{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.menu-footer>div>div:last-child a{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:9px 12px;color:#e4cfaa;font:600 10px/1 Inter,ui-sans-serif,sans-serif;letter-spacing:.06em;text-transform:uppercase}.menu-final-cta{padding:clamp(60px,9vw,110px) 0;background:var(--menu-deep);color:#fff}.menu-final-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:36px;padding:clamp(30px,5vw,58px);border:1px solid rgba(255,255,255,.18);border-radius:18px;background:linear-gradient(125deg,rgba(54,82,68,.7),rgba(24,43,35,.8))}.menu-final-cta h2{max-width:720px;margin:14px 0 12px;font:400 clamp(32px,4.3vw,58px)/1.05 Georgia,serif;letter-spacing:-.045em}.menu-final-cta p{max-width:600px;margin:0;color:rgba(255,255,255,.7);line-height:1.6}.menu-final-cta-actions{display:flex;flex-wrap:wrap;gap:10px}.menu-final-cta .button-outline{border:1px solid rgba(255,255,255,.48);color:#fff}
@media(max-width:760px){:root{--menu-header-height:76px}.menu-page .container{width:calc(100% - 32px)}.menu-header{padding-inline:16px}.menu-header nav{gap:6px}.menu-header nav>a:first-child{display:none}.menu-header .brand span{font-size:34px}.menu-header-book{padding:10px 12px;font-size:10px}.menu-hero{min-height:clamp(430px,66vh,580px)}.menu-hero-copy{padding-block:76px}.menu-hero-copy h1{font-size:clamp(42px,13vw,66px)}.menu-hero-copy>p:not(.eyebrow){font-size:15px}.menu-hero-actions{display:grid;grid-template-columns:1fr;margin-top:24px}.menu-hero-actions .button{width:100%}.menu-anchor-nav>div{gap:6px;margin-inline:16px;padding:10px 0}.menu-anchor-nav a{padding-inline:11px;font-size:9px}.menu-intro{padding-top:32px}.menu-category{padding:58px 16px}.menu-category-head{grid-template-columns:1fr;gap:20px;margin-bottom:26px}.menu-category-head h2{font-size:clamp(34px,10vw,50px)}.menu-category-image,.menu-category-art{max-width:360px;aspect-ratio:4/3}.menu-grid{grid-template-columns:1fr;gap:10px}.menu-card{padding:23px 20px}.menu-card dl>div{display:block}.menu-card dd{margin-top:10px}.menu-card li{justify-content:space-between;white-space:normal}.menu-final-cta-inner{grid-template-columns:1fr;gap:26px;padding:26px 22px}.menu-final-cta-actions{display:grid;grid-template-columns:1fr}.menu-final-cta-actions .button{width:100%}.menu-footer{padding:54px 0}}

/* Editorial polish: balanced headings and compact cards when a name is self-explanatory. */
.menu-category-head h2,.menu-card h3,.menu-final-cta h2{text-wrap:balance}.menu-card>h3+dl{margin-top:22px}.menu-category{padding-block:clamp(58px,7vw,88px)}.menu-category-subtitle{max-width:54ch}
@media(max-width:760px){.menu-category{padding-block:52px}.menu-card>h3+dl{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.menu-page .button,.menu-header-book{transition:none}.menu-page .button:hover{transform:none}}
.menu-header-actions{display:flex;align-items:center;gap:10px}.menu-language select{appearance:none;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:10px 12px;background:transparent;color:#fff;font:600 10px/1 Inter,sans-serif}.menu-language option{color:#243a30}.menu-header .menu-toggle{display:block;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:transparent;color:#fff;cursor:pointer}.menu-header .menu-toggle span{display:block;width:18px;height:1px;margin:4px auto;background:currentColor}.menu-header>nav{position:fixed;z-index:40;top:0;right:0;bottom:0;width:min(440px,92vw);display:flex;flex-direction:column;align-items:stretch;gap:0;padding:112px 42px 42px;background:rgba(24,43,35,.98);box-shadow:-18px 0 50px rgba(0,0,0,.18);transform:translateX(105%);visibility:hidden;opacity:0;pointer-events:none;transition:transform .35s ease,opacity .25s ease,visibility .35s}.menu-header>nav.open{transform:none;visibility:visible;opacity:1;pointer-events:auto}.menu-header>nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.16);color:#fff;font:500 14px/1.4 Inter,sans-serif}.menu-header>nav a small{display:block;color:#e4cfaa;font-size:9px}.menu-header>nav:before{content:"";position:fixed;z-index:-1;inset:0 calc(100% - 1px) 0 -100vw;background:rgba(10,20,16,.42)}@media(max-width:760px){.menu-header-actions{gap:6px}.menu-language select{max-width:112px;padding-inline:9px}.menu-header-book{display:none}.menu-header>nav{width:min(92vw,390px);padding:92px 24px 120px}}

/* Locale-aware typography for generated menu pages. */
html:lang(ko) .menu-page{word-break:keep-all;overflow-wrap:normal}
html:lang(ko) .menu-page :where(h1,h2,h3,p,li,dt,dd,a,button,span,label){word-break:keep-all;overflow-wrap:normal}
html:lang(ja) .menu-page :where(h1,h2,h3,p,li,dt,dd),html:lang(zh-CN) .menu-page :where(h1,h2,h3,p,li,dt,dd){word-break:normal;overflow-wrap:normal;line-break:strict}
html:lang(ja) .menu-page :where(p,li,dd),html:lang(zh-CN) .menu-page :where(p,li,dd){text-wrap:pretty}
.menu-header>nav{isolation:isolate;filter:none!important;backdrop-filter:none!important;background:#182b23;opacity:1}.menu-header>nav:before{filter:none!important;backdrop-filter:none!important}.menu-header>nav.open{opacity:1}

/* Cookie consent banner (menu pages) */
.consent-banner{position:fixed;z-index:95;left:0;right:0;bottom:0;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:rgba(24,43,35,.97);color:#f5f1e8;box-shadow:0 -12px 40px rgba(10,20,16,.28)}
.consent-banner[hidden]{display:none!important}
.consent-banner-inner{width:min(1180px,calc(100% - 8px));margin-inline:auto;display:grid;gap:16px}
.consent-copy strong{display:block;font:400 22px/1.15 Georgia,serif;letter-spacing:-.03em}
.consent-copy p{margin-top:8px;max-width:62ch;color:rgba(245,241,232,.72);font-size:13px;line-height:1.55}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px}
.consent-btn{min-height:46px;padding:0 18px;border:1px solid transparent;font:700 10px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.consent-btn-primary{background:#f7f3eb;color:#182b23}
.consent-btn-secondary{border-color:rgba(245,241,232,.45);background:transparent;color:#f5f1e8}
.consent-btn-ghost{border-color:transparent;background:transparent;color:rgba(245,241,232,.78);text-decoration:underline;text-underline-offset:4px}
.consent-panel{display:grid;gap:12px;padding-top:4px;border-top:1px solid rgba(245,241,232,.16)}
.consent-panel[hidden]{display:none!important}
.consent-option{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;cursor:pointer}
.consent-option input{margin-top:4px;accent-color:#b79b67}
.consent-option b{display:block;font:600 12px/1.3 Inter,sans-serif}
.consent-option small{display:block;margin-top:4px;color:rgba(245,241,232,.62);font-size:12px;line-height:1.45}
.consent-panel .consent-btn{justify-self:start;margin-top:4px}
@media(max-width:760px){.consent-banner{padding:14px}.consent-actions{display:grid;grid-template-columns:1fr 1fr}.consent-btn-ghost{grid-column:1/-1}}
