/* ============================================================
   DEJA BREW BISTRO — styles
   Warm soul-food palette · Anton + Manrope · static-first
   ============================================================ */
:root{
  --cream:#faf1e1; --ivory:#fffaf1; --white:#ffffff;
  --ink:#2a1812; --ink-soft:#7c6650;
  --velvet:#5c1420; --velvet-deep:#380b12;
  --gold:#f0ae34; --gold-deep:#d98a1f; --yam:#e2762c; --berry:#b8365c;
  --tan:#f3e4c8; --tan-line:#ead6b4; --cream-cheese:#fff3df;
  --font-display:"Anton",Impact,sans-serif;
  --font-body:"Manrope",system-ui,sans-serif;
  --radius:20px; --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font:500 17px/1.6 var(--font-body);overflow-x:hidden}
.has-motion{scroll-behavior:auto}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:min(var(--maxw),100% - 40px);margin-inline:auto}
.display{font-family:var(--font-display);font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.92}
.eyebrow{font-family:var(--font-body);font-weight:800;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--yam)}
section{position:relative}
.sec{padding:clamp(64px,11vw,140px) 0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:800;font-size:16px;
  padding:15px 26px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;background:var(--ink);color:var(--cream);
  transition:transform .18s ease,box-shadow .18s ease,background .18s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--velvet-deep);border-color:var(--velvet-deep)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost.on-dark{color:var(--cream);border-color:rgba(255,255,255,.55)}
.btn-sm{padding:10px 18px;font-size:14px}

/* ---------------- NAV ---------------- */
.nav{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:16px clamp(16px,4vw,42px);transition:background .35s,padding .35s,box-shadow .35s}
.nav.scrolled{background:rgba(250,241,225,.9);backdrop-filter:blur(12px);padding-block:10px;box-shadow:0 1px 0 var(--tan-line)}
.nav .logo{font-family:var(--font-display);font-size:23px;color:var(--cream);text-transform:uppercase;letter-spacing:.01em;transition:color .35s}
.nav .logo small{display:block;font:800 9px/1 var(--font-body);letter-spacing:.34em;color:var(--gold);margin-top:3px}
.nav.scrolled .logo{color:var(--velvet)}
.nav ul{display:flex;gap:26px;list-style:none;font-weight:700;font-size:14px;letter-spacing:.02em}
.nav ul a{color:var(--cream);opacity:.9;transition:color .35s,opacity .2s}
.nav.scrolled ul a{color:var(--ink)}
.nav ul a:hover{color:var(--gold);opacity:1}
.nav .nav-cta{color:inherit}
@media(max-width:820px){.nav ul{display:none}}

/* ---------------- HERO ---------------- */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:
  radial-gradient(120% 90% at 70% 10%,transparent 20%,rgba(56,11,18,.5) 100%),
  linear-gradient(180deg,rgba(56,11,18,.45) 0%,transparent 32%,rgba(56,11,18,.35) 60%,rgba(56,11,18,.92) 100%)}
.hero-wipe{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--velvet),var(--velvet-deep));transform:scaleY(0);transform-origin:bottom;will-change:transform}
.hero-content{color:var(--cream);padding:0 clamp(16px,4vw,42px) clamp(42px,8vh,96px);max-width:1180px}
.hero-kicker{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:8px 15px;backdrop-filter:blur(6px)}
.hero-kicker i{width:8px;height:8px;border-radius:50%;background:#6fe08f;box-shadow:0 0 0 4px rgba(111,224,143,.25)}
.hero h1{font-size:clamp(50px,11vw,150px);margin:20px 0 14px}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line>span{display:block}
.hero h1 .script{font-family:var(--font-body);font-weight:800;font-style:italic;text-transform:none;font-size:.33em;letter-spacing:0;color:var(--gold);margin-bottom:.1em}
.hero h1 .grad{background:linear-gradient(100deg,var(--gold) 0%,#ffd98a 38%,#fff6df 50%,#ffd98a 62%,var(--gold) 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradShimmer 5s linear infinite}
@keyframes gradShimmer{0%{background-position:240% 0}100%{background-position:-40% 0}}
/* ---- hero motion layer: embers drifting up over the storefront ---- */
.hero-content{position:relative;z-index:2}
.hero-embers{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero-embers .ember{position:absolute;bottom:-14px;left:var(--x,50%);width:var(--s,6px);height:var(--s,6px);border-radius:50%;background:radial-gradient(circle,#ffe3a0 0%,#ff8a2c 55%,rgba(255,120,40,0) 72%);filter:blur(.4px);opacity:0;animation:emberRise var(--d,8s) ease-in infinite;animation-delay:var(--dl,0s);will-change:transform,opacity}
@keyframes emberRise{0%{transform:translateY(0) translateX(0) scale(.7);opacity:0}8%{opacity:.95}50%{transform:translateY(-46vh) translateX(var(--drift,14px)) scale(1)}90%{opacity:.5}100%{transform:translateY(-94vh) translateX(calc(var(--drift,14px)*-1)) scale(.25);opacity:0}}
@media (prefers-reduced-motion:reduce){.hero h1 .grad{animation:none;background-position:50% 0}.hero-embers{display:none}}
.hero-sub{font-size:clamp(17px,1.9vw,21px);max-width:560px;opacity:.94;font-weight:600}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);color:var(--cream);font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.8;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:1}
.hero-scroll span{width:1px;height:34px;background:linear-gradient(var(--cream),transparent);animation:drip 1.8s infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------------- FLY-THROUGH (scroll-scrubbed 3D journey) ---------------- */
.fly{position:relative;background:#000}
.fly-pin{position:relative}
.fly-scene{position:relative;min-height:84vh;display:grid;place-items:center;overflow:hidden;transform-style:preserve-3d;will-change:transform,opacity;backface-visibility:hidden}
.fly-scene .media{position:absolute;inset:0;z-index:0}
.fly-scene .media img,.fly-scene .media video{width:100%;height:100%;object-fit:cover}
.fly-scene .media::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 20%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.6))}
.fly-cap{position:relative;z-index:2;text-align:center;color:var(--cream);max-width:800px;padding:0 20px}
.fly-cap .eyebrow{color:var(--gold)}
.fly-cap h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(40px,8.6vw,118px);line-height:.9;margin-top:10px;text-shadow:0 6px 40px rgba(0,0,0,.5)}
.fly-cap p{margin-top:14px;font-weight:600;font-size:clamp(16px,2vw,20px);opacity:.92}
/* live (motion) mode: pin one screen, stack scenes */
.fly.is-live .fly-pin{height:100svh;overflow:hidden;perspective:1500px;perspective-origin:50% 48%}
.fly.is-live .fly-scene{position:absolute;inset:0;min-height:0}
.fly-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.18);z-index:6;display:none}
.fly.is-live .fly-progress{display:block}
.fly-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--yam))}
.fly-hint{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:var(--cream);font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;z-index:6;display:none}
.fly.is-live .fly-hint{display:block}
@media (prefers-reduced-motion:reduce){.fly.is-live .fly-pin{height:auto;perspective:none}.fly.is-live .fly-scene{position:relative;inset:auto}.fly-progress,.fly-hint{display:none!important}}

/* ---------------- INTRO ---------------- */
.intro .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,84px);align-items:center}
.intro h2{font-size:clamp(34px,5.2vw,68px);margin:14px 0 18px}
.intro .lede{font-size:clamp(17px,1.5vw,20px);color:var(--ink-soft);max-width:520px}
.intro .lede b{color:var(--ink)}
.intro-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.intro-chips span{background:var(--tan);border:1px solid var(--tan-line);border-radius:999px;padding:8px 15px;font-weight:700;font-size:14px}
.intro-figure{position:relative;justify-self:end;width:100%;max-width:460px}
.intro-figure .frame{border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 70px rgba(56,11,18,.28);aspect-ratio:4/5}
.intro-figure .frame img{width:100%;height:112%;object-fit:cover}
.intro-figure .stamp{position:absolute;bottom:-20px;left:-20px;background:var(--velvet);color:var(--cream);font-family:var(--font-display);
  text-transform:uppercase;font-size:15px;line-height:1.1;padding:16px 18px;border-radius:14px;transform:rotate(-4deg);box-shadow:0 14px 30px rgba(0,0,0,.3)}
.intro-figure .stamp b{color:var(--gold);font-size:1.7em;display:block}
@media(max-width:820px){.intro .wrap{grid-template-columns:1fr}.intro-figure{justify-self:center;margin-top:10px}}

/* ---------------- MARQUEE ---------------- */
.marquee{background:var(--velvet);color:var(--cream);border-block:3px solid var(--velvet-deep);overflow:hidden}
.marquee-track{display:flex;width:max-content;gap:0;will-change:transform}
.marquee span{font-family:var(--font-display);font-size:clamp(22px,3vw,34px);text-transform:uppercase;padding:14px 0;white-space:nowrap}
.marquee span em{color:var(--gold);font-style:normal;padding:0 .55em}

/* ---------------- FEATURED ---------------- */
.featured{background:var(--ivory)}
.featured-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.featured-head h2{font-size:clamp(32px,5vw,62px);margin-top:10px}
.feat-track{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;perspective:1200px}
.feat-card{background:var(--white);border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:5px 5px 0 var(--ink);display:flex;flex-direction:column;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;will-change:transform}
.feat-card.tilting{transition:transform .08s linear}
.feat-card .ph{transform:translateZ(0)}
.feat-card.tilting .ph img{transform:scale(1.06) translateZ(34px)}
.feat-card .ph img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.feat-card .ph{position:relative;aspect-ratio:1}
.feat-card .ph img{width:100%;height:100%;object-fit:cover}
.feat-card .tag{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--velvet-deep);border:2px solid var(--velvet-deep);border-radius:999px;font-weight:800;font-size:12px;padding:3px 11px}
.feat-card .body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:9px;flex:1}
.feat-card h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:21px;line-height:1}
.feat-card .desc{font-size:14.5px;color:var(--ink-soft);flex:1}
.feat-card .order-mini{margin-top:4px;align-self:flex-start;background:var(--velvet);color:var(--cream);border:0;border-radius:999px;font-weight:800;font-size:13px;padding:8px 16px;cursor:pointer}
.feat-card .order-mini:hover{background:var(--ink)}
@media(max-width:980px){.feat-track{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.feat-track{grid-template-columns:1fr}}

/* ---------------- MENU ---------------- */
.menu-head{text-align:center;max-width:620px;margin:0 auto 26px}
.menu-head h2{font-size:clamp(34px,5.4vw,70px);margin:12px 0 10px}
.menu-head p{color:var(--ink-soft)}
.menu-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-bottom:30px}
.cat-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.cat-btn{background:var(--white);border:2px solid var(--tan-line);border-radius:999px;padding:9px 17px;font-weight:700;font-size:14px;cursor:pointer;transition:.15s}
.cat-btn:hover{border-color:var(--ink)}
.cat-btn.active{background:var(--velvet);color:var(--cream);border-color:var(--velvet)}
.menu-search{flex:0 1 260px;display:flex;align-items:center;gap:8px;background:var(--white);border:2px solid var(--tan-line);border-radius:999px;padding:4px 14px}
.menu-search input{border:0;outline:0;background:transparent;font:600 15px var(--font-body);width:100%;padding:8px 0;color:var(--ink)}
.menu-cat-block{margin-bottom:40px}
.menu-cat-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(22px,3vw,30px);color:var(--velvet);margin-bottom:16px;display:flex;align-items:baseline;gap:10px}
.menu-cat-title small{font-family:var(--font-body);font-weight:700;font-size:13px;color:var(--ink-soft);text-transform:none}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px}
.menu-card{background:var(--white);border:1px solid var(--tan-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.menu-card .ph{aspect-ratio:16/10;overflow:hidden;background:var(--tan)}
.menu-card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.menu-card:hover .ph img{transform:scale(1.05)}
.menu-card .ph-alt{aspect-ratio:16/5;background:linear-gradient(120deg,var(--tan),var(--cream-cheese));display:grid;place-items:center;color:var(--gold-deep);font-size:28px}
.menu-card .body{padding:15px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.menu-card h4{font-size:17px;font-weight:800}
.menu-card .desc{font-size:14px;color:var(--ink-soft);flex:1}
.menu-card .order-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px}
.menu-card .order-row a{font-weight:800;font-size:12px;padding:6px 11px;border-radius:999px;border:1.5px solid var(--ink)}
.menu-card .mini-pk{background:var(--velvet);color:var(--cream);border-color:var(--velvet)}
.menu-card .mini-call{background:transparent;color:var(--ink)}
.menu-empty{text-align:center;color:var(--ink-soft);padding:40px;display:none}
.menu-note{text-align:center;color:var(--ink-soft);font-size:14px;margin-top:8px}

/* ---------------- CATERING ---------------- */
.catering{background:var(--velvet);color:var(--cream-cheese)}
.catering .eyebrow{color:var(--gold)}
.cater-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,72px);align-items:center}
.cater-card{background:var(--ivory);border-radius:10px;padding:10px;transform:rotate(-2deg);box-shadow:0 30px 70px rgba(0,0,0,.4);max-width:380px}
.cater-stations{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.cater-stations h4{font-family:var(--font-display);font-weight:400;text-transform:uppercase;color:var(--gold);font-size:22px;margin-bottom:8px}
.cater-stations ul{list-style:none}
.cater-stations li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:14.5px}
.catering h2{font-size:clamp(32px,5vw,62px);margin:12px 0 16px;color:var(--cream)}
@media(max-width:820px){.cater-grid{grid-template-columns:1fr}.cater-card{margin-inline:auto}.cater-stations{grid-template-columns:1fr}}

/* ---------------- REVIEWS ---------------- */
.reviews-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.reviews-head h2{font-size:clamp(32px,5vw,60px);margin-top:10px}
.rating{text-align:right}
.rating b{font-family:var(--font-display);font-weight:400;font-size:52px;color:var(--yam);line-height:1}
.rating span{display:block;font-size:13px;color:var(--ink-soft)}
.review-grid{columns:3;column-gap:18px}
.review{break-inside:avoid;margin-bottom:18px;background:var(--white);border:1px solid var(--tan-line);border-radius:16px;padding:22px}
.review .stars{color:var(--gold);letter-spacing:2px;font-size:14px}
.review p{margin:10px 0 14px;font-size:15.5px}
.review footer{font-weight:800;font-size:14px;color:var(--ink-soft)}
.review.hl{background:var(--gold);border-color:var(--velvet-deep);color:var(--velvet-deep)}
.review.hl .stars{color:var(--velvet)}.review.hl footer{color:var(--velvet-deep)}
@media(max-width:900px){.review-grid{columns:2}}
@media(max-width:600px){.review-grid{columns:1}}

/* ---------------- WALK UP (3D storefront approach) ---------------- */
.walkup{background:var(--velvet-deep);overflow:hidden;padding:0}
.walk-stage{position:relative;min-height:100svh;perspective:1200px;perspective-origin:50% 46%;display:grid;place-items:center;padding:80px 16px}
.storefront{position:relative;width:min(780px,88vw);aspect-ratio:16/10;margin-top:clamp(96px,17vh,180px);border-radius:18px;overflow:hidden;transform-style:preserve-3d;will-change:transform;box-shadow:0 50px 130px rgba(0,0,0,.65),0 0 0 1px rgba(240,174,52,.2)}
.storefront img,.storefront video{width:100%;height:100%;object-fit:cover;display:block}
/* branded placeholder facade — swapped for the owner's real storefront photo */
.facade{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr;padding:30px 24px 0;background:
  radial-gradient(130% 90% at 50% 125%,rgba(240,174,52,.26),transparent 58%),
  linear-gradient(180deg,#3a241a 0%,#2a1610 55%,#1b0d08 100%)}
.facade::before{content:"";position:absolute;inset:0;opacity:.5;background-image:
  linear-gradient(90deg,rgba(0,0,0,.18) 1px,transparent 1px),linear-gradient(rgba(0,0,0,.14) 1px,transparent 1px);
  background-size:46px 26px;mix-blend-mode:multiply}
.facade .sign{text-align:center;position:relative;z-index:1}
.facade .sign b{font-family:var(--font-display);font-size:clamp(34px,6.4vw,66px);color:var(--gold);text-transform:uppercase;letter-spacing:.015em;text-shadow:0 2px 0 rgba(0,0,0,.4),0 0 34px rgba(240,174,52,.55)}
.facade .sign small{display:block;font:800 11px/1 var(--font-body);letter-spacing:.32em;color:var(--cream);opacity:.85;margin-top:8px}
.facade .door{align-self:end;justify-self:center;position:relative;z-index:1;width:34%;min-width:128px;height:66%;
  border-radius:12px 12px 0 0;background:linear-gradient(180deg,#160c08,#2d1912);border:2px solid rgba(240,174,52,.4);border-bottom:0;
  box-shadow:0 0 60px rgba(240,174,52,.35),inset 0 24px 70px rgba(240,174,52,.12);display:grid;place-items:center;align-content:center;gap:10px}
.facade .door .open{font:800 12px/1 var(--font-body);letter-spacing:.2em;color:#ff8a6a;border:1px solid #ff8a6a;border-radius:6px;padding:5px 11px;text-transform:uppercase;box-shadow:0 0 16px rgba(255,122,92,.55);animation:neon 2.4s ease-in-out infinite}
@keyframes neon{50%{opacity:.6;box-shadow:0 0 6px rgba(255,122,92,.3)}}
.facade .addr{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:800 11px/1 var(--font-body);letter-spacing:.22em;color:var(--cream);opacity:.72;z-index:1}
.walk-overlay{position:absolute;top:5%;left:0;right:0;text-align:center;color:var(--cream);z-index:3;padding:0 16px;pointer-events:none}
.walk-overlay .eyebrow{color:var(--gold)}
.walk-overlay h2{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(32px,5.6vw,68px);margin-top:10px;line-height:.95}
.walk-overlay p{opacity:.85;max-width:420px;margin:12px auto 0;font-weight:600}
@media (prefers-reduced-motion:reduce){.facade .door .open{animation:none}}

/* ---------------- VISIT ---------------- */
.visit{background:var(--ivory)}
.visit-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,5vw,70px)}
.visit h2{font-size:clamp(34px,5.2vw,64px);margin:12px 0 18px}
.hours{width:100%;border-collapse:collapse;margin-top:6px}
.hours td{padding:11px 0;border-bottom:1px solid var(--tan-line);font-weight:600}
.hours td:last-child{text-align:right}
.hours tr.today td{color:var(--velvet);font-weight:800}
.hours tr.shut td{color:var(--ink-soft)}
.contact-list{margin-top:22px;display:grid;gap:9px;font-weight:700}
.contact-list a{border-bottom:1.5px solid var(--gold)}
.visit-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.map{border-radius:var(--radius);overflow:hidden;min-height:400px;border:2px solid var(--tan-line)}
.map iframe{width:100%;height:100%;min-height:400px;border:0;filter:saturate(1.05)}
@media(max-width:820px){.visit-grid{grid-template-columns:1fr}}

/* ---------------- FOOTER ---------------- */
footer.site{background:var(--velvet-deep);color:var(--cream);padding:48px 0 60px}
footer.site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-start}
footer.site .logo{font-family:var(--font-display);font-size:30px;text-transform:uppercase}
footer.site .logo small{display:block;font:800 10px/1 var(--font-body);letter-spacing:.3em;color:var(--gold);margin-top:5px}
footer.site a{opacity:.85}footer.site a:hover{opacity:1;color:var(--gold)}
footer.site .cols{display:flex;gap:46px;flex-wrap:wrap}
footer.site .col h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
footer.site .col a,footer.site .col div{display:block;font-weight:600;font-size:14.5px;margin-bottom:6px}
footer.site .fine{width:100%;border-top:1px solid rgba(255,255,255,.14);margin-top:14px;padding-top:16px;font-size:12.5px;opacity:.6;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}

/* ---------------- ORDER MODAL + FAB ---------------- */
.fab{position:fixed;right:18px;bottom:18px;z-index:70;opacity:0;transform:translateY(16px);pointer-events:none;transition:.3s}
.fab.show{opacity:1;transform:none;pointer-events:auto}
.modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:20px;background:rgba(56,11,18,.6);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .25s}
.modal.open{opacity:1;pointer-events:auto}
.modal-card{background:var(--ivory);border-radius:22px;max-width:420px;width:100%;padding:30px 26px;text-align:center;position:relative;transform:translateY(14px);transition:transform .25s}
.modal.open .modal-card{transform:none}
.modal-card h3{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:30px;color:var(--velvet)}
.modal-card p{color:var(--ink-soft);margin:6px 0 20px;font-size:15px}
.modal-opts{display:grid;gap:11px}
.modal-opts a{display:block;padding:15px;border-radius:14px;font-weight:800;border:2px solid var(--ink)}
.modal-opts .pk{background:var(--velvet);color:var(--cream);border-color:var(--velvet)}
.modal-opts .call{background:var(--gold);color:var(--velvet-deep);border-color:var(--velvet-deep)}
.modal-card .note{font-size:12.5px;margin-top:14px}
.close-x{position:absolute;top:12px;right:14px;background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink-soft)}

/* ---------------- MOTION: static-first ----------------
   Without .has-motion everything stays fully visible. */
.has-motion .reveal{opacity:0}
@media (prefers-reduced-motion:reduce){
  .hero-scroll span,.marquee-track{animation:none}
  .has-motion .reveal{opacity:1}
}

/* ===== scroll-scrubbed "being prepared" sequence ===== */
.prep{position:relative;background:var(--velvet-deep);color:var(--cream)}
.prep-pin{min-height:100svh;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(22px,5vw,70px);align-items:center;padding:clamp(40px,8vh,90px) clamp(16px,4vw,42px);overflow:hidden}
.prep-stage{position:relative;aspect-ratio:16/10;border-radius:20px;overflow:hidden;box-shadow:0 50px 130px rgba(0,0,0,.6),0 0 0 1px rgba(240,174,52,.2)}
.prep-dish{position:absolute;inset:0;will-change:transform,filter}
.prep-dish img{width:100%;height:100%;object-fit:cover}
.prep-heat{position:absolute;inset:0;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(62% 48% at 50% 86%,rgba(255,140,60,.6),transparent 70%)}
.prep-sizzle{position:absolute;inset:0;pointer-events:none;opacity:0;background-image:radial-gradient(2px 2px at 20% 82%,rgba(255,222,160,.95),transparent),radial-gradient(2px 2px at 62% 90%,rgba(255,222,160,.85),transparent),radial-gradient(1.5px 1.5px at 80% 76%,rgba(255,222,160,.8),transparent),radial-gradient(2px 2px at 42% 95%,rgba(255,222,160,.85),transparent);animation:sizzle 1.1s linear infinite}
@keyframes sizzle{from{background-position:0 0,0 0,0 0,0 0}to{background-position:0 -42px,0 -62px,0 -32px,0 -52px}}
.prep-steam{position:absolute;left:0;right:0;bottom:50%;display:flex;justify-content:center;gap:36px;pointer-events:none;opacity:0}
.prep-steam span{width:11px;height:96px;border-radius:50%;background:linear-gradient(transparent,rgba(255,255,255,.5));filter:blur(8px);animation:steam 3.2s ease-in-out infinite}
.prep-steam span:nth-child(2){animation-delay:.7s;height:128px}
.prep-steam span:nth-child(3){animation-delay:1.3s}
@keyframes steam{0%{transform:translateY(24px) scaleX(1);opacity:0}30%{opacity:.7}100%{transform:translateY(-84px) scaleX(1.7);opacity:0}}
.prep-rail .eyebrow{color:var(--gold)}
.prep-rail h2{font-size:clamp(34px,5.4vw,72px);margin:10px 0 10px}
.prep-lede{opacity:.9;max-width:460px;font-weight:600}
.prep-steps{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
.prep-steps li{opacity:.3;border-left:3px solid rgba(240,174,52,.25);padding:4px 0 4px 16px;transition:opacity .3s,border-color .3s}
.prep-steps li b{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:clamp(19px,2.3vw,29px);display:block;line-height:1}
.prep-steps li span{font-size:14.5px;opacity:.85}
.prep-steps li.on{opacity:1;border-left-color:var(--gold)}
.prep-progress{margin-top:22px;height:4px;border-radius:3px;background:rgba(255,244,224,.18);overflow:hidden;max-width:420px}
.prep-progress i{display:block;height:100%;width:0;background:var(--gold)}
@media (max-width:860px){.prep-pin{grid-template-columns:1fr;gap:26px}.prep-stage{aspect-ratio:4/3}}
html:not(.has-motion) .prep-steps li{opacity:1}
@media (prefers-reduced-motion:reduce){.prep-sizzle,.prep-steam span{animation:none}}
/* real owner clip, scrubbed: crop the Facebook UI chrome out with CSS */
.prep-video{position:absolute;inset:0;overflow:hidden;background:#000}
.prep-video video{width:100%;height:100%;object-fit:cover;transform:scale(1.32);transform-origin:50% 41%}
@media (max-width:860px){.prep-stage{aspect-ratio:16/11}}

/* ===== Lottie-style animated seal: spinning wordmark + steaming plate ===== */
.hero-emblem{position:absolute;right:clamp(14px,4.5vw,66px);bottom:clamp(26px,9vh,88px);width:clamp(108px,12vw,162px);z-index:2;pointer-events:none;filter:drop-shadow(0 12px 30px rgba(0,0,0,.55));animation:emblemBob 5s ease-in-out infinite}
.hero-emblem svg{width:100%;height:auto;display:block;overflow:visible}
.hero-emblem .seal-ring{transform-box:fill-box;transform-origin:center;animation:sealSpin 22s linear infinite}
.hero-emblem .seal-text{font:800 10.5px/1 var(--font-body);letter-spacing:.2em;fill:var(--gold);text-transform:uppercase}
.hero-emblem .s{fill:none;stroke:var(--cream);stroke-width:3.4;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:center bottom;animation:steamUp 2.6s ease-in-out infinite}
.hero-emblem .s2{animation-delay:.85s}
.hero-emblem .s3{animation-delay:1.7s}
@keyframes sealSpin{to{transform:rotate(360deg)}}
@keyframes steamUp{0%{opacity:0;transform:translateY(7px) scaleY(.6)}25%{opacity:.85}100%{opacity:0;transform:translateY(-15px) scaleY(1.3)}}
@keyframes emblemBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (max-width:900px){.hero-emblem{display:none}}
@media (prefers-reduced-motion:reduce){.hero-emblem,.hero-emblem .seal-ring,.hero-emblem .s{animation:none}.hero-emblem .s{opacity:.6}}

/* menu card price row */
.mc-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.mc-price{flex:0 0 auto;font-weight:800;color:var(--gold);font-size:15px;white-space:nowrap}
