*{box-sizing:border-box}body{margin:0;color:#261b30;font:16px/1.45 Arial,sans-serif}header,nav,.marcas,footer{display:flex;align-items:center}header,footer{justify-content:space-between;padding-right:5vw}header{min-height:78px}.marcas{gap:1rem}.marcas img{height:52px;max-width:19vw;object-fit:contain}.pg{align-self:stretch;display:grid;place-items:center;padding:12px 4vw 12px 5vw;background:#541b69;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}nav{gap:2rem}a{color:inherit;font-weight:700}.cta,button{display:inline-block;border:0;border-radius:10px;padding:.85rem 1.25rem;background:#68e3b6;color:#172723;text-decoration:none;font-weight:750;cursor:pointer}.hero,footer{background:radial-gradient(ellipse at 80% 40%,#822b98,#481459 75%);color:white}.grade,.beneficios,.passos{width:min(1200px,92%);margin:auto}.grade{display:grid;grid-template-columns:1.22fr 1fr;gap:5%;padding:42px 0;align-items:center}small{font-weight:bold;letter-spacing:.09em}.oferta small,em{color:#76eab7}em{font-style:normal}h1,h2,h3{line-height:1.06;letter-spacing:-.045em;margin:.4em 0}h1{font-size:clamp(42px,4.7vw,72px)}h2{font-size:clamp(29px,3vw,43px)}.oferta>p{font-size:1.2rem;max-width:42ch}figure{margin:22px 0 0;text-align:center}figure img{height:clamp(185px,20vw,290px);max-width:44%;object-fit:contain;vertical-align:bottom}.app{border:5px solid #271c2a;border-radius:18px;background:white}figcaption{font-size:12px;margin-top:8px}.painel{background:white;color:#261b30;border-radius:20px;padding:clamp(22px,3vw,40px)}.painel h2{margin-top:0}form,.cards,.passos{display:grid}form{grid-template-columns:1fr 1fr;gap:12px}label{font-size:14px;font-weight:600}input,select{display:block;width:100%;font:inherit;padding:10px;border-radius:6px;border:1px solid #978e9c;margin-top:4px;background:white}.aceite,button,#status{grid-column:1/-1}.aceite{display:flex;gap:8px;font-weight:400}.aceite input{width:auto;align-self:start}button{font-size:16px}#status:empty{display:none}.beneficios{padding:42px 0}.beneficios h2{text-align:center}.cards{grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}.cards small,.passos small{color:#64257e}.cards article{border-left:2px solid #e7dbea;padding-left:18px}h3{font-size:24px}#como{background:#faf5ee}.passos{grid-template-columns:1fr 1fr;gap:4%;align-items:center;padding:32px 0}.passos img{width:100%;max-height:280px;object-fit:cover;border-radius:18px}ol{display:flex;gap:28px;padding-left:28px;font-weight:bold}li::marker{color:#6a287e}footer{padding:24px 5vw;gap:16px}footer strong{font-size:24px}:focus-visible{outline:3px solid #18856e;outline-offset:3px}@media(max-width:760px){.grade,.passos{grid-template-columns:1fr;gap:24px}.cards{grid-template-columns:1fr 1fr}nav a:first-child{display:none}.marcas{gap:6px}.marcas img{max-width:24vw;height:40px}header{min-height:64px}nav .cta{font-size:13px;padding:10px}footer{flex-wrap:wrap}}@media(max-width:450px){form{grid-template-columns:1fr}.cards{gap:16px}.cards h3{font-size:20px}ol{display:grid;gap:6px}}
figure .equipamentos{display:block;width:min(100%,405px);height:auto;max-width:100%;margin:auto;mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 97%,transparent);mask-composite:intersect}.icone{display:block;height:40px;width:auto;margin-bottom:9px}.passos img{height:auto;aspect-ratio:530/239}


/* Feedback visual do formulário */
#status {
  margin: 0;
  border-radius: 12px;
  transition: all .2s ease;
}

#status.status-pending {
  padding: 13px 16px;
  background: #f2eff5;
  color: #541b69;
  font-weight: 700;
}

#status.status-success {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 22px 20px;
  background: #e5f8ee;
  border: 2px solid #48b77c;
  color: #145b37;
  box-shadow: 0 5px 18px rgba(20, 91, 55, .10);
}

#status.status-success::before {
  content: "✓";
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #238653;
  color: white;
  font-size: 26px;
  font-weight: 800;
}

#status.status-success strong {
  font-size: 21px;
  line-height: 1.2;
}

#status.status-success span {
  font-size: 15px;
  line-height: 1.5;
}

#status.status-error {
  padding: 14px 16px;
  background: #fff0f0;
  border: 1px solid #d9534f;
  color: #a32121;
  font-weight: 700;
}

button:disabled {
  opacity: .65;
  cursor: wait;
}
