:root{--azul-escuro:#1B2F4E;--azul:#3A83C3;--azul-claro:#EAF2FA;--texto:#1c2430;--cinza:#5b6675;--borda:#cfd8e3;--erro:#b3261e}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--texto);background:var(--azul-claro);line-height:1.45}
.topo{background:#fff;padding:18px 16px 14px;text-align:center;border-bottom:4px solid var(--azul)}
.topo img{width:200px;max-width:60%;height:auto}
main{max-width:480px;margin:0 auto;padding:22px 16px 40px}
h1{text-wrap:balance;margin:0 0 8px;font-size:1.65rem;line-height:1.2;color:var(--azul-escuro);text-align:center}
.apoio{margin:0 0 20px;text-align:center;color:var(--cinza);font-size:1.02rem}
form,.cartao{background:#fff;border-radius:14px;padding:20px 18px;box-shadow:0 2px 14px rgba(27,47,78,.10)}
label,legend{display:block;font-weight:600;margin:0 0 6px;color:var(--azul-escuro);font-size:.98rem;padding:0}
.campo{margin-bottom:16px}
input[type=text],input[type=tel],select{width:100%;font:inherit;font-size:1rem;padding:13px 12px;border:1.5px solid var(--borda);border-radius:10px;background:#fff;color:var(--texto);min-height:50px}
input:focus,select:focus{outline:3px solid rgba(58,131,195,.35);border-color:var(--azul)}
.invalido input,.invalido select{border-color:var(--erro)}
.msg{color:var(--erro);font-size:.9rem;margin-top:5px;min-height:0}
fieldset{border:0;padding:0;margin:0 0 16px}
.opcoes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opcoes label{margin:0;font-weight:600}
.opcoes input{position:absolute;opacity:0;pointer-events:none}
.opcoes span{display:flex;align-items:center;justify-content:center;min-height:50px;border:1.5px solid var(--borda);border-radius:10px;cursor:pointer;color:var(--azul-escuro);background:#fff}
.opcoes input:checked+span{background:var(--azul-escuro);border-color:var(--azul-escuro);color:#fff}
.opcoes input:focus-visible+span{outline:3px solid rgba(58,131,195,.45)}
.consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;color:var(--texto)}
.consent input{width:22px;height:22px;margin:1px 0 0;flex:none;accent-color:var(--azul-escuro)}
button{width:100%;font:inherit;font-weight:700;font-size:1.12rem;padding:16px;border:0;border-radius:12px;background:var(--azul);color:#fff;cursor:pointer;min-height:56px;box-shadow:0 4px 0 #2a639a}
button:active{transform:translateY(2px);box-shadow:0 2px 0 #2a639a}
button:disabled{opacity:.7;cursor:wait}
.erro-geral{color:var(--erro);text-align:center;margin:0 0 12px;font-size:.95rem}
.isca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
.rodape{text-align:center;color:var(--cinza);font-size:.82rem;margin-top:18px}
.ok{text-align:center}.ok .check{width:68px;height:68px;border-radius:50%;background:var(--azul);color:#fff;display:flex;align-items:center;justify-content:center;font-size:38px;margin:4px auto 14px}
@media(min-width:700px){.topo img{width:240px}h1{font-size:1.9rem}main{padding-top:36px}}
