.nav{
  position:sticky; top:0; z-index:80;
  background:var(--red);
  border-bottom:5px solid var(--ink);
  transition:box-shadow .25s ease;
}
.nav::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    repeating-linear-gradient(90deg,
      rgba(0,0,0,.20) 0 1px, rgba(0,0,0,.07) 1px 3px,
      rgba(255,255,255,.13) 6px 9px, rgba(0,0,0,0) 9px 24px);
}
.nav.is-stuck{ box-shadow:0 10px 24px -12px rgba(0,0,0,.6); }
.nav__inner{
  position:relative; z-index:1;
  width:min(var(--wrap),100% - (var(--pad)*2)); margin-inline:auto;
  display:flex; align-items:center; gap:1rem;
  min-height:70px;
}

.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; margin-right:auto; }
.brand__mark{
  display:flex; width:34px; height:40px; border:3px solid var(--ink); overflow:hidden;
  box-shadow:3px 3px 0 rgba(0,0,0,.35); flex:none;
}
.brand__stripe{ flex:1; }
.brand__stripe--g{ background:var(--lime); }
.brand__stripe--y{ background:var(--yellow); }
.brand__stripe--r{ background:var(--red-deep); }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__name{
  font-family:var(--f-display); font-size:1.5rem; color:#fff;
  text-transform:uppercase; letter-spacing:.02em;
  text-shadow:0 3px 0 var(--red-ink);
}
.brand__sub{
  font-family:var(--f-cond); font-weight:600; font-size:.72rem;
  color:var(--yellow-lit); text-transform:uppercase; letter-spacing:.18em; margin-top:3px;
}

.nav__links{ display:flex; align-items:center; gap:1.6rem; }
.nav__links a:not(.btn){
  font-family:var(--f-cond); font-weight:600; font-size:1.05rem;
  color:#fff; text-transform:uppercase; letter-spacing:.09em; text-decoration:none;
  padding:4px 0; position:relative;
}
.nav__links a:not(.btn)::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:4px;
  background:var(--lime-lit); transform:scaleX(0); transform-origin:left;
  transition:transform .22s ease;
}
.nav__links a:not(.btn):hover::after,
.nav__links a:not(.btn).is-current::after{ transform:scaleX(1); }

.nav__toggle{
  display:none; background:var(--yellow); border:3px solid var(--ink);
  width:46px; height:42px; cursor:pointer; box-shadow:3px 3px 0 var(--ink);
  align-items:center; justify-content:center; padding:0;
}
.nav__bars{ display:flex; flex-direction:column; gap:4px; width:22px; }
.nav__bars i{ height:3px; background:var(--ink); transition:transform .2s ease, opacity .2s ease; }
.nav__toggle[aria-expanded="true"] .nav__bars i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav__toggle[aria-expanded="true"] .nav__bars i:nth-child(2){ opacity:0; }
.nav__toggle[aria-expanded="true"] .nav__bars i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.hero{
  position:relative; isolation:isolate;
  padding:clamp(56px,9vw,110px) 0 0;
  background:var(--lime);
  overflow:hidden;
}
.hero__photo{
  position:absolute; inset:0; z-index:-2;
  background:url("../images/storefront.png") center 62% / cover no-repeat;
  filter:saturate(1.25) contrast(1.05);
}
.hero__scrim{
  position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(224,43,35,.82) 0%, rgba(224,43,35,.42) 22%, rgba(20,18,10,.62) 62%, rgba(20,18,10,.88) 100%),
    radial-gradient(120% 80% at 50% 0%, rgba(245,201,0,.30), transparent 60%);
}
.hero__inner{
  position:relative;
  width:min(var(--wrap),100% - (var(--pad)*2)); margin-inline:auto;
  padding-bottom:clamp(60px,9vw,120px);
  text-align:center;
}
.hero__eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--f-cond); font-weight:600; font-size:clamp(.82rem,1.9vw,1rem);
  text-transform:uppercase; letter-spacing:.2em; color:var(--cream);
  background:rgba(0,0,0,.42); border:2px solid rgba(255,255,255,.35);
  padding:.5em 1.1em; margin:0 0 clamp(22px,4vw,38px);
  backdrop-filter:blur(2px);
}
.dot{
  width:9px; height:9px; border-radius:50%; background:var(--lime-lit);
  box-shadow:0 0 0 0 rgba(168,222,43,.8); animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(168,222,43,.75); }
  70%{ box-shadow:0 0 0 12px rgba(168,222,43,0); }
  100%{ box-shadow:0 0 0 0 rgba(168,222,43,0); }
}

.hero__deal{
  display:flex; align-items:center; justify-content:center;
  gap:clamp(22px,4vw,50px); flex-wrap:wrap; text-align:left;
}
.hero__dealtext{ max-width:34ch; }
.hero__dealtext h2{
  font-family:var(--f-display); font-size:clamp(1.9rem,4.4vw,2.9rem);
  text-transform:uppercase; color:var(--yellow-lit);
  text-shadow:0 4px 0 rgba(0,0,0,.45); margin-bottom:.35em;
}
.hero__dealtext p{ color:var(--cream); font-size:1.05rem; }
.hero__cta{ display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.2em; }

.hero__bands, .foot__bands{ display:flex; height:16px; }
.hero__bands i, .foot__bands i{ flex:1; }
.hero__bands i:nth-child(1), .foot__bands i:nth-child(1){ background:var(--lime); }
.hero__bands i:nth-child(2), .foot__bands i:nth-child(2){ background:var(--yellow); }
.hero__bands i:nth-child(3), .foot__bands i:nth-child(3){ background:var(--red); }
.hero__bands i:nth-child(4), .foot__bands i:nth-child(4){ background:var(--yellow); }
.hero__bands i:nth-child(5), .foot__bands i:nth-child(5){ background:var(--lime); }

.marquee{
  background:var(--lime);
  border-top:4px solid var(--ink); border-bottom:4px solid var(--ink);
  overflow:hidden; padding:.55em 0;
}
.marquee__track{ display:flex; width:max-content; animation:slide 34s linear infinite; }
.marquee__set{ display:flex; align-items:center; }
.marquee__set b{
  font-family:var(--f-display); font-size:clamp(1.15rem,2.7vw,1.7rem);
  text-transform:uppercase; color:var(--red-ink); letter-spacing:.03em;
  padding:0 .45em; white-space:nowrap;
}
.marquee__set i{ color:var(--red); font-size:.9rem; font-style:normal; }
@keyframes slide{ to{ transform:translateX(-50%); } }
.marquee:hover .marquee__track{ animation-play-state:paused; }

.vapor{
  background:var(--yellow);
  background-image:
    repeating-linear-gradient(0deg, rgba(0,0,0,.075) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.06) 0 1px, transparent 1px 98px);
  padding:clamp(64px,9vw,120px) 0;
  border-bottom:6px solid var(--ink);
}
.vapor__grid{
  display:grid; grid-template-columns:1.05fr .95fr;
  gap:clamp(34px,6vw,72px); align-items:center;
}
.vapor__photo{ margin:0; }
.vapor__photo figcaption{
  margin-top:1.4rem; font-family:var(--f-cond); font-weight:600;
  text-transform:uppercase; letter-spacing:.1em; font-size:.9rem; color:var(--ink-soft);
  text-align:center;
}

.menu{ background:var(--cream); padding-bottom:clamp(64px,9vw,110px); }
.menu__top{
  background:var(--red);
  background-image:
    repeating-linear-gradient(90deg,
      rgba(0,0,0,.20) 0 1px, rgba(0,0,0,.07) 1px 3px,
      rgba(255,255,255,.14) 6px 9px, rgba(0,0,0,0) 9px 26px);
  padding:clamp(52px,7vw,88px) 0 clamp(70px,8vw,96px);
  border-bottom:6px solid var(--ink);
  margin-bottom:clamp(-56px,-6vw,-40px);
  text-align:center;
}
.menu__note{
  color:rgba(255,255,255,.9); font-family:var(--f-cond); font-size:1.1rem;
  letter-spacing:.03em; max-width:52ch; margin-inline:auto;
}
.menu__fine{
  margin-top:2.4rem; text-align:center;
  font-family:var(--f-cond); text-transform:uppercase; letter-spacing:.14em;
  font-size:.85rem; color:var(--ink-soft);
}

.raspas{
  background:var(--lime);
  background-image:
    repeating-linear-gradient(0deg, rgba(0,0,0,.07) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.055) 0 1px, transparent 1px 98px);
  padding:clamp(64px,9vw,110px) 0;
  border-top:6px solid var(--ink); border-bottom:6px solid var(--ink);
}
.raspas__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,64px); align-items:center;
}
.raspas .lead{ color:var(--ink); }
.raspas__chips{ display:flex; flex-wrap:wrap; gap:.8rem; }

.galeria{
  background:var(--red);
  background-image:
    repeating-linear-gradient(90deg,
      rgba(0,0,0,.20) 0 1px, rgba(0,0,0,.07) 1px 3px,
      rgba(255,255,255,.13) 6px 9px, rgba(0,0,0,0) 9px 26px);
  padding:clamp(60px,8vw,100px) 0 clamp(64px,9vw,110px);
  text-align:center; border-bottom:6px solid var(--ink);
}

.visita{ background:var(--cream); padding:clamp(64px,9vw,110px) 0; }
.visita__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(28px,4vw,48px); align-items:start; }
.visita__card{
  background:var(--yellow);
  border:5px solid var(--ink); box-shadow:12px 12px 0 var(--red);
  padding:clamp(28px,4vw,44px);
}
.visita__actions{ display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; }
.visita__hours{
  background:var(--ink); color:var(--cream);
  border:5px solid var(--ink); box-shadow:12px 12px 0 var(--lime);
  padding:clamp(24px,3vw,34px);
}

.foot{ background:var(--ink); color:var(--cream); }
.foot__inner{ padding:clamp(40px,6vw,64px) 0; text-align:center; }
.foot__name{
  font-family:var(--f-display); font-size:clamp(2.4rem,7vw,3.8rem);
  text-transform:uppercase; color:var(--yellow-lit); margin:0;
  text-shadow:0 5px 0 var(--red-deep);
}
.foot__tag{
  font-family:var(--f-cond); font-weight:600; text-transform:uppercase;
  letter-spacing:.2em; font-size:.92rem; color:var(--lime-lit); margin:.5rem 0 0;
}
.foot__nav{ display:flex; flex-wrap:wrap; gap:1.4rem; justify-content:center; margin:2rem 0 1.6rem; }
.foot__nav a{
  font-family:var(--f-cond); font-weight:600; text-transform:uppercase;
  letter-spacing:.1em; text-decoration:none; font-size:1rem;
  border-bottom:2px solid transparent; transition:border-color .2s ease, color .2s ease;
}
.foot__nav a:hover{ border-color:var(--lime-lit); color:var(--lime-lit); }
.foot__local{
  font-family:var(--f-cond); font-weight:600; font-size:.95rem;
  text-transform:uppercase; letter-spacing:.08em;
  color:rgba(255,247,220,.78); margin:0 0 .8rem;
}
.foot__copy{ font-size:.86rem; color:rgba(255,247,220,.55); margin:0; }
.area-text{ font-size:1.05rem !important; line-height:1.45 !important; max-width:36ch; }
