/* Sal's Hot Chicken — Global Styles */
:root{
  --sals-red:#F73C0F;
  --sals-red-deep:#8B0A1F;
  --sals-yellow:#FFC72C;
  --sals-yellow-deep:#E9A800;
  --sals-cream:#FFF6E5;
  --sals-paper:#F7EFE0;
  --sals-black:#0B0B0B;
  --sals-ink:#1A1A1A;
  --sals-ash:#2A2A2A;
  --sals-muted:#6b6b6b;
}
*{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--sals-cream);
  color:var(--sals-ink);
  overflow-x:hidden;
}
.font-display{ font-family:'Anton','Bebas Neue',Impact,sans-serif; letter-spacing:.01em; }
.font-condensed{ font-family:'Barlow Condensed',Impact,sans-serif; font-weight:700; letter-spacing:.04em; }
.font-script{ font-family:'Caveat',cursive; }

/* Colors */
.bg-sals-red{ background:var(--sals-red);} .text-sals-red{ color:var(--sals-red);}
.bg-sals-yellow{ background:var(--sals-yellow);} .text-sals-yellow{ color:var(--sals-yellow);}
.bg-sals-black{ background:var(--sals-black);} .text-sals-black{ color:var(--sals-black);}
.bg-sals-cream{ background:var(--sals-cream);} .bg-sals-paper{ background:var(--sals-paper);}
.border-sals-red{ border-color:var(--sals-red);} .border-sals-yellow{ border-color:var(--sals-yellow);}

/* Flame-pattern subtle bg */
.bg-flame{
  background-color:var(--sals-red);
  background-image:
    radial-gradient(circle at 20% 30%, rgba(255,199,44,.18) 0, transparent 30%),
    radial-gradient(circle at 80% 70%, rgba(0,0,0,.25) 0, transparent 35%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.03) 0 2px, transparent 2px 14px);
}
/* Dave-style red hero backdrop with graffiti pattern */
.bg-hero-red{
  background-color:var(--sals-red);
  background-image:
    radial-gradient(ellipse at 15% 20%, rgba(0,0,0,.18) 0, transparent 55%),
    radial-gradient(ellipse at 85% 80%, rgba(0,0,0,.22) 0, transparent 55%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'><g fill='none' stroke='%238B0A1F' stroke-width='3' opacity='.45' stroke-linecap='round' font-family='Anton,Impact,sans-serif' font-size='90' font-weight='900'><text x='20' y='110' fill='%238B0A1F' opacity='.35'>HOT</text><text x='250' y='220' fill='%238B0A1F' opacity='.3' transform='rotate(-8 300 200)'>SAL%27S</text><text x='60' y='340' fill='%238B0A1F' opacity='.3' transform='rotate(6 200 320)'>CHICKEN</text><text x='320' y='460' fill='%238B0A1F' opacity='.35' transform='rotate(-4 400 440)'>HEAT</text><text x='40' y='560' fill='%238B0A1F' opacity='.3'>BOLD</text></g></svg>");
  background-size:auto,auto,520px 520px;
  background-repeat:no-repeat,no-repeat,repeat;
}
.bg-noise{
  background-image: radial-gradient(rgba(0,0,0,.06) 1px, transparent 1px);
  background-size: 3px 3px;
}

/* Torn paper edges */
.torn-top{ -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'><path d='M0 30 V8 L40 14 L80 4 L130 18 L180 6 L240 16 L300 4 L360 20 L420 8 L500 18 L580 4 L660 20 L740 6 L820 18 L900 4 L980 18 L1060 8 L1140 18 L1200 6 V30 Z' fill='black'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'><path d='M0 30 V8 L40 14 L80 4 L130 18 L180 6 L240 16 L300 4 L360 20 L420 8 L500 18 L580 4 L660 20 L740 6 L820 18 L900 4 L980 18 L1060 8 L1140 18 L1200 6 V30 Z' fill='black'/></svg>");
  -webkit-mask-size: 100% 100%; mask-size:100% 100%;
}
.torn-bottom{ -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'><path d='M0 0 H1200 V22 L1140 12 L1060 22 L980 12 L900 26 L820 12 L740 24 L660 10 L580 26 L500 12 L420 22 L360 10 L300 26 L240 14 L180 24 L130 12 L80 26 L40 16 L0 22 Z' fill='black'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 30' preserveAspectRatio='none'><path d='M0 0 H1200 V22 L1140 12 L1060 22 L980 12 L900 26 L820 12 L740 24 L660 10 L580 26 L500 12 L420 22 L360 10 L300 26 L240 14 L180 24 L130 12 L80 26 L40 16 L0 22 Z' fill='black'/></svg>");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
}
.torn-edge{ position:relative; }
.torn-edge::after{
  content:""; position:absolute; left:0; right:0; bottom:-18px; height:24px;
  background:inherit;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'><path d='M0 0 H1200 V8 L1140 18 L1060 6 L980 20 L900 8 L820 22 L740 8 L660 20 L580 6 L500 22 L420 10 L360 22 L300 8 L240 22 L180 10 L130 22 L80 8 L40 20 L0 10 Z' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24' preserveAspectRatio='none'><path d='M0 0 H1200 V8 L1140 18 L1060 6 L980 20 L900 8 L820 22 L740 8 L660 20 L580 6 L500 22 L420 10 L360 22 L300 8 L240 22 L180 10 L130 22 L80 8 L40 20 L0 10 Z' fill='black'/></svg>");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
}

/* Buttons */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.95rem 1.6rem; border-radius:9999px; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.08em; text-transform:uppercase; transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease; will-change:transform; }
.btn-primary{ background:var(--sals-yellow); color:var(--sals-black); box-shadow:0 10px 24px -10px rgba(255,199,44,.7); }
.btn-primary:hover{ transform:translateY(-2px) scale(1.02); background:#ffd64f; }
.btn-ghost{ background:transparent; color:#fff; border:2px solid #fff; }
.btn-ghost:hover{ background:#fff; color:var(--sals-red); }
.btn-dark{ background:var(--sals-black); color:var(--sals-yellow); }
.btn-dark:hover{ background:#1d1d1d; transform:translateY(-2px); }
.btn-red{ background:var(--sals-red); color:#fff; }
.btn-red:hover{ background:var(--sals-red-deep); transform:translateY(-2px); }
.btn-pill-red{ background:var(--sals-red); color:#fff; padding:.7rem 1.4rem; border-radius:9999px; font-family:'Anton',sans-serif; letter-spacing:.04em; font-size:1rem; }
.btn-pill-red:hover{ background:#a30c25; transform:translateY(-1px); }
.btn-pill-yellow{ background:var(--sals-yellow); color:var(--sals-black); padding:.7rem 1.2rem .7rem 1.4rem; border-radius:9999px; font-family:'Anton',sans-serif; letter-spacing:.04em; font-size:1rem; display:inline-flex; align-items:center; gap:.6rem; }
.btn-pill-yellow:hover{ background:#ffd64f; transform:translateY(-1px); }
.bag-chip{ width:34px; height:34px; border-radius:9999px; background:var(--sals-red); color:#fff; display:inline-flex; align-items:center; justify-content:center; }

/* Hero layout */
.hero-slider{ position:relative; overflow:hidden; }
.hero-track{ position:relative; }
.hero-slide{ display:none; }
.hero-slide.is-active{ display:block; }

.hero-slide-inner{
  display:grid;
  grid-template-columns:1fr;
  padding-top:5.5rem;
  padding-bottom:4rem;
  gap:0;
}
.hero-img-col{
  order:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem 0 .5rem;
}
.hero-text-col{
  order:2;
  color:#fff;
  padding-bottom:3rem;
}
.hero-img{ display:block; width:100%; height:auto; object-fit:contain; max-height:240px; }
.hero-card{ background:transparent; width:100%; max-width:300px; }

.hero-body{
  margin-top:1rem;
  color:rgba(255,255,255,.9);
  font-size:1rem;
  line-height:1.7;
  max-width:36rem;
}
.hero-btns{
  margin-top:1.5rem;
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  align-items:center;
}
.hero-btn-ghost{
  display:inline-flex; align-items:center;
  padding:.7rem 1.4rem;
  border-radius:9999px;
  border:2px solid #fff;
  color:#fff;
  font-family:'Anton',sans-serif;
  letter-spacing:.04em;
  font-size:1rem;
  transition:background .25s, color .25s;
}
.hero-btn-ghost:hover{ background:#fff; color:var(--sals-red); }

@media (min-width:640px){
  .hero-img{ max-height:300px; }
  .hero-card{ max-width:360px; }
}

@media (min-width:768px){
  .hero-slide-inner{
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:2.5rem;
    padding-top:7rem;
    padding-bottom:5rem;
  }
  .hero-img-col{ order:2; padding:0; }
  .hero-text-col{ order:1; padding-bottom:0; }
  .hero-img{ max-height:420px; }
  .hero-card{ max-width:none; }
  .hero-body{ font-size:1.1rem; margin-top:1.4rem; line-height:1.7; }
  .hero-btns{ margin-top:2rem; gap:1rem; }
}
@media (min-width:1024px){
  .hero-img{ max-height:520px; }
  .hero-body{ font-size:1.15rem; }
}

.hero-arrow{ width:48px; height:56px; background:rgba(0,0,0,.35); color:#fff; display:none; align-items:center; justify-content:center; transition:background .25s; z-index:20; }
.hero-arrow:hover{ background:var(--sals-black); }
@media (min-width:768px){ .hero-arrow{ display:flex; } }

/* Headline */
.h-hero{
  font-family:'Anton','Bebas Neue',Impact,sans-serif;
  line-height:1.02;
  letter-spacing:.01em;
  color:#fff;
  font-size:clamp(2.6rem,10vw,6rem);
  margin-top:.75rem;
}
@media (min-width:768px){ .h-hero{ line-height:.95; font-size:clamp(3rem,7vw,6rem); } }
.h-section{ font-family:'Anton',Impact,sans-serif; line-height:.92; font-size:clamp(2.4rem,5vw,4.6rem); }

/* Float anim */
@keyframes floatY{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }
.floaty{ animation:floatY 6s ease-in-out infinite; }

/* Section divider — torn red strip */
.strip-red{ background:var(--sals-red); color:#fff; }
.strip-black{ background:var(--sals-black); color:var(--sals-yellow); }

/* App showcase phone tilt */
.phone-tilt{ transform:rotate(-6deg); transition:transform .5s ease; }
.phone-tilt:hover{ transform:rotate(-3deg) translateY(-6px); }

/* Marquee */
.marquee{ display:flex; overflow:hidden; gap:0; }
.marquee-track{ display:flex; gap:3rem; padding:1rem 0; white-space:nowrap; animation:marquee 28s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
.marquee-item{ font-family:'Anton',sans-serif; font-size:clamp(1.4rem,2.2vw,2.2rem); letter-spacing:.04em; display:inline-flex; align-items:center; gap:1.5rem; }
.marquee-dot{ width:14px; height:14px; background:currentColor; border-radius:9999px; display:inline-block; }

/* Reveal animations */
[data-reveal]{ opacity:0; transform:translateY(28px); transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
[data-reveal="left"]{ transform:translateX(-40px); }
[data-reveal="right"]{ transform:translateX(40px); }
[data-reveal="scale"]{ transform:scale(.94); }
[data-reveal].in{ opacity:1; transform:none; }
[data-reveal-delay="1"].in{ transition-delay:.08s; }
[data-reveal-delay="2"].in{ transition-delay:.16s; }
[data-reveal-delay="3"].in{ transition-delay:.24s; }
[data-reveal-delay="4"].in{ transition-delay:.32s; }

/* Char-stagger */
.split-word{ display:inline-block; overflow:hidden; vertical-align:bottom; }
.split-word span{ display:inline-block; transform:translateY(110%); transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.split-word.in span{ transform:none; }

/* Hero slider */
.hero-slider{ position:relative; overflow:hidden; }
.hero-slide{ display:none; opacity:0; transition:opacity .6s ease; }
.hero-slide.is-active{ display:block; opacity:1; }
.hero-bullets{ display:flex; justify-content:center; gap:.5rem; padding:1rem 0 1.5rem; z-index:20; }
.hero-bullets button{ width:34px; height:4px; background:rgba(255,255,255,.4); border-radius:9999px; transition:background .3s; }
.hero-bullets button.is-active{ background:var(--sals-yellow); }

/* Header */
.header{ position:fixed; top:0; left:0; right:0; z-index:50; transition:background .3s ease, backdrop-filter .3s ease, box-shadow .3s ease; }
.header.scrolled{ background:rgba(11,11,11,.92); backdrop-filter:blur(10px); box-shadow:0 8px 24px -16px rgba(0,0,0,.4); }
.nav-link{ position:relative; font-family:'Barlow Condensed',sans-serif; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.95rem; color:#fff; padding:.5rem 0; }
.nav-link::after{ content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--sals-yellow); transform:scaleX(0); transform-origin:right; transition:transform .35s cubic-bezier(.7,0,.2,1); }
.nav-link:hover::after, .nav-link.active::after{ transform:scaleX(1); transform-origin:left; }
.nav-link.active{ color:var(--sals-yellow); }

/* Cards */
.card-tilt{ transition:transform .4s ease, box-shadow .4s ease; }
.card-tilt:hover{ transform:translateY(-6px) rotate(-.4deg); box-shadow:0 30px 40px -30px rgba(0,0,0,.35); }

/* Heat dots */
.heat-dot{ width:10px; height:10px; border-radius:9999px; display:inline-block; background:rgba(0,0,0,.15); }
.heat-dot.on{ background:#f97316; box-shadow:0 0 0 2px rgba(249,115,22,.22); }

/* Hero heat scale */
.heat-scale-hero{ text-align:center; }
.heat-scale-hero__track{
  display:inline-flex; border-radius:9999px; overflow:hidden;
  box-shadow:0 4px 18px rgba(0,0,0,.35);
  border:2px solid rgba(255,255,255,.18);
}
.heat-scale-hero__seg{
  background:var(--c);
  color:#000;
  font-family:'Barlow Condensed',sans-serif; font-weight:800;
  font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.55rem .7rem;
  white-space:nowrap;
  transition:filter .2s;
}
.heat-scale-hero__seg:nth-child(n+3){ color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.4); }
.heat-scale-hero__seg:hover{ filter:brightness(1.12); }
.heat-scale-hero__label{
  margin-top:.75rem;
  font-size:1rem; color:rgba(255,255,255,.85);
}

/* Hand-breaded badge */
.hero-breaded-badge{
  margin-top:.9rem;
  display:inline-block;
  background:linear-gradient(90deg,#f97316,#ea580c);
  color:#000;
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.88rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.5rem 1.4rem; border-radius:6px;
  box-shadow:0 4px 14px rgba(249,115,22,.45);
}

/* Pulse flame */
@keyframes flame-pulse{ 0%,100%{ transform:scale(1); opacity:.85;} 50%{ transform:scale(1.06); opacity:1;} }
.flame-pulse{ animation:flame-pulse 2.4s ease-in-out infinite; }

/* Background photo helper */
.photo{ background-size:cover; background-position:center; }

/* Sticky note tag */
.tag-stamp{ display:inline-block; background:var(--sals-yellow); color:var(--sals-black); font-family:'Barlow Condensed',sans-serif; font-weight:800; letter-spacing:.18em; text-transform:uppercase; padding:.35rem .75rem; transform:rotate(-2deg); font-size:.78rem; }

/* Drip */
.drip-bottom{ position:relative; }
.drip-bottom::after{ content:""; position:absolute; left:0; right:0; bottom:-26px; height:32px; background:inherit;
  -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 32' preserveAspectRatio='none'><path d='M0 0 H1200 V14 Q1160 32 1130 14 Q1100 0 1070 16 Q1040 30 1010 14 Q980 0 950 18 Q910 32 880 12 Q850 0 820 18 Q790 30 760 14 Q720 0 690 18 Q660 30 630 12 Q600 0 570 16 Q540 30 510 14 Q480 0 450 18 Q420 32 390 14 Q360 0 330 18 Q300 30 270 12 Q240 0 210 18 Q180 30 150 14 Q120 0 90 18 Q60 30 30 12 Q10 0 0 14 Z' fill='black'/></svg>");
  mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 32' preserveAspectRatio='none'><path d='M0 0 H1200 V14 Q1160 32 1130 14 Q1100 0 1070 16 Q1040 30 1010 14 Q980 0 950 18 Q910 32 880 12 Q850 0 820 18 Q790 30 760 14 Q720 0 690 18 Q660 30 630 12 Q600 0 570 16 Q540 30 510 14 Q480 0 450 18 Q420 32 390 14 Q360 0 330 18 Q300 30 270 12 Q240 0 210 18 Q180 30 150 14 Q120 0 90 18 Q60 30 30 12 Q10 0 0 14 Z' fill='black'/></svg>");
  -webkit-mask-size:100% 100%; mask-size:100% 100%;
}

/* Form */
.field{ width:100%; padding:.9rem 1.1rem; border-radius:.75rem; border:2px solid #e6dec6; background:#fff; font-size:1rem; transition:border-color .25s, box-shadow .25s; }
.field:focus{ outline:none; border-color:var(--sals-red); box-shadow:0 0 0 4px rgba(200,16,46,.12); }

/* Accordion */
.acc summary{ list-style:none; cursor:pointer; }
.acc summary::-webkit-details-marker{ display:none; }
.acc[open] .acc-chev{ transform:rotate(180deg); }
.acc-chev{ transition:transform .35s ease; }

/* Logo */
.header-logo{ height:90px; width:auto; display:block; }
.footer-logo{ height:90px; width:auto; display:block; margin-bottom:.25rem; }
@media(min-width:768px){ .header-logo{ height:90px; } }

/* Logo chip */
.logo-chip{ width:42px; height:42px; border-radius:9999px; background:var(--sals-yellow); color:var(--sals-red); display:inline-flex; align-items:center; justify-content:center; font-family:'Anton',sans-serif; font-size:1.4rem; box-shadow:inset 0 -3px 0 rgba(0,0,0,.15); }

/* Mobile nav */
.mobile-panel{ transform:translateY(-110%); transition:transform .5s cubic-bezier(.7,0,.2,1); }
.mobile-panel.open{ transform:translateY(0); }

/* Section padding */
.section{ padding:clamp(2.5rem,6vw,7rem) 0; }
.container-x{ width:100%; max-width:1240px; margin-inline:auto; padding-inline:1.25rem; }

/* Image frames */
.frame-rough{ padding:14px; background:var(--sals-black); border-radius:6px; box-shadow:0 30px 50px -30px rgba(0,0,0,.5); }
.frame-rough img{ display:block; width:100%; border-radius:2px; }

/* Wing/heat scale */
.heat-bar{ height:8px; border-radius:9999px; background:linear-gradient(90deg, #ffd166, #ff9a3c, #ef4444, #b91c1c, #450a0a); }

/* Scroll-up button */
.to-top{ position:fixed; right:1rem; bottom:1rem; z-index:60; opacity:0; pointer-events:none; transition:opacity .3s; }
.to-top.show{ opacity:1; pointer-events:auto; }

/* Hide visually but keep for SEO */
.sr-keywords{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* Utility */
.shadow-hard{ box-shadow:8px 8px 0 0 var(--sals-black); }
.shadow-hard-y{ box-shadow:8px 8px 0 0 var(--sals-yellow); }
.shadow-hard-r{ box-shadow:8px 8px 0 0 var(--sals-red); }
.ring-yellow{ box-shadow:0 0 0 3px var(--sals-yellow); }

/* Outlined display text */
.text-outline{ -webkit-text-stroke:2px var(--sals-black); color:transparent; }
.text-outline-white{ -webkit-text-stroke:2px #fff; color:transparent; }

/* Page transition fade-in */
.page-enter{ animation: pageIn .8s ease both; }
@keyframes pageIn{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }

/* Footer */
.footer a{ transition:color .2s; }
.footer a:hover{ color:var(--sals-yellow); }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  [data-reveal]{ opacity:1 !important; transform:none !important; }
}
/* ============ CTA DUO (Order / Menu) ============ */
.cta-duo{
  position:relative;
  border-radius:22px;
  padding:1.6rem 1.4rem 1.8rem;
  overflow:hidden;
  display:flex; flex-direction:column;
  isolation:isolate;
  transition:transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s;
}
@media (min-width:768px){
  .cta-duo{ border-radius:28px; padding:2.4rem 2rem 2.2rem; min-height:380px; }
}
.cta-duo:hover{ transform:translateY(-4px); }
.cta-duo--red{
  background:
    radial-gradient(circle at 90% 100%, rgba(0,0,0,.35) 0%, transparent 55%),
    radial-gradient(circle at 8% 0%, #e62442 0%, var(--sals-red) 35%, #8a0a1f 100%);
  color:#fff;
  box-shadow:0 30px 60px -30px rgba(200,16,46,.55);
}
.cta-duo--yellow{
  background:
    radial-gradient(circle at 100% 100%, rgba(0,0,0,.12) 0%, transparent 55%),
    linear-gradient(135deg, #ffd147 0%, var(--sals-yellow) 60%, #e9a800 100%);
  color:var(--sals-black);
  box-shadow:0 30px 60px -30px rgba(233,168,0,.55);
}
/* Halftone dots */
.cta-duo::before{
  content:""; position:absolute; inset:auto -10% -10% auto;
  width:60%; height:60%;
  background-image:radial-gradient(currentColor 1.5px, transparent 1.6px);
  background-size:12px 12px;
  opacity:.12; pointer-events:none; z-index:0;
}
.cta-duo--red::before{ color:#000; opacity:.22; }
.cta-duo--yellow::before{ color:#C8102E; opacity:.18; }

.cta-tape{
  display:inline-block;
  font-family:'Anton',sans-serif; letter-spacing:.14em;
  font-size:.82rem; padding:.45rem .9rem;
  transform:rotate(-3deg);
  position:relative; z-index:2;
  box-shadow:0 4px 0 rgba(0,0,0,.18);
}
.cta-tape--yellow{ background:var(--sals-yellow); color:var(--sals-black); }
.cta-tape--red{ background:var(--sals-red); color:#fff; }

.cta-duo__title{
  position:relative; z-index:2;
  font-family:'Anton','Bebas Neue',Impact,sans-serif;
  font-size:clamp(2rem, 7vw, 4.2rem);
  line-height:.95;
  margin-top:.9rem;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(0,0,0,.08);
}
.cta-duo--red .cta-duo__title span.block:first-child{
  background-image:radial-gradient(rgba(0,0,0,.18) 1px, transparent 1.2px);
  background-size:5px 5px;
  -webkit-background-clip:text; background-clip:text;
  color:#fff;
}
.cta-underline{
  display:block; width:130px; height:8px; margin-top:.6rem;
  border-radius:99px;
  clip-path:polygon(0 30%, 100% 0, 100% 70%, 0 100%);
}
.cta-underline--yellow{ background:var(--sals-yellow); }
.cta-underline--red{ background:var(--sals-red); }

.cta-duo__copy{
  position:relative; z-index:2;
  margin-top:.9rem; max-width:340px;
  font-size:.95rem;
}
.cta-pill{
  display:inline-flex; align-items:center; gap:.6rem;
  margin-top:1.2rem; align-self:flex-start;
  padding:.85rem 1.5rem;
  border-radius:9999px;
  font-family:'Anton',sans-serif; letter-spacing:.08em;
  font-size:1rem;
  position:relative; z-index:2;
  transition:transform .25s ease, box-shadow .25s ease;
}
.cta-pill span{ transition:transform .25s ease; display:inline-block; }
.cta-pill:hover{ transform:translateY(-2px); }
.cta-pill:hover span{ transform:translateX(4px); }
.cta-pill--yellow{ background:var(--sals-yellow); color:var(--sals-black); box-shadow:0 12px 26px -10px rgba(0,0,0,.4); }
.cta-pill--red{ background:var(--sals-red); color:#fff; box-shadow:0 12px 26px -10px rgba(200,16,46,.6); }

/* SVG icon backgrounds for CTA duo */
.cta-duo__icon{
  display:none;
}
@media (min-width:768px){
  .cta-duo__icon{
    display:block;
    position:absolute; right:-20px; top:50%;
    transform:translateY(-50%);
    width:260px; height:260px;
    z-index:1; pointer-events:none;
    color:inherit; opacity:.85;
  }
  .cta-duo--red .cta-duo__icon{ color:#fff; }
  .cta-duo--yellow .cta-duo__icon{ color:var(--sals-red); }
  .cta-duo__icon--menu{ width:280px; height:280px; right:-30px; }
}

.cta-spark{
  position:absolute; width:32px; height:32px; z-index:3;
  background:
    linear-gradient(currentColor,currentColor) center/2.4px 70% no-repeat,
    linear-gradient(currentColor,currentColor) center/70% 2.4px no-repeat,
    linear-gradient(45deg,currentColor,currentColor) center/2.4px 70% no-repeat,
    linear-gradient(-45deg,currentColor,currentColor) center/2.4px 70% no-repeat;
  opacity:.85; color:#fff;
}
.cta-spark--dark{ color:var(--sals-red); }
.cta-spark--tr{ top:18px; right:38%; }

@media (max-width:767px){
  .cta-spark--tr{ right:18px; }
}

/* ============ FAN FAVORITES ============ */
.fav-header{ margin-bottom:2.5rem; }
.fav-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
@media(min-width:640px){ .fav-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .fav-grid{ grid-template-columns:repeat(3,1fr); } }

.fav-card{
  background:#1a1a1a;
  border-radius:18px;
  overflow:hidden;
  display:flex; flex-direction:column;
  border:1.5px solid rgba(255,255,255,.08);
  transition:transform .35s ease, box-shadow .35s ease;
}
.fav-card:hover{ transform:translateY(-5px); box-shadow:0 24px 48px -20px rgba(0,0,0,.7); }

.fav-card__img-wrap{ position:relative; overflow:hidden; aspect-ratio:4/3; }
.fav-card__img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.fav-card:hover .fav-card__img{ transform:scale(1.05); }

.fav-badge{
  position:absolute; top:12px; left:12px;
  background:var(--badge-bg, var(--sals-red));
  color:var(--color, #fff);
  font-family:'Anton',sans-serif; letter-spacing:.12em; font-size:.72rem;
  padding:.35rem .75rem; border-radius:6px;
  box-shadow:0 4px 10px rgba(0,0,0,.35);
}

.fav-card__body{ padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1; }

.fav-card__heat{ display:flex; align-items:center; gap:.3rem; margin-bottom:.7rem; }
.fav-heat-dot{
  width:9px; height:9px; border-radius:9999px;
  background:var(--c, rgba(255,255,255,.2));
  display:inline-block;
}
.fav-heat-dot--off{ background:rgba(255,255,255,.15); }
.fav-card__heat-label{ font-size:.75rem; color:rgba(255,255,255,.5); font-weight:600; letter-spacing:.06em; margin-left:.3rem; }

.fav-card__name{
  font-family:'Anton',sans-serif;
  font-size:1.45rem; line-height:1; color:#fff; letter-spacing:.02em;
}
.fav-card__desc{ margin-top:.5rem; font-size:.88rem; color:rgba(255,255,255,.6); line-height:1.6; flex:1; }
.fav-card__cta{
  display:inline-flex; align-items:center; gap:.5rem;
  margin-top:1.1rem; align-self:flex-start;
  background:var(--sals-yellow); color:var(--sals-black);
  font-family:'Anton',sans-serif; letter-spacing:.08em; font-size:.9rem;
  padding:.6rem 1.2rem; border-radius:9999px;
  transition:background .2s, transform .2s;
}
.fav-card__cta:hover{ background:#ffd64f; transform:translateY(-1px); }

.fav-footer{ margin-top:2.5rem; display:flex; justify-content:center; }

/* ============ SOCIAL PROOF — horizontal scroll ============ */
.reviews-header{ margin-bottom:2rem; }

.reviews-track-wrap{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0%, black 6%, black 94%, transparent 100%);
}
.reviews-track-wrap:hover .reviews-track{ animation-play-state:paused; }

.reviews-track{
  display:flex;
  gap:1rem;
  width:max-content;
  animation:rvScroll 48s linear infinite;
}
@keyframes rvScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

.rv-card{
  flex:0 0 300px;
  background:#fff;
  border-radius:16px;
  padding:1.3rem 1.4rem 1.2rem;
  border:1.5px solid rgba(0,0,0,.07);
  box-shadow:0 6px 20px -10px rgba(0,0,0,.12);
  display:flex; flex-direction:column;
}
@media(min-width:640px){ .rv-card{ flex:0 0 340px; } }

.rv-card--red{
  background:var(--sals-red);
  border-color:transparent;
  box-shadow:0 6px 20px -10px rgba(200,16,46,.35);
}

.rv-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.7rem; }
.rv-stars{ font-size:.9rem; color:var(--sals-yellow); letter-spacing:.08em; }
.rv-card--red .rv-stars{ color:var(--sals-yellow); }
.rv-age{ font-size:.72rem; color:var(--sals-muted); font-weight:500; }
.rv-card--red .rv-age{ color:rgba(255,255,255,.6); }

.rv-text{
  font-size:.88rem; line-height:1.65; color:var(--sals-ink);
  font-style:italic; flex:1;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.rv-card--red .rv-text{ color:rgba(255,255,255,.92); }

.rv-footer{
  display:flex; align-items:flex-end; justify-content:space-between; gap:.5rem;
  margin-top:1rem; padding-top:.85rem;
  border-top:1px solid rgba(0,0,0,.07);
}
.rv-card--red .rv-footer{ border-top-color:rgba(255,255,255,.18); }

.rv-name{ display:block; font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:.95rem; letter-spacing:.05em; color:var(--sals-ink); }
.rv-card--red .rv-name{ color:#fff; }
.rv-loc{ display:block; font-size:.72rem; color:var(--sals-muted); margin-top:.1rem; }
.rv-card--red .rv-loc{ color:rgba(255,255,255,.6); }

.rv-link{
  flex-shrink:0;
  font-size:.72rem; font-weight:700; color:var(--sals-red);
  text-decoration:none; letter-spacing:.04em; white-space:nowrap;
}
.rv-link:hover{ text-decoration:underline; }
.rv-card--red .rv-link{ color:var(--sals-yellow); }

.reviews-badge{ margin-top:2rem; display:flex; align-items:center; justify-content:center; gap:.75rem; flex-wrap:wrap; background:#fff; border:2px solid var(--sals-black); border-radius:9999px; padding:.85rem 2rem; width:fit-content; margin-inline:auto; box-shadow:4px 4px 0 var(--sals-black); }
.reviews-badge__stars{ color:var(--sals-yellow); font-size:1.1rem; letter-spacing:.1em; -webkit-text-stroke:.5px #e9a800; }
.reviews-badge__text{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:1rem; letter-spacing:.06em; color:var(--sals-ink); }

/* ============ LOCATIONS SECTION ============ */
.loc-section{ background:var(--sals-black); }
.loc-bg-icon{
  position:absolute; left:-40px; bottom:-30px;
  width:380px; height:380px;
  color:var(--sals-yellow); opacity:.07;
  pointer-events:none; display:none;
}
@media (min-width:1024px){ .loc-bg-icon{ display:block; } }

.loc-stamp{
  position:absolute; top:30px; right:30px; z-index:5;
  width:110px; height:110px; border-radius:50%;
  background:var(--sals-black);
  border:3px solid var(--sals-red);
  color:var(--sals-red);
  font-family:'Anton',sans-serif; font-size:1.3rem; line-height:1;
  display:flex; align-items:center; justify-content:center; text-align:center;
  transform:rotate(-8deg);
  box-shadow:0 0 0 6px rgba(200,16,46,.15);
}
.loc-stamp::before, .loc-stamp::after{
  content:""; position:absolute; background:var(--sals-yellow);
  width:4px; height:14px; border-radius:2px;
}
.loc-stamp::before{ top:-18px; left:30%; transform:rotate(-20deg); }
.loc-stamp::after{ top:-14px; right:20%; transform:rotate(25deg); }
@media (max-width:640px){ .loc-stamp{ width:80px; height:80px; font-size:.9rem; top:14px; right:14px; } }

.loc-chip{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.55rem 1.1rem;
  border:2px solid var(--sals-yellow);
  border-radius:9999px;
  color:var(--sals-yellow);
  font-family:'Anton',sans-serif; letter-spacing:.18em; font-size:.85rem;
}
.loc-title{
  font-family:'Anton','Bebas Neue',Impact,sans-serif;
  font-size:clamp(2.6rem, 6vw, 5.2rem);
  line-height:.92; text-transform:uppercase;
  text-shadow:3px 3px 0 rgba(0,0,0,.5);
}

.loc-card{
  display:flex; flex-direction:column;
  padding:1.6rem 1.4rem;
  border-radius:22px;
  position:relative; overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
  min-height:300px;
}
.loc-card:hover{ transform:translateY(-6px); }
.loc-card--light{ background:#fff; color:var(--sals-black); box-shadow:0 24px 50px -20px rgba(0,0,0,.6); }
.loc-card--yellow{ background:var(--sals-yellow); color:var(--sals-black); box-shadow:0 24px 50px -20px rgba(233,168,0,.55); }
.loc-card::before{
  content:""; position:absolute; right:-20px; top:30px;
  width:120px; height:120px;
  background-image:radial-gradient(currentColor 1.2px, transparent 1.4px);
  background-size:8px 8px; opacity:.18; color:#999;
}
.loc-card--yellow::before{ color:var(--sals-red); opacity:.22; }

.loc-card__chip{
  display:inline-flex; align-items:center; gap:.4rem;
  align-self:flex-start;
  background:var(--sals-red); color:#fff;
  font-family:'Anton',sans-serif; letter-spacing:.12em; font-size:.78rem;
  padding:.4rem .8rem; border-radius:8px;
}
.loc-card__title{
  font-family:'Anton',sans-serif; font-size:2rem; line-height:1;
  margin-top:1.2rem; letter-spacing:.02em;
}
.loc-card__addr{ margin-top:.9rem; font-size:.95rem; opacity:.85; line-height:1.5; }
.loc-card__divider{
  height:1px; margin:1.1rem 0 1rem;
  background-image:linear-gradient(to right, rgba(0,0,0,.2) 50%, transparent 50%);
  background-size:8px 1px; background-repeat:repeat-x;
}
.loc-card__divider--dark{ background-image:linear-gradient(to right, rgba(0,0,0,.35) 50%, transparent 50%); }
.loc-card__phone{
  display:flex; align-items:center; gap:.6rem;
  font-family:'Anton',sans-serif; font-size:1.4rem; letter-spacing:.04em;
}
.loc-card__hours{
  margin-top:auto; padding-top:1rem;
  display:inline-flex; align-items:center; gap:.5rem;
  align-self:flex-start;
  background:rgba(0,0,0,.06); color:rgba(0,0,0,.7);
  padding:.55rem 1rem; border-radius:9999px;
  font-size:.85rem; font-weight:600;
}
.loc-card__hours--dark{ background:rgba(0,0,0,.12); color:rgba(0,0,0,.8); }


/* ============ LIMITED TIME OFFERS ============ */
.lto-section{
  position:relative; overflow:hidden;
  padding:clamp(3rem,7vw,6rem) 0 clamp(4rem,8vw,7rem);
  background:var(--sals-black);
}

/* Countdown */
.lto-countdown{ flex-shrink:0; }
.lto-clock-block{
  display:flex; flex-direction:column; align-items:center;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:.55rem .9rem;
  min-width:58px;
}
.lto-clock-num{
  font-family:'Anton',sans-serif; font-size:1.9rem; line-height:1;
  color:#fff; letter-spacing:.04em;
}
.lto-clock-label{
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  font-size:.65rem; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin-top:.2rem;
}
.lto-clock-sep{
  font-family:'Anton',sans-serif; font-size:1.6rem; color:var(--sals-yellow);
  line-height:1; margin-bottom:.5rem;
}

/* LTO Cards */
.lto-card{
  background:#1a1a1a;
  border-radius:20px;
  overflow:hidden;
  border:1.5px solid rgba(255,255,255,.07);
  display:flex; flex-direction:column;
  position:relative;
  transition:transform .4s ease, box-shadow .4s ease;
}
.lto-card:hover{ transform:translateY(-6px) rotate(-.3deg); box-shadow:0 32px 48px -24px rgba(0,0,0,.7); }

.lto-card__badge{
  position:absolute; top:14px; left:14px; z-index:10;
  background:var(--badge-bg, var(--sals-red));
  color:var(--badge-color, #fff);
  font-family:'Barlow Condensed',sans-serif; font-weight:800;
  font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.35rem .8rem; border-radius:6px;
  box-shadow:0 4px 12px rgba(0,0,0,.4);
}

.lto-card__body{ padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1; }

.lto-card__name{
  font-family:'Anton',sans-serif; font-size:1.4rem; line-height:1.05;
  color:#fff; letter-spacing:.02em; margin-top:.2rem;
}
.lto-card__desc{ margin-top:.5rem; font-size:.88rem; color:rgba(255,255,255,.55); line-height:1.6; flex:1; }

.lto-card__footer{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  margin-top:1.1rem; padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.08);
}
.lto-card__tag{
  display:inline-block;
  background:rgba(255,199,44,.15); color:var(--sals-yellow);
  font-family:'Barlow Condensed',sans-serif; font-weight:800;
  font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.3rem .75rem; border-radius:6px;
  border:1px solid rgba(255,199,44,.3);
}
.lto-card__cta{
  display:inline-flex; align-items:center;
  background:var(--sals-yellow); color:var(--sals-black);
  font-family:'Anton',sans-serif; letter-spacing:.08em; font-size:.9rem;
  padding:.55rem 1.1rem; border-radius:9999px;
  transition:background .2s, transform .2s;
  white-space:nowrap;
}
.lto-card__cta:hover{ background:#ffd64f; transform:translateY(-1px); }





/* ============ SAUCE POUR — MENU HERO ============ */
.sauce-stage {`r`n  position: relative;`r`n  display: inline-block;`r`n  vertical-align: top;`r`n  line-height: .95;`r`n}

.s-cup-wrap {
  position: absolute;
  top: 0; left: 0;
  width: 110px; height: 88px;
  transform-origin: 62% 78%;
  opacity: 0;
  z-index: 6;
  pointer-events: none;
}

.s-word-wrap {
  position: relative;
  display: inline-block;
  line-height: 1;
  z-index: 5;
}

.s-text {
  margin: 0;
  font-size: clamp(3.4rem, 12vw, 7rem);
  line-height: .95;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.s-text--dry {
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(255,255,255,.28);
}

.s-wet-container {
  position: absolute;
  inset: 0;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 100% 300%;
  -webkit-mask-size: 100% 300%;
  mask-position: 0 -300%;
  -webkit-mask-position: 0 -300%;
  will-change: mask-position, -webkit-mask-position;
}

.s-text--wet {
  margin: 0;
  color: transparent;
  background: linear-gradient(155deg, #ff8a4c 0%, #e8402a 45%, #b3181a 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-stroke: 1px rgba(255,255,255,.15);
  filter: drop-shadow(0 4px 3px rgba(0,0,0,.4));
}

.s-word-wrap.coated .s-wet-container {
  animation: sShimmer 3.6s ease-in-out .3s infinite;
}
@keyframes sShimmer {
  0%,100% { filter: drop-shadow(0 4px 3px rgba(0,0,0,.4)) brightness(1); }
  50%      { filter: drop-shadow(0 4px 3px rgba(0,0,0,.4)) brightness(1.12); }
}

.s-drip-goo {
  position: absolute;
  left: 0; bottom: -4px;
  width: 100%; height: 0;
  overflow: visible;
  filter: url(#sauce-goo);
  pointer-events: none;
  z-index: 4;
}

.s-drip {
  position: absolute;
  top: 0; left: 0;
  width: 14px; height: 19px;
  border-radius: 50% 50% 45% 45% / 62% 62% 38% 38%;
  background: radial-gradient(circle at 35% 25%, #ff8a4c, #e8402a 55%, #b3181a 100%);
}

.s-puddle-wrap {
  width: 100%;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.s-puddle {
  width: 55%;
  height: 12px;
  background: radial-gradient(ellipse at 35% 30%, #ff8a4c, #e8402a 55%, #b3181a 100%);
  border-radius: 50%;
  box-shadow: 0 6px 18px rgba(0,0,0,.55), inset 0 2px 3px rgba(255,180,140,.4);
  transform: scale(0);
  transition: transform .4s cubic-bezier(.34,1.56,.64,1);
}
