:root{
  --bg:#1c130f; --fg:#fbfaf6; --card:#241813; --muted:#9a8c82; --border:rgba(120,90,80,.3);
  --tomato:#d83a1c; --tomato2:#ee5a2c; --cheese:#f5c842; --neon:#ff8a3d; --basil:#5fbf6b;
  --grad-fire:linear-gradient(135deg,#d83a1c,#ff8a3d);
  --grad-cheese:linear-gradient(135deg,#ff8a3d,#f5c842);
  --grad-dark:linear-gradient(180deg,#1c130f,#120a08);
  --shadow-tomato:0 0 40px rgba(216,58,28,.5),0 0 80px rgba(216,58,28,.25);
  --shadow-neon:0 0 30px rgba(255,138,61,.6),0 0 60px rgba(255,138,61,.3);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--border)}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
button{cursor:pointer;font:inherit;color:inherit;background:none;border:0}
a{color:inherit;text-decoration:none}
input{font:inherit;color:inherit;background:none;border:0;outline:none}
.font-display{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.01em}
h1,h2,h3,h4{font-family:'Bebas Neue',Impact,sans-serif;letter-spacing:.01em;line-height:.9}
.container{max-width:1280px;margin:0 auto;padding:0 20px}
@media(min-width:768px){.container{padding:0 32px}}
.text-fire{background:var(--grad-fire);-webkit-background-clip:text;background-clip:text;color:transparent}
.text-cheese-grad{background:var(--grad-cheese);-webkit-background-clip:text;background-clip:text;color:transparent}
.bg-fire{background:var(--grad-fire)}
.shadow-tomato{box-shadow:var(--shadow-tomato)}
.shadow-neon{box-shadow:var(--shadow-neon)}

/* NAV */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;transition:all .3s}
.nav.scrolled{background:rgba(28,19,15,.8);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.logo{display:flex;align-items:center;gap:8px}
.logo-mark{width:36px;height:36px;border-radius:10px;background:var(--grad-fire);display:grid;place-items:center;box-shadow:var(--shadow-tomato);transition:transform .3s}
.logo:hover .logo-mark{transform:rotate(12deg)}
.logo-text{font-family:'Bebas Neue';font-size:24px;letter-spacing:.1em}
.logo-text span{color:var(--tomato)}
.nav-links{display:none;gap:4px}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-link{position:relative;padding:8px 16px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .2s}
.nav-link:hover{color:var(--fg)}
.nav-link::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--grad-fire);transition:width .3s;box-shadow:var(--shadow-neon)}
.nav-link:hover::after{width:75%}
.nav-actions{display:flex;align-items:center;gap:8px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;transition:all .2s}
.btn-outline{border:1px solid var(--border)}
.btn-outline:hover{border-color:var(--neon);color:var(--neon)}
.btn-fire{background:var(--grad-fire);color:#fff;box-shadow:var(--shadow-tomato);position:relative}
.btn-fire:hover{transform:scale(1.05)}
.btn-fire .pulse-dot{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--cheese);animation:pulse 2s ease-in-out infinite}
.hide-md{display:none}
@media(min-width:768px){.hide-md{display:inline-flex}}
.menu-toggle{display:grid;place-items:center;padding:8px}
@media(min-width:1024px){.menu-toggle{display:none}}
.mobile-menu{display:none;background:rgba(28,19,15,.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:20px}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:12px 16px;border-radius:8px;font-family:'Bebas Neue';font-size:24px;letter-spacing:.1em;transition:all .2s}
.mobile-menu a:hover{background:rgba(120,90,80,.15);color:var(--neon)}

/* HERO */
.hero{position:relative;min-height:100vh;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.1)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg),rgba(28,19,15,.6),rgba(28,19,15,.3))}
.hero-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(28,19,15,.8),transparent,rgba(28,19,15,.4));z-index:1}
.hero-inner{position:relative;z-index:10;max-width:1280px;margin:0 auto;padding:160px 20px 80px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
@media(min-width:768px){.hero-inner{padding:180px 32px 80px}}
.badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,138,61,.4);background:rgba(255,138,61,.1);backdrop-filter:blur(8px);margin-bottom:32px}
.badge-dot{width:8px;height:8px;border-radius:50%;background:var(--basil);animation:pulse 2s ease-in-out infinite}
.badge span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--neon)}
.hero h1{font-size:clamp(56px,15vw,200px);line-height:.85}
.hero h1 .sub{display:block;font-family:Inter;font-style:italic;font-weight:300;font-size:clamp(24px,4vw,60px);letter-spacing:0;color:var(--muted);margin-top:8px}
.hero p.lead{margin-top:32px;max-width:560px;font-size:18px;color:var(--muted)}
.hero p.lead strong{color:var(--fg);font-weight:600}
.hero-cta{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px}
.btn-lg{padding:16px 32px;font-size:13px}
.btn-ghost{border:2px solid rgba(251,250,246,.3);backdrop-filter:blur(8px)}
.btn-ghost:hover{border-color:var(--cheese);color:var(--cheese)}
.btn-fire-lg{background:var(--grad-fire);color:#fff;animation:pulseGlow 2s ease-in-out infinite}
.btn-fire-lg:hover{transform:scale(1.05)}
.hero-stats{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:600px}
.stat{border-left:2px solid var(--tomato);padding-left:16px}
.stat .icon{color:var(--neon);margin-bottom:8px}
.stat .v{font-family:'Bebas Neue';font-size:clamp(32px,5vw,48px)}
.stat .l{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}

/* MARQUEE */
.marquee{position:relative;padding:24px 0;background:var(--grad-fire);overflow:hidden;border-top:1px solid var(--tomato);border-bottom:1px solid var(--tomato)}
.marquee-track{display:flex;white-space:nowrap;animation:marquee 30s linear infinite;gap:32px}
.marquee-item{font-family:'Bebas Neue';font-size:clamp(24px,4vw,48px);letter-spacing:.05em;color:#fff;display:flex;align-items:center;gap:32px;padding:0 16px}

/* SECTIONS */
section{padding:96px 0}
@media(min-width:768px){section{padding:128px 0}}
.section-tag{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:var(--neon)}
.section-title{font-size:clamp(48px,8vw,128px);margin-top:12px;line-height:.85}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.section-head p{color:var(--muted);max-width:400px}

/* MENU */
.cats{display:flex;gap:8px;overflow-x:auto;padding:0 0 16px;margin-bottom:40px;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cat{flex-shrink:0;padding:10px 20px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;border:1px solid var(--border);color:var(--muted);transition:all .2s}
.cat:hover{color:var(--fg);border-color:var(--neon)}
.cat.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.menu-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:640px){.menu-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.menu-grid{grid-template-columns:repeat(3,1fr)}}
.card{position:relative;background:var(--card);border-radius:24px;overflow:hidden;border:1px solid var(--border);transition:all .5s}
.card:hover{border-color:var(--neon);box-shadow:var(--shadow-neon)}
.card-img{position:relative;aspect-ratio:1;overflow:hidden;background:var(--card)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover .card-img img{transform:scale(1.1) rotate(3deg)}
.card-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--card),transparent);opacity:.6}
.card-tag{position:absolute;top:16px;left:16px;padding:4px 12px;border-radius:999px;background:rgba(28,19,15,.8);backdrop-filter:blur(4px);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;border:1px solid var(--border);z-index:1}
.card-spice{position:absolute;top:16px;right:16px;display:flex;gap:2px;z-index:1}
.card-spice svg{width:14px;height:14px;color:rgba(154,140,130,.3)}
.card-spice svg.on{color:var(--neon);fill:var(--neon)}
.card-body{padding:24px}
.card-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.card-top h3{font-size:24px;letter-spacing:.05em}
.card-price{font-family:'Bebas Neue';font-size:32px;color:var(--cheese);white-space:nowrap}
.card-body p{font-size:14px;color:var(--muted);margin-bottom:16px}
.card-foot{display:flex;align-items:center;justify-content:space-between}
.cal{font-size:12px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:var(--fg);color:var(--bg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;transition:all .2s}
.add-btn:hover{background:var(--tomato);color:#fff}
.add-btn:hover svg{transform:rotate(90deg)}
.add-btn svg{transition:transform .2s}

/* DELIVERY */
.delivery{background:rgba(36,24,19,.4)}
.delivery-grid{display:grid;grid-template-columns:1fr;gap:64px;align-items:center}
@media(min-width:1024px){.delivery-grid{grid-template-columns:1fr 1fr}}
.zones{display:flex;flex-direction:column;gap:12px;margin:32px 0}
.zone{display:flex;justify-content:space-between;align-items:center;padding:20px;border-radius:16px;background:var(--card);border:1px solid var(--border);transition:border-color .2s}
.zone:hover{border-color:var(--neon)}
.zone-l{display:flex;align-items:center;gap:16px}
.zone-icon{width:48px;height:48px;border-radius:12px;background:var(--grad-fire);display:grid;place-items:center;box-shadow:var(--shadow-tomato);color:#fff}
.zone-name{font-family:'Bebas Neue';font-size:24px;letter-spacing:.1em}
.zone-cities{font-size:12px;color:var(--muted)}
.zone-eta{text-align:right}
.zone-eta .l{font-size:11px;color:var(--muted);text-transform:uppercase}
.zone-eta .v{font-family:'Bebas Neue';font-size:20px;color:var(--cheese)}
.address-input{display:flex;gap:12px;padding:8px;border-radius:999px;background:var(--card);border:1px solid var(--border);max-width:480px}
.address-input input{flex:1;padding:0 16px;font-size:14px}
.address-input input::placeholder{color:var(--muted)}
.delivery-map{position:relative;aspect-ratio:1;max-width:512px;margin:0 auto;width:100%}
.delivery-map::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--grad-fire);opacity:.2;filter:blur(60px);animation:pulseGlow 2s ease-in-out infinite}
.delivery-map svg{position:relative;width:100%;height:100%}

/* DEALS */
.deals-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.deals-grid{grid-template-columns:repeat(3,1fr)}}
.deal{position:relative;overflow:hidden;border-radius:24px;padding:32px;cursor:pointer;transition:transform .3s;color:#fff}
.deal:hover{transform:scale(1.02)}
.deal::before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.1);filter:blur(40px);transition:transform .7s}
.deal:hover::before{transform:scale(1.5)}
.deal-1{background:var(--grad-fire)}
.deal-2{background:linear-gradient(135deg,#ff8a3d,#f5c842)}
.deal-3{background:linear-gradient(135deg,#5fbf6b,#d83a1c)}
.deal-time{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.8);margin-bottom:24px;position:relative;z-index:1}
.deal h3{font-size:clamp(28px,3vw,40px);line-height:1;margin-bottom:16px;position:relative;z-index:1}
.deal p{color:rgba(255,255,255,.9);margin-bottom:32px;position:relative;z-index:1}
.deal-claim{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;background:var(--bg);color:var(--fg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;position:relative;z-index:1;transition:all .2s}
.deal-claim:hover{background:var(--fg);color:var(--bg)}

/* REVIEWS */
.reviews{background:rgba(36,24,19,.4)}
.text-center{text-align:center;margin-bottom:64px}
.reviews-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:640px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.reviews-grid{grid-template-columns:repeat(4,1fr)}}
.review{padding:24px;border-radius:16px;background:var(--card);border:1px solid var(--border);transition:border-color .2s}
.review:hover{border-color:var(--neon)}
.stars{display:flex;gap:2px;margin-bottom:12px}
.stars svg{width:16px;height:16px;color:var(--cheese);fill:var(--cheese)}
.review p{font-size:14px;line-height:1.6;margin-bottom:20px}
.review-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border)}
.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--grad-fire);display:grid;place-items:center;font-family:'Bebas Neue';font-size:18px;color:#fff}
.review-name{font-weight:700;font-size:14px}
.review-city{font-size:12px;color:var(--muted)}

/* REWARDS */
.rewards-grid{display:grid;grid-template-columns:1fr;gap:48px;align-items:start}
@media(min-width:1024px){.rewards-grid{grid-template-columns:1fr 1fr}}
.status-card{padding:24px;border-radius:24px;background:var(--card);border:1px solid var(--border);margin-top:32px}
.status-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.status-l{display:flex;align-items:center;gap:12px}
.status-icon{color:var(--cheese)}
.status-tag{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.status-name{font-family:'Bebas Neue';font-size:24px}
.status-pts{font-family:'Bebas Neue';font-size:40px}
.status-pts-label{font-size:11px;text-transform:uppercase;color:var(--muted);text-align:right}
.progress{height:8px;border-radius:999px;background:rgba(36,24,19,.8);overflow:hidden}
.progress-bar{height:100%;background:var(--grad-fire);border-radius:999px;box-shadow:var(--shadow-tomato);width:35%;animation:grow 1.2s ease-out}
.progress-info{font-size:12px;color:var(--muted);margin-top:8px}
.tiers{display:flex;flex-direction:column;gap:16px}
.tier{padding:24px;border-radius:16px;background:rgba(36,24,19,.5);border:1px solid var(--border);transition:all .3s}
.tier.active{background:var(--card);border-color:var(--neon);box-shadow:var(--shadow-neon)}
.tier-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.tier-l{display:flex;align-items:center;gap:12px}
.tier-num{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;font-family:'Bebas Neue';font-size:18px;background:rgba(36,24,19,.8);color:var(--muted)}
.tier.active .tier-num{background:var(--grad-fire);color:#fff}
.tier-name{font-family:'Bebas Neue';font-size:24px;letter-spacing:.1em}
.tier-pts{font-size:12px;color:var(--muted)}
.tier-perks{display:flex;flex-wrap:wrap;gap:8px}
.perk{padding:4px 12px;border-radius:999px;background:rgba(36,24,19,.8);font-size:12px}

/* APP CTA */
.app-cta{padding:96px 20px}
.app-card{position:relative;border-radius:32px;overflow:hidden;padding:48px 32px;background:var(--grad-fire);max-width:1280px;margin:0 auto}
@media(min-width:768px){.app-card{padding:64px}}
.app-card::before,.app-card::after{content:"";position:absolute;border-radius:50%;filter:blur(80px)}
.app-card::before{bottom:-80px;right:-80px;width:384px;height:384px;background:rgba(245,200,66,.3)}
.app-card::after{top:-80px;left:-80px;width:288px;height:288px;background:rgba(216,58,28,.4)}
.app-grid{position:relative;display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media(min-width:768px){.app-grid{grid-template-columns:1fr 1fr}}
.app-card .section-tag{color:rgba(255,255,255,.8)}
.app-card h2{font-size:clamp(40px,6vw,96px);color:#fff;margin-top:12px;line-height:1}
.app-card p{margin-top:24px;color:rgba(255,255,255,.9);max-width:400px}
.app-stores{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.store-btn{display:flex;align-items:center;gap:12px;padding:14px 24px;border-radius:999px;background:var(--bg);color:var(--fg);transition:transform .2s}
.store-btn:hover{transform:scale(1.05)}
.store-btn .l{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
.store-btn .v{font-weight:700;font-size:14px}
.app-phone{position:relative;height:288px;display:none}
@media(min-width:768px){.app-phone{display:block;height:384px}}
.phone{position:absolute;right:40px;top:0;width:224px;height:100%;border-radius:32px;background:var(--bg);border:4px solid rgba(251,250,246,.2);padding:16px;box-shadow:0 25px 50px rgba(0,0,0,.5);transform:rotate(6deg);transition:transform .5s}
.phone:hover{transform:rotate(0)}
.phone-screen{height:100%;border-radius:24px;background:var(--grad-dark);padding:16px;display:flex;flex-direction:column}
.phone-screen .ord{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px}
.phone-screen .st{font-family:'Bebas Neue';font-size:24px;margin-bottom:16px}
.phone-screen .center{flex:1;display:grid;place-items:center}
.phone-screen .center svg{width:64px;height:64px;color:var(--neon);animation:pulse 2s ease-in-out infinite}
.phone-screen .eta{text-align:center}
.phone-screen .eta .v{font-family:'Bebas Neue';font-size:40px;color:var(--cheese)}
.phone-screen .eta .l{font-size:11px;color:var(--muted);text-transform:uppercase}

/* FOOTER */
footer{position:relative;background:var(--card);border-top:1px solid var(--border);padding:80px 20px 40px}
.f-top{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:64px;border-bottom:1px solid var(--border)}
@media(min-width:768px){.f-top{grid-template-columns:1fr 1fr}}
.f-brand p{color:var(--muted);max-width:400px;margin-bottom:24px;margin-top:24px}
.socials{display:flex;gap:12px}
.social{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;transition:all .2s}
.social:hover{border-color:var(--neon);color:var(--neon)}
.f-news h4{font-size:24px;margin-bottom:16px}
.f-news p{font-size:14px;color:var(--muted);margin-bottom:16px}
.f-cols{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;padding:48px 0}
@media(min-width:768px){.f-cols{grid-template-columns:repeat(4,1fr)}}
.f-col h5{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--neon);margin-bottom:16px;font-family:Inter}
.f-col ul{list-style:none}
.f-col li{margin-bottom:8px}
.f-col a{font-size:14px;color:var(--muted);transition:color .2s}
.f-col a:hover{color:var(--fg)}
.f-bot{display:flex;flex-direction:column;gap:16px;padding-top:32px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
@media(min-width:768px){.f-bot{flex-direction:row;justify-content:space-between}}
.f-bot .right{display:flex;gap:24px}
.f-bot .right span{display:flex;align-items:center;gap:8px}

/* MOBILE STICKY CART */
.mob-cart{position:fixed;bottom:16px;left:16px;right:16px;z-index:40;padding:14px 20px;border-radius:999px;background:var(--grad-fire);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-tomato);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.1em}
@media(min-width:768px){.mob-cart{display:none}}

/* ANIMATIONS */
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 20px rgba(216,58,28,.5),0 0 40px rgba(216,58,28,.3)}50%{box-shadow:0 0 40px rgba(216,58,28,.8),0 0 80px rgba(216,58,28,.5)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes steam{0%,100%{transform:translateY(0) scaleX(1);opacity:.3}50%{transform:translateY(-30px) scaleX(1.2);opacity:.7}}
@keyframes grow{from{width:0}to{width:35%}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.fade-up{opacity:0;animation:fadeUp .8s ease-out forwards}
.steam-bar{position:absolute;bottom:33%;width:6px;border-radius:999px;background:rgba(255,255,255,.3);filter:blur(8px);animation:steam 4s ease-in-out infinite}
.spin-slow{animation:spinSlow 25s linear infinite;transform-origin:200px 200px}
.spin-rev{animation:spinSlow 30s linear infinite reverse;transform-origin:200px 200px}
