*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ivory:#f8f5f0;--charcoal:#1c1c1c;--gold:#b8966a;--gold-light:#d4b48c;--muted:#8a8278;--border:#e8e2d9;--white:#fff}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--charcoal);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Cormorant Garamond,Georgia,serif}.nav{z-index:200;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1c1c1ceb;border-bottom:1px solid #b8966a33;justify-content:space-between;align-items:center;padding:1.5rem 4rem;transition:padding .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{flex-direction:column;gap:.1rem;display:flex}.nav-brand-name{color:var(--gold);letter-spacing:3px;text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.nav-brand-tagline{color:#ffffff59;letter-spacing:4px;text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:.55rem}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-links a,.nav-link-btn{color:#ffffffa6;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0;font-family:Montserrat,sans-serif;font-size:.7rem;font-weight:500;text-decoration:none;transition:color .25s}.nav-links a:hover,.nav-link-btn:hover{color:var(--gold)}.nav-cart-btn{border:1px solid var(--gold);color:var(--gold);letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;background:0 0;padding:.55rem 1.4rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:500;transition:all .25s}.nav-cart-btn:hover{background:var(--gold);color:var(--charcoal)}.hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero-img{filter:brightness(.35);background-position:50%;background-size:cover;position:absolute;inset:0}.hero-content{text-align:center;padding:2rem;animation:1.2s both fadeUp;position:relative}.hero-label{letter-spacing:6px;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-family:Montserrat,sans-serif;font-size:.6rem;display:block}.hero-title{color:var(--white);margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(3.5rem,8vw,7rem);font-weight:300;line-height:1.05}.hero-title em{color:var(--gold);font-style:italic}.hero-desc{letter-spacing:2px;color:#ffffff80;text-transform:uppercase;margin-bottom:3rem;font-family:Montserrat,sans-serif;font-size:.7rem}.hero-cta{letter-spacing:3px;text-transform:uppercase;color:var(--charcoal);background:var(--gold);cursor:pointer;border:none;padding:1rem 2.5rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:600;transition:background .25s;display:inline-block}.hero-cta:hover{background:var(--gold-light)}.hero-scroll{flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hero-scroll span{letter-spacing:3px;color:#ffffff4d;text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:.55rem}.scroll-line{background:linear-gradient(#b8966acc,#0000);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.menu-section{max-width:1300px;margin:0 auto;padding:6rem 4rem}.section-header{text-align:center;margin-bottom:4rem}.section-label{letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-family:Montserrat,sans-serif;font-size:.6rem;display:block}.section-title{color:var(--charcoal);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300}.section-divider{justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.divider-line{background:var(--border);width:60px;height:1px}.divider-diamond{border:1px solid var(--gold);width:6px;height:6px;transform:rotate(45deg)}.filters{border:1px solid var(--border);justify-content:center;gap:0;width:fit-content;margin-bottom:4rem;margin-left:auto;margin-right:auto;display:flex}.filter-btn{letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);cursor:pointer;border:none;border-right:1px solid var(--border);background:0 0;padding:.85rem 2rem;font-family:Montserrat,sans-serif;font-size:.6rem;font-weight:500;transition:all .25s}.filter-btn:last-child{border-right:none}.filter-btn.active,.filter-btn:hover{background:var(--charcoal);color:var(--gold)}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2px;display:grid}.menu-card{background:var(--white);cursor:default;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden}.menu-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px #0000001a}.card-image-wrap{height:260px;position:relative;overflow:hidden}.card-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.menu-card:hover .card-image-wrap img{transform:scale(1.04)}.card-category-tag{letter-spacing:2.5px;text-transform:uppercase;background:var(--charcoal);color:var(--gold);padding:.35rem .85rem;font-family:Montserrat,sans-serif;font-size:.55rem;position:absolute;top:1.25rem;left:1.25rem}.stock-tag{letter-spacing:1.5px;text-transform:uppercase;padding:.35rem .75rem;font-family:Montserrat,sans-serif;font-size:.55rem;position:absolute;top:1.25rem;right:1.25rem}.stock-ok{color:#4a7c59;background:#ffffffe6}.stock-low{color:#b8660a;background:#ffffffe6}.stock-out{color:#fff9;background:#000000b3}.card-body{padding:1.75rem 2rem 2rem}.card-name{color:var(--charcoal);margin-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:600;line-height:1.2}.card-desc{color:var(--muted);letter-spacing:.3px;margin-bottom:1.5rem;font-family:Montserrat,sans-serif;font-size:.68rem;line-height:1.8}.card-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:1.25rem;display:flex}.card-price{color:var(--charcoal);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600}.card-price span{color:var(--muted);margin-right:.2rem;font-family:Montserrat,sans-serif;font-size:.65rem}.add-btn{letter-spacing:2px;text-transform:uppercase;background:var(--charcoal);color:var(--gold);cursor:pointer;border:none;padding:.7rem 1.4rem;font-family:Montserrat,sans-serif;font-size:.6rem;font-weight:600;transition:all .25s}.add-btn:hover:not(:disabled){background:var(--gold);color:var(--charcoal)}.add-btn:disabled{opacity:.3;cursor:not-allowed}.in-cart-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-top:.5rem;font-family:Montserrat,sans-serif;font-size:.55rem}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:2px;display:grid}.skeleton-card{background:#eeebe5;height:420px}.shimmer{background:linear-gradient(90deg,#eeebe5 25%,#e5e1db 50%,#eeebe5 75%) 0 0/200% 100%;animation:1.6s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.float-cart{z-index:300;animation:.4s both fadeUp;position:fixed;bottom:2.5rem;right:2.5rem}.float-cart-btn{letter-spacing:2px;text-transform:uppercase;background:var(--charcoal);color:var(--gold);border:1px solid var(--gold);cursor:pointer;align-items:center;gap:1rem;padding:1rem 2rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:600;transition:all .25s;display:flex;box-shadow:0 8px 30px #0000004d}.float-cart-btn:hover{background:var(--gold);color:var(--charcoal);border-color:var(--gold)}.float-cart-count{background:var(--gold);color:var(--charcoal);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.65rem;font-weight:700;display:flex}.page-container{background:var(--ivory);min-height:100vh;padding:8rem 2rem 4rem}.cart-container{max-width:680px;margin:0 auto}.page-title{color:var(--charcoal);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:2.8rem;font-weight:300}.page-subtitle{letter-spacing:2px;color:var(--muted);text-transform:uppercase;margin-bottom:3rem;font-family:Montserrat,sans-serif;font-size:.65rem}.order-lines{border-top:1px solid var(--border);margin-bottom:2rem}.order-line{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.25rem 0;display:flex}.order-line-name{color:var(--charcoal);font-family:Cormorant Garamond,serif;font-size:1.1rem}.order-line-right{align-items:center;gap:1.5rem;display:flex}.order-line-price{color:var(--charcoal);font-family:Montserrat,sans-serif;font-size:.8rem;font-weight:500}.remove-btn{cursor:pointer;color:var(--border);background:0 0;border:none;font-size:1rem;line-height:1;transition:color .2s}.remove-btn:hover{color:#c0392b}.order-total{border-top:1px solid var(--charcoal);justify-content:space-between;align-items:baseline;margin-bottom:2rem;padding:1.5rem 0;display:flex}.order-total-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-family:Montserrat,sans-serif;font-size:.65rem}.order-total-value{color:var(--charcoal);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:600}.btn-primary{letter-spacing:3px;text-transform:uppercase;background:var(--charcoal);width:100%;color:var(--gold);cursor:pointer;border:none;margin-bottom:1rem;padding:1.1rem 2rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:600;transition:all .25s}.btn-primary:hover:not(:disabled){background:var(--gold);color:var(--charcoal)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{letter-spacing:3px;text-transform:uppercase;width:100%;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;padding:1rem 2rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:500;transition:all .25s}.btn-secondary:hover{border-color:var(--charcoal);color:var(--charcoal)}.empty-state{text-align:center;padding:5rem 2rem}.empty-state-title{color:var(--muted);margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:2rem}.empty-state-sub{letter-spacing:2px;color:var(--border);text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:.65rem}.form-section{margin-bottom:2.5rem}.form-section-title{color:var(--charcoal);border-bottom:1px solid var(--border);margin-bottom:1.5rem;padding-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:1.4rem}.form-group{margin-bottom:1.25rem}.form-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:.6rem;font-weight:500;display:block}.form-input,.form-select{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--charcoal);background:0 0;outline:none;padding:.9rem 0;font-family:Cormorant Garamond,serif;font-size:1.1rem;transition:border-color .25s}.form-input:focus,.form-select:focus{border-bottom-color:var(--charcoal)}.form-input.err,.form-select.err{border-bottom-color:#c0392b}.field-err{letter-spacing:1px;color:#c0392b;margin-top:.35rem;font-family:Montserrat,sans-serif;font-size:.6rem}.bill-container{max-width:520px;margin:0 auto}.bill-receipt{background:var(--white);border:1px solid var(--border);padding:3rem}.bill-logo{color:var(--charcoal);letter-spacing:3px;text-transform:uppercase;text-align:center;margin-bottom:.25rem;font-family:Cormorant Garamond,serif;font-size:1.6rem;font-weight:600}.bill-meta{letter-spacing:2px;color:var(--muted);text-align:center;margin-bottom:2rem;font-family:Montserrat,sans-serif;font-size:.55rem}.bill-divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.bill-row{color:var(--charcoal);justify-content:space-between;padding:.4rem 0;font-family:Cormorant Garamond,serif;font-size:1rem;display:flex}.bill-row.meta{color:var(--muted);font-family:Montserrat,sans-serif;font-size:.7rem}.bill-total-row{border-top:1px solid var(--charcoal);justify-content:space-between;align-items:baseline;margin-top:.5rem;padding-top:1.25rem;display:flex}.bill-total-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-family:Montserrat,sans-serif;font-size:.65rem}.bill-total-value{color:var(--charcoal);font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:600}.bill-thank{letter-spacing:2px;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:2rem;font-family:Montserrat,sans-serif;font-size:.6rem}.toast{letter-spacing:1.5px;text-transform:uppercase;z-index:999;white-space:nowrap;padding:.9rem 2rem;font-family:Montserrat,sans-serif;font-size:.65rem;animation:.3s fadeUp;position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%)}.toast-success{background:var(--charcoal);color:var(--gold)}.toast-error{color:#e57373;background:#2d1010}@media (max-width:768px){.nav{padding:1.25rem 1.5rem}.menu-section{padding:4rem 1.5rem}.filters{flex-wrap:wrap;width:100%}.filter-btn{border-right:none;border-bottom:1px solid var(--border)}.menu-grid{grid-template-columns:1fr}.card-body{padding:1.25rem}}
