:root{
 --orange:#E0531C;--orange-bright:#FF6A1A;--orange-deep:#B83E12;--ember:#F4A623;
 --char:#1C1512;--char-2:#2A201A;--cream:#FBEFE0;--cream-2:#F4E2CC;--ink:#160F0C;
 --uber:#06C167;--door:#EB1700;--maxw:1240px;--r:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.display{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.5px;line-height:.95}
.eyebrow{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.32em;font-weight:600;font-size:.78rem}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:'Oswald',sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;font-size:.92rem;padding:15px 26px;border-radius:999px;cursor:pointer;border:none;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s,color .25s;line-height:1;min-height:48px}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 10px 30px -8px rgba(224,83,28,.7)}
.btn-primary:hover{transform:translateY(-3px);background:var(--orange-bright);box-shadow:0 18px 40px -10px rgba(255,106,26,.75)}
.btn-uber{background:var(--uber);color:#06231A}
.btn-uber:hover{transform:translateY(-3px);background:#08d873}
.btn-door{background:var(--door);color:#fff}
.btn-door:hover{transform:translateY(-3px);background:#ff2a0f}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55)}
.btn-ghost:hover{transform:translateY(-3px);background:#fff;color:var(--char);border-color:#fff}
.btn-dark{background:var(--char);color:#fff}
.btn-dark:hover{transform:translateY(-3px);background:#000}
.btn-outline{background:transparent;color:var(--orange);border:2px solid var(--orange)}
.btn-outline:hover{transform:translateY(-3px);background:var(--orange);color:#fff}
.btn-lg{padding:19px 36px;font-size:1.02rem}
.btn-sm{padding:11px 18px;font-size:.8rem;min-height:42px}

/* Topbar */
.topbar{background:var(--char);color:var(--cream);font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:.14em;font-size:.72rem;text-align:center;padding:9px 14px;font-weight:500;
  display:flex;justify-content:center;gap:9px;flex-wrap:wrap;align-items:center}
.topbar a{color:var(--ember);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.topbar .dot{opacity:.4}

/* Nav */
.nav{position:sticky;top:0;z-index:80;transition:background .35s,box-shadow .35s}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 22px;max-width:1320px;margin:0 auto}
.nav .logo{height:44px;transition:filter .35s}
.nav-links{display:flex;align-items:center;gap:22px;font-family:'Oswald',sans-serif;text-transform:uppercase;
  letter-spacing:.12em;font-weight:600;font-size:.82rem}
.nav-links a{position:relative;padding:4px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:var(--orange-bright);transition:width .28s}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:9px}
.nav.transparent{background:transparent}
.nav.transparent .nav-links,.nav.transparent .logo-wrap{color:#fff}
.nav.transparent .logo{filter:brightness(0) invert(1)}
.nav.solid{background:var(--cream);box-shadow:0 6px 30px -12px rgba(28,21,18,.35)}
.nav.solid .nav-links{color:var(--ink)}
.nav.solid .logo{filter:none}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:26px;height:3px;background:currentColor;border-radius:2px;transition:.3s}
.nav.transparent .burger{color:#fff}.nav.solid .burger{color:var(--ink)}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;
  background:radial-gradient(120% 100% at 75% 20%,#FF7A2A 0%,var(--orange) 38%,var(--orange-deep) 78%,#7E2A0C 100%);
  color:#fff;overflow:hidden;margin-top:-70px;padding-top:70px}
.sun{position:absolute;top:50%;left:62%;width:160vmax;height:160vmax;transform:translate(-50%,-50%);z-index:0;opacity:.5;animation:spin 90s linear infinite;pointer-events:none}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;width:100%;max-width:var(--maxw);margin:0 auto;padding:50px 22px}
.hero-copy .eyebrow{color:#ffe6cf;margin-bottom:16px;display:inline-block}
.hero h1{font-size:clamp(2.7rem,7.2vw,6.4rem);text-shadow:0 6px 24px rgba(0,0,0,.18)}
.hero h1 .pop{color:var(--char);background:var(--cream);padding:0 .12em;display:inline-block;transform:rotate(-2deg);border-radius:6px;box-shadow:0 8px 0 rgba(0,0,0,.12)}
.hero p.lead{font-size:1.12rem;max-width:32ch;margin:22px 0 28px;color:#fff3e8;line-height:1.5;font-weight:500}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-actions .or{font-family:'Oswald';text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;opacity:.85}
.hero-trust{margin-top:20px;display:flex;gap:18px;flex-wrap:wrap;font-family:'Oswald';text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#ffe1cf}
.hero-trust span{display:inline-flex;align-items:center;gap:6px}.hero-trust b{color:#fff}
.hero-figure{position:relative;display:flex;justify-content:center;align-items:center}
.hero-figure .plate{width:min(46vw,540px);aspect-ratio:1;border-radius:50%;object-fit:cover;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.55),0 0 0 14px rgba(255,255,255,.08),0 0 0 28px rgba(255,255,255,.05);animation:floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.seal{position:absolute;right:-14px;bottom:2%;width:178px;height:178px;display:block;text-decoration:none;z-index:5;
  filter:drop-shadow(0 20px 34px rgba(0,0,0,.55));animation:sealpop .9s cubic-bezier(.2,.9,.3,1.35) both,sealbob 7s ease-in-out 1s infinite}
.seal svg{width:100%;height:100%;overflow:visible;display:block}
.seal .ring{transform-origin:100px 100px;animation:sealspin 24s linear infinite}
.seal .glow{opacity:0;transition:opacity .45s}
.seal .disc{transition:filter .35s}
.seal:hover{animation-play-state:paused}
.seal:hover .ring{animation-duration:8s}
.seal:hover .glow{opacity:.85}
.seal:hover .disc{filter:brightness(1.12)}
.seal:focus-visible{outline:none}
.seal:focus-visible .glow{opacity:.9}
@keyframes sealspin{to{transform:rotate(360deg)}}
@keyframes sealpop{0%{opacity:0;transform:scale(.35) rotate(-30deg)}60%{opacity:1}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes sealbob{0%,100%{translate:0 0}50%{translate:0 -9px}}
.scrollcue{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:4;color:#fff;font-family:'Oswald';
  text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;opacity:.85;display:flex;flex-direction:column;align-items:center;gap:7px}
.scrollcue .line{width:1px;height:30px;background:#fff;animation:cue 1.8s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%,100%{transform:scaleY(.3);opacity:.4}50%{transform:scaleY(1);opacity:1}}

/* Specials rotating banner */
.spbanner{background:var(--char);color:#fff;border-top:4px solid var(--orange);border-bottom:4px solid var(--orange);overflow:hidden}
.spbanner-inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:26px 22px;display:flex;align-items:center;gap:20px;min-height:104px}
.spbanner .tag{font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--ember);flex:none}
.sp-slides{position:relative;flex:1;min-height:64px}
.sp-slide{position:absolute;inset:0;display:flex;align-items:center;gap:16px;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s;pointer-events:none}
.sp-slide.on{opacity:1;transform:none;pointer-events:auto}
.sp-slide .price{font-family:'Anton';font-size:2.4rem;color:var(--orange);line-height:1}
.sp-slide .txt b{font-family:'Anton';font-size:1.5rem;text-transform:uppercase;display:block;letter-spacing:.02em}
.sp-slide .txt span{color:#cbb5a6;font-size:.92rem}
.sp-dots{display:flex;gap:7px;flex:none}
.sp-dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.28);cursor:pointer;padding:0}
.sp-dots button.on{background:var(--orange)}

/* Generic section */
section{position:relative}
.pad{padding:100px 0}
.pad-sm{padding:74px 0}
.sec-head{max-width:760px;margin:0 auto 52px;text-align:center}
.sec-head .eyebrow{color:var(--orange)}
.sec-head h2{font-size:clamp(2.2rem,5vw,3.8rem);margin:14px 0 0;color:var(--ink)}
.sec-head p{margin-top:16px;color:#5b4a40;font-size:1.05rem;line-height:1.6}
.dark{background:var(--char);color:var(--cream)}
.dark .sec-head h2{color:#fff}.dark .sec-head p{color:#cbb5a6}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* Choice / takeaway */
.choice{background:var(--cream);padding:78px 0}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1080px;margin:0 auto}
.choice-card{border-radius:var(--r);padding:42px 38px;position:relative;overflow:hidden;transition:transform .35s}
.choice-card:hover{transform:translateY(-8px)}
.choice-card h3{font-size:2.1rem;margin:10px 0 8px;line-height:1}
.choice-card p{line-height:1.55;margin-bottom:22px;font-size:1rem}
.choice-card .row{display:flex;gap:10px;flex-wrap:wrap}
.choice-book{background:linear-gradient(160deg,var(--orange),var(--orange-deep));color:#fff;box-shadow:0 26px 50px -26px rgba(224,83,28,.8)}
.choice-book .eyebrow{color:#ffe1cf}.choice-book p{color:#fff2e9}
.choice-take{background:var(--char);color:#fff;box-shadow:0 26px 50px -30px rgba(0,0,0,.7)}
.choice-take .eyebrow{color:var(--uber)}.choice-take p{color:#cbb8a8}
.choice-icon{font-size:2.3rem;line-height:1}
.choice-card.choice-book::after{content:"Most popular";position:absolute;top:20px;right:-34px;transform:rotate(45deg);background:var(--char);color:var(--ember);font-family:'Oswald';font-weight:700;font-size:.66rem;letter-spacing:.12em;padding:6px 40px}

/* Steak stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:58px}
.stat{text-align:center;background:rgba(244,166,35,.08);border:1px solid rgba(244,166,35,.18);border-radius:var(--r);padding:26px 14px}
.stat b{font-family:'Anton';font-size:2.6rem;color:var(--ember);display:block;line-height:1}
.stat span{font-family:'Oswald';text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:#cbb5a6;margin-top:6px;display:block}

/* Wild cards */
.wild-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wild-card{background:linear-gradient(180deg,var(--char-2),#1f1712);border:1px solid rgba(244,166,35,.18);border-radius:var(--r);
  padding:38px 28px;text-align:center;transition:transform .35s,border-color .35s,box-shadow .35s;position:relative;overflow:hidden}
.wild-card::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 50% -10%,rgba(224,83,28,.35),transparent 60%);opacity:0;transition:opacity .35s}
.wild-card:hover{transform:translateY(-10px);border-color:var(--ember);box-shadow:0 30px 60px -25px rgba(0,0,0,.8)}
.wild-card:hover::before{opacity:1}
.wild-icon{font-size:3.2rem;line-height:1}
.wild-card h3{font-size:1.6rem;margin:16px 0 8px;color:#fff}
.wild-card p{color:#bda690;font-size:.95rem;line-height:1.55}
.wild-tag{position:relative;z-index:2;display:inline-block;margin-top:16px;color:var(--ember);font-family:'Oswald';text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}

/* Menu grid */
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:18px}
.dish{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:1;background:#000;box-shadow:0 16px 40px -22px rgba(28,21,18,.6)}
.dish.tall{grid-row:span 2;aspect-ratio:auto}
.dish.wide{grid-column:span 2}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.dish:hover img{transform:scale(1.08)}
.dish .meta{position:absolute;inset:auto 0 0 0;padding:20px;background:linear-gradient(0deg,rgba(15,10,8,.92),rgba(15,10,8,.3) 60%,transparent);color:#fff}
.dish .meta h3{font-size:1.4rem}
.dish .meta span{font-family:'Oswald';text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:var(--ember)}
.menu-cta{text-align:center;margin-top:44px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Menu downloads */
.downloads{background:var(--cream-2)}
.dl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.dl{display:flex;align-items:center;gap:16px;background:var(--cream);border-radius:var(--r);padding:24px 26px;border-left:6px solid var(--orange);box-shadow:0 16px 36px -28px rgba(28,21,18,.5);transition:transform .3s,box-shadow .3s}
.dl:hover{transform:translateY(-5px);box-shadow:0 24px 44px -28px rgba(28,21,18,.6)}
.dl .ic{width:52px;height:52px;flex:none;border-radius:12px;background:var(--orange);color:#fff;display:grid;place-items:center}
.dl .ic svg{width:26px;height:26px}
.dl h3{font-size:1.25rem;color:var(--ink)}
.dl small{font-family:'Oswald';text-transform:uppercase;letter-spacing:.12em;color:#725A4A;font-size:.72rem}
.dl .go{margin-left:auto;color:var(--orange);font-family:'Oswald';font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;white-space:nowrap}

/* Challenge */
.challenge{background:var(--orange);color:#fff;overflow:hidden}
.challenge-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0}
.challenge-copy{padding:84px clamp(22px,6vw,84px)}
.challenge-copy .eyebrow{color:#ffe1cc}
.challenge-copy h2{font-size:clamp(2.4rem,5vw,4.4rem);margin:14px 0 16px;color:#fff;text-shadow:0 6px 20px rgba(0,0,0,.2)}
.challenge-copy h2 em{font-style:normal;color:var(--char)}
.challenge-copy p{font-size:1.06rem;max-width:42ch;line-height:1.6;margin-bottom:16px;color:#fff4ec}
.kg-stats{display:flex;gap:30px;margin:22px 0 30px}
.kg-stats div span{font-family:'Anton';font-size:2.4rem;display:block;line-height:1}
.kg-stats div small{font-family:'Oswald';text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#ffe1cc}
/* Leaderboard carousel */
.lb{position:relative;background:#120c0a;display:flex;align-items:center;justify-content:center;min-height:480px;overflow:hidden}
.lb-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s;background-size:cover;background-position:center}
.lb-slide.on{opacity:1}
.lb-cap{position:absolute;left:0;right:0;bottom:0;padding:60px 30px 26px;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent);color:#fff}
.lb-cap .eyebrow{color:var(--ember)}
.lb-cap h3{font-size:1.8rem;margin-top:6px}
.lb-cap p{color:#e8d9cc;font-size:.9rem;margin-top:2px}
.lb-dots{position:absolute;top:20px;right:20px;display:flex;gap:7px;z-index:3}
.lb-dots button{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.35);cursor:pointer;padding:0}
.lb-dots button.on{background:var(--ember)}
.lb-badge{position:absolute;top:20px;left:20px;z-index:3;background:var(--orange);color:#fff;font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;padding:7px 14px;border-radius:999px}

/* Specials grid */
.specials{background:var(--cream-2)}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.spec{background:var(--cream);border-radius:var(--r);padding:28px 26px;border-top:6px solid var(--orange);box-shadow:0 18px 40px -28px rgba(28,21,18,.5);transition:transform .3s,box-shadow .3s;position:relative}
.spec:hover{transform:translateY(-8px);box-shadow:0 28px 50px -28px rgba(28,21,18,.6)}
.spec .day{font-family:'Oswald';text-transform:uppercase;letter-spacing:.2em;font-weight:700;font-size:.76rem;color:var(--orange);padding-right:72px}
.spec h3{font-size:1.5rem;margin:8px 0 10px;color:var(--ink)}
.spec p{color:#6b574b;font-size:.92rem;line-height:1.5}
.spec .price{position:absolute;top:20px;right:20px;z-index:3;background:var(--char);color:var(--ember);font-family:'Anton';font-size:1.25rem;padding:8px 14px;border-radius:12px;box-shadow:0 10px 22px -10px rgba(28,21,18,.7)}
/* Full-bleed food photo behind a specials card - ported from the homepage so the
   /promotion/ page renders the same cards. The :not() list is deliberate: a plain
   `.spec>*{position:relative}` would knock the photo and price out of absolute
   positioning (same specificity, declared later). */
.spec{overflow:hidden;isolation:isolate}
.spec-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.2;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(100deg,transparent 4%,rgba(0,0,0,.5) 42%,#000 100%);mask-image:linear-gradient(100deg,transparent 4%,rgba(0,0,0,.5) 42%,#000 100%);transition:opacity .45s,transform .55s}
.spec>*:not(.spec-photo):not(.price){position:relative;z-index:1}
.spec:hover .spec-photo{opacity:.3;transform:scale(1.04)}

/* Feature split (kids / functions) */
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0;overflow:hidden}
.split.rev .split-media{order:2}
.split-media{min-height:460px;background-size:cover;background-position:center}
.split-body{padding:78px clamp(22px,6vw,80px)}
.split-body .eyebrow{color:var(--orange)}
.split-body h2{font-size:clamp(2.2rem,4.5vw,3.6rem);margin:14px 0 14px;color:var(--ink)}
.dark .split-body h2{color:#fff}
.split-body p{font-size:1.05rem;line-height:1.65;color:#5b4a40;margin-bottom:14px;max-width:46ch}
.dark .split-body p{color:#cbb5a6}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 26px}
.chip{font-family:'Oswald';text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:600;background:rgba(224,83,28,.12);color:var(--orange-deep);padding:8px 14px;border-radius:999px}
.dark .chip{background:rgba(244,166,35,.14);color:var(--ember)}

/* Tour band */
.tour{background:linear-gradient(120deg,var(--orange),var(--orange-deep));color:#fff;text-align:center}
.tour-inner{padding:74px 22px;max-width:820px;margin:0 auto}
.tour h2{font-size:clamp(2rem,4.5vw,3.2rem);margin:8px 0 12px}
.tour p{color:#fff2e9;font-size:1.12rem;line-height:1.6;margin-bottom:26px}

/* Vouchers */
.vouch{background:var(--cream)}
.vouch-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
.vouch-buy{background:linear-gradient(155deg,var(--char),#33261d);color:#fff;border-radius:var(--r);padding:46px 42px;position:relative;overflow:hidden}
.vouch-buy .eyebrow{color:var(--ember)}
.vouch-buy h2{font-size:clamp(2rem,4vw,3rem);margin:10px 0 12px;color:#fff}
.vouch-buy p{color:#cbb5a6;line-height:1.6;margin-bottom:14px;max-width:40ch}
.amts{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 24px}
.amt{font-family:'Anton';font-size:1.15rem;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(244,166,35,.25);border-radius:12px;padding:12px 18px;cursor:pointer;transition:.2s}
.amt:hover,.amt.on{background:var(--orange);border-color:var(--orange)}
.gc-wrap{display:flex;align-items:center;justify-content:center;perspective:1000px}
.giftcard{position:relative;width:100%;max-width:380px;aspect-ratio:1.6/1;border-radius:20px;overflow:hidden;
  background:linear-gradient(135deg,#FF7A2A,var(--orange) 45%,var(--orange-deep));color:#fff;
  box-shadow:0 30px 60px -20px rgba(184,62,18,.7),inset 0 0 0 1px rgba(255,255,255,.18);
  transform:rotate(-5deg);transition:transform .5s cubic-bezier(.2,.8,.2,1);padding:26px 28px}
.gc-wrap:hover .giftcard{transform:rotate(0) translateY(-6px)}
.gc-shine{position:absolute;top:-60%;left:-30%;width:60%;height:220%;transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);animation:gcshine 5s ease-in-out infinite}
@keyframes gcshine{0%,100%{left:-40%}50%{left:120%}}
.gc-logo{position:absolute;top:22px;left:26px;height:34px;filter:brightness(0) invert(1);opacity:.95}
.gc-chip{position:absolute;top:74px;left:28px;width:44px;height:32px;border-radius:7px;
  background:linear-gradient(135deg,#ffe9a8,#d9a93c);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.gc-label{position:absolute;top:24px;right:28px;font-family:'Oswald';text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700}
.gc-val{position:absolute;right:28px;bottom:46px;font-family:'Anton';font-size:3.2rem;line-height:1;text-shadow:0 4px 14px rgba(0,0,0,.25)}
.gc-foot{position:absolute;left:28px;bottom:22px;font-family:'Oswald';text-transform:uppercase;letter-spacing:.14em;font-size:.66rem;opacity:.9}

/* Map / locations */
.map-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border-radius:0}
.map-frame{position:relative;min-height:460px;background:#241b15}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(1.05)}
.map-side{background:var(--char);color:#fff;padding:64px clamp(22px,5vw,60px)}
.map-side .eyebrow{color:var(--ember)}
.map-side h2{font-size:clamp(2rem,4.5vw,3.2rem);margin:12px 0 14px;color:#fff}
.map-side p{color:#cbb5a6;line-height:1.6;margin-bottom:22px;max-width:42ch}
.map-side .row{display:flex;gap:12px;flex-wrap:wrap}

/* FAQ */
.faq{background:var(--cream)}
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.qa{background:var(--cream-2);border-radius:14px;overflow:hidden;border:1px solid rgba(224,83,28,.14)}
.qa button{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1.02rem;color:var(--ink)}
.qa .ico{flex:none;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-family:'Anton';transition:transform .3s;font-size:1.1rem}
.qa.open .ico{transform:rotate(45deg)}
.qa .ans{max-height:0;overflow:hidden;transition:max-height .35s ease}
.qa .ans p{padding:0 24px 22px;color:#5b4a40;line-height:1.65;font-size:.98rem}

/* Booking */
.book{position:relative;background:var(--char);color:#fff;overflow:hidden}
.book .sun2{position:absolute;top:50%;left:50%;width:120vmax;height:120vmax;transform:translate(-50%,-50%);opacity:.12;animation:spin 120s linear infinite}
.book-inner{position:relative;z-index:2;padding:100px 22px;max-width:1080px;margin:0 auto;text-align:center}
.book .eyebrow{color:var(--ember)}
.book h2{font-size:clamp(2.4rem,6vw,4.8rem);margin:16px 0 16px}
.book h2 .pop{color:var(--orange)}
.book .sub{color:#d8c4b4;font-size:1.1rem;max-width:50ch;margin:0 auto 14px;line-height:1.6}
.book-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:30px 0 12px}
.book-fine{color:#9c8675;font-family:'Oswald';text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}
.book-fine b{color:var(--uber)}
.steps{display:flex;justify-content:center;flex-wrap:wrap;margin-top:50px;max-width:760px;margin-inline:auto}
.step{flex:1;min-width:180px;padding:0 18px;margin-bottom:14px}
.step .n{width:44px;height:44px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Anton';display:grid;place-items:center;margin:0 auto 12px;font-size:1.2rem}
.step h4{font-family:'Oswald';text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;color:#fff;margin-bottom:6px}
.step p{color:#bda690;font-size:.84rem;line-height:1.5}

/* Footer */
footer{background:#140E0B;color:#cbb6a6;padding:64px 0 110px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;margin-bottom:46px}
footer .logo{height:52px;margin-bottom:18px}
footer h4{font-family:'Oswald';text-transform:uppercase;letter-spacing:.16em;color:#fff;font-size:.82rem;margin-bottom:16px;font-weight:600}
footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}
footer a:hover{color:var(--ember)}
.socials{display:flex;gap:11px;margin:16px 0 6px}
.socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.07);display:grid;place-items:center;transition:.25s;color:#fff}
.socials a:hover{background:var(--orange);transform:translateY(-3px)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:#A08A7A}
.foot-blurb{font-size:.9rem;line-height:1.6;color:#a08a7a;max-width:34ch;margin-top:4px}
.foot-cta{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}

/* Mobile sticky bar */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:85;display:none;gap:9px;padding:9px 11px;background:rgba(28,21,18,.97);backdrop-filter:blur(6px);box-shadow:0 -10px 30px rgba(0,0,0,.35)}
.mobile-cta a{flex:1;padding:14px 8px;font-size:.82rem;min-height:46px}

/* ---- Responsive ---- */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;text-align:center;padding-top:20px}
  .hero-copy .eyebrow,.hero p.lead{margin-inline:auto}
  .hero-actions,.hero-trust{justify-content:center}
  .hero-figure{order:-1}.hero-figure .plate{width:min(68vw,340px)}
  .seal{width:132px;height:132px;right:2%;bottom:0}
  .choice-grid,.vouch-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr)}
  .wild-grid{grid-template-columns:1fr}
  .menu-grid{grid-template-columns:repeat(2,1fr)}
  .dish.tall{grid-row:span 1;aspect-ratio:1}.dish.wide{grid-column:span 2}
  .dl-grid{grid-template-columns:1fr}
  .challenge-grid,.split,.split.rev,.map-wrap{grid-template-columns:1fr}
  .split.rev .split-media{order:0}
  .lb,.split-media,.map-frame{min-height:340px}
  .spec-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .nav-links{display:none}
  .nav-links.open{display:flex;position:fixed;inset:0;background:var(--char);flex-direction:column;justify-content:center;align-items:center;gap:26px;font-size:1.35rem;color:#fff;z-index:90}
  .nav-links.open a{color:#fff}
  .burger{display:flex}
  .nav-cta .btn{display:none}
  .pad{padding:64px 0}.pad-sm{padding:52px 0}
  .sec-head{margin-bottom:38px}
  .choice{padding:54px 0}
  .choice-card,.vouch-buy,.split-body,.challenge-copy,.map-side{padding-left:24px;padding-right:24px}
  .split-body,.challenge-copy,.map-side{padding-top:52px;padding-bottom:52px}
  .stats{grid-template-columns:repeat(2,1fr);gap:12px}
  .menu-grid,.spec-grid{grid-template-columns:1fr}
  .dish.wide{grid-column:span 1}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .spbanner-inner{flex-direction:column;align-items:flex-start;gap:14px;padding:22px}
  .sp-slide .price{font-size:2rem}.sp-slide .txt b{font-size:1.3rem}
  .kg-stats{justify-content:flex-start;flex-wrap:wrap;gap:22px}
  .steps{gap:28px}
  .book-actions .btn,.hero-actions .btn{width:100%}
  .hero-actions .or{display:none}
  .mobile-cta{display:flex}
  body{padding-bottom:0}
  footer{padding-bottom:96px}
  .body-lock{overflow:hidden}
}

/* Functions enquiry form */
.fnform{background:var(--cream)}
.fnform-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:stretch}
.fnform-media{position:relative;border-radius:var(--r);overflow:hidden;min-height:440px;box-shadow:0 24px 50px -28px rgba(28,21,18,.6)}
.fnform-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.fnform-stats{position:absolute;left:0;right:0;bottom:0;display:flex;background:linear-gradient(0deg,rgba(15,10,8,.94),transparent);padding:34px 16px 18px}
.fnform-stats div{flex:1;text-align:center;color:#fff}
.fnform-stats b{display:block;font-family:'Anton',sans-serif;font-size:1.2rem;color:var(--ember)}
.fnform-stats span{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:#e8d9cc}
.fnform-card{background:var(--cream-2);border-radius:var(--r);padding:40px 38px}
.fnform-card .eyebrow{color:var(--orange)}
.fnform-card h2{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:10px 0 8px;color:var(--ink)}
.fnform-card>p{color:#6b574b;line-height:1.55;margin-bottom:22px}
#fnForm{display:flex;flex-direction:column;gap:14px}
#fnForm .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#fnForm label{display:flex;flex-direction:column;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600;color:#725A4A;gap:6px}
#fnForm input,#fnForm select,#fnForm textarea{font-family:'Inter',sans-serif;font-size:.95rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink);padding:12px 14px;border-radius:10px;border:2px solid #e0cdb5;background:#fff;width:100%}
#fnForm input:focus,#fnForm select:focus,#fnForm textarea:focus{outline:none;border-color:var(--orange)}
#fnForm textarea{resize:vertical}
#fnForm button{margin-top:6px}
.fmsg{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;min-height:1.1em}
.fnote{margin-top:14px;font-size:.76rem;color:#9a8270;font-style:italic}
@media(max-width:880px){.fnform-grid{grid-template-columns:1fr}.fnform-media{min-height:260px}}
@media(max-width:560px){#fnForm .frow{grid-template-columns:1fr}}

/* Parallax feast band */
.feast{position:relative;background-image:url('../menu-items/big-jack-ribs.webp');background-size:cover;background-position:center;background-attachment:fixed;text-align:center;color:#fff}
.feast::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(20,14,10,.74),rgba(20,14,10,.82))}
.feast-inner{position:relative;z-index:2;padding:120px 22px;max-width:760px;margin:0 auto}
.feast .eyebrow{color:var(--ember)}
.feast h2{font-size:clamp(2.4rem,6vw,4.4rem);margin:14px 0 14px;text-shadow:0 6px 24px rgba(0,0,0,.4)}
.feast p{font-size:1.15rem;color:#f3e3d6;line-height:1.6;margin-bottom:28px}
.feast .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media(max-width:680px){.feast{background-attachment:scroll}.feast-inner{padding:84px 22px}}

/* Grill gallery marquee */
.grillgal{background:var(--char);padding:22px 0;overflow:hidden;border-top:4px solid var(--orange);border-bottom:4px solid var(--orange)}
.grillgal-track{display:flex;gap:14px;width:max-content;animation:gscroll 45s linear infinite}
.grillgal:hover .grillgal-track{animation-play-state:paused}
.grillgal img{height:150px;width:220px;object-fit:cover;border-radius:12px;flex:none}
@keyframes gscroll{to{transform:translateX(-50%)}}
@media(max-width:680px){.grillgal img{height:118px;width:172px}}

/* Scroll progress */
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--ember),var(--orange-bright));z-index:130;transition:width .12s ease-out}

/* Lightbox */
.lbx{position:fixed;inset:0;z-index:140;background:rgba(15,10,8,.93);display:none;align-items:center;justify-content:center;padding:24px}
.lbx.open{display:flex}
.lbx img{max-width:min(92vw,900px);max-height:80vh;border-radius:14px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.lbx .cap{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#fff;font-family:'Oswald';text-transform:uppercase;letter-spacing:.12em;font-size:.9rem}
.lbx-close{position:absolute;top:16px;right:20px;background:rgba(0,0,0,.4);border:none;color:#fff;font-size:1.6rem;cursor:pointer;line-height:1;width:48px;height:48px;border-radius:50%}
.mcard .ph{cursor:zoom-in}

/* Newsletter */
.news{background:linear-gradient(135deg,var(--orange),var(--orange-deep));color:#fff;text-align:center}
.news-inner{padding:84px 22px;max-width:680px;margin:0 auto}
.news .eyebrow{color:#ffe1cf}
.news h2{font-size:clamp(2rem,4.5vw,3.2rem);margin:10px 0 12px}
.news p{color:#fff2e9;font-size:1.08rem;margin-bottom:26px;line-height:1.6}
.news form{display:flex;gap:10px;max-width:480px;margin:0 auto;flex-wrap:wrap}
.news input{flex:1;min-width:200px;padding:16px 18px;border-radius:999px;border:none;font-size:1rem;font-family:'Inter'}
.news input:focus{outline:3px solid var(--char);outline-offset:2px}
.news .msg{margin-top:14px;font-family:'Oswald';text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;min-height:1.2em;color:#fff}
@media(max-width:680px){.news form .btn,.news form input{width:100%}}

/* Opening hours */
.hours{max-width:760px;margin:34px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:0 36px;background:var(--cream-2);border-radius:14px;padding:14px 30px}
.hours div{display:flex;justify-content:space-between;font-family:'Oswald';text-transform:uppercase;letter-spacing:.04em;font-size:.86rem;padding:11px 0;border-bottom:1px solid rgba(224,83,28,.14)}
.hours div span:last-child{color:var(--orange-deep);font-weight:600}
.hours-note{text-align:center;color:#725A4A;font-size:.82rem;margin-top:14px;font-style:italic}
@media(max-width:680px){.hours{grid-template-columns:1fr;gap:0;padding:8px 24px}}

/* Cookie banner */
.cookie{position:fixed;left:18px;right:auto;bottom:18px;z-index:120;max-width:560px;background:var(--char);color:#fff;border-radius:16px;padding:20px 22px;box-shadow:0 20px 50px -16px rgba(0,0,0,.6);border:1px solid rgba(244,166,35,.25)}
.cookie-body{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.cookie p{font-size:.88rem;line-height:1.5;color:#d8c4b4;flex:1;min-width:210px;margin:0}
.cookie p b{color:#fff}
.cookie a{color:var(--ember);text-decoration:underline;text-underline-offset:2px}
.cookie-btns{display:flex;gap:10px;flex:none}
.cookie .btn-line{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.4)}
.cookie .btn-line:hover{background:#fff;color:var(--char)}
@media(max-width:680px){.cookie{bottom:84px;left:10px;right:10px;max-width:none}.cookie-btns{width:100%}.cookie-btns .btn{flex:1}}

/* Avatars */
.av{border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;font-family:'Anton',sans-serif;color:#fff;background:var(--orange-deep);position:relative;line-height:1}
.av img{width:100%;height:100%;object-fit:cover}
.av-ring{box-shadow:0 0 0 3px rgba(244,166,35,.35)}

/* Champion spotlight (in challenge band) */
.champ{background:linear-gradient(165deg,#241a13,#0f0a07);border:1px solid rgba(244,166,35,.25);border-radius:var(--r);
  padding:34px 30px;text-align:center;color:#fff;box-shadow:0 30px 60px -28px rgba(0,0,0,.8);position:relative;overflow:hidden}
.champ::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 50% 0,rgba(224,83,28,.4),transparent 60%)}
.champ>*{position:relative;z-index:2}
.champ .crown{color:var(--ember);font-family:'Oswald';text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700}
.champ .av{width:118px;height:118px;margin:16px auto;font-size:2.4rem;box-shadow:0 0 0 4px rgba(244,166,35,.5),0 18px 30px -12px rgba(0,0,0,.7)}
.champ h3{font-size:1.9rem}
.champ .venue{color:#bda690;font-family:'Oswald';text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;margin-top:4px}
.champ .time{font-family:'Anton';font-size:3rem;color:var(--ember);line-height:1;margin-top:14px}
.champ .time small{display:block;font-family:'Oswald';font-size:.68rem;letter-spacing:.2em;color:#fff;margin-top:4px}

/* Leaderboard */
.lboard{background:#160f0b;color:#fff}
.lboard .sec-head h2{color:#fff}.lboard .sec-head p{color:#cbb5a6}
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;align-items:end;max-width:760px;margin:0 auto 26px}
.pod{background:linear-gradient(180deg,#241a13,#150f0b);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 18px;text-align:center;position:relative}
.pod .rank{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:'Anton';font-size:1.05rem;color:#160f0b}
.pod .av{width:74px;height:74px;margin:10px auto 12px;font-size:1.5rem}
.pod h3{font-size:1.2rem}
.pod .venue{color:#9c8675;font-family:'Oswald';text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;margin-top:3px}
.pod .time{font-family:'Anton';font-size:1.7rem;margin-top:10px}
.pod.p1{border-color:rgba(244,166,35,.55);box-shadow:0 0 0 1px rgba(244,166,35,.25),0 30px 50px -30px rgba(244,166,35,.5)}
.pod.p1 .av{width:92px;height:92px;box-shadow:0 0 0 4px rgba(244,166,35,.5)}
.pod.p1 .time{color:var(--ember);font-size:2.1rem}
.pod.p1 .rank{background:#F4A623}.pod.p2 .rank{background:#cfd2d6}.pod.p3 .rank{background:#d98c4f}
.pod.p1{padding-top:34px}
.lrows{max-width:760px;margin:0 auto}
.lrow{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:14px;transition:background .2s}
.lrow+.lrow{margin-top:8px}
.lrow:hover{background:rgba(255,255,255,.04)}
.lrow .pos{font-family:'Anton';font-size:1.1rem;color:#A08A7A;width:34px;flex:none;text-align:center}
.lrow .av{width:46px;height:46px;font-size:1rem}
.lrow .nm{flex:1;min-width:0}
.lrow .nm b{display:block;font-family:'Oswald';font-weight:600;font-size:1.02rem;letter-spacing:.02em}
.lrow .nm span{color:#9c8675;font-size:.8rem}
.lrow .tm{font-family:'Anton';font-size:1.3rem;color:var(--ember);flex:none}
.lrow .tm small{display:block;font-family:'Inter';font-size:.7rem;color:#A08A7A;text-align:right;letter-spacing:0}
.lboard-cta{text-align:center;margin-top:40px}
.lboard-note{text-align:center;color:#A08A7A;font-size:.8rem;margin-top:18px;font-style:italic}
@media(max-width:680px){
  .podium{grid-template-columns:1fr;max-width:340px;gap:30px}
  .pod.p1{order:-1}
  .lrow .nm span{display:none}
}

.mcard .mtop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.mcard .price2{font-family:'Anton',sans-serif;color:var(--orange);font-size:1.12rem;flex:none;line-height:1}
.mcard.needs-photo .ph{background:#160f0b}
.noimg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#9c8675;background:repeating-linear-gradient(45deg,#1d150f,#1d150f 12px,#221a13 12px,#221a13 24px)}
.noimg svg{width:30px;height:30px;opacity:.85}
.noimg span{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:600}
.menu-photo-wrap{text-align:center;margin-bottom:34px}
.menu-photo-note{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;color:var(--orange-deep);background:rgba(224,83,28,.1);border:1px solid rgba(224,83,28,.28);border-radius:999px;padding:10px 22px;display:inline-block}
.addons{margin-top:52px;background:var(--cream-2);border-radius:var(--r);padding:34px 32px}
.addons h3{font-size:1.35rem;color:var(--ink);text-align:center;margin-bottom:6px}
.addons .sub{text-align:center;color:#725A4A;font-size:.84rem;margin-bottom:22px;font-style:italic}
.addons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.addons-grid h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--orange);margin-bottom:10px;border-bottom:2px solid rgba(224,83,28,.2);padding-bottom:6px}
.addons-grid ul{list-style:none}
.addons-grid li{display:flex;justify-content:space-between;gap:10px;font-size:.9rem;color:#5b4a40;padding:4px 0}
.addons-grid li b{font-family:'Oswald',sans-serif;color:var(--ink);flex:none}
@media(max-width:680px){.addons-grid{grid-template-columns:1fr;gap:22px}}
/* Menu showcase */
.menu2-filter{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:42px}
.menu2-filter button{font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;padding:11px 20px;border-radius:999px;border:2px solid rgba(28,21,18,.15);background:transparent;color:var(--ink);cursor:pointer;transition:.25s;min-height:44px}
.menu2-filter button:hover{border-color:var(--orange)}
.menu2-filter button.on{background:var(--orange);border-color:var(--orange);color:#fff}
.menu2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.mcard{background:var(--cream);border-radius:var(--r);overflow:hidden;box-shadow:0 16px 40px -28px rgba(28,21,18,.5);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}
.mcard:hover{transform:translateY(-8px);box-shadow:0 28px 50px -26px rgba(28,21,18,.6)}
.mcard .ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#1a120e}
.mcard .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.mcard:hover .ph img{transform:scale(1.07)}
.mcard .tag{position:absolute;top:12px;left:12px;background:rgba(28,21,18,.85);color:var(--ember);font-family:'Oswald';text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;font-weight:700;padding:6px 11px;border-radius:999px}
.mcard .b{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.mcard h3{font-size:1.28rem;color:var(--ink);line-height:1.05}
.mcard p{color:#6b574b;font-size:.9rem;line-height:1.5;margin-top:8px;flex:1}
.mcard .pop2{font-family:'Oswald';font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin-top:13px}
.mcard.hide{display:none}
@media(max-width:980px){.menu2-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.menu2-grid{grid-template-columns:1fr}}

/* Accessibility */
.skip{position:absolute;left:-999px;top:0;z-index:200;background:var(--char);color:#fff;padding:12px 18px;border-radius:0 0 10px 0;font-family:'Oswald';text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
.skip:focus{left:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
a:focus-visible,button:focus-visible,input:focus-visible,.btn:focus-visible{outline:3px solid var(--ember);outline-offset:3px;border-radius:8px}
[id]{scroll-margin-top:88px}
svg.i{width:1em;height:1em;fill:currentColor;flex:none;vertical-align:-.12em}
.hero-trust span svg.i{width:1.05em;height:1.05em;opacity:.95}
.choice-icon svg.i{width:2.1rem;height:2.1rem}
.wild-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto;border-radius:50%;background:rgba(244,166,35,.12);border:1px solid rgba(244,166,35,.3);color:var(--ember)}
.wild-icon svg.i{width:2rem;height:2rem}
.lb-badge svg.i{width:1em;height:1em;margin-right:5px;vertical-align:-.12em}
.topbar svg.i{width:.95em;height:.95em;vertical-align:-.14em;color:var(--ember)}

/* Reviews / social proof */
.reviews{background:var(--cream-2)}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rev{background:var(--cream);border-radius:var(--r);padding:32px 30px;box-shadow:0 16px 40px -28px rgba(28,21,18,.5);position:relative;display:flex;flex-direction:column}
.rev .stars{display:flex;gap:3px;color:var(--orange);margin-bottom:14px}
.rev .stars svg{width:18px;height:18px;fill:currentColor}
.rev blockquote{font-size:1.05rem;line-height:1.6;color:#3d3029;font-style:italic;flex:1}
.rev .who{margin-top:18px;font-family:'Oswald';text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:600;color:var(--ink)}
.rev .who span{color:#725A4A;font-weight:400}
@media(max-width:980px){.rev-grid{grid-template-columns:1fr}}

/* Back to top */
.totop{position:fixed;right:18px;bottom:18px;z-index:70;width:48px;height:48px;border-radius:50%;background:var(--char);color:#fff;border:none;cursor:pointer;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s;box-shadow:0 10px 24px -8px rgba(0,0,0,.5)}
.totop.show{opacity:1;visibility:visible;transform:none}
.totop svg{width:22px;height:22px;fill:currentColor}
.totop:hover{background:var(--orange)}
@media(max-width:680px){.totop{bottom:78px;right:14px;width:44px;height:44px}}

/* Active nav link */
.nav-links a.active{color:var(--orange-bright)}
.nav.solid .nav-links a.active{color:var(--orange)}
.nav-links a.active::after{width:100%}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important}
  .sun,.sun2,.seal,.seal .ring{animation:none!important}
}

/* ===== Inner pages ===== */
.phero{position:relative;background:radial-gradient(120% 120% at 70% 10%,#FF7A2A,var(--orange) 45%,var(--orange-deep) 85%,#7E2A0C);color:#fff;padding:128px 22px 66px;text-align:center;overflow:hidden}
.phero .eyebrow{color:#ffe1cf}
.phero h1{font-size:clamp(2.5rem,7vw,4.8rem);margin:12px 0 12px;text-shadow:0 6px 20px rgba(0,0,0,.22)}
.phero p{max-width:60ch;margin:0 auto;color:#fff3e8;font-size:1.1rem;line-height:1.6}
.crumbs{max-width:var(--maxw);margin:0 auto;padding:16px 22px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:#725A4A}
.crumbs a{color:var(--orange)}.crumbs span{opacity:.6}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.vcard{background:var(--cream);border-radius:var(--r);overflow:hidden;box-shadow:0 16px 40px -28px rgba(28,21,18,.5);display:flex;flex-direction:column}
.vcard .vmedia{aspect-ratio:16/10;background:#1a120e;position:relative;overflow:hidden}
.vcard .vmedia img{width:100%;height:100%;object-fit:cover}
.vcard .vb{padding:24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.vcard h3{font-size:1.5rem;color:var(--ink)}
.vcard .addr{color:#6b574b;font-size:.95rem;line-height:1.5}
.vcard .vrow{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap;padding-top:16px}
.tel{font-family:'Oswald',sans-serif;font-weight:700;color:var(--orange);text-decoration:none;letter-spacing:.04em;font-size:1.05rem}
.menubar{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:1px solid rgba(28,21,18,.1);padding:12px 0;box-shadow:0 6px 20px -16px rgba(0,0,0,.4)}
.menubar .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.msearch{flex:1;min-width:200px;display:flex;align-items:center;gap:8px;background:#fff;border:2px solid #e0cdb5;border-radius:999px;padding:9px 16px}
.msearch svg{width:18px;height:18px;fill:#b89a82;flex:none}
.msearch input{border:none;outline:none;flex:1;font-family:'Inter',sans-serif;font-size:.95rem;background:transparent;color:var(--ink)}
.menubar-cats{display:flex;gap:8px;flex-wrap:wrap}
.menubar-cats button{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;font-weight:600;padding:9px 14px;border-radius:999px;border:2px solid rgba(28,21,18,.14);background:transparent;cursor:pointer;min-height:42px;color:var(--ink)}
.menubar-cats button.on{background:var(--orange);border-color:var(--orange);color:#fff}
.noresult{text-align:center;color:#725A4A;padding:40px;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;display:none}
/* Every page that uses .bens has exactly six cards. auto-fit/minmax(220px) laid them
   out 5 + 1 orphan on a wide screen, so the columns are pinned to a 3/2/1 ladder. */
.bens{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.bens{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.bens{grid-template-columns:1fr}}
.ben{background:var(--cream);border-radius:var(--r);padding:28px;border-top:5px solid var(--orange);box-shadow:0 16px 40px -28px rgba(28,21,18,.5)}
.ben h3{font-size:1.2rem;color:var(--ink);margin-bottom:8px}
.ben p{color:#6b574b;font-size:.92rem;line-height:1.5}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px;margin-bottom:44px}
.ccard{background:var(--cream);border-radius:var(--r);padding:26px;text-align:center;box-shadow:0 16px 40px -28px rgba(28,21,18,.5)}
.ccard h3{font-size:.92rem;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--orange);margin-bottom:8px}
.ccard a,.ccard p{color:var(--ink);font-size:1rem;text-decoration:none;line-height:1.5;display:block}
.formcard{max-width:720px;margin:0 auto;background:var(--cream-2);border-radius:var(--r);padding:40px 38px}
.formcard .eyebrow{color:var(--orange)}
.formcard h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--ink);margin:8px 0 8px}
.formcard>p{color:#6b574b;line-height:1.55;margin-bottom:20px}
form.std{display:flex;flex-direction:column;gap:14px}
form.std .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form.std label{display:flex;flex-direction:column;font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600;color:#725A4A;gap:6px}
form.std input,form.std select,form.std textarea{font-family:'Inter',sans-serif;font-size:.95rem;padding:12px 14px;border-radius:10px;border:2px solid #e0cdb5;background:#fff;width:100%;color:var(--ink)}
form.std input:focus,form.std textarea:focus,form.std select:focus{outline:none;border-color:var(--orange)}
form.std textarea{resize:vertical}
.fmsg2{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;min-height:1.1em}
.fnote2{margin-top:12px;font-size:.76rem;color:#9a8270;font-style:italic}
.legal{max-width:760px;margin:0 auto;padding:56px 22px 80px}
.legal h2{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.5rem;margin:30px 0 10px;color:var(--char)}
.legal p,.legal li{color:#3d3029;line-height:1.7;margin-bottom:10px}
.legal ul{padding-left:22px;margin-bottom:10px}
.legal .note{background:#fff;border-left:5px solid var(--orange);padding:16px 18px;border-radius:10px;margin:18px 0;font-size:.95rem}
@media(max-width:560px){form.std .frow{grid-template-columns:1fr}}

/* ===== Functions page ===== */
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.pkg{background:var(--cream);border-radius:var(--r);padding:32px 28px;border-top:6px solid var(--orange);box-shadow:0 16px 40px -28px rgba(28,21,18,.5);display:flex;flex-direction:column}
.pkg.feature{border-top-color:var(--char);box-shadow:0 26px 50px -26px rgba(224,83,28,.5);position:relative}
.pkg.feature::after{content:"Most popular";position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--char);color:var(--ember);font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.64rem;font-weight:700;padding:5px 14px;border-radius:999px}
.pkg .pname{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.5rem;color:var(--ink);letter-spacing:.5px}
.pkg .pprice{font-family:'Anton',sans-serif;font-size:2.4rem;color:var(--orange);line-height:1;margin:6px 0 2px}
.pkg .pprice small{font-family:'Oswald',sans-serif;font-size:.7rem;letter-spacing:.12em;color:#725A4A;text-transform:uppercase}
.pkg ul{list-style:none;margin:16px 0 22px;display:flex;flex-direction:column;gap:9px}
.pkg li{display:flex;gap:9px;align-items:flex-start;color:#5b4a40;font-size:.92rem;line-height:1.4}
.pkg li svg{width:16px;height:16px;fill:var(--orange);flex:none;margin-top:3px}
.pkg .btn{margin-top:auto}
.fgallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fgallery img{width:100%;height:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;display:block}
.fgallery .wide{grid-column:span 2;aspect-ratio:2}
@media(max-width:680px){.fgallery{grid-template-columns:repeat(2,1fr)}.fgallery .wide{grid-column:span 2}}
.fquote{max-width:760px;margin:0 auto;text-align:center}
.fquote blockquote{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.4rem,3.2vw,2.2rem);line-height:1.15;color:#fff}
.fquote .who{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--ember);margin-top:16px}

/* Functions page - extra */
.evgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.ev{background:var(--cream);border-radius:14px;padding:22px;text-align:center;box-shadow:0 14px 34px -28px rgba(28,21,18,.5);border-top:4px solid var(--orange)}
.ev b{display:block;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.1rem;color:var(--ink);letter-spacing:.5px}
.ev span{font-size:.84rem;color:#6b574b}
.hiw{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.hiwc{text-align:center;padding:10px}
.hiwc .n{width:48px;height:48px;border-radius:50%;background:var(--orange);color:#fff;font-family:'Anton',sans-serif;display:grid;place-items:center;margin:0 auto 12px;font-size:1.2rem}
.hiwc h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:1rem;color:var(--ink);margin-bottom:6px}
.hiwc p{color:#6b574b;font-size:.9rem;line-height:1.5}
.bday{background:linear-gradient(120deg,var(--char),#33261d);color:#fff;border-radius:var(--r);padding:34px 32px;text-align:center;position:relative;overflow:hidden}
.bday .eyebrow{color:var(--ember)}
.bday h3{font-size:clamp(1.6rem,3.5vw,2.4rem);margin:8px 0 8px;color:#fff}
.bday p{color:#cbb5a6;max-width:54ch;margin:0 auto;line-height:1.55}
.bday .free{color:var(--ember)}
.spaces{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.spc{background:var(--cream);border-radius:var(--r);overflow:hidden;box-shadow:0 16px 40px -28px rgba(28,21,18,.5);display:flex;flex-direction:column}
.spc .m{aspect-ratio:16/10;background-size:cover;background-position:center}
.spc .c{padding:24px 26px;display:flex;flex-direction:column;flex:1}
.spc h3{font-size:1.4rem;color:var(--ink)}
.spc p{color:#6b574b;font-size:.92rem;line-height:1.5;margin:8px 0 14px;flex:1}
@media(max-width:760px){.spaces{grid-template-columns:1fr}}

/* Drinks menu block (menu page) */
.drinks-block .drinks-hero{position:relative;border-radius:var(--r,16px);overflow:hidden;background-size:cover;background-position:center;min-height:240px;display:flex;align-items:flex-end;margin-bottom:18px}
.drinks-block .drinks-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,11,.15),rgba(20,14,11,.88))}
.drinks-hero-in{position:relative;z-index:2;padding:28px clamp(20px,4vw,40px)}
.drinks-hero-in .eyebrow{color:var(--ember,#F4A623)}
.drinks-hero-in h3{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(2rem,5vw,3rem);color:#fff;margin:6px 0 8px;line-height:.95}
.drinks-hero-in p{color:#e3d2c4;max-width:52ch;font-size:.96rem;line-height:1.55}
.drinks-highlights{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}
.dh-pill{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;color:#5b4a40;background:var(--cream-2,#f6e9d8);border:1px solid rgba(224,83,28,.18);border-radius:999px;padding:10px 16px}
.dh-pill b{color:var(--orange-deep,#B83E12);font-family:'Anton',sans-serif;letter-spacing:.5px;margin-right:4px}
@media(max-width:560px){.drinks-block .drinks-hero{min-height:180px}}

/* ---- Texture system (inner pages): charred timber on dark + footer, rust on page headers ---- */
footer{position:relative}
footer::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.32;mix-blend-mode:soft-light;background-image:url('../textures/char.webp');background-size:460px}
footer>.wrap{position:relative;z-index:1}
.dark{position:relative}
.dark::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.30;mix-blend-mode:soft-light;background-image:url('../textures/char.webp');background-size:460px}
.dark>.wrap{position:relative;z-index:1}
.phero{position:relative;isolation:isolate}
.phero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;mix-blend-mode:overlay;background-image:url('../textures/rust.webp');background-size:420px}
@media(prefers-reduced-motion:no-preference){}


/* Image-free text menu cards */
.mcard{background:#fff;border-top:4px solid var(--orange)}
.mcard .b{padding:22px 24px;flex:1}
.mtag{display:inline-block;font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:700;color:var(--orange);background:rgba(224,83,28,.1);padding:4px 10px;border-radius:999px;margin-bottom:11px}
.mcard .mtop{align-items:baseline;gap:14px}
.mcard h3{font-size:1.18rem;line-height:1.15}
.mcard .price2{white-space:nowrap}

/* Sectioned printed-style menu + dietary chips */
.mcat{margin-bottom:42px}
.mcat.hide{display:none}
.mcat-h{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(1.5rem,3vw,2.1rem);color:var(--ink,#160F0C);border-bottom:3px solid var(--orange,#E0531C);padding-bottom:8px;margin:0 0 20px;display:flex;align-items:center;gap:12px}
.mcat-n{font-family:'Oswald',sans-serif;font-size:.78rem;font-weight:600;color:#fff;background:var(--orange,#E0531C);border-radius:999px;padding:3px 10px;letter-spacing:.05em}
.mdiet{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.dchip{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;color:#0F6E56;background:rgba(31,110,86,.12);border-radius:999px;padding:3px 9px}
.dchip.spicy{color:#B83E12;background:rgba(224,83,28,.12)}

/* Signature Cuts steak feature (menu page) */
.sigcuts{background:radial-gradient(120% 130% at 80% -10%,#2a1d14,var(--char,#1C1512) 60%);color:#fff;padding:clamp(40px,6vw,64px) 0;text-align:center}
.sigcuts .wrap{max-width:880px}
.sigcuts .eyebrow{color:var(--ember,#F4A623)}
.sigcuts h2{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.5px;font-size:clamp(1.8rem,4.5vw,3rem);margin:12px 0 14px}
.sigcuts p{color:#d8c4b4;font-size:1.05rem;line-height:1.6;max-width:62ch;margin:0 auto 18px}
.sigcuts p a{color:var(--ember,#F4A623);text-decoration:underline}
.sig-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 22px}
.sig-tags span{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600;color:#e8d9cc;background:rgba(244,166,35,.12);border:1px solid rgba(244,166,35,.22);border-radius:999px;padding:7px 13px}

/* Dietary quick-filters */
.menubar-diet{flex-basis:100%;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding-top:4px}
.menubar-diet .mdiet-label{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:.66rem;font-weight:700;color:#725A4A;margin-right:2px}
.menubar-diet button{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700;border:1.5px solid rgba(31,110,86,.35);background:rgba(31,110,86,.08);color:#0F6E56;border-radius:999px;padding:7px 13px;cursor:pointer;min-height:38px}
.menubar-diet button.on{background:#0F6E56;color:#fff;border-color:#0F6E56}
.menubar-diet button[data-diet="spicy"]{border-color:rgba(224,83,28,.35);background:rgba(224,83,28,.08);color:#B83E12}
.menubar-diet button[data-diet="spicy"].on{background:#B83E12;color:#fff;border-color:#B83E12}

/* Sticky Book-a-Table bar (menu page) */
.menubook{position:fixed;left:50%;bottom:16px;transform:translate(-50%,160%);z-index:65;display:flex;align-items:center;gap:16px;background:var(--char,#1C1512);color:#fff;border-radius:999px;padding:10px 12px 10px 22px;box-shadow:0 18px 44px -14px rgba(0,0,0,.65);transition:transform .4s cubic-bezier(.2,.8,.2,1);max-width:calc(100% - 24px)}
.menubook.show{transform:translate(-50%,0)}
.menubook .mb-txt{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;white-space:nowrap}
.menubook .mb-txt b{color:var(--ember,#F4A623)}
.menubook .mb-btns{display:flex;gap:8px}
@media(max-width:520px){.menubook .mb-txt{display:none}.menubook{padding:8px;gap:8px}}

/* ===========================================================================
   ACCESSIBILITY - WCAG AA CONTRAST PASS
   Measured with a contrast checker across every page and breakpoint.
 --orange-ink  #A8380F  small orange TEXT on light panels
                            (brand #E0531C was 3.42:1 on cream - AA needs 4.5:1)
 --orange-btn  #CC4614  orange FILLS that sit behind white text
                            (white on #E0531C was 3.87:1)
   Large headings (24px+, which only need 3:1) and anything on a dark panel keep
   the original #E0531C. Selectors are prefixed with `html` so this block wins
   over the later inline <style> blocks regardless of document order.
   =========================================================================== */
:root{--orange-ink:#A8380F;--orange-btn:#CC4614}


/* ---- Prose section heads (added 2026-09-01) ----------------------------------
   An h2 or h3 sitting directly inside a .wrap had no rule at all, so it fell back
   to the browser default (h2 24px, h3 18.7px). On About Us that put a 24px section
   head on the same page as a .sec-head h2 at 61px, which is the "inconsistent text
   sizing" head office flagged. Scoped to .pad > .wrap > h* so the legal pages
   (div.legal / bare main) keep their deliberately smaller clause headings, and so
   .sec-head h2 and every component rule still win on specificity. */
.pad > .wrap > h2{font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.02;margin:8px 0 14px}
.pad > .wrap > h3{font-size:clamp(1.35rem,2.3vw,1.75rem);line-height:1.08;margin:8px 0 10px}
.pad > .wrap > h2 + p,.pad > .wrap > h3 + p{margin-top:0}
/* The global reset zeroes every margin, so consecutive prose paragraphs in a .wrap ran
   together as one block with no gap. Only stacked <p> siblings are affected. */
.pad > .wrap > p + p{margin-top:15px}
.pad > .wrap > ul,.pad > .wrap > ol{margin:14px 0 0 20px}


/* ---- Franchising nav chip (added 2026-09-01, head-office request) -------------
   Franchising is a separate PAGE, not one of the in-page tabs, so it gets its own
   outlined chip instead of sitting in the tab row. Colours use the AA-safe tokens:
   --orange-ink for text on cream, --orange-btn behind white text on hover. */
.nav-links a.nav-franchise{border:1.5px solid var(--orange-btn);color:var(--orange-ink);border-radius:999px;padding:6px 15px;line-height:1;white-space:nowrap}
.nav-links a.nav-franchise::after{display:none}
.nav-links a.nav-franchise:hover,.nav-links a.nav-franchise[aria-current="page"]{background:var(--orange-btn);border-color:var(--orange-btn);color:#fff}
.nav.transparent .nav-links a.nav-franchise{border-color:rgba(255,255,255,.8);color:#fff}
.nav-links.open a.nav-franchise{border-color:var(--orange-bright);color:#fff;padding:10px 26px}
/* Six nav items + two CTAs no longer fit on a tablet, so the burger now takes over
   below 1000px (it used to be 680px, which was already cramped at five items).
   Measured: the full bar needs ~975px, so iPad landscape at 1024px still shows
   every link including Franchising. */
@media(max-width:1000px){
  .nav-links{display:none}
  .nav-links.open{display:flex;position:fixed;inset:0;background:var(--char);flex-direction:column;justify-content:center;align-items:center;gap:26px;font-size:1.35rem;color:#fff;z-index:90}
  .nav-links.open a{color:#fff}
  .burger{display:flex}
}
@media(max-width:1180px){ .nav-links{gap:16px} .nav-links a.nav-franchise{padding:6px 12px} }


/* small orange text on light backgrounds */
html .sec-head .eyebrow,html .rules-head .eyebrow,html .loved-head .eyebrow,
html .split-body .eyebrow,html .fnform-card .eyebrow,html .formcard .eyebrow,
html .kr-body .eyebrow,html .about-intro .eyebrow,
html .crumbs a,html .ccard h3,html .spec .day,html .mtag,html .price2,
html .rc-num,html .rev-chip .rc-num,html .rev-go,html .rev .rev-go,html .rev-more,
html .tel,html .go,html .addons h4,html .btn-outline,html .mdiet-label,
html .chip,html .hours div span:last-child,html .drinkcard li b,html .legal-fine a,
html .menu-photo-note,html .dchip.spicy,html .dh-pill b,
html .nav.solid .nav-links a.tab-active,html .nav.solid .nav-links a.active{color:var(--orange-ink)}

/* orange fills behind white text */
html .btn-primary,html .racc-ico,html .rules-acc .racc-ico,html .qa .ico,
html .n,html .step .n,html .mcat-n,html .spec .today-flag,
html .mcats button.on,html .menubar-cats button.on,html #mCats button.on{background:var(--orange-btn)}
html .kr-stamp{background:#1E7A38}

/* muted text */
html .crumbs{color:#7A6152}

/* dark panels keep the bright orange - already 4.65:1 on charcoal */
html .dark .sec-head .eyebrow,html .dark .split-body .eyebrow,html .dark .eyebrow,
html .dark .btn-outline,html .challenge .eyebrow,html .lboard .eyebrow{color:var(--orange)}

/* these three carry an extra class in their original selector, so they need it here too */
html .mcard .price2,html .dl .go{color:var(--orange-ink)}
html .hiwc .n{background:var(--orange-btn)}

/* ===========================================================================
   MOBILE / TOUCH PASS
   Measured on real phone widths (320-430). Two classes of fix:
   1. iOS Safari zooms the whole page when you focus an input smaller than 16px,
      and the user then has to pinch back out. Every form field goes to 16px.
   2. Touch targets. Apple asks for 44x44pt, Google for 48dp. The burger, the
      specials-banner dots, the topbar links, the footer socials and the small
      buttons were all under that.
   Desktop is untouched - everything here is inside the mobile media query,
   except the input sizing, which is safe (and better) everywhere.
   =========================================================================== */
html form.std input,html form.std select,html form.std textarea,
html #mSearch,html input[type=text],html input[type=email],html input[type=tel],
html input[type=number],html input[type=date],html select,html textarea{font-size:16px}

@media(max-width:820px){
  /* primary mobile nav control */
  html .burger{min-width:46px;min-height:46px;padding:10px;justify-content:center;align-items:center}
  /* the rotating specials banner dots were 9x9 - keep the dot, grow the hit area */
  html .sp-dots{gap:2px}
  html .sp-dots button,html .sp-dots button.on{width:34px;height:34px;padding:0;background:none;border:none;position:relative}
  html .sp-dots button::after{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;
    transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.32)}
  html .sp-dots button.on::after,html .sp-dots button[aria-current]::after{background:var(--ember)}
  /* topbar links were 17px tall */
  html .topbar a{display:inline-block;padding:9px 2px}
  /* footer socials 40 -> 46 */
  html .socials a{width:46px;height:46px}
  /* buttons and menu filter chips to a comfortable 46 */
  html .btn-sm{min-height:46px}
  html .btn{min-height:46px}
  html .mcats button,html #mCats button,html .menubar-cats button,html .mdiet button{min-height:44px}
  /* stacked link lists inside cards (phone, email, order links) */
  html .ccard a{padding:9px 0;min-height:44px}
  html .foot-grid ul li a{display:inline-block;padding:7px 0}
  /* accordion headers */
  html .qa button{min-height:56px}

  /* Specials banner. The slides are position:absolute inside .sp-slides, so the container
     cannot grow to fit wrapped text - at phone widths the copy was overflowing its 64px box
     and colliding with the tag and the dots. Give it room and keep the sub-line to 2 lines. */
  html .spbanner-inner{gap:10px;padding:18px 20px 14px;min-height:0}
  html .spbanner .tag{font-size:.7rem;letter-spacing:.14em;line-height:1.3}
  html .sp-slides{min-height:96px;width:100%}
  html .sp-slide{gap:12px;align-items:flex-start}
  html .sp-slide .price{font-size:1.9rem;flex:none}
  html .sp-slide .txt b{font-size:1.05rem;line-height:1.08;margin-bottom:3px}
  html .sp-slide .txt span{font-size:.8rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  html .sp-dots{align-self:center}

  /* remaining sub-44px targets found by measurement */
  html .topbar a{padding:14px 4px}
  html .sp-dots button,html .sp-dots button.on{width:44px;height:44px}
  html .menubar-diet button,html #mDiet button{min-height:44px}
  html a.tel{display:inline-block;padding:10px 0;min-height:44px}
  html .rev-more,html .rc-chip{display:inline-block;padding:11px 2px;min-height:44px}
}

.menu-diet-note{max-width:820px;margin:14px auto 0;text-align:center;color:#725A4A;font-size:.8rem;line-height:1.6}
.menu-diet-note a{color:var(--orange-deep);text-decoration:underline}
