@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("/assets/fonts/plusjakartasans.woff2") format("woff2");
  font-weight: 200 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Montserrat";
  src: url("/assets/fonts/montserrat.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --azul: #505e95;
  --navy: #343e64;
  --dourado: #aa8f70;
  --dourado-esc: #99754c;
  --amarelo: #ffdd7c;
  --bege-claro: #faf8f6;
  --bege-card: #f2ede8;
  --bege: #e3dad0;
  --marrom: #917557;
  --linha-header: #d0c1b0;
  --linha-hero: #98a0c1;
  --cta-pt: 150px;
  --cta-up: 58px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--azul);
  background: #fff;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0; }
h1, h2, h3, h4 { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input { font: inherit; }

.pular { position: absolute; left: -9999px; }
.pular:focus { left: 10px; top: 10px; z-index: 1000; background: #fff; padding: 8px 12px; }
.container { width: min(100% - 40px, 1200px); margin-inline: auto; }
.ico { width: 1em; height: 1em; fill: currentColor; flex: none; }

/* Botão */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 15px 35px 15px 30px;
  background: var(--navy); color: #fff;
  font-size: 15px; font-weight: 600; line-height: 15px;
  border: 0; border-radius: 4px; cursor: pointer;
  transition: background-color .2s;
}
.btn:hover { background: var(--azul); }
.btn .ico { width: 15px; height: 15px; margin-right: 10px; }
.btn--forte { font-weight: 700; }

/* Cabeçalho */
.cabecalho { height: 100px; background: #fff; border-bottom: 1px solid var(--linha-header); position: relative; z-index: 30; }
.cabecalho__in { width: min(100% - 40px, 1200px); height: 100%; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; }
.logo img { width: 198px; height: auto; }
.menu { display: flex; }
.menu a { padding: 13px 15px; font-size: 16px; font-weight: 600; line-height: 20px; color: var(--azul); transition: color .2s; }
.menu a:hover, .menu a[aria-current="page"] { color: var(--dourado); }
.menu-toggle { display: none; align-items: center; justify-content: center; width: 33px; height: 33px; padding: 5.5px; border: 0; border-radius: 3px; background: var(--bege); color: #435597; font-size: 22px; cursor: pointer; }

/* Rodapé: CTA + newsletter */
.rodape { position: relative; }
.cta-news { position: relative; background: var(--navy); padding: var(--cta-pt) 0 100px; }
.cta-card {
  position: absolute; top: calc(var(--cta-up) * -1); left: 50%; transform: translateX(-50%);
  width: min(100% - 80px, 1160px);
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  padding: 30px; background: var(--bege-claro);
  border: 1px solid var(--bege); border-bottom-width: 6px; border-radius: 10px;
}
.cta-card p { max-width: 754px; font-size: 20px; font-weight: 600; line-height: 30px; color: var(--dourado); }
.cta-card .btn { flex: none; }

.news { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.news__img { width: 550px; max-width: 100%; border: 1px solid #9aa4c9; border-radius: 10px; }
.news__eyebrow { font-size: 16px; font-weight: 600; line-height: 24px; color: var(--azul); }
.news__titulo { max-width: 420px; margin-top: 30px; font-size: 35px; font-weight: 700; line-height: 45.5px; color: #fff; }
.news__form { display: flex; gap: 15px; padding-top: 50px; }
.news__form input {
  flex: 1; min-width: 0; height: 45px; padding: 0 18px;
  border: 2px solid #fff; border-radius: 50px; background: transparent; color: #fff; font-size: 16px;
}
.news__form input::placeholder { color: rgba(255, 255, 255, .6); opacity: 1; }
.news__form button {
  flex: none; width: 170px; height: 46px; border: 0; border-radius: 50px;
  background: #fff; color: var(--navy); font-size: 16px; font-weight: 700; cursor: pointer;
}

/* Rodapé: colunas */
.rodape__main { background: var(--bege); padding: 100px 0; }
.rodape__grid { display: grid; grid-template-columns: 28% 30% 20% 20%; }
.rodape__selo img { width: 250px; height: 250px; }
.rodape__titulo { font-size: 20px; font-weight: 700; line-height: 30px; color: var(--navy); }
.info { margin-top: 30px; }
.info li { display: flex; align-items: center; margin-top: 6px; padding-bottom: 6px; font-size: 16px; font-weight: 600; line-height: 20.8px; color: var(--azul); }
.info li:first-child { margin-top: 0; }
.info li:last-child { padding-bottom: 0; }
.info__ico { display: flex; justify-content: center; width: 35px; flex: none; }
.info__ico .ico { width: 25px; height: 25px; }
.rodape__sub { padding-top: 15px; font-size: 16px; font-weight: 700; line-height: 24px; color: var(--navy); }
.social { display: flex; gap: 15px; padding-top: 15px; }
.social a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--dourado); color: var(--azul); }
.social .ico { width: 20px; height: 20px; }
.rodape__nav a { display: block; padding: 7px 0; font-size: 16px; font-weight: 600; line-height: 20px; color: var(--azul); transition: color .2s; }
.rodape__nav a:hover, .rodape__nav a[aria-current="page"] { color: var(--dourado); }

.rodape__barra { background: var(--marrom); color: #fff; font-size: 15px; line-height: 22.5px; }
.barra { display: flex; align-items: center; justify-content: space-between; height: 80px; }
.barra strong { font-weight: 700; }
.barra__dev { display: flex; align-items: center; }
.barra__dev img { margin-top: -2px; }

/* WhatsApp flutuante */
.whatsapp-flutuante {
  position: fixed; right: 45px; bottom: 30px; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  width: 69px; height: 69px; border-radius: 50%; background: #25d366; color: #fff;
}
.whatsapp-flutuante .ico { width: 42px; height: 42px; }

/* Banner de cookies */
.cookie-banner {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 9900;
  display: flex; align-items: center; justify-content: center; gap: 24px;
  min-height: 63px; padding: 12px 20px;
  background: #202020; color: #fff; font-size: 14px; line-height: 20px;
}
.cookie-banner[hidden] { display: none; }
.cookie-banner a { text-decoration: underline; }
.cookie-banner__acoes { display: flex; gap: 10px; flex: none; }
.cookie-banner__btn { padding: 8px 20px; border: 2px solid #fff; border-radius: 4px; background: #fff; color: #202020; font-size: 14px; font-weight: 600; cursor: pointer; }
.cookie-banner__btn--sec { background: transparent; color: #fff; }

/* Seções da home */
.eyebrow { font-size: 14px; font-weight: 600; line-height: 21px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--dourado); }
.eyebrow--centro { margin-bottom: -3px; text-align: center; }
.titulo { font-size: 32px; font-weight: 800; line-height: 1.2em; color: var(--azul); }
.titulo--centro { text-align: center; }
.centro { display: flex; justify-content: center; }
.chamada { margin: 30px auto 0; padding: 0 300px; text-align: center; color: var(--dourado); }
.chamada + .centro { margin-top: 30px; }
.chamada strong { font-weight: 700; }
.secao { padding: 100px 0; border-bottom: 1px solid var(--linha-header); }
.secao--bege { background: var(--bege-claro); }
.btn--contorno { padding: 13px 55px; border: 2px solid var(--azul); background: #fff; color: var(--azul); }
.btn--contorno:hover { background: var(--azul); color: #fff; }

.hero {
  position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 700px;
  border-bottom: 1px solid var(--linha-hero);
  background: #fff url("/assets/img/hero-desktop.jpg") top center / cover no-repeat;
}
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #d3d9e300 0%, #d3d9e3 100%); opacity: 0; pointer-events: none; }
.hero__in { position: relative; width: min(100% - 40px, 1200px); margin-inline: auto; }
.eyebrow--hero { max-width: 50%; color: var(--dourado-esc); }
.hero__titulo { max-width: 50%; margin-top: 30px; font-size: 38px; font-weight: 800; line-height: 1.2em; color: var(--azul); }
.hero__titulo mark { padding: 0 5px 5px; background: var(--amarelo); color: var(--azul); }
.hero__titulo mark::after { content: "\A"; white-space: pre; }
.hero__texto { max-width: 41%; margin-top: 30px; font-size: 19px; line-height: 1.5em; }
.hero__texto strong { font-weight: 700; }
.hero__cta { margin-top: 50px; }
.hero__prova { display: flex; align-items: center; margin-top: 15px; }
.hero__prova img { width: 116px; height: auto; }
.hero__prova p { margin-left: 15px; font-weight: 500; }

.sobre { display: flex; align-items: center; min-height: 730px; }
.sobre__in { flex: none; }
.sobre__in { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.sobre__img { padding-right: 50px; }
.sobre__img img { width: 100%; border: 1px solid #9aa4c9; border-radius: 10px; box-shadow: 0 0 39px 0 rgba(52, 36, 3, .145); }
.sobre__p { max-width: 85%; margin: 30px 0; }
.sobre__p strong { font-weight: 700; }
.listas { display: flex; }
.lista-check { width: 45%; }
.lista-check + .lista-check { padding-left: 30px; }
.lista-check li { display: flex; align-items: center; margin-top: 6px; padding-bottom: 6px; font-weight: 600; line-height: 1.3em; color: var(--dourado); }
.lista-check li:first-child { margin-top: 0; }
.lista-check li:last-child { padding-bottom: 0; }
.lista-check .ico { width: 14px; height: 14px; margin-right: 10px; color: var(--azul); }
.acoes { display: flex; margin-top: 30px; }
.acoes .btn { width: 45%; }
.acoes .btn--contorno { width: 50%; margin-left: 30px; }

.esp { min-height: 800px; }


.esp__intro { max-width: 760px; margin: 14px auto 0; font-size: 18px; line-height: 1.6em; text-align: center; color: var(--dourado); }
.esp__botoes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; width: 80%; margin: 50px auto 0; }
.btn-esp { display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 15px; border: 1px solid var(--bege); border-radius: 4px; background: #fff; font-size: 15px; font-weight: 600; line-height: 1.3em; text-align: center; color: var(--dourado); transition: background-color .2s, color .2s, border-color .2s; }
.btn-esp:hover, .btn-esp:focus-visible { border-color: #d9ccbf; background: #d9cfc4; color: var(--navy); }

.depo { min-height: 560px; }
.depo .titulo { margin-bottom: 50px; }
.avaliacoes { margin-bottom: 30px; }
.avaliacoes__resumo { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; margin-bottom: 30px; color: var(--navy); }
.avaliacoes__nota { font-size: 18px; font-weight: 800; letter-spacing: .5px; }
.estrelas { color: #fbbc04; letter-spacing: 2px; }
.avaliacoes__fonte { font-weight: 700; color: var(--dourado); }
.avaliacoes__faixa { display: flex; gap: 20px; padding: 10px 4px 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.avaliacoes__faixa::-webkit-scrollbar { display: none; }
.av { flex: 0 0 calc((100% - 60px) / 4); padding: 20px; border: 1px solid var(--bege); border-radius: 10px; background: #fff; box-shadow: 0 0 10px rgba(52, 36, 3, .1); scroll-snap-align: start; }
.av__topo { display: flex; align-items: center; gap: 12px; }
.av__inicial { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--dourado); color: #fff; font-weight: 700; }
.av__nome { font-weight: 700; line-height: 20px; color: var(--navy); }
.av__data { font-size: 13px; line-height: 18px; color: var(--dourado); }
.av__estrelas { margin: 12px 0 8px; }
.av__texto { font-size: 14px; line-height: 22px; color: var(--azul); }
.avaliacoes__nav { display: flex; justify-content: center; gap: 10px; }
.avaliacoes__seta { width: 36px; height: 36px; border: 1px solid var(--bege); border-radius: 50%; background: #fff; color: var(--navy); font-size: 22px; line-height: 1; cursor: pointer; }
.avaliacoes__seta:hover { background: var(--bege); }

.local { min-height: 650px; padding: 100px 0 150px; }
.local__in { display: flex; justify-content: space-evenly; }
.local__txt { display: flex; flex-direction: column; justify-content: center; width: 40%; }
.local__nome { margin-top: 30px; font-size: 22px; font-weight: 700; line-height: 1.5em; color: var(--dourado); }
.info--local { margin-top: 15px; }
.info--local li { color: var(--dourado); }
.local__sub { margin-top: 30px; font-size: 22px; font-weight: 700; line-height: 1.5em; color: var(--dourado); }
.local__mapa { width: 450px; border: 1px solid var(--bege); border-radius: 10px; box-shadow: 0 0 10px rgba(52, 36, 3, .145); overflow: hidden; }
.local__mapa iframe { display: block; width: 100%; height: 450px; border: 0; }

/* Páginas institucionais */
.pagina-topo { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; padding: 100px 0; border-bottom: 1px solid var(--linha-header); background: #f1eee9; text-align: center; }
.pagina-topo__titulo { font-size: 37px; font-weight: 700; line-height: 1.5em; color: var(--azul); }

.texto-pagina { padding: 100px 0 150px; }
.texto-pagina__in { width: 80%; margin-inline: auto; color: var(--navy); }
.texto-pagina h2 { margin: 8px 0 16px; font-size: 32px; font-weight: 500; line-height: 48px; color: var(--azul); }
.texto-pagina h3 { margin: 8px 0 16px; font-size: 28px; font-weight: 500; line-height: 42px; color: var(--navy); }
.texto-pagina ul, .texto-pagina ol { padding-left: 40px; }
.texto-pagina ul { list-style: disc; }
.texto-pagina ol { list-style: decimal; }
.texto-pagina a { font-weight: 600; color: var(--azul); }

.sobre-pag { padding: 100px 0; }
.sobre-pag__banner { width: 100%; height: auto; border: 1px solid #9aa4c9; border-radius: 10px; box-shadow: 0 0 39px 0 rgba(52, 36, 3, .145); }
.proposito { display: flex; align-items: center; padding: 50px 0; }
.proposito__titulo { width: 50%; padding-left: 70px; font-size: 50px; font-weight: 800; line-height: 1.2em; color: var(--azul); }
.proposito__txt { width: 50%; padding-left: 30px; }
.proposito__txt strong { font-weight: 700; }
.diferenciais { display: flex; padding: 50px; border-radius: 10px; background: #f1eee9; }
.diferenciais__col { flex: 1 1 50%; align-self: flex-start; }
.diferenciais__col:first-child { padding-right: 30px; }
.diferenciais__col:last-child { padding-left: 30px; }
.dif { display: flex; align-items: center; gap: 15px; }
.dif + .dif { margin-top: 10px; }
.dif .ico { width: 15px; height: 15px; color: var(--azul); }
.dif h3 { margin: 8px 0 6px; font-size: 16px; font-weight: 600; line-height: 24px; color: var(--dourado); }
.ambiente { padding-bottom: 100px; }
.ambiente .titulo { margin-bottom: 50px; }
.galeria { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.galeria__item { position: relative; overflow: hidden; border: 1px solid #9aa4c9; border-radius: 10px; }
.galeria__item::before { content: ""; display: block; padding-bottom: calc(100% + 2px); }
.galeria__item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.missao { padding-bottom: 200px; }
.missao__in { display: flex; align-items: center; }
.missao__txt { width: 50%; padding-left: 30px; }
.missao__rotulo { margin-top: 24px; font-size: 20px; font-weight: 700; line-height: 24px; }
.missao__rotulo:first-child { margin-top: 0; }
.valores { margin-top: 10px; }
.valores li { display: flex; align-items: center; margin-top: 7px; padding: 0 0 7px; }
.valores li:first-child { margin-top: 0; }
.valores li:last-child { padding-bottom: 0; }
.valores .ico { width: 14px; height: 14px; margin-right: 4px; color: var(--azul); }
.valores span { padding-left: 5px; }
.valores strong { font-weight: 700; }

.links-pagina { min-height: 720px; background: #dcd0c0 url("/assets/img/links-bg.jpg") repeat 50% 50%; }
.links-pagina__in { display: flex; flex-direction: column; align-items: center; width: 500px; max-width: 100%; margin-inline: auto; }
.links-logo { margin-top: 20px; }
.links-logo img { width: 205px; height: auto; }
.links-titulo { margin-top: 10px; font-size: 23px; font-weight: 600; line-height: 1.5em; color: var(--azul); text-align: center; }
.links-sub { margin-top: 20px; font-family: "Montserrat", sans-serif; font-size: 16px; font-weight: 500; text-align: center; color: var(--azul); }
.link-card { display: flex; flex-direction: column; align-items: center; gap: 15px; width: 100%; margin-top: 30px; padding: 20px 30px 35px; border-radius: 5px; background: linear-gradient(-90deg, #343e64 0%, #505e95 100%); color: #fff; }
.link-card .ico { width: 50px; height: 50px; }
.link-card span { font-size: 28px; font-weight: 600; line-height: 42px; }

/* Especialidades */
.esp-pag { padding: 80px 0 120px; }
.esp-pag .container { width: min(100% - 40px, 960px); }
.esp-pag__resposta { margin-bottom: 50px; font-size: 19px; line-height: 1.6em; color: var(--azul); }
.esp-pag__h2 { margin: 56px 0 20px; font-size: 28px; font-weight: 800; line-height: 1.2em; color: var(--azul); }
.esp-pag__resposta + .esp-pag__h2 { margin-top: 0; }
.lista-trat li { position: relative; padding: 8px 0 8px 30px; font-weight: 600; color: var(--navy); }
.lista-trat li::before { content: "✓"; position: absolute; left: 4px; color: var(--dourado); font-weight: 800; }
.cards-medicos { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 30px; }
.card-medico__foto { width: 100%; height: auto; aspect-ratio: 4 / 5; border: 1px solid #9aa4c9; border-radius: 10px; object-fit: cover; box-shadow: 0 0 20px rgba(52, 36, 3, .12); }
.card-medico__nome { margin-top: 14px; font-size: 17px; font-weight: 700; line-height: 1.3em; color: var(--navy); }
.card-medico__nome a:hover { color: var(--dourado); }
.card-medico__reg { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--dourado); }
.esp-pag__sem { padding: 24px; border: 1px solid var(--bege); border-radius: 10px; background: var(--bege-claro); color: var(--navy); }
.faq h3 { margin: 24px 0 6px; font-size: 18px; font-weight: 700; line-height: 1.4em; color: var(--navy); }
.faq p { color: var(--azul); }
.esp-pag__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 56px; padding: 30px; border: 1px solid var(--bege); border-bottom-width: 6px; border-radius: 10px; background: var(--bege-claro); }
.esp-pag__cta p { font-size: 18px; font-weight: 600; line-height: 1.5em; color: var(--dourado); }
.esp-pag__cta .btn { flex: none; }
.esp-pag__rel { margin-top: 40px; }
.esp-pag__rel-titulo { margin-bottom: 10px; font-weight: 700; color: var(--navy); }
.esp-pag__rel ul { display: flex; flex-wrap: wrap; gap: 10px; }
.esp-pag__rel a { display: block; padding: 6px 16px; border: 1px solid var(--bege); border-radius: 20px; background: #fff; font-size: 15px; font-weight: 600; color: var(--azul); transition: background-color .2s; }
.esp-pag__rel a:hover { background: var(--bege-card); }
.esp-pag__aviso { margin-top: 40px; font-size: 14px; line-height: 1.6em; color: var(--dourado); }
.esp-lista { padding: 80px 0 120px; }
.esp-lista__intro { max-width: 760px; margin: 0 auto 50px; font-size: 18px; line-height: 1.6em; text-align: center; }
.esp-lista__grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.esp-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--bege); border-radius: 10px; background: #fff; box-shadow: 0 0 10px rgba(52, 36, 3, .08); transition: box-shadow .2s, border-color .2s; }
.esp-card:hover { border-color: var(--dourado); box-shadow: 0 0 20px rgba(52, 36, 3, .16); }
.esp-card h2 { font-size: 20px; font-weight: 800; line-height: 1.3em; color: var(--azul); }
.esp-card p { margin-top: 10px; font-size: 15px; line-height: 1.6em; color: var(--navy); }
.esp-card span { margin-top: auto; padding-top: 16px; font-size: 15px; font-weight: 600; color: var(--dourado); }
.esp-lista__cta { margin-top: 50px; }

/* Especialistas */
.destaque { display: flex; align-items: center; min-height: 730px; padding: 100px 0; }
.destaque__in { display: flex; align-items: center; justify-content: space-between; }
.destaque--inversa .destaque__in { flex-direction: row-reverse; }
.destaque__txt { width: 50%; }
.destaque__foto { width: 50%; padding-left: 50px; }
.destaque--inversa .destaque__foto { padding: 0 50px 0 0; }
.destaque__foto img { width: 100%; height: auto; border: 1px solid #9aa4c9; border-radius: 10px; box-shadow: 0 0 39px 0 rgba(52, 36, 3, .145); }
.destaque__nome { font-size: 32px; font-weight: 800; line-height: 1.2em; color: var(--azul); }
.destaque__reg { display: flex; flex-wrap: wrap; gap: 0 14px; font-size: 15px; line-height: 1.5em; color: var(--dourado); }
.destaque__reg strong { font-weight: 700; }
.destaque__bio { max-width: 85%; margin: 30px 0; }
.destaque__bio p + p { margin-top: 24px; }
.todos { padding: 100px 0 120px; border-top: 1px solid var(--linha-header); background: var(--bege-claro); }
.todos .titulo { margin-bottom: 0; }
.todos__intro { max-width: 700px; margin: 14px auto 0; text-align: center; }
.todos .container { display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 60px; }
.todos .eyebrow, .todos .titulo, .todos__intro { grid-column: 1 / -1; }
.grupo-esp { margin-top: 50px; }
.grupo-esp__titulo { margin-bottom: 20px; font-size: 22px; font-weight: 800; line-height: 1.3em; color: var(--azul); }
.grupo-esp__titulo a:hover { color: var(--dourado); }
.cards-medicos--pequenos { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 20px; }
.cards-medicos--pequenos .card-medico__nome { font-size: 15px; }
.cards-medicos--pequenos .card-medico__reg { font-size: 13px; }

/* Formulários */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.campo-oculto { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contato-form { padding: 100px 0; }
.contato-form__titulo { margin-bottom: 30px; font-size: 20px; font-weight: 600; line-height: 1.5em; color: var(--azul); text-align: center; }
.form-contato { display: flex; flex-direction: column; gap: 10px; width: 60%; margin-inline: auto; }
.form-contato input, .form-contato textarea { width: 100%; padding: 8px 16px; border: 1px solid #69727d; border-radius: 20px; background: #fff; color: var(--azul); font-size: 16px; line-height: 24px; }
.form-contato textarea { height: 156px; padding: 5px 14px; resize: vertical; }
.btn--form { width: 100%; border-radius: 20px; }
.btn[disabled], .news__form button[disabled] { opacity: .7; cursor: wait; }
.form-msg { font-size: 15px; line-height: 22px; }
.form-msg--ok { color: #3f6b03; }
.form-msg--erro { color: #9b1515; }
.news__form { flex-wrap: wrap; }
.news__form .form-msg { flex: 0 0 100%; }
.news__form .form-msg--ok { color: #cfe8b0; }
.news__form .form-msg--erro { color: #ffb4b4; }

/* Tablet */
@media (max-width: 1024px) {
  :root { --cta-up: 65px; }
  .pagina-topo { padding: 80px 20px; }
  .esp-lista__grade { grid-template-columns: repeat(2, 1fr); }
  .esp__botoes { grid-template-columns: repeat(2, 1fr); width: 100%; }
  .destaque { padding: 0 0 50px; }
  .destaque--inversa { padding-top: 50px; }
  .destaque__bio { max-width: 100%; }
  .destaque .lista-check { width: 48%; }
  .destaque .lista-check + .lista-check { padding-left: 0; }
  .destaque .acoes { flex-direction: column; }
  .destaque .acoes .btn { width: 100%; }
  .todos { padding: 80px 0 100px; }
  .todos .container { grid-template-columns: 1fr; }
  .esp-pag__resposta { font-size: 18px; }
  .texto-pagina .container { width: 100%; }
  .form-contato { width: 90%; }
  .sobre-pag { padding: 80px 0; }
  .proposito { justify-content: space-around; }
  .proposito__titulo { width: auto; padding-left: 0; font-size: 30px; }
  .missao__in { flex-direction: column; }
  .missao .proposito__titulo { width: 50%; text-align: center; }
  .missao__txt { width: 100%; margin-top: 50px; padding-left: 0; }
  .ambiente { padding-bottom: 80px; }
  .chamada { padding: 0 100px; }
  .secao { padding: 80px 0; }
  .hero { min-height: 600px; background-size: 220% auto; }
  .hero__titulo { max-width: 68%; font-size: 31px; }
  .hero__texto { max-width: 69%; }
  .hero__prova { flex-direction: column; align-items: flex-start; margin-top: 30px; }
  .hero__prova p { margin: 8px 0 0; }
  .sobre { padding: 50px 0; }
  .sobre__p { max-width: 100%; }
  .lista-check { width: 48%; }
  .listas { justify-content: space-between; }
  .lista-check + .lista-check { padding-left: 0; }
  .acoes { flex-direction: column; }
  .acoes .btn, .acoes .btn--contorno { width: 100%; margin-left: 0; }
  .acoes .btn--contorno { margin-top: 15px; }
  .av { flex-basis: calc((100% - 20px) / 2); }
  .local { padding: 80px 0 160px; }
  .local__in { flex-direction: column; align-items: stretch; }
  .local__txt { width: 45%; margin-bottom: 50px; }
  .local__nome { margin-top: 30px; font-size: 18px; }
  .local .titulo { font-size: 30px; }
  .local__sub { font-size: 16px; }
  .info--local li { font-size: 15px; line-height: 19.5px; }
  .info--local .info__ico .ico { width: 20px; height: 20px; }
  .local__mapa { width: 100%; }
  .local__mapa iframe { height: 400px; }
  .menu-toggle { display: flex; order: 2; }
  .btn--cabecalho { order: 3; }
  .menu { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; padding: 10px 20px 20px; background: #fff; border-bottom: 1px solid var(--linha-header); }
  .menu--aberto { display: flex; }
  .cta-card p { font-size: 16px; line-height: 24px; }
  .news { grid-template-columns: 1fr; gap: 50px; }
  .news__img { margin-inline: auto; }
  .news__txt { max-width: 550px; margin-inline: auto; text-align: center; }
  .news__titulo { margin-inline: auto; font-size: 25px; line-height: 32.5px; }
  .news__form { flex-direction: column; gap: 9px; }
  .news__form input { flex: none; width: 100%; }
  .news__form button { width: 100%; }
  .rodape__main { padding: 80px 0; }
  .rodape__grid { grid-template-columns: 50% 25% 25%; }
  .rodape__selo { display: none; }
  .barra { flex-direction: column; justify-content: center; gap: 4px; height: auto; padding: 16px 20px 14px; text-align: center; }
}

/* Celular */
@media (max-width: 767px) {
  :root { --cta-pt: 200px; --cta-up: 108px; }
  .chamada { padding: 0; }
  .hero { min-height: 0; padding: 250px 0 50px; background-image: url("/assets/img/hero-mobile.jpg"); background-size: cover; }
  .hero::before { background: linear-gradient(180deg, #d3d9e300 34%, #d3d9e3 37%); opacity: 1; }
  .eyebrow--hero { max-width: 100%; font-size: 12px; line-height: 18px; }
  .hero__titulo { max-width: 100%; margin-top: 20px; font-size: 5.6vw; }
  .hero__texto { max-width: 100%; margin-top: 20px; font-size: 15px; }
  .hero__cta { margin-top: 30px; }
  .hero__cta .btn { width: 100%; }
  .hero__prova { flex-direction: row; justify-content: center; gap: 5px; margin-top: 20px; }
  .hero__prova img { width: 100px; }
  .hero__prova p { margin: 0; font-size: 12px; line-height: 18px; }
  .sobre { padding: 80px 0; }
  .sobre__in { grid-template-columns: 1fr; }
  .sobre__img { padding-right: 0; }
  .sobre__txt { margin-top: 30px; }
  .centro .btn { width: 100%; }
  .av { flex-basis: 100%; }
  .local { padding-top: 80px; }
  .local__txt { width: 100%; }
  .pagina-topo--eyebrow { min-height: 300px; }
  .esp-pag { padding: 60px 0 90px; }
  .esp-pag__h2 { font-size: 24px; }
  .esp-lista { padding: 60px 0 90px; }
  .esp-lista__grade { grid-template-columns: 1fr; }
  .esp__intro { font-size: 16px; }
  .destaque, .destaque--inversa { min-height: 0; padding: 0 0 80px; }
  .destaque__in, .destaque--inversa .destaque__in { flex-direction: column-reverse; align-items: stretch; }
  .destaque__txt, .destaque__foto, .destaque--inversa .destaque__foto { width: 100%; padding: 0; }
  .destaque__txt { margin-top: 30px; }
  .pagina-topo + .destaque .destaque__foto { margin-top: 50px; }
  .todos { padding: 60px 0 80px; }
  .cards-medicos { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .esp-pag__cta { flex-direction: column; align-items: stretch; }
  .esp-pag__cta .btn { width: 100%; }
  .pagina-topo__titulo--eyebrow { margin-top: 15px; font-size: 30px; line-height: 1.1em; }
  .form-contato { width: 100%; }
  .contato-form { padding: 80px 0; }
  .texto-pagina { padding: 80px 20px 200px; }
  .texto-pagina__in { width: 100%; }
  .proposito { flex-direction: column; align-items: flex-start; }
  .proposito__titulo { width: 100%; font-size: 25px; line-height: 30px; }
  .proposito__txt { width: 100%; margin-top: 30px; padding-left: 0; }
  .diferenciais { flex-direction: column; padding: 20px; }
  .diferenciais__col:first-child, .diferenciais__col:last-child { padding: 0; }
  .diferenciais__col + .diferenciais__col { margin-top: 10px; }
  .galeria { grid-template-columns: 1fr; gap: 10px; }
  .missao .proposito__titulo { width: 100%; }
  .missao__txt { margin-top: 30px; }
  .links-pagina { min-height: 100vh; padding: 30px 20px; background-size: cover; }
  .links-logo img { width: 185px; border-radius: 100px; }
  .links-titulo { margin-top: 30px; font-size: 19px; }
  .links-sub { margin-top: 0; font-size: 13px; line-height: 1.4em; }
  .link-card { flex-direction: row; justify-content: center; gap: 18px; padding: 20px 0; border-radius: 10px; }
  .links-sub + .link-card { margin-top: 50px; }
  .link-card .ico { width: 23px; height: 23px; }
  .link-card span { font-size: 16px; line-height: 16px; }
  .link-card:last-child span { font-size: 18px; line-height: 26px; }
  .btn--cabecalho { display: none; }
  .logo img { width: 150px; }
  .cta-news { padding-bottom: 80px; }
  .cta-card { width: calc(100% - 40px); flex-direction: column; align-items: stretch; gap: 30px; }
  .cta-card .btn { width: 100%; }
  .rodape__grid { grid-template-columns: 1fr; gap: 30px; }
  .info { margin-top: 15px; }
  .rodape__nav { padding-bottom: 15px; }
  .info li { font-size: 15px; line-height: 19.5px; }
  .info__ico { width: 29px; }
  .info__ico .ico { width: 20px; height: 20px; }
  .barra { gap: 5px; padding-bottom: 15px; }
  .social { padding-bottom: 30px; }
  .whatsapp-flutuante { right: 28px; width: 43px; height: 43px; }
  .whatsapp-flutuante .ico { width: 27px; height: 27px; }
  .cookie-banner { flex-direction: column; gap: 10px; text-align: center; }
}
