:root{
  --fundo:#F8F8FC;
  --card:#F1F2FA;
  --branco:#FFFFFF;
  --linha:#E3E5F0;
  --ardosia:#2D3A4F;
  --ardosia2:#40506A;
  --texto:#4A5568;
  --suave:#6B7385;
  --areia:#D8BC83;
  --areia2:#C9A866;
  --areia-claro:#F6EEDC;
  --sans:"Manrope",system-ui,sans-serif;
  --corpo:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--fundo);color:var(--texto);font:400 17px/1.75 var(--corpo);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1200px,92vw);margin:0 auto}

/* faixa de contato */
.faixa{background:var(--ardosia);color:#DCE1EA;font-size:14px}
.faixa .wrap{display:flex;gap:32px;justify-content:center;align-items:center;height:44px;flex-wrap:wrap}
.faixa a{text-decoration:none}
.faixa svg{width:15px;height:15px;fill:var(--areia);vertical-align:-2px;margin-right:8px}

/* topo */
.topo{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--linha)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;height:82px;gap:24px}
.marca{text-decoration:none;display:flex;align-items:center;gap:12px}
.marca svg{width:40px;height:40px;flex:none}
.marca b{display:block;font:600 19px/1.15 var(--sans);color:var(--ardosia);letter-spacing:-.01em}
.marca span{display:block;font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--areia2)}
.menu{display:flex;gap:30px;align-items:center}
.menu a{text-decoration:none;font:500 15.5px var(--sans);color:var(--ardosia)}
.menu a:hover{color:var(--areia2)}
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font:600 15px var(--sans);padding:15px 30px;border-radius:999px;transition:.2s}
.btn-areia{background:var(--areia);color:var(--ardosia)!important}
.btn-areia:hover{background:var(--areia2)}
.btn-ardosia{background:var(--ardosia);color:#fff!important}
.btn-ardosia:hover{background:var(--ardosia2)}
.btn-linha{border:1.5px solid var(--ardosia);color:var(--ardosia)}
.btn-linha:hover{background:var(--ardosia);color:#fff}
.menu .btn{padding:12px 24px}

/* tipografia */
.etiqueta{font:600 13px var(--sans)!important;letter-spacing:.25em;text-transform:uppercase;color:var(--areia2)!important;margin:0!important}
h1,h2,h3{font-family:var(--sans);color:var(--ardosia);letter-spacing:-.02em;line-height:1.15;font-weight:600}
h1{font-size:clamp(40px,5.2vw,64px)}
h2{font-size:clamp(32px,3.6vw,46px)}
h3{font-size:21px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.destaque-txt{color:var(--areia2)}
.lead{font-size:19px;color:var(--suave);max-width:600px}

/* hero */
.hero{padding:90px 0 100px;background:linear-gradient(180deg,#FFFFFF 0%,var(--fundo) 100%)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center}
.hero h1{margin:22px 0 24px}
.hero .acoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.hero .selos{display:flex;gap:28px;margin-top:44px;flex-wrap:wrap}
.hero .selos div{font-size:14px;color:var(--suave);line-height:1.4}
.hero .selos b{display:block;font:600 22px var(--sans);color:var(--ardosia)}
.retrato{position:relative;justify-self:center;width:min(310px,100%)}
.retrato .foto{aspect-ratio:4/5;border-radius:28px;overflow:hidden;background:var(--card);box-shadow:0 30px 60px -30px rgba(45,58,79,.35)}
.retrato .foto img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.retrato:before{content:"";position:absolute;inset:24px -24px -24px 24px;border-radius:28px;background:var(--areia-claro);z-index:-1}
.retrato .tag{position:absolute;left:-34px;bottom:34px;background:#fff;border-radius:14px;padding:14px 20px;box-shadow:0 16px 40px -18px rgba(45,58,79,.35);display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.35;color:var(--ardosia)}
.retrato .tag svg{width:34px;height:34px;flex:none}
.retrato .tag b{display:block;font:600 15px var(--sans)}

/* faixa de diferenciais */
.difs{background:var(--ardosia);color:#DCE1EA}
.difs .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:46px 0}
.dif{display:flex;gap:18px;align-items:flex-start}
.dif i{width:52px;height:52px;border-radius:50%;background:var(--areia);display:grid;place-items:center;flex:none}
.dif i svg{width:26px;height:26px}
.dif b{display:block;font:600 19px var(--sans);color:#fff;margin-bottom:4px}
.dif span{font-size:15px;line-height:1.6}

/* seções */
section{padding:110px 0}
.cabeca{max-width:760px;margin-bottom:54px}
.cabeca h2{margin:16px 0 18px}
.branco{background:#fff}

/* injeção */
.injecao .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.injecao h2{margin:16px 0 20px}
.injecao p{color:var(--texto);margin-bottom:16px}
.injecao .acoes{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.indicacoes{list-style:none;background:var(--card);border-radius:24px;padding:16px 34px}
.indicacoes li{padding:22px 0;border-bottom:1px solid var(--linha);display:grid;grid-template-columns:44px 1fr;gap:8px;align-items:start}
.indicacoes li:last-child{border-bottom:0}
.indicacoes svg{width:30px;height:30px;margin-top:2px}
.indicacoes strong{display:block;font:600 18px var(--sans);color:var(--ardosia)}
.indicacoes span{font-size:15px;color:var(--suave)}

/* tratamentos */
.cartoes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cartao{background:var(--card);border:1px solid var(--linha);border-radius:14px;padding:36px 34px;text-decoration:none;display:block;transition:.25s}
a.cartao:hover{background:#fff;box-shadow:0 20px 40px -26px rgba(45,58,79,.35);transform:translateY(-3px)}
.cartao svg{width:44px;height:44px}
.cartao h3{margin:20px 0 10px}
.cartao p{font-size:15.5px;color:var(--suave)}
.cartao .mais{display:inline-block;margin-top:16px;font:600 14px var(--sans);color:var(--ardosia)}
.cartao .mais:after{content:" ›";color:var(--areia2)}

/* sobre */
.sobre .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sobre .foto-evento{border-radius:24px;overflow:hidden;position:relative;box-shadow:0 30px 60px -34px rgba(45,58,79,.4)}
.sobre .foto-evento img{width:100%;height:auto;aspect-ratio:828/609;object-fit:cover}
.sobre .foto-evento span{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:999px;padding:9px 18px;font:500 14px var(--sans);color:var(--ardosia)}
.sobre h2{margin:16px 0 20px}
.texto-sobre p{color:var(--texto);margin-bottom:16px}
.formacao{list-style:none;margin-top:26px;background:var(--card);border-radius:18px;padding:8px 28px}
.formacao li{padding:15px 0;border-bottom:1px solid var(--linha);font-size:15.5px;display:grid;grid-template-columns:150px 1fr;gap:14px}
.formacao li:last-child{border-bottom:0}
.formacao li b{font:600 15px var(--sans);color:var(--ardosia)}

/* avaliação */
.avaliacao{background:var(--areia-claro);padding:80px 0}
.avaliacao .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
.avaliacao .nota-g{font:600 84px/1 var(--sans);color:var(--ardosia);letter-spacing:-.03em}
.avaliacao .nota-g small{display:block;font-size:22px;letter-spacing:6px;color:var(--areia2);margin-top:8px}
.avaliacao p{font:500 21px/1.5 var(--sans);color:var(--ardosia);max-width:520px}

/* faq */
.faq-lista{background:#fff;border:1px solid var(--linha);border-radius:18px;padding:6px 32px}
.faq details{border-bottom:1px solid var(--linha);padding:22px 0}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;list-style:none;font:600 18.5px var(--sans);color:var(--ardosia);display:flex;justify-content:space-between;gap:20px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-weight:400;font-size:26px;line-height:1;color:var(--areia2);transition:.2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{margin-top:12px;color:var(--suave);max-width:840px}

/* consultório */
.local .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:stretch}
.local h2{margin:16px 0 18px}
.local .mapa{border-radius:24px;overflow:hidden;min-height:420px;border:1px solid var(--linha)}
.local iframe{width:100%;height:100%;border:0}
.dado{padding:16px 0;border-bottom:1px solid var(--linha);display:flex;gap:16px;align-items:flex-start}
.dado svg{width:22px;height:22px;flex:none;margin-top:4px}
.dado small{display:block;font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--areia2)}
.dado p{font:500 17.5px var(--sans);color:var(--ardosia)}

/* páginas internas */
.pagina-hero{padding:80px 0 70px;background:linear-gradient(180deg,#fff,var(--card))}
.pagina-hero h1{margin:18px 0 20px;max-width:900px}
.trilha{font-size:14px;color:var(--suave);margin-bottom:14px}
.trilha a{text-decoration:none;color:var(--areia2);font-weight:600}
.artigo .wrap{display:grid;grid-template-columns:1fr 340px;gap:70px;align-items:start}
.texto h2{font-size:clamp(26px,2.8vw,34px);margin:56px 0 16px}
.texto h2:first-child{margin-top:0}
.texto p{margin-bottom:18px}
.texto ul{margin:0 0 22px 20px}
.texto li{margin-bottom:10px}
.texto strong{font-weight:600;color:var(--ardosia)}
.texto a{color:var(--areia2);font-weight:600}
.passos{list-style:none;counter-reset:p;margin-bottom:22px}
.passos li{counter-increment:p;padding:18px 0 18px 64px;position:relative;border-bottom:1px solid var(--linha)}
.passos li:before{content:counter(p);position:absolute;left:0;top:16px;width:40px;height:40px;border-radius:50%;background:var(--areia-claro);color:var(--areia2);font:600 17px/40px var(--sans);text-align:center}
.aviso{background:var(--areia-claro);border-radius:14px;padding:22px 26px;color:var(--ardosia);font-weight:500;margin:28px 0}
.lateral{position:sticky;top:110px;background:#fff;border:1px solid var(--linha);border-radius:20px;padding:34px 30px;box-shadow:0 20px 40px -30px rgba(45,58,79,.35)}
.lateral h3{margin-bottom:10px}
.lateral p{font-size:15.5px;margin-bottom:22px;color:var(--suave)}
.lateral .btn{width:100%;justify-content:center}
.lateral small{display:block;margin-top:16px;font-size:13px;color:var(--suave);text-align:center}

/* rodapé */
.rodape{background:var(--ardosia);color:#C3CAD6;padding:70px 0 40px;font-size:15px}
.rodape .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}
.rodape .marca b{color:#fff}
.rodape h4{font:600 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--areia);margin-bottom:16px}
.rodape a{text-decoration:none;display:block;margin-bottom:8px}
.rodape a:hover{color:#fff}
.rodape .legal{grid-column:1/-1;border-top:1px solid #45546E;padding-top:26px;margin-top:20px;font-size:13px;color:#9AA4B5}

/* whatsapp */
.zap{position:fixed;right:22px;bottom:22px;z-index:30;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 26px -8px rgba(0,0,0,.35);transition:.2s}
.zap:hover{transform:scale(1.07)}
.zap svg{width:30px;height:30px;fill:#fff}

.surge{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.surge.visivel{opacity:1;transform:none}

@media (max-width:960px){
  .menu a:not(.btn){display:none}
  .faixa .wrap{gap:18px;font-size:13px;height:auto;padding:8px 0}
  .faixa .end{display:none}
  .hero .wrap,.injecao .wrap,.sobre .wrap,.local .wrap,.artigo .wrap{grid-template-columns:1fr;gap:56px}
  .hero{padding:50px 0 80px}
  .retrato .tag{left:0}
  .difs .wrap,.cartoes{grid-template-columns:1fr}
  section{padding:80px 0}
  .lateral{position:static}
  .formacao li{grid-template-columns:1fr;gap:0}
  .rodape .wrap{grid-template-columns:1fr}
}
@media (max-width:600px){
  .marca span{display:none}
  .marca b{font-size:16px}
  .menu .btn{padding:10px 16px;font-size:13px}
  .indicacoes,.formacao,.faq-lista{padding-left:20px;padding-right:20px}
}
