/* =====================================================================
   VERSÃO 3 · MINIMAL BRANCO
   Sem decoração, sem cartão, sem sombra. Branco puro, muito ar e uma
   única linha coral marcando o começo de cada bloco. Campos com sublinhado
   em vez de caixa: o formulário parece uma folha, não um sistema.
   ===================================================================== */
:root {
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body: 'DM Sans', system-ui, -apple-system, sans-serif;

  --bg: #ffffff;
  --card: #ffffff;
  --field-bg: transparent;
  --opt-bg: #ffffff;
  --track: #eeeae4;

  --ink: #1c1815;
  --ink-soft: #6f665c;
  --ink-faint: #a89e93;

  --accent: #a02b2d;
  --accent-deep: #872325;
  --accent-soft: #fbf3f0;
  --accent-line: #e8d3cb;
  --on-accent: #ffffff;

  --line: #e8e4de;
  --dot-line: #cfc7bd;

  --red: #c25b57;
  --red-soft: rgba(194, 91, 87, .10);
  --red-line: #e9c4c2;

  --ok-bg: #f2f6f1;
  --ok-line: #dee7dc;
  --ok-ink: #5f7a62;

  --keyword-bg: #fbfaf8;
  --keyword-line: #e8e4de;

  --radius: 4px;
  --radius-sm: 4px;
  --shadow: none;
  --shadow-up: none;
  --shadow-accent: none;

  --wrap: 600px;
  --stage-w: 400px;
}

.brandbar { padding-top: 34px; }
.brandbar img { width: min(150px, 52vw); }

.hero { padding-top: 30px; }
.kicker {
  background: transparent; border: none; padding: 0;
  color: var(--ink-faint); letter-spacing: .2em; margin-bottom: 22px;
  position: relative; padding-top: 22px;
}
.kicker::before {
  content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 34px; height: 2px; background: var(--accent);
}

h1.hook { font-size: clamp(30px, 6.8vw, 48px); letter-spacing: -.02em; }
h1.hook .hi { color: var(--ink); border-bottom: 2px solid var(--accent); padding-bottom: 2px; }

.stage { margin-top: 34px; }

/* aplicação sem caixa: só ar e uma régua fina */
.apply { padding-top: 60px; }
.divider { justify-content: flex-start; gap: 10px; color: var(--accent); }
.divider::before { display: none; }

.apply-head { text-align: left; }
.apply-head p { margin-left: 0; }

.assur .it { border: none; border-left: 2px solid var(--accent-line); border-radius: 0; padding: 4px 0 4px 14px; text-align: left; }
.assur .it .ic { margin: 0 0 6px; }
@media (max-width: 560px) { .assur .it { padding-left: 14px; } .assur .it .ic { margin: 2px 0 0; } }

.ap-card {
  border: none; border-top: 1px solid var(--line);
  border-radius: 0; padding: 28px 0 4px; box-shadow: none;
}
.ap-card-head h3 { font-size: 25px; }
.ap-card-head .lotus { display: none; }

/* campos como folha pautada */
.ap-input {
  border: none; border-bottom: 1px solid var(--line); border-radius: 0;
  padding: 11px 0; background: transparent;
}
.ap-input:focus { box-shadow: none; border-bottom-color: var(--accent); }
.ap-input.err { box-shadow: none; border-bottom-color: var(--red); }
.ap-keyword { background: var(--keyword-bg); border-radius: 4px; padding: 16px 16px 6px; }

.ap-opt { border-radius: 4px; }
.ap-opt.sel { background: var(--accent-soft); }

.ap-submit { border-radius: 4px; letter-spacing: .01em; }
.ap-recall { border-radius: 4px; }
.ap-success .check svg { stroke: var(--ok-ink); }

.closer { text-align: left; margin-left: 0; }
.closer p { font-size: clamp(20px, 3.6vw, 26px); }
