/* ==========================================================================
   Laura Lamim — Constelação Familiar Sistêmica · Santo André
   estilos.css — folha de estilo única para todas as páginas
   Paleta da identidade: ameixa #25182C · sálvia #D4E1DE · creme #F6F1EA
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  --ameixa:        #25182C;
  --ameixa-med:    #3C2F44;
  --ameixa-claro:  #5A4F63;
  --salvia:        #D4E1DE;
  --salvia-media:  #9FB8B1;
  --salvia-escura: #5F7B74;
  --creme:         #F6F1EA;
  --creme-fundo:   #EFE7DC;
  --papel:         #FFFDFA;
  --dourado:       #B08D57;
  --dourado-claro: #D9C39B;
  --texto:         #2E2630;
  --texto-suave:   #665C6E;
  --linha:         #E3D9CC;
  --linha-clara:   rgba(255,255,255,.18);

  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:  "Jost", "Segoe UI", Helvetica, Arial, sans-serif;
  --corpo: "Karla", "Segoe UI", Helvetica, Arial, sans-serif;

  --raio:    18px;
  --raio-sm: 12px;
  --sombra:     0 14px 40px rgba(37,24,44,.10);
  --sombra-alta:0 22px 60px rgba(37,24,44,.16);
  --max: 1180px;
}

/* ---------- 2. Base ---------- */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--corpo);
  font-size:17px;
  line-height:1.72;
  color:var(--texto);
  background:var(--creme);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;}
ul,ol{list-style:none;}
button{font:inherit;}

.wrap{width:min(var(--max),calc(100% - 44px));margin-inline:auto;}
.wrap-estreito{width:min(820px,calc(100% - 44px));margin-inline:auto;}

/* ---------- 3. Tipografia ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.14;letter-spacing:-.005em;}
h1{font-size:clamp(2.35rem,5.4vw,4rem);}
h2{font-size:clamp(1.85rem,3.9vw,2.85rem);}
h3{font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.25;}
h4{font-size:1.1rem;}
p + p{margin-top:1.05em;}
strong{font-weight:700;}
em{font-style:italic;}

.sobrancelha{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--salvia-escura);
  margin-bottom:1.15rem;
  display:block;
}
.sobrancelha.clara{color:var(--salvia);}
.lead{font-size:1.12rem;color:var(--texto-suave);}
.miudo{font-family:var(--sans);font-size:.85rem;color:var(--texto-suave);letter-spacing:.01em;}
.destaque-serif{
  font-family:var(--serif);
  font-size:clamp(1.4rem,2.8vw,2rem);
  line-height:1.38;
  font-style:italic;
  color:var(--ameixa);
}

/* filete dourado decorativo */
.filete{
  width:64px;height:1px;background:var(--dourado);
  margin:1.6rem 0;border:0;
}
.filete.centro{margin-inline:auto;}
.filete.clara{background:var(--dourado-claro);opacity:.8;}

/* ---------- 4. Botões ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--sans);font-size:.94rem;font-weight:500;letter-spacing:.035em;
  padding:.92em 1.9em;border-radius:999px;
  text-decoration:none;border:1px solid transparent;
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  cursor:pointer;line-height:1.2;
}
.btn:hover{transform:translateY(-2px);}
.btn-principal{background:var(--ameixa);color:var(--salvia);box-shadow:0 8px 22px rgba(37,24,44,.22);}
.btn-principal:hover{background:var(--ameixa-med);box-shadow:0 12px 30px rgba(37,24,44,.3);}
.btn-contorno{background:transparent;color:var(--ameixa);border-color:rgba(37,24,44,.32);}
.btn-contorno:hover{background:var(--ameixa);color:var(--salvia);border-color:var(--ameixa);}
.btn-claro{background:var(--salvia);color:var(--ameixa);}
.btn-claro:hover{background:#fff;}
.btn-contorno-claro{background:transparent;color:var(--salvia);border-color:rgba(212,225,222,.42);}
.btn-contorno-claro:hover{background:var(--salvia);color:var(--ameixa);}
.btn-pequeno{padding:.62em 1.25em;font-size:.84rem;}
.linha-btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;}

.icone-zap{width:1.05em;height:1.05em;flex:none;fill:currentColor;display:inline-flex;}
.icone-zap svg{width:100%;height:100%;fill:currentColor;display:block;}

/* ---------- 5. Cabeçalho ---------- */
.topo{
  position:sticky;top:0;z-index:60;
  background:rgba(246,241,234,.94);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--linha);
}
.topo-barra{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.85rem 0;}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex:none;}
.marca img{height:40px;width:auto;}
.marca-texto{display:block;line-height:1.1;}
.marca-texto strong{
  display:block;font-family:var(--sans);font-weight:400;
  font-size:1.02rem;letter-spacing:.2em;color:var(--ameixa);text-transform:uppercase;
}
.marca-texto small{
  display:block;font-family:var(--sans);font-size:.62rem;font-weight:300;
  letter-spacing:.14em;text-transform:uppercase;color:var(--texto-suave);margin-top:.22rem;
}
.menu{display:flex;align-items:center;gap:1.7rem;}
.menu a{
  font-family:var(--sans);font-size:.87rem;font-weight:400;letter-spacing:.06em;
  text-decoration:none;color:var(--texto);padding-block:.3rem;position:relative;white-space:nowrap;
}
.menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--dourado);transition:right .28s ease;
}
.menu a:hover::after,.menu a[aria-current="page"]::after{right:0;}
.menu a[aria-current="page"]{color:var(--ameixa);}
/* o botão dentro do menu precisa vencer a cor de .menu a */
.menu a.btn{border-bottom:0;}
.menu a.btn-principal{color:var(--salvia);}
.menu a.btn-principal:hover{color:#fff;}
.topo-acoes{display:flex;align-items:center;gap:1rem;}
.tel-topo{
  font-family:var(--sans);font-size:.87rem;letter-spacing:.04em;
  text-decoration:none;color:var(--texto-suave);white-space:nowrap;
}
.tel-topo:hover{color:var(--ameixa);}
.ig-topo{display:inline-flex;color:var(--texto-suave);}
.ig-topo svg{width:20px;height:20px;fill:currentColor;}
.ig-topo:hover{color:var(--ameixa);}

/* botão hambúrguer */
.abre-menu{
  display:none;background:none;border:0;cursor:pointer;padding:.4rem;
  color:var(--ameixa);
}
.abre-menu svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5;}


/* ---------- 5b. Submenu "Mais" ---------- */
.tem-sub{position:relative;}
.abre-sub{
  background:none;border:0;cursor:pointer;color:var(--texto);
  font-family:var(--sans);font-size:.87rem;font-weight:400;letter-spacing:.06em;
  padding-block:.3rem;display:inline-flex;align-items:center;gap:.35em;white-space:nowrap;
  position:relative;
}
.abre-sub::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--dourado);transition:right .28s ease;
}
.tem-sub:hover .abre-sub::after,.abre-sub[aria-expanded="true"]::after,
.tem-sub[data-ativo="true"] .abre-sub::after{right:0;}
.seta-sub{width:.62em;height:.62em;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .25s ease;}
.abre-sub[aria-expanded="true"] .seta-sub{transform:rotate(180deg);}
.submenu{
  position:absolute;top:calc(100% + .55rem);right:-.6rem;left:auto;transform:none;
  min-width:250px;background:var(--papel);border:1px solid var(--linha);
  border-radius:var(--raio-sm);box-shadow:var(--sombra-alta);
  padding:.5rem;display:none;z-index:70;
}
.submenu::before{
  content:"";position:absolute;top:-6px;right:1.35rem;
  width:11px;height:11px;background:var(--papel);
  border-left:1px solid var(--linha);border-top:1px solid var(--linha);transform:rotate(45deg);
}
.submenu[data-aberto="true"]{display:block;}
/* ponte invisível sobre o espaço entre "Mais" e o submenu:
   o mouse atravessa sem "sair" do menu (só no desktop) */
@media (min-width:1181px){
  .tem-sub::after{
    content:"";position:absolute;left:-1.2rem;right:-1.2rem;
    top:100%;height:.9rem;
  }
}
.submenu a{
  display:block;padding:.62rem .85rem;border-radius:8px;font-size:.88rem;letter-spacing:.02em;
  white-space:nowrap;
}
.submenu a::after{display:none;}
.submenu a:hover,.submenu a[aria-current="page"]{background:var(--creme-fundo);color:var(--ameixa);}
.submenu a small{
  display:block;font-size:.7rem;letter-spacing:.04em;color:var(--texto-suave);margin-top:.1rem;
}

/* ---------- 12b. Aviso de valor sob consulta ---------- */
.sob-consulta{
  font-family:var(--serif);font-size:1.5rem;color:var(--ameixa);line-height:1.2;display:block;
}
.sob-consulta small{
  font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;color:var(--texto-suave);
  display:block;margin-top:.25rem;
}
.chamada-precos{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem;
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);
  padding:1.9rem 2.1rem;box-shadow:var(--sombra);
}
.chamada-precos h3{margin-bottom:.35rem;}
.chamada-precos p{color:var(--texto-suave);font-size:.98rem;max-width:52ch;}

/* ---------- 6. Seções e curvas ---------- */
section{position:relative;}
.secao{padding-block:clamp(3.6rem,7vw,6.5rem);}
.secao-compacta{padding-block:clamp(2.6rem,5vw,4.2rem);}
.fundo-papel{background:var(--papel);}
.fundo-creme{background:var(--creme-fundo);}
.fundo-ameixa{background:var(--ameixa);color:var(--salvia);}
.fundo-ameixa h2,.fundo-ameixa h3{color:#fff;}
.fundo-ameixa .lead,.fundo-ameixa p{color:rgba(212,225,222,.88);}
.fundo-salvia{background:var(--salvia);}

/* arco suave no topo/base de uma seção — assinatura visual do site antigo */
.curva-topo{border-radius:52% 52% 0 0 / 46px 46px 0 0;margin-top:-46px;padding-top:46px;position:relative;z-index:2;}
.curva-base{border-radius:0 0 52% 52% / 0 0 46px 46px;}
@media (max-width:760px){
  .curva-topo{border-radius:36% 36% 0 0 / 24px 24px 0 0;margin-top:-24px;padding-top:24px;}
  .curva-base{border-radius:0 0 36% 36% / 0 0 24px 24px;}
}

.cabeca-secao{max-width:640px;margin-bottom:2.8rem;}
.cabeca-secao.centro{margin-inline:auto;text-align:center;}
.secao-compacta .cabeca-secao:last-child{margin-bottom:0;}
.secao .wrap > .cabeca-secao:only-child{margin-bottom:0;}
.cabeca-secao p{margin-top:1rem;}

/* ---------- 7. Hero ---------- */
.hero{position:relative;padding-block:clamp(2.2rem,5vw,4rem) clamp(3rem,6vw,5rem);overflow:hidden;}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(1100px 520px at 88% 6%, rgba(212,225,222,.55), transparent 62%),
    radial-gradient(760px 420px at 4% 92%, rgba(176,141,87,.12), transparent 66%);
  pointer-events:none;
}
.hero .wrap{position:relative;z-index:1;}
.hero-grade{
  display:grid;grid-template-columns:1.02fr .98fr;grid-template-rows:auto auto;
  gap:0 clamp(2rem,4.5vw,4rem);align-items:center;
}
.hero-cabeca{grid-column:1;grid-row:1;align-self:end;}
.hero-corpo {grid-column:1;grid-row:2;align-self:start;padding-top:1.3rem;}
.hero-foto  {grid-column:2;grid-row:1 / span 2;}
.hero-cabeca h1{margin-bottom:0;}
.hero-cabeca h1 .suave{color:var(--salvia-escura);font-style:italic;}
.hero-foto{position:relative;}
.hero-foto img{
  width:100%;aspect-ratio:4/4.4;object-fit:cover;object-position:52% 32%;
  border-radius:300px 300px var(--raio) var(--raio);
  box-shadow:var(--sombra-alta);
}
.hero-selo{
  position:absolute;left:-26px;bottom:34px;width:112px;height:112px;
  background:var(--ameixa);border-radius:50%;
  display:grid;place-items:center;padding:16px;
  box-shadow:0 12px 28px rgba(37,24,44,.3);
}
.hero-selo img{width:100%;}

/* faixa de credibilidade */
.faixa-confianca{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--linha);border:1px solid var(--linha);border-radius:var(--raio);
  overflow:hidden;margin-top:clamp(2rem,4vw,3rem);
}
.faixa-confianca div{
  background:var(--papel);padding:1.15rem 1.35rem;
  font-family:var(--sans);font-size:.87rem;letter-spacing:.02em;color:var(--texto-suave);
}
.faixa-confianca strong{display:block;font-family:var(--serif);font-size:1.45rem;font-weight:500;color:var(--ameixa);line-height:1.1;margin-bottom:.15rem;}

/* ---------- 8. Reconhecimento ("isso é para você se…") ---------- */
.lista-espelho{
  display:grid;grid-template-columns:1fr 1fr;gap:.2rem 2.6rem;
  margin-block:1.8rem;
}
.lista-espelho li{
  position:relative;padding:.62rem 0 .62rem 1.5rem;
  border-bottom:1px solid var(--linha);
  font-size:1.02rem;
}
.lista-espelho li::before{
  content:"";position:absolute;left:0;top:1.35rem;
  width:6px;height:6px;border-radius:50%;background:var(--dourado);
}

/* ---------- 9. Cartões ---------- */
.grade{display:grid;gap:1.6rem;}
.grade-2{grid-template-columns:repeat(2,1fr);}
.grade-3{grid-template-columns:repeat(3,1fr);}
.cartao{
  background:var(--papel);border:1px solid var(--linha);
  border-radius:var(--raio);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.cartao:hover{transform:translateY(-4px);box-shadow:var(--sombra);}
.cartao img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.cartao-corpo{padding:1.6rem 1.7rem 1.8rem;display:flex;flex-direction:column;flex:1;}
.cartao-corpo h3{margin-bottom:.6rem;}
.cartao-corpo p{font-size:.98rem;color:var(--texto-suave);}
.cartao-corpo .btn{margin-top:auto;align-self:flex-start;}
.cartao-corpo .filete{margin:1rem 0 1.1rem;}
.cartao-etiqueta{
  font-family:var(--sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--salvia-escura);margin-bottom:.5rem;
}

/* ---------- 10. Processo em 3 momentos ---------- */
.processo{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;counter-reset:passo;}
.passo{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);
  padding:2rem 1.8rem;position:relative;
}
.passo::before{
  counter-increment:passo;content:counter(passo)"º";
  font-family:var(--serif);font-size:2.6rem;line-height:1;
  color:var(--salvia-media);display:block;margin-bottom:.7rem;
}
.passo h3{margin-bottom:.35rem;}
.passo .duracao{
  font-family:var(--sans);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dourado);margin-bottom:.9rem;display:block;
}
.passo p{font-size:.97rem;color:var(--texto-suave);}

/* ---------- 11. Bloco texto + imagem ---------- */
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4.5vw,4rem);align-items:center;}
.dupla.invertida .dupla-foto{order:-1;}
.dupla-foto img{width:100%;aspect-ratio:4/3.3;object-fit:cover;border-radius:var(--raio);box-shadow:var(--sombra);}
.dupla-foto.arco img{border-radius:var(--raio) var(--raio) 260px 260px;aspect-ratio:4/4.6;}

/* ---------- 12. Investimento ---------- */
.aviso-promo{
  display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;
  background:var(--ameixa);color:var(--salvia);
  border-radius:var(--raio-sm);padding:1rem 1.5rem;margin-bottom:2rem;
  font-family:var(--sans);font-size:.92rem;letter-spacing:.02em;
}
.aviso-promo strong{color:#fff;font-weight:500;}
.preco-grade{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;}
.preco{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);
  padding:1.9rem 1.9rem 2rem;display:flex;flex-direction:column;
}
.preco.destaque{border-color:var(--ameixa);border-width:1.5px;box-shadow:var(--sombra);position:relative;}
.preco.destaque::after{
  content:"Mais procurado";position:absolute;top:-11px;left:1.9rem;
  background:var(--dourado);color:#fff;
  font-family:var(--sans);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.28rem .8rem;border-radius:999px;
}
.preco h3{margin-bottom:.45rem;}
.preco .descricao{font-size:.96rem;color:var(--texto-suave);}
.preco ul{margin:1rem 0 1.3rem;}
.preco ul li{
  font-size:.94rem;color:var(--texto-suave);padding-left:1.15rem;position:relative;margin-bottom:.35rem;
}
.preco ul li::before{content:"·";position:absolute;left:.25rem;color:var(--dourado);font-weight:700;}
.valores{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--linha);}
.valor-antigo{
  font-family:var(--sans);font-size:.9rem;color:var(--texto-suave);
  text-decoration:line-through;display:block;
}
.valor{font-family:var(--serif);font-size:2.1rem;color:var(--ameixa);line-height:1.15;display:block;}
.valor small{font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;color:var(--texto-suave);display:block;margin-top:.2rem;}
.preco .btn{margin-top:1.2rem;align-self:flex-start;}

/* ---------- 13. Eu em Mim ---------- */
.eu-em-mim{position:relative;overflow:hidden;}
.eu-em-mim::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(760px 420px at 80% 18%, rgba(159,184,177,.22), transparent 64%);
}
.eu-em-mim .wrap{position:relative;z-index:1;}
.eu-grade{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(2rem,4.5vw,3.8rem);align-items:center;}
.eu-logo{background:var(--creme);border-radius:var(--raio);padding:2.2rem;box-shadow:var(--sombra-alta);}
.eu-logo img{width:100%;}
.eu-dados{
  display:grid;grid-template-columns:repeat(2,1fr);gap:1rem 1.6rem;
  margin:1.8rem 0;padding-block:1.5rem;
  border-top:1px solid var(--linha-clara);border-bottom:1px solid var(--linha-clara);
}
.eu-dados dt{
  font-family:var(--sans);font-size:.7rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--salvia-media);margin-bottom:.2rem;
}
.eu-dados dd{font-family:var(--serif);font-size:1.25rem;color:#fff;}

/* ---------- 14. Depoimentos ---------- */
.depoimentos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.depoimento{
  background:var(--papel);border:1px solid var(--linha);border-radius:var(--raio);
  padding:2.4rem 1.9rem 1.9rem;position:relative;
}
.depoimento::before{
  content:"\201C";position:absolute;top:.35rem;left:1.5rem;
  font-family:var(--serif);font-size:4.5rem;line-height:1;color:var(--salvia-media);opacity:.6;
}
.depoimento p{font-size:1rem;font-style:italic;color:var(--texto);position:relative;}
.depoimento cite{
  display:block;margin-top:1.1rem;font-style:normal;
  font-family:var(--sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--salvia-escura);
}
.depoimento-largo{grid-column:1/-1;}

/* ---------- 15. FAQ ---------- */
.faq{border-top:1px solid var(--linha);}
.faq details{border-bottom:1px solid var(--linha);}
.faq summary{
  cursor:pointer;list-style:none;padding:1.4rem .5rem 1.4rem 0;
  font-family:var(--serif);font-size:clamp(1.12rem,1.9vw,1.35rem);color:var(--ameixa);
  display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";font-family:var(--sans);font-size:1.5rem;font-weight:300;
  color:var(--dourado);flex:none;line-height:1.1;transition:transform .25s ease;
}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .resposta{padding:0 2.5rem 1.6rem 0;color:var(--texto-suave);}

/* ---------- 16. Consultório / mapa ---------- */
.mapa{
  width:100%;height:100%;min-height:320px;border:0;
  border-radius:var(--raio);filter:grayscale(.28) contrast(.96);
}
.dados-contato{margin-top:1.6rem;}
.dados-contato li{
  display:flex;gap:.85rem;align-items:flex-start;
  padding:.72rem 0;border-bottom:1px solid var(--linha);
}
.dados-contato li:last-child{border-bottom:0;}
.dados-contato .rotulo{
  font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--salvia-escura);min-width:92px;padding-top:.3rem;
}
.dados-contato a{text-decoration:none;}
.dados-contato a:hover{color:var(--ameixa);text-decoration:underline;}

/* ---------- 17. CTA final ---------- */
.cta-final{text-align:center;position:relative;overflow:hidden;}
.cta-final::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 380px at 50% 0%, rgba(159,184,177,.2), transparent 68%);
}
.cta-final .wrap{position:relative;z-index:1;}
.cta-final h2{max-width:20ch;margin-inline:auto;}
.cta-final .linha-btns{justify-content:center;}

/* ---------- 18. Rodapé ---------- */
.rodape{background:var(--ameixa);color:rgba(212,225,222,.8);padding-block:3.4rem 2.2rem;font-size:.92rem;}
.rodape-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.5rem;}
.marca-rodape{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem;text-decoration:none;}
.marca-rodape img{height:52px;width:auto;}
.marca-rodape strong{
  display:block;font-family:var(--sans);font-weight:400;font-size:1.1rem;
  letter-spacing:.2em;text-transform:uppercase;color:#fff;line-height:1.1;
}
.marca-rodape small{
  display:block;font-family:var(--sans);font-size:.62rem;font-weight:300;
  letter-spacing:.14em;text-transform:uppercase;color:var(--salvia-media);margin-top:.3rem;
}
.rodape h4{
  font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--salvia-media);margin-bottom:1rem;font-weight:500;
}
.rodape a{text-decoration:none;color:rgba(212,225,222,.86);}
.rodape a:hover{color:#fff;text-decoration:underline;}
.rodape li{margin-bottom:.55rem;}
.rodape-base{
  margin-top:2.6rem;padding-top:1.5rem;border-top:1px solid var(--linha-clara);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;
  font-family:var(--sans);font-size:.78rem;letter-spacing:.03em;color:rgba(212,225,222,.55);
}
.redes{display:flex;gap:.9rem;margin-top:1.2rem;}
.redes a{
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--linha-clara);display:grid;place-items:center;
  transition:background .2s ease,color .2s ease;
}
.redes a:hover{background:var(--salvia);color:var(--ameixa);}
.redes svg{width:17px;height:17px;fill:currentColor;}

/* ---------- 19. WhatsApp flutuante ---------- */
.zap-flutua{
  position:fixed;right:20px;bottom:20px;z-index:80;
  width:58px;height:58px;border-radius:50%;
  background:#25D366;color:#fff;display:grid;place-items:center;
  box-shadow:0 10px 26px rgba(0,0,0,.24);
  transition:transform .2s ease;
}
.zap-flutua:hover{transform:scale(1.06);}
.zap-flutua svg{width:30px;height:30px;fill:currentColor;}

/* ---------- 20. Aviso legal ---------- */
.nota-legal{
  background:rgba(159,184,177,.16);
  border-left:2px solid var(--salvia-media);
  border-radius:0 var(--raio-sm) var(--raio-sm) 0;
  padding:1.2rem 1.5rem;font-size:.92rem;color:var(--texto-suave);
}

/* ---------- 21. Vídeo ---------- */
.moldura-video{
  position:relative;border-radius:var(--raio);overflow:hidden;
  background:var(--ameixa);aspect-ratio:16/9;box-shadow:var(--sombra-alta);
}
.moldura-video video,.moldura-video iframe{width:100%;height:100%;object-fit:cover;border:0;display:block;}
.video-espera{
  position:absolute;inset:0;display:grid;place-content:center;gap:.6rem;text-align:center;
  color:var(--salvia-media);font-family:var(--sans);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;
}

/* ---------- 22. Galeria ---------- */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.galeria img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--raio-sm);}
.galeria img:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;height:100%;}

/* ---------- 23. Responsivo ---------- */
@media (max-width:1000px){
  .rodape-grade{grid-template-columns:1fr 1fr;}
  .rodape-grade > div:first-child{grid-column:1/-1;}
  .faixa-confianca{grid-template-columns:repeat(2,1fr);}
  .processo,.depoimentos,.grade-3{grid-template-columns:1fr;}
  .galeria{grid-template-columns:repeat(2,1fr);}
  .galeria img:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/10;height:auto;}
}

/* ---------- 23a. Cabeçalho compacto (menu sanfona) até 1180px ----------
   Abaixo disso o menu completo não cabe na largura e era cortado à direita. */
@media (max-width:1180px){
  .menu{
    position:fixed;inset:0 0 auto;top:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:var(--ameixa);padding:5.2rem 2rem 2.4rem;
    transform:translateY(-102%);transition:transform .32s ease;
    box-shadow:0 18px 40px rgba(0,0,0,.28);
  }
  .menu[data-aberto="true"]{transform:translateY(0);}
  .menu a{color:var(--salvia);font-size:1.15rem;width:100%;padding:.95rem 0;border-bottom:1px solid var(--linha-clara);}
  .menu a::after{display:none;}
  .menu .btn{margin-top:1.4rem;border-bottom:0;}
  .abre-menu{display:block;position:relative;z-index:70;}
  .abre-menu[aria-expanded="true"]{color:var(--salvia);}
  .tel-topo,.ig-topo{display:none;}
  /* submenu vira lista aberta no celular */
  .tem-sub{width:100%;}
  .abre-sub{
    color:var(--salvia);font-size:1.15rem;width:100%;justify-content:space-between;
    padding:.95rem 0;border-bottom:1px solid var(--linha-clara);
  }
  .submenu{
    position:static;transform:none;
    background:transparent;border:0;box-shadow:none;padding:0 0 .4rem;
    min-width:0;
  }
  .submenu::before{display:none;}
  .submenu a{
    color:var(--salvia);font-size:1rem;padding:.75rem 0 .75rem 1.1rem;
    border-bottom:1px solid var(--linha-clara);border-radius:0;
  }
  .submenu a:hover,.submenu a[aria-current="page"]{background:transparent;color:#fff;}
  .submenu a small{color:var(--salvia-media);}
}

/* entre 1181 e 1300px o menu cabe, mas telefone e Instagram não */
@media (min-width:1181px) and (max-width:1300px){
  .tel-topo,.ig-topo{display:none;}
}

@media (max-width:860px){
  body{font-size:16px;}
  .wrap,.wrap-estreito{width:calc(100% - 36px);}
  .chamada-precos{flex-direction:column;align-items:flex-start;}

  .hero-grade,.dupla,.eu-grade,.grade-2,.preco-grade,.lista-espelho{grid-template-columns:1fr;}
  /* no celular: título, rosto, depois texto e botões */
  .hero-grade{grid-template-rows:auto auto auto;gap:1.4rem 0;}
  .hero-cabeca{grid-column:1;grid-row:1;}
  .hero-foto  {grid-column:1;grid-row:2;}
  .hero-corpo {grid-column:1;grid-row:3;padding-top:0;}
  .dupla.invertida .dupla-foto{order:0;}
  .hero-foto img{aspect-ratio:4/4;border-radius:220px 220px var(--raio) var(--raio);}
  .hero-selo{width:84px;height:84px;left:auto;right:12px;bottom:14px;padding:12px;}
  .eu-dados{grid-template-columns:1fr;}
  .marca img{height:44px;}
  .depoimento-largo{grid-column:auto;}
}
@media (max-width:520px){
  .faixa-confianca{grid-template-columns:1fr;}
  .linha-btns .btn{width:100%;justify-content:center;}
  .zap-flutua{width:52px;height:52px;right:14px;bottom:14px;}
}

/* ---------- 24. Acessibilidade / impressão ---------- */
:focus-visible{outline:2px solid var(--dourado);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
@media print{
  .topo,.zap-flutua,.rodape,.linha-btns{display:none;}
  body{background:#fff;font-size:12pt;}
}
