:root{--ink:#272b23;--dark:#20241e;--cream:#f2eee5;--paper:#faf7f0;--gold:#aa8a54;--line:#d8d3c7;--muted:#65665b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed}button, a, input{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}em{font-weight:400}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}.skip-link{position:fixed;left:15px;top:-100px;background:var(--cream);padding:15px;z-index:100}.skip-link:focus{top:15px}.header{height:96px;background:var(--dark);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:30px}.brand{font-family:var(--serif);font-size:56px;letter-spacing:-2px;line-height:.8;display:block;text-align:center}.brand span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:2px;line-height:1;margin:12px 0 0}.header nav,.header-actions{display:flex;align-items:center;gap:32px;font-size:14px}.header nav a,.contact-link{position:relative}.header nav a:after,.contact-link:after{content:'';position:absolute;height:1px;bottom:-8px;left:0;right:100%;background:#c0a274;transition:right .25s}.header nav a:hover:after,.contact-link:hover:after{right:0}.header-actions{gap:24px}.lang-button,.cart-button{background:none;border:0;color:inherit;padding:10px 0;min-height:44px}.lang-button span{margin-left:6px}.cart-button{display:flex;align-items:center;gap:8px}.cart-button svg{width:23px;height:25px}.cart-button>span{border:1px solid #68705b;min-width:21px;height:21px;border-radius:50%;font-size:12px;display:grid;place-items:center}.hero{height:min(760px,calc(100svh - 96px));min-height:610px;position:relative;isolation:isolate;background:#34352a;color:var(--cream);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-position:50% 48%;filter:brightness(.8);animation:hero-image 1.5s ease-out both}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(12,21,12,.63),rgba(18,23,15,.18) 70%),linear-gradient(0deg,rgba(18,23,15,.55),transparent 40%)}.hero-content{padding:108px 7.3% 100px;animation:entrance .75s ease-out both}.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:2.3px;line-height:1.5;font-weight:500}.hero .eyebrow{display:flex;align-items:center;gap:14px}.hero .eyebrow>span{display:inline-block;width:27px;height:1px;background:#d1b17b}.hero h1{font-size:clamp(52px,5.5vw,85px);line-height:1.03;letter-spacing:-1.4px;margin-top:28px}.hero h1 em{color:#e5d9bb}.hero-description{font-size:16px;line-height:1.7;margin-top:24px;color:#e9e5dc}.hero-buttons{display:flex;align-items:center;gap:36px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:17px 24px;border:1px solid transparent;min-height:54px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button-cream{background:var(--cream);color:var(--ink)}.button:hover{transform:translateY(-2px);background:#e4dccb}.text-link{font-size:14px;display:inline-flex;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid #aaa795}.hero-bottom{position:absolute;bottom:30px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:10px;letter-spacing:1.7px}.hero-bottom a{display:flex;gap:20px;align-items:center}.hero-bottom a>span{font-size:20px}.hero-bottom .reference-label{letter-spacing:.4px;color:#e7e1d4}.section{padding:88px 6%}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-intro h2{font-size:clamp(42px,4vw,61px);letter-spacing:-1px;line-height:1.1;margin-top:16px}.section-intro h2 em{color:#777e61}.section-intro>p{font-size:14px;line-height:1.8;color:var(--muted);padding-bottom:5px}.demo-note{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:32px;padding:13px 0;font-size:12px;line-height:1.5;color:var(--muted)}.demo-note>span{font-size:10px;font-weight:600;letter-spacing:1.3px;color:var(--ink)}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 30px}.preview-dish{padding:35px 0}.preview-dish>span{font-size:11px;letter-spacing:2px}.preview-dish h3{font-size:32px;margin:15px 0}.preview-dish p{font-size:14px;margin-bottom:20px;color:var(--muted)}.result-count{font-size:12px;color:var(--muted);margin:20px 0}
@keyframes entrance{from{transform:translateY(15px)}to{transform:translateY(0)}}@keyframes hero-image{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(min-width:1700px){.section{padding-left:max(6%,calc((100vw - 1500px)/2));padding-right:max(6%,calc((100vw - 1500px)/2))}}
@media(max-width:1000px){.header{padding:0 5%;gap:20px}.header nav{gap:20px}.contact-link{display:none}.hero-content{padding:100px 6%}.hero h1{font-size:67px}.hero{min-height:640px}.section-intro>p{max-width:230px}.hero-bottom>span:first-child{display:none}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{height:82px;padding:0 6%}.brand{font-size:47px}.brand span{font-size:8px;margin-top:9px}.header nav{display:none}.header-actions{gap:20px}.hero{height:690px;min-height:0;max-height:calc(100svh - 82px)}.hero-content{padding:86px 7% 95px}.hero-image{object-position:56% 43%}.hero-shade{background:linear-gradient(90deg,rgba(12,21,12,.63),rgba(12,21,12,.2)),linear-gradient(0deg,rgba(18,23,15,.7),transparent 70%)}.hero .eyebrow{font-size:10px;letter-spacing:1.7px}.hero h1{font-size:clamp(43px,10.5vw,67px);letter-spacing:-.8px;line-height:1.08;margin-top:23px}.hero-description{font-size:14px;margin-top:24px}.hero-buttons{gap:24px;margin-top:28px;flex-wrap:wrap}.button{padding:15px 20px;gap:20px;min-height:52px}.text-link{font-size:13px;gap:12px}.hero-bottom{left:7%;right:7%;bottom:22px;font-size:9px;letter-spacing:1px}.hero-bottom .reference-label{font-size:9px}.section{padding:60px 6%}.section-intro{display:block}.section-intro h2{font-size:44px}.section-intro>p{margin-top:20px;max-width:none;font-size:14px}.demo-note{align-items:flex-start;gap:9px;flex-direction:column;font-size:12px;margin-top:25px;padding:14px 0}.dish-grid{grid-template-columns:1fr;gap:32px}.eyebrow{font-size:11px}.preview-dish{border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;transform:none!important}}

#menu-controls{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:26px}.category-scroll{min-width:0;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#bdb7a7 transparent;padding:6px 3px 12px}.categories{display:flex;gap:4px;min-width:max-content}.category-button{border:0;padding:12px 17px;min-height:44px;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap;border-radius:2px;transition:background .2s,color .2s}.category-button.active{background:var(--ink);color:var(--cream)}.category-button:hover:not(.active){background:#e6e2d8}.search-wrap{display:flex;align-items:center;gap:10px;border-bottom:1px solid #a9aa9b;min-width:225px;max-width:280px;height:48px;margin-bottom:12px}.search-wrap>svg{width:20px;height:20px;flex-shrink:0}.search-wrap input{width:100%;min-width:0;background:transparent;border:0;outline-offset:7px;padding:10px 0;color:var(--ink);font-size:14px}.search-wrap input::placeholder{color:#74776c}.search-wrap input::-webkit-search-cancel-button{display:none}.search-wrap>button{background:none;border:0;padding:11px;min-height:44px;min-width:44px}.search-wrap>button svg{height:20px;width:20px}.result-count{margin:12px 0 25px;letter-spacing:.5px}.dish-card{min-width:0;transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s ease,box-shadow .3s;animation:entrance .38s ease-out both}.dish-photo{position:relative;overflow:hidden;background:#dfddd1;aspect-ratio:1.2}.photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;overflow:hidden;text-align:left}.photo-open img{width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.55,.3,1),filter .4s;filter:brightness(.92) saturate(.84)}.photo-open:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--shine,50%) 0%,rgba(255,237,185,.17),transparent 65%);opacity:0;transition:opacity .4s}.photo-hint{position:absolute;right:15px;bottom:15px;border:1px solid #ffffff80;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;color:white;background:#222a2438;font-size:20px}.dish-badge{pointer-events:none;position:absolute;top:15px;left:15px;background:var(--cream);color:var(--ink);padding:7px 10px;font-size:12px;letter-spacing:.2px}.dish-badge.sold{color:#fff;background:#454a3f}.dish-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:21px}.dish-meta>span:first-child{text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);font-size:12px}.dish-meta>span:last-child{font-size:17px;font-weight:500;white-space:nowrap}.dish-card h3{font-size:33px;line-height:1.1;letter-spacing:-.25px;margin-top:9px}.dish-card h3 button{font:inherit;text-align:left;border:0;padding:4px 0;min-height:44px;background:none}.dish-description{font-size:15px;line-height:1.7;color:var(--muted);min-height:51px;max-width:95%;margin-top:7px}.add-button{border:0;border-top:1px solid var(--line);margin-top:20px;padding:16px 0 10px;min-height:49px;width:100%;background:transparent;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:14px;transition:color .25s,border-color .25s}.add-button>span:last-child{font-size:24px;font-weight:400;line-height:1}.add-button:hover{color:#6e784c;border-color:#8b9274}.add-button.added{color:#596b39}.add-button:disabled{color:#77776b}.is-unavailable .photo-open img{filter:brightness(.88) saturate(.55)}.dietary-labels{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:12px}.dietary-labels span{padding:4px 7px;background:#e5e8db}.no-results{grid-column:1/-1;text-align:center;padding:55px 15px 65px}.no-results>span{font-family:var(--serif);font-size:60px;color:#899073}.no-results h3{font-size:40px}.no-results p{margin:16px 0 25px;color:var(--muted);line-height:1.6}.button-dark{background:var(--ink);color:var(--cream)}.button-dark:hover{background:#424b36}.button-dark:disabled{background:#63665a;color:#f2eee5;transform:none}.button-dark>span{font-size:20px}
@media(hover:hover) and (pointer:fine){.dish-card:hover{box-shadow:0 14px 25px -23px #45443888}.dish-card:hover .photo-open img{transform:scale(1.045);filter:brightness(.98) saturate(.9)}.dish-card:hover .photo-open:after{opacity:1}.gallery-item:hover img{transform:scale(1.045)}}
.essence{display:grid;grid-template-columns:1fr 1fr;background:#e8e4d8;margin:5px 0 0}.essence-photo{min-height:680px;position:relative;overflow:hidden}.essence-photo>img{position:absolute;width:100%;height:100%;inset:0;object-position:52% 52%;filter:brightness(.9)}.essence-photo>span{position:absolute;bottom:25px;left:30px;font-size:12px;color:#fff;background:#23282090;padding:7px 10px}.essence-copy{padding:80px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.essence-copy h2{font-size:clamp(43px,4vw,61px);line-height:1.05;letter-spacing:-1px;margin-top:25px}.essence-copy h2 em{color:#777e61}.small-rule{height:1px;width:48px;background:#ab905f;margin:32px 0}.essence-lead{font-size:17px;line-height:1.9;max-width:460px}.concept-note{border-left:1px solid #bcb9a8;padding-left:18px;margin-top:25px;color:var(--muted)}.concept-note>span{font-size:12px;letter-spacing:1.5px}.concept-note>p{font-size:14px;line-height:1.8;margin-top:7px}.essence-copy .text-link{margin-top:27px;border-color:#aaa995}.gallery-section{background:var(--paper)}.gallery-flourish{font-family:var(--serif);font-style:italic;color:#838b6e;font-size:85px;line-height:1}.gallery-note{font-size:13px;color:var(--muted);line-height:1.7;margin:20px 0 34px;max-width:600px}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:18px;align-items:start}.gallery-item{position:relative;border:0;padding:0;background:none;text-align:left;overflow:hidden;aspect-ratio:3/4}.gallery-item:nth-child(even){margin-top:45px}.gallery-item img{width:100%;height:100%;transition:transform .6s;filter:brightness(.84) saturate(.85)}.gallery-item>span{position:absolute;inset:60% 0 0;display:flex;justify-content:space-between;align-items:flex-end;padding:20px;color:var(--cream);background:linear-gradient(transparent,#172018a0);font-family:var(--serif);font-size:23px;gap:10px}.gallery-item>span>span:last-child{font-family:var(--sans);font-size:20px}.contact-section{background:var(--dark);color:var(--cream);display:grid;grid-template-columns:1.1fr 1fr;gap:12%;padding-top:85px;padding-bottom:85px}.contact-section .eyebrow{color:#c3b896}.contact-section h2{font-size:clamp(45px,4.5vw,66px);line-height:1.05;margin-top:24px}.contact-section h2 em{color:#b9bfa7}.contact-note{max-width:440px;color:#c0c3b4;font-size:14px;line-height:1.8;margin-top:28px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 28px;align-content:center;min-width:0}.contact-grid>div{padding-top:19px;border-top:1px solid #505546;min-width:0}.contact-grid h3{font-family:var(--sans);font-size:12px;letter-spacing:1.5px;color:#d5c6a6;font-weight:500}.contact-grid p,.contact-grid a{display:block;font-size:14px;color:#c3c7b9;line-height:1.7;margin-top:13px;overflow-wrap:anywhere}.contact-grid a:hover{text-decoration:underline;text-underline-offset:4px}.contact-section .button{margin-top:24px}.reservation-note{font-size:13px;line-height:1.5;margin-top:10px;color:#c3c7b9}footer{background:#191e18;color:var(--cream);padding:40px 6% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:32px;border-bottom:1px solid #3b4335}.footer-brand{font-family:var(--serif);font-size:80px;letter-spacing:-3px;line-height:1}.footer-top p{font-family:var(--serif);font-style:italic;font-size:27px;color:#b8c0a8}.back-top{font-size:13px;display:flex;gap:18px;align-items:center}.back-top span{font-size:21px}.footer-bottom{display:flex;justify-content:space-between;gap:35px;margin-top:23px;font-size:12px;color:#b9bdaf;line-height:1.6}.credits{max-width:430px;text-align:right}.credits summary{cursor:pointer;min-height:30px}.credits p{margin-top:14px}.credits a{display:inline-block;margin:15px 0;text-decoration:underline;text-underline-offset:4px}
.dialog-open{overflow:hidden}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #0005}dialog::backdrop{background:rgba(16,23,16,.64);backdrop-filter:blur(4px)}dialog[open]{animation:entrance .23s ease-out}.icon-button{width:46px;height:46px;min-width:46px;border:1px solid #d6d2c5;border-radius:50%;background:var(--paper);display:inline-flex;align-items:center;justify-content:center;padding:12px}.icon-button svg{width:22px;height:22px}.icon-button:hover{background:#e7e3d7}.modal-close{position:absolute;right:18px;top:18px;z-index:2}.detail-dialog{width:min(980px,calc(100vw - 48px));max-width:980px;max-height:calc(100dvh - 48px);overflow:auto}.detail-dialog #detail-content{display:grid;grid-template-columns:1fr 1fr}.detail-photo{min-height:610px;position:relative;background:#deddd0}.detail-photo img{height:100%;width:100%;position:absolute;inset:0}.detail-copy{padding:62px 40px 40px}.detail-copy .eyebrow{font-size:12px;letter-spacing:1.1px;line-height:1.8}.detail-copy h2{font-size:45px;line-height:1.02;margin:20px 0}.detail-description{color:var(--muted);line-height:1.8;font-size:16px}.detail-copy h3{font-family:var(--sans);font-size:14px;font-weight:500;margin-top:30px}.ingredient-list{font-size:14px;line-height:1.9;margin-top:10px;color:var(--muted)}.ingredient-note{font-size:12px;line-height:1.7;color:#707165;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.detail-price{font-size:25px;display:flex;flex-direction:column;gap:6px;margin:25px 0}.detail-price span{font-size:12px;color:var(--muted)}.detail-actions{display:flex;flex-wrap:wrap;gap:14px}.detail-actions .button{flex-grow:1;justify-content:space-between;padding:14px 18px;font-size:13px}.quantity-control{display:flex;border:1px solid var(--line);align-items:center;justify-content:space-between;min-width:120px;height:48px}.quantity-control button{background:none;border:0;min-width:39px;min-height:46px;font-size:20px}.quantity-control button:hover{background:#e8e5dc}.quantity-control button:disabled{opacity:.35}.quantity-control>span{font-size:14px;text-align:center;min-width:24px}.cart-dialog{margin:0 0 0 auto;width:min(510px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;overflow:auto}.cart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:33px 30px 27px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}.cart-header .eyebrow{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.cart-header h2{font-size:44px;line-height:1;margin-top:17px}.cart-header p:last-child{font-size:14px;color:var(--muted);margin-top:11px}#cart-content{padding:0 30px 30px}.cart-notices{background:#eee7d6;border-left:2px solid #aa8a54;padding:14px 16px;margin-top:22px;font-size:13px;line-height:1.6}.cart-notices p+p{margin-top:10px}.cart-item{display:flex;gap:18px;padding:25px 0;border-bottom:1px solid var(--line)}.cart-item>img{width:86px;height:108px;align-self:flex-start}.cart-item-info{flex:1;min-width:0}.cart-item-title{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.cart-item h3{font-size:25px;line-height:1.1;padding-top:5px}.remove-button{border:0;background:none;padding:10px;width:44px;min-width:44px;height:44px}.remove-button svg{width:18px;height:18px}.cart-item-info>p{font-size:13px;margin-top:6px;color:var(--muted)}.cart-item-info>p>span{color:#74776c}.cart-item-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}.cart-item-bottom strong{font-size:14px;font-weight:500;white-space:nowrap}.cart-item .quantity-control{min-width:116px;height:46px}.cart-item .quantity-control button{min-height:44px;min-width:39px;font-size:19px}.clear-cart{background:none;border:0;border-bottom:1px solid #adae9c;padding:12px 0 5px;min-height:44px;font-size:13px;color:var(--muted);display:block;margin:14px 0 25px auto}.cart-summary{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.subtotal-row{display:flex;justify-content:space-between;gap:15px;align-items:center}.subtotal-row span{font-size:15px}.subtotal-row strong{font-weight:500;font-size:23px;white-space:nowrap}.subtotal-note{font-size:12px;color:var(--muted);line-height:1.7;margin-top:11px;max-width:325px}.local-notice{background:#eaece1;padding:17px;display:flex;gap:13px;margin:24px 0}.local-notice svg{width:21px;min-width:21px;height:25px;margin-top:2px}.local-notice p{font-size:13px;line-height:1.7;color:#4d5640}.cart-summary .button{width:100%;font-size:14px}.empty-cart{text-align:center;padding:50px 10px 15px}.empty-cart>svg{width:45px;height:50px;margin:auto auto 25px;stroke:#83916f}.empty-cart h3{font-size:35px;line-height:1.1}.empty-cart p{color:var(--muted);font-size:14px;line-height:1.8;margin-top:18px}.gallery-dialog{background:var(--dark);color:var(--cream);width:min(1080px,calc(100vw - 40px));max-width:1080px;max-height:calc(100dvh - 40px);overflow:auto}.gallery-dialog .modal-close{background:var(--cream);color:var(--ink)}#gallery-content>img{width:100%;height:calc(100dvh - 170px);min-height:250px;object-fit:contain;background:#141a13}.gallery-caption-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 28px}.gallery-caption-row p{font-family:var(--serif);font-size:28px}.gallery-caption-row span{font-size:12px;color:#c3c9b8;display:block;margin-top:5px}.gallery-nav{display:flex;gap:10px}.gallery-nav .icon-button{font-size:23px;color:var(--ink)}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,15px);background:var(--ink);color:var(--cream);box-shadow:0 4px 25px #0003;padding:15px 22px;max-width:min(520px,calc(100vw - 32px));width:max-content;z-index:20;font-size:14px;line-height:1.6;pointer-events:none;opacity:0;transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}.no-script{padding:25px;background:#e5d8b8}
@media(min-width:1700px){.essence-copy{padding-left:15%;padding-right:15%}}
@media(max-width:1200px){#menu-controls{flex-wrap:wrap;gap:8px}.category-scroll{flex:1 1 100%}.search-wrap{flex:1 1 100%;max-width:none}.dish-card h3{font-size:30px}.dish-grid{gap:40px 24px}.essence-copy{padding:65px 9%}.gallery-item>span{font-size:21px;padding:15px}.contact-section{gap:8%}}
@media(max-width:1000px){.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.essence-photo{min-height:690px}.essence-copy{padding:50px 9%}.essence-copy h2{font-size:45px}.essence-lead{font-size:16px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:20px}.gallery-item{aspect-ratio:1}.gallery-item:nth-child(even){margin-top:30px}.gallery-item:nth-child(3){margin-top:-30px}.contact-section{grid-template-columns:1fr;gap:45px}.contact-grid{grid-template-columns:repeat(4,1fr);gap:20px}.contact-grid p{font-size:13px}.detail-copy{padding:60px 28px 30px}.detail-copy h2{font-size:40px}.detail-photo{min-height:640px}.hero-bottom,.hero-bottom .reference-label{font-size:12px}.hero-bottom a{font-size:12px}}
@media(max-width:700px){.hero{height:auto;min-height:620px;max-height:none}.hero-content{padding-top:78px;padding-bottom:110px}.hero-bottom{letter-spacing:.2px}.hero-bottom .reference-label{font-size:12px}.hero-bottom a{font-size:12px}.hero-buttons{gap:20px}.dish-grid{grid-template-columns:1fr;gap:35px}.dish-photo{aspect-ratio:1.15}.dish-card h3{font-size:33px}.dish-description{font-size:15px;min-height:0;line-height:1.65;max-width:100%}.dish-meta{margin-top:18px}.add-button{margin-top:16px;padding:16px 0 10px}.category-scroll{max-width:100%;flex-basis:100%}.category-button{padding:12px 14px;font-size:14px}.search-wrap{margin-top:7px}.search-wrap input{font-size:16px}.result-count{margin:10px 0 23px;font-size:12px}.essence{grid-template-columns:1fr}.essence-photo{height:460px;min-height:0}.essence-copy{padding:55px 7% 60px}.essence-copy h2{font-size:48px}.essence-copy .eyebrow{font-size:12px}.concept-note>p{font-size:14px}.gallery-flourish{display:none}.gallery-note{font-size:13px;margin-bottom:26px}.gallery-grid{gap:13px}.gallery-item{aspect-ratio:3/4}.gallery-item:nth-child(even){margin-top:25px}.gallery-item:nth-child(3){margin-top:-25px}.gallery-item>span{font-size:22px;line-height:1.05;padding:15px 12px}.gallery-item>span>span:last-child{display:none}.contact-section{padding-top:60px;padding-bottom:60px;gap:35px}.contact-section h2{font-size:50px}.contact-grid{grid-template-columns:1fr 1fr;gap:28px 22px}.contact-grid h3{font-size:12px;letter-spacing:1px}.contact-grid p{font-size:14px}.contact-note{font-size:14px}.footer-top{flex-wrap:wrap;gap:20px}.footer-brand{font-size:67px}.footer-top p{font-size:24px}.back-top{font-size:13px;flex-basis:100%;justify-content:flex-end}.footer-bottom{flex-direction:column;gap:16px}.credits{text-align:left}.detail-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.detail-dialog #detail-content{grid-template-columns:1fr}.detail-photo{min-height:0;height:300px}.detail-photo img{position:static}.detail-copy{padding:28px 24px 32px}.detail-copy .eyebrow{font-size:12px}.detail-copy h2{font-size:41px;margin:15px 0}.detail-price{margin-top:22px}.detail-actions{flex-wrap:nowrap;gap:12px}.detail-actions .button{font-size:13px;padding:14px 12px;gap:10px}.quantity-control{min-width:112px}.cart-header{padding:26px 22px}.cart-header h2{font-size:41px}.cart-header .eyebrow{font-size:12px;letter-spacing:.6px}#cart-content{padding:0 22px 28px}.cart-item{gap:13px}.cart-item>img{width:73px;height:98px}.cart-item h3{font-size:23px}.cart-item-bottom{gap:8px;flex-wrap:wrap}.cart-item-bottom strong{font-size:14px}.gallery-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}#gallery-content>img{height:calc(100dvh - 155px);min-height:220px}.gallery-caption-row{padding:18px;gap:10px}.gallery-caption-row p{font-size:24px}.gallery-caption-row span{font-size:12px}.gallery-nav{gap:6px}.gallery-nav .icon-button{width:44px;min-width:44px;height:44px;padding:10px}#toast{font-size:13px;bottom:18px;padding:13px 18px}.no-results h3{font-size:34px}}
@media(max-width:359px){.hero h1{font-size:39px}.hero-buttons{gap:14px}.hero-buttons .button{padding:15px;gap:13px}.hero-buttons .text-link{font-size:13px;gap:7px}.section-intro h2{font-size:40px}.detail-actions{flex-wrap:wrap}.cart-item>img{width:60px;height:85px}.gallery-item>span{font-size:20px}}
@media(hover:none){.photo-open:active img{transform:scale(1.018)}.add-button:active,.category-button:active{background:#e4e5d9}.category-button.active:active{background:var(--ink)}}
.dialog-feedback{display:none;position:sticky;bottom:12px;margin:12px 20px;background:var(--ink);color:var(--cream);padding:13px 18px;font-size:14px;line-height:1.6;z-index:4;box-shadow:0 4px 20px #0002}.dialog-feedback.visible{display:block}.photo-open:focus-visible{outline-offset:-5px;outline-color:var(--cream);outline-width:3px}.gallery-item:focus-visible{outline-offset:4px}.dish-card:focus-within .photo-hint{background:var(--ink)}.eyebrow{font-size:12px}.hero-bottom{font-size:12px;letter-spacing:1px}.demo-note>span{font-size:12px}.hero .eyebrow{font-size:12px;letter-spacing:1.6px}
.contact-icon{display:none}#toast{left:0;right:0;margin:0 auto;transform:translateY(15px)}#toast.visible{transform:translateY(0)}.lang-button{min-width:44px}
@media(max-width:1000px){.contact-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.contact-text{display:none}.contact-icon{display:block;width:23px;height:23px}.header-actions{gap:12px}}
@media(max-width:700px){.header-actions{gap:8px}.hero-bottom{gap:12px;letter-spacing:0}.hero .eyebrow{font-size:12px;letter-spacing:.7px}.hero .eyebrow>span{width:18px;flex-shrink:0}}
.simulation-banner{text-align:center;background:#e4dfcf;color:#565f45;font-size:.6875rem;letter-spacing:1.2px;padding:10px 20px;line-height:1.5}.header nav{gap:24px}.header .nav-reserve{color:#d8c398}.fictional-contact{font-size:.75rem;line-height:1.6;display:block;margin-top:10px;color:#adb6a1}.hub-entry{white-space:nowrap;align-self:flex-start;border-bottom:1px solid #68715b;padding-bottom:5px}.reservation-section{background:#e7e4d7;padding-top:80px;padding-bottom:85px}.reservation-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:0 50px;align-items:end;margin-bottom:35px}.reservation-intro .eyebrow{grid-column:1/-1}.reservation-intro h2{font-size:clamp(43px,4.3vw,62px);line-height:1.04;letter-spacing:-1px;margin-top:20px;grid-row:2/4}.reservation-intro h2 em{color:#707b57}.reservation-intro>p:not(.eyebrow){font-size:1rem;line-height:1.8;max-width:370px;align-self:end;margin-top:25px;color:var(--muted)}.reservation-intro>span{font-size:.75rem;letter-spacing:.5px;color:#697258;margin-top:12px;align-self:start}.reservation-panel{background:var(--paper);border:1px solid #cccdbd;padding:30px 36px 15px}.reservation-demo{display:flex;gap:23px;align-items:center;padding-bottom:23px;border-bottom:1px solid var(--line)}.reservation-demo>span{font-size:.625rem;letter-spacing:1.3px;color:#777247;white-space:nowrap}.reservation-demo p{font-size:.75rem;line-height:1.8;color:var(--muted);max-width:700px}.reservation-section fieldset{border:0;margin:0;padding:0;min-width:0}.booking-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;padding-top:30px}.booking-step{display:flex;align-items:center;justify-content:space-between;gap:15px}.booking-step h3,.booking-details>h3{font-family:var(--sans);font-size:.875rem;font-weight:500;letter-spacing:.2px}.booking-step label{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--muted)}.reservation-section input,.reservation-section select,.reservation-section textarea{font:inherit;border:1px solid #c9cdbc;background:#fffdf7;color:var(--ink);padding:11px 12px;border-radius:0;min-height:46px;min-width:0;width:100%}.booking-step select{width:68px}.reservation-section textarea{resize:vertical}.calendar-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 20px}.calendar-heading h3{font-family:var(--serif);font-size:29px;text-transform:capitalize}.calendar-heading>div{display:flex;gap:8px}.calendar-nav{width:40px;min-height:44px;padding:0;border:1px solid #dadccd;background:none;font-size:20px;color:var(--ink)}.calendar-nav:disabled{opacity:.35}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekdays{font-size:.75rem;color:var(--muted);text-align:center;margin-bottom:12px}.calendar-weekdays span{padding:6px 0}.calendar-day{background:none;border:1px solid transparent;min-height:44px;aspect-ratio:1.15;font-size:.875rem;color:var(--ink);border-radius:2px;position:relative}.calendar-day:hover:not(:disabled){background:#e5e8da}.calendar-day.chosen{background:#48563b!important;color:#fff}.calendar-day.today:after{content:'';position:absolute;bottom:6px;left:calc(50% - 2px);height:4px;width:4px;border-radius:50%;background:#b29a63}.calendar-day:disabled{color:#b0b3a6;cursor:default}.calendar-blank{aspect-ratio:1.15}.calendar-key{display:flex;gap:20px;font-size:.6875rem;color:var(--muted);margin-top:13px}.calendar-key>span{display:flex;gap:7px;align-items:center}.calendar-key i{width:8px;height:8px;border:1px solid #9ea690;border-radius:50%}.calendar-key .selected-key{background:#48563b;border-color:#48563b}.reservation-timezone{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:19px}.booking-details{border-left:1px solid var(--line);padding-left:40px}.reservation-hint{font-size:.875rem;line-height:1.8;color:var(--muted);margin:18px 0 22px;min-height:48px}.retry-link{background:none;border:0;text-decoration:underline;text-underline-offset:5px;padding:12px 0;font-size:.875rem;color:#66714f}.time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:19px}.time-button{background:#f1f2e8;border:1px solid #d1d7c4;padding:12px 8px;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.time-button strong{font-size:.9375rem;font-weight:500}.time-button span{font-size:.625rem;color:var(--muted)}.time-button.chosen{border-color:#48563b;background:#48563b;color:#fff}.time-button.chosen span{color:#e0e5d5}.time-button:disabled{opacity:.45;cursor:default}.booking-details>.details-heading{margin-top:28px;margin-bottom:17px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.booking-fields label{display:flex;flex-direction:column;gap:9px;min-width:0;font-size:.75rem;color:#59634b}.booking-fields input,.booking-fields select,.booking-fields textarea{font-size:.875rem}.full-field{grid-column:1/-1}.booking-submit-row{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.booking-submit-row>div>span{font-size:.6875rem;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.booking-submit-row p{font-family:var(--serif);font-size:24px;margin-top:8px}.booking-submit-row .button{font-size:.875rem;white-space:nowrap}.booking-error{min-height:18px;margin:13px 0;color:#9f4934;font-size:.8125rem;line-height:1.7}.reservation-success{text-align:center;max-width:760px;margin:auto;padding:20px 0}.reservation-success h2{font-size:59px;line-height:1.1;letter-spacing:-1px}.reservation-success h2 em{color:#6f7f54}.reservation-success>p:not(.eyebrow){font-size:1rem;line-height:1.8;color:var(--muted);margin:22px auto;max-width:600px}.success-mark{display:grid;place-items:center;width:58px;height:58px;border:1px solid #a8b391;border-radius:50%;background:#dfe7d2;font-size:26px;color:#64774a;margin:26px auto}.receipt{border-top:1px solid #c4c8b6;border-bottom:1px solid #c4c8b6;padding:24px;margin:32px 0}.receipt>span{font-size:.6875rem;letter-spacing:1px;color:var(--muted)}.receipt h3{font-size:35px;margin:13px 0}.receipt strong{font-size:1rem;font-weight:400;line-height:1.7}.receipt>p{font-size:.75rem;margin-top:15px;color:#6e764e}.receipt-actions{display:flex;justify-content:center;align-items:center;gap:30px}
@media(max-width:1150px){.booking-grid{gap:25px;grid-template-columns:1fr 1fr}.booking-details{padding-left:25px}.reservation-panel{padding:27px 25px 12px}.time-grid{grid-template-columns:repeat(2,1fr)}.time-button{min-height:60px}.reservation-intro h2{font-size:52px}.header nav{gap:18px;font-size:13px}.header-actions{gap:14px}.booking-fields{grid-template-columns:1fr}.calendar-day{aspect-ratio:1}.calendar-blank{aspect-ratio:1}}
@media(max-width:900px){.reservation-intro{display:block}.reservation-intro>p:not(.eyebrow){max-width:none;margin-top:22px}.reservation-intro>span{display:block}.booking-grid{grid-template-columns:1fr 1fr;gap:24px}.booking-step{display:block}.booking-step label{margin-top:15px}.calendar-days,.calendar-weekdays{gap:3px}.calendar-day{min-height:39px}.calendar-heading{flex-wrap:wrap}.booking-submit-row{align-items:flex-start}.booking-submit-row p{font-size:22px}.booking-submit-row .button{white-space:normal;max-width:240px;line-height:1.5}.reservation-demo{display:block}.reservation-demo>span{font-size:.75rem}.reservation-demo p{margin-top:10px;font-size:.8125rem}.header nav{gap:13px;font-size:12px}.header{gap:20px}.header-actions{gap:7px}}
@media(max-width:700px){.simulation-banner{font-size:.625rem;letter-spacing:.7px;padding:9px 16px}.reservation-section{padding:55px 6% 60px}.reservation-intro h2{font-size:44px;line-height:1.08}.reservation-intro>p:not(.eyebrow){font-size:.9375rem}.reservation-intro>span{font-size:.75rem}.reservation-panel{padding:22px 19px 10px}.booking-grid{grid-template-columns:1fr;padding-top:24px;gap:27px}.booking-details{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.booking-step{display:flex}.booking-step label{margin:0}.booking-step h3{font-size:.8125rem}.calendar-heading{margin-top:21px;flex-wrap:nowrap}.calendar-heading h3{font-size:29px}.calendar-nav{width:40px}.calendar-day{min-height:44px;aspect-ratio:1}.calendar-days,.calendar-weekdays{gap:4px}.calendar-key{font-size:.75rem;gap:17px}.time-grid{grid-template-columns:repeat(2,1fr)}.time-button{min-height:65px}.time-button strong{font-size:1rem}.time-button span{font-size:.75rem}.booking-fields label{font-size:.875rem}.booking-fields input,.booking-fields select,.booking-fields textarea{font-size:1rem}.booking-submit-row{display:block;margin-top:25px;padding-top:22px}.booking-submit-row .button{max-width:none;width:100%;margin-top:22px;justify-content:space-between;font-size:.875rem}.booking-submit-row p{font-size:24px}.reservation-demo p{font-size:.8125rem}.reservation-demo>span{font-size:.6875rem;letter-spacing:.8px}.reservation-success h2{font-size:43px}.reservation-success>p:not(.eyebrow){font-size:.9375rem}.receipt{padding:25px 5px}.receipt>span{font-size:.625rem}.receipt strong{font-size:.9375rem}.receipt-actions{flex-direction:column;gap:15px}.hub-entry{font-size:.8125rem}.header-actions{gap:8px}}
@media(max-width:359px){.reservation-panel{padding-left:13px;padding-right:13px}.calendar-days,.calendar-weekdays{gap:2px}.calendar-day{min-height:40px}.booking-step{gap:10px}.booking-step label{font-size:.75rem}.booking-step select{width:53px;padding:10px}.reservation-intro h2{font-size:40px}}

/* Restaurant navigation and visit essentials */
.header{position:sticky;top:0;z-index:15;box-shadow:0 1px 0 rgba(255,255,255,.05)}
.header-reserve{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid #8f7b53;color:#f2ead7;font-size:13px;transition:background .2s,color .2s,border-color .2s}
.header-reserve:hover{background:#d7c199;border-color:#d7c199;color:#20241e}
.mobile-menu-button{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;align-items:center;justify-content:center;flex-direction:column;gap:7px}
.mobile-menu-button span{display:block;width:22px;height:1px;background:currentColor}
.mobile-actions{display:none}
.mobile-navigation{margin:0 0 0 auto;width:min(430px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;background:var(--dark);color:var(--cream);padding:28px 30px 36px;overflow:auto}
.mobile-navigation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:48px}
.mobile-navigation-head .brand{font-size:53px;text-align:left}
.mobile-navigation-head .icon-button{background:transparent;border-color:#5a6151;color:var(--cream)}
.mobile-navigation>.eyebrow{color:#c8b792;margin-bottom:18px}
.mobile-navigation nav{display:flex;flex-direction:column;border-top:1px solid #4a5144}
.mobile-navigation nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #4a5144;font-family:var(--serif);font-size:31px;line-height:1}
.mobile-navigation nav a span{font-family:var(--sans);font-size:11px;color:#a8ad9f}
.mobile-navigation-note{font-size:12px;line-height:1.7;color:#9fa699;margin-top:26px;max-width:310px}
.contact-section{grid-template-columns:minmax(280px,.75fr) minmax(540px,1.25fr);gap:8%;align-items:start}
.contact-heading{position:sticky;top:132px}
.visit-panel{min-width:0}
.contact-grid>article{padding-top:20px;border-top:1px solid #505546;min-width:0}
.contact-grid p{min-height:48px}
.contact-action{border:0;border-bottom:1px solid #6f7766;background:none;color:#e8e3d8;padding:10px 0 6px;min-height:42px;font-size:12px;text-align:left;transition:color .2s,border-color .2s}
.contact-action:hover{color:#d8bf8e;border-color:#d8bf8e}
.contact-action span{font-size:17px;margin-left:7px}
.contact-actions{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:3px}
.visit-facts{margin:12px 0 0;display:grid;gap:10px}
.visit-facts div{display:grid;grid-template-columns:92px 1fr;gap:10px}
.visit-facts dt{font-size:11px;color:#92998b}
.visit-facts dd{font-size:12px;line-height:1.5;color:#d0d3c8;margin:0}
.arrival-details{border-top:1px solid #505546;border-bottom:1px solid #505546;margin-top:30px;padding:0}
.arrival-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;cursor:pointer;font-family:var(--serif);font-size:22px;list-style:none}
.arrival-details summary::-webkit-details-marker{display:none}
.arrival-details summary span{font-family:var(--sans);font-size:19px;transition:transform .2s}
.arrival-details[open] summary span{transform:rotate(45deg)}
.arrival-details>p{font-size:13px;line-height:1.8;color:#c3c7b9;max-width:620px;padding:3px 0 14px}
.arrival-details>small{display:block;font-size:11px;line-height:1.7;color:#989f92;padding-bottom:20px}
@media(max-width:1100px){.contact-section{grid-template-columns:1fr}.contact-heading{position:static}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 html{scroll-padding-top:96px}body{padding-bottom:72px}.header{padding-left:5%;padding-right:4%}.header>.brand{font-size:43px}.header-actions{gap:4px}.contact-link,.header-reserve{display:none}.mobile-menu-button{display:flex}.lang-button{font-size:12px}.cart-button{gap:5px}.cart-button svg{width:21px}
 .mobile-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr;left:12px;right:12px;bottom:10px;z-index:14;background:#1f241e;color:var(--cream);border:1px solid #515746;box-shadow:0 12px 35px #10150f55;padding:5px}
 .mobile-actions a{min-height:52px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:13px}
 .mobile-actions a+a{background:#d5c093;color:#20241e}
 .mobile-actions a>span:first-child{font-size:17px}
 .mobile-navigation{padding:24px 24px 32px}
 .contact-section{padding-bottom:72px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid p{min-height:0}.contact-section h2{font-size:47px}.visit-facts div{grid-template-columns:100px 1fr}.arrival-details{margin-top:26px}
 #toast{bottom:82px}
}
@media(max-width:359px){.header>.brand{font-size:40px}.header-actions{gap:1px}.lang-button,.cart-button,.mobile-menu-button{min-width:40px;width:40px}.mobile-navigation nav a{font-size:28px}.mobile-actions{left:8px;right:8px;bottom:7px}}

/* Public showcase hub */
html,body{max-width:100%;overflow-x:hidden}
.hub-showcase{display:flex;align-items:center;justify-content:space-between;gap:45px;margin-bottom:66px;padding:38px 42px;border:1px solid #846f48;background:linear-gradient(115deg,#33382d,#252a22 68%);color:var(--cream);transition:transform .25s ease,border-color .25s ease,background .25s ease}
.hub-showcase:hover{transform:translateY(-3px);border-color:#d0b781;background:linear-gradient(115deg,#394034,#282e25 68%)}
.hub-showcase>div{min-width:0}
.hub-showcase>div>span{display:block;margin-bottom:13px;color:#d5bf91;font-size:10px;font-weight:600;letter-spacing:1.5px}
.hub-showcase h3{max-width:760px;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.8px}
.hub-showcase p{max-width:680px;margin-top:14px;color:#c4c8bb;font-size:14px;line-height:1.7}
.hub-showcase strong{display:inline-flex;margin-top:22px;padding-bottom:5px;border-bottom:1px solid #9b8964;font-size:13px;font-weight:500}
.hub-showcase-arrow{display:grid;flex:0 0 auto;width:68px;height:68px;place-items:center;border:1px solid #75684d;border-radius:50%;color:#dec89a;font-size:28px;transition:transform .25s ease,background .25s ease}
.hub-showcase:hover .hub-showcase-arrow{transform:rotate(8deg);background:#d3be94;color:#20241e}
@media(max-width:700px){
 .hub-showcase{align-items:flex-end;gap:18px;margin-bottom:48px;padding:26px 22px}
 .hub-showcase h3{font-size:36px}
 .hub-showcase p{font-size:13px}
 .hub-showcase-arrow{width:48px;height:48px;font-size:21px}
 .hub-showcase>div>span{line-height:1.5}
}
@media(max-width:380px){
 .hub-showcase{display:block;padding:24px 19px}
 .hub-showcase h3{font-size:32px}
 .hub-showcase-arrow{margin-top:20px}
}
