:root{--blue:#0E2841;--ink:#0b1722;--muted:#66727d;--paper:#f5f7f8;--line:#dbe2e7;--accent:#75d5c5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:#fff}a{color:inherit}.nav{height:78px;display:flex;align-items:center;gap:36px;padding:0 5vw;position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid #edf0f2}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 18px Manrope;letter-spacing:.12em}.mark{width:32px;height:32px;background:var(--blue);color:#fff;display:grid;place-items:center;border-radius:8px;letter-spacing:0}.nav nav{display:flex;gap:26px;margin-left:auto}.nav nav a{text-decoration:none;font-size:13px;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;padding:15px 22px;border-radius:8px;text-decoration:none;border:0;font-weight:700;cursor:pointer}.btn.small{padding:11px 16px;font-size:13px}.menu{display:none}.hero{min-height:690px;padding:90px 7vw 70px;display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center;background:linear-gradient(135deg,#fff 55%,#eef3f5)}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#527084}.hero h1{font:800 clamp(42px,5.6vw,76px)/1.02 Manrope;margin:18px 0 24px;letter-spacing:-.045em}.hero h1 em{font-style:normal;color:#315e78}.hero-copy>p{font-size:18px;line-height:1.65;color:var(--muted);max-width:720px}.actions{display:flex;align-items:center;gap:24px;margin:32px 0}.link{font-weight:700;text-decoration:none}.trustline{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:#53616d}.hero-card{background:var(--blue);color:#fff;border-radius:22px;padding:38px;box-shadow:0 28px 70px #0e28412a;position:relative;overflow:hidden}.hero-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #ffffff20;border-radius:50%;right:-100px;top:-100px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:8px}.mini{font-size:10px;letter-spacing:.14em}.hero-card h2{font:700 28px/1.25 Manrope;margin:28px 0}.metric{display:grid;grid-template-columns:46px 1fr;align-items:center;border-top:1px solid #ffffff22;padding:18px 0}.metric strong{color:var(--accent)}.metric span{font-size:13px}.statement{text-align:center;padding:80px 6vw;background:#fff}.statement p{color:var(--muted)}.statement h2{font:700 clamp(30px,4vw,52px) Manrope;margin:8px}.section{padding:90px 7vw}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}.section h2,.quote h2{font:700 clamp(32px,4vw,52px)/1.1 Manrope;margin:10px 0}.section-head p,.tech p{color:var(--muted);line-height:1.7}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px}.cards article{border:1px solid var(--line);padding:30px;border-radius:14px;min-height:250px;transition:.2s}.cards article:hover{transform:translateY(-4px);box-shadow:0 15px 40px #0e284112}.cards article>span{font-size:11px;color:#80909b}.cards h3{font:700 20px Manrope;margin-top:30px}.cards p{color:var(--muted);line-height:1.6;font-size:14px}.cards a{font-weight:700;text-decoration:none}.legal-note{font-size:11px;color:#7a858e;margin-top:18px}.dark{background:var(--blue);color:#fff}.light{color:#9ec6d4}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:45px;border-top:1px solid #ffffff25}.steps>div{padding:30px 25px 10px 0}.steps b{color:var(--accent);font-size:12px}.steps h3{font:700 18px Manrope}.steps p{font-size:13px;color:#c5d0d8;line-height:1.6}.split-products{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:0;padding-bottom:0}.split-products article{padding:90px 6vw;background:var(--paper)}.split-products article+article{background:#e8eef1}.split-products p{color:var(--muted);line-height:1.7;max-width:580px}.tech{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.quote{background:var(--blue);color:#fff;padding:90px 7vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.quote>div>p{color:#c8d2d9;line-height:1.7}.quote form{background:#fff;color:var(--ink);padding:30px;border-radius:16px}.quote label{display:block;font-size:12px;font-weight:700;margin-bottom:15px}.quote input,.quote select,.quote textarea{width:100%;padding:13px;margin-top:7px;border:1px solid var(--line);border-radius:7px;font:14px Inter;background:#fff}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex!important;gap:9px;align-items:flex-start;font-weight:400!important;line-height:1.45}.check input{width:auto;margin-top:2px}.white{background:var(--blue);width:100%}.form-note{font-size:10px;color:#78848d}.legal{max-width:1050px;margin:auto;padding-top:65px;padding-bottom:65px}.legal h2{font-size:30px}.legal p{font-size:13px;line-height:1.7;color:#53616d}footer{background:#081b2c;color:#cbd5dc;padding:55px 7vw;display:grid;grid-template-columns:1fr 2fr 1fr;gap:30px;font-size:12px;line-height:1.6}footer .brand{color:#fff}.footer-links{display:flex;flex-direction:column;gap:4px}footer small{grid-column:1/-1;color:#8394a1;border-top:1px solid #ffffff16;padding-top:20px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,130px);background:#111;color:#fff;padding:14px 20px;border-radius:8px;font-size:12px;transition:.3s;z-index:50}#toast.show{transform:translate(-50%,0)}@media(max-width:900px){.nav nav{display:none}.menu{display:block;border:0;background:none;font-size:22px}.nav .btn.small{margin-left:auto}.hero,.quote,.tech,.section-head{grid-template-columns:1fr}.hero{padding-top:60px}.hero-card{max-width:600px}.cards,.steps{grid-template-columns:1fr 1fr}.split-products{grid-template-columns:1fr}.quote{gap:35px}footer{grid-template-columns:1fr 1fr}}@media(max-width:580px){.nav{padding:0 18px}.nav .btn.small{display:none}.hero,.section,.quote{padding-left:22px;padding-right:22px}.hero h1{font-size:43px}.cards,.steps,.two{grid-template-columns:1fr}.section{padding-top:65px;padding-bottom:65px}.split-products{padding:0}.split-products article{padding:65px 22px}.quote form{padding:20px}footer{grid-template-columns:1fr;padding:45px 22px}.trustline{display:grid}}

/* Atualização de identidade MonViso: logo completo e cabeçalho com área dupla */
.nav{
  height:184px;
  min-height:184px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:0 5vw;
  background:rgba(255,255,255,.97);
}
.nav-main{
  height:104px;
  display:flex;
  align-items:center;
  gap:36px;
  width:100%;
}
.brand.logo-brand{
  gap:0;
  letter-spacing:0;
  line-height:0;
  flex:0 0 auto;
}
.brand-logo{
  display:block;
  width:auto;
  object-fit:contain;
}
.header-logo{
  height:92px;
  max-width:265px;
}
.insurer-strip{
  height:80px;
  width:100%;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  padding-top:16px;
  border-top:1px solid #edf0f2;
}
.insurer-title{
  color:var(--blue);
  font:800 11px Manrope,Inter,Arial,sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1;
  margin-bottom:8px;
}
.insurer-track{
  display:flex;
  align-items:center;
  gap:34px;
  min-width:max-content;
  animation:monviso-insurers-scroll 26s linear infinite;
}
.insurer-track span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:190px;
  height:32px;
  padding:0 18px;
  border:1px dashed #c9d4dc;
  border-radius:999px;
  color:#6b7d8c;
  background:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  white-space:nowrap;
}
@keyframes monviso-insurers-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
footer{
  background:var(--blue);
}
.footer-brand{
  align-items:flex-start;
}
.footer-logo{
  height:145px;
  max-width:235px;
}

@media(max-width:900px){
  .nav{height:164px;min-height:164px;padding:0 5vw}
  .nav-main{height:94px;gap:20px}
  .header-logo{height:78px;max-width:225px}
  .insurer-strip{height:70px;padding-top:12px}
  .insurer-track span{min-width:165px;height:30px;font-size:10px}
}
@media(max-width:580px){
  .nav{height:150px;min-height:150px;padding:0 18px}
  .nav-main{height:88px}
  .header-logo{height:70px;max-width:200px}
  .insurer-strip{height:62px;padding-top:10px}
  .footer-logo{height:118px;max-width:195px}
}


/* Logos reais das seguradoras parceiras */
.insurer-track{
  gap:22px;
  animation-duration:58s;
}
.partner-logo{
  flex:0 0 155px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5px 14px;
  background:#fff;
  border:1px solid #e8edf1;
  border-radius:12px;
  box-shadow:0 4px 14px #0e28410a;
}
.partner-logo img{
  display:block;
  max-width:100%;
  max-height:24px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.partner-logo img[src*="axa"],
.partner-logo img[src*="hdi"]{
  max-height:28px;
}
.partner-logo img[src*="ff"]{
  max-height:30px;
}
.partner-logo img[src*="yellow"]{
  max-height:28px;
}

@media(max-width:900px){
  .insurer-track{gap:18px;animation-duration:52s}
  .partner-logo{flex-basis:138px;height:32px;padding:5px 12px}
  .partner-logo img{max-height:22px}
}
@media(max-width:580px){
  .insurer-track{gap:14px;animation-duration:48s}
  .partner-logo{flex-basis:124px;height:30px;padding:4px 10px;border-radius:10px}
  .partner-logo img{max-height:20px}
}

/* Ajustes finais para a vitrine de seguradoras */
.insurer-strip{
  background:#fff;
}
.insurer-track:hover{
  animation-play-state:paused;
}


/* Ajuste solicitado: logos sem caixas e com tamanho automático */
.partner-logo{
  flex:0 0 auto;
  width:auto;
  height:34px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.partner-logo img{
  width:auto;
  max-width:none;
  max-height:30px;
  object-fit:contain;
}
.partner-logo img[src*="axa"],
.partner-logo img[src*="hdi"]{
  max-height:32px;
}
.partner-logo img[src*="ff"],
.partner-logo img[src*="zurich"]{
  max-height:34px;
}
.insurer-track{
  gap:42px;
  animation-duration:68s;
}

@media(max-width:900px){
  .partner-logo{
    flex-basis:auto;
    height:32px;
    padding:0;
  }
  .partner-logo img{
    max-width:none;
    max-height:28px;
  }
  .insurer-track{
    gap:34px;
    animation-duration:62s;
  }
}
@media(max-width:580px){
  .partner-logo{
    flex-basis:auto;
    height:30px;
    padding:0;
  }
  .partner-logo img{
    max-width:none;
    max-height:25px;
  }
  .insurer-track{
    gap:28px;
    animation-duration:58s;
  }
}


/* Ajustes pontuais solicitados: destaque HDI, Zurich, Akad e Swiss Re visível */
.partner-logo{
  height:42px;
}
.partner-logo img{
  max-height:34px;
}
.partner-logo img[src*="hdi"],
.partner-logo img[src*="zurich"],
.partner-logo img[src*="akad"]{
  max-height:42px;
}
.partner-logo img[src*="swiss-re"]{
  max-height:34px;
}
.partner-logo img[src*="daycoval"]{
  max-height:32px;
}

@media(max-width:900px){
  .partner-logo{height:38px}
  .partner-logo img{max-height:30px}
  .partner-logo img[src*="hdi"],
  .partner-logo img[src*="zurich"],
  .partner-logo img[src*="akad"]{max-height:38px}
}
@media(max-width:580px){
  .partner-logo{height:34px}
  .partner-logo img{max-height:27px}
  .partner-logo img[src*="hdi"],
  .partner-logo img[src*="zurich"],
  .partner-logo img[src*="akad"]{max-height:34px}
}


/* Quadros de destaque da seção A MonViso */
.monviso-metrics{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:26px;
  margin-top:42px;
  align-items:stretch;
}
.monviso-metric-card{
  min-height:190px;
  padding:34px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 18px 46px #0e28410c;
}
.monviso-metric-card strong{
  color:#000;
  font:800 clamp(46px,6vw,68px)/.95 Manrope,Inter,Arial,sans-serif;
  letter-spacing:-.055em;
}
.monviso-metric-card span{
  margin-top:14px;
  color:#000;
  font:800 20px/1.2 Manrope,Inter,Arial,sans-serif;
}
.brazil-map{
  width:104px;
  height:104px;
  display:block;
  fill:#000;
  margin-bottom:10px;
}

@media(max-width:900px){
  .monviso-metrics{
    margin-top:28px;
  }
}
@media(max-width:580px){
  .monviso-metrics{
    grid-template-columns:1fr;
    gap:16px;
  }
  .monviso-metric-card{
    min-height:165px;
    padding:28px 20px;
  }
  .brazil-map{
    width:92px;
    height:92px;
  }
}


/* Ajustes solicitados nos cards de Seguro Garantia */
.cards article{
  min-height:210px;
  padding:26px 28px;
}
.cards h3{
  margin-top:0;
}
.cards article>span{
  display:none;
}

@media(max-width:580px){
  .cards article{
    min-height:auto;
    padding:24px;
  }
}


/* Ajustes finais solicitados: MonViso +10%, seguradoras -5% e header sem fundo */
.header-logo{
  height:101px;
  max-width:292px;
}
.footer-logo{
  height:160px;
  max-width:259px;
}
.partner-logo{
  height:40px;
}
.partner-logo img{
  max-height:32px;
}
.partner-logo img[src*="axa"],
.partner-logo img[src*="hdi"]{
  max-height:30px;
}
.partner-logo img[src*="hdi"],
.partner-logo img[src*="zurich"],
.partner-logo img[src*="akad"]{
  max-height:40px;
}
.partner-logo img[src*="ff"],
.partner-logo img[src*="zurich"]{
  max-height:32px;
}
.partner-logo img[src*="swiss-re"]{
  max-height:32px;
}
.partner-logo img[src*="daycoval"]{
  max-height:30px;
}

@media(max-width:900px){
  .header-logo{
    height:86px;
    max-width:248px;
  }
  .footer-logo{
    height:130px;
    max-width:215px;
  }
  .partner-logo{
    height:36px;
  }
  .partner-logo img{
    max-height:27px;
  }
  .partner-logo img[src*="hdi"],
  .partner-logo img[src*="zurich"],
  .partner-logo img[src*="akad"]{
    max-height:36px;
  }
}
@media(max-width:580px){
  .header-logo{
    height:77px;
    max-width:220px;
  }
  .footer-logo{
    height:130px;
    max-width:215px;
  }
  .partner-logo{
    height:32px;
  }
  .partner-logo img{
    max-height:26px;
  }
  .partner-logo img[src*="hdi"],
  .partner-logo img[src*="zurich"],
  .partner-logo img[src*="akad"]{
    max-height:32px;
  }
}


/* Ajuste: logo combinado HDI + Yelum */
.partner-logo img[src*="hdi-yelum"]{
  max-height:34px;
}
@media(max-width:900px){
  .partner-logo img[src*="hdi-yelum"]{
    max-height:30px;
  }
}
@media(max-width:580px){
  .partner-logo img[src*="hdi-yelum"]{
    max-height:27px;
  }
}


/* ==== Correções mobile: espaçamento do carrossel, logo AVLA e menu drawer ==== */

/* 1. Carrossel de seguradoras — mais respiro entre logos no mobile */
@media(max-width:900px){
  .insurer-track{gap:46px}
}
@media(max-width:580px){
  .insurer-track{gap:40px}
}

/* 2. AVLA: SVG sem width/height intrínsecos colapsa para 0 dentro do flex.
      Altura explícita deixa o viewBox resolver a largura. */
.partner-logo img[src*="avla"]{height:32px;width:auto}
@media(max-width:900px){
  .partner-logo img[src*="avla"]{height:27px}
}
@media(max-width:580px){
  .partner-logo img[src*="avla"]{height:26px}
}

/* 3. Menu mobile: drawer lateral no lugar do alert */
.nav-backdrop{display:none}
.nav nav .btn.nav-cta{display:none}   /* só aparece dentro do drawer */

@media(max-width:900px){
  .nav nav{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    margin:0;
    position:fixed;
    top:0;
    right:0;
    width:min(84vw,330px);
    height:100dvh;
    padding:88px 26px 32px;
    background:#fff;
    box-shadow:-22px 0 60px #0e284126;
    transform:translateX(100%);
    transition:transform .28s ease;
    z-index:40;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  body.nav-open .nav nav{transform:translateX(0)}

  .nav nav a:not(.nav-cta){
    font-size:16px;
    padding:17px 0;
    border-bottom:1px solid #edf0f2;
  }
  .nav nav .btn.nav-cta{
    display:flex;
    align-self:stretch;
    justify-content:center;
    margin:24px 0 0;   /* anula o margin-left:auto de .nav .btn.small */
    padding:14px 18px;
    font-size:14px;
  }

  .nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:#0b172259;
    opacity:0;
    visibility:hidden;
    transition:opacity .28s ease,visibility .28s ease;
    z-index:35;
  }
  body.nav-open .nav-backdrop{opacity:1;visibility:visible}
  body.nav-open{overflow:hidden}

  .menu{
    position:relative;
    z-index:45;
    line-height:1;
    padding:6px 10px;
    cursor:pointer;
  }
}
