:root{--color-yellow: #F5C543;--color-red: #E94B35;--color-green: #5B8C3E;--color-cream: #FFF8F0;--color-brown: #3B2314;--color-orange: #D4894A;--color-light-yellow: #FFF4D6;--color-light-red: #FFE8E5;--font-heading: "Bebas Neue", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--nav-height: 70px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:var(--font-body);color:var(--color-brown);background:var(--color-cream);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-height);transition:background .3s,box-shadow .3s}.navbar.scrolled{background:#fff8f0f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 20px #3b231414}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px 0 14px;height:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center}.nav-logo-img{height:22px;width:auto}@media (min-width: 769px){.nav-logo-img{height:38px}}.nav-links{display:flex;list-style:none;gap:32px}.nav-links a{font-size:.95rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;position:relative;color:#fff;transition:color .3s}.navbar.scrolled .nav-links a{color:var(--color-brown)}.navbar.scrolled .nav-toggle span{background:var(--color-brown)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-red);border-radius:2px;transition:width .3s}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-links a.active{color:var(--color-red)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.nav-toggle span{display:block;width:24px;height:2.5px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s,background .3s}.nav-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:url(/gallery/hero.jpg) center 55% / cover no-repeat}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#140a058c,#140a0540 45%,#140a0573);z-index:0}.hero-bg-shapes{display:none}.hero-content{position:relative;z-index:1;padding:0 24px;margin-top:6vh}.hero-tagline{font-family:var(--font-body);font-size:1rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--color-cream);margin-bottom:12px}.hero-title{font-family:var(--font-heading);font-size:clamp(2.6rem,6vw,5.5rem);font-weight:400;color:#fff;margin-bottom:20px;line-height:1;letter-spacing:3px;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.15rem;max-width:500px;margin:0 auto 36px;color:#fff8f0e6;line-height:1.7}.btn{display:inline-block;padding:14px 36px;border-radius:50px;font-family:var(--font-body);font-size:1rem;font-weight:600;letter-spacing:.5px;transition:transform .3s,box-shadow .3s,background .3s;cursor:pointer}.btn-primary{background:var(--color-red);color:#fff;box-shadow:0 4px 20px #e94b354d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #e94b3566}.section{padding:100px 0}.section-header{text-align:center;margin-bottom:60px}.section-label{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--color-red);margin-bottom:12px;background:var(--color-light-red);padding:6px 16px;border-radius:50px}.section-header h2{font-family:var(--font-heading);font-size:clamp(2.2rem,5vw,3.5rem);font-weight:400;letter-spacing:2px;color:var(--color-brown);line-height:1.2}.about{background:#fff}.about-intro{max-width:680px;margin:0 auto 56px;text-align:center}.about-intro p{font-family:var(--font-body);font-size:1.2rem;line-height:1.9;color:#6b5446;font-style:italic}.about-intro em{color:var(--color-red);font-style:italic;font-weight:700}.pronunciation{color:var(--color-red);font-style:normal;font-size:.9em;font-weight:400;opacity:.8}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.about-card{background:var(--color-cream);border-radius:20px;overflow:hidden;text-align:left;transition:transform .55s cubic-bezier(.34,1.2,.64,1),opacity .55s ease,box-shadow .3s}.about-card.visible:hover{transform:translateY(-6px)!important;box-shadow:0 12px 40px #3b231414}.about-card.fade-in:nth-child(1){transform:scale(.92) translateY(60px) rotate(-6deg);transform-origin:bottom center}.about-card.fade-in:nth-child(2){transform:scale(.92) translateY(60px) rotate(0);transform-origin:bottom center;transition-delay:.14s}.about-card.fade-in:nth-child(3){transform:scale(.92) translateY(60px) rotate(6deg);transform-origin:bottom center;transition-delay:.28s}.about-card.fade-in.visible{transform:scale(1) translateY(0) rotate(0)}.about-card-img{width:100%;height:280px;overflow:hidden}.about-card-img img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;transition:transform .4s ease}.about-grid .about-card:nth-child(1) .about-card-img img{object-position:center 50%}.about-grid .about-card:nth-child(2) .about-card-img img{object-position:center 60%}.about-grid .about-card:nth-child(3) .about-card-img img{object-position:center 90%}.about-card:hover .about-card-img img{transform:scale(1.04)}.about-card-body{padding:32px 32px 36px}.about-label{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--color-red);margin-bottom:12px}.about-card h3{font-family:var(--font-heading);font-size:1.35rem;margin-bottom:16px;color:var(--color-brown);line-height:1.3}.about-divider{width:40px;height:2px;background:var(--color-red);margin-bottom:16px;opacity:.5}.about-card p{font-size:.95rem;color:#6b5446;line-height:1.8}.menu{background:#fff}.menu-covers{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:700px;margin:0 auto}.menu-cover-group{display:flex;flex-direction:column;align-items:center;gap:0}.menu-cover-label{font-family:var(--font-heading);font-size:1.5rem;letter-spacing:3px;text-transform:uppercase;color:var(--color-brown);margin-bottom:12px}.menu-cover{position:relative;border:none;padding:0;cursor:pointer;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #3b23141f;transition:transform .3s ease,box-shadow .3s ease;background:none}.menu-cover:hover{transform:translateY(-6px);box-shadow:0 16px 48px #3b231433}.menu-cover img{width:100%;display:block}.menu-cover-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;background:linear-gradient(to top,rgba(59,35,20,.5) 0%,transparent 50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.menu-cover:hover .menu-cover-overlay{opacity:1}.menu-cover-cta{font-family:var(--font-body);font-size:.85rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:var(--color-red);padding:10px 24px;border-radius:50px}.menu-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease}.menu-modal.active{opacity:1;visibility:visible;pointer-events:auto}.menu-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#3b2314b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.menu-modal-content{position:relative;z-index:1;width:92%;max-width:860px;transform:scale(.95) translateY(20px);transition:transform .35s ease}.menu-modal.active .menu-modal-content{transform:scale(1) translateY(0)}.menu-modal-close{position:absolute;top:-48px;right:0;width:40px;height:40px;border-radius:50%;border:none;background:#fff;color:var(--color-brown);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #3b231426;transition:background .3s,color .3s;z-index:10}.menu-modal-close:hover{background:var(--color-red);color:#fff}.flipbook{position:relative;display:flex;align-items:center;justify-content:center;gap:12px}.flipbook-viewport{width:100%;aspect-ratio:1.41 / 1;overflow:hidden;border-radius:8px;box-shadow:0 12px 50px #3b231426;background:#f2e8dc}.flipbook-book{position:relative;width:100%;height:100%}.book-spread{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;opacity:0;transform:scale(.97);transition:opacity .5s ease,transform .5s ease;pointer-events:none}.book-spread.active{opacity:1;transform:scale(1);pointer-events:auto}.book-page{overflow:hidden;position:relative}.book-page img{width:100%;height:100%;object-fit:cover;display:block}.book-spread:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;background:linear-gradient(to bottom,transparent,rgba(59,35,20,.15),rgba(59,35,20,.15),transparent);transform:translate(-50%);z-index:2;pointer-events:none}.book-page-left{box-shadow:inset -8px 0 16px -8px #3b23141a}.book-page-right{box-shadow:inset 8px 0 16px -8px #3b23141a}.flip-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:2px solid var(--color-brown);background:#fff;color:var(--color-brown);font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,opacity .3s;z-index:10;box-shadow:0 4px 12px #3b23141a}.flip-nav:hover{background:var(--color-red);border-color:var(--color-red);color:#fff}.flip-prev{left:-60px}.flip-next{right:-60px}.flipbook-controls{text-align:center;margin-top:16px}.page-indicator{display:flex;justify-content:center;gap:10px}.page-dot{width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:transparent;cursor:pointer;padding:0;transition:background .3s,border-color .3s,transform .3s}.page-dot.active{background:#fff;border-color:#fff;transform:scale(1.15)}.whats-on{background:var(--color-cream)}.whats-on-feature{display:flex;align-items:flex-start;gap:56px;max-width:900px;margin:0 auto}.whats-on-time{display:flex;flex-direction:column;align-items:center;flex-shrink:0;gap:10px;padding-top:8px}.time-badge{display:inline-block;background:var(--color-red);color:#fff;font-family:var(--font-heading);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;letter-spacing:.02em;padding:18px 28px;border-radius:999px;line-height:1;white-space:nowrap}.time-label{font-family:var(--font-body);font-size:.8rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--color-brown);opacity:.6}.whats-on-body{flex:1}.whats-on-heading{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);color:var(--color-brown);margin-bottom:12px;line-height:1.1}.whats-on-desc{font-size:1.05rem;color:var(--color-brown);opacity:.75;max-width:480px;margin-bottom:32px;line-height:1.7}.whats-on-deals{display:grid;grid-template-columns:1fr 1fr;gap:20px}.deal-card{background:#fff;border-radius:16px;padding:28px 24px;box-shadow:0 4px 20px #3b231412;border:1.5px solid rgba(59,35,20,.07);display:flex;flex-direction:column;gap:4px}.deal-price{font-family:var(--font-heading);font-size:2.4rem;font-weight:800;color:var(--color-red);line-height:1;margin-bottom:4px}.deal-name{font-family:var(--font-body);font-size:.95rem;font-weight:700;color:var(--color-brown);text-transform:uppercase;letter-spacing:.08em}.deal-desc{font-size:.88rem;color:var(--color-brown);opacity:.65;line-height:1.55;margin-top:8px}@media (max-width: 768px){.whats-on-feature{flex-direction:column;gap:32px;align-items:center;text-align:center}.whats-on-desc{margin-left:auto;margin-right:auto}.whats-on-deals{grid-template-columns:1fr;text-align:left}}.gallery{background:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:12px}.gallery-item{border-radius:14px;overflow:hidden;position:relative}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-grid .gallery-item:nth-child(5) img{object-position:center 35%}.gallery-item{cursor:pointer}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:after{content:"⤢";position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#fff8f0d9;color:var(--color-brown);font-size:1rem;display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:opacity .25s ease,transform .25s ease;pointer-events:none;line-height:32px;text-align:center}.gallery-item:hover:after{opacity:1;transform:scale(1)}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.gift-card-section{background:#fff}.gift-card-wrapper{max-width:640px;margin:0 auto}.gift-card-link{display:block;position:relative;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px #3b23141f;transition:transform .3s ease,box-shadow .3s ease}.gift-card-link:hover{transform:translateY(-4px);box-shadow:0 16px 48px #3b231433}.gift-card-img{width:100%;display:block}.gift-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:24px;background:linear-gradient(to top,rgba(59,35,20,.35) 0%,transparent 50%);opacity:0;transition:opacity .3s ease}.gift-card-link:hover .gift-card-overlay{opacity:1}@media (max-width: 768px){.gift-card-wrapper{max-width:100%}.gift-card-overlay{opacity:1}}.reservations{background:#fff}.reservations-intro{font-size:1.15rem;color:var(--color-brown);opacity:.8;max-width:560px;margin:0 auto 40px;text-align:center;line-height:1.75}.reservations-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:820px;margin:0 auto}.reservations-card{background:var(--color-cream);border-radius:16px;padding:36px 32px;border:1.5px solid rgba(59,35,20,.07)}.reservations-card--highlight{background:#bb1e1c;border-color:#bb1e1c}.reservations-card h3{font-family:var(--font-heading);font-size:1.6rem;font-weight:400;letter-spacing:1.5px;color:var(--color-brown);margin-bottom:12px}.reservations-card p{font-size:.95rem;color:var(--color-brown);opacity:.75;line-height:1.7;margin-bottom:20px}.reservations-card--highlight h3{color:#fff}.reservations-card--highlight p{color:#f8e6d9;opacity:1}.reservations-card--highlight .reservations-link{color:#f8e6d9}.reservations-link{display:inline-block;font-family:var(--font-body);font-size:.9rem;font-weight:600;color:var(--color-red);text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px;transition:opacity .2s ease}.reservations-card--highlight .reservations-link{color:var(--color-cream)}.reservations-link:hover{opacity:.7}@media (max-width: 768px){.reservations-cards{grid-template-columns:1fr}.reservations-card{padding:28px 24px}}.contact{background:var(--color-cream)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.contact-info{display:flex;flex-direction:column;gap:24px}.contact-card{background:#fff;border-radius:16px;padding:28px 32px;box-shadow:0 4px 20px #3b23140d}.contact-card h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--color-brown);margin-bottom:8px}.contact-card p{font-size:.95rem;color:#6b5446;line-height:1.8}.hours-table{display:flex;flex-direction:column;gap:6px}.hours-row{display:flex;justify-content:space-between;font-size:.95rem;color:#6b5446;line-height:1.6}.hours-row span:first-child{font-weight:500;color:var(--color-brown)}.contact-card a{color:var(--color-red);font-weight:500;transition:opacity .3s}.contact-card a:hover{opacity:.7}.contact-map{height:100%;min-height:400px}.map-placeholder{width:100%;height:100%;min-height:400px;background:#e8ddd3;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a7567}.map-placeholder span{font-size:3rem;margin-bottom:8px}.map-placeholder p{font-family:var(--font-heading);font-size:1.1rem;font-weight:700}.map-placeholder small{font-size:.8rem;margin-top:4px;opacity:.7}.footer{background:#bb1e1c;color:#f8e6d9;padding:24px 0 14px}.footer-content{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:16px}.footer-logo-img{height:22px;width:auto;margin-bottom:0}.footer-brand p{font-size:.75rem;color:#f8e6d9;opacity:.75}.footer-links{display:flex;gap:16px}.footer-links a{font-size:.8rem;color:#f8e6d9;transition:opacity .3s}.footer-links a:hover{opacity:.7}.footer-social{display:flex;gap:12px}.social-link{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(248,230,217,.4);display:flex;align-items:center;justify-content:center;color:#f8e6d9;transition:background .3s,border-color .3s,transform .3s}.social-link:hover{background:#f8e6d926;border-color:#f8e6d9;transform:translateY(-2px)}.social-link svg{width:18px;height:18px;fill:#f8e6d9}.footer-bottom{border-top:1px solid rgba(248,230,217,.2);padding-top:10px;text-align:center;font-size:.75rem;color:#f8e6d9;opacity:.6}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.lightbox.active{opacity:1;visibility:visible;pointer-events:auto}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#140a05eb;cursor:pointer}.lightbox-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;border:none;background:#ffffff26;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1;transition:background .3s}.lightbox-close:hover{background:var(--color-red)}.lightbox-img{position:relative;z-index:1;max-width:92vw;max-height:92vh;object-fit:contain;border-radius:8px;box-shadow:0 24px 80px #0009;transform:scale(.96);transition:transform .3s ease}.lightbox.active .lightbox-img{transform:scale(1)}.fade-in{opacity:0;transition:opacity .6s ease}.fade-in.visible{opacity:1}@media (max-width: 900px){.about-grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}.menu-covers{gap:20px;max-width:500px}.flip-prev{left:4px}.flip-next{right:4px}.flip-nav{width:40px;height:40px;font-size:1.2rem;background:#ffffffe6}.menu-modal-close{top:-44px;width:36px;height:36px;font-size:1.3rem}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.gallery-wide{grid-column:span 2}.gallery-tall{grid-row:span 2}.contact-grid{grid-template-columns:1fr}.footer-content{flex-direction:column;text-align:center;gap:10px}}@media (max-width: 768px){.nav-toggle{display:flex}.nav-links a{color:var(--color-brown)}.nav-links{position:fixed;top:var(--nav-height);left:0;right:0;background:#fff8f0fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;align-items:center;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease;box-shadow:0 10px 30px #3b23141a}.nav-links.active{max-height:420px;padding:20px 0}.nav-links li{width:100%;text-align:center}.nav-links a{display:block;padding:14px 24px;font-size:1.1rem}.nav-links a:after{display:none}.section{padding:70px 0}.flipbook-viewport{border-radius:6px;aspect-ratio:.707 / 1}.book-spread{grid-template-columns:1fr}.book-page-left{display:none}.book-spread.show-left .book-page-left{display:block}.book-spread.show-left .book-page-right{display:none}.book-spread:after{display:none}.book-page-left,.book-page-right{box-shadow:none}}@media (max-width: 480px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:240px}.gallery-wide,.gallery-tall{grid-column:span 1;grid-row:span 1}}.live-status{position:absolute;bottom:0;left:0;right:0;padding:28px 24px 72px;display:flex;align-items:center;justify-content:center;gap:18px;background:linear-gradient(to top,rgba(20,10,5,.72) 0%,transparent 100%);letter-spacing:3px;text-transform:uppercase}.live-status-text{font-family:var(--font-heading);font-size:clamp(1rem,2.2vw,1.45rem);color:#fff8f0f2;line-height:1}.live-status-sep{color:var(--color-red);font-family:var(--font-heading);font-size:1.4rem;line-height:1}@media (min-width: 769px){.nav-container,.container{max-width:none;padding-left:56px;padding-right:56px}}
