*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-base:#0d0c0b;--bg-elevated:#1a1816;--bg-card:#1e1c1a;--bg-card-hover:#252321;--text-primary:#f0ebe3;--text-secondary:#b5afa8;--text-muted:#706b66;--accent:#b8453a;--accent-glow:rgba(184,69,58,.25);--gold:#c4a265;--gold-subtle:rgba(196,162,101,.12);--border:#2a2724;--border-subtle:#22201d;--radius:2px;--radius-md:6px;--shadow-card:0 1px 0 var(--border), 0 4px 24px rgba(0,0,0,.5);--shadow-elevated:0 2px 0 var(--border), 0 12px 48px rgba(0,0,0,.6);--ease-out:cubic-bezier(.22, .61, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1)}html{background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:"Source Serif 4",Georgia,Times New Roman,serif;font-size:17px;line-height:1.7}body{min-height:100vh}body:after{content:"";z-index:9998;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}h1,h2,h3,h4{letter-spacing:-.02em;font-family:Playfair Display,Georgia,Times New Roman,serif;font-weight:700;line-height:1.2}.splash-screen{z-index:9999;opacity:1;visibility:visible;transition:opacity .6s var(--ease-out), visibility .6s var(--ease-out);background:radial-gradient(#1a1614 0%,#0a0908 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-screen.fade-out{opacity:0;visibility:hidden}.splash-screen img{object-fit:contain;filter:brightness(1.05)contrast(1.08);max-width:85vw;max-height:70vh;animation:vault-pulse 2.5s var(--ease-in-out) infinite}@keyframes vault-pulse{0%,to{filter:brightness(1.05)contrast(1.08);transform:scale(1)}50%{filter:brightness(1.12)contrast(1.12);transform:scale(1.025)}}.splash-screen .splash-brand{letter-spacing:.35em;color:var(--gold);text-transform:uppercase;opacity:.7;animation:brand-fade 2.5s var(--ease-in-out) infinite;margin-top:2rem;font-family:Bebas Neue,Impact,sans-serif;font-size:1.6rem}@keyframes brand-fade{0%,to{opacity:.5}50%{opacity:.9}}.splash-screen .loading-indicator{gap:8px;display:flex;position:absolute;bottom:10vh;left:50%;transform:translate(-50%)}.splash-screen .loading-dot{background:var(--gold);opacity:.3;width:4px;height:4px;animation:dot-pulse 1.5s var(--ease-in-out) infinite}.splash-screen .loading-dot:nth-child(2){animation-delay:.2s}.splash-screen .loading-dot:nth-child(3){animation-delay:.4s}@keyframes dot-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:1;transform:scale(1.8)}}.navbar{z-index:100;backdrop-filter:blur(20px)saturate(120%);border-bottom:1px solid var(--border);background:rgba(13,12,11,.88);justify-content:space-between;align-items:center;height:76px;padding:0 2.5rem;display:flex;position:sticky;top:0}.navbar-brand{letter-spacing:.3em;color:var(--text-primary);-webkit-user-select:none;user-select:none;align-items:baseline;gap:.15em;font-family:Bebas Neue,Impact,sans-serif;font-size:1.75rem;text-decoration:none;display:flex}.navbar-brand .brand-accent{color:var(--accent);letter-spacing:.35em;margin-left:.1em}.cart-btn{border:1px solid var(--border);color:var(--text-primary);letter-spacing:.04em;cursor:pointer;transition:all .25s var(--ease-out);text-transform:uppercase;letter-spacing:.12em;background:0 0;align-items:center;gap:.6rem;padding:.55rem 1.25rem;font-family:"Source Serif 4",serif;font-size:.75rem;display:flex;position:relative}.cart-btn:hover{border-color:var(--gold);background:var(--gold-subtle)}.cart-badge{background:var(--accent);letter-spacing:.05em;color:#fff;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-family:Bebas Neue,sans-serif;font-size:.7rem;display:inline-flex}.menu-page{max-width:1400px;margin:0 auto;padding:3rem 2.5rem 5rem}.menu-header{text-align:center;padding:4rem 0 3rem}.menu-overline{letter-spacing:.35em;color:var(--gold);text-transform:uppercase;margin-bottom:.75rem;font-family:Bebas Neue,sans-serif;font-size:.85rem}.menu-header h1{letter-spacing:-.03em;color:var(--text-primary);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:3.5rem;font-weight:900}.menu-header .accent-text{color:var(--accent);font-style:italic}.menu-subtitle{color:var(--text-secondary);max-width:480px;margin:0 auto;font-size:1.15rem;font-style:italic}.menu-filters{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:3.5rem;display:flex}.filter-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;transition:all .25s var(--ease-out);text-transform:uppercase;letter-spacing:.08em;background:0 0;padding:.55rem 1.5rem;font-family:"Source Serif 4",serif;font-size:.75rem}.filter-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.product-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem;display:grid}.card-reveal{opacity:0;animation:card-enter .7s var(--ease-out) forwards;transform:translateY(24px)}@keyframes card-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.product-card{background:var(--bg-card);border:1px solid var(--border-subtle);transition:all .35s var(--ease-out);flex-direction:column;height:100%;display:flex;overflow:hidden}.product-card:hover{background:var(--bg-card-hover);border-color:var(--border);z-index:2}.card-img{background:linear-gradient(160deg,#1e1c1a 0%,#25211e 40%,#1a1816 100%);justify-content:center;align-items:center;width:100%;height:180px;display:flex;position:relative;overflow:hidden}.card-img:before{content:"";background:linear-gradient(transparent 60%,rgba(13,12,11,.5));position:absolute;inset:0}.card-img-letter{color:var(--text-muted);opacity:.15;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-family:Playfair Display,serif;font-size:5rem;font-weight:900}.card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.card-category{letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.3rem;font-family:Bebas Neue,sans-serif;font-size:.7rem}.card-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.3rem;font-weight:700}.card-desc{color:var(--text-secondary);flex:1;margin-bottom:1.25rem;font-size:.9rem;line-height:1.6}.card-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:1.25rem;display:flex}.card-price{color:var(--text-primary);letter-spacing:-.01em;font-family:Playfair Display,serif;font-size:1.35rem;font-weight:700}.card-price .unit{color:var(--text-muted);font-family:"Source Serif 4",serif;font-size:.8rem;font-style:italic;font-weight:400}.card-add-btn{border:1px solid var(--accent);color:var(--accent);cursor:pointer;transition:all .25s var(--ease-out);text-transform:uppercase;letter-spacing:.08em;background:0 0;align-items:center;padding:.55rem 1.4rem;font-family:"Source Serif 4",serif;font-size:.82rem;display:flex}.card-add-btn:hover{background:var(--accent);color:#fff}.card-add-btn:active{transform:scale(.97)}.cart-overlay{z-index:200;backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:all .35s var(--ease-out);background:rgba(0,0,0,.55);position:fixed;inset:0}.cart-overlay.open{opacity:1;visibility:visible}.cart-sidebar{z-index:201;background:var(--bg-elevated);border-left:1px solid var(--border);width:440px;max-width:100vw;height:100vh;transition:transform .4s var(--ease-in-out);flex-direction:column;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 48px rgba(0,0,0,.6)}.cart-sidebar.open{transform:translate(0)}.cart-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.25rem;padding:1.75rem 1.75rem 1.25rem;display:flex}.cart-header h2{font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.cart-header-count{color:var(--text-muted);margin-left:auto;margin-right:1rem;font-family:"Source Serif 4",serif;font-size:.85rem;font-style:italic}.cart-close-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:all .25s var(--ease-out);background:0 0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.cart-close-btn:hover{color:var(--text-primary);border-color:var(--accent)}.cart-items{flex:1;padding:1.25rem;overflow-y:auto}.cart-empty{text-align:center;padding:4rem 1.5rem}.empty-icon{color:var(--text-muted);opacity:.3;margin-bottom:1rem;font-family:Playfair Display,serif;font-size:3rem;display:block}.empty-title{color:var(--text-secondary);margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.2rem}.empty-subtitle{color:var(--text-muted);font-size:.9rem;font-style:italic}.cart-item{background:var(--bg-card);border:1px solid var(--border-subtle);grid-template-columns:1fr auto auto;align-items:center;gap:1rem;margin-bottom:.5rem;padding:1.1rem 1rem;display:grid}.cart-item-name{color:var(--text-primary);font-family:Playfair Display,serif;font-size:.95rem;font-weight:600}.cart-item-price{color:var(--text-muted);margin-top:.15rem;font-size:.8rem;font-style:italic}.cart-item-line{color:var(--text-secondary);margin-top:.1rem;font-family:Playfair Display,serif;font-size:.9rem}.cart-item-qty{align-items:center;gap:.35rem;display:flex}.qty-btn{border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all .2s var(--ease-out);background:0 0;justify-content:center;align-items:center;font-size:.9rem;display:flex}.qty-btn:hover{border-color:var(--gold);color:var(--text-primary)}.qty-value{text-align:center;min-width:20px;color:var(--text-primary);font-family:"Source Serif 4",serif;font-size:.9rem}.cart-item-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.3rem;font-weight:300;transition:color .2s}.cart-item-remove:hover{color:var(--accent)}.cart-footer{border-top:1px solid var(--border);padding:1.5rem 1.75rem 2rem}.cart-total-row{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.cart-total-label{letter-spacing:.15em;color:var(--text-secondary);text-transform:uppercase;font-family:Bebas Neue,sans-serif;font-size:.85rem}.cart-total-value{color:var(--text-primary);font-family:Playfair Display,serif;font-size:1.6rem;font-weight:700}.cart-note{color:var(--text-muted);margin-bottom:1.25rem;font-size:.8rem;font-style:italic}.checkout-btn{background:var(--accent);color:#fff;letter-spacing:.2em;cursor:pointer;width:100%;transition:all .3s var(--ease-out);text-transform:uppercase;border:none;justify-content:center;align-items:center;gap:.75rem;padding:.9rem;font-family:Bebas Neue,sans-serif;font-size:1rem;display:flex}.checkout-btn:hover{background:#c84f42}.checkout-arrow{transition:transform .25s var(--ease-out);font-family:serif}.checkout-btn:hover .checkout-arrow{transform:translate(4px)}.toast{z-index:300;background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-primary);box-shadow:var(--shadow-elevated);animation:toast-in .35s var(--ease-out), toast-out .3s var(--ease-out) 2.2s forwards;white-space:nowrap;padding:.7rem 1.75rem;font-family:"Source Serif 4",serif;font-size:.9rem;font-style:italic;position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(12px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toast-out{0%{opacity:1}to{opacity:0}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent);color:#fff}@media (width<=768px){.product-grid{grid-template-columns:1fr}.menu-header h1{font-size:2.2rem}.menu-page{padding:1.5rem 1rem 3rem}.navbar{padding:0 1rem}.navbar-brand{letter-spacing:.2em;font-size:1.3rem}.cart-sidebar{width:100vw}.card-img{height:140px}}