/* ============================================================
   COTAÇÃO (formulário) — Proteção Brasil (v3)
   ============================================================ */

/* ---------- Base compartilhada ---------- */
:root{
  --azul:#1e3a8a;--azul-2:#2a4fb8;--azul-esc:#0e1c47;--azul-noite:#08122e;
  --ouro:#e6c25a;--ouro-claro:#f6dd8e;--ouro-esc:#c9a227;
  --zap:#25d366;--ok:#22c55e;--ok-2:#16a34a;
  --ink:#eef3ff;--ink-dim:#a8b8e0;--card:rgba(255,255,255,.06);--linha:rgba(255,255,255,.14);
  --ft:'Sora',system-ui,sans-serif;--fc:'Inter',system-ui,sans-serif;--raio:18px;--ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--fc);background:var(--azul-noite);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
.wrap{width:min(1180px,90%);margin:0 auto}
h2{font-family:var(--ft);font-weight:800;letter-spacing:-.02em;line-height:1.12}
section{padding:64px 0;position:relative}
.eyebrow{display:block;text-align:center;color:var(--ouro);font-family:var(--ft);font-weight:700;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px}
h2.tt{text-align:center;font-size:clamp(1.7rem,6.4vw,2.5rem);margin-bottom:10px}
h2.tt em{font-style:normal;color:var(--ouro)}

/* CTA */
.cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--ft);font-weight:700;
  font-size:1.05rem;min-height:56px;padding:16px 34px;border:0;border-radius:999px;cursor:pointer;
  text-decoration:none;color:#fff;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--ok),var(--ok-2));box-shadow:0 14px 34px rgba(34,197,94,.36);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease);-webkit-tap-highlight-color:transparent}
.cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 20px 44px rgba(34,197,94,.5)}
.cta:active{transform:scale(.97)}
.cta::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.36),transparent);transform:skewX(-20deg);animation:varre 3.4s ease-in-out infinite}
@keyframes varre{0%,58%{left:-60%}92%,100%{left:130%}}
.cta svg{width:20px;height:20px;flex-shrink:0}

/* Reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.rv.on{opacity:1;transform:none}

/* ---------- FORMULÁRIO ---------- */
.form-sec{background:linear-gradient(180deg,var(--azul-noite),var(--azul-esc));overflow:hidden}
.form-sec .wrap{position:relative;z-index:1}
.form-card{max-width:560px;margin:0 auto;position:relative;border-radius:24px;overflow:hidden;
  background:linear-gradient(170deg,rgba(42,79,184,.3),rgba(255,255,255,.06));border:1px solid var(--linha);box-shadow:0 34px 80px rgba(0,0,0,.5);padding:26px 22px 22px}
.form-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--ouro),var(--ok))}
.form-selo{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto 18px;width:fit-content;
  border:1px solid rgba(34,197,94,.45);background:rgba(34,197,94,.12);color:#b9f6cf;font-weight:600;font-size:.8rem;padding:8px 16px;border-radius:999px}
.form-selo svg{width:16px;height:16px;color:var(--ok)}
.fg{position:relative;margin-bottom:14px}
.fg label{display:block;font-family:var(--ft);font-weight:700;font-size:.76rem;color:var(--ouro-claro);margin-bottom:6px;letter-spacing:.03em}
.fg input,.fg select{width:100%;font-family:var(--fc);font-size:16px;min-height:52px;padding:14px 15px;border-radius:14px;
  border:1.5px solid var(--linha);background:rgba(8,18,46,.6);color:#fff;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
.fg select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8b8e0' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:40px}
.fg input::placeholder{color:#6b7ba8}
.fg input:focus,.fg select:focus{outline:0;border-color:var(--ouro);background:rgba(8,18,46,.9);box-shadow:0 0 0 4px rgba(230,194,90,.18)}
.fg input.err,.fg select.err{border-color:#f87171;box-shadow:0 0 0 4px rgba(248,113,113,.16)}
.fg.ok input{border-color:rgba(34,197,94,.6)}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px}  /* 2 colunas também no celular */
.form-card .cta{width:100%;margin-top:6px}
.lgpd{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.72rem;color:var(--ink-dim);margin-top:12px;text-align:center}
.lgpd svg{width:13px;height:13px;flex-shrink:0}
#msg{text-align:center;font-weight:600;font-size:.88rem;margin-top:10px;min-height:1em}
#msg.ok{color:#6ee7a0}#msg.bad{color:#fca5a5}

/* ---------- Desktop ---------- */
@media (min-width:768px){ section{padding:88px 0} .form-card{padding:32px 30px 26px} }
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}
