/* Fat Tony free-tier, conversion, Totalizer and Sandbox revamp */
:root {
  --ft-ink: #10261a;
  --ft-green: #174c32;
  --ft-green-light: #2f7654;
  --ft-gold: #e4b84f;
  --ft-cream: #f7f4ec;
  --ft-surface: #ffffff;
  --ft-muted: #66736b;
  --ft-border: #dfe7e1;
  --ft-shadow: 0 18px 55px rgba(15, 48, 31, 0.12);
}

/* Racecourse country, region and track directory */
.track-profile, .track-directory { color: var(--ft-ink); background: #f7f8f5; }
.track-profile__hero, .track-directory__hero { overflow: hidden; color: #fff; background: radial-gradient(circle at 84% 18%, rgba(217,177,76,.2), transparent 25%), linear-gradient(125deg, #0b2518 0%, #173f29 62%, #0e2e20 100%); }
.track-profile__hero h1, .track-directory__hero h1 { max-width: 850px; margin: 5px 0 16px; color: #fff; font-size: clamp(42px, 6vw, 76px); font-weight: 900; line-height: .98; letter-spacing: -.04em; }
.track-profile__hero .lead, .track-directory__hero .lead { max-width: 760px; color: rgba(255,255,255,.8); font-size: 19px; line-height: 1.65; }
.track-profile__eyebrow, .track-profile__kicker, .track-directory__location { margin-bottom: 8px; color: #b78a27; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.track-profile__hero .track-profile__eyebrow, .track-directory__hero .track-profile__eyebrow { color: #e6c873; }
.track-profile__stamp { display: grid; width: 210px; height: 210px; margin-left: auto; place-content: center; color: #173f29; text-align: center; transform: rotate(4deg); background: #e6c873; border: 7px double rgba(23,63,41,.45); border-radius: 50%; box-shadow: 0 22px 50px rgba(0,0,0,.22); }
.track-profile__stamp span, .track-profile__stamp small { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.track-profile__stamp strong { display: block; font-family: Georgia, serif; font-size: 33px; line-height: 1; }
.track-profile__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: -75px; position: relative; z-index: 2; background: #fff; border: 1px solid var(--ft-border); border-radius: 16px; box-shadow: 0 16px 40px rgba(10,38,24,.11); }
.track-profile__stats article { min-height: 112px; padding: 25px; border-right: 1px solid var(--ft-border); }
.track-profile__stats article:last-child { border-right: 0; }
.track-profile__stats strong { display: block; color: var(--ft-green); font-size: 24px; font-weight: 900; }
.track-profile__stats span { color: var(--ft-muted); font-size: 12px; }
.track-profile__story h2, .track-profile section > h2 { margin: 10px 0 15px; font-size: 32px; font-weight: 900; }
.track-profile__story p { color: var(--ft-muted); font-size: 17px; line-height: 1.75; }
.track-profile__story h2:not(:first-of-type) { margin-top: 34px; }
.track-profile__tip { margin-top: 28px; padding: 22px 24px; color: #244536; line-height: 1.65; background: #edf3ee; border-left: 5px solid #b78a27; border-radius: 0 12px 12px 0; }
.track-profile__race-day { display: flex; min-height: 70px; align-items: center; gap: 13px; padding: 17px 18px; font-weight: 800; background: #fff; border: 1px solid var(--ft-border); border-radius: 12px; box-shadow: 0 7px 20px rgba(15,48,31,.05); }
.track-profile__race-day i { color: #b78a27; }
.track-profile__race-list { overflow: hidden; background: #fff; border: 1px solid var(--ft-border); border-radius: 14px; }
.track-profile__race-list > a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 19px; color: var(--ft-ink); text-decoration: none; border-bottom: 1px solid var(--ft-border); }
.track-profile__race-list > a:last-child { border-bottom: 0; }
.track-profile__race-list > a:hover { background: #f1f5f2; }
.track-profile__race-list strong, .track-profile__race-list small { display: block; }
.track-profile__race-list small { margin-top: 3px; color: var(--ft-muted); }
.track-profile__race-list i { color: var(--ft-green); }
.track-profile__empty { padding: 24px; background: #fff; border: 1px solid var(--ft-border); border-radius: 12px; }
.track-profile__text-link { color: var(--ft-green); font-size: 13px; font-weight: 900; text-decoration: none; }
.track-profile__sidebar { display: grid; gap: 17px; }
.track-profile__panel { padding: 25px; background: #fff; border: 1px solid var(--ft-border); border-radius: 15px; box-shadow: 0 10px 30px rgba(15,48,31,.06); }
.track-profile__panel--accent { color: #fff; background: #173f29; border-color: #173f29; }
.track-profile__panel--accent h2, .track-profile__panel--accent .track-profile__kicker { color: #fff; }
.track-profile__panel--accent p { color: rgba(255,255,255,.74); }
.track-profile__meeting { display: flex; flex-direction: column; padding: 11px 0; border-bottom: 1px solid var(--ft-border); }
.track-profile__meeting span { color: var(--ft-muted); font-size: 12px; }
.track-profile__related { display: grid; gap: 2px; }
.track-profile__related a { display: flex; justify-content: space-between; gap: 10px; padding: 11px 0; color: var(--ft-ink); font-weight: 800; text-decoration: none; border-bottom: 1px solid var(--ft-border); }
.track-profile__related small { color: var(--ft-muted); font-weight: 500; }
.track-profile__learn { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 30px; background: #fff; border: 1px solid var(--ft-border); border-radius: 16px; }
.track-profile__learn h2 { margin: 4px 0 6px !important; }
.track-profile__learn p { max-width: 700px; margin: 0; color: var(--ft-muted); }
.track-directory__intro { max-width: 780px; margin-bottom: 25px; }
.track-directory__intro h2 { font-size: 34px; font-weight: 900; }
.track-directory__intro p { color: var(--ft-muted); font-size: 17px; line-height: 1.7; }
.track-directory__card, .track-directory__region { position: relative; padding: 26px; background: #fff; border: 1px solid var(--ft-border); border-radius: 16px; box-shadow: 0 10px 30px rgba(15,48,31,.06); }
.track-directory__card h2 a, .track-directory__region h2 a { color: var(--ft-ink); text-decoration: none; }
.track-directory__card p:not(.track-directory__location), .track-directory__region > p { color: var(--ft-muted); line-height: 1.65; }
.track-directory__card > span { color: var(--ft-green); font-size: 13px; font-weight: 900; }
.track-directory__count { padding: 5px 9px; color: #7e5f16; font-size: 10px; font-weight: 900; background: #f7ebc8; border-radius: 99px; text-transform: uppercase; }
.track-directory__track-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.track-directory__track-links a { padding: 8px 11px; color: var(--ft-green); font-size: 12px; font-weight: 800; text-decoration: none; background: #edf3ee; border-radius: 8px; }
.track-directory__cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 34px; color: #fff; background: #173f29; border-radius: 18px; }
.track-directory__cta h2 { color: #fff; font-weight: 900; }
.track-directory__cta p:not(.track-profile__kicker) { max-width: 660px; margin-bottom: 0; color: rgba(255,255,255,.75); }
.track-footer-directory { margin-top: 45px; padding: 36px 0 10px; border-top: 1px solid rgba(255,255,255,.14); }
.track-footer-directory__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.track-footer-directory__heading h2 { margin: 0; color: #fff; font-size: 28px; font-weight: 900; }
.track-footer-directory__heading > a { color: #e6c873; font-size: 12px; font-weight: 800; }
.track-footer-directory__eyebrow { margin-bottom: 5px; color: #e6c873; font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.track-footer-directory h3 { margin-bottom: 19px; font-size: 16px; font-weight: 900; }
.track-footer-directory h3 a { color: #fff; }
.track-footer-directory__region { margin-bottom: 16px; }
.track-footer-directory__region-link { display: block; margin-bottom: 5px; color: #e6c873; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.track-footer-directory__region nav { display: grid; gap: 4px; }
.track-footer-directory__region nav a { color: rgba(255,255,255,.7); font-size: 12px; text-decoration: none; }
.track-footer-directory__region nav a:hover { color: #fff; }

@media (max-width: 991px) {
  .track-profile__stats { margin-top: -45px; }
  .track-profile__stamp { width: 170px; height: 170px; margin: 0; }
  .track-directory__cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 767px) {
  .track-profile__hero h1, .track-directory__hero h1 { font-size: 44px; }
  .track-profile__hero .btn, .track-directory__hero .btn { width: 100%; }
  .track-profile__stamp { display: none; }
  .track-profile__stats { grid-template-columns: 1fr; margin-top: -28px; }
  .track-profile__stats article { min-height: auto; padding: 18px 21px; border-right: 0; border-bottom: 1px solid var(--ft-border); }
  .track-profile__stats article:last-child { border-bottom: 0; }
  .track-profile__learn { align-items: flex-start; flex-direction: column; }
  .track-footer-directory__heading { align-items: flex-start; flex-direction: column; }
}

.home-hero.home-hero-revamp {
  min-height: 660px;
  height: auto;
  padding: 112px clamp(22px, 6vw, 88px) 72px;
  justify-content: center;
  background-position: 35% center;
  isolation: isolate;
  overflow: hidden;
}

.home-hero-shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(7, 25, 15, 0.96) 0%, rgba(11, 36, 22, 0.84) 42%, rgba(11, 36, 22, 0.18) 75%),
    linear-gradient(0deg, rgba(7, 25, 15, 0.45), transparent 45%);
}

.home-hero-content {
  position: relative;
  z-index: 1;
  width: min(660px, 100%);
}

.home-kicker,
.section-eyebrow,
.feature-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ft-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.home-hero-revamp h1 {
  max-width: 650px;
  margin: 18px 0;
  color: #fff;
  font-size: clamp(44px, 6vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

.home-hero-lead {
  max-width: 610px;
  color: rgba(255,255,255,0.84);
  font-size: clamp(18px, 2.2vw, 23px);
  line-height: 1.55;
}

.home-hero-actions,
.feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.home-hero-actions .btn,
.feature-actions .btn {
  min-height: 52px;
  padding: 13px 22px;
  border-radius: 10px;
  font-weight: 700;
}

.home-subscribe-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 13px 8px;
  color: #f4cf72;
  font-weight: 800;
  text-decoration: none;
}

.home-subscribe-link:hover {
  color: #fff;
  text-decoration: underline;
}

.home-trust-row,
.feature-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin-top: 24px;
  color: rgba(255,255,255,0.78);
  font-size: 13px;
}

.home-trust-row span,
.feature-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.home-trust-row i,
.feature-trust i { color: var(--ft-gold); }

.openai-foundation-note {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 25px;
  padding: 9px 13px;
  color: rgba(255,255,255,0.8);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 999px;
  font-size: 12px;
  backdrop-filter: blur(8px);
}

.tony-hero-quote {
  position: absolute;
  right: clamp(20px, 5vw, 75px);
  bottom: 58px;
  z-index: 1;
  width: min(330px, 35vw);
  padding: 20px 22px;
  color: #fff;
  background: rgba(8, 29, 17, 0.76);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 16px;
  box-shadow: 0 20px 45px rgba(0,0,0,0.24);
  backdrop-filter: blur(10px);
}

.tony-hero-quote span { display: block; font-size: 16px; line-height: 1.5; }
.tony-hero-quote strong { display: block; margin-top: 8px; color: var(--ft-gold); font-size: 12px; }

.remaining.home-revamp {
  padding-top: 0;
  background: var(--ft-cream);
}

.home-value-strip {
  position: relative;
  z-index: 12;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  width: min(1120px, calc(100% - 32px));
  margin: -34px auto 44px;
  overflow: hidden;
  background: var(--ft-border);
  border: 1px solid var(--ft-border);
  border-radius: 16px;
  box-shadow: var(--ft-shadow);
}

.value-strip-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  background: #fff;
}

.value-strip-item > i {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  color: var(--ft-green);
  background: #eaf3ed;
  border-radius: 11px;
}

.value-strip-item strong,
.value-strip-item span { display: block; }
.value-strip-item strong { color: var(--ft-ink); font-size: 15px; }
.value-strip-item span { margin-top: 2px; color: var(--ft-muted); font-size: 12px; }

.home-revamp .upcoming-meets-section,
.home-revamp .how-it-works-section,
.home-conversion-section,
.home-news-section {
  width: min(1120px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

.home-revamp > .row.bg-white {
  width: min(1120px, calc(100% - 32px));
  margin: 52px auto 0;
  overflow: hidden;
  border: 1px solid var(--ft-border);
  border-radius: 20px;
  box-shadow: 0 12px 35px rgba(15,48,31,.07);
}

.home-revamp .upcoming-meets-section {
  margin-top: 0;
  padding: 28px;
  background: linear-gradient(135deg, #123923, #1d6642);
  border-radius: 20px;
  box-shadow: var(--ft-shadow);
}

.home-revamp .upcoming-meets-header { margin-bottom: 22px; }
.home-revamp .section-title { font-size: clamp(25px, 3vw, 36px); }

.ft-nav-signup {
  margin: 3px 8px 0 4px;
  padding: 8px 15px;
  border-radius: 999px;
  font-weight: 800;
  white-space: nowrap;
}

.ft-nav-login { font-weight: 800; }

/* Contact page */
.contact-page {
  padding: 14px 0 72px;
  color: var(--ft-ink);
}

.contact-shell {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  width: min(1060px, 100%);
  margin: 0 auto;
  overflow: hidden;
  background: var(--ft-surface);
  border: 1px solid var(--ft-border);
  border-radius: 24px;
  box-shadow: var(--ft-shadow);
}

.contact-intro {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 680px;
  padding: clamp(34px, 5vw, 58px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(228, 184, 79, .2), transparent 32%),
    linear-gradient(145deg, #0b2617, #174c32 72%, #286b49);
}

.contact-intro::after {
  position: absolute;
  right: -78px;
  bottom: -100px;
  z-index: -1;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
  box-shadow: 0 0 0 42px rgba(255,255,255,.025), 0 0 0 84px rgba(255,255,255,.018);
  content: '';
}

.contact-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--ft-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.contact-intro h1 {
  max-width: 420px;
  margin: 20px 0 18px;
  color: #fff;
  font-size: clamp(42px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -.045em;
}

.contact-lead {
  max-width: 430px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 17px;
  line-height: 1.65;
}

.contact-reasons {
  display: grid;
  gap: 22px;
  margin-top: 48px;
}

.contact-reason {
  display: flex;
  align-items: center;
  gap: 15px;
}

.contact-reason > i {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  color: var(--ft-gold);
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
}

.contact-reason strong,
.contact-reason span { display: block; }
.contact-reason strong { color: #fff; font-size: 14px; }
.contact-reason span { margin-top: 3px; color: rgba(255,255,255,.64); font-size: 12px; }

.contact-signoff {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding-top: 35px;
  color: rgba(255,255,255,.66);
  font-size: 12px;
}

.contact-signoff i { color: var(--ft-gold); font-size: 18px; }

.contact-form-card { padding: clamp(34px, 5vw, 60px); }
.contact-form-heading { position: relative; padding-right: 90px; }
.contact-form-heading h2 { margin: 8px 0 0; color: var(--ft-ink); font-size: clamp(30px, 4vw, 43px); letter-spacing: -.035em; }
.contact-cms-edit { position: absolute; top: 3px; right: 0; color: var(--ft-green); font-size: 12px; font-weight: 800; text-decoration: none; }
.contact-cms-edit i { margin-right: 6px; }

.contact-cms-copy {
  margin: 15px 0 28px;
  color: var(--ft-muted);
  line-height: 1.6;
}

.contact-cms-copy > :last-child { margin-bottom: 0; }
.contact-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.contact-field { margin-bottom: 20px; }
.contact-field label { display: block; margin-bottom: 8px; color: var(--ft-ink); font-size: 13px; font-weight: 800; }

.contact-form .form-control {
  min-height: 52px;
  padding: 13px 15px;
  color: var(--ft-ink);
  background: #f8faf8;
  border: 1px solid #d9e4dc;
  border-radius: 11px;
  box-shadow: none;
}

.contact-form textarea.form-control { min-height: 155px; resize: vertical; }
.contact-form .form-control::placeholder { color: #99a49d; }
.contact-form .form-control:focus { background: #fff; border-color: var(--ft-green-light); box-shadow: 0 0 0 4px rgba(47, 118, 84, .11); }

.contact-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 6px;
}

.contact-privacy { max-width: 250px; margin: 0; color: var(--ft-muted); font-size: 11px; line-height: 1.5; }
.contact-privacy i { margin-right: 7px; color: var(--ft-green-light); }
.contact-submit { display: inline-flex; align-items: center; gap: 16px; min-height: 52px; padding: 13px 21px; border-radius: 11px; font-weight: 800; }
.contact-submit i { transition: transform .2s ease; }
.contact-submit:hover i { transform: translateX(3px); }

.home-existing-user {
  margin: 12px 0 0;
  color: rgba(255, 255, 255, .82);
  font-size: 14px;
}

.home-existing-user a {
  margin-left: 5px;
  color: #fff;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.home-conversion-section {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 50px;
  padding: 82px 0;
  align-items: center;
}

.conversion-copy h2,
.section-heading h2,
.totalizer-explainer h2 {
  margin: 10px 0 16px;
  color: var(--ft-ink);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.conversion-copy > p,
.section-heading > p,
.totalizer-explainer p {
  color: var(--ft-muted);
  font-size: 17px;
  line-height: 1.7;
}

.conversion-checklist {
  display: grid;
  gap: 13px;
  margin: 24px 0 28px;
  padding: 0;
  list-style: none;
}

.conversion-checklist li { display: flex; gap: 11px; color: #344a3c; line-height: 1.5; }
.conversion-checklist i { margin-top: 4px; color: var(--ft-green-light); }

.conversion-feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

.conversion-feature-card {
  min-height: 300px;
  padding: 28px;
  color: var(--ft-ink);
  background: #fff;
  border: 1px solid var(--ft-border);
  border-radius: 18px;
  box-shadow: 0 12px 36px rgba(15,48,31,0.08);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.conversion-feature-card:hover {
  color: var(--ft-ink);
  transform: translateY(-4px);
  box-shadow: var(--ft-shadow);
}

.feature-card-icon {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 40px;
  color: var(--ft-gold);
  background: var(--ft-ink);
  border-radius: 14px;
  font-size: 21px;
}

.conversion-feature-card h5 { font-size: 23px; font-weight: 800; }
.conversion-feature-card p { min-height: 92px; color: var(--ft-muted); line-height: 1.6; }
.conversion-feature-card span { color: var(--ft-green); font-weight: 800; }

.home-revamp .how-it-works-section {
  margin-top: 0;
  padding: 55px 34px 42px;
  background: linear-gradient(135deg, #102b1c, #1d5b3a);
  border-radius: 20px;
}

.home-news-section {
  margin-top: 52px;
  padding: 28px 30px;
  background: #fff;
  border: 1px solid var(--ft-border);
  border-radius: 18px;
}

.news-toggle { display: flex; justify-content: space-between; color: var(--ft-ink); text-decoration: none; }
.news-toggle:hover { color: var(--ft-green); }

/* Query allowance and public sign-up gate */
.fat-tony-usage,
.fat-tony-plan-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 12px 0;
  padding: 8px 12px;
  color: var(--ft-muted);
  background: #f3f7f4;
  border: 1px solid #dce8df;
  border-radius: 8px;
  font-size: 12px;
}

.fat-tony-usage strong { color: var(--ft-ink); }
.fat-tony-usage a { color: var(--ft-green); font-weight: 800; }
.fat-tony-plan-note { justify-content: flex-start; color: var(--ft-green); }

.query-race-header { margin: 8px 0 7px; }
.query-race-title-line { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.query-meet-link { text-decoration: none; }
.query-meet-link h3 { margin: 0; font-size: 29px; font-weight: 800; }
.query-race-primary { display: flex; align-items: center; flex-wrap: wrap; color: var(--ft-ink); font-size: 16px; }
.query-race-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 2px 7px; margin-top: 2px; color: var(--ft-muted); font-size: 13px; line-height: 1.35; }
.query-race-date { white-space: nowrap; }
.query-race-name { color: var(--ft-ink); font-weight: 500; }
.query-race-separator { color: #a3acb8; margin: 0 5px; }
.query-race-links { margin-top: 5px; line-height: 1.3; }
.query-race-badge { padding: 3px 8px; color: #9e2f2f; background: #fff0f0; border: 1px solid #f1cece; border-radius: 999px; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }

.fat-tony-signup-gate {
  margin: 18px 0;
  padding: 28px;
  text-align: center;
  background: linear-gradient(135deg, #f6f1e4, #fff);
  border: 1px solid #e5dcc4;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(42,49,43,0.07);
}

.fat-tony-signup-copy { max-width: 570px; margin: 0 auto 18px; }
.fat-tony-signup-copy .eyebrow { color: #8a6a1e; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.fat-tony-signup-copy h5 { margin: 8px 0; color: var(--ft-ink); font-size: 25px; font-weight: 800; }
.fat-tony-signup-copy p { color: var(--ft-muted); line-height: 1.55; }
.fat-tony-signup-gate .btn-link { display: block; margin: 8px auto 0; color: var(--ft-muted); font-size: 12px; }

.fat-tony-limit-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: #fff8e7;
  border: 1px solid #ead9a7;
  border-radius: 12px;
}

.fat-tony-limit-card > i { color: #a77b14; font-size: 24px; }
.fat-tony-limit-card h6 { margin: 0 0 4px; color: var(--ft-ink); font-weight: 800; }
.fat-tony-limit-card p { color: var(--ft-muted); font-size: 13px; }

/* Shared Totalizer and Sandbox presentation */
.totalizer-shell { color: var(--ft-ink); }
.totalizer-shell.container-text { max-width: 1160px; }

.feature-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, .82fr);
  min-height: 460px;
  margin-bottom: 62px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(135deg, #102c1d, #236845);
  border-radius: 24px;
  box-shadow: var(--ft-shadow);
}

.sandbox-hero { background: linear-gradient(135deg, #152e25, #285c4b 60%, #85702e); }
.feature-hero-copy { align-self: center; padding: clamp(34px, 6vw, 70px); }
.feature-hero h1 { margin: 12px 0 16px; color: #fff; font-size: clamp(40px, 5vw, 64px); line-height: 1; letter-spacing: -.04em; }
.feature-hero .lead { color: rgba(255,255,255,.8); line-height: 1.6; }
.feature-hero-art { min-height: 100%; }
.feature-hero-art img { width: 100%; height: 100%; object-fit: cover; }

.feature-cms-copy {
  margin: -28px auto 50px;
  padding: 20px 24px;
  color: var(--ft-muted);
  background: #fff;
  border: 1px solid var(--ft-border);
  border-radius: 14px;
}

.feature-section { margin: 65px 0; }
.section-heading { max-width: 720px; margin-bottom: 30px; }

.feature-step-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.feature-step {
  position: relative;
  min-height: 260px;
  padding: 26px 23px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ft-border);
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15,48,31,.06);
}

.feature-step > span { position: absolute; top: 12px; right: 16px; color: #e5ebe6; font-size: 45px; font-weight: 900; }
.feature-step > i { position: relative; margin: 18px 0 38px; color: var(--ft-green); font-size: 27px; }
.feature-step h5 { color: var(--ft-ink); font-weight: 800; }
.feature-step p { margin: 0; color: var(--ft-muted); font-size: 14px; line-height: 1.6; }

.leaderboard-section,
.totalizer-explainer {
  padding: clamp(25px, 5vw, 50px);
  background: #f2f6f3;
  border-radius: 20px;
}

.leaderboard-table { overflow: hidden; background: #fff; border: 1px solid var(--ft-border); border-radius: 14px; }
.leaderboard-row { display: grid; grid-template-columns: 70px 1.5fr 1fr 100px; gap: 12px; padding: 15px 18px; border-bottom: 1px solid #edf1ee; align-items: center; }
.leaderboard-row:last-child { border-bottom: 0; }
.leaderboard-head { color: var(--ft-muted); background: #f8faf8; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.leaderboard-rank { color: var(--ft-green); font-weight: 800; }
.leaderboard-rank i { margin-right: 8px; color: var(--ft-gold); }
.positive { color: #187549; font-weight: 800; }
.negative { color: #a83535; font-weight: 800; }

.feature-empty-state { padding: 45px 25px; text-align: center; color: var(--ft-muted); background: #f7f9f7; border: 1px dashed #cbd9cf; border-radius: 16px; }
.feature-empty-state > i { margin-bottom: 13px; color: var(--ft-gold); font-size: 34px; }
.feature-empty-state h5 { color: var(--ft-ink); font-weight: 800; }

.feature-legal,
.feature-notice {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin: 28px 0;
  padding: 19px 22px;
  color: #5d655f;
  background: #fffaf0;
  border: 1px solid #eadbb8;
  border-radius: 13px;
  font-size: 13px;
  line-height: 1.55;
}

.feature-legal > i,
.feature-notice > i { margin-top: 3px; color: #9e791f; font-size: 18px; }
.feature-legal strong,
.feature-notice strong { display: block; color: #574514; }
.feature-notice > a { margin-left: auto; white-space: nowrap; font-weight: 800; }

.feature-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin: 60px 0 15px;
  padding: 34px 38px;
  color: #fff;
  background: var(--ft-ink);
  border-radius: 18px;
}

.feature-final-cta h3 { margin: 6px 0 0; color: #fff; }

.totalizer-explainer { display: grid; grid-template-columns: 1.25fr .75fr; gap: 50px; align-items: center; margin: 70px 0; }
.tony-callout { padding: 28px; text-align: center; background: #fff; border-radius: 18px; box-shadow: 0 15px 35px rgba(15,48,31,.08); }
.tony-callout img { width: 90px; height: 90px; object-fit: cover; border-radius: 50%; }
.tony-callout blockquote { margin: 18px 0 0; color: var(--ft-green); font-size: 18px; font-weight: 800; line-height: 1.5; }

.feature-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin: 10px 0 32px; }
.feature-page-heading { max-width: 680px; }
.feature-page-heading h1 { margin: 7px 0; color: var(--ft-ink); font-size: clamp(40px, 5vw, 60px); font-weight: 800; letter-spacing: -.04em; }
.feature-page-heading p { color: var(--ft-muted); font-size: 17px; }

.totalizer-list-section { margin: 48px 0; }
.totalizer-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.totalizer-card-grid .totalizer-card { margin: 0 !important; border: 1px solid var(--ft-border); border-radius: 17px; box-shadow: 0 10px 26px rgba(15,48,31,.07); }
.totalizer-card .card-body { display: flex; flex-direction: column; padding: 25px; }
.totalizer-card-top { display: flex; justify-content: space-between; margin-bottom: 16px; }
.totalizer-access,
.totalizer-status { color: var(--ft-muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.totalizer-access i { margin-right: 6px; color: var(--ft-green); }
.totalizer-status.live { color: #17804d; }
.totalizer-card .card-title { color: var(--ft-ink); font-size: 23px; font-weight: 800; }
.totalizer-card .card-text { min-height: 48px; color: var(--ft-muted); }
.totalizer-card-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 10px 0; }
.totalizer-stat { display: flex; align-items: center; gap: 10px; padding: 12px; background: #f5f8f5; border-radius: 10px; }
.totalizer-stat > i { color: var(--ft-green); }
.totalizer-stat strong,
.totalizer-stat span { display: block; }
.totalizer-stat strong { color: var(--ft-ink); font-size: 15px; }
.totalizer-stat span { color: var(--ft-muted); font-size: 10px; text-transform: uppercase; }
.totalizer-card-actions { display: flex; gap: 9px; margin-top: auto; padding-top: 18px; }

.game-stat-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 25px 0 35px; }
.game-stat { display: flex; align-items: center; gap: 13px; padding: 18px; background: #f3f7f4; border: 1px solid var(--ft-border); border-radius: 12px; }
.game-stat > i { color: var(--ft-green); font-size: 20px; }
.game-stat strong,
.game-stat span { display: block; }
.game-stat strong { color: var(--ft-ink); font-size: 20px; }
.game-stat span { color: var(--ft-muted); font-size: 11px; text-transform: uppercase; }
.totalizer-rule-label { color: var(--ft-green); }

.feature-form-page form { padding: 30px; background: #fff; border: 1px solid var(--ft-border); border-radius: 16px; box-shadow: 0 12px 30px rgba(15,48,31,.07); }
.feature-form-page .form-group { margin-bottom: 18px; }
.totalizer-bet-page > .row > .flex-item:first-child,
.sandbox-bet-page > .row > .flex-item:first-child { padding: 26px; background: #fff; border: 1px solid var(--ft-border); border-radius: 16px; box-shadow: 0 12px 30px rgba(15,48,31,.06); }

/* Compact sandbox bet builder */
.sandbox-bet-page > .row > .flex-item:first-child { padding: 20px; }
.sandbox-bets-summary { margin: 0 0 10px; color: var(--ft-ink); font-size: 17px; font-weight: 850; }
.sandbox-bet-history { margin-bottom: 14px; padding: 10px 14px 10px 30px; background: #f5f8f5; border: 1px solid var(--ft-border); border-radius: 10px; font-size: 12px; }
.sandbox-bet-history li { margin: 3px 0; }
.sandbox-empty-bets { margin: 8px 0 12px; color: var(--ft-muted); font-size: 12px; }
.sandbox-odds-warning { margin: 10px 0 5px; padding: 9px 11px; background: #fff7e2; border: 1px solid #ead9a7; border-radius: 9px; font-size: 12px; line-height: 1.4; }
.sandbox-smart-bet { margin-top: 12px; padding: 7px 13px; border-radius: 999px; font-size: 12px; }
.sandbox-bet-title { margin-bottom: 9px; font-size: 17px; font-weight: 850; }
.sandbox-bet-columns { padding: 8px 10px; background: #173b2a; border-radius: 10px 10px 0 0; }
.sandbox-bet-columns h6 { margin: 0; font-size: 11px; font-weight: 800; line-height: 1.25; }
.sandbox-bet-columns h6.small { margin-top: 2px; color: rgba(255,255,255,.7); font-size: 9px; }
.sandbox-runner-row { min-height: 78px; align-items: center; padding: 8px 10px; border: 0; border-bottom: 1px solid #e1e7e2; background: #fff; }
.sandbox-runner-row:nth-of-type(even) { background: #f8faf8; }
.sandbox-runner-row:hover { background: #f1f6f2; }
.sandbox-runner-identity h6 { margin: 0 0 3px; color: var(--ft-ink); font-size: 12px; line-height: 1.3; }
.sandbox-runner-identity h6:first-child { font-size: 14px; font-weight: 800; }
.sandbox-runner-identity h6:nth-child(2) { color: var(--ft-muted); font-size: 10px; }
.sandbox-runner-market .input-group { flex-wrap: nowrap; align-items: center; gap: 4px; }
.sandbox-bet-page .sandbox-runner-market .btn-bet,
.sandbox-bet-page .sandbox-runner-market .btn-bet-inactive { min-width: 66px; padding: 5px 7px; border: 1px solid #d8e0da; border-radius: 7px; background: #edf2ee; color: #173b2a; font-size: 11px; font-weight: 800; box-shadow: none; }
.sandbox-bet-page .sandbox-runner-market .btn-bet:hover { background: #dfe9e2; }
.sandbox-bet-page .sandbox-runner-market .btn-bet-checked { color: #fff; background: #2f7654; border-color: #2f7654; }
.sandbox-bet-page .sandbox-runner-market .btn-tri,
.sandbox-bet-page .sandbox-runner-market .btn-qui,
.sandbox-bet-page .sandbox-runner-market .btn-tri-inactive,
.sandbox-bet-page .sandbox-runner-market .btn-qui-inactive { min-width: 31px; padding: 5px 6px; border: 1px solid #d8e0da; border-radius: 7px; background: #edf2ee; color: #31483b; font-size: 10px; font-weight: 800; box-shadow: none; }
.sandbox-bet-page .sandbox-runner-market .btn-tri-checked,
.sandbox-bet-page .sandbox-runner-market .btn-qui-checked { color: #fff; background: #2f7654; border-color: #2f7654; }
.sandbox-bet-page .sandbox-runner-market .box-row { align-self: center; margin-right: 3px !important; font-size: 17px; }
.sandbox-bet-page .bet-amount { width: 54px; padding: 4px 6px; font-size: 11px; }
.sandbox-combo-totals { margin: 10px 0 0; padding: 10px; background: #f5f8f5; border: 1px solid var(--ft-border); border-radius: 9px; }
.sandbox-combo-totals .input-group { align-items: center; justify-content: flex-end; gap: 7px; }
.sandbox-combo-totals h6 { margin: 0; font-size: 11px; font-weight: 800; }
.sandbox-combo-totals input { width: 58px; padding: 4px 6px; border: 1px solid #cbd7ce; border-radius: 6px; font-size: 12px; }
.sandbox-bet-actions { margin-top: 10px; }
.sandbox-bet-actions .btn { padding: 7px 13px; font-size: 11px; }

.terms-fair-use { padding: 22px; background: #f5f8f5; border: 1px solid var(--ft-border); border-radius: 12px; }
.terms-fair-use h3 { color: var(--ft-ink); }
.terms-fair-use p { margin: 0; color: var(--ft-muted); line-height: 1.65; }

@media (max-width: 991px) {
  .tony-hero-quote { display: none; }
  .home-conversion-section,
  .feature-hero,
  .totalizer-explainer { grid-template-columns: 1fr; }
  .feature-hero-art { max-height: 330px; }
  .feature-step-grid { grid-template-columns: repeat(2, 1fr); }
  .feature-page-header { align-items: flex-start; flex-direction: column; }
  .contact-shell { grid-template-columns: minmax(270px, .75fr) minmax(0, 1.25fr); }
  .contact-intro { padding: 38px 30px; }
}

@media (max-width: 767px) {
  .query-race-title-line { align-items: flex-start; flex-direction: column; gap: 0; }
  .query-meet-link h3 { font-size: 25px; }
  .query-race-primary { font-size: 14px; }
  .query-race-meta { font-size: 12px; }
  .query-race-name { flex-basis: 100%; }
  .query-race-meta > .query-race-separator { display: none; }
  .query-race-badge { margin: 3px 0; }
  .sandbox-bet-page > .row > .flex-item:first-child { padding: 14px; }
  .sandbox-runner-row { margin-bottom: 8px; padding: 8px; border: 1px solid var(--ft-border); border-radius: 10px; }
  .sandbox-runner-market { padding-top: 5px; padding-bottom: 5px; border-top: 1px solid #edf1ee; }
  .sandbox-combo-totals > div:empty { display: none; }
  .sandbox-combo-totals .col-md-3 { margin: 4px 0; }
  .sandbox-combo-totals .input-group { justify-content: space-between; }
  .home-hero.home-hero-revamp { min-height: 620px; padding: 105px 20px 70px; background-position: 43% center; }
  .home-hero-shade { background: linear-gradient(90deg, rgba(7,25,15,.94), rgba(7,25,15,.72)); }
  .home-hero-revamp h1 { font-size: 45px; }
  .home-hero-actions .btn { width: 100%; }
  .home-value-strip { grid-template-columns: 1fr; margin-top: -25px; }
  .home-conversion-section { gap: 30px; padding: 55px 0; }
  .conversion-feature-grid,
  .totalizer-card-grid { grid-template-columns: 1fr; }
  .conversion-feature-card { min-height: auto; }
  .conversion-feature-card p { min-height: auto; }
  .feature-card-icon { margin-bottom: 25px; }
  .home-revamp .upcoming-meets-section,
  .home-revamp .how-it-works-section { padding: 24px 18px; }
  .feature-hero { margin-bottom: 42px; border-radius: 17px; }
  .feature-hero-copy { padding: 34px 24px; }
  .feature-hero h1 { font-size: 42px; }
  .feature-actions .btn { width: 100%; }
  .feature-step-grid { grid-template-columns: 1fr; }
  .feature-step { min-height: 220px; }
  .leaderboard-row { grid-template-columns: 48px 1.3fr 1fr; }
  .leaderboard-row > :last-child { display: none; }
  .feature-final-cta { align-items: stretch; flex-direction: column; padding: 28px 24px; }
  .feature-notice { flex-wrap: wrap; }
  .feature-notice > a { margin-left: 33px; }
  .game-stat-strip { grid-template-columns: 1fr; }
  .fat-tony-usage { align-items: flex-start; flex-direction: column; }
  .fat-tony-signup-gate .btn { padding-left: 18px; padding-right: 18px; font-size: 14px; }
  .contact-page { padding: 0 0 45px; }
  .contact-shell { grid-template-columns: 1fr; border-radius: 17px; }
  .contact-intro { min-height: 0; padding: 36px 25px 38px; }
  .contact-intro h1 { font-size: 43px; }
  .contact-reasons { grid-template-columns: 1fr; gap: 15px; margin-top: 30px; }
  .contact-signoff { margin-top: 24px; padding-top: 0; }
  .contact-form-card { padding: 34px 24px 38px; }
  .contact-field-grid { grid-template-columns: 1fr; gap: 0; }
  .contact-form-footer { align-items: stretch; flex-direction: column; }
  .contact-privacy { max-width: none; }
  .contact-submit { justify-content: center; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .conversion-feature-card,
  .meet-card { transition: none; }
  .meets-marquee-track { animation: none; }
}

/* Fat Tony Hotline */
.hotline-page {
  --hotline-ink: #f7f2e7;
  --hotline-muted: #b9c6bd;
  --hotline-green: #102f22;
  --hotline-green-light: #1e5a3d;
  --hotline-gold: #e7bd5a;
  --hotline-red: #d64b43;
  width: min(1320px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  /* The site header is fixed and 142px tall on desktop. */
  padding: 166px 0 56px;
  color: #14231a;
}

.hotline-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 34px;
  align-items: center;
  min-height: 430px;
  padding: clamp(28px, 3.5vw, 48px);
  overflow: hidden;
  position: relative;
  border-radius: 28px;
  background:
    radial-gradient(circle at 86% 12%, rgba(231,189,90,.17), transparent 29%),
    linear-gradient(135deg, #071a11 0%, var(--hotline-green) 55%, #173d2d 100%);
  box-shadow: 0 28px 75px rgba(7,26,17,.24);
}

.hotline-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .13;
  pointer-events: none;
  background-image: repeating-linear-gradient(112deg, transparent 0 28px, rgba(255,255,255,.12) 29px 30px);
}

.hotline-hero-copy,
.hotline-console { position: relative; z-index: 1; }
.hotline-hero-copy { color: var(--hotline-ink); }
.hotline-kicker,
.hotline-card-label {
  display: inline-flex;
  align-items: center;
  color: var(--hotline-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.hotline-hero h1,
.hotline-locked h1 {
  max-width: 650px;
  margin: 15px 0 20px;
  color: #fff;
  font-size: clamp(44px, 5vw, 64px);
  font-weight: 800;
  line-height: .96;
  letter-spacing: -.055em;
}
.hotline-hero-copy > p {
  max-width: 620px;
  margin: 0;
  color: var(--hotline-muted);
  font-size: 16px;
  line-height: 1.6;
}
.hotline-privacy {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 20px;
  color: #dbe5df;
  font-size: 13px;
}
.hotline-privacy i { color: var(--hotline-gold); }

.hotline-console {
  padding: 22px 22px 18px;
  text-align: center;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: rgba(4,18,11,.54);
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 22px 55px rgba(0,0,0,.28);
  backdrop-filter: blur(14px);
}
.hotline-call-stage {
  display: grid;
  width: 140px;
  height: 140px;
  margin: 0 auto 12px;
  place-items: center;
  position: relative;
}
.hotline-call-stage > * { grid-area: 1 / 1; }
.hotline-pulse {
  width: 118px;
  height: 118px;
  border: 1px solid rgba(231,189,90,.36);
  border-radius: 50%;
  box-shadow: 0 0 0 13px rgba(231,189,90,.05), 0 0 0 27px rgba(231,189,90,.025);
}
.hotline-call-button {
  z-index: 3;
  width: 72px;
  height: 72px;
  border: 0;
  border-radius: 50%;
  color: #102318;
  background: linear-gradient(145deg, #f5d77f, var(--hotline-gold));
  box-shadow: 0 13px 32px rgba(0,0,0,.38), inset 0 2px rgba(255,255,255,.5);
  font-size: 24px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.hotline-call-button:hover:not(:disabled) { transform: translateY(-3px) scale(1.04); box-shadow: 0 18px 38px rgba(0,0,0,.45); }
.hotline-call-button:focus-visible { outline: 4px solid rgba(255,255,255,.8); outline-offset: 5px; }
.hotline-call-button:disabled { cursor: wait; }
.hotline-call-button.is-connected { opacity: 0; pointer-events: none; }
.hotline-avatar {
  display: grid;
  z-index: 2;
  width: 72px;
  height: 72px;
  place-items: center;
  border: 2px solid var(--hotline-gold);
  border-radius: 50%;
  color: var(--hotline-gold);
  background: #0b2217;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -.05em;
}
.hotline-call-button:not(.is-connected) + .hotline-avatar { opacity: 0; }
.hotline-status { margin: 0 0 5px; color: #fff; font-size: 21px; font-weight: 800; }
.hotline-status-detail { min-height: 32px; margin: 0 auto; color: var(--hotline-muted); font-size: 13px; line-height: 1.55; }
.hotline-actions { min-height: 40px; margin-top: 8px; }
.hotline-hangup { border-radius: 999px; padding: 10px 22px; font-weight: 700; }
.hotline-interrupt {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 10px -4px -2px;
  padding: 12px 14px;
  color: #fff;
  text-align: left;
  border-top: 1px solid rgba(255,255,255,.1);
  cursor: pointer;
}
.hotline-interrupt input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--hotline-gold); }
.hotline-interrupt span { display: flex; flex-direction: column; }
.hotline-interrupt strong { font-size: 13px; }
.hotline-interrupt small { margin-top: 3px; color: var(--hotline-muted); line-height: 1.4; }
.hotline-console[data-state='connecting'] .hotline-pulse,
.hotline-console[data-state='thinking'] .hotline-pulse,
.hotline-console[data-state='speaking'] .hotline-pulse { animation: hotline-ring 1.6s ease-out infinite; }
.hotline-console[data-state='listening'] .hotline-pulse { border-color: #58c986; box-shadow: 0 0 0 13px rgba(88,201,134,.07), 0 0 0 27px rgba(88,201,134,.03); }

.hotline-content {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
  gap: 24px;
  margin-top: 24px;
}
.hotline-card {
  padding: 30px;
  border: 1px solid #dfe7e1;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(16,47,34,.07);
}
.hotline-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hotline-card h2,
.hotline-preview h2 { margin: 5px 0 0; color: #102f22; font-size: 25px; font-weight: 800; letter-spacing: -.025em; }
.hotline-clear { padding: 5px; border: 0; color: #65756c; background: transparent; font-size: 13px; font-weight: 700; }
.hotline-transcript {
  height: 245px;
  margin-top: 20px;
  padding: 20px;
  overflow-y: auto;
  border-radius: 14px;
  background: #f4f7f5;
}
.hotline-empty { margin: 70px auto 0; color: #819087; text-align: center; font-size: 14px; }
.hotline-transcript-line { display: grid; grid-template-columns: 82px 1fr; gap: 12px; margin: 0 0 15px; color: #2d3c33; line-height: 1.6; }
.hotline-transcript-line strong { color: #1e5a3d; font-size: 13px; }
.hotline-prompts { display: flex; flex-direction: column; }
.hotline-prompt {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid #e3e9e5;
  border-radius: 12px;
  color: #26382d;
  background: #f8faf8;
  text-align: left;
  font-size: 13px;
  font-weight: 700;
}
.hotline-prompt:hover { border-color: #b8cbbf; background: #f1f6f2; }
.hotline-prompt i { color: #b48622; text-align: center; }
.hotline-prompt-note { margin: auto 0 0; padding-top: 20px; color: #708078; font-size: 12px; line-height: 1.55; }

.hotline-locked-page { max-width: none; }
.hotline-locked {
  display: grid;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
  gap: clamp(35px, 7vw, 80px);
  align-items: center;
  padding: clamp(30px, 4vw, 52px);
  border-radius: 28px;
  color: #fff;
  background: radial-gradient(circle at 12% 45%, rgba(231,189,90,.16), transparent 27%), linear-gradient(135deg, #071a11, #173d2d);
  box-shadow: 0 28px 75px rgba(7,26,17,.22);
}
.hotline-locked-art { display: grid; min-height: 220px; place-items: center; position: relative; }
.hotline-locked-art > * { grid-area: 1 / 1; }
.hotline-locked-art .hotline-avatar { width: 118px; height: 118px; font-size: 36px; }
.hotline-lock { z-index: 3; margin: 84px 0 0 82px; padding: 12px; border-radius: 50%; color: #14231a; background: var(--hotline-gold); box-shadow: 0 8px 18px rgba(0,0,0,.35); }
.hotline-locked h1 { max-width: 680px; font-size: clamp(42px, 5.5vw, 68px); }
.hotline-locked-copy > p { max-width: 620px; color: var(--hotline-muted); font-size: 17px; line-height: 1.65; }
.hotline-benefits { display: grid; gap: 11px; margin: 25px 0 30px; padding: 0; list-style: none; }
.hotline-benefits li { display: flex; gap: 12px; align-items: center; color: #e5ede8; font-size: 14px; }
.hotline-benefits i { color: var(--hotline-gold); }
.hotline-locked .btn-primary { border-color: var(--hotline-gold); color: #102318; background: var(--hotline-gold); font-weight: 800; }
.hotline-login-link { display: inline-block; margin-left: 20px; color: #fff; font-size: 14px; font-weight: 700; }
.hotline-preview { margin-top: 24px; padding: 38px; border: 1px solid #dfe7e1; border-radius: 22px; background: #fff; }
.hotline-preview-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.hotline-preview-grid article { padding: 23px; border-radius: 15px; background: #f4f7f5; }
.hotline-preview-grid i { color: #b48622; font-size: 21px; }
.hotline-preview-grid h3 { margin: 17px 0 8px; color: #183426; font-size: 16px; font-weight: 800; }
.hotline-preview-grid p { margin: 0; color: #627269; font-size: 13px; line-height: 1.55; }

@keyframes hotline-ring {
  0% { transform: scale(.88); opacity: .35; }
  70% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1.12); opacity: 0; }
}

@media (max-width: 991px) {
  .hotline-page { padding-top: 109px; }
}

@media (max-width: 900px) {
  .hotline-hero { grid-template-columns: 1fr; padding: 50px 35px; }
  .hotline-hero-copy { text-align: center; }
  .hotline-hero-copy > p { margin-left: auto; margin-right: auto; }
  .hotline-privacy { justify-content: center; }
  .hotline-console { max-width: 470px; width: 100%; margin: 0 auto; }
  .hotline-content { grid-template-columns: 1fr; }
  .hotline-locked { grid-template-columns: 1fr; text-align: center; }
  .hotline-locked-art { min-height: 210px; }
  .hotline-locked-copy > p { margin-left: auto; margin-right: auto; }
  .hotline-benefits { display: inline-grid; text-align: left; }
}

@media (max-width: 600px) {
  .hotline-page {
    width: calc(100% - 24px);
    padding: 85px 0 45px;
  }
  .hotline-hero,
  .hotline-locked { margin: 0; padding: 38px 20px; border-radius: 18px; }
  .hotline-hero { gap: 30px; }
  .hotline-hero h1,
  .hotline-locked h1 { font-size: 44px; }
  .hotline-console { padding: 26px 16px 20px; }
  .hotline-content { gap: 16px; }
  .hotline-card,
  .hotline-preview { padding: 22px 18px; border-radius: 16px; }
  .hotline-transcript-line { grid-template-columns: 1fr; gap: 2px; }
  .hotline-login-link { display: block; margin: 18px 0 0; }
  .hotline-preview-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .hotline-console .hotline-pulse { animation: none !important; }
  .hotline-call-button { transition: none; }
}

/* Racing guides */
.guide-hub-page,
.guide-article-page { width: min(1180px, 100%); margin: 0 auto; padding: 8px 0 64px; color: var(--ft-ink); }
.guide-hub-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); min-height: 500px; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 15%, rgba(228,184,79,.2), transparent 24%), linear-gradient(135deg, #0c291a, #1c5a3b 64%, #274d38); border-radius: 28px; box-shadow: 0 28px 70px rgba(15,48,31,.18); }
.guide-hub-hero__copy { align-self: center; padding: clamp(42px, 7vw, 82px); }
.guide-hub-hero h1 { max-width: 760px; margin: 16px 0; color: #fff; font-size: clamp(48px, 6.5vw, 78px); line-height: .99; letter-spacing: -.045em; }
.guide-hub-hero .lead { max-width: 660px; color: rgba(255,255,255,.8); line-height: 1.65; }
.guide-hub-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.guide-hub-hero__actions .btn { min-height: 51px; padding: 13px 20px; font-weight: 800; }
.guide-hub-hero__proof { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 28px; color: rgba(255,255,255,.72); font-size: 12px; }
.guide-hub-hero__proof span { display: flex; align-items: center; gap: 7px; }
.guide-hub-hero__proof i { color: var(--ft-gold); }
.guide-hub-hero__aside { display: flex; flex-direction: column; justify-content: flex-end; padding: 48px 38px; background: rgba(0,0,0,.15); border-left: 1px solid rgba(255,255,255,.09); }
.guide-hub-hero__aside > i { margin-bottom: auto; color: var(--ft-gold); font-size: 44px; }
.guide-hub-hero__aside blockquote { margin: 60px 0 16px; font-size: 21px; font-weight: 800; line-height: 1.5; }
.guide-hub-hero__aside strong { color: var(--ft-gold); }
.guide-library { padding: 76px 0 24px; }
.guide-library__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 30px; }
.guide-library__heading > div { max-width: 720px; }
.guide-library__heading h2 { margin: 8px 0; font-size: clamp(34px, 4vw, 50px); font-weight: 800; letter-spacing: -.035em; }
.guide-library__heading p { margin: 0; color: var(--ft-muted); line-height: 1.65; }
.guide-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.guide-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--ft-border); border-radius: 20px; box-shadow: 0 12px 34px rgba(15,48,31,.07); transition: transform .2s ease, box-shadow .2s ease; }
.guide-card:hover { transform: translateY(-4px); box-shadow: 0 20px 42px rgba(15,48,31,.13); }
.guide-card--featured { grid-column: span 2; }
.guide-card__image { position: relative; display: block; height: 245px; overflow: hidden; background: #dfe7e1; }
.guide-card--featured .guide-card__image { height: 330px; }
.guide-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.guide-card:hover .guide-card__image img { transform: scale(1.025); }
.guide-card__shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(5,25,15,.58)); }
.guide-card__category { position: absolute; left: 18px; bottom: 16px; padding: 7px 10px; color: #173723; background: rgba(255,255,255,.92); border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.guide-card__body { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.guide-card__meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 13px; color: var(--ft-muted); font-size: 11px; font-weight: 700; }
.guide-card__meta i { margin-right: 5px; color: var(--ft-green); }
.guide-card__recommended { color: #8b6818; }
.guide-card h2 { margin: 0 0 11px; font-size: 23px; font-weight: 800; line-height: 1.2; }
.guide-card h2 a { color: var(--ft-ink); text-decoration: none; }
.guide-card p { color: var(--ft-muted); font-size: 14px; line-height: 1.65; }
.guide-card__link { display: inline-flex; align-items: center; gap: 9px; margin-top: auto; color: var(--ft-green); font-weight: 800; text-decoration: none; }
.guide-conversion-panel { display: flex; align-items: center; justify-content: space-between; gap: 34px; margin: 70px 0 35px; padding: clamp(32px, 5vw, 55px); color: #fff; background: linear-gradient(135deg, #173c29, #245f40); border-radius: 23px; }
.guide-conversion-panel__copy { max-width: 690px; }
.guide-conversion-panel h2 { margin: 9px 0; color: #fff; font-size: clamp(29px, 4vw, 43px); font-weight: 800; }
.guide-conversion-panel p { margin: 0; color: rgba(255,255,255,.74); line-height: 1.65; }
.guide-conversion-panel__actions { display: flex; flex-shrink: 0; gap: 10px; }
.guide-article-hero { position: relative; display: flex; min-height: 570px; align-items: flex-end; overflow: hidden; color: #fff; background: var(--ft-ink); border-radius: 28px; box-shadow: 0 25px 65px rgba(15,48,31,.18); }
.guide-article-hero__image,
.guide-article-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.guide-article-hero__image { object-fit: cover; }
.guide-article-hero__shade { background: linear-gradient(0deg, rgba(5,22,13,.94) 0%, rgba(5,22,13,.5) 48%, rgba(5,22,13,.1) 76%); }
.guide-article-hero__content { position: relative; z-index: 1; width: min(860px, 100%); padding: clamp(34px, 6vw, 70px); }
.guide-back-link { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 38px; color: rgba(255,255,255,.82); font-size: 13px; font-weight: 800; text-decoration: none; }
.guide-back-link:hover { color: #fff; }
.guide-article-hero__meta { display: flex; align-items: center; gap: 10px; margin-bottom: 13px; color: var(--ft-gold); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.guide-article-hero__meta span + span::before { margin-right: 10px; content: '•'; }
.guide-article-hero h1 { margin: 0 0 17px; color: #fff; font-size: clamp(43px, 6vw, 70px); font-weight: 800; line-height: 1; letter-spacing: -.045em; }
.guide-article-hero p { max-width: 740px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(17px, 2vw, 21px); line-height: 1.58; }
.guide-article-layout { display: grid; grid-template-columns: minmax(235px, .34fr) minmax(0, .66fr); gap: clamp(35px, 6vw, 80px); width: min(1050px, 100%); margin: 60px auto 0; }
.guide-article-aside { align-self: start; position: sticky; top: 105px; }
.guide-takeaway-card,
.guide-ask-card { padding: 25px; border-radius: 17px; }
.guide-takeaway-card { background: #f4f7f4; border: 1px solid var(--ft-border); }
.guide-takeaway-card h2 { margin: 8px 0 18px; font-size: 21px; font-weight: 800; }
.guide-takeaway-card ul { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.guide-takeaway-card li { display: grid; grid-template-columns: 21px 1fr; gap: 8px; color: #4f6056; font-size: 13px; line-height: 1.55; }
.guide-takeaway-card i { margin-top: 3px; color: var(--ft-green); }
.guide-ask-card { margin-top: 18px; color: #fff; background: var(--ft-ink); }
.guide-ask-card > i { color: var(--ft-gold); font-size: 25px; }
.guide-ask-card h2 { margin: 16px 0 8px; color: #fff; font-size: 20px; font-weight: 800; }
.guide-ask-card p { color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.55; }
.guide-rich-content { color: #34453b; font-size: 17px; line-height: 1.85; }
.guide-rich-content > p:first-child { color: var(--ft-ink); font-size: 21px; line-height: 1.7; }
.guide-rich-content section + section,
.guide-rich-content h2 { margin-top: 42px; }
.guide-rich-content h2 { color: var(--ft-ink); font-size: clamp(27px, 3vw, 35px); font-weight: 800; letter-spacing: -.025em; }
.guide-rich-content h3 { margin-top: 30px; color: var(--ft-ink); font-size: 22px; font-weight: 800; }
.guide-rich-content img { max-width: 100%; height: auto; border-radius: 14px; }
.guide-rich-content blockquote { margin: 32px 0; padding: 23px 27px; color: var(--ft-green); background: #f7f2e6; border-left: 4px solid var(--ft-gold); border-radius: 0 13px 13px 0; font-size: 19px; font-weight: 800; }
.guide-rich-content table { width: 100%; margin: 28px 0; border-collapse: collapse; font-size: 14px; }
.guide-rich-content th,
.guide-rich-content td { padding: 13px; border: 1px solid var(--ft-border); text-align: left; }
.guide-rich-content th { background: #f3f7f4; }
.guide-faq-section { margin-top: 65px; padding-top: 44px; border-top: 1px solid var(--ft-border); }
.guide-faq-section > h2 { margin: 8px 0 24px; color: var(--ft-ink); font-size: 32px; font-weight: 800; }
.guide-faq-section .accordion-item { margin-bottom: 10px; overflow: hidden; border: 1px solid var(--ft-border); border-radius: 12px; }
.guide-faq-section .accordion-button { color: var(--ft-ink); font-weight: 800; box-shadow: none; }
.guide-faq-section .accordion-button:not(.collapsed) { color: var(--ft-green); background: #f3f7f4; }
.guide-faq-section .accordion-body { color: var(--ft-muted); line-height: 1.7; }
.guide-further-reading { margin-top: 45px; padding: 25px; background: #f5f7f5; border-radius: 15px; }
.guide-further-reading h2 { font-size: 22px; font-weight: 800; }
.guide-related { margin: 80px 0 30px; padding-top: 55px; border-top: 1px solid var(--ft-border); }
.guide-related__heading h2 { margin: 7px 0 26px; font-size: 35px; font-weight: 800; }
.guide-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.guide-related-card { overflow: hidden; color: inherit; background: #fff; border: 1px solid var(--ft-border); border-radius: 16px; text-decoration: none; box-shadow: 0 10px 28px rgba(15,48,31,.06); }
.guide-related-card > img { width: 100%; height: 175px; object-fit: cover; }
.guide-related-card__copy { padding: 21px; }
.guide-related-card__copy > span { color: #8b6818; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.guide-related-card h3 { margin: 7px 0; color: var(--ft-ink); font-size: 19px; font-weight: 800; }
.guide-related-card p { color: var(--ft-muted); font-size: 12px; line-height: 1.55; }
.guide-related-card strong { color: var(--ft-green); font-size: 12px; }
.guide-admin-image img { width: 100%; max-height: 180px; object-fit: cover; }
.sticky-guide-save { display: flex; gap: 10px; padding: 15px; background: rgba(255,255,255,.94); border: 1px solid var(--ft-border); border-radius: 14px; box-shadow: 0 12px 30px rgba(15,48,31,.1); }

@media (min-width: 993px) and (max-width: 1199px) {
  .navbar .navbar-nav .nav-link { padding-right: 7px; padding-left: 7px; font-size: 11px; }
  .navbar .ft-nav-signup { margin-right: 0; padding: 7px 10px; font-size: 10px; }
  .navbar .dollar-bubble { display: none; }
}

@media (max-width: 991px) {
  .guide-hub-hero { grid-template-columns: 1fr; }
  .guide-hub-hero__aside { min-height: 260px; border-top: 1px solid rgba(255,255,255,.09); border-left: 0; }
  .guide-hub-hero__aside blockquote { margin-top: 35px; }
  .guide-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-article-layout { grid-template-columns: 1fr; }
  .guide-article-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; position: static; }
  .guide-ask-card { margin-top: 0; }
}

@media (max-width: 767px) {
  .guide-hub-page,
  .guide-article-page { padding-top: 0; }
  .guide-hub-hero,
  .guide-article-hero { margin-right: 0; margin-left: 0; border-radius: 18px; }
  .guide-hub-hero__copy { padding: 52px 24px 42px; }
  .guide-hub-hero h1 { font-size: 48px; }
  .guide-hub-hero__actions .btn { width: 100%; }
  .guide-hub-hero__aside { min-height: 230px; padding: 30px 24px; }
  .guide-library { padding-top: 55px; }
  .guide-library__heading { align-items: flex-start; flex-direction: column; }
  .guide-card-grid { grid-template-columns: 1fr; }
  .guide-card--featured { grid-column: auto; }
  .guide-card__image,
  .guide-card--featured .guide-card__image { height: 235px; }
  .guide-conversion-panel { align-items: stretch; flex-direction: column; padding: 30px 24px; }
  .guide-conversion-panel__actions { flex-direction: column; }
  .guide-article-hero { min-height: 540px; }
  .guide-article-hero__content { padding: 32px 24px; }
  .guide-article-hero h1 { font-size: 43px; }
  .guide-article-aside { grid-template-columns: 1fr; }
  .guide-related-grid { grid-template-columns: 1fr; }
  .guide-rich-content { font-size: 16px; }
}
