/* Clínica Inttegrare — site.css
   Paleta tirada do logotipo: azul, verde e magenta sobre branco. */
:root{
  --ceu:#63A9E0; --ceu-escuro:#2B6FAE;
  --broto:#A3C652; --broto-escuro:#56761A;
  --magenta:#C8388A; --magenta-escuro:#A82470;
  --tinta:#22304A; --texto:#3E4A5E; --suave:#6B7689;
  --nuvem:#EEF5FB; --linha:#DCE6EF; --papel:#FFFFFF;
  --wa:#25A95B;
  --f-titulo:"Quicksand",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-texto:"Literata",Georgia,"Times New Roman",serif;
  --max:1180px; --r:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--papel);color:var(--texto);font:400 1.0625rem/1.75 var(--f-texto);text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:var(--ceu-escuro);text-underline-offset:3px}
a:hover{color:var(--magenta-escuro)}
:focus-visible{outline:3px solid var(--magenta);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-family:var(--f-titulo);color:var(--tinta);line-height:1.15;margin:0 0 .6em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.6vw,3.6rem)}
h2{font-size:clamp(1.6rem,3vw,2.35rem)}
h3{font-size:1.3rem}
p{margin:0 0 1.1em}
.wrap{width:min(100% - 40px,var(--max));margin-inline:auto}
.estreito{max-width:760px}
.pular{position:absolute;left:-999px;top:8px;background:var(--tinta);color:#fff;padding:10px 16px;border-radius:10px;z-index:99}
.pular:focus{left:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:.55em;font:700 1rem/1 var(--f-titulo);padding:.95em 1.5em;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-prim{background:var(--magenta);color:#fff}
.btn-prim:hover{background:var(--magenta-escuro);color:#fff}
.btn-sec{border-color:var(--tinta);color:var(--tinta);background:transparent}
.btn-sec:hover{background:var(--tinta);color:#fff}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:#1c8b4a;color:#fff}
.btn svg{width:1.15em;height:1.15em;flex:none}

/* Cabeçalho */
.topo{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linha);padding-top:env(safe-area-inset-top,0px)}
.topo .wrap{display:flex;align-items:center;gap:24px;min-height:84px}
.marca img{width:178px;height:auto}
.menu{margin-left:auto;display:flex;align-items:center;gap:4px;font-family:var(--f-titulo);font-weight:600}
.menu>ul{display:flex;list-style:none;margin:0;padding:0;gap:2px}
.menu li{position:relative}
.menu a,.menu button.sub{display:block;padding:10px 12px;color:var(--tinta);text-decoration:none;border-radius:12px;font:inherit;background:none;border:0;cursor:pointer}
.menu a:hover,.menu button.sub:hover,.menu a[aria-current=page]{background:var(--nuvem);color:var(--ceu-escuro)}
.menu button.sub::after{content:"";display:inline-block;width:7px;height:7px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-2px,-2px);margin-left:8px}
.menu .caixa{position:absolute;left:0;top:100%;min-width:250px;background:#fff;border:1px solid var(--linha);border-radius:16px;padding:8px;list-style:none;margin:6px 0 0;box-shadow:0 18px 40px -18px rgba(34,48,74,.35);display:none}
.menu li:hover>.caixa,.menu li:focus-within>.caixa,.menu li.aberto>.caixa{display:block}
.menu .caixa a{font-weight:500;padding:9px 12px}
.menu .btn{margin-left:10px;padding:.8em 1.25em}
.hamb{display:none;margin-left:auto;background:none;border:0;width:48px;height:48px;border-radius:12px;cursor:pointer}
.hamb span{display:block;width:24px;height:2px;background:var(--tinta);margin:5px auto;border-radius:2px}
@media (max-width:1080px){
  .hamb{display:block}
  .menu{position:fixed;inset:84px 0 0 0;background:#fff;flex-direction:column;align-items:stretch;padding:16px 20px 120px;overflow:auto;display:none;margin:0}
  .menu.aberto{display:flex}
  .menu>ul{flex-direction:column}
  .menu .caixa{position:static;display:block;border:0;box-shadow:none;padding:0 0 6px 14px;margin:0}
  .menu button.sub{pointer-events:none}
  .menu button.sub::after{display:none}
  .menu .btn{margin:14px 0 0;justify-content:center}
  .marca img{width:150px}
}

/* Aviso */
.aviso{background:var(--tinta);color:#fff;font:500 .95rem/1.5 var(--f-titulo)}
.aviso .wrap{padding:12px 0;display:flex;gap:14px;align-items:center}
.aviso strong{color:var(--broto)}

/* Hero da home: fotos em círculos, na mesma composição do logotipo */
.hero{padding:56px 0 72px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.hero p.sub{font-size:1.2rem;max-width:34em;color:var(--texto)}
.hero .acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .unids{margin-top:26px;font:600 .98rem/1.4 var(--f-titulo);color:var(--suave)}
.hero .unids a{color:var(--tinta)}
.bolhas{position:relative;aspect-ratio:1/1;width:100%;max-width:560px;justify-self:end}
.bolhas figure{position:absolute;margin:0;border-radius:50%;overflow:hidden;border:10px solid #fff;box-shadow:0 0 0 7px var(--c)}
.bolhas figure img{width:100%;height:100%;object-fit:cover}
.bolhas .b1{--c:var(--ceu);width:54%;aspect-ratio:1;left:0;top:4%}
.bolhas .b2{--c:var(--broto);width:54%;aspect-ratio:1;right:0;top:0}
.bolhas .b3{--c:var(--magenta);width:50%;aspect-ratio:1;left:24%;bottom:0}
.bolhas figure{animation:surge .9s cubic-bezier(.2,.8,.2,1) both}
.bolhas .b2{animation-delay:.12s}.bolhas .b3{animation-delay:.24s}
@keyframes surge{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.bolhas{justify-self:center;max-width:420px}.hero{padding-top:28px}}

/* Seções */
.secao{padding:84px 0}
.secao.nuvem{background:var(--nuvem)}
.secao-cab{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.secao-cab p{max-width:40em;margin:0}
.secao-cab h2{margin-bottom:.3em}
.lead{font-size:1.2rem;color:var(--tinta)}

/* Lista de serviços: linhas com foto circular */
.servicos{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;list-style:none;padding:0;margin:0}
.servicos li{border-top:1px solid var(--linha)}
.servicos a{display:grid;grid-template-columns:88px 1fr;gap:20px;align-items:center;padding:22px 0;text-decoration:none;color:inherit}
.servicos img{width:88px;height:88px;border-radius:50%;object-fit:cover;border:4px solid #fff;box-shadow:0 0 0 3px var(--c,var(--ceu))}
.servicos h3{margin:0 0 4px;transition:color .2s}
.servicos p{margin:0;font-size:.98rem;color:var(--suave);line-height:1.55}
.servicos a:hover h3{color:var(--magenta-escuro)}
.servicos li:nth-child(3n+2) img{--c:var(--broto)}
.servicos li:nth-child(3n) img{--c:var(--magenta)}
@media (max-width:760px){.servicos{grid-template-columns:1fr}}

/* Exames em lista compacta */
.exames{columns:3 260px;column-gap:40px;list-style:none;padding:0;margin:0}
.exames li{break-inside:avoid;border-bottom:1px solid var(--linha)}
.exames a{display:block;padding:14px 0;font:600 1.08rem/1.35 var(--f-titulo);color:var(--tinta);text-decoration:none}
.exames a small{display:block;font:400 .9rem/1.45 var(--f-texto);color:var(--suave);margin-top:3px}
.exames a:hover{color:var(--magenta-escuro)}

/* Bloco de destaque dividido */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.duo.inverte>:first-child{order:2}
@media (max-width:860px){.duo{grid-template-columns:1fr;gap:32px}.duo.inverte>:first-child{order:0}}
.disco{aspect-ratio:1;border-radius:50%;background:var(--nuvem);display:grid;place-items:center;padding:12%;position:relative}
.disco::after{content:"";position:absolute;width:26%;aspect-ratio:1;border-radius:50%;background:var(--broto);right:2%;bottom:6%;z-index:-0;opacity:.9}
.disco img{position:relative;z-index:1}
.foto-r{border-radius:var(--r);overflow:hidden}
.foto-r img{width:100%;height:100%;object-fit:cover}
.checks{list-style:none;padding:0;margin:0 0 1.4em}
.checks li{position:relative;padding-left:34px;margin-bottom:.55em}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:18px;height:18px;border-radius:50%;background:var(--broto);box-shadow:inset 0 0 0 5px #fff,0 0 0 2px var(--broto)}

/* Unidades */
.unidades{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:900px){.unidades{grid-template-columns:1fr}}
.unidade{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linha);border-radius:var(--r);overflow:hidden}
.unidade>img{aspect-ratio:4/3;object-fit:cover;width:100%}
.unidade .corpo{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.unidade h3{font-size:1.5rem;margin-bottom:.35em}
.unidade address{font-style:normal;font-size:.98rem;line-height:1.6;margin-bottom:14px}
.unidade .tel{font:600 1rem/1.6 var(--f-titulo);color:var(--tinta);margin-bottom:18px}
.unidade .tel a{color:inherit;text-decoration:none}
.unidade .acoes{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}
.unidade .acoes .btn{padding:.8em 1.2em;font-size:.95rem}
.unidade.meier{border-top:6px solid var(--ceu)}.unidade.niteroi{border-top:6px solid var(--broto)}.unidade.madureira{border-top:6px solid var(--magenta)}

/* Logos */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;list-style:none;padding:0;margin:0}
.logos li{background:#fff;border:1px solid var(--linha);border-radius:14px;display:grid;place-items:center;padding:14px;aspect-ratio:3/2}
.logos img{max-height:74px;width:auto;object-fit:contain}
.nomes{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.nomes li{font:600 .92rem/1 var(--f-titulo);background:var(--nuvem);color:var(--tinta);padding:.6em .95em;border-radius:999px}

/* Depoimentos */
.depo{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
@media (max-width:900px){.depo{grid-template-columns:1fr}}
.depo blockquote{margin:0;font-size:1.08rem;line-height:1.7;color:var(--tinta)}
.depo blockquote::before{content:"“";display:block;font:700 4rem/0.6 var(--f-titulo);color:var(--magenta);margin-bottom:14px}
.depo cite{display:block;margin-top:14px;font:600 .95rem/1.4 var(--f-titulo);font-style:normal;color:var(--suave)}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media (max-width:900px){.posts{grid-template-columns:1fr}}
.post-card a{text-decoration:none;color:inherit;display:block}
.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%;border-radius:var(--r);margin-bottom:16px;background:var(--nuvem)}
.post-card time{font:600 .88rem/1 var(--f-titulo);color:var(--magenta-escuro)}
.post-card h3{margin:8px 0 8px;font-size:1.25rem}
.post-card p{font-size:.98rem;color:var(--suave);margin:0}
.post-card a:hover h3{color:var(--ceu-escuro)}
.capa-post{aspect-ratio:16/10;border-radius:var(--r);display:grid;place-items:center;background:var(--nuvem);margin-bottom:16px;position:relative;overflow:hidden}

/* Instagram */
.insta{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;list-style:none;padding:0;margin:0}
@media (max-width:900px){.insta{grid-template-columns:repeat(3,1fr)}}
.insta a{display:block;aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--nuvem)}
.insta img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.insta a:hover img{transform:scale(1.04)}

/* Páginas internas */
.cab-pagina{padding:48px 0 44px;background:var(--nuvem);position:relative;overflow:hidden}
.cab-pagina::before,.cab-pagina::after{content:"";position:absolute;border-radius:50%;opacity:.9}
.cab-pagina::before{width:220px;height:220px;background:var(--ceu);right:-70px;top:-90px}
.cab-pagina::after{width:130px;height:130px;background:var(--broto);right:110px;top:-60px}
.cab-pagina .wrap{position:relative}
.cab-pagina p.lead{max-width:40em;margin:0}
.migalhas{font:500 .9rem/1.4 var(--f-titulo);margin-bottom:18px;color:var(--suave)}
.migalhas ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:0}
.migalhas li+li::before{content:"/";margin-right:6px;color:var(--linha)}
.migalhas a{color:var(--suave)}
.conteudo{padding:64px 0 80px}
.conteudo .grade{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:64px;align-items:start}
@media (max-width:960px){.conteudo .grade{grid-template-columns:1fr}}
.texto h2{margin-top:1.6em;font-size:1.7rem}
.texto h2:first-child{margin-top:0}
.texto h3{margin-top:1.4em}
.texto ul{padding-left:1.2em}
.texto li{margin-bottom:.4em}
.texto figure{margin:0 0 2em}
.texto figure img{border-radius:var(--r);width:100%}
.texto figcaption{font-size:.9rem;color:var(--suave);margin-top:8px}
.nota{font-size:.92rem;color:var(--suave);border-left:4px solid var(--broto);padding:8px 0 8px 16px;margin:2em 0}
.lateral{position:sticky;top:110px;display:grid;gap:20px}
.caixa-agenda{background:var(--tinta);color:#dfe7f2;border-radius:var(--r);padding:28px}
.caixa-agenda h2{color:#fff;font-size:1.35rem}
.caixa-agenda p{font-size:.98rem}
.caixa-agenda .btn{width:100%;justify-content:center;margin-top:8px}
.caixa-links{border:1px solid var(--linha);border-radius:var(--r);padding:24px}
.caixa-links h2{font-size:1.1rem}
.caixa-links ul{list-style:none;padding:0;margin:0}
.caixa-links a{display:block;padding:7px 0;font:600 .98rem/1.35 var(--f-titulo);text-decoration:none;color:var(--tinta);border-bottom:1px solid var(--linha)}
.caixa-links a:hover,.caixa-links a[aria-current=page]{color:var(--magenta-escuro)}

/* FAQ */
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font:700 1.1rem/1.4 var(--f-titulo);color:var(--tinta);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:1.6rem;color:var(--magenta)}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 0 18px}

/* Passos (sequência real) */
.passos{list-style:none;counter-reset:p;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
@media (max-width:960px){.passos{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.passos{grid-template-columns:1fr}}
.passos li{counter-increment:p;position:relative;padding-top:64px}
.passos li::before{content:counter(p);position:absolute;top:0;left:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:700 1.2rem/1 var(--f-titulo);color:#fff;background:var(--ceu)}
.passos li:nth-child(2)::before{background:var(--broto)}.passos li:nth-child(3)::before{background:var(--magenta)}
.passos li:nth-child(4)::before{background:var(--ceu)}.passos li:nth-child(5)::before{background:var(--broto)}
.passos h3{font-size:1.1rem;margin-bottom:.4em}
.passos p{font-size:.96rem;margin:0}

/* Produtos (aparelhos) */
.produtos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:900px){.produtos{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.produtos{grid-template-columns:1fr}}
.produto{border:1px solid var(--linha);border-radius:var(--r);padding:26px;display:flex;flex-direction:column}
.produto .img{aspect-ratio:4/3;display:grid;place-items:center;background:var(--nuvem);border-radius:16px;margin-bottom:20px;padding:18px}
.produto .img img{max-height:100%;width:auto;object-fit:contain}
.produto h3{font-size:1.2rem}
.produto p{font-size:.97rem;margin-bottom:.8em}
.produto .ideal{font:600 .9rem/1.45 var(--f-titulo);color:var(--broto-escuro);margin-top:auto}
.pilares{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media (max-width:900px){.pilares{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pilares{grid-template-columns:1fr}}
.pilares h3{font-size:1.15rem;display:flex;gap:10px;align-items:center}
.pilares h3::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--c,var(--ceu));flex:none}
.pilares div:nth-child(2){--c:var(--broto)}.pilares div:nth-child(3){--c:var(--magenta)}.pilares div:nth-child(4){--c:var(--tinta)}
.pilares p{font-size:.97rem}
.faixa-cta{background:var(--magenta);color:#fff;border-radius:calc(var(--r) + 8px);padding:48px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.faixa-cta h2{color:#fff;margin-bottom:.3em}
.faixa-cta p{margin:0;color:#fbe3f0}
.faixa-cta .btn-sec{border-color:#fff;color:#fff}
.faixa-cta .btn-sec:hover{background:#fff;color:var(--magenta-escuro)}
@media (max-width:760px){.faixa-cta{grid-template-columns:1fr;padding:32px}}

/* Unidade: galeria */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;list-style:none;padding:0;margin:0}
.galeria li:first-child{grid-column:span 2;grid-row:span 2}
.galeria button{all:unset;cursor:zoom-in;display:block;width:100%;height:100%;border-radius:16px;overflow:hidden}
.galeria img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.galeria li:first-child img{aspect-ratio:auto}
@media (max-width:760px){.galeria{grid-template-columns:1fr 1fr}}
.mapa{border:0;width:100%;aspect-ratio:16/10;border-radius:var(--r);background:var(--nuvem)}
.info-unid dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0 0 24px}
.info-unid dt{font:700 .95rem/1.5 var(--f-titulo);color:var(--tinta)}
.info-unid dd{margin:0}
.hero-unid{display:grid;grid-template-columns:1.1fr 1fr;gap:12px;margin-top:28px}
.hero-unid img{border-radius:var(--r);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.hero-unid .pilha{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.hero-unid .pilha img{aspect-ratio:auto}
@media (max-width:760px){.hero-unid{grid-template-columns:1fr}.hero-unid .pilha{grid-template-columns:1fr 1fr;grid-template-rows:none}}
.visor{position:fixed;inset:0;background:rgba(18,26,40,.92);display:none;place-items:center;z-index:120;padding:24px}
.visor.aberto{display:grid}
.visor img{max-height:88vh;width:auto;border-radius:14px}
.visor button{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:14px;background:#fff;border:0;width:46px;height:46px;border-radius:50%;font-size:1.5rem;cursor:pointer}

/* Formulário */
.form{display:grid;gap:16px}
.form label{display:grid;gap:6px;font:600 .95rem/1.3 var(--f-titulo);color:var(--tinta)}
.form input,.form select,.form textarea{font:400 1rem/1.4 var(--f-texto);padding:13px 14px;border:1.5px solid var(--linha);border-radius:12px;background:#fff;color:var(--tinta);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--ceu);outline:none;box-shadow:0 0 0 3px rgba(99,169,224,.25)}
.form .duas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.form .duas{grid-template-columns:1fr}}
.form .ajuda{font:400 .9rem/1.5 var(--f-texto);color:var(--suave)}

/* Vagas */
.vagas{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.vagas a{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid var(--linha);border-radius:16px;padding:18px 22px;text-decoration:none;color:var(--tinta);font:700 1.05rem/1.35 var(--f-titulo)}
.vagas a span{font:400 .92rem/1.4 var(--f-texto);color:var(--suave)}
.vagas a:hover{border-color:var(--ceu)}
.embed-vagas{width:100%;height:900px;border:1px solid var(--linha);border-radius:var(--r)}

/* Rodapé */
.rodape{background:var(--nuvem);padding:72px 0 calc(28px + env(safe-area-inset-bottom,0px));margin-top:0;font-size:.97rem}
.rodape .grade{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:40px}
@media (max-width:960px){.rodape .grade{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rodape .grade{grid-template-columns:1fr}}
.rodape h2{font-size:1.15rem;margin-bottom:.6em}
.rodape address{font-style:normal;line-height:1.6}
.rodape a{color:var(--tinta)}
.rodape .redes{display:flex;gap:10px;margin-top:16px}
.rodape .redes a{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--tinta)}
.rodape .redes svg{width:20px;height:20px}
.rodape .base{border-top:1px solid var(--linha);margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font:500 .88rem/1.5 var(--f-titulo);color:var(--suave)}
.rodape .base a{color:var(--suave)}
.rodape ul.links{list-style:none;padding:0;margin:0;columns:2;column-gap:20px}
.rodape ul.links a{display:block;padding:3px 0;text-decoration:none;font-family:var(--f-titulo);font-weight:500}

/* Botão flutuante do WhatsApp */
.wa-flutua{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:90;font-family:var(--f-titulo)}
.wa-botao{width:64px;height:64px;border-radius:50%;background:var(--wa);border:0;cursor:pointer;display:grid;place-items:center;box-shadow:0 12px 28px -10px rgba(20,90,50,.7);color:#fff}
.wa-botao svg{width:34px;height:34px}
.wa-botao .x{display:none;font-size:2rem;line-height:1}
.wa-flutua.aberto .wa-botao .ico{display:none}.wa-flutua.aberto .wa-botao .x{display:block}
.wa-painel{position:absolute;right:0;bottom:80px;width:min(360px,calc(100vw - 40px));background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(34,48,74,.45);display:none}
.wa-flutua.aberto .wa-painel{display:block;animation:sobe .22s ease-out}
@keyframes sobe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.wa-painel header{background:var(--wa);color:#fff;padding:18px 20px;display:flex;gap:14px;align-items:center}
.wa-painel header svg{width:40px;height:40px;flex:none}
.wa-painel header strong{display:block;font-size:1.15rem}
.wa-painel header span{font-size:.9rem;opacity:.9}
.wa-painel p{font:400 .9rem/1.5 var(--f-texto);color:var(--suave);padding:14px 20px 4px;margin:0}
.wa-painel ul{list-style:none;padding:8px 14px 16px;margin:0;display:grid;gap:10px}
.wa-painel a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:#F4F6F8;border-left:4px solid var(--wa);text-decoration:none;color:var(--tinta)}
.wa-painel a:hover{background:#E9F6EE}
.wa-painel a b{display:block;font-weight:700}
.wa-painel a small{color:var(--suave);font-size:.85rem}
.wa-painel a svg{width:26px;height:26px;margin-left:auto;color:var(--wa);flex:none}

.centro{text-align:center}
.mt{margin-top:28px}

/* ================================================================
   v2 — mais cor, formas orgânicas animadas e entradas suaves
   ================================================================ */
:root{--azul-fundo:#2B6FAE;--magenta-fundo:#C8388A;--verde-fundo:#A3C652;--escuro:#1E2A40}

/* faixa tricolor no topo, como no site atual */
.topo{border-bottom:0;box-shadow:0 6px 24px -18px rgba(34,48,74,.5)}
.topo::before{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--ceu) 0 33.3%,var(--magenta) 33.3% 66.6%,var(--broto) 66.6%)}
.topo .wrap{min-height:88px}
.marca img{width:190px}

/* Menu: dropdown controlado por clique (e hover em mouse), sem ficar preso aberto */
.menu li:focus-within>.caixa{display:none}
@media (hover:hover) and (min-width:1081px){.menu li:hover>.caixa{display:block}}
.menu li.aberto>.caixa{display:block!important}
.menu .caixa::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.menu .caixa a:hover{background:var(--nuvem)}
.menu li.aberto>button.sub{background:var(--nuvem);color:var(--ceu-escuro)}
.menu li.aberto>button.sub::after{transform:rotate(-135deg) translate(-2px,-2px)}
@media (max-width:1080px){
  .menu{inset:93px 0 0 0}
  .menu .caixa{display:none;padding-left:10px;border-left:3px solid var(--broto);margin:0 0 8px 12px}
  .menu li.aberto>.caixa{display:block}
  .menu button.sub{pointer-events:auto;width:100%;text-align:left;font-size:1.1rem}
  .menu button.sub::after{display:inline-block;float:right;margin-top:8px}
  .menu>ul>li>a{font-size:1.1rem}
}

/* Blobs animados */
.blob{position:absolute;border-radius:42% 58% 63% 37% / 41% 44% 56% 59%;animation:morfa 14s ease-in-out infinite alternate;z-index:0;pointer-events:none}
.blob.b-azul{background:var(--ceu)}.blob.b-verde{background:var(--broto)}.blob.b-magenta{background:var(--magenta)}.blob.b-branco{background:#fff;opacity:.14}
.blob.lento{animation-duration:22s}.blob.flutua{animation:morfa 16s ease-in-out infinite alternate,flutua 9s ease-in-out infinite}
@keyframes morfa{0%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}33%{border-radius:63% 37% 38% 62%/58% 63% 37% 42%}66%{border-radius:37% 63% 52% 48%/33% 52% 48% 67%}100%{border-radius:55% 45% 33% 67%/62% 38% 62% 38%}}
@keyframes flutua{0%,100%{translate:0 0}50%{translate:0 -18px}}

/* HERO v2 */
.hero2{position:relative;overflow:hidden;padding:64px 0 96px;background:#fff}
.hero2 .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.05fr;gap:40px;align-items:center}
.hero2 h1{font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.025em}
.hero2 h1 .l{display:block}
.hero2 .sub{font-size:1.2rem;max-width:32em}
.hero2 .acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero2 .unids{margin-top:22px;font:600 1rem/1.5 var(--f-titulo);color:var(--suave)}
.hero2 .unids a{color:var(--tinta)}
.palco{position:relative;aspect-ratio:1/1;max-width:640px;width:100%;justify-self:end}
.palco .foto{position:absolute;inset:6% 4% 4% 8%;overflow:hidden;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;animation:morfa 16s ease-in-out infinite alternate;z-index:2;box-shadow:0 30px 60px -30px rgba(34,48,74,.5)}
.palco .foto img{width:100%;height:100%;object-fit:cover;object-position:40% 30%;transform:scale(1.08)}
.palco .blob{z-index:1}
.palco .p1{width:38%;aspect-ratio:1;left:-4%;top:-2%;background:var(--ceu)}
.palco .p2{width:30%;aspect-ratio:1;right:-2%;bottom:-2%;background:var(--broto)}
.palco .p3{width:16%;aspect-ratio:1;right:6%;top:4%;background:var(--magenta);z-index:3}
.palco .selo{position:absolute;left:0;bottom:8%;z-index:4;background:#fff;border-radius:20px;padding:14px 18px;box-shadow:0 18px 40px -18px rgba(34,48,74,.45);font:700 1rem/1.25 var(--f-titulo);color:var(--tinta);display:flex;gap:12px;align-items:center;animation:flutua 7s ease-in-out infinite}
.palco .selo b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--magenta);color:#fff;font-size:1.05rem}
.palco .selo small{display:block;font-weight:500;color:var(--suave);font-size:.85rem}
.hero2 .fundo1{width:520px;height:520px;right:-180px;top:-200px;background:var(--nuvem);animation-duration:24s}
.hero2 .fundo2{width:160px;height:160px;left:-60px;bottom:40px;background:var(--broto);opacity:.35}
@media (max-width:900px){.hero2 .wrap{grid-template-columns:1fr}.palco{justify-self:center;max-width:460px}.hero2{padding-top:28px}}

/* Onda entre seções */
.onda{display:block;width:100%;height:70px;margin-bottom:-1px}
.onda path{fill:currentColor}

/* Seções coloridas */
.secao{position:relative;overflow:hidden}
.secao>.wrap{position:relative;z-index:1}
.secao.azul{background:var(--azul-fundo);color:#E6F0FA}
.secao.magenta{background:var(--magenta-fundo);color:#FCE9F3}
.secao.verde{background:var(--verde-fundo);color:var(--tinta)}
.secao.escura{background:var(--escuro);color:#D5DEEB}
.secao.azul h2,.secao.azul h3,.secao.magenta h2,.secao.magenta h3,.secao.escura h2,.secao.escura h3{color:#fff}
.secao.azul a:not(.btn),.secao.magenta a:not(.btn),.secao.escura a:not(.btn){color:#fff}
.secao.azul .checks li::before{background:var(--broto);box-shadow:inset 0 0 0 5px var(--azul-fundo),0 0 0 2px var(--broto)}
.secao.magenta .checks li::before{background:#fff;box-shadow:inset 0 0 0 5px var(--magenta-fundo),0 0 0 2px #fff}
.btn-branco{background:#fff;color:var(--tinta)}
.btn-branco:hover{background:var(--tinta);color:#fff}
.btn-contorno{border-color:#fff;color:#fff;background:transparent}
.btn-contorno:hover{background:#fff;color:var(--tinta)}
.btn-azul{background:var(--azul-fundo);color:#fff}.btn-azul:hover{background:var(--tinta);color:#fff}
.btn-verde{background:var(--broto);color:var(--tinta)}.btn-verde:hover{background:var(--broto-escuro);color:#fff}
.btn{transition:transform .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px)}

/* Cartões de serviço v2 */
.cards-serv{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;list-style:none;padding:0;margin:0}
@media (max-width:1000px){.cards-serv{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.cards-serv{grid-template-columns:1fr}}
.cards-serv a{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:28px;padding:22px 22px 26px;text-decoration:none;color:var(--texto);box-shadow:0 20px 40px -28px rgba(20,40,70,.45);transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}
.cards-serv a::after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;background:var(--c);opacity:.12;right:-40px;bottom:-40px;transition:transform .5s}
.cards-serv a:hover{transform:translateY(-6px);box-shadow:0 30px 50px -28px rgba(20,40,70,.55)}
.cards-serv a:hover::after{transform:scale(2.2)}
.cards-serv .circ{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:8px solid #fff;box-shadow:0 0 0 5px var(--c);margin-bottom:18px}
.cards-serv .circ img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cards-serv a:hover .circ img{transform:scale(1.07)}
.cards-serv h3{margin:0 0 6px;font-size:1.3rem}
.cards-serv p{margin:0 0 14px;font-size:.97rem;line-height:1.55}
.cards-serv .mais{margin-top:auto;font:700 .95rem/1 var(--f-titulo);color:var(--cx)}
.cards-serv li:nth-child(3n+1){--c:var(--ceu);--cx:var(--ceu-escuro)}
.cards-serv li:nth-child(3n+2){--c:var(--magenta);--cx:var(--magenta-escuro)}
.cards-serv li:nth-child(3n){--c:var(--broto);--cx:var(--broto-escuro)}

/* Exames em pílulas */
.pilulas{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}
.pilulas a{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--tinta);text-decoration:none;font:700 1rem/1.2 var(--f-titulo);padding:14px 20px;border-radius:999px;transition:transform .2s,background .2s}
.pilulas a::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--c,var(--magenta))}
.pilulas li:nth-child(3n+2) a{--c:var(--ceu)}.pilulas li:nth-child(3n) a{--c:var(--broto)}
.pilulas a:hover{transform:translateY(-3px);background:var(--nuvem)}

/* Unidades v2: cabeçalho colorido */
.unidade{border:0;border-top:0!important;box-shadow:0 24px 44px -30px rgba(20,40,70,.55);border-radius:28px}
.unidade .cabeca{padding:18px 24px;color:#fff;font:700 1.5rem/1.2 var(--f-titulo);display:flex;justify-content:space-between;align-items:center}
.unidade.meier .cabeca{background:var(--magenta)}.unidade.niteroi .cabeca{background:var(--broto);color:var(--tinta)}.unidade.madureira .cabeca{background:var(--azul-fundo)}
.unidade .cabeca small{font:600 .85rem/1 var(--f-titulo);opacity:.9}
.unidade>img{border-radius:0}

/* Depoimentos em balões */
.depo figure{background:#fff;border-radius:28px 28px 28px 6px;padding:30px;box-shadow:0 24px 44px -30px rgba(20,40,70,.45)}
.depo figure:nth-child(2){border-radius:28px 28px 6px 28px;margin-top:36px!important}
.depo blockquote::before{color:var(--c,var(--magenta))}
.depo figure:nth-child(2) blockquote::before{--c:var(--ceu)}.depo figure:nth-child(3) blockquote::before{--c:var(--broto-escuro)}

/* Faixa redes */
.faixa-redes{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:var(--magenta);border-radius:32px;padding:34px 44px;color:#fff;position:relative;z-index:2;margin-bottom:-70px}
.faixa-redes a{display:flex;gap:18px;align-items:center;color:#fff;text-decoration:none;font:600 1.2rem/1.35 var(--f-titulo)}
.faixa-redes svg{width:52px;height:52px;flex:none}
@media (max-width:760px){.faixa-redes{grid-template-columns:1fr;padding:26px}}

/* Rodapé escuro */
.rodape{background:var(--escuro);color:#C6D1E1;padding-top:140px}
.rodape h2,.rodape h2 a{color:#fff}
.rodape a{color:#fff}
.rodape .base{border-color:rgba(255,255,255,.12);color:#9FB0C8}
.rodape .base a{color:#C6D1E1}
.rodape .redes a{background:rgba(255,255,255,.1);color:#fff}
.rodape .logo-rodape{background:#fff;border-radius:18px;padding:10px 14px;display:inline-block}

/* Cabeçalho das páginas internas colorido */
.cab-pagina{background:var(--azul-fundo);color:#E6F0FA;padding:56px 0 64px}
.cab-pagina h1{color:#fff}
.cab-pagina p.lead{color:#E6F0FA}
.cab-pagina .migalhas,.cab-pagina .migalhas a{color:#CFE2F5}
.cab-pagina::before{background:var(--magenta);width:260px;height:260px;right:-60px;top:-110px;border-radius:42% 58% 63% 37%/41% 44% 56% 59%;animation:morfa 14s ease-in-out infinite alternate}
.cab-pagina::after{background:var(--broto);width:140px;height:140px;right:170px;top:auto;bottom:-70px;border-radius:63% 37% 38% 62%/58% 63% 37% 42%;animation:morfa 18s ease-in-out infinite alternate-reverse}
.cab-pagina.magenta{background:var(--magenta-fundo)}.cab-pagina.magenta::before{background:var(--ceu)}
.cab-pagina.verde{background:var(--verde-fundo);color:var(--tinta)}.cab-pagina.verde h1{color:var(--tinta)}.cab-pagina.verde p.lead,.cab-pagina.verde .migalhas,.cab-pagina.verde .migalhas a{color:var(--tinta)}
.cab-pagina.verde::after{background:var(--ceu)}
.hero-unid img{box-shadow:0 20px 40px -24px rgba(0,0,0,.5)}

/* Entrada dos elementos ao rolar */
.js [data-revela]{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js [data-revela="esq"]{transform:translateX(-34px)}.js [data-revela="dir"]{transform:translateX(34px)}.js [data-revela="zoom"]{transform:scale(.9)}
.js [data-revela].visivel{opacity:1;transform:none}
.hero2 h1 .l{animation:sobeL .9s cubic-bezier(.2,.7,.2,1) both}
.hero2 h1 .l:nth-child(2){animation-delay:.12s}.hero2 h1 .l:nth-child(3){animation-delay:.24s}
@keyframes sobeL{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.js [data-revela]{opacity:1;transform:none}.blob,.palco .foto,.palco .selo,.cab-pagina::before,.cab-pagina::after{animation:none}}
.tag{display:inline-block;font:700 .9rem/1 var(--f-titulo);padding:.55em 1em;border-radius:999px;background:var(--c,var(--magenta));color:#fff;margin-bottom:16px}
.tag.azul{--c:var(--azul-fundo)}.tag.verde{--c:var(--broto);color:var(--tinta)}

/* ================================================================
   v3 — mais respiro, menu refeito, transição entre páginas, espaços para fotos
   ================================================================ */
body{line-height:1.8}
.wrap{width:min(100% - 48px,1200px)}
.secao{padding:128px 0}
.secao-cab{margin-bottom:60px;gap:32px}
.secao-cab p{font-size:1.1rem}
.centro-cab{flex-direction:column;align-items:center;text-align:center}
.centro-cab p{margin-inline:auto}
h2{margin-bottom:.55em}
.duo{gap:88px}
.conteudo{padding:96px 0 120px}
.conteudo .grade{gap:88px}
.texto h2{margin-top:2em}
.texto p,.texto li{max-width:68ch}
.lead{line-height:1.6}
@media (max-width:760px){.secao{padding:84px 0}.duo{gap:44px}.conteudo{padding:64px 0 88px}}

/* Barra superior com redes sociais */
.barra-topo{background:var(--tinta);color:#C9D5E6;font:600 .88rem/1 var(--f-titulo);position:relative;z-index:51}
.barra-topo .wrap{display:flex;justify-content:space-between;align-items:center;min-height:42px;gap:16px}
.barra-topo a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.barra-topo a:hover{color:var(--broto)}
.unids-topo,.redes-topo{display:flex;gap:22px;align-items:center}
.redes-topo .ico{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.12);justify-content:center}
.redes-topo .ico:hover{background:var(--magenta);color:#fff}
.redes-topo svg{width:16px;height:16px}
.ponto{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
.ponto.meier{background:var(--magenta)}.ponto.niteroi{background:var(--broto)}.ponto.madureira{background:var(--ceu)}
@media (max-width:700px){.unids-topo{display:none}.barra-topo .wrap{justify-content:center}}

/* Cabeçalho e menu v3 */
.topo .wrap{min-height:100px;position:relative;gap:40px}
.marca img{width:200px}
.menu{gap:18px}
.menu>ul.raiz{gap:6px}
.menu>ul.raiz>li>a,.menu button.sub{padding:12px 16px;border-radius:999px;font-size:1.02rem;font-weight:600;letter-spacing:.005em}
.menu>ul.raiz>li>a[aria-current=page]{background:var(--nuvem);color:var(--ceu-escuro)}
.menu .redes-menu{display:none}
.menu .cta-menu{margin-left:8px;padding:.95em 1.5em}
@media (min-width:1081px){
  .menu li{position:relative}
  .menu li:has(.mega){position:static}
  .menu .caixa{display:block!important;visibility:hidden;opacity:0;transform:translateY(10px);transition:opacity .22s,transform .22s,visibility 0s .22s;
    position:absolute;top:calc(100% + 6px);left:50%;translate:-50% 0;min-width:280px;background:#fff;border:0;border-radius:24px;padding:14px;margin:0;box-shadow:0 30px 60px -24px rgba(20,40,70,.35),0 0 0 1px rgba(34,48,74,.06)}
  .menu .caixa.mega{top:calc(100% - 8px);width:min(760px,92vw);padding:22px}
  .menu li.aberto>.caixa{visibility:visible;opacity:1;transform:none;transition:opacity .22s,transform .22s,visibility 0s}
  .menu li:hover>.caixa{visibility:visible;opacity:1;transform:none;transition:opacity .22s,transform .22s,visibility 0s}
  .menu .caixa ul{list-style:none;margin:0;padding:0}
  .menu .caixa ul.duas{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}
}
.menu .caixa ul{list-style:none;margin:0;padding:0}
.menu .caixa a{border-radius:16px}
.menu .caixa ul.simples a{padding:11px 14px;font-weight:600}
.menu .caixa ul.ricos a{display:flex;gap:14px;align-items:center;padding:10px 12px}
.menu .caixa ul.ricos b{display:block;font-weight:700;color:var(--tinta)}
.menu .caixa ul.ricos small{display:block;font:500 .84rem/1.35 var(--f-titulo);color:var(--suave)}
.menu .caixa .mini{width:48px;height:48px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c)}
.menu .caixa .mini img{width:100%;height:100%;object-fit:cover}
.menu .caixa .ponto{width:14px;height:14px}
.menu .ver-todos{display:inline-block!important;margin:12px 0 0 12px;font:700 .95rem/1 var(--f-titulo);color:var(--magenta-escuro)!important;padding:10px 14px}
@media (max-width:1080px){
  .menu{inset:auto 0 0 0;top:0;position:fixed;padding:120px 28px 40px;background:#fff;z-index:-1;overflow:auto;height:100dvh}
  .menu.aberto{display:flex}
  .menu>ul.raiz{gap:2px}
  .menu>ul.raiz>li{border-bottom:1px solid var(--linha)}
  .menu>ul.raiz>li>a,.menu button.sub{font-size:1.2rem;padding:18px 4px;border-radius:0;background:none!important}
  .menu .caixa{display:none;border-left:0;margin:0 0 16px;padding:0}
  .menu li.aberto>.caixa{display:block}
  .menu .ver-todos{margin-left:0}
  .menu .cta-menu{margin:28px 0 0;justify-content:center;font-size:1.05rem}
  .menu .redes-menu{display:flex;gap:12px;margin-top:22px}
  .menu .redes-menu a{flex:1;display:flex;gap:10px;justify-content:center;align-items:center;padding:14px;border-radius:999px;background:var(--nuvem);color:var(--tinta);text-decoration:none;font:700 1rem/1 var(--f-titulo)}
  .menu .redes-menu svg{width:20px;height:20px}
  .topo{z-index:60}
  .hamb{position:relative;z-index:2}
  .hamb[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamb[aria-expanded=true] span:nth-child(2){opacity:0}
  .hamb[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hamb span{transition:transform .25s,opacity .2s}
  .marca{position:relative;z-index:2}
  .topo .wrap{min-height:84px}
  .marca img{width:160px}
}

/* Transição entre páginas: três círculos nas cores do logo */
.cortina{position:fixed;inset:0;z-index:300;pointer-events:none;overflow:hidden}
.cortina span{position:absolute;width:300vmax;height:300vmax;border-radius:50%;right:-150vmax;bottom:-150vmax;transform:scale(0);transition:transform .55s cubic-bezier(.7,0,.3,1)}
.cortina .c1{background:var(--ceu)}.cortina .c2{background:var(--broto);transition-delay:.08s}.cortina .c3{background:var(--magenta);transition-delay:.16s}
.saindo .cortina{pointer-events:all}
.saindo .cortina span{transform:scale(1)}
.chegando .cortina span{transform:scale(1);animation:recolhe .6s cubic-bezier(.7,0,.3,1) forwards}
.chegando .cortina .c3{animation-delay:.05s}.chegando .cortina .c2{animation-delay:.13s}.chegando .cortina .c1{animation-delay:.21s}
@keyframes recolhe{to{transform:scale(0)}}
@media (prefers-reduced-motion:reduce){.cortina{display:none}}

/* Fotos com contorno orgânico */
.foto-blob{margin:0;position:relative;aspect-ratio:4/3;border-radius:46% 54% 58% 42%/44% 42% 58% 56%;overflow:hidden;animation:morfa 20s ease-in-out infinite alternate;box-shadow:0 30px 60px -34px rgba(20,40,70,.55)}
.foto-blob img{width:100%;height:100%;object-fit:cover;border-radius:0!important}
.texto figure.foto-blob{margin:0 0 3em}
.texto figure.espaco{margin:3em 0}
.texto figure.espaco img{border-radius:28px}

/* Palco do hero: contorno tracejado girando, como no site atual */
.palco::after{content:"";position:absolute;inset:-2% -3% 0 2%;border:3px dashed var(--magenta);border-radius:46% 54% 58% 42%/44% 42% 58% 56%;z-index:0;animation:gira 40s linear infinite;opacity:.7}
@keyframes gira{to{transform:rotate(360deg)}}

/* Rabiscos lúdicos */
.rabisco{position:absolute;pointer-events:none;z-index:0}
.rabisco.r1{width:170px;height:170px;border:4px dashed var(--ceu);border-radius:50%;left:4%;top:90px;opacity:.5;animation:gira 50s linear infinite}
.rabisco.r2{width:160px;height:100px;right:5%;bottom:70px;background-image:radial-gradient(var(--magenta) 3px,transparent 3.5px);background-size:22px 22px;opacity:.45}
.secao.nuvem::before{content:"";position:absolute;width:130px;height:130px;left:-40px;bottom:12%;background-image:radial-gradient(var(--ceu) 3px,transparent 3.5px);background-size:20px 20px;opacity:.35}

/* Cuidado para cada fase da vida */
.fases-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
@media (max-width:900px){.fases-grade{grid-template-columns:1fr;max-width:480px;margin-inline:auto}}
.fase{display:block;text-decoration:none;border-radius:36px;padding:16px 16px 34px;color:#fff;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.fase:nth-child(2){margin-top:48px}
@media (max-width:900px){.fase:nth-child(2){margin-top:0}}
.fase.azul{background:var(--azul-fundo)}.fase.magenta{background:var(--magenta-fundo)}.fase.verde{background:var(--verde-fundo);color:var(--tinta)}
.fase .ft{display:block;aspect-ratio:4/3;border-radius:26px;overflow:hidden;margin-bottom:24px}
.fase .ft img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.fase h3{color:inherit;font-size:1.7rem;margin:0 18px 8px}
.fase p{margin:0 18px;font-size:1.02rem;line-height:1.55;opacity:.95}
.fase:hover{transform:translateY(-8px) rotate(-1deg)}
.fase:hover .ft img{transform:scale(1.06)}
.fase.azul:hover,.fase.magenta:hover{color:#fff}.fase.verde:hover{color:var(--tinta)}

/* Passos verticais */
.passos-v{list-style:none;counter-reset:p;padding:0;margin:32px 0 40px;display:grid;gap:26px}
.passos-v li{counter-increment:p;position:relative;padding-left:72px}
.passos-v li::before{content:counter(p);position:absolute;left:0;top:0;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font:700 1.2rem/1 var(--f-titulo);color:#fff;background:var(--ceu)}
.passos-v li:nth-child(2)::before{background:var(--magenta)}.passos-v li:nth-child(3)::before{background:var(--broto);color:var(--tinta)}
.passos-v h3{margin:0 0 4px;font-size:1.2rem}
.passos-v p{margin:0}

/* Cartões com mais respiro */
.cards-serv{gap:32px}
.cards-serv a{padding:26px 26px 30px;border-radius:32px}
.unidades{gap:36px}
.posts{gap:44px}
.depo{gap:48px}
.faixa-cta{padding:60px 64px}
.topo{backdrop-filter:none;background:#fff}

/* ================================================================
   v4 — cores exatas do logotipo, cabeçalho mais alto, menu em uma linha
   ================================================================ */
:root{
  --ceu:#00AEEF; --ceu-escuro:#006FAE; --broto:#A6CE38; --broto-escuro:#4F6B12;
  --magenta:#EC008B; --magenta-escuro:#B8006F;
  --azul-fundo:#00AEEF; --magenta-fundo:#D6007F; --verde-fundo:#A6CE38; --nuvem:#ECF7FD;
}
.btn-prim{background:var(--magenta-fundo)}
.btn-prim:hover{background:var(--magenta-escuro)}
.btn-azul{background:var(--ceu-escuro)}

/* seção azul: fundo ciano do logo com texto escuro (contraste 5:1) */
.secao.azul{background:var(--ceu);color:var(--tinta)}
.secao.azul h2,.secao.azul h3{color:var(--tinta)}
.secao.azul a:not(.btn){color:var(--tinta)}
.secao.azul .lead{color:var(--tinta)}
.secao.azul .checks li::before{background:#fff;box-shadow:inset 0 0 0 5px var(--ceu),0 0 0 2px #fff}
.secao.azul .btn-sec{border-color:var(--tinta);color:var(--tinta)}
.secao.azul .btn-sec:hover{background:var(--tinta);color:#fff}
.cab-pagina{background:var(--ceu);color:var(--tinta)}
.cab-pagina h1,.cab-pagina p.lead{color:var(--tinta)}
.cab-pagina .migalhas,.cab-pagina .migalhas a{color:#16324F}
.cab-pagina.magenta,.cab-pagina.magenta h1,.cab-pagina.magenta p.lead{color:#fff}
.cab-pagina.magenta .migalhas,.cab-pagina.magenta .migalhas a{color:#FFE0F1}
.cab-pagina.magenta::before{background:var(--ceu)}
.fase.azul{background:var(--ceu);color:var(--tinta)}.fase.azul:hover{color:var(--tinta)}

/* Exames: pílulas legíveis dentro da seção magenta */
.secao .pilulas a,.secao.magenta .pilulas a{color:var(--tinta);background:#fff}
.secao .pilulas a:hover{background:var(--nuvem);color:var(--tinta)}

/* Cabeçalho mais alto; menu em uma linha, sem o botão (ele agora flutua) */
.topo .wrap{min-height:124px;gap:48px}
.marca img{width:230px;height:auto}
@media (min-width:1081px){
  .menu .cta-menu{display:none}
  .menu>ul.raiz{flex-wrap:nowrap;gap:4px}
  .menu>ul.raiz>li>a,.menu button.sub{white-space:nowrap;padding:12px 15px}
  .menu li:hover>.caixa{visibility:hidden;opacity:0;transform:translateY(10px)}
  .menu li.aberto>.caixa{visibility:visible!important;opacity:1!important;transform:none!important}
}
@media (min-width:1081px) and (max-width:1240px){.marca img{width:190px}.menu>ul.raiz>li>a,.menu button.sub{padding:10px 11px;font-size:.98rem}}
@media (max-width:1080px){.topo .wrap{min-height:92px}.marca img{width:170px}.menu{padding-top:130px}}

/* Botão flutuante "Marque sua consulta" */
.cta-flutua{position:fixed;right:98px;bottom:calc(26px + env(safe-area-inset-bottom,0px));z-index:89;display:inline-flex;align-items:center;gap:10px;
  background:var(--magenta-fundo);color:#fff;text-decoration:none;font:700 1rem/1 var(--f-titulo);padding:17px 24px;border-radius:999px;
  box-shadow:0 16px 34px -14px rgba(214,0,127,.75);transition:transform .2s,background .2s;animation:chegaCta .6s .8s cubic-bezier(.2,.7,.2,1) both}
.cta-flutua:hover{background:var(--magenta-escuro);color:#fff;transform:translateY(-3px)}
.cta-flutua svg{width:20px;height:20px}
@keyframes chegaCta{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media (max-width:600px){.cta-flutua{right:auto;left:16px;padding:15px 18px;font-size:.95rem}.wa-flutua{right:16px}}

/* Rodapé reorganizado: faixa superior + três unidades em colunas iguais */
.rodape .grade{display:none}
.rodape-topo{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:56px;align-items:start;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.12)}
.rodape .sobre p{margin:18px 0 0;max-width:34ch;color:#C6D1E1}
.rodape .logo-rodape{padding:14px 18px;border-radius:20px}
.rodape .logo-rodape img{width:190px;height:auto}
.links-rod{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px;font:600 1rem/1.4 var(--f-titulo)}
.links-rod a{text-decoration:none;color:#fff}
.links-rod a:hover{color:var(--broto)}
.rodape .redes{margin-top:0}
.rodape-unids{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;padding:56px 0 8px}
.unid-rod h2{display:flex;align-items:center;gap:10px;font-size:1.3rem;margin-bottom:.6em}
.unid-rod h2 a{text-decoration:none}
.unid-rod h2 .ponto{width:14px;height:14px}
.unid-rod address{font-style:normal;line-height:1.65;margin-bottom:14px;color:#C6D1E1}
.unid-rod ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.unid-rod ul a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 .98rem/1.3 var(--f-titulo)}
.unid-rod ul svg{width:18px;height:18px;color:var(--broto);flex:none}
.rodape .base{margin-top:40px}
@media (max-width:960px){.rodape-topo{grid-template-columns:1fr 1fr}.rodape-topo .redes{grid-column:1/-1}.rodape-unids{grid-template-columns:1fr;gap:36px}}
@media (max-width:600px){.rodape-topo{grid-template-columns:1fr;gap:32px}}
.rodape{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}

/* ================================================================
   v5 — texto branco sobre azul e verde (tons mais profundos da paleta para manter a leitura)
   ================================================================ */
:root{--azul-fundo:#0077B6;--verde-fundo:#568214}
.secao.azul,.secao.verde{color:#EEF6FC}
.secao.azul{background:var(--azul-fundo)}
.secao.verde{background:var(--verde-fundo);color:#F2F8E6}
.secao.azul h2,.secao.azul h3,.secao.azul .lead,.secao.verde h2,.secao.verde h3{color:#fff}
.secao.azul a:not(.btn),.secao.verde a:not(.btn){color:#fff}
.secao.azul .checks li::before{background:var(--broto);box-shadow:inset 0 0 0 5px var(--azul-fundo),0 0 0 2px var(--broto)}
.secao.azul .btn-sec,.secao.verde .btn-sec{border-color:#fff;color:#fff}
.secao.azul .btn-sec:hover,.secao.verde .btn-sec:hover{background:#fff;color:var(--tinta)}
.secao .depo blockquote{color:var(--tinta)}
.cab-pagina{background:var(--azul-fundo)}
.cab-pagina,.cab-pagina h1,.cab-pagina p.lead{color:#fff}
.cab-pagina .migalhas,.cab-pagina .migalhas a{color:#DDEFFA}
.cab-pagina.verde{background:var(--verde-fundo)}
.cab-pagina.verde,.cab-pagina.verde h1,.cab-pagina.verde p.lead{color:#fff}
.cab-pagina.verde .migalhas,.cab-pagina.verde .migalhas a{color:#EAF4D6}
.cab-pagina::after{background:var(--broto)}
.cab-pagina.verde::after{background:var(--ceu)}
.cab-pagina.verde::before{background:var(--magenta)}
.fase.azul{background:var(--azul-fundo);color:#fff}.fase.azul:hover{color:#fff}
.fase.verde{background:var(--verde-fundo);color:#fff}.fase.verde:hover{color:#fff}
.unidade.niteroi .cabeca{background:var(--verde-fundo);color:#fff}
.unidade.madureira .cabeca{background:var(--azul-fundo);color:#fff}
.btn-verde{background:var(--verde-fundo);color:#fff}
.secao.azul .blob.b-branco,.secao.verde .blob.b-branco{opacity:.1}

/* Barra superior: link "Marque sua consulta" no centro */
.barra-topo .wrap{display:grid;grid-template-columns:1fr auto 1fr;min-height:46px}
.redes-topo{justify-self:end}
.cta-topo{justify-self:center;background:var(--magenta-fundo);color:#fff!important;padding:7px 16px;border-radius:999px;font-weight:700;gap:8px}
.cta-topo:hover{background:var(--magenta);color:#fff!important}
.cta-topo svg{width:16px;height:16px}
@media (max-width:700px){.barra-topo .wrap{grid-template-columns:auto 1fr}.cta-topo{justify-self:start}.redes-topo a:not(.ico){display:none}}

/* Item "Agendar" no fim do menu */
.menu li.item-agendar>a{background:var(--magenta-fundo);color:#fff!important;margin-left:6px}
.menu li.item-agendar>a:hover,.menu li.item-agendar>a[aria-current=page]{background:var(--magenta-escuro)!important;color:#fff!important}
.menu .cta-menu{display:none!important}
@media (max-width:1080px){.menu li.item-agendar{border-bottom:0}.menu li.item-agendar>a{margin:22px 0 0;text-align:center;border-radius:999px!important;background:var(--magenta-fundo)!important}}
@media (min-width:1081px) and (max-width:1300px){.menu>ul.raiz>li>a,.menu button.sub{padding:10px 10px;font-size:.96rem}.marca img{width:180px}.topo .wrap{gap:28px}}

/* Aviso aos pacientes de convênio: faixa rosa sob o menu + aba sempre disponível */
.aviso{display:none}
.aviso-painel{background:var(--magenta-fundo);color:#fff;max-height:0;overflow:hidden;position:relative;transition:max-height .5s cubic-bezier(.2,.7,.2,1)}
.aviso-wrap.aviso-aberto .aviso-painel{max-height:320px}
.aviso-painel .wrap{display:grid!important;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;min-height:0!important;padding:22px 0 24px}
.aviso-painel p{margin:0;font:600 1.12rem/1.55 var(--f-titulo);color:#fff;max-width:none}
.aviso-painel strong{font-weight:700}
.exclama{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--magenta-fundo);font:700 1.6rem/1 var(--f-titulo)}
.aviso-fechar{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:transparent;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer}
.aviso-fechar:hover{background:#fff;color:var(--magenta-fundo)}
.aviso-tempo{position:absolute;left:0;bottom:0;height:4px;width:0;background:rgba(255,255,255,.75)}
.aviso-wrap.contando .aviso-tempo{animation:contagem 20s linear forwards}
@keyframes contagem{from{width:100%}to{width:0}}
.aviso-aba{position:absolute;top:100%;right:max(24px,calc((100vw - 1200px)/2));display:inline-flex;align-items:center;gap:10px;background:var(--magenta-fundo);color:#fff;border:0;cursor:pointer;
  font:700 .95rem/1 var(--f-titulo);padding:10px 18px 12px 12px;border-radius:0 0 18px 18px;box-shadow:0 12px 24px -14px rgba(214,0,127,.8);transition:background .2s}
.aviso-aba:hover{background:var(--magenta-escuro)}
.aviso-aba .exclama{width:26px;height:26px;font-size:1rem}
.aviso-wrap.aviso-aberto .aviso-aba .exclama{animation:none}
.aviso-aba .exclama{animation:pulsa 2.4s ease-in-out infinite}
@keyframes pulsa{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}50%{box-shadow:0 0 0 6px rgba(255,255,255,0)}}
body:has(.menu.aberto) .aviso-wrap{display:none}
@media (max-width:700px){
  .aviso-painel .wrap{grid-template-columns:auto 1fr;gap:14px}
  .aviso-fechar{grid-column:2;justify-self:end;width:38px;height:38px;margin-top:-4px}
  .aviso-painel p{font-size:1rem}
  .aviso-aba{right:16px;font-size:.85rem;padding:9px 14px 10px 10px}
}
@media (prefers-reduced-motion:reduce){.aviso-painel{transition:none}.aviso-aba .exclama{animation:none}.aviso-wrap.contando .aviso-tempo{animation:none}}

/* Aviso — animação de abrir/fechar
   Abre: a faixa cresce (altura) enquanto um círculo rosa se expande a partir da aba; o ícone "!" salta, o texto sobe e o botão aparece.
   Fecha: o conteúdo some primeiro, o círculo se recolhe em direção à aba e a aba dá um pequeno salto ao "receber" o aviso. */
.aviso-painel{display:grid;grid-template-rows:0fr;max-height:none!important;overflow:visible;background:transparent;
  transition:grid-template-rows .55s cubic-bezier(.6,0,.4,1) .18s}
.aviso-wrap.aviso-aberto .aviso-painel{grid-template-rows:1fr;transition:grid-template-rows .6s cubic-bezier(.2,.9,.25,1)}
.aviso-inner{min-height:0;overflow:hidden;position:relative;background:var(--magenta-fundo);
  clip-path:circle(0px at var(--ox,85%) 0);transition:clip-path .55s cubic-bezier(.6,0,.4,1) .12s}
.aviso-wrap.aviso-aberto .aviso-inner{clip-path:circle(150vmax at var(--ox,85%) 0);transition:clip-path .9s cubic-bezier(.2,.8,.25,1)}
.aviso-inner::before,.aviso-inner::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.aviso-inner::before{width:220px;height:220px;left:-70px;top:-120px;background:rgba(255,255,255,.08)}
.aviso-inner::after{width:120px;height:120px;right:18%;bottom:-80px;background:rgba(0,174,239,.35)}
.aviso-painel .wrap{position:relative;z-index:1}
.aviso-painel .exclama,.aviso-painel p,.aviso-fechar{opacity:0;transform:translateY(-10px);transition:opacity .2s,transform .2s}
.aviso-painel .exclama{transform:scale(.3) rotate(-30deg)}
.aviso-wrap.aviso-aberto .aviso-painel p{opacity:1;transform:none;transition:opacity .5s .45s,transform .6s .45s cubic-bezier(.2,.8,.2,1)}
.aviso-wrap.aviso-aberto .aviso-fechar{opacity:1;transform:none;transition:opacity .4s .6s,transform .5s .6s cubic-bezier(.2,.8,.2,1),background .2s,color .2s}
.aviso-wrap.aviso-aberto .aviso-painel .exclama{opacity:1;transform:none;transition:opacity .3s .3s;animation:salta .9s .3s cubic-bezier(.3,1.6,.5,1) both}
@keyframes salta{0%{transform:scale(.3) rotate(-30deg)}55%{transform:scale(1.18) rotate(8deg)}75%{transform:scale(.95) rotate(-5deg)}100%{transform:none}}

/* Barra de tempo: trilho + preenchimento que esvazia em 20 s */
.aviso-tempo{position:absolute;left:0;right:0;bottom:0;width:auto;height:6px;background:rgba(255,255,255,.22);animation:none!important;opacity:0;transition:opacity .3s}
.aviso-tempo i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;transform:scaleX(1);border-radius:0 6px 6px 0}
.aviso-wrap.contando .aviso-tempo{opacity:1}
.aviso-wrap.contando .aviso-tempo i{animation:esvazia 5s linear forwards}
.aviso-wrap.pausado .aviso-tempo i{animation-play-state:paused}
@keyframes esvazia{from{transform:scaleX(1)}to{transform:scaleX(0)}}

/* A aba "recebe" o aviso ao fechar */
.aviso-aba.recebe{animation:recebe .7s .55s cubic-bezier(.3,1.6,.5,1)}
@keyframes recebe{0%{transform:translateY(0)}40%{transform:translateY(6px) scale(1.06)}100%{transform:none}}
.aviso-wrap.aviso-aberto .aviso-aba{background:var(--magenta-escuro)}

@media (prefers-reduced-motion:reduce){
  .aviso-painel,.aviso-inner,.aviso-painel .exclama,.aviso-painel p,.aviso-fechar{transition:none!important;animation:none!important}
  .aviso-inner{clip-path:none}.aviso-painel .exclama,.aviso-painel p,.aviso-fechar{opacity:1;transform:none}
}

/* Aviso só na página inicial; menu sempre acima do aviso */
.aviso-aba,.aviso-painel{display:none!important}
.aviso-wrap.com-aviso .aviso-aba{display:inline-flex!important}
.aviso-wrap.com-aviso .aviso-painel{display:grid!important}
.topo>.wrap{position:relative;z-index:30}
.aviso-painel{position:relative;z-index:1}
.aviso-aba{z-index:1}
body:has(.menu.aberto) .aviso-wrap{display:none!important}

/* Página Marque sua consulta: WhatsApp e telefone em destaque */
.agenda-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
@media (max-width:960px){.agenda-grade{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
.agenda-unid{background:#fff;border-radius:32px;overflow:hidden;box-shadow:0 26px 50px -30px rgba(20,40,70,.5);display:flex;flex-direction:column}
.agenda-unid .cabeca{padding:26px 28px;color:#fff}
.agenda-unid .cabeca h2{color:#fff;margin:0;font-size:1.8rem}
.agenda-unid .cabeca small{font:600 .95rem/1.3 var(--f-titulo);opacity:.92}
.agenda-unid.meier .cabeca{background:var(--magenta-fundo)}.agenda-unid.niteroi .cabeca{background:var(--verde-fundo)}.agenda-unid.madureira .cabeca{background:var(--azul-fundo)}
.agenda-unid .corpo{padding:26px 28px 30px;display:grid;gap:14px;flex:1}
.btn.grande{justify-content:flex-start;gap:16px;padding:16px 20px;border-radius:20px;font-size:1rem}
.btn.grande svg{width:30px;height:30px}
.btn.grande span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.1}
.btn.grande b{font-size:1.3rem;letter-spacing:.01em}
.agenda-unid address{font-style:normal;font-size:.97rem;line-height:1.6;color:var(--suave);margin-top:8px}
.agenda-unid .mais-unid{font:700 .95rem/1 var(--f-titulo);color:var(--magenta-escuro);margin-top:auto}

/* Home: serviços com ícones lúdicos */
.cards-serv .icone{display:grid;place-items:center;width:100%;aspect-ratio:1;margin-bottom:18px;position:relative;
  border-radius:46% 54% 58% 42%/44% 42% 58% 56%;background:color-mix(in srgb,var(--c) 14%,#fff);transition:border-radius .6s,background .3s}
.cards-serv .icone::after{content:"";position:absolute;inset:8%;border:3px dashed color-mix(in srgb,var(--c) 45%,transparent);border-radius:inherit;opacity:0;transition:opacity .3s}
.cards-serv .ico-serv{width:70%;height:auto;overflow:visible;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.cards-serv a:hover .icone{border-radius:58% 42% 40% 60%/52% 58% 42% 48%;background:color-mix(in srgb,var(--c) 22%,#fff)}
.cards-serv a:hover .icone::after{opacity:1;animation:gira 18s linear infinite}
.cards-serv a:hover .ico-serv{transform:scale(1.08) rotate(-4deg)}
.cards-serv a:hover .ico-serv{animation:balanca .7s ease-in-out}
@keyframes balanca{0%,100%{rotate:0deg}25%{rotate:-6deg}60%{rotate:5deg}}
.js .cards-serv li.visivel .ico-serv{animation:surgeIco .7s var(--d,0s) cubic-bezier(.3,1.6,.5,1) both}
@keyframes surgeIco{from{transform:scale(.4) rotate(-12deg);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.cards-serv .ico-serv{animation:none!important;transition:none}}
.js .cards-serv li.visivel .ico-serv{animation:surgeIco .7s var(--d,0s) cubic-bezier(.3,1.6,.5,1) backwards}
.js .cards-serv li.visivel a:hover .ico-serv,.cards-serv a:hover .ico-serv{animation:balanca .7s ease-in-out}

/* Home: mosaico com todos os convênios, logo cresce ao passar o mouse */
.mosaico{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}
@media (max-width:560px){.mosaico{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}}
.mosaico li{position:relative;aspect-ratio:3/2;background:#fff;border-radius:14px;display:grid;place-items:center;padding:10px;
  box-shadow:0 0 0 1px rgba(34,48,74,.07);transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .3s,z-index 0s .35s;z-index:1;cursor:default;outline:none}
.mosaico img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:saturate(.9);transition:filter .3s}
.mosaico .nome{position:absolute;left:50%;top:calc(100% + 6px);translate:-50% 0;white-space:nowrap;background:var(--tinta);color:#fff;font:700 .72rem/1 var(--f-titulo);
  padding:6px 9px;border-radius:999px;opacity:0;transform:translateY(-4px) scale(.7);transition:opacity .2s,transform .25s;pointer-events:none}
.mosaico li:hover,.mosaico li:focus-visible{transform:scale(1.9);z-index:10;transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .3s,z-index 0s;
  box-shadow:0 18px 36px -14px rgba(20,40,70,.45),0 0 0 2px var(--ceu)}
.mosaico li:hover img,.mosaico li:focus-visible img{filter:none}
.mosaico li:hover .nome,.mosaico li:focus-visible .nome{opacity:1;transform:none}
.mosaico:hover li:not(:hover){opacity:.55;transition:opacity .3s,transform .35s,z-index 0s .35s}
.mosaico li{transition-property:transform,box-shadow,opacity,z-index}
@media (hover:none){.mosaico li:hover{transform:none;box-shadow:0 0 0 1px rgba(34,48,74,.07)}.mosaico:hover li:not(:hover){opacity:1}.mosaico .nome{display:none}}
@media (prefers-reduced-motion:reduce){.mosaico li{transition:none}}
.js .mosaico li[data-revela].visivel:hover,.js .mosaico li[data-revela].visivel:focus-visible,.mosaico li:hover,.mosaico li:focus-visible{transform:scale(1.9);z-index:10;transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .3s,opacity .3s,z-index 0s}
.js .mosaico li[data-revela].visivel{transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .3s,opacity .5s,z-index 0s .35s}
@media (hover:none){.js .mosaico li[data-revela].visivel:hover{transform:none}}
.rodape .logo-rodape{background:none;padding:0;border-radius:0;display:inline-block}
.rodape .logo-rodape img{width:210px;height:auto}

/* Ícones lúdicos no submenu de Serviços */
.menu .caixa .mini.ico{overflow:visible;display:grid;place-items:center;width:52px;height:52px;box-shadow:none;
  background:color-mix(in srgb,var(--c) 16%,#fff);border-radius:46% 54% 58% 42%/44% 42% 58% 56%;transition:background .25s,border-radius .5s}
.menu .caixa .mini.ico svg{width:80%;height:auto;overflow:visible;transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.menu .caixa ul.ricos a:hover .mini.ico,.menu .caixa ul.ricos a:focus-visible .mini.ico{background:color-mix(in srgb,var(--c) 28%,#fff);border-radius:58% 42% 40% 60%/52% 58% 42% 48%}
.menu .caixa ul.ricos a:hover .mini.ico svg,.menu .caixa ul.ricos a:focus-visible .mini.ico svg{transform:scale(1.12) rotate(-6deg)}
.menu li.aberto .caixa.mega .mini.ico svg{animation:surgeIco .5s cubic-bezier(.3,1.6,.5,1) backwards}
.menu li.aberto .caixa.mega li:nth-child(2) .mini.ico svg{animation-delay:.04s}.menu li.aberto .caixa.mega li:nth-child(3) .mini.ico svg{animation-delay:.08s}
.menu li.aberto .caixa.mega li:nth-child(4) .mini.ico svg{animation-delay:.12s}.menu li.aberto .caixa.mega li:nth-child(5) .mini.ico svg{animation-delay:.16s}
.menu li.aberto .caixa.mega li:nth-child(6) .mini.ico svg{animation-delay:.2s}.menu li.aberto .caixa.mega li:nth-child(7) .mini.ico svg{animation-delay:.24s}
.menu li.aberto .caixa.mega li:nth-child(8) .mini.ico svg{animation-delay:.28s}
@media (prefers-reduced-motion:reduce){.menu .caixa .mini.ico svg{animation:none!important;transition:none}}


/* Faixas de fotos das unidades na home */
.faixa-fotos{padding:40px 0 44px;color:#fff;position:relative;overflow:hidden}
.faixa-fotos.meier{background:var(--magenta-fundo)}.faixa-fotos.niteroi{background:var(--verde-fundo)}.faixa-fotos.madureira{background:var(--azul-fundo)}
.faixa-cab{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.faixa-cab h2{color:#fff;font-size:1.5rem;margin:0}
.faixa-cab span{font:600 1rem/1.3 var(--f-titulo);opacity:.9}
.faixa-cab a{margin-left:auto;color:#fff;font:700 .98rem/1 var(--f-titulo);text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:2px solid rgba(255,255,255,.7)}
.faixa-cab a:hover{background:#fff;color:var(--tinta)}
.carrossel{position:relative}
.trilho{list-style:none;margin:0;padding:0 0 0 max(24px,calc((100vw - 1200px)/2));display:flex;gap:14px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.trilho::-webkit-scrollbar{display:none}
.trilho li{flex:none;height:280px}
.trilho button{all:unset;cursor:zoom-in;display:block;height:100%;border-radius:22px;overflow:hidden;box-shadow:0 18px 30px -20px rgba(0,0,0,.55)}
.trilho button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.trilho img{height:100%;width:auto;display:block;transition:transform .5s}
.trilho button:hover img{transform:scale(1.05)}
@media (max-width:600px){.trilho li{height:210px}}
.seta{position:absolute;top:50%;translate:0 -50%;z-index:3;width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:#fff;color:var(--tinta);box-shadow:0 12px 26px -10px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.seta svg{width:24px;height:24px}
.seta.esq{left:max(16px,calc((100vw - 1200px)/2 - 20px))}.seta.dir{right:24px}
.seta:hover{transform:scale(1.1)}
.carrossel.parado .seta,.carrossel:focus-within .seta{opacity:1;pointer-events:auto}
@media (hover:none){.seta{display:none}}

/* moldura branca e leve inclinação, mais lúdico */
.trilho{padding-top:10px!important;padding-bottom:18px!important}
.trilho button{border:6px solid rgba(255,255,255,.95);transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.trilho li:nth-child(odd) button{transform:rotate(-1.6deg)}
.trilho li:nth-child(even) button{transform:rotate(1.4deg) translateY(8px)}
.trilho button:hover,.trilho button:focus-visible{transform:scale(1.04) rotate(0) translateY(-4px)}
.carrossel{-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}
.trilho{padding-left:24px!important}
.trilho button{box-sizing:border-box}.trilho{padding-left:0!important;padding-right:0!important}

/* Páginas das unidades: topo compacto, com contatos visíveis de cara */
.cab-unid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:56px;align-items:center}
.cab-unid h1{font-size:clamp(2rem,4vw,3rem)}
.end-rapido{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;font:600 1.02rem/1.5 var(--f-titulo)}
.end-rapido svg{width:22px;height:22px;flex:none;margin-top:2px}
.acoes-rapidas{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.acoes-rapidas .btn{padding:.8em 1.2em;font-size:.95rem}
.cab-pagina .btn-contorno{border-color:rgba(255,255,255,.85);color:#fff}
.cab-pagina .btn-contorno:hover{background:#fff;color:var(--tinta)}
.hero-unid2{position:relative;display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:150px 150px;gap:10px}
.hero-unid2 button{all:unset;cursor:zoom-in;border-radius:20px;overflow:hidden;box-shadow:0 16px 30px -18px rgba(0,0,0,.5)}
.hero-unid2 button:first-child{grid-row:span 2}
.hero-unid2 img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.hero-unid2 button:hover img{transform:scale(1.05)}
.hero-unid2 button:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ver-fotos{position:absolute;right:12px;bottom:12px;background:#fff;color:var(--tinta)!important;text-decoration:none;font:700 .88rem/1 var(--f-titulo);padding:9px 14px;border-radius:999px;box-shadow:0 8px 18px -8px rgba(0,0,0,.4)}
.ver-fotos:hover{background:var(--tinta);color:#fff!important}
@media (max-width:900px){.cab-unid{grid-template-columns:1fr;gap:28px}.hero-unid2{grid-template-columns:repeat(3,1fr);grid-template-rows:110px}.hero-unid2 button:first-child{grid-row:auto}}


/* ================================================================
   v6 — aviso fora do cabeçalho (verde), ajustes mobile, unidades sem repetição
   ================================================================ */
/* Aviso: no computador acompanha o cabeçalho; no celular fica só no topo da home */
.aviso-wrap{position:sticky;top:129px;z-index:40;height:0}
.aviso-wrap .aviso-painel{position:relative}
.aviso-wrap .aviso-painel .wrap{display:grid!important;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:22px 0 24px;width:min(100% - 48px,1200px);margin-inline:auto}
.aviso-coluna{position:absolute;left:0;right:0;top:0}
.aviso-wrap .aviso-aba{position:absolute;top:100%}
@media (max-width:1080px){.aviso-wrap{position:relative;top:auto;height:auto}.aviso-coluna{position:relative}}
/* verde */
.aviso-inner{background:var(--verde-fundo)}
.aviso-wrap .exclama{color:var(--verde-fundo)}
.aviso-aba{background:var(--verde-fundo);box-shadow:0 12px 24px -14px rgba(60,90,10,.8)}
.aviso-aba:hover,.aviso-wrap.aviso-aberto .aviso-aba{background:#44690E}
.aviso-inner::after{background:rgba(166,206,56,.45)}
.aviso-fechar:hover{color:var(--verde-fundo)}
/* menor no celular */
@media (max-width:700px){
  .aviso-wrap .aviso-painel .wrap{grid-template-columns:auto 1fr auto;gap:10px;padding:12px 0 14px;width:min(100% - 32px,1200px);align-items:start}
  .aviso-painel p{font-size:.86rem;line-height:1.45}
  .aviso-painel .exclama{width:28px;height:28px;font-size:1.05rem}
  .aviso-fechar{grid-column:auto;width:30px;height:30px;font-size:1.2rem;margin:0}
  .aviso-tempo{height:4px}
  .aviso-aba{font-size:.8rem;padding:7px 12px 8px 8px;right:16px;border-radius:0 0 14px 14px}
  .aviso-aba .exclama{width:20px;height:20px;font-size:.8rem}
}

/* Quem somos: missão, visão e valores um abaixo do outro no celular */
@media (max-width:900px){.pilares{grid-template-columns:1fr!important;gap:36px}}

/* Celular: sem o botão flutuante "Marque sua consulta" (fica só o WhatsApp) */
@media (max-width:760px){.cta-flutua{display:none!important}.wa-flutua{right:16px}}

/* Celular: serviços da home em duas colunas */
@media (max-width:540px){
  .cards-serv{grid-template-columns:1fr 1fr;gap:12px}
  .cards-serv a{padding:14px 12px 16px;border-radius:22px}
  .cards-serv .icone,.cards-serv .circ{margin-bottom:10px}
  .cards-serv h3{font-size:1rem;line-height:1.2}
  .cards-serv p{font-size:.82rem;line-height:1.4;margin-bottom:8px}
  .cards-serv .mais{font-size:.82rem}
}

/* Celular: submenu abre e fecha pelo toque (o :hover "grudado" do toque não mantém mais aberto) */
@media (max-width:1080px){.menu li:not(.aberto)>.caixa{display:none!important}.menu li.aberto>.caixa{display:block!important}}
.end-rapido a{color:#fff;text-underline-offset:3px}

/* Quem somos: três fotos das unidades em círculos, na composição do logotipo */
.trio-unid{position:relative;aspect-ratio:1;width:100%;max-width:560px;justify-self:center}
.trio-unid a{position:absolute;border-radius:50%;overflow:hidden;border:9px solid #fff;box-shadow:0 0 0 6px var(--c),0 24px 40px -24px rgba(20,40,70,.5);transition:transform .45s cubic-bezier(.3,1.5,.5,1),z-index 0s}
.trio-unid a img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.trio-unid a span{position:absolute;left:50%;bottom:12%;translate:-50% 0;background:var(--c);color:#fff;font:700 .95rem/1 var(--f-titulo);padding:9px 16px;border-radius:999px;white-space:nowrap;box-shadow:0 8px 18px -8px rgba(0,0,0,.45)}
.trio-unid .madureira{--c:var(--azul-fundo)}.trio-unid .niteroi{--c:var(--verde-fundo)}.trio-unid .meier{--c:var(--magenta-fundo)}
.trio-unid .t1{width:54%;aspect-ratio:1;left:0;top:4%;z-index:1}
.trio-unid .t2{width:54%;aspect-ratio:1;right:0;top:0;z-index:2}
.trio-unid .t3{width:50%;aspect-ratio:1;left:25%;bottom:0;z-index:3}
.trio-unid a:hover,.trio-unid a:focus-visible{transform:scale(1.06);z-index:5}
.trio-unid a:hover img{transform:scale(1.08)}
@media (max-width:900px){.trio-unid{max-width:420px}.trio-unid a span{font-size:.82rem;padding:7px 12px}}

/* Celular: botão "Agendar" do menu em verde */
@media (max-width:1080px){
  .menu>ul.raiz>li.item-agendar>a{background:var(--verde-fundo)!important;color:#fff!important;border-radius:999px!important;margin:24px 0 0;padding:16px 20px!important;text-align:center;font-weight:700}
  .menu>ul.raiz>li.item-agendar>a:hover,.menu>ul.raiz>li.item-agendar>a[aria-current=page]{background:#44690E!important;color:#fff!important}
}

.aviso-wrap.contando .aviso-tempo i{animation-duration:5s}
.menu .caixa ul.ricos.duas b{font-size:.95rem}
