@font-face{font-family:'Inter';font-style:normal;font-weight:400 900;font-display:swap;src:url(inter-latin.woff2) format('woff2')}
:root{
  --red:#E21013;--red-dark:#C60E11;--red-deep:#8E0A0C;--ink:#121212;--text:#1a1a1a;--muted:#616161;
  --line:#d9d9d9;--soft:#f2f2f2;--softer:#ededed;--white:#fff;--radius:.625rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;line-height:1.5}
body{background:var(--white);color:var(--text);font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
h1,h2{letter-spacing:-.02em}
.page{min-height:100vh;display:flex;flex-direction:column}

/* Faixa da oferta */
.topbar{background:var(--ink);color:#fff;text-align:center;padding:max(.75rem,env(safe-area-inset-top)) 1rem .75rem}
.topbar h1{font-size:.875rem;font-weight:700;letter-spacing:.025em}
.tag{background:var(--red);color:#fff;font-weight:900;padding:.125rem .5rem;border-radius:.25rem}

/* Logo e telefone */
.brandbar{background:#fff;border-bottom:1px solid var(--line);padding:.625rem 1rem;display:flex;justify-content:center;align-items:center;gap:1.5rem}
.brandbar img{height:2.5rem;width:auto}
.phone{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);font-weight:800;font-size:.9375rem;white-space:nowrap;transition:color .15s}
.phone:hover{color:var(--red)}
.phone svg{width:1.125rem;height:1.125rem;color:var(--red);flex-shrink:0}

/* Hero */
.hero{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:1.25rem 1rem}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero-veil{position:absolute;inset:0;background:rgba(18,18,18,.62)}
.hero-body{position:relative;z-index:1;width:100%;max-width:42rem}
.headline{color:#fff;text-align:center;font-size:1.5rem;line-height:1.25;font-weight:900;margin-bottom:.75rem;text-wrap:balance;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}
.sub{color:#fff;text-align:center;font-weight:600;margin-bottom:1.25rem;filter:drop-shadow(0 4px 4px rgba(0,0,0,.25))}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.25rem}
.badge{display:inline-flex;align-items:center;gap:.375rem;background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:.375rem .75rem;font-size:.75rem;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.badge svg{width:1rem;height:1rem;color:var(--red)}

/* Quiz */
.quiz{background:#fff;color:var(--text);border-radius:1rem;overflow:hidden;border:1px solid var(--line);box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.bar{height:.5rem;background:var(--soft)}
.bar i{display:block;height:100%;background:linear-gradient(135deg,var(--red),var(--red-deep));transition:width .3s}
.quiz-body{padding:1.5rem}
.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.1em;color:var(--red);text-transform:uppercase;margin-bottom:.75rem}
.q{font-size:1.25rem;line-height:1.4;font-weight:900;margin-bottom:1.5rem}
.opts{display:grid;gap:.5rem}
.opt{width:100%;text-align:left;display:flex;align-items:center;gap:.75rem;border:2px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem;font-weight:600;font-size:.875rem;transition:border-color .15s,background-color .15s}
.opt i{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid var(--line);flex-shrink:0}
.opt.on{border-color:var(--red);background:rgba(226,16,19,.05)}
.opt.on i{border-color:var(--red);background:var(--red)}
@media (hover:hover){.opt:hover{border-color:rgba(226,16,19,.6);background:var(--soft)}}
.field{display:block;margin-bottom:1rem}
.field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}
.field input{width:100%;background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:.75rem 1rem;outline:none;font-size:1rem}
.field input:focus{border-color:var(--red)}
.err{color:var(--red-dark);font-size:.875rem;font-weight:600;margin-top:.25rem}
.consent{display:flex;gap:.625rem;align-items:flex-start;font-size:.75rem;line-height:1.45;color:var(--muted);margin-bottom:1rem;cursor:pointer}
.consent input{width:1.125rem;height:1.125rem;margin-top:.0625rem;accent-color:var(--red);flex-shrink:0}
.consent a{text-decoration:underline}
.btn{background:var(--red);color:#fff;text-transform:uppercase;letter-spacing:.02em;font-weight:800;border-radius:var(--radius);box-shadow:0 10px 30px -10px rgba(226,16,19,.55);transition:transform .15s,background-color .15s}
.btn:hover{background:var(--red-dark);transform:translateY(-1px)}
.btn:disabled{opacity:.5;transform:none;cursor:default}
.btn-full{display:block;width:100%;padding:1rem;font-size:.875rem;text-align:center}
.foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.5rem;background:rgba(242,242,242,.6);border-top:1px solid var(--line)}
.foot .prev{background:var(--softer);border-radius:var(--radius);padding:.625rem 1.25rem;font-size:.875rem;font-weight:600}
.foot .next{padding:.625rem 1.5rem;font-size:.875rem}
.foot small{font-size:.75rem;color:var(--muted);text-align:right}
.notice{background:rgba(226,16,19,.06);border:1px solid rgba(226,16,19,.35);border-radius:var(--radius);padding:.75rem 1rem;font-size:.875rem;font-weight:600;margin-bottom:1rem}
.notice a{color:var(--red-dark);white-space:nowrap;text-decoration:underline}
.secure{color:rgba(255,255,255,.9);text-align:center;font-size:.75rem;margin-top:1rem}

/* Avaliacoes do Google */
.rating-wrap{display:flex;justify-content:center;margin-top:2rem}
.rating{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:.375rem 1rem;font-size:.875rem;font-weight:700;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.rating svg{width:1.25rem;height:1.25rem}
.rating .stars{color:#FBBC04}
.rating .label{font-weight:600}
.rv{position:relative;margin-top:1.25rem;width:min(78rem,calc(100vw - 2rem));margin-left:50%;transform:translateX(-50%)}
.rv-track{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem .125rem .5rem;scrollbar-width:none}
.rv-track::-webkit-scrollbar{display:none}
.rv-card{flex:0 0 88%;scroll-snap-align:start;background:#fff;border-radius:.75rem;padding:1.25rem;box-shadow:0 4px 14px rgba(0,0,0,.12);display:flex;flex-direction:column;text-align:left}
.rv-head{display:flex;align-items:center;gap:.625rem}
.rv-avatar{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:50%;color:#fff;font-weight:700;font-size:1.05rem;display:flex;align-items:center;justify-content:center}
.rv-name{font-weight:700;line-height:1.2}
.rv-date{font-size:.75rem;color:#767676;margin-top:.125rem}
.rv-g{margin-left:auto;align-self:flex-start;width:1.25rem;height:1.25rem;flex-shrink:0}
.rv-stars{color:#FBBC04;margin-top:.625rem;letter-spacing:.05em}
.rv-text{margin-top:.625rem;font-size:.9rem;line-height:1.55;color:#333;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.rv-card.open .rv-text{display:block}
.rv-more{margin-top:auto;padding-top:.5rem;align-self:flex-start;font-size:.8rem;color:#767676}
.rv-more:hover{color:var(--red)}
.rv-btn{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:50%;background:#fff;color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.25);display:none;align-items:center;justify-content:center;z-index:1}
.rv-btn:hover{color:var(--red)}
.rv-btn svg{width:18px;height:18px}
.rv-prev{left:0}.rv-next{right:0}
@media (hover:hover){.rv{padding:0 3rem}.rv-btn{display:flex}}

/* Rodape */
.footer{background:var(--ink);color:#fff;text-align:center;padding:2rem 1rem}
.footer b{display:block;font-weight:900;font-size:1.25rem;letter-spacing:.025em}
.footer p{font-size:.875rem;color:rgba(255,255,255,.8);margin-top:.5rem}
.footer .tel{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;margin-top:.75rem}
.footer .tel svg{width:1rem;height:1rem}
.footer small{display:block;font-size:.75rem;color:rgba(255,255,255,.6);margin-top:1rem}
.footer small a{text-decoration:underline}

/* Obrigado */
.thanks{position:relative;z-index:1;width:100%;max-width:42rem;background:#fff;border-radius:1rem;padding:2rem;text-align:center;box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.thanks>img{height:3rem;width:auto;margin:0 auto 1rem}
.check{width:5rem;height:5rem;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.check svg{width:2.5rem;height:2.5rem}
.thanks h1{font-size:1.875rem;font-weight:900;color:var(--ink)}
.thanks>p{font-size:1.125rem;color:var(--muted);margin-top:.5rem}
.thanks h2{font-size:1.5rem;font-weight:900;color:var(--red);margin:2rem 0 1rem}
.steps{list-style:none;display:grid;gap:.75rem;text-align:left}
.steps li{display:flex;gap:1rem;border:1px solid var(--line);border-radius:var(--radius);padding:1rem}
.steps span{width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red-deep));color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.steps b{display:block;color:var(--ink)}
.steps em{display:block;font-style:normal;font-size:.875rem;color:var(--muted)}
.thanks .btn{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:2rem;padding:1rem .75rem;font-size:.9375rem;white-space:nowrap}
.thanks .btn svg{width:1.25rem;height:1.25rem}
.thanks .back{display:inline-block;margin-top:1.5rem;font-size:.875rem;color:var(--red)}

@media (width<640px){.quiz-body{padding:1.125rem 1.5rem}.eyebrow{margin-bottom:.5rem}.q{margin-bottom:.875rem}.opt{padding:.5625rem 1rem}}
@media (width<360px){.brandbar{gap:.75rem}.brandbar img{height:2rem}.phone{font-size:.8125rem}}
@media (width>=40rem){
  .topbar h1{font-size:1rem}
  .brandbar img{height:3rem}
  .phone{font-size:1.125rem}
  .phone svg{width:1.25rem;height:1.25rem}
  .hero{padding:4rem 1rem}
  .hero-img{object-position:center}
  .headline{font-size:2.25rem}
  .sub{font-size:1.125rem}
  .quiz-body{padding:2rem}
  .q{font-size:1.5rem}
  .opt{font-size:1rem}
  .foot{padding:1rem 2rem}
  .rv-card{flex-basis:calc((100% - 1rem) / 2)}
  .thanks{padding:2.5rem}
  .thanks h1{font-size:3rem}
  .thanks .btn{font-size:1.0625rem}
}
@media (width>=64rem){.rv-card{flex-basis:calc((100% - 3rem) / 4)}}
