/* Impacto ReproBov — estilos v2 */
:root{
  --azul:#004aad; --azul-2:#0b5fd1; --azul-esc:#032c6b; --azul-claro:#e9f0fb;
  --verde:#39b54a; --verde-esc:#2a9a3b; --verde-claro:#e9f8ec; --lima:#7ee28c;
  --areia:#f6f4ee; --branco:#fff; --ink:#15202b; --muted:#5b6672; --linha:#e4e8ef;
  --wa:#25d366; --wa-esc:#1ebe5b;
  --r:16px; --sombra:0 12px 32px rgba(3,44,107,.10); --max:1140px;
  --sec:clamp(52px,7vw,88px); --gap:clamp(16px,2.2vw,24px);
  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.55;font-size:16px}
img{max-width:100%;display:block} a{color:var(--azul);text-decoration:none}
h1,h2,h3{line-height:1.15;margin:0 0 .45em;font-weight:800;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.1rem,4.8vw,3.4rem)} h2{font-size:clamp(1.55rem,3vw,2.25rem)} h3{font-size:1.1rem}
p{margin:0 0 1em} .muted{color:var(--muted)} .center{text-align:center}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(18px,4vw,28px)}
section{padding:var(--sec) 0;scroll-margin-top:84px} .sec-alt{background:var(--areia)}
.eyebrow{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-esc);margin-bottom:10px}
.lead{font-size:clamp(1rem,1.5vw,1.12rem);color:var(--muted);max-width:640px}
.sec-head{max-width:680px;margin:0 auto clamp(28px,4vw,44px);text-align:center} .sec-head .lead{margin:0 auto}
.grid{display:grid;gap:var(--gap)} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.g3{grid-template-columns:repeat(2,1fr)}} @media(max-width:600px){.g2,.g3{grid-template-columns:1fr}}
.grid>*{min-width:0}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 24px;border-radius:999px;font-weight:700;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:.18s;line-height:1.2;text-align:center}
.btn svg{width:20px;height:20px;flex:none;fill:currentColor}
.btn-wa{background:var(--wa);color:#fff;box-shadow:0 8px 22px rgba(37,211,102,.32)} .btn-wa:hover{background:var(--wa-esc);transform:translateY(-1px)}
.btn-azul{background:var(--azul);color:#fff} .btn-azul:hover{background:var(--azul-2)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.5)} .btn-ghost:hover{background:rgba(255,255,255,.16)}
.btn-outline{background:#fff;color:var(--azul);border-color:var(--azul)} .btn-outline:hover{background:var(--azul-claro)}
.btn-sm{min-height:42px;padding:9px 16px;font-size:.9rem} .btn-block{width:100%}
@media(max-width:600px){.hero .btn{width:100%}}

/* topbar + header */
.topbar{background:var(--azul-esc);color:#dbe5f7;font-size:.8rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:34px}
.topbar a{color:#fff;font-weight:600} .topbar .social{display:flex;gap:12px} .topbar .social a{display:inline-flex} .topbar .social svg{width:16px;height:16px;fill:#fff}
.topbar svg.pin{width:13px;height:13px;fill:var(--lima);vertical-align:-2px}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:16px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--azul);font-size:1.1rem;line-height:1.05}
.brand img{width:44px;height:44px} .brand small{display:block;font-size:.66rem;font-weight:600;color:var(--muted);letter-spacing:.05em;margin-top:3px}
.nav{display:flex;gap:22px;align-items:center} .nav a{font-weight:600;color:var(--ink);font-size:.9rem;white-space:nowrap;padding:6px 0} .nav a:hover{color:var(--azul)}
.burger{display:none;background:none;border:0;width:46px;height:46px;cursor:pointer;padding:0;margin-right:-8px}
.burger span{display:block;height:3px;background:var(--azul);margin:6px 9px;border-radius:3px}
@media(max-width:960px){
  .topbar{display:none}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:8px 24px 16px;gap:0;border-bottom:1px solid var(--linha);box-shadow:var(--sombra)}
  .nav.open{display:flex} .nav a{padding:13px 0;border-bottom:1px solid var(--linha);font-size:1rem}
  .burger{display:block} .header .btn-wa{display:none}
}

/* hero */
.hero{position:relative;color:#fff;padding:clamp(56px,8vw,96px) 0;overflow:hidden;background:var(--azul-esc)}
.hero .bg{position:absolute;inset:0;background:url(assets/img/hero-bg.jpg) center 60%/cover no-repeat}
.hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,44,107,.95) 0%,rgba(3,44,107,.84) 42%,rgba(0,74,173,.42) 100%)}
@media(max-width:700px){.hero .bg{background-image:url(assets/img/hero-bg-m.jpg)}.hero .bg:after{background:linear-gradient(180deg,rgba(3,44,107,.92),rgba(3,44,107,.84))}}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,56px);align-items:center}
.hero h1{color:#fff;margin-bottom:16px} .hero h1 em{font-style:normal;color:var(--lima)}
.hero .lead{color:#dbe5f7;margin-bottom:26px;max-width:540px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.vet-chip{display:inline-flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 18px 6px 6px;color:#fff;font-size:.85rem;line-height:1.25;max-width:100%}
.vet-chip img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--lima);flex:none} .vet-chip b{display:block;font-size:.95rem} .vet-chip:hover{background:rgba(255,255,255,.16)}
.hero-card{background:#fff;color:var(--ink);border-radius:20px;padding:clamp(20px,3vw,28px);box-shadow:0 30px 60px rgba(0,0,0,.28)}
.hero-card .tag{display:inline-flex;align-items:center;gap:8px;background:var(--verde-claro);color:var(--verde-esc);font-weight:700;font-size:.78rem;padding:6px 12px;border-radius:999px;margin-bottom:12px}
.hero-card .tag i{width:8px;height:8px;border-radius:50%;background:var(--verde);animation:pulse 1.6s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(57,181,74,.6)}70%{box-shadow:0 0 0 8px rgba(57,181,74,0)}}
.hero-card .count{display:flex;gap:10px;align-items:baseline;margin:0 0 10px} .hero-card .count b{font-size:2rem;color:var(--azul);line-height:1} .hero-card .count span{color:var(--muted);font-size:.88rem}
.hero-card h3{font-size:1.2rem;margin-bottom:6px} .hero-card p{color:var(--muted);font-size:.93rem;margin-bottom:12px}
.hero-card ul{list-style:none;padding:0;margin:0 0 16px} .hero-card li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--linha);font-size:.92rem}
.hero-card li svg{width:18px;height:18px;fill:var(--verde);flex:none;margin-top:2px}
.hero-card .fine{font-size:.76rem;color:var(--muted);text-align:center;margin:10px 0 0}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}}

/* confiança */
.trust{background:#fff;border-bottom:1px solid var(--linha)}
.trust .wrap{display:flex;justify-content:center;gap:clamp(16px,3vw,36px);flex-wrap:wrap;padding:16px 24px;font-size:.86rem;font-weight:600;color:var(--muted)}
.trust span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap} .trust svg{width:19px;height:19px;fill:var(--azul)}

/* números */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap)}
.stat{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:22px 18px;text-align:center}
.stat b{display:block;font-size:2rem;color:var(--azul);line-height:1.1;margin-bottom:6px} .stat span{font-size:.9rem;color:var(--muted);display:block} .stat small{display:block;margin-top:8px;font-size:.7rem;color:#8a95a1}
.stat.empresa b{color:var(--verde-esc)}

/* por que */
.why{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:stretch}
.why .box{border-radius:20px;padding:clamp(22px,3vw,34px)} .why .dor{background:#fff;border:1px solid var(--linha)} .why .sol{background:var(--azul-esc);color:#fff}
.why h3{font-size:1.3rem;margin-bottom:14px} .why .sol h3{color:#fff}
.why ul{list-style:none;margin:0;padding:0} .why li{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--linha);font-size:.95rem} .why .sol li{border-color:rgba(255,255,255,.14)}
.why li svg{width:18px;height:18px;flex:none;margin-top:3px} .why .dor svg{fill:#d64545} .why .sol svg{fill:var(--lima)}
@media(max-width:800px){.why{grid-template-columns:1fr}}

/* serviços com foto */
.svc{background:#fff;border:1px solid var(--linha);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.svc:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
.svc img{aspect-ratio:16/10;width:100%;object-fit:cover} .svc .body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.svc h3{margin-bottom:6px} .svc p{color:var(--muted);font-size:.93rem;flex:1;margin-bottom:12px}
.link{font-weight:700;font-size:.92rem;display:inline-flex;align-items:center;gap:6px;color:var(--verde-esc);min-height:30px} .link svg{width:16px;height:16px;fill:currentColor}

/* passos */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);counter-reset:s}
.step{background:#fff;border-radius:var(--r);padding:28px 24px 24px;border:1px solid var(--linha);position:relative}
.step:before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:22px;width:38px;height:38px;border-radius:50%;background:var(--verde);color:#fff;font-weight:800;display:grid;place-items:center;box-shadow:0 6px 14px rgba(57,181,74,.35)}
.step h3{margin:6px 0 6px} .step p{color:var(--muted);font-size:.94rem;margin:0} .step small{display:block;margin-top:10px;font-weight:700;color:var(--azul);font-size:.82rem}
@media(max-width:800px){.steps{grid-template-columns:1fr;gap:30px}}

/* calculadora */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start} .calc>*{min-width:0}
.calc-form{background:#fff;border:1px solid var(--linha);border-radius:20px;padding:clamp(20px,3vw,28px)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media(max-width:560px){.row{grid-template-columns:1fr}}
.field{margin-bottom:16px;min-width:0} .field label{display:flex;justify-content:space-between;gap:10px;font-weight:700;font-size:.88rem;margin-bottom:6px} .field label output{color:var(--azul);font-weight:800;white-space:nowrap}
.field input[type=range]{width:100%;accent-color:var(--verde);height:32px;margin:0}
.field input:not([type=range]),.field select,.field textarea{width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1.5px solid #cfd6e0;border-radius:10px;font:inherit;font-size:1rem;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--azul);box-shadow:0 0 0 3px rgba(0,74,173,.12)}
.field .hint{font-size:.76rem;color:var(--muted);margin-top:4px}
.calc-res{background:linear-gradient(160deg,var(--azul-esc),var(--azul));color:#fff;border-radius:20px;padding:clamp(20px,3vw,28px);position:sticky;top:90px}
.calc-res h3{color:#fff;font-size:1.25rem} .res-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.res{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px;min-width:0} .res b{display:block;font-size:1.6rem;line-height:1.1;color:var(--lima);white-space:nowrap} .res span{font-size:.8rem;color:#c7d3ea}
.res.big{grid-column:1/-1;background:rgba(126,226,140,.14);border-color:rgba(126,226,140,.4)} .res.big b{font-size:2.2rem;color:#fff}
.calc-res .disc{font-size:.74rem;color:#aebbd8;margin:12px 0 0}
@media(max-width:900px){.calc{grid-template-columns:1fr}.calc-res{position:static}} @media(max-width:480px){.res b{font-size:1.25rem}.res.big b{font-size:1.8rem}.res{padding:12px 10px}}

/* genética */
.gen{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,48px);align-items:center}
.gen .badge{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--linha);border-radius:12px;padding:9px 14px;font-weight:700;color:var(--azul);margin-bottom:14px;font-size:.92rem} .gen .badge svg{width:20px;height:20px;fill:var(--verde)}
.racas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.raca{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--azul-esc)} .raca img{width:100%;height:100%;object-fit:cover;transition:.4s} .raca:hover img{transform:scale(1.04)}
.raca .cap{position:absolute;inset:auto 0 0 0;padding:40px 14px 14px;background:linear-gradient(transparent,rgba(3,44,107,.92));color:#fff} .raca .cap b{display:block;font-size:1rem;margin-bottom:3px} .raca .cap span{font-size:.78rem;color:#dbe5f7;line-height:1.35;display:block}
@media(max-width:900px){.gen{grid-template-columns:1fr}} @media(max-width:600px){.racas{grid-template-columns:1fr 1fr}.raca{aspect-ratio:1}} @media(max-width:420px){.racas{grid-template-columns:1fr}.raca{aspect-ratio:16/10}}

/* sobre */
.sobre{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,48px);align-items:center}
.sobre .foto{border-radius:22px;overflow:hidden;aspect-ratio:4/5;background:var(--azul-claro)} .sobre .foto img{width:100%;height:100%;object-fit:cover;object-position:center 15%}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px} .creds span{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--linha);border-radius:999px;padding:7px 12px;font-size:.84rem;font-weight:600;color:var(--azul)} .creds svg{width:14px;height:14px;fill:var(--verde)}
.selo{display:flex;align-items:center;gap:14px;margin-top:18px} .selo img{width:84px;height:auto;border-radius:10px} .selo span{font-size:.86rem;color:var(--muted);max-width:300px}
.sobre .social{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:860px){.sobre{grid-template-columns:1fr}.sobre .foto{aspect-ratio:4/3;max-height:420px}}

/* depoimentos */
.depo{background:#fff;border:1px solid var(--linha);border-radius:var(--r);padding:24px;position:relative;display:flex;flex-direction:column}
.depo .stars{color:#f5b301;letter-spacing:2px;font-size:.9rem;margin-bottom:10px} .depo p{flex:1;font-size:.97rem;margin-bottom:14px} .depo footer{font-size:.85rem;color:var(--muted)} .depo footer b{color:var(--ink);display:block}
.depo .ex{position:absolute;top:10px;right:10px;background:#fff3cd;color:#8a6d00;font-size:.66rem;font-weight:700;padding:3px 8px;border-radius:6px;border:1px solid #ffe69c}

/* área */
.area{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,40px);align-items:center}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px} .chips span{background:#fff;border:1px solid var(--linha);border-radius:999px;padding:7px 13px;font-size:.86rem;font-weight:600;color:var(--azul)} .chips span.base{background:var(--azul);color:#fff;border-color:var(--azul)}
.map{border-radius:20px;overflow:hidden;border:1px solid var(--linha);box-shadow:var(--sombra);background:#e9edf3;aspect-ratio:4/3} .map iframe{width:100%;height:100%;border:0;display:block}
@media(max-width:860px){.area{grid-template-columns:1fr}.map{aspect-ratio:16/10}}

/* faq */
.faq{max-width:780px;margin:0 auto} .faq details{background:#fff;border:1px solid var(--linha);border-radius:12px;margin-bottom:10px;overflow:hidden}
.faq summary{cursor:pointer;padding:16px 54px 16px 20px;font-weight:700;list-style:none;position:relative;font-size:1rem;min-height:52px;display:flex;align-items:center} .faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--azul-claro);color:var(--azul);display:grid;place-items:center;font-weight:800}
.faq details[open] summary:after{content:"–";background:var(--azul);color:#fff}
.faq .a{padding:0 20px 18px;color:var(--muted);font-size:.95rem}

/* contato */
.contato{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,48px);align-items:start}
.contato .info h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 4px} .contato .info a{font-weight:700} .contato .info .big{font-size:1.5rem;font-weight:800;color:var(--azul)} .contato .info p{margin:0}
.form{background:#fff;border:1px solid var(--linha);border-radius:20px;padding:clamp(20px,3vw,28px);box-shadow:var(--sombra)}
.form h3{margin-bottom:14px} .form .ok{display:none;background:var(--verde-claro);border:1px solid #bfe9c7;border-radius:12px;padding:16px;color:var(--verde-esc);font-weight:600;margin-top:12px} .form .priv{font-size:.74rem;color:var(--muted);margin:10px 0 0}
@media(max-width:860px){.contato{grid-template-columns:1fr}}

/* cta final + footer */
.cta-final{background:linear-gradient(135deg,var(--verde-esc),var(--verde));color:#fff;text-align:center}
.cta-final h2{color:#fff} .cta-final p{color:#eafbe9;max-width:560px;margin:0 auto 22px} .cta-final .btn-wa{background:#fff;color:var(--verde-esc);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.footer{background:var(--azul-esc);color:#b9c7e3;padding:44px 0 96px;font-size:.9rem}
.footer .cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px} .footer h4{color:#fff;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px} .footer a{color:#dfe7f7;display:block;margin-bottom:8px} .footer .brand{color:#fff;margin-bottom:10px} .footer .brand small{color:#9fb3d9}
.footer .social{display:flex;gap:14px;margin-top:12px} .footer .social a{display:inline-flex;margin:0} .footer .social svg{width:22px;height:22px;fill:#fff}
.footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:16px;font-size:.78rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
@media(max-width:700px){.footer .cols{grid-template-columns:1fr}.footer{padding-bottom:110px}}

/* flutuantes */
.fab{position:fixed;right:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:10px;background:var(--wa);color:#fff;border-radius:999px;padding:12px 18px 12px 14px;font-weight:700;box-shadow:0 12px 30px rgba(37,211,102,.45);transition:.18s}
.fab:hover{transform:translateY(-2px);background:var(--wa-esc)} .fab svg{width:26px;height:26px;fill:#fff}
.mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--linha);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;box-shadow:0 -8px 24px rgba(0,0,0,.08)}
.mbar .btn{flex:1;min-height:48px;padding:10px;font-size:.95rem}
@media(max-width:960px){.mbar{display:flex}.fab{display:none}}

.reveal{opacity:0;transform:translateY(14px);transition:.55s ease} .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.hero-card .tag i{animation:none}}
