@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Lato:wght@300;400;700;900&display=swap";:root{--color-primary: #6B1B2A;--color-primary-dark: #4A1020;--color-primary-light: #8B2535;--color-accent: #D4A574;--color-accent-light: #E8C4A0;--color-cream: #F5F0E8;--color-white: #FFFFFF;--color-black: #0D0D0D;--color-gray-dark: #2C2C2C;--color-gray-mid: #666666;--color-gray-light: #CCCCCC;--color-text: #1A1A1A;--color-text-muted: #666666;--font-heading: "Playfair Display", Georgia, serif;--font-body: "Lato", system-ui, sans-serif;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 2.5rem;--space-6: 3rem;--space-8: 4rem;--space-10: 5rem;--space-12: 6rem;--space-16: 8rem;--max-width: 75rem;--top-bar-height: 2rem;--header-height: 4.5rem;--total-header-height: calc(var(--top-bar-height) + var(--header-height));--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 12px 30px rgba(0, 0, 0, .15);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--transition: .3s ease}.breadcrumbs{background:var(--color-cream);padding:.625rem 0;font-size:.8125rem;font-family:var(--font-body);border-bottom:1px solid rgba(0,0,0,.06)}.breadcrumbs .container{display:flex;align-items:center;gap:0;flex-wrap:wrap}.breadcrumb-link{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}.breadcrumb-link:hover{color:var(--color-accent);text-decoration:underline}.breadcrumb-sep{margin:0 .375rem;color:var(--color-gray-mid);font-size:.75rem}.breadcrumb-current{color:var(--color-text-muted)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:calc(var(--total-header-height) + 1rem);overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-cream);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;opacity:0;animation:fadeInPage .3s ease forwards;overflow-x:hidden}@keyframes fadeInPage{to{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;padding:.75rem 1.5rem;background:var(--color-primary);color:var(--color-white);font-weight:700;z-index:10000;border-radius:var(--radius-md);transition:top var(--transition)}.skip-link:focus{top:1rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2;color:var(--color-text)}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.25rem}p{margin-bottom:1rem;max-width:65ch}main{overflow-x:hidden}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-3)}.section{padding:var(--space-10) 0}.section-header{text-align:center;margin-bottom:var(--space-8)}.section-header h2{margin-bottom:var(--space-2);color:var(--color-primary)}.section-header p{color:var(--color-text-muted);margin:0 auto}.section-divider{width:4rem;height:2px;background:var(--color-accent);margin:var(--space-3) auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;font-size:.9375rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline{border:2px solid var(--color-accent);color:var(--color-accent)}.btn-outline:hover{background:var(--color-accent);color:var(--color-black);transform:translateY(-2px)}.btn-accent{background:var(--color-accent);color:var(--color-black)}.btn-accent:hover{background:var(--color-accent-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.site-header{position:fixed;top:var(--top-bar-height);left:0;width:100%;height:var(--header-height);z-index:1000;transition:background var(--transition),box-shadow var(--transition);background:transparent}.site-header.scrolled{background:#4a1020eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 20px #0000004d}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-3)}.header-logo{display:flex;align-items:center;gap:.75rem;color:var(--color-white);font-family:var(--font-heading);font-size:1.25rem;font-weight:600;z-index:1001}.header-logo svg{width:2.5rem;height:2.5rem}.nav-links{display:flex;align-items:center;gap:var(--space-4)}.nav-links a{color:#ffffffd9;font-size:.9375rem;font-weight:400;letter-spacing:.02em;position:relative;transition:color var(--transition)}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--transition)}.nav-links a:hover,.nav-links a.active{color:var(--color-white)}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.nav-reserve{padding:.5rem 1.25rem!important;background:var(--color-primary-light)!important;border-radius:var(--radius-sm)!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase;font-size:.8125rem!important}.nav-reserve:after{display:none!important}.nav-reserve:hover{background:var(--color-accent)!important;color:var(--color-black)!important}.top-bar{position:fixed;top:0;left:0;width:100%;height:var(--top-bar-height);background:var(--color-primary-dark);z-index:1001;font-size:.6875rem;border-bottom:1px solid rgba(212,165,116,.2)}.top-bar-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-3);height:100%}.top-bar-locations{display:flex;gap:.25rem}.top-bar-loc{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .625rem;color:var(--color-accent);font-weight:700;font-size:.6875rem;letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition)}.top-bar-loc:hover{background:#d4a57426;color:var(--color-white)}.top-bar-loc.active{background:var(--color-accent);color:var(--color-primary-dark)}.top-bar-info{display:flex;align-items:center;gap:1rem}.top-bar-phone{display:inline-flex;align-items:center;gap:.25rem;color:#fffc;font-size:.6875rem;transition:color var(--transition)}.top-bar-phone:hover{color:var(--color-accent)}.top-bar-hours{color:#ffffff80;font-size:.625rem}.hamburger{display:none;flex-direction:column;gap:5px;padding:.5rem;z-index:1001}.hamburger span{display:block;width:24px;height:2px;background:var(--color-white);transition:all var(--transition)}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 1023px){.hamburger{display:flex}.nav-links{position:fixed;top:0;left:0;width:100%;height:100vh;flex-direction:column;justify-content:center;gap:var(--space-4);background:var(--color-primary-dark);transform:translateY(-100%);transition:transform .4s ease}.nav-links.open{transform:translateY(0)}.nav-links a{font-size:1.25rem}.top-bar-info{display:none}.top-bar-locations{width:100%;justify-content:center}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-white);background:linear-gradient(135deg,#4a1020,#6b1b2a,#2c1510);overflow:hidden}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");pointer-events:none;z-index:1}.hero-content{position:relative;z-index:2;padding:var(--space-4);max-width:50rem}.hero-content h1{color:var(--color-white);margin-bottom:var(--space-3);font-size:clamp(2.5rem,6vw,4rem);animation:heroTextReveal 1s ease .2s both}.hero-content p{color:#ffffffd9;font-size:clamp(1rem,2vw,1.25rem);margin:0 auto var(--space-5);max-width:40ch;animation:heroTextReveal 1s ease .5s both}.hero-ctas{display:flex;gap:var(--space-2);justify-content:center;flex-wrap:wrap;animation:heroTextReveal 1s ease .8s both}@keyframes heroTextReveal{0%{opacity:0;transform:translateY(20px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.hero-content h1:after{content:"";display:block;width:4rem;height:2px;background:var(--color-accent);margin:var(--space-3) auto 0}.hero-page{min-height:50vh}.hero-page-img{background-size:cover;background-position:center;background-repeat:no-repeat}.hero-page .hero-content h1{font-size:clamp(2rem,5vw,3rem)}.card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-body{padding:var(--space-3)}.img-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4a1020,#6b1b2a,#2c1510);color:#fff9;font-family:var(--font-heading);font-style:italic;text-align:center;padding:var(--space-3)}.img-placeholder-food{aspect-ratio:4 / 3}.img-placeholder-square{aspect-ratio:1}.img-placeholder-wide{aspect-ratio:16 / 9}.site-footer{background:var(--color-primary-dark);color:#fffc;padding:var(--space-10) 0 0}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:var(--space-6);padding-bottom:var(--space-8)}.footer-brand{max-width:20rem}.footer-brand .logo-text{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-white);margin-bottom:var(--space-2)}.footer-brand p{color:#fff9;font-size:.875rem}.footer-col h4{color:var(--color-accent);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-3)}.footer-col a,.footer-col p{display:block;font-size:.875rem;margin-bottom:.625rem;color:#ffffffb3;transition:color var(--transition)}.footer-col a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:var(--space-3) 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:.8125rem;color:#fff6}.footer-credit:hover{color:#ffffffbf!important}.social-links{display:flex;gap:var(--space-2)}.social-links a{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;transition:all var(--transition);font-size:.875rem}.social-links a:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-black)}@media (max-width: 767px){.footer-grid{grid-template-columns:1fr;gap:var(--space-4)}.footer-bottom{flex-direction:column;text-align:center}}.animate-fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.animate-fade-up.visible{opacity:1;transform:translateY(0)}.animate-fade-up.visible>.card,.animate-fade-up.visible>.cuisine-card,.animate-fade-up.visible>.review-card,.animate-fade-up.visible>.philosophy-card,.animate-fade-up.visible>.location-card{animation:staggerIn .5s ease both}.animate-fade-up.visible>:nth-child(1){animation-delay:0s}.animate-fade-up.visible>:nth-child(2){animation-delay:.15s}.animate-fade-up.visible>:nth-child(3){animation-delay:.3s}.animate-fade-up.visible>:nth-child(4){animation-delay:.45s}@keyframes staggerIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}@media (max-width: 767px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (min-width: 768px) and (max-width: 1023px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.dish-strip{display:flex;gap:var(--space-3);overflow-x:auto;padding:var(--space-2) 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab}.dish-strip.dragging{cursor:grabbing;scroll-snap-type:none;-webkit-user-select:none;user-select:none}.dish-strip::-webkit-scrollbar{display:none}.dish-card{flex:0 0 16rem;scroll-snap-align:start;background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.dish-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.dish-card .card-body{padding:var(--space-2) var(--space-3)}.dish-card .dish-name{font-family:var(--font-heading);font-size:1rem;margin-bottom:.25rem}.dish-card .dish-price{color:var(--color-primary);font-weight:700;font-size:1.125rem}.dish-card .dish-category{display:inline-block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);background:var(--color-cream);padding:.125rem .5rem;border-radius:var(--radius-sm);margin-top:.5rem}.cta-banner{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1.5'%3E%3Cpath d='M40 10c-4 0-8 6-8 14s3 12 8 14c5-2 8-6 8-14s-4-14-8-14z'/%3E%3Cline x1='40' y1='38' x2='40' y2='58'/%3E%3Cline x1='32' y1='58' x2='48' y2='58'/%3E%3Ccircle cx='15' cy='65' r='4'/%3E%3Ccircle cx='65' cy='15' r='4'/%3E%3C/g%3E%3C/svg%3E") repeat,linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 50%,var(--color-primary-light) 100%);color:var(--color-white);text-align:center;padding:var(--space-8) var(--space-3);position:relative;overflow:hidden}.cta-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(212,165,116,.12) 0%,transparent 60%),radial-gradient(ellipse at 80% 50%,rgba(212,165,116,.08) 0%,transparent 60%);pointer-events:none}.cta-banner:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(212,165,116,.06) 45%,rgba(212,165,116,.12) 50%,rgba(212,165,116,.06) 55%,transparent 60%);animation:cta-shimmer 6s ease-in-out infinite;pointer-events:none}@keyframes cta-shimmer{0%,to{transform:translate(-30%) translateY(-30%)}50%{transform:translate(30%) translateY(30%)}}.cta-promo-pill{background:#ffffff26;padding:.4rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:600;transition:transform .2s,background .2s}.cta-promo-pill:hover{background:#ffffff40;transform:scale(1.05)}.cta-promo-pill--highlight{background:#d4a5744d;animation:pill-glow 3s ease-in-out infinite}@keyframes pill-glow{0%,to{box-shadow:0 0 #d4a57400}50%{box-shadow:0 0 12px 2px #d4a5744d}}.cta-banner>*{position:relative;z-index:1}.cta-banner h2{color:var(--color-accent);margin-bottom:var(--space-2)}.cta-banner p{color:#ffffffd9;margin:0 auto var(--space-4);max-width:40ch;font-size:1.125rem}.cuisine-card{text-align:center;padding:var(--space-6) var(--space-4)}.cuisine-card .cuisine-icon{font-size:3rem;margin-bottom:var(--space-3);color:var(--color-primary);display:flex;justify-content:center}.cuisine-card h3{margin-bottom:var(--space-2);color:var(--color-primary)}.cuisine-card p{color:var(--color-text-muted);font-size:.9375rem;margin:0 auto}.review-card{background:var(--color-white);padding:var(--space-4);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.review-stars{color:var(--color-accent);font-size:1.125rem;margin-bottom:var(--space-2)}.review-card p{font-style:italic;color:var(--color-text-muted);font-size:.9375rem;margin-bottom:var(--space-2)}.review-author{font-weight:700;font-size:.875rem;color:var(--color-text)}.location-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}.location-card-link{display:block;color:inherit;text-decoration:none}.location-card-link:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.location-card-img{aspect-ratio:3 / 2;overflow:hidden}.location-card-img picture{display:block;width:100%;height:100%}.location-card-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.location-card-link:hover .location-card-img img{transform:scale(1.05)}.location-card-body{padding:var(--space-4)}.location-card-body h3{color:var(--color-primary);margin-bottom:var(--space-3);font-size:1.25rem}.location-card .location-detail{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);font-size:.875rem;color:var(--color-text-muted);line-height:1.4}.location-card .location-detail .detail-icon{flex-shrink:0;width:1.125rem;display:flex;align-items:flex-start;padding-top:.125rem;color:var(--color-primary)}.location-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgba(0,0,0,.06);gap:var(--space-2)}.location-card .rating-badge{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-cream);padding:.3rem .625rem;border-radius:var(--radius-sm);font-weight:700;font-size:.75rem;color:var(--color-primary)}.location-card-arrow{font-size:.8125rem;font-weight:700;color:var(--color-accent);white-space:nowrap}.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.insta-grid a{display:block;aspect-ratio:1;background:linear-gradient(135deg,#4a1020,#6b1b2a);position:relative;overflow:hidden}.insta-grid a img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.insta-grid a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background var(--transition)}.insta-grid a:hover:after{background:#6b1b2a66}.insta-grid a:hover img{transform:scale(1.08)}@media (max-width: 639px){.insta-grid{grid-template-columns:repeat(3,1fr)}}.menu-search{max-width:30rem;margin:0 auto var(--space-4)}.menu-search input{width:100%;padding:.875rem 1.25rem;border:2px solid var(--color-gray-light);border-radius:var(--radius-lg);background:var(--color-white);font-size:1rem;transition:border-color var(--transition)}.menu-search input:focus{outline:none;border-color:var(--color-primary)}.category-nav{position:sticky;top:var(--total-header-height);z-index:100;background:var(--color-white);border-bottom:1px solid rgba(0,0,0,.08);padding:var(--space-2) 0;overflow-x:auto;scrollbar-width:none;cursor:grab}.category-nav.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.category-nav::-webkit-scrollbar{display:none}.category-nav-inner{display:flex;gap:.5rem;padding:0 var(--space-3);max-width:var(--max-width);margin:0 auto;white-space:nowrap}.category-pill{padding:.5rem 1rem;border-radius:2rem;font-size:.8125rem;font-weight:700;color:var(--color-text-muted);background:var(--color-cream);transition:all var(--transition);flex-shrink:0}.category-pill:hover,.category-pill.active{background:var(--color-primary);color:var(--color-white)}.menu-section{padding:var(--space-8) 0;border-bottom:1px solid rgba(0,0,0,.05)}.menu-section:last-child{border-bottom:none}.menu-section h2{color:var(--color-primary);margin-bottom:var(--space-2);display:flex;align-items:center;gap:.5rem}.menu-emoji{font-size:1.5rem;line-height:1}.menu-cuisine-header{text-align:center;padding:var(--space-6) 0 var(--space-2)}.menu-cuisine-icon{font-size:2rem;display:block;margin-bottom:.25rem}.menu-cuisine-header h3{font-size:1.25rem;color:var(--color-primary);text-transform:uppercase;letter-spacing:.1em;margin:0}.menu-item--featured{border-left:3px solid var(--color-accent);background:linear-gradient(135deg,var(--color-white) 0%,rgba(212,165,116,.06) 100%)}.menu-featured-badge{display:inline-block;font-size:.625rem;font-weight:700;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);background:#d4a5741f;padding:.125rem .5rem;border-radius:2rem;margin-left:.5rem;vertical-align:middle}.menu-section .menu-note{color:var(--color-text-muted);font-style:italic;font-size:.875rem;margin-bottom:var(--space-4)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:var(--space-3)}.menu-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2);background:var(--color-white);padding:var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.menu-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.menu-item-info{flex:1}.menu-item-name{font-family:var(--font-heading);font-size:1rem;font-weight:500;margin-bottom:.125rem}.menu-item-code{font-size:.6875rem;color:var(--color-text-muted)}.menu-item-price{font-weight:700;font-size:1.125rem;color:var(--color-primary);white-space:nowrap}.menu-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:var(--space-3)}.mi-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition)}.mi-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.mi-card--sig{border:2px solid var(--color-accent)}.mi-card-img{aspect-ratio:4/3;overflow:hidden;background:var(--color-cream)}.mi-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.mi-card-img:hover img{transform:scale(1.05)}.mi-card-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-cream) 0%,#f5efe8 100%)}.mi-card-placeholder:hover img{transform:none}.mi-placeholder-logo{width:48px!important;height:48px!important;object-fit:contain!important;opacity:.15}.mi-card-body{padding:.75rem 1rem}.mi-card-name{font-family:var(--font-heading);font-size:.9375rem;font-weight:500;line-height:1.3;margin-bottom:.25rem}.mi-sig-badge{display:inline-block;font-size:.6rem;font-weight:700;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);background:#d4a5741f;padding:.125rem .5rem;border-radius:2rem;margin-left:.375rem;vertical-align:middle}.mi-card-code{font-size:.6875rem;color:var(--color-text-muted)}.mi-card-price{font-weight:700;font-size:1rem;color:var(--color-primary);margin-top:.25rem}@media (max-width: 639px){.menu-items-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:var(--space-2)}.mi-card-body{padding:.5rem .75rem}.mi-card-name{font-size:.8125rem}.mi-card-price{font-size:.875rem}}.menu-fab{display:none}@media (max-width: 1023px){.menu-fab{display:flex;align-items:center;gap:.5rem;position:fixed;bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:998;padding:.625rem 1.25rem;background:var(--color-primary);color:var(--color-white);border-radius:2rem;box-shadow:0 4px 20px #4a102066;font-size:.8125rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;white-space:nowrap;max-width:calc(100vw - 3rem)}.menu-fab:active{transform:translate(-50%) scale(.96)}.menu-fab-label{overflow:hidden;text-overflow:ellipsis}}.menu-fab-overlay{display:none}.menu-fab-overlay.open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#00000080;align-items:flex-end;justify-content:center}.menu-fab-sheet{background:var(--color-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:70vh;display:flex;flex-direction:column;animation:sheetSlideUp .3s ease}@keyframes sheetSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.menu-fab-sheet-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.06);font-family:var(--font-heading);font-weight:600;font-size:1.125rem;color:var(--color-primary)}.menu-fab-sheet-header button{font-size:1.5rem;color:var(--color-text-muted);background:none;border:none;cursor:pointer;padding:0 .25rem;line-height:1}.menu-fab-sheet-list{overflow-y:auto;padding:.5rem 0;-webkit-overflow-scrolling:touch}.menu-fab-item{display:block;width:100%;text-align:left;padding:.875rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--color-text);background:none;border:none;cursor:pointer;transition:background .15s ease;font-family:inherit}.menu-fab-item:hover,.menu-fab-item:active{background:var(--color-cream);color:var(--color-primary)}.gallery-tabs{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap}.gallery-tab{padding:.5rem 1.5rem;border-radius:2rem;font-size:.875rem;font-weight:700;color:var(--color-text-muted);background:var(--color-white);border:2px solid var(--color-gray-light);transition:all var(--transition)}.gallery-tab:hover,.gallery-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.gallery-item{cursor:pointer;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1}.gallery-item picture{display:block;width:100%;height:100%}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 2;grid-row:span 2}@media (max-width: 767px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:nth-child(1),.gallery-item:nth-child(6){grid-column:span 1;grid-row:span 1}}@media (max-width: 479px){.gallery-grid{grid-template-columns:1fr;gap:var(--space-2)}.gallery-item{aspect-ratio:4 / 3}}.contact-form{display:flex;flex-direction:column;gap:var(--space-3)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:700;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;border:2px solid var(--color-gray-light);border-radius:var(--radius-md);background:var(--color-white);transition:border-color var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{min-height:7rem;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}@media (max-width: 639px){.form-row{grid-template-columns:1fr}}.form-success{display:none;text-align:center;padding:var(--space-6);background:var(--color-white);border-radius:var(--radius-md)}.form-success.show{display:block}.form-success h3{color:var(--color-primary);margin-bottom:var(--space-2)}.faq-list{max-width:50rem;margin:0 auto}.faq-item{border-bottom:1px solid var(--color-gray-light)}.faq-question{width:100%;text-align:left;padding:var(--space-3) 0;font-family:var(--font-heading);font-size:1.125rem;font-weight:500;color:var(--color-text);display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:none;border:none}.faq-question:after{content:"+";font-size:1.5rem;color:var(--color-primary);transition:transform var(--transition)}.faq-item.open .faq-question:after{content:"−"}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}.faq-item.open .faq-answer{max-height:20rem;padding-bottom:var(--space-3)}.faq-answer p{color:var(--color-text-muted);font-size:.9375rem}.hours-table{width:100%;border-collapse:collapse;font-size:.9375rem}.hours-table th,.hours-table td{padding:.75rem var(--space-3);text-align:left;border-bottom:1px solid var(--color-gray-light)}.hours-table th{font-weight:700;color:var(--color-primary);background:var(--color-cream)}.map-embed{width:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.map-embed iframe{display:block;width:100%;min-height:18rem}.philosophy-card{text-align:center;padding:var(--space-5) var(--space-4);background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.philosophy-icon{font-size:2.5rem;margin-bottom:var(--space-3);color:var(--color-primary);display:flex;justify-content:center}.philosophy-card h3{color:var(--color-primary);margin-bottom:var(--space-2)}.philosophy-card p{color:var(--color-text-muted);font-size:.9375rem;margin:0 auto}.stats-strip{display:flex;justify-content:center;gap:var(--space-8);flex-wrap:wrap;padding:var(--space-6) 0}.stat-item{text-align:center}.stat-value{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--color-accent)}.stat-label{font-size:.875rem;color:var(--color-text-muted);margin-top:.25rem}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--space-4)}.error-page h1{font-size:6rem;color:var(--color-primary);margin-bottom:var(--space-2)}.mobile-nav{display:none}@media (max-width: 1023px){.mobile-nav{display:flex;align-items:flex-end;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--color-primary-dark);padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.08)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .75rem;color:#ffffff8c;font-size:.625rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;transition:color var(--transition);text-decoration:none}.mobile-nav-item svg{width:20px;height:20px}.mobile-nav-item:hover,.mobile-nav-item.active{color:var(--color-accent)}.mobile-nav-call{position:relative;bottom:.75rem;width:3.25rem;height:3.25rem;padding:0;border-radius:50%;background:var(--color-accent);color:var(--color-primary-dark);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #d4a57466;transition:transform var(--transition),box-shadow var(--transition)}.mobile-nav-call svg{width:22px;height:22px}.mobile-nav-call:hover{color:var(--color-primary-dark);transform:scale(1.08);box-shadow:0 6px 24px #d4a57480}.site-footer{padding-bottom:5rem}}
