/*!
 * BlockTicker v2 — Homepage / Landing Page CSS
 * Requires bt-tokens.css and bt-v2.css loaded first.
 *
 * Sections:
 *   §1  Hero section (landing)
 *   §2  AI Desk panel (right side of hero)
 *   §3  Sources strip
 *   §4  Section header shared
 *   §5  Markets table (.mkts / .tbl)
 *   §6  Live signals cards (.ls)
 *   §7  Four steps (.steps)
 *   §8  Story panels (.story)
 *   §9  Transparency / sources & scoring (.trans)
 *   §10 AI tools grid (.ai-tools)
 *   §11 Pricing tiers (.pt)
 *   §12 CTA section (.cta)
 *   §13 Responsive
 */

/* ============================================================
   §1  HERO — LANDING
   ============================================================ */

body.btv2 .hero {
  position: relative;
  padding: 60px 0 100px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}

body.btv2 .hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 600px at 88% 10%, rgba(247,147,26,.12), transparent 55%),
    radial-gradient(700px 500px at 10% 80%, rgba(184,255,60,.06), transparent 60%);
  pointer-events: none;
}

body.btv2 .hero::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .4;
  background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,.05) 1px, transparent 0);
  background-size: 24px 24px;
  mask-image: linear-gradient(180deg, transparent 0%, black 25%, black 75%, transparent 100%);
  pointer-events: none;
}

body.btv2 .hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 12px 5px 5px;
  border-radius: 999px;
  border: 1px solid rgba(184,255,60,.2);
  background: rgba(184,255,60,.05);
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--neon);
  position: relative;
  z-index: 1;
}

body.btv2 .hero__eyebrow .pill {
  background: var(--neon);
  color: #0a0a0a;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .04em;
  font-size: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

body.btv2 .hero__eyebrow .pill::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #0a0a0a;
  animation: btv2-pulse 1.2s ease-in-out infinite;
}

body.btv2 .hero__grid {
  margin-top: 28px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: start;
  position: relative;
  z-index: 1;
}

body.btv2 .hero__copy h1 {
  font-size: clamp(46px,5.8vw,84px);
  line-height: .98;
  letter-spacing: -.035em;
  font-weight: 500;
  max-width: 14ch;
}

body.btv2 .hero__copy h1 em {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--btc-soft);
  letter-spacing: -.01em;
}

body.btv2 .hero__copy h1 .strike {
  color: var(--txt-3);
  text-decoration: line-through;
  text-decoration-color: rgba(255,255,255,.2);
  font-weight: 400;
}

body.btv2 .hero__lede {
  margin-top: 28px;
  max-width: 50ch;
  font-size: 18px;
  color: var(--txt-2);
  line-height: 1.5;
}
body.btv2 .hero__lede b { color: var(--txt); font-weight: 500; }

body.btv2 .hero__ctas { margin-top: 32px; display: flex; gap: 10px; flex-wrap: wrap; }

body.btv2 .hero__stats {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
  border-top: 1px solid var(--line);
  padding-top: 24px;
}

body.btv2 .hero__stat { padding-right: 24px; position: relative; }
body.btv2 .hero__stat + .hero__stat { padding-left: 24px; border-left: 1px solid var(--line); }

body.btv2 .hero__stat dt {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--txt-3);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

body.btv2 .hero__stat dd {
  font-family: var(--font-mono);
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -.02em;
  color: var(--txt);
}

body.btv2 .hero__stat dd small {
  font-family: var(--font-ui);
  font-size: 11.5px;
  color: var(--txt-3);
  margin-left: 6px;
  font-weight: 400;
}

body.btv2 .hero__stat dd.neon { color: var(--neon); }

/* ============================================================
   §2  AI DESK PANEL (hero right)
   ============================================================ */

body.btv2 .desk {
  background:
    linear-gradient(180deg, rgba(184,255,60,.05), transparent 30%),
    var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}

body.btv2 .desk__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px 14px;
  border-bottom: 1px solid var(--line);
}

body.btv2 .desk__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--neon);
}

body.btv2 .desk__title-mark {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: linear-gradient(135deg,var(--neon),#7dff00);
  display: grid;
  place-items: center;
  color: #0a0a0a;
  font-weight: 800;
  font-size: 11px;
}

body.btv2 .desk__status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--txt-3);
  letter-spacing: .04em;
}

body.btv2 .desk__status .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--up);
  box-shadow: 0 0 8px var(--up);
  animation: btv2-pulse 1.6s ease-in-out infinite;
}

/* Regime rows */
body.btv2 .regime { display: grid; grid-template-columns: 1.2fr 1fr; gap: 14px; margin-top: 18px; }

body.btv2 .regime__card {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-1);
  padding: 14px;
  position: relative;
  overflow: hidden;
}

body.btv2 .regime__lbl {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--txt-3);
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.btv2 .regime__val {
  font-size: 22px;
  font-weight: 500;
  margin-top: 8px;
  letter-spacing: -.01em;
}

body.btv2 .regime__val em {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--btc-soft);
}

body.btv2 .regime__sub {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  margin-top: 4px;
}

body.btv2 .conf-gauge {
  margin-top: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
}

body.btv2 .conf-gauge .bar { flex: 1; height: 4px; background: var(--bg-2); border-radius: 2px; overflow: hidden; }
body.btv2 .conf-gauge .bar i { display: block; height: 100%; background: var(--warn); border-radius: 2px; }
body.btv2 .conf-gauge b { color: var(--warn); font-size: 13px; }

/* Pulse rows */
body.btv2 .pulse { margin-top: 18px; }

body.btv2 .pulse__h {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--txt-3);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

body.btv2 .pulse__h span:last-child {
  color: var(--neon);
  display: flex;
  align-items: center;
  gap: 6px;
}

body.btv2 .pulse__h span:last-child::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--neon);
  box-shadow: 0 0 6px var(--neon);
  animation: btv2-pulse 1.4s ease-in-out infinite;
}

body.btv2 .pulse__row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--bg-1);
  margin-bottom: 6px;
  font-family: var(--font-mono);
  font-size: 13px;
  transition: .15s border-color;
}

body.btv2 .pulse__row:hover { border-color: var(--line-2); }

body.btv2 .pulse__logo {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #0a0a0a;
  font-size: 13px;
}

body.btv2 .pulse__logo--btc { background: linear-gradient(135deg,var(--btc),#ff7c1a); }
body.btv2 .pulse__logo--eth { background: linear-gradient(135deg,#627eea,#3c5ad1); color: #fff; }
body.btv2 .pulse__logo--sol { background: linear-gradient(135deg,#14F195,#9945FF); color: #fff; }

body.btv2 .pulse__sym b    { color: var(--txt); font-weight: 600; font-size: 13px; }
body.btv2 .pulse__sym small { display: block; color: var(--txt-3); font-size: 10.5px; font-family: var(--font-ui); }

body.btv2 .pulse__spark  { width: 80px; height: 24px; }
body.btv2 .pulse__price  { color: var(--txt); font-weight: 500; }
body.btv2 .pulse__chg    { font-size: 11.5px; font-weight: 500; padding: 3px 7px; border-radius: 6px; }
body.btv2 .pulse__chg--up { color: var(--up); background: rgba(22,199,132,.08); }
body.btv2 .pulse__chg--dn { color: var(--down); background: rgba(234,57,67,.08); }

body.btv2 .desk__foot {
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg-1);
  padding: 12px 14px;
}

body.btv2 .desk__foot b { color: var(--txt-2); }
body.btv2 .desk__foot a { color: var(--btc); display: flex; align-items: center; gap: 4px; transition: .15s gap; }
body.btv2 .desk__foot a:hover { gap: 8px; }

/* ============================================================
   §3  SOURCES STRIP
   ============================================================ */

body.btv2 .sources {
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
  background: var(--bg-1);
}

body.btv2 .sources__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

body.btv2 .sources__lbl {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  letter-spacing: .14em;
  text-transform: uppercase;
  flex-shrink: 0;
  padding-right: 32px;
  border-right: 1px solid var(--line);
}

body.btv2 .sources__list { display: flex; gap: 32px; flex-wrap: wrap; flex: 1; }

body.btv2 .sources__list span {
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--txt-2);
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: -.01em;
}

body.btv2 .sources__list span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--up);
  box-shadow: 0 0 8px rgba(22,199,132,.5);
}

/* ============================================================
   §4  SECTION HEADER
   ============================================================ */

body.btv2 section.block {
  padding: 96px 0;
  border-bottom: 1px solid var(--line);
  position: relative;
}

body.btv2 .sec-head { margin-bottom: 48px; max-width: 760px; }

body.btv2 .sec-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--btc);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

body.btv2 .sec-tag::before { content: ""; width: 24px; height: 1px; background: var(--btc); }

body.btv2 .sec-head h2 {
  font-size: clamp(34px,3.6vw,52px);
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.05;
}

body.btv2 .sec-head h2 em {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--btc-soft);
}

body.btv2 .sec-head__lede {
  margin-top: 18px;
  font-size: 17px;
  color: var(--txt-2);
  line-height: 1.55;
  max-width: 55ch;
}

body.btv2 .sec-head__lede b { color: var(--txt); font-weight: 500; }

/* ============================================================
   §5  MARKETS TABLE
   ============================================================ */

body.btv2 .mkts {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
}

body.btv2 .mkts__top {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--line);
}

body.btv2 .mkts__url {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--txt-3);
  background: var(--bg-1);
  border: 1px solid var(--line);
  padding: 8px 12px;
  border-radius: 8px;
}

body.btv2 .mkts__url::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--up);
  box-shadow: 0 0 8px var(--up);
  flex-shrink: 0;
}

body.btv2 .mkts__url b { color: var(--txt-2); }

body.btv2 .mkts__tabs {
  display: flex;
  gap: 2px;
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 2px;
}

body.btv2 .mkts__tabs button {
  padding: 6px 14px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--txt-3);
  transition: .15s all;
  letter-spacing: .04em;
}

body.btv2 .mkts__tabs button:hover { color: var(--txt-2); }
body.btv2 .mkts__tabs button.is-on { background: var(--panel-2); color: var(--txt); }

body.btv2 .tbl { width: 100%; border-collapse: collapse; font-size: 13.5px; }

body.btv2 .tbl th {
  text-align: left;
  padding: 14px 20px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: var(--txt-3);
  letter-spacing: .12em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}

body.btv2 .tbl th.r { text-align: right; }
body.btv2 .tbl td { padding: 16px 20px; border-bottom: 1px solid var(--line); vertical-align: middle; }
body.btv2 .tbl tr:last-child td { border-bottom: 0; }
body.btv2 .tbl tr:hover td { background: rgba(255,255,255,.015); }

body.btv2 .tbl__asset { display: flex; align-items: center; gap: 12px; }
body.btv2 .tbl__rank { font-family: var(--font-mono); font-size: 11px; color: var(--txt-3); width: 22px; }

body.btv2 .tbl__logo {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #0a0a0a;
  font-size: 13px;
  flex-shrink: 0;
}

body.btv2 .tbl__logo--btc  { background: linear-gradient(135deg,var(--btc),#ff7c1a); }
body.btv2 .tbl__logo--eth  { background: linear-gradient(135deg,#627eea,#3c5ad1); color: #fff; }
body.btv2 .tbl__logo--sol  { background: linear-gradient(135deg,#14F195,#9945FF); color: #fff; }
body.btv2 .tbl__logo--bnb  { background: linear-gradient(135deg,#F3BA2F,#f0a500); }
body.btv2 .tbl__logo--xrp  { background: linear-gradient(135deg,#27a2db,#1a76a8); color: #fff; }
body.btv2 .tbl__logo--doge { background: linear-gradient(135deg,#c2a633,#a08620); }
body.btv2 .tbl__logo--ada  { background: linear-gradient(135deg,#0033ad,#001f6b); color: #fff; }

body.btv2 .tbl__name b     { color: var(--txt); font-weight: 500; font-size: 14px; }
body.btv2 .tbl__name span  { display: block; color: var(--txt-3); font-size: 11px; font-family: var(--font-mono); text-transform: uppercase; letter-spacing: .04em; margin-top: 1px; }

body.btv2 .tbl__price { font-family: var(--font-mono); font-weight: 500; text-align: right; color: var(--txt); }
body.btv2 .tbl__chg   { font-family: var(--font-mono); text-align: right; font-weight: 500; font-size: 13px; }
body.btv2 .tbl__chg--up { color: var(--up); }
body.btv2 .tbl__chg--dn { color: var(--down); }

body.btv2 .tbl__spark { width: 96px; height: 32px; margin-left: auto; display: block; }

body.btv2 .tbl__sig {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .04em;
  font-weight: 500;
  border: 1px solid var(--line);
}

body.btv2 .tbl__sig--bull  { color: var(--up);   background: rgba(22,199,132,.08);  border-color: rgba(22,199,132,.25); }
body.btv2 .tbl__sig--neu   { color: var(--txt-2); background: var(--bg-1); }
body.btv2 .tbl__sig--bear  { color: var(--down);  background: rgba(234,57,67,.08);   border-color: rgba(234,57,67,.22); }
body.btv2 .tbl__sig--watch { color: var(--warn);  background: rgba(255,176,32,.06);  border-color: rgba(255,176,32,.2); }

body.btv2 .tbl__sig .d { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 6px currentColor; }

body.btv2 .tbl__conf { text-align: right; font-family: var(--font-mono); font-size: 13px; color: var(--txt-2); }
body.btv2 .tbl__conf b { color: var(--txt); font-weight: 500; }

body.btv2 .mkts__cta {
  padding: 14px 20px;
  text-align: center;
  border-top: 1px solid var(--line);
  font-family: var(--font-mono);
  font-size: 12px;
}

body.btv2 .mkts__cta a { color: var(--btc); display: inline-flex; align-items: center; gap: 6px; transition: .15s gap; }
body.btv2 .mkts__cta a:hover { gap: 10px; }

/* ============================================================
   §6  LIVE SIGNALS CARDS
   ============================================================ */

body.btv2 .live-sigs { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }

body.btv2 .ls {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px;
  position: relative;
  overflow: hidden;
}

body.btv2 .ls__top { display: flex; align-items: center; justify-content: space-between; }
body.btv2 .ls__asset { display: flex; align-items: center; gap: 10px; }

body.btv2 .ls__logo {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 800;
  color: #0a0a0a;
  font-size: 14px;
}

body.btv2 .ls__sym b    { color: var(--txt); font-weight: 600; }
body.btv2 .ls__sym span { color: var(--txt-3); font-size: 11.5px; display: block; font-family: var(--font-mono); letter-spacing: .04em; }

body.btv2 .ls__verdict {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 11px;
  background: rgba(22,199,132,.08);
  color: var(--up);
  border: 1px solid rgba(22,199,132,.25);
}

body.btv2 .ls__verdict--watch { background: rgba(255,176,32,.08); color: var(--warn); border-color: rgba(255,176,32,.25); }
body.btv2 .ls__verdict--neu   { background: var(--bg-1); color: var(--txt-2); border-color: var(--line); }

body.btv2 .ls__row { display: flex; justify-content: space-between; align-items: end; margin-top: 22px; }
body.btv2 .ls__price { font-family: var(--font-mono); font-size: 30px; font-weight: 500; letter-spacing: -.02em; }
body.btv2 .ls__chg   { font-family: var(--font-mono); font-size: 14px; color: var(--up); font-weight: 500; }
body.btv2 .ls__chg--dn { color: var(--down); }

body.btv2 .ls__conf {
  margin-top: 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  letter-spacing: .04em;
}

body.btv2 .ls__conf .bar { height: 5px; background: var(--bg-1); border-radius: 3px; overflow: hidden; border: 1px solid var(--line); }
body.btv2 .ls__conf .bar i { display: block; height: 100%; border-radius: 3px; background: var(--up); }
body.btv2 .ls__conf b { color: var(--txt); font-size: 12.5px; }

body.btv2 .ls__reasons { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); display: grid; gap: 8px; }

body.btv2 .ls__reason {
  display: flex;
  gap: 8px;
  font-size: 12.5px;
  color: var(--txt-2);
  line-height: 1.5;
}

body.btv2 .ls__reason::before {
  content: "";
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--up);
  background: rgba(22,199,132,.15);
  margin-top: 1px;
  background-image:
    linear-gradient(45deg, transparent 45%, var(--up) 45%, var(--up) 55%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, var(--up) 45%, var(--up) 55%, transparent 55%);
}

body.btv2 .ls--watch .ls__reason::before {
  border-color: var(--warn);
  background: rgba(255,176,32,.1);
  background-image:
    linear-gradient(45deg, transparent 45%, var(--warn) 45%, var(--warn) 55%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, var(--warn) 45%, var(--warn) 55%, transparent 55%);
}

body.btv2 .ls--neu .ls__reason::before { border-color: var(--txt-3); background: var(--bg-1); background-image: none; }

/* ============================================================
   §7  FOUR STEPS
   ============================================================ */

body.btv2 .steps {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
  position: relative;
}

body.btv2 .steps::before {
  content: "";
  position: absolute;
  top: 40px;
  left: 5%;
  right: 5%;
  height: 1px;
  background: linear-gradient(90deg,transparent,var(--line),var(--line),var(--line),transparent);
}

body.btv2 .step {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  min-height: 300px;
}

body.btv2 .step__head {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--btc);
  position: relative;
  z-index: 1;
  background: var(--panel);
  padding-right: 6px;
}

body.btv2 .step__num {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--bg);
  border: 1px solid var(--btc);
  color: var(--btc);
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 500;
  flex-shrink: 0;
}

body.btv2 .step h3 { font-size: 18px; font-weight: 500; letter-spacing: -.01em; }
body.btv2 .step p  { font-size: 13px; color: var(--txt-3); line-height: 1.55; }

body.btv2 .step__demo {
  margin-top: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg-1);
  padding: 14px;
  font-family: var(--font-mono);
  font-size: 11.5px;
  color: var(--txt-2);
}

body.btv2 .step--1 .step__demo { display: grid; gap: 6px; }
body.btv2 .step--1 .step__demo .scan { display: flex; justify-content: space-between; color: var(--txt-3); font-size: 10.5px; letter-spacing: .06em; }
body.btv2 .step--1 .step__demo .scan b { color: var(--neon); }
body.btv2 .step--1 .step__demo .scan b::before { content: "●"; margin-right: 4px; animation: btv2-pulse 1.3s ease-in-out infinite; }

body.btv2 .step--2 .step__demo h4 { font-size: 12px; color: var(--txt); margin-bottom: 6px; letter-spacing: .04em; }
body.btv2 .step--2 .step__demo h4 span { color: var(--up); float: right; }
body.btv2 .step--2 .step__demo .vol { margin-top: 6px; height: 28px; display: flex; align-items: end; gap: 2px; }
body.btv2 .step--2 .step__demo .vol i { flex: 1; background: rgba(22,199,132,.3); border-radius: 1px 1px 0 0; display: block; }
body.btv2 .step--2 .step__demo .vol i.peak { background: var(--up); box-shadow: 0 0 10px rgba(22,199,132,.6); }

body.btv2 .step--3 .step__demo .bar-row { display: grid; grid-template-columns: 60px 1fr 24px; align-items: center; gap: 8px; margin-bottom: 6px; }
body.btv2 .step--3 .step__demo .bar-row .l { color: var(--txt-3); font-size: 10.5px; letter-spacing: .04em; }
body.btv2 .step--3 .step__demo .bar-row .b { height: 4px; background: var(--bg-2); border-radius: 2px; overflow: hidden; }
body.btv2 .step--3 .step__demo .bar-row .b i { display: block; height: 100%; background: var(--neon); border-radius: 2px; }
body.btv2 .step--3 .step__demo .bar-row .v { text-align: right; color: var(--txt); }
body.btv2 .step--3 .step__demo .total { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; }
body.btv2 .step--3 .step__demo .total b { color: var(--neon); font-size: 16px; }

body.btv2 .step--4 .step__demo { padding: 12px; display: flex; gap: 10px; align-items: start; border-color: rgba(247,147,26,.3); background: linear-gradient(180deg,rgba(247,147,26,.05),transparent); }
body.btv2 .step--4 .step__demo .ico { width: 30px; height: 30px; border-radius: 8px; background: linear-gradient(135deg,var(--btc),#ff7c1a); display: grid; place-items: center; color: #0a0a0a; font-weight: 800; flex-shrink: 0; font-size: 13px; }
body.btv2 .step--4 .step__demo .body { flex: 1; }
body.btv2 .step--4 .step__demo .body strong { display: block; color: var(--txt); font-size: 12.5px; font-family: var(--font-ui); font-weight: 500; letter-spacing: -.01em; }
body.btv2 .step--4 .step__demo .body span { display: block; color: var(--txt-3); font-size: 10.5px; margin-top: 3px; letter-spacing: .04em; }

body.btv2 .steps-foot {
  margin-top: 24px;
  padding: 18px 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg-1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-family: var(--font-mono);
  font-size: 12.5px;
  color: var(--txt-2);
}

body.btv2 .steps-foot b { color: var(--neon); font-size: 14px; }
body.btv2 .steps-foot::before { content: "⟶"; color: var(--neon); font-size: 18px; font-family: var(--font-ui); }

/* ============================================================
   §8  STORY PANELS
   ============================================================ */

body.btv2 .stories { display: grid; gap: 16px; }

body.btv2 .story {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
}

body.btv2 .story:nth-child(even) { grid-template-columns: 1fr 1fr; }
body.btv2 .story:nth-child(even) .story__copy { order: 2; }
body.btv2 .story:nth-child(even) .story__demo  { order: 1; }

body.btv2 .story__num { font-family: var(--font-mono); font-size: 11px; color: var(--btc); letter-spacing: .16em; text-transform: uppercase; }
body.btv2 .story__h   { font-size: 32px; font-weight: 500; margin-top: 16px; letter-spacing: -.025em; line-height: 1.1; }
body.btv2 .story__h em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--btc-soft); }

body.btv2 .story__quote {
  margin-top: 20px;
  padding-left: 18px;
  border-left: 2px solid var(--btc);
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.4;
  color: var(--txt-2);
}

body.btv2 .story__p    { margin-top: 20px; font-size: 14.5px; color: var(--txt-2); line-height: 1.6; max-width: 42ch; }
body.btv2 .story__p b  { color: var(--txt); font-weight: 500; }
body.btv2 .story__demo { position: relative; }

/* Push notification demo */
body.btv2 .push {
  background: linear-gradient(180deg, var(--bg-1), var(--panel-2));
  border: 1px solid var(--line-2);
  border-radius: 14px;
  padding: 18px;
  display: flex;
  gap: 12px;
  align-items: start;
  box-shadow: 0 20px 60px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.02);
  max-width: 380px;
  margin: 0 auto;
  position: relative;
}

body.btv2 .push__time {
  position: absolute;
  top: -32px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  letter-spacing: .08em;
  white-space: nowrap;
}

body.btv2 .push__ico {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg,var(--btc),#ff7c1a);
  display: grid;
  place-items: center;
  color: #0a0a0a;
  font-weight: 800;
  font-size: 16px;
  flex-shrink: 0;
}

body.btv2 .push__body { flex: 1; min-width: 0; }
body.btv2 .push__app  { font-family: var(--font-mono); font-size: 10.5px; color: var(--txt-3); letter-spacing: .1em; }
body.btv2 .push__t    { margin-top: 3px; font-size: 14px; color: var(--txt); font-weight: 500; }
body.btv2 .push__b    { margin-top: 6px; font-size: 12.5px; color: var(--txt-2); line-height: 1.45; }
body.btv2 .push__meta { margin-top: 10px; display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 10px; color: var(--txt-3); }
body.btv2 .push__meta b { color: var(--up); }

/* VS comparison */
body.btv2 .vs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 480px; margin: 0 auto; position: relative; }

body.btv2 .vs::before {
  content: "VS";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg);
  border: 1px solid var(--line-2);
  display: grid;
  place-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  z-index: 1;
  letter-spacing: .06em;
}

body.btv2 .vs__col { border: 1px solid var(--line); border-radius: 14px; padding: 16px; background: var(--bg-1); }
body.btv2 .vs__col--bad  { border-color: rgba(234,57,67,.18);  background: linear-gradient(180deg,rgba(234,57,67,.04),transparent); }
body.btv2 .vs__col--good { border-color: rgba(184,255,60,.22); background: linear-gradient(180deg,rgba(184,255,60,.04),transparent); }

body.btv2 .vs__h { font-family: var(--font-mono); font-size: 10.5px; color: var(--txt-3); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; display: flex; align-items: center; gap: 6px; }
body.btv2 .vs__col--bad  .vs__h { color: var(--down); }
body.btv2 .vs__col--good .vs__h { color: var(--neon); }
body.btv2 .vs__col--good .vs__h::before { content: "●"; color: var(--neon); text-shadow: 0 0 6px var(--neon); }

body.btv2 .vs__quote { font-size: 13.5px; color: var(--txt); line-height: 1.45; font-family: var(--font-serif); font-style: italic; }
body.btv2 .vs__list { margin-top: 10px; display: grid; gap: 6px; font-family: var(--font-mono); font-size: 11px; color: var(--txt-3); }
body.btv2 .vs__list b { color: var(--txt); }
body.btv2 .vs__list span { display: flex; justify-content: space-between; }

/* Cross-market matrix */
body.btv2 .xmkt { background: var(--bg-1); border: 1px solid var(--line); border-radius: 14px; padding: 18px; max-width: 460px; margin: 0 auto; }
body.btv2 .xmkt__h { font-family: var(--font-mono); font-size: 11px; color: var(--txt-3); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 14px; display: flex; justify-content: space-between; }
body.btv2 .xmkt__h .live { color: var(--neon); }
body.btv2 .xmkt__h .live::before { content: "●"; margin-right: 4px; animation: btv2-pulse 1.4s ease-in-out infinite; }

body.btv2 .xmkt__matrix { display: grid; grid-template-columns: 60px repeat(4,1fr); gap: 2px; }
body.btv2 .xmkt__cell { aspect-ratio: 1; border-radius: 4px; display: grid; place-items: center; font-family: var(--font-mono); font-size: 10.5px; color: var(--txt-2); background: var(--bg-2); }
body.btv2 .xmkt__cell.label { background: transparent; color: var(--txt-3); font-size: 10px; letter-spacing: .04em; justify-content: start; padding-left: 4px; }
body.btv2 .xmkt__cell.c-strong-pos { background: var(--up);  color: #0a0a0a; }
body.btv2 .xmkt__cell.c-pos        { background: rgba(22,199,132,.4); color: var(--txt); }
body.btv2 .xmkt__cell.c-mid        { background: var(--bg-2); color: var(--txt-3); }
body.btv2 .xmkt__cell.c-neg        { background: rgba(234,57,67,.4); }
body.btv2 .xmkt__cell.c-strong-neg { background: var(--down); color: #fff; }

body.btv2 .xmkt__legend { margin-top: 14px; display: flex; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 10.5px; color: var(--txt-3); }
body.btv2 .xmkt__legend .scale { flex: 1; height: 6px; border-radius: 3px; background: linear-gradient(90deg,var(--down),var(--bg-2),var(--up)); }

/* ============================================================
   §9  TRANSPARENCY / SCORING SECTION
   ============================================================ */

body.btv2 .trans { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

body.btv2 .trans__card { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 28px; }

body.btv2 .trans__hd { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }

body.btv2 .trans__num { width: 32px; height: 32px; border-radius: 8px; background: var(--bg-1); border: 1px solid var(--line); display: grid; place-items: center; font-family: var(--font-mono); font-size: 13px; color: var(--btc); font-weight: 600; }
body.btv2 .trans__hd-meta { font-family: var(--font-mono); font-size: 11px; color: var(--txt-3); letter-spacing: .12em; text-transform: uppercase; }
body.btv2 .trans__hd h3 { font-size: 18px; font-weight: 500; letter-spacing: -.01em; margin-top: 2px; }

/* Source list */
body.btv2 .src-list { display: grid; gap: 10px; }
body.btv2 .src-row { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); }
body.btv2 .src-row__ic { width: 32px; height: 32px; border-radius: 8px; background: var(--panel-2); display: grid; place-items: center; font-size: 14px; font-weight: 600; color: var(--neon); border: 1px solid var(--line); }
body.btv2 .src-row__body b { display: block; font-size: 13.5px; font-weight: 500; }
body.btv2 .src-row__providers { margin-top: 4px; display: flex; gap: 6px; flex-wrap: wrap; }
body.btv2 .src-row__providers span { font-family: var(--font-mono); font-size: 10.5px; color: var(--txt-3); padding: 2px 7px; border: 1px solid var(--line); border-radius: 4px; background: var(--bg-2); }
body.btv2 .src-row__status { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .06em; padding: 4px 10px; border-radius: 999px; color: var(--up); background: rgba(22,199,132,.1); border: 1px solid rgba(22,199,132,.25); }
body.btv2 .src-row__status--opt { color: var(--txt-2); background: var(--bg-2); border-color: var(--line); }

/* Score math */
body.btv2 .score-math { border: 1px solid var(--line); border-radius: 12px; background: var(--bg-1); padding: 18px; font-family: var(--font-mono); font-size: 13px; }
body.btv2 .score-math__h { font-size: 11px; color: var(--txt-3); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 14px; }
body.btv2 .score-math__rows { display: grid; gap: 10px; }
body.btv2 .score-math__row { display: grid; grid-template-columns: 90px 40px 90px 30px; align-items: center; gap: 8px; }
body.btv2 .score-math__row .lbl { color: var(--txt-2); }
body.btv2 .score-math__row .val { color: var(--neon); font-weight: 600; font-size: 15px; }
body.btv2 .score-math__row .op  { color: var(--txt-3); text-align: center; }
body.btv2 .score-math__row .wt  { color: var(--txt-3); font-size: 11px; }
body.btv2 .score-math__sum { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--line); display: flex; justify-content: space-between; align-items: baseline; }
body.btv2 .score-math__sum b { color: var(--neon); font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
body.btv2 .score-math__sum span { color: var(--txt-3); font-size: 11px; letter-spacing: .06em; }

/* ============================================================
   §10  AI TOOLS GRID
   ============================================================ */

body.btv2 .ai-tools { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }

body.btv2 .ai-tool {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: .2s all;
  position: relative;
  overflow: hidden;
}

body.btv2 .ai-tool:hover { border-color: var(--line-2); transform: translateY(-2px); }

body.btv2 .ai-tool__badge {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: .1em;
  padding: 4px 9px;
  border-radius: 5px;
  background: var(--bg-1);
  border: 1px solid var(--line);
  color: var(--txt-3);
}

body.btv2 .ai-tool__badge--pro  { background: rgba(247,147,26,.08); border-color: rgba(247,147,26,.25); color: var(--btc); }
body.btv2 .ai-tool__badge--free { color: var(--neon); background: rgba(184,255,60,.05); border-color: rgba(184,255,60,.2); }

body.btv2 .ai-tool__ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--bg-1); border: 1px solid var(--line); }
body.btv2 .ai-tool__ico svg { width: 22px; height: 22px; color: var(--btc); }
body.btv2 .ai-tool h3  { font-size: 18px; font-weight: 500; letter-spacing: -.01em; }
body.btv2 .ai-tool p   { font-size: 13px; color: var(--txt-3); line-height: 1.55; flex: 1; }
body.btv2 .ai-tool__cta { font-family: var(--font-mono); font-size: 11px; color: var(--btc); display: flex; align-items: center; gap: 4px; transition: .15s gap; margin-top: auto; }
body.btv2 .ai-tool:hover .ai-tool__cta { gap: 8px; }

/* ============================================================
   §11  PRICING TIERS
   ============================================================ */

body.btv2 .price-tiers { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }

body.btv2 .pt {
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 3px solid transparent;
  border-radius: 16px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: transform .2s ease, box-shadow .2s ease;
  position: relative;
}

body.btv2 .pt:hover { transform: translateY(-4px); }

/* Per-tier left bar + hover glow */
body.btv2 .pt--free  { border-left-color: #4d7cff; }
body.btv2 .pt--free:hover  { box-shadow: 0 12px 40px rgba(77,124,255,.18); }

body.btv2 .pt--pro   { border-left-color: var(--btc); }
body.btv2 .pt--pro:hover   { box-shadow: 0 12px 40px rgba(247,147,26,.18); }

body.btv2 .pt--trader { border-left-color: var(--neon); }
body.btv2 .pt--trader:hover { box-shadow: 0 12px 40px rgba(184,255,60,.15); }

body.btv2 .pt--institutional { border-left-color: #9b59b6; }
body.btv2 .pt--institutional:hover { box-shadow: 0 12px 40px rgba(155,89,182,.18); }

body.btv2 .pt--feat {
  background:
    linear-gradient(180deg, rgba(247,147,26,.08), transparent 30%),
    var(--panel);
  border-color: rgba(247,147,26,.3);
  border-left-color: var(--btc);
}

body.btv2 .pt--feat::before {
  content: "MOST POPULAR";
  position: absolute;
  top: -1px;
  right: 20px;
  background: var(--btc);
  color: #0a0a0a;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: .1em;
  padding: 5px 10px;
  border-radius: 0 0 6px 6px;
  font-weight: 600;
}

body.btv2 .pt__name  { font-family: var(--font-mono); font-size: 11.5px; color: var(--txt-3); letter-spacing: .12em; text-transform: uppercase; }
body.btv2 .pt__price { font-family: var(--font-mono); font-size: 36px; font-weight: 500; letter-spacing: -.025em; }
body.btv2 .pt__price small { font-size: 13px; color: var(--txt-3); font-weight: 400; margin-left: 4px; }
body.btv2 .pt__sub   { font-size: 12.5px; color: var(--txt-2); margin-top: -12px; }

body.btv2 .pt ul { list-style: none; display: grid; gap: 9px; margin: 0; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
body.btv2 .pt li { display: flex; gap: 10px; font-size: 13px; color: var(--txt-2); align-items: start; line-height: 1.45; }
body.btv2 .pt li::before {
  content: "";
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--up);
  background: rgba(22,199,132,.12);
  background-image:
    linear-gradient(45deg, transparent 45%, var(--up) 45%, var(--up) 55%, transparent 55%),
    linear-gradient(-45deg, transparent 45%, var(--up) 45%, var(--up) 55%, transparent 55%);
  margin-top: 1px;
}

body.btv2 .pt__cta { width: 100%; justify-content: center; }

/* ============================================================
   §12  CTA SECTION
   ============================================================ */

body.btv2 .cta {
  padding: 96px 0;
  border-bottom: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}

body.btv2 .cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(900px 500px at 20% 50%, rgba(247,147,26,.08), transparent 60%),
    radial-gradient(700px 400px at 90% 50%, rgba(184,255,60,.06), transparent 60%);
  pointer-events: none;
}

body.btv2 .cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center; }

body.btv2 .cta h2 { font-size: clamp(34px,3.4vw,52px); font-weight: 500; line-height: 1.05; letter-spacing: -.025em; max-width: 14ch; }
body.btv2 .cta h2 em { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--btc-soft); }
body.btv2 .cta p   { margin-top: 18px; font-size: 15px; color: var(--txt-2); max-width: 38ch; line-height: 1.55; }

body.btv2 .cta__form { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 20px; }
body.btv2 .cta__form label { display: block; font-family: var(--font-mono); font-size: 11px; color: var(--txt-3); letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }

/* v119.28.56 — minmax(220px,1fr) floor stops the input collapsing to ~40px
   next to a wide submit button. Legacy .cta__input had min-width:0 + flex
   which produced the tiny "you" field the user reported. */
body.btv2 .cta__field { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 8px; background: var(--bg-1); border: 1px solid var(--line); border-radius: 12px; padding: 6px; align-items: center; }
body.btv2 .cta__field input,
body.btv2 .cta__field .cta__input {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 12px 14px !important;
  color: var(--txt) !important;
  font-family: var(--font-mono) !important;
  font-size: 14px !important;
  min-width: 0 !important;
  width: 100% !important;
}
body.btv2 .cta__field input::placeholder { color: var(--txt-4); }
body.btv2 .cta__field .btn { padding: 12px 20px; white-space: nowrap; }

@media (max-width: 540px) {
  body.btv2 .cta__field { grid-template-columns: 1fr; }
  body.btv2 .cta__field .btn { width: 100%; justify-content: center; }
}

body.btv2 .cta__bullets { margin-top: 14px; display: grid; gap: 6px; }
body.btv2 .cta__bullets span { display: flex; gap: 8px; font-family: var(--font-mono); font-size: 11.5px; color: var(--txt-3); }
body.btv2 .cta__bullets span::before { content: "●"; color: var(--neon); font-size: 8px; display: inline-flex; align-items: center; }

/* ============================================================
   §13  RESPONSIVE
   ============================================================ */

@media (max-width: 1100px) {
  body.btv2 .hero__grid          { grid-template-columns: 1fr; gap: 60px; }
  body.btv2 .desk                { max-width: 560px; }
  body.btv2 .stories .story,
  body.btv2 .stories .story:nth-child(even) { grid-template-columns: 1fr; gap: 32px; }
  body.btv2 .stories .story:nth-child(even) .story__copy { order: 1; }
  body.btv2 .stories .story:nth-child(even) .story__demo  { order: 2; }
}

@media (max-width: 900px) {
  body.btv2 .steps,
  body.btv2 .ai-tools,
  body.btv2 .price-tiers { grid-template-columns: repeat(2,1fr); }
  body.btv2 .steps::before { display: none; }
  body.btv2 .live-sigs     { grid-template-columns: 1fr; }
  body.btv2 .trans          { grid-template-columns: 1fr; gap: 24px; }
  body.btv2 .cta__inner     { grid-template-columns: 1fr; gap: 24px; }
  body.btv2 .hero__stats    { grid-template-columns: 1fr 1fr; gap: 16px; }
  body.btv2 .hero__stat,
  body.btv2 .hero__stat + .hero__stat { padding: 0; border-left: 0; }
  body.btv2 .tbl th.hide-sm,
  body.btv2 .tbl td.hide-sm { display: none; }
}

@media (max-width: 600px) {
  body.btv2 section.block      { padding: 64px 0; }
  body.btv2 .price-tiers,
  body.btv2 .ai-tools          { grid-template-columns: 1fr; }
  body.btv2 .steps             { grid-template-columns: 1fr; }
  body.btv2 .hero              { padding: 36px 0 64px; }
}

/* ============================================================
   §14  INLINE STYLE REPLACEMENTS
   CSS classes that replace inline style="" attributes in landing.php
   ============================================================ */

/* Markets table — empty/loading state cell */
body.btv2 .tbl .frame__empty td {
  text-align: center;
  padding: 28px 20px;
  color: var(--txt-3);
  font-family: var(--font-mono);
  font-size: 12px;
}

/* Signal card — sub-reason (dimmer smaller hint line) */
body.btv2 .ls__reason--sub {
  color: var(--txt-3);
  font-size: 11.5px;
}
body.btv2 .ls__reason--sub::before { display: none; }

/* Signals section — centred bottom CTA row */
body.btv2 .sigs-foot {
  margin-top: 24px;
  text-align: center;
}

/* Steps section — scan meta row (small dim total-signals line) */
body.btv2 .scan--meta {
  margin-top: 6px;
  font-size: 10px;
  color: var(--txt-3);
}

/* Cross-market legend — last label pushes to the right */
body.btv2 .xmkt__legend span:last-child { margin-left: auto; }

/* Transparency section — scoring model cite note */
body.btv2 .trans__cite {
  font-size: 12px;
  color: var(--txt-3);
  margin-top: 14px;
  font-family: var(--font-mono);
  line-height: 1.55;
}
body.btv2 .trans__cite a { color: var(--btc); }

/* Refusals card ("Four things we won't claim") */
body.btv2 .refusals {
  margin-top: 18px;
  padding: 14px;
  border: 1px solid rgba(234,57,67,.18);
  border-radius: 10px;
  background: rgba(234,57,67,.04);
}
body.btv2 .refusals__hd {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--txt-3);
  margin-bottom: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.btv2 .refusals__list {
  display: grid;
  gap: 8px;
}
body.btv2 .refusals__item {
  font-size: 12.5px;
  color: var(--txt-2);
}
body.btv2 .refusals__item b { color: var(--txt); }
body.btv2 .refusals__item .neon { color: var(--neon); }
body.btv2 .refusals__item a { color: var(--btc); }

/* ============================================================
   §15  FOOTER — container-based grid (landing page context)
   ============================================================ */

/* Defer grid to .container so max-width centering is preserved */
body.btv2 footer.foot {
  display: block;
  padding: 0;
  background: var(--bg);
  border-top: 1px solid var(--line);
}

body.btv2 footer.foot .container {
  display: grid;
  grid-template-columns: 1.4fr repeat(4, 1fr);
  gap: 48px;
  max-width: var(--maxw-page);
  margin: 0 auto;
  padding: 64px 32px 40px;
}

body.btv2 .foot__brand {
  display: flex;
  flex-direction: column;
  gap: 0;
}

body.btv2 .foot__brand .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--txt);
  margin-bottom: 14px;
}

@media (max-width: 960px) {
  body.btv2 footer.foot .container {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  body.btv2 .foot__brand { grid-column: 1 / -1; }
  body.btv2 .foot__legal { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  body.btv2 footer.foot .container {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   §16  LANDING-V2 CLASS REFINEMENTS
   ============================================================ */

/* Regime watch card (second .regime__card in landing-v2) */
body.btv2 .regime__card--watch .regime__val {
  font-size: 14px;
  line-height: 1.4;
  margin-top: 8px;
  color: var(--txt-2);
}
body.btv2 .regime__card--watch .regime__val .key { color: var(--txt); font-weight: 500; }
body.btv2 .regime__card--watch .regime__sub { margin-top: 18px; }

/* Confidence denominator "/100" in market table */
body.btv2 .tbl__conf .tbl__conf__denom { color: var(--txt-3); }

/* Signal verdict dot */
body.btv2 .ls__dot {
  display: inline-block;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--txt-3);
}
body.btv2 .ls__dot--bull  { background: var(--up);   box-shadow: 0 0 6px var(--up); }
body.btv2 .ls__dot--watch { background: var(--warn); box-shadow: 0 0 6px var(--warn); }
body.btv2 .ls__dot--bear  { background: var(--down); box-shadow: 0 0 6px var(--down); }
body.btv2 .ls__dot--neut  { background: var(--txt-3); }

/* Confidence bar fill — signal-type tones */
body.btv2 .bar__fill--bull  { background: var(--up); }
body.btv2 .bar__fill--watch { background: var(--warn); }
body.btv2 .bar__fill--bear  { background: var(--down); }
body.btv2 .bar__fill--neut  { background: var(--txt-3); }

/* VS comparison — good-side quote highlight */
body.btv2 .vs__quote--good { color: var(--neon); }
