.tts-partner-disclosure {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  padding: 10px 20px;
  background: #111827;
  color: #f9fafb;
  font: 13px/1.45 Inter, Arial, sans-serif;
  text-align: center;
}
.tts-partner-disclosure__label { font-weight: 800; color: #f4cc67; }
.tts-partner-disclosure a, .tts-partner-consent a { color: #f4cc67; text-decoration: underline; }
.tts-partner-disclosure button { border: 0; padding: 0; background: none; color: #f4cc67; font: inherit; text-decoration: underline; cursor: pointer; }
.tts-partner-disclosure a:focus-visible, .tts-partner-consent :focus-visible { outline: 3px solid #f4cc67; outline-offset: 3px; }
.tts-partner-consent {
  box-sizing: border-box;
  position: fixed;
  z-index: 10002;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px 20px;
  background: #111827;
  color: #f9fafb;
  border-top: 1px solid #596275;
  box-shadow: 0 -4px 20px #0004;
  font: 14px/1.5 Inter, Arial, sans-serif;
}
.tts-partner-consent[hidden], .tts-partner-consent [hidden] { display: none; }
.tts-partner-consent p { flex: 1 1 500px; max-width: 920px; margin: 0; color: inherit; font: inherit; }
.tts-partner-consent button {
  appearance: none;
  min-height: 44px;
  min-width: 80px;
  padding: 10px 16px;
  border: 2px solid #f4cc67;
  border-radius: 6px;
  background: transparent;
  color: #fff;
  font: 700 14px/1 Inter, Arial, sans-serif;
  cursor: pointer;
}
.tts-partner-consent button:hover { background: #f4cc67; color: #111827; }
.tts-cam-video-trigger, .tts-cam-video-frame { display: block; box-sizing: border-box; width: 100%; aspect-ratio: 1.6; border: 0; }
.tts-cam-video-trigger { position: relative; padding: 0; background: #000; cursor: pointer; }
.tts-cam-video-trigger img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tts-cam-video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 64px; height: 64px; border-radius: 12px; background: #16a34ae8; color: #fff; font: 28px/1 Arial, sans-serif; }
.tts-cam-video-trigger:hover .tts-cam-video-play { background: #15803d; }
@media (max-width: 600px) {
  .tts-partner-consent { padding: 12px 16px; }
  .tts-partner-consent p { flex-basis: 100%; }
  .tts-partner-consent button { flex: 1 1 120px; }
}

/* TTS color layer. It loads after Jonathan's CSS and changes paint only. */
html[data-theme="dark"] {
  color-scheme: dark;
  --partner-canvas: #05070c;
  --partner-band: #10131c;
  --partner-card: #171b28;
  --partner-input: #0b0e16;
  --partner-ink: #eef1f6;
  --partner-muted: #d7deea;
  --partner-subtle: #bbc6d6;
  --partner-line: #52627c;
  --partner-accent: #46b4f5;
  --partner-accent-2: #8d7cf4;
  --partner-accent-ink: #06101a;
  --partner-highlight: rgba(70, 180, 245, .28);
}
html[data-theme="light"] {
  color-scheme: light;
  --partner-canvas: #e8eef7;
  --partner-band: #f9fbff;
  --partner-card: #ffffff;
  --partner-input: #ffffff;
  --partner-ink: #091426;
  --partner-muted: #223149;
  --partner-subtle: #34465f;
  --partner-line: #7b8798;
  --partner-accent: #075c91;
  --partner-accent-2: #5139ae;
  --partner-accent-ink: #ffffff;
  --partner-highlight: rgba(7, 92, 145, .18);
}

body.offer-page {
  --bg: var(--partner-canvas);
  --bg-deep: var(--partner-band);
  --card: var(--partner-card);
  --surface: var(--partner-card);
  --surface-2: var(--partner-band);
  --text: var(--partner-ink);
  --text-2: var(--partner-muted);
  --text-3: var(--partner-subtle);
  --line: var(--partner-line);
  --line-gold: var(--partner-line);
  --gold: var(--partner-accent);
  --gold-2: var(--partner-accent-2);
  --grad: linear-gradient(135deg, var(--partner-accent), var(--partner-accent-2));
  --glow: var(--partner-highlight);
  --ink: var(--partner-ink);
  --ink-2: var(--partner-muted);
  --hair: var(--partner-line);
  --tint: var(--partner-band);
  --lift: 0 8px 24px rgba(2, 12, 30, .16);
  background: var(--partner-canvas);
  color: var(--partner-ink);
}
body.offer-page::before, body.offer-page::after { display: none; }
body.offer-page .btn--gold,
body.offer-page .q-submit,
body.offer-page .cam-sticky,
body.offer-page .mc-sticky { color: var(--partner-accent-ink); }
body.offer-page .offer-card,
body.offer-page .price-card { background: var(--partner-card); border-color: var(--partner-line); }
body.offer-page .price-card .amt,
body.offer-page .vcap,
body.offer-page .band__line a { color: var(--partner-accent); }
body.offer-page .price-card .fine { color: var(--partner-muted); }
body.offer-page .faq .a p { color: var(--partner-muted); }

/* The training page has its own white paint rules, so remap its surfaces. */
body.offer-page main,
body.offer-page .section,
body.offer-page .mc-end { background: var(--partner-canvas); color: var(--partner-ink); }
body.offer-page .hero,
body.offer-page .section--alt { background: var(--partner-band); }
body.offer-page .q-card,
body.offer-page .fit .checks li,
body.offer-page .mc-end__social a { background: var(--partner-card); color: var(--partner-ink); border-color: var(--partner-line); }
body.offer-page .q-input { background: var(--partner-input); color: var(--partner-ink); border-color: var(--partner-line); }
body.offer-page .q-input::placeholder { color: var(--partner-subtle); }
body.offer-page .q-input:focus-visible,
body.offer-page .btn:focus-visible,
body.offer-page main a:focus-visible,
body.offer-page main button:focus-visible { outline: 3px solid var(--partner-accent); outline-offset: 3px; }
body.offer-page .hl {
  background-image: linear-gradient(180deg, transparent 52%, var(--partner-highlight) 52%, var(--partner-highlight) 96%, transparent 96%);
}
body.offer-page .fit .checks li::before,
body.offer-page .frow__list li::before { background: var(--partner-accent); }
body.offer-page .frow__media { background: var(--partner-card); }
body.offer-page .mc-legal a,
body.offer-page .mc-end__logo { color: var(--partner-ink); }
body.offer-page .mc-end__tag,
body.offer-page .mc-end__disc,
body.offer-page .mc-end__copy { color: var(--partner-muted); }
html[data-theme="dark"] body.offer-page .q-err { color: #ffaaa5; }

/* The disclosure and consent controls belong to TTS in both modes. */
html .tts-partner-disclosure,
html .tts-partner-consent {
  background: var(--partner-band);
  color: var(--partner-ink);
  border-color: var(--partner-line);
}
html .tts-partner-disclosure__label,
html .tts-partner-disclosure a,
html .tts-partner-disclosure button,
html .tts-partner-consent a { color: var(--partner-accent); }
html .tts-partner-consent button { border-color: var(--partner-accent); color: var(--partner-ink); }
html .tts-partner-consent button:hover { background: var(--partner-accent); color: var(--partner-accent-ink); }
html .tts-partner-disclosure :focus-visible,
html .tts-partner-consent :focus-visible { outline: 3px solid var(--partner-accent); outline-offset: 3px; }
html .tts-partner-theme { white-space: nowrap; }

html .tts-partner-disclosure {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 24px;
  border-top: 1px solid var(--partner-line);
  font-size: 13px;
  line-height: 1.55;
}
html .tts-partner-disclosure > span:not(.tts-partner-disclosure__label) { max-width: 740px; }
html .tts-partner-disclosure__label {
  font-size: 17px;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--partner-ink);
}
html .tts-partner-disclosure__label span { color: var(--partner-accent); }
html .tts-partner-disclosure a,
html .tts-partner-disclosure button { text-underline-offset: 3px; }

body.offer-page .tts-partner-form-note,
body.offer-page .tts-partner-cta-note {
  max-width: 620px;
  margin: 14px auto 0;
  color: var(--partner-muted);
  font: 13px/1.5 Inter, Arial, sans-serif;
}
body.offer-page .tts-partner-form-note { margin-top: 16px; text-align: left; }
body.offer-page .tts-partner-form-note a { color: var(--partner-accent); text-decoration: underline; text-underline-offset: 3px; }
body.offer-page .tts-partner-cta-note { max-width: 440px; text-align: center; }
body.offer-page .tts-partner-form-note a:focus-visible { outline: 3px solid var(--partner-accent); outline-offset: 3px; }
