/*
 * Shifter Signal System
 * Homepage-only brand layer. Loaded after the legacy styles so the approved
 * palette and typography can evolve without destabilising supporting pages.
 */

body.signal-system {
  --signal-ink: #0B1020;
  --signal-paper: #F7F7F4;
  --signal-surface: #FFFFFF;
  --signal-accent: #FF3D12;
  --signal-muted: #686A70;
  --signal-line: #DEDEDA;

  /* Map the legacy homepage tokens to the consolidated system. */
  --ink: var(--signal-ink);
  --paper: var(--signal-paper);
  --muted: var(--signal-muted);
  --line: var(--signal-line);
  --soft: color-mix(in srgb, var(--signal-line) 58%, var(--signal-paper));
  --orange: var(--signal-accent);
  --orange-deep: var(--signal-accent);
  --orange-text: color-mix(in srgb, var(--signal-accent) 68%, var(--signal-ink));
  --orange-soft: color-mix(in srgb, var(--signal-accent) 24%, var(--signal-surface));

  background: var(--signal-paper);
  color: var(--signal-ink);
  font-family: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.signal-system h1,
body.signal-system h2,
body.signal-system h3,
body.signal-system h4,
body.signal-system .brand,
body.signal-system .footer-brand,
body.signal-system .founder-name {
  font-family: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 600;
}

body.signal-system :is(
  .eyebrow,
  .section-kicker,
  .console-caption,
  .hyb-kicker,
  .hyb-step b,
  .hyb-offer-lede
) {
  font-family: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.08em;
}

body.signal-system :is(
  .theater-greet,
  .ta-chip-shifter,
  .ac-fav-shifter,
  .ac-cname,
  .evidence-stats strong,
  .faq-row dt
) {
  font-family: "Geist", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 600;
}

body.signal-system :is(
  .eyebrow,
  .section-kicker,
  .console-caption,
  .hyb-kicker,
  .hyb-step b
) {
  color: color-mix(in srgb, var(--signal-accent) 68%, var(--signal-ink));
}

body.signal-system ::selection {
  background: color-mix(in srgb, var(--signal-accent) 24%, var(--signal-surface));
  color: var(--signal-ink);
}

body.signal-system :focus-visible {
  outline-color: var(--signal-accent);
}

/* Core surfaces */

body.signal-system .site-header {
  background-color: rgb(247 247 244 / 94%);
  border-color: var(--signal-line);
}

body.signal-system :is(.engine-strip, .console-card, .ac-card, .site-footer) {
  background-color: var(--signal-surface);
}

body.signal-system :is(
  .hero,
  .console-section,
  .snapshot-proof-section,
  .hyb-method,
  .faq-section
) {
  background-color: var(--signal-paper);
  color: var(--signal-ink);
}

body.signal-system :is(.engine-strip, .site-footer) {
  border-color: var(--signal-line);
}

body.signal-system :is(.site-nav, .site-nav a) {
  color: var(--signal-muted);
}

body.signal-system .engine-item {
  color: var(--signal-ink);
}

body.signal-system :is(
  .hero-lede,
  .evidence-market,
  .hyb-method-head > p,
  .faq-row dd,
  .site-footer p
) {
  color: var(--signal-muted);
}

/* Header and calls to action */

body.signal-system :is(
  .header-cta,
  .nav-cta-mobile,
  .hero-cta,
  .hyb-cta
) {
  border-radius: 10px;
  background: var(--signal-accent);
  color: var(--signal-ink) !important;
}

body.signal-system :is(.hero-start-link, .hyb-cta-secondary) {
  border-radius: 10px;
}

body.signal-system .hero-start-link {
  border-color: var(--signal-ink);
  background: var(--signal-surface);
  color: var(--signal-ink);
}

body.signal-system :is(.brand span, .footer-brand span, .accent-dot) {
  color: var(--signal-accent);
}

/* Hero product theatre */

body.signal-system .search-theater {
  border-color: var(--signal-line);
  background: var(--signal-surface);
  box-shadow: 0 24px 72px rgb(11 16 32 / 12%);
}

body.signal-system :is(.theater-head, .theater-input, .ta-row) {
  border-color: var(--signal-line);
}

body.signal-system :is(.ti-model, .ti-mic, .ta-thinking, .ta-pos, .ta-chip-missing) {
  color: var(--signal-muted);
}

body.signal-system .ti-plus,
body.signal-system .ta-row .ta-pos {
  color: var(--signal-muted);
}

body.signal-system .ta-thinking i {
  background: var(--signal-line);
}

body.signal-system .ta-row.ta-you {
  border-color: color-mix(in srgb, var(--signal-accent) 34%, var(--signal-line));
  background: color-mix(in srgb, var(--signal-accent) 8%, var(--signal-surface));
}

/* Original visibility dashboard */

body.signal-system :is(.hero-console, .console-frame, .console-main) {
  border-color: var(--signal-line);
}

body.signal-system :is(.hero-console, .console-frame, .console-main, .console-card) {
  background-color: var(--signal-surface);
}

body.signal-system .console-side {
  border-color: var(--signal-line);
  background: var(--signal-paper);
}

body.signal-system :is(.console-ws, .cf-chip) {
  border-color: var(--signal-line);
  background: var(--signal-surface);
}

body.signal-system .cs-active {
  background: color-mix(in srgb, var(--signal-accent) 9%, var(--signal-surface));
  color: color-mix(in srgb, var(--signal-accent) 68%, var(--signal-ink));
}

body.signal-system :is(.console-card, .rk-row) {
  border-color: var(--signal-line);
}

body.signal-system :is(.cc-sub, .cf-chip, .console-nav) {
  color: var(--signal-muted);
}

body.signal-system .cs-item {
  color: var(--signal-muted);
}

body.signal-system .console-nav .cs-active {
  background: color-mix(in srgb, var(--signal-accent) 9%, var(--signal-surface));
  color: color-mix(in srgb, var(--signal-accent) 68%, var(--signal-ink));
}

body.signal-system :is(.cc-big, .rk-vis-you) {
  color: var(--signal-ink);
}

body.signal-system .cc-grid-lines line {
  stroke: var(--signal-line);
}

body.signal-system .dash-line {
  stroke: var(--signal-accent);
}

body.signal-system .rk-you {
  border-color: color-mix(in srgb, var(--signal-accent) 34%, var(--signal-line));
  background: color-mix(in srgb, var(--signal-accent) 8%, var(--signal-surface));
}

body.signal-system .redact,
body.signal-system .rk-logo:not(.rk-logo-you) {
  background: var(--signal-ink);
}

body.signal-system .redact-desc {
  background: var(--signal-line);
}

body.signal-system :is(.console-ws-logo, .rk-logo-you) {
  background: var(--signal-accent);
  color: var(--signal-ink);
}

/* Buyer proof */

body.signal-system .ac-card {
  border-color: var(--signal-line);
  box-shadow: 0 18px 44px rgb(11 16 32 / 7%);
}

body.signal-system .ac-card-after {
  border-color: color-mix(in srgb, var(--signal-accent) 40%, var(--signal-line));
}

body.signal-system .ac-question {
  background: var(--signal-paper);
  color: var(--signal-ink);
}

body.signal-system :is(.ac-app, .ac-line, .ac-desc) {
  color: var(--signal-muted);
}

body.signal-system .ac-fav:not(.ac-fav-shifter) {
  background: var(--signal-line);
  color: var(--signal-muted);
}

body.signal-system .ac-fav-shifter {
  background: var(--signal-ink);
  color: var(--signal-surface);
}

body.signal-system .ac-row-shifter {
  border-color: color-mix(in srgb, var(--signal-accent) 34%, var(--signal-line));
  background: color-mix(in srgb, var(--signal-accent) 8%, var(--signal-surface));
}

body.signal-system .ac-verdict-after {
  border-color: color-mix(in srgb, var(--signal-accent) 42%, var(--signal-line));
  background: color-mix(in srgb, var(--signal-accent) 10%, var(--signal-surface));
  color: var(--signal-ink);
}

body.signal-system :is(.ac-caption, .evidence-market) {
  color: var(--signal-muted);
}

body.signal-system :is(.proof-bottom, .faq-row, .hyb-steps, .hyb-step) {
  border-color: var(--signal-line);
}

/* Method and founder offer */

body.signal-system .hyb-method {
  background: var(--signal-paper);
  color: var(--signal-ink);
}

body.signal-system .hyb-step p {
  color: var(--signal-muted);
}

body.signal-system .hyb-offer {
  background: var(--signal-ink);
  color: var(--signal-surface);
}

body.signal-system .hyb-offer h2 {
  color: var(--signal-surface);
}

body.signal-system .hyb-offer .hyb-kicker {
  color: var(--signal-accent);
}

body.signal-system .hyb-offer-lede {
  color: rgb(255 255 255 / 68%);
}

body.signal-system .hyb-offer-list li {
  border-color: rgb(255 255 255 / 18%);
}

body.signal-system .hyb-exclusive {
  border-color: color-mix(in srgb, var(--signal-accent) 54%, transparent);
  background: color-mix(in srgb, var(--signal-accent) 8%, transparent);
  color: var(--signal-surface);
}

body.signal-system .hyb-cta-secondary {
  border-color: rgb(255 255 255 / 44%);
  color: var(--signal-surface) !important;
}

/* FAQ and final conversion */

body.signal-system .faq-section {
  background: var(--signal-paper);
}

body.signal-system .hyb-final {
  background: var(--signal-accent);
  color: var(--signal-ink);
}

body.signal-system .hyb-final :is(h2, p) {
  color: var(--signal-ink);
}

body.signal-system .hyb-final .hyb-kicker {
  color: var(--signal-ink) !important;
}

body.signal-system .hyb-final .hyb-cta {
  background: var(--signal-ink);
  color: var(--signal-surface) !important;
}

body.signal-system .hyb-final .hyb-cta:focus-visible {
  outline: 3px solid var(--signal-surface);
  outline-offset: 4px;
}

body.signal-system .site-footer {
  border-color: var(--signal-line);
  background: var(--signal-surface);
}

body.signal-system :is(.footer-nav, .footer-nav a, .footer-copyright) {
  color: var(--signal-muted);
}

@media (max-width: 760px) {
  body.signal-system :is(.header-cta, .nav-cta-mobile, .hero-cta, .hero-start-link, .hyb-cta, .hyb-cta-secondary) {
    border-radius: 10px;
  }
}
