/* =========================================================
   YUSO — design tokens, layout, components
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --burgundy:#8D102B;
  --burgundy-dark:#5A0718;
  --red:#E11B2D;
  --cream:#F3EEE7;
  --white:#FFFDFC;
  --charcoal:#161313;
  --steel:#B6B3AF;

  --bg:var(--cream);
  --ink:var(--charcoal);

  --maxw:1400px;
  --pad:clamp(20px, 4vw, 56px);

  --display:"Archivo Black","Inter",system-ui,sans-serif;
  --sans:"Inter",ui-sans-serif,system-ui,sans-serif;

  --line:1px solid rgba(22,19,19,.18);
  --line-light:1px solid rgba(243,238,231,.22);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip}
body{
  margin:0;
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
body.menu-open{overflow:hidden}
img,svg{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
ul{list-style:none; margin:0; padding:0}

::selection{background:var(--red); color:var(--white)}

:focus-visible{outline:2px solid var(--red); outline-offset:3px; border-radius:2px}

.skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:120;
  transform:translateY(-150%);
  background:var(--cream);
  color:var(--charcoal);
  padding:10px 14px;
  font-size:13px;
  font-weight:700;
}
.skip-link:focus{transform:translateY(0)}

.eyebrow{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--burgundy);
  margin:0 0 16px;
}
.eyebrow--light{color:rgba(243,238,231,.7)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  padding:14px 22px;
  min-height:48px;
  font-family:var(--sans);
  font-weight:600;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:1px solid transparent;
  transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
  will-change:transform;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn--solid{background:var(--charcoal); color:var(--cream)}
.btn--solid:hover{background:var(--red)}
.btn--ghost{background:transparent; color:var(--charcoal); border-color:var(--charcoal)}
.btn--ghost:hover{background:var(--charcoal); color:var(--cream)}
.btn--dark{color:var(--cream); border-color:var(--cream)}
.btn--dark:hover{background:var(--cream); color:var(--charcoal)}

/* ---------- Header ---------- */
.hdr{
  position:fixed; inset:0 0 auto 0;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  padding:18px var(--pad);
  z-index:50;
  transition:background .3s ease, padding .3s ease, border-color .3s ease, color .3s ease;
  color:var(--cream);
  border-bottom:1px solid transparent;
}
.hdr[data-state="top"]{background:transparent}
.hdr[data-state="scrolled"]{
  background:rgba(90,7,24,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:12px var(--pad);
  border-bottom-color:rgba(243,238,231,.16);
}
.hdr__logo{display:flex; align-items:center}
.hdr__logo svg{width:96px; height:28px}
.logo-text{
  font-family:var(--display);
  font-size:32px;
  fill:currentColor;
  letter-spacing:-.02em;
}
.hdr__nav{display:flex; gap:28px}
.hdr__nav a{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
  padding:6px 2px;
  position:relative;
}
.hdr__nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-2px;
  height:1px; background:currentColor; transition:right .3s ease;
}
.hdr__nav a:hover::after{right:0}
.hdr__right{display:flex; align-items:center; gap:18px}

.status{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 12px;
  border:1px solid currentColor;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.status__dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--steel);
  box-shadow:0 0 0 0 currentColor;
}
.status[data-open="true"] .status__dot{background:#22c55e; animation:pulse 2.2s ease-in-out infinite}
.status[data-open="false"] .status__dot{background:var(--red)}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.6)}
  70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
.status--big{
  padding:12px 18px;
  font-size:13px;
  background:var(--charcoal);
  color:var(--cream);
  border-color:var(--charcoal);
}

/* burger */
.hdr__burger{display:none; width:44px; height:44px; align-items:center; justify-content:center; flex-direction:column; gap:5px}
.hdr__burger span{display:block; width:22px; height:1.5px; background:currentColor}

/* ---------- Mobile overlay ---------- */
.m-overlay{
  position:fixed; inset:0; z-index:90;
  background:var(--burgundy-dark);
  color:var(--cream);
  display:flex; flex-direction:column;
  padding:24px var(--pad) 40px;
  animation:fade .25s ease;
}
@keyframes fade{from{opacity:0} to{opacity:1}}
.m-overlay__close{
  align-self:flex-end;
  font-size:40px; line-height:1; width:48px; height:48px;
  font-family:var(--display);
}
.m-overlay__nav{
  flex:1;
  display:flex; flex-direction:column; justify-content:center; gap:8px;
}
.m-overlay__nav a{
  font-family:var(--display);
  font-size:clamp(46px, 12vw, 80px);
  line-height:1;
  letter-spacing:-.02em;
  padding:8px 0;
  border-bottom:1px solid rgba(243,238,231,.16);
}
.m-overlay__foot{font-size:13px; letter-spacing:.08em; opacity:.8}
.m-overlay__foot p{margin:4px 0}

/* ---------- Image slots ---------- */
.img-slot{
  position:relative;
  width:100%; height:100%;
  background:var(--burgundy-dark);
  color:var(--cream);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.img-slot.has-image::before{display:none}
.img-slot::before{
  content:""; position:absolute; inset:14px;
  border:1px dashed rgba(243,238,231,.45);
  pointer-events:none;
}
.img-slot__label{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-align:center;
  padding:0 16px;
  opacity:.9;
}
.img-slot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--image-position, center);
  transition:transform .55s ease;
}
.dish:hover .img-slot img,
.feat-card:hover .img-slot img,
.ig__cell:hover .img-slot img{transform:scale(1.025)}
.img-slot--hero{background:var(--burgundy-dark)}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  min-height:100svh;
  color:var(--cream);
  overflow:hidden;
  isolation:isolate;
  padding:120px var(--pad) 80px;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.hero__media{position:absolute; inset:0; z-index:-2}
.hero__media .img-slot{height:100%}
.hero__overlay{
  position:absolute; inset:0; z-index:-1;
  background:rgba(22,19,19,.56);
}
.hero__inner{
  max-width:var(--maxw);
  width:100%;
  margin:0 auto;
  position:relative;
}
.hero__eyebrow{
  font-size:12px; letter-spacing:.3em; text-transform:uppercase;
  margin:0 0 18px;
  opacity:.85;
}
.hero__h{margin:0; line-height:.86; font-weight:400}
.hero__h-line{
  display:block;
  font-family:var(--display);
  font-size:clamp(42px, 7vw, 96px);
  letter-spacing:-.02em;
  color:var(--cream);
  opacity:.92;
}
.hero__h-mega{
  display:block;
  font-family:var(--display);
  font-size:clamp(92px, 22vw, 320px);
  letter-spacing:-.045em;
  color:var(--red);
  line-height:.82;
  margin-top:-.04em;
  text-shadow:0 1px 0 rgba(0,0,0,.15);
}
.hero__sub{
  font-size:clamp(16px,1.6vw,20px);
  line-height:1.4;
  margin:28px 0 28px;
  max-width:48ch;
  color:rgba(243,238,231,.92);
}
.hero__cta{display:flex; flex-wrap:wrap; gap:12px}
.hero__cta .btn--solid{background:var(--red); color:var(--white)}
.hero__cta .btn--solid:hover{background:var(--cream); color:var(--charcoal)}
.hero__cta .btn--ghost{color:var(--cream); border-color:var(--cream)}
.hero__cta .btn--ghost:hover{background:var(--cream); color:var(--charcoal)}

.hero__meta{
  display:flex; flex-wrap:wrap; gap:22px;
  margin-top:34px;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.85;
}
.hero__meta li{position:relative}
.hero__meta li + li::before{content:"·"; position:absolute; left:-14px}

.hero__stamp{
  position:absolute;
  right:var(--pad);
  top:120px;
  width:160px; height:160px;
  z-index:2;
  color:var(--cream);
  animation:spin 28s linear infinite;
}
@media (prefers-reduced-motion: reduce){.hero__stamp{animation:none}}
@keyframes spin{to{transform:rotate(360deg)}}
.stamp-text{
  font-family:var(--sans);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
  fill:currentColor;
  text-transform:uppercase;
}
.stamp-core{
  font-family:var(--display);
  font-size:34px;
  fill:var(--red);
  letter-spacing:-.02em;
}
.hero__scroll{
  position:absolute;
  left:var(--pad); bottom:24px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
  font-size:10px; letter-spacing:.3em; text-transform:uppercase;
  opacity:.7;
}
.hero__scroll svg{width:10px; height:20px}

/* ---------- Marquee ---------- */
.marquee{
  background:var(--red);
  color:var(--cream);
  padding:18px 0;
  overflow:hidden;
  border-block:2px solid var(--charcoal);
}
.marquee__track{
  display:flex; gap:32px;
  white-space:nowrap;
  font-family:var(--display);
  font-size:clamp(20px,3vw,34px);
  letter-spacing:-.01em;
  text-transform:uppercase;
  animation:slide 38s linear infinite;
  width:max-content;
}
@media (prefers-reduced-motion: reduce){.marquee__track{animation:none}}
@keyframes slide{from{transform:translateX(0)} to{transform:translateX(-50%)}}
.marquee__track span{flex-shrink:0}

/* ---------- INTRO ---------- */
.intro{
  padding:clamp(80px,12vw,160px) var(--pad);
  background:var(--cream);
}
.intro__grid{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(40px,6vw,90px);
  align-items:center;
}
.intro__h{
  font-family:var(--display);
  font-size:clamp(40px,6.5vw,96px);
  line-height:.95;
  letter-spacing:-.025em;
  margin:0 0 28px;
}
.intro__h em{
  font-style:normal;
  color:var(--red);
}
.intro__lead{
  font-size:clamp(15px,1.4vw,18px);
  line-height:1.55;
  max-width:46ch;
  color:#2a2424;
}
.intro__tags{
  display:flex; flex-wrap:wrap; gap:8px;
  margin-top:28px;
}
.intro__tags li{
  padding:8px 14px;
  border:1px solid var(--charcoal);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
}
.intro__media{position:relative}
.intro__media .img-slot{aspect-ratio:4/5}
.intro__tag{
  position:absolute;
  bottom:-14px; left:-14px;
  background:var(--red); color:var(--cream);
  padding:10px 14px;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700;
}

/* ---------- Section heads ---------- */
.section-head{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad);
}
.section-head__h{
  font-family:var(--display);
  font-size:clamp(54px,11vw,180px);
  line-height:.86;
  letter-spacing:-.035em;
  margin:0 0 16px;
}
.section-head__h em{font-style:normal; color:var(--red)}
.section-head__sub{
  font-size:clamp(14px,1.2vw,17px);
  max-width:54ch;
  margin:0;
  color:#2a2424;
}
.section-head--inline{margin-bottom:32px}

/* ---------- MENU ---------- */
.menu{
  padding:clamp(80px,12vw,140px) 0 60px;
  background:var(--cream);
  border-top:1px solid rgba(22,19,19,.1);
}
.filters-shell{
  position:sticky; top:64px;
  z-index:20;
  margin:40px 0 28px;
  background:rgba(243,238,231,.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-block:1px solid rgba(22,19,19,.12);
}
.filters{
  display:flex; flex-wrap:wrap; gap:6px;
  padding:14px var(--pad);
  overflow-x:auto;
  scrollbar-width:none;
}
.filters::-webkit-scrollbar{display:none}
.filter{
  padding:10px 16px;
  min-height:44px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
  border:1px solid var(--charcoal);
  transition:all .2s ease;
  flex-shrink:0;
}
.filter:hover{background:var(--charcoal); color:var(--cream)}
.filter.is-active{background:var(--red); color:var(--white); border-color:var(--red)}

.menu__grid{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 var(--pad);
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:24px;
}
.dish{
  grid-column:span 4;
  display:flex; flex-direction:column;
  background:var(--white);
  border:1px solid rgba(22,19,19,.1);
  transition:transform .3s ease, box-shadow .3s ease;
}
.dish:hover{transform:translateY(-3px); box-shadow:0 10px 30px rgba(22,19,19,.08)}
.dish[hidden]{display:none}
.dish[data-size="lg"]{grid-column:span 8}
.dish[data-size="md"]{grid-column:span 6}
.dish[data-size="sm"]{grid-column:span 4}
.dish[data-feat="ramen"]{grid-column:span 12}

.dish__media{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--burgundy)}
.dish[data-feat="ramen"] .dish__media{aspect-ratio:21/9}
.dish[data-size="md"] .dish__media{aspect-ratio:5/4}
.dish__media .img-slot{position:absolute; inset:0}

.dish__badges{
  position:absolute; top:12px; left:12px;
  display:flex; gap:6px; flex-wrap:wrap; z-index:2;
}
.badge{
  display:inline-flex; align-items:center; gap:4px;
  padding:4px 8px;
  font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  background:var(--cream); color:var(--charcoal);
  border:1px solid var(--charcoal);
}
.badge--spicy{background:var(--red); color:var(--white); border-color:var(--red)}
.badge--veg{background:#1f5b2f; color:var(--cream); border-color:#1f5b2f}
.badge--new{background:var(--charcoal); color:var(--cream)}

.dish__body{padding:20px; display:flex; flex-direction:column; flex:1; gap:10px}
.dish__row{display:flex; justify-content:space-between; align-items:baseline; gap:16px}
.dish__name{
  font-family:var(--display);
  font-size:clamp(20px,2.2vw,28px);
  margin:0;
  line-height:1.05;
  letter-spacing:-.01em;
  flex:1;
}
.dish[data-feat="ramen"] .dish__name{font-size:clamp(36px,6vw,72px)}
.dish[data-size="md"] .dish__name{font-size:clamp(24px,2.6vw,34px)}
.dish__price{
  font-family:var(--display);
  font-size:18px;
  white-space:nowrap;
  color:var(--red);
}
.dish__desc{
  font-size:14px;
  line-height:1.5;
  color:#2a2424;
  margin:0;
}
.dish__meta{
  display:flex; gap:12px;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600;
  color:#5a5454;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(22,19,19,.08);
}
.dish__allergens{
  margin-top:8px;
  font-size:12px;
}
.dish__allergens summary{
  cursor:pointer;
  font-size:11px; text-transform:uppercase; letter-spacing:.14em; font-weight:700;
  color:var(--burgundy);
  list-style:none;
  padding:6px 0;
}
.dish__allergens summary::-webkit-details-marker{display:none}
.dish__allergens summary::after{content:" +"; font-family:var(--display)}
.dish__allergens[open] summary::after{content:" −"}
.dish__allergens p{margin:6px 0 0; color:#5a5454; line-height:1.5}

.allergen-note{
  max-width:calc(var(--maxw) - (var(--pad) * 2));
  margin:42px auto 0;
  padding:22px;
  border:1px solid rgba(22,19,19,.22);
  display:grid;
  grid-template-columns:minmax(170px,.35fr) 1fr;
  gap:24px;
}
.allergen-note h3{
  margin:0;
  font-family:var(--display);
  font-size:22px;
}
.allergen-note p{margin:0; font-size:13px; line-height:1.6; color:#4d4747}

/* sauce options sub-list */
.dish__sauces{
  display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;
}
.dish__sauces span{
  padding:4px 8px; font-size:11px; border:1px solid rgba(22,19,19,.2);
  text-transform:uppercase; letter-spacing:.08em; font-weight:600;
}

/* ---------- FEATURED ---------- */
.featured{
  padding:80px 0;
  background:var(--charcoal);
  color:var(--cream);
}
.featured .eyebrow{color:var(--red)}
.featured .section-head__h em{color:var(--red)}
.featured .section-head__h{color:var(--cream)}

.featured__rail{
  max-width:var(--maxw);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  padding:40px var(--pad) 12px;
}
.feat-card{
  grid-column:span 4;
  position:relative;
  aspect-ratio:4/5;
  overflow:hidden;
  background:var(--burgundy);
}
.feat-card:nth-child(1){grid-column:span 7; aspect-ratio:16/10}
.feat-card:nth-child(2){grid-column:span 5; aspect-ratio:16/10}
.feat-card .img-slot{position:absolute; inset:0; height:100%}
.feat-card__overlay{
  position:absolute; inset:0;
  background:rgba(0,0,0,.34);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:24px;
  color:var(--cream);
}
.feat-card__tag{
  align-self:flex-start;
  background:var(--red); color:var(--white);
  padding:4px 10px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  margin-bottom:auto;
}
.feat-card__name{
  font-family:var(--display);
  font-size:clamp(28px,3vw,44px);
  line-height:.95;
  margin:0;
  letter-spacing:-.02em;
}
.feat-card__note{
  font-size:13px;
  letter-spacing:.04em;
  margin:8px 0 0;
  opacity:.85;
}

/* ---------- DRINKS ---------- */
.drinks{
  background:var(--burgundy-dark);
  color:var(--cream);
  padding:clamp(80px,12vw,140px) var(--pad);
}
.drinks__head{max-width:var(--maxw); margin:0 auto 60px}
.drinks__h{
  margin:0 0 18px;
  font-family:var(--display);
  line-height:.86;
  letter-spacing:-.035em;
}
.drinks__h span{display:block; font-size:clamp(28px,4vw,52px); opacity:.9}
.drinks__h .mega{font-size:clamp(80px,16vw,240px); color:var(--red); letter-spacing:-.045em; line-height:.82; margin-top:-.04em}
.drinks__sub{font-size:clamp(15px,1.4vw,18px); max-width:50ch; color:rgba(243,238,231,.85); margin:0}

.drinks__cocktails{
  max-width:var(--maxw); margin:0 auto 80px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.cocktail{
  position:relative;
  aspect-ratio:3/4;
  background:var(--burgundy);
  overflow:hidden;
}
.cocktail .img-slot{position:absolute; inset:0; height:100%}
.cocktail__overlay{
  position:absolute; inset:0;
  background:rgba(0,0,0,.28);
  display:flex; flex-direction:column; justify-content:space-between;
  padding:18px;
}
.cocktail__price{
  align-self:flex-start;
  background:var(--cream); color:var(--charcoal);
  padding:4px 10px; font-family:var(--display); font-size:14px;
}
.cocktail__name{
  font-family:var(--display);
  font-size:clamp(22px,2.4vw,32px);
  margin:0;
  line-height:.95;
  letter-spacing:-.01em;
}

.drinks__lists{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1.3fr 1fr .8fr; gap:48px;
}
.drink-col h3{
  font-family:var(--display);
  font-size:clamp(28px,3vw,44px);
  margin:0 0 18px;
  letter-spacing:-.02em;
  border-bottom:1px solid rgba(243,238,231,.18);
  padding-bottom:14px;
}
.drink-col ul{display:flex; flex-direction:column}
.drink-col li{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:18px;
  align-items:baseline;
  padding:14px 0;
  border-bottom:1px dashed rgba(243,238,231,.18);
  font-size:15px;
}
.drink-col li .name{font-weight:600}
.drink-col li .vol{font-size:12px; opacity:.7; letter-spacing:.1em; text-transform:uppercase}
.drink-col li .price{font-family:var(--display); color:var(--red)}

/* ---------- INSTAGRAM ---------- */
.ig{
  padding:clamp(80px,12vw,140px) var(--pad);
  background:var(--cream);
}
.ig__head{
  max-width:var(--maxw); margin:0 auto 50px;
  display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap;
}
.ig__h{
  font-family:var(--display);
  line-height:.86;
  letter-spacing:-.035em;
  margin:0;
}
.ig__h span{display:block; font-size:clamp(28px,3.5vw,48px)}
.ig__h .mega{font-size:clamp(70px,11vw,180px); color:var(--red); letter-spacing:-.045em; line-height:.82; margin-top:-.04em}

.ig__grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.ig__cell{
  position:relative;
  aspect-ratio:1/1;
  background:var(--burgundy);
  overflow:hidden;
  transition:transform .3s ease;
}
.ig__cell:hover{transform:scale(1.02)}
.ig__cell .img-slot{position:absolute; inset:0; height:100%}
.ig__cell::after{
  content:"";
  position:absolute; inset:0;
  background:rgba(0,0,0,.18);
  opacity:0;
  transition:opacity .3s ease;
}
.ig__cell:hover::after{opacity:1}

/* ---------- FIND ---------- */
.find{
  background:var(--burgundy);
  color:var(--cream);
  padding:clamp(80px,12vw,140px) var(--pad);
}
.find__grid{
  max-width:var(--maxw); margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(40px,6vw,80px);
}
.find__copy,.find__media{min-width:0}
.find__h{
  font-family:var(--display);
  font-size:clamp(64px,11vw,180px);
  line-height:.86;
  letter-spacing:-.035em;
  margin:0 0 32px;
}
.find__h em{font-style:normal; color:var(--red)}
.find__addr{
  font-style:normal;
  font-size:clamp(18px,1.6vw,22px);
  margin:0 0 28px;
  line-height:1.3;
}
.find__addr strong{font-family:var(--display); font-size:1.2em; display:block}
.find__status{
  display:flex; flex-direction:column; gap:10px;
  margin-bottom:32px;
}
.find__status .status--big{align-self:flex-start; background:var(--cream); color:var(--charcoal); border-color:var(--cream)}
.find__nextline{margin:0; font-size:13px; letter-spacing:.06em; opacity:.85}

.hours{margin-bottom:32px}
.hours h3{
  font-family:var(--sans);
  font-size:12px; text-transform:uppercase; letter-spacing:.2em;
  margin:0 0 12px; opacity:.6;
}
.hours dl{margin:0; border-top:1px solid rgba(243,238,231,.18)}
.hours__row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid rgba(243,238,231,.18);
  font-size:14px;
  letter-spacing:.04em;
}
.hours__row dt{font-weight:600; text-transform:uppercase; letter-spacing:.1em; font-size:12px}
.hours__row dd{margin:0; font-family:var(--display); font-size:14px}
.hours__row.is-today{background:rgba(225,27,45,.18); padding-inline:10px; margin-inline:-10px}
.hours__row.is-today dd{color:var(--red)}

.find__notice{
  border:2px solid var(--cream);
  padding:18px;
  margin-bottom:28px;
}
.find__notice p{
  margin:0;
  font-family:var(--display);
  font-size:clamp(18px,1.8vw,24px);
  line-height:1.15;
}
.find__cta{display:flex; flex-wrap:wrap; gap:10px}
.find__cta .btn--solid{background:var(--red); color:var(--white); border-color:var(--red)}
.find__cta .btn--solid:hover{background:var(--cream); color:var(--charcoal); border-color:var(--cream)}

.find__media{display:flex; flex-direction:column; gap:16px; width:100%}
.map{
  position:relative;
  width:100%;
  aspect-ratio:5/4;
  overflow:hidden;
  border:1px solid rgba(243,238,231,.2);
  background:#1a1a1a;
}
.map iframe{
  width:100%; height:100%; border:0;
  filter:grayscale(.4) contrast(1.05);
}
.map__open{
  position:absolute; left:14px; bottom:14px;
  background:var(--cream); color:var(--charcoal);
  padding:10px 14px;
  font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
}
.find__media .img-slot--exterior{aspect-ratio:16/9}

/* ---------- FOOTER ---------- */
.ftr{
  background:var(--charcoal);
  color:var(--cream);
  padding:60px var(--pad) 24px;
  position:relative;
  overflow:hidden;
}
.ftr__mega{
  position:absolute;
  left:50%; transform:translateX(-50%);
  bottom:-.12em;
  font-family:var(--display);
  font-size:clamp(180px, 28vw, 520px);
  line-height:.8;
  letter-spacing:-.05em;
  color:var(--burgundy-dark);
  pointer-events:none;
  white-space:nowrap;
  user-select:none;
}
.ftr__grid{
  position:relative;
  max-width:var(--maxw); margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:40px;
}
.ftr__col p{margin:6px 0; font-size:13px; line-height:1.55; opacity:.85}
.ftr__line{font-family:var(--display); font-size:22px; letter-spacing:-.01em; opacity:1 !important}
.ftr__col a:hover{color:var(--red)}
.ftr__link{
  padding:0;
  color:inherit;
  font-size:inherit;
  border-bottom:1px solid currentColor;
}
.ftr__link:hover{color:var(--red)}
.ftr__col ul li{padding:4px 0; font-size:13px}

.ftr__bottom{
  position:relative;
  max-width:var(--maxw); margin:60px auto 0;
  padding-top:20px;
  border-top:1px solid rgba(243,238,231,.16);
  display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12px; opacity:.7;
}

/* ---------- Mobile fixed CTA ---------- */
.m-cta{
  display:none;
  position:fixed; left:12px; right:12px; bottom:12px;
  z-index:60;
  background:var(--red); color:var(--white);
  padding:16px 20px;
  text-align:center;
  font-weight:700;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:2px solid var(--charcoal);
  box-shadow:0 8px 24px rgba(0,0,0,.25);
}

.privacy-dialog{
  width:min(560px, calc(100vw - 32px));
  border:1px solid var(--charcoal);
  padding:26px;
  background:var(--cream);
  color:var(--charcoal);
}
.privacy-dialog::backdrop{background:rgba(22,19,19,.72)}
.privacy-dialog__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}
.privacy-dialog h2{
  margin:0;
  font-family:var(--display);
  font-size:36px;
}
.privacy-dialog p{margin:0; line-height:1.65}
.privacy-dialog button{
  width:44px;
  height:44px;
  font-size:34px;
  line-height:1;
}
.noscript{
  position:fixed;
  inset:auto 12px 12px;
  z-index:200;
  margin:0;
  padding:14px;
  background:var(--red);
  color:var(--white);
  text-align:center;
  font-weight:700;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
  .menu__grid{grid-template-columns:repeat(6,1fr)}
  .dish, .dish[data-size="lg"], .dish[data-size="md"], .dish[data-size="sm"]{grid-column:span 3}
  .dish[data-feat="ramen"]{grid-column:span 6}
  .drinks__cocktails{grid-template-columns:repeat(2,1fr)}
  .drinks__lists{grid-template-columns:1fr 1fr}
  #drinks-soft{grid-row:span 2}
  .find__grid{grid-template-columns:1fr}
  .ftr__grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 768px){
  :root{--pad:18px}
  .hdr{grid-template-columns:1fr auto}
  .hdr__nav{display:none}
  .hdr__right{grid-column:2}
  .hdr__burger{display:flex}

  .hero{padding:100px 18px 100px; min-height:100svh}
  .hero__h-mega{font-size:clamp(72px,19vw,100px)}
  .hero__stamp{width:110px; height:110px; top:90px; right:14px}
  .hero__scroll{display:none}
  .hdr__right{gap:6px}
  .hdr .status{padding:5px 8px; font-size:9px; letter-spacing:.1em}

  .intro__grid{grid-template-columns:1fr; gap:30px}
  .intro__media .img-slot{aspect-ratio:1/1}

  .filters-shell{top:68px}
  .filters{padding:10px 14px; flex-wrap:nowrap}
  .menu__grid{grid-template-columns:1fr; gap:16px; padding:0 14px}
  .dish, .dish[data-size="lg"], .dish[data-size="md"], .dish[data-size="sm"], .dish[data-feat="ramen"]{grid-column:span 1}
  .dish[data-feat="ramen"] .dish__media{aspect-ratio:16/10}
  .allergen-note{margin:28px 14px 0; grid-template-columns:1fr; gap:8px}

  .featured__rail{
    display:flex;
    gap:14px;
    padding:30px 18px 8px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .featured__rail::-webkit-scrollbar{display:none}
  .feat-card,
  .feat-card:nth-child(1),
  .feat-card:nth-child(2){
    scroll-snap-align:start;
    flex:0 0 min(82vw, 360px);
    aspect-ratio:3/4;
  }

  .drinks__cocktails{grid-template-columns:repeat(2,1fr); gap:12px}
  .drinks__lists{grid-template-columns:1fr; gap:40px}
  #drinks-soft{grid-row:auto}

  .ig__grid{gap:4px}
  .ig__head{flex-direction:column; align-items:flex-start; gap:18px}

  .ftr__grid{grid-template-columns:1fr 1fr; gap:28px}
  .ftr__mega{font-size:140px}

  .m-cta{display:block}
  main{padding-bottom:90px}
}

@media (max-width: 420px){
  .hero__stamp{display:none}
  .hero__meta{font-size:11px; gap:12px}
  .hero__meta li + li::before{display:none}
  .section-head__h{font-size:clamp(44px,14vw,72px)}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important}
}

@media (min-width: 769px){
  .intro__copy{
    position:relative;
    z-index:2;
    margin-right:-72px;
    padding:44px 50px 44px 0;
    background:var(--cream);
  }
}

/* =========================================================
   Visual upgrade — bolder editorial energy
   ========================================================= */

:root{
  --acid:#FFED00;
  --shadow:8px 8px 0 var(--charcoal);
}

.scroll-progress{
  position:fixed;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  z-index:130;
  pointer-events:none;
  background:var(--acid);
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform;
}

.section-numbered{position:relative; isolation:isolate}
.section-numbered::after{
  content:attr(data-section);
  position:absolute;
  top:clamp(22px,4vw,58px);
  right:var(--pad);
  z-index:-1;
  font-family:var(--display);
  font-size:clamp(72px,12vw,180px);
  line-height:.75;
  letter-spacing:-.08em;
  color:rgba(22,19,19,.055);
  pointer-events:none;
}
.featured.section-numbered::after,
.drinks.section-numbered::after,
.find.section-numbered::after{color:rgba(243,238,231,.07)}

/* Brand mark */
.hdr{min-height:76px}
.hdr__logo{position:relative; z-index:2}
.brand-badge{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  padding:6px;
  overflow:hidden;
  background:var(--cream);
  border:2px solid var(--charcoal);
  box-shadow:4px 4px 0 var(--red);
  transform:rotate(-2deg);
  transition:transform .25s ease, box-shadow .25s ease;
}
.brand-badge img{width:100%; height:100%; object-fit:contain}
.hdr__logo:hover .brand-badge{
  transform:rotate(2deg) scale(1.04);
  box-shadow:6px 6px 0 var(--red);
}
.hdr[data-state="top"] .brand-badge{border-color:var(--cream)}
.hdr[data-state="scrolled"]{
  background:rgba(90,7,24,.94);
  box-shadow:0 5px 0 rgba(22,19,19,.18);
}
.hdr__nav{margin-left:8px}
.hdr__nav a{
  padding:9px 3px;
  font-weight:700;
}
.hdr__nav a::after{height:3px; bottom:1px; background:var(--red)}

.m-overlay__logo{
  position:absolute;
  top:22px;
  left:var(--pad);
  width:78px;
  height:78px;
  padding:8px;
  object-fit:contain;
  background:var(--cream);
  transform:rotate(-4deg);
  box-shadow:7px 7px 0 var(--red);
}

/* Hero */
.hero{
  min-height:max(760px,100svh);
  border-bottom:10px solid var(--red);
}
.hero::before{
  content:"";
  position:absolute;
  left:0;
  top:18%;
  width:12px;
  height:45%;
  z-index:1;
  background:var(--acid);
}
.hero::after{
  content:"COME HUNGRY";
  position:absolute;
  top:50%;
  right:-132px;
  z-index:1;
  width:330px;
  padding:10px 18px;
  background:var(--red);
  color:var(--white);
  font-family:var(--display);
  font-size:18px;
  letter-spacing:.14em;
  text-align:center;
  transform:rotate(90deg);
}
.hero__overlay{background:rgba(22,19,19,.48)}
.hero__media .img-slot img{
  filter:saturate(1.12) contrast(1.06);
  transform:scale(1.015);
}
.hero__inner{z-index:3}
.hero__eyebrow{
  display:inline-flex;
  padding:8px 12px;
  margin-bottom:22px;
  color:var(--charcoal);
  background:var(--acid);
  font-weight:700;
}
.hero__h-line{
  font-size:clamp(48px,7.5vw,108px);
  text-shadow:4px 4px 0 var(--charcoal);
}
.hero__h-mega{
  position:relative;
  font-size:clamp(100px,21vw,300px);
  text-shadow:6px 6px 0 var(--cream), 12px 12px 0 rgba(22,19,19,.65);
}
.hero__sub{
  padding-left:16px;
  border-left:5px solid var(--acid);
  font-weight:600;
}
.hero__cta .btn{border-width:2px; box-shadow:4px 4px 0 var(--charcoal)}
.hero__cta .btn:hover{transform:translate(-2px,-2px); box-shadow:7px 7px 0 var(--charcoal)}
.hero__meta{
  width:max-content;
  max-width:100%;
  padding:11px 14px;
  background:rgba(22,19,19,.78);
  border:1px solid rgba(243,238,231,.35);
}
.hero__brand-card{
  position:absolute;
  right:clamp(30px,5vw,78px);
  bottom:54px;
  z-index:3;
  width:clamp(118px,12vw,176px);
  padding:12px;
  background:var(--cream);
  color:var(--charcoal);
  border:3px solid var(--charcoal);
  box-shadow:10px 10px 0 var(--red);
  transform:rotate(4deg);
}
.hero__brand-card img{width:100%; height:auto; aspect-ratio:1; object-fit:contain}
.hero__brand-card span{
  display:block;
  margin-top:8px;
  padding-top:8px;
  border-top:2px solid var(--charcoal);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
}
.hero__stamp{
  width:178px;
  height:178px;
  padding:9px;
  border:2px solid currentColor;
  border-radius:50%;
}

.marquee{
  padding:13px 0;
  background:var(--acid);
  color:var(--charcoal);
  border-block:4px solid var(--charcoal);
  transform:rotate(-.55deg) scale(1.015);
}
.marquee__track{font-size:clamp(22px,3vw,40px); animation-duration:28s}

/* Intro */
.intro{overflow:hidden}
.intro__grid{position:relative}
.intro__copy{
  border-top:5px solid var(--charcoal);
  border-bottom:5px solid var(--charcoal);
}
.intro__h{font-size:clamp(44px,6.4vw,92px)}
.intro__h em{
  display:inline;
  padding:0 .08em;
  color:var(--cream);
  background:var(--red);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.intro__tags li{
  background:var(--acid);
  border-width:2px;
  box-shadow:3px 3px 0 var(--charcoal);
  transform:rotate(-1deg);
}
.intro__tags li:nth-child(even){transform:rotate(1.5deg)}
.intro__media{
  transform:rotate(1.8deg);
  box-shadow:16px 16px 0 var(--red);
}
.intro__media .img-slot{border:3px solid var(--charcoal)}
.intro__tag{
  left:auto;
  right:-18px;
  bottom:-18px;
  border:2px solid var(--charcoal);
  box-shadow:4px 4px 0 var(--charcoal);
}
.intro__sticker{
  position:absolute;
  left:-46px;
  top:42px;
  z-index:3;
  display:grid;
  place-items:center;
  width:122px;
  height:122px;
  padding:14px;
  border-radius:50%;
  background:var(--acid);
  color:var(--charcoal);
  border:3px solid var(--charcoal);
  box-shadow:6px 6px 0 var(--red);
  font-family:var(--display);
  font-size:14px;
  line-height:1.05;
  text-align:center;
  text-transform:uppercase;
  transform:rotate(-11deg);
}

/* Menu */
.menu{overflow:hidden}
.menu::before{
  content:"EAT";
  position:absolute;
  top:180px;
  left:-.08em;
  z-index:-1;
  color:rgba(225,27,45,.055);
  font-family:var(--display);
  font-size:min(34vw,480px);
  line-height:.7;
  letter-spacing:-.1em;
  pointer-events:none;
}
.section-head__h{
  text-transform:uppercase;
  -webkit-text-stroke:1px var(--charcoal);
}
.section-head__h em{
  -webkit-text-stroke:0;
  text-shadow:5px 5px 0 var(--charcoal);
}
.filters-shell{
  border-block:3px solid var(--charcoal);
  box-shadow:0 6px 0 rgba(141,16,43,.18);
}
.filter{
  border-width:2px;
  background:var(--cream);
}
.filter.is-active{
  color:var(--charcoal);
  background:var(--acid);
  border-color:var(--charcoal);
  box-shadow:4px 4px 0 var(--red);
}
.dish{
  position:relative;
  border:2px solid var(--charcoal);
  box-shadow:5px 5px 0 rgba(141,16,43,.45);
}
.dish:nth-child(3n+1){transform:translateY(-5px) rotate(-.25deg)}
.dish:nth-child(3n+2){transform:translateY(7px) rotate(.25deg)}
.dish:hover{
  z-index:3;
  transform:translate(-3px,-8px) rotate(0);
  box-shadow:11px 11px 0 var(--red);
}
.dish__media{border-bottom:2px solid var(--charcoal)}
.dish__media::after{
  content:"YUSO";
  position:absolute;
  right:10px;
  bottom:8px;
  z-index:2;
  color:var(--cream);
  font-family:var(--display);
  font-size:11px;
  letter-spacing:.14em;
  text-shadow:1px 1px 0 var(--charcoal);
  opacity:.8;
}
.dish__price{
  padding:5px 8px;
  color:var(--cream);
  background:var(--red);
  border:2px solid var(--charcoal);
  box-shadow:3px 3px 0 var(--charcoal);
}
.badge{border-width:2px; box-shadow:3px 3px 0 var(--charcoal)}
.allergen-note{
  background:var(--acid);
  border:3px solid var(--charcoal);
  box-shadow:8px 8px 0 var(--red);
}

/* Featured */
.featured{
  overflow:hidden;
  border-block:8px solid var(--red);
}
.featured .section-head__h{
  -webkit-text-stroke:1px var(--cream);
  text-transform:none;
}
.feat-card{
  border:3px solid var(--cream);
  box-shadow:10px 10px 0 var(--red);
  transition:transform .3s ease, box-shadow .3s ease;
}
.feat-card:nth-child(odd){transform:rotate(-.45deg)}
.feat-card:nth-child(even){transform:rotate(.45deg)}
.feat-card:hover{
  z-index:2;
  transform:translateY(-8px) rotate(0);
  box-shadow:15px 15px 0 var(--acid);
}
.feat-card__overlay{
  background:rgba(22,19,19,.27);
  border:10px solid transparent;
}
.feat-card__tag{
  color:var(--charcoal);
  background:var(--acid);
  border:2px solid var(--charcoal);
  box-shadow:3px 3px 0 var(--red);
}
.feat-card__name{text-shadow:4px 4px 0 var(--charcoal)}

/* Drinks */
.drinks{position:relative; overflow:hidden}
.drinks::before{
  content:"";
  position:absolute;
  width:min(68vw,850px);
  aspect-ratio:1;
  right:-16%;
  top:2%;
  z-index:0;
  background:url("assets/yuso-logo.webp") center/contain no-repeat;
  opacity:.045;
  transform:rotate(12deg);
}
.drinks > *{position:relative; z-index:1}
.drinks__head{position:relative}
.drinks__h .mega{
  color:var(--red);
  text-shadow:6px 6px 0 var(--cream);
}
.drinks__side-note{
  position:absolute;
  top:18px;
  right:0;
  margin:0;
  padding:9px 13px;
  background:var(--acid);
  color:var(--charcoal);
  border:2px solid var(--charcoal);
  box-shadow:5px 5px 0 var(--red);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  transform:rotate(3deg);
}
.cocktail{
  border:3px solid var(--cream);
  box-shadow:8px 8px 0 var(--red);
  transition:transform .3s ease, box-shadow .3s ease;
}
.cocktail:nth-child(odd){transform:rotate(-1deg)}
.cocktail:nth-child(even){transform:rotate(1deg) translateY(14px)}
.cocktail:hover{
  z-index:2;
  transform:translateY(-8px) rotate(0);
  box-shadow:13px 13px 0 var(--acid);
}
.cocktail__price{
  border:2px solid var(--charcoal);
  box-shadow:3px 3px 0 var(--red);
}
.cocktail__name{
  text-shadow:3px 3px 0 var(--charcoal);
  font-size:clamp(25px,2.6vw,38px);
}
.drink-col{
  padding:22px;
  border:2px solid rgba(243,238,231,.45);
}
.drink-col h3{color:var(--acid)}
.drink-col li .price{color:var(--acid)}

/* Social collage */
.ig{overflow:hidden}
.ig__h .mega{text-shadow:5px 5px 0 var(--charcoal)}
.ig__grid{
  grid-template-columns:repeat(12,1fr);
  gap:12px;
}
.ig__cell{
  grid-column:span 4;
  border:3px solid var(--charcoal);
  box-shadow:6px 6px 0 var(--red);
}
.ig__cell:nth-child(1),
.ig__cell:nth-child(5){grid-column:span 5}
.ig__cell:nth-child(2),
.ig__cell:nth-child(6){grid-column:span 3}
.ig__cell:nth-child(3n+1){transform:rotate(-.7deg)}
.ig__cell:nth-child(3n+2){transform:translateY(16px) rotate(.6deg)}
.ig__cell:hover{
  z-index:3;
  transform:translateY(-5px) rotate(0) scale(1.02);
  box-shadow:11px 11px 0 var(--acid);
}
.ig__cell::before{
  content:"↗";
  position:absolute;
  right:10px;
  top:10px;
  z-index:3;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  background:var(--acid);
  color:var(--charcoal);
  border:2px solid var(--charcoal);
  font-weight:900;
  transform:translateY(-55px);
  transition:transform .25s ease;
}
.ig__cell:hover::before{transform:translateY(0)}

/* Location */
.find{overflow:hidden; border-top:8px solid var(--acid)}
.find::before{
  content:"WALK-INS ONLY";
  position:absolute;
  left:-.1em;
  bottom:.1em;
  z-index:-1;
  color:rgba(243,238,231,.06);
  font-family:var(--display);
  font-size:clamp(90px,17vw,250px);
  line-height:.65;
  white-space:nowrap;
  transform:rotate(-3deg);
}
.find__h em{
  display:inline-block;
  color:var(--acid);
  text-shadow:6px 6px 0 var(--charcoal);
  transform:rotate(-2deg);
}
.find__addr{
  width:max-content;
  max-width:100%;
  padding:16px 18px;
  color:var(--charcoal);
  background:var(--cream);
  border:3px solid var(--charcoal);
  box-shadow:7px 7px 0 var(--red);
  transform:rotate(-1deg);
}
.hours{
  padding:20px;
  border:2px solid rgba(243,238,231,.45);
}
.find__notice{
  color:var(--charcoal);
  background:var(--acid);
  border:3px solid var(--charcoal);
  box-shadow:8px 8px 0 var(--charcoal);
  transform:rotate(-1deg);
}
.map{
  border:4px solid var(--charcoal);
  box-shadow:13px 13px 0 var(--acid);
  transform:rotate(.7deg);
}
.find__media .img-slot--exterior{
  border:3px solid var(--charcoal);
  box-shadow:10px 10px 0 var(--red);
  transform:rotate(-.7deg);
}

/* Footer */
.ftr{border-top:9px solid var(--red); min-height:450px}
.ftr__brand{
  position:absolute;
  right:var(--pad);
  bottom:-65px;
  width:clamp(220px,31vw,480px);
  opacity:.12;
  transform:rotate(7deg);
}
.ftr__brand img{width:100%; height:auto}
.ftr__mega{left:38%; opacity:.65}

/* Scroll reveal */
.reveal-ready .reveal{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .65s ease, transform .65s cubic-bezier(.2,.75,.25,1);
}
.reveal-ready .reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@media (max-width:1024px){
  .hero__brand-card{display:none}
  .hero::after{display:none}
  .intro__sticker{left:-20px}
  .drinks__side-note{position:static; display:inline-block; margin-top:24px}
}

@media (max-width:768px){
  .scroll-progress{height:3px}
  .hdr{min-height:68px}
  .brand-badge{
    width:48px;
    height:48px;
    padding:5px;
    box-shadow:3px 3px 0 var(--red);
  }
  .hero{
    min-height:100svh;
    padding-top:108px;
  }
  .hero::before{width:7px}
  .hero__eyebrow{font-size:9px; padding:6px 8px}
  .hero__h-line{text-shadow:3px 3px 0 var(--charcoal)}
  .hero__h-mega{
    font-size:clamp(70px,20vw,96px);
    text-shadow:3px 3px 0 var(--cream), 7px 7px 0 rgba(22,19,19,.7);
  }
  .hero__sub{font-size:15px}
  .hero__meta{
    width:100%;
    padding:10px;
    display:grid;
    gap:6px;
  }
  .marquee{transform:rotate(-1deg) scale(1.025)}
  .section-numbered::after{
    top:26px;
    font-size:84px;
  }
  .intro__copy{border-width:3px}
  .intro__media{
    margin:10px 8px 18px 0;
    box-shadow:9px 9px 0 var(--red);
  }
  .intro__sticker{
    left:-8px;
    top:-35px;
    width:92px;
    height:92px;
    font-size:11px;
    box-shadow:4px 4px 0 var(--red);
  }
  .section-head__h em{text-shadow:3px 3px 0 var(--charcoal)}
  .dish,
  .dish:nth-child(3n+1),
  .dish:nth-child(3n+2){
    transform:none;
    box-shadow:5px 5px 0 rgba(141,16,43,.45);
  }
  .dish:hover{transform:translateY(-3px)}
  .featured__rail{padding-bottom:20px}
  .feat-card,
  .feat-card:nth-child(1),
  .feat-card:nth-child(2),
  .feat-card:nth-child(odd),
  .feat-card:nth-child(even){
    transform:none;
    box-shadow:7px 7px 0 var(--red);
  }
  .drinks__h .mega{text-shadow:3px 3px 0 var(--cream)}
  .cocktail,
  .cocktail:nth-child(odd),
  .cocktail:nth-child(even){
    transform:none;
    box-shadow:5px 5px 0 var(--red);
  }
  .ig__grid{grid-template-columns:repeat(2,1fr); gap:9px}
  .ig__cell,
  .ig__cell:nth-child(1),
  .ig__cell:nth-child(2),
  .ig__cell:nth-child(5),
  .ig__cell:nth-child(6){
    grid-column:span 1;
    transform:none;
    box-shadow:4px 4px 0 var(--red);
  }
  .ig__cell:nth-child(1){grid-column:span 2}
  .find__addr{box-shadow:5px 5px 0 var(--red)}
  .map{box-shadow:8px 8px 0 var(--acid); transform:none}
  .ftr__brand{right:-70px; width:280px}
  .m-overlay__logo{width:62px; height:62px}
}

@media (max-width:420px){
  .hero__h-mega{font-size:clamp(64px,19vw,82px)}
  .drinks__cocktails{grid-template-columns:1fr}
  .cocktail{aspect-ratio:4/5}
  .find__h{font-size:clamp(58px,19vw,82px)}
}

@media (prefers-reduced-motion:reduce){
  .reveal-ready .reveal,
  .reveal-ready .reveal.is-visible{opacity:1; transform:none}
}
