:root{
  --terra:#BA6362; --terra-deep:#9C4A49; --rosa:#FBC0BB; --creme:#F4EDE7; --areia:#F7DAD3;
  --texto:#4A3534; --suave:#7A6361; --linha:#E6CFCA; --erro:#9B2C2C;
  --raio:18px;
  --fonte: ui-rounded, "SF Pro Rounded", "Avenir Next Rounded", "Nunito", "Trebuchet MS", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--texto);font:400 1.0625rem/1.55 var(--fonte)}
a{color:var(--terra-deep)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* HERO */
.hero{background:var(--terra);color:#fff;text-align:center;padding:2.25rem 1.25rem 5.5rem}
.logo{display:block;width:170px;height:auto;margin:0 auto 1.5rem}
.hero h1{font-size:clamp(1.65rem,6.2vw,2.35rem);line-height:1.15;margin:0 auto .5rem;max-width:20ch;font-weight:700;letter-spacing:-.01em}
.hero .sub{margin:0 auto;font-size:1.2rem;font-weight:700}

/* CARD */
main{max-width:620px;margin:-3.5rem auto 0;padding:0 1rem 3rem;position:relative}
.card{background:#fff;border-radius:var(--raio);padding:1.5rem 1.25rem 1.75rem;box-shadow:0 10px 30px rgba(110,60,58,.14)}
.intro{margin:0 0 1rem}
.cadeado{display:flex;gap:.6rem;align-items:flex-start;background:var(--areia);border-radius:14px;padding:.8rem .9rem;font-size:.95rem;color:var(--texto);margin:0 0 1.4rem}
.cadeado svg{flex:none;margin-top:.15rem}

form{display:block}
.campo{margin:0 0 1.1rem}
label,.rotulo{display:block;font-weight:700;font-size:.98rem;margin:0 0 .3rem}
.ajuda{display:block;font-weight:400;font-size:.88rem;color:var(--suave);margin:.1rem 0 .4rem}
input[type=text],input[type=email],input[type=tel],select{
  width:100%;font:inherit;color:var(--texto);background:#fff;border:1.5px solid var(--linha);border-radius:12px;padding:.8rem .9rem;min-height:3rem;appearance:none;-webkit-appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23BA6362' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--erro)}
.erro{display:none;color:var(--erro);font-size:.88rem;margin:.3rem 0 0}
.campo.tem-erro .erro{display:block}

fieldset{border:0;margin:0 0 1.1rem;padding:0;min-width:0}
legend{font-weight:700;font-size:.98rem;padding:0;margin:0 0 .4rem}

/* checkbox / radio customizados */
.opcao{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 .65rem;font-weight:400;font-size:.95rem;line-height:1.45;cursor:pointer}
.opcao input{flex:none;appearance:none;-webkit-appearance:none;width:1.5rem;height:1.5rem;margin:.05rem 0 0;border:1.5px solid var(--terra);border-radius:7px;background:#fff;display:grid;place-content:center;cursor:pointer}
.opcao input[type=radio]{border-radius:50%}
.opcao input::after{content:"";width:.7rem;height:.7rem;transform:scale(0);transition:transform .12s;background:var(--terra);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}
.opcao input[type=radio]::after{clip-path:none;border-radius:50%;width:.75rem;height:.75rem}
.opcao input:checked::after{transform:scale(1)}
.opcao input:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
.consent{background:#FBF7F4;border:1.5px solid var(--linha);border-radius:14px;padding:.85rem .9rem;margin:0 0 .75rem}
.consent .opcao{margin:0}
.consent.tem-erro{border-color:var(--erro)}

.bloco-fase{margin:0 0 1.25rem;border-top:1.5px dashed var(--linha);padding-top:1.1rem}
.bloco-fase[hidden],[hidden]{display:none!important}
.bloco-fase h2{font-size:1.1rem;margin:0 0 .25rem;color:var(--terra-deep)}
.bloco-fase .leve{margin:0 0 1rem;font-size:.93rem;color:var(--suave)}

.btn{display:block;width:100%;font:inherit;font-weight:700;font-size:1.1rem;color:#fff;background:var(--terra-deep);border:0;border-radius:999px;padding:1rem 1.25rem;min-height:3.25rem;cursor:pointer;transition:background .15s,transform .05s}
.btn:hover{background:#863F3E}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress}
.nota{font-size:.82rem;color:var(--suave);margin:1rem 0 0;text-align:center}
.alerta{background:#FDECEA;border:1.5px solid #E7B4AE;color:#6B2323;border-radius:12px;padding:.8rem .9rem;margin:0 0 1rem;font-size:.93rem}

.ok{text-align:center;padding:1rem .25rem}
.ok .aro{width:76px;height:76px;margin:0 auto 1rem;display:block}
.ok h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--terra-deep)}
.ok p{margin:.4rem 0}

footer{max-width:620px;margin:0 auto;padding:0 1.25rem 2.5rem;text-align:center;font-size:.82rem;color:var(--suave)}
footer p{margin:.3rem 0}

/* POLÍTICA */
.topo{background:var(--terra);padding:1.4rem 1rem;text-align:center}
.topo .logo{width:118px;margin:0}
.doc{max-width:720px;margin:0 auto;padding:2rem 1.25rem 3rem}
.doc h1{font-size:clamp(1.5rem,5.5vw,2rem);line-height:1.2;color:var(--terra-deep);margin:0 0 .4rem}
.doc h2{font-size:1.2rem;color:var(--terra-deep);margin:2rem 0 .5rem}
.doc .versao{color:var(--suave);font-size:.92rem;margin:0 0 1.25rem}
.doc ul{padding-left:1.25rem}
.doc li{margin:.3rem 0}
.tabela{overflow-x:auto;margin:1rem 0;border:1.5px solid var(--linha);border-radius:12px;background:#fff}
.tabela table{border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem}
.tabela th,.tabela td{text-align:left;vertical-align:top;padding:.65rem .75rem;border-bottom:1px solid var(--linha)}
.tabela th{background:var(--areia);color:var(--terra-deep)}
.tabela tr:last-child td{border-bottom:0}
.voltar{display:inline-block;margin:0 0 1.2rem;font-size:.95rem}

@media (min-width:640px){
    .card{padding:2rem 2.25rem 2.25rem}
  .hero{padding-top:3rem}
  .logo{width:180px}
  .linha2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
