@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/syne-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/syne-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/syne-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/barlow-condensed-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/barlow-condensed-latin-600-normal.woff2') format('woff2')}

/* Tokens da marca Re.Group (marca.md, site público). Único lugar com valores de cor. */
:root{
  --black:#071929;
  --black-2:#0C2238;
  --black-3:#122840;
  --black-4:#1A3050;
  --gold:#C9A96E;
  --gold-lt:#E2C99A;
  --blue:#0EA5E9;
  --blue-lt:#38BDF8;
  --cream:#F0F9FF;
  --cream-dim:#BAE6FD;
  --texto:#CBD5E1;
  --legenda:#94A3B8;
  --teal-linha:rgba(4,132,169,.45);
  --teal-suave:rgba(4,132,169,.18);
  --erro:#FCA5A5; /* app: erro legível sobre navy (o destructive da intranet não passa AA no escuro) */
  --px:clamp(20px,6vw,88px);
  --radius:.625rem;
  --font-serif:'Cormorant Garamond',Georgia,serif;
  --font-sans:'Syne',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-cond:'Barlow Condensed','Arial Narrow',sans-serif;
  --mov:.25s;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--black);color:var(--texto);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.55}
.pular{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--black);padding:.6rem 1rem;z-index:20;font-weight:700}
.pular:focus{left:0}
:focus-visible{outline:3px solid var(--blue-lt);outline-offset:3px}

.topo{display:flex;align-items:center;gap:1rem;padding:1rem var(--px);border-bottom:1px solid var(--teal-linha);background:var(--black)}
.marca{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--cream)}
.marca img{border-radius:6px}
.wordmark{font-weight:800;font-size:1.2rem;letter-spacing:.01em}
.progresso{flex:1;height:6px;background:var(--black-4);border-radius:99px;overflow:hidden}
.progresso-barra{height:100%;width:0;background:var(--gold);border-radius:99px;transition:width var(--mov) ease}
.passo-txt{font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--legenda);font-size:.95rem;white-space:nowrap}

.palco{flex:1;width:100%;max-width:46rem;margin:0 auto;padding:clamp(1.75rem,6vw,4rem) var(--px) 3rem;outline:none}
.tela{animation:entra var(--mov) ease both}
@keyframes entra{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.rotulo{font-family:var(--font-cond);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:1rem;margin:0 0 .75rem}
h1,h2{font-family:var(--font-serif);font-weight:600;color:var(--cream);line-height:1.08;margin:0 0 1rem;outline:none}
h1{font-size:clamp(2.4rem,9vw,4rem)}
h2{font-size:clamp(1.9rem,6.5vw,2.9rem)}
h1 em,h2 em{font-style:italic;font-weight:400;color:var(--gold)}
h3{font-family:var(--font-serif);font-size:1.5rem;color:var(--cream);margin:0 0 .5rem}
.lead{font-size:clamp(1.1rem,3.4vw,1.3rem);color:var(--texto);margin:0 0 1.5rem}
.dica{color:var(--legenda);font-size:.95rem;margin:.25rem 0 1.25rem}
.selos{display:flex;flex-wrap:wrap;gap:.5rem .75rem;list-style:none;padding:0;margin:1.5rem 0 0}
.selos li{border:1px solid var(--teal-linha);border-radius:99px;padding:.35rem .9rem;font-size:.9rem;color:var(--cream-dim)}
.finalidade{margin-top:1.5rem;font-size:.9rem;color:var(--legenda);border-left:2px solid var(--teal-linha);padding-left:.9rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.6rem;border-radius:var(--radius);border:2px solid transparent;font:700 1rem var(--font-sans);cursor:pointer;text-decoration:none;transition:transform var(--mov) ease,background var(--mov) ease}
.btn-ouro{background:var(--gold);color:var(--black)}
.btn-ouro:hover{background:var(--gold-lt)}
.btn-azul{background:var(--blue);color:var(--black)}
.btn-azul:hover{background:var(--blue-lt)}
.btn-sec{background:transparent;color:var(--cream);border-color:var(--teal-linha)}
.btn-sec:hover{border-color:var(--cream-dim)}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.75rem}
.atalho{color:var(--legenda);font-size:.9rem}
kbd{font-family:var(--font-cond);font-weight:600;border:1px solid var(--teal-linha);border-radius:4px;padding:0 .4rem;background:var(--black-2);color:var(--cream)}

fieldset{border:0;margin:0;padding:0;min-width:0}
legend{padding:0}
.opcoes{display:grid;gap:.65rem;margin-top:1.25rem}
.opcao{position:relative;display:flex;align-items:center;gap:.9rem;padding:.9rem 1rem;border:1px solid var(--teal-linha);border-radius:var(--radius);background:var(--black-2);color:var(--cream);cursor:pointer;min-height:3.25rem;transition:border-color var(--mov) ease,background var(--mov) ease}
.opcao:hover{border-color:var(--cream-dim)}
.opcao input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opcao .letra{flex:none;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:1px solid var(--teal-linha);border-radius:6px;font:600 1rem var(--font-cond);color:var(--cream-dim)}
.opcao:has(input:checked){border-color:var(--gold);background:var(--black-3)}
.opcao:has(input:checked) .letra{background:var(--gold);border-color:var(--gold);color:var(--black)}
.opcao:has(input:focus-visible){outline:3px solid var(--blue-lt);outline-offset:3px}

.campo{display:grid;gap:.4rem;margin-top:1rem}
.campo label{font-weight:700;color:var(--cream)}
.campo .opc{font-weight:400;color:var(--legenda)}
input[type=text],input[type=email],input[type=tel],input[type=number]{width:100%;min-height:3.25rem;padding:.7rem 1rem;border-radius:var(--radius);border:1px solid var(--teal-linha);background:var(--black-2);color:var(--cream);font:400 1.1rem var(--font-sans)}
input[type=number]{font-size:1.6rem;max-width:14rem}
input:focus-visible{outline:3px solid var(--blue-lt);outline-offset:2px;border-color:var(--blue-lt)}
.consent{display:flex;gap:.75rem;align-items:flex-start;margin-top:1.25rem;font-size:.95rem;color:var(--texto)}
.consent input{flex:none;width:1.4rem;height:1.4rem;margin-top:.15rem;accent-color:var(--gold)}
.erro{color:var(--erro);margin:.6rem 0 0;font-weight:700;min-height:1.4em}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.carregando{display:flex;align-items:center;gap:1rem;color:var(--cream-dim)}
.giro{width:1.6rem;height:1.6rem;border:3px solid var(--teal-linha);border-top-color:var(--gold);border-radius:50%;animation:gira 1s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

.risco{display:inline-flex;align-items:center;gap:.6rem;border:1px solid var(--teal-linha);background:var(--black-2);border-radius:99px;padding:.4rem 1.1rem;font:600 1.15rem var(--font-cond);letter-spacing:.08em;text-transform:uppercase;color:var(--cream)}
.risco::before{content:"";width:.7rem;height:.7rem;border-radius:50%;background:var(--cream-dim)}
.risco[data-risco=alto]::before{background:var(--erro)}
.risco[data-risco=medio]::before{background:var(--gold)}
.risco[data-risco=baixo]::before{background:var(--blue-lt)}
.etapas{display:grid;gap:1rem;margin:1.5rem 0}
@media(min-width:40rem){.etapas{grid-template-columns:1fr 1fr}}
.etapa{border:1px solid var(--teal-linha);background:var(--black-2);border-radius:var(--radius);padding:1.25rem}
.etapa .rotulo{margin-bottom:.4rem}
.valor{font-family:var(--font-serif);font-weight:600;color:var(--cream);font-size:1.7rem;line-height:1.2;margin:.2rem 0}
.etapa p{margin:.35rem 0;font-size:.95rem}
.etapa .nota{color:var(--legenda);font-size:.85rem}
ol.passos{padding-left:1.4rem;margin:.5rem 0 1.5rem}
ol.passos li{margin:.5rem 0;color:var(--cream)}
details{border:1px solid var(--teal-linha);border-radius:var(--radius);padding:.8rem 1rem;margin:1rem 0;background:var(--black-2)}
summary{cursor:pointer;font-weight:700;color:var(--cream)}
details ul{padding-left:1.2rem;font-size:.95rem}
.aviso{border:1px solid var(--gold);border-radius:var(--radius);padding:1rem;color:var(--gold-lt)}
.sucesso-mail{color:var(--cream-dim);font-size:.95rem}

.rodape{padding:1.25rem var(--px) 2rem;border-top:1px solid var(--teal-linha);color:var(--legenda);font-size:.85rem;text-align:center}
.rodape p{margin:.25rem auto;max-width:46rem}
.rodape a{color:var(--cream-dim)}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
