/* Megabite v2 site styles, built by build/tools/build_css.py on the design files + app.css. Do not edit by hand. */
/* ---- tokens.css ---- */
/* Megabite Pizza — generated from tokens.json */
:root, [data-theme="light"] {
  --red-500: #ed1d24; /* Signature Red — the logo's red and the core brand colour. Large fills, stickers, promo panels, the cover. Ivory text on it only at 24px+ or bold 19px+ (4.35:1); as text, only on black-900 (4.54:1). */
  --red-600: #bd0f15; /* Red shade. Button and label fills that carry small text (ivory on it 6.44:1); red text on ivory grounds (6.44:1 on ivory-100). */
  --red-700: #970c11; /* Deepest red. Hover/pressed fills, sticker grounds, and red text on ivory-300 or on red-tinted packaging (7.27:1+). */
  --ivory-100: #fffff5; /* Accent Ivory. Light page ground and text on reds and black. */
  --ivory-200: #fff8e7; /* Ivory shade. Raised panels and cards on an ivory-100 page. */
  --ivory-300: #f7e7ce; /* Warm ivory (crust). Sticker grounds, hairlines on ivory, muted text on black (16.3:1). */
  --black-900: #010b13; /* Accent Black. Dark page ground and primary text on ivory (19.7:1). */
  --black-700: #343434; /* Charcoal. Raised panels on black, secondary text on ivory (12.4:1). */
  --black-500: #696969; /* Grey. Sticker grounds (ivory icon on it 5.46:1) and tertiary text on ivory-100/200 only — it fails on black. */
  --surface: var(--ivory-100); /* Page background. Ivory in light, Accent Black in dark. */
  --surface-raised: var(--ivory-200); /* Cards, panels and menus on surface. */
  --surface-brand: var(--red-500); /* Signature-red panels and promo blocks; text on it is on-brand at 24px+ or bold 19px+. */
  --line: var(--ivory-300); /* Decorative hairlines and dividers only — too light to outline a control; controls use ink borders. */
  --ink: var(--black-900); /* Primary text and control borders, on surface and surface-raised (12.4:1+ in both themes). */
  --ink-muted: var(--black-700); /* Secondary text and metadata, on surface and surface-raised (10.2:1+ in both themes). */
  --brand-text: var(--red-600); /* Red text and links. Light: on surface/surface-raised (6.1:1+). Dark: on surface only (4.54:1) — not on surface-raised (2.85:1). */
  --action: var(--red-600); /* Primary button and red label fills that carry small text; 3.06:1 as a shape on black. */
  --action-hover: var(--red-700); /* Hover and pressed state of action. */
  --on-action: var(--ivory-100); /* Text and icons on action, action-hover and red-700 fills (6.44:1+). */
  --on-brand: var(--ivory-100); /* Headline text and icons on surface-brand / red-500 — 24px+ or bold 19px+ only (4.35:1). */
  --focus-ring: var(--black-900); /* Keyboard focus: a solid 2px ring with a 2px surface gap; 19:1 against either surface. */
}
[data-theme="dark"] {
  --surface: var(--black-900);
  --surface-raised: var(--black-700);
  --surface-brand: var(--red-500);
  --line: var(--black-700);
  --ink: var(--ivory-100);
  --ink-muted: var(--ivory-300);
  --brand-text: var(--red-500);
  --action: var(--red-600);
  --action-hover: var(--red-700);
  --on-action: var(--ivory-100);
  --on-brand: var(--ivory-100);
  --focus-ring: var(--ivory-100);
}
:root {
  --space-1: 4px; /* Icon-to-text gaps. */
  --space-2: 8px; /* Tight gaps inside labels and stickers. */
  --space-3: 12px; /* Gaps between buttons and inline items. */
  --space-4: 16px; /* Card padding, mobile page gutter. */
  --space-6: 24px; /* Gaps between cards; section padding on mobile. */
  --space-8: 32px; /* Section padding; promo panel padding. */
  --space-12: 48px; /* Space between page sections. */
  --space-16: 64px; /* Hero and poster margins. */
  --radius-sm: 6px; /* Labels and small tags (the red header bars in the guidelines). */
  --radius-md: 12px; /* Inputs, small cards, photo crops. */
  --radius-lg: 24px; /* Large cards and panels (the type-specimen card). */
  --radius-pill: 999px; /* Buttons, pill labels and oval stickers. */
  --logo-ig-post: 350px; /* Instagram post 1080×1350 — bottom right. */
  --logo-ig-reel: 685px; /* Instagram reel 1080×1920 — centred. */
  --logo-youtube: 900px; /* YouTube video 1920×1080 — centred. */
  --logo-letter-min: 2in; /* Letter 8.5×11 in — minimum width. */
  --logo-letter-max: 6in; /* Letter 8.5×11 in — maximum width. */
  --logo-poster-min: 6in; /* Poster 24×36 in — minimum width. */
  --logo-poster-max: 18in; /* Poster 24×36 in — maximum width. */
  --font-display: "Program OT", "TT Commons Pro", system-ui, sans-serif;
  --font-sans: "TT Commons Pro", system-ui, sans-serif;
  --font-script: "Market Pro", "Marker Felt", cursive;
  --font-script-cond: "Market Pro Cond", "Market Pro", cursive;
  --text-display-xl: 700 96px/0.92 var(--font-display); /* Posters, hero banners and social headlines. One per layout. */
  --text-display-l: 700 64px/0.95 var(--font-display); /* Promo headlines on red panels and photography. */
  --text-headline: 700 40px/1 var(--font-display); /* Section headlines and page titles. */
  --text-title: 700 28px/1.1 var(--font-display); /* Card and module titles. */
  --text-callout-l: 400 44px/1.05 var(--font-script); /* Handwritten kicker over a display headline. Short phrases only. */
  --text-callout: 400 28px/1.1 var(--font-script); /* Hand-written asides and annotations next to photos or prices. */
  --text-lead: 400 20px/28px var(--font-sans); /* Intro paragraphs. */
  --text-body: 400 16px/24px var(--font-sans); /* Longer copy — menus, web pages, captions. */
  --text-body-strong: 700 16px/24px var(--font-sans); /* Emphasis inside body copy; button labels. */
  --text-label: 700 13px/16px var(--font-sans); /* Uppercase labels, tags and sticker text. */
  --text-caption: 500 13px/18px var(--font-sans); /* Captions, legal and fine print. */
}
.display-xl {
  font-family: var(--font-display);
  font-size: 96px;
  line-height: 0.92;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.display-l {
  font-family: var(--font-display);
  font-size: 64px;
  line-height: 0.95;
  font-weight: 700;
  letter-spacing: -0.015em;
}
.headline {
  font-family: var(--font-display);
  font-size: 40px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.title {
  font-family: var(--font-display);
  font-size: 28px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0;
}
.callout-l {
  font-family: var(--font-script);
  font-size: 44px;
  line-height: 1.05;
  font-weight: 400;
  letter-spacing: 0;
}
.callout {
  font-family: var(--font-script);
  font-size: 28px;
  line-height: 1.1;
  font-weight: 400;
  letter-spacing: 0;
}
.lead {
  font-family: var(--font-sans);
  font-size: 20px;
  line-height: 28px;
  font-weight: 400;
  letter-spacing: 0;
}
.body {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  font-weight: 400;
  letter-spacing: 0;
}
.body-strong {
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
.label {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 16px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.caption {
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 18px;
  font-weight: 500;
  letter-spacing: 0;
}
@font-face {
  font-family: "Program OT";
  src: url("/v2/fonts/ProgramOT-Book.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Program OT";
  src: url("/v2/fonts/ProgramOT-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Program OT";
  src: url("/v2/fonts/ProgramOT-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/v2/fonts/TTCommonsPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/v2/fonts/TTCommonsPro-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/v2/fonts/TTCommonsPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TT Commons Pro";
  src: url("/v2/fonts/TTCommonsPro-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Market Pro";
  src: url("/v2/fonts/MarketPro-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Market Pro";
  src: url("/v2/fonts/MarketPro-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Market Pro Cond";
  src: url("/v2/fonts/MarketPro-CondMedium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* ---- base.css ---- */
/* Megabite — shared site styles. Values come from tokens.css (the Megabite design system). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{margin:0;overflow-x:clip;background:var(--ivory-100);color:var(--ink);font:400 16px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--brand-text)}
a:hover{color:var(--red-700)}
h1,h2,h3,h4,p{margin:0}
button{font:inherit}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.wrap{max-width:1360px;margin:0 auto;padding:0 32px}
@media (max-width:640px){.wrap{padding:0 16px}}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type helpers */
.kicker{font:400 40px/1.05 var(--font-script);color:var(--brand-text)}
.eyebrow{font:700 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}
.h-xl{font:700 clamp(56px,7.4vw,112px)/.9 var(--font-display);letter-spacing:-.025em;text-transform:uppercase}
.h-l{font:700 clamp(40px,4.6vw,64px)/.95 var(--font-display);letter-spacing:-.015em;text-transform:uppercase}
.h-m{font:700 clamp(30px,3vw,40px)/1 var(--font-display);letter-spacing:-.01em}
.h-s{font:700 28px/1.1 var(--font-display)}
.lead{font:400 20px/28px var(--font-sans);color:var(--ink-muted)}
.muted{color:var(--ink-muted)}
@media (max-width:640px){.kicker{font-size:32px}.lead{font-size:18px;line-height:26px}}

/* buttons (Megabite Button component) */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:700 16px/24px var(--font-sans);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-lg{height:56px;padding:0 32px;font-size:19px}
.btn-primary{background:var(--action);color:var(--on-action)}
.btn-primary:hover{background:var(--action-hover);color:var(--on-action)}
.btn-secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-secondary:hover{background:var(--ivory-200);color:var(--ink)}
.btn-inverse{background:var(--ivory-100);color:var(--red-700)}
.btn-inverse:hover{background:var(--ivory-300);color:var(--red-700)}
.btn-block{width:100%}

/* labels (Megabite Label component) */
.label{display:inline-flex;align-items:center;font:700 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:var(--radius-sm);background:var(--action);color:var(--on-action)}
.label.pill{border-radius:999px;padding:4px 12px}
.label.ink{background:var(--ink);color:var(--surface)}
.label.ivory{background:var(--ivory-100);color:var(--red-600)}

/* stickers (Megabite Sticker component) — site.js draws the shape */
.sticker{position:relative;display:inline-grid;place-items:center;flex:none;width:var(--s,120px);height:var(--s,120px);transform:rotate(var(--tilt,0deg))}
.sticker.oval{height:calc(var(--s,120px)*.62)}
.sticker>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sticker>svg *{fill:var(--fill);stroke:var(--sticker-line,var(--ivory-100));stroke-width:8px;stroke-linejoin:round;vector-effect:non-scaling-stroke;paint-order:stroke}
.sticker.no-line>svg *{stroke:none}
.sticker{filter:drop-shadow(0 4px 6px rgba(1,11,19,.12))}
.sticker .stk-in{position:relative;display:grid;place-items:center;min-width:0;text-align:center;font:800 var(--fs,15px)/1.05 var(--font-sans);letter-spacing:.03em;text-transform:uppercase;padding:calc(var(--s,120px)*.14);width:100%;height:100%;box-sizing:border-box;overflow:visible}
.sticker.oval .stk-in{padding:calc(var(--s,120px)*.08) calc(var(--s,120px)*.14)}
.sticker .stk-t{display:block;max-width:100%;padding-left:.03em}
.sticker .stk-in img{max-width:100%;max-height:100%;object-fit:contain}
.sticker.red{--fill:var(--red-500);color:var(--ivory-100)}
.sticker.deep{--fill:var(--red-700);color:var(--ivory-100)}
.sticker.ivory{--fill:var(--ivory-100);color:var(--red-600)}
.sticker.crust{--fill:var(--ivory-300);color:var(--red-700)}
.sticker.grey{--fill:var(--black-500);color:var(--ivory-100)}
.sticker.black{--fill:var(--black-900);color:var(--ivory-100)}

/* image placeholders */
.ph{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:var(--ivory-300);border:2px dashed var(--black-500);color:var(--black-700);font:700 13px/18px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}

/* accents: hand-drawn marks, black by default, white on red or dark */
.acc{display:block;pointer-events:none;height:auto}
.acc.white{filter:invert(1)}

/* header */
.sitenav{position:sticky;top:0;z-index:50;background:rgba(255,255,245,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid transparent;transition:border-color .2s}
.sitenav.scrolled{border-bottom-color:var(--line)}
.sitenav .bar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.brand{display:block;line-height:0;flex:none}
.brand img{width:178px;height:auto;margin:-12px -16px}
.mainnav{display:flex;gap:28px;font:700 16px/24px var(--font-sans)}
.mainnav a{color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.mainnav a:hover{color:var(--brand-text)}
.mainnav a[aria-current="page"]{color:var(--brand-text);border-bottom-color:var(--brand-text)}
.acct{display:flex;align-items:center;gap:12px}
.cartbtn{position:relative;width:44px;height:44px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}
.cartbtn:hover{background:var(--ivory-200)}
.cartbtn .badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--action);color:var(--on-action);font:700 12px/22px var(--font-sans);text-align:center}
.cartbtn .badge:empty,.cartbtn .badge[data-n="0"]{display:none}
.cartbtn.bump{animation:bump .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes bump{40%{transform:scale(1.18)}}
.navtog{display:none;width:44px;height:44px;border:2px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.navtog span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px}
.mnav{position:fixed;inset:0;z-index:100;pointer-events:none;overflow:hidden}
.mnav-scrim{position:absolute;inset:0;background:rgba(1,11,19,.5);opacity:0;transition:opacity .25s}
.mnav-panel{position:absolute;top:0;right:0;bottom:0;width:min(380px,88vw);background:var(--ivory-100);padding:20px 24px 32px;display:flex;flex-direction:column;gap:24px;transform:translateX(100%);transition:transform .3s cubic-bezier(.16,.84,.28,1);overflow-y:auto}
.mnav.on{pointer-events:auto}.mnav.on .mnav-scrim{opacity:1}.mnav.on .mnav-panel{transform:none}
.mnav-top{display:flex;justify-content:space-between;align-items:center}
.mnav-top img{width:150px;margin:-10px -14px}
.mnav-x{width:44px;height:44px;border-radius:999px;border:2px solid var(--ink);background:transparent;font:700 22px/1 var(--font-sans);cursor:pointer;color:var(--ink)}
.mnav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mnav li a{display:block;padding:14px 0;border-bottom:2px solid var(--line);font:700 28px/1.1 var(--font-display);color:var(--ink);text-decoration:none}
.mnav li a[aria-current="page"]{color:var(--brand-text)}
@media (max-width:1060px){.mainnav,.acct .btn-secondary{display:none}.navtog{display:flex}}
@media (max-width:520px){.acct .btn-primary{padding:0 16px}.brand img{width:150px}}

/* footer */
.foot{background-color:var(--red-600);color:var(--ivory-100);margin-top:96px}
.foot a{color:var(--ivory-100);text-decoration:none}
.foot a:hover{text-decoration:underline;color:var(--ivory-100)}
.foot .top{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;padding-top:64px;padding-bottom:40px}
.foot .tag{font:400 32px/1.1 var(--font-script);max-width:320px;margin-top:16px}
.foot .cols{display:flex;flex-wrap:wrap;gap:40px}
.foot .col{display:flex;flex-direction:column;gap:10px;min-width:150px}
.foot .col .eyebrow{color:var(--ivory-100);margin-bottom:4px}
.foot .news{display:flex;flex-direction:column;gap:8px;max-width:400px;flex:1 1 320px}
.foot .news .row{display:flex;gap:8px;flex-wrap:wrap}
.foot input{flex:1 1 200px;min-width:0;height:48px;padding:0 18px;border:2px solid var(--ivory-100);border-radius:999px;background:transparent;color:var(--ivory-100);font:400 16px/24px var(--font-sans)}
.foot input::placeholder{color:var(--ivory-100);opacity:1}
.foot .big{padding-bottom:16px}
.foot .big img{width:100%;max-width:1200px;margin:0 auto -4%}
.foot .bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;padding-bottom:32px;border-top:1px solid var(--ivory-100);font:500 13px/18px var(--font-sans)}
.foot .soc{display:flex;gap:18px}
.foot .brandcol{display:flex;flex-direction:column;gap:28px}
.foot .socb{display:flex;gap:10px}
.foot .socb a{width:46px;height:46px;border-radius:50%;background:var(--ivory-100);color:var(--red-700);display:grid;place-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s}
.foot .socb a:hover{text-decoration:none;color:var(--red-700);background:#fff;transform:translateY(-3px) rotate(-8deg)}
.foot .socb a:focus-visible{outline:2px solid var(--ivory-100);outline-offset:3px}
.foot .socb svg{width:21px;height:21px}

/* forms */
.field{display:flex;flex-direction:column;gap:8px}
.input{height:48px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;background:var(--ivory-100);color:var(--ink);font:400 16px/24px var(--font-sans);min-width:0}

/* scroll-driven reveals: data-rv="up|left|right|scale|pop"; children of [data-stagger] get rising delays */
.rv{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,.84,.28,1) var(--d,0ms),transform .9s cubic-bezier(.16,.84,.28,1) var(--d,0ms)}
.rv[data-rv="left"]{transform:translateX(-56px)}
.rv[data-rv="right"]{transform:translateX(56px)}
.rv[data-rv="scale"]{transform:scale(.92)}
.rv[data-rv="pop"]{transform:scale(.4) rotate(-18deg);transition-timing-function:cubic-bezier(.3,1.5,.5,1)}
.rv[data-rv="draw"]{clip-path:inset(0 100% 0 0);opacity:1;transform:none;transition:clip-path 1s cubic-bezier(.6,0,.2,1) var(--d,0ms)}
.rv.in{opacity:1;transform:none}
.rv[data-rv="draw"].in{clip-path:inset(0 0 0 0)}
[data-parallax]{will-change:transform}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv,.rv[data-rv]{opacity:1;transform:none;transition:none;clip-path:none}[data-parallax]{transform:none!important}.btn,.sticker{transition:none}}

/* brand squiggles: js/squiggles.js draws the lines; every squiggle shares one stroke width (--sq-w) */
:root{--sq-w:clamp(18px,2.1vw,30px)}
.sq{position:relative;isolation:isolate;overflow:hidden}
.sq>.sqbg{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.sqbg path{fill:none;stroke:var(--sq-c,rgba(1,11,19,.08));stroke-width:var(--sq-w);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sq-red{background-color:var(--red-500);--sq-c:#d6151c}
.sq-deep{background-color:var(--red-600);--sq-c:#a90d13}
.sq-ivory{background-color:var(--ivory-200);--sq-c:#f6e6cc}
.sq-cream{--sq-c:#f8ecd8}
.sq-black{background-color:var(--black-900);--sq-c:#18212a}
.sq-char{background-color:#1c1c1c;--sq-c:#333333}
.sqline{display:block;height:auto;overflow:visible}
.doodle{display:block;width:100%;height:100%}

/* compact footer on phones */
@media (max-width:640px){
  .foot{margin-top:64px}
  .foot .top{gap:24px;padding-top:36px;padding-bottom:24px}
  .foot .brandcol{flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:12px}
  .foot .brandcol>img{width:150px!important;margin:-10px -14px!important}
  .foot .socb{gap:8px}
  .foot .socb a{width:38px;height:38px}
  .foot .socb svg{width:18px;height:18px}
  .foot .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;width:100%}
  .foot .col{min-width:0;gap:7px;font-size:14px;line-height:19px}
  .foot .col .eyebrow{font-size:11px;margin-bottom:2px}
  .foot .news{flex-basis:100%;gap:6px}
  .foot input{height:44px}
  .foot .news .btn{height:44px}
  .foot .bot{gap:8px;padding-top:14px;padding-bottom:20px;font-size:12px;line-height:16px}
}

/* compact footer on desktop: logo + socials | links | newsletter in one band */
@media (min-width:901px){
  .foot .top{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(280px,360px);gap:24px 56px;align-items:start;padding-top:44px;padding-bottom:30px}
  .foot .brandcol{gap:18px}
  .foot .cols{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));justify-content:center;gap:12px 56px}
  .foot .col{gap:6px;min-width:0;font:400 15px/22px var(--font-sans)}
  .foot .col .eyebrow{margin-bottom:2px}
  .foot .news{max-width:none;flex:none}
  .foot .bot{padding-top:16px;padding-bottom:22px}
}
@media (min-width:901px) and (max-width:1180px){.foot .top{gap:24px 32px}.foot .cols{gap:12px 28px}}
/* small phones: keep the header inside the screen */
@media (max-width:380px){.sitenav .bar{gap:10px}.brand img{width:128px;margin:-10px -12px}.acct{gap:8px}.acct .btn-primary{padding:0 14px;font-size:15px}.cartbtn,.navtog{width:40px;height:40px}}
/* Solid pill buttons get the same raised, pressable look as the home hero's Order Now:
   a darker edge underneath, a small lift on hover, and they sink into the edge when pressed. */
.btn-primary,.btn-inverse,.addbtn,.ogo{--lift:5px;--edge:#6d070b;box-shadow:0 var(--lift) 0 var(--edge),0 14px 24px -14px rgba(1,11,19,.45);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background-color .15s,color .15s}
.btn-inverse{--edge:var(--red-700)}
.btn-lg{--lift:6px}
.obtn{--lift:4px}
.btn-primary:hover,.btn-inverse:hover,.addbtn:hover:not(:disabled),.opt:hover .ogo{transform:translateY(-2px);box-shadow:0 calc(var(--lift) + 2px) 0 var(--edge),0 18px 28px -14px rgba(1,11,19,.5)}
.btn-primary:active,.btn-inverse:active,.addbtn:active:not(:disabled),.opt:active .ogo{transform:translateY(calc(var(--lift) - 1px));box-shadow:0 1px 0 var(--edge),0 6px 12px -10px rgba(1,11,19,.45);transition-duration:.08s}
.addbtn:disabled{box-shadow:none}
@media (prefers-reduced-motion:reduce){.btn-primary,.btn-inverse,.addbtn,.ogo{transition:background-color .15s,color .15s}}

/* ---- pages.css ---- */
/* Megabite — shared styles for Deals, Locations, Catering and FAQ (plus the map used on Home). */

/* page hero: text panel + photo */
.phero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;padding-top:16px}
.phero .txt{background-color:var(--ivory-200);border-radius:var(--radius-lg);padding:56px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px;position:relative;overflow:hidden}
.phero.red .txt{background-color:var(--red-500);color:var(--ivory-100)}
.phero.red .kicker{color:var(--ivory-100)}
.phero h1{font:700 clamp(56px,7vw,112px)/.88 var(--font-display);letter-spacing:-.025em;text-transform:uppercase}
.phero .lede{font:400 21px/30px var(--font-sans);max-width:520px}
.phero:not(.red) .lede{color:var(--ink-muted)}
.phero .pic{position:relative;min-height:520px;border-radius:var(--radius-lg)}
.phero .pic .clip{position:absolute;inset:0;border-radius:var(--radius-lg);overflow:hidden}
.phero .pic .clip img{width:100%;height:112%;margin-top:-6%;object-fit:cover}
.phero .stk{position:absolute;z-index:2}
.phero .cta{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.storechip{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--ivory-100);color:var(--ink);border-radius:999px;padding:8px 8px 8px 16px;font:700 15px/20px var(--font-sans)}
.storechip svg{color:var(--red-600);flex:none}
.storechip a{background:var(--ink);color:var(--ivory-100);border-radius:999px;padding:6px 14px;text-decoration:none;font:700 13px/18px var(--font-sans)}
@media (max-width:900px){.phero{grid-template-columns:minmax(0,1fr)}.phero .pic{min-height:380px}.phero .txt{padding:36px 24px}}

.sec2{padding-top:104px}
.sec2 .hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.sec2 .hd .kicker{font-size:36px;display:block}
.sec2 .hd p{max-width:460px;color:var(--ink-muted);font:400 18px/26px var(--font-sans)}
@media (max-width:640px){.sec2{padding-top:72px}}

/* filter chips */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.chip{height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 16px/1 var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,color .2s}
.chip:hover{background:var(--ivory-200)}
.chip.on{background:var(--ink);color:var(--ivory-100)}
.chip .n{font-weight:500;opacity:.65}

/* ---------- deals ---------- */
.dfeat{display:grid;grid-template-columns:1.3fr 1fr;gap:20px}
.dbig{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--red-500);color:var(--ivory-100);border-radius:var(--radius-lg);overflow:hidden;min-height:420px}
.dbig .pic{position:relative}.dbig .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dbig .bd{padding:40px 36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}
.dbig .kicker{color:var(--ivory-100)}
.dbig h3{font:700 clamp(40px,4vw,60px)/.92 var(--font-display);text-transform:uppercase;letter-spacing:-.02em}
.dbig .fine{font:500 13px/18px var(--font-sans);opacity:.9}
.dstack{display:grid;gap:20px}
.dsm{border-radius:var(--radius-lg);padding:28px;display:flex;justify-content:space-between;gap:12px;align-items:center;overflow:hidden;position:relative}
.dsm .t{display:flex;flex-direction:column;gap:10px;align-items:flex-start;position:relative;z-index:1}
.dsm h3{font:700 34px/.95 var(--font-display);text-transform:uppercase}
.dsm .ill{width:130px;flex:none;transform:rotate(10deg)}
.dsm.deep{background:var(--red-700);color:var(--ivory-100)}
.dsm.crust{background:var(--ivory-300)}
@media (max-width:1000px){.dfeat{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.dbig{grid-template-columns:minmax(0,1fr)}.dbig .pic{height:240px}.dbig .bd{padding:28px 22px}.dsm .ill{width:84px}.dsm h3{font-size:28px}}

.dgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1180px){.dgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.dgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
.dcard{background:var(--ivory-200);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .25s,box-shadow .25s;animation:cardIn .5s cubic-bezier(.16,.84,.28,1) both;animation-delay:calc(var(--i,0)*45ms)}
.dcard:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(1,11,19,.45);color:var(--ink)}
.dcard .shot{position:relative;aspect-ratio:1/1}
.dcard .shot img{width:100%;height:100%;object-fit:cover}
.dcard .shot .ph{position:absolute;inset:0;border-width:0 0 2px;font-size:12px}
.dcard .shot .label{position:absolute;left:12px;top:12px}
.dcard .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.dcard h3{font:700 22px/1.15 var(--font-display)}
.dcard p{color:var(--ink-muted);font:400 15px/22px var(--font-sans);flex:1}
.dcard .go{font:700 16px/24px var(--font-sans);color:var(--brand-text)}
@keyframes cardIn{from{opacity:0;transform:translateY(18px)}}
@media (max-width:640px){.dcard h3{font-size:18px}.dcard p{font-size:14px;line-height:20px}.dcard .bd{padding:12px}}

.appband{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0;color:var(--ink);border-radius:var(--radius-lg);overflow:hidden}
.appband .t{padding:48px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;justify-content:center}
.appband .kicker{color:var(--brand-text)}
.appband h2{font:700 clamp(40px,4.4vw,64px)/.92 var(--font-display);text-transform:uppercase}
.appband h2 em{font-style:normal;color:var(--brand-text)}
.appband ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font:500 18px/24px var(--font-sans)}
.appband li{display:flex;gap:10px;align-items:center}
.appband li::before{content:"";width:22px;height:22px;flex:none;border-radius:50%;background:var(--red-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffff5' stroke-width='3.5'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
.appband .pic{position:relative;min-height:380px}
.appband .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:860px){.appband{grid-template-columns:minmax(0,1fr)}.appband .t{padding:32px 24px}.appband .pic{min-height:300px}}

.fineprint{border:2px solid var(--ink);border-radius:var(--radius-lg);padding:6px 24px;margin-top:72px}
.fineprint summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font:700 20px/1.2 var(--font-display)}
.fineprint summary::-webkit-details-marker{display:none}
.fineprint summary::after{content:"+";font:700 28px/1 var(--font-sans);transition:transform .25s}
.fineprint[open] summary::after{transform:rotate(45deg)}
.fineprint ul{margin:0 0 18px;padding-left:20px;display:grid;gap:8px;color:var(--ink-muted);font:400 15px/22px var(--font-sans)}

/* ---------- illustrated map ---------- */
.mbmap{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--ivory-200)}
.mbmap svg{display:block;width:100%;height:auto}
.mbmap .land{fill:var(--ivory-200)}
.mbmap .grid{color:rgba(1,11,19,.07)}
.mbmap .water{fill:#dde5e1}
.mbmap .road{fill:none;stroke:var(--ivory-100);stroke-width:12;stroke-linecap:round}
.mbmap .lbl text{font:700 13px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;fill:var(--black-500)}
.mbmap .lbl.wl text{font:400 22px/1 var(--font-script);letter-spacing:0;text-transform:none;fill:#6d8580}
.mbmap .pin{cursor:pointer;outline:none}
.mbmap .pb{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.mbmap .pb path{fill:var(--red-500);stroke:var(--ivory-100);stroke-width:4}
.mbmap .pb circle{fill:var(--ivory-100)}
.mbmap .pb text{font:800 13px/1 var(--font-sans);fill:var(--red-600);text-anchor:middle}
.mbmap .pin:hover .pb,.mbmap .pin:focus-visible .pb{transform:scale(1.12)}
.mbmap .pin.on .pb{transform:scale(1.28)}
.mbmap .pin.on .pb path{fill:var(--black-900)}
.mbmap .pin.on .pb text{fill:var(--black-900)}
.mbmap .tip{opacity:0;transition:opacity .2s;pointer-events:none}
.mbmap .pin.on .tip,.mbmap .pin:hover .tip,.mbmap .pin:focus-visible .tip{opacity:1}
.mbmap .tip rect{fill:var(--black-900)}
.mbmap .tip text{font:700 14px/1 var(--font-sans);fill:var(--ivory-100);text-anchor:middle}
.mbmap .note{position:absolute;left:16px;bottom:14px;font:500 12px/16px var(--font-sans);color:var(--black-500)}

/* ---------- locations ---------- */
.lsearch{display:flex;gap:10px;flex-wrap:wrap;width:100%;max-width:520px}
.lsearch .input{flex:1 1 240px}
.lsearch .uml{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.lgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start;padding-top:56px}
.lmapcol{position:sticky;top:100px}
.llist{display:flex;flex-direction:column;gap:16px}
.lcard{background:var(--ivory-200);border-radius:var(--radius-lg);padding:24px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;border:2px solid transparent;transition:border-color .25s,transform .25s;cursor:pointer}
.lcard:hover{transform:translateY(-2px)}
.lcard.on{border-color:var(--ink);background:var(--ivory-100)}
.lcard .num{width:44px;height:44px;border-radius:50%;background:var(--red-500);color:var(--ivory-100);display:grid;place-items:center;font:800 18px/1 var(--font-sans);grid-row:span 2}
.lcard.on .num{background:var(--ink)}
.lcard h2{font:700 28px/1.05 var(--font-display)}
.lcard .area{font:700 13px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:4px}
.lcard .body{grid-column:2;display:flex;flex-direction:column;gap:12px;margin-top:10px}
.lcard address{font-style:normal;font:400 17px/24px var(--font-sans)}
.lcard .row{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font:500 15px/20px var(--font-sans)}
.lcard .row a{font-weight:700}
.lcard .open{font-weight:700}
.lcard .open.y{color:#1d7a3a}.lcard .open.n{color:var(--red-600)}
.lcard .svc{display:flex;gap:6px;flex-wrap:wrap}
.lcard .svc span{font:700 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;border:2px solid var(--ink);border-radius:999px;padding:3px 10px}
.lcard .svc span.star{background:var(--red-600);border-color:var(--red-600);color:var(--ivory-100)}
.lcard details{border-top:2px solid var(--line);padding-top:8px}
.lcard summary{cursor:pointer;font:700 14px/20px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.lcard table{border-collapse:collapse;margin-top:8px;font:400 15px/22px var(--font-sans);width:100%;max-width:340px}
.lcard td{padding:2px 0}.lcard td+td{text-align:right}
.lcard tr.today{font-weight:700}
.lcard .acts{display:flex;gap:10px;flex-wrap:wrap}
.lcard .acts .btn{height:40px;padding:0 18px;font-size:15px}
.lcard .ph-shop{width:100%;height:180px;object-fit:cover;border-radius:var(--radius-md)}
@media (max-width:980px){.lgrid{grid-template-columns:minmax(0,1fr)}.lmapcol{position:relative;top:0;order:-1}}
@media (max-width:520px){.lcard{grid-template-columns:minmax(0,1fr);padding:20px}.lcard .num{grid-row:auto;width:36px;height:36px;font-size:15px}.lcard .body{grid-column:1}}

.photoband{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:104px}
.photoband figure{margin:0;position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4}
.photoband img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,.84,.28,1)}
.photoband figure:hover img{transform:scale(1.04)}
.photoband figcaption{position:absolute;left:16px;bottom:14px;font:400 30px/1 var(--font-script);color:var(--ivory-100);text-shadow:0 2px 12px rgba(1,11,19,.5)}
@media (max-width:760px){.photoband{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photoband figure:nth-child(3){display:none}}

/* ---------- catering ---------- */
.occ{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.occ a{position:relative;border-radius:var(--radius-lg);overflow:hidden;color:var(--ivory-100);text-decoration:none;min-height:340px;display:flex;align-items:flex-end;grid-column:span 2}
.occ a:nth-child(1),.occ a:nth-child(2){grid-column:span 3;min-height:420px}
.occ img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,.84,.28,1)}
.occ a:hover img{transform:scale(1.05)}
.occ a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,11,19,0) 45%,rgba(1,11,19,.75))}
.occ .t{position:relative;z-index:1;padding:22px 24px}
.occ h3{font:700 30px/1 var(--font-display);text-transform:uppercase}
.occ p{font:500 15px/20px var(--font-sans);margin-top:6px;opacity:.95}
.occ .ph{position:absolute;inset:0;border:0}
.occ a.noimg{color:var(--ink)}.occ a.noimg::after{display:none}
@media (max-width:900px){.occ{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.occ a,.occ a:nth-child(1),.occ a:nth-child(2){grid-column:span 1;min-height:260px}.occ a:nth-child(1){grid-column:span 2}.occ h3{font-size:22px}}

.why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;background:var(--ivory-200);border-radius:var(--radius-lg);padding:56px}
.slicer{position:relative;max-width:420px;margin:0 auto;width:100%}
.slicer svg{width:100%;height:auto;display:block}
.slicer .crust{fill:#e9b56a}.slicer .sauce{fill:var(--red-500)}.slicer .cheese{fill:#f7d27a}
.slicer .pep{fill:var(--red-700)}
.slicer .cut{stroke:var(--ivory-200);stroke-width:5;stroke-linecap:round;transition:opacity .5s,stroke-dashoffset .9s cubic-bezier(.6,0,.2,1)}
.slicer .cut.c16{stroke-dasharray:180;stroke-dashoffset:180}
.slicer.sixteen .cut.c16{stroke-dashoffset:0}
.slicer .count{position:absolute;right:-6px;top:-6px}
.slicer .tog{display:flex;justify-content:center;margin-top:18px}
.why .pts{display:grid;gap:22px}
.why .pt{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start}
.why .pt i{width:48px;height:48px;border-radius:50%;background:var(--red-500);color:var(--ivory-100);display:grid;place-items:center}
.why .pt b{display:block;font:700 22px/1.15 var(--font-display);margin-bottom:4px}
.why .pt p{color:var(--ink-muted);font:400 17px/25px var(--font-sans)}
@media (max-width:900px){.why{grid-template-columns:minmax(0,1fr);padding:32px 22px;gap:32px}}

.cmenu{display:flex;flex-wrap:wrap;gap:14px}
.cmenu span{display:inline-flex;align-items:center;gap:12px;background:var(--ivory-100);border:2px solid var(--ink);border-radius:999px;padding:8px 22px 8px 10px;font:700 18px/1 var(--font-sans)}
.cmenu img{width:44px;height:44px;object-fit:contain}
.cmenu span.noi{padding-left:22px}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:st}
.steps li{list-style:none;background:var(--ivory-200);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:10px;counter-increment:st;position:relative}
.steps li::before{content:counter(st,decimal-leading-zero);font:700 56px/.9 var(--font-display);color:var(--red-500)}
.steps b{font:700 24px/1.1 var(--font-display)}
.steps p{color:var(--ink-muted);font:400 16px/24px var(--font-sans)}
.steps ol{margin:0;padding:0;display:contents}
@media (max-width:860px){.steps{grid-template-columns:minmax(0,1fr)}}

.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--red-500);color:var(--ivory-100)}
.calc .in{padding:48px;display:flex;flex-direction:column;gap:22px}
.calc .kicker{color:var(--ivory-100)}
.calc h2{font:700 clamp(36px,4vw,56px)/.92 var(--font-display);text-transform:uppercase}
.calc label{font:700 13px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between}
.calc input[type=range]{width:100%;accent-color:var(--ivory-100);height:28px}
.calc .stepper{display:inline-flex;align-items:center;border:2px solid var(--ivory-100);border-radius:999px}
.calc .stepper button{width:44px;height:44px;border:0;background:none;color:var(--ivory-100);font:700 22px/1 var(--font-sans);cursor:pointer}
.calc .stepper span{min-width:36px;text-align:center;font:700 18px/1 var(--font-sans)}
.calc .out{background-color:var(--red-500);padding:48px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.calc .big{font:700 clamp(96px,12vw,170px)/.8 var(--font-display);letter-spacing:-.04em}
.calc .big small{font:400 40px/1 var(--font-script);letter-spacing:0;margin-left:10px}
.calc .boxes{display:flex;flex-wrap:wrap;gap:6px;min-height:40px}
.calc .boxes img{width:38px;height:38px;animation:pop .35s cubic-bezier(.3,1.6,.5,1) both}
@keyframes pop{from{transform:scale(.3);opacity:0}}
.calc .fine{font:500 13px/18px var(--font-sans);opacity:.9}
@media (max-width:860px){.calc{grid-template-columns:minmax(0,1fr)}.calc .in,.calc .out{padding:28px 22px}}

.cform{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.cform .side{display:flex;flex-direction:column;gap:16px;position:sticky;top:100px}
.cform .side img{border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;width:100%;max-height:520px}
.cform form{background:var(--ivory-200);border-radius:var(--radius-lg);padding:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cform .f{display:flex;flex-direction:column;gap:8px}
.cform .f.full{grid-column:1/-1}
.cform .f label{font:700 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase}
.cform .input,.cform select,.cform textarea{height:48px;padding:0 18px;border:2px solid var(--ink);border-radius:var(--radius-md);background:var(--ivory-100);color:var(--ink);font:400 16px/24px var(--font-sans);width:100%;min-width:0}
.cform textarea{height:120px;padding:12px 18px;resize:vertical}
.cform .seg2{display:flex;gap:8px;flex-wrap:wrap}
.cform .seg2 label{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--ink);border-radius:999px;padding:10px 16px;cursor:pointer;font:700 15px/1 var(--font-sans);text-transform:none;letter-spacing:0}
.cform .seg2 input{accent-color:var(--red-600)}
.cform .sent{grid-column:1/-1;display:none;background:var(--ink);color:var(--ivory-100);border-radius:var(--radius-md);padding:14px 18px;font-weight:700}
.cform .sent.on{display:block}
@media (max-width:900px){.cform{grid-template-columns:minmax(0,1fr)}.cform .side{position:relative;top:0}.cform .side img{aspect-ratio:16/10}}
@media (max-width:560px){.cform form{grid-template-columns:minmax(0,1fr);padding:22px}}

/* ---------- FAQ (format from the Pizza Garden FAQ) ---------- */
.ftop{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);align-items:end;gap:24px 56px;padding-top:48px;margin-bottom:36px}
.ftop>div:first-child{container-type:inline-size;min-width:0}
.ftop h1{font:700 min(104px,10.4cqi)/.88 var(--font-display);letter-spacing:-.025em;text-transform:uppercase;white-space:nowrap}
.ftop p{font:400 20px/28px var(--font-sans);color:var(--ink-muted);margin-top:12px}
.sbox{position:relative;width:100%;display:block}
.sbox input{width:100%;height:60px;border-radius:999px;border:2px solid var(--ink);background:var(--ivory-100);padding:0 56px 0 54px;font:400 18px var(--font-sans);color:var(--ink);outline:none}
.sbox input:focus{box-shadow:0 0 0 3px var(--ivory-100),0 0 0 5px var(--red-600)}
.sbox input::-webkit-search-cancel-button{display:none}
.sbox>svg{position:absolute;left:22px;top:50%;margin-top:-10px;color:var(--ink-muted);pointer-events:none}
.sbox button{position:absolute;right:10px;top:50%;margin-top:-20px;width:40px;height:40px;border:0;border-radius:50%;background:var(--ivory-200);color:var(--ink);display:none;place-items:center;cursor:pointer}
.sbox.has button{display:grid}
.ftiles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-bottom:48px}
.ftile{position:relative;height:140px;border-radius:20px;border:0;padding:14px;cursor:pointer;background:var(--red-500);color:var(--ivory-100);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;font:700 18px/1.1 var(--font-display);transition:background .3s,color .3s,box-shadow .3s,opacity .3s,transform .3s}
.ftile svg{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.ftile:hover:not(.on){transform:translateY(-3px)}
.ftile:hover:not(.on) svg{transform:rotate(-10deg) scale(1.15)}
.ftile.on{background:var(--ink);color:var(--ivory-100)}
.ftiles.q .ftile{opacity:.4}.ftiles.q .ftile.hit{opacity:1}
.ftile:focus-visible{box-shadow:0 0 0 3px var(--ivory-100),0 0 0 5px var(--ink)}
.frh{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.frh h2{font:700 clamp(32px,3vw,44px)/1 var(--font-display);text-transform:uppercase}
.frh span{color:var(--ink-muted);font:500 16px var(--font-sans)}
.fcards{columns:2 360px;column-gap:16px}
.fcard{break-inside:avoid;margin-bottom:16px;background:var(--ivory-200);border-radius:20px;padding:26px 28px;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s cubic-bezier(.16,.84,.28,1)}
.fcard.in{opacity:1;transform:none}
.fcard .tg{display:inline-block;font:700 12px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--brand-text);margin-bottom:12px}
.fcard h3{font:700 22px/1.2 var(--font-display);margin-bottom:10px}
.fcard .a{font:400 17px/1.6 var(--font-sans);color:var(--ink-muted)}
.fcard .a a{font-weight:700}
.fcard .a p+p,.fcard .a ul+p,.fcard .a p+ul{margin-top:10px}
.fcard .a ul{margin:0;padding-left:20px}.fcard .a li+li{margin-top:4px}.fcard .a b{color:var(--ink);font-weight:700}
.fcard mark{background:#ffd9cf;color:inherit;border-radius:3px;padding:0 1px}
.fnone{display:none;padding:40px 0;font:400 18px var(--font-sans);color:var(--ink-muted)}.fnone.on{display:block}
.fhelp{margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;border-radius:var(--radius-lg);color:var(--ivory-100);overflow:hidden}
.fhelp .t{padding:36px 40px;display:flex;flex-direction:column;justify-content:center;gap:14px;align-items:flex-start}
.fhelp b{font:700 34px/1 var(--font-display);text-transform:uppercase}
.fhelp p{color:var(--ivory-100);font:400 18px/26px var(--font-sans)}
.fhelp .bt{display:flex;gap:10px;flex-wrap:wrap}
.fhelp .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
.fhelp .btn-secondary:hover{background:var(--red-600);color:var(--ivory-100)}
.fhelp .btn-primary{background:var(--ivory-100);color:var(--red-700)}
.fhelp img{width:100%;height:100%;max-height:340px;object-fit:cover;min-height:220px}
@media (max-width:1000px){.ftop{grid-template-columns:minmax(0,1fr)}.ftiles{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding:4px 2px 8px;margin:0 -16px 24px;padding-left:16px;scrollbar-width:none}.ftiles::-webkit-scrollbar{display:none}.ftile{height:46px;flex-direction:row;gap:8px;padding:0 16px;border-radius:999px;font:700 15px/1 var(--font-sans);white-space:nowrap}.ftile svg{width:18px;height:18px}}
@media (max-width:700px){.fhelp{grid-template-columns:minmax(0,1fr)}.fhelp .t{padding:28px 22px}.fhelp img{max-height:240px}}

@media (prefers-reduced-motion:reduce){.dcard,.fcard,.calc .boxes img{animation:none;transition:none;opacity:1;transform:none}.slicer .cut{transition:none}}

/* ---------- calmer pass: deals feature card, doodle icons, catering, FAQ tiles ---------- */
.dcard.wide{grid-column:span 2;flex-direction:row;background:var(--red-500);color:var(--ivory-100)}
.dcard.wide:hover{color:var(--ivory-100)}
.dcard.wide .shot{flex:0 0 50%;aspect-ratio:auto}
.dcard.wide .bd{justify-content:center;padding:28px}
.dcard.wide h3{font-size:clamp(28px,2.6vw,40px);text-transform:uppercase;line-height:.95}
.dcard.wide p,.dcard.wide .go{color:var(--ivory-100);flex:none}
@media (max-width:860px){.dcard.wide{flex-direction:column}.dcard.wide .shot{aspect-ratio:16/10}}
.di{display:inline-block;width:20px;height:20px;flex:none;color:var(--ink)}

.occ{grid-template-columns:repeat(4,minmax(0,1fr))}
.occ a,.occ a:nth-child(1),.occ a:nth-child(2){grid-column:span 1;min-height:360px}
.occ a::after{background:linear-gradient(180deg,rgba(1,11,19,0) 50%,rgba(1,11,19,.7))}
@media (max-width:900px){.occ{grid-template-columns:repeat(2,minmax(0,1fr))}.occ a,.occ a:nth-child(1),.occ a:nth-child(2){grid-column:span 1;min-height:240px}}

.why{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);row-gap:36px}
@media (max-width:900px){.why{grid-template-columns:minmax(0,1fr)}.slicer{max-width:280px}}
.why .pt i{background:none;color:var(--ink);width:48px;height:48px;padding:2px}
.why .pt i svg{width:100%;height:100%}
.slicer .seg{display:flex;border:2px solid var(--ink);border-radius:999px;padding:3px;background:var(--ivory-100)}
.slicer .seg button{height:40px;padding:0 18px;border:0;border-radius:999px;font:700 15px/1 var(--font-sans);cursor:pointer;background:transparent;color:var(--ink)}
.slicer .seg button.on{background:var(--ink);color:var(--ivory-100)}
.cmenu-wrap{grid-column:1/-1;border-top:2px solid var(--ivory-300);padding-top:24px;display:flex;flex-direction:column;gap:14px}
.cmenu{gap:10px}
.cmenu span{padding:8px 18px;font-size:16px;border-width:2px}

.calc{background:var(--ivory-200);color:var(--ink)}
.calc .kicker{color:var(--brand-text)}
.calc input[type=range]{-webkit-appearance:none;appearance:none;height:8px;border-radius:8px;background:linear-gradient(90deg,var(--red-500) var(--p,10%),var(--ivory-300) var(--p,10%));accent-color:var(--red-600);margin-top:14px}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:var(--ivory-100);border:3px solid var(--ink);cursor:pointer}
.calc input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--ivory-100);border:3px solid var(--ink);cursor:pointer}
.calc .stepper{border-color:var(--ink)}
.calc .stepper button{color:var(--ink)}
.calc .out{color:var(--ivory-100)}

.mini-steps{margin:8px 0 4px;padding:0;list-style:none;counter-reset:ms;display:grid;gap:14px}
.mini-steps li{counter-increment:ms;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;font:400 17px/25px var(--font-sans);color:var(--ink-muted)}
.mini-steps li::before{content:counter(ms);width:36px;height:36px;border-radius:50%;background:var(--red-500);color:var(--ivory-100);display:grid;place-items:center;font:800 16px/1 var(--font-sans)}
.mini-steps b{color:var(--ink)}
.cform .side{position:relative;top:0}

.ftile{background:var(--ivory-200);color:var(--ink)}
.ftile .fi{width:52px;height:52px;display:block;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.ftile:hover:not(.on) .fi{transform:rotate(-8deg) scale(1.1)}
.ftile.on{background:var(--red-500);color:var(--ivory-100)}
@media (max-width:1000px){.ftile .fi{width:24px;height:24px}}
.credit{margin-top:28px;font:500 13px/18px var(--font-sans);color:var(--ink-muted)}
.credit a{color:inherit}
.frh #rc{white-space:nowrap}
@media (max-width:1180px){.ftop{grid-template-columns:minmax(0,1fr)}}

/* real map (Leaflet + local map data): shared by the home and locations pages */
.mbleaf{font-family:var(--font-sans)}
.mbleaf .leaflet-control-attribution{background:rgba(255,255,245,.8);font-size:10.5px;color:var(--black-500)}
.mbleaf .leaflet-control-attribution a{color:var(--black-500)}
.mbleaf .leaflet-bar{border:2px solid var(--ink)!important;border-radius:14px;overflow:hidden;box-shadow:none}
.mbleaf .leaflet-bar a{width:40px!important;height:40px!important;line-height:38px!important;color:var(--ink);background:var(--ivory-100)}
.leaflet-control-zoom{margin-right:20px!important;margin-top:20px!important}
.mbpin img{display:block;width:44px;height:52px;object-fit:contain;transform-origin:50% 100%;filter:drop-shadow(0 0 0 #fff) drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(0 8px 10px rgba(1,11,19,.3));transition:transform .3s cubic-bezier(.34,1.5,.64,1)}
.mbpin:hover img{transform:scale(1.12)}
.mbpin.on img{transform:scale(1.32)}
.mbpin.on{z-index:1000!important}

/* map place names: quiet, behind the pins */
.mblbl{pointer-events:none}
.mblbl span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:700 11px/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(1,11,19,.38);text-shadow:0 0 3px #fbf5e8,0 0 3px #fbf5e8}
.mblbl.w span{letter-spacing:.06em;text-transform:none;font-weight:600;font-size:12px;color:#6d8a8c;text-shadow:none}
.mbleaf:not(.lbl-near) .mblbl.w{display:none}
.mbpin em{position:absolute;left:50%;top:55px;transform:translateX(-50%);width:max-content;max-width:110px;text-align:center;line-height:1.1!important;font:700 13px/1 var(--font-sans);font-style:normal;color:var(--ink);text-shadow:0 0 3px #fbf5e8,0 0 3px #fbf5e8,0 0 3px #fbf5e8,0 0 3px #fbf5e8;pointer-events:none}
.mbleaf.narrow .mbpin em{font-size:11px;max-width:80px}
.mbleaf.narrow .mbpin img{width:38px;height:45px}
.mbleaf.narrow .mbpin em{top:48px}
.mbleaf .mbpin em.up{top:auto;bottom:calc(100% + 4px)}

/* ---- menu.css ---- */
/* Megabite — menu & order page */
body{background:var(--ivory-100)}

/* deal banner slider (Pizza Garden format) */
.promo{padding-top:16px}
.slot{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/1;background:var(--ivory-200)}
.slide .bimg{display:block;width:100%;height:100%}
.slide .dban{width:100%;height:100%;aspect-ratio:auto!important;border-radius:0;box-shadow:none;animation:none}
.slide .dban:hover{transform:none;box-shadow:none}
@media (max-width:760px){.slide .dban.gen .t{gap:2px;padding:6px 10px}.slide .dban.gen b{font-size:min(20px,4.8cqi)}.slide .dban.gen .amt{font-size:min(30px,7cqi)}.slide .dban.gen .tg,.slide .dban.gen .pr small{display:none}}
.slide .bimg img{width:100%;height:100%;object-fit:cover;display:block}
.slot .arr{opacity:0;transition:opacity .25s,transform .15s}.slot:hover .arr,.slot .arr:focus-visible{opacity:1}@media (hover:none){.slot .arr{opacity:1}}
.slot .prog i{background:var(--red-500)!important;mix-blend-mode:normal!important}
.track{display:flex;height:100%;transition:transform .7s cubic-bezier(.65,0,.25,1)}
.slide{flex:0 0 100%;height:100%;display:flex;align-items:stretch;position:relative;overflow:hidden}
.slide .bt{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px;padding:32px 40px 40px 88px;position:relative;z-index:1}
.slide h2{font:700 clamp(36px,4.2vw,64px)/.92 var(--font-display);letter-spacing:-.02em;text-transform:uppercase}
.slide p{font:400 19px/26px var(--font-sans);max-width:460px}
.slide .bt>*{flex:none}
.slide .kicker{font-size:34px;color:inherit}
.slide .bp{flex:0 0 42%;position:relative}
.slide .bp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.slide .bs{flex:0 0 40%;display:flex;align-items:center;justify-content:center;gap:16px;position:relative;padding-right:72px}
.slide .bs .ill{width:200px;transform:rotate(10deg)}
.slide .bs .acc{position:absolute;right:120px;top:28px;width:90px}
.slide .bt,.slide .bs,.slide .bp{opacity:0;transform:translateY(16px);transition:opacity .6s .25s,transform .7s .25s cubic-bezier(.16,.84,.28,1)}
.slide .bs,.slide .bp{transition-delay:.4s;transform:scale(.94)}
.slide.on .bt,.slide.on .bs,.slide.on .bp{opacity:1;transform:none}
.b-red{background:var(--red-500);color:var(--ivory-100)}
.b-black{background:var(--black-900);color:var(--ivory-100)}
.b-black .r{color:var(--red-500)}
.b-crust{background:var(--ivory-300);color:var(--ink)}
.b-deep{background:var(--red-700);color:var(--ivory-100)}
.b-ivory{background:var(--ivory-200);color:var(--ink)}
.slot .arr{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:var(--ivory-100);color:var(--ink);display:grid;place-items:center;cursor:pointer;z-index:3;transition:transform .15s}
.slot .arr:hover{transform:scale(1.06)}
.slot .prev{left:20px}.slot .next{right:20px}
.slot .prog{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(1,11,19,.12);z-index:3}
.slot .prog i{display:block;height:100%;background:var(--ivory-100);transform-origin:left;transform:scaleX(0);mix-blend-mode:difference}
.pctl{display:flex;align-items:center;gap:16px;margin-top:14px}
.pdots{display:flex;gap:8px}
.pdots button{width:10px;height:10px;border-radius:99px;border:2px solid var(--ink);background:transparent;padding:0;cursor:pointer;transition:width .3s,background .3s}
.pdots button.on{width:30px;background:var(--ink)}
.pcount{font:700 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.pall{margin-left:auto;border:0;background:none;color:var(--brand-text);font:700 16px/24px var(--font-sans);cursor:pointer;padding:6px 0}
.pall:hover{text-decoration:underline}
@media (max-width:900px){
  .slot{aspect-ratio:4/1;height:auto;border-radius:var(--radius-md)}
  .slot .arr{display:none}
  .slide{flex-direction:column-reverse}
  .slide .bt{flex:0 0 auto;padding:20px 24px 34px;gap:8px}
  .slide .bp{flex:1 1 auto}
  .slide .bs{flex:1 1 auto;padding:16px 0 0}
  .slide .bs .ill{width:auto!important;height:120px;max-width:40%;object-fit:contain}
  .slide .bs .sticker{--s:130px!important;--fs:30px!important}
  .slide .bs .acc{right:24px;top:16px;width:64px}
  .slide h2{font-size:34px}.slide p{font-size:16px;line-height:22px}.slide .kicker{font-size:26px}
  .slide .btn-lg{height:48px;font-size:16px;padding:0 22px}
  .slot .arr{top:18px;margin-top:0;width:40px;height:40px}
  .slot .prev{left:auto;right:66px}.slot .next{right:16px}
}

/* layout: rail + one category */
.mlay{display:grid;grid-template-columns:264px minmax(0,1fr);gap:40px;align-items:start;margin-top:40px}
.rail{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px}
.cats .rh{display:block;color:var(--ink-muted);padding:0 0 10px 18px}
.clist{position:relative;display:flex;flex-direction:column;gap:2px}
.clist .ind{position:absolute;left:0;top:0;width:100%;height:48px;border-radius:14px;background:var(--ink);transition:transform .4s cubic-bezier(.16,.84,.28,1),height .3s,width .3s;z-index:0}
.tab{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;height:48px;padding:0 18px;border-radius:14px;color:var(--ink);text-decoration:none;font:700 17px/22px var(--font-sans);white-space:nowrap;transition:color .25s}
.tab:hover{color:var(--brand-text)}
.tab.on,.tab.on:hover{color:var(--ivory-100)}
.tab .n{font:600 13px/1 var(--font-sans);opacity:.6}
.store{background:var(--ivory-200);border-radius:var(--radius-lg);padding:22px;display:flex;flex-direction:column;gap:10px}
.store h2{font:700 26px/1.1 var(--font-display)}
.sinfo{margin:0;display:flex;flex-direction:column;gap:6px;font:400 15px/20px var(--font-sans)}
.sinfo div{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px}
.sinfo dt{font:700 11px/20px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.sinfo dd{margin:0}
.sinfo .open{color:#1d7a3a;font-weight:700}
.seg{display:flex;background:var(--ivory-100);border:2px solid var(--ink);border-radius:999px;padding:3px;margin-top:4px}
.seg button{flex:1;height:38px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:700 15px/1 var(--font-sans);cursor:pointer}
.seg button.on{background:var(--ink);color:var(--ivory-100)}
.store .chg{font:700 13px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;align-self:flex-start;margin-top:4px}
.mcontent{min-width:0}
.mcontent .sec{padding-top:0}
@media (max-width:1000px){
  .mlay{display:flex;flex-direction:column;gap:0;margin-top:28px}
  .rail{display:contents}
  .store{order:-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:14px 18px;border-radius:var(--radius-md)}
  .store .eyebrow{flex-basis:100%}
  .store h2{font-size:22px}
  .sinfo{flex-direction:row;flex-wrap:wrap;gap:4px 14px;font-size:14px;flex:1 1 100%}
  .sinfo div{display:flex;gap:6px}
  .store .seg{margin:0;flex:0 0 200px}
  .store .chg{margin:0}
  .cats{position:sticky;top:76px;z-index:30;background:rgba(255,255,245,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:12px -32px 24px;padding:0 32px;border-bottom:2px solid var(--line);width:calc(100% + 64px)}
  .cats .rh{display:none}
  .clist{flex-direction:row;gap:6px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
  .clist::-webkit-scrollbar{display:none}
  .clist .ind{top:12px;height:44px;border-radius:999px}
  .tab{flex:none;height:44px;border-radius:999px;border:2px solid var(--ink);padding:0 16px;font-size:15px}
  .tab.on{border-color:transparent}
}
@media (max-width:640px){.cats{margin:12px -16px 20px;padding:0 16px;width:calc(100% + 32px)}}

/* sections */
.sec{padding-top:56px;scroll-margin-top:150px}
.sec .grid .item{animation:cardIn .55s cubic-bezier(.16,.84,.28,1) both;animation-delay:calc(var(--i,0)*45ms)}
@keyframes cardIn{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.sec .grid .item{animation:none}.track,.slide .bt,.slide .bs,.slide .bp{transition:none}}
.sechd{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.sechd h2{font:700 clamp(40px,4.4vw,56px)/.95 var(--font-display);letter-spacing:-.015em;text-transform:uppercase}
.sechd .meta{color:var(--ink-muted);font:500 15px/20px var(--font-sans)}
.sechd .kicker{font-size:32px;display:block;margin-bottom:4px}

/* item cards */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1180px) and (min-width:1001px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
.item{background:var(--ivory-200);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.item:hover{transform:translateY(-4px);box-shadow:0 22px 40px -28px rgba(1,11,19,.45)}
.item .shot{position:relative;aspect-ratio:1/1;border:0;padding:0;background:none;cursor:pointer;display:block;width:100%;overflow:hidden}
.item .shot img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,.84,.28,1)}
.item:hover .shot img{transform:scale(1.04)}
.item .shot .ph{position:absolute;inset:0;border-width:0 0 2px 0;font-size:12px}
.item .shot .ill{position:absolute;inset:18%;width:64%;height:64%;object-fit:contain}
.item .shot .label{position:absolute;left:12px;top:12px;z-index:1}
.item .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.item h3{font:700 22px/1.15 var(--font-display)}
.item .desc{color:var(--ink-muted);font:400 15px/22px var(--font-sans);flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.item .btn{margin-top:8px}
@media (max-width:640px){.item .bd{padding:12px 12px 14px}.item h3{font-size:18px}.item .desc{font-size:14px;line-height:20px;-webkit-line-clamp:2}.item .btn{height:40px;padding:0 12px;font-size:15px}}

/* deals */
.feat{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-bottom:20px}
@media (max-width:980px){.feat{grid-template-columns:minmax(0,1fr)}}
.fbig{display:flex;background:var(--red-500);color:var(--ivory-100);border-radius:var(--radius-lg);overflow:hidden;min-height:360px}
.fbig .pic{flex:0 0 44%;position:relative}
.fbig .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fbig .bd{flex:1;padding:36px 32px;display:flex;flex-direction:column;justify-content:center;gap:14px;align-items:flex-start}
.fbig .kicker{color:var(--ivory-100);font-size:36px}
.fbig h3{font:700 clamp(40px,4vw,56px)/.92 var(--font-display);text-transform:uppercase}
.fbig p{font:400 20px/28px var(--font-sans)}
.fbig .fine{font:500 14px/20px var(--font-sans);opacity:.9}
@media (max-width:640px){.fbig{flex-direction:column}.fbig .pic{flex-basis:auto;aspect-ratio:4/3}.fbig .bd{padding:24px}}
.fstack{display:grid;grid-template-rows:1fr 1fr;gap:20px}
.fsm{border-radius:var(--radius-lg);padding:28px;display:flex;justify-content:space-between;gap:16px;align-items:center;position:relative;overflow:hidden}
.fsm .t{display:flex;flex-direction:column;gap:10px;align-items:flex-start;position:relative;z-index:1}
.fsm h3{font:700 34px/.95 var(--font-display);text-transform:uppercase}
.fsm p{font:400 16px/24px var(--font-sans)}
.fsm .ill{width:140px;flex:none;transform:rotate(10deg)}
.fsm.deep{background:var(--red-700);color:var(--ivory-100)}
.fsm.crust{background:var(--ivory-300);color:var(--ink)}
.dealsall{margin:36px 0 16px;display:flex;align-items:center;gap:12px}
.dealsall h3{font:700 28px/1.1 var(--font-display)}
.dealsall .acc{width:150px}

/* make your own: one slim band — heading, then two compact options (build your own · half & half) */
.myo{margin-top:20px}
.myo-in{background:var(--ivory-200);border-radius:var(--radius-lg);padding:14px 14px 14px 28px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;align-items:center}
.myo-opts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.myo-in h2{font:700 clamp(26px,2.4vw,34px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.015em;max-width:6.2em;margin-right:14px}
.opt{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:0 18px;align-items:center;background:var(--ivory-100);border:2px solid transparent;border-radius:18px;padding:12px 16px 12px 14px;transition:border-color .2s,transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.opt:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 14px 28px -22px rgba(1,11,19,.45)}
.opt:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.ovis{position:relative;width:92px;height:92px}
.pie{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 10px 18px -12px rgba(1,11,19,.55);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.pie img{width:100%;height:100%;object-fit:cover;transform:scale(1.22)}
.opt:hover .pie{transform:rotate(-14deg)}
.ovis .top{position:absolute;height:auto;transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.ovis .t1{width:34px;right:-8px;top:-6px;transform:rotate(14deg)}
.ovis .t2{width:32px;left:-8px;bottom:-4px;transform:rotate(-24deg)}
.opt:hover .t1{transform:rotate(-6deg) scale(1.1)}.opt:hover .t2{transform:rotate(4deg) scale(1.1)}
.pie.half{overflow:visible;box-shadow:none}
.pie.half .h{position:absolute;inset:0;border-radius:50%;overflow:hidden;box-shadow:0 10px 18px -12px rgba(1,11,19,.55);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.pie.half .h img{position:absolute;inset:0}
.pie.half .l{clip-path:inset(0 50% 0 0);transform:translateX(-3px)}
.pie.half .r{clip-path:inset(0 0 0 50%);transform:translateX(3px)}
.opt:hover .pie.half{transform:none}
.opt:hover .pie.half .l{transform:translateX(-7px)}.opt:hover .pie.half .r{transform:translateX(7px)}
.otxt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.otxt em{font:700 11px/1 var(--font-sans);font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--on-action);background:var(--brand-text);border-radius:999px;padding:5px 8px}
.otxt b{font:700 24px/1.05 var(--font-display);color:var(--ink)}
.otxt>span{font:400 15px/21px var(--font-sans);color:var(--ink-muted)}
.ogo{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 16px;border-radius:999px;background:var(--action);color:var(--on-action);font:700 15px/1 var(--font-sans);transition:background .2s}
.ogo svg{transition:transform .25s}
.opt:hover .ogo{background:var(--action-hover)}.opt:hover .ogo svg{transform:translateX(3px)}
@media (max-width:1280px){.otxt>span{display:none}}
@media (max-width:1000px){.myo-in{grid-template-columns:minmax(0,1fr);padding:14px}.myo-in h2{max-width:none;font-size:24px;margin:2px 0 0 4px}}
@media (max-width:640px){
  .myo{margin-top:14px}
  .myo-in{gap:10px;padding:12px;border-radius:var(--radius-md)}
  .myo-opts{gap:10px}
  .myo-in h2{font-size:20px}
  .opt{grid-template-columns:52px minmax(0,1fr);gap:0 10px;padding:10px;border-radius:14px}
  .ovis{width:52px;height:52px}.ovis .t1{width:22px;right:-5px;top:-4px}.ovis .t2{width:20px;left:-5px}
  .otxt{gap:3px}.otxt em{font-size:10px;padding:4px 7px}.otxt b{font-size:17px}
  .ogo{display:none}
}
@media (prefers-reduced-motion:reduce){.opt,.pie,.ovis .top,.pie.half .h{transition:none}}

/* category icons */
.tab{justify-content:flex-start;gap:12px}
.tab .ti{width:26px;height:26px;flex:none;display:grid;place-items:center;transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.tab .ti svg{width:100%;height:100%}
.tab .tl{flex:1}
.tab:hover .ti{transform:rotate(-10deg) scale(1.12)}
.sht{display:flex;align-items:center;gap:20px}
.sic{width:84px;height:84px;border-radius:50%;background:var(--red-500);color:var(--ivory-100);display:grid;place-items:center;flex:none;transform:rotate(-8deg)}
.sic svg{width:46px;height:46px}
@media (max-width:1000px){.tab{gap:8px}.tab .ti{width:20px;height:20px}.tab .tl{flex:none}}
@media (max-width:640px){.sht{gap:14px}.sic{width:60px;height:60px}.sic svg{width:32px;height:32px}}

/* calmer card buttons */
.item .obtn{height:44px;font-size:16px}
.sinfo .shut{color:#ff8a8a;font-weight:700}
/* store card: dark so it stands apart from the menu */
.store.sq-char{background-color:#1c1c1c;color:var(--ivory-100)}
.store .eyebrow.muted,.store .sinfo dt{color:var(--ivory-100)}
.store a,.store .chg{color:var(--ivory-100)}
.store .sinfo .open{color:#6fe39a}
.store .seg{background:transparent;border-color:var(--ivory-100)}
.store .seg button{color:var(--ivory-100)}
.store .seg button.on{background:var(--ivory-100);color:var(--ink)}

.allergen{margin-top:64px;border:2px solid var(--ink);border-radius:var(--radius-lg);padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.allergen p{flex:1 1 480px;font:400 15px/22px var(--font-sans)}

/* ---------- item modal (two panels, after the Pizza Garden order modal) ---------- */
.mscrim{position:fixed;inset:0;z-index:80;background:rgba(1,11,19,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .2s}
.mscrim.show{opacity:1;pointer-events:auto}
.imodal{position:fixed;top:50%;left:50%;z-index:90;width:min(1180px,calc(100vw - 48px));height:calc(100vh - 96px);max-height:820px;background:var(--ivory-100);border-radius:var(--radius-lg);box-shadow:0 40px 90px -30px rgba(0,0,0,.55);display:grid;grid-template-columns:360px minmax(0,1fr);overflow:hidden;overflow:clip;opacity:0;pointer-events:none;transform:translate(-50%,-46%) scale(.97);transition:opacity .25s,transform .35s cubic-bezier(.16,.84,.28,1)}
.imodal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.imodal.simple{grid-template-columns:400px minmax(0,1fr);width:min(960px,calc(100vw - 48px));max-height:760px}
.imodal.simple .isum .hero{aspect-ratio:4/3}
.isum{background:var(--ivory-200);padding:24px 24px 0;display:flex;flex-direction:column;min-height:0;overflow-y:auto}
.isum .hero{position:relative;aspect-ratio:1/1;border-radius:16px;overflow:hidden;flex:none;background:var(--ivory-300)}
.isum .hero img.photo{width:100%;height:100%;object-fit:cover}
.isum .hero img.ill{position:absolute;inset:16%;width:68%;height:68%;object-fit:contain}
.isum .hero .ph{position:absolute;inset:0;border-radius:16px}
.isum .tagrow{margin-top:16px;min-height:0}
.isum h2{font:700 32px/1.05 var(--font-display);letter-spacing:-.01em;margin-top:10px}
.isum .ingline{font:400 16px/24px var(--font-sans);color:var(--ink-muted);margin-top:8px}
.isum .note{font:500 13px/18px var(--font-sans);color:var(--ink-muted);margin-top:8px}
.szlbl{font:700 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;margin:20px 0 10px}
.sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.szbtn{background:var(--ivory-100);border:2px solid var(--ivory-300);border-radius:14px;padding:10px 6px;cursor:pointer;text-align:center;color:var(--ink);transition:background .2s,color .2s,border-color .2s,transform .2s}
.szbtn b{display:block;font:700 17px/1.2 var(--font-sans)}
.szbtn i{display:block;font:500 15px/1.3 var(--font-sans);font-style:normal;color:var(--ink-muted);margin-top:2px}
.szbtn:hover{transform:translateY(-1px);border-color:var(--ink)}
.szbtn.on{background:var(--ink);border-color:var(--ink);color:var(--ivory-100)}
.szbtn.on i{color:var(--ivory-300)}
.picked{margin-top:18px}
.picked ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.picked li{display:flex;justify-content:space-between;gap:12px;font:500 15px/20px var(--font-sans)}
.picked li b{font-weight:700}
.picked li.todo{color:var(--brand-text)}
.ifoot{position:sticky;bottom:0;margin-top:auto;padding:16px 0 20px;background:var(--ivory-200);border-top:2px solid var(--ivory-300)}
.ifoot .rows{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.frow{display:flex;justify-content:space-between;font:500 15px/20px var(--font-sans);color:var(--ink-muted)}
.iadd{display:flex;gap:10px;align-items:center}
.qty{display:flex;align-items:center;background:var(--ivory-100);border:2px solid var(--ink);border-radius:999px;padding:0 4px;flex:none;height:52px}
.qty button{width:34px;height:44px;background:transparent;border:0;font:700 20px/1 var(--font-sans);color:var(--ink);cursor:pointer}
.qty span{min-width:22px;text-align:center;font:700 18px/1 var(--font-sans)}
.addbtn{flex:1;min-width:0;height:52px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--action);color:var(--on-action);border:0;border-radius:999px;padding:0 22px;font:700 17px/1 var(--font-sans);cursor:pointer;white-space:nowrap;transition:background .2s,transform .2s}
.addbtn:hover{background:var(--action-hover);transform:translateY(-1px)}
.addbtn:disabled{background:var(--black-500);cursor:not-allowed;transform:none}
.addbtn strong{font-size:18px}

.ibody{display:flex;flex-direction:column;min-height:0}
.itabs{display:flex;align-items:center;gap:8px;padding:16px 16px 14px 24px;border-bottom:2px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:none}
.itabs::-webkit-scrollbar{display:none}
.itabs button.t{flex:none;height:42px;padding:0 18px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 15px/1 var(--font-sans);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.itabs button.t.on{background:var(--ink);color:var(--ivory-100)}
.itabs button.t em{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--action);color:var(--on-action);font:700 12px/20px var(--font-sans)}
.itabs button.t em:empty{display:none}
.iclose{margin-left:auto;flex:none;width:44px;height:44px;border-radius:999px;border:2px solid var(--ink);background:var(--ivory-100);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.iclose:hover{background:var(--ivory-200)}
.iscroll{flex:1;overflow-y:auto;padding:8px 24px 32px;scroll-behavior:smooth}
.gsec{padding-top:20px}
.ghd{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.ghd h3{font:700 26px/1.1 var(--font-display)}
.ghd span{font:500 14px/20px var(--font-sans);color:var(--ink-muted)}
.ghd .kick{font:400 22px/1 var(--font-script);color:var(--brand-text)}
.ggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
@media (max-width:1100px){.ggrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ing{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;background:var(--ivory-200);border:2px solid transparent;border-radius:16px;padding:10px 12px;cursor:pointer;color:var(--ink);transition:border-color .2s,background .2s}
.ing:hover{border-color:var(--ivory-300)}
.ing .disc{display:none!important;grid-row:1/3;width:52px;height:52px;border-radius:999px;background:var(--ivory-100);display:grid;place-items:center;overflow:hidden}
.ing .disc img{width:40px;height:40px;object-fit:contain}
.ing .disc .ltr{font:700 20px/1 var(--font-display);color:var(--red-600)}
.ing .nm{display:flex;align-items:center;gap:8px;font:700 15px/1.2 var(--font-sans)}
.ing .chk{width:20px;height:20px;border-radius:6px;border:2px solid var(--ink);display:grid;place-items:center;flex:none;color:transparent}
.ing .pr{font:500 13px/18px var(--font-sans);color:var(--ink-muted)}
.ing.on{background:var(--ivory-100);border-color:var(--ink)}
.ing.on .chk{background:var(--action);border-color:var(--action);color:var(--on-action)}
.ing.round .chk{border-radius:999px}
.ing .amt{grid-column:1;display:none;gap:4px;margin-top:6px}
.ing.on .amt{display:flex}
.amt i{font:700 12px/1 var(--font-sans);font-style:normal;padding:6px 10px;border-radius:999px;border:1.5px solid var(--ink);cursor:pointer}
.amt i.on{background:var(--ink);color:var(--ivory-100)}
.ing[disabled]{opacity:.45;cursor:not-allowed}
.pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:1100px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pz{display:flex;flex-direction:column;gap:6px;background:var(--ivory-200);border:2px solid transparent;border-radius:16px;padding:8px;cursor:pointer;text-align:left;color:var(--ink)}
.pz .ph{aspect-ratio:1/1;border-radius:10px;font-size:10px;line-height:13px;padding:6px}
.pz .ph.pzimg{padding:0;border:0;overflow:hidden;background:#e9e9e7}
.pz .ph.pzimg img{width:100%;height:100%;object-fit:cover}
.pz b{font:700 14px/1.2 var(--font-sans);display:flex;gap:6px;align-items:center}
.pz.on{border-color:var(--ink);background:var(--ivory-100)}
.pz.on b::before{content:"";width:16px;height:16px;border-radius:999px;background:var(--action);flex:none;box-shadow:inset 0 0 0 4px var(--ivory-100),0 0 0 2px var(--action)}
.empty{padding:40px 24px;border:2px dashed var(--black-500);border-radius:var(--radius-lg);text-align:center;color:var(--ink-muted);margin-top:24px}
@media (max-width:900px){
 .imodal,.imodal.simple{display:block;top:8px;left:8px;transform:translateY(24px);width:calc(100vw - 16px);height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:none;overflow-y:auto;border-radius:20px}
 .imodal.show{transform:none}
 .isum{overflow:visible;padding:16px 16px 0}
 .isum .hero{aspect-ratio:16/10}
 .ibody{min-height:auto}
 .itabs{position:sticky;top:0;background:var(--ivory-100);z-index:2;padding:12px 12px 12px 16px}
 .iscroll{overflow:visible;padding:0 16px 24px}
 .ggrid{grid-template-columns:minmax(0,1fr)}
 .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ifoot{position:fixed;left:8px;right:8px;bottom:8px;z-index:3;padding:12px;border-radius:0 0 20px 20px;border-top:2px solid var(--ivory-300)}
 .imodal .iscroll{padding-bottom:180px}
}

/* ---------- cart drawer ---------- */
.cscrim{position:fixed;inset:0;z-index:70;background:rgba(1,11,19,.45);opacity:0;pointer-events:none;transition:opacity .2s}
.cscrim.show{opacity:1;pointer-events:auto}
.cart{position:fixed;top:0;right:0;bottom:0;z-index:75;width:min(440px,100vw);background:var(--ivory-100);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform .35s cubic-bezier(.16,.84,.28,1),visibility 0s .35s;box-shadow:-30px 0 60px -40px rgba(0,0,0,.5)}
.cart.show{transform:none;visibility:visible;transition:transform .35s cubic-bezier(.16,.84,.28,1)}
.cart .chd{display:flex;align-items:center;gap:12px;padding:20px 20px 16px 24px;border-bottom:2px solid var(--line)}
.cart .chd h2{font:700 32px/1 var(--font-display);flex:1}
.clines{flex:1;overflow-y:auto;padding:8px 24px}
.line{display:grid;grid-template-columns:auto 1fr auto;gap:4px 12px;padding:16px 0;border-bottom:2px solid var(--line)}
.line .q{font:700 16px/22px var(--font-sans);color:var(--brand-text)}
.line h4{font:700 18px/22px var(--font-display)}
.line .pr{font:700 16px/22px var(--font-sans)}
.line p{grid-column:2/4;font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.line .rm{grid-column:2;justify-self:start;background:none;border:0;padding:0;font:700 13px/18px var(--font-sans);color:var(--brand-text);text-decoration:underline;cursor:pointer}
.cempty{padding:48px 0;text-align:center;color:var(--ink-muted);display:flex;flex-direction:column;align-items:center;gap:12px}
.cempty img{width:140px}
.ctot{padding:16px 24px 24px;border-top:2px solid var(--line);display:flex;flex-direction:column;gap:12px}
.ctot .row{display:flex;justify-content:space-between;font:700 18px/24px var(--font-sans)}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;z-index:120;visibility:hidden;max-width:calc(100vw - 32px);transform:translate(-50%,140%);background:var(--ink);color:var(--ivory-100);border-radius:999px;padding:14px 22px;font:700 15px/20px var(--font-sans);display:flex;gap:10px;align-items:center;transition:transform .35s cubic-bezier(.16,.84,.28,1);box-shadow:0 20px 40px -20px rgba(0,0,0,.6)}
.toast.show{transform:translate(-50%,0);visibility:visible}
@media (max-width:640px){.toast{font-size:14px;padding:12px 18px;white-space:nowrap}.fsm .ill{width:90px}.fsm h3{font-size:28px}}
.toast a{color:var(--ivory-100)}
/* bigger tap targets on phones */
@media (max-width:640px){.sinfo dd a{display:inline-block;padding:10px 0;margin:-10px 0}.store .chg{display:inline-block;padding:12px 0;margin:-8px 0}}

/* deals tab: one column of wide banners */
/* deal banner styles live in dealban.css */
/* deal art in the order panel */
.isum .hero .dart{position:absolute;inset:0;display:grid;place-items:center}
.isum .hero .dart img{width:100%;height:100%;object-fit:contain}
.isum .hero .dart.red{background:var(--red-500)}.isum .hero .dart.black{background:var(--black-900)}.isum .hero .dart.white{background:#fcfbfb}
/* lots of offers: on phones the dots get too long, so show the counter only */
@media (max-width:640px){.pdots{display:none}.pctl{margin-top:10px}.pcount{white-space:nowrap}}
@media (max-width:1100px){.opt .ogo{display:none}.opt{grid-template-columns:80px minmax(0,1fr)}.ovis{width:80px;height:80px}}
@media (max-width:640px){.opt{grid-template-columns:52px minmax(0,1fr)}.ovis{width:52px;height:52px}}
.item .bd .cprice{display:block;font:700 15px/1 var(--font-sans);color:var(--brand-text);margin:-2px 0 6px}
/* ingredient tiles without pictures: name, price and amount stack from the top */
.ing{align-content:center;grid-template-rows:none}
.isum .tagrow,.isum h2,.isum .ingline{flex:none}

/* ---- dealban.css ---- */
/* Deal banners: plain background, food photo on the left, name, details and price on the right. Shared by the menu and deals pages. */
.dbans{display:grid;gap:18px}
.dban{all:unset;box-sizing:border-box;display:block;cursor:pointer;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/1;position:relative;box-shadow:0 16px 34px -28px rgba(1,11,19,.55);transition:transform .25s,box-shadow .25s;animation:cardIn .55s cubic-bezier(.16,.84,.28,1) both;animation-delay:calc(min(var(--i,0),8)*50ms)}
.dban:hover{transform:translateY(-3px);box-shadow:0 24px 40px -26px rgba(1,11,19,.6)}
.dban:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.dban.art img{width:100%;height:100%;object-fit:cover;display:block}
.dban.gen{color:var(--ivory-100);container-type:inline-size}
.dban.gen.red{background:var(--red-500)}.dban.gen.black{background:var(--black-900)}.dban.gen.white{background:#fcfbfb;color:var(--ink)}
.dban.gen .pic{position:absolute;left:0;top:0;bottom:0;width:44%}
.dban.gen .pic img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block;transition:transform .6s cubic-bezier(.16,.84,.28,1);transform-origin:left center}
.dban.gen.white .pic img{-webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent)}
.dban.gen .t{position:absolute;left:44%;right:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.6cqi;padding:2cqi 3.5cqi}
.dban.gen .tg{font:700 11px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;background:var(--ivory-100);color:var(--red-700);border-radius:6px;padding:5px 8px}
.dban.gen.white .tg{background:var(--red-500);color:var(--ivory-100)}
.dban.gen b{font:700 min(40px,4.1cqi)/1 var(--font-display);letter-spacing:-.01em}
.dban.gen p{font:400 max(13px,min(16px,1.75cqi))/1.35 var(--font-sans);opacity:.9;max-width:30em}
.dban.gen .pr{display:flex;align-items:flex-end;gap:8px;margin-top:.4cqi}
.dban.gen .pr small{font:500 max(11px,min(13px,1.4cqi))/1 var(--font-sans);padding-bottom:.9cqi;opacity:.9}
.dban.gen .amt{font:700 min(52px,5.6cqi)/.9 var(--font-display);letter-spacing:-.02em;display:flex;align-items:flex-start}
.dban.gen .amt sup{font-size:.5em;line-height:1;margin-top:.08em}
.dban.gen .amt sup:first-child{margin-right:.04em}
.dban.gen .amt sup+sup,.dban.gen .amt sup:last-child:not(:first-child){margin-left:.04em}
@media (max-width:760px){.dbans{gap:12px}.dban{border-radius:var(--radius-md)}.dban.gen{aspect-ratio:2.4/1}.dban.gen .pic{width:50%}.dban.gen .t{left:50%;gap:4px;padding:10px 12px}.dban.gen p{display:none}.dban.gen b{font-size:min(22px,5.6cqi)}.dban.gen .amt{font-size:min(34px,8.4cqi)}.dban.gen .pr small{font-size:11px;padding-bottom:3px}.dban.gen .tg{font-size:10px;padding:4px 6px}}
.dban.still{cursor:default}.dban.still:hover{transform:none}

/* ---- background (photo sides, pre-blurred) ---- */
@media (min-width:1420px){html.bgv body{background:transparent}
html.bgv body::before{content:"";position:fixed;top:0;bottom:0;left:50%;width:1360px;margin-left:-680px;background:var(--ivory-100);z-index:-1;box-shadow:0 0 0 1px rgba(1,11,19,.06),0 0 48px rgba(1,11,19,.22)}
html.bgv .sitenav{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0}
html.bgv .sitenav .bar{background:rgba(255,255,245,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid transparent;transition:border-color .2s}
html.bgv .sitenav.scrolled .bar{border-bottom-color:var(--line)}
html.bgv .lstage{max-width:1360px;margin:0 auto}
html.bgv-photo{background:
    linear-gradient(90deg,rgba(1,11,19,.28),rgba(1,11,19,0) 18%,rgba(1,11,19,0) 82%,rgba(1,11,19,.28)) fixed,
    url("/v2/img/bg/photo-left-blur.webp") calc(50vw - 660px - 79.5vh) 50%/auto 110vh no-repeat fixed,
    url("/v2/img/bg/photo-right-blur.webp") calc(50vw + 660px) 50%/auto 110vh no-repeat fixed,
    #b8151b}}
/* ---- home-b (scoped to .pg-home) ---- */
body.pg-home .hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;padding-top:16px;padding-bottom:20px;height:calc(100svh - 78px);min-height:520px;max-height:900px}
body.pg-home .hero .panel{color:var(--ivory-100);border-radius:var(--radius-lg);padding:clamp(40px,8vh,88px) clamp(28px,4.4vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;min-height:0}
body.pg-home .hero .panel .sub{display:flex;flex-direction:column;gap:clamp(14px,2.2vh,20px);align-items:flex-start;margin-top:clamp(28px,5vh,52px)}
body.pg-home .hero .panel .sub .lede{font:700 clamp(22px,min(2.3vw,3.3vh),30px)/1.18 var(--font-display);letter-spacing:-.005em;max-width:min(540px,92cqi)}
body.pg-home .hero .panel .sub .btnrow{margin-top:clamp(6px,1.4vh,14px);padding-left:clamp(0px,1.6cqi,18px);flex-wrap:nowrap!important;gap:18px!important}
body.pg-home .hbw{position:relative;display:inline-block}
body.pg-home .hshock{position:absolute;z-index:1;width:clamp(96px,10cqi,124px);top:calc(50% - 22px);pointer-events:none;animation:shock 2.6s ease-in-out infinite}
body.pg-home .hshock.r{left:calc(100% - 28px);--r:90deg}
body.pg-home .hshock.l{right:calc(100% - 28px);--r:-90deg;animation-delay:-1.3s}
@keyframes shock{0%,100%{transform:rotate(var(--r))}50%{transform:rotate(calc(var(--r) + 6deg))}}
body.pg-home .hbtn{height:clamp(60px,7.6vh,72px);padding:0 clamp(30px,2.6vw,40px);font:700 clamp(19px,2.3vh,22px)/1 var(--font-sans);gap:12px;border-radius:999px;box-shadow:0 7px 0 var(--red-700),0 18px 30px -12px rgba(1,11,19,.45);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}
body.pg-home .hbtn svg{transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
body.pg-home .hbtn:hover{transform:translateY(-3px);box-shadow:0 10px 0 var(--red-700),0 22px 34px -12px rgba(1,11,19,.5)}
body.pg-home .hbtn:hover svg{transform:translateX(4px)}
body.pg-home .hbtn:active{transform:translateY(4px);box-shadow:0 3px 0 var(--red-700),0 10px 20px -12px rgba(1,11,19,.45)}
@media (prefers-reduced-motion:reduce){body.pg-home .hshock{animation:none;transform:rotate(var(--r))}}
body.pg-home .hero .panel .crew{margin-top:clamp(26px,4.4vh,44px);white-space:nowrap}
body.pg-home .hero .panel .crew img{display:inline-block;width:clamp(36px,5cqi,54px);height:auto;margin-left:10px;vertical-align:-4px}
body.pg-home .hero .panel .since{display:inline-flex;align-items:center;gap:10px;font:700 14px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase}
body.pg-home .hero .panel .since::before,body.pg-home .hero .panel .since::after{content:"";width:28px;height:2px;background:currentColor}
body.pg-home .hero .panel{container-type:inline-size}
body.pg-home .hero h1{font-size:clamp(34px,min(16.4cqi,13vh),136px);white-space:nowrap}
body.pg-home .hero h1 .ln{display:block}
body.pg-home .mk{position:relative;display:inline-block;z-index:0;white-space:nowrap}
body.pg-home .mk::after{content:"";position:absolute;left:-4%;width:108%;bottom:-.24em;height:.3em;background:var(--mk,currentColor);-webkit-mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;z-index:-1;transform-origin:left center}
body.pg-home .hero .panel .crew{font:400 clamp(26px,min(3vw,4.6vh),40px)/1.12 var(--font-script)}
body.pg-home .hero .panel p{font:400 clamp(17px,2.2vh,20px)/1.45 var(--font-sans);max-width:440px}
body.pg-home .hero .panel .lnk{color:var(--ivory-100);font:700 19px/24px var(--font-sans)}
body.pg-home .hero .pic{position:relative;min-height:0}
body.pg-home .slides{position:absolute;inset:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--black-900)}
body.pg-home .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity 1.4s ease,transform 7s linear}
body.pg-home .slides img.on{opacity:1;transform:scale(1)}
body.pg-home .sdots{position:absolute;right:20px;bottom:20px;display:flex;gap:8px;z-index:2}
body.pg-home .hvid{position:absolute;inset:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--black-900)}
body.pg-home .hvid video{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
body.pg-home .vtog{position:absolute;right:16px;bottom:16px;z-index:3;width:40px;height:40px;border-radius:50%;border:0;background:rgba(1,11,19,.55);color:var(--ivory-100);display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(4px)}
body.pg-home .vtog:hover{background:rgba(1,11,19,.75)}
body.pg-home .vtog:focus-visible{outline:3px solid var(--ivory-100);outline-offset:2px}
body.pg-home .vtog .i-play{display:none}
body.pg-home .vtog.paused .i-play{display:block}
body.pg-home .vtog.paused .i-pause{display:none}
body.pg-home .sdots button{width:10px;height:10px;border-radius:99px;border:0;padding:0;background:rgba(255,255,245,.6);cursor:pointer;transition:width .35s,background .35s}
body.pg-home .sdots button.on{width:30px;background:var(--ivory-100)}
body.pg-home .hero .stk{position:absolute;z-index:2;left:-30px;bottom:40px}
body.pg-home .hero .panel{position:relative}
body.pg-home .hero .panel .sub p{max-width:min(500px,84cqi)}
body.pg-home .hero .panel .sub p.more{max-width:none;font-size:clamp(15px,3.55cqi,20px);line-height:1.45}
@media (min-width:901px) and (max-height:800px){body.pg-home .hero .panel{padding-top:32px;padding-bottom:32px}
body.pg-home .hero .panel .sub{margin-top:36px;gap:14px}
body.pg-home .hero .panel p{font-size:16px;line-height:1.42}}
body.pg-home .hero .stk2{position:absolute;z-index:3;right:clamp(18px,3%,36px);top:clamp(18px,3%,36px)}
@media (max-width:900px){body.pg-home .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(150px,1fr);gap:12px;min-height:600px;max-height:none;padding-bottom:16px}
body.pg-home .hero .panel{padding:30px 22px}
body.pg-home .hero .panel .sub{gap:12px}
body.pg-home .hero h1{font-size:clamp(30px,16.4cqi,72px)}
body.pg-home .hero .panel .crew{font-size:27px}
body.pg-home .hero .panel .sub p:not(.lede){display:none}
body.pg-home .hero .panel .sub .lede{font-size:20px}
body.pg-home .hshock{width:92px}
body.pg-home .hshock.l{display:none}
body.pg-home .hero .stk{left:12px;bottom:12px}
body.pg-home .hero .stk .sticker{--s:92px!important}
body.pg-home .hero .stk2{right:12px;top:12px}
body.pg-home .hero .stk2 .sticker{--s:88px!important;--fs:12px!important}
body.pg-home .hero .panel .crew{margin-top:18px}
body.pg-home .hero .panel .sub{margin-top:22px}}
body.pg-home .deals{padding-top:96px}
body.pg-home .bslot{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/1;background:var(--ivory-200);box-shadow:0 24px 50px -36px rgba(1,11,19,.5)}
body.pg-home .btrack{display:flex;height:100%;transition:transform .8s cubic-bezier(.65,0,.25,1)}
body.pg-home .btrack a{flex:0 0 100%;height:100%;display:block}
body.pg-home .btrack img{width:100%;height:100%;object-fit:cover;display:block}
body.pg-home .barr{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;border-radius:50%;border:2px solid var(--ink);background:var(--ivory-100);color:var(--ink);display:grid;place-items:center;cursor:pointer;z-index:3;opacity:0;transition:opacity .25s,transform .15s}
body.pg-home .bslot:hover .barr,body.pg-home .barr:focus-visible{opacity:1}
body.pg-home .barr:hover{transform:scale(1.06)}
body.pg-home .barr.prev{left:18px}
body.pg-home .barr.next{right:18px}
body.pg-home .bprog{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(1,11,19,.14);z-index:3}
body.pg-home .bprog i{display:block;height:100%;background:var(--red-500);transform-origin:left;transform:scaleX(0)}
body.pg-home .bctl{display:flex;align-items:center;gap:16px;margin-top:16px}
body.pg-home .bdots{display:flex;gap:8px}
body.pg-home .bdots button{width:10px;height:10px;border-radius:99px;border:2px solid var(--ink);background:transparent;padding:0;cursor:pointer;transition:width .3s,background .3s}
body.pg-home .bdots button.on{width:30px;background:var(--ink)}
body.pg-home .bcount{font:700 13px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
@media (hover:none){body.pg-home .barr{opacity:1}}
@media (max-width:700px){body.pg-home .bslot{border-radius:var(--radius-md)}
body.pg-home .barr{display:none}}
body.pg-home .sechd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
body.pg-home .sechd .kicker{font-size:36px;display:block}
body.pg-home .favs{padding-top:104px}
@media (max-width:640px){body.pg-home .favs{padding-top:72px}}
body.pg-home .favs .sechd{margin-bottom:48px}
body.pg-home .favgrid{row-gap:40px}
body.pg-home .favgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
@media (max-width:1100px){body.pg-home .favgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){body.pg-home .favgrid{gap:16px}
body.pg-home .fav .h-s{font-size:22px}
body.pg-home .fav p{display:none}}
body.pg-home .fav{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)}
body.pg-home .fav:hover{color:var(--ink)}
body.pg-home .fav .ph{aspect-ratio:1/1;border-radius:var(--radius-lg);position:relative;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
body.pg-home .fav:hover .ph{transform:rotate(-2.5deg) scale(1.03)}
body.pg-home .fav:nth-child(even):hover .ph{transform:rotate(2.5deg) scale(1.03)}
body.pg-home .fv{position:relative}
body.pg-home .fst{position:absolute;z-index:2;pointer-events:none}
body.pg-home .fst .acc{display:block}
@media (max-width:520px){body.pg-home .fst .sticker{--s:74px!important;--fs:11px!important}
body.pg-home .fst img{width:54px!important}}
@media (max-width:1100px){body.pg-home .fav:nth-child(3) .fst{left:auto!important;right:-14px!important;top:-18px!important}}
body.pg-home .fav .ph.pic{padding:0;border:0;overflow:hidden;background:#e9e9e7}
body.pg-home .fav .ph.pic img{width:100%;height:100%;object-fit:cover}
body.pg-home .fav p{color:var(--ink-muted)}
body.pg-home .fav .go{font:700 16px/24px var(--font-sans);color:var(--brand-text)}
body.pg-home .loc{margin-top:104px;color:var(--ivory-100);border-radius:var(--radius-lg);padding:56px;display:flex;flex-wrap:wrap;gap:48px;align-items:center;overflow:hidden}
body.pg-home .loc .l{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:20px}
body.pg-home .loc .l .lead{max-width:480px;color:var(--ivory-100)}
body.pg-home .loc .eyebrow{color:var(--ivory-100)}
body.pg-home .loc .input{background:var(--ivory-100);border-color:var(--ivory-100)}
body.pg-home .loc .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
body.pg-home .loc .btn-secondary:hover{background:rgba(255,255,245,.1);color:var(--ivory-100)}
body.pg-home .loc .mbmap{box-shadow:0 0 0 2px rgba(255,255,245,.12);height:clamp(320px,34vw,460px)}
body.pg-home .loc form .row{display:flex;gap:12px;flex-wrap:wrap}
body.pg-home .loc form .input{flex:1 1 220px}
body.pg-home .loc .uml{display:inline-flex;align-items:center;gap:8px;font-weight:700}
body.pg-home .loc .mapcol{flex:1.3 1 480px;min-width:0}
@media (max-width:640px){body.pg-home .loc{padding:32px 20px}
body.pg-home .loc .map{min-height:300px}}
body.pg-home .loc .mapcol{flex:1.3 1 480px;min-width:0}
body.pg-home .appx{position:relative;height:300vh;margin-top:104px}
body.pg-home .appx .stage{position:sticky;top:76px;height:calc(100svh - 76px);max-width:1360px;margin:0 auto;padding:12px 32px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:stretch}
body.pg-home .appx .vis{border-radius:var(--radius-lg);display:grid;place-items:center;min-height:0;overflow:hidden}
body.pg-home .appx .copy{display:flex;flex-direction:column;justify-content:center;min-height:0;gap:clamp(10px,1.8vh,18px)}
body.pg-home .appx .copy{container-type:inline-size}
body.pg-home .appx h2{font:700 min(64px,7vh,8.4cqi)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;color:var(--ink)}
body.pg-home .bstep .more p b{color:var(--ink);font-weight:700}
body.pg-home .bsteps{list-style:none;margin:0;padding:0;border-bottom:2px solid var(--ivory-300)}
body.pg-home .bstep{border-top:2px solid var(--ivory-300);position:relative}
body.pg-home .bstep button{all:unset;box-sizing:border-box;width:100%;display:grid;grid-template-columns:52px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:clamp(10px,1.7vh,16px) 0;cursor:pointer}
body.pg-home .bstep button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
body.pg-home .bstep .ic{width:44px;height:44px;color:var(--ink);transition:color .3s,transform .5s cubic-bezier(.34,1.56,.64,1)}
body.pg-home .bstep .ic svg{width:100%;height:100%}
body.pg-home .bstep:hover .ic{transform:rotate(-8deg) scale(1.08)}
body.pg-home .bstep .go{color:var(--ink-muted);transition:transform .35s,color .3s;display:grid;place-items:center}
body.pg-home .bstep.on .go{transform:rotate(180deg);color:var(--brand-text)}
body.pg-home .appx .kicker{display:inline-flex;align-items:flex-end;gap:10px}
body.pg-home .bstep .t{font:700 clamp(20px,min(2vw,3.4vh),30px)/1.1 var(--font-display);transition:color .3s}
body.pg-home .bstep .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.16,.84,.28,1)}
body.pg-home .bstep .more>div{overflow:hidden;padding-left:64px}
body.pg-home .bstep .more p{font:400 clamp(16px,2.1vh,19px)/1.5 var(--font-sans);color:var(--ink-muted);padding-bottom:clamp(12px,2vh,18px);max-width:520px}
body.pg-home .bstep .bar{position:absolute;left:0;top:-2px;height:2px;width:100%;background:var(--red-500);transform-origin:left;transform:scaleX(0)}
body.pg-home .bstep.on .ic,body.pg-home .bstep.on .t{color:var(--brand-text)}
body.pg-home .bstep.on .more{grid-template-rows:1fr}
body.pg-home .appx .stores{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.pg-home .appx .store{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 14px;border-radius:12px;background:#000;color:#fff;text-decoration:none;border:1.5px solid #a6a6a6;transition:transform .2s,border-color .2s}
body.pg-home .appx .store .logo{width:28px;height:28px;flex:none}
body.pg-home .appx .store span{display:flex;flex-direction:column;gap:2px;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif}
body.pg-home .appx .store small{display:block;font:500 11px/1 -apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:.01em}
body.pg-home .appx .store.gp small{text-transform:uppercase;font-size:10px;letter-spacing:.06em}
body.pg-home .appx .store b{display:block;font:600 21px/1 -apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:-.01em}
body.pg-home .appx .store:hover{transform:translateY(-2px);border-color:#ddd;color:#fff}
body.pg-home .appx .alt{font-weight:700;margin-left:6px}
body.pg-home .appx .vis{position:relative}
body.pg-home .phone{position:absolute;left:50%;top:50%;translate:-50% -52.9%;height:min(128%,975px);aspect-ratio:4/3;filter:drop-shadow(0 30px 40px rgba(1,11,19,.35))}
body.pg-home .phone .shot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(18px) scale(.98);transition:opacity .5s,transform .6s cubic-bezier(.16,.84,.28,1)}
body.pg-home .phone .shot.on{opacity:1;transform:none}
@media (max-width:900px){body.pg-home .appx{height:280vh;margin-top:72px}
body.pg-home .appx .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,36%) auto;padding:8px 16px 16px;gap:14px}
body.pg-home .appx .copy{justify-content:flex-start;gap:10px}
body.pg-home .appx .kicker{font-size:26px}
body.pg-home .appx h2{font-size:28px}
body.pg-home .phone{height:130%}
body.pg-home .bstep button{grid-template-columns:36px minmax(0,1fr) 22px;gap:10px;padding:9px 0}
body.pg-home .bstep .ic{width:32px;height:32px}
body.pg-home .bstep .t{font-size:18px}
body.pg-home .bstep .more>div{padding-left:46px}
body.pg-home .bstep .more p{font-size:15px;padding-bottom:10px}
body.pg-home .appx .store{height:48px;padding:0 14px 0 10px}
body.pg-home .appx .store b{font-size:17px}
body.pg-home .appx .store .logo{width:22px;height:22px}}
body.pg-home .appx.free{height:auto}
body.pg-home .appx.free .stage{position:relative;top:0;height:auto}
body.pg-home .appx.free .vis{min-height:360px}
body.pg-home .appx.free .bstep .more{grid-template-rows:1fr}
body.pg-home .spop{display:block;opacity:0;transform:scale(0)}
body.pg-home .spop.on{animation:spop .85s cubic-bezier(.3,1.4,.5,1) var(--d,0ms) both}
@keyframes spop{0%{opacity:0;transform:scale(0) rotate(-28deg)}55%{opacity:1;transform:scale(1.18) rotate(7deg)}78%{transform:scale(.94) rotate(-2deg)}100%{opacity:1;transform:none}}
body.pg-home .spop>*{animation:sfloat 5s ease-in-out infinite}
@keyframes sfloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -8px;rotate:2.5deg}}
body.pg-home.scrolling .spop>*{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){body.pg-home .spop,body.pg-home .spop.on{opacity:1;transform:none;animation:none}
body.pg-home .spop>*{animation:none}}
/* ---- locations (scoped to .pg-locations) ---- */
body.pg-locations .foot{margin-top:0}
body.pg-locations .lstage{position:relative;height:calc(100svh - 76px);min-height:620px}
body.pg-locations #map{position:absolute;inset:0;background:#CFE0E2}
body.pg-locations .lpanel{position:absolute;z-index:500;left:clamp(12px,2vw,28px);top:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);width:min(480px,calc(100% - 24px));container-type:inline-size;display:flex;flex-direction:column;background:rgba(255,255,245,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:var(--radius-lg);box-shadow:0 30px 70px -24px rgba(1,11,19,.4);overflow:hidden}
body.pg-locations .lph{padding:24px 24px 14px;display:flex;flex-direction:column;gap:14px;border-bottom:2px solid var(--ivory-300)}
body.pg-locations .lph h1{font:700 min(40px,8.6cqi)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap}
body.pg-locations .mtog{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--ivory-200);border:2px solid var(--ink);border-radius:999px}
body.pg-locations .mtog button{height:40px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:700 15px/1 var(--font-sans);cursor:pointer}
body.pg-locations .mtog button.on{background:var(--ink);color:var(--ivory-100)}
body.pg-locations .srow{display:flex;gap:8px}
body.pg-locations .srch{flex:1;display:flex;align-items:center;gap:10px;height:50px;padding:0 16px;background:var(--ivory-100);border:2px solid var(--ink);border-radius:999px;min-width:0}
body.pg-locations .srch:focus-within{box-shadow:0 0 0 3px var(--ivory-100),0 0 0 5px var(--red-600)}
body.pg-locations .srch svg{flex:none;color:var(--ink-muted)}
body.pg-locations .srch input{flex:1;border:0;outline:0;background:none;font:400 16px var(--font-sans);color:var(--ink);min-width:0}
body.pg-locations .near{width:50px;height:50px;border-radius:50%;border:0;background:var(--action);color:var(--on-action);display:grid;place-items:center;cursor:pointer;flex:none;transition:background .2s,transform .3s}
body.pg-locations .near:hover{background:var(--action-hover);transform:rotate(-15deg)}
body.pg-locations .lcards{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin}
body.pg-locations .lc{background:var(--ivory-100);border-radius:18px;padding:18px 20px;border:2px solid var(--ivory-300);cursor:pointer;transition:border-color .25s,box-shadow .25s}
body.pg-locations .lc:hover{border-color:var(--black-500)}
body.pg-locations .lc.on{border-color:var(--ink);box-shadow:0 14px 30px -22px rgba(1,11,19,.45)}
body.pg-locations .lc .hd{display:flex;align-items:center;gap:12px}
body.pg-locations .lc .num{width:30px;height:30px;border-radius:50%;background:var(--red-500);color:var(--ivory-100);display:grid;place-items:center;font:800 14px/1 var(--font-sans);flex:none}
body.pg-locations .lc.on .num{background:var(--ink)}
body.pg-locations .lc h2{flex:1;min-width:0;font:700 22px/1.1 var(--font-display)}
body.pg-locations .lc .st{flex:none;display:inline-flex;align-items:center;gap:6px;font:700 13px/1 var(--font-sans);color:var(--ink-muted);white-space:nowrap}
body.pg-locations .lc .st::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--black-500)}
body.pg-locations .lc .st.y{color:#1d7a3a}
body.pg-locations .lc .st.y::before{background:#1d9a45}
body.pg-locations .lc .st.n{color:var(--red-600)}
body.pg-locations .lc .st.n::before{background:var(--red-600)}
body.pg-locations .lc .body{padding-left:0;margin-top:6px;display:flex;flex-direction:column;gap:4px}
body.pg-locations .lc address{font-style:normal;font:400 16px/23px var(--font-sans);color:var(--ink-muted)}
body.pg-locations .lc .meta{font:500 15px/22px var(--font-sans);color:var(--ink-muted)}
body.pg-locations .lc .meta a{color:var(--ink);font-weight:700;text-decoration:none}
body.pg-locations .lc .meta a:hover{color:var(--brand-text);text-decoration:underline}
@media (max-width:640px){body.pg-locations .lc .meta a{display:inline-block;padding:10px 0;margin:-10px 0}}
body.pg-locations .lc .mark{width:26px;height:30px;object-fit:contain;flex:none}
body.pg-locations .lc .svc{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
body.pg-locations .lc .bdg{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;font:700 12px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;background:var(--ivory-200);color:var(--ink-muted)}
body.pg-locations .lc .bdg.on{background:#e3f4e8;color:#17663a}
body.pg-locations .lc .bdg.off{background:var(--ivory-200);color:var(--black-500)}
body.pg-locations .lc .bdg i{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0}
body.pg-locations .lc .dnote{font:400 13px/18px var(--font-sans);color:var(--ink-muted);margin-top:8px}
body.pg-locations .lc .km{font:700 13px/1 var(--font-sans);color:var(--brand-text)}
body.pg-locations .lc .more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,.84,.28,1)}
body.pg-locations .lc.on .more{grid-template-rows:1fr}
body.pg-locations .lc .more>div{overflow:hidden}
body.pg-locations .lc table{border-collapse:collapse;margin-top:10px;font:400 14px/22px var(--font-sans);width:100%;color:var(--ink-muted)}
body.pg-locations .lc td+td{text-align:right}
body.pg-locations .lc tr.today{font-weight:700;color:var(--ink)}
body.pg-locations .lc .acts{display:flex;align-items:center;gap:16px;margin-top:14px;padding-left:0}
body.pg-locations .lc .acts .btn{height:40px;padding:0 20px;font-size:15px}
body.pg-locations .lc .acts .dir{font:700 15px/1 var(--font-sans);color:var(--ink);text-decoration:none}
body.pg-locations .lc .acts .dir:hover{color:var(--brand-text);text-decoration:underline}
@media (max-width:420px){body.pg-locations .lc .body,body.pg-locations .lc .acts{padding-left:0}
body.pg-locations .lc .hd{flex-wrap:wrap}}
body.pg-locations .lempty{padding:20px 6px;color:var(--ink-muted)}
body.pg-locations .ltoast{position:absolute;z-index:600;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--ivory-100);font:500 15px var(--font-sans);padding:12px 18px;border-radius:999px;opacity:0;transition:opacity .3s;pointer-events:none;white-space:nowrap}
body.pg-locations .ltoast.show{opacity:1}
body.pg-locations .mapnote{position:absolute;right:12px;bottom:26px;z-index:500;background:rgba(255,255,245,.92);border-radius:999px;padding:6px 12px;font:600 12px/1.2 var(--font-sans);color:var(--black-500);pointer-events:none}
@media (max-width:1000px){body.pg-locations .lstage{height:auto;min-height:0;display:flex;flex-direction:column}
body.pg-locations #map{position:relative;height:46svh;min-height:300px}
body.pg-locations .lpanel{position:relative;left:0;top:0;bottom:auto;width:100%;border-radius:0;box-shadow:none;background:var(--ivory-100)}
body.pg-locations .lph{padding:20px 16px 14px}
body.pg-locations .lcards{overflow:visible;padding:14px 16px 32px}
body.pg-locations .lph,body.pg-locations .lcards{max-width:760px;margin-left:auto;margin-right:auto;width:100%}
body.pg-locations .mapnote{display:none}}
/* ---- catering (scoped to .pg-catering) ---- */
body.pg-catering .cat{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;padding-top:16px;padding-bottom:24px}
@media (min-width:1001px){body.pg-catering .cat{height:calc(100svh - 76px);min-height:640px;max-height:940px}}
body.pg-catering .cphoto{position:relative;border-radius:var(--radius-lg);overflow:visible;min-height:520px}
body.pg-catering .cphoto .clip{position:absolute;inset:0;border-radius:var(--radius-lg);overflow:hidden;background:var(--black-900)}
body.pg-catering .cphoto .cph{position:absolute;inset:0;opacity:0;transform:scale(1.07);transition:opacity .9s ease,transform 5s cubic-bezier(.16,.84,.28,1)}
body.pg-catering .cphoto .cph.on{opacity:1;transform:none}
body.pg-catering .cphoto .cph img{width:100%;height:100%;object-fit:cover}
body.pg-catering .cphoto .veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(1,11,19,.82) 0%,rgba(1,11,19,.5) 26%,rgba(1,11,19,0) 52%),linear-gradient(180deg,rgba(1,11,19,.35),rgba(1,11,19,0) 18%)}
body.pg-catering .cphoto .in{position:absolute;left:0;right:0;bottom:0;padding:clamp(28px,3.2vw,48px);color:var(--ivory-100)}
body.pg-catering .wc .kicker{display:block;color:var(--ivory-100);font-size:clamp(32px,3vw,44px);line-height:1}
body.pg-catering .big{position:relative;height:1.02em;width:100%;overflow:hidden;font:700 clamp(40px,4.4vw,74px)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin-top:6px}
body.pg-catering .big span{position:absolute;left:0;top:0;white-space:nowrap;transform:translateY(105%);transition:transform .7s cubic-bezier(.65,0,.25,1)}
body.pg-catering .big span.on{transform:none}
body.pg-catering .big span.out{transform:translateY(-105%)}
body.pg-catering .tl{position:absolute;top:clamp(18px,2vw,26px);left:clamp(130px,11vw,160px);right:clamp(28px,3.2vw,48px);display:flex;gap:6px;z-index:2}
body.pg-catering .tl button{all:unset;flex:1;cursor:pointer;padding:8px 0}
body.pg-catering .tl i{display:block;height:3px;border-radius:3px;background:rgba(255,255,245,.32);position:relative;overflow:hidden}
body.pg-catering .tl i::after{content:"";position:absolute;inset:0;background:var(--ivory-100);transform:scaleX(0);transform-origin:left}
body.pg-catering .tl button.done i::after{transform:none}
body.pg-catering .tl button.on i::after{animation:tlf 3.4s linear forwards}
body.pg-catering .tl.still button.on i::after{animation:none;transform:none}
@keyframes tlf{to{transform:scaleX(1)}}
body.pg-catering .cphoto .s1{position:absolute;z-index:3;left:-22px;top:-18px}
body.pg-catering .cphoto .s2{position:absolute;z-index:3;right:-24px;top:42%}
body.pg-catering .cphoto .s2 .sticker .stk-in{padding:calc(var(--s,124px)*.2)}
body.pg-catering .cphoto .s2 .sticker .stk-in img{width:100%;height:100%;object-fit:contain;object-position:center}
body.pg-catering .spop>*{animation:sfl 5s ease-in-out infinite}
@keyframes sfl{0%,100%{translate:0 0}50%{translate:0 -7px}}
body.pg-catering .qcard{border-radius:var(--radius-lg);color:var(--ivory-100);padding:clamp(24px,2.8vw,44px);display:flex;flex-direction:column;justify-content:center;overflow:auto}
body.pg-catering .qcard .kicker{color:var(--ivory-100);font-size:clamp(28px,2.6vw,38px);line-height:1}
body.pg-catering .qcard h1{font:700 clamp(36px,3.4vw,58px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin-top:6px}
body.pg-catering .qcard .lead{font:400 clamp(16px,1.2vw,18px)/1.5 var(--font-sans);margin-top:10px;max-width:34em;color:var(--ivory-100)}
@media (min-width:1001px) and (max-height:800px){body.pg-catering .qcard{padding-top:14px;padding-bottom:14px}
body.pg-catering .qcard .kicker{display:none}
body.pg-catering .qcard .lead .l2{display:none}
body.pg-catering .qcard h1{font-size:38px;margin-top:0}
body.pg-catering .qcard .lead{line-height:1.38}
body.pg-catering #quote label{font-size:12px;gap:4px}
body.pg-catering .qcard .lead{font-size:15px;margin-top:6px}
body.pg-catering #quote{gap:6px;margin-top:10px}
body.pg-catering #quote textarea{min-height:38px}
body.pg-catering #quote .send{height:44px}
body.pg-catering #quote input,body.pg-catering #quote select{padding-top:7px;padding-bottom:7px}
body.pg-catering .qcard .mail{margin-top:8px}}
body.pg-catering #quote{display:grid;gap:clamp(8px,1.3vh,12px);margin-top:clamp(14px,2.4vh,24px)}
body.pg-catering #quote .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.pg-catering #quote label{display:grid;gap:5px;font:700 13px/1.2 var(--font-sans);letter-spacing:.04em;text-transform:uppercase}
body.pg-catering #quote input,body.pg-catering #quote select,body.pg-catering #quote textarea{font:400 16px/1.4 var(--font-sans);color:var(--ink);background:var(--ivory-100);border:2px solid var(--ivory-100);border-radius:14px;padding:clamp(8px,1.2vh,11px) 14px;width:100%;box-sizing:border-box}
body.pg-catering #quote textarea{min-height:clamp(52px,8vh,84px);resize:vertical}
body.pg-catering #quote input:focus,body.pg-catering #quote select:focus,body.pg-catering #quote textarea:focus{outline:0;box-shadow:0 0 0 3px var(--ink)}
body.pg-catering #quote .send{justify-self:start;margin-top:4px}
body.pg-catering .qcard .mail{font:500 14px/1.4 var(--font-sans);margin-top:clamp(10px,1.6vh,16px)}
body.pg-catering .qcard .mail a{color:var(--ivory-100);font-weight:700}
body.pg-catering .qcard .thanks{display:none}
body.pg-catering .qcard.sent #quote{display:none}
body.pg-catering .qcard.sent .thanks{display:block;margin-top:24px}
body.pg-catering .qcard .thanks h2{font:700 40px/1 var(--font-display);text-transform:uppercase}
@media (max-width:1000px){body.pg-catering .cat{grid-template-columns:minmax(0,1fr)}
body.pg-catering .cphoto{min-height:440px}
body.pg-catering .tl{left:112px}
body.pg-catering .cphoto .s1{left:-6px}
body.pg-catering .cphoto .s1 .sticker{--s:104px!important;--fs:13px!important}
body.pg-catering .cphoto .s2{display:none}}
@media (max-width:560px){body.pg-catering #quote .two{grid-template-columns:minmax(0,1fr)}
body.pg-catering .cphoto{min-height:380px}
body.pg-catering .big{font-size:min(34px,8.6vw)}}
@media (prefers-reduced-motion:reduce){body.pg-catering .big span,body.pg-catering .cphoto .cph{transition:none}
body.pg-catering .spop>*{animation:none}}
/* ---- rewards (scoped to .pg-rewards) ---- */
body.pg-rewards .rhero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;padding-top:16px;height:calc(100svh - 92px);min-height:560px;max-height:860px}
body.pg-rewards .mk{position:relative;display:inline-block;z-index:0;white-space:nowrap}
body.pg-rewards .mk::after{content:"";position:absolute;left:-4%;width:108%;bottom:-.24em;height:.3em;background:var(--mk,currentColor);-webkit-mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;z-index:-1;transform-origin:left center;transform:scaleX(0);animation:mk .9s .55s cubic-bezier(.6,0,.2,1) forwards}
@keyframes mk{to{transform:scaleX(1)}}
body.pg-rewards .rhero .txt{color:var(--ivory-100);border-radius:var(--radius-lg);padding:clamp(32px,6vh,72px) clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:clamp(16px,2.6vh,26px);position:relative;container-type:inline-size}
body.pg-rewards .rhero .kicker{color:var(--ivory-100)}
body.pg-rewards .rhero h1{font:700 clamp(40px,min(9.4cqi,8.4vh),96px)/1.08 var(--font-display);letter-spacing:-.025em;text-transform:uppercase}
body.pg-rewards .rhero h1 .mk{--mk:var(--ivory-100)}
body.pg-rewards .rhero .lede{font:400 clamp(17px,2.2vh,20px)/1.45 var(--font-sans);max-width:460px}
body.pg-rewards .rhero .stores{display:flex;gap:10px;flex-wrap:wrap}
body.pg-rewards .store{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 18px;border-radius:12px;background:var(--black-900);color:var(--ivory-100);text-decoration:none}
body.pg-rewards .store small{display:block;font:500 11px/1 var(--font-sans);opacity:.8}
body.pg-rewards .store b{display:block;font:700 18px/1.1 var(--font-sans)}
body.pg-rewards .store:hover{background:var(--black-700);color:var(--ivory-100)}
body.pg-rewards .rhero .vis{position:relative;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;overflow:visible;min-height:0}
body.pg-rewards .rhero .phone{position:relative;height:84%;max-height:660px;aspect-ratio:676/1400;filter:drop-shadow(0 30px 40px rgba(1,11,19,.25))}
body.pg-rewards .rhero .phone img{width:100%;height:100%;object-fit:contain}
body.pg-rewards .rhero .stk{position:absolute;z-index:2}
body.pg-rewards .rhero .s1{right:8%;top:10%}
body.pg-rewards .rhero .s2{left:6%;bottom:12%}
body.pg-rewards .rhero .s3{left:12%;top:14%}
body.pg-rewards .rhero .s3 img{width:84px}
body.pg-rewards .rhero .phone{animation:pfloat 6s ease-in-out infinite}
@keyframes pfloat{0%,100%{translate:0 0}50%{translate:0 -10px}}
body.pg-rewards .rhero .stk>span>*{animation:pfloat 5s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){body.pg-rewards .rhero .phone,body.pg-rewards .rhero .stk>span>*{animation:none}}
@media (max-width:900px){body.pg-rewards .rhero{grid-template-columns:minmax(0,1fr);height:auto;max-height:none;min-height:0}
body.pg-rewards .rhero .vis{min-height:420px}
body.pg-rewards .rhero .phone{height:380px}
body.pg-rewards .rhero .s1 .sticker{--s:104px!important}
body.pg-rewards .rhero .s2 .sticker{--s:110px!important}
body.pg-rewards .rhero .s3{display:none}}
body.pg-rewards .story{position:relative;height:300vh}
body.pg-rewards .story .stage{position:sticky;top:76px;height:calc(100svh - 76px);max-width:1360px;margin:0 auto;padding:12px 32px 24px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:stretch}
body.pg-rewards .svis{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:0}
body.pg-rewards .phone{position:absolute;left:50%;top:50%;translate:-50% -52.9%;height:min(128%,975px);aspect-ratio:4/3;filter:drop-shadow(0 30px 40px rgba(1,11,19,.35))}
body.pg-rewards .phone .shot{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(18px) scale(.98);transition:opacity .5s,transform .6s cubic-bezier(.16,.84,.28,1)}
body.pg-rewards .phone .shot.on{opacity:1;transform:none}
body.pg-rewards .svis .stk{position:absolute;z-index:2;opacity:0;transform:scale(.3) rotate(-25deg);transition:opacity .25s,transform .35s ease-in}
body.pg-rewards .svis .stk.on{transition:opacity .3s .15s,transform .6s .15s cubic-bezier(.3,1.5,.5,1)}
body.pg-rewards .svis .stk.on{opacity:1;transform:none}
body.pg-rewards .svis .stk>span{display:block;animation:sfl 5s ease-in-out infinite}
body.pg-rewards .sk{display:block;line-height:.92}
body.pg-rewards .sk small{display:block;font-size:.42em;line-height:1;letter-spacing:.06em;margin-top:.2em}
@keyframes sfl{0%,100%{translate:0 0}50%{translate:0 -7px}}
body.pg-rewards .svis .s1{right:9%;top:11%}
body.pg-rewards .svis .s2{left:8%;top:44%}
body.pg-rewards .svis .s3{right:8%;bottom:11%}
body.pg-rewards .scopy{display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,2.2vh,22px);min-height:0}
body.pg-rewards .scopy .kicker{display:block}
body.pg-rewards .scopy h1{font:700 clamp(38px,min(4.4vw,7.4vh),70px)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin-top:4px}
body.pg-rewards .scopy h1 .mk{--mk:var(--red-500)}
body.pg-rewards .scopy .intro{font:400 clamp(16px,2vh,19px)/1.45 var(--font-sans);color:var(--ink-muted);margin-top:clamp(14px,2.2vh,22px)}
body.pg-rewards .rsteps{list-style:none;margin:0;padding:0;display:grid}
body.pg-rewards .rstp{position:relative;border-top:2px solid var(--ivory-300);display:grid;grid-template-columns:clamp(52px,6.4vh,64px) minmax(0,1fr);gap:4px 18px;align-items:center;padding:clamp(10px,1.7vh,16px) 0;cursor:pointer}
body.pg-rewards .rstp:last-child{border-bottom:2px solid var(--ivory-300)}
body.pg-rewards .rstp .bar{position:absolute;left:0;top:-2px;height:2px;width:100%;background:var(--red-500);transform-origin:left;transform:scaleX(0)}
body.pg-rewards .rstp .ic{grid-row:1/3;width:100%;aspect-ratio:1;border-radius:50%;background:var(--ivory-200);color:var(--ink);display:grid;place-items:center;transition:background .3s,color .3s,transform .5s cubic-bezier(.34,1.56,.64,1)}
body.pg-rewards .rstp .ic svg{width:58%;height:58%}
body.pg-rewards .rstp.on .ic{background:var(--red-500);color:var(--ivory-100);transform:rotate(-8deg) scale(1.06)}
body.pg-rewards .rstp b{font:700 clamp(21px,min(2.1vw,3.4vh),28px)/1.1 var(--font-display);transition:color .3s;align-self:end}
body.pg-rewards .rstp.on b{color:var(--brand-text)}
body.pg-rewards .rstp p{color:var(--ink-muted);font:400 clamp(15px,1.9vh,17px)/1.45 var(--font-sans);align-self:start;display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.16,.84,.28,1)}
body.pg-rewards .rstp p>span{overflow:hidden}
body.pg-rewards .rstp.on p{grid-template-rows:1fr}
body.pg-rewards .rstp p strong{color:var(--ink)}
body.pg-rewards .rstores{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:4px}
body.pg-rewards .rstores{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
body.pg-rewards .weblink2{display:inline-block;align-self:flex-start;margin-top:-10px;padding:4px 0;color:var(--brand-text);font:700 15px/1.2 var(--font-sans);text-decoration:underline;text-underline-offset:3px}
body.pg-rewards .rstore{display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 14px;border-radius:12px;background:#000;color:#fff;text-decoration:none;border:1.5px solid #a6a6a6;transition:transform .2s,border-color .2s}
body.pg-rewards .rstore .logo{width:28px;height:28px;flex:none}
body.pg-rewards .rstore span{display:flex;flex-direction:column;gap:2px;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif}
body.pg-rewards .rstore small{display:block;font:500 11px/1 -apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:.01em}
body.pg-rewards .rstore.gp small{text-transform:uppercase;font-size:10px;letter-spacing:.06em}
body.pg-rewards .rstore b{display:block;font:600 21px/1 -apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:-.01em}
body.pg-rewards .rstore:hover{transform:translateY(-2px);border-color:#ddd;color:#fff}
@media (max-width:900px){body.pg-rewards .story{height:280vh}
body.pg-rewards .story .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,40%) auto;padding:8px 16px 16px;gap:14px}
body.pg-rewards .phone{height:132%}
body.pg-rewards .svis .stk>span{scale:.62;transform-origin:center}
body.pg-rewards .scopy{justify-content:flex-start;gap:10px}
body.pg-rewards .scopy h1{font-size:30px}
body.pg-rewards .scopy .intro{display:none}
body.pg-rewards .rstp{grid-template-columns:42px minmax(0,1fr);gap:2px 12px;padding:8px 0}
body.pg-rewards .rstp b{font-size:19px}
body.pg-rewards .rstp p{font-size:14px}}
@media (max-width:900px){body.pg-rewards .rstore{height:44px!important;padding:0 12px 0 9px!important;gap:7px!important}
body.pg-rewards .rstore b{font-size:15px!important}
body.pg-rewards .rstore small{font-size:9px!important}
body.pg-rewards .rstore .logo{width:20px!important;height:20px!important}}
body.pg-rewards .story.free{height:auto}
body.pg-rewards .story.free .stage{position:relative;top:0;height:auto;min-height:620px}
body.pg-rewards .story.free .rstp p{grid-template-rows:1fr}
@media (prefers-reduced-motion:reduce){body.pg-rewards .svis .stk>span{animation:none}}
body.pg-rewards .coupon{--cut:37%;--r:18px;display:grid;grid-template-columns:var(--cut) minmax(0,1fr);background:var(--ivory-200);border-radius:20px;position:relative;filter:drop-shadow(0 22px 30px rgba(1,11,19,.16));
  -webkit-mask:radial-gradient(circle var(--r) at var(--cut) 0,#0000 98%,#000) ,radial-gradient(circle var(--r) at var(--cut) 100%,#0000 98%,#000),radial-gradient(circle var(--r) at 0 50%,#0000 98%,#000),radial-gradient(circle var(--r) at 100% 50%,#0000 98%,#000);
  -webkit-mask-composite:source-in;mask:radial-gradient(circle var(--r) at var(--cut) 0,#0000 98%,#000),radial-gradient(circle var(--r) at var(--cut) 100%,#0000 98%,#000),radial-gradient(circle var(--r) at 0 50%,#0000 98%,#000),radial-gradient(circle var(--r) at 100% 50%,#0000 98%,#000);mask-composite:intersect}
body.pg-rewards .coupon .l{container-type:inline-size;border-radius:20px 0 0 20px;color:var(--ivory-100);padding:clamp(30px,3.4vw,48px) 0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:0}
body.pg-rewards .coupon .l>*{width:84cqi}
body.pg-rewards .coupon .l .kicker{font-size:min(34px,9cqi);line-height:1;color:var(--ivory-100)}
body.pg-rewards .coupon .pct{font:700 27.2cqi/.9 var(--font-display);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;margin-top:2cqi}
body.pg-rewards .coupon .pct .mk{--mk:var(--red-500)}
body.pg-rewards .coupon .pct .mk::after{height:.34em;bottom:-.3em;left:-3%;width:106%}
body.pg-rewards .coupon .off{font:700 8.6cqi/1 var(--font-display);letter-spacing:0;text-transform:uppercase;color:var(--ivory-100);white-space:nowrap;margin-top:10cqi}
body.pg-rewards .coupon .cut{position:absolute;left:var(--cut);top:var(--r);bottom:var(--r);border-left:3px dashed var(--ivory-200);margin-left:-1.5px;z-index:1}
body.pg-rewards .coupon .notch{display:none}
body.pg-rewards .coupon .r{padding:clamp(28px,3.4vw,52px) clamp(36px,4vw,64px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px}
body.pg-rewards .coupon h2{font:700 clamp(30px,3vw,44px)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.01em}
body.pg-rewards .coupon .how{font:400 clamp(18px,1.5vw,21px)/1.5 var(--font-sans);color:var(--ink);max-width:34em}
body.pg-rewards .coupon .how b{color:var(--brand-text)}
body.pg-rewards .coupon .small{font:400 14px/1.5 var(--font-sans);color:var(--ink-muted);max-width:40em}
body.pg-rewards .coupon .btn{margin-top:6px}
body.pg-rewards .coupon.rv{opacity:0;transform:translateY(36px) rotate(-1.5deg);transition:opacity .7s,transform .9s cubic-bezier(.34,1.3,.64,1)}
body.pg-rewards .coupon.rv.in{opacity:1;transform:none}
@media (max-width:860px){body.pg-rewards .coupon{grid-template-columns:minmax(0,1fr);-webkit-mask:none;mask:none}
body.pg-rewards .coupon .l{border-radius:20px 20px 0 0}
body.pg-rewards .coupon .cut{display:none}
body.pg-rewards .coupon .r{padding:28px 24px;border-top:3px dashed rgba(1,11,19,.25)}}
body.pg-rewards .gtk{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;list-style:none;margin:0;padding:0}
body.pg-rewards .gtk li{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;gap:4px 16px;padding:18px 0;border-top:2px solid var(--ivory-300)}
body.pg-rewards .gtk .ic{grid-row:1/3;width:48px;height:48px;color:var(--brand-text);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
body.pg-rewards .gtk li:hover .ic{transform:rotate(-10deg) scale(1.08)}
body.pg-rewards .gtk b{font:700 20px/1.2 var(--font-display);color:var(--ink)}
body.pg-rewards .gtk span{font:400 17px/25px var(--font-sans);color:var(--ink-muted)}
@media (max-width:860px){body.pg-rewards .gtk{grid-template-columns:minmax(0,1fr)}}
body.pg-rewards .rcta{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;color:var(--ivory-100);border-radius:var(--radius-lg);padding:44px 48px}
body.pg-rewards .rcta h2{font:700 clamp(32px,3.4vw,48px)/.95 var(--font-display);text-transform:uppercase}
body.pg-rewards .rcta p{opacity:.95;font:400 18px/26px var(--font-sans);margin-top:8px}
body.pg-rewards .rcta .ctas{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
body.pg-rewards .rcta .weblink{display:inline-block;padding:12px 0;margin:-8px 0;color:var(--ivory-100);font:700 15px/1.2 var(--font-sans);text-decoration:underline;text-underline-offset:3px}
body.pg-rewards .rcta .rstore{border-color:rgba(255,255,245,.45)}
body.pg-rewards .rcta .sqbg{clip-path:inset(0 round var(--radius-lg))}
body.pg-rewards .rcta{position:relative;padding-top:56px!important;padding-bottom:56px!important}
body.pg-rewards .rcta .ctxt{padding-left:clamp(0px,9vw,130px)}
body.pg-rewards .rcta .ca1{position:absolute;left:clamp(16px,2.4vw,36px);top:50%;margin-top:-52px;width:clamp(84px,7vw,104px);transform:rotate(-14deg)}
body.pg-rewards .rcta .ca1 img{width:100%;height:auto;display:block;animation:sfl 5s ease-in-out infinite}
body.pg-rewards .rcta .ca3{position:absolute;left:47%;bottom:18px;width:64px;transform:rotate(12deg)}
@media (max-width:860px){body.pg-rewards .rcta .ctxt{padding-left:0}
body.pg-rewards .rcta .ca1{display:none}
body.pg-rewards .rcta .ca3{left:auto;right:28px;top:auto;bottom:24px;width:54px}}
body.pg-rewards .rcta .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
body.pg-rewards .rcta .btn-secondary:hover{background:rgba(255,255,245,.12);color:var(--ivory-100)}
@media (max-width:640px){body.pg-rewards .rcta{padding:30px 22px}}
body.pg-rewards .fine{font:400 12px/1.6 var(--font-sans);color:var(--ink-muted);margin-top:56px;max-width:1000px}
body.pg-rewards main .sec2{padding-top:clamp(88px,10vw,136px)}
@media (max-width:640px){body.pg-rewards main .sec2{padding-top:72px}}
/* ---- account (scoped to .amodal) ---- */
.amodal .auth{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:20px;padding-top:16px;padding-bottom:clamp(40px,6vh,72px);align-items:stretch}
.amodal .aphoto{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:min(78vh,720px);background:var(--black-900);color:var(--ivory-100);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(28px,3.4vw,52px)}
.amodal .aphoto .aph{position:absolute;inset:0;opacity:0;transform:scale(1.07);transition:opacity 1s ease,transform 7s cubic-bezier(.16,.84,.28,1)}
.amodal .aphoto .aph.on{opacity:1;transform:none}
.amodal .aphoto .aph img{width:100%;height:100%;object-fit:cover}
.amodal .aphoto .veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,rgba(1,11,19,.86) 0%,rgba(1,11,19,.5) 32%,rgba(1,11,19,0) 60%)}
.amodal .msgs{position:relative;z-index:2;display:grid}
.amodal .msg{grid-area:1/1;align-self:end;pointer-events:none}
.amodal .msg>*{opacity:0;transform:translateY(18px);transition:opacity .45s,transform .45s}
.amodal .msg.on{pointer-events:auto}
.amodal .msg.on>*{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.16,.84,.28,1),transform .8s cubic-bezier(.16,.84,.28,1)}
.amodal .msg.on>:nth-child(1){transition-delay:.2s}
.amodal .msg.on>:nth-child(2){transition-delay:.3s}
.amodal .msg.on>:nth-child(3){transition-delay:.42s}
.amodal .aphoto .kicker{display:block;color:var(--ivory-100);font-size:clamp(30px,2.6vw,40px);line-height:1}
.amodal .aphoto h2{font:700 clamp(36px,3.6vw,60px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin-top:6px;text-wrap:balance}
.amodal .aphoto p{margin-top:12px;font:400 18px/1.5 var(--font-sans);max-width:30em}
.amodal .perks{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.amodal .perks span{font:700 13px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;border:2px solid rgba(255,255,245,.6);border-radius:999px;padding:8px 12px}
.amodal .aphoto .stk{position:absolute;z-index:3;right:clamp(18px,3%,36px);top:clamp(18px,3%,36px)}
.amodal .aphoto .stk>span{display:block;animation:afl 5s ease-in-out infinite}
@keyframes afl{0%,100%{translate:0 0}50%{translate:0 -7px}}
.amodal .acard{background:var(--ivory-200);border-radius:var(--radius-lg);padding:clamp(24px,3vw,48px);display:grid;grid-template-rows:auto 1fr;align-content:stretch}
.amodal .atabs{position:relative;display:flex;gap:6px;background:var(--ivory-300);border-radius:999px;padding:5px;margin-bottom:clamp(22px,3vh,32px)}
.amodal .atabs .pill{position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 8px);background:var(--ink);border-radius:999px;transition:transform .45s cubic-bezier(.65,0,.25,1)}
.amodal .atabs[data-at="in"] .pill{transform:translateX(calc(100% + 6px))}
.amodal .atabs button{position:relative;z-index:1;flex:1;border:0;background:transparent;font:700 15px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);padding:15px 0;border-radius:999px;cursor:pointer;transition:color .3s}
.amodal .atabs button.on{color:var(--ivory-100)}
.amodal .atabs button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.amodal .panes{display:grid}
.amodal .pane{grid-area:1/1;display:flex;flex-direction:column;visibility:hidden}
.amodal .pane.on{visibility:visible}
.amodal .pane[data-pane="in"]{justify-content:center}
.amodal .pane h1,.amodal .pane h2{font:700 clamp(34px,3vw,48px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.015em}
.amodal .pane .lead2{margin:10px 0 clamp(18px,3vh,26px);font:400 18px/1.5 var(--font-sans);color:var(--ink-muted)}
.amodal .pane form{display:grid;gap:14px}
.amodal .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.amodal .pane label{display:grid;gap:6px;font:700 13px/1.2 var(--font-sans);letter-spacing:.04em;text-transform:uppercase}
.amodal .pane input[type=email],.amodal .pane input[type=password],.amodal .pane input[type=text],.amodal .pane input[type=tel]{width:100%;height:52px;padding:0 16px;border-radius:14px;border:2px solid var(--ivory-300);background:var(--ivory-100);font:400 16px/1 var(--font-sans);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.amodal .pane input::placeholder{color:var(--black-500)}
.amodal .pane input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(1,11,19,.12)}
.amodal .row{display:flex;justify-content:space-between;align-items:center;gap:12px;font:400 15px/1.4 var(--font-sans);color:var(--ink-muted)}
.amodal .pane label.ck{display:flex;align-items:flex-start;gap:10px;font:400 15px/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink-muted);cursor:pointer}
.amodal .ck input{width:19px;height:19px;margin-top:1px;accent-color:var(--red-600);flex:none}
.amodal .row a,.amodal .switch a,.amodal .fine a{color:var(--brand-text);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.amodal .pane .go{margin-top:6px}
.amodal .switch{text-align:center;margin-top:clamp(18px,3vh,26px);font:400 16px/1.4 var(--font-sans);color:var(--ink-muted)}
.amodal .fine{font:400 14px/1.5 var(--font-sans);color:var(--ink-muted)}
.amodal .pane.on>*,.amodal .pane.on form>*{animation:paneIn .6s cubic-bezier(.16,.84,.28,1) both}
.amodal .pane.on>:nth-child(2){animation-delay:.05s}
.amodal .pane.on form>:nth-child(1){animation-delay:.1s}
.amodal .pane.on form>:nth-child(2){animation-delay:.15s}
.amodal .pane.on form>:nth-child(3){animation-delay:.2s}
.amodal .pane.on form>:nth-child(4){animation-delay:.25s}
.amodal .pane.on form>:nth-child(n+5){animation-delay:.3s}
.amodal .pane.on>.switch{animation-delay:.35s}
@keyframes paneIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.amodal .thanks{grid-area:1/1;display:none;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px}
.amodal .acard.sent .pane{display:none}
.amodal .acard.sent .thanks{display:flex}
.amodal .acard.sent .atabs{visibility:hidden}
.amodal .thanks h2{font:700 clamp(34px,3vw,48px)/.95 var(--font-display);text-transform:uppercase}
.amodal .thanks p{font:400 18px/1.5 var(--font-sans);color:var(--ink-muted)}
@media (max-width:900px){.amodal .auth{grid-template-columns:minmax(0,1fr)}
.amodal .aphoto{min-height:340px}
.amodal .aphoto .veil{background:linear-gradient(0deg,rgba(1,11,19,.9) 0%,rgba(1,11,19,.72) 55%,rgba(1,11,19,.38) 100%)}
.amodal .aphoto .stk .sticker{--s:86px!important;--fs:12px!important}}
@media (max-width:520px){.amodal .two{grid-template-columns:minmax(0,1fr)}
.amodal .row{flex-wrap:wrap}
.amodal .perks span{font-size:11px}}
@media (prefers-reduced-motion:reduce){.amodal .aphoto .aph,.amodal .msg>*,.amodal .atabs .pill{transition:none!important}
.amodal .pane.on>*,.amodal .pane.on form>*{animation:none}
.amodal .aphoto .stk>span{animation:none}}
/* ---- franchising (scoped to .pg-franchising) ---- */
body.pg-franchising .mk{position:relative;display:inline-block;z-index:0;white-space:nowrap}
body.pg-franchising .mk::after{content:"";position:absolute;left:-4%;width:108%;bottom:-.22em;height:.28em;background:var(--mk,currentColor);-webkit-mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;z-index:-1}
body.pg-franchising .fhero{margin-top:16px;border-radius:var(--radius-lg);color:var(--ivory-100);padding:clamp(32px,4.4vw,60px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
body.pg-franchising .fhero .kicker{color:var(--ivory-100);display:block}
body.pg-franchising .fhero h1{font:700 clamp(42px,4.8vw,76px)/.92 var(--font-display);letter-spacing:-.025em;text-transform:uppercase;margin-top:4px}
body.pg-franchising .fhero h1 .mk{--mk:var(--ivory-100)}
body.pg-franchising .fhero .lede{font:400 clamp(17px,1.3vw,19px)/1.5 var(--font-sans);max-width:32em;margin-top:18px}
body.pg-franchising .fhero .cta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:24px}
body.pg-franchising .fhero .cta .lnk{color:var(--ivory-100);font:700 16px/1.2 var(--font-sans);text-decoration:underline;text-underline-offset:3px}
body.pg-franchising .fhero .stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:2px solid rgba(255,255,245,.3)}
body.pg-franchising .fhero .stats b{display:block;font:700 34px/1 var(--font-display);letter-spacing:-.02em}
body.pg-franchising .fhero .stats span{font:600 13px/1.3 var(--font-sans);opacity:.9}
body.pg-franchising .fhero .pic{position:relative;justify-self:center;width:min(100%,380px)}
body.pg-franchising .fhero .pic img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:20px;border:6px solid var(--ivory-100);transform:rotate(3deg);box-shadow:0 24px 40px -24px rgba(1,11,19,.6)}
body.pg-franchising .fhero .stk{position:absolute;left:-30px;bottom:24px}
body.pg-franchising .fhero .stk>span{display:block;animation:fl 5s ease-in-out infinite}
@keyframes fl{0%,100%{translate:0 0}50%{translate:0 -7px}}
@media (max-width:860px){body.pg-franchising .fhero{grid-template-columns:minmax(0,1fr);padding:28px 22px}
body.pg-franchising .fhero .pic{width:min(100%,300px)}
body.pg-franchising .fhero .pic img{aspect-ratio:4/3}
body.pg-franchising .fhero .stk{left:-10px;bottom:-14px}
body.pg-franchising .fhero .stk .sticker{--s:90px!important;--fs:12px!important}
body.pg-franchising .fhero .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.pg-franchising .fhero .stats b{font-size:28px}
body.pg-franchising .fhero .stats span{font-size:12px}}
body.pg-franchising .ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;list-style:none;margin:0;padding:0}
body.pg-franchising .ben li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;align-content:start;padding:20px 0;border-top:2px solid var(--ivory-300)}
body.pg-franchising .ben .ic{grid-row:1/3;width:44px;height:44px;color:var(--brand-text)}
body.pg-franchising .ben b{font:700 20px/1.2 var(--font-display)}
body.pg-franchising .ben p{color:var(--ink-muted);font:400 15px/1.45 var(--font-sans)}
@media (max-width:1000px){body.pg-franchising .ben{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){body.pg-franchising .ben{grid-template-columns:minmax(0,1fr)}}
body.pg-franchising .fsteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:s}
body.pg-franchising .fsteps li{counter-increment:s;background:var(--ivory-200);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:6px}
body.pg-franchising .fsteps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--red-500);color:var(--ivory-100);display:grid;place-items:center;font:700 19px/1 var(--font-display);margin-bottom:6px}
body.pg-franchising .fsteps b{font:700 20px/1.2 var(--font-display)}
body.pg-franchising .fsteps p{color:var(--ink-muted);font:400 15px/1.45 var(--font-sans)}
body.pg-franchising .fsteps a{font-weight:700}
body.pg-franchising .fq{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border:2px solid var(--ink);border-radius:20px;padding:20px 24px}
body.pg-franchising .fq p{font:500 17px/1.4 var(--font-sans)}
body.pg-franchising .fq p b{font-family:var(--font-display)}
@media (max-width:860px){body.pg-franchising .fsteps{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){body.pg-franchising .fhero .stk>span{animation:none}}
body.pg-franchising #kit{scroll-margin-top:96px}
body.pg-franchising .kitform{border-radius:var(--radius-lg);color:var(--ivory-100);padding:clamp(28px,4vw,56px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
body.pg-franchising .kitform .kicker{color:var(--ivory-100);display:block}
body.pg-franchising .kitform h2{font:700 clamp(36px,3.6vw,56px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin-top:4px}
body.pg-franchising .kitform .kt p{font:400 17px/1.5 var(--font-sans);margin-top:14px;max-width:30em}
body.pg-franchising .kitform .kt p.q{font-size:15px;opacity:.95}
body.pg-franchising .kitform .kt p.q b{user-select:all}
body.pg-franchising #kitf{display:grid;gap:12px}
body.pg-franchising #kitf .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
body.pg-franchising #kitf label{display:grid;gap:5px;font:700 13px/1.2 var(--font-sans);letter-spacing:.04em;text-transform:uppercase}
body.pg-franchising #kitf input,body.pg-franchising #kitf textarea{font:400 16px/1.4 var(--font-sans);color:var(--ink);background:var(--ivory-100);border:2px solid var(--ivory-100);border-radius:14px;padding:11px 14px;width:100%;box-sizing:border-box}
body.pg-franchising #kitf textarea{min-height:84px;resize:vertical}
body.pg-franchising #kitf input:focus,body.pg-franchising #kitf textarea:focus{outline:0;box-shadow:0 0 0 3px var(--ink)}
body.pg-franchising #kitf button{justify-self:start;margin-top:4px}
body.pg-franchising .kthanks{display:none}
body.pg-franchising .kitform.sent #kitf{display:none}
body.pg-franchising .kitform.sent .kthanks{display:block}
body.pg-franchising .kthanks h2{margin-top:4px}
body.pg-franchising .kthanks p{font:400 17px/1.5 var(--font-sans);margin-top:10px}
@media (max-width:860px){body.pg-franchising .kitform{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){body.pg-franchising #kitf .two{grid-template-columns:minmax(0,1fr)}}
/* ---- privacy (scoped to .pg-privacy) ---- */
body.pg-privacy .pol{display:grid;grid-template-columns:240px minmax(0,720px);gap:clamp(32px,6vw,96px);justify-content:center;padding-top:clamp(40px,6vw,80px)}
body.pg-privacy .pol .toc{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:2px}
body.pg-privacy .pol .toc span{font:700 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:8px}
body.pg-privacy .pol .toc a{color:var(--ink);text-decoration:none;font:600 15px/1.3 var(--font-sans);padding:7px 0 7px 14px;border-left:2px solid var(--ivory-300)}
body.pg-privacy .pol .toc a:hover{color:var(--brand-text);border-left-color:var(--red-500)}
body.pg-privacy .pol h1{font:700 clamp(44px,5vw,72px)/.92 var(--font-display);letter-spacing:-.02em;text-transform:uppercase}
body.pg-privacy .pol .kicker{display:block;font-size:34px;margin-bottom:4px}
body.pg-privacy .pol .intro{font:400 19px/1.6 var(--font-sans);color:var(--ink);margin-top:20px}
body.pg-privacy .pol section{padding-top:36px;scroll-margin-top:100px}
body.pg-privacy .pol h2{font:700 26px/1.15 var(--font-display);margin-bottom:10px}
body.pg-privacy .pol p,body.pg-privacy .pol li{font:400 17px/1.65 var(--font-sans);color:var(--ink-muted)}
body.pg-privacy .pol ul{margin:8px 0 12px;padding-left:22px}
body.pg-privacy .pol li+li{margin-top:4px}
body.pg-privacy .pol .note{margin-top:48px;padding:20px 22px;border-radius:16px;background:var(--ivory-200);font:400 15px/1.5 var(--font-sans);color:var(--ink-muted)}
@media (max-width:900px){body.pg-privacy .pol{grid-template-columns:minmax(0,1fr)}
body.pg-privacy .pol .toc{display:none}}
/* ---- deals (scoped to .pg-store) ---- */
body.pg-store .dhero{max-width:1200px;margin:0 auto;padding-top:clamp(36px,5vw,72px);container-type:inline-size;position:relative;display:flex;align-items:center;justify-content:space-between;gap:2cqi}
body.pg-store .dhero h1{font:700 min(128px,8.25cqi)/.86 var(--font-display);letter-spacing:-.025em;text-transform:uppercase;white-space:nowrap}
body.pg-store .dhero .mk{position:relative;display:inline-block;z-index:0}
body.pg-store .dhero .mk::after{content:"";position:absolute;left:-2%;width:104%;bottom:-.16em;height:.2em;background:var(--red-500);-webkit-mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;mask:url(/v2/img/acc/underline-brush.webp) center/100% 100% no-repeat;z-index:-1}
body.pg-store .dhero .st{flex:none;margin-top:-1cqi}
body.pg-store .dhero .st .sticker{--s:min(140px,11.5cqi)!important;--fs:min(21px,1.75cqi)!important}
body.pg-store .dhero .st>*{animation:dfloat 5s ease-in-out infinite}
@keyframes dfloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media (prefers-reduced-motion:reduce){body.pg-store .dhero .st>*{animation:none}}
@media (max-width:700px){body.pg-store .dhero{display:block}
body.pg-store .dhero h1{white-space:normal;font-size:min(64px,15.5cqi)}
body.pg-store .dhero h1 .l2{display:block}
body.pg-store .dhero .st{position:absolute;right:0;top:calc(clamp(36px,5vw,72px) - 12px);margin:0}
body.pg-store .dhero .st .sticker{--s:72px!important;--fs:11px!important}}
body.pg-store .store-sec{max-width:1200px;margin:96px auto 0}
body.pg-store .store-sec:first-of-type{margin-top:clamp(56px,6vw,88px)}
body.pg-store .shd{display:flex;justify-content:space-between;align-items:baseline;gap:6px 24px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:22px;border-bottom:2px solid var(--ink)}
body.pg-store .shd h2{font:700 clamp(28px,3vw,40px)/1 var(--font-display);text-transform:uppercase;letter-spacing:-.01em}
body.pg-store .shd address{font:400 15px/20px var(--font-sans);font-style:normal;letter-spacing:.01em;color:var(--ink-muted)}
@media (max-width:700px){body.pg-store .store-sec{margin-top:64px}
body.pg-store .store-sec:first-of-type{margin-top:48px}
body.pg-store .shd{flex-direction:column;margin-bottom:14px;padding-bottom:10px}
body.pg-store .shd address{font-size:14px}}
body.pg-store .blist{display:grid;gap:24px}
body.pg-store .blist .dban{box-shadow:0 18px 40px -30px rgba(1,11,19,.5)}
body.pg-store .bimg.still{cursor:default}
body.pg-store .bimg.still:hover{transform:none;box-shadow:0 18px 40px -30px rgba(1,11,19,.5)}
body.pg-store .bimg{display:block;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/1;background:var(--ivory-200);box-shadow:0 18px 40px -30px rgba(1,11,19,.5);transition:transform .25s,box-shadow .25s}
body.pg-store .bimg img{width:100%;height:100%;object-fit:cover;display:block}
body.pg-store .bimg:hover{transform:translateY(-3px);box-shadow:0 26px 46px -28px rgba(1,11,19,.55)}
body.pg-store .bimg:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
body.pg-store .fine{text-align:center;color:var(--ink-muted);font:500 13px/19px var(--font-sans);max-width:760px;margin:12px auto 0}
@media (max-width:700px){body.pg-store .blist{gap:14px}
body.pg-store .bimg{border-radius:var(--radius-md)}}
/* ---- old spin game styles (scoped to .spinwrap) ---- */
.spinwrap .spin-bg{
	background: rgb(94,0,0);
	background: linear-gradient(50deg, rgba(94,0,0,1) 0%, rgba(227,30,39,1) 100%);
	width: 100%;

}
.spinwrap .s-area{
	display: table;
	width: 100%;
	height: 100vh;
}
.spinwrap .s-area-r{
	display: table-row;
}
.spinwrap .s-area-c{
	display: table-cell;
	padding-top: 40px;
	text-align: center;
	position: relative;
}
.spinwrap .s-alan{
	text-align: center;
	display: block;
}
.spinwrap .mail-alan{
	position: absolute;
	background: rgba(0,0,0,.9);
	border-radius: 5px;
	width: calc(100% - 60px);
	right: 20px;
	top: -30px;
	padding: 50px 20px 0px 20px;
	z-index: 20;
}
.spinwrap .mail-alan .head{
	font-size: 4em;
	font-weight: 700;
	margin-bottom: 10px;
}
.spinwrap .mail-alan .t{
	margin-bottom: 40px;
	
}
.spinwrap .mail-alan .f{
	margin-bottom: 40px;
}
.spinwrap .mail-alan .f input{
	font-family: 'Metropolis', sans-serif;
	font-size: 1.2em;
	padding: 15px;
	min-width: 200px;
	border: none;
	border-radius: 2px 0px 0px 2px;
	line-height: 16px;
	outline: none;
}
.spinwrap .mail-alan .f button{
	outline: none;
	font-family: 'Metropolis', sans-serif;
	font-size: 1.0em;
	font-weight: 700;
	line-height: 16px;
	padding: 15px;
	border: none;
	border-radius: 0px 2px 2px 0px;
	background: #ED1D25;
	color: #ffffff;
}
.spinwrap .mail-alan .f input:-ms-input-placeholder{ 
	font-style: italic;
	color: #555555;
}
.spinwrap .mail-alan .logo{
	width: 100px;
	margin-bottom: 40px;
}
.spinwrap .mail-alan .maskot{
	width: 110px;
	margin-bottom: -2px;
}
.spinwrap .mailerror{
	color: yellow;
	margin-bottom: 40px;
	font-weight: 700;
	font-style: italic;
}
.spinwrap .genel .error{
	margin-top: 100px;
}
.spinwrap .rewards-alan{
	position: fixed;
	background: rgba(0,0,0,.9);
	border-radius: 5px;
	width: 500px;
	left: calc(50% - 270px);
	top: 170px;
	padding: 50px 20px 50px 20px;
	z-index: 20;
}
.spinwrap .rewards-alan h3{
	font-size: 4em;
	font-weight: 700;
	margin-bottom: 10px;
}
.spinwrap .rewards-alan h4{
	font-size: 3em;
	margin-bottom: 30px;
}
.spinwrap .rewards-alan h2{
	font-size: 5em;
	font-weight: 700;
	margin-bottom: 30px;
	color: #ff0a18;
}
.spinwrap .s-area-c .csp{
	position: fixed;
	background: #ff0a18;
	color: #ffffff;
	text-decoration: none;
	font-size: 2.6em;
	line-height: 1.6em;
	width: 1.6em;
	top: 0;
	border-radius: 0 0 0 2px;
	right: 0;
	z-index: 100;
}
.spinwrap .s-area-c .genel h2{
	background: linear-gradient(0deg, rgba(253,255,171,1) 0%, rgba(253,255,171,1) 31%, rgba(191,117,44,1) 40%, rgba(253,255,171,1) 100%);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: #FFF985;	
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-weight: 700;
	font-size: 7em;
}
.spinwrap .s-area-c .genel h3{
	font-size: 2em;
	font-weight: 700;
	margin-bottom: 50px;
}
.spinwrap .s-area-c .genel .left{
	display: inline-block;
	vertical-align: top;
	width: 60%;
	position: relative;
}
.spinwrap .s-area-c .genel .right{
	display: inline-block;
	vertical-align: middle;
	width: 40%;
	text-align: left;
}
.spinwrap .s-area-c .genel .right h4{
	font-size: 1.6em;
	font-weight: 700;
	line-height: 2em;
}
.spinwrap .s-area-c .genel .right .text div{
	font-size: 1.4em;
	line-height: 1.6em;
}
.spinwrap .s-area-c .genel .right .text{
	margin-bottom: 20px;
}
.spinwrap .s-area-c .genel .right .notes div{
	
}
.spinwrap .onay{
	display: table;
	position: fixed;
	top: 0;
	left: 0;
	width: calc(100% - 80px);
	height: 100vh;
	padding: 40px;
	background: rgba(0,0,0,.9);
	z-index: 50;
}
.spinwrap .onay-tr{
	display: table-row;
}
.spinwrap .onay-tc{
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
.spinwrap .onay-area{
	display: inline-block;
}
.spinwrap .onay-area .si{
	width: 320px;
	margin-bottom: 40px;
	max-width: 100%;
}
.spinwrap .onay-area .im{
	position: relative;
}
.spinwrap .onay-area .im .l{
	position: absolute;
	width: 34px;
	left: calc(50% - 17px);
	top: -20px;
}
.spinwrap .onay-area h3{
	font-size: 3em;
	margin-bottom: 20px;
}
.spinwrap .onay-area .btn{
	font-size: 2.4em;
}
.spinwrap .onay-area .btn div,.spinwrap .onay-area .btn a{
	display: inline-block;
	color: #ffffff;
	text-decoration: none;
	margin: 20px;
	background: #ED1D25;
	border-radius: 2px;
	padding: 20px 50px;
}
.spinwrap .onay-area .yazilar{
	position: absolute;
	bottom: 20px;
	width: 100%;
	left:0;
}
@media only screen and (min-width: 1161px){.spinwrap .wheel-wrapper{
		height: 460px;
		width: 460px;
	}
.spinwrap .s-area-c .genel .right{
		margin-top: 70px;
	}
.spinwrap .mail-alan{
		width: calc(100% - 255px);
	}
.spinwrap .mail-alan .maskot{
		width: 190px;
	}
.spinwrap .onay-area .si{
		width: 400px;
	}
.spinwrap .onay-area .im .l{
		position: absolute;
		width: 50px;
		left: calc(50% - 25px);
		top: -25px;
	}}
@media only screen and (max-width: 1160px){.spinwrap .wheel-wrapper{
		width: 360px;
		height: 360px;
	}}
@media screen and (max-width: 760px){.spinwrap .onay-area h3{
		font-size: 2em;
		margin-bottom: 20px;
	}
.spinwrap .onay-area .btn{
		font-size: 1.2em;
	}
.spinwrap .onay-area .btn div,.spinwrap .onay-area .btn a{
		margin: 10px;
		padding: 10px 30px;
	}
.spinwrap .wheel-wrapper{
		width: 320px;
		height: 320px;
		right: 20px !important;
	}
.spinwrap .s-area-c .genel .left{
		display: block;
		margin: 0 auto;
		width: 360px;
		height: 360px;
	}
.spinwrap .s-area-c .genel .right{
		display: block;
		width: inherit;
		text-align: center;
		margin: 20px;
		margin-top: 30px;
	}
.spinwrap .rewards-alan,.spinwrap .mail-alan{
		left: inherit;
		width: calc(100% - 60px);
		right: 10px;
	}
.spinwrap .rewards-alan h3{
		font-size: 3em;
	}
.spinwrap .mail-alan .f input{
		border-radius: 2px;
		margin-bottom: 5px;
	}
.spinwrap .mail-alan .f button{
		border-radius: 2px;
	}
.spinwrap .s-area-c .genel h2{
		font-size: 4.2em;
		margin-bottom: 10px;
	}}
.spinwrap .wheel-wrapper{
	position: absolute;
	top: 0;
	right: 30px;
	
}
.spinwrap .wheel-wrapper .l{
	position: absolute;
	width: 100%;
	text-align: center;
	top:-20px;
	z-index: 2;
}
.spinwrap .wheel-wrapper .l img{
	width: 50px;
}
.spinwrap .wheel-pointer{
	width: 100px;
	height: 100px;
	border-radius: 1000px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	line-height: 60px;
	z-index: 10;
	cursor: pointer;
	background-image: url("/images/spin/button.png");
	background-size: cover;
	-webkit-transition: all 50ms ease-in-out;
	transition:         all 50ms ease-in-out;
}
.spinwrap .wheel-pointer:hover{
	width: 110px;
	height: 110px;
}
.spinwrap .wheel-pointer:active{
	width: 95px;
	height: 95px;
}
.spinwrap .wheel-bg{
	width: 100%;
	height: 100%;
	border-radius: 1000px;
	overflow: hidden;
	transition: transform 8s ease-in-out;

	background-image: url("/images/spin/spin.png");
	background-size: cover;
}
.spinwrap .wheel-bg.freeze{
	transition: none;
	background: red;
}
.spinwrap .prize-list{
	width: 100%;
	height: 100%;
	position: relative;
	text-align: center;
	
}
.spinwrap .prize-item-wrapper{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 150px;
	height: 150px;
}
.spinwrap .prize-item{
	width: 100%;
	height: 100%;
	transform-origin: bottom;
}
.spinwrap .prize-item .prize-name{
	padding: 16px 0;
}
.spinwrap #canvas{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 8;
}
/* ---- app.css ---- */
/* ==========================================================================
   Megabite v2 (2026-10): styles for the real site's components, on top of the design's CSS
   (tokens, base, menu, pages, dealban). Same tokens, radii and type as the design.
   ========================================================================== */
[v-cloak]{display:none!important}
html:has(.mnav.on),html:has(.pmodal),html:has(.mbm),html:has(.cscrim.show){overflow:hidden}
body.modal-open{overflow:hidden}
main{display:block}

/* ---------- loading ring (API calls) ---------- */
.mbload{position:fixed;inset:0;z-index:130;display:none;place-items:center;background:rgba(255,255,245,.35);pointer-events:all}
.mbload.on{display:grid}
.mbload .ring{width:56px;height:56px;border-radius:50%;border:5px solid var(--ivory-300);border-top-color:var(--red-600);animation:mbspin .8s linear infinite}
@keyframes mbspin{to{transform:rotate(360deg)}}

/* ---------- header extras ---------- */
.umenu{display:flex}
.acct .uname{gap:8px;max-width:200px;padding:0 18px}
.acct .uname span{overflow:hidden;text-overflow:ellipsis}
.cartbtn .badge{line-height:22px}
@media (max-width:1060px){.acct .umenu{display:none}}
@media (max-width:420px){.acct .order{display:none}}
.mnav-acct{background:var(--red-600);color:var(--ivory-100);border-radius:var(--radius-md);padding:14px 18px;display:flex;align-items:center;justify-content:space-between}
.mnav-acct b{font:700 28px/1 var(--font-display)}
.mnav-acct small{font:700 13px/1 var(--font-sans);text-transform:uppercase;letter-spacing:.06em}

/* ---------- dialogs ---------- */
.mbm{position:fixed;inset:0;z-index:85}
.mbm .mscrim{z-index:0}
.mdlg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:90;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-y:auto;background:var(--ivory-100);border-radius:var(--radius-lg);padding:28px;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);display:flex;flex-direction:column;gap:12px;animation:dlgIn .3s cubic-bezier(.16,.84,.28,1)}
@keyframes dlgIn{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}}
.mdlg>.iclose,.adlg .acard>.iclose,.spdlg .iclose,.pbdlg>.iclose{position:absolute;top:16px;right:16px;z-index:3}
.mdlg h2{font:700 clamp(30px,3vw,40px)/.95 var(--font-display);text-transform:uppercase;letter-spacing:-.015em;padding-right:52px}
.mdlg .kicker{font-size:30px}
.lead2{font:400 17px/1.5 var(--font-sans);color:var(--ink-muted)}

/* account sheet */
.udlg .ptsbox{position:relative;overflow:hidden;border-radius:var(--radius-md);background-color:var(--red-500);color:var(--ivory-100);padding:18px 20px;display:flex;flex-direction:column;gap:2px;margin:6px 0}
.udlg .ptsbox>*{position:relative;z-index:1}
.udlg .ptsbox b{font:700 56px/1 var(--font-display)}
.udlg .ptsbox span:last-child{font:500 14px/1.3 var(--font-sans)}
.ulinks{display:flex;flex-direction:column}
.ulinks a{display:flex;justify-content:space-between;padding:14px 2px;border-bottom:2px solid var(--line);font:700 22px/1.1 var(--font-display);color:var(--ink);text-decoration:none}
.ulinks a:hover{color:var(--brand-text)}

/* sign in / sign up / reset (the account page's card as a dialog) */
.amodal .adlg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:90;width:min(1080px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));height:min(760px,calc(100dvh - 48px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:var(--radius-lg);overflow:hidden;background:var(--ivory-200);box-shadow:0 40px 90px -30px rgba(0,0,0,.55);animation:dlgIn .3s cubic-bezier(.16,.84,.28,1)}
.amodal .aphoto{border-radius:0;min-height:0}
.amodal .acard{position:relative;border-radius:0;overflow-y:auto;display:flex;flex-direction:column}
.amodal .acard .atabs{margin-right:56px}
.amodal .pane{visibility:visible;flex:1;justify-content:center}
.amodal .pane form{gap:10px}
.amodal .pane .i{width:100%;height:52px;padding:0 16px;border-radius:14px;border:2px solid var(--ivory-300);background:var(--ivory-100);font:400 16px/1 var(--font-sans);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.amodal .pane .i:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(1,11,19,.12)}
.amodal .pane .i.bad{border-color:var(--red-600)}
.amodal .ierr{font:500 13px/1.2 var(--font-sans);color:var(--brand-text);margin-top:-4px}
.amodal .ferr{background:var(--red-600);color:var(--ivory-100);border-radius:12px;padding:10px 14px;font:700 15px/1.35 var(--font-sans);margin-bottom:12px}
.amodal .two>div{display:flex;flex-direction:column;gap:6px}
.amodal .steps{color:var(--ink-muted);margin-bottom:6px}
.amodal .adlg.busy .acard{opacity:.6;pointer-events:none}
.amodal .adlg.done{opacity:0;transition:opacity .3s}
@media (max-width:900px){
  .amodal .adlg{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);top:8px;left:8px;right:8px;bottom:8px;transform:none;width:auto;height:auto;animation:none;border-radius:20px}
  .amodal .aphoto{min-height:150px;padding:20px}
  .amodal .aphoto h2{font-size:30px}.amodal .aphoto p,.amodal .perks{display:none}
}

/* store pickers */
.spick .spdlg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:90;width:min(1120px,calc(100vw - 48px));height:min(760px,calc(100vh - 48px));height:min(760px,calc(100dvh - 48px));background:var(--ivory-100);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);animation:dlgIn .3s cubic-bezier(.16,.84,.28,1)}
.spdlg.busy{opacity:.7;pointer-events:none}
.spdlg.done{opacity:0;transition:opacity .2s}
.sphd{display:flex;justify-content:space-between;align-items:flex-end;padding:24px 28px 16px;border-bottom:2px solid var(--line)}
.sphd .kicker{font-size:30px;display:block}
.sphd h2{font:700 clamp(30px,3vw,44px)/.95 var(--font-display);text-transform:uppercase}
.sperr{margin:16px 28px 0;background:var(--red-600);color:var(--ivory-100);border-radius:var(--radius-md);padding:16px 18px;display:flex;flex-direction:column;gap:12px;font:500 15px/1.4 var(--font-sans)}
.sperr .acts{display:flex;gap:10px;flex-wrap:wrap}
.sperr .btn-primary{background:var(--ivory-100);color:var(--red-700)}
.sperr .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
.spbody{flex:1;min-height:0;display:grid;grid-template-columns:420px minmax(0,1fr)}
.spbody .slist{overflow-y:auto;padding:16px 20px 24px 28px}
.spbody .smap{padding:16px 20px 20px 0}
.spbody #allmap{width:100%;height:100%;border-radius:var(--radius-md);background:var(--ivory-200)}
@media (max-width:900px){
  .spick .spdlg{top:8px;left:8px;right:8px;bottom:8px;transform:none;width:auto;height:auto;animation:none;border-radius:20px}
  .spbody{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 180px}
  .spbody .slist{padding:12px 16px}
  .spbody .smap{padding:0 16px 16px}
  .sphd{padding:18px 18px 12px}.sperr{margin:12px 16px 0}
}
.slist{display:flex;flex-direction:column;gap:10px}
.slist .lc{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;background:var(--ivory-200);border:2px solid transparent;border-radius:18px;padding:14px 16px;transition:border-color .2s,transform .2s}
.slist .lc:hover,.slist .lc:focus-visible,.slist .lc.on{border-color:var(--ink)}
.slist .lc:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.lc .hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lc .nm{font:700 22px/1.1 var(--font-display);color:var(--ink)}
.lc .st{font:700 13px/1 var(--font-sans);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.lc .st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.lc .st.y{color:#1d7a3a}.lc .st.n{color:var(--black-500)}
.lc .ad{font:400 15px/1.4 var(--font-sans);color:var(--ink-muted)}
.lc .svc,.svcnow{display:flex;gap:6px;flex-wrap:wrap}
.bdg{font:700 12px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:6px 10px}
.bdg.on{background:#e3f4e8;color:#17663a}
.bdg.off{background:var(--ivory-300);color:var(--black-700)}
.bdg i{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0}
.lc .go{font:700 15px/1 var(--font-sans);color:var(--brand-text);margin-top:2px}

/* store pins on Google maps in the pickers keep Google's own look; Leaflet pins: */
.mbleaf{background:#CFE0E2;font-family:var(--font-sans)}
.mbpin{background:none;border:0}
.leaflet-container .leaflet-marker-pane .mbpin img,.mbpin img{width:44px!important;height:auto;filter:drop-shadow(0 6px 6px rgba(1,11,19,.3));transition:transform .25s cubic-bezier(.3,1.4,.5,1);transform-origin:50% 100%}
.mbpin.on img,.mbpin:hover img{transform:scale(1.32)}
.mbpin.on{z-index:1000!important}
.mbpin em{position:absolute;left:50%;top:54px;transform:translateX(-50%);white-space:nowrap;font:700 12px/1.1 var(--font-sans);font-style:normal;color:var(--ink);text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 6px #fff}
.mbpin em.up{top:auto;bottom:58px}
.mblbl span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font:700 11px/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(1,11,19,.45)}
.mblbl.w span{font:400 15px/1 var(--font-script);letter-spacing:.02em;text-transform:none;color:#5b8a91}
.mbleaf .leaflet-control-zoom a{width:40px;height:40px;line-height:36px;border:2px solid var(--ink)!important;color:var(--ink);background:var(--ivory-100);font-size:20px}
.mbleaf .leaflet-control-zoom{border:0!important;box-shadow:none!important;display:flex;flex-direction:column;gap:6px}
.mbleaf .leaflet-control-zoom a:first-child,.mbleaf .leaflet-control-zoom a:last-child{border-radius:12px!important}
.mbleaf .leaflet-control-attribution{background:rgba(255,255,245,.8);font:400 10px/1.4 var(--font-sans)}

/* address search results */
.rlist .rldlg{width:min(560px,calc(100vw - 32px))}

/* spin popup for visitors from Google */
.promobox .pbdlg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:90;width:min(560px,calc(100vw - 32px));background:var(--ivory-100);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 40px 90px -30px rgba(0,0,0,.55)}
.promobox .pbdlg img{border-radius:var(--radius-md);width:100%}

/* ---------- cart ---------- */
.cartwrap.inline .cart{position:static;transform:none;visibility:visible;width:auto;box-shadow:none;background:var(--ivory-200);border-radius:var(--radius-lg);transition:none}
.cartwrap.inline .clines{overflow:visible;padding:4px 20px}
.cartwrap.inline .chd{padding:20px 20px 14px}
.cartwrap.inline .ctot{padding:16px 20px 20px}
.cart .chd h2{font:700 32px/1 var(--font-display);text-transform:uppercase}
.line{align-items:baseline}
.line h4{min-width:0}
.line h4 .ed{all:unset;cursor:pointer;font:700 18px/22px var(--font-display);color:var(--ink)}
.line h4 .ed:hover{color:var(--brand-text)}
.line h4 small{font:500 14px/20px var(--font-sans);color:var(--ink-muted);margin-left:4px}
.line .pr{white-space:nowrap;text-align:right}
.line .pr .n,.line .pr s,.line .pr del{display:block;text-decoration:line-through;color:var(--black-500);font-weight:500;font-size:14px}
.line .cpp{grid-column:2/4;justify-self:start;font:700 11px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;background:var(--red-600);color:var(--ivory-100);border-radius:6px;padding:4px 7px}
.line .ds{grid-column:2/4;font:400 14px/20px var(--font-sans);color:var(--ink-muted)}
.line .ds div{display:inline}
.line .ds div+div::before{content:" · "}
.line .lacts{grid-column:2/4;display:flex;gap:16px}
.line .lk,.line .rm{all:unset;cursor:pointer;font:700 13px/18px var(--font-sans);color:var(--brand-text);text-decoration:underline;text-underline-offset:3px}
.cdel{background:var(--ink);color:var(--ivory-100);border-radius:var(--radius-md);padding:16px;margin:12px 0;display:flex;flex-direction:column;gap:12px;font:500 15px/1.4 var(--font-sans)}
.cdel .acts{display:flex;gap:8px;flex-wrap:wrap}
.cdel .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
.cdel .btn-secondary:hover{background:rgba(255,255,245,.1);color:var(--ivory-100)}
.cempty b{font:700 24px/1.1 var(--font-display);color:var(--ink)}
.cps{margin:14px 0 6px;background:var(--red-500);color:var(--ivory-100);border-radius:var(--radius-md);padding:14px 16px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 12px;align-items:center}
.cps p{font:700 15px/1.35 var(--font-sans)}
.cps .ic{font-size:22px}
.cps .btn,.cps .mincamp{grid-column:1/3}
.cps .btn{background:var(--ivory-100);color:var(--red-700);height:40px}
.cps .mincamp{font:500 13px/1.35 var(--font-sans)}
.crow{display:flex;justify-content:space-between;gap:12px;font:500 15px/22px var(--font-sans);color:var(--ink-muted)}
.crow.neg{color:#17663a}
.crow.tot{font:700 20px/26px var(--font-sans);color:var(--ink);border-top:2px solid var(--line);padding-top:10px;margin-top:4px}
.ctot{gap:6px}
.cbtns{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.cbtns .btn-primary span{margin-left:auto;padding-left:12px}
.cbtns .btn-primary{justify-content:space-between}
.cerr{background:var(--red-600);color:var(--ivory-100);border-radius:var(--radius-md);padding:12px 14px;font:500 14px/1.4 var(--font-sans);display:flex;flex-direction:column;gap:6px;margin-top:8px}
.cerr .it button{all:unset;cursor:pointer;font-weight:700;text-decoration:underline;margin-left:6px}

/* ---------- product window ---------- */
.pmodal .mscrim{z-index:80}
.imodal{animation:none}
.imodal.closing{opacity:0!important;transition:opacity .2s}
.imodal.noopts{grid-template-columns:minmax(0,1fr);width:min(560px,calc(100vw - 48px));height:auto;max-height:calc(100vh - 96px)}
.imodal.noopts .isum{padding-bottom:0}
.isum{position:relative}
.iclose.ix{position:absolute;top:32px;right:32px;z-index:3}
.isum .hero img.photo{background:#e9e9e7}
.picked .dtext{font:500 14px/1.45 var(--font-sans);color:var(--ink-muted)}
.picked .dtext span{display:inline}
.picked .dtext b,.picked .dtext strong{color:var(--ink)}
.ierr2{background:var(--red-600);color:var(--ivory-100);border-radius:12px;padding:10px 14px;font:700 14px/1.35 var(--font-sans);margin-bottom:10px}
.iload{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:rgba(255,255,245,.65)}
.iload span{width:48px;height:48px;border-radius:50%;border:5px solid var(--ivory-300);border-top-color:var(--red-600);animation:mbspin .8s linear infinite}
.itabs .ittl{font:700 24px/1 var(--font-display)}
.gdesc{font:500 13px/18px var(--font-sans);color:var(--ink-muted);margin:-4px 0 12px}
.ghd{flex-wrap:wrap}
.ghd .hint{font:500 14px/20px var(--font-sans);color:var(--ink-muted)}
.ing{user-select:none}
.ing .txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ing .nm span:last-child{min-width:0}
.ing.hasimg{grid-template-columns:52px minmax(0,1fr)}
.ing.hasimg .disc{display:grid!important;grid-row:1/4;width:52px;height:52px;border-radius:999px;overflow:hidden;background:var(--ivory-100);place-items:center}
.ing.hasimg .disc img{width:52px;height:52px;object-fit:cover}
.ing .hh,.ing .amt{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ing.hasimg .hh,.ing.hasimg .amt{grid-column:2}
.ing .hh i{font:700 12px/1 var(--font-sans);font-style:normal;padding:6px 10px;border-radius:999px;border:1.5px solid var(--ink);cursor:pointer}
.ing .hh i.on{background:var(--red-600);border-color:var(--red-600);color:var(--ivory-100)}
.ing:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.dslot{border-top:2px solid var(--line);margin-top:12px}
.dslot:first-child{border-top:0;margin-top:0}
.dslot .picked1{font:700 15px/20px var(--font-sans);color:var(--brand-text)}
.lnk{all:unset;cursor:pointer;font:700 14px/20px var(--font-sans);color:var(--ink);text-decoration:underline;text-underline-offset:3px;margin-left:auto}
.pz{font:inherit}
.pz .pd{font:400 12px/16px var(--font-sans);color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dcust{margin:4px 0 0}
.custtog{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:2px solid var(--ink);font:700 14px/1 var(--font-sans)}
.custtog:hover{background:var(--ivory-200)}
.dopts{padding-left:14px;border-left:3px solid var(--ivory-300);margin-top:6px}
.dopts .gsec{padding-top:14px}
.dopts .ghd h3{font-size:21px}
.bagitem{border-top:2px solid var(--line);padding-top:8px;margin-top:8px}
.bagitem:first-child{border-top:0;margin-top:0}
.bagname{font:700 26px/1.1 var(--font-display);margin-top:16px}
@media (max-width:900px){.iclose.ix{top:20px;right:20px}.imodal.noopts{width:calc(100vw - 16px);max-height:none}.imodal.noopts .ifoot{position:sticky;left:auto;right:auto;bottom:0;border-radius:0}}

/* ---------- store page ---------- */
.clist .ind{display:none}
.tab.on,.tab.on:hover{background:var(--ink);color:var(--ivory-100)}
.tab .ti .ic{width:100%;height:100%}
.promo .slide.bimg{all:unset;box-sizing:border-box;flex:0 0 100%;height:100%;display:block;cursor:pointer}
.promo .slide.bimg.still{cursor:default}
.promo .slide.bimg img{width:100%;height:100%;object-fit:cover;display:block}
.store .svcnow{margin-top:2px}
.store.sq-char .bdg.on{background:rgba(111,227,154,.16);color:#6fe39a}
.store.sq-char .bdg.off{background:rgba(255,255,245,.1);color:var(--ivory-300)}
.store .hrs{font:400 14px/20px var(--font-sans)}
.store .hrs summary{cursor:pointer;font:700 13px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;list-style:none;display:inline-flex;gap:6px;align-items:center}
.store .hrs summary::-webkit-details-marker{display:none}
.store .hrs summary::after{content:"+";font-size:16px}
.store .hrs[open] summary::after{content:"−"}
.store .hrs ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:3px;color:var(--ivory-300)}
.store.selstore{background:var(--red-600);color:var(--ivory-100)}
.store.selstore h2{color:var(--ivory-100)}
.sechd .kicker{font-size:32px}
.blist{display:grid;gap:20px}
.dban.art.pp,.blist .dban.art{aspect-ratio:10/3}
.dban.art img{width:100%;height:100%;object-fit:cover}
.dban .dtxt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:24px 32px;background:var(--red-500);color:var(--ivory-100);gap:6px}
.dban .dtxt b{font:700 clamp(24px,3vw,40px)/1 var(--font-display);text-transform:uppercase}
@media (max-width:1000px){.store .hrs{flex-basis:100%}.store .svcnow{flex:1 1 100%}}

/* ---------- home ---------- */
.bsl{position:relative}
.bsl .btag{position:absolute;left:14px;bottom:14px;font:700 11px/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;background:var(--ink);color:var(--ivory-100);border-radius:999px;padding:6px 10px}
.dall{margin:48px 0 14px}
.dall .kicker{font-size:34px}
.dgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.dgrid2 .dban.art{aspect-ratio:10/3}
@media (max-width:760px){.dgrid2{grid-template-columns:minmax(0,1fr);gap:14px}}
.msearch{display:flex;flex-direction:column;gap:8px}
.msearch #search{display:flex;flex-direction:column;gap:8px}
.msearch .eyebrow{color:var(--ivory-100)}
.msearch .sfield{position:relative;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.msearch .sfield>svg{position:absolute;left:16px;top:14px;color:var(--ink);pointer-events:none;z-index:1}
.msearch #search-input{flex:1 1 240px;min-width:0;height:48px;padding:0 18px 0 44px;border-radius:999px;border:2px solid var(--ivory-100);background:var(--ivory-100);color:var(--ink);font:400 16px/1 var(--font-sans)}
.msearch #search-input:focus{outline:none;box-shadow:0 0 0 3px var(--ink),0 0 0 5px var(--ivory-100)}
.msearch #search-input.ok{border-color:#6fe39a}
.msearch .ialert{background:var(--red-600);color:var(--ivory-100);border-radius:12px;padding:10px 14px;font:500 14px/1.4 var(--font-sans)}
.msearch .ialert a{color:var(--ivory-100)}
.pac-container{border-radius:14px;margin-top:6px;border:2px solid var(--ink);box-shadow:0 18px 40px -20px rgba(1,11,19,.45);font-family:var(--font-sans);z-index:200!important}
.pac-item{padding:8px 12px;font-size:14px}
.pac-item-query{font-size:15px}

/* ---------- toast after adding to the order ---------- */
#mbtoast a{font-weight:700;text-decoration:underline}

/* stacking: Leaflet's panes (z 400+) and the locations panel (z 500) stay inside their own layer, and the
   site's dialogs, cart and phone menu always sit above any map */
.mbleaf,.lstage,.mbmap{isolation:isolate}
.mbm{z-index:1200}
.pmodal{position:relative;z-index:1200}
.pmodal .mscrim{z-index:1190}
.pmodal .imodal{z-index:1200}
.cscrim{z-index:1100}
.cart{z-index:1110}
.cartwrap.inline .cart{z-index:auto}
.mnav{z-index:1300}
.mbload{z-index:1400}
#mbtoast{z-index:1350}
.pac-container{z-index:1500!important}

/* ---- app2.css ---- */
/* ==========================================================================
   Megabite v2 (2026-10): checkout, account, thank-you and content pages, in the design's language.
   ========================================================================== */
.di{width:100%;height:100%;display:block}
.btn.dim{opacity:.55}
.fl{display:grid;gap:6px;font:700 13px/1.2 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}
.fi{width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:2px solid var(--ivory-300);background:var(--ivory-100);font:400 16px/1.3 var(--font-sans);letter-spacing:0;text-transform:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.fi:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(1,11,19,.12)}
.fi:disabled{background:var(--ivory-200);color:var(--ink-muted);border-color:transparent}
select.fi{appearance:auto}
textarea.fi{min-height:96px;resize:vertical}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fgrid .span2,.fgrid>.span2{grid-column:1/-1}
@media (max-width:560px){.fgrid{grid-template-columns:minmax(0,1fr)}}
.ckerr{color:var(--brand-text);font:700 14px/1.4 var(--font-sans);margin-top:8px}
.ckerr:empty{display:none}
.cknote{font:400 14px/1.5 var(--font-sans);color:var(--ink-muted)}
.lk{all:unset;cursor:pointer;font:700 14px/20px var(--font-sans);color:var(--brand-text);text-decoration:underline;text-underline-offset:3px}

/* ---------- checkout ---------- */
.ckout{padding-top:24px}
.ckhead{margin-bottom:24px}
.ckhead .kicker{display:block}
.cklay{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:start}
.ckside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
@media (max-width:1000px){.cklay{grid-template-columns:minmax(0,1fr)}.ckside{position:static;order:-1}}
.ckmain{display:flex;flex-direction:column;gap:16px;min-width:0;counter-reset:ck}
.ckmain>div{display:flex;flex-direction:column;gap:16px}
.ckstep{background:var(--ivory-200);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:14px;counter-increment:ck}
.ckstep>h2{font:700 26px/1.1 var(--font-display);display:flex;align-items:center;gap:12px}
.ckstep>h2::before{content:counter(ck);width:34px;height:34px;flex:none;border-radius:50%;background:var(--red-600);color:var(--ivory-100);display:grid;place-items:center;font:800 16px/1 var(--font-sans)}
.ckpts{border-radius:var(--radius-lg);background-color:var(--red-500);color:var(--ivory-100);padding:20px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;position:relative;overflow:hidden}
.ckpts>*{position:relative;z-index:1}
.ckpts p{font:700 18px/1.35 var(--font-sans)}
.seg2{display:flex;flex-wrap:wrap;gap:10px}
.seg2 button{flex:1 1 180px;min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:16px;border:2px solid var(--ivory-300);background:var(--ivory-100);color:var(--ink);font:700 17px/1.2 var(--font-sans);cursor:pointer;text-align:left;transition:border-color .2s,background .2s}
.seg2 button .ic,.seg2 button svg{width:28px;height:28px;flex:none}
.seg2 button:hover{border-color:var(--ink)}
.seg2 button.on{background:var(--ink);border-color:var(--ink);color:var(--ivory-100)}
.seg2 button.off{opacity:.5;cursor:not-allowed}
.seg2 button small{display:block;font:500 12px/1 var(--font-sans);margin-left:auto;color:var(--ink-muted)}
.later{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ckalert{background:var(--ink);color:var(--ivory-100);border-radius:12px;padding:12px 16px;font:500 15px/1.45 var(--font-sans)}
.paybox{display:flex;flex-direction:column;gap:14px}
.cardbox{display:grid;gap:10px}
#card-element{min-height:52px;padding:15px 16px;border-radius:14px;border:2px solid var(--ivory-300);background:var(--ivory-100)}
#card-element.StripeElement--focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(1,11,19,.12)}
#card-element.StripeElement--invalid{border-color:var(--red-600)}
.tipbox{display:grid;gap:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chips button{height:44px;padding:0 18px;border-radius:999px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 15px/1 var(--font-sans);cursor:pointer}
.chips button.on{background:var(--ink);color:var(--ivory-100)}
.chips .tipin{width:110px;min-height:44px;border-radius:999px;padding:8px 16px}
.rpuse{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;font:400 16px/1.5 var(--font-sans)}
.ckbox{width:28px;height:28px;border-radius:8px;border:2px solid var(--ink);background:var(--ivory-100);display:grid;place-items:center;cursor:pointer;color:transparent;font:800 15px/1 var(--font-sans);padding:0}
.ckbox.on{background:var(--red-600);border-color:var(--red-600);color:var(--ivory-100)}
.cpn{display:flex;flex-direction:column;gap:8px}
.cprow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.cprow .fl{flex:1 1 220px}
.cprow .btn{height:52px}
.cpok{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#e3f4e8;color:#17663a;border-radius:12px;padding:12px 16px;font:500 15px/1.4 var(--font-sans)}
.ckcons{display:flex;gap:12px;align-items:flex-start;font:400 15px/1.45 var(--font-sans);color:var(--ink-muted);cursor:pointer}
.ckcons input{width:20px;height:20px;margin-top:1px;accent-color:var(--red-600);flex:none}
.ckplace{display:flex;flex-direction:column;gap:12px;padding:8px 0 24px}
.ckplace .btn-lg{height:64px;font-size:21px}
.ckerrs{background:var(--ivory-200);border:2px solid var(--red-600);border-radius:14px;padding:12px 16px;font:500 14px/1.6 var(--font-sans);color:var(--brand-text)}
.ckshield{position:fixed;inset:0;z-index:140}
.cknostore{background:var(--ivory-200);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.ckstore h2{font-size:24px}
.adscr{display:flex;flex-direction:column;gap:12px}
.adone{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;background:var(--ivory-100);border:2px solid var(--ink);border-radius:14px;padding:14px 16px}
.adone p{flex:1 1 220px;font:500 16px/1.45 var(--font-sans)}
.adone .ic{font-size:20px}
.altst{display:flex;flex-direction:column;gap:10px;margin:8px 0}
.altst .lc{background:var(--ivory-200);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.abdlg{width:min(720px,calc(100vw - 32px))}
.abitems{display:flex;flex-direction:column;gap:10px}
.abitem{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ivory-200);border-radius:16px;padding:14px 16px}
.abitem .t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 240px}
.abitem .t b{font:700 18px/1.2 var(--font-display)}
.abitem .t span{font:400 15px/1.4 var(--font-sans);color:var(--ink-muted)}
.abitem .acts{display:flex;gap:14px;align-items:center}
.seg3{display:flex;gap:8px;flex-wrap:wrap}
.seg3 button{height:44px;padding:0 20px;border-radius:999px;border:2px solid var(--ink);background:transparent;font:700 15px/1 var(--font-sans);cursor:pointer;color:var(--ink)}
.seg3 button.on{background:var(--ink);color:var(--ivory-100)}
.abfoot{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cotheradd{display:flex;flex-direction:column;gap:10px}
.abook.busy .abdlg,.sumscr.busy .sumdlg,.odet.busy .oddlg{opacity:.7;pointer-events:none}
.abook.done,.sumscr.done,.odet.done{opacity:0;transition:opacity .2s}
.sumdlg{width:min(980px,calc(100vw - 32px))}
.sumgrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}
@media (max-width:760px){.sumgrid{grid-template-columns:minmax(0,1fr)}}
.sumdl{margin:0;display:flex;flex-direction:column;gap:12px}
.sumdl div{display:grid;gap:2px}
.sumdl.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}
@media (max-width:560px){.sumdl.two{grid-template-columns:minmax(0,1fr)}}
.sumdl dt{font:700 12px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.sumdl dd{margin:0;font:500 16px/1.45 var(--font-sans)}
.sumcart{background:var(--ivory-200);border-radius:var(--radius-md);padding:6px 18px 16px;display:flex;flex-direction:column;gap:6px}
.sumcart .line:last-of-type{border-bottom:2px solid var(--line)}
.sumerr{background:var(--red-600);color:var(--ivory-100);border-radius:12px;padding:12px 16px;font:700 15px/1.4 var(--font-sans)}
.sumfoot{display:flex;gap:10px;flex-wrap:wrap}
.sumfoot .btn-primary{flex:1 1 240px}
.addok{background:#e3f4e8;color:#17663a;border-radius:12px;padding:10px 14px;font:700 15px/1.3 var(--font-sans)}

/* ---------- thank-you ---------- */
.done{padding-top:24px}
.dnhead{margin-bottom:24px;display:flex;flex-direction:column;gap:6px}
.dnlay{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}
@media (max-width:1000px){.dnlay{grid-template-columns:minmax(0,1fr)}}
.dncard{background:var(--ivory-200);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:18px}
.dnnum{position:relative;overflow:hidden;background-color:var(--red-500);color:var(--ivory-100);border-radius:var(--radius-md);padding:20px 24px;display:flex;flex-direction:column;gap:2px}
.dnnum>*{position:relative;z-index:1}
.dnnum b{font:700 clamp(44px,6vw,72px)/1 var(--font-display)}
.dnwho p{font:400 16px/1.5 var(--font-sans)}
.dnstore{border-top:2px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:8px;font:400 16px/1.5 var(--font-sans)}
.dnstore .note{color:var(--ink-muted);font-size:14px}
.dnside{display:flex;flex-direction:column;gap:16px}
.dnpts{display:flex;gap:16px;align-items:center;background:var(--ivory-200);border-radius:var(--radius-lg);padding:20px}
.dnpts h2{font:700 24px/1.1 var(--font-display);text-transform:uppercase}
.dnpromo{position:relative;overflow:hidden;background-color:#1c1c1c;color:var(--ivory-100);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.dnpromo>*{position:relative;z-index:1}
.dnpromo .kicker{color:var(--ivory-100);font-size:30px}
.dnpromo h2{font:700 30px/1 var(--font-display);text-transform:uppercase}
.dnsoc{background:var(--ivory-200);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:8px}
.socrow{display:flex;flex-wrap:wrap;gap:8px}
.socrow a{font:700 14px/1 var(--font-sans);padding:10px 14px;border-radius:999px;border:2px solid var(--ink);color:var(--ink);text-decoration:none}

/* ---------- account and history ---------- */
.acc{padding-top:24px}
.achead{margin-bottom:24px}
.achead .kicker{display:block}
.acgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}
.acgrid .span2{grid-column:1/-1}
@media (max-width:1000px){.acgrid{grid-template-columns:minmax(0,1fr)}}
.accard{background:var(--ivory-200);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:14px}
.accard h2{font:700 28px/1.1 var(--font-display);text-transform:uppercase}
.acbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.acside{display:flex;flex-direction:column;gap:16px}
.ptsbig{position:relative;overflow:hidden;background-color:var(--red-500);color:var(--ivory-100);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:2px}
.ptsbig>*{position:relative;z-index:1}
.ptsbig b{font:700 72px/1 var(--font-display)}
.ptsbig span:last-child{font:700 14px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase}
.rules p{font:400 15px/1.55 var(--font-sans);color:var(--ink-muted)}
.rpdet{display:flex;flex-direction:column;gap:8px}
.rpdet h3{font:700 20px/1.2 var(--font-display)}
.aclink{flex-direction:row;justify-content:space-between;align-items:center;font:700 22px/1 var(--font-display);color:var(--ink);text-decoration:none}
.aclink:hover{color:var(--brand-text)}
.optin{display:flex;gap:12px;align-items:flex-start;font:400 14px/1.45 var(--font-sans);color:var(--ink-muted);letter-spacing:0;text-transform:none}
.optin.active{cursor:pointer;color:var(--ink)}
.hist{gap:0;padding:8px 24px}
.hrow{display:grid;grid-template-columns:120px 190px minmax(0,1fr) 110px;gap:14px;padding:14px 0;border-bottom:2px solid var(--line);font:400 15px/1.45 var(--font-sans);align-items:baseline}
.hrow:last-child{border-bottom:0}
.hrow.hh{font:700 12px/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.hrow .pr{text-align:right;font-weight:700}
.hrow .it{color:var(--ink-muted)}
@media (max-width:760px){.hrow{grid-template-columns:minmax(0,1fr) auto}.hrow.hh{display:none}.hrow .it{grid-column:1/-1}}

/* ---------- contact, catering extras, simple pages ---------- */
.contact{padding-top:24px}
.cthead{margin-bottom:24px;display:flex;flex-direction:column;gap:8px}
.ctlay{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
@media (max-width:1000px){.ctlay{grid-template-columns:minmax(0,1fr)}}
.ctinfo{display:flex;flex-direction:column;gap:12px}
.ctinfo .accard{gap:6px;padding:18px 20px}
.ctinfo p{font:400 16px/1.5 var(--font-sans)}
.sent{display:flex;flex-direction:column;gap:6px}
.qcard .qerr{background:var(--ivory-100);color:var(--red-700);border-radius:12px;padding:10px 14px;font:700 14px/1.4 var(--font-sans)}
.qcard .qerr a{color:var(--red-700)}
.catwhy{margin-top:72px;display:flex;flex-direction:column;gap:20px}
.catwhy .gtk,.gtk{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.catwhy .gtk li{background:var(--ivory-200);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:6px}
.catwhy .gtk b{font:700 22px/1.15 var(--font-display)}
.catwhy .gtk span{font:400 15px/1.5 var(--font-sans);color:var(--ink-muted)}
@media (max-width:900px){.catwhy .gtk{grid-template-columns:minmax(0,1fr)}}
.simplepg{padding-block:48px;display:flex;flex-direction:column;gap:18px;align-items:flex-start;max-width:900px}
.simplepg img{border-radius:var(--radius-lg)}
.nf{padding-block:32px}
.nfcard{position:relative;overflow:hidden;background-color:var(--red-500);color:var(--ivory-100);border-radius:var(--radius-lg);padding:clamp(32px,6vw,72px);display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.nfcard>*{position:relative;z-index:1}
.nfcard .kicker{color:var(--ivory-100)}
.nfcard h1{font:700 clamp(120px,22vw,260px)/.85 var(--font-display);letter-spacing:-.03em}
.nfcard .lead{color:var(--ivory-100);max-width:520px}
.nfcard .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
.ffdlg{width:min(720px,calc(100vw - 32px))}
.fq{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-bottom:2px solid var(--line)}
.fq p{font:500 16px/1.45 var(--font-sans)}
.yn{display:flex;gap:16px;flex-wrap:wrap}
.yn label{display:flex;gap:8px;align-items:center;font:500 15px/1 var(--font-sans);cursor:pointer}
.yn input{accent-color:var(--red-600);width:18px;height:18px}
.ffq .ferr,.fkit .ferr{background:var(--red-600);color:var(--ivory-100);border-radius:12px;padding:10px 14px;font:700 14px/1.4 var(--font-sans);margin:10px 0}
.fkit .kform{display:grid;gap:14px}
.fkit label{display:grid;gap:5px;font:700 13px/1.2 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--ivory-100)}
.fkit input{width:100%;height:52px;padding:0 16px;border-radius:14px;border:2px solid var(--ivory-100);background:var(--ivory-100);font:400 16px/1 var(--font-sans);color:var(--ink);text-transform:none;letter-spacing:0}
.fkit input:focus{outline:none;box-shadow:0 0 0 3px var(--ink)}
.fkit .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.fkit .two{grid-template-columns:minmax(0,1fr)}}
.kthanks2{color:var(--ivory-100);display:flex;flex-direction:column;gap:6px}
.kthanks2 .kicker{color:var(--ivory-100)}
.kthanks2 p{font:500 18px/1.4 var(--font-sans)}

/* spin page: the old game's own styles are scoped in; this just seats it in the new page */
.spinwrap{margin-top:16px}
.spinwrap .s_width{max-width:1296px;margin:0 auto}

/* /social */
body.pg-social{margin:0;min-height:100vh;background:var(--red-600)}
.pg-social .soc{position:relative;overflow:hidden;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:48px 20px;background-color:var(--red-600);color:var(--ivory-100);text-align:center}
.pg-social .soc>*{position:relative;z-index:1}
.pg-social .slogo{width:240px;margin:-16px auto}
.pg-social .kicker{color:var(--ivory-100)}
.pg-social h1{font:700 clamp(32px,6vw,52px)/1 var(--font-display);text-transform:uppercase}
.pg-social .slinks{display:flex;flex-direction:column;gap:12px;width:min(380px,100%);margin-top:12px}
.pg-social .btn-secondary{color:var(--ivory-100);border-color:var(--ivory-100)}
.ckerrs span,.ckerr span{display:block}
.ckerrs .et,.ckerr .et{font-weight:700;margin-bottom:4px;color:var(--ink)}

/* app store badges: the menu page's .store card rules (column, wrap, order) must not reach them */
.appx .stores .store{flex-direction:row;flex-wrap:nowrap;order:0;align-items:center;justify-content:flex-start}
.appx .stores .store .logo,.rstores .rstore svg{flex:none}
.appx .stores .store span{min-width:0}

