*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#fbf0e4;--teal:#13a89e;--red:#ed1c24;--yellow:#fcde05;--dark:#2c1810;--dark-alt:#3d2518;--cream-dark:#f0e0cc;--font-display:"Playfair Display", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--section-py:5rem;--container-px:1.25rem;--ease:cubic-bezier(.25, .46, .45, .94)}html{scroll-padding-top:70px}body{font-family:var(--font-body);color:var(--dark);background-color:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{width:100%;max-width:1100px;padding:0 var(--container-px);margin:0 auto}.section{padding:var(--section-py) 0}.fade-in{opacity:0;transition:opacity .7s var(--ease)}.fade-in.visible{opacity:1}.top-banner{background-color:var(--teal);color:#fff;text-align:center;z-index:1002;justify-content:center;align-items:center;gap:.5rem;padding:8px 40px;font-size:.9rem;display:flex;position:relative}.top-banner a{color:#fff;font-weight:600;text-decoration:underline}.top-banner button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 5px;font-size:1.5rem;line-height:1;position:absolute;top:50%;right:15px;transform:translateY(-50%)}#main-nav{z-index:1000;-webkit-backdrop-filter:blur(12px);width:100%;transition:background .3s var(--ease), box-shadow .3s var(--ease);background:#fbf0e4eb;border-bottom:1px solid #2c181014;position:fixed;top:0;left:0}#main-nav.scrolled{box-shadow:0 2px 20px #2c18101a}.nav-container{max-width:1100px;padding:0 var(--container-px);justify-content:space-between;align-items:center;height:64px;margin:0 auto;display:flex}.nav-logo{font-family:var(--font-display);color:var(--dark);letter-spacing:.02em;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;display:flex}.nav-logo-img{width:100px;height:auto}.nav-toggle{cursor:pointer;z-index:1001;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hamburger,.hamburger:before,.hamburger:after{background:var(--dark);width:22px;height:2px;transition:all .35s var(--ease);border-radius:2px;display:block}.hamburger{position:relative}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0}.hamburger:before{top:-7px}.hamburger:after{top:7px}.nav-toggle.active .hamburger{background:0 0}.nav-toggle.active .hamburger:before{top:0;transform:rotate(45deg)}.nav-toggle.active .hamburger:after{top:0;transform:rotate(-45deg)}.nav-menu{background:var(--cream);width:70vw;max-width:300px;height:100dvh;transition:transform .4s var(--ease);flex-direction:column;gap:.25rem;padding:6rem 2rem 2rem;list-style:none;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 30px #2c18101a}.nav-menu.open{transform:translate(0)}.nav-link{color:var(--dark);transition:color .25s var(--ease);padding:.75rem 0;font-size:1.05rem;font-weight:500;display:block;position:relative}.nav-link:after{content:"";background:var(--teal);width:0;height:2px;transition:width .3s var(--ease);position:absolute;bottom:.5rem;left:0}.nav-link:hover,.nav-link.active{color:var(--teal)}.nav-link:hover:after,.nav-link.active:after{width:1.5rem}.nav-dropdown{position:relative}.dropdown-arrow{transition:transform .3s var(--ease);margin-left:.25rem;font-size:.7em;display:inline-block}.dropdown-menu{max-height:0;transition:max-height .4s var(--ease);flex-direction:column;gap:.6rem;margin-top:.25rem;padding-left:1.25rem;list-style:none;display:flex;overflow:hidden}.nav-dropdown.expanded .dropdown-menu{max-height:300px}.nav-dropdown.expanded .dropdown-arrow{transform:rotate(180deg)}.dropdown-link{color:var(--dark-alt);padding:.25rem 0;font-size:.95rem;transition:color .2s;display:block}.dropdown-link:hover{color:var(--teal)}.hero{text-align:center;background:url(/assets/hero-BeA2JomT.png) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero-overlay{background:linear-gradient(#2c18108c 0%,#2c1810b3 100%);position:absolute;inset:0}.hero-content{z-index:1;padding:2rem var(--container-px);position:relative}.hero-tagline{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:1rem;font-size:.8rem;font-weight:500}.hero-title{font-family:var(--font-display);color:#fff;margin-bottom:1.25rem;font-size:clamp(2.8rem,8vw,5.5rem);font-weight:700;line-height:1.05}.hero-subtitle{font-family:var(--font-display);color:#ffffffd9;margin-bottom:2.5rem;font-size:clamp(1rem,2.5vw,1.3rem);font-style:italic;font-weight:400}.btn{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .3s var(--ease);border:none;border-radius:4px;padding:.9rem 2.2rem;font-size:.9rem;font-weight:600;display:inline-block}.btn-primary{background:var(--teal);color:#fff}.btn-primary:hover{background:#0f8c83;transform:translateY(-2px);box-shadow:0 6px 20px #13a89e59}.section-header{text-align:center;margin-bottom:3rem}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-block}.section-header h2{font-family:var(--font-display);color:var(--dark);font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.15}.about{background:var(--cream)}.about-content{text-align:center;max-width:680px;margin:0 auto}.about-content p{color:var(--dark-alt);margin-bottom:1.25rem;font-size:1.05rem;line-height:1.8}.about-divider{justify-content:center;align-items:center;margin-top:2rem;display:flex}.divider-icon{color:var(--teal);opacity:.6;font-size:1.2rem}.menu{background:#fff}.menu-category{margin-bottom:3rem}.menu-category:last-child{margin-bottom:0}.menu-category-title{font-family:var(--font-display);color:var(--dark);border-bottom:2px solid var(--yellow);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:700;display:inline-block}.menu-grid{gap:1.25rem;display:grid}.menu-item{border-bottom:1px solid #2c18100f;padding:1rem 0}.menu-item:last-child{border-bottom:none}.menu-item-header{align-items:flex-end;gap:.5rem;margin-bottom:.35rem;display:flex}.menu-item-name{color:var(--dark);font-size:1.05rem;font-weight:600}.menu-item-dots{border-bottom:1px dotted #2c181033;flex:1;min-width:1rem;margin-bottom:6px}.menu-item-price{color:var(--teal);white-space:nowrap;flex-shrink:0;font-size:1.05rem;font-weight:600}.menu-item-desc{color:#2c181099;font-size:.88rem;line-height:1.5}.veg-indicator{color:var(--teal);cursor:pointer;font-size:.8rem}.highlight-special{border-left:3px solid var(--teal);background-color:#13a89e14;border-radius:4px;margin:.25rem -1rem;padding:.75rem 1rem}.special-badge{background:var(--yellow);color:var(--dark);vertical-align:middle;text-transform:uppercase;letter-spacing:.05em;border-radius:12px;margin-left:.5rem;padding:.15rem .5rem;font-size:.65rem;font-weight:700;display:inline-block;box-shadow:0 2px 4px #0000000d}.veg-tooltip{background:var(--dark);color:var(--cream);pointer-events:none;z-index:1000;animation:tooltipFade .25s forwards var(--ease);border-radius:4px;padding:.3rem .6rem;font-size:.8rem;font-weight:600;position:absolute;box-shadow:0 4px 12px #00000026}.veg-tooltip:after{content:"";border-style:solid;border-width:5px;border-color:var(--dark) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes tooltipFade{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,-10px)}}.gallery{background:var(--cream)}.gallery-wrapper{width:100%;position:relative}.gallery-grid{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:1rem;width:100%;display:flex;overflow-x:auto}.gallery-grid::-webkit-scrollbar{display:none}.gallery-item{scroll-snap-align:center;aspect-ratio:1;cursor:pointer;border-radius:8px;flex:0 0 calc(100% - 2rem);position:relative;overflow:hidden}@media (width<=767px){.lightbox-btn{display:none}}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.gallery-item:hover img{transform:scale(1.04)}.lightbox{z-index:9999;opacity:0;pointer-events:none;background:#0a0a0af2;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;pointer-events:auto}.lightbox-content{max-width:90vw;max-height:85vh;position:relative}.lightbox-content img{object-fit:contain;border-radius:4px;max-width:100%;max-height:85vh;transition:transform .4s cubic-bezier(.19,1,.22,1);transform:scale(.95);box-shadow:0 10px 40px #00000080}.lightbox.active .lightbox-content img{transform:scale(1)}.lightbox-close,.lightbox-btn{color:#ffffffb3;cursor:pointer;z-index:10000;background:0 0;border:none;padding:1rem;font-size:2.5rem;transition:color .3s,transform .3s;position:absolute}.lightbox-close{font-size:3rem;line-height:1;top:1rem;right:1.5rem}.lightbox-prev{top:50%;left:1rem;transform:translateY(-50%)}.lightbox-next{top:50%;right:1rem;transform:translateY(-50%)}.lightbox-close:hover,.lightbox-btn:hover{color:#fff;transform:scale(1.1)translateY(-50%)}.lightbox-close:hover{transform:scale(1.1)}.reviews{background:linear-gradient(135deg, #13a89e14, #fcde051f), var(--cream)}.reviews-layout{align-items:end;gap:2rem;margin-bottom:2.5rem;display:grid}.reviews-header{text-align:left;margin-bottom:0}.reviews-header h2{margin-bottom:.9rem}.reviews-intro{max-width:560px;color:var(--dark-alt);font-size:1rem;line-height:1.75}.reviews-summary{border-left:3px solid var(--teal);justify-self:start;padding-left:1rem}.reviews-rating-row{align-items:flex-start;gap:.75rem;margin-bottom:.7rem;display:flex}.reviews-rating{font-family:var(--font-display);color:var(--dark);font-size:2.8rem;font-weight:700;line-height:1}.reviews-stars,.review-stars{color:#d79f05;letter-spacing:.08em}.reviews-stars{margin:.25rem 0 .35rem;font-size:.9rem;line-height:1;display:block}.reviews-count{color:#2c1810ad;margin-bottom:0;font-size:.9rem}.reviews-link{color:var(--dark);letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--teal);transition:color .25s var(--ease), border-color .25s var(--ease);align-items:center;padding-bottom:.15rem;font-size:.82rem;font-weight:700;display:inline-flex}.reviews-link:hover{color:var(--teal);border-color:var(--yellow)}.reviews-grid{gap:1rem;display:grid}.review-card{background:#fff;border:1px solid #2c181014;border-radius:8px;flex-direction:column;gap:.85rem;min-height:100%;padding:1.25rem;display:flex;box-shadow:0 14px 35px #2c18100f}.review-card-cta{background:linear-gradient(135deg,#13a89e17,#fcde0524),#fff;justify-content:space-between}.review-card-loading{opacity:.72}.review-text{color:var(--dark-alt);font-family:var(--font-display);font-size:1.08rem;font-style:italic;line-height:1.65}.review-footer{justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:.35rem;display:flex}.review-author{color:var(--dark);font-size:.92rem;font-weight:700}.review-date{color:#2c18108f;white-space:nowrap;font-size:.82rem}.reviews-empty{color:var(--dark-alt);font-size:1rem;line-height:1.7}.review-cta-label{color:var(--teal);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700}.review-cta-title{font-family:var(--font-display);color:var(--dark);font-size:1.45rem;line-height:1.2}.review-cta-text{color:var(--dark-alt);font-size:.95rem;line-height:1.65}.reviews-debug{color:#2c1810b8;border-top:1px solid #2c18101a;margin-top:.25rem;padding-top:.85rem;font-size:.78rem;line-height:1.55}.reviews-debug strong{color:var(--dark)}.reviews-debug p{margin:.35rem 0 .6rem}.reviews-debug ul{gap:.55rem;list-style:none;display:grid}.footer{background:var(--dark);color:#fbf0e4d9;padding:var(--section-py) 0 0}.footer-content{text-align:center;gap:2rem;display:grid}.footer-brand{text-align:center}.footer-logo{font-family:var(--font-display);color:var(--cream);margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.footer-tagline{font-family:var(--font-display);color:#fbf0e48c;font-size:1rem;font-style:italic}.hours-table{border-collapse:collapse;text-align:left;width:100%;margin:0 auto;font-size:.85rem}.hours-table td{vertical-align:top;white-space:nowrap;padding:.25rem .2rem}.hours-table td:first-child{padding-left:0;font-weight:600}.hours-table td:last-child{padding-right:0}.footer-block h3{font-family:var(--font-display);color:var(--teal);margin-bottom:.75rem;font-size:1.1rem;font-weight:700}.footer-block p{font-size:.9rem;line-height:1.7}.footer-block a{transition:color .25s var(--ease)}.footer-block a:hover{color:var(--teal)}.footer-bottom{text-align:center;color:#fbf0e459;border-top:1px solid #fbf0e41a;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;margin-top:3rem;padding:1.5rem 0;font-size:.8rem;display:flex}.footer-bottom p{margin:0}.footer-divider{background:#fbf0e42e;width:1px;height:1rem;display:none}.footer-credit{color:#fbf0e48c;font-weight:600}.footer-credit a{transition:color .25s var(--ease)}.footer-credit a:hover{color:var(--teal)}@media (width>=768px){:root{--section-py:6rem;--container-px:2rem}.menu-grid{grid-template-columns:1fr 1fr;gap:.75rem 3rem}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid;overflow-x:visible}.gallery-item{flex:auto}.reviews-layout{grid-template-columns:minmax(0,1fr) auto}.reviews-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-hidden{display:none!important}.footer-content{text-align:left;grid-template-columns:repeat(2,1fr);align-items:start;gap:2.5rem 2rem}.footer-brand{text-align:left}.hours-table{margin:0}.footer-bottom{flex-direction:row;gap:1rem}.footer-divider{display:block}}@media (width>=1024px){.footer-content{grid-template-columns:auto auto auto auto;justify-content:space-between;gap:2rem}:root{--section-py:7rem;--container-px:2rem}.nav-toggle{display:none}.nav-menu{width:auto;max-width:none;height:auto;box-shadow:none;background:0 0;flex-direction:row;align-items:center;gap:2rem;padding:0;display:flex;position:static;transform:none}.nav-link{padding:.25rem 0;font-size:.9rem}.nav-dropdown{position:relative}.dropdown-menu{background:var(--cream);visibility:hidden;opacity:0;min-width:180px;max-height:none;transition:all .3s var(--ease);border:1px solid #2c18100d;border-radius:6px;flex-direction:column;margin-top:0;padding:1rem;list-style:none;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(10px);box-shadow:0 8px 30px #2c18101f}.nav-dropdown:hover .dropdown-menu{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.nav-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}}
