:root{
  --ink:#0f0d0b; --ink-2:#1c1815; --paper:#f4ecdc; --paper-2:#eadfc8;
  --sauce:#e5361b; --sauce-d:#b8260f; --mustard:#f5b700; --basil:#2f6b3a;
  --muted:#6b6258;
  --font-display:'Tanker','Impact',sans-serif;
  --font-body:'Satoshi','Helvetica Neue',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --gutter:clamp(18px,4vw,56px);
  --sec:clamp(64px,10vw,140px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
.mono{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:13px}
.skip{position:absolute;left:-999px;top:8px;background:var(--mustard);padding:8px 12px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--mustard);outline-offset:3px}

/* grain overlay */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:900;font-size:15px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;
  background:var(--sauce);color:#fff;border:3px solid var(--ink);padding:14px 22px;box-shadow:5px 5px 0 var(--ink);cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.btn:active{transform:translate(4px,4px);box-shadow:1px 1px 0 var(--ink)}
.btn-ghost{background:var(--paper);color:var(--ink)}
.btn-sm{white-space:nowrap;padding:8px 14px;font-size:13px;box-shadow:3px 3px 0 var(--ink)}

/* nav */
.nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gutter);background:var(--ink);color:var(--paper);border-bottom:3px solid var(--sauce)}
.wordmark{font-family:var(--font-display);font-size:26px;line-height:1;text-decoration:none;letter-spacing:.02em}
.wordmark span{color:var(--sauce);margin-left:6px}
.nav nav{display:flex;align-items:center;gap:22px}
.nav nav a:not(.btn){text-decoration:none;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.nav nav a:not(.btn):hover{color:var(--mustard)}
.nav .btn-sm{border-color:var(--paper);box-shadow:3px 3px 0 var(--mustard)}

/* hero */
.hero{display:grid;grid-template-columns:1fr 1.1fr;min-height:calc(100vh - 60px);background:var(--ink);color:var(--paper)}
.hero-copy{padding:clamp(40px,7vw,96px) var(--gutter);display:flex;flex-direction:column;justify-content:center;gap:24px}
.tag{color:var(--mustard)}
.hero h1{font-family:var(--font-display);font-weight:400;font-size:clamp(72px,11vw,176px);line-height:.86;letter-spacing:.005em;text-transform:uppercase}
.hero h1 em{font-style:normal;color:var(--sauce);-webkit-text-stroke:0}
.lede{max-width:44ch;font-size:18px;color:#d9cfbe}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}
.hero .btn{border-color:var(--paper);box-shadow:5px 5px 0 var(--mustard)}
.hero .btn:hover{box-shadow:7px 7px 0 var(--mustard)}
.hero .btn-ghost{background:transparent;color:var(--paper)}
.hero-img{position:relative;overflow:hidden}
.hero-img img{width:100%;height:100%;object-fit:cover}
.sticker{position:absolute;font-family:var(--font-display);text-align:center;line-height:.9;display:grid;place-items:center}
.sticker-a{top:8%;right:7%;width:128px;height:128px;border-radius:50%;background:var(--mustard);color:var(--ink);font-size:24px;transform:rotate(12deg);border:3px solid var(--ink);animation:spin 18s linear infinite}
.sticker-b{bottom:7%;left:6%;background:var(--paper);color:var(--ink);padding:10px 14px;border:3px solid var(--ink);transform:rotate(-6deg);font-family:var(--font-mono);font-weight:700;font-size:14px;line-height:1.2;box-shadow:4px 4px 0 var(--sauce)}
@keyframes spin{from{transform:rotate(12deg)}to{transform:rotate(372deg)}}

/* ticker */
.ticker{background:var(--sauce);color:var(--ink);border-block:3px solid var(--ink);overflow:hidden;white-space:nowrap}
.ticker-track{display:inline-flex;animation:tick 30s linear infinite}
.ticker span{font-family:var(--font-display);font-size:clamp(28px,4vw,44px);padding:10px 0;letter-spacing:.03em}
@keyframes tick{to{transform:translateX(-50%)}}

/* sections */
.section-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(44px,7vw,104px);line-height:.9;letter-spacing:.01em}
.hl{background:var(--mustard);padding:0 .12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sub{margin:48px 0 16px;color:var(--sauce-d)}

.explain{padding:var(--sec) var(--gutter)}
.explain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border:3px solid var(--ink)}
.explain-item{padding:28px;border-right:3px solid var(--ink)}
.explain-item:last-child{border-right:0}
.explain-item .num{color:var(--sauce);font-weight:700;font-size:14px}
.explain-item h3{font-size:22px;font-weight:900;text-transform:uppercase;margin:8px 0 6px}
.explain-item p{color:#3d362f;max-width:34ch}

/* tour */
.tour{padding:var(--sec) var(--gutter);background:var(--paper-2);border-top:3px solid var(--ink)}
.tour-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.tour-head p{max-width:40ch;font-size:17px}
.menu{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.menu-rot{grid-template-columns:repeat(4,1fr)}
.stop{position:relative;width:100%;height:100%;text-align:left;display:flex;flex-direction:column;gap:8px;padding:22px 22px 26px;background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);cursor:pointer;font:inherit;color:inherit;transition:transform .12s,box-shadow .12s,background .15s;overflow:hidden}
.stop:hover{transform:translate(-3px,-3px) rotate(-.4deg);box-shadow:9px 9px 0 var(--sauce)}
.flag{align-self:flex-start;background:var(--ink);color:var(--paper);padding:3px 8px;font-weight:700;font-size:12px}
.name{font-family:var(--font-display);font-size:clamp(30px,3vw,40px);line-height:.95;text-transform:uppercase;margin-top:6px}
.fill{color:#3d362f;font-size:15px}
.menu-rot .name{font-size:clamp(26px,2.4vw,32px)}
.stamp{position:absolute;right:14px;top:14px;font-family:var(--font-display);font-size:24px;color:var(--sauce);border:4px double var(--sauce);padding:2px 10px;transform:rotate(8deg) scale(2.2);opacity:0;transition:transform .25s cubic-bezier(.2,1.8,.4,1),opacity .15s;pointer-events:none;background:rgba(244,236,220,.85)}
.stop[aria-pressed="true"]{background:#fff6e3}
.stop[aria-pressed="true"] .stamp{opacity:1;transform:rotate(8deg) scale(1)}

.combos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.combo{border:3px solid var(--ink);padding:22px;background:var(--paper)}
.combo strong{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(40px,4.5vw,60px);line-height:1;margin:6px 0}
.combo-hot{background:var(--sauce);color:#fff;transform:rotate(-1.2deg);box-shadow:6px 6px 0 var(--ink)}
.combo-hot .mono{color:var(--mustard)}

.bleed{border-block:3px solid var(--ink);max-height:78vh;overflow:hidden}
.bleed img{width:100%;height:78vh;object-fit:cover}

/* passport */
.passport{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center;padding:var(--sec) var(--gutter);background:var(--basil);color:var(--paper)}
.passport-copy p{font-size:18px;margin:20px 0 28px;max-width:40ch;color:#e3ebd9}
.rewards{list-style:none;display:grid;gap:12px}
.rewards li{display:flex;gap:16px;align-items:baseline;border-top:2px solid rgba(244,236,220,.35);padding-top:12px;font-weight:700;font-size:17px}
.rewards .mono{color:var(--mustard);min-width:96px}
.book{background:var(--paper);color:var(--ink);border:3px solid var(--ink);padding:24px;box-shadow:10px 10px 0 var(--ink);transform:rotate(1.5deg)}
.book-head{display:flex;justify-content:space-between;border-bottom:2px dashed var(--ink);padding-bottom:12px;font-weight:700}
.book-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:20px 0}
.slot{aspect-ratio:1;border:2px dashed #a99c88;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;font-weight:700;color:#a99c88;transition:all .2s}
.slot.on{border:3px solid var(--sauce);color:var(--sauce);background:rgba(229,54,27,.08);transform:rotate(-10deg);animation:thump .3s cubic-bezier(.2,1.8,.4,1)}
@keyframes thump{from{transform:scale(1.8) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(-10deg);opacity:1}}
.meter{height:14px;border:2px solid var(--ink);background:var(--paper-2)}
.meter span{display:block;height:100%;width:0;background:var(--sauce);transition:width .3s}
.book-msg{margin-top:14px;font-weight:700;min-height:1.6em}
.link-btn{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--muted);margin-top:8px;padding:4px 0}

/* find */
.find{display:grid;grid-template-columns:1.15fr 1fr;background:var(--ink);color:var(--paper);border-top:3px solid var(--ink)}
.find-img img{width:100%;height:100%;object-fit:cover;min-height:420px}
.find-copy{padding:var(--sec) var(--gutter);display:flex;flex-direction:column;justify-content:center;gap:20px}
.find-copy p{font-size:18px;color:#d9cfbe;max-width:38ch}
.find-copy strong{color:var(--mustard)}
.spots{list-style:none;display:grid;gap:0;margin-top:8px}
.spots li{display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:2px solid #3a332d;font-weight:700;font-size:19px;text-transform:uppercase}
.spots .mono{color:var(--sauce)}

/* booking */
.booking{padding:var(--sec) var(--gutter);background:var(--mustard)}
.booking-lede{max-width:52ch;font-size:18px;margin:20px 0 40px;font-weight:500}
.form{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px}
.form label{display:flex;flex-direction:column;gap:6px;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.06em}
.form input,.form textarea{font:inherit;font-size:16px;font-weight:500;text-transform:none;letter-spacing:0;padding:12px;border:3px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0}
.form input:focus,.form textarea:focus{outline:none;box-shadow:4px 4px 0 var(--sauce)}
.form .full{grid-column:1/-1}
.form .btn{justify-self:start}
.form-msg{font-weight:700;min-height:1.5em}
.form-msg.err{color:var(--sauce-d)}

/* footer */
.foot{background:var(--ink);color:var(--paper);padding:56px var(--gutter) 40px;border-top:3px solid var(--sauce)}
.foot-word{font-family:var(--font-display);font-size:clamp(48px,12vw,180px);line-height:.85;letter-spacing:.01em;overflow-wrap:anywhere}
.foot-word span{color:var(--sauce);display:block}
.foot p{margin-top:24px;color:#a99c88;max-width:60ch;text-transform:none;letter-spacing:0;font-size:13px}

/* responsive */
@media (max-width:960px){
  .hero,.passport,.find{grid-template-columns:1fr}
  .hero{min-height:auto}
  .hero-img{aspect-ratio:4/3}
  .menu{grid-template-columns:repeat(2,1fr)}
  .menu-rot{grid-template-columns:repeat(2,1fr)}
  .combos{grid-template-columns:1fr}
  .combo-hot{transform:none}
  .find-img{order:2}
  .form{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .nav nav a:not(.btn){display:none}
  .wordmark{font-size:22px}
  .hide-sm{display:none}
  .explain-grid{grid-template-columns:1fr}
  .explain-item{border-right:0;border-bottom:3px solid var(--ink)}
  .explain-item:last-child{border-bottom:0}
  .menu,.menu-rot{grid-template-columns:1fr}
  .book{transform:none;box-shadow:6px 6px 0 var(--ink)}
  .form{grid-template-columns:1fr}
  .bleed img{height:52vh}
  .sticker-a{width:96px;height:96px;font-size:18px}
}

/* flavor of the month */
.monthly{padding:var(--sec) var(--gutter);background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,5vw,72px);align-items:start;border-top:3px solid var(--ink)}
.monthly-kicker{color:var(--mustard);margin-bottom:16px}
.monthly-lede{font-size:18px;color:#d9cfbe;max-width:40ch;margin-top:20px}
.fotm{position:relative;background:var(--sauce);color:#fff;border:3px solid var(--paper);box-shadow:10px 10px 0 var(--mustard);padding:clamp(24px,3vw,40px);transform:rotate(-1deg);display:flex;flex-direction:column;gap:14px}
.fotm-badge{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:700;border-bottom:2px dashed rgba(255,255,255,.6);padding-bottom:12px}
.fotm-badge span:last-child{background:var(--ink);color:var(--mustard);padding:2px 8px}
.fotm-flag{background:var(--ink);color:var(--paper)}
.fotm-name{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(52px,7vw,104px);line-height:.88;padding-right:110px}
.fotm-fill{font-size:18px;max-width:40ch;font-weight:500}
.fotm-btn{align-self:flex-start;background:var(--paper);color:var(--ink);border-color:var(--ink)}
.fotm-btn[aria-pressed="true"]{background:var(--mustard)}
.fotm-sticker{position:absolute;top:76px;right:20px;width:96px;height:96px;border-radius:50%;background:var(--mustard);color:var(--ink);border:3px solid var(--ink);font-family:var(--font-display);font-size:20px;line-height:.95;display:grid;place-items:center;text-align:center;transform:rotate(14deg)}
.upcoming{grid-column:1/-1}
.upcoming .sub{color:var(--mustard);margin-top:8px}
.upcoming-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.up-item{border:3px solid var(--paper);padding:20px;display:flex;flex-direction:column;gap:6px;background:var(--ink-2)}
.up-month{color:var(--sauce);font-weight:700}
.up-name{font-family:var(--font-display);font-size:clamp(30px,3vw,40px);line-height:.95;text-transform:uppercase}
.up-fill{color:#bfb4a3;font-size:15px}

/* social */
.social{padding:var(--sec) var(--gutter);background:var(--paper);border-top:3px solid var(--ink)}
.social-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.social-head p{max-width:40ch;font-size:17px}
.social-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.social-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:3px solid var(--ink);background:var(--paper);box-shadow:6px 6px 0 var(--ink);text-decoration:none;transition:transform .12s,box-shadow .12s,background .15s}
.social-card svg{width:44px;height:44px}
.social-card:hover{transform:translate(-3px,-3px) rotate(-.6deg);box-shadow:9px 9px 0 var(--sauce);background:var(--mustard)}
.social-name{font-family:var(--font-display);font-size:34px;line-height:1;text-transform:uppercase}
.social-handle{color:var(--muted);font-size:12px;text-transform:none;overflow-wrap:anywhere;min-width:0}
.social-tag{margin-top:32px;color:var(--ink)}
.social-tag strong{background:var(--ink);color:var(--mustard);padding:2px 6px}
.find-copy a{color:var(--mustard)}
.foot-social{display:flex;gap:12px;margin-top:28px}
.foot-social a{width:46px;height:46px;display:grid;place-items:center;border:2px solid var(--paper);color:var(--paper);transition:background .15s,color .15s}
.foot-social a:hover{background:var(--sauce);border-color:var(--sauce)}
.foot-social svg{width:22px;height:22px}

@media (max-width:960px){
  .monthly{grid-template-columns:1fr}
  .upcoming-list{grid-template-columns:1fr}
  .social-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .fotm{transform:none;box-shadow:6px 6px 0 var(--mustard)}
  .fotm-name{padding-right:0}
  .fotm-sticker{width:76px;height:76px;font-size:16px;top:auto;bottom:20px;right:16px}
  .social-grid{grid-template-columns:1fr;gap:14px}
  .social-card{padding:16px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:2px;align-items:center}
  .social-card svg{grid-row:1/3;width:38px;height:38px}
  .social-name{font-size:28px}
}


/* permanent grid: classic spans 2 */
.menu-perm li:first-child{grid-column:span 2}
/* desserts */
.menu-sweet .stop{background:#fff1ec}
.menu-sweet .flag{background:var(--sauce)}
.zeppole{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-top:28px;padding:24px 28px;background:var(--mustard);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.zep-badge{width:112px;height:112px;border-radius:50%;background:var(--sauce);color:#fff;border:3px solid var(--ink);display:grid;place-items:center;font-family:var(--font-display);font-size:38px;transform:rotate(-12deg);animation:wobble 2.4s ease-in-out infinite}
@keyframes wobble{50%{transform:rotate(8deg) scale(1.06)}}
.zep-kicker{color:var(--sauce-d);font-weight:700}
.zep-name{font-family:var(--font-display);font-weight:400;font-size:clamp(44px,5vw,72px);line-height:.9;text-transform:uppercase;margin:4px 0 6px}
.zep-copy p:last-child{max-width:52ch;font-weight:500}
.zep-btn{white-space:nowrap}
@media (max-width:960px){.zeppole{grid-template-columns:auto 1fr}.zep-btn{grid-column:1/-1;justify-self:start}}
@media (max-width:640px){.menu-perm li:first-child{grid-column:auto}.zeppole{grid-template-columns:1fr;gap:16px}.zep-badge{width:84px;height:84px;font-size:28px}}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
section[id],#combos{scroll-margin-top:70px}

/* Natural drinks */
.drinks{margin-top:64px}
.drinks-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px 32px;flex-wrap:wrap;margin-bottom:16px}
.drinks-head .sub{margin:0;color:var(--basil)}
.drinks-note{max-width:46ch;font-size:16px}
.drink-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.drink{display:flex;flex-direction:column;background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);overflow:hidden;transition:transform .12s,box-shadow .12s}
.drink:hover{transform:translate(-3px,-3px) rotate(.4deg);box-shadow:9px 9px 0 var(--basil)}
.drink-img{margin:0;border-bottom:3px solid var(--ink);background:#f4ecdc;aspect-ratio:6/5;overflow:hidden}
.drink-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.drink-body{position:relative;display:flex;flex-direction:column;gap:8px;padding:18px 20px 22px;flex:1}
.drink-body .flag{background:var(--basil)}
.drink-name{font-family:var(--font-display);font-weight:400;font-size:clamp(26px,2.4vw,32px);line-height:.95;text-transform:uppercase;margin-top:4px;padding-right:92px}
.drink-price{position:absolute;top:14px;right:16px;background:var(--mustard);border:3px solid var(--ink);padding:4px 10px;font-family:var(--font-display);font-size:24px;line-height:1;transform:rotate(3deg);box-shadow:3px 3px 0 var(--ink)}
.drinks-extra{margin-top:24px;color:var(--muted);font-weight:700}
#drinks{scroll-margin-top:70px}
@media (max-width:960px){.drink-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.drink-list{grid-template-columns:1fr}.drink-name{padding-right:0}.drink-price{position:static;align-self:flex-start;transform:rotate(-2deg);margin-top:4px}}
@media (prefers-reduced-motion:reduce){.drink,.drink:hover{transition:none;transform:none}}

/* Lunch combo + 4-up combos */
.combos{grid-template-columns:repeat(4,1fr)}
.combo-lunch{background:var(--basil);color:var(--paper)}
.combo-lunch .mono{color:var(--mustard)}
.full-menu-cta{margin-top:28px}
.nav-menu{color:var(--mustard)}
@media (max-width:1100px){.combos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.combos{grid-template-columns:1fr}.nav nav a.nav-menu{display:inline-block}}

/* Full menu page */
.menu-page main{background:var(--paper-2)}
.mhero{padding:clamp(48px,7vw,96px) var(--gutter) 32px;background:var(--ink);color:var(--paper);border-bottom:3px solid var(--sauce)}
.mhero-kicker{color:var(--mustard);font-weight:700}
.mhero-title{font-family:var(--font-display);font-weight:400;font-size:clamp(64px,11vw,150px);line-height:.85;text-transform:uppercase;margin:10px 0 14px}
.mhero-lede{max-width:56ch;font-size:18px;color:#e9dfcb}
.mjump{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.mjump a{font-family:var(--font-mono);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;padding:8px 12px;border:2px solid var(--paper);color:var(--paper)}
.mjump a:hover{background:var(--mustard);color:var(--ink);border-color:var(--mustard)}
.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;padding:48px var(--gutter) 24px;align-items:start}
.mcard{background:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:26px clamp(18px,2.4vw,32px) 28px;scroll-margin-top:80px}
.mcard-wide{grid-column:1/-1}
.mcard-title{font-family:var(--font-display);font-weight:400;font-size:clamp(38px,4vw,56px);line-height:.9;text-transform:uppercase}
.mcard-sub{color:var(--sauce-d);font-weight:700;margin:6px 0 18px}
.mcard-month{background:var(--mustard)}
.mcard-month .mcard-sub{color:var(--ink)}
.mcard-month .mrow-dots{border-color:var(--ink)}
.mcard-sweet{background:#fff1ec}
.mcard-sweet .flag{background:var(--sauce)}
.mlist{list-style:none;display:flex;flex-direction:column;gap:16px}
.mrow-main{display:flex;align-items:baseline;gap:10px}
.mrow-main .flag{flex:none;align-self:center}
.mrow-name{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1;text-transform:uppercase}
.mrow-dots{flex:1;min-width:16px;border-bottom:3px dotted var(--muted);transform:translateY(-5px)}
.mrow-price{font-family:var(--font-display);font-size:clamp(22px,2vw,28px);line-height:1;white-space:nowrap}
.mrow-desc{color:#3d362f;font-size:15px;margin-top:4px}
.mrow-free .mrow-price{background:var(--sauce);color:#fff;padding:3px 8px;border:2px solid var(--ink);transform:rotate(-3deg)}
.mnext{margin-top:18px;font-weight:700}
.mcombo{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mcombo li{border:3px solid var(--ink);padding:18px;background:var(--paper)}
.mcombo strong{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(34px,3.4vw,48px);line-height:1;margin:6px 0}
.mcombo .hot{background:var(--sauce);color:#fff}.mcombo .hot .mono{color:var(--mustard)}
.mcombo .lunch{background:var(--basil);color:var(--paper)}.mcombo .lunch .mono{color:var(--mustard)}
.mdips{margin-top:18px;color:var(--muted)}
.mdips strong{color:var(--ink)}
.dlist{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:18px 32px}
.drow{display:flex;gap:16px;align-items:center}
.drow img{width:96px;height:96px;flex:none;object-fit:cover;object-position:center 30%;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#f4ecdc}
.drow-body{flex:1;min-width:0}
.drow .flag{background:var(--basil)}
.mlist-water{margin-top:26px;padding-top:20px;border-top:3px solid var(--ink)}
.mlist-water .flag{background:var(--muted)}
.mfine{padding:8px var(--gutter) 56px;color:var(--muted);max-width:90ch}
@media (max-width:1100px){.mcombo{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.mgrid{grid-template-columns:1fr}.dlist{grid-template-columns:1fr}}
@media (max-width:600px){.mrow-main{display:grid;grid-template-columns:1fr auto;column-gap:12px;row-gap:6px;align-items:end}.mrow-main .flag{grid-column:1/-1;justify-self:start}.mrow-dots{display:none}.mrow-price{align-self:end}}
@media (max-width:480px){.mcombo{grid-template-columns:1fr}.drow{align-items:flex-start}.drow img{width:76px;height:76px}}
@media (max-width:960px){.nav nav{gap:16px}.hide-sm{display:none}}
@media (max-width:760px){.nav nav{gap:12px}.nav nav a:not(.btn){font-size:12px;letter-spacing:.03em}}
@media (max-width:380px){.nav{gap:10px}.wordmark{font-size:19px}.wordmark span{margin-left:4px}.nav .btn-sm{padding:7px 10px}}

/* Hero kitchen video */
.hero{position:relative;grid-template-columns:1fr;overflow:hidden;min-height:calc(100vh - 60px)}
.hero-media{position:absolute;inset:0;margin:0}
.hero-video{width:100%;height:100%;object-fit:cover;object-position:62% 50%;display:block;background:var(--ink)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,13,11,.94) 0%,rgba(15,13,11,.82) 34%,rgba(15,13,11,.25) 62%,rgba(15,13,11,0) 80%),linear-gradient(0deg,rgba(15,13,11,.55),rgba(15,13,11,0) 30%);pointer-events:none}
.hero-copy{position:relative;z-index:2;max-width:min(720px,60vw)}
.hero-media .sticker{z-index:2}
.hero-media .sticker-b{left:auto;right:calc(var(--gutter) + 150px);bottom:110px}
.vid-ctrl{position:absolute;right:var(--gutter);bottom:44px;z-index:3;display:flex;gap:10px}
.vid-btn{background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--mustard);padding:8px 12px;font-weight:700;cursor:pointer}
.vid-btn:hover{background:var(--mustard)}
.vid-btn[aria-pressed="true"]{background:var(--mustard)}
.vid-credit{position:absolute;right:var(--gutter);bottom:12px;z-index:3;font-size:10px;color:rgba(244,236,220,.75);text-transform:none;letter-spacing:0}
.vid-credit a{color:inherit}
@media (max-width:960px){
  .hero{display:flex;flex-direction:column;min-height:auto}
  .hero-media{position:relative;inset:auto;aspect-ratio:16/9;order:-1;border-bottom:3px solid var(--sauce)}
  .hero-video{object-position:50% 50%}
  .hero-shade{background:linear-gradient(0deg,rgba(15,13,11,.6),rgba(15,13,11,0) 40%)}
  .hero-copy{max-width:none}
  .vid-ctrl{bottom:30px;right:12px}
  .vid-credit{right:12px;bottom:8px}
  .hero-media .sticker-b{left:6%;right:auto;bottom:12%}
}
@media (max-width:640px){.hero-media .sticker{display:none}.vid-btn{padding:6px 9px;font-size:11px}.vid-credit{font-size:9px}}

/* Menu rows with meal photos */
.mrow.has-img{display:flex;gap:16px;align-items:center}
.mrow.has-img > img{width:104px;height:104px;flex:none;object-fit:cover;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#f4ecdc;transition:transform .15s}
.mrow.has-img:hover > img{transform:rotate(-3deg) scale(1.04)}
.mrow-body{flex:1;min-width:0}
.mcard-month .mrow.has-img > img{width:140px;height:140px;box-shadow:4px 4px 0 var(--sauce)}
.mrow-price small{font-family:var(--font-body);font-size:13px;font-weight:700;margin-left:2px}

/* Lunch programs (menu page) */
.mcard-lunch{background:var(--basil);color:var(--paper);box-shadow:6px 6px 0 var(--ink)}
.mcard-lunch .mcard-sub{color:var(--mustard)}
.mcard-lunch .mrow-desc{color:#e3eadf}
.mcard-lunch .mrow-dots{border-color:rgba(244,236,220,.5)}
.mcard-lunch .flag{background:var(--mustard);color:var(--ink)}
.lunch-grid{display:grid;grid-template-columns:minmax(240px,.8fr) 1.2fr;gap:clamp(20px,3vw,40px);align-items:center}
.lunch-img{position:relative;margin:0;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--mustard);background:#f4ecdc}
.lunch-img img{width:100%;aspect-ratio:1/1;object-fit:cover}
.lunch-sticker{position:absolute;top:-18px;right:-14px;width:96px;height:96px;border-radius:50%;background:var(--sauce);color:#fff;border:3px solid var(--ink);display:grid;place-items:center;text-align:center;font-family:var(--font-display);font-size:22px;line-height:.9;transform:rotate(10deg)}
.lunch-list{list-style:none;display:flex;flex-direction:column;gap:18px;margin-top:4px}
.lunch-item{padding-bottom:16px;border-bottom:2px dashed rgba(244,236,220,.35)}
.lunch-btn{margin-top:10px;background:var(--mustard);color:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.lunch-btn:hover{background:var(--paper)}
.lunch-punch{margin-top:16px;padding:12px 14px;background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--sauce);font-size:15px}

/* Lunch band (homepage) */
.lunch-band{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;margin-top:40px;padding:22px 28px;background:var(--basil);color:var(--paper);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}
.lunch-band img{width:120px;height:120px;object-fit:cover;border:3px solid var(--ink);transform:rotate(-4deg);box-shadow:4px 4px 0 var(--mustard)}
.lunch-band .zep-kicker{color:var(--mustard)}
.lunch-band-copy p:last-child{max-width:56ch;font-weight:500}
.lunch-band .btn{white-space:nowrap;background:var(--mustard);color:var(--ink);border-color:var(--ink)}
@media (max-width:960px){.lunch-band{grid-template-columns:auto 1fr}.lunch-band .btn{grid-column:1/-1;justify-self:start}}
@media (max-width:860px){.lunch-grid{grid-template-columns:1fr}.lunch-img{max-width:420px}}
@media (max-width:640px){.lunch-band{grid-template-columns:1fr;gap:16px}.lunch-band img{width:96px;height:96px}}
@media (max-width:480px){.mrow.has-img{align-items:flex-start;gap:12px}.mrow.has-img > img{width:76px;height:76px}.mcard-month .mrow.has-img > img{width:96px;height:96px}.lunch-sticker{width:76px;height:76px;font-size:18px;right:-6px}}
.hero h1{font-size:clamp(58px,8.4vw,130px)}

/* Clean highlight (no overlap with the line above) */
.hl{background:linear-gradient(transparent 58%,var(--mustard) 58%,var(--mustard) 90%,transparent 90%);padding:0 .06em}
.booking .section-title{line-height:.95}
.booking .hl{background:none;color:var(--sauce-d);padding:0}
.slogan-kicker{display:inline-block;margin-bottom:18px;padding:6px 12px;background:var(--ink);color:var(--mustard);font-weight:700;font-size:14px;transform:rotate(-1.5deg)}
.foot .foot-slogan{font-family:var(--font-display);font-size:clamp(28px,4vw,56px);line-height:1;text-transform:uppercase;color:var(--paper);margin-top:18px;max-width:none;letter-spacing:.01em}
.foot-slogan em{font-style:normal;color:var(--mustard)}
