/* =========================================================================
   Psicóloga Deise Seixas — folha de estilo única
   Paleta do briefing: sálvia, off-white, areia, verde oliva escuro, dourado.
   ========================================================================= */

/* ---------- 0. Fontes (self-hosted, sem requisição a terceiros) ---------- */
@font-face{
  font-family:"Inter";src:url("../fonts/inter-var.woff2") format("woff2");
  font-weight:400 600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Instrument Sans";src:url("../fonts/instrument-sans-var.woff2") format("woff2");
  font-weight:400 600;font-style:normal;font-display:swap;
}
/* só a itálica: a serifada aparece apenas em destaques itálicos */
@font-face{
  font-family:"Old Standard TT";src:url("../fonts/old-standard-tt-italic.woff2") format("woff2");
  font-weight:400;font-style:italic;font-display:swap;
}

/* ---------- 1. Tokens ---------- */
:root{
  /* --- paleta da cliente ---
     Sálvia é a cor de marca, mas é um meio-tom: não sustenta texto em AA
     nem com branco nem com o oliva. Por isso ela aparece em acentos, linhas,
     ícones, selos e hovers, e as superfícies com texto usam oliva (escuras)
     ou os tons claros derivados dela (claras).                              */
  --sage:#7A9E8E;        /* verde sálvia — cor principal / acentos          */
  --sage-deep:#5F8574;   /* sálvia escurecida — hover                       */
  --sage-tint:#E8EFEA;   /* sálvia clareada — cards sobre fundo claro       */
  --cream:#F9F6F1;       /* off-white — fundo principal                     */
  --surface:#F1EDE4;     /* off-white quente — cards sobre fundo escuro     */
  --sand:#E2D1BB;        /* bege/areia — áreas de destaque                  */
  --olive:#344A3D;       /* verde oliva escuro — textos, títulos, seções    */
  --olive-mid:#3F5A4C;   /* oliva médio — faixa de destaque                 */
  --olive-deep:#2B3E33;  /* oliva profundo — rodapé, títulos                */
  --gold:#C2A878;        /* dourado suave — ícones e detalhes               */

  /* papéis semânticos (mantêm os nomes usados no resto da folha) */
  --green-50:var(--cream);
  --green-75:var(--surface);
  --green-25:#FCFAF7;
  --green-100:var(--sand);
  --green-300:var(--gold);
  --green-600:var(--sage);
  --green-700:#4C6155;          /* texto corrido                            */
  --green-800:var(--olive);
  --green-900:var(--olive-mid);
  --green-950:var(--olive-deep); /* títulos                                 */
  --neutral-green:#4C6155;
  --gray-300:#D9D2C6;            /* bordas quentes                          */
  --gray-100:#D8E0DA;            /* texto sobre fundo escuro                */
  --green-900-25a:#344A3D2e;
  --white-20a:#ffffff2e;
  --quote-bg:var(--olive-mid);
  --white:#fff;

  /* type */
  --title-font:"Instrument Sans",Arial,sans-serif;
  --body-font:"Inter",Arial,sans-serif;
  --serif-font:"Old Standard TT",Georgia,serif;

  --h1:64px;
  --h2:44px;
  --h3:32px;
  --h4:24px;
  --body-default:18px;
  --body-l:20px;
  --body-m:16px;
  --body-s:14px;

  --lh-1:.85;  --lh-2:1;    --lh-3:1.05; --lh-4:1.1;  --lh-5:1.15;
  --lh-6:1.2;  --lh-7:1.3;  --lh-8:1.5;  --lh-9:1.6;

  --w-regular:400; --w-medium:500; --w-semi:600; --w-bold:700;

  --ls-1:.01em; --ls-2:.015em; --ls-3:.02em; --ls-4:.025em; --ls-5:.2em;

  /* spacing */
  --s-2xs:4px; --s-xs:8px;  --s-sm:16px; --s-md:24px; --s-lg:32px;
  --s-xl:40px; --s-2xl:48px; --s-3xl:56px; --s-4xl:64px; --s-5xl:72px; --s-6xl:80px;

  --gap-l:100px;
  --gap-xl:180px;

  /* radii */
  --r-1:8px; --r-2:12px; --r-3:16px; --r-4:24px; --r-5:40px; --r-6:1000px;

  --ease:cubic-bezier(.25,.46,.45,.94);
}

@media screen and (min-width:1280px){ :root{ --gap-l:130px; } }
@media screen and (min-width:1440px){
  :root{ --h1:84px; --h2:60px; --gap-l:160px; --gap-xl:200px; }
}
@media screen and (max-width:991px){
  :root{ --h1:60px; --h2:40px; --h3:28px; --h4:22px; --gap-l:80px; --gap-xl:160px; }
}
@media screen and (max-width:767px){
  :root{ --h1:44px; --h2:36px; --h3:24px; --h4:20px; --gap-l:60px; --gap-xl:110px; }
}
@media screen and (max-width:479px){
  :root{ --h1:40px; --h2:32px; --gap-xl:90px; }
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scrollbar-color:var(--sage) #EDE8DF;scrollbar-width:thin}
body{
  margin:0;
  background-color:var(--green-50);
  color:var(--green-700);
  font-family:var(--body-font);
  font-size:var(--body-default);
  line-height:var(--lh-9);
  font-weight:var(--w-regular);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,video{display:block;max-width:100%}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer}
blockquote{margin:0}
svg{display:block;width:100%;height:100%}

h1,h2,h3,h4{margin:0;font-family:var(--title-font);color:var(--green-950);font-weight:var(--w-medium)}
h1{font-size:var(--h1);line-height:var(--lh-5)}
h2{font-size:var(--h2);line-height:var(--lh-6)}
h3{font-size:var(--h3);line-height:var(--lh-7)}

::selection{background:var(--green-600);color:var(--green-50)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#EDE8DF}
::-webkit-scrollbar-thumb{background:var(--sage);border-radius:99px;border:2px solid #EDE8DF}
::-webkit-scrollbar-thumb:hover{background:var(--sage-deep)}

/* ---------- 3. Layout ---------- */
.pagina{position:relative;overflow:clip}
.area{width:100%;max-width:1650px;margin-inline:auto;padding-left:15px;padding-right:15px}
.secao-espaco{padding-top:var(--gap-l);padding-bottom:var(--gap-l)}
.secao-espaco-fim{padding-bottom:var(--gap-l)}

/* ---------- 4. Section titles ---------- */
.secao-cabecalho-duplo{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:var(--s-lg);margin-bottom:var(--s-4xl);
}
.secao-cabecalho{margin-bottom:var(--s-4xl)}
.secao-titulo-interno{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-sm)}
.secao-titulo-interno.center{align-items:center;text-align:center;max-width:1240px;margin-inline:auto}
/* Em coluna flex com align-items:center o título encolhe ao conteúdo e quebra
   antes da hora; width:100% devolve a largura do container e o texto centra
   pelo text-align. (Nada de text-wrap:balance aqui: ele reparte o título em
   linhas equilibradas mesmo quando caberia numa só.)                        */
.secao-titulo-interno.center .secao-titulo{width:100%;max-width:none}
.secao-titulo-interno.center .secao-apoio{max-width:980px;margin-inline:auto}

/* em telas menores o título e o texto de apoio param de disputar a largura */
@media screen and (max-width:991px){
  .secao-cabecalho-duplo{margin-bottom:var(--s-2xl);flex-wrap:wrap;gap:var(--s-sm) var(--s-md)}
  .secao-cabecalho{margin-bottom:var(--s-2xl)}
}
@media screen and (max-width:767px){
  .secao-cabecalho-duplo{
    margin-bottom:var(--s-xl);
    flex-direction:column;align-items:flex-start;
  }
  .secao-cabecalho{margin-bottom:var(--s-xl)}
  .secao-apoio{max-width:none}
}

.etiqueta{display:flex;align-items:center;gap:var(--s-sm)}
.etiqueta-traco{background-color:var(--green-600);flex-shrink:0;width:24px;height:1px}
.etiqueta-traco.two{display:none}
.etiqueta.center .etiqueta-traco.two{display:block}
.etiqueta.light .etiqueta-traco{background-color:var(--white)}
.etiqueta-texto{
  font-size:var(--body-s);font-weight:var(--w-semi);
  letter-spacing:var(--ls-5);text-transform:uppercase;color:var(--olive-mid);
}
.etiqueta.light .etiqueta-texto{color:var(--white)}

.secao-titulo{font-size:var(--h2);line-height:var(--lh-6)}
.secao-titulo.light{color:var(--white)}
.titulo-destaque{font-family:var(--serif-font);padding-right:.125em;font-style:italic;font-weight:400;font-size:1.08em}
.secao-apoio{max-width:520px}
.secao-apoio.light{color:var(--gray-100)}

/* ---------- 5. Buttons ---------- */
.btn-principal{
  padding:var(--s-sm) var(--s-md);
  border-radius:var(--r-1);
  background-color:var(--olive);
  color:var(--cream);
  line-height:var(--lh-7);font-weight:var(--w-medium);
  display:inline-flex;justify-content:center;align-items:center;
  position:relative;overflow:clip;
  transition:color .5s var(--ease);
}
.btn-conteudo{
  z-index:2;position:relative;display:flex;align-items:center;
  justify-content:center;gap:var(--s-xs);
}
.btn-rotulo{z-index:2;position:relative}
.btn-seta{width:16px;height:16px;flex:none;display:flex;align-items:center;justify-content:center}
.btn-preenchimento{
  background-color:var(--gold);border-radius:50%;
  width:150%;height:200%;position:absolute;left:-25%;top:0;
  transform:translateY(100%);
  transition:transform .55s var(--ease);
}
.btn-principal:hover .btn-preenchimento{transform:translateY(-25%)}
.btn-principal:hover{color:var(--olive-deep)}

.btn-principal.light{background-color:var(--cream);color:var(--olive)}
.btn-principal.light .btn-preenchimento{background-color:var(--sand)}
.btn-principal.light:hover{color:var(--olive-deep)}

.btn-secundario{
  padding:var(--s-sm) var(--s-lg);
  border:1px solid var(--green-800);border-radius:var(--r-2);
  color:var(--green-950);line-height:var(--lh-7);font-weight:var(--w-medium);
  display:inline-flex;justify-content:center;align-items:center;
  transition:background-color .4s,color .4s var(--ease);
}
.btn-secundario:hover{background-color:var(--green-800);color:var(--white)}

.btn-texto{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--green-950);line-height:var(--lh-7);font-weight:var(--w-medium);
  transition:color .3s;
}
.btn-texto-seta{width:16px;height:16px;flex:none;display:flex;align-items:center;justify-content:center;transition:transform .35s var(--ease)}
.btn-texto:hover .btn-texto-seta{transform:translate(3px,-3px)}
.btn-texto.light{color:var(--white)}
.btn-texto.light:hover{color:var(--green-300)}

.btn-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-sm) var(--s-md)}
.secao-btn-grupo{margin-top:var(--s-4xl);display:flex;justify-content:center;align-items:center}
@media screen and (max-width:991px){ .secao-btn-grupo{margin-top:var(--s-2xl)} }
@media screen and (max-width:767px){ .secao-btn-grupo{margin-top:var(--s-lg)} }

/* ---------- 6. Cabeçalho ---------- */
/* Barra própria acima do topo. No desktop a navegação é horizontal; abaixo de
   992px ela vira botão + painel, que guarda também os links secundários.     */
.header{
  position:relative;z-index:9999;
  background-color:var(--cream);
  border-bottom:1px solid var(--gray-300);
}
.topo-barra{padding-top:var(--s-sm);padding-bottom:var(--s-sm)}
.topo-barra-interna{display:flex;justify-content:space-between;align-items:center;gap:var(--s-lg)}
.brand{display:flex;align-items:center;width:172px;flex:none}
/* Logo inline (não <img>): assim ele usa as fontes da página. Em <img> o SVG
   roda num documento isolado e o texto cairia num fallback do sistema.      */
.logo{width:100%;height:auto;color:var(--sage);display:block}
.logo-nome{
  font-family:var(--title-font);font-size:21px;font-weight:var(--w-semi);
  fill:var(--olive);letter-spacing:-.3px;
}
.logo-marca{
  font-family:var(--body-font);font-size:10.5px;
  fill:var(--sage);letter-spacing:2.6px;
}
.footer .logo{color:var(--sand)}
.footer .logo-nome{fill:var(--cream)}
.footer .logo-marca{fill:var(--gold)}

.nav-horizontal{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px)}
.nav-item{
  position:relative;padding-block:6px;
  font-family:var(--title-font);font-size:var(--body-m);font-weight:var(--w-medium);
  color:var(--olive);letter-spacing:var(--ls-2);
  transition:color .3s;
}
.nav-item::after{
  content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;
  background-color:var(--sage);
  transform:scaleX(0);transform-origin:right;
  transition:transform .35s var(--ease);
}
.nav-item:hover{color:var(--olive-deep)}
.nav-item:hover::after{transform:scaleX(1);transform-origin:left}

.topo-acoes{display:flex;align-items:center;gap:var(--s-sm);flex:none}

.nav-movel{display:none;position:relative;z-index:2}
.nav-botao{
  width:44px;height:44px;padding:0;
  display:flex;justify-content:center;align-items:center;
  border-radius:50%;background-color:transparent;
  border:1px solid var(--gray-300);
  transition:border-color .3s,background-color .3s;
}
.nav-botao:hover{border-color:var(--sage);background-color:var(--sage-tint)}
.nav-icone{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:20px;height:20px;flex:none}
.nav-icone-traco{background-color:var(--olive);width:20px;height:1.5px;transition:transform .4s var(--ease),opacity .3s}
.nav-open .nav-icone-traco.one{transform:translateY(6.5px) rotate(45deg)}
.nav-open .nav-icone-traco.two{opacity:0}
.nav-open .nav-icone-traco.three{transform:translateY(-6.5px) rotate(-45deg)}

.nav-painel{
  position:absolute;top:56px;right:0;width:270px;height:0;
  border-radius:var(--r-2);
  background-color:var(--olive);
  box-shadow:0 18px 40px -24px rgba(43,62,51,.55);
  display:flex;flex-direction:column;justify-content:flex-start;align-items:center;
  overflow:clip;transition:height .5s var(--ease);
}
/* height:auto (não 100%) para o painel poder ser medido enquanto fechado */
.nav-painel-interno{width:100%;height:auto;padding:var(--s-md)}
.nav-painel-colunas{display:flex;flex-direction:column;gap:var(--s-xs)}
.nav-painel-grupo{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-xs)}
.nav-painel-link{color:var(--gray-100);font-size:var(--body-m);transition:color .3s}
.nav-painel-link:hover{color:var(--sand)}

.nav-cta{
  height:46px;padding-left:var(--s-md);padding-right:var(--s-md);
  border-radius:var(--r-6);background-color:var(--olive);color:var(--cream);
  line-height:var(--lh-7);font-weight:var(--w-medium);
  display:flex;justify-content:center;align-items:center;
  position:relative;overflow:clip;flex:none;
  transition:background-color .3s,color .3s var(--ease);
}
.nav-cta:hover{background-color:var(--sage-deep)}

@media screen and (max-width:1199px){
  .nav-horizontal{gap:var(--s-md)}
  .nav-item{font-size:var(--body-s)}
}
@media screen and (max-width:991px){
  .nav-horizontal{display:none}
  .nav-movel{display:block}
  .brand{width:150px}
}
@media screen and (max-width:479px){
  .brand{width:132px}
  .nav-cta{display:none}
}

/* ---------- 7. Topo ---------- */
/* Painel verde com o grafismo ao fundo, tipografia e botão claros.
   Duas colunas no desktop; no mobile o retrato desce para baixo do texto,
   então a primeira pintura é só tipografia.                                 */
.apresentacao{
  position:relative;overflow:clip;
  background-color:var(--olive);
  padding-top:clamp(48px,6vw,86px);
  padding-bottom:clamp(56px,7vw,110px);
}
.apresentacao-fundo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;pointer-events:none;
}
.apresentacao .area{position:relative;z-index:2}
.apresentacao-grade{
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(32px,5vw,80px);align-items:center;
}
.apresentacao-texto{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-md)}
.apresentacao-titulo{
  font-size:var(--h1);line-height:1.03;letter-spacing:-.015em;
  color:var(--cream);max-width:18ch;
}
.apresentacao-titulo .titulo-destaque{color:var(--sand)}
.apresentacao-descricao{max-width:52ch;color:var(--gray-100);font-size:var(--body-l)}
.apresentacao-acao{margin-top:var(--s-xs)}
.apresentacao-retrato{
  margin:0;border-radius:var(--r-4);overflow:clip;
  aspect-ratio:4/5;background-color:var(--olive-mid);
  box-shadow:0 30px 60px -40px rgba(0,0,0,.55);
}
.apresentacao-retrato img{width:100%;height:100%;object-fit:cover;object-position:50% 14%}

@media screen and (max-width:991px){
  .apresentacao-grade{grid-template-columns:1fr;gap:var(--s-xl)}
  .apresentacao-titulo{max-width:none}
  .apresentacao-retrato{aspect-ratio:4/3}
}
@media screen and (max-width:767px){
  .apresentacao-descricao{font-size:var(--body-default)}
  .apresentacao-retrato{aspect-ratio:5/4}
}

/* ---------- 8. About ---------- */
.sobre-grade{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--s-md)}
@media screen and (min-width:1280px){ .sobre-grade{gap:var(--s-lg)} }

.sobre-visual{z-index:3;position:relative;border-radius:var(--r-4);overflow:clip}
.sobre-carrossel{background-color:#0000;height:100%}
.sobre-carrossel-area{position:relative;width:100%;height:100%;min-height:450px}
.sobre-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s var(--ease)}
.sobre-slide.is-active{opacity:1}
/* O recorte é calibrado por foto: cada uma tem o topo da cabeça numa altura
   diferente (16,8% / 15,0% / 13,6%), e a caixa no desktop é mais larga que
   alta, sobrando ~170px de imagem para deslocar. Os valores abaixo deixam a
   cabeça a ~24px do topo nas três e revelam mais tronco embaixo.
   Trocou a foto? Recalcule com: python .claude/calibrar-recorte.py            */
.sobre-foto{
  object-fit:cover;object-position:50% var(--foco,40%);
  width:100%;height:100%;min-height:450px;
}
.sobre-slide:nth-child(1) .sobre-foto{--foco:47%}
.sobre-slide:nth-child(2) .sobre-foto{--foco:41%}
.sobre-slide:nth-child(3) .sobre-foto{--foco:36%}

.sobre-selo{
  z-index:4;position:absolute;bottom:24px;left:24px;
  padding:var(--s-xs) var(--s-sm);gap:var(--s-xs);
  border-radius:var(--r-6);background-color:var(--green-800);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  color:var(--white);display:flex;align-items:center;
}
.sobre-selo-icone{width:16px;height:16px;flex:none;display:flex;align-items:center;justify-content:center}
.sobre-selo-texto{font-size:var(--body-s)}

.sobre-pilar{
  padding:var(--s-lg);gap:var(--s-lg);
  border:1px solid var(--green-900-25a);border-radius:var(--r-4);
  background-color:var(--green-100);
  display:flex;flex-direction:column;justify-content:space-between;
  /* z-index below the image wrapper (3) so the cards start hidden behind it */
  position:relative;z-index:1;will-change:transform;
}
@media screen and (min-width:1440px){ .sobre-pilar{padding:var(--s-2xl)} }
.sobre-pilar-numero{
  margin-bottom:var(--s-sm);font-family:var(--title-font);
  font-size:var(--h1);line-height:var(--lh-2);font-weight:var(--w-medium);
  color:var(--green-950);
}
.sobre-pilar-titulo{font-size:var(--h4);margin-bottom:8px;line-height:var(--lh-6)}

.sobre-faixa{
  margin-top:var(--s-md);padding:var(--s-xl);gap:var(--s-md);
  background-color:var(--quote-bg);border-radius:24px;
  display:flex;justify-content:space-between;align-items:center;
}
@media screen and (min-width:1280px){ .sobre-faixa{margin-top:var(--s-lg)} }
.sobre-faixa-etiqueta{
  color:#f5f3eca6;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:12px;font-size:12px;font-weight:var(--w-semi);
}
.sobre-faixa-titulo{
  max-width:640px;font-family:var(--serif-font);color:var(--white);
  margin-bottom:12px;font-style:italic;font-weight:400;font-size:var(--h3);
}
.sobre-faixa p{color:#ffffffbf;max-width:640px}
.sobre-faixa-acao{flex:none}

@media screen and (max-width:991px){ .sobre-grade{grid-template-columns:1fr 1fr} }
@media screen and (max-width:767px){
  .sobre-grade{display:flex;flex-direction:column}
  .sobre-pilar{padding:var(--s-md)}
  .sobre-faixa{padding:var(--s-md);flex-wrap:wrap}
}

/* ---------- 9. Atendimento ---------- */
/* Linhas de largura total: foto à esquerda, texto na coluna ao lado.
   O bloco de texto fica acima da foto no empilhamento (z-index) para poder
   nascer sobre ela e deslizar para a direita conforme a linha sobe na tela —
   o deslocamento é medido em main.js.                                       */
.atendimentos-lista{display:flex;flex-direction:column;gap:var(--s-xl)}
@media screen and (min-width:1440px){ .atendimentos-lista{gap:var(--s-3xl)} }

.atendimento-card{
  background-color:var(--green-50);
  display:flex;justify-content:flex-end;gap:var(--s-md);overflow:clip;
}
.atendimento-foto-area{
  border-radius:var(--r-2);flex:none;width:30%;overflow:clip;
  position:relative;z-index:1;
}
.atendimento-foto{object-fit:cover;object-position:0% 50%;width:100%;height:100%;min-height:360px}
@media screen and (min-width:1440px){ .atendimento-foto{min-height:385px} }

.atendimento-conteudo{
  padding:var(--s-lg) var(--s-md);gap:var(--s-md);
  flex:1;display:flex;justify-content:space-between;align-items:center;
  /* acima da foto, para poder começar por cima dela */
  position:relative;z-index:2;background-color:var(--green-50);will-change:transform;
}
@media screen and (min-width:1280px){ .atendimento-conteudo{padding:var(--s-xl);gap:var(--s-xl)} }
@media screen and (min-width:1440px){ .atendimento-conteudo{padding:var(--s-3xl);gap:var(--s-3xl)} }

.atendimento-texto{
  height:100%;gap:var(--s-lg);max-width:62ch;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
}
.atendimento-texto-interno{display:flex;flex-direction:column;gap:var(--s-sm)}
.atendimento-titulo{font-size:var(--h4);line-height:var(--lh-6)}
@media screen and (min-width:1280px){ .atendimento-titulo{font-size:var(--h3)} }

@media screen and (max-width:991px){
  .atendimento-conteudo{
    padding-top:var(--s-md);padding-bottom:var(--s-md);gap:var(--s-md);
    flex-direction:column;justify-content:space-between;align-items:flex-start;
  }
  .atendimento-foto-area{width:40%}
  .atendimento-foto{object-position:50% 50%}
  .atendimento-texto{gap:var(--s-sm);height:auto;max-width:none}
  .atendimento-titulo{font-size:var(--h3)}
  .atendimentos-lista{gap:var(--s-2xl)}
}
@media screen and (max-width:767px){
  .atendimento-card{flex-direction:column;height:100%}
  .atendimento-conteudo{padding:var(--s-sm) 0 0;flex-direction:column;align-items:flex-start}
  .atendimento-foto-area{width:auto}
  .atendimento-foto{min-height:auto;aspect-ratio:3/2}
}

/* ---------- 12. Reflections ---------- */
.situacoes{background-color:var(--green-800);overflow:clip}
.situacoes-carrossel{position:relative;text-align:left}
.situacoes-area{width:100%;max-width:500px;overflow:visible}
.situacoes-trilha{display:flex;transition:transform .7s var(--ease)}
.situacao-item{flex:0 0 500px;margin-right:var(--s-lg)}
.situacao-card{
  padding:var(--s-lg);gap:var(--s-5xl);
  border-radius:var(--r-3);background-color:var(--surface);
  display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
  height:100%;
}
.situacao-card p{color:var(--green-700)}
.testimonial-author-wrapper{display:flex;justify-content:space-between;align-items:center;width:100%;gap:16px;margin-top:auto}
.testimonial-author-info{display:flex;flex-direction:column}
.testimonial-author{
  margin-bottom:var(--s-2xs);font-family:var(--title-font);
  font-size:var(--h4);line-height:var(--lh-4);font-weight:var(--w-medium);color:var(--green-950);
}
.testimonial-author-title{font-size:var(--body-m)}
.testimonial-image-block{border-radius:50%;width:55px;height:55px;overflow:clip;flex:none}
.testimonial-image{object-fit:cover;width:100%;height:100%}

.situacoes-rodape{
  margin-top:var(--s-md);
  display:flex;justify-content:space-between;align-items:center;gap:var(--s-md);
}
.situacoes-link{height:50px;display:flex;justify-content:flex-start;align-items:center}
.situacoes-setas{display:flex;gap:var(--s-xs)}
.situacoes-seta{
  background-color:var(--olive);width:50px;height:50px;
  border-radius:50%;color:var(--cream);
  display:flex;align-items:center;justify-content:center;
  transition:color .3s,background-color .3s;
}
.situacoes-seta svg{width:16px;height:16px}
.situacoes-seta:hover{background-color:var(--gold);color:var(--olive-deep)}

@media screen and (max-width:767px){
  .situacoes-area{margin-top:40px;max-width:480px}
  .situacao-item{flex:0 0 min(480px,86vw)}
}
@media screen and (max-width:479px){
  .situacao-item{flex:0 0 min(430px,84vw)}
  .situacoes-rodape{flex-direction:column;align-items:flex-start}
}

/* ---------- 13. Appointment ---------- */
.agendar-bloco{
  padding:var(--s-3xl) var(--s-lg);gap:var(--s-lg);
  border-radius:var(--r-4);background-color:var(--green-100);
  display:flex;justify-content:space-between;align-items:center;
}
@media screen and (min-width:1280px){ .agendar-bloco{gap:var(--s-4xl)} }
@media screen and (min-width:1440px){
  .agendar-bloco{padding-left:var(--s-5xl);padding-right:var(--s-5xl);gap:var(--s-2xl)}
}
.agendar-texto{flex:1;display:flex;flex-direction:column;gap:var(--s-lg);align-items:flex-start;max-width:620px}

/* variante da home: sem imagens, tudo empilhado e centralizado */
.agendar-bloco.centered{justify-content:center;text-align:center}
.agendar-bloco.centered .agendar-texto{
  align-items:center;max-width:1180px;margin-inline:auto;gap:var(--s-xl);
}
.agendar-bloco.centered .agendar-dados{
  width:100%;max-width:820px;text-align:center;
}
/* o endereço é uma unidade: não deve quebrar no meio */
.agendar-bloco.centered .agendar-dado-valor{text-wrap:balance}
.agendar-bloco.centered .btn-grupo{justify-content:center}
@media screen and (max-width:991px){
  .agendar-bloco.centered{align-items:center}
}
.agendar-imagens{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--s-sm);
  flex:1;align-items:start;width:100%;max-width:670px;
}
@media screen and (min-width:1280px){ .agendar-imagens{gap:var(--s-md)} }
.agendar-imagem{border-radius:var(--r-2);overflow:clip;aspect-ratio:3/4}
.foto-moldura{border-radius:inherit;width:100%;height:100%;overflow:clip}
.agendar-foto{
  outline:3px solid #384a42;outline-offset:0;
  width:100%;height:100%;object-fit:cover;
}

@media screen and (max-width:991px){
  .agendar-bloco{flex-direction:column;justify-content:space-between;align-items:flex-start}
  .agendar-imagens{gap:var(--s-md);max-width:none}
}
@media screen and (max-width:767px){
  .agendar-bloco{padding:var(--s-xl) var(--s-md)}
}
@media screen and (max-width:479px){
  .agendar-imagens{gap:var(--s-sm)}
}

/* ---------- 14. FAQ ---------- */
.duvidas-grade{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s-2xl)}
.duvidas-cabecalho{flex:none;max-width:425px;position:sticky;top:100px;display:flex;flex-direction:column;gap:var(--s-md);align-items:flex-start}
@media screen and (min-width:1440px){ .duvidas-cabecalho{max-width:520px} }
.duvidas-lista{display:flex;flex-direction:column;width:100%;max-width:700px}
@media screen and (min-width:1280px){ .duvidas-lista{max-width:750px} }
@media screen and (min-width:1440px){ .duvidas-lista{max-width:880px} }

.duvida{width:100%;padding-top:var(--s-lg);padding-bottom:var(--s-lg);border-top:1px solid var(--green-900-25a)}
@media screen and (min-width:1280px){ .duvida{padding:30px} }
.duvida.last-item{border-bottom:1px solid var(--green-900-25a)}
.duvida-botao{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  gap:24px;position:relative;text-align:left;
}
.duvida-botao-texto{display:flex;justify-content:flex-start;align-items:center;gap:var(--s-md)}
.duvida-numero{text-align:center;width:24px;flex:none;font-size:var(--body-m)}
.duvida-pergunta{font-family:var(--title-font);font-size:var(--h4);line-height:var(--lh-6);font-weight:var(--w-medium);color:var(--green-950)}
.duvida-icone-area{
  border:1px solid var(--green-900-25a);width:32px;height:32px;
  color:var(--green-800);border-radius:50%;flex:none;
  display:flex;justify-content:center;align-items:center;position:relative;
  transition:transform .45s var(--ease),background-color .3s,color .3s;
}
.duvida-icone{width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.duvida-botao:hover .duvida-icone-area{background-color:var(--green-100)}
.duvida-botao[aria-expanded="true"] .duvida-icone-area{transform:rotate(135deg);background-color:var(--green-800);color:var(--white);border-color:var(--green-800)}

.duvida-resposta{border-radius:10px;width:100%;overflow:hidden;display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.duvida.is-open .duvida-resposta{grid-template-rows:1fr}
.duvida-resposta-interna{overflow:hidden;min-height:0}
.duvida-resposta-interna p{padding-top:var(--s-sm);padding-left:calc(24px + var(--s-md));max-width:62ch}

@media screen and (max-width:991px){
  .duvidas-grade{gap:var(--s-md)}
  .duvidas-cabecalho{max-width:370px}
  .duvida-botao{align-items:flex-start}
}
@media screen and (max-width:767px){
  .duvidas-grade{flex-direction:column}
  .duvidas-cabecalho{max-width:none;position:static}
  .duvida-botao{gap:16px}
  .duvida-resposta-interna p{padding-left:0}
}

/* ---------- 15. Footer ---------- */
.footer{
  border-top-left-radius:var(--r-5);border-top-right-radius:var(--r-5);
  background-color:var(--green-800);overflow:clip;
}
.rodape-titulo{
  margin-bottom:var(--s-sm);font-family:var(--title-font);color:var(--white);
  font-size:var(--h4);line-height:var(--lh-2);font-weight:var(--w-medium);
}
.rodape-sociais{display:flex;justify-content:flex-start;align-items:center;gap:var(--s-xs)}
.rodape-social{
  background-color:var(--green-300);width:32px;height:32px;color:#000;
  border-radius:50%;display:flex;justify-content:center;align-items:center;
  transition:background-color .3s,color .3s;
}
.rodape-social-icone{width:20px;height:20px;display:flex;align-items:center;justify-content:center}
.rodape-social:hover{background-color:var(--white)}

.rodape-corpo{
  padding-top:var(--s-6xl);padding-bottom:var(--s-xl);position:relative;
  border-bottom:1px solid var(--white-20a);
}
/* grid em vez de flex: garante largura mínima à coluna da marca, que antes
   era a única a encolher e quebrava o texto em uma palavra por linha        */
.rodape-colunas{
  display:grid;align-items:flex-start;gap:var(--s-2xl);
  grid-template-columns:minmax(230px,1.15fr) minmax(0,.8fr) minmax(0,1.05fr) minmax(0,1.2fr);
}
.rodape-marca{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:var(--s-md);max-width:320px}
@media screen and (min-width:1280px){ .rodape-marca{max-width:395px} }
.rodape-logo{display:flex;justify-content:center;align-items:center;width:142px}
.rodape-marca-texto{color:var(--gray-100)}
.rodape-coluna{flex:none}
@media screen and (min-width:1440px){ .rodape-coluna{min-width:180px} }
.rodape-lista{display:flex;flex-direction:column;gap:var(--s-xs)}
.rodape-link{color:var(--gray-100);display:inline-block;transition:color .3s}
.rodape-link:hover{color:var(--green-300)}
.rodape-contatos{display:flex;flex-direction:column;gap:var(--s-sm)}
.rodape-contato{display:flex;justify-content:flex-start;align-items:flex-start;gap:var(--s-xs);color:var(--gray-100)}
.rodape-contato-icone{width:20px;height:20px;color:var(--green-300);flex:none;display:flex;justify-content:center;align-items:center;margin-top:5px}

.rodape-legal{
  padding-top:var(--s-md);padding-bottom:var(--s-md);gap:var(--s-xs) var(--s-lg);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  padding-right:72px;   /* espaço para o botão flutuante do WhatsApp */
}
@media screen and (max-width:767px){ .rodape-legal{padding-right:0;padding-bottom:var(--s-4xl)} }
.rodape-legal-texto{color:var(--gray-100);font-size:var(--body-m)}
.rodape-legal-link{color:var(--sand);border-bottom:1px solid transparent;transition:border-color .3s}
.rodape-legal-link:hover{border-color:var(--sand)}

@media screen and (max-width:991px){
  .rodape-colunas{display:grid;grid-template-columns:1.3fr .8fr;gap:var(--s-md)}
  .rodape-legal{flex-direction:column}
  .rodape-marca{max-width:420px}
}
@media screen and (max-width:767px){
  /* mobile: rodapé inteiro centralizado */
  .rodape-colunas{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-xl)}
  .rodape-sociais{justify-content:center}
  .rodape-marca{align-items:center;text-align:center;max-width:none}
  .rodape-coluna{width:100%}
  .rodape-lista{align-items:center}
  .rodape-contatos{align-items:center}
  .rodape-contato{justify-content:center;text-align:center}
  .rodape-contato-icone{margin-top:3px}
  .rodape-legal{flex-direction:column;text-align:center}
}


/* ---------- 15b. Componentes do site da Deise ---------- */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--olive);color:var(--cream);
  padding:12px 20px;border-radius:0 0 var(--r-1) 0;
}
.skip-link:focus{left:0}

/* cards de "quando buscar terapia" */
.situacao-card{gap:var(--s-sm)}
.situacao-titulo{
  font-family:var(--title-font);font-size:var(--h4);line-height:var(--lh-6);
  font-weight:var(--w-medium);color:var(--olive-deep);margin:0;
}

/* dados de contato no bloco de agendamento */
.agendar-dados{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-md);
  margin-block:var(--s-md);padding-top:var(--s-md);
  border-top:1px solid var(--green-900-25a);
}
.agendar-dado-rotulo{
  display:block;margin-bottom:6px;font-family:var(--title-font);
  font-size:var(--body-s);letter-spacing:var(--ls-5);
  text-transform:uppercase;color:var(--olive-mid);
}
.agendar-dado-valor{font-size:var(--body-m);font-style:normal;line-height:var(--lh-8)}
.agendar-dado-valor a{border-bottom:1px solid transparent;transition:border-color .3s,color .3s}
.agendar-dado-valor a:hover{color:var(--olive-deep);border-color:var(--sage)}
.rodape-contato address{font-style:normal}

/* WhatsApp flutuante */
.whatsapp-float{
  position:fixed;right:20px;bottom:20px;z-index:80;
  width:56px;height:56px;display:grid;place-items:center;
  border-radius:50%;background:#25D366;color:#fff;
  box-shadow:0 12px 30px -10px rgba(37,211,102,.65);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.whatsapp-float svg{width:28px;height:28px}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.05)}
@media screen and (max-width:620px){
  .whatsapp-float{width:52px;height:52px;right:16px;bottom:16px}
  .agendar-dados{grid-template-columns:1fr}
}

/* ---------- 16. Animations ---------- */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal].is-in{opacity:1;transform:none}
/* padding + negative margin keeps italic descenders from being clipped by the mask */
.split-line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.split-line>span{display:block;transform:translateY(110%);transition:transform 1s var(--ease)}
[data-split].is-in .split-line>span{transform:none}
.split-line:nth-child(2)>span{transition-delay:.08s}
.split-line:nth-child(3)>span{transition-delay:.16s}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
  [data-reveal]{opacity:1;transform:none}
  .split-line>span{transform:none}
}

/* =========================================================================
   17. Páginas internas (serviços, política, 404)
   ========================================================================= */
.capa{position:relative;background-color:var(--olive);overflow:clip}
.capa-fundo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.capa::after{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(90deg,#22332B,#22332Bcc 45%,#22332B66 100%);
}
.capa-conteudo{
  position:relative;z-index:2;
  padding-top:var(--s-6xl);padding-bottom:var(--s-6xl);
  display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-md);
  max-width:820px;
}
.capa-conteudo h1{color:var(--white);font-size:var(--h1);line-height:var(--lh-5)}
.capa-descricao{color:var(--gray-100);max-width:60ch;font-size:var(--body-l)}

.trilha{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-xs);font-size:var(--body-s)}
.trilha ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-xs)}
.trilha li{display:flex;align-items:center;gap:var(--s-xs);color:var(--sand)}
.trilha li+li::before{content:"/";opacity:.5}
.trilha a{color:var(--sand);border-bottom:1px solid transparent;transition:border-color .3s}
.trilha a:hover{border-color:var(--sand)}
.trilha [aria-current]{color:var(--gray-100);opacity:.85}

/* bloco texto + imagem */
.texto-grade{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(24px,4vw,64px);align-items:center;
}
.texto-grade.reverse .texto-visual{order:-1}
.texto-corpo{display:flex;flex-direction:column;gap:var(--s-md);max-width:62ch}
.texto-corpo p{color:var(--green-700)}
.texto-visual{border-radius:var(--r-4);overflow:clip;aspect-ratio:4/5}
.texto-visual img{width:100%;height:100%;object-fit:cover}

/* cards de tópicos */
.topicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-md)}
.topico{
  padding:var(--s-lg);border-radius:var(--r-3);
  background-color:var(--sage-tint);border:1px solid var(--gray-300);
  display:flex;flex-direction:column;gap:var(--s-xs);
}
.topico h3{font-size:var(--h4);line-height:var(--lh-6)}
.topico p{font-size:var(--body-m)}

/* lista com marcador */
.lista-marcada{display:flex;flex-direction:column;gap:var(--s-sm)}
.lista-marcada li{position:relative;padding-left:32px;color:var(--green-700)}
.lista-marcada li::before{
  content:"";position:absolute;left:0;top:.42em;width:18px;height:18px;
  border-radius:50%;background-color:var(--sage);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8.5 3.2 3.2L13 4.6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8.5 3.2 3.2L13 4.6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* faixa final de conversão */
.faixa-acao{
  padding:clamp(40px,6vw,72px);border-radius:var(--r-4);
  background-color:var(--olive);color:var(--cream);
  display:flex;justify-content:space-between;align-items:center;
  gap:var(--s-lg);flex-wrap:wrap;
}
.faixa-acao h2{color:var(--white);font-size:var(--h3);max-width:22ch}
.faixa-acao p{color:var(--gray-100);margin-top:var(--s-xs);max-width:52ch}

/* links para as páginas irmãs */
.links-irmaos{display:flex;flex-wrap:wrap;gap:var(--s-xs)}
.links-irmaos a{
  padding:10px 18px;border-radius:var(--r-6);
  border:1px solid var(--gray-300);font-size:var(--body-m);
  transition:background-color .3s,color .3s,border-color .3s;
}
.links-irmaos a:hover{background-color:var(--olive);color:var(--cream);border-color:var(--olive)}

/* conteúdo corrido (política de privacidade) */
.legal-corpo{max-width:78ch;display:flex;flex-direction:column;gap:var(--s-md)}
.legal-corpo h2{font-size:var(--h3);margin-top:var(--s-lg)}
.legal-corpo h3{font-size:var(--h4)}
.legal-corpo p,.legal-corpo li{color:var(--green-700)}
.legal-corpo ul{display:flex;flex-direction:column;gap:var(--s-xs);padding-left:22px;list-style:disc}
.legal-corpo a{border-bottom:1px solid var(--sage);transition:color .3s}
.legal-corpo a:hover{color:var(--olive-deep)}
.legal-data{font-size:var(--body-m);color:var(--olive-mid)}

/* 404 */
.erro{min-height:100vh;display:flex;align-items:center;background-color:var(--olive)}
.erro-conteudo{
  position:relative;z-index:2;text-align:center;max-width:640px;margin-inline:auto;
  display:flex;flex-direction:column;align-items:center;gap:var(--s-md);
  padding-block:var(--s-6xl);
}
.erro-codigo{
  font-family:var(--title-font);font-size:clamp(80px,16vw,180px);
  line-height:var(--lh-1);color:var(--sand);font-weight:var(--w-medium);
}
.erro-conteudo h1{color:var(--white);font-size:var(--h2)}
.erro-conteudo p{color:var(--gray-100)}

@media screen and (max-width:991px){
  .topicos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .texto-grade{grid-template-columns:1fr}
  .texto-grade.reverse .texto-visual{order:0}
  .texto-visual{aspect-ratio:16/10}
}
@media screen and (max-width:767px){
  .capa-conteudo{padding-top:var(--s-4xl);padding-bottom:var(--s-4xl)}
  .topicos{grid-template-columns:1fr}
  .faixa-acao{flex-direction:column;align-items:flex-start}
}

/* 404: os links irmãos ficam sobre fundo escuro e precisam da cor clara */
.erro .links-irmaos a{color:var(--gray-100);border-color:var(--white-20a)}
.erro .links-irmaos a:hover{background-color:var(--sand);color:var(--olive-deep);border-color:var(--sand)}
