/* ===== Fontes (arquivos próprios, sem Google Fonts) ===== */
@font-face{font-family:"Recoleta";font-weight:200;font-display:swap;src:url(../fonts/Recoleta-Light.woff2) format("woff2")}
@font-face{font-family:"Recoleta";font-weight:400;font-display:swap;src:url(../fonts/Recoleta-Regular.woff2) format("woff2")}
@font-face{font-family:"Recoleta";font-weight:500;font-display:swap;src:url(../fonts/Recoleta-Medium.woff2) format("woff2")}
@font-face{font-family:"Recoleta";font-weight:700;font-display:swap;src:url(../fonts/Recoleta-Black.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:100 900;font-style:normal;font-display:swap;src:url(../fonts/InterTight-latin.woff2) format("woff2")}
@font-face{font-family:"Inter Tight";font-weight:100 900;font-style:italic;font-display:swap;src:url(../fonts/InterTight-italic-latin.woff2) format("woff2")}

/* ===== Base ===== */
:root{
  --verde:#8DA28B; --verde-escuro:#3A4D38; --verde-medio:#455E42; --verde-fundo:#233321;
  --bege:#F5F3F1; --creme:#FFFAF5; --creme-2:#FFFCF8; --cinza:#54595F;
  --titulo:"Recoleta",serif; --texto:"Inter Tight",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--verde-escuro);font-family:var(--texto);font-weight:300;font-size:18px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{margin:0}

/* ===== Botão (degradê bege com brilho no hover) ===== */
.botao{
  position:relative;display:inline-block;overflow:hidden;
  padding:19px 40px;border:1px solid #BDA082;border-radius:100px;
  background:linear-gradient(120deg,#AC8A68 0%,#D4B899 35%,#97744F 100%);
  box-shadow:inset 0 0 5px 5px #ffffff10,0 5px 5px 0 #00000015;
  color:#fff;text-decoration:none;text-align:center;
  font:300 20px/20px var(--texto);letter-spacing:-.1px;
  transition:all .2s ease-in;
}
.botao::before{content:"";display:block;width:0;height:86%;position:absolute;top:7%;left:0;opacity:0;background:#fff;box-shadow:0 0 50px 30px #fff;transform:skewX(-20deg)}
.botao:hover,.botao:focus-visible{background:#BDA082;border-color:transparent;box-shadow:inset 0 0 5px 5px #ffffff10,0 0 30px 5px #E3B98C40;transform:scale(1.03);transition:all .2s ease-out}
.botao:hover::before,.botao:focus-visible::before{animation:brilho .7s linear}
.botao:active{box-shadow:inset 0 0 5px 5px #000,0 0 0 0 transparent;transform:translateY(.2em)}
@keyframes brilho{from{opacity:0;left:0}50%{opacity:1}to{opacity:0;left:100%}}

/* ===== 1. Hero ===== */
.hero{
  position:relative;display:flex;overflow:hidden;
  margin:1% 1% 0;border-radius:40px;background:var(--verde);
}
.hero::before{content:"";position:absolute;inset:0;background:url(../img/hero-fundo.webp) center/cover no-repeat;opacity:.61}
.hero__texto{
  position:relative;z-index:1;flex:0 0 49%;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:30px;
  padding:57px 0 57px 200px;
}
.hero__logo{width:598px;height:auto}
.hero__titulo{margin-top:93px;font:400 40px/40px var(--titulo);color:#fff;max-width:688px}
.hero__texto .botao{margin-bottom:8px}
.hero__sub{font:200 18px/18px var(--texto);letter-spacing:-.8px;color:#fff;max-width:688px}
.hero__fotobox{position:relative;z-index:1;flex:1 1 51%;display:flex;align-items:flex-end}
.hero__foto{width:100%;height:auto}
.avaliacoes__m{display:none}

/* ===== Pedaços reutilizáveis ===== */
.rotulo{font:200 20px/20px var(--titulo);letter-spacing:8.4px;color:var(--verde-escuro);text-align:center;text-transform:uppercase}
.rotulo--caixa{letter-spacing:3.5px}
.cta{display:flex;justify-content:center}

/* ===== 2. Ornamento ===== */
.ornamento{display:flex;justify-content:center;padding:130px 10px 44px}
.ornamento img{width:145px;height:auto}

/* ===== 3. Sobre ===== */
.sobre{max-width:1160px;margin:0 auto;padding:10px 10px 60px}
.sobre__titulo{margin-top:70px;font:400 40px/40px var(--titulo);color:var(--verde-medio);text-align:center;letter-spacing:-.1px}

.sobre__titulo b{font-weight:700}
.formacao b{font-weight:400}

/* ===== 4. Formação ===== */
/* bloco centralizado de verdade: a largura acompanha o conteúdo (texto 550px + lista) e fica no meio da tela */
.formacao{display:grid;grid-template-columns:minmax(280px,550px) max-content;column-gap:20px;width:fit-content;max-width:calc(100% - 20px);margin:0 auto;padding:20px 0}
.formacao__texto{margin-top:6px;font:300 18px/30px var(--texto);letter-spacing:-.1px;color:var(--verde-escuro)}
.lista{list-style:none;margin:0;padding:0}
.lista li{position:relative;padding-left:19.5px;font:300 18px/30px var(--texto);letter-spacing:-.1px;color:var(--verde-escuro)}
.lista li::before{content:"";position:absolute;left:0;top:8px;width:14px;height:14px;background:#000;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'><path d='M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.403 0 402.48 0 384.662z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 512'><path d='M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.403 0 402.48 0 384.662z'/></svg>") center/contain no-repeat}

/* ===== 5. Botão solto ===== */
.cta--simples{padding:30px 0 158px}

/* ===== 6. Princípios ===== */
.principios{background:var(--creme);padding:150px 18.5px 168px;display:flex;flex-direction:column;align-items:center}
.principios__titulo{margin-top:20px;font:400 48px/48px var(--titulo);color:var(--verde-medio);text-align:center;letter-spacing:-.1px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,329px));justify-content:center;width:100%;gap:20.5px;margin:30px 0 60px}
.card{
  min-height:220px;padding:30px;border-radius:12px;
  background:linear-gradient(45deg,#8DA28B,#88A086,#AFD0AB) 0 0/250% auto;
  transition:background-position .7s ease,box-shadow .3s ease;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;text-align:center;color:#fff;
}
/* ao passar o mouse: o degradê desliza e entra uma sombra suave (efeito do original) */
.card:hover{background-position:100% 0;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.card h3{font:400 23px/23px var(--titulo);letter-spacing:-.1px}
.card p{font:200 18px/19px var(--texto);letter-spacing:-.1px}
.card:first-child p{line-height:18px}
.card:nth-child(2) p{margin:0 10px}   /* no original só este parágrafo tem 10px de margem lateral */

/* ===== Painel verde com textura (Abordagem e Benefícios) ===== */
.painel{
  position:relative;isolation:isolate;
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:36px;
  background:linear-gradient(180deg,#8DA28B 41%,#567253 100%);color:#fff;
}
.painel::before{content:"";position:absolute;inset:0;z-index:-1;background:none;opacity:.12}
.painel__rotulo{font:200 17px/17px var(--titulo);letter-spacing:4.8px;text-transform:uppercase}
.painel__rotulo--leve{font-weight:200}
.painel__titulo{font:400 40px/40px var(--titulo);letter-spacing:-.1px}
.painel__botao{margin:40px 0 8px}

/* listas brancas com ícone */
.lista--branca li{color:#fff;font:200 18px/30px var(--texto);letter-spacing:.3px;padding-left:19.5px}
.lista--branca li.sem-icone{padding-left:0}
.lista--branca li.sem-icone::before{display:none}
.lista--branca b{font-weight:400}
.lista--seta li::before,.lista--check li::before{background:#fff}
.lista--seta li::before{
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/></svg>") center/contain no-repeat}
.lista--check li{font-size:18px;line-height:36px}
.lista--check li::before{top:11px;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z'/></svg>") center/contain no-repeat}

/* ===== 7. Abordagem terapêutica ===== */
.abordagem{display:grid;grid-template-columns:40% 60%;min-height:700px}
.abordagem__foto{background:url(../img/abordagem-foto.webp) center/cover no-repeat}
.abordagem .painel{padding:100px 40px 100px 100px;gap:0}
.abordagem .painel__titulo{margin-top:36px}
/* coluna = 70% da largura útil do painel em todas as telas (igual ao original), com hifenização */
.abordagem__texto{margin-top:46px;width:70%;font:200 18px/30px var(--texto);letter-spacing:-.1px;word-spacing:.8px;text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.abordagem .lista{margin-top:36px;width:567px}
.abordagem__fecho{margin-top:36px;white-space:nowrap;font:200 18px/20px var(--texto);letter-spacing:-.1px}
.abordagem .painel__botao{margin-top:76px}

/* ===== 8. Citação ===== */
.citacao{display:grid;grid-template-columns:570px 570px;justify-content:center;min-height:600px;padding:0 10px;background:var(--creme-2);align-items:center}
.citacao__texto{padding:10px;display:flex;flex-direction:column;gap:20px}
.citacao__frase{margin:0;font:400 48px/48px var(--titulo);letter-spacing:-.1px;color:var(--cinza)}
.citacao__autor{font:400 18px/18px var(--titulo);letter-spacing:5.7px;text-transform:uppercase;color:var(--cinza)}
.citacao__arvore{align-self:start;margin-top:10px;height:580px;background:url(../img/arvore.webp) center/cover no-repeat}

/* ===== 9. Especialidades ===== */
.especialidades{
  position:relative;isolation:isolate;min-height:594px;padding:150px 10px 150px;
  display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(299deg,#8DA28B 0%,#617460 65%);
}
.especialidades::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(#8DA28B 0%,#3A4D38 100%);opacity:.47}
.especialidades__topo{width:100%;max-width:1140px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:20px}
.especialidades__rotulo{font:400 18px/34px var(--titulo);letter-spacing:8.5px;text-transform:uppercase;color:#fff;text-align:center}
.divisor{width:336px;height:0;margin:0;border:0;border-top:1px solid var(--verde)}
.pilulas{list-style:none;margin:27px 0 0;padding:10px;max-width:912px;display:flex;flex-wrap:wrap;justify-content:center;gap:20px}
.pilulas li{padding:12px 24px;border-radius:50px;background:linear-gradient(45deg,#8DA28B,#88A086,#AFD0AB) 0 0/250% auto;color:#fff;font:200 20px/20px var(--titulo);letter-spacing:-.1px}

/* ===== 10. Avaliações ===== */
.avaliacoes{background:var(--creme-2);padding:150px 10px 150px;display:flex;flex-direction:column;align-items:center}
.avaliacoes__titulo{max-width:800px;font:400 40px/40px var(--titulo);letter-spacing:-.1px;color:var(--cinza);text-align:center}
.avaliacoes__img{margin-top:40px;width:956px;max-width:100%;height:auto}
.avaliacoes__nota{margin:40px 0;font:400 20px/20px var(--titulo);letter-spacing:-.1px;color:var(--cinza);text-align:center}
.avaliacoes .botao{margin-bottom:8px}

/* ===== 11. Benefícios ===== */
.beneficios{display:grid;grid-template-columns:50% 50%;min-height:700px}
.beneficios__foto{background:url(../img/beneficios-foto.webp) center/cover no-repeat}
.beneficios .painel{padding:100px}
.beneficios .painel__titulo{max-width:725px}
.beneficios .lista{width:465px}
.beneficios .painel__botao{margin-top:40px}

/* Pílulas: o degradê desliza e ganha sombra ao passar o mouse (como no original) */
.pilulas li{transition:background-position .7s ease,box-shadow .3s ease;cursor:default}
.pilulas li:hover{background-position:100% 0;box-shadow:0 6px 16px rgba(0,0,0,.18)}

/* ===== Animações de entrada (mesmas do Elementor: fadeIn, fadeInDown/Up/Left/Right) ===== */
body{overflow-x:clip}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInDown{from{opacity:0;transform:translate3d(0,-100%,0)}to{opacity:1;transform:none}}
@keyframes fadeInUp{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:none}}
@keyframes fadeInLeft{from{opacity:0;transform:translate3d(-100%,0,0)}to{opacity:1;transform:none}}
@keyframes fadeInRight{from{opacity:0;transform:translate3d(100%,0,0)}to{opacity:1;transform:none}}
/* escondido só se o JavaScript estiver ativo; sem JS o conteúdo aparece normal */
.js [data-anim]:not(.is-animated){visibility:hidden}
.is-animated{animation-duration:1.25s;animation-fill-mode:backwards;animation-timing-function:ease}
.is-animated[data-anim-speed="slow"]{animation-duration:2s}
.is-animated.anim-fadeIn{animation-name:fadeIn}
.is-animated.anim-fadeInDown{animation-name:fadeInDown}
.is-animated.anim-fadeInUp{animation-name:fadeInUp}
.is-animated.anim-fadeInLeft{animation-name:fadeInLeft}
.is-animated.anim-fadeInRight{animation-name:fadeInRight}
@media (prefers-reduced-motion:reduce){.js [data-anim]:not(.is-animated){visibility:visible}.is-animated{animation:none!important}}

/* ===== 12. Perguntas frequentes ===== */
.faq{display:grid;grid-template-columns:40% 60%;background:var(--bege);padding-top:140px}
.faq__lado{padding:10px;display:flex;flex-direction:column;gap:20px}
.faq__titulo{margin-left:150px;font:400 64px/64px var(--titulo);letter-spacing:-.1px;color:var(--verde-medio)}
.faq__rosto{width:539px;max-width:100%;height:auto;margin-top:auto}
.acordeao{padding:10px;width:1000px;max-width:100%}
.acordeao details{margin:0 0 8px;width:980px;max-width:100%}
.acordeao summary{
  position:relative;display:block;list-style:none;cursor:pointer;
  padding:0 40px 1px 0;border-bottom:1px solid #CECECE;
  font:300 20px/55px var(--texto);letter-spacing:-.1px;color:#000;
}
.acordeao summary::-webkit-details-marker{display:none}
.acordeao summary::after{
  content:"";position:absolute;right:0;top:calc(50% - 10px);width:20px;height:20px;background:var(--verde);
  -webkit-mask:var(--ico-mais) center/contain no-repeat;mask:var(--ico-mais) center/contain no-repeat;
}
.acordeao details[open] summary::after{-webkit-mask-image:var(--ico-menos);mask-image:var(--ico-menos)}
.acordeao details.is-fechando summary::after{-webkit-mask-image:var(--ico-mais);mask-image:var(--ico-mais)}
.acordeao__corpo{transition:opacity .3s ease}
.acordeao details:not([open]) .acordeao__corpo{opacity:0}
.acordeao details[open] .acordeao__corpo{opacity:1}
.acordeao details.is-fechando .acordeao__corpo{opacity:0}
.acordeao__corpo{padding:10px}
.acordeao__corpo p{margin:17px 0;font:300 17px/23.8px var(--texto);letter-spacing:-.1px;color:#000}
:root{
  --ico-mais:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z'/></svg>");
  --ico-menos:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z'/></svg>");
}

/* ===== 13. Depoimentos ===== */
.depoimentos{position:relative;isolation:isolate;min-height:700px;background:var(--verde);padding:150px 10px 160px;display:flex;flex-direction:column;align-items:center;color:#fff}
.depoimentos::before{content:"";position:absolute;inset:0;z-index:-1;background:none;opacity:.22}
.depoimentos__rotulo{margin-top:10px;font:200 18px/18px var(--titulo);letter-spacing:5.7px;text-transform:uppercase;text-align:center}
.depoimentos__titulo{margin-top:20px;max-width:1000px;font:400 40px/40px var(--titulo);text-align:center}
.carrossel{width:1128px;max-width:100%;margin-top:40px;padding-bottom:40px;position:relative}
.carrossel__janela{overflow:hidden}
.carrossel__faixa{display:flex;transition:transform .5s ease}
.depoimento{
  flex:0 0 100%;width:100%;margin:0 10px 0 0;box-sizing:border-box;
  padding:20px 20px 20px 40px;display:flex;flex-direction:column;
  border:1px solid #8EB18B;border-radius:41px;background:rgba(118,145,115,.7);
}
/* se algum script trocar emoji por imagem, ela acompanha o tamanho do texto (nunca estica o cartão) */
img.emoji,img.wp-smiley{display:inline!important;width:1em!important;height:1em!important;margin:0 .07em!important;padding:0!important;border:0!important;box-shadow:none!important;vertical-align:-.1em!important;background:none!important}
.depoimento blockquote{margin:0;font:italic 300 18px/27px var(--texto);letter-spacing:-.1px;text-align:center}
.depoimento figcaption{margin-top:25px;font:italic 400 23px/32px var(--titulo);letter-spacing:-.1px;text-align:center}
.carrossel__pontos{position:absolute;left:0;right:0;bottom:4px;display:flex;justify-content:center}
.carrossel__pontos button{width:10px;height:10px;margin:0 6px;padding:0;border:0;border-radius:50%;background:#000;opacity:.2;cursor:pointer;transition:opacity .2s}
.carrossel__pontos button[aria-selected="true"]{opacity:1}

/* ===== 14. Chamada final ===== */
.chamada{
  position:relative;isolation:isolate;min-height:838px;padding:0 0 20px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  background:url(../img/chamada-fundo.webp) 0 -50px/cover no-repeat;
}
.chamada::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#3A2E2600 31%,#41342A 100%);opacity:.19;mix-blend-mode:multiply}
.chamada__logo{width:256px;height:auto}
.chamada__titulo{margin:30px 0 40px;font:400 49px/49px var(--titulo);letter-spacing:-.1px;color:#fff;text-align:center}
.chamada .botao{margin-bottom:28px}
.chamada__titulo b{font-weight:700}

/* ===== 15. Instagram ===== */
.instagram{background:var(--bege);padding:150px 0 100px;display:flex;flex-direction:column;align-items:center;gap:20px;min-height:464px;justify-content:center}
.rotulo--instagram{letter-spacing:5.7px;font-size:18px;line-height:18px}
.instagram__titulo{font:400 40px/40px var(--titulo);letter-spacing:-.1px;color:var(--cinza);text-align:center}
.instagram__feed{width:min(1294px,100%)}
.instagram__aviso{margin:20px 0 0;padding:60px 20px;border:1px dashed #BDA082;border-radius:14px;text-align:center;font:300 16px/24px var(--texto);color:var(--cinza)}

/* ===== 16. Contato ===== */
.contato{display:grid;grid-template-columns:885fr 964fr;min-height:536px}
.contato__mapa iframe{display:block;width:100%;height:100%;min-height:536px;border:0}
.contato__dados{position:relative;isolation:isolate;background:var(--verde);padding:97px 20px 97px 150px;display:flex;flex-direction:column;align-items:flex-start;color:#fff}
.contato__dados::before{content:"";position:absolute;inset:0;z-index:-1;background:none;opacity:.27}
.contato__titulo{font:200 64px/64px var(--titulo);letter-spacing:normal}
.contato__texto{margin-top:50px;max-width:488px;font:200 16px/25px var(--texto);letter-spacing:-.1px;font-style:normal}
.contato__texto b{font-weight:700}
.contato__botao{margin-top:60px}

/* ===== 17. Rodapé ===== */
.rodape{background:var(--verde-fundo);min-height:189px;padding:42px 10px;display:flex;flex-direction:column;align-items:center;gap:27px;text-align:center}
.rodape img{width:171px;height:auto}
.rodape p{font:300 14px/14px var(--texto);letter-spacing:-.1px;color:#E6F0E5}

/* =====================================================================
   RESPONSIVO  (mesmos pontos de corte do Elementor: 1366, 1024 e 767)
   ===================================================================== */

/* ---------- Notebook: até 1366px ---------- */
@media (max-width:1366px){
  .hero{margin:10px 10px 0;padding:40px 0 0 60px}   /* sem espaço embaixo: a foto encosta na borda */
  .hero__texto{min-height:89vh;padding:0 0 0 10px}
  .hero__logo{width:min(554px,100%)}
  .hero__titulo{margin-top:131px}
  .sobre{max-width:943px}
  .principios{padding-left:19px;padding-right:19px}
  .cards{grid-template-columns:repeat(4,minmax(0,329px));justify-content:center;width:100%;max-width:1298px;gap:10px}
  .abordagem .painel{padding:100px 0 100px 80px}
  .abordagem__texto{margin-top:36px}
  .abordagem__fecho{white-space:normal}
  .abordagem .painel__botao{margin-top:36px}
  .citacao{grid-template-columns:minmax(0,570px) minmax(0,570px)}
  .acordeao{width:100%}
  .acordeao details{width:100%}
  .faq{grid-template-columns:44fr 56fr}
  .faq__titulo{margin-left:60px}
  .beneficios .painel{padding:100px 0 100px 80px}
  .beneficios .painel__titulo{font-size:39px;line-height:39px}
  .beneficios .painel__botao{margin-top:0}
  .beneficios .lista,.abordagem .lista{max-width:100%}
  .carrossel{width:78%}
  .chamada{background-position:0 0}
  .contato{grid-template-columns:663fr 688fr;min-height:575px}
  .contato__dados{padding:97px 20px 97px 50px;justify-content:center}
  .contato__mapa iframe{min-height:575px}
}

/* ---------- Tablet: até 1024px ---------- */
@media (max-width:1024px){
  /* hero em coluna */
  .hero{flex-direction:column;align-items:center;margin:10px;padding:100px 10px 0}
  .hero__texto{flex:none;width:100%;min-height:0;padding:0;align-items:center;gap:30px}
  .hero__logo{width:56%;height:auto}
  .hero__titulo{margin-top:52px;max-width:none;text-align:center}
  .hero__sub{max-width:none;align-self:stretch;text-align:center}
  .hero__texto .botao{margin-bottom:8px}
  .hero__fotobox{flex:none;width:100%;height:570px;position:relative;overflow:hidden;display:block}
  .hero__foto{position:absolute;left:calc(50% - 183px);top:22px;width:555px;max-width:none;height:548px}

  /* Sobre */
  .sobre{padding:30px 30px 80px}
  .sobre__titulo{margin-top:70px}

  /* Formação: duas colunas */
  .formacao{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;width:100%;max-width:none;margin:0;padding:40px 14.5px}
  .formacao>*{padding:10px}
  .formacao .lista{margin:0}
  .lista li{padding-right:0}

  /* Princípios */
  .principios{padding:150px 20px 168px}
  .principios__titulo{max-width:693px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:none}

  /* Abordagem (espaços de 36px entre todos os blocos) */
  .abordagem{grid-template-columns:minmax(0,1fr)}
  .abordagem__foto{min-height:593px}
  .abordagem .painel{padding:100px 40px 100px 80px}
  .abordagem__texto{margin-top:36px}
  .abordagem .painel__botao{margin-top:36px}

  /* Citação: árvore em cima, texto embaixo */
  .citacao{grid-template-columns:minmax(0,1fr);padding:106px 30px;min-height:963px;align-content:center}
  .citacao__arvore{order:-1;margin:0;height:593px;align-self:auto}
  .citacao__texto{padding:0;gap:20px}
  .citacao__frase{font-size:40px;line-height:40px}

  /* Especialidades */
  .especialidades{padding:150px 10px 150px}
  .pilulas{max-width:602px}
  .divisor{width:min(336px,100%)}

  /* Avaliações */
  .avaliacoes__titulo{max-width:602px}
  .avaliacoes__img{width:580px}

  /* Benefícios */
  .beneficios{grid-template-columns:minmax(0,1fr)}
  .beneficios__foto{min-height:712px}
  .beneficios .painel{padding:100px 0 100px 80px}
  .beneficios .painel__titulo{font-size:39px;line-height:39px;max-width:673px}
  .beneficios .painel__botao{margin-top:0}

  /* Perguntas frequentes */
  .faq{grid-template-columns:331fr 421fr;min-height:90vh}
  .faq__titulo{margin-left:60px;font-size:51px;line-height:51px}
  .faq__rosto{width:311px}
  .acordeao summary{line-height:38px}

  /* Depoimentos */
  .depoimentos{padding-left:10px;padding-right:10px}
  .carrossel{width:80%}

  /* Chamada */
  .chamada__logo{width:205px}

  /* Contato */
  .contato__dados{padding:97px 20px 97px 50px;justify-content:center}
  .contato__texto{max-width:299px}
  .contato{min-height:596px}
  .contato__mapa iframe{height:100%;min-height:575px}

  /* Rodapé */
  .rodape img{width:107px}
}

/* ---------- Celular: até 767px ---------- */
@media (max-width:767px){
  /* hero */
  .hero{margin:0;padding:0}
  .hero__texto{padding:77px 20px 67px;gap:10px;align-items:center}
  .hero__logo{width:calc(100% + 16px);max-width:362px;margin:0 -8px}   /* logo maior, quase de ponta a ponta */
  .hero__titulo{margin-top:32px;font-size:32px;line-height:34px}
  .hero__sub{font-size:18px;text-align:center}
  .hero__texto .botao{margin-top:20px}   /* o botão respira: 30px da frase em vez de 10px */
  .hero__fotobox{height:570px}
  .hero__foto{left:8px;top:22px}

  /* Sobre */
  .sobre__titulo{font-size:26px;line-height:36.4px;margin-top:40px}
  .rotulo{font-size:15px;line-height:15px}

  /* Formação: empilhada */
  .formacao{display:block;padding:40px 15px}

  /* Princípios */
  .principios{padding-bottom:172px}
  .principios__titulo{max-width:none;width:100%;padding:0 10px}   /* acompanha a largura da tela: 3 linhas em 375px, 2 linhas em telas maiores */
  .cards{grid-template-columns:minmax(0,1fr)}

  /* Abordagem */
  /* fotos: a cabeça nunca é cortada. A altura é, no mínimo, a da foto inteira (sem corte vertical) */
  .abordagem__foto{min-height:max(466px,117vw);background-position:center top}
  .abordagem .painel{padding:100px 20px}
  .abordagem__texto{font-size:16px;text-align:left}
  .abordagem .lista{width:100%}
  .abordagem .lista li{font-size:16px}
  .abordagem__fecho{font-size:16px;white-space:normal}

  /* Citação */
  .citacao{padding:63px 20px;min-height:765px}
  .citacao__arvore{height:446px}
  .citacao__frase{font-size:31px;line-height:31px}

  /* Especialidades */
  .especialidades{padding:100px 20px 100px}
  .pilulas{flex-direction:column;align-items:center;gap:15px}

  /* Avaliações */
  .avaliacoes{padding:150px 10px 150px}
  .avaliacoes__titulo{max-width:none;width:100%;padding:0 14px;font-size:33px;line-height:33px}
  .avaliacoes__img{display:none}
  .avaliacoes__m{display:block;margin-top:40px;height:auto}
  .avaliacoes__m--folha{width:78px}
  .avaliacoes__m:not(.avaliacoes__m--folha){width:324px;max-width:100%}
  .avaliacoes__nota{max-width:300px}

  /* Benefícios */
  .beneficios__foto{min-height:max(466px,106.6vw);background-position:center top}
  .beneficios .painel{padding:100px 20px}
  .painel__rotulo--leve{font-size:12px;line-height:12px}
  .beneficios .lista{width:100%}
  .lista--check li{font-size:16.5px;line-height:24px;padding-bottom:15px;margin-bottom:12.44px}
  .lista--check li:last-child{padding-bottom:0;margin-bottom:0}
  .lista--check li::before{top:5px}

  /* Perguntas frequentes */
  .faq{display:flex;flex-direction:column;padding-top:100px;padding-bottom:100px}
  .faq__lado{align-items:center;padding:0 20px 40px;gap:20px}
  .faq__rosto{order:-1;width:154px;margin:0}
  .faq__titulo{margin:0;font-size:40px;line-height:40px;text-align:center}
  .acordeao{padding:10px 20px;width:100%}
  .acordeao details{margin-bottom:16px}
  .acordeao details:last-child{margin-bottom:0}
  .acordeao summary{font-size:15px;line-height:25.5px;padding-right:30px}
  .acordeao__corpo p{font-size:15px;line-height:21px}

  /* Depoimentos */
  .depoimentos__titulo{font-size:40px}
  .depoimento blockquote{font-size:15px;line-height:22.5px}
  .carrossel{width:100%}

  /* Chamada */
  .chamada{min-height:703px;background-position:center center}
  .chamada__logo{width:169px}
  .chamada__titulo{font-size:32px;line-height:32px;margin:2px 0 10px}

  /* Instagram */
  .instagram__titulo{font-size:33px;line-height:33px}

  /* Contato: mapa em cima, dados embaixo */
  .contato{grid-template-columns:minmax(0,1fr);min-height:0}
  .contato__mapa iframe{height:34vh;min-height:0}
  .contato__dados{padding:100px 0 100px;align-items:center;justify-content:flex-start}
  .contato__titulo{text-align:center}
  .contato__texto{margin-top:40px;width:330px;max-width:100%;text-align:center}
  .contato__botao{margin:40px 0 8px}

  /* Rodapé */
  .rodape{min-height:183px;padding:20px 10px;gap:20px}
  .rodape img{width:211px}
  .rodape p{line-height:18.2px}
}

@media (prefers-reduced-motion:reduce){.botao,.botao:hover{transition:none;transform:none}.botao:hover::before{animation:none}}

/* Textura de fundo: carregada só depois que a página abriu (não disputa banda com a foto do topo). Sem JavaScript, entra direto. */
.painel::before,.depoimentos::before,.contato__dados::before{background-image:url(../img/textura.webp)}
.js:not(.textura) .painel::before,.js:not(.textura) .depoimentos::before,.js:not(.textura) .contato__dados::before{background-image:none}
@media (max-width:767px){.hero__fotobox{animation:fadeIn 1.25s ease backwards}}
@media (prefers-reduced-motion:reduce){.hero__fotobox{animation:none}}
