:root{--bg-black:#000;--black-hsl:0, 0%, 7%;--bg-charcoal:#141414;--bg-cream:#f9f6f0;--accent-gold:#c5a059;--accent-gold-hover:#b08d4b;--text-dark:#202020;--text-light:#fff;--text-muted-dark:#666;--text-muted-light:#b5b5b5;--border-light:#ffffff14;--border-dark:#00000014;--border-gold:#c5a0594d;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-cream);color:var(--text-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}main{flex:1}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);letter-spacing:.01em;font-weight:400}.btn-gold{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);background-color:var(--accent-gold);border:1px solid var(--accent-gold);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;padding:14px 28px;font-size:.75rem;font-weight:700;transition:all .3s;display:inline-flex}.btn-gold:hover{color:var(--accent-gold);background-color:#0000}.btn-dark-outline{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dark);border:1px solid var(--text-dark);cursor:pointer;background-color:#0000;border-radius:2px;justify-content:center;align-items:center;padding:12px 24px;font-size:.72rem;font-weight:700;transition:all .3s;display:inline-flex}.btn-dark-outline:hover{background-color:var(--text-dark);color:var(--bg-cream)}.btn-white-outline{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-light);border:1px solid var(--text-light);cursor:pointer;background-color:#0000;border-radius:2px;justify-content:center;align-items:center;padding:12px 24px;font-size:.72rem;font-weight:700;transition:all .3s;display:inline-flex}.btn-white-outline:hover{background-color:var(--text-light);color:var(--bg-black)}.section-dark{background-color:var(--bg-charcoal);color:var(--text-light)}.section-cream{background-color:var(--bg-cream);color:var(--text-dark)}.section-wrapper{max-width:var(--max-width);margin:0 auto;padding:90px 24px}.section-title-container{text-align:center;margin-bottom:50px}.section-subtitle-gold{font-family:var(--font-sans);color:var(--accent-gold);letter-spacing:.25em;text-transform:uppercase;margin-bottom:12px;font-size:.72rem;font-weight:700;display:block}.section-title-serif{font-size:2.5rem;line-height:1.2}.grid-2{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.grid-12{grid-template-columns:repeat(12,1fr);gap:32px;display:grid}.col-span-3{grid-column:span 3}.col-span-4{grid-column:span 4}.col-span-5{grid-column:span 5}.col-span-7{grid-column:span 7}.col-span-8{grid-column:span 8}@media (width<=992px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}@media (width<=768px){.grid-2,.grid-3,.grid-4,.grid-12{grid-template-columns:1fr!important;gap:32px!important}.col-span-3,.col-span-4,.col-span-5,.col-span-7,.col-span-8{grid-column:span 12!important}.section-title-serif{font-size:2rem}.section-wrapper{padding:60px 16px}}.zoom-card{border-radius:2px;position:relative;overflow:hidden}.zoom-card-img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1)}.zoom-card:hover .zoom-card-img{transform:scale(1.04)}#site-header{background-color:hsla(var(--black-hsl), 1);z-index:50;border-bottom:1px solid #ffffff0d;width:100%;position:sticky;top:0}.header-container{max-width:var(--max-width);flex-direction:column;align-items:center;margin:0 auto;padding:20px 24px;display:flex;position:relative}.header-logo-row{justify-content:center;align-items:center;width:100%;margin-bottom:15px;display:flex}.header-nav-row{justify-content:center;align-items:center;gap:36px;display:flex}.header-nav-link{font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:.72rem;font-weight:600;transition:color .3s;position:relative}.header-nav-link-active{color:var(--accent-gold)}.header-nav-link-inactive{color:var(--text-light);opacity:.75}.header-nav-link-inactive:hover{opacity:1;color:var(--text-light)}.header-active-line{background-color:var(--accent-gold);width:100%;height:2px;position:absolute;bottom:0;left:0}.header-mobile-toggle{color:#fff;cursor:pointer;background:0 0;border:none;padding:5px;display:none}@media (width<=768px){.header-container{flex-direction:row;justify-content:space-between;padding:15px 24px}.header-logo-row{width:auto;margin-bottom:0}.header-nav-row{display:none}.header-mobile-toggle{display:block}}.mobile-drawer-menu{background-color:var(--bg-black);z-index:40;flex-direction:column;gap:20px;width:100%;height:calc(100vh - 95px);padding:40px 32px;display:flex;position:fixed;top:95px;left:0}.mobile-drawer-link{text-align:left;font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffffff0d;padding:12px 0;font-size:.85rem;font-weight:600}.hero-wrapper{background-color:var(--bg-black);justify-content:center;align-items:center;width:100%;height:75vh;display:flex;position:relative}.hero-img-bg{opacity:.6;background-position:top;background-size:cover;position:absolute;inset:0}.hero-gradient-overlay{background:linear-gradient(#0000 0%,#0000004d 40%,#1a1a1a 100%);position:absolute;inset:0}.hero-content-box{z-index:10;text-align:center;padding:0 24px;position:relative}.hero-subtitle-gold{font-family:var(--font-sans);color:var(--accent-gold);letter-spacing:.3em;text-transform:uppercase;margin-bottom:15px;font-size:.75rem;font-weight:700;display:block}.hero-title-serif{font-family:var(--font-serif);color:var(--text-light);margin-bottom:20px;font-size:clamp(2.2rem,5vw,4.5rem);font-weight:400;line-height:1.1}.hero-desc-light{font-family:var(--font-sans);color:var(--text-muted-light);max-width:460px;margin:0 auto 30px;font-size:.95rem;font-weight:300;line-height:1.6}@media (width<=768px){.hero-wrapper{height:60vh}}.welcome-text-col{flex-direction:column;gap:20px;display:flex}.hours-card-box{background-color:#00000040;border:1px solid #ffffff14;border-radius:4px;flex-direction:column;gap:16px;padding:24px;display:flex}.hours-card-title{font-family:var(--font-sans);color:var(--accent-gold);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:8px;font-size:.72rem;font-weight:700;display:flex}.hours-grid{grid-template-columns:1fr 1fr;gap:12px;font-size:.8rem;display:grid}.hours-grid-day{color:var(--text-muted-light);margin-bottom:2px;display:block}.hours-grid-time{color:var(--text-light);font-weight:600}.welcome-img-wrapper{background-color:#ffffff08;border:1px solid #ffffff1a;border-radius:4px;padding:8px;box-shadow:0 15px 30px #0006}.welcome-img{object-fit:cover;border-radius:2px;width:100%;height:380px}.highlight-row{grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;margin-bottom:80px;display:grid}.highlight-row:nth-child(2n){grid-template-columns:.9fr 1.1fr}.highlight-row:last-child{margin-bottom:0}.highlight-img-container{background-color:#fff;border:1px solid #0000000a;border-radius:4px;padding:4px;box-shadow:0 10px 20px #00000005}.highlight-text-container{flex-direction:column;gap:16px;display:flex}.highlight-label-gold{font-family:var(--font-sans);color:var(--accent-gold);letter-spacing:.2em;text-transform:uppercase;font-size:.7rem;font-weight:700}.highlight-title-serif{font-family:var(--font-serif);color:var(--text-dark);font-size:1.85rem}.highlight-desc-light{color:var(--text-muted-dark);font-size:.88rem;font-weight:300;line-height:1.6}@media (width<=768px){.highlight-row{grid-template-columns:1fr!important;gap:32px!important;margin-bottom:60px!important}.highlight-row:nth-child(2n){grid-template-columns:1fr!important}.highlight-row-image-col{order:-1}}.menu-leaflets-row{justify-content:center;gap:16px;margin-bottom:48px;display:flex}.menu-category-bar{border-bottom:1px solid #0000001a;justify-content:center;gap:36px;margin-bottom:48px;display:flex}.menu-cat-tab-btn{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:16px 0;font-size:.72rem;font-weight:700;transition:all .3s;position:relative}.menu-items-flex-grid{grid-template-columns:1fr 1fr;gap:32px;max-width:1020px;margin:0 auto;display:grid}.menu-item-tile{background-color:#fff;border:1px solid #0000000d;border-radius:4px;align-items:center;gap:16px;padding:16px;display:flex;box-shadow:0 4px 10px #00000003}.menu-item-img-box{border:1px solid #0000000a;border-radius:4px;flex-shrink:0;width:96px;height:96px;position:relative;overflow:hidden}.menu-item-img-zoom{object-fit:cover;width:100%;height:100%;transition:transform .5s}.menu-item-tile:hover .menu-item-img-zoom{transform:scale(1.05)}.menu-item-details-box{flex-direction:column;flex:1;gap:6px;display:flex}.menu-item-header{justify-content:space-between;align-items:baseline;display:flex}.menu-item-name{font-family:var(--font-sans);color:var(--text-dark);font-size:.95rem;font-weight:700}.menu-item-price{font-family:var(--font-sans);color:var(--accent-gold);font-size:.85rem;font-weight:700}.menu-item-desc{color:var(--text-muted-dark);font-size:.75rem;font-weight:300;line-height:1.5}@media (width<=768px){.menu-category-bar{flex-wrap:wrap;gap:16px}.menu-cat-tab-btn{padding:12px 0}.menu-items-flex-grid{grid-template-columns:1fr}.menu-item-tile{padding:12px}}.lightbox-backdrop{z-index:100;cursor:zoom-out;background-color:#000000eb;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-close-round-btn{color:#fff;cursor:pointer;background-color:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .3s;display:flex;position:absolute;top:24px;right:24px}.lightbox-close-round-btn:hover{background-color:#000c}.lightbox-image-fit{object-fit:contain;border-radius:2px;max-width:100%;max-height:85vh;box-shadow:0 30px 60px #0009}.story-text-container{flex-direction:column;gap:16px;display:flex}.story-pic-wrapper{background-color:#fff;border:1px solid #0000000d;border-radius:4px;padding:4px;box-shadow:0 10px 25px #00000008}.story-vision-statement-box{max-w:740px;text-align:center;border-top:1px solid #0000000d;margin:80px auto 0;padding-top:48px}.story-vision-text-serif{font-family:var(--font-serif);color:var(--text-dark);margin-bottom:24px;font-size:1.25rem;font-style:italic}.story-icons-row{justify-content:center;gap:36px;margin-top:48px;display:flex}.story-icon-item{flex-direction:column;align-items:center;gap:8px;display:flex}.story-icon-label-sans{font-family:var(--font-sans);color:var(--text-muted-dark);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:700}.contact-card-info-box{background-color:#fff;border:1px solid #0000000d;border-radius:4px;flex-direction:column;gap:16px;padding:24px;display:flex;box-shadow:0 4px 10px #00000003}.contact-card-title-serif{font-family:var(--font-serif);color:var(--text-dark);border-bottom:1px solid #0000000d;padding-bottom:8px;font-size:1.2rem}.contact-info-list{color:var(--text-muted-dark);flex-direction:column;gap:16px;font-size:.85rem;display:flex}.contact-info-item{align-items:flex-start;gap:12px;display:flex}.hours-table{border-collapse:collapse;width:100%;font-size:.8rem}.hours-table-row{border-bottom:1px solid #0000000d}.hours-table-row:last-child{border-bottom:none}.hours-table-day{color:var(--text-dark);padding:10px 0;font-weight:700}.hours-table-time{text-align:right;color:var(--text-muted-dark);padding:10px 0}.contact-form-card{background-color:#fff;border:1px solid #0000000d;border-radius:4px;padding:32px 24px;box-shadow:0 8px 24px #00000005}.form-group-item{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-group-item-label{font-family:var(--font-sans);color:#555;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.form-input-text{color:#000;font-size:.85rem;font-family:var(--font-sans);background-color:#fafafa;border:1px solid #00000014;border-radius:4px;outline:none;padding:12px 16px;transition:border-color .3s}.form-input-text:focus{border-color:var(--accent-gold)}.form-textarea-box{color:#000;font-size:.85rem;font-family:var(--font-sans);resize:none;background-color:#fafafa;border:1px solid #00000014;border-radius:4px;outline:none;height:100px;padding:12px 16px;transition:border-color .3s}.form-textarea-box:focus{border-color:var(--accent-gold)}.contact-map-frame-box{backgroundColor:#fff;border:1px solid #0000000d;border-radius:4px;height:420px;padding:4px}.footer-newsletter-banner{background-color:var(--bg-charcoal);color:var(--text-light);border-top:1px solid #ffffff0d;padding:48px 0}.footer-newsletter-container{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:32px;margin:0 auto;padding:0 24px;display:flex}.footer-newsletter-info-box{max-width:50%}.footer-newsletter-title{font-family:var(--font-serif);margin-bottom:6px;font-size:1.4rem}.footer-newsletter-desc{color:var(--text-muted-light);font-size:.75rem;font-weight:300}.footer-newsletter-form-box{gap:8px;width:45%;display:flex}.footer-newsletter-input-email{color:var(--text-light);background-color:#ffffff0a;border:1px solid #ffffff1a;border-radius:2px;outline:none;flex:1;padding:12px 16px;font-size:.8rem;transition:border-color .3s}.footer-newsletter-input-email:focus{border-color:var(--accent-gold)}@media (width<=768px){.footer-newsletter-container{flex-direction:column;align-items:stretch;gap:24px}.footer-newsletter-info-box{max-width:100%}.footer-newsletter-form-box{width:100%}}.footer-bottom-black-area{background-color:var(--bg-black);color:var(--text-light);padding:64px 0 32px}.footer-bottom-columns-grid{max-width:var(--max-width);grid-template-columns:repeat(12,1fr);gap:48px;margin:0 auto;padding:0 24px;display:grid}.footer-brand-col{flex-direction:column;grid-column:span 5;gap:16px;display:flex}.footer-brand-logo-img{object-fit:contain;border-radius:4px;align-self:flex-start;width:auto;height:48px}.footer-brand-desc-light{color:var(--text-muted-light);font-size:.75rem;font-weight:300;line-height:1.6}.footer-social-row{gap:12px;margin-top:8px;display:flex}.footer-social-circle-link{width:36px;height:36px;color:var(--text-light);border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;transition:border-color .3s,color .3s;display:flex}.footer-social-circle-link:hover{border-color:var(--accent-gold);color:var(--accent-gold)}.footer-links-col{flex-direction:column;grid-column:span 3;gap:16px;display:flex}.footer-col-header-gold{font-family:var(--font-sans);color:var(--accent-gold);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}.footer-list-items{flex-direction:column;gap:10px;font-size:.75rem;list-style:none;display:flex}.footer-list-btn-link{color:var(--text-muted-light);cursor:pointer;text-align:left;font-family:var(--font-sans);background:0 0;border:none;padding:0;font-weight:300;transition:color .3s}.footer-list-btn-link:hover{color:var(--accent-gold)}.footer-details-col{flex-direction:column;grid-column:span 4;gap:16px;display:flex}.footer-details-contact-info-list{color:var(--text-muted-light);flex-direction:column;gap:12px;font-size:.75rem;display:flex}.footer-details-contact-item{align-items:flex-start;gap:10px;display:flex}.footer-bottom-copyright-strip-row{max-width:var(--max-width);color:var(--text-muted-dark);border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin:48px auto 0;padding:32px 24px 0;font-size:.65rem;display:flex}.footer-back-to-top-btn{color:var(--text-muted-dark);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;transition:color .3s;display:flex}.footer-back-to-top-btn:hover{color:var(--text-light)}@media (width<=768px){.footer-bottom-columns-grid{grid-template-columns:1fr!important;gap:32px!important}.footer-brand-col,.footer-links-col,.footer-details-col{grid-column:span 12!important}.footer-bottom-copyright-strip-row{text-align:center;flex-direction:column;gap:16px}}
