:root{--borda-campo:#8a8fa8}
.landing section{padding:44px 0}
.landing h2{font-size:clamp(26px,6vw,40px)}
.landing h3{font-size:19px}

.cabeca .ilustra{display:none}
.ilustra{background:var(--papel);border-radius:26px;padding:18px 18px 12px;box-shadow:0 34px 60px -36px rgba(38,44,82,.5),0 0 0 1px var(--linha);width:100%;max-width:360px;justify-self:end}
.ilustra-cab{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px dashed var(--linha);margin-bottom:4px}
.ilustra-cab img{width:48px}
.ilustra-cab b{display:block;font-family:var(--titulo);font-weight:600;font-size:18px;line-height:1.15;color:var(--tinta)}
.ilustra-status{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:700;color:#8a6a00;background:var(--sol-claro);border-radius:999px;padding:1px 10px}
.ilustra-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#e0a800}
.ilustra-rotulo{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);margin:10px 0 6px}
.ilustra-modelos{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f1f0f6;border-radius:999px;padding:4px}
.ilustra-modelos span{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:8px 6px;font-weight:700;font-size:14.5px;color:var(--ink3)}
.ilustra-modelos .ativo{background:var(--azul);color:#fff;box-shadow:0 3px 0 var(--azul-escuro)}
.ilustra-modelos svg{width:16px;height:16px}
.ilustra-legenda{margin-top:10px;font-size:12.5px;color:var(--ink3);text-align:center}

.tres{list-style:none;display:grid;gap:12px;margin-top:22px}
.tres li{display:flex;gap:14px;align-items:flex-start;background:var(--papel);border-radius:22px;padding:16px;box-shadow:0 0 0 1px var(--linha);min-width:0}
.tres .icone{width:44px;height:44px;flex:none;border-radius:14px;display:grid;place-items:center;background:var(--ceu-gelo);color:var(--azul)}
.tres li:nth-child(2) .icone{background:var(--lilas-claro);color:var(--lilas-forte)}
.tres li:nth-child(3) .icone{background:var(--sol-claro);color:#a77d00}
.tres .icone svg{width:24px;height:24px}
.tres h3,.trilha h3{margin-bottom:2px}
.tres p,.trilha p{color:var(--ink2);font-size:16px;line-height:1.45}

.vantagens{padding-top:24px!important}
.passos-parceiro{padding-top:8px!important}
.trilha{list-style:none;display:grid;gap:18px;margin-top:22px}
.trilha li{display:flex;gap:14px;align-items:flex-start;position:relative;min-width:0}
.trilha .num{width:40px;height:40px;flex:none;border-radius:50%;background:var(--azul);color:#fff;font-family:var(--titulo);font-weight:600;font-size:19px;display:grid;place-items:center;box-shadow:0 3px 0 var(--azul-escuro)}

.landing ~ .faq{padding-bottom:56px}

.cadastro{background:linear-gradient(180deg,var(--fundo) 0%,var(--ceu-gelo) 35%,var(--fundo) 100%);scroll-margin-top:72px}
.cadastro-topo p{color:var(--ink2);font-size:16.5px;margin-top:8px}
.cadastro-caixa{margin-top:20px;background:var(--papel);border-radius:28px;padding:20px 16px 22px;box-shadow:0 34px 70px -40px rgba(38,44,82,.45),0 0 0 1px var(--linha);min-width:0}

.form{display:grid;gap:20px}
.dupla{display:grid;gap:18px;min-width:0}
.form[hidden],.pote[hidden],.status[hidden]{display:none}
.etapa{display:grid;gap:18px;padding-bottom:22px;border-bottom:1px dashed var(--linha);min-width:0}
.etapa h3,.opcionais summary{display:flex;align-items:center;gap:10px;font-family:var(--titulo);font-weight:600;font-size:19px;color:var(--tinta)}
.etapa h3>span,.opcionais summary>span:first-child{width:30px;height:30px;flex:none;border-radius:50%;background:var(--ceu-gelo);color:var(--azul);display:grid;place-items:center;font-size:16px}
.opcionais{display:block}
.opcionais summary{cursor:pointer;list-style:none;min-height:44px}
.opcionais summary .titulo-etapa{flex:1;min-width:0}
.opcionais summary::-webkit-details-marker{display:none}
.opcionais summary::after{content:"+";margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;background:var(--lilas-claro);color:var(--lilas-forte);display:grid;place-items:center;font-size:21px;line-height:1;transition:transform .2s}
.opcionais[open] summary::after{transform:rotate(45deg)}
.opcionais>.campo{margin-top:16px}
.campo{display:block;border:0;min-width:0;margin:0;padding:0}
.campo>label,.campo>legend{display:block;font-weight:700;color:var(--ink);font-size:16px;line-height:1.35;margin-bottom:6px;padding:0}
.opc{font-weight:400;color:var(--ink3);font-size:14.5px}
.dica{font-size:14.5px;line-height:1.45;color:var(--ink3);margin:-2px 0 8px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{display:block;width:100%;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:#fbfbfd;border:1.5px solid var(--borda-campo);border-radius:14px;padding:12px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s,background-color .15s;-webkit-appearance:none;appearance:none}
.form select{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234b5170' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.form textarea{resize:vertical;min-height:120px}
.form input::placeholder,.form textarea::placeholder{color:#767b94}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--azul);background-color:#fff;box-shadow:0 0 0 4px rgba(74,168,255,.25)}
.form [aria-invalid=true]{border-color:#c2334d!important;background-color:#fff8f9}
.erro{font-size:14.5px;font-weight:700;line-height:1.4;color:#b0263f;margin-top:6px}
.erro:empty{display:none}
.erro::before{content:"! ";font-weight:700}

.pilulas{display:flex;flex-wrap:wrap;gap:8px}
.pilulas label,.modelos label{position:relative;cursor:pointer;min-width:0}
.pilulas input,.modelos input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.pilulas span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:9px 15px;border-radius:999px;background:#fbfbfd;border:1.5px solid var(--borda-campo);font-weight:600;font-size:15px;line-height:1.3;color:var(--ink2);transition:background-color .15s,border-color .15s,color .15s}
.pilulas.grade{display:grid;grid-template-columns:1fr 1fr}
.pilulas.grade span{width:100%;height:100%;border-radius:16px;text-align:center;padding:9px 10px}
.pilulas label:hover span{border-color:var(--lilas)}
.pilulas input:checked+span{background:var(--azul);border-color:var(--azul);color:#fff}
.pilulas input[type=checkbox]:checked+span{background:var(--ceu-gelo);border-color:var(--azul);color:var(--azul-escuro)}
.pilulas input[type=checkbox]:checked+span::before{content:"✓";margin-right:6px;font-weight:700}
.pilulas input:focus-visible+span,.modelos input:focus-visible+span{outline:3px solid var(--ceu);outline-offset:2px}
.campo.invalido .pilulas span,.campo.invalido .modelos span{border-color:#c2334d}
.campo.invalido .caixinha input{outline:2px solid #c2334d;outline-offset:2px;border-radius:4px}

.modelos{display:grid;gap:10px}
.modelos span{display:grid;align-content:start;gap:2px;padding:14px 16px 14px 50px;border-radius:18px;border:1.5px solid var(--borda-campo);background:#fbfbfd;position:relative;height:100%;transition:background-color .15s,border-color .15s,box-shadow .15s}
.modelos span::before{content:"";position:absolute;left:16px;top:16px;width:22px;height:22px;border-radius:50%;border:2px solid var(--lilas);background:#fff;box-sizing:border-box}
.modelos label:hover span{border-color:var(--lilas)}
.modelos input:checked+span{border-color:var(--azul);background:var(--ceu-gelo);box-shadow:0 0 0 1px var(--azul)}
.modelos input:checked+span::before{border:7px solid var(--azul)}
.modelos b{font-family:var(--titulo);font-weight:600;font-size:17px;line-height:1.25;color:var(--tinta)}
.modelos small{font-size:14.5px;line-height:1.4;color:var(--ink2)}

.confirmar{display:grid;gap:4px}
.caixinha{display:flex!important;gap:12px;align-items:flex-start;min-height:44px;padding:10px 0!important;margin-bottom:0!important;font-weight:400!important;font-size:15.5px!important;color:var(--ink2)!important;cursor:pointer}
.caixinha input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--azul);cursor:pointer}
.caixinha .link{color:var(--ink)}

.pote{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.aviso-form{background:#fde8ec;color:#8a2335;border-radius:16px;padding:12px 14px;font-weight:700;font-size:15.5px;line-height:1.45}
.aviso-form:empty{display:none}
.enviar{width:100%;border:0;cursor:pointer}
.enviar[disabled]{opacity:.75;cursor:progress;transform:none}
.status{font-size:14.5px;color:var(--ink3);text-align:center}
.status:empty{display:none}

.sucesso{text-align:center;padding:24px 6px 12px;display:grid;justify-items:center;gap:10px}
.sucesso[hidden]{display:none}
.sucesso:focus{outline:none}
.sucesso img{width:150px}
.sucesso h3{font-size:clamp(26px,5.6vw,32px)}
.sucesso p{color:var(--ink2);font-size:17.5px;max-width:40ch}
.sucesso p span{color:var(--tinta);font-weight:700}

@media (min-width:600px){
  .enviar{width:auto;justify-self:start}
  .dupla{grid-template-columns:1fr 1fr;gap:18px 14px}
  .pilulas.grade{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:760px){
  .landing section{padding:64px 0}
  .landing h2,.landing ~ .faq h2,.cadastro-topo{text-align:center}
  .cabeca .wrap{grid-template-columns:1fr}
  .tres{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
  .tres li{flex-direction:column;gap:12px;padding:22px 20px}
  .trilha{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
  .trilha li{flex-direction:column;gap:10px;padding:0 4px}
  .trilha li:not(:last-child)::after{content:"";position:absolute;top:19px;left:56px;right:8px;border-top:3px dotted var(--lilas)}
  .vantagens{padding-top:40px!important}
  .modelos{grid-template-columns:repeat(3,1fr)}
  .cadastro-caixa{max-width:760px;margin:26px auto 0;padding:30px 32px 32px}
}
@media (min-width:1000px){
  .cabeca .wrap{grid-template-columns:1fr 360px}
  .cabeca .ilustra{display:block}
}
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .cabeca .ilustra{animation:entra .6s ease-out both}
}
@keyframes entra{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
