/* 2ª Imersão Funcionários Digitais — editorial claro (gelo · navy · cobre) */

/* Páginas internas (obrigado, privacidade, 404) com o mesmo sistema do site disruptivo de 05/11 */
@font-face { font-family: "Instrument Serif"; font-style: normal; font-weight: 400; font-display: swap; src: url("../../fonts/instrument-serif-latin.woff2") format("woff2"); }
@font-face { font-family: "Instrument Serif"; font-style: italic; font-weight: 400; font-display: swap; src: url("../../fonts/instrument-serif-italic-latin.woff2") format("woff2"); }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap; src: url("../../fonts/jetbrains-mono-var-latin.woff2") format("woff2"); }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; src: url("../../fonts/archivo-var-latin.woff2") format("woff2"); }

:root {
  --gelo: #faf7f0;
  --papel: #fffdf8;
  --branco: #ffffff;
  --navy: #1f1a10;
  --tinta: #1f1a10;
  --suave: #5e564a;
  --linha: #e6dfd0;
  --linha-forte: #c9bea8;
  --cobre: #7a5a15;
  --cobre-escuro: #5e450f;
  --cobre-claro: #e8d5a6;
  --verde-ok: #1f6b45;

  --serif: "Instrument Serif", Georgia, serif;
  --sans: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --larg: 1180px;
  --gutter: 16px;
  --raio: 14px;
  --sombra: 0 1px 2px rgba(31, 26, 16, 0.06), 0 12px 32px -18px rgba(31, 26, 16, 0.28);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  font-variant-numeric: lining-nums;
  background: var(--gelo);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
p { margin: 0 0 1em; }
h1, h2, h3 { font-variant-numeric: lining-nums; font-family: var(--serif); color: var(--navy); font-weight: 600; line-height: 1.08; margin: 0; letter-spacing: -0.01em; }
h2 { font-size: clamp(32px, 4.6vw, 56px); }
h3 { font-size: 22px; line-height: 1.25; }
em.serif, .italico { font-family: var(--serif); font-style: italic; font-weight: 500; }

:focus-visible { outline: 3px solid var(--cobre); outline-offset: 3px; border-radius: 6px; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.wrap { width: 100%; max-width: var(--larg); margin: 0 auto; padding: 0 var(--gutter); }
@media (min-width: 720px) { :root { --gutter: 32px; } }

.secao { padding: 88px 0; }
@media (min-width: 900px) { .secao { padding: 128px 0; } }
.secao--papel { background: var(--papel); }
.secao--borda { border-top: 1px solid var(--linha); }

.olho {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cobre); margin: 0 0 18px;
}
.olho::before { content: ""; width: 28px; height: 1px; background: currentColor; }

.curto { display: inline; }
.longo { display: none; }
@media (min-width: 720px) { .curto { display: none; } .longo { display: inline; } }

/* ---------- Botões ---------- */
.btn {
  appearance: none; border: 0; cursor: pointer; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 56px; padding: 0 28px; border-radius: 999px;
  font: 600 16px/1 var(--sans); letter-spacing: 0.01em;
  transition: transform 0.15s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.btn:active { transform: translateY(1px); }
.btn--primario { background: var(--navy); color: var(--gelo); box-shadow: 0 10px 24px -12px rgba(31, 26, 16, 0.6); }
.btn--primario:hover { background: #0b2a47; }
.btn--primario .seta { color: var(--cobre-claro); font-size: 18px; line-height: 1; }
.btn--cobre { background: var(--cobre); color: #fff; }
.btn--cobre:hover { background: var(--cobre-escuro); }
.btn--linha { background: transparent; color: var(--navy); box-shadow: inset 0 0 0 1.5px var(--navy); }
.btn--linha:hover { background: rgba(31, 26, 16, 0.05); }
.btn--bloco { width: 100%; }
.btn--sm { min-height: 42px; padding: 0 18px; font-size: 14px; }

.link-sutil {
  background: none; border: 0; padding: 0; cursor: pointer;
  font: 500 15px/1.4 var(--sans); color: var(--navy);
  text-decoration: underline; text-decoration-color: var(--linha-forte); text-underline-offset: 4px;
}
.link-sutil:hover { text-decoration-color: var(--cobre); }

/* ---------- Topo ---------- */
.topo {
  position: sticky; top: 0; z-index: 40;
  background: rgba(250, 247, 240, 0.86);
  -webkit-backdrop-filter: saturate(1.4) blur(12px); backdrop-filter: saturate(1.4) blur(12px);
  border-bottom: 1px solid transparent; transition: border-color 0.2s ease;
}
.topo.com-borda { border-bottom-color: var(--linha); }
.topo__in { display: flex; align-items: center; justify-content: space-between; height: 60px; gap: 16px; }
.marca { font: 700 17px/1 var(--sans); color: var(--navy); text-decoration: none; letter-spacing: -0.01em; }
.marca span { color: var(--cobre); }
.topo__oferta { display: none; align-items: center; gap: 16px; font-size: 14px; color: var(--suave); }
.topo__oferta strong { color: var(--navy); font-weight: 600; }
@media (min-width: 820px) { .topo__oferta { display: flex; } }
.topo__data { font-size: 13px; font-weight: 500; color: var(--suave); }
@media (min-width: 820px) { .topo__data { display: none; } }

/* ---------- Hero ---------- */
.hero { padding: 18px 0 56px; position: relative; overflow: hidden; }
@media (min-width: 900px) { .hero { padding: 48px 0 96px; } }
.hero__grade { display: grid; gap: 22px; grid-template-areas: "texto" "contador" "foto"; }
.hero__texto { grid-area: texto; }
.hero__foto { grid-area: foto; }
.contador { grid-area: contador; }
@media (min-width: 980px) {
  .hero__grade { grid-template-columns: 1.05fr 0.95fr; grid-template-areas: "texto foto" "texto contador"; gap: 28px 48px; align-items: start; }
  .hero__foto { align-self: end; }
}

.selo {
  display: inline-block; margin: 0 0 14px; padding: 6px 12px; border-radius: 999px;
  border: 1px solid var(--linha-forte); background: var(--papel);
  font-size: 11.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--navy);
}
@media (max-width: 420px) { .selo { font-size: 10px; letter-spacing: 0.07em; padding: 6px 10px; } }
.evento { margin: 0 0 14px; line-height: 1.15; }
.evento span { display: block; }
.evento__ed { font-size: 11.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cobre); }
.evento__nome { font-family: var(--serif); font-weight: 600; color: var(--navy); font-size: clamp(26px, 3.4vw, 38px); letter-spacing: -0.01em; margin: 4px 0 2px; }
.evento__by { font-family: var(--serif); font-style: italic; color: var(--suave); font-size: 15px; }
.hero h1 { font-size: clamp(31px, 5.6vw, 62px); line-height: 1.06; font-weight: 600; letter-spacing: -0.02em; max-width: 15em; }
.hero h1 em { font-style: italic; font-weight: 500; color: var(--cobre); }
.hero__promessa { font-size: 16.5px; line-height: 1.5; color: var(--tinta); margin: 14px 0 16px; max-width: 34em; }
@media (min-width: 900px) { .hero__promessa { font-size: 19px; margin: 22px 0 26px; } }

.fatos { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 0 0 16px; border-top: 1px solid var(--linha); }
.fatos div { padding: 9px 0; border-bottom: 1px solid var(--linha); }
.fatos div:nth-child(odd) { padding-right: 12px; }
.fatos div:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--linha); }
.fatos dt { font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--suave); }
.fatos dd { margin: 2px 0 0; font-weight: 600; color: var(--navy); font-size: 15px; line-height: 1.3; }
@media (min-width: 900px) {
  .fatos { grid-template-columns: repeat(4, auto); margin-bottom: 24px; }
  .fatos div, .fatos div:nth-child(odd), .fatos div:nth-child(even) { padding: 12px 18px 12px 0; border-left: 0; }
  .fatos div + div { padding-left: 18px; border-left: 1px solid var(--linha); }
}

.oferta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.oferta__preco { line-height: 1.15; }
.oferta__lote { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cobre); }
.oferta__parcela { font-family: var(--serif); font-size: 28px; font-weight: 600; color: var(--navy); letter-spacing: -0.01em; margin: 2px 0; }
.oferta__avista { font-size: 14px; color: var(--suave); }
.oferta .btn { flex: 1 1 200px; }
@media (min-width: 560px) { .oferta .btn { flex: 0 0 auto; } }

.hero__foto { position: relative; margin: 0 calc(var(--gutter) * -1); }
@media (min-width: 980px) { .hero__foto { margin: 0; } }
.hero__foto img { width: 100%; mix-blend-mode: multiply; }
.hero__legenda { font-size: 13px; color: var(--suave); text-align: center; margin: 6px 0 0; padding: 0 var(--gutter); }

/* Contador público */
.contador { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 22px 22px 20px; box-shadow: var(--sombra); }
.contador__rotulo { margin: 0 0 12px; font-size: 11.5px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cobre); }
.contador__corpo { display: flex; align-items: center; gap: 16px; }
.contador__num { font-family: var(--serif); font-size: clamp(54px, 7vw, 76px); font-weight: 500; line-height: 0.9; color: var(--navy); letter-spacing: -0.03em; font-variant-numeric: lining-nums tabular-nums; }
.contador__lado { font-size: 15px; line-height: 1.4; color: var(--tinta); max-width: 18em; }
.contador__barra { height: 8px; border-radius: 99px; background: var(--gelo); overflow: hidden; margin: 18px 0 8px; box-shadow: inset 0 0 0 1px var(--linha); }
.contador__barra i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--cobre), var(--cobre-claro)); border-radius: 99px; transition: width 1.4s cubic-bezier(0.2, 0.7, 0.2, 1); }
.contador__legenda { margin: 0; font-size: 14px; font-weight: 600; color: var(--navy); }
.contador__micro { margin: 10px 0 0; font-size: 12.5px; color: var(--suave); line-height: 1.5; }

.anim { animation: sobe 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.anim-2 { animation-delay: 0.08s; } .anim-3 { animation-delay: 0.16s; } .anim-4 { animation-delay: 0.24s; }
@keyframes sobe { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .anim { animation: none; } }

/* ---------- Problema ---------- */
.cab { max-width: 760px; margin-bottom: 48px; }
.cab p:not(.olho) { font-size: 19px; color: var(--suave); margin-top: 20px; }
.cards { display: grid; gap: 16px; }
@media (min-width: 860px) { .cards { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.card { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px 26px; }
.card__num { font-family: var(--serif); font-style: italic; color: var(--cobre); font-size: 20px; display: block; margin-bottom: 14px; }
.card h3 { margin-bottom: 10px; }
.card p { color: var(--suave); margin: 0; font-size: 16px; }
.citacao {
  margin: 56px 0 0; padding: 0 0 0 24px; border-left: 2px solid var(--cobre);
  font-family: var(--serif); font-size: clamp(22px, 2.6vw, 30px); line-height: 1.35; color: var(--navy); font-style: italic; max-width: 30em;
}

/* ---------- O que você constrói ---------- */
.constroi { display: grid; gap: 48px; }
@media (min-width: 980px) { .constroi { grid-template-columns: 0.9fr 1.1fr; gap: 72px; align-items: start; } .constroi .cab { position: sticky; top: 100px; } }
.lista-num { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha-forte); }
.lista-num li { display: grid; grid-template-columns: 64px 1fr; gap: 8px; padding: 22px 0; border-bottom: 1px solid var(--linha-forte); }
.lista-num .n { font-family: var(--serif); font-size: 30px; line-height: 1; color: var(--cobre); font-weight: 500; }
.lista-num strong { display: block; font-family: var(--serif); font-size: 23px; font-weight: 600; color: var(--navy); line-height: 1.2; }
.lista-num span.d { display: block; color: var(--suave); margin-top: 4px; font-size: 16px; }
.ppd {
  margin-top: 32px; padding: 28px; border-radius: var(--raio);
  background: var(--navy); color: #dfe6ee;
}
.ppd strong { color: #fff; font-family: var(--serif); font-size: 24px; font-weight: 600; display: block; margin-bottom: 8px; }
.ppd strong span { color: var(--cobre-claro); }
.ppd p { margin: 0; font-size: 16px; }

/* ---------- Quando e onde ---------- */
.agenda { display: grid; gap: 40px; align-items: end; }
@media (min-width: 900px) { .agenda { grid-template-columns: 1fr 1fr; gap: 72px; } }
.data-gigante { font-family: var(--serif); font-weight: 500; color: var(--navy); font-size: clamp(76px, 15vw, 188px); line-height: 0.86; letter-spacing: -0.04em; }
.data-gigante small { display: block; font-size: 0.2em; letter-spacing: 0.02em; color: var(--cobre); font-style: italic; margin-top: 18px; line-height: 1.2; }
.dias { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--linha-forte); }
.dias li { padding: 18px 0; border-bottom: 1px solid var(--linha-forte); }
.dias strong { display: block; color: var(--navy); font-size: 17px; }
.dias span { color: var(--suave); font-size: 15.5px; }
.local { margin-top: 18px; font-size: 15px; color: var(--suave); }

/* ---------- Pessoas × IA ---------- */
.tese h2 { max-width: 13em; }
.tese__frase { font-family: var(--serif); font-style: italic; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.35; color: var(--navy); max-width: 26em; margin: 22px 0 44px; }
.colunas { display: grid; gap: 16px; }
@media (min-width: 760px) { .colunas { grid-template-columns: 1fr 1fr; gap: 20px; } }
.coluna { border-radius: var(--raio); padding: 28px; border: 1px solid var(--linha); background: var(--branco); }
.coluna--ia { background: var(--navy); border-color: var(--navy); color: #dfe6ee; }
.coluna h3 { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cobre); margin-bottom: 18px; }
.coluna--ia h3 { color: var(--cobre-claro); }
.etiquetas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.etiquetas li { padding: 8px 14px; border-radius: 999px; font-size: 15px; font-weight: 500; border: 1px solid var(--linha-forte); color: var(--navy); }
.coluna--ia .etiquetas li { border-color: rgba(237, 186, 99, 0.35); color: #fff; }

/* ---------- Prova ---------- */
.prova__foto { position: relative; margin: 0 0 56px; border-radius: var(--raio); overflow: hidden; background: #0d1622; }
.prova__foto img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.prova__foto figcaption { font-size: 13px; color: var(--suave); padding: 10px 2px 0; background: var(--gelo); }
.numeros { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--linha-forte); margin: 36px 0 56px; }
@media (min-width: 860px) { .numeros { grid-template-columns: repeat(4, 1fr); } }
.numeros div { padding: 22px 16px 22px 0; border-bottom: 1px solid var(--linha-forte); }
.numeros b { display: block; font-family: var(--serif); font-size: clamp(44px, 5vw, 64px); font-weight: 500; color: var(--navy); line-height: 1; }
.numeros span { font-size: 15px; color: var(--suave); }
.depos { display: grid; gap: 16px; }
@media (min-width: 900px) { .depos { grid-template-columns: 1.25fr 1fr; } .depos .depo:first-child { grid-row: span 2; } }
.depo { margin: 0; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 30px 28px; display: flex; flex-direction: column; justify-content: space-between; gap: 22px; }
.depo blockquote { margin: 0; font-family: var(--serif); font-size: 20px; line-height: 1.45; color: var(--navy); }
.depo blockquote::before { content: "\201C"; display: block; font-size: 56px; line-height: 0.6; color: var(--cobre); margin-bottom: 8px; }
.depo figcaption { font-size: 14px; color: var(--suave); }
.depo figcaption b { color: var(--navy); font-weight: 600; }

/* ---------- Virada ---------- */
.ganhos { display: grid; gap: 0; grid-template-columns: 1fr; border-top: 1px solid var(--linha-forte); }
@media (min-width: 640px) { .ganhos { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .ganhos { grid-template-columns: repeat(4, 1fr); } }
.ganho { padding: 26px 22px 26px 0; border-bottom: 1px solid var(--linha-forte); }
@media (min-width: 640px) { .ganho:nth-child(even) { padding-left: 22px; border-left: 1px solid var(--linha-forte); } }
@media (min-width: 1000px) { .ganho, .ganho:nth-child(even) { padding: 28px 22px; border-left: 0; } .ganho + .ganho { border-left: 1px solid var(--linha-forte); } .ganho:first-child { padding-left: 0; } }
.ganho h3 { font-size: clamp(26px, 2.6vw, 32px); font-weight: 600; margin-bottom: 10px; }
.ganho p { margin: 0; color: var(--suave); font-size: 16px; }
.ganhos + .ppd { margin-top: 40px; }

.destaque { margin: 8px 0 28px; padding: 18px 20px; border-left: 2px solid var(--cobre); background: var(--branco); border-radius: 0 var(--raio) var(--raio) 0; }
.destaque strong { display: block; font-family: var(--serif); font-size: 21px; color: var(--navy); margin-bottom: 4px; }
.destaque p { margin: 0; color: var(--suave); font-size: 16px; }

/* ---------- Quem conduz ---------- */
.dupla { display: grid; gap: 40px; }
@media (min-width: 860px) { .dupla { grid-template-columns: 1fr 1fr; gap: 48px; } }
.pessoa__foto { margin: 0 0 22px; border-radius: var(--raio); overflow: hidden; background: #0d1622; }
.pessoa__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; }
@media (min-width: 860px) { .pessoa__foto img { aspect-ratio: 1 / 1; } }
.pessoa h3 { font-size: clamp(28px, 3vw, 36px); }
.pessoa__cargo { font-size: 15px; color: var(--cobre); font-weight: 600; margin: 8px 0 16px; }
.pessoa__autoridade { font-size: 14.5px; color: var(--suave); border-top: 1px solid var(--linha); padding-top: 16px; }

.numeros__intro { margin: 0; color: var(--suave); font-size: 16px; }
.numeros--3 { margin-top: 14px; }
@media (min-width: 860px) { .numeros--3 { grid-template-columns: repeat(3, 1fr); } }
.depos__titulo { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cobre); margin: 0 0 18px; }

/* ---------- Preço ---------- */
.preco { text-align: center; }
.preco h2 { margin-bottom: 40px; }
.ingresso {
  max-width: 520px; margin: 0 auto; text-align: left;
  background: var(--branco); border: 1px solid var(--linha-forte); border-radius: 20px; padding: 34px 30px 30px;
  box-shadow: var(--sombra); position: relative; overflow: hidden;
}
.ingresso::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; border-radius: 20px 20px 0 0; background: linear-gradient(90deg, var(--cobre), var(--cobre-claro)); }
.ingresso__lote { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cobre); }
.ingresso__parcela { font-family: var(--serif); font-size: clamp(44px, 7vw, 60px); font-weight: 600; color: var(--navy); line-height: 1; margin: 16px 0 6px; letter-spacing: -0.02em; }
.ingresso__parcela small { font-size: 0.42em; font-weight: 500; }
.ingresso__sub { color: var(--suave); font-size: 15.5px; margin-bottom: 24px; }
.ingresso ul { list-style: none; padding: 0; margin: 0 0 26px; border-top: 1px solid var(--linha); }
.ingresso li { padding: 12px 0 12px 28px; border-bottom: 1px solid var(--linha); position: relative; font-size: 15.5px; }
.ingresso li::before { content: ""; position: absolute; left: 4px; top: 19px; width: 10px; height: 6px; border-left: 2px solid var(--cobre); border-bottom: 2px solid var(--cobre); transform: rotate(-45deg); }
.ingresso__avista { margin-top: 14px; text-align: center; }
.preco__nota { margin: 28px auto 0; font-weight: 600; color: var(--navy); }
.preco__vip { margin: 8px auto 0; color: var(--suave); }
.preco__vip a { color: var(--navy); font-weight: 600; text-underline-offset: 4px; text-decoration-color: var(--cobre); }
.final__corpo { font-size: 19px; color: var(--tinta); max-width: 30em; margin: 22px auto 30px; }

/* ---------- Para quem ---------- */
.quem { display: grid; gap: 16px; }
@media (min-width: 860px) { .quem { grid-template-columns: 1fr 1fr; gap: 20px; } }
.quem__bloco { border-radius: var(--raio); padding: 30px 28px; background: var(--branco); border: 1px solid var(--linha); }
.quem__bloco--nao { background: transparent; border-style: dashed; border-color: var(--linha-forte); }
.quem__bloco h3 { margin-bottom: 14px; }
.quem__bloco p, .quem__bloco li { color: var(--suave); font-size: 16px; }
.quem__bloco ul { margin: 0; padding-left: 18px; }
.quem__bloco li + li { margin-top: 8px; }

/* ---------- FAQ ---------- */
.faq { max-width: 820px; }
.faq details { border-bottom: 1px solid var(--linha-forte); }
.faq details:first-of-type { border-top: 1px solid var(--linha-forte); }
.faq summary {
  list-style: none; cursor: pointer; padding: 22px 44px 22px 0; position: relative;
  font-family: var(--serif); font-size: 21px; font-weight: 600; color: var(--navy); line-height: 1.3;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 18px; font: 300 28px/1 var(--sans); color: var(--cobre); transition: transform 0.2s ease; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { color: var(--suave); padding: 0 0 22px; margin: 0; max-width: 40em; }
.faq__zap { margin-top: 28px; font-size: 16px; color: var(--suave); }

/* ---------- CTA final ---------- */
.final { text-align: center; }
.final h2 { font-size: clamp(38px, 6vw, 80px); font-weight: 500; }
.final ul { list-style: none; padding: 0; margin: 32px auto 36px; max-width: 520px; text-align: left; }
.final li { padding: 12px 0 12px 30px; border-bottom: 1px solid var(--linha); position: relative; }
.final li::before { content: ""; position: absolute; left: 4px; top: 19px; width: 10px; height: 6px; border-left: 2px solid var(--cobre); border-bottom: 2px solid var(--cobre); transform: rotate(-45deg); }
.final__acoes { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.final__acoes .btn--primario { min-width: min(100%, 360px); }
.vip { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--linha); display: flex; flex-direction: column; align-items: center; gap: 12px; }
.vip p { margin: 0; color: var(--suave); }

/* ---------- Rodapé ---------- */
.rodape { background: var(--navy); color: #b8c3d1; padding: 56px 0 120px; font-size: 14.5px; }
@media (min-width: 820px) { .rodape { padding-bottom: 56px; } }
.rodape__grade { display: grid; gap: 28px; }
@media (min-width: 820px) { .rodape__grade { grid-template-columns: 1.3fr 1fr 1fr; } }
.rodape strong { color: #fff; font-weight: 600; display: block; margin-bottom: 6px; }
.rodape a { color: #e7ecf2; text-decoration-color: rgba(237, 186, 99, 0.5); text-underline-offset: 3px; }
.rodape__versiculo { margin: 40px 0 0; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-family: var(--serif); font-style: italic; color: #d4dbe4; font-size: 16px; max-width: 46em; }
.rodape__legal { margin-top: 18px; font-size: 12.5px; color: #8796a8; }

/* ---------- Barra fixa do celular ---------- */
.barra {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
  background: rgba(251, 252, 254, 0.96); border-top: 1px solid var(--linha);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  transform: translateY(110%); transition: transform 0.25s ease;
}
.barra.visivel { transform: none; }
.barra__preco { line-height: 1.2; font-size: 13px; color: var(--suave); }
.barra__preco b { display: block; font-size: 16px; color: var(--navy); }
.barra .btn { min-height: 48px; padding: 0 20px; font-size: 15px; }
@media (min-width: 820px) { .barra { display: none; } }

/* ---------- Formulário (janela) ---------- */
dialog.janela {
  width: min(100% - 24px, 480px); max-height: calc(100dvh - 24px); overflow: auto;
  border: 0; border-radius: 20px; padding: 0; background: var(--papel); color: var(--tinta);
  box-shadow: 0 30px 80px -20px rgba(31, 26, 16, 0.55);
}
dialog.janela::backdrop { background: rgba(31, 26, 16, 0.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.janela__in { padding: 30px 26px 24px; position: relative; }
.janela__fechar {
  position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%;
  border: 0; background: transparent; cursor: pointer; font: 300 28px/1 var(--sans); color: var(--suave);
}
.janela__fechar:hover { background: var(--gelo); }
.janela h2 { font-size: 30px; margin: 0 0 6px; padding-right: 36px; }
.janela__resumo { font-size: 15px; color: var(--suave); margin-bottom: 20px; }
.janela__resumo b { color: var(--navy); }
.campo { margin-bottom: 14px; }
.campo label { display: block; font-size: 14px; font-weight: 600; color: var(--navy); margin-bottom: 6px; }
.campo input {
  width: 100%; height: 52px; padding: 0 16px; border-radius: 12px;
  border: 1.5px solid var(--linha-forte); background: var(--branco);
  font: 400 17px/1 var(--sans); color: var(--tinta);
}
.campo input:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(31, 26, 16, 0.1); }
.campo input[aria-invalid="true"] { border-color: #b3261e; }
.campo__erro { color: #b3261e; font-size: 13.5px; margin-top: 5px; min-height: 0; }
.campo__erro:empty { display: none; }
.armadilha { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.janela__aviso { font-size: 12.5px; color: var(--suave); margin: 12px 0 0; line-height: 1.5; }
.janela__aviso a { color: var(--navy); }
.janela__seguro { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; color: var(--suave); margin-top: 12px; }

/* ---------- Páginas simples (obrigado, privacidade) ---------- */
.simples { min-height: calc(100vh - 60px); padding: 56px 0 96px; }
.simples__caixa { max-width: 680px; }
.simples h1 { font-size: clamp(40px, 7vw, 68px); margin-bottom: 20px; }
.simples h1 em { color: var(--cobre); }
.simples .lead { font-size: 19px; color: var(--tinta); }
.passos { list-style: none; padding: 0; margin: 32px 0; counter-reset: p; border-top: 1px solid var(--linha-forte); }
.passos li { counter-increment: p; padding: 20px 0 20px 52px; border-bottom: 1px solid var(--linha-forte); position: relative; }
.passos li::before { content: counter(p, decimal-leading-zero); position: absolute; left: 0; top: 18px; font-family: var(--serif); font-size: 24px; color: var(--cobre); }
.passos strong { display: block; color: var(--navy); font-size: 17px; margin-bottom: 4px; }
.passos span { color: var(--suave); font-size: 15.5px; }
.passos .btn { margin-top: 14px; }
.texto-legal h2 { font-size: 26px; margin: 40px 0 12px; }
.texto-legal p, .texto-legal li { color: var(--tinta); font-size: 16.5px; }
.texto-legal ul { padding-left: 20px; }

[hidden] { display: none !important; }

/* ajustes do sistema de 05/11 */
h1, h2, h3 { font-weight: 400; }
.btn--primario { background: linear-gradient(180deg, #f1cb62, #c49738 60%, #a57c25); color: #2a1d05; box-shadow: 0 14px 34px -12px rgba(232, 190, 80, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.55); }
.btn--primario:hover { background: linear-gradient(180deg, #f1cb62, #c49738 60%, #a57c25); filter: brightness(1.06); }
.btn--primario .seta { color: #2a1d05; }
.marca { font-family: "JetBrains Mono", ui-monospace, Consolas, monospace; font-weight: 600; font-size: 15px; }
.marca span { color: inherit; }
