:root{color-scheme:dark;--bg:#160e1e;--panel:#24162e;--text:#f5ece5;--muted:#b9aabc;--accent:#d9b778;--line:#48324f;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:disabled{opacity:.55;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.header{border-bottom:1px solid var(--line);background:#160e1ef5;position:sticky;top:0;z-index:20}.header-inner{width:min(1380px,calc(100% - 72px));height:96px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:13px;letter-spacing:2px;font:19px var(--serif);white-space:nowrap}.brand small{display:block;font:8px Arial;letter-spacing:1.65px;margin-top:8px;color:var(--muted)}.brand-mark{border:1px solid #b69762;color:var(--accent);display:grid;place-items:center;width:48px;height:53px;font:25px var(--serif);border-radius:22px 22px 4px 4px;letter-spacing:-2px}nav{display:flex;gap:28px;font-size:13px}nav a{color:#cdbdcf;transition:color .2s}nav a:hover{color:var(--accent)}.header-phone{font-size:13px;white-space:nowrap}.header-phone span{color:var(--accent);margin-left:12px}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:45px;padding-block:68px 64px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.4px;color:var(--accent);margin:0 0 26px}.dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:8px;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(40px,4.65vw,70px);line-height:1.07;letter-spacing:-2.3px;margin-bottom:27px}em{color:var(--accent);font-weight:400}h2{font-size:clamp(32px,3.4vw,48px);line-height:1.17;letter-spacing:-1px;margin-bottom:26px}h3{font-size:25px;line-height:1.25}.intro{color:var(--muted);max-width:420px;line-height:1.85;font-size:14px}.actions{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.button,.outline-button{border:1px solid var(--accent);padding:16px 22px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-size:12px;font-weight:600;border-radius:3px;transition:background .2s,color .2s}.button{background:var(--accent);color:#23132c}.button:hover:not(:disabled){background:#e8d1a4}.outline-button{background:transparent;color:var(--text)}.outline-button:hover{background:var(--panel)}.text-link{display:inline-flex;gap:20px;font-size:12px;padding:8px 0;border-bottom:1px solid #8b738e}.text-link span{color:var(--accent)}.hero-address{font-size:10px;color:#b39bb9;margin:36px 0 0}.hero-visual{min-height:510px;background:#2e1938;border:1px solid #56365f;border-radius:180px 180px 4px 4px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:center;padding-top:70px}.visual-top{display:flex;flex-direction:column;align-items:center;gap:7px;letter-spacing:3px;font-size:9px;color:var(--accent);padding-bottom:22px}.visual-top span:first-child{font:24px var(--serif);letter-spacing:5px}.hero-visual img{width:100%;aspect-ratio:1.5;object-fit:cover;filter:brightness(.9)}.visual-bottom{padding:24px 30px;display:flex;justify-content:space-between;align-items:center;font:22px/1.3 var(--serif)}.visual-bottom a{display:grid;place-items:center;border:1px solid #8d6b94;border-radius:50%;width:42px;height:42px;color:var(--accent)}.occasion-line{border-block:1px solid var(--line)}.occasion-line .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:74px;font-size:10px;letter-spacing:2px;color:#cdbbd4}.occasion-line i{font-size:21px;color:var(--accent);font-style:normal}.section{padding-block:90px}.about{display:grid;grid-template-columns:1fr 3fr;gap:60px;border-bottom:1px solid var(--line)}.about>.eyebrow{padding-top:9px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--muted);font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:34px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;color:var(--muted);margin-bottom:4px}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.event-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#24152e;border-radius:4px;padding:25px 23px;transition:background .2s,border-color .2s}.event-card:hover{background:#321e3e;border-color:#9e7aaf}.card-number{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.card-number span{font-size:20px;color:var(--accent)}.event-symbol{font-size:56px;line-height:1;color:var(--accent);margin:35px 0}.event-card h3{font-size:23px;margin-bottom:14px}.event-card p{font-size:12px;color:var(--muted);line-height:1.8}.card-link{font-size:11px;color:var(--accent);margin-top:auto;padding-top:18px}.menu-feature{background:#301b3a;border:1px solid #624069;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:50px 60px;border-radius:5px}.menu-feature p:not(.eyebrow){font-size:13px;color:#c9b1d0}.menu-links a{display:flex;justify-content:space-between;gap:30px;align-items:center;border-bottom:1px solid #65436e;padding:25px 0;font:25px var(--serif)}.menu-links small{font:9px Arial;letter-spacing:1.8px;color:#c9b1d0;display:block;margin-bottom:13px}.menu-links>a:last-child{border-bottom:0}.menu-links a>span:last-child{font:25px Arial;color:var(--accent)}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.empty-state{padding:32px;border:1px dashed var(--line);color:var(--muted);font-size:13px;grid-column:1/-1;margin:0}.review-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow-wrap:anywhere}.review-card .stars{color:var(--accent);letter-spacing:3px}.review-card h3{font-size:20px;margin:18px 0 10px}.review-card p{color:var(--muted);font-size:13px;white-space:pre-wrap}.review-card time{font-size:11px;color:var(--muted)}.form-panel{max-width:680px;margin:30px auto 0;background:var(--panel);padding:30px;border:1px solid var(--line)}.form-panel>p{font-size:13px;color:var(--muted)}.booking-section{padding-block:70px;background:#24162f;border-block:1px solid var(--line)}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.booking-grid>div>p:not(.eyebrow){color:var(--muted);font-size:13px}.booking-phone{font:26px var(--serif);display:inline-block;margin-top:24px}.small{font-size:11px;color:var(--muted);margin:12px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:12px;margin-bottom:8px}input:not([type=checkbox]):not([type=radio]),textarea{width:100%;min-width:0;border:1px solid #604269;background:#1c1125;color:var(--text);padding:14px;border-radius:3px;margin-bottom:18px;font-size:13px}input::placeholder,textarea::placeholder{color:#b39abb;opacity:1}textarea{resize:vertical}.muted{color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:var(--muted);line-height:1.6;margin:5px 0 20px}.consent input{flex-shrink:0;margin-top:3px;width:16px;height:16px;accent-color:var(--accent)}.consent a{text-decoration:underline;text-underline-offset:3px}.availability{padding:12px 15px;border-left:2px solid var(--accent);font-size:12px;color:#dbcdaf;background:#ffffff04}.form-status{font-size:13px;overflow-wrap:anywhere}.form-status.error{color:#f1b0a1}.form-status.success{color:#b7d69e}.smart-captcha{min-height:100px;margin-bottom:20px}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.rating{border:0;padding:0;margin:0 0 20px;display:flex;gap:8px}.rating legend{font-size:12px;margin-bottom:8px}.rating label{position:relative;flex:1}.rating input{position:absolute;opacity:0}.rating span{display:block;text-align:center;border:1px solid var(--line);padding:10px 3px;cursor:pointer;color:var(--accent)}.rating input:checked+span{background:var(--accent);color:var(--bg)}.rating input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.contact-address{font:25px/1.4 var(--serif);margin-top:32px;margin-bottom:8px}.contact-details>div{border-bottom:1px solid var(--line);padding:10px 0 27px;margin-bottom:20px}.contact-details small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:15px}.contact-details a{display:block;font:25px var(--serif)}.contact-details .secondary-phone{font-size:17px;color:var(--muted);margin-top:8px}.contact-details .email{font-size:20px;overflow-wrap:anywhere}.social-links{display:flex;gap:30px}.social-links a{font:14px Arial}.footer{display:flex;gap:20px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-block:32px}.footer>span,.footer>a:last-child{font-size:10px;color:var(--muted)}.mobile-actions{display:none}.skip-link{position:fixed;top:-100px;left:15px;background:var(--accent);color:#160e1e;padding:12px;z-index:100}.skip-link:focus{top:10px}
/* Menu pages use the same independent local styles, without a CSS CDN. */
.menu-page .page-intro{padding-top:60px}.menu-page .page-intro h1{font-size:54px}.menu-page .page-intro p{color:var(--muted)}.menu-page main{width:min(1000px,calc(100% - 48px));margin:0 auto 70px}.menu-page .menu-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:30px 0}.menu-page .tab-button{border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--text);padding:13px 18px;font-size:13px}.menu-page .tab-button.active{background:var(--accent);color:var(--bg);border-color:var(--accent)}.menu-page .tab-content{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:32px}.menu-page .menu-category{margin-bottom:34px}.menu-page .menu-category:last-child{margin-bottom:0}.menu-page .menu-category h3{font-size:25px;border-bottom:1px solid var(--line);padding-bottom:15px;color:var(--accent)}.menu-page ul{list-style:none;padding:0;margin:0}.menu-page li{padding:13px 0;border-bottom:1px solid #4b3156;font-size:14px}.menu-page li>div{color:var(--muted);font-size:12px}.menu-page .menu-category p{color:var(--muted)}.menu-page .corkage-note{border-left:2px solid var(--accent);padding:15px 20px;color:var(--muted);font-size:13px;margin-top:25px}.menu-page .menu-footer{padding:25px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal{max-width:760px;padding-block:70px}.legal h1{font-size:42px}.legal h2{font-size:25px;margin-top:35px}.legal p,.legal li{color:var(--muted)}
@media(min-width:1500px){.hero{gap:90px}}@media(max-width:1100px){.header-phone{display:none}.hero{gap:30px}.hero-visual{min-height:440px}.wrap{width:calc(100% - 64px)}.event-grid{grid-template-columns:repeat(2,1fr)}.menu-feature{padding:40px;gap:40px}.booking-grid,.contact-grid{gap:40px}.about{grid-template-columns:1fr 3fr;gap:30px}.actions{gap:18px}.hero-address{max-width:280px}}@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);height:76px}.brand{font-size:17px}.brand-mark{width:39px;height:45px;font-size:23px}.brand small{font-size:7px}.nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;border:1px solid var(--line);background:transparent;border-radius:3px}.nav-toggle span{width:18px;height:1px;background:var(--text)}nav{position:absolute;left:0;right:0;top:76px;padding:20px;background:var(--bg);border-bottom:1px solid var(--line);display:none;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:12px}.hero{grid-template-columns:1fr;padding-block:38px 40px;gap:34px}.eyebrow{font-size:9px;letter-spacing:1.8px;margin-bottom:22px}h1{font-size:clamp(38px,9.6vw,60px);letter-spacing:-1.8px;line-height:1.12}.intro{font-size:13px;max-width:450px}.actions{gap:20px}.button,.outline-button{padding:14px 17px;font-size:12px;min-height:46px}.hero-address{max-width:none;margin-top:22px;font-size:10px}.hero-visual{min-height:0;max-width:460px;width:100%;margin:auto;border-radius:140px 140px 4px 4px;padding-top:40px}.visual-top{padding-bottom:16px}.visual-top span:first-child{font-size:20px}.visual-bottom{font-size:21px;padding:20px}.occasion-line .wrap{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:16px;padding-block:22px;font-size:8px;letter-spacing:1.5px}.occasion-line i{display:none}.section{padding-block:56px}.about{grid-template-columns:1fr;gap:0}.about-columns{grid-template-columns:1fr;gap:0}.about-columns p{font-size:13px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-heading>p{display:none}h2{font-size:34px;letter-spacing:-.8px}.event-grid{gap:12px}.event-card{padding:18px 15px}.event-symbol{font-size:43px;margin:23px 0}.event-card h3{font-size:22px}.event-card p{font-size:12px}.card-link{font-size:10px}.menu-feature{grid-template-columns:1fr;padding:30px 23px;gap:16px}.menu-links a{font-size:24px}.reviews-grid{grid-template-columns:1fr}.booking-section{padding-block:50px}.booking-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.booking-phone{font-size:25px;margin-top:12px}.form-row{grid-template-columns:1fr;gap:0}.form-panel{padding:22px 16px}.rating{gap:5px}.contact-details a{font-size:25px}.footer{align-items:flex-start;flex-wrap:wrap;padding-bottom:100px}.footer .brand{width:100%;margin-bottom:15px}.mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:#160e1efa;border-top:1px solid var(--line);padding:10px 20px calc(10px + env(safe-area-inset-bottom));gap:12px}.mobile-actions a{display:flex;justify-content:center;align-items:center;min-height:44px;font-size:12px;flex:1;border:1px solid var(--line);border-radius:3px}.mobile-actions a:last-child{background:var(--accent);color:var(--bg);border-color:var(--accent)}.menu-page .page-intro{padding-top:35px}.menu-page .page-intro h1{font-size:38px}.menu-page main{width:calc(100% - 32px)}.menu-page .tab-content{padding:22px 18px}.menu-page .tab-button{padding:12px;font-size:12px}.menu-page .menu-category h3{font-size:22px}.legal h1{font-size:34px}}@media(max-width:360px){.event-grid{grid-template-columns:1fr}.hero .actions{align-items:stretch;flex-direction:column}.actions .text-link{align-self:flex-start}.contact-details .email{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.hero-visual img{height:auto}
.brand-logo{width:142px;height:88px;object-fit:contain;flex-shrink:0}.header-inner{height:108px}.header .brand{overflow:hidden;border-radius:8px}.hero-visual{border-radius:22px;padding-top:0;background:#2e1938}.visual-top{padding:0;background:#2e1938}.hero-visual .hero-logo{width:100%;height:230px;object-fit:contain;filter:none}.hero-visual>img{aspect-ratio:1.85;object-fit:cover}.footer .brand-logo{width:170px;height:115px}.event-symbol{margin:26px 0 20px}.event-icon{width:76px;height:76px;display:block;overflow:visible}.event-icon .icon-spark{transform-origin:40px 16px;animation:spark-glow 3.5s ease-in-out infinite}.event-icon .icon-flames{transform-box:fill-box;transform-origin:center bottom;animation:candle-glow 2.6s ease-in-out infinite}.event-icon .icon-float{transform-origin:40px 42px;animation:controller-float 4s ease-in-out infinite}.event-card:hover .event-icon{color:#f4d5a0}.event-card:nth-child(2) .icon-spark{animation-delay:1s}@keyframes spark-glow{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes candle-glow{0%,100%{opacity:.65;transform:scaleX(.92) scaleY(.96)}50%{opacity:1;transform:scaleX(1.08) scaleY(1.06)}}@keyframes controller-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}.gallery-section{padding-top:0}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-card{position:relative;display:block;overflow:hidden;border-radius:10px;border:1px solid var(--line);background:var(--panel)}.gallery-card img{width:100%;height:280px;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.035)}.gallery-caption{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;color:var(--text);font:20px var(--serif)}.gallery-caption>span:last-child{color:var(--accent)}.food-gallery{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:20px;margin-top:24px}.food-gallery a{overflow:hidden;border-radius:8px;border:1px solid var(--line)}.food-gallery img{width:100%;height:240px;object-fit:cover;transition:transform .5s}.food-gallery a:hover img{transform:scale(1.04)}.map-panel{width:min(1280px,calc(100% - 96px));margin:0 auto 72px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.map-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 26px}.map-heading>span:first-child{font:26px var(--serif)}.map-heading>span:last-child{color:var(--muted);font-size:13px}.map-panel iframe{display:block;width:100%;height:420px;border:0}.map-panel>p{padding:16px 24px;margin:0;color:var(--muted);font-size:12px}.map-panel>p a{text-decoration:underline;text-underline-offset:3px}#photo-viewer{width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:18px;border:1px solid #84608d;border-radius:12px;background:#1d1127;color:var(--text);overflow:auto}#photo-viewer::backdrop{background:#100818ed;backdrop-filter:blur(6px)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.viewer-toolbar p{font:22px var(--serif);margin:0}.viewer-toolbar button,.viewer-controls button{min-width:44px;height:44px;background:var(--panel);color:var(--accent);border:1px solid var(--line);border-radius:50%;font-size:25px}#viewer-image{width:100%;height:min(68dvh,740px);object-fit:contain;border-radius:5px}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:15px}.viewer-controls span{font-size:13px;color:var(--muted)}body.viewer-open{overflow:hidden}@media(max-width:1100px){.map-panel{width:calc(100% - 64px)}.gallery-grid{gap:15px}.gallery-card img{height:230px}nav{gap:20px}}@media(max-width:760px){.header-inner{height:90px}.brand-logo{width:122px;height:82px}nav{top:90px}.hero-visual{border-radius:18px;padding:0}.hero-visual .hero-logo{height:200px}.hero-visual>img{aspect-ratio:1.55}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-card img{height:190px}.gallery-caption{font-size:17px;padding:14px 12px}.gallery-caption>span:last-child{display:none}.food-gallery{gap:12px;grid-template-columns:1fr 1fr}.food-gallery a:last-child{grid-column:1/-1}.food-gallery img{height:180px}.food-gallery a:last-child img{height:240px;object-position:center 40%}.map-panel{width:calc(100% - 40px);margin-bottom:45px}.map-heading{align-items:flex-start;flex-direction:column;gap:8px;padding:20px}.map-panel iframe{height:350px}.map-panel>p{padding:16px}.event-icon{width:64px;height:64px}.menu-page .header-inner{height:90px}.footer .brand-logo{width:160px;height:107px}#photo-viewer{padding:12px}.viewer-toolbar p{font-size:19px}}@media(max-width:400px){.gallery-grid{grid-template-columns:1fr}.gallery-card img{height:240px}.food-gallery{grid-template-columns:1fr}.food-gallery a:last-child{grid-column:auto}.food-gallery img{height:220px}}@media(prefers-reduced-motion:reduce){.event-icon *{animation:none!important}.gallery-card img,.food-gallery img{transition:none}}
@media(max-width:360px){.menu-page .header-inner{gap:10px}.menu-page .brand{gap:8px;font-size:15px}.menu-page .brand small{font-size:6px;letter-spacing:1px}.menu-page .brand-mark{width:32px;height:39px;font-size:21px}.menu-page .header-inner>.text-link{font-size:10px;white-space:nowrap}}
