/* Black Friday page design (hb-flyer-bf), version 3 (27 Oct 2026). Black ground, flyer gold, Handy Bros. red.
 * Blinker at 700 (headlines) and 600 (labels): Joel found 800/900 too heavy. All motion stops under
 * prefers-reduced-motion. Scroll-linked motion only where the browser supports scroll timelines. */
.hb-bf-page {
  --bf-ink: #141212;
  --bf-ink-deep: #0b0a0a;
  --bf-stage: #050404;
  --bf-card: #1d1a1a;
  --bf-card-2: #262222;
  --bf-gold: #d48c18;
  --bf-red: #c2000c;
  --bf-red-text: #f0444c;
  --bf-muted: #c2c7ce;
  --bf-fine: #a7adb5;
  --bf-display: "Blinker", "HB Flyer Manrope", system-ui, sans-serif;
  --bf-ui: "HB Flyer Manrope", system-ui, sans-serif;
  --bf-body: "HB Flyer Inter", system-ui, sans-serif;
  --bf-ease: cubic-bezier(.2, .8, .2, 1);
  --bf-burst: polygon(50% 0%, 59.1% 10%, 71.7% 5%, 75.6% 17.9%, 89.1% 18.8%, 86.9% 32.2%, 98.7% 38.9%, 91% 50%, 98.7% 61.1%, 86.9% 67.8%, 89.1% 81.2%, 75.6% 82.1%, 71.7% 95%, 59.1% 90%, 50% 100%, 40.9% 90%, 28.3% 95%, 24.4% 82.1%, 10.9% 81.2%, 13.1% 67.8%, 1.3% 61.1%, 9% 50%, 1.3% 38.9%, 13.1% 32.2%, 10.9% 18.8%, 24.4% 17.9%, 28.3% 5%, 40.9% 10%);
  display: block;
  width: 100%;
  overflow-x: clip;
  background: var(--bf-ink-deep);
  color: #fff;
}
.hb-bf-page *, .hb-bf-page *::before, .hb-bf-page *::after { box-sizing: border-box; }
.hb-bf-page img { max-width: 100%; height: auto; }
/* Preserve readable reusable component copy without DEV's sitewide theme layer. */
.hb-bf-page .hb-h2, .hb-bf-page .hb-h3, .hb-bf-page .hb-h4 { color: #fff; }
.hb-bf-page .hb-body, .hb-bf-page .hb-body-sm, .hb-bf-page .hb-caption { color: var(--bf-muted); }
.hb-bf-page .hb-ground-red .hb-body, .hb-bf-page .hb-ground-red .hb-body-sm { color: #fff; }
.hb-bf-page .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hb-bf-preview-note { margin: 0; padding: 10px 20px; background: #fff3cd; color: #3c2a00; font: 600 14px/1.4 var(--bf-ui); text-align: center; }
.hb-bf-drawer-host.hb-flyer-page { min-width: 0; height: 0; overflow: visible; background: none; }

/* ---------- Keyframes ---------- */
@keyframes bf-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes bf-rise { from { opacity: 0; transform: translateY(80px); } to { opacity: 1; transform: none; } }
@keyframes bf-slam { 0% { opacity: 0; transform: scale(2.6); filter: blur(10px); } 55% { opacity: 1; transform: scale(.95); filter: blur(0); } 100% { opacity: 1; transform: none; } }
@keyframes bf-pop { 0% { opacity: 0; transform: scale(0) rotate(-18deg); } 70% { opacity: 1; transform: scale(1.12) rotate(3deg); } 100% { opacity: 1; transform: none; } }
@keyframes bf-flash { 0% { opacity: 0; } 12% { opacity: .8; } 100% { opacity: 0; } }
@keyframes bf-kb { from { transform: scale(1.18); } to { transform: scale(1); } }
@keyframes bf-beam-l { 0% { opacity: 0; transform: rotate(-48deg); } 35% { opacity: 1; } 100% { opacity: .5; transform: rotate(14deg); } }
@keyframes bf-beam-r { 0% { opacity: 0; transform: rotate(48deg); } 35% { opacity: 1; } 100% { opacity: .5; transform: rotate(-14deg); } }
@keyframes bf-sway-l { 0%, 100% { transform: rotate(14deg); } 50% { transform: rotate(4deg); } }
@keyframes bf-sway-r { 0%, 100% { transform: rotate(-14deg); } 50% { transform: rotate(-4deg); } }
@keyframes bf-glow { 0%, 100% { opacity: .55; } 50% { opacity: .95; } }
@keyframes bf-float { 0%, 100% { transform: translateY(0) rotate(var(--r, 0deg)); } 50% { transform: translateY(-14px) rotate(var(--r, 0deg)); } }
@keyframes bf-spin { to { transform: rotate(360deg); } }
@keyframes bf-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes bf-marquee-rev { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@keyframes bf-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(240, 68, 76, .7); } 50% { box-shadow: 0 0 0 10px rgba(240, 68, 76, 0); } }
@keyframes bf-shake { 0%, 62%, 100% { transform: rotate(0); } 66% { transform: rotate(-7deg); } 72% { transform: rotate(6deg); } 78% { transform: rotate(-5deg); } 84% { transform: rotate(4deg); } 90% { transform: rotate(-2deg); } }
@keyframes bf-lid { to { transform: translateY(-120px) rotate(-24deg); opacity: 0; } }
@keyframes bf-foil { 0% { clip-path: circle(75% at 50% 50%); transform: rotate(0); } 100% { clip-path: circle(0% at 50% 50%); transform: rotate(40deg); } }
@keyframes bf-confetti { 0% { opacity: 1; transform: translateY(-60px) rotate(0); } 100% { opacity: 0; transform: translateY(640px) rotate(620deg); } }
@keyframes bf-bump { 0% { transform: translateY(0); } 30% { transform: translateY(-10px); } 100% { transform: translateY(0); } }
@keyframes bf-slide { from { transform: translateX(6%); } to { transform: translateX(-34%); } }
@keyframes bf-slide-rev { from { transform: translateX(-38%); } to { transform: translateX(0); } }
@keyframes bf-zoom-out { from { transform: none; opacity: 1; } to { transform: scale(1.25); opacity: 0; } }
@keyframes bf-stack { from { opacity: 0; transform: translateX(-60px) scaleX(.3); } to { opacity: 1; transform: none; } }

.hb-bf-page .hb-bf-float { animation: bf-float 5s ease-in-out infinite; }
.hb-bf-page .hb-bf-float2 { animation: bf-float 6.5s ease-in-out .8s infinite; }
.hb-bf-page .hb-bf-spin { animation: bf-spin 24s linear infinite; }

/* ---------- Shared type and buttons ---------- */
.hb-bf-page section h2 { text-wrap: balance; }
.hb-bf-page #bf-scratch h2, .hb-bf-page #bf-gifts h2, .hb-bf-page #bf-bundles h2, .hb-bf-page #bf-deals h2, .hb-bf-page #bf-crew h2, .hb-bf-page #bf-online h2, .hb-bf-page #bf-pages h2, .hb-bf-page #bf-proof h2 {
  max-width: 16ch; margin: 0; font-family: var(--bf-display); font-weight: 700; font-size: clamp(46px, 5vw, 76px); line-height: .92; letter-spacing: 0; text-transform: uppercase;
}
.hb-bf-page #bf-online h2, .hb-bf-page #bf-pages h2 { max-width: 22ch; font-size: clamp(36px, 3.6vw, 56px); }
.hb-bf-page .hb-bf-eyebrow-gold { margin: 0; font: 600 clamp(22px, 2.2vw, 28px)/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-gold-text { color: var(--bf-gold); }
.hb-bf-page .hb-bf-label-red { margin: 0; }
.hb-bf-page .hb-bf-label-red > span { display: inline-block; padding: 8px 14px; background: var(--bf-red); color: #fff; font: 800 14px/1.2 var(--bf-ui); letter-spacing: .12em; text-transform: uppercase; }
.hb-bf-page .hb-bf-bar { margin: 0; }
.hb-bf-page .hb-bf-bar > span { display: inline-block; padding: 10px 18px; background: var(--bf-gold); color: var(--bf-ink); font: 700 clamp(20px, 2.2vw, 28px)/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-trust { margin: 0; }
.hb-bf-page .hb-bf-trust > span { display: flex; flex-wrap: wrap; gap: 10px 28px; color: var(--bf-muted); font: 700 14px/1.4 var(--bf-ui); }
.hb-bf-page .hb-bf-ticker { width: 100%; margin: 0; }
.hb-bf-page .hb-bf-ticker > span { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 28px; font: 700 clamp(18px, 1.8vw, 22px)/1.15 var(--bf-display); text-transform: uppercase; }

.hb-bf-page .hb-bf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 12px 22px; border: 2px solid var(--bf-red); border-radius: 0; background: var(--bf-red); color: #fff; font: 800 14px/1.2 var(--bf-ui); letter-spacing: .06em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: transform .15s ease, background-color .15s ease; }
.hb-bf-page .hb-bf-btn:hover, .hb-bf-page .hb-bf-btn:focus-visible { background: #99000a; border-color: #99000a; color: #fff; transform: translateY(-2px); }
.hb-bf-page .hb-bf-btn:focus-visible, .hb-bf-page button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.hb-bf-page .hb-bf-btn-dark { background: var(--bf-ink); border-color: var(--bf-ink); }
.hb-bf-page .hb-bf-btn-dark:hover, .hb-bf-page .hb-bf-btn-dark:focus-visible { background: #000; border-color: #000; }
.hb-bf-page .hb-bf-btn-light { background: #fff; border-color: #fff; color: var(--bf-red); }
.hb-bf-page .hb-bf-btn-light:hover, .hb-bf-page .hb-bf-btn-light:focus-visible { background: #f4f1ec; border-color: #f4f1ec; color: var(--bf-red); }
.hb-bf-page .hb-bf-clip.is-clipped { background: #fff; border-color: #fff; color: var(--bf-ink); }
.hb-bf-page .hb-bf-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.hb-bf-page .hb-bf-legal { margin: 0; color: var(--bf-fine); font: 400 12px/1.5 var(--bf-body); }
.hb-bf-page .hb-bf-urgent { color: var(--bf-red-text); font: 800 13px/1.3 var(--bf-ui); letter-spacing: .04em; text-transform: uppercase; }
.hb-bf-page .hb-bf-chip { align-self: flex-start; margin: 0; padding: 8px 14px; background: var(--bf-gold); color: var(--bf-ink); font: 700 20px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-pill { padding: 8px 12px; background: var(--bf-red); color: #fff; font: 800 14px/1.2 var(--bf-ui); text-transform: uppercase; }

/* Starbursts. */
.hb-bf-page .hb-bf-burst { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 116px; height: 116px; padding: 14px; clip-path: var(--bf-burst); background: var(--bf-red); color: #fff; font: 700 18px/.92 var(--bf-display); text-align: center; text-transform: uppercase; }
.hb-bf-page .hb-bf-burst b { font-size: 1.4em; font-weight: 700; }
.hb-bf-page .hb-bf-burst-gold { background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-page .hb-bf-burst-lg { width: 160px; height: 160px; font-size: 26px; }

/* Prices. */
.hb-bf-page .hb-bf-price { display: flex; flex-direction: column; margin: 0; color: #fff; }
.hb-bf-page .hb-bf-price small { color: var(--bf-muted); font: 400 13px/1.3 var(--bf-body); }
.hb-bf-page .hb-bf-price strong { font: 700 clamp(40px, 4vw, 54px)/1 var(--bf-display); }
.hb-bf-page .hb-bf-price span { color: var(--bf-muted); font: 800 13px/1.3 var(--bf-ui); text-transform: uppercase; }
.hb-bf-page .hb-bf-price-gold strong { color: var(--bf-gold); font-size: clamp(72px, 8vw, 120px); line-height: .82; text-shadow: 0 0 50px rgba(212, 140, 24, .45); }
.hb-bf-page .hb-bf-price-gold span { color: #fff; font-size: 16px; }
.hb-bf-page .hb-bf-price-line { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.hb-bf-page .hb-bf-price-line small, .hb-bf-page .hb-bf-price-line span { color: #fff; font: 800 16px/1.3 var(--bf-ui); text-transform: none; }
.hb-bf-page .hb-bf-price-line strong { color: var(--bf-gold); font: 800 16px/1.3 var(--bf-ui); }

/* ---------- 1. Hero: stage, intro, countdown, product ---------- */
.hb-bf-page #bf-hero { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; min-height: min(920px, 100svh); padding-top: clamp(72px, 8vw, 110px); padding-bottom: clamp(120px, 12vw, 160px); overflow: hidden; background: var(--bf-stage); border-bottom: 0; }
.hb-bf-page #bf-hero > :not(.hb-bf-stage):not(.hb-bf-replay) { position: relative; z-index: 2; width: 100%; }
.hb-bf-page #bf-hero .elementor-widget-shortcode:has(.hb-bf-stage), .hb-bf-page #bf-hero .elementor-widget-shortcode:has(.hb-bf-stage) .elementor-widget-container, .hb-bf-page #bf-hero .elementor-shortcode:has(.hb-bf-stage) { position: static; }
.hb-bf-page #bf-hero > .elementor-widget-shortcode:has(.hb-bf-stage) { height: 0; }
.hb-bf-stage { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; background: var(--bf-stage); }
.hb-bf-stage-photo { position: absolute; inset: 0; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; object-position: center 40%; opacity: .55; animation: bf-kb 9s ease-out both; }
.hb-bf-stage-shade { position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 55%, rgba(5, 4, 4, .3) 0%, rgba(5, 4, 4, .82) 55%, var(--bf-stage) 100%), linear-gradient(90deg, rgba(5, 4, 4, .85) 0%, rgba(5, 4, 4, .2) 60%); }
.hb-bf-beam { position: absolute; top: -30%; width: 34%; height: 170%; transform-origin: 50% 0; background: linear-gradient(180deg, rgba(255, 214, 140, .42) 0%, rgba(255, 214, 140, .08) 55%, rgba(255, 214, 140, 0) 80%); clip-path: polygon(44% 0, 56% 0, 100% 100%, 0 100%); mix-blend-mode: screen; }
.hb-bf-beam.is-l { left: 4%; animation: bf-beam-l 1.5s var(--bf-ease) both, bf-sway-l 8s ease-in-out 1.5s infinite; }
.hb-bf-beam.is-r { right: 4%; animation: bf-beam-r 1.5s var(--bf-ease) .1s both, bf-sway-r 9s ease-in-out 1.6s infinite; }
.hb-bf-flash { position: absolute; inset: 0; background: #fff3dc; opacity: 0; animation: bf-flash 1s ease-out .95s both; }
.hb-bf-page .hb-bf-replay { position: absolute; top: 18px; right: 20px; z-index: 5; min-height: 44px; padding: 10px 14px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(0, 0, 0, .55); color: #fff; font: 700 13px/1 var(--bf-ui); cursor: pointer; }

.hb-bf-page #bf-hero .hb-bf-label-red { animation: bf-fade .4s ease-out .2s both; }
.hb-bf-page .hb-bf-h1 { max-width: none; margin: 0; color: #fff; font-family: var(--bf-display); font-weight: 700; font-size: clamp(84px, 11vw, 176px); line-height: .82; letter-spacing: -.01em; text-transform: uppercase; }
.hb-bf-page .hb-bf-h1 em { display: block; color: var(--bf-gold); font-style: normal; font-weight: 600; font-size: .3em; letter-spacing: .04em; }
.hb-bf-page .hb-bf-h1 strong { display: block; color: transparent; font-weight: inherit; -webkit-text-stroke: 3px #fff; }
.hb-bf-page .hb-bf-h1 > span { display: block; text-shadow: 0 0 60px rgba(212, 140, 24, .55); }
@supports not (-webkit-text-stroke: 2px #fff) { .hb-bf-page .hb-bf-h1 strong { color: #fff; } }
.hb-bf-page #bf-hero .hb-bf-h1 em { animation: bf-fade .5s ease-out .35s both; }
.hb-bf-page #bf-hero .hb-bf-h1 strong, .hb-bf-page #bf-hero .hb-bf-h1 > span { transform-origin: 30% 60%; animation: bf-slam .75s cubic-bezier(.2, .9, .2, 1) .55s both; }
.hb-bf-page #bf-hero .hb-bf-h1 > span { animation-delay: .85s; }
.hb-bf-page #bf-hero .hb-bf-countdown { animation: bf-rise .6s var(--bf-ease) 1.7s both; }
.hb-bf-page #bf-hero .hb-actions { animation: bf-rise .6s var(--bf-ease) 1.95s both; }
.hb-bf-page #bf-hero .hb-bf-trust { animation: bf-fade .6s ease-out 2.2s both; }
.hb-bf-page #bf-hero .hb-btn-primary { box-shadow: 0 10px 34px rgba(194, 0, 12, .55); }
.hb-bf-page .hb-bf-noanim, .hb-bf-page .hb-bf-noanim * { animation: none !important; }

.hb-bf-countdown { display: flex; flex-direction: column; gap: 10px; }
.hb-bf-countdown[hidden] { display: none; }
.hb-bf-page .hb-bf-cd-label { margin: 0; color: var(--bf-muted); font: 800 13px/1.2 var(--bf-ui); letter-spacing: .14em; text-transform: uppercase; }
.hb-bf-cd-tiles { display: flex; flex-wrap: wrap; gap: 10px; }
.hb-bf-cd-tile { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.hb-bf-cd-tile b { min-width: 96px; padding: 10px 10px 6px; border: 1px solid rgba(212, 140, 24, .5); border-radius: 6px; background: linear-gradient(#1f1b1b 0 50%, #151212 50% 100%); box-shadow: 0 14px 30px rgba(0, 0, 0, .6); color: var(--bf-gold); font: 700 64px/1 var(--bf-display); font-variant-numeric: tabular-nums; text-align: center; }
.hb-bf-cd-tile small { color: var(--bf-muted); font: 800 11px/1 var(--bf-ui); letter-spacing: .14em; text-transform: uppercase; }

.hb-bf-hv { position: relative; width: 100%; height: 560px; }
.hb-bf-hv-glow { position: absolute; left: 50%; top: 54%; width: 560px; height: 560px; max-width: 120%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(212, 140, 24, .6) 0%, rgba(212, 140, 24, .14) 45%, rgba(212, 140, 24, 0) 70%); animation: bf-glow 4s ease-in-out infinite; }
.hb-bf-hv-floor { position: absolute; left: 8%; right: 8%; bottom: 52px; height: 30px; border-radius: 50%; background: rgba(0, 0, 0, .85); filter: blur(12px); animation: bf-fade .6s ease-out 1.25s both; }
.hb-bf-hv-unit { position: absolute; left: 0; right: 0; bottom: 62px; display: flex; justify-content: center; animation: bf-rise .8s var(--bf-ease) 1.2s both; }
.hb-bf-page .hb-bf-hv-img { width: 78%; max-width: 420px; height: auto; }
.hb-bf-hv-burst { position: absolute; top: 24px; left: 0; animation: bf-pop .55s cubic-bezier(.2, .9, .2, 1) 1.55s both; }
.hb-bf-hv-burst .hb-bf-burst { --r: -8deg; }
.hb-bf-hv-tag { position: absolute; top: 220px; right: 0; animation: bf-pop .55s cubic-bezier(.2, .9, .2, 1) 1.75s both; }
.hb-bf-hv-tag-in { --r: 5deg; padding: 14px 18px; border-radius: 4px; background: #fff; box-shadow: 0 18px 40px rgba(0, 0, 0, .55); color: var(--bf-ink); }
.hb-bf-page .hb-bf-hv-tag-label { margin: 0 0 2px; color: #5b6068; font: 800 11px/1.2 var(--bf-ui); letter-spacing: .1em; text-transform: uppercase; }
.hb-bf-page .hb-bf-hv-price { color: var(--bf-ink); }
.hb-bf-page .hb-bf-hv-price small { color: #5b6068; }
.hb-bf-page .hb-bf-hv-price strong { color: var(--bf-ink); font-size: 46px; }
.hb-bf-page .hb-bf-hv-price span { max-width: 18ch; margin-top: 4px; padding: 3px 8px; background: var(--bf-gold); color: var(--bf-ink); font-size: 11px; }
.hb-bf-page .hb-bf-hv-chip { position: absolute; bottom: 0; left: 6%; margin: 0; animation: bf-pop .55s cubic-bezier(.2, .9, .2, 1) 1.95s both; }
.hb-bf-hv-chip span { --r: -3deg; display: inline-block; padding: 10px 16px; border: 2px solid var(--bf-gold); background: var(--bf-ink); color: var(--bf-gold); font: 700 22px/1.1 var(--bf-display); text-transform: uppercase; }

/* ---------- 2. Caution tape ---------- */
.hb-bf-page #bf-tape { position: relative; z-index: 3; height: 200px; margin-top: -70px; padding: 0; overflow: hidden; background: transparent; }
.hb-bf-tape { position: relative; height: 200px; }
.hb-bf-tape-band { position: absolute; left: -5%; right: -5%; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, .5); }
.hb-bf-tape-band.is-gold { top: 46px; padding: 16px 0; transform: rotate(-3deg); background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-tape-band.is-red { top: 104px; padding: 14px 0; transform: rotate(2.5deg); background: var(--bf-red); color: #fff; }
.hb-bf-page .hb-bf-tape-track { display: flex; width: max-content; margin: 0; white-space: nowrap; font: 700 30px/1 var(--bf-display); text-transform: uppercase; animation: bf-marquee 28s linear infinite; }
.hb-bf-tape-band.is-red .hb-bf-tape-track { font-size: 26px; animation-name: bf-marquee-rev; animation-duration: 34s; }
.hb-bf-tape-track span { padding-left: .4em; }

/* ---------- 3. Scratch card ---------- */
.hb-bf-page #bf-scratch { position: relative; overflow: hidden; background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-page #bf-scratch h2, .hb-bf-page #bf-scratch p { color: var(--bf-ink); }
.hb-bf-scratch { display: flex; flex-direction: column; gap: 16px; width: 100%; }
.hb-bf-scratch-card { position: relative; overflow: hidden; padding: clamp(24px, 3vw, 40px); background: var(--bf-ink); color: #fff; box-shadow: 0 30px 60px rgba(0, 0, 0, .35), inset 0 0 0 3px var(--bf-gold), inset 0 0 0 9px var(--bf-ink), inset 0 0 0 11px rgba(212, 140, 24, .6); }
.hb-bf-scratch-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 28px; }
.hb-bf-page #bf-scratch .hb-bf-scratch-brand { margin: 0; color: var(--bf-gold); font: 700 clamp(24px, 2.6vw, 34px)/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-page #bf-scratch .hb-bf-scratch-left { margin: 0; color: #fff; font: 800 15px/1.2 var(--bf-ui); letter-spacing: .06em; text-transform: uppercase; }
.hb-bf-spots { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 28px; justify-items: center; }
.hb-bf-page .hb-bf-spot { position: relative; width: 270px; max-width: 100%; aspect-ratio: 1; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--bf-ink); box-shadow: 0 20px 40px rgba(0, 0, 0, .5); cursor: pointer; touch-action: none; }
.hb-bf-spot-prize { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 30px; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #fff7e8, #fff 70%); text-align: center; }
.hb-bf-spot-free { padding: 2px 14px 4px; background: var(--bf-red); color: #fff; font: 700 32px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-spot-title { font: 700 28px/.95 var(--bf-display); text-transform: uppercase; }
.hb-bf-spot-sub { font: 800 13px/1.35 var(--bf-ui); }
.hb-bf-spot-foil { position: absolute; inset: 0; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 8px; border-radius: 50%; background: linear-gradient(135deg, #8d8d8d 0%, #e9e9e9 18%, #9b9b9b 34%, #f5f5f5 52%, #a5a5a5 70%, #dcdcdc 86%, #8f8f8f 100%); box-shadow: inset 0 0 0 6px rgba(0, 0, 0, .12); color: #3a3a3a; }
.hb-bf-ready .hb-bf-spot-foil { display: flex; }
.hb-bf-spot-coin { width: 54px; height: 54px; border: 3px solid currentColor; border-radius: 50%; }
.hb-bf-spot-word { font: 700 34px/1 var(--bf-display); letter-spacing: .06em; text-transform: uppercase; }
.hb-bf-spot-n { font: 800 12px/1 var(--bf-ui); letter-spacing: .1em; text-transform: uppercase; }
.hb-bf-spot.is-scratched .hb-bf-spot-foil { pointer-events: none; animation: bf-foil .7s ease-in both; }
.hb-bf-spot.is-scratched .hb-bf-spot-prize { animation: bf-pop .6s cubic-bezier(.2, .9, .2, 1) both; }
.hb-bf-ready .hb-bf-scratch-win { display: none; }
.hb-bf-scratch-win { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; margin-top: 32px; padding: 22px 26px; background: var(--bf-red); }
.hb-bf-ready .is-won .hb-bf-scratch-win { display: flex; animation: bf-pop .6s cubic-bezier(.2, .9, .2, 1) both; }
.hb-bf-page #bf-scratch .hb-bf-scratch-win p { margin: 0; color: #fff; font: 700 clamp(28px, 3vw, 38px)/.95 var(--bf-display); text-transform: uppercase; }
.hb-bf-page #bf-scratch .hb-bf-scratch-legal { color: var(--bf-ink); }

/* The Elementor kit restyles every <button> on :hover/:focus (black, square, 1px border, one line of text).
 * Re-assert the design's own states with higher specificity so nothing flips when hovered, clicked or focused. */
.hb-bf-page button.hb-bf-spot, .hb-bf-page button.hb-bf-spot:is(:hover, :focus, :active) { overflow: hidden; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--bf-ink); white-space: normal; text-transform: none; letter-spacing: 0; line-height: 1; box-shadow: 0 20px 40px rgba(0, 0, 0, .5); }
.hb-bf-page button.hb-bf-spot:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.hb-bf-page .hb-bf-spot-prize { padding: 34px 30px; color: var(--bf-ink); white-space: normal; }
.hb-bf-page .hb-bf-spot-title { max-width: 100%; color: var(--bf-ink); font-size: 24px; line-height: .95; overflow-wrap: break-word; }
.hb-bf-page .hb-bf-spot-sub { max-width: 100%; color: #3c4046; font-size: 12px; }
.hb-bf-page .hb-bf-spot-free { color: #fff; }
.hb-bf-spot-foil { transition: transform .25s var(--bf-ease), filter .25s ease; }
.hb-bf-page button.hb-bf-spot:not(.is-scratched):is(:hover, :focus-visible) .hb-bf-spot-foil { transform: rotate(-6deg) scale(1.03); filter: brightness(1.08); }
.hb-bf-page button.hb-bf-spot.is-scratched { cursor: default; }
.hb-bf-page button.hb-bf-gift-box, .hb-bf-page button.hb-bf-gift-box:is(:hover, :focus, :active) { border: 1px dashed rgba(212, 140, 24, .55); border-radius: 0; background: radial-gradient(circle at 30% 70%, rgba(212, 140, 24, .18), rgba(0, 0, 0, 0) 65%), var(--bf-ink); color: #fff; white-space: normal; text-transform: none; letter-spacing: 0; }
.hb-bf-page button.hb-bf-gift-box:is(:hover, :focus-visible) { border-color: var(--bf-gold); background: radial-gradient(circle at 30% 70%, rgba(212, 140, 24, .3), rgba(0, 0, 0, 0) 65%), var(--bf-ink); }
.hb-bf-page button.hb-bf-pick:is(:hover, :focus, :active) { border: 2px solid var(--bf-ink); border-radius: 0; background: rgba(20, 18, 18, .12); color: var(--bf-ink); }
.hb-bf-page button.hb-bf-pick.is-on:is(:hover, :focus, :active) { background: var(--bf-ink); color: #fff; }
.hb-bf-page .hb-bf-filter button:is(:hover, :focus, :active) { border: 2px solid rgba(255, 255, 255, .6); border-radius: 999px; background: rgba(255, 255, 255, .08); color: #fff; }
.hb-bf-page .hb-bf-filter button.is-on:is(:hover, :focus, :active) { border-color: var(--bf-gold); background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-page button.hb-bf-wallet-clear:is(:hover, :focus, :active) { border: 0; background: transparent; color: #fff; }
.hb-bf-page button.hb-bf-replay:is(:hover, :focus, :active) { border: 1px solid #fff; background: rgba(0, 0, 0, .75); color: #fff; }
.hb-bf-page button.hb-bf-btn:is(:hover, :focus, :active) { border-width: 2px; border-radius: 0; }
.hb-bf-page button.hb-bf-clip.is-clipped:is(:hover, :focus, :active) { border-color: #fff; background: #f4f1ec; color: var(--bf-ink); }

.hb-bf-confetti { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.hb-bf-confetti i { position: absolute; top: 0; width: 12px; height: 18px; animation: bf-confetti 1.9s cubic-bezier(.3, .6, .5, 1) both; }

/* ---------- 4. Calendar + mystery gifts ---------- */
.hb-bf-page #bf-gifts { position: relative; overflow: hidden; background: var(--bf-ink-deep); }
.hb-bf-cal { width: 100%; padding: 24px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 4px; background: var(--bf-ink); color: #fff; }
.hb-bf-cal-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0 4px 16px; }
.hb-bf-cal-month { margin: 0; color: #fff; font: 700 clamp(30px, 3vw, 40px)/.9 var(--bf-display); text-transform: uppercase; }
.hb-bf-cal-left { margin: 0; color: var(--bf-gold); font: 800 14px/1.2 var(--bf-ui); letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.hb-bf-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.hb-bf-cal-dow { padding: 4px 0; color: var(--bf-fine); font: 800 11px/1 var(--bf-ui); text-align: center; text-transform: uppercase; }
.hb-bf-cal-blank { min-height: 76px; }
.hb-bf-cal-day { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 6px; min-height: 76px; padding: 10px; border: 1px solid rgba(255, 255, 255, .06); border-radius: 4px; background: #1d1a1a; color: #fff; }
.hb-bf-cal-day b { font: 800 13px/1 var(--bf-ui); }
.hb-bf-cal-day em { color: var(--bf-gold); font: 700 14px/.95 var(--bf-display); font-style: normal; text-transform: uppercase; }
.hb-bf-cal-day.is-mark { border-color: var(--bf-gold); background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-cal-day.is-mark em { color: var(--bf-ink); }
.hb-bf-cal-day.is-today { z-index: 1; border-color: var(--bf-red-text); background: var(--bf-red); color: #fff; transform: scale(1.06); animation: bf-pulse 1.8s ease-out infinite; }
.hb-bf-cal-day.is-today em { color: #fff; }
.hb-bf-cal-day.is-past { border-color: rgba(255, 255, 255, .03); background: #100e0e; color: #8a8585; text-decoration: line-through; }
.hb-bf-cal-day.is-past em { color: #8a8585; }
.hb-bf-cal-day.is-out em { visibility: hidden; }
.hb-bf-cal-gift { position: absolute; top: 8px; right: 8px; width: 16px; height: 14px; border: 2px solid currentColor; border-top-width: 4px; }
.hb-bf-cal-gift::before { content: ""; position: absolute; left: 50%; top: -4px; bottom: 0; width: 2px; transform: translateX(-50%); background: currentColor; }
.hb-bf-cal-key { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 16px 4px 0; color: var(--bf-muted); font: 700 12px/1.4 var(--bf-ui); }
.hb-bf-cal-key span { display: inline-flex; align-items: center; gap: 6px; }
.hb-bf-cal-key i { display: inline-block; width: 12px; height: 12px; background: var(--bf-red); }
.hb-bf-cal-key i.is-mark { background: var(--bf-gold); }

.hb-bf-gifts { position: relative; display: flex; flex-direction: column; gap: 20px; width: 100%; }
.hb-bf-gift { position: relative; min-height: 270px; }
.hb-bf-page .hb-bf-gift-box { display: none; align-items: center; gap: 24px; width: 100%; min-height: 270px; padding: 18px; border: 1px dashed rgba(212, 140, 24, .55); border-radius: 0; background: radial-gradient(circle at 30% 70%, rgba(212, 140, 24, .18), rgba(0, 0, 0, 0) 65%), var(--bf-ink); color: #fff; text-align: left; cursor: pointer; }
.hb-bf-ready .hb-bf-gift-box { display: flex; }
.hb-bf-ready .hb-bf-gift.is-open .hb-bf-gift-box { display: none; }
.hb-bf-gift-art { position: relative; flex: 0 0 170px; width: 170px; height: 190px; transform-origin: 50% 90%; animation: bf-shake 2.6s ease-in-out infinite; }
.hb-bf-gift-art i { position: absolute; display: block; }
.hb-bf-gift-art .is-box { left: 10px; right: 10px; bottom: 0; height: 132px; background: var(--bf-red); }
.hb-bf-gift-art .is-lid { left: 0; right: 0; bottom: 130px; height: 40px; background: #e0101c; box-shadow: 0 6px 0 rgba(0, 0, 0, .25); }
.hb-bf-gift-art .is-ribbon { left: 50%; bottom: 0; width: 26px; height: 170px; transform: translateX(-50%); background: var(--bf-gold); }
.hb-bf-gift-art .is-bow-l, .hb-bf-gift-art .is-bow-r { bottom: 166px; left: 50%; width: 36px; height: 36px; border: 7px solid var(--bf-gold); }
.hb-bf-gift-art .is-bow-l { transform: translateX(-100%) rotate(-30deg); border-radius: 50% 50% 0 50%; }
.hb-bf-gift-art .is-bow-r { transform: rotate(30deg); border-radius: 50% 50% 50% 0; }
.hb-bf-gift.is-opening .hb-bf-gift-art { animation: none; }
.hb-bf-gift.is-opening .is-lid, .hb-bf-gift.is-opening .is-bow-l, .hb-bf-gift.is-opening .is-bow-r { animation: bf-lid .5s ease-in both; }
.hb-bf-gift-copy { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.hb-bf-gift-date { color: var(--bf-gold); font: 700 46px/.9 var(--bf-display); text-transform: uppercase; }
.hb-bf-gift-name { font: 700 26px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-gift-hint { color: var(--bf-muted); font: 700 14px/1.3 var(--bf-ui); }
.hb-bf-gift-tap { align-self: flex-start; margin-top: 6px; padding: 8px 12px; background: var(--bf-red); font: 800 13px/1 var(--bf-ui); letter-spacing: .06em; text-transform: uppercase; }
.hb-bf-gift-prize { display: flex; align-items: center; gap: 22px; min-height: 270px; padding: 28px; background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-ready .hb-bf-gift-prize { display: none; }
.hb-bf-ready .hb-bf-gift.is-open .hb-bf-gift-prize { display: flex; animation: bf-pop .6s cubic-bezier(.2, .9, .2, 1) both; }
.hb-bf-page .hb-bf-gift-img { flex: 0 0 130px; width: 130px; height: 160px; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .35)); }
.hb-bf-gift-info { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.hb-bf-page .hb-bf-gift-status { margin: 0; padding: 4px 10px; background: var(--bf-ink); color: #fff; font: 800 12px/1.3 var(--bf-ui); letter-spacing: .08em; text-transform: uppercase; }
.hb-bf-page .hb-bf-gift-info h3 { margin: 0; color: var(--bf-ink); font: 700 clamp(30px, 3vw, 40px)/.92 var(--bf-display); text-transform: uppercase; outline: none; }
.hb-bf-page .hb-bf-gift-value { margin: 0; font: 800 15px/1.35 var(--bf-ui); }
.hb-bf-page .hb-bf-gift-last { display: flex; align-items: center; gap: 16px; margin: 0; padding: 18px 20px; border: 1px solid rgba(255, 255, 255, .12); background: var(--bf-ink); }
.hb-bf-gift-last b { color: var(--bf-red-text); font: 700 34px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-gift-last span { display: flex; flex-direction: column; color: var(--bf-muted); font: 400 13px/1.4 var(--bf-body); }
.hb-bf-gift-last strong { color: #fff; font: 800 15px/1.3 var(--bf-ui); }

/* ---------- 5. Bundles + savings stack ---------- */
.hb-bf-page #bf-bundles { background: var(--bf-ink); }
.hb-bf-page #bf-bundles .hb-bf-gold-text { text-shadow: 0 0 50px rgba(212, 140, 24, .5); }
.hb-bf-page #bf-bundles .hb-body { max-width: 58ch; }
.hb-bf-page #bf-bundles .hb-body strong { display: block; margin-bottom: 6px; color: var(--bf-gold); font: 700 clamp(72px, 8vw, 128px)/.9 var(--bf-display); text-shadow: 0 0 50px rgba(212, 140, 24, .5); }
.hb-bf-page #bf-scratch, .hb-bf-page #bf-gifts, .hb-bf-page #bf-crew { position: relative; overflow: hidden; }
.hb-bf-bundles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr)); gap: 28px; width: 100%; }
.hb-bf-bundle { position: relative; display: flex; flex-direction: column; gap: 22px; padding: clamp(24px, 3vw, 36px); border: 2px solid rgba(255, 255, 255, .18); background: var(--bf-ink-deep); box-shadow: 0 30px 60px rgba(0, 0, 0, .45); color: #fff; }
.hb-bf-bundle:first-child { border-color: var(--bf-gold); }
.hb-bf-page .hb-bf-flag { position: absolute; top: -2px; right: 28px; z-index: 1; margin: 0; padding: 10px 14px; background: var(--bf-red); color: #fff; font: 700 20px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-bundle-top { display: flex; align-items: center; gap: 22px; padding-right: 96px; }
.hb-bf-bundle-top .hb-bf-burst-lg { flex: 0 0 150px; width: 150px; height: 150px; font-size: 30px; }
.hb-bf-bundle h3 { margin: 0; color: #fff; font: 700 clamp(34px, 3.4vw, 48px)/.92 var(--bf-display); text-transform: uppercase; }
.hb-bf-bundle-img { display: flex; align-items: flex-end; justify-content: center; height: 300px; padding-top: 16px; overflow: hidden; background: radial-gradient(circle at 50% 65%, rgba(212, 140, 24, .32), rgba(0, 0, 0, 0) 62%), #000; }
.hb-bf-bundle-img img { max-width: 94%; max-height: 284px; width: auto; object-fit: contain; }
.hb-bf-stack { display: flex; flex-direction: column; gap: 8px; }
.hb-bf-page .hb-bf-stack-label { margin: 0; color: var(--bf-muted); font: 800 12px/1.2 var(--bf-ui); letter-spacing: .12em; text-transform: uppercase; }
.hb-bf-page .hb-bf-stack-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0; padding: 12px 16px; font: 800 15px/1.2 var(--bf-ui); transform-origin: left center; }
.hb-bf-stack-row strong { font: 700 24px/1 var(--bf-display); text-transform: uppercase; white-space: nowrap; }
.hb-bf-stack-row.is-1 { width: 100%; background: var(--bf-red); color: #fff; }
.hb-bf-stack-row.is-2 { width: 90%; background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-stack-row.is-3 { width: 80%; background: #f4f1ec; color: var(--bf-ink); }
.hb-bf-stack-row.is-4, .hb-bf-stack-row.is-5, .hb-bf-stack-row.is-6 { width: 70%; background: #fff; color: var(--bf-ink); }
.hb-bf-bundle-save { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.hb-bf-page .hb-bf-bundle-rebate { flex: 1 1 200px; margin: 0; color: var(--bf-gold); font: 700 clamp(26px, 2.6vw, 36px)/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-bundle-list ul { margin: 0; padding: 0 0 0 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 24px; color: #e6e8eb; font: 400 15px/1.4 var(--bf-body); }
.hb-bf-bundle-list p { margin: 0; color: #e6e8eb; font: 400 15px/1.5 var(--bf-body); }
.hb-bf-bundle-foot, .hb-bf-deal-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); }
.hb-bf-page .hb-bf-bundle-extra { margin: 0; padding: 14px 16px; background: var(--bf-ink); color: #fff; font: 700 15px/1.45 var(--bf-ui); }

/* ---------- 6. Full-bleed overlay features (furnace, propane) + photo strip ---------- */
.hb-bf-page #bf-feature-1, .hb-bf-page #bf-feature-2, .hb-bf-page #bf-spotlight, .hb-bf-page #bf-tape { padding: 0; }
.hb-bf-page #bf-feature-1 { background: var(--bf-ink-deep); }
.hb-bf-features { display: flex; flex-direction: column; width: 100%; }
.hb-bf-ov { position: relative; display: flex; min-height: 660px; overflow: hidden; background: #000; color: #fff; }
.hb-bf-page .hb-bf-ov-bg { position: absolute; inset: 0; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; }
.hb-bf-ov.is-bottom .hb-bf-ov-bg { object-position: center 30%; }
.hb-bf-ov.is-left .hb-bf-ov-bg { object-position: 70% center; }
.hb-bf-ov-shade { position: absolute; inset: 0; }
.hb-bf-ov.is-bottom .hb-bf-ov-shade { background: linear-gradient(180deg, rgba(11, 10, 10, .1) 0%, rgba(11, 10, 10, .5) 45%, rgba(11, 10, 10, .97) 88%); }
.hb-bf-ov.is-left .hb-bf-ov-shade { background: linear-gradient(90deg, rgba(0, 0, 0, .96) 0%, rgba(0, 0, 0, .84) 38%, rgba(0, 0, 0, .1) 72%); }
.hb-bf-ov-inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 32px 56px; width: 100%; max-width: 1280px; margin: 0 auto; padding: 80px clamp(20px, 3vw, 32px) 56px; }
.hb-bf-ov.is-bottom .hb-bf-ov-inner { align-items: flex-end; justify-content: space-between; }
.hb-bf-ov.is-left .hb-bf-ov-inner { flex-direction: column; justify-content: center; max-width: 1280px; }
.hb-bf-ov.is-left .hb-bf-ov-head, .hb-bf-ov.is-left .hb-bf-ov-box { max-width: 620px; }
.hb-bf-ov-head { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.hb-bf-page .hb-bf-ov h2 { margin: 0; color: #fff; font: 700 clamp(56px, 7vw, 112px)/.84 var(--bf-display); text-transform: uppercase; }
.hb-bf-ov h2 span { display: block; }
.hb-bf-ov h2 .hb-bf-gold-line { color: var(--bf-gold); }
.hb-bf-ov.is-left h2 span { display: inline; }
.hb-bf-page .hb-bf-ov-text { margin: 0; max-width: 52ch; color: #e6e8eb; font: 400 19px/1.6 var(--bf-body); }
.hb-bf-ov-box { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.hb-bf-ov.is-bottom .hb-bf-ov-box { padding: 28px; border: 2px solid var(--bf-gold); background: rgba(20, 18, 18, .9); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.hb-bf-page .hb-bf-ov-title { margin: 0; max-width: 12ch; color: #fff; font: 700 clamp(56px, 6vw, 88px)/.85 var(--bf-display); text-transform: uppercase; }
.hb-bf-ov-deal { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.hb-bf-ov-deal .hb-bf-burst { --r: 8deg; width: 140px; height: 140px; font-size: 22px; }
.hb-bf-ov .hb-bf-legal { max-width: 60ch; }

.hb-bf-strip { width: 100%; padding: 0 0 96px; overflow: hidden; }
.hb-bf-page .hb-bf-strip-word { display: flex; width: max-content; margin: 0; padding-top: 8px; white-space: nowrap; color: transparent; -webkit-text-stroke: 2px rgba(212, 140, 24, .6); font: 700 clamp(90px, 11vw, 150px)/.9 var(--bf-display); text-transform: uppercase; }
.hb-bf-strip-track { overflow: hidden; padding-top: 24px; }
.hb-bf-strip-row { display: flex; gap: 20px; width: max-content; padding-left: 32px; }
.hb-bf-strip-fig { flex: 0 0 auto; width: 420px; height: 280px; margin: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .1); }
.hb-bf-page .hb-bf-strip-img { width: 100% !important; height: 100% !important; object-fit: cover; }

/* ---------- 7. Deal grid ---------- */
.hb-bf-page #bf-deals { background: var(--bf-ink-deep); }
.hb-bf-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.hb-bf-page .hb-bf-filter button { min-height: 44px; padding: 10px 16px; border: 2px solid rgba(255, 255, 255, .28); border-radius: 999px; background: transparent; color: #fff; font: 800 14px/1 var(--bf-ui); cursor: pointer; }
.hb-bf-page .hb-bf-filter button.is-on { border-color: var(--bf-gold); background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-deals { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: 22px; width: 100%; }
.hb-bf-deal { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(255, 255, 255, .08); border-radius: 4px; background: var(--bf-ink); box-shadow: 0 20px 40px rgba(0, 0, 0, .35); color: #fff; transition: transform .25s var(--bf-ease), box-shadow .25s ease; }
.hb-bf-deal:hover { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(0, 0, 0, .5), 0 0 0 1px rgba(212, 140, 24, .5); }
.hb-bf-deal[hidden] { display: none; }
.hb-bf-deal-media { position: relative; display: flex; align-items: center; justify-content: center; height: 250px; padding: 20px; background: radial-gradient(circle at 50% 70%, rgba(212, 140, 24, .34), rgba(0, 0, 0, 0) 62%), #000; }
.hb-bf-deal-media img { max-width: 66%; max-height: 200px; width: auto; object-fit: contain; filter: drop-shadow(0 18px 20px rgba(0, 0, 0, .6)); transition: transform .35s var(--bf-ease); }
.hb-bf-deal:hover .hb-bf-deal-media img { transform: scale(1.05); }
.hb-bf-deal-media .hb-bf-burst { position: absolute; top: 14px; right: 14px; }
.hb-bf-page .hb-bf-tag { position: absolute; top: 18px; left: 0; padding: 5px 10px; background: var(--bf-red); color: #fff; font: 800 12px/1.3 var(--bf-ui); letter-spacing: .08em; text-transform: uppercase; }
.hb-bf-deal-body { flex: 1 1 auto; display: flex; flex-direction: column; gap: 10px; padding: 22px 24px 24px; }
.hb-bf-page .hb-bf-deal-group { margin: 0; color: var(--bf-gold); font: 800 12px/1.2 var(--bf-ui); letter-spacing: .08em; text-transform: uppercase; }
.hb-bf-deal h3 { margin: 0; color: #fff; font: 700 32px/.95 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-deal-text { margin: 0; color: var(--bf-muted); font: 400 15px/1.5 var(--bf-body); }
.hb-bf-deal-foot { margin-top: auto; }
.hb-bf-deal .hb-bf-price strong { font-size: 46px; }

/* ---------- 8. Crew photos ---------- */
.hb-bf-page #bf-crew { background: var(--bf-ink-deep); }
.hb-bf-photos { display: flex; flex-wrap: wrap; gap: 18px; width: 100%; }
.hb-bf-photo { position: relative; flex: 2 1 420px; min-height: 340px; margin: 0; overflow: hidden; border: 1px solid rgba(255, 255, 255, .1); background: #1c1817; }
.hb-bf-photo.is-1 { flex: 3 1 620px; min-height: 460px; }
.hb-bf-photo.is-2 { flex: 2 1 360px; min-height: 460px; }
.hb-bf-photo.is-3 { flex: 1 1 300px; }
.hb-bf-page .hb-bf-photo-img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .6s var(--bf-ease); }
.hb-bf-photo:hover .hb-bf-photo-img { transform: scale(1.04); }
.hb-bf-photo figcaption { position: absolute; left: 14px; bottom: 14px; padding: 8px 12px; background: var(--bf-gold); color: var(--bf-ink); font: 700 18px/1.1 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-video { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 28px; background: radial-gradient(circle at 50% 40%, rgba(194, 0, 12, .25), rgba(0, 0, 0, 0) 60%), #1c1817; color: #fff; text-align: center; text-decoration: none; }
.hb-bf-play { position: relative; width: 96px; height: 96px; border-radius: 50%; background: var(--bf-red); box-shadow: 0 0 0 12px rgba(194, 0, 12, .25); transition: transform .2s ease; }
.hb-bf-play::after { content: ""; position: absolute; left: 38px; top: 30px; border-style: solid; border-width: 18px 0 18px 28px; border-color: transparent transparent transparent #fff; }
.hb-bf-video:hover .hb-bf-play, .hb-bf-video:focus-visible .hb-bf-play { transform: scale(1.08); }
.hb-bf-video-title { font: 700 34px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-video-text { color: var(--bf-muted); font: 700 14px/1.4 var(--bf-ui); }

/* ---------- 9. 2-for-1 spotlight with picker ---------- */
.hb-bf-spotlights { width: 100%; }
.hb-bf-spotlight { position: relative; overflow: hidden; padding: 0 clamp(20px, 3vw, 32px); background: var(--bf-gold); color: var(--bf-ink); }
.hb-bf-spotlight::before { content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; clip-path: var(--bf-burst); background: rgba(255, 255, 255, .18); animation: bf-spin 24s linear infinite; }
.hb-bf-spotlight-inner { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 48px; max-width: 1280px; margin: 0 auto; padding: 96px 0; }
.hb-bf-spotlight-img { flex: 1 1 380px; max-width: 520px; box-shadow: 18px 18px 0 var(--bf-ink); }
.hb-bf-spotlight-img img { display: block; width: 100%; height: 480px; object-fit: cover; object-position: 30% center; }
.hb-bf-spotlight-copy { flex: 1 1 480px; display: flex; flex-direction: column; gap: 16px; }
.hb-bf-spotlight h2 { margin: 0; color: var(--bf-ink); font: 700 clamp(56px, 6.5vw, 100px)/.84 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-spotlight-sub { margin: 0; font: 800 18px/1.3 var(--bf-ui); text-transform: uppercase; }
.hb-bf-page .hb-bf-spotlight-price { margin: 0; font: 700 30px/1 var(--bf-display); }
.hb-bf-spotlight-price strong { font-size: clamp(72px, 7vw, 92px); font-weight: 700; }
.hb-bf-page .hb-bf-spotlight-text { margin: 0; max-width: 46ch; font: 400 17px/1.6 var(--bf-body); }
.hb-bf-picker { display: flex; flex-direction: column; gap: 12px; }
.hb-bf-page .hb-bf-picker-label { margin: 0; font: 800 16px/1.2 var(--bf-ui); text-transform: uppercase; }
.hb-bf-picks { display: flex; flex-wrap: wrap; gap: 10px; }
.hb-bf-page .hb-bf-pick { min-height: 48px; padding: 10px 18px; border: 2px solid var(--bf-ink); border-radius: 0; background: transparent; color: var(--bf-ink); font: 800 15px/1 var(--bf-ui); cursor: pointer; }
.hb-bf-page .hb-bf-pick.is-on { background: var(--bf-ink); color: #fff; }
.hb-bf-page .hb-bf-pick.is-on::before { content: "✓ "; }
.hb-bf-page .hb-bf-picker-sum { margin: 0; font: 700 28px/1.05 var(--bf-display); text-transform: uppercase; }
.hb-bf-spotlight .hb-bf-legal { color: var(--bf-ink); }

/* ---------- 10. Proof, online, pages, FAQ ---------- */
.hb-bf-page #bf-proof h2 { max-width: 20ch; font-size: clamp(36px, 3.6vw, 56px); }
.hb-bf-page #bf-proof h2 > span { display: block; color: var(--bf-gold); font-size: clamp(72px, 9vw, 140px); line-height: .85; font-variant-numeric: tabular-nums; }
.hb-bf-page #bf-online, .hb-bf-page #bf-pages { background: var(--bf-ink); }
.hb-bf-coupons { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr)); gap: 24px; width: 100%; }
.hb-bf-coupon { display: flex; gap: 20px; align-items: center; min-height: 300px; padding: 36px; background: var(--bf-gold); color: var(--bf-ink); outline: 3px dashed #fff; outline-offset: -12px; }
.hb-bf-coupon-copy { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.hb-bf-page .hb-bf-stamp { margin: 0; padding: 2px 16px 6px; background: var(--bf-ink); color: #fff; font: 700 clamp(48px, 5vw, 64px)/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-coupon h3 { margin: 0; color: var(--bf-ink); font: 700 clamp(30px, 3vw, 40px)/.95 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-coupon-value { margin: 0; font: 800 17px/1.35 var(--bf-ui); }
.hb-bf-coupon .hb-bf-legal { color: var(--bf-ink); }
.hb-bf-coupon-side { flex: 0 0 150px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.hb-bf-coupon-side img { width: 150px; height: 160px; object-fit: contain; }
.hb-bf-online { display: grid; gap: 16px; width: 100%; }
.hb-bf-online-card { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; padding: 28px 32px; border: 2px dashed var(--bf-gold); background: var(--bf-card); color: #fff; }
.hb-bf-online-card h3 { margin: 0 0 8px; color: #fff; font: 700 clamp(30px, 3vw, 40px)/.95 var(--bf-display); text-transform: uppercase; }
.hb-bf-online-card p { margin: 0; max-width: 46ch; color: var(--bf-muted); font: 400 15px/1.5 var(--bf-body); }
.hb-bf-pages { display: flex; gap: 16px; width: 100%; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; }
.hb-bf-page-thumb { flex: 0 0 240px; display: flex; flex-direction: column; gap: 8px; color: var(--bf-muted); font: 600 13px/1.3 var(--bf-ui); text-decoration: none; scroll-snap-align: start; }
.hb-bf-page-thumb img { width: 240px; height: 228px; object-fit: cover; object-position: top; border: 1px solid rgba(255, 255, 255, .14); }
.hb-bf-page-thumb:hover span, .hb-bf-page-thumb:focus-visible span { color: #fff; text-decoration: underline; }
.hb-bf-faq { width: 100%; max-width: 920px; }
.hb-bf-faq-item { padding: 18px 0; border-top: 1px solid #dfe2e6; }
.hb-bf-faq-item:last-child { border-bottom: 1px solid #dfe2e6; }
.hb-bf-faq-item summary { color: #141212; font: 800 19px/1.35 var(--bf-ui); cursor: pointer; }
.hb-bf-faq-item p { margin: 12px 0 0; color: #3c4046; font: 400 16px/1.6 var(--bf-body); }

/* ---------- Wallet bar ---------- */
.hb-bf-wallet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; padding: 12px clamp(16px, 3vw, 32px); border-top: 3px solid var(--bf-gold); background: var(--bf-ink); box-shadow: 0 -16px 40px rgba(0, 0, 0, .5); color: #fff; font-family: var(--bf-ui); }
.hb-bf-wallet[hidden] { display: none; }
.hb-bf-wallet.is-bump { animation: bf-bump .4s ease-out; }
.hb-bf-wallet-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 24px; max-width: 1280px; margin: 0 auto; }
.hb-bf-wallet-count { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--bf-red); font: 700 24px/1 var(--bf-display); animation: bf-pulse 1.8s ease-out infinite; }
.hb-bf-wallet-text { flex: 1 1 260px; min-width: 0; }
.hb-bf-page .hb-bf-wallet-title { margin: 0; color: var(--bf-gold); font: 700 22px/1.05 var(--bf-display); text-transform: uppercase; }
.hb-bf-page .hb-bf-wallet-names { margin: 0; overflow: hidden; color: var(--bf-muted); font: 400 13px/1.4 var(--bf-body); text-overflow: ellipsis; white-space: nowrap; }
.hb-bf-wallet-actions { display: flex; align-items: center; gap: 10px; }
.hb-bf-page .hb-bf-wallet-clear { min-height: 44px; padding: 10px 12px; border: 0; background: transparent; color: var(--bf-muted); font: 700 13px/1 var(--bf-ui); text-decoration: underline; cursor: pointer; }
.hb-bf-page.has-wallet { padding-bottom: 84px; }

/* ---------- Scroll reveals (JS adds .hb-bf-rv, then .is-in) ---------- */
.hb-bf-page .hb-bf-rv { opacity: 0; transform: translateY(56px) scale(.97); transition: opacity .7s var(--bf-ease) var(--hb-bf-delay, 0ms), transform .8s var(--bf-ease) var(--hb-bf-delay, 0ms); }
.hb-bf-page .hb-bf-rv.is-in { opacity: 1; transform: none; }
.hb-bf-page .hb-bf-deal.hb-bf-rv.is-in:hover { transform: translateY(-6px); }

/* Scroll-linked motion where supported. */
@supports (animation-timeline: view()) {
  .hb-bf-page #bf-hero .hb-container { animation: bf-zoom-out linear both; animation-timeline: view(); animation-range: exit 10% exit 90%; transform-origin: 20% 50%; }
  .hb-bf-page .hb-bf-strip-row { animation: bf-slide linear both; animation-timeline: view(); animation-range: cover 0% cover 100%; }
  .hb-bf-page .hb-bf-strip-word { animation: bf-slide-rev linear both; animation-timeline: view(); animation-range: cover 0% cover 100%; }
  .hb-bf-page .hb-bf-stack-row { animation: bf-stack linear both; animation-timeline: view(); }
  .hb-bf-page .hb-bf-stack-row.is-1 { animation-range: entry 30% cover 34%; }
  .hb-bf-page .hb-bf-stack-row.is-2 { animation-range: entry 45% cover 40%; }
  .hb-bf-page .hb-bf-stack-row.is-3 { animation-range: entry 60% cover 46%; }
  .hb-bf-page .hb-bf-stack-row.is-4, .hb-bf-page .hb-bf-stack-row.is-5, .hb-bf-page .hb-bf-stack-row.is-6 { animation-range: entry 75% cover 52%; }
}
@supports not (animation-timeline: view()) {
  .hb-bf-strip-track { overflow-x: auto; scroll-snap-type: x proximity; }
  .hb-bf-strip-fig { scroll-snap-align: start; }
}

/* ---------- Phones ---------- */
@media (max-width: 767px) {
  .hb-bf-page #bf-hero { min-height: 0; padding-bottom: 120px; }
  .hb-bf-page .hb-bf-h1 { font-size: clamp(72px, 22vw, 110px); }
  .hb-bf-page .hb-bf-h1 strong { -webkit-text-stroke-width: 2px; }
  .hb-bf-cd-tile b { min-width: 68px; font-size: 44px; }
  .hb-bf-hv { height: 440px; }
  .hb-bf-hv-glow { width: 380px; height: 380px; }
  .hb-bf-hv-tag { top: 150px; }
  .hb-bf-page .hb-bf-hv-price strong { font-size: 36px; }
  .hb-bf-page .hb-bf-burst-lg { width: 128px; height: 128px; font-size: 22px; }
  .hb-bf-hv-chip span { font-size: 18px; }
  .hb-bf-page #bf-tape { height: 170px; margin-top: -50px; }
  .hb-bf-page .hb-bf-tape-track { font-size: 22px; }
  .hb-bf-tape-band.is-red .hb-bf-tape-track { font-size: 20px; }
  .hb-bf-tape-band.is-gold { top: 40px; }
  .hb-bf-tape-band.is-red { top: 92px; }
  .hb-bf-page .hb-bf-spot { width: 250px; }
  .hb-bf-cal { padding: 14px; }
  .hb-bf-cal-grid { gap: 3px; }
  .hb-bf-cal-day, .hb-bf-cal-blank { min-height: 50px; }
  .hb-bf-cal-day { padding: 5px; }
  .hb-bf-cal-day em { font-size: 9px; }
  .hb-bf-cal-gift { top: 4px; right: 4px; width: 11px; height: 10px; }
  .hb-bf-page .hb-bf-gift-box, .hb-bf-gift-prize { gap: 16px; }
  .hb-bf-gift-art { flex-basis: 110px; width: 110px; height: 130px; transform: scale(.7); transform-origin: left bottom; }
  .hb-bf-gift-date { font-size: 36px; }
  .hb-bf-gift-prize { flex-direction: column; align-items: flex-start; }
  .hb-bf-bundle-top { flex-direction: column; align-items: flex-start; padding-right: 0; padding-top: 30px; }
  .hb-bf-bundle-img { height: 220px; }
  .hb-bf-bundle-list ul { grid-template-columns: minmax(0, 1fr); }
  .hb-bf-stack-row.is-2, .hb-bf-stack-row.is-3, .hb-bf-stack-row.is-4, .hb-bf-stack-row.is-5, .hb-bf-stack-row.is-6 { width: 100%; }
  .hb-bf-ov { min-height: 600px; }
  .hb-bf-ov.is-left .hb-bf-ov-shade { background: linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .92) 55%); }
  .hb-bf-strip-fig { width: 280px; height: 200px; }
  .hb-bf-photo, .hb-bf-photo.is-1, .hb-bf-photo.is-2 { min-height: 300px; }
  .hb-bf-spotlight-inner { padding: 64px 0; }
  .hb-bf-spotlight-img img { height: 320px; }
  .hb-bf-wallet-text { flex-basis: calc(100% - 60px); }
  .hb-bf-wallet-actions { width: 100%; justify-content: space-between; }
  .hb-bf-page.has-wallet { padding-bottom: 150px; }
}

/* ---------- v4 (29 Oct): red logo-wall hero, truck band, rebate odometer, 2-for-1 photo duo ---------- */
@keyframes bf-lights-on { 0%, 28% { filter: brightness(0); } 32% { filter: brightness(.9); } 36% { filter: brightness(.08); } 44% { filter: brightness(1.15); } 49% { filter: brightness(.3); } 60%, 100% { filter: brightness(1); } }
@keyframes bf-truck-in { from { transform: translateX(-5%) scale(1.12); } to { transform: none; } }
@keyframes bf-shine { from { transform: translateX(-120%); } to { transform: translateX(120%); } }

/* Hero: HB logo wall in studio red light, lit on the right, text on the left */
.hb-bf-stage.is-logo { background: #0a0203; }
.hb-bf-stage.is-logo .hb-bf-stage-photo { inset: 0 0 0 34%; width: 66% !important; opacity: 1; object-position: center 50%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 30%); mask-image: linear-gradient(90deg, transparent 0%, #000 30%); animation: bf-lights-on 1.9s linear both, bf-kb 9s ease-out both; }
.hb-bf-stage.is-logo .hb-bf-stage-shade { background: linear-gradient(90deg, #0a0203 0%, rgba(10, 2, 3, .9) 30%, rgba(10, 2, 3, .2) 52%, rgba(10, 2, 3, 0) 66%), linear-gradient(0deg, #0a0203 0%, rgba(10, 2, 3, 0) 24%), linear-gradient(180deg, rgba(10, 2, 3, .6) 0%, rgba(10, 2, 3, 0) 16%); }
.hb-bf-stage.is-logo .hb-bf-beam { background: linear-gradient(180deg, rgba(255, 110, 90, .34) 0%, rgba(255, 110, 90, .06) 55%, rgba(255, 110, 90, 0) 80%); }
.hb-bf-stage.is-logo .hb-bf-beam.is-l { left: 44%; }
.hb-bf-stage.is-logo .hb-bf-flash { background: #ffd9d2; }
.hb-bf-page #bf-hero .hb-container > .hb-stack:only-child { max-width: 780px; }

/* Truckloads band: the HB semi with the word marching across the pavement */
.hb-bf-band { position: relative; width: 100%; overflow: hidden; background: var(--bf-stage); }
.hb-bf-band-photo { position: relative; aspect-ratio: 1672 / 760; max-height: 86svh; overflow: hidden; }
.hb-bf-page .hb-bf-band-photo img { display: block; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; object-position: 40% 50%; opacity: .42; filter: saturate(.85); }
.hb-bf-band-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, var(--bf-stage) 0%, rgba(5, 4, 4, 0) 18%, rgba(5, 4, 4, 0) 82%, var(--bf-stage) 100%), radial-gradient(ellipse at 50% 50%, rgba(5, 4, 4, 0) 40%, rgba(5, 4, 4, .7) 100%); }
.hb-bf-page .hb-bf-band-run { position: absolute; left: 0; right: 0; top: 50%; z-index: 2; margin: 0; overflow: hidden; line-height: .82; transform: translateY(-50%); }
.hb-bf-band-track { display: flex; align-items: center; width: max-content; white-space: nowrap; font: 700 clamp(110px, 17vw, 330px)/.82 var(--bf-display); text-transform: uppercase; animation: bf-marquee 28s linear infinite; }
.hb-bf-band-track > span { margin-right: .16em; }
.hb-bf-band-w { color: var(--bf-gold); text-shadow: 0 12px 44px rgba(0, 0, 0, .7); }
.hb-bf-band-w.is-outline { color: transparent; -webkit-text-stroke: 2px var(--bf-gold); text-shadow: none; }
.hb-bf-band-star { color: var(--bf-red-text); font-size: .4em; }
@supports not (-webkit-text-stroke: 2px #fff) { .hb-bf-band-w.is-outline { color: #fff; } }

/* Rebates: the money we've put back, on digit reels that roll into place */
.hb-bf-page #bf-proof { position: relative; isolation: isolate; overflow: hidden; border-top: 2px solid var(--bf-gold); border-bottom: 2px solid var(--bf-gold); background: radial-gradient(ellipse at 50% 52%, rgba(212, 140, 24, .3) 0%, rgba(212, 140, 24, .06) 42%, rgba(5, 4, 4, 0) 66%), var(--bf-stage); text-align: center; }
.hb-bf-page #bf-proof::before { content: ""; position: absolute; left: 50%; top: 52%; z-index: -1; width: 1800px; height: 1800px; margin: -900px 0 0 -900px; border-radius: 50%; background: repeating-conic-gradient(rgba(212, 140, 24, .1) 0deg 5deg, rgba(212, 140, 24, 0) 5deg 15deg); -webkit-mask-image: radial-gradient(circle, #000 0%, transparent 62%); mask-image: radial-gradient(circle, #000 0%, transparent 62%); animation: bf-spin 70s linear infinite; }
.hb-bf-page #bf-proof .hb-container { align-items: center; }
.hb-bf-page #bf-proof .hb-stack { align-items: center; max-width: 1100px; margin-inline: auto; }
.hb-bf-page #bf-proof .hb-actions { justify-content: center; }
.hb-bf-page #bf-proof h2 { display: flex; flex-direction: column; align-items: center; max-width: 24ch; margin-inline: auto; font-size: clamp(30px, 3.4vw, 52px); }
.hb-bf-page #bf-proof h2 > span { display: block; margin: 0 auto .18em; font-size: clamp(54px, 11vw, 176px); line-height: 1; }
.hb-bf-page #bf-proof .hb-body { max-width: 60ch; margin-inline: auto; }
.hb-bf-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hb-bf-odo { position: relative; display: inline-flex; align-items: flex-end; gap: .04em; overflow: hidden; padding: .04em; }
.hb-bf-odo-d { position: relative; display: inline-block; width: .7em; height: 1.16em; overflow: hidden; border: 1px solid rgba(212, 140, 24, .5); border-radius: .07em; background: linear-gradient(180deg, #221a12 0%, #0d0a07 50%, #17110b 50%, #0a0705 100%); box-shadow: inset 0 0 .22em rgba(0, 0, 0, .85), 0 .05em .2em rgba(0, 0, 0, .6); }
.hb-bf-odo-d::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0, 0, 0, .75); }
.hb-bf-odo-reel { display: block; transform: translateY(0); transition: transform 2.4s cubic-bezier(.12, .75, .18, 1) var(--hb-bf-d, 0ms); }
.hb-bf-odo-reel > span { display: block; height: 1.16em; line-height: 1.16em; text-align: center; }
.is-rolled .hb-bf-odo-reel { transform: translateY(calc(var(--hb-bf-to, 0) * -1.16em)); }
.hb-bf-odo-s { display: inline-block; line-height: 1.16; }
.hb-bf-odo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(100deg, rgba(255, 240, 200, 0) 30%, rgba(255, 240, 200, .5) 50%, rgba(255, 240, 200, 0) 70%); transform: translateX(-120%); }
.is-rolled .hb-bf-odo::after { animation: bf-shine 1.3s ease-out 3.3s both; }

/* 2-for-1: one photo per pick, side by side; only the changed side slides */
.hb-bf-page .hb-bf-picker-hint { margin: 0; font: 400 14px/1.4 var(--bf-body); opacity: .8; }
.hb-bf-duo { position: relative; display: grid; flex: 1 1 520px; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 620px; padding: 0 12px 60px 0; }
.hb-bf-duo-slot { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bf-ink); box-shadow: 12px 12px 0 var(--bf-ink); transition: background .3s ease, box-shadow .3s ease; }
.hb-bf-duo-slot.is-2 { top: 48px; }
.hb-bf-duo-fig { position: absolute; inset: 0; margin: 0; transform: translateY(-104%); transition: transform .65s cubic-bezier(.7, 0, .2, 1); }
.hb-bf-duo-fig:not(.is-on):not(.is-out) { visibility: hidden; transition: none; }
.hb-bf-duo-fig.is-on { transform: none; }
.hb-bf-duo-fig.is-out { transform: translateY(104%); }
.hb-bf-page .hb-bf-duo-fig img { display: block; width: 100% !important; max-width: none !important; height: 100% !important; object-fit: cover; object-position: var(--hb-bf-pos, 50% 50%); }
.hb-bf-duo-fig figcaption { position: absolute; left: 12px; bottom: 12px; padding: 7px 12px; background: var(--bf-ink); color: #fff; font: 700 20px/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-duo-fig figcaption span { color: var(--bf-gold); }
.hb-bf-page .hb-bf-duo-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0; border: 3px dashed rgba(20, 18, 18, .55); background: rgba(255, 255, 255, .22); color: var(--bf-ink); font: 700 26px/1 var(--bf-display); text-transform: uppercase; opacity: 0; transition: opacity .3s ease .3s; }
.hb-bf-duo-slot.is-empty { background: transparent; box-shadow: none; }
.hb-bf-duo-slot.is-empty .hb-bf-duo-empty { opacity: 1; }
.hb-bf-duo-seal { position: absolute; left: calc(50% - 6px); top: 46%; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 124px; height: 124px; transform: translate(-50%, -50%) rotate(-8deg); clip-path: var(--bf-burst); background: var(--bf-red); color: #fff; font: 700 44px/.8 var(--bf-display); text-transform: uppercase; }
.hb-bf-duo-seal small { font: 800 12px/1.2 var(--bf-ui); letter-spacing: .12em; }
.hb-bf-spotlight.has-duo h2 { font-size: clamp(48px, 4.2vw, 72px); line-height: .9; }

@supports (animation-timeline: view()) {
  .hb-bf-page .hb-bf-band-photo img { animation: bf-truck-in linear both; animation-timeline: view(); animation-range: entry 0% cover 55%; }
}
@media (max-width: 767px) {
  .hb-bf-stage.is-logo .hb-bf-stage-photo { inset: 0; width: 100% !important; opacity: .6; object-position: 50% 30%; -webkit-mask-image: none; mask-image: none; }
  .hb-bf-stage.is-logo .hb-bf-stage-shade { background: linear-gradient(180deg, rgba(10, 2, 3, .35) 0%, rgba(10, 2, 3, .8) 45%, #0a0203 100%); }
  .hb-bf-band-photo { aspect-ratio: auto; height: 320px; }
  .hb-bf-page .hb-bf-band-photo img { object-position: 36% 50%; }
  .hb-bf-band-track { font-size: 27vw; }
  .hb-bf-duo { flex-basis: 100%; gap: 10px; padding: 0 8px 32px 0; }
  .hb-bf-duo-slot { box-shadow: 8px 8px 0 var(--bf-ink); }
  .hb-bf-duo-slot.is-2 { top: 24px; }
  .hb-bf-duo-fig figcaption { left: 8px; bottom: 8px; padding: 5px 8px; font-size: 15px; }
  .hb-bf-duo-fig figcaption span { display: none; }
  .hb-bf-page .hb-bf-duo-empty { font-size: 18px; }
  .hb-bf-duo-seal { width: 86px; height: 86px; font-size: 30px; }
  .hb-bf-duo-seal small { font-size: 9px; }
}
/* ---------- v5 (29 Oct): rebate cheque, truck band behind the word ---------- */
@font-face { font-family: "HB BF Hand"; src: url(data:font/woff2;base64,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) format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@keyframes bf-stamp { 0% { opacity: 0; transform: rotate(-14deg) scale(2.6); } 60% { opacity: .95; transform: rotate(-14deg) scale(.92); } 100% { opacity: .9; transform: rotate(-14deg) scale(1); } }
@keyframes bf-thud { 0%, 100% { translate: 0 0; } 20% { translate: 0 10px; } 45% { translate: -4px -3px; } 70% { translate: 3px 2px; } }

/* Rebates: a giant novelty cheque. Sized in container units so it scales as one piece, like a photo. */
.hb-bf-page #bf-proof h2 { font-size: clamp(36px, 4.4vw, 68px); }
.hb-bf-page #bf-proof .hb-stack { width: 100%; }
.hb-bf-page #bf-proof .elementor-widget-shortcode { align-self: stretch; width: 100%; }
.hb-bf-chq-stage { position: relative; width: 100%; max-width: 1000px; margin: 28px auto 36px; container-type: inline-size; perspective: 1400px; }
.hb-bf-chq-stage > .hb-bf-confetti { inset: -80px -40px auto; height: 720px; z-index: 3; }
.hb-bf-chq { --rx: 0deg; --ry: 0deg; position: relative; transform: rotateX(var(--rx)) rotateY(var(--ry)) rotate(-3deg); transform-style: preserve-3d; transition: transform 1s cubic-bezier(.2, .9, .25, 1.15), opacity .5s ease; }
.hb-bf-ready .hb-bf-chq-stage:not(.is-in) .hb-bf-chq { opacity: 0; transform: translateY(160px) rotate(-16deg) scale(.86); }
.hb-bf-chq-stage.is-in.is-tilting .hb-bf-chq { transition: transform .15s ease-out; }
.hb-bf-chq-stage.is-stamped .hb-bf-chq-in { animation: bf-thud .45s ease-out; }
.hb-bf-chq-in { position: relative; display: flex; flex-direction: column; gap: 2.6cqw; padding: 3.4cqw 4.4cqw 2.2cqw; border: 1px solid #c9bb95; border-radius: .6cqw; background: repeating-linear-gradient(135deg, rgba(160, 140, 90, .08) 0 2px, rgba(160, 140, 90, 0) 2px 9px), radial-gradient(ellipse at 30% 20%, #fffaf0 0%, #f4ead2 60%, #ebdcb8 100%); box-shadow: 0 40px 90px rgba(0, 0, 0, .65), 0 0 0 1cqw rgba(255, 255, 255, .04); color: #3d3a33; text-align: left; }
.hb-bf-chq-in::before { content: ""; position: absolute; inset: 1cqw; border: 2px solid rgba(160, 130, 70, .35); border-radius: 3px; pointer-events: none; }
.hb-bf-chq-head, .hb-bf-chq-row { position: relative; display: flex; align-items: flex-end; gap: 1.6cqw; }
.hb-bf-chq-head { justify-content: space-between; align-items: flex-start; }
.hb-bf-page .hb-bf-chq-brand { display: flex; align-items: center; gap: 1.2cqw; margin: 0; color: #141212; font: 700 3cqw/1 var(--bf-display); text-transform: uppercase; }
.hb-bf-chq-brand b { display: grid; place-items: center; width: 5.2cqw; height: 5.2cqw; border: .3cqw solid var(--bf-red); color: var(--bf-red); font-size: 2.6cqw; letter-spacing: -.04em; }
.hb-bf-chq-brand small { display: block; margin-top: .4cqw; color: #6b6556; font: 700 max(7px, 1.1cqw)/1.2 var(--bf-ui); letter-spacing: .14em; }
.hb-bf-page .hb-bf-chq-brand.is-logo img { display: block; width: 36cqw !important; max-width: none !important; height: auto !important; }
.hb-bf-page .hb-bf-chq-date { display: flex; align-items: flex-end; gap: 1cqw; margin: 0; }
.hb-bf-chq-lab, .hb-bf-chq-date > span { flex: 0 0 auto; color: #6b6556; font: 800 max(7px, 1.2cqw)/1.2 var(--bf-ui); letter-spacing: .14em; text-transform: uppercase; }
.hb-bf-chq-row.is-pay .hb-bf-chq-lab { max-width: 9em; }
.hb-bf-chq-hand { color: #1c2c5c; font: 700 4cqw/1 "HB BF Hand", "Segoe Script", "Bradley Hand", cursive; font-style: normal; white-space: nowrap; }
.hb-bf-chq-hand.is-line { flex: 1 1 auto; min-width: 0; padding: 0 .8cqw .4cqw; border-bottom: 1.5px solid #8f8670; }
.hb-bf-chq-date .hb-bf-chq-hand { min-width: 12cqw; padding: 0 .8cqw .4cqw; border-bottom: 1.5px solid #8f8670; font-size: 3.4cqw; }
.hb-bf-page .hb-bf-chq-amt { display: flex; flex: 0 0 auto; align-items: center; margin: 0; padding: .5cqw 1.6cqw; border: 2px solid #141212; border-radius: .4cqw; background: #fff; color: #141212; font: 700 5cqw/1.16 var(--bf-display); box-shadow: inset 0 0 0 .4cqw #fff, inset 0 0 0 calc(.4cqw + 1px) rgba(20, 18, 18, .25); }
.hb-bf-chq-amt > small { font-size: .55em; align-self: flex-start; margin-top: .25em; }
.hb-bf-chq .hb-bf-odo { padding: 0; gap: 0; }
.hb-bf-chq .hb-bf-odo-d { width: .56em; border: 0; border-radius: 0; background: none; box-shadow: none; }
.hb-bf-chq .hb-bf-odo-d::after { display: none; }
.hb-bf-chq .hb-bf-odo::after { background: linear-gradient(100deg, rgba(212, 140, 24, 0) 30%, rgba(212, 140, 24, .45) 50%, rgba(212, 140, 24, 0) 70%); }
.hb-bf-chq-hand.is-memo { flex: 0 1 34cqw; font-size: 3.2cqw; }
.hb-bf-page .hb-bf-chq-sign { display: flex; flex-direction: column; align-items: center; margin: 0 0 0 auto; min-width: 26cqw; }
.hb-bf-chq-sign .hb-bf-chq-hand { width: 100%; padding: 0 .8cqw .4cqw; border-bottom: 1.5px solid #8f8670; text-align: center; font-size: 4.6cqw; transform: rotate(-4deg); }
.hb-bf-chq-sign small { margin-top: .6cqw; color: #6b6556; font: 800 max(7px, 1.1cqw)/1.2 var(--bf-ui); letter-spacing: .14em; text-transform: uppercase; }
.hb-bf-page .hb-bf-chq-micr { margin: 0; color: #5d584b; font: 400 max(8px, 1.5cqw)/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: .3em; }
.hb-bf-chq-stamp { position: absolute; left: 41%; top: 59%; z-index: 2; max-width: 7.5em; padding: .8cqw 2cqw .6cqw; border: .6cqw double var(--bf-red); border-radius: .8cqw; color: var(--bf-red); font: 700 4.6cqw/.95 var(--bf-display); letter-spacing: .04em; text-align: center; text-transform: uppercase; transform: rotate(-14deg); opacity: .9; mix-blend-mode: multiply; -webkit-mask-image: radial-gradient(circle at 30% 40%, #000 60%, rgba(0, 0, 0, .75) 61%, #000 75%); mask-image: radial-gradient(circle at 30% 40%, #000 60%, rgba(0, 0, 0, .75) 61%, #000 75%); pointer-events: none; }
.hb-bf-ready .hb-bf-chq-stage:not(.is-stamped) .hb-bf-chq-stamp { opacity: 0; }
.hb-bf-chq-stage.is-stamped .hb-bf-chq-stamp { animation: bf-stamp .45s cubic-bezier(.3, 1.4, .5, 1) both; }
@media (max-width: 767px) {
  .hb-bf-chq-stage { margin: 12px auto 20px; }
  .hb-bf-chq { transform: rotateX(var(--rx)) rotateY(var(--ry)) rotate(-2deg); }
}

@media (prefers-reduced-motion: reduce) {
  .hb-bf-page *, .hb-bf-page *::before, .hb-bf-page *::after, .hb-bf-wallet { animation: none !important; transition: none !important; }
  .hb-bf-page .hb-bf-rv { opacity: 1; transform: none; }
  .hb-bf-spot.is-scratched .hb-bf-spot-foil { display: none; }
}
