@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--wine:#7d1633;--deep:#2a0b15;--cream:#f6eee5;--ink:#171416;--muted:#766c6f;--line:#e7ddd5;--paper:#fcfaf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.wrap{width:min(1160px,92%);margin:auto}a{text-decoration:none;color:inherit}.hero{min-height:720px;background:radial-gradient(circle at 80% 35%,#b62a52 0,#8d183b 35%,#641027 78%);color:#fff;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 25%,#ffffff08 25.2%,transparent 25.5%,transparent 70%,#ffffff08 70.2%,transparent 70.5%);opacity:.7}.nav{height:86px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.brand{display:flex;gap:11px;align-items:baseline;font:600 27px 'Playfair Display',serif}.brand small{font:700 9px 'DM Sans';letter-spacing:3px}.navlinks{display:flex;gap:30px;font-size:12px}.navlinks a{opacity:.8}.cart-open{border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:99px;padding:10px 15px;font-weight:700}.cart-open b{display:inline-grid;place-items:center;background:#fff;color:var(--wine);width:22px;height:22px;border-radius:50%;margin-left:7px}.hero-copy{padding-top:125px;position:relative;z-index:2}.eyebrow,.section-head>div>span,.extras>div>span,.qr-promo span,footer span{font-size:9px;letter-spacing:3px;font-weight:700}.hero h1{font:500 clamp(58px,8vw,104px)/.91 'Playfair Display';letter-spacing:-4px;margin:18px 0 28px;max-width:800px}.hero h1 em{color:#f4d5da}.hero-copy p{max-width:450px;color:#f5e8eb;line-height:1.8}.hero-btn{display:inline-flex;gap:20px;margin-top:20px;padding:15px 21px;border-radius:99px;background:#fff;color:var(--wine);font-weight:700;font-size:12px}.hero-orbit{position:absolute;border:1px solid #ffffff24;border-radius:50%;pointer-events:none}.orbit1{width:760px;height:760px;right:-210px;top:-80px}.orbit2{width:430px;height:430px;right:-40px;top:80px}.table-chip{display:none;position:fixed;right:18px;bottom:18px;z-index:12;background:#171416;color:#fff;padding:10px 14px;border-radius:99px;font-size:11px;box-shadow:0 8px 30px #0002}.table-chip.show{display:block}.category{padding:100px 0 70px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head h2{font:500 48px/1 'Playfair Display';margin:10px 0 0;letter-spacing:-1px}.section-head p{max-width:370px;color:var(--muted);font-size:12px;line-height:1.7;margin:0}.category-links{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.category-links a{height:160px;background:#fff;border:1px solid var(--line);padding:18px;display:flex;flex-direction:column;transition:.35s;position:relative;overflow:hidden}.category-links a:hover{transform:translateY(-7px);box-shadow:0 18px 45px #0000000d}.category-links b{font-size:9px;color:var(--wine)}.category-links span{font-size:26px;margin:auto 0 10px}.category-links strong{font:600 19px 'Playfair Display'}.menu-section{padding:92px 0;background:var(--paper)}.pizza-section{background:var(--cream)}.dark-section{background:#1d1719;color:#fff}.dark-section .section-head p{color:#c7babc}.dark-section .section-head>div>span{color:#eabcc7}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.food-card{background:#fff;overflow:hidden;box-shadow:0 5px 25px #00000008;transition:.45s cubic-bezier(.2,.8,.2,1);transform:translateY(0);animation-delay:calc(var(--i)*50ms)}.dark-section .food-card{background:#fff;color:var(--ink)}.food-card:hover{transform:translateY(-9px);box-shadow:0 24px 55px #0000001c}.food-media{height:250px;position:relative;overflow:hidden;background:#211c1d}.food-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.food-card:hover .food-media img{transform:scale(1.08)}.shine{position:absolute;inset:-50% -30%;background:linear-gradient(110deg,transparent 42%,#fff5 49%,transparent 55%);transform:translateX(-70%) rotate(12deg);transition:.7s}.food-card:hover .shine{transform:translateX(70%) rotate(12deg)}.food-body{padding:20px;display:grid;grid-template-columns:1fr auto;gap:9px;position:relative}.food-body h3{font:600 23px 'Playfair Display';margin:0 0 6px}.food-body p{font-size:11px;color:var(--muted);line-height:1.55;margin:0}.food-body>strong{color:var(--wine);font-size:13px;white-space:nowrap}.food-body .ask{font-size:10px}.add{grid-column:1/-1;border:0;background:var(--ink);color:#fff;padding:11px 13px;font-weight:700;font-size:11px;cursor:pointer;transition:.25s}.add:hover{background:var(--wine)}.add:disabled{background:#d5cdca;color:#8d8586;cursor:not-allowed}.add span{font-size:18px;vertical-align:-2px;margin-right:5px}.extras{margin-top:35px;background:var(--wine);color:#fff;padding:28px;display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:center}.extras h3{font:500 30px 'Playfair Display';margin:8px 0}.extras p{font-size:11px;color:#eedfe3;line-height:1.6;margin:0}.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.extra{background:#fff;color:var(--ink);padding:11px 12px;display:flex;justify-content:space-between;align-items:center;font-size:10px;cursor:pointer}.extra input{accent-color:var(--wine);margin-right:5px}.extra b{color:var(--wine);font-size:9px}.drink-links{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.drink-links a{background:#fff;border:1px solid var(--line);padding:25px;font:500 22px 'Playfair Display';display:flex;justify-content:space-between}.drink-links b{color:var(--wine)}.qr-promo{background:#f0e5dc;padding:100px 0}.qr-promo .wrap{display:grid;grid-template-columns:1fr 280px;align-items:center;gap:100px}.qr-promo h2{font:500 52px/1.05 'Playfair Display';margin:13px 0}.qr-promo p{max-width:580px;color:var(--muted);font-size:13px;line-height:1.8}.qr-art{height:280px;width:280px;background:#fff;display:grid;place-items:center;position:relative;box-shadow:0 30px 70px #0002}.qr-art:before{content:'';position:absolute;width:170px;height:170px;border:14px solid var(--ink);background:repeating-linear-gradient(90deg,#fff 0 7px,#111 7px 12px),repeating-linear-gradient(0deg,transparent 0 9px,#111 9px 14px);opacity:.9}.qr-art strong{position:relative;z-index:2;text-align:center;font:700 15px 'DM Sans';letter-spacing:3px;color:#fff;text-shadow:0 2px 4px #000}.qr-art i{font:500 38px 'Playfair Display'}.cart-panel{position:fixed;right:0;top:0;height:100vh;width:min(430px,100%);background:#fff;z-index:30;transform:translateX(105%);transition:.4s;box-shadow:-20px 0 60px #0002;padding:25px;overflow:auto}.cart-panel.open{transform:translateX(0)}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head h2{font:500 30px 'Playfair Display';margin:0}.cart-head button{border:0;background:none;font-size:30px;cursor:pointer}.table-input{margin:20px 0}.table-input label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.table-input input,.cart-panel textarea{width:100%;padding:13px;border:1px solid var(--line);margin-top:7px;font:inherit}.cart-item{border-top:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:1fr auto;gap:7px}.cart-item small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.qty{grid-column:1/-1;display:flex;gap:10px;align-items:center}.qty button{border:1px solid var(--line);background:#fff;width:28px;height:28px}.cart-total{border-top:2px solid var(--ink);margin-top:20px;padding:18px 0;display:flex;justify-content:space-between;font-size:16px}.send-order{width:100%;border:0;background:var(--wine);color:#fff;padding:16px;font-weight:700;cursor:pointer}.order-hint{font-size:9px;color:var(--muted);text-align:center}.backdrop{display:none;position:fixed;inset:0;background:#0008;z-index:29}.backdrop.open{display:block}footer{background:#1b1718;color:#fff;padding:65px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-grid p,.footer-grid a{font-size:11px;line-height:1.7;color:#bdb5b7}.copyright{border-top:1px solid #ffffff18;margin-top:45px;padding:18px 4%;font-size:8px;letter-spacing:3px;color:#8d8587}.reveal{opacity:0;transform:translateY(35px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}
@media(max-width:900px){.navlinks{display:none}.hero{min-height:650px}.hero-copy{padding-top:90px}.category-links{grid-template-columns:repeat(3,1fr)}.food-grid{grid-template-columns:1fr 1fr}.extras{grid-template-columns:1fr}.drink-links{grid-template-columns:1fr 1fr}.qr-promo .wrap{grid-template-columns:1fr;gap:35px}.qr-art{width:220px;height:220px}}
@media(max-width:560px){.hero h1{font-size:58px;letter-spacing:-2px}.hero-copy{padding-top:65px}.category,.menu-section,.qr-promo{padding:65px 0}.section-head{display:block}.section-head h2{font-size:40px}.section-head p{margin-top:12px}.category-links{grid-template-columns:1fr 1fr}.food-grid{grid-template-columns:1fr}.food-media{height:280px}.extra-grid{grid-template-columns:1fr 1fr}.drink-links{grid-template-columns:1fr}.qr-promo h2{font-size:42px}.footer-grid{grid-template-columns:1fr;gap:28px}.nav{height:70px}.brand{font-size:23px}}
.extras-panel{margin-top:18px;padding:24px;background:#3f0b1d;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:22px;align-items:center}.extras-panel span,.extras-panel>div>span{font-size:8px;letter-spacing:2px;font-weight:700;color:#efbdc9}.extras-panel h3{margin:7px 0;font-size:25px}.extras-panel p{font-size:11px;color:#ddc8ce;margin:0;line-height:1.5}.extra-chips{display:flex;flex-wrap:wrap;gap:8px}.extra-chips span{letter-spacing:0;font-size:10px;font-weight:600;color:#fff;border:1px solid #ffffff25;border-radius:99px;padding:9px 11px}.extra-chips b{color:#f0b8c5;margin-left:4px}.custom-modal{position:fixed;inset:0;background:#12090dee;display:none;align-items:center;justify-content:center;padding:20px;z-index:30}.custom-modal.open{display:flex}.custom-box{position:relative;background:#fff;width:min(560px,100%);max-height:90vh;overflow:auto;padding:30px}.modal-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px}.custom-kicker{font-size:9px;letter-spacing:2px;color:var(--wine);font-weight:800}.custom-box h2{font:38px Georgia;margin:10px 0 4px}.custom-price{color:var(--wine);font-weight:800}.custom-desc{color:#777;font-size:12px}.custom-extras{display:grid;gap:8px;margin:20px 0}.custom-extras label{display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding:12px;cursor:pointer;font-size:12px}.custom-extras label b{margin-left:auto;color:var(--wine)}.confirm-add{width:100%;padding:14px;border:0;background:var(--wine);color:#fff;font-weight:800;cursor:pointer}.cart-empty{text-align:center;color:#888;padding:30px}.food-card .add{cursor:pointer}
@media(max-width:700px){.extras-panel{grid-template-columns:1fr}}

/* PREMIUM CATEGORY NAV — professional line icons, no emoji */
.category-links a{justify-content:flex-start;gap:0;border-color:#e4d8cf;background:rgba(255,255,255,.92)}
.category-links a::after{content:'';position:absolute;inset:auto -35px -45px auto;width:105px;height:105px;border:1px solid #7d16331a;border-radius:50%;transition:.45s}
.category-links a:hover::after{transform:scale(1.35);border-color:#7d163333}
.category-icon-wrap{margin:auto 0 13px;width:48px;height:48px;display:grid;place-items:center;border:1px solid #7d163326;border-radius:50%;color:var(--wine);background:#fff;position:relative;z-index:1;transition:.35s}
.category-links a:hover .category-icon-wrap{transform:translateY(-3px) rotate(-3deg);background:var(--wine);color:#fff;border-color:var(--wine);box-shadow:0 10px 25px #7d163326}
.category-icon{width:25px;height:25px;display:block}
.category-links strong{position:relative;z-index:1}
.category-links b{position:relative;z-index:1}

/* Clean food photography: no text/price overlays inside images */
.food-media{background:#eee7df}
.food-media::after{content:'';position:absolute;inset:0;border:1px solid #fff3;pointer-events:none}
.food-media .shine{pointer-events:none}

@media(max-width:560px){
  .category-links a{height:145px;padding:15px}
  .category-icon-wrap{width:43px;height:43px;margin-bottom:10px}
  .category-icon{width:22px;height:22px}
  .category-links strong{font-size:17px}
}

.contact-icon{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:4px;border:1px solid #ffffff35;border-radius:50%;font-size:11px;vertical-align:-3px;color:#eabcc7}

/* Premium editorial food photography */
.food-media img, .product-image img, .menu-image img { object-fit: cover; object-position: center; background: #f3eee7; }
