*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-body);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.hidden{display:none}.h-4{height:1rem}.h-5{height:1.25rem}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-5{width:1.25rem}.shrink-0{flex-shrink:0}.overflow-hidden{overflow:hidden}.fill-current{fill:currentColor}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--font-display: "Fraunces", "Playfair Display", Georgia, serif;--font-accent: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--text-hero: 2.75rem;--text-h2: 2rem;--text-h3: 1.3rem;--text-body: 1rem;--text-label: .75rem;--color-cream: #fbf4e8;--color-cream-soft: #f3e9d8;--color-paper: #fffaf2;--color-espresso: #2b1a14;--color-espresso-soft: #4a3528;--color-bordeaux: #7a1f2b;--color-bordeaux-deep: #5c141d;--color-gold: #c9a24b;--color-gold-light: #e3c775;--color-ink: #2b1a14;--color-ink-soft: #6b5a4e;--color-line: rgba(43, 26, 20, .13);color:var(--color-ink);background:var(--color-cream);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(min-width:640px){:root{--text-hero: 4.25rem;--text-h2: 2.45rem;--text-h3: 1.45rem;--text-body: 1.05rem}}@media(min-width:1024px){:root{--text-hero: 5.45rem;--text-h2: 3rem;--text-h3: 1.55rem;--text-body: 1.08rem}}html{scroll-behavior:smooth}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,#fbf4e8f0,#fffaf2fa 42%,#f3e9d8f0),var(--color-cream)}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--color-gold-light);outline-offset:4px}img{display:block;max-width:100%}.app-root{background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-paper) 46%,var(--color-cream-soft) 100%);color:var(--color-ink);font-family:var(--font-body)}.site-header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid rgba(251,244,232,.16);background:#2b1a1494;color:var(--color-cream);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 18px 48px #2b1a1429}.header-inner{display:flex;min-height:4.7rem;max-width:80rem;align-items:center;justify-content:space-between;gap:1rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.header-inner{padding:0 1.5rem}}@media(min-width:1024px){.header-inner{padding:0 2rem}}.brand-lockup{display:inline-flex;min-width:0;align-items:center;gap:.75rem}.brand-mark{display:grid;width:2.7rem;height:2.7rem;flex:0 0 auto;place-items:center;border:1px solid rgba(227,199,117,.55);border-radius:999px;background:#7a1f2bf0;color:var(--color-cream);font-family:var(--font-display);font-size:1.16rem;font-weight:600;line-height:1}.brand-text{min-width:0}.brand-title,.footer-title{display:block;color:var(--color-cream);font-family:var(--font-display);font-size:1.34rem;font-weight:600;line-height:1}.brand-kicker{display:block;max-width:10rem;color:var(--color-gold-light);font-family:var(--font-accent);font-size:.68rem;font-style:italic;font-weight:600;line-height:1.08;overflow-wrap:anywhere}.desktop-nav,.header-actions{display:none}@media(min-width:1024px){.desktop-nav,.header-actions{display:flex;align-items:center}.desktop-nav{gap:2rem}.header-actions{gap:1rem}}.nav-link,.mobile-link{color:#fbf4e8d6;font-size:.9rem;font-weight:600;transition:color .24s ease}.nav-link:hover,.mobile-link:hover{color:var(--color-gold-light)}.mobile-trigger{display:grid;width:2.65rem;height:2.65rem;flex:0 0 auto;place-items:center;border:1px solid rgba(251,244,232,.24);border-radius:999px;background:#fbf4e814;color:var(--color-cream)}@media(min-width:1024px){.mobile-trigger{display:none}}.mobile-panel{position:absolute;inset:100% 0 auto;border-top:1px solid rgba(251,244,232,.14);background:#2b1a14f5;padding:.85rem 1rem 1rem;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav{display:grid;max-width:80rem;gap:.35rem;margin:0 auto}.mobile-link{border-radius:8px;padding:.82rem .8rem}.mobile-cta{width:100%;margin-top:.45rem}.btn-primary,.btn-secondary{display:inline-flex;min-height:3.15rem;align-items:center;justify-content:center;gap:.55rem;border-radius:999px;padding:.86rem 1.55rem;font-size:.92rem;font-weight:700;line-height:1.1;text-align:center;transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s cubic-bezier(.22,1,.36,1),background-color .24s ease,border-color .24s ease,color .24s ease}.btn-primary{border:1px solid var(--color-bordeaux);background:var(--color-bordeaux);color:var(--color-cream);box-shadow:0 12px 28px #7a1f2b47}.btn-primary:hover{transform:translateY(-2px);background:var(--color-bordeaux-deep);box-shadow:0 18px 36px #7a1f2b57}.btn-small{min-height:2.72rem;padding:.68rem 1.05rem;font-size:.84rem}.btn-secondary{border:1.5px solid var(--color-line);background:#fffaf261;color:var(--color-espresso)}.btn-secondary:hover{border-color:var(--color-gold);background:var(--color-cream-soft)}.btn-secondary-light{border-color:#fbf4e85c;background:#fbf4e814;color:var(--color-cream)}.btn-secondary-light:hover{border-color:var(--color-gold-light);background:#fbf4e824;color:var(--color-gold-light)}.btn-tertiary{position:relative;display:inline-flex;width:-moz-max-content;width:max-content;align-items:center;gap:.48rem;border:0;background:none;color:var(--color-gold);font-size:.92rem;font-weight:700}.btn-tertiary:after{position:absolute;bottom:-3px;left:0;width:0;height:1px;background:currentColor;content:"";transition:width .26s ease}.btn-tertiary:hover:after{width:100%}.btn-tertiary-light{color:var(--color-gold-light)}.hero-section{position:relative;min-height:92svh;overflow:hidden;background:var(--color-espresso);color:var(--color-cream)}.hero-slider,.hero-slide{position:absolute;inset:0}.hero-slider{inset:-2% 0 0}.hero-slide{width:100%;height:104%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:saturate(1.12) contrast(1.06) brightness(1.02) sepia(.04);will-change:opacity,transform}.hero-mask{position:absolute;inset:0;background:linear-gradient(180deg,#2b1a1457,#2b1a146b 42%,#2b1a14db),linear-gradient(90deg,#2b1a14b8,#2b1a142e 46%,#2b1a149e)}.hero-shell{position:relative;display:flex;min-height:92svh;max-width:80rem;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;padding:6.4rem 1rem 2.2rem;text-align:center}@media(min-width:640px){.hero-shell{padding-right:1.5rem;padding-left:1.5rem}}@media(min-width:1024px){.hero-shell{padding:7.2rem 2rem 2.8rem}}.hero-content{max-width:58rem;margin:0 auto}.eyebrow{display:inline-flex;align-items:center;gap:.62rem;color:var(--color-gold);font-size:var(--text-label);font-weight:800;line-height:1.35;text-transform:uppercase}.eyebrow:after{display:inline-block;width:2.35rem;height:1px;background:currentColor;content:"";opacity:.78}.section-heading .eyebrow:before{display:inline-block;width:2.35rem;height:1px;background:currentColor;content:"";opacity:.78}.eyebrow-light{color:var(--color-gold-light)}.hero-eyebrow{text-shadow:0 4px 20px rgba(43,26,20,.72)}.hero-title{max-width:52rem;margin:1.05rem auto 0;color:var(--color-cream);font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;line-height:.98;overflow-wrap:anywhere;text-align:center;text-wrap:balance;text-shadow:0 3px 0 rgba(43,26,20,.2),0 9px 28px rgba(43,26,20,.82),0 28px 82px rgba(43,26,20,.62)}.hero-copy,.section-copy{max-width:41rem;color:var(--color-ink-soft);font-size:var(--text-body);font-weight:500;line-height:1.7}.hero-copy{margin:1.22rem auto 0;color:#fbf4e8e6;text-shadow:0 4px 22px rgba(43,26,20,.72)}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.85rem}.hero-facts{display:grid;width:100%;max-width:48rem;gap:.75rem;margin:2.25rem auto 0;border-top:1px solid rgba(251,244,232,.18);padding-top:1.1rem;color:#fbf4e8d6;font-size:.92rem;font-weight:700}@media(min-width:640px){.hero-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}.fact-item{display:flex;align-items:center;justify-content:center;gap:.5rem}.fact-item svg{color:var(--color-gold-light)}@media(max-width:639px){.header-inner{min-height:4.35rem}.brand-mark{width:2.35rem;height:2.35rem;font-size:1rem}.brand-title{font-size:1.12rem}.brand-kicker{max-width:8.7rem;font-size:.62rem}.hero-section,.hero-shell{min-height:91svh}.hero-shell{padding-top:5.85rem;padding-bottom:1.7rem}.hero-title{max-width:21rem}.hero-copy{max-width:21rem;line-height:1.58}.hero-actions{width:100%;margin-top:1.45rem}.hero-actions .btn-primary,.hero-actions .btn-secondary{width:min(100%,21rem)}.hero-facts{max-width:21rem;margin-top:1.45rem;gap:.55rem;font-size:.84rem}}.signature-strip,.section-dark,.special-section,.site-footer{background:var(--color-espresso);color:var(--color-cream)}.signature-grid{display:grid;max-width:80rem;margin:0 auto;padding:.5rem 1rem}@media(min-width:768px){.signature-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:.75rem 1.5rem}}.signature-item{display:flex;min-height:6rem;flex-direction:column;align-items:center;justify-content:center;gap:.34rem;border-top:1px solid rgba(251,244,232,.1);padding:1rem 0;text-align:center}.signature-item:first-child{border-top:0}@media(min-width:768px){.signature-item{border-top:0;border-left:1px solid rgba(251,244,232,.1);padding-right:1rem;padding-left:1rem}.signature-item:first-child{border-left:0}}.signature-item strong{color:var(--color-cream);font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.08}.signature-item span{color:var(--color-gold-light);font-size:var(--text-label);font-weight:800;text-transform:uppercase}.section{padding:4rem 0}@media(min-width:768px){.section{padding:5rem 0}}@media(min-width:1024px){.section{padding:6rem 0}}.section-soft{background:var(--color-cream-soft)}.section-cream{background:var(--color-cream)}.section-inner{max-width:80rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.section-inner{padding:0 1.5rem}}@media(min-width:1024px){.section-inner{padding:0 2rem}}.section-heading{display:flex;max-width:54rem;flex-direction:column;align-items:center;margin:0 auto;text-align:center}.section-heading-dark{color:var(--color-cream)}.section-title{max-width:49rem;margin:.78rem auto 0;color:var(--color-espresso);font-family:var(--font-display);font-size:var(--text-h2);font-weight:600;line-height:1.08;overflow-wrap:anywhere;text-wrap:balance}.section-title-light{color:var(--color-cream)}.section-copy{margin:1.1rem auto 0}.section-copy-light{color:#fbf4e8c7}.align-left{margin-right:0;margin-left:0;text-align:left}.section-action{display:flex;justify-content:center;margin-top:1.5rem}.section-action.align-left{justify-content:flex-start}.product-grid{display:grid;gap:1rem;margin-top:2.5rem}@media(min-width:640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.15rem}}.product-card,.menu-panel,.visit-card{overflow:hidden;border:1px solid var(--color-line);border-radius:8px;background:#fffaf2e0;box-shadow:0 18px 54px #2b1a141a}.product-card{transition:box-shadow .32s ease}.product-card:hover{box-shadow:0 28px 72px #2b1a1429}.product-media{position:relative;aspect-ratio:4 / 5;overflow:hidden}.product-image,.gallery-card img,.visit-card img,.experience-media img,.special-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:saturate(1.06) contrast(1.03) sepia(.04)}.product-image,.gallery-card img{transition:transform .72s cubic-bezier(.22,1,.36,1)}.product-card:hover .product-image,.gallery-card:hover img{transform:scale(1.055)}.category-badge{position:absolute;top:.85rem;left:.85rem;display:inline-flex;align-items:center;gap:.42rem;border:1px solid rgba(227,199,117,.38);border-radius:999px;background:#2b1a14b8;color:var(--color-cream);font-size:var(--text-label);font-weight:800;padding:.42rem .68rem;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.category-badge:before{display:inline-block;width:.38rem;height:.38rem;border-radius:999px;background:var(--color-gold-light);content:""}.product-body{display:grid;min-height:10rem;align-content:space-between;gap:1rem;padding:1.15rem}.card-title{color:var(--color-espresso);font-family:var(--font-display);font-size:var(--text-h3);font-weight:600;line-height:1.12}.card-note{margin-top:.45rem;color:var(--color-ink-soft);font-size:.9rem;font-weight:500;line-height:1.52}.price-pill,.menu-row strong{display:inline-flex;align-items:center;justify-content:center;width:-moz-max-content;width:max-content;border:1px solid rgba(201,162,75,.34);border-radius:999px;background:var(--color-cream);color:var(--color-bordeaux);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800}.price-pill{padding:.48rem .78rem;font-size:.92rem;transition:transform .28s ease}.product-card:hover .price-pill{transform:scale(1.05)}.experience-layout{display:grid;gap:2rem;align-items:center}@media(min-width:960px){.experience-layout{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:4rem}}.experience-media,.special-media{overflow:hidden;border-radius:8px;box-shadow:0 24px 72px #2b1a1429}.experience-media{aspect-ratio:5 / 6}@media(max-width:959px){.experience-media{aspect-ratio:16 / 11}}.experience-content{display:grid}.experience-list{display:grid;gap:1rem;margin-top:2rem}@media(min-width:640px){.experience-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.experience-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;border-top:1px solid var(--color-line);padding-top:1rem}.experience-icon{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid rgba(122,31,43,.16);border-radius:999px;color:var(--color-bordeaux)}.experience-row strong{display:block;color:var(--color-espresso);font-family:var(--font-display);font-size:1.18rem;font-weight:600;line-height:1.1}.experience-row small{display:block;margin-top:.32rem;color:var(--color-ink-soft);font-size:.9rem;font-weight:500;line-height:1.5}.special-section{position:relative;overflow:hidden}.special-layout{display:grid;gap:2rem;align-items:center}@media(min-width:960px){.special-layout{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:4rem}}.special-list{display:grid;gap:.75rem;margin-top:1.6rem;padding:0;list-style:none}.special-list li{display:flex;align-items:center;gap:.65rem;color:#fbf4e8db;font-size:.96rem;font-weight:700}.special-list svg{color:var(--color-gold-light)}.special-media{position:relative;aspect-ratio:4 / 5}.special-media figcaption{position:absolute;inset:auto 1rem 1rem;width:-moz-max-content;width:max-content;max-width:calc(100% - 2rem);border:1px solid rgba(227,199,117,.28);border-radius:999px;background:#2b1a14bd;color:var(--color-cream);font-size:.78rem;font-weight:800;padding:.55rem .78rem;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.menu-tabs-wrap{max-width:64rem;margin:1.75rem auto 0}.menu-tabs{display:flex;gap:.55rem;overflow-x:auto;padding:.15rem 0 .35rem;scrollbar-width:none}.menu-tabs::-webkit-scrollbar{display:none}@media(min-width:768px){.menu-tabs{flex-wrap:wrap;justify-content:center;overflow:visible}}.menu-tab{position:relative;display:inline-flex;min-height:2.8rem;flex:0 0 auto;align-items:center;gap:.46rem;overflow:hidden;border:1px solid var(--color-line);border-radius:999px;background:#fffaf2c2;color:var(--color-espresso);padding:0 .95rem;font-size:.88rem;font-weight:800;white-space:nowrap;transition:border-color .24s ease,color .24s ease}.menu-tab-indicator{position:absolute;inset:0;z-index:0;border-radius:inherit;background:var(--color-cream);box-shadow:inset 0 0 0 1px #7a1f2b2e}.menu-tab-dot,.menu-tab-label{position:relative;z-index:1}.menu-tab-dot{width:.42rem;height:.42rem;border-radius:999px;background:var(--color-gold);opacity:.45}.menu-tab:hover,.menu-tab.is-active{border-color:#7a1f2b52;color:var(--color-bordeaux)}.menu-tab.is-active .menu-tab-dot{opacity:1}.menu-panel{max-width:64rem;margin:1.75rem auto 0}.menu-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,var(--color-bordeaux),var(--color-bordeaux-deep)),var(--color-bordeaux);color:var(--color-cream);padding:1.25rem}@media(min-width:640px){.menu-panel-head{padding:1.45rem 1.65rem}}.menu-panel-head .eyebrow:after{width:1.8rem}.menu-panel-head h3{margin-top:.45rem;font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.05}.menu-panel-head span{flex:0 0 auto;border-radius:999px;background:#fbf4e824;color:var(--color-gold-light);font-size:var(--text-label);font-weight:800;padding:.4rem .7rem;text-transform:uppercase}.menu-grid{display:grid;padding:0 1.15rem .45rem}@media(min-width:768px){.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2rem;padding:0 1.55rem .55rem}}.menu-row{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--color-line);padding:.95rem 0}.menu-row span{color:var(--color-espresso);font-size:.98rem;font-weight:700;line-height:1.45}.menu-row strong{flex:0 0 auto;padding:.35rem .68rem;font-size:.88rem}.gallery-grid{display:grid;gap:.9rem;align-items:stretch;margin-top:2.5rem}@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.gallery-grid{grid-auto-rows:auto;grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr))}.gallery-card-large{grid-column:1 / -1;grid-row:auto}.gallery-card-wide{grid-column:auto}}.gallery-card{position:relative;isolation:isolate;aspect-ratio:4 / 3;min-height:15rem;overflow:hidden;border:1px solid rgba(251,244,232,.12);border-radius:8px;background:#fbf4e80f}.gallery-card img{position:absolute;inset:0}@media(min-width:1024px){.gallery-card{aspect-ratio:auto;min-height:0}}.gallery-card figcaption{position:absolute;inset:auto 0 0;z-index:1;background:linear-gradient(180deg,transparent,rgba(43,26,20,.9));color:var(--color-cream);font-size:.8rem;font-weight:800;padding:2.5rem 1rem 1rem;text-transform:uppercase;transform:none}.visit-layout{display:grid;gap:1.5rem;margin-top:2.5rem}@media(min-width:960px){.visit-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:2rem}}.visit-card{display:grid}@media(min-width:640px){.visit-card{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)}}.visit-card img{min-height:19rem}.visit-card-body{display:flex;flex-direction:column;justify-content:space-between;padding:1.4rem}@media(min-width:640px){.visit-card-body{padding:1.8rem}}.visit-title{margin-top:.72rem;color:var(--color-espresso);font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.08}.visit-details{display:grid;gap:.9rem;margin-top:2rem}.visit-detail{display:flex;gap:.72rem;color:var(--color-ink-soft);font-size:.93rem;font-weight:700;line-height:1.5}.visit-detail svg{margin-top:.14rem;color:var(--color-bordeaux)}.visit-detail a:hover{color:var(--color-bordeaux)}.order-panel{border-radius:8px;background:var(--color-espresso);color:var(--color-cream);box-shadow:0 24px 72px #2b1a142e;padding:1.4rem}@media(min-width:640px){.order-panel{padding:2rem}}.order-panel h3{margin-top:1rem;font-family:var(--font-display);font-size:2.25rem;font-weight:600;line-height:1.08}@media(min-width:1024px){.order-panel h3{font-size:3rem}}.order-panel p{margin-top:1.15rem;color:#fbf4e8c2;font-size:var(--text-body);font-weight:500;line-height:1.68}.panel-actions{display:grid;gap:.75rem;margin-top:1.8rem}@media(min-width:520px){.panel-actions{grid-template-columns:repeat(2,minmax(0,max-content))}}.service-list{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.8rem;border-top:1px solid rgba(251,244,232,.12);padding-top:1.35rem}.service-list span{border:1px solid rgba(227,199,117,.24);border-radius:999px;background:#fbf4e814;color:#fbf4e8cc;font-size:.78rem;font-weight:800;padding:.55rem .72rem}.site-footer{padding:4rem 1rem 2rem}@media(min-width:640px){.site-footer{padding-right:1.5rem;padding-left:1.5rem}}@media(min-width:1024px){.site-footer{padding-right:2rem;padding-left:2rem}}.footer-inner{display:grid;max-width:80rem;gap:2rem;margin:0 auto;border-top:1px solid rgba(251,244,232,.12);padding-top:2.25rem}@media(min-width:768px){.footer-inner{grid-template-columns:1.5fr 1fr .85fr .85fr;align-items:start}}.footer-brand{max-width:28rem}.footer-title{font-size:1.7rem}.footer-subtitle{margin-top:.42rem;color:var(--color-gold-light);font-size:var(--text-label);font-weight:800;text-transform:uppercase}.footer-copy{margin-top:.75rem;color:#fbf4e8b3;font-size:.94rem;font-weight:500;line-height:1.6}.footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}.footer-column{display:grid;gap:.7rem}.footer-column h4{color:var(--color-gold-light);font-size:var(--text-label);font-weight:800;text-transform:uppercase}.footer-column p,.footer-column a{color:#fbf4e8b8;font-size:.92rem;font-weight:600;line-height:1.55}.footer-column a{width:-moz-max-content;width:max-content;transition:color .24s ease}.footer-column a:hover{color:var(--color-gold-light)}.footer-bottom{display:flex;max-width:80rem;flex-direction:column;gap:.5rem;margin:2.25rem auto 0;border-top:1px solid rgba(251,244,232,.1);padding-top:1.15rem;color:#fbf4e88a;font-size:.82rem;font-weight:600}@media(min-width:640px){.footer-bottom{flex-direction:row;justify-content:space-between}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Corant responsive polish overrides - 2026-06-23 */
html,
body,
.app-root {
  max-width: 100%;
  overflow-x: clip;
}

.product-card,
.menu-panel,
.visit-card,
.order-panel,
.gallery-card,
.experience-media,
.special-media,
.site-footer,
.footer-inner,
.footer-bottom {
  min-width: 0;
}

.product-image,
.gallery-card img,
.visit-card img,
.experience-media img,
.special-media img,
.hero-slide {
  max-width: none;
}

@media (max-width: 767px) {
  :root {
    --text-hero: clamp(2.35rem, 12vw, 3.25rem);
    --text-h2: clamp(1.9rem, 8vw, 2.45rem);
    --text-h3: 1.22rem;
  }

  .site-header {
    background: rgba(43, 26, 20, .9);
  }

  .header-inner {
    min-height: 4.1rem;
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  }

  .mobile-panel {
    position: fixed;
    top: 4.1rem;
    right: .75rem;
    left: .75rem;
    border: 1px solid rgba(251, 244, 232, .14);
    border-radius: 0 0 18px 18px;
    box-shadow: 0 22px 52px rgba(43, 26, 20, .38);
  }

  .hero-section,
  .hero-shell {
    min-height: min(860px, 100svh);
  }

  .hero-shell {
    justify-content: end;
    padding: 6rem 1rem 2rem;
  }

  .hero-title,
  .hero-copy,
  .hero-facts {
    max-width: 100%;
  }

  .hero-copy {
    font-size: 1rem;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-secondary,
  .panel-actions .btn-primary,
  .panel-actions .btn-secondary,
  .footer-actions .btn-primary,
  .footer-actions .btn-tertiary {
    width: 100%;
    min-height: 3.25rem;
  }

  .fact-item {
    justify-content: flex-start;
    text-align: left;
  }

  .signature-grid,
  .section-inner {
    padding-inline: 1rem;
  }

  .section {
    padding-block: 3.4rem;
  }

  .section-heading,
  .section-copy,
  .section-title {
    max-width: 100%;
  }

  .section-heading .eyebrow,
  .eyebrow {
    text-align: center;
  }

  .product-grid,
  .gallery-grid,
  .visit-layout,
  .experience-layout,
  .special-layout,
  .experience-list {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  .product-media {
    aspect-ratio: 1 / 1;
  }

  .product-body {
    min-height: auto;
    padding: 1rem;
  }

  .experience-media,
  .special-media,
  .visit-card img,
  .gallery-card {
    aspect-ratio: 4 / 3;
    min-height: 0;
  }

  .visit-card {
    grid-template-columns: 1fr !important;
  }

  .visit-card img,
  .experience-media img,
  .special-media img,
  .gallery-card img,
  .product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .visit-card-body,
  .order-panel {
    padding: 1.1rem;
  }

  .visit-title,
  .order-panel h3 {
    font-size: clamp(1.55rem, 8vw, 2.1rem);
  }

  .visit-detail,
  .menu-row,
  .footer-column p,
  .footer-column a,
  .footer-copy {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .menu-tabs-wrap {
    margin-inline: -1rem;
    padding-inline: 1rem;
    overflow: hidden;
  }

  .menu-tabs {
    scroll-padding-inline: 1rem;
  }

  .menu-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .menu-row {
    align-items: flex-start;
    flex-direction: column;
    gap: .45rem;
  }

  .menu-row strong {
    align-self: flex-start;
  }

  .gallery-card figcaption,
  .special-media figcaption {
    font-size: .72rem;
    line-height: 1.2;
  }

  .site-footer {
    padding: 3rem 1rem max(1.5rem, env(safe-area-inset-bottom));
  }

  .footer-inner {
    grid-template-columns: 1fr !important;
    gap: 1.6rem;
    padding-top: 1.6rem;
  }

  .footer-brand {
    max-width: 100%;
  }

  .footer-title {
    font-size: clamp(1.45rem, 8vw, 1.9rem);
  }

  .footer-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .footer-column {
    gap: .5rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(251, 244, 232, .1);
  }

  .footer-column a,
  .footer-column p {
    width: auto;
    max-width: 100%;
  }

  .footer-bottom {
    align-items: flex-start;
    gap: .35rem;
    margin-top: 1.6rem;
    font-size: .78rem;
    line-height: 1.45;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .product-grid,
  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-inner {
    grid-template-columns: 1.2fr 1fr;
  }
}

/* Corant gallery visibility and symmetry fixes - 2026-06-26 (symmetric grid, no spans) */
@media (min-width: 1024px) {
  #galeri .gallery-grid {
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
  #galeri .gallery-card,
  #galeri .gallery-card-wide {
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 1 / 1 !important;
    width: auto !important;
    min-height: 0 !important;
    justify-self: stretch !important;
    align-self: stretch !important;
  }
  #galeri .gallery-card-large {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    aspect-ratio: 16 / 6 !important;
    width: auto !important;
    min-height: 0 !important;
  }
  #galeri .gallery-card-wide img {
    object-position: center center !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  #galeri .gallery-grid {
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
  #galeri .gallery-card,
  #galeri .gallery-card-wide {
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 4 / 3 !important;
    min-height: 0 !important;
  }
  #galeri .gallery-card-large {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    aspect-ratio: 2 / 1 !important;
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {
  #galeri,
  #galeri .section-inner,
  #galeri .section-heading,
  #galeri .gallery-grid,
  #galeri .gallery-card {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #galeri .gallery-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
    margin-top: 2rem !important;
  }

  #galeri .gallery-card,
  #galeri .gallery-card-large,
  #galeri .gallery-card-wide {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }

  #galeri .gallery-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}
