/* =========================================================================
   ChilChil Thai Street Kitchen — house design system (demo build)
   Encoded VERBATIM from the "ChilChil hero directions" design export:
   _ds/chilchil-design-system-a3717347-.../tokens/{colors,typography,spacing,effects}.css
   Fonts: SELF-HOSTED substitutes (Anton / Work Sans / Caveat), committed to
   assets/fonts/ via the @font-face rules below — no Google Fonts CDN links,
   so the demo stays fully self-contained. The brand's wordmark face is a
   custom script; real files to be supplied by the owner.
   ========================================================================= */

/* ---------- committed fonts (latin subsets; Work Sans + Caveat are variable) ---------- */
@font-face{font-family:'Anton';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/anton-400.woff2') format('woff2')}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/work-sans-400-700.woff2') format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600 700;font-display:swap;src:url('../fonts/caveat-600-700.woff2') format('woff2')}

/* ---------- tokens/colors.css (verbatim) ---------- */
:root{
/* — Brand core (sampled from provided photos/logo where noted) — */
--chilli-red:#E2262D; /* primary; sampled: logo #DF2A3D, storefront sign #E51E21 */
--chilli-red-hover:#C91E24;
--chilli-red-deep:#A31418; /* pressed / dark accents */
--saffron:#E17124; /* observed: storefront fascia stripe, banquette leather */
--saffron-hover:#C95F17;
--ink:#101011; /* observed: logo banner black */
--charcoal:#2B2A28; /* cement/industrial fit-out (recommended) */
--terracotta:#B5502F; /* exposed brick + wood (recommended) */
--basil:#3E6B3A; /* thai basil / green enamel plate (recommended) */
--basil-bright:#5C9455;
--porcelain:#2F5C8F; /* blue-white thai porcelain plate — rare support */
/* — Warm neutral ramp (charcoal → enamel cream) — */
--neutral-950:#201D1A;
--neutral-900:#2B2A28;
--neutral-800:#3B3833;
--neutral-700:#4F4A43;
--neutral-600:#6B645A;
--neutral-500:#877E71;
--neutral-400:#A49A8B;
--neutral-300:#C2B8A8;
--neutral-200:#DDD3C2;
--neutral-100:#EFE7D8;
--cream:#FAF3E7; /* enamelware / awning canvas */
--white-warm:#FFFDF8;
/* — Semantic aliases — */
--surface-page:var(--neutral-950);
--surface-card:var(--neutral-900);
--surface-raised:var(--neutral-800);
--surface-paper:var(--cream); /* menus, price lists (enamel-plate light surface) */
--surface-accent:var(--chilli-red);
--text-primary:var(--cream);
--text-secondary:var(--neutral-300);
--text-muted:var(--neutral-500);
--text-on-paper:var(--ink);
--text-on-paper-muted:#6B5F4E;
--text-on-accent:var(--white-warm);
--accent:var(--chilli-red);
--accent-hover:var(--chilli-red-hover);
--accent-2:var(--saffron);
--link:var(--saffron);
--link-hover:#F08A42;
--border-subtle:rgba(250,243,231,.14);
--border-strong:rgba(250,243,231,.28);
--border-on-paper:rgba(16,16,17,.18);
--success:var(--basil-bright);
--warning:var(--saffron);
--danger:#FF5A50; /* also: small red labels on dark surfaces (5.3:1; #E2262D fails at 3.6:1) */
--info:#6E9BC9;
--focus-ring:0 0 0 2px var(--neutral-950),0 0 0 4px var(--saffron);
/* — Build-declared extras (this demo; not in the export tokens) — */
--wa-green:#1FA855; /* WhatsApp brand-adjacent green, sticky-bar CTA (ink text on it: 6.1:1) */
--bulb:#FFD9A0; /* festoon bulb fill (from the export's bulb strings) */
--bulb-glow:#FFC97E; /* festoon bulb glow (from the export's bulb strings) */
}

/* ---------- tokens/typography.css (verbatim vars) ---------- */
:root{
--font-display:'Anton',system-ui,sans-serif; /* poster/headline: condensed caps, market-sign energy */
--font-body:'Work Sans',system-ui,sans-serif;
--font-accent:'Caveat',cursive; /* handwritten "chill" touches only — never body copy */
--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;
--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--text-5xl:64px;--text-6xl:88px;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
--display-transform:uppercase;
--display-tracking:.015em;
--display-leading:.98;
--body-leading:1.55;
--eyebrow-tracking:.22em;
}

/* ---------- tokens/spacing.css (verbatim) ---------- */
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;
--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
--border-w:1px;--border-w-strong:2px;
--container-max:1200px;--container-pad:24px;
}

/* ---------- tokens/effects.css (verbatim) ---------- */
:root{
--shadow-card:0 1px 2px rgba(16,16,17,.5),0 6px 18px rgba(16,16,17,.35);
--shadow-pop:0 8px 32px rgba(16,16,17,.55);
--shadow-paper:0 2px 10px rgba(43,32,20,.22);
--glow-chilli:0 0 10px rgba(226,38,45,.55),0 0 28px rgba(226,38,45,.3);
--glow-saffron:0 0 10px rgba(225,113,36,.5),0 0 26px rgba(225,113,36,.28);
--glow-text:0 0 6px rgba(255,120,110,.65),0 0 18px rgba(226,38,45,.45);
--ease-out:cubic-bezier(.2,.7,.3,1);
--dur-fast:120ms;
--dur-base:200ms;
--dur-slow:320ms;
--scrim-bottom:linear-gradient(180deg,rgba(16,16,17,0) 40%,rgba(16,16,17,.82) 100%);
--scrim-full:rgba(16,16,17,.45);
}

/* ========================= base ========================= */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--body-leading);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--link);text-decoration:none}
a:hover{color:var(--link-hover)}
a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}
h1,h2,h3,h4{margin:0}
p{margin:0}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--cream);color:var(--ink);padding:10px 16px;z-index:100;border-radius:0 0 var(--radius-sm) 0}
.skip-link:focus{left:0}
.container{max-width:var(--container-max);margin:0 auto;width:100%;padding-left:var(--container-pad);padding-right:var(--container-pad)}

/* neon flicker (from the export) */
@keyframes ccNeon{0%,100%{box-shadow:0 0 10px rgba(226,38,45,.55),0 0 28px rgba(226,38,45,.3)}8%{box-shadow:0 0 5px rgba(226,38,45,.3),0 0 14px rgba(226,38,45,.15)}11%{box-shadow:0 0 12px rgba(226,38,45,.65),0 0 32px rgba(226,38,45,.38)}54%{box-shadow:0 0 8px rgba(226,38,45,.48),0 0 22px rgba(226,38,45,.24)}}

/* ==================== type helpers ==================== */
.display{font-family:var(--font-display);font-weight:400;line-height:var(--display-leading);letter-spacing:var(--display-tracking);text-transform:uppercase;color:var(--cream)}
.eyebrow{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--saffron)}
.caveat{font-family:var(--font-accent);font-weight:600;color:var(--saffron);display:inline-block;transform:rotate(-2deg)}
.icon{flex:none;display:inline-block;vertical-align:-2px}

/* ==================== Button (from _ds_bundle Button.jsx; primary fill
   darkened one step, #C91E24, so 13–15px white labels pass 4.5:1) ==================== */
.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:2px solid transparent;border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);text-decoration:none;white-space:nowrap}
.cc-btn:active{transform:translateY(1px)}
.cc-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.cc-btn--sm{height:32px;padding:0 14px;font-size:12px}
.cc-btn--md{height:44px;padding:0 20px;font-size:13px}
.cc-btn--lg{height:52px;padding:0 28px;font-size:15px}
.cc-btn--primary{background:var(--chilli-red-hover);color:var(--text-on-accent)}
.cc-btn--primary:hover{background:var(--chilli-red-deep);box-shadow:var(--glow-chilli);color:var(--text-on-accent)}
.cc-btn--secondary{background:transparent;color:var(--cream);border-color:var(--border-strong)}
.cc-btn--secondary:hover{border-color:var(--cream);background:rgba(250,243,231,.06);color:var(--cream)}
.cc-btn--wa{background:var(--wa-green);color:var(--ink)}
.cc-btn--wa:hover{background:#178B45;color:var(--ink)} /* --wa-green darkened hover */
.cc-btn--block{width:100%}

/* ==================== Badge (from _ds_bundle Badge.jsx) ==================== */
.cc-badge{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.cc-badge--neon{background:rgba(226,38,45,.12);color:#FF6B62;border:1px solid rgba(226,38,45,.55);box-shadow:var(--glow-chilli);text-shadow:0 0 8px rgba(255,107,98,.6)} /* #FF6B62: neon tube tint from the export's Badge */

/* ==================== Card (from _ds_bundle Card.jsx; image-zoom hover) ==================== */
.cc-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;font-family:var(--font-body);color:var(--text-primary);transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.cc-card--interactive:hover{transform:translateY(-3px);border-color:var(--border-strong)}
.cc-card__media{position:relative;aspect-ratio:4/3;overflow:hidden}
.cc-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease-out)}
.cc-card--interactive:hover .cc-card__media img{transform:scale(1.04)}
.cc-card__body{padding:var(--space-5)}

/* ==================== nav ==================== */
.cc-nav{position:sticky;top:0;z-index:50;background:rgba(32,29,26,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:4px solid var(--saffron);border-bottom:1px solid var(--border-subtle)}
.cc-nav__in{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-pad);display:flex;align-items:center;gap:24px;height:76px}
.cc-nav__logo{display:flex;align-items:center;text-decoration:none}
.cc-nav__logo img{height:48px;width:auto;display:block;filter:drop-shadow(0 2px 8px rgba(16,16,17,.6));transition:transform var(--dur-base) var(--ease-out)}
.cc-nav__logo:hover img{transform:translateY(-1px)}
.cc-nav__links{display:flex;gap:10px;flex:1;justify-content:center;align-items:center}
.cc-nav__link{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:9px 14px;border-radius:var(--radius-pill);display:inline-block;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}
.cc-nav__link:hover{color:var(--cream);background:rgba(250,243,231,.07);transform:rotate(-2deg)}
.cc-nav__link--active{font-weight:700;color:var(--white-warm);padding:9px 16px;background:var(--chilli-red-hover);transform:rotate(-2deg);box-shadow:var(--shadow-card)}
.cc-nav__link--active:hover{color:var(--white-warm);background:var(--chilli-red-hover)}
.neon-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--chilli-red);border-radius:var(--radius-pill);padding:8px 15px;color:var(--cream);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;box-shadow:var(--glow-chilli);animation:ccNeon 4.5s linear infinite;white-space:nowrap}
.neon-pill__dot{width:7px;height:7px;border-radius:50%;background:var(--chilli-red);box-shadow:0 0 8px rgba(226,38,45,.9)}

/* festoon bulb strings */
.cc-bulbs{display:flex;justify-content:space-between;padding:0 12px;pointer-events:none;list-style:none;margin:0}
.cc-bulbs span{width:6px;height:6px;border-radius:50%;background:var(--bulb);box-shadow:0 0 8px var(--bulb-glow);opacity:.95}
.cc-bulbs span:nth-child(even){margin-top:3px;opacity:.7}
.cc-bulbs--nav{position:absolute;left:0;right:0;bottom:-4px}
.cc-bulbs--footer{justify-content:center;gap:38px;padding:18px 0 0}
.cc-bulbs--footer span{width:8px;height:8px;box-shadow:0 0 10px var(--bulb-glow);opacity:.9}
.cc-bulbs--footer span:nth-child(even){margin-top:7px;opacity:.75}

/* hamburger + drawer (hide-in-place: opacity/visibility, never translateX) */
.cc-nav__toggle{display:none;margin-left:auto;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--cream);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:9px 13px;cursor:pointer;align-items:center;gap:8px}
.cc-nav__toggle .bars{display:inline-flex;flex-direction:column;gap:3px}
.cc-nav__toggle .bars span{display:block;width:16px;height:2px;background:var(--cream);border-radius:1px}
.nav-backdrop{position:fixed;inset:0;background:rgba(16,16,17,.6);z-index:59;opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out),visibility var(--dur-base) var(--ease-out)}
.nav-backdrop[data-open="true"]{opacity:1;visibility:visible}
.nav-drawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--neutral-950);border-left:1px solid var(--border-strong);z-index:60;padding:20px 22px 28px;display:flex;flex-direction:column;gap:6px;opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-out),visibility var(--dur-base) var(--ease-out);overflow-y:auto}
.nav-drawer[data-open="true"]{opacity:1;visibility:visible}
.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.drawer-head img{height:40px;width:auto}
.drawer-close{background:none;border:none;color:var(--cream);font-size:30px;line-height:1;cursor:pointer;padding:4px 10px}
.drawer-link{display:block;font-size:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:13px 6px;border-bottom:1px solid var(--border-subtle)}
.drawer-link:hover{color:var(--cream)}
.drawer-link[aria-current="page"]{color:var(--white-warm)}
.drawer-cta{margin-top:18px;display:flex;flex-direction:column;gap:12px}
.drawer-note{font-size:12px;color:var(--neutral-400);margin:0}

/* ==================== hero ==================== */
.hero{position:relative;height:calc(100vh - 76px);min-height:640px;max-height:880px;overflow:hidden}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,16,17,.5) 0%,rgba(16,16,17,.16) 34%,rgba(16,16,17,.92) 100%)}
.hero__content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end}
.hero__inner{max-width:var(--container-max);margin:0 auto;width:100%;padding:0 var(--container-pad) 132px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero__eyebrow{font-size:var(--text-sm);font-weight:600;letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--saffron);text-shadow:0 1px 12px rgba(16,16,17,.95),0 0 4px rgba(16,16,17,.8)}
.hero__title{font-size:clamp(46px,7.5vw,88px);text-wrap:balance}
.hero__lede{font-size:var(--text-lg);color:var(--neutral-200);max-width:560px;text-wrap:pretty}
.hero__actions{display:flex;align-items:center;gap:26px;margin-top:6px;flex-wrap:wrap}
.hero__aside{font-size:26px}
.hero__meta{font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--saffron);text-shadow:0 1px 12px rgba(16,16,17,.95),0 0 4px rgba(16,16,17,.8)}

/* price ticker — its own horizontally scrollable strip; the page never scrolls sideways */
.ticker{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:28px;padding:17px 48px;background:rgba(16,16,17,.85);border-top:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none}
.ticker::-webkit-scrollbar{display:none}
.ticker span{display:flex;gap:10px;align-items:baseline;white-space:nowrap;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--neutral-300)}
.ticker b{color:var(--saffron);font-size:var(--text-sm)}
.ticker span:first-child{margin-left:auto}
.ticker span:last-child{margin-right:auto}

/* ==================== sections ==================== */
.section{max-width:var(--container-max);margin:0 auto;width:100%;padding:112px var(--container-pad) 0}
.section--center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.section--head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:96px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.split--flip{grid-template-columns:.95fr 1.05fr}
.split__copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.split__img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.h-xl{font-size:clamp(40px,6vw,76px)}
.h-lg{font-size:clamp(36px,5.5vw,72px)}
.h-md{font-size:clamp(32px,4.5vw,54px)}
.h-sm{font-size:clamp(28px,4vw,46px)}
.h-band{font-size:clamp(28px,4vw,44px)}
.lede{font-size:17px;color:var(--text-secondary);max-width:560px;text-wrap:pretty}
.body-copy{font-size:16.5px;color:var(--text-secondary);max-width:480px;text-wrap:pretty}
.text-link{font-size:15px;font-weight:600;color:var(--link)}
.text-link:hover{color:var(--link-hover)}

.section--center .h-sm{max-width:780px}
.accent-num{color:var(--saffron)}
.sup-pp{font-family:var(--font-body);font-size:26px;font-weight:600;color:var(--neutral-500);vertical-align:super} /* 26px semibold = large text; 3.55:1 passes the 3:1 large-text bar */
.press-copy{font-size:var(--text-base);color:var(--text-secondary);max-width:620px;text-wrap:pretty}
.press-band__in h2{max-width:820px;text-wrap:balance}

/* enamel paper surface (cream + 3px chilli rim, dashed dividers) */
.paper{background:var(--surface-paper);border:3px solid var(--chilli-red);border-radius:var(--radius-lg);box-shadow:var(--shadow-paper);color:var(--text-on-paper)}
.paper__divider{border:0;border-top:2px dashed rgba(16,16,17,.25);margin:0}
.sticker{position:absolute;top:-24px;right:-16px;z-index:2;transform:rotate(7deg);background:var(--chilli-red-hover);color:var(--white-warm);border-radius:var(--radius-sm);padding:10px 16px;text-align:center;font-family:var(--font-display);font-size:17px;line-height:1.15;letter-spacing:.06em;text-transform:uppercase}

/* signature plate card (Home) */
.plate-wrap{position:relative;transform:rotate(-1.5deg);max-width:440px;justify-self:end;width:100%}
.plate{padding:30px 34px;display:flex;flex-direction:column;gap:14px}
.plate__head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.plate__no{font-size:11px;font-weight:600;letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-on-paper-muted)}
.plate__name{font-family:var(--font-display);font-size:36px;line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--text-on-paper)}
.plate__rows{display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm);line-height:1.5;color:var(--text-on-paper)}
.plate__foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.plate__price{font-family:var(--font-display);font-size:30px;color:var(--text-on-paper)}
.plate__pp{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-on-paper-muted)}
.plate__aside{font-size:19px;color:var(--saffron-hover)}
.plate__amt{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.maxw-460{max-width:460px}
.maxw-540{max-width:540px}
.section--tight{padding-top:64px}

/* signature copy price row */
.sig-price{display:flex;align-items:baseline;gap:18px}
.sig-price__chillies{font-size:19px;letter-spacing:2px}
.sig-price__amt{font-family:var(--font-display);font-size:26px;letter-spacing:.02em;color:var(--saffron)}
.sig-price__pp{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--neutral-400)}

/* ==================== menu page ==================== */
.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:64px}
.dish-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.dish-top .name{font-weight:600;font-size:var(--text-base)}
.dish-top .price{color:var(--saffron);font-weight:700;font-size:var(--text-base)}
.dish-desc{margin:6px 0 10px;font-size:13.5px;color:var(--neutral-400);line-height:1.5}
.dish-tags{display:flex;gap:10px;align-items:center}
.tag-sig{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--danger)}
.spice{font-size:13px;letter-spacing:2px}

.menu-paper-wrap{max-width:960px;margin:0 auto;width:100%;padding:88px var(--container-pad) 0}
.menu-paper{padding:44px 48px 36px;display:flex;flex-direction:column;gap:26px}
.menu-paper__head{display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}
.menu-paper__eyebrow{font-size:11px;font-weight:600;letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-on-paper-muted)}
.menu-paper__aside{font-family:var(--font-accent);font-weight:600;font-size:22px;color:var(--text-on-paper-muted);transform:rotate(-1.5deg)}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:36px 56px}
.menu-col{display:flex;flex-direction:column;gap:14px}
.menu-cat{display:flex;align-items:center;gap:12px}
.menu-cat h3{font-family:var(--font-display);font-weight:400;font-size:19px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-on-paper)}
.menu-cat .rule{flex:1;border-top:2px solid rgba(226,38,45,.35)}
.menu-cat--gap{margin-top:10px}
.menu-item{display:flex;flex-direction:column;gap:3px}
.menu-row{display:flex;align-items:baseline}
.menu-row .name{color:var(--text-on-paper);font-weight:600;font-size:15px}
.menu-row .leader{flex:1;border-bottom:2px dotted rgba(16,16,17,.28);margin:0 8px 4px}
.menu-row .price{color:var(--saffron-hover);font-weight:700;font-size:15px;white-space:nowrap}
.menu-note{font-size:13px;color:var(--text-on-paper-muted)}
.menu-aside-red{font-family:var(--font-accent);font-weight:700;font-size:21px;color:var(--chilli-red);transform:rotate(-2deg);align-self:flex-start;display:inline-block}
.menu-list{display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm);line-height:1.5;color:var(--text-on-paper)}
.menu-list .item{font-weight:600}
.menu-list .stack{display:flex;flex-direction:column;gap:1px}
.menu-paper__foot{text-align:center;font-size:12px;color:var(--text-on-paper-muted)}

/* ==================== about page ==================== */
.press-band{background:var(--neutral-900);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin-top:112px}
.press-band__in{max-width:var(--container-max);margin:0 auto;padding:72px var(--container-pad);display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.chip-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:10px 18px;color:var(--neutral-300);font-size:13px;font-weight:600}
a.chip:hover{border-color:var(--border-strong);color:var(--cream)}

/* ==================== contact page ==================== */
.outlet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;padding-top:56px}
.outlet-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:14px}
.outlet-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.outlet-card h3{font-family:var(--font-display);font-weight:400;font-size:22px;letter-spacing:.03em;text-transform:uppercase;color:var(--cream)}
.outlet-card .addr{font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);font-style:normal}
.outlet-card .rows{display:flex;flex-direction:column;gap:8px;font-size:var(--text-sm);color:var(--text-secondary)}
.outlet-card .row{display:flex;align-items:center;gap:9px}
.outlet-card .row--indent{padding-left:24px}
.outlet-card .row--note{padding-left:24px;color:var(--neutral-400);font-size:13px}
.outlet-card .dir{font-size:var(--text-sm);font-weight:600;margin-top:auto}
.hours-note{font-size:var(--text-sm);color:var(--neutral-400);padding-top:18px}
.map-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.map-aside{font-size:22px}
.map-frame{width:100%;height:440px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:block;background:var(--neutral-900);margin-top:16px}
.chips-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:64px}
.chips-note{font-size:12px;color:var(--neutral-400)}

/* ==================== footer ==================== */
.cc-footer{border-top:1px solid var(--border-subtle);margin-top:112px;background:var(--neutral-900)}
.cc-footer--flush{margin-top:0}
.cc-footer__grid{max-width:var(--container-max);margin:0 auto;padding:36px var(--container-pad) 40px;display:flex;gap:48px;flex-wrap:wrap}
.cc-footer__brand{max-width:270px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.8}
.cc-footer__logotile{background:var(--white-warm);border-radius:var(--radius-md);padding:4px;display:inline-block;margin-bottom:12px}
.cc-footer__logotile img{width:56px;height:56px;display:block}
.cc-footer__aside{font-size:24px;margin-top:10px}
.cc-footer__col{min-width:180px;font-size:var(--text-sm);color:var(--text-secondary);line-height:1.9}
.cc-footer__col h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:var(--text-base);letter-spacing:.05em;margin:0 0 10px;color:var(--text-primary)}
.cc-footer__col a{display:inline-block}
.cc-footer__col .sub{color:var(--neutral-400);font-size:13px}
.cc-footer__bottom{border-top:1px solid var(--border-subtle)}
.cc-footer__bottom-in{max-width:var(--container-max);margin:0 auto;padding:16px var(--container-pad);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--neutral-400)}

/* ==================== sticky mobile bar ==================== */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(32,29,26,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-strong);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px}
.mobile-bar .cc-btn{flex:1}

/* ==================== responsive ==================== */
@media (max-width:900px){
  .cc-nav__links,.cc-nav .neon-pill{display:none}
  .cc-nav__toggle{display:inline-flex}
  .cc-nav__in{height:64px;gap:14px}
  .cc-nav__logo img{height:40px}
  .hero{height:78vh;min-height:520px}
  .hero__inner{padding-bottom:118px;gap:16px}
  .ticker{gap:22px;padding:14px 18px}
  .split,.split--flip{grid-template-columns:1fr;gap:36px}
  .split--flip .split__img{order:-1}
  .plate-wrap{justify-self:stretch;max-width:none;margin-top:16px}
  .section{padding-top:72px}
  .section--head{padding-top:64px}
  .menu-cards{grid-template-columns:1fr;padding-top:44px}
  .menu-paper-wrap{padding-top:64px}
  .menu-paper{padding:28px 22px 26px}
  .menu-cols{grid-template-columns:1fr;gap:30px}
  .outlet-grid{grid-template-columns:1fr;padding-top:40px}
  .press-band{margin-top:72px}
  .press-band__in{padding:56px var(--container-pad)}
  .cc-footer{margin-top:72px}
  .cc-footer--flush{margin-top:0}
  .mobile-bar{display:flex}
  body{padding-bottom:76px}
  .map-frame{height:360px}
}
@media (max-width:480px){
  .hero__aside{font-size:22px}
  .plate{padding:24px 20px}
  .split__img{aspect-ratio:4/3}
}

/* ==================== reduced motion ==================== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .neon-pill{animation:none}
  .cc-card--interactive:hover{transform:none}
  .cc-card--interactive:hover .cc-card__media img{transform:none}
}
