/* ==================================================
   VALBOOSTING · HOMEPAGE / SHARED BASE
   Palette: Valorant red on cream  (handoff "Cream compact")
   Type:    League (display) · Barlow (body) · Oxanium (UI)
   ================================================== */
/* League display face — the custom .otf already shipped in the theme
   (assets/fonts/League.otf), now activated. Oswald/Rajdhani are condensed
   fallbacks if it fails to load. The face has one master; map both display
   weights (700/800) to it. Absolute URL so a LiteSpeed CSS-combine can't break
   the path (see f3-fonts.css for the same reasoning on the woff2 faces). */
@font-face { font-family: 'League'; font-style: normal; font-weight: 700; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype'); }
@font-face { font-family: 'League'; font-style: normal; font-weight: 800; font-display: swap; src: url('/wp-content/themes/valboosting/assets/fonts/League.otf') format('opentype'); }

/* Tokens scoped to .vb-rd (not :root) so enqueuing this on the LIVE front page
   can't override the live theme's global custom properties on the .eb-nav
   chrome/footer. Previews still match (their <body> carries .vb-rd).
   Keep in sync with f3-tokens.css (the live-base mirror). */
.vb-rd {
  --font-display: 'League', 'Oswald', 'Rajdhani', sans-serif;
  --font-body: 'Barlow', sans-serif;
  --font-ui: 'Oxanium', sans-serif;
  --royal: #ff4655;       /* Valorant red — primary / accents / wedge */
  --royal-deep: #c0303d;  /* darker red — gradient end */
  --royal-tint: #fdecee;  /* faint red surface (nav hover, reward) */
  --royal-soft: #f5c4ca;  /* soft red border */
  /* product-card tweak knobs */
  --card-w: 369.6px;
  --card-gap: 18.48px;
  --card-minh: 216.48px;
  --card-scale: 1;
  --navy: #1b1f2a;        /* dark ink base */
  --navy-deep: #11141c;
  --gold: #ffea3d;        /* highlight (stars, em words, badges) */
  --gold-deep: #f5d400;
  --green: #22b358;
  --red: #e64a3a;
  --purple: #7b5cd1;
  --orange: #ff7a2a;
  --orange-deep: #d65a10;

  /* Page + sections + cards are WHITE — the handoff's --bg is #ffffff. The cream
     lives ONLY in the hero (.vhero carries its own cream gradient), NOT the page.
     bg-soft / line are neutral near-whites (a previous cream --bg turned the whole
     page beige instead of the design's white-with-cream-hero). */
  --bg: #ffffff;
  --bg-soft: #f5f6f8;
  --bg-deep: #eceef1;
  --ink: #1b1f2a;
  --ink-soft: #445870;
  --ink-muted: #8a8578;
  --line: #e6e8ec;
  --line-soft: #f0f1f3;

  --accent: #ff4655;
  --bar: #ff4655;
  --r: 7.92px;             /* 6px base × 1.2 site scale; cards add +4/+6 */
  --tracking: 0.62; /* global letter-spacing scale (1 = original) */

  --shadow-soft: 0 1.32px 2.64px rgba(27, 31, 42, 0.05), 0 10.56px 31.68px rgba(27, 31, 42, 0.07);
  --shadow-pop: 0 2.4px 4.8px rgba(27, 31, 42, 0.05), 0 28.8px 72px rgba(27, 31, 42, 0.10);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Scoped to .vb-rd so this full-page stylesheet can be enqueued on the LIVE
   front page (front-page.php) without its global reset/body rules clobbering
   the live .eb-nav chrome. The standalone previews still get these (their
   <body> carries .vb-rd). See functions.php is_front_page() enqueue. */
.vb-rd, .vb-rd * { box-sizing: border-box; margin: 0; padding: 0; }
.vb-rd {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  scroll-behavior: smooth;
}
.vb-rd a { color: inherit; text-decoration: none; }
.wrap { max-width: 1742.4px; margin: 0 auto; padding: 0 31.68px; }

/* ==================================================
   SITE HEADER
   ================================================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.94);
  backdrop-filter: blur(15.84px);
  -webkit-backdrop-filter: blur(15.84px);
  border-bottom: 1.2px solid var(--line);
  box-shadow: 0 1.2px 0 rgba(27, 31, 42, 0.06);
}
/* logo dropdown (service switcher) */
.nav-brand-wrap { position: relative; }
.nav-brand-caret {
  display: inline-flex;
  align-items: center;
  gap: 7.92px;
  margin-left: 10.56px;
  padding: 7.92px 13.2px;
  background: var(--bg-soft);
  border: 1.2px solid var(--line);
  border-radius: 10.56px;
  transition: border-color 200ms ease, background 200ms ease, box-shadow 200ms ease;
}
.nav-brand-caret .caret-grid { display: inline-flex; width: 18.48px; height: 18.48px; color: var(--royal); }
.nav-brand-caret svg { width: 18.48px; height: 18.48px; }
.nav-brand-caret .caret-chev { width: 14.52px; height: 14.52px; color: var(--ink-muted); transition: transform 240ms var(--ease-out); }
.nav-brand-wrap:hover .nav-brand-caret { background: #fff; border-color: var(--royal-soft); box-shadow: 0 3.6px 12px -4.8px rgba(255, 70, 85, 0.3); }
.nav-brand-wrap:hover .nav-brand-caret .caret-chev { transform: rotate(180deg); color: var(--royal); }
.brand-dropdown {
  position: absolute; top: calc(100% + 15.84px); left: 0; z-index: 120;
  width: 382.8px; padding: 10.56px;
  background: #fff; border: 1.2px solid var(--line); border-radius: 18.48px;
  box-shadow: var(--shadow-pop);
  opacity: 0; visibility: hidden; transform: translateY(-10.56px);
  transition: opacity 200ms ease, transform 220ms var(--ease-out), visibility 200ms;
}
.brand-dropdown::before { content: ''; position: absolute; top: -18.48px; left: 0; right: 0; height: 18.48px; }
.nav-brand-wrap:hover .brand-dropdown,
.nav-brand-wrap:focus-within .brand-dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.brand-dropdown-label { display: block; font-family: var(--font-ui); font-size: 11.88px; font-weight: 600; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); padding: 10.56px 13.2px 7.92px; }
.brand-service { display: flex; align-items: center; gap: 15.84px; padding: 13.2px; border-radius: 11.88px; transition: background 160ms ease; }
.brand-service:hover { background: var(--royal-tint); }
.brand-service.is-current { background: var(--bg-soft); }
.brand-service-dot { width: 13.2px; height: 13.2px; border-radius: 50%; flex-shrink: 0; box-shadow: 0 0 0 4.8px color-mix(in srgb, currentColor 0%, transparent); }
.brand-service-dot.lol { background: var(--orange); }
.brand-service-dot.ow { background: var(--green); }
.brand-service-dot.val { background: var(--red); }
.brand-service-fox {
  width: 39.6px; height: 42.24px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 2.64px 3.96px rgba(8,31,66,0.18));
}
.brand-service-text { display: flex; flex-direction: column; gap: 1.32px; }
.brand-service-text b { font-family: var(--font-display); font-size: 19.14px; font-weight: 700; color: var(--ink); }
.brand-service-text small { font-family: var(--font-ui); font-size: 11.88px; letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }

.main-nav {
  max-width: 1742.4px;
  margin: 0 auto;
  padding: 10.56px 31.68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 31.68px;
}
.nav-brand {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 26.4px;
  letter-spacing: -0.03em;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
}
.nav-brand-mark {
  width: 36.96px; height: 36.96px;
  border-radius: 3.96px;
  background: linear-gradient(135deg, var(--orange) 0%, var(--orange-deep) 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 0 4.8px 12px -4.8px rgba(255, 122, 42, 0.45);
}
.nav-brand-mark svg { width: 21.12px; height: 21.12px; }
.nav-brand-mark.has-fox {
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  box-shadow: 0 4.8px 12px -4.8px rgba(255, 70, 85, 0.45);
  padding: 2.64px;
}
.nav-brand-mark .brand-mark-fox { width: 29.04px; height: 29.04px; object-fit: contain; }
.nav-brand .dot { color: var(--royal); margin: 0 2.64px; }
.nav-brand small {
  display: block;
  font-family: var(--font-ui);
  font-size: 10.56px;
  font-weight: 500;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 1.32px;
}
/* phones: drop the tagline + desktop service-switcher caret so the +10% wordmark +
   hamburger fit a ~390px bar (mobile switches service via the drawer instead) */
@media (max-width: 480px) { .nav-brand small, .nav-brand-caret { display: none; } }
/* cap the desktop hover service-switcher + clip residual few-px overflow on phones */
.brand-dropdown { max-width: calc(100vw - 32px); }
@media (max-width: 480px) { html, body { overflow-x: hidden !important; } }
.nav-links { display: flex; align-items: center; gap: 2.64px; }
.nav-link {
  font-family: var(--font-nav, var(--font-body));
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9.24px;
  padding: 11.88px 17.16px;
  font-size: 17.16px;
  font-weight: 600;
  color: var(--ink-soft);
  border-radius: 11.88px;
  transition: background 200ms ease, color 200ms ease;
}
.nav-link svg { width: 19.8px; height: 19.8px; opacity: 0.55; transition: transform 240ms var(--ease-out), opacity 200ms ease, color 200ms ease; }
.nav-link::after {
  content: '';
  position: absolute;
  left: 17.16px; right: 17.16px; bottom: 6.6px;
  height: 2.64px;
  background: var(--royal);
  border-radius: 2.64px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 280ms var(--ease-out);
}
.nav-link:hover { background: var(--royal-tint); color: var(--royal); }
.nav-link:hover svg { opacity: 1; color: var(--royal); transform: translateY(-2.64px); }
.nav-link:hover::after { transform: scaleX(1); }
.nav-link.is-current { background: var(--royal-tint); color: var(--royal); }
.nav-hot {
  font-family: var(--font-ui);
  font-size: 10.56px;
  font-weight: 800;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, var(--orange) 0%, var(--orange-deep) 100%);
  border-radius: 1318.68px;
  padding: 3.96px 7.92px;
  margin-left: 3.96px;
  box-shadow: 0 3.6px 10.8px -2.4px rgba(255, 122, 42, 0.6);
}
@media (prefers-reduced-motion: no-preference) { .nav-hot { animation: hot-pulse 1.6s ease-in-out infinite; } }
@keyframes hot-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.13); } }
@media (max-width: 1320px) { .nav-links { display: none; } }
.nav-actions { display: flex; align-items: center; gap: 13.2px; }
.vb-rd .nav-icon-btn {
  width: 47.52px; height: 47.52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  background: var(--bg);
  color: var(--ink-soft);
  cursor: pointer;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease;
  position: relative;
}
.vb-rd .nav-icon-btn:hover { background: var(--royal-tint); border-color: var(--royal-soft); color: var(--royal); }
.vb-rd .nav-icon-btn svg { width: 21.12px; height: 21.12px; }
.vb-rd .nav-icon-btn .badge-dot {
  position: absolute;
  top: 7.92px; right: 9.24px;
  width: 9.24px; height: 9.24px;
  background: var(--gold);
  border-radius: 50%;
  border: 1.8px solid var(--bg);
}
.nav-login {
  height: 47.52px;
  display: inline-flex;
  align-items: center;
  padding: 0 21.12px;
  font-family: var(--font-ui);
  font-size: 14.52px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: var(--royal);
  border-radius: 3.96px;
  transition: background 200ms ease, transform 160ms ease;
}
.nav-login:hover { background: var(--navy); transform: translateY(-1.32px); }
/* .vb-rd a{color:inherit} (0,1,1) outranks bare .nav-login (0,1,0) and would
   force the Login anchor onto inherited dark ink — scope it so the white wins.
   (.nav-hot keeps its own flame-badge dark text from boost-page.css.) */
.vb-rd .nav-login, .vb-rd .nav-login:hover { color: #fff; }
.nav-mobile {
  display: none;
  width: 47.52px; height: 47.52px;
  align-items: center;
  justify-content: center;
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  background: var(--bg);
  cursor: pointer;
}
.nav-mobile svg { width: 23.76px; height: 23.76px; color: var(--ink); }
@media (max-width: 1320px) { .nav-mobile { display: inline-flex; } }
@media (max-width: 912px) { .nav-login { display: none; } }

/* ==================================================
   SHARED: buttons, section heads
   ================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
  padding: 17.16px 29.04px;
  border-radius: 3.96px;
  font-family: var(--font-ui);
  font-size: 15.84px;
  font-weight: 600;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  transition: transform 180ms var(--ease-out), box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
  cursor: pointer;
  border: none;
}
.btn svg { width: 18.48px; height: 18.48px; }
.btn-royal {
  background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  color: #fff;
  box-shadow: 0 9.6px 36px -9.6px rgba(255, 70, 85, 0.5);
}
.btn-royal:hover { transform: translateY(-1.32px); box-shadow: 0 14.4px 43.2px -9.6px rgba(255, 70, 85, 0.6); }
.btn-gold {
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  color: var(--navy);
  box-shadow: 0 9.6px 36px -9.6px rgba(245, 212, 0, 0.55);
}
.btn-gold:hover { transform: translateY(-1.32px); box-shadow: 0 14.4px 43.2px -9.6px rgba(245, 212, 0, 0.65); }
/* Button text contrast — gold/yellow = near-black, royal/red = white.
   Higher specificity (.vb-rd a.btn-*) defeats any inherited anchor colour. */
.vb-rd a.btn-gold,  .vb-rd a.btn-gold svg,
.vb-rd button.btn-gold, .vb-rd button.btn-gold svg { color: #14181f; }
.vb-rd a.btn-royal, .vb-rd a.btn-royal svg,
.vb-rd button.btn-royal, .vb-rd button.btn-royal svg { color: #ffffff; }
.btn-ghost-light {
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1.2px solid rgba(255,255,255,0.25);
}
.btn-ghost-light:hover { background: rgba(255,255,255,0.16); transform: translateY(-1.32px); }
.btn-ghost {
  background: var(--bg);
  color: var(--royal);
  border: 1.2px solid var(--line);
}
.btn-ghost:hover { border-color: var(--royal-soft); background: var(--royal-tint); transform: translateY(-1.32px); }

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 31.68px;
  flex-wrap: wrap;
  margin-bottom: 21.12px;
}
.section-eyebrow { display: flex; align-items: center; gap: 13.2px; margin-bottom: 21.12px; }
.section-tag {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: #fff;
  background: var(--accent);
  padding: 5.28px 11.88px;
  border-radius: 2.64px;
  white-space: nowrap;
}
.section-eyebrow-text {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.section-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(39.6px, 3.8vw, 63.36px);
  letter-spacing: -0.03em;
  line-height: 1.04;
  color: var(--ink);
}
.section-title em { font-style: normal; font-weight: 700; color: var(--accent); }
.section-lead {
  font-family: var(--font-display);
  font-size: clamp(19.8px, 1.5vw, 23.76px);
  font-weight: 500;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 739.2px;
}
.section-lead em { font-style: normal; color: var(--accent); }
.head-badge {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-soft);
  background: var(--bg);
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  padding: 11.88px 17.16px;
  display: inline-flex;
  align-items: center;
  gap: 10.56px;
  box-shadow: var(--shadow-soft);
}
.head-badge em { font-style: normal; color: var(--accent); font-weight: 700; }
.head-badge svg { width: 15.84px; height: 15.84px; color: var(--gold-deep); }

/* On-dark variants */
.on-dark .section-tag { background: var(--gold); color: var(--navy); }
.on-dark .section-eyebrow-text { color: rgba(255,255,255,0.55); }
.on-dark .section-title { color: #fff; }
.on-dark .section-title em { color: var(--gold); }
.on-dark .section-lead { color: rgba(255,255,255,0.75); }
.on-dark .section-lead em { color: var(--gold); }

/* ==================================================
   HERO
   ================================================== */
.hero {
  position: relative;
  overflow: hidden;
  color: var(--ink);
  /* cream — same warm gradient as the boost page .vhero */
  background:
    radial-gradient(1003.2px 580.8px at 88% -20%, rgba(255,70,85,0.10), transparent 60%),
    linear-gradient(160deg, #f6f3ec 0%, #efebe1 60%, #e9e4d8 100%);
  border-bottom: 1.2px solid #e4ded2;
  --cc-wedge: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%);
  --cc-glow: rgba(255,70,85,0.55);
}
.hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1742.4px;
  margin: 0 auto;
  padding: 92.664px 31.68px;
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 46.332px;
  align-items: stretch;
}
@media (max-width: 1104px) { .hero-inner { grid-template-columns: 1fr; gap: 43.2432px; padding: 61.776px 31.68px 72.072px; } }

.hero-text {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.hero-eyebrow { display: inline-flex; align-items: center; gap: 15.444px; margin-bottom: 27.7992px; }
.hero-eyebrow-dash { width: 43.2432px; height: 3.861px; border-radius: 2.574px; background: var(--royal); flex-shrink: 0; }
.hero-eyebrow-text {
  font-family: var(--font-ui);
  font-size: 16.9884px;
  font-weight: 600;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: #8a8578;
}
.hero h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(42.0079px, 4.306vw, 71.6606px);
  letter-spacing: -0.03em;
  line-height: 0.9;
  color: var(--ink);
  margin-bottom: 30.888px;
  max-width: 988.416px;
  text-wrap: balance;
}
.hero h1 em { font-style: normal; font-weight: 700; color: var(--royal); }
.hero-lead {
  font-family: var(--font-body);
  font-size: clamp(20.0772px, 1.584vw, 23.166px);
  font-weight: 400;
  color: #4a4e57;
  line-height: 1.45;
  max-width: 772.2px;
  margin-bottom: 37.0656px;
}
.hero-lead em { font-style: normal; font-weight: 700; color: var(--ink); }

.hero-feats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15.444px;
  max-width: 772.2px;
  margin-bottom: 37.0656px;
}
@media (max-width: 672px) { .hero-feats { grid-template-columns: 1fr; } }
.hero-feat {
  display: flex;
  align-items: center;
  gap: 15.444px;
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  padding: 16.9884px 20.0772px;
  box-shadow: 0 7.02px 21.06px -15.21px rgba(27,31,42,0.3);
  transition: border-color 200ms ease, transform 200ms var(--ease-out), box-shadow 200ms ease;
}
.hero-feat:hover { border-color: var(--royal-soft); transform: translateY(-1.5444px); box-shadow: 0 16.38px 30.42px -18.72px rgba(255,70,85,0.45); }
.hero-feat-icon {
  width: 49.4208px; height: 49.4208px;
  border-radius: var(--r);
  background: var(--royal-tint);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--royal);
  flex-shrink: 0;
}
.hero-feat-icon svg { width: 24.7104px; height: 24.7104px; }
.hero-feat > span:last-child { min-width: 0; }
.hero-feat-name { display: block; font-family: var(--font-body); font-size: 19.305px; font-weight: 700; color: var(--ink); line-height: 1.2; }
.hero-feat-sub {
  display: block;
  font-family: var(--font-ui);
  font-size: 13.8996px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-top: 3.861px;
}

.hero-ctas { display: flex; gap: 16.9884px; flex-wrap: wrap; }
.hero-ctas .btn { padding: 20.0772px 33.9768px; font-size: 18.5328px; }
.hero-ctas .btn svg { width: 21.6216px; height: 21.6216px; }
.hero-ctas .btn-ghost { background: #fff; color: var(--ink); border: 1.2px solid var(--line); }
.hero-ctas .btn-ghost:hover { border-color: var(--royal-soft); background: var(--royal-tint); color: var(--royal); transform: translateY(-1.32px); }

/* RIGHT — red diagonal wedge (same recipe as the boost-page .cc-slash) holding
   the fox-in-a-circle + the brand block */
.hero-panel { position: relative; display: flex; align-items: center; justify-content: flex-end; min-height: 494.208px; }
.hero-wedge {
  position: absolute; z-index: 1;
  top: -92.664px; bottom: -92.664px;
  left: 21.6216px; right: min(-61.776px, calc(818.4px - 50vw));
  background: var(--cc-wedge);
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  box-shadow: 0 36px 96px -40px var(--cc-glow);
}
.hero-wedge::after {
  content: '';
  position: absolute; inset: 0;
  clip-path: polygon(13% 0, 100% 0, 100% 100%, 0 100%);
  background-image: radial-gradient(rgba(255,255,255,0.13) 1.32px, transparent 1.32px);
  background-size: 30.888px 30.888px;
  opacity: 0.5;
  mask-image: linear-gradient(115deg, #000, transparent 75%);
}
/* right-align the brand so the circle's RIGHT edge lands on the content
   boundary (same x as the options cards' right edge), and sits clear of the
   diagonal — no horizontal padding so circle-right == panel-right. */
.hero-brand {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  align-items: center; gap: 21.6216px;
  text-align: center; padding: 30.888px 0;
}
.hero-circle {
  width: 407.7216px; height: 407.7216px;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 32%, #fbf8f1 0%, #ece5d6 100%);
  border: 10.107px solid rgba(255,255,255,0.5);
  box-shadow: 0 39.312px 70.2px -30.888px rgba(0,0,0,0.5), inset 0 1.2px 0 rgba(255,255,255,0.6);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.hero-circle img { width: 86%; height: auto; object-fit: contain; filter: drop-shadow(0 12.3552px 21.6216px rgba(0,0,0,0.32)); }
.hero-brand-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 46.332px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
}
.hero-brand-sub {
  font-family: var(--font-ui);
  font-size: 15.444px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
}

@media (max-width: 1104px) {
  .hero-panel { order: -1; min-height: 0; justify-content: center; }
  .hero-wedge { top: -61.776px; bottom: -36.036px; left: -31.68px; right: -31.68px; clip-path: polygon(0 14%, 100% 0, 100% 100%, 0 100%); }
  .hero-brand { padding: 43.2432px 30.888px 27.7992px; }
}
@media (max-width: 672px) {
  .hero-circle { width: 315.0576px; height: 315.0576px; border-width: 8.424px; }
  .hero-brand-name { font-size: 38.61px; }
}

/* ==================================================
   OPTIONS
   ================================================== */
.options { padding: 95.04px 31.68px 79.2px; background: var(--bg); }
.options-grid {
  max-width: 1742.4px;
  margin: 52.8px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 23.76px;
}
@media (max-width: 1080px) { .options-grid { grid-template-columns: 1fr; } }
.option-card {
  position: relative;
  min-height: 448.8px;
  border-radius: var(--r);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  color: #fff;
  background: var(--navy);
  box-shadow: var(--shadow-pop);
}
.option-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% 12%;
  /* the art stays SHARP now — only the left/bottom/right edges are softened by the
     masked backdrop-blur on .option-card::after below (A4). */
  transform: scale(1.06);
  transition: transform 800ms var(--ease-out);
}
.option-card:hover .option-art { transform: scale(1.04); }
.option-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(0deg, rgba(5, 15, 34, 0.94) 0%, rgba(5, 15, 34, 0.55) 38%, rgba(5, 15, 34, 0.05) 70%),
    linear-gradient(120deg, color-mix(in srgb, var(--royal-deep) 55%, transparent) 0%, transparent 55%);
}
.option-body { position: relative; z-index: 2; padding: 34.32px 34.32px 34.32px; display: flex; flex-direction: column; gap: 13.2px; width: 100%; }
.option-kicker {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
}
.option-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 39.6px;
  letter-spacing: -0.01em;
  color: #fff;
}
.option-copy { font-size: 18.48px; line-height: 1.6; color: rgba(255,255,255,0.92); max-width: 686.4px; }
.option-foot { display: flex; align-items: center; justify-content: space-between; gap: 15.84px; margin-top: 10.56px; }
.option-price {
  font-family: var(--font-ui);
  font-size: 13.86px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}
.option-price em { font-style: normal; color: var(--gold); font-weight: 700; }
.option-price em.price-big { font-weight: 800; font-size: 42.24px; line-height: 0.9; display: inline-block; vertical-align: -5.28px; font-family: var(--font-display); letter-spacing: -0.02em; }

/* ==================================================
   RANK CARDS BOARD (light)
   ================================================== */
.board-wrap { padding: 58.08px 31.68px 73.92px; background: var(--bg); }
.board {
  position: relative;
  max-width: 1742.4px;
  margin: 0 auto;
  border-radius: calc(var(--r) + 5.28px);
  background:
    radial-gradient(1188px 554.4px at 88% -10%, rgba(255, 70, 85, 0.07), transparent 60%),
    radial-gradient(924px 501.6px at 0% 115%, rgba(255, 234, 61, 0.10), transparent 55%),
    var(--bg-soft);
  border: 1.2px solid var(--line);
  overflow: hidden;
}
.board-inner { position: relative; z-index: 2; padding: 63.36px 58.08px 58.08px; }
@media (max-width: 912px) { .board-inner { padding: 44.88px 29.04px 36.96px; } }
.board-count {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.14em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-soft);
  border: 1.2px solid var(--line);
  background: #fff;
  border-radius: 3.96px;
  padding: 13.2px 18.48px;
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
}
.board-count strong {
  font-family: var(--font-display);
  font-size: 23.76px;
  font-weight: 700;
  color: var(--accent);
}
.board .section-lead { margin-bottom: 47.52px; }

.boost-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(369.6px, 1fr));
  gap: 21.12px;
}
@media (max-width: 744px)  { .boost-grid { grid-template-columns: 1fr; } }

.boost-card {
  position: relative;
  border-radius: var(--r);
  background: #ffffff;
  border: 1.2px solid var(--line);
  box-shadow: var(--shadow-soft);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 320ms var(--ease-out), border-color 320ms ease, box-shadow 320ms ease;
}
.boost-card:hover {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--line));
  box-shadow: var(--shadow-pop);
}
.boost-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13.2px;
  padding: 19.8px 21.12px 17.16px;
  border-bottom: 1.2px solid var(--line-soft);
  background: var(--bg-soft);
}
.boost-playing {
  display: flex;
  align-items: center;
  gap: 11.88px;
  min-width: 0;
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  padding: 6.6px 15.84px 6.6px 7.92px;
}
.boost-playing .champ-emoji { width: 39.6px; height: 39.6px; font-size: 21.12px; border: none; background: var(--bg-soft); display: inline-flex; align-items: center; justify-content: center; line-height: 1; border-radius: 9.9px; }
.boost-playing .champ-emoji-duo { font-size: 15.84px; letter-spacing: -1.32px; }
.champ-pic {
  width: 50.16px; height: 50.16px;
  border-radius: 3.96px;
  object-fit: cover;
  flex-shrink: 0;
  border: 1.2px solid var(--line);
  background: var(--bg-deep);
}
.boost-label {
  display: block;
  font-family: var(--font-ui);
  font-size: 11.22px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 2.64px;
}
.boost-champ {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21.12px;
  letter-spacing: -0.01em;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.boost-window {
  font-family: var(--font-ui);
  font-size: 12.54px;
  font-weight: 600;
  letter-spacing: calc(0.05em * var(--tracking));
  color: var(--ink-soft);
  background: #ffffff;
  border: 1.2px solid var(--line);
  border-radius: 3.96px;
  padding: 6.6px 10.56px;
  display: inline-flex;
  align-items: center;
  gap: 6.6px;
  white-space: nowrap;
  flex-shrink: 0;
}
.boost-window em { font-style: normal; color: var(--ink-muted); }

.boost-journey {
  display: flex;
  flex-direction: column;
  gap: 15.84px;
  padding: 23.76px 21.12px 13.2px;
  flex: 1;
}
.journey-top {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 10.56px;
}
.journey-top .journey-rank { flex: 1; width: auto; min-width: 0; gap: 6.6px; }
.journey-top .journey-crest { width: 100.32px; height: 100.32px; }
.journey-top .journey-rank-name { font-size: 18.48px; color: var(--ink); }
.journey-arrow {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.journey-arrow .oa1 { display: inline-flex; align-items: center; }
.journey-arrow .oa1 svg { width: 15.84px; height: 21.12px; color: var(--royal); opacity: 0.28; margin-left: -9.24px; }
.journey-arrow .oa1 svg:first-child { margin-left: 0; }
.journey-arrow .oa1 svg:nth-child(2) { opacity: 0.55; }
@keyframes oaWave { 0%, 100% { opacity: 0.22; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .journey-arrow .oa1 svg:nth-child(1) { animation: oaWave 2.2s ease-in-out infinite; }
  .journey-arrow .oa1 svg:nth-child(2) { animation: oaWave 2.2s ease-in-out 0.3s infinite; }
  .journey-arrow .oa1 svg:nth-child(3) { animation: oaWave 2.2s ease-in-out 0.6s infinite; }
}
.journey-current {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6.6px;
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  border-radius: var(--r);
  padding: 15.84px 13.2px 18.48px;
}
.journey-current .journey-tier-label { color: var(--accent); }
.journey-current .journey-crest { width: 145.2px; height: 145.2px; }
.journey-current .journey-rank-name { font-size: 22.44px; color: var(--ink); }
body:not(.no-glow) .journey-current .journey-crest {
  filter: drop-shadow(0 7.92px 15.84px rgba(27, 31, 42, 0.25)) drop-shadow(0 0 18.48px color-mix(in srgb, var(--bar) 45%, transparent));
}
.journey-rank {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6.6px;
  width: 95.04px;
  text-align: center;
}
.journey-crest {
  width: 68.64px; height: 68.64px;
  object-fit: contain;
  filter: drop-shadow(0 6.6px 10.56px rgba(27, 31, 42, 0.22));
}
.journey-tier-label {
  font-family: var(--font-ui);
  font-size: 11.22px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.journey-rank-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15.84px;
  letter-spacing: -0.01em;
  color: var(--ink-soft);
  white-space: nowrap;
}
.journey-rank.is-current { width: 137.28px; }
.journey-rank.is-current .journey-tier-label { color: var(--accent); }
.journey-rank.is-current .crest-halo {
  position: relative;
  width: 121.44px; height: 121.44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body.no-glow .crest-halo::before { display: none; }
.journey-rank.is-current .crest-halo::before {
  content: '';
  position: absolute;
  inset: -15.84px;
  background: radial-gradient(circle, var(--tier-glow, rgba(232,178,58,0.35)) 0%, transparent 65%);
  opacity: 0.5;
}
.journey-rank.is-current .journey-crest {
  position: relative;
  width: 121.44px; height: 121.44px;
  filter: drop-shadow(0 13.2px 21.12px rgba(27, 31, 42, 0.30));
}
.journey-rank.is-current .journey-rank-name { font-size: 18.48px; color: var(--ink); }

.boost-progress { padding: 18.48px 21.12px 26.4px; }
.progress-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 13.2px;
  margin-bottom: 9.24px;
}
.progress-label {
  font-family: var(--font-ui);
  font-size: 11.22px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.progress-pct {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22.44px;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.progress-bar {
  height: 9.24px;
  border-radius: 3.96px;
  background: var(--bg-deep);
  border: 1.2px solid var(--line-soft);
  overflow: hidden;
}
.progress-fill {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 0%;
  border-radius: 3.96px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--bar) 75%, #fff) 0%, var(--bar) 100%);
  box-shadow: 0 0 9.6px color-mix(in srgb, var(--bar) 50%, transparent);
  transition: width 1.4s var(--ease-out);
}
.board-foot {
  margin-top: 44.88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 23.76px;
  flex-wrap: wrap;
}
.board-foot-note {
  font-family: var(--font-ui);
  font-size: 13.2px;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
  display: inline-flex;
  align-items: center;
  gap: 11.88px;
}
.board-foot-note svg { width: 17.16px; height: 17.16px; color: var(--accent); flex-shrink: 0; }
.board-foot-note em { font-style: normal; color: var(--ink-soft); font-weight: 600; }

/* ==================================================
   CONVENIENT & PRIVATE
   ================================================== */
.convenient { padding: 73.92px 31.68px 84.48px; background: var(--bg); }
.convenient-grid {
  max-width: 1452px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 73.92px;
  align-items: center;
}
@media (max-width: 1080px) { .convenient-grid { grid-template-columns: 1fr; gap: 47.52px; } }
.convenient-copy .section-lead { margin: 18.48px 0 39.6px; }
/* even rhythm: ~40px between blocks (lead/steps/button), ~26px between the two
   steps — the steps were cramped at 16px vs the 35-40px around them. */
.convenient-steps { display: flex; flex-direction: column; gap: 26.4px; margin-bottom: 39.6px; }
.conv-step { display: flex; align-items: flex-start; gap: 18.48px; }
.conv-step-num {
  font-family: var(--font-ui);
  font-size: 14.52px;
  font-weight: 700;
  color: var(--royal);
  background: var(--royal-tint);
  border: 1.2px solid var(--royal-soft);
  width: 36.96px; height: 36.96px;
  border-radius: 3.96px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.conv-step-name { font-size: 19.14px; font-weight: 600; color: var(--ink); }
.conv-step-sub { font-size: 17.16px; color: var(--ink-soft); margin-top: 2.64px; line-height: 1.55; }

.order-journey {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 29.04px;
  padding: 7.92px 0 23.76px;
  border-bottom: 1.2px dashed var(--line);
  margin-bottom: 18.48px;
}
.order-journey .journey-rank { width: auto; }
.order-journey .journey-crest { width: 81.84px; height: 81.84px; }
.order-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15.84px;
  padding: 11.88px 0;
  font-size: 17.16px;
  color: var(--ink-soft);
}
.order-row + .order-row { border-top: 1.2px solid var(--line-soft); }
.order-row b { color: var(--ink); font-weight: 600; }
.order-row.total { font-size: 18.48px; }
.order-row.total b { font-family: var(--font-display); font-size: 26.4px; font-weight: 700; }
.order-row .vip {
  font-family: var(--font-ui);
  font-size: 11.88px;
  font-weight: 700;
  letter-spacing: calc(0.12em * var(--tracking));
  color: var(--navy);
  background: var(--gold);
  border-radius: 2.64px;
  padding: 2.64px 7.92px;
  margin-left: 10.56px;
}

/* ==================================================
   WHAT WE PROVIDE
   ================================================== */
.provide {
  background:
    radial-gradient(1188px 686.4px at 100% 0%, rgba(255, 70, 85, 0.16), transparent 55%),
    linear-gradient(170deg, #16212e 0%, var(--navy) 55%, #11141c 100%);
  padding: 95.04px 31.68px 100.32px;
  color: #fff;
}
.provide-grid {
  max-width: 1742.4px;
  margin: 47.52px auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18.48px;
}
@media (max-width: 1080px) { .provide-grid { grid-template-columns: 1fr; } }
.provide-item {
  display: flex;
  align-items: flex-start;
  gap: 21.12px;
  background: rgba(255,255,255,0.06);
  border: 1.2px solid rgba(255,255,255,0.13);
  border-radius: var(--r);
  padding: 29.04px;
  transition: background 220ms ease, border-color 220ms ease, transform 220ms var(--ease-out), box-shadow 220ms ease;
}
.provide-item:hover {
  background: rgba(255,255,255,0.1);
  border-color: color-mix(in srgb, var(--gold) 45%, transparent);
  transform: translateY(-3.96px);
  box-shadow: 0 16.8px 36px -16.8px rgba(0, 0, 0, 0.4);
}
.provide-icon {
  width: 60.72px; height: 60.72px;
  border-radius: 13.2px;
  background: rgba(255,255,255,0.08);
  border: 1.2px solid rgba(255,255,255,0.16);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.provide-icon svg { width: 27.72px; height: 27.72px; }
.provide-item h3 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 23.76px;
  letter-spacing: -0.01em;
  margin-bottom: 7.92px;
}
.provide-item h3 em { font-style: normal; font-weight: 700; color: var(--gold); }
.provide-item p { font-size: 18.48px; line-height: 1.7; color: rgba(255,255,255,0.86); }

/* ==================================================
   FAQ
   ================================================== */
.faq { padding: 95.04px 31.68px; background: var(--bg-soft); }
.faq-grid {
  max-width: 1742.4px;
  margin: 39.6px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23.76px;
  align-items: start;
}
@media (max-width: 1080px) { .faq-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .faq-grid { grid-template-columns: 1fr; } }
/* display:contents promotes the 6 .faq-item out of their two .faq-col wrappers
   into the grid, so they lay out 3 per row (no markup change needed). */
.faq-col { display: contents; }
.faq-item {
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  transition: border-color 200ms ease, box-shadow 200ms ease;
}
.faq-item.is-open { border-color: var(--royal-soft); box-shadow: var(--shadow-soft); }
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18.48px;
  padding: 21.12px 23.76px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-body);
  font-size: 18.48px;
  font-weight: 600;
  color: var(--ink);
}
.faq-q:hover { color: var(--royal); }
.faq-q .faq-toggle {
  width: 36.96px; height: 36.96px;
  border-radius: 5.28px;
  border: 1.2px solid var(--royal-soft);
  background: var(--royal-tint);
  color: var(--royal);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 320ms var(--ease-out), background 220ms ease, color 220ms ease;
}
.faq-q .faq-toggle svg { width: 18.48px; height: 18.48px; }
.faq-item.is-open .faq-toggle { transform: rotate(180deg); background: var(--royal); color: #fff; }
.faq-a {
  display: block;
  overflow: hidden;
  max-height: 0;
  padding: 0 23.76px;
  opacity: 0;
  font-size: 17.82px;
  line-height: 1.7;
  color: var(--ink-soft);
  transition: max-height 380ms var(--ease-out), padding 380ms var(--ease-out), opacity 260ms ease;
}
.faq-item.is-open .faq-a { max-height: 554.4px; padding: 0 23.76px 22.44px; opacity: 1; }

/* ==================================================
   REVIEWS
   ================================================== */
.reviews { padding: 95.04px 31.68px; background: var(--bg); border-top: 1.2px solid var(--line-soft); }
.reviews-grid {
  max-width: 1742.4px;
  margin: 39.6px auto 0;
  display: grid;
  grid-template-columns: minmax(264px, 0.26fr) 1fr auto;
  gap: 23.76px;
  align-items: stretch;
}
@media (max-width: 1320px) { .reviews-grid { grid-template-columns: 1fr; } }
@media (max-width: 744px)  { .reviews-grid { grid-template-columns: 1fr; } }
.review-sum {
  background: linear-gradient(160deg, #ff6470 0%, #e23d4b 100%);
  border-radius: var(--r);
  color: #fff;
  padding: 31.68px 29.04px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  align-self: stretch;
  justify-content: center;
  gap: 21.12px;
}
.review-sum > div:first-child { display: flex; flex-direction: column; align-items: center; gap: 9.24px; }
.review-sum-score {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 60.72px;
  letter-spacing: -0.03em;
  line-height: 1;
}
.review-sum-score small { font-size: 29.04px; font-weight: 500; color: rgba(255,255,255,0.6); }
.review-sum .hero-stars svg { width: 19.8px; height: 19.8px; }
.review-sum-meta {
  font-family: var(--font-ui);
  font-size: 13.86px;
  letter-spacing: calc(0.12em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.95);
  line-height: 1.95;
}
.review-sum-meta em { font-style: normal; color: #fff; font-weight: 700; }
.review-card {
  background: #fff;
  border: 1.2px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow-soft);
  padding: 29.04px;
  display: flex;
  flex-direction: column;
  gap: 13.2px;
}
.review-card .hero-stars { color: var(--gold-deep); }
.review-card .hero-stars svg { width: 18.48px; height: 18.48px; }
.review-title { font-family: var(--font-display); font-weight: 700; font-size: 21.12px; }
.review-body { font-size: 17.82px; line-height: 1.65; color: var(--ink-soft); flex: 1; letter-spacing: -0.01em; }
.review-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 13.2px;
  font-family: var(--font-ui);
  font-size: 12.54px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: var(--ink-muted);
}
.review-meta b { color: var(--ink-soft); font-weight: 600; }
.review-verified { display: inline-flex; align-items: center; gap: 6.6px; color: var(--green); }
.review-verified svg { width: 14.52px; height: 14.52px; }

/* ==================================================
   START TODAY
   ================================================== */
.start { padding: 95.04px 31.68px; background: var(--bg-soft); border-top: 1.2px solid var(--line-soft); text-align: center; }
.start .section-eyebrow { justify-content: center; }
.start .section-title { margin-bottom: 18.48px; }
.start .section-lead { max-width: 818.4px; margin: 0 auto 42.24px; text-align: center; }
.start-btns { display: flex; flex-direction: column; align-items: center; gap: 15.84px; max-width: 1003.2px; margin: 0 auto; }
.start-btns .btn { flex: 0 0 auto; }
.start-btns .btn-prod {
  color: #fff;
  border: none;
}
.start-btns .btn-prod svg { width: 17.16px; height: 17.16px; }
.start-btns .btn-prod.p1 { background: linear-gradient(135deg, #2cc468 0%, #168a44 100%); }
.start-btns .btn-prod.p2 { background: linear-gradient(135deg, #ff5663 0%, var(--royal-deep) 100%); }
.start-btns .btn-prod.p3 { background: linear-gradient(135deg, #8d6ce0 0%, #5a3cb0 100%); }
.start-btns .btn-prod.p4 { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%); color: var(--navy); }
.start-btns .btn-prod:hover { transform: translateY(-2.64px); filter: brightness(1.05); box-shadow: var(--shadow-pop); }
.start-btns .start-row { display: flex; align-items: center; justify-content: center; gap: 13.2px; flex-wrap: wrap; width: 100%; }
.start-btns .start-row-secondary { padding-top: 5.28px; margin-top: 2.64px; }

/* ==================================================
   BLOG
   ================================================== */
.blog { background: radial-gradient(1056px 554.4px at 100% -10%, rgba(255, 70, 85, 0.14), transparent 55%), linear-gradient(180deg, #16212e 0%, var(--navy) 100%); padding: 95.04px 31.68px 68.64px; color: #fff; }
.blog-grid {
  max-width: 1742.4px;
  margin: 42.24px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 21.12px;
}
@media (max-width: 1200px) { .blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 744px)  { .blog-grid { grid-template-columns: 1fr; } }
.blog-card {
  background: rgba(7, 23, 48, 0.45);
  border: 1.2px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--r);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 260ms var(--ease-out), border-color 260ms ease, background 260ms ease;
}
.blog-card:hover { border-color: rgba(255, 255, 255, 0.28); background: rgba(7, 23, 48, 0.62); }
.blog-card image-slot { width: 100%; height: 224.4px; display: block; }
.blog-card-body { padding: 21.12px 23.76px 23.76px; display: flex; flex-direction: column; gap: 10.56px; flex: 1; }
.blog-cat {
  font-family: var(--font-ui);
  font-size: 11.88px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
}
.blog-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 21.78px;
  letter-spacing: -0.01em;
  line-height: 1.3;
  color: #fff;
  flex: 1;
}
.blog-meta {
  font-family: var(--font-ui);
  font-size: 12.54px;
  letter-spacing: calc(0.1em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
}

/* ==================================================
   FOOTER
   ================================================== */
.site-footer { background: #070c12; border-top: 3.6px solid var(--gold); color: rgba(255,255,255,0.75); padding: 79.2px 31.68px 39.6px; }
.footer-grid {
  max-width: 1742.4px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
  gap: 47.52px;
  padding-bottom: 52.8px;
  border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
@media (max-width: 1200px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 672px)  { .footer-grid { grid-template-columns: 1fr; } }
.footer-brand .nav-brand { color: #fff; margin-bottom: 18.48px; }
.footer-brand .nav-brand small { color: rgba(255,255,255,0.45); }
.footer-brand p { font-size: 17.16px; line-height: 1.7; color: rgba(255,255,255,0.55); max-width: 369.6px; margin-bottom: 23.76px; }
.footer-social { display: flex; gap: 10.56px; }
.footer-social a {
  width: 42.24px; height: 42.24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.2px solid rgba(255,255,255,0.15);
  border-radius: 3.96px;
  color: rgba(255,255,255,0.7);
  transition: background 200ms ease, color 200ms ease, border-color 200ms ease;
}
.footer-social a:hover { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.footer-social a svg { width: 18.48px; height: 18.48px; }
.footer-col h4 {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.18em * var(--tracking));
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 21.12px;
}
.footer-col { display: flex; flex-direction: column; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 11.88px; }
.footer-col a { font-size: 17.16px; color: rgba(255,255,255,0.65); transition: color 180ms ease; }
.footer-col a:hover { color: #fff; }

.footer-pay {
  max-width: 1742.4px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 21.12px;
  flex-wrap: wrap;
  padding: 0 0 29.04px;
  border-bottom: 1.2px solid rgba(255,255,255,0.1);
}
.footer-pay-label {
  font-family: var(--font-ui);
  font-size: 12.54px;
  letter-spacing: calc(0.16em * var(--tracking));
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}
.pay-chips { display: flex; gap: 10.56px; flex-wrap: wrap; }
.pay-chip {
  font-family: var(--font-ui);
  font-size: 13.2px;
  font-weight: 600;
  letter-spacing: calc(0.08em * var(--tracking));
  color: rgba(255,255,255,0.75);
  border: 1.2px solid rgba(255,255,255,0.15);
  border-radius: 2.64px;
  padding: 6.6px 13.2px;
}
.footer-bottom {
  max-width: 1742.4px;
  margin: 0 auto;
  padding-top: 29.04px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 21.12px;
  flex-wrap: wrap;
  font-size: 15.18px;
  color: rgba(255,255,255,0.4);
  line-height: 1.7;
}
.footer-disclaimer { max-width: 686.4px; }

/* ==================================================
   REVEAL (frozen-clock safe)
   ================================================== */
@media (prefers-reduced-motion: no-preference) {
  .rv.pre-reveal { opacity: 0; transform: scale(0.985); }
  .rv.is-in { opacity: 1; transform: none; transition: opacity 650ms var(--ease-out), transform 650ms var(--ease-out); }
}
.rv.is-forced {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.rv.is-forced .progress-fill { transition: none !important; }
.boost-card.is-in { transition: opacity 650ms var(--ease-out), transform 650ms var(--ease-out), border-color 320ms ease, box-shadow 320ms ease; }


/* ==================================================
   ADDENDA · emoji chips, icon motion
   ================================================== */
.champ-emoji {
  width: 50.16px; height: 50.16px;
  border-radius: 3.96px;
  flex-shrink: 0;
  border: 1.2px solid var(--line);
  background: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 25.08px;
  line-height: 1;
}

/* unique per-icon animations — removed per review; progress stripes kept */
@keyframes stripes   { from { background-position: 0 0; } to { background-position: 29.832px 0; } }
@media (prefers-reduced-motion: no-preference) {
  .progress-fill::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(45deg, rgba(255,255,255,0.35) 0 10.56px, transparent 10.56px 21.12px);
    animation: stripes 0.9s linear infinite;
  }
}

/* footer payments-first layout */
.footer-grid { padding-top: 42.24px; }


/* floating payment emblem (original site treatment) */
.order-emblem {
  position: absolute;
  top: -81.84px;
  left: 50%;
  width: 182.16px;
  height: 182.16px;
  object-fit: contain;
  z-index: 3;
  pointer-events: none;
  transform: translateX(-50%);
  filter: drop-shadow(0 23.76px 34.32px rgba(27, 31, 42, 0.35));
}
@media (prefers-reduced-motion: no-preference) {
  .order-emblem { animation: emblem-float 4.2s ease-in-out infinite; }
}
@keyframes emblem-float {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(-13.2px); }
}

/* Trustpilot-style stars */
.tp-stars { display: inline-flex; gap: 3.96px; }
.tp-star {
  width: 31.68px;
  height: 31.68px;
  background: #00b67a;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.tp-star svg { width: 18.48px; height: 18.48px; color: #fff; }
.review-card .tp-star { width: 26.4px; height: 26.4px; }
.review-card .tp-star svg { width: 15.84px; height: 15.84px; }




/* ==================================================
   REWORK v2 · Lighter rank board + white cards
   ================================================== */
.board {
  background:
    radial-gradient(1320px 607.2px at 50% -12%, rgba(255, 70, 85, 0.10) 0%, transparent 60%),
    radial-gradient(897.6px 501.6px at 100% 112%, color-mix(in srgb, var(--gold) 16%, transparent), transparent 55%),
    linear-gradient(180deg, #fbfdff 0%, var(--bg-soft) 100%);
  border: 1.2px solid var(--line);
}
.board .board-count { background: #fff; }

/* ==================================================
   Start today buttons — use the shared site button styles
   ================================================== */
.start-btns { gap: 15.84px; }

/* ==================================================
   REWORK v2 · White rank cards (rebuilt)
   ================================================== */
.boost-card { padding: 0; background: #fff; border: 1.2px solid var(--line); }
.boost-card:hover {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line));
  box-shadow: var(--shadow-pop);
  transform: translateY(-2.64px);
}
.bc-head {
  display: flex; align-items: center; justify-content: space-between; gap: 13.2px;
  padding: 17.16px 19.8px; border-bottom: 1.2px solid var(--line-soft); background: #fbfdff;
}
.bc-champ { display: flex; align-items: center; gap: 13.2px; min-width: 0; }
.bc-emoji {
  width: 44.88px; height: 44.88px; border-radius: 11.88px; flex-shrink: 0;
  background: var(--royal-tint); border: 1.2px solid var(--royal-soft);
  display: inline-flex; align-items: center; justify-content: center; font-size: 22.44px;
}
.bc-champ-text { display: flex; flex-direction: column; min-width: 0; gap: 1.32px; }
.bc-ey { font-family: var(--font-ui); font-size: 10.56px; font-weight: 600; letter-spacing: calc(0.18em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.bc-champ-name { font-family: var(--font-display); font-weight: 700; font-size: 19.8px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bc-live {
  display: inline-flex; align-items: center; gap: 7.92px; flex-shrink: 0;
  font-family: var(--font-ui); font-size: 11.22px; font-weight: 700; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase;
  color: var(--green); background: color-mix(in srgb, var(--green) 11%, #fff);
  border: 1.2px solid color-mix(in srgb, var(--green) 28%, #fff);
  padding: 6.6px 11.88px; border-radius: 1318.68px;
}
.bc-live-dot { width: 7.92px; height: 7.92px; border-radius: 50%; background: var(--green); }
@media (prefers-reduced-motion: no-preference) { .bc-live-dot { animation: live-pulse 1.9s ease-out infinite; } }
@keyframes live-pulse {
  0%   { box-shadow: 0 0 0 0 color-mix(in srgb, var(--green) 55%, transparent); }
  70%  { box-shadow: 0 0 0 8.4px transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}
.bc-ranks {
  position: relative;
  display: flex; align-items: center; justify-content: center; gap: 7.92px;
  padding: 39.6px 15.84px 31.68px;
  background: radial-gradient(130% 95% at 50% 0%, var(--royal-tint) 0%, transparent 72%);
  overflow: hidden;
}
.bc-rank { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 9.24px; flex: 1; min-width: 0; }
.bc-crest { width: 166.32px; height: 166.32px; object-fit: contain; filter: drop-shadow(0 13.2px 21.12px rgba(27, 31, 42, 0.24)); transition: transform 300ms var(--ease-out); }
.boost-card:hover .bc-rank-target .bc-crest { transform: translateY(-5.28px) scale(1.04); }
.bc-rank-name { font-family: var(--font-display); font-weight: 700; font-size: 22.44px; color: var(--ink); white-space: nowrap; }
.bc-rank-tag { font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.18em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.bc-rank-target .bc-rank-name { color: var(--accent); }
body:not(.no-glow) .bc-ranks .bc-crest {
  filter: drop-shadow(0 13.2px 21.12px rgba(27, 31, 42, 0.24)) drop-shadow(0 0 23.76px color-mix(in srgb, var(--bar) 55%, transparent));
}
.bc-arrow {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  color: var(--royal);
  transform: translateY(-29.04px);
  position: relative;
  z-index: 1;
}
.bc-arrow svg { width: 29.04px; height: 29.04px; margin: 0 -7.92px; }
.bc-arrow svg:nth-child(1) { opacity: 0.3; }
.bc-arrow svg:nth-child(2) { opacity: 0.55; }
.bc-arrow svg:nth-child(3) { opacity: 0.85; }
@media (prefers-reduced-motion: no-preference) {
  .bc-arrow svg { animation: chev-pulse 1.25s ease-in-out infinite; }
  .bc-arrow svg:nth-child(1) { animation-delay: 0s; }
  .bc-arrow svg:nth-child(2) { animation-delay: 0.16s; }
  .bc-arrow svg:nth-child(3) { animation-delay: 0.32s; }
}
@keyframes chev-pulse {
  0%, 100% { opacity: 0.25; transform: translateX(-2.64px); }
  50%      { opacity: 1; transform: translateX(2.64px); }
}
.bc-time {
  display: inline-flex; align-items: center; gap: 7.92px; flex-shrink: 0;
  line-height: 1;
  font-family: var(--font-ui); font-size: 12.54px; font-weight: 600; letter-spacing: calc(0.06em * var(--tracking)); text-transform: uppercase;
  color: var(--ink-soft); background: #fff; border: 1.2px solid var(--line); border-radius: 1318.68px; padding: 6.6px 14.52px;
}
.bc-time svg { width: 15.84px; height: 15.84px; color: var(--ink-muted); flex-shrink: 0; }
.bc-time em { font-style: normal; color: var(--accent); padding: 0 2.64px; }

/* card duo display */
.bc-emoji-duo { position: relative; width: 58.08px; height: 44.88px; flex-shrink: 0; }
.bc-emoji-duo .bc-emoji { position: absolute; top: 0; width: 36.96px; height: 36.96px; font-size: 18.48px; }
.bc-emoji-duo .bc-emoji:nth-child(1) { left: 0; z-index: 2; }
.bc-emoji-duo .bc-emoji:nth-child(2) { right: 0; top: 7.92px; z-index: 1; background: color-mix(in srgb, var(--gold) 16%, #fff); border-color: color-mix(in srgb, var(--gold-deep) 45%, #fff); }
.boost-card-duo { position: relative; }
.bc-duo-flag {
  position: absolute; top: 13.2px; right: 15.84px; z-index: 3;
  font-family: var(--font-ui); font-size: 10.56px; font-weight: 700; letter-spacing: calc(0.16em * var(--tracking)); text-transform: uppercase;
  color: var(--navy); background: linear-gradient(135deg, var(--gold) 0%, var(--gold-deep) 100%);
  border-radius: 1318.68px; padding: 5.28px 11.88px; line-height: 1;
  box-shadow: 0 3.6px 10.8px -3.6px color-mix(in srgb, var(--gold-deep) 70%, transparent);
}
.boost-card-duo .bc-time { display: none; }
.boost-card-duo .bc-head { padding-right: 73.92px; }
.bc-foot { padding: 0 21.12px 21.12px; margin-top: auto; }
.bc-prog-meta { display: flex; align-items: baseline; justify-content: space-between; gap: 13.2px; margin-bottom: 9.24px; }
.bc-prog-cur { font-family: var(--font-ui); font-size: 11.88px; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted); }
.bc-prog-cur b { color: var(--ink-soft); font-weight: 700; }
.bc-pct { font-family: var(--font-display); font-weight: 700; font-size: 21.12px; color: var(--ink); font-variant-numeric: tabular-nums; }
.bc-window {
  display: block; margin-top: 14.52px; text-align: center;
  font-family: var(--font-ui); font-size: 11.88px; letter-spacing: calc(0.1em * var(--tracking)); text-transform: uppercase; color: var(--ink-muted);
}
.bc-window em { font-style: normal; color: var(--accent); padding: 0 5.28px; }

/* ==================================================
   CONVENIENT · Lottie dashboard animation (parent faq.json via [bt_lottie])
   main.css is stripped on F3, so .lottie carries no inherited sizing — give the
   container an explicit box; the lottie-web SVG fills it (inline width/height 100%).
   ================================================== */
.conv-visual { width: 100%; }
.conv-visual .lottie { display: block; width: 100%; aspect-ratio: 750 / 500; }
.conv-visual .lottie svg { display: block; }
@media (max-width: 1080px) { .conv-visual { max-width: 616px; margin: 0 auto; } }

/* ==================================================
   REWORK v2 · Option card extras (flags, tags, sheen)
   ================================================== */
.option-body { z-index: 3; }
.option-flag {
  position: absolute; top: 21.12px; left: 21.12px; z-index: 3;
  display: inline-flex; align-items: center; gap: 7.92px;
  font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.12em * var(--tracking)); text-transform: uppercase;
  color: #fff; background: rgba(8, 20, 40, 0.5); -webkit-backdrop-filter: blur(7.92px); backdrop-filter: blur(7.92px);
  border: 1.2px solid rgba(255, 255, 255, 0.18); border-radius: 7.92px; padding: 9.24px 15.84px;
}
.option-flag svg { width: 15.84px; height: 15.84px; color: var(--gold); }
.option-tags { display: flex; flex-wrap: wrap; gap: 9.24px; margin-top: 2.64px; }
.option-tag {
  font-family: var(--font-ui); font-size: 11.88px; font-weight: 700; letter-spacing: calc(0.08em * var(--tracking)); text-transform: uppercase;
  color: #fff; background: rgba(6, 16, 34, 0.72); -webkit-backdrop-filter: blur(9.24px); backdrop-filter: blur(9.24px);
  border: 1.2px solid rgba(255, 255, 255, 0.26);
  border-radius: 7.92px; padding: 6.6px 14.52px;
  text-shadow: 0 1.2px 4.8px rgba(0, 0, 0, 0.6);
}
/* edge-only defocus (A4): blur ~the outer 18% of the LEFT / BOTTOM / RIGHT of the
   card art, leaving the center sharp. backdrop-filter softens whatever is painted
   behind (the art + dark overlay); the 3 edge gradients mask it to the edges only.
   z-index 1 keeps it below the body text (z-index 2). */
.option-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  -webkit-mask-image:
    linear-gradient(to right, #000 0%, #000 15%, transparent 33%),
    linear-gradient(to left,  #000 0%, #000 15%, transparent 33%),
    linear-gradient(to top,   #000 0%, #000 15%, transparent 33%);
  mask-image:
    linear-gradient(to right, #000 0%, #000 15%, transparent 33%),
    linear-gradient(to left,  #000 0%, #000 15%, transparent 33%),
    linear-gradient(to top,   #000 0%, #000 15%, transparent 33%);
  -webkit-mask-composite: source-over;
  mask-composite: add;
}
.option-card { transition: box-shadow 260ms var(--ease-out), transform 260ms var(--ease-out); }
.option-card:hover { box-shadow: inset 0 0 0 3.6px var(--gold), var(--shadow-pop); }
.option-card:hover .option-art { transform: scale(1.06); }
/* shadow the overlaid card text for contrast against the art (A1) */
.option-title, .option-copy, .option-kicker, .option-price { text-shadow: 0 1.2px 10px rgba(5, 15, 34, 0.55); }

/* ==================================================
   REWORK v2 · Reviews carousel
   ================================================== */
.reviews-head-actions { display: inline-flex; align-items: center; gap: 15.84px; }
/* arrows now live in the 3rd grid column, beside the cards on the right and
   vertically centred with them (no longer in the section head above). */
.reviews-arrows { display: inline-flex; gap: 10.56px; align-self: center; justify-self: center; }
.rev-arrow {
  width: 52.8px; height: 52.8px; border-radius: 50%; border: 1.2px solid var(--royal-soft); background: var(--royal-tint); color: var(--royal);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: var(--shadow-soft);
  transition: background 180ms ease, border-color 180ms ease, transform 180ms ease, opacity 180ms ease;
}
.rev-arrow:hover { background: var(--royal-tint); border-color: var(--royal-soft); transform: translateY(-1.32px); }
.rev-arrow:disabled { opacity: 0.35; cursor: default; transform: none; }
.rev-arrow svg { width: 21.12px; height: 21.12px; }
.rev-arrow.prev svg { transform: rotate(180deg); }
.reviews-viewport { overflow: hidden; padding: 15.4px 26.4px 44px; margin: -15.4px -26.4px -44px; }
.reviews-track { display: flex; gap: 18.48px; transition: transform 480ms var(--ease-out); will-change: transform; }
.reviews-track .review-card { flex: 0 0 calc((100% - 36.96px) / 3); }
@media (max-width: 912px) { .reviews-track .review-card { flex: 0 0 calc((100% - 18.48px) / 2); } }
@media (max-width: 624px) { .reviews-track .review-card { flex: 0 0 100%; } }
/* Only at the wide (side-by-side) layout: make the carousel track + cards fill the
   row height so they match the red summary box. min-width:0 lets the track honour
   its flex-basis instead of expanding to the full card list. Below 1320 the layout
   stacks, so the carousel keeps its normal (content-height) cards. */
@media (min-width: 1321px) {
  .reviews-viewport { display: flex; align-items: stretch; }
  .reviews-track { flex: 0 0 100%; min-width: 0; }
}

/* ==================================================
   REWORK v2 · Blog pagination
   ================================================== */
.blog-totop { max-width: 1742.4px; margin: 21.12px auto 0; display: flex; justify-content: center; }
.blog-totop-btn {
  display: inline-flex; align-items: center; gap: 10.56px;
  font-family: var(--font-ui); font-size: 13.2px; font-weight: 600; letter-spacing: calc(0.14em * var(--tracking)); text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  padding: 11.88px 21.12px; border-radius: 1318.68px;
  border: 1.2px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.05);
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease;
}
.blog-totop-btn:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.32); color: #fff; transform: translateY(-2.64px); }
.blog-totop-btn .totop-ico { width: 18.48px; height: 18.48px; transform: rotate(180deg); }
.blog-page-btn {
  min-width: 52.8px; height: 52.8px; padding: 0 17.16px; border-radius: 13.2px;
  border: 1.2px solid rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.05); color: rgba(255, 255, 255, 0.82);
  font-family: var(--font-ui); font-size: 15.84px; font-weight: 600; letter-spacing: calc(0.04em * var(--tracking));
  display: inline-flex; align-items: center; justify-content: center; gap: 9.24px; cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.blog-page-btn:hover:not(:disabled) { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); transform: translateY(-1.32px); }
.blog-page-btn.is-active { background: var(--gold); border-color: var(--gold); color: var(--navy); }
.blog-page-btn:disabled { opacity: 0.32; cursor: default; }
.blog-page-btn svg { width: 19.8px; height: 19.8px; }
.blog-page-btn.prev svg { transform: rotate(180deg); }

/* ============================================================
   VALBOOSTING ADDITIONS — not in the EBL F3 design source.
   Brand mark recolor + the mobile nav-drawer that the shared
   valboosting chrome markup (header preview part) ships.
   ============================================================ */

/* Logo square + "Hot" pill: design used --orange; Val brand is red */
.nav-brand-mark { background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); box-shadow: 0 4.8px 12px -4.8px rgba(255, 70, 85, 0.5); }
.nav-hot { background: linear-gradient(135deg, var(--royal) 0%, var(--royal-deep) 100%); box-shadow: 0 3.6px 10.8px -2.4px rgba(255, 70, 85, 0.6); }

/* Mobile nav drawer (off-canvas). Hidden on all viewports until .open. */
.nav-drawer-backdrop { position: fixed; inset: 0; z-index: 200; background: rgba(27, 31, 42, 0.55); -webkit-backdrop-filter: blur(2.64px); backdrop-filter: blur(2.64px); opacity: 0; transition: opacity 240ms ease; }
.nav-drawer-backdrop.open { opacity: 1; }
.nav-drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 210; width: min(475.2px, 86vw); display: flex; flex-direction: column; background: #fff; border-left: 1.2px solid var(--line); box-shadow: -24px 0 72px -24px rgba(27, 31, 42, 0.4); transform: translateX(101%); transition: transform 300ms var(--ease-out); }
.nav-drawer.open { transform: translateX(0); }
.nav-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 21.12px 23.76px; border-bottom: 1.2px solid var(--line); }
.nav-drawer-close { width: 47.52px; height: 47.52px; display: inline-flex; align-items: center; justify-content: center; border: 1.2px solid var(--line); border-radius: 10.56px; background: var(--bg); color: var(--ink); cursor: pointer; }
.nav-drawer-close svg { width: 23.76px; height: 23.76px; }
.nav-drawer-links { display: flex; flex-direction: column; padding: 15.84px; gap: 2.64px; }
.nav-drawer-links .nav-link { font-size: 19.8px; padding: 17.16px 18.48px; }
.nav-drawer-foot { margin-top: auto; padding: 21.12px; border-top: 1.2px solid var(--line); }
.nav-drawer-foot .btn { width: 100%; justify-content: center; }
body.drawer-open { overflow: hidden; }

/* Blog thumbnails: design used <image-slot>; we render a gradient tile. */
.blog-card .blog-thumb { display: block; width: 100%; aspect-ratio: 16 / 10; background-size: cover; background-position: center; }

/* Mobile header fit: after the +20% scale the brand + 3 action buttons no
   longer fit a phone width. On small screens drop the bell/chat icons
   (the hamburger stays) and tighten nav padding so nothing overflows. */
@media (max-width: 600px) {
  .main-nav { padding: 10.56px 17.6px; gap: 13.2px; }
  .nav-actions { gap: 8.8px; }
  .nav-actions .nav-icon-btn { display: none; }
}

/* ==================================================
   FONT HIERARCHY CORRECTION
   --------------------------------------------------
   League (--font-display) is the big-impact DISPLAY face only: hero + section
   headings and numeric stats (prices, %, ratings, LP, counts). It reads too
   heavy/condensed for small titles, names, subtitles and reading text, so those
   take Barlow (--font-body). Appended last so it overrides the per-element
   --font-display declarations above at equal specificity. Kept in League:
   .section-title, .hero h1, .tile-name, .option-title + every number.
   ================================================== */
.section-lead,
.hero-lead,
.brand-service-text b,
.boost-champ,
.journey-rank-name,
.provide-item h3,
.review-title,
.blog-title,
.bc-champ-name,
.bc-rank-name {
  font-family: var(--font-body);
}
