/* ---------------------------------------------------------------------------
   Paleta institucional em tokens. Trocar aqui adapta o site inteiro à
   identidade do cliente — nenhum componente tem cor fixa.

   Sem CDN externa: fontes do sistema por padrão. Para a fonte da marca,
   hospede em /fonts e declare um @font-face aqui.
   --------------------------------------------------------------------------- */
:root {
  --marca-50:#f2f6fa; --marca-100:#e2ebf3; --marca-600:#1b4d78;
  --marca-800:#0f2f4a; --marca-900:#0a2137;
  --bronze-400:#c39b4a; --bronze-600:#a67c2e;
  --neutra-50:#fafaf9; --neutra-200:#e6e6e3; --neutra-500:#6f6f6b;
  --neutra-700:#3f3f3c; --neutra-900:#1c1c1a;
  --fonte:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --fonte-titulo:Georgia,Cambria,"Times New Roman",serif;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:var(--fonte);color:var(--neutra-900);line-height:1.7}
h1,h2,h3{font-family:var(--fonte-titulo);line-height:1.25;margin:0 0 .5em}
a{color:var(--marca-600)}
.container{max-width:1140px;margin:0 auto;padding:0 20px}
.compacto{padding-block:40px} .normal{padding-block:64px} .amplo{padding-block:96px}
.escuro{background:var(--marca-800);color:#fff}
.escuro h1,.escuro h2{color:#fff}
.claro{background:#fff} .neutro{background:var(--neutra-50)}
.chapeu{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-400);font-weight:700}
.centralizado{text-align:center;max-width:760px;margin:0 auto}
.filete{display:block;width:96px;height:1px;background:var(--bronze-400);margin:2rem auto}
.botoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem}
.centralizado .botoes{justify-content:center}
.btn{display:inline-block;padding:13px 26px;border-radius:6px;text-decoration:none;font-weight:600;
     background:var(--bronze-600);color:#fff;border:2px solid var(--bronze-600)}
.btn.secundario{background:transparent;color:inherit;border-color:currentColor}
.grade{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:2.5rem}
.cartao{border:1px solid var(--neutra-200);border-radius:8px;padding:24px;background:#fff;text-decoration:none;display:block;color:inherit}
.cartao:hover{box-shadow:0 8px 28px rgba(15,47,74,.12)}
.cartao .cat{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--bronze-600);font-weight:700}
.lista{list-style:none;padding:0;margin:2.5rem 0 0;border-block:1px solid var(--neutra-200)}
.lista li{border-bottom:1px solid var(--neutra-200)}
.lista li:last-child{border-bottom:0}
.lista a{display:flex;justify-content:space-between;gap:24px;padding:18px 0;text-decoration:none;color:inherit}
.passos{list-style:none;padding:0;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:2.5rem}
.passos .n{font-family:var(--fonte-titulo);font-size:2.4rem;color:var(--bronze-600);line-height:1}
.tempo{list-style:none;margin:2.5rem 0 0;padding-left:32px;border-left:1px solid rgba(195,155,74,.4);max-width:640px}
.tempo li{position:relative;padding-bottom:32px}
.tempo .n{position:absolute;left:-48px;width:32px;height:32px;border-radius:50%;background:var(--bronze-600);
          color:#fff;display:grid;place-items:center;font-weight:600;font-size:.9rem}
details{border-bottom:1px solid var(--neutra-200);padding:16px 0}
summary{cursor:pointer;font-weight:600;font-size:1.05rem;list-style:none}
summary::-webkit-details-marker{display:none}
.sub{color:var(--neutra-700);max-width:62ch}
.escuro .sub{color:var(--marca-100)}
