/* =====================================================================
   VERSÃO 2 · EDITORIAL ESCURO
   Mesma marca, sala apagada. O fundo escuro tira toda a concorrência
   visual do player e o coral vira brasa em vez de tinta. Tipografia
   maior, régua editorial, numeração romana nas garantias.
   ===================================================================== */
:root {
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', system-ui, -apple-system, sans-serif;

  --bg: #14110e;
  --card: #1d1915;
  --field-bg: #221d18;
  --opt-bg: #1a1612;
  --track: #2b2520;

  --ink: #f4ece2;
  --ink-soft: #a99c8d;
  --ink-faint: #6f6558;

  --accent: #f5874f;
  --accent-deep: #e2703a;
  --accent-soft: rgba(245, 135, 79, .10);
  --accent-line: rgba(245, 135, 79, .30);
  --on-accent: #1a120c;

  --line: #2e2822;
  --dot-line: #4a4138;

  --red: #e88b86;
  --red-soft: rgba(232, 139, 134, .12);
  --red-line: rgba(232, 139, 134, .38);

  --ok-bg: rgba(185, 207, 182, .10);
  --ok-line: rgba(185, 207, 182, .30);
  --ok-ink: #b9cfb6;

  --keyword-bg: rgba(185, 207, 182, .07);
  --keyword-line: rgba(185, 207, 182, .22);

  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(0,0,0,.4), 0 18px 46px rgba(0,0,0,.34);
  --shadow-up: 0 2px 6px rgba(0,0,0,.45), 0 24px 60px rgba(0,0,0,.4);
  --shadow-accent: 0 8px 26px rgba(245,135,79,.24);

  --wrap: 660px;
  --stage-w: 430px;
}

body {
  background:
    radial-gradient(70% 42% at 50% 0%, rgba(245,135,79,.09), transparent 66%),
    var(--bg);
  background-attachment: fixed;
}

/* wordmark tipográfico: não existe versão clara do logo Terap.IA no repo,
   e filtro de inversão em cima do PNG escuro ficaria sujo */
.brandbar { padding-top: 30px; gap: 12px; }
.brandbar .wordmark { letter-spacing: .02em; }
.brandbar .rule { width: 26px; height: 1px; background: var(--line); }

h1.hook { letter-spacing: -.02em; }
h1.hook .hi { font-style: italic; }

.kicker { background: transparent; }

/* o player como única fonte de luz da página */
.stage { position: relative; }
.stage::before {
  content: ""; position: absolute; inset: -40px -26px -20px;
  background: radial-gradient(58% 50% at 50% 42%, rgba(245,135,79,.16), transparent 70%);
  pointer-events: none; z-index: -1;
}

/* régua editorial acima da aplicação */
.apply { padding-top: 54px; border-top: 1px solid var(--line); margin-top: 46px; }
.divider { color: var(--accent); }
.apply-head h2 { letter-spacing: -.015em; }

.assur .it { background: transparent; border-color: var(--line); }
.assur .it b { font-family: var(--font-display); font-size: 15px; font-weight: 600; }

.ap-card-head h3 { letter-spacing: .005em; }
.ap-input::placeholder { color: var(--ink-faint); }
.ap-success .check svg { stroke: var(--ok-ink); }

.closer p { font-style: italic; }
.foot img { filter: invert(1) brightness(1.6); opacity: .5; }
