:root{
  --vinho:#5b1f3d; --vinho-escuro:#43152c; --dourado:#b08d57; --dourado-escuro:#94713f;
  --creme:#faf6f1; --areia:#f1e9df; --borda:#eadfd3; --texto:#2f2a2c; --suave:#665c60;
  --raio:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:Montserrat,system-ui,sans-serif;color:var(--texto);background:var(--creme);line-height:1.7;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.centro{text-align:center;margin-top:36px}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.15;color:var(--vinho)}
h2{font-size:clamp(2rem,4vw,2.75rem);margin-bottom:.5rem}
.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado-escuro);font-weight:600}
.lead{color:var(--suave);max-width:58ch}
section{padding:88px 0}
.titulo-centro{text-align:center;margin-bottom:48px}
.titulo-centro .lead{margin:auto}
.ico-svg{width:20px;height:20px;flex:none}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:14px 26px;border-radius:999px;font-weight:600;font-size:.95rem;text-decoration:none;transition:.2s;border:1.5px solid transparent;cursor:pointer;font-family:inherit}
.btn-primario{background:var(--vinho);color:#fff}
.btn-primario:hover{background:var(--vinho-escuro)}
.btn-linha{border-color:var(--vinho);color:var(--vinho)}
.btn-linha:hover{background:var(--vinho);color:#fff}
.btn-dourado{background:var(--dourado);color:#fff}
.btn-dourado:hover{background:var(--dourado-escuro)}
.btn .ico-svg{width:18px;height:18px}

/* Topo */
.cabecalho{position:sticky;top:0;z-index:10;background:rgba(250,246,241,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--borda)}
.topo{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
.marca{text-decoration:none;line-height:1.1}
.marca strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.6rem;color:var(--vinho);font-weight:600}
.marca span{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado-escuro)}
#menu{display:flex;align-items:center;gap:26px;font-size:.9rem}
#menu a{text-decoration:none;color:var(--suave)}
#menu a:hover,#menu a[aria-current]{color:var(--vinho)}
#menu a[aria-current]:not(.btn){font-weight:600}
#menu .btn,#menu .btn[aria-current]{padding:10px 22px;color:#fff}
.btn-menu{display:none;background:none;border:0;color:var(--vinho);padding:8px;cursor:pointer}
.btn-menu .ico-svg{width:28px;height:28px}

/* Hero */
.hero{padding:64px 0 88px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6vw,4.2rem);margin:.75rem 0 1.25rem}
.hero h1 em{color:var(--dourado);font-style:italic}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.foto-arco{aspect-ratio:4/5;border-radius:999px 999px var(--raio) var(--raio);overflow:hidden;background:var(--areia)}
.foto-arco img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.selos{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:2rem;font-size:.85rem;color:var(--suave)}
.selos span::before{content:"✓ ";color:var(--dourado);font-weight:600}

/* Frases */
.frases{background:var(--vinho);color:#f6ece6;text-align:center;padding:72px 0 56px}
.frases-caixa{display:grid}
.frases blockquote{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .8s;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.35;max-width:32ch;margin:auto}
.frases blockquote.ativa{opacity:1;visibility:visible}
.frases cite{display:block;margin-top:1rem;font-style:normal;font-family:Montserrat,sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dourado)}
.frases-pontos{display:flex;justify-content:center;gap:4px;margin-top:24px}
.frases-pontos button{width:28px;height:28px;border:0;background:none;cursor:pointer;display:grid;place-items:center}
.frases-pontos button::after{content:"";width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35)}
.frases-pontos button[aria-pressed=true]::after{background:var(--dourado)}

/* Serviços */
.cards-servicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px}
.card-servico{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:.2s}
.card-servico:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(91,31,61,.1)}
.card-servico img{aspect-ratio:4/3;object-fit:cover;width:100%}
.card-corpo{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.card-corpo h3{font-size:1.5rem;margin-bottom:.35rem}
.card-corpo p{font-size:.9rem;color:var(--suave);flex:1}
.saiba{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--vinho)}
.saiba .ico-svg{width:16px;height:16px}
.atalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.atalho{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--areia);border-radius:14px;text-decoration:none;font-weight:600;color:var(--vinho);font-size:.95rem;transition:.2s}
.atalho:hover{background:#e9dccd}
.atalho .ico-svg{color:var(--dourado-escuro);width:24px;height:24px}
.atalho .seta{margin-left:auto;width:18px;height:18px}

/* Faixa de agendamento */
.cta{background:var(--areia);padding:48px 0}
.cta-grade{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0}

/* Depoimentos */
.depoimentos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}
.depoimento{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:28px}
.estrelas{color:var(--dourado);letter-spacing:3px;margin-bottom:10px}
.depoimento blockquote{font-size:.93rem;color:var(--texto)}
.depoimento figcaption{margin-top:16px;font-weight:600;color:var(--vinho);font-size:.9rem}

/* Sobre (resumo e página) */
.sobre{background:var(--areia)}
.sobre .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.sobre .foto{border-radius:var(--raio);overflow:hidden;aspect-ratio:4/5}
.sobre .foto img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.sobre p+p{margin-top:1rem}
.destaque-italico{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.6rem;color:var(--vinho);margin-top:1.5rem;line-height:1.3}

/* Palestras */
.palestras{color:#fff;text-align:center;padding:80px 0;background:var(--vinho)}
.palestras h2{color:#fff}
.palestras p{color:#ecdcd4;margin:0 auto 1.75rem;max-width:50ch}

/* Rodapé */
.rodape{background:var(--vinho-escuro);color:#e3d2ca;padding:64px 0 0}
.rodape-grade{display:grid;grid-template-columns:1.2fr 1.2fr .8fr;gap:40px}
.marca-clara strong{color:#fff}
.marca-clara span{color:var(--dourado)}
.rodape-crp{font-size:.85rem;margin-top:14px;color:#cdb8ae}
.redes{display:flex;gap:10px;margin-top:18px}
.redes a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;color:#fff}
.redes a:hover{background:var(--dourado);border-color:var(--dourado)}
.info{list-style:none;display:grid;gap:16px;font-size:.92rem}
.info li{display:flex;gap:12px}
.info .ico-svg{color:var(--dourado);margin-top:3px}
.info a{text-decoration:none}
.info a:hover{text-decoration:underline}
.rodape-menu{display:flex;flex-direction:column;gap:8px;font-size:.9rem}
.rodape-menu a{text-decoration:none;color:#cdb8ae}
.rodape-menu a:hover{color:#fff}
.rodape-final{font-size:.8rem;color:#a8908a;text-align:center;padding:24px 0 28px;margin-top:48px;border-top:1px solid rgba(255,255,255,.08)}

/* WhatsApp flutuante */
.zap{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:var(--vinho);color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:20}
.zap .ico-svg{width:28px;height:28px}

/* Páginas internas */
.cabeca-pagina{background:var(--areia);padding:56px 0 48px;text-align:center}
.cabeca-pagina h1{font-size:clamp(2.1rem,5vw,3.4rem);margin:.6rem auto .5rem;max-width:20ch}
.cabeca-pagina .lead{margin:0 auto}
.historia .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.historia .foto{position:sticky;top:100px;border-radius:var(--raio);overflow:hidden;aspect-ratio:4/5;background:var(--areia)}
.historia .foto img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.historia .texto p+p{margin-top:1.1rem}
.historia .texto .destaque-italico{font-size:2rem;margin-top:2rem}
.historia .fecho{font-weight:600;color:var(--vinho)}

/* Serviços */
.tipos{padding:56px 0 0}
.tipos-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:760px}
.tipo{display:block;text-decoration:none;text-align:center;background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:28px 22px}
a.tipo:hover{box-shadow:0 12px 30px rgba(91,31,61,.1)}
.tipo .ico-svg{width:34px;height:34px;color:var(--dourado-escuro);margin:0 auto 8px}
.tipo h2{font-size:1.9rem;margin:0}
.tipo p{color:var(--suave);font-size:.9rem}
.psico{background:var(--areia)}
.psico-grade{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.psico p+p{margin-top:1rem}
.psico-para{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:28px}
.psico-para h3{font-size:1.8rem;margin-bottom:.75rem}
.lista-check,.lista-dores{list-style:none;display:grid;gap:10px;margin:0 0 1.25rem}
.lista-check li,.lista-dores li{position:relative;padding-left:28px}
.lista-check li::before,.lista-dores li::before{content:"✓";position:absolute;left:0;color:var(--dourado);font-weight:600}
.texto-servico{max-width:760px}
.texto-servico p+p,.texto-servico p+blockquote,.texto-servico blockquote+p{margin-top:1.1rem}
.texto-servico .lista-dores{margin-top:1rem}
.texto-servico .fecho{font-weight:600;color:var(--vinho);margin-top:1.5rem}
.citacao{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.6rem;line-height:1.3;color:var(--vinho);border-left:3px solid var(--dourado);padding-left:20px}
.citacao cite{display:block;margin-top:.5rem;font-family:Montserrat,sans-serif;font-style:normal;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dourado-escuro)}
.servico .destaque-italico{font-size:1.8rem;line-height:1.3}
.acoes-centro{justify-content:center;margin:2.5rem 0}
.galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.galeria img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--raio)}
.mais-servicos{background:var(--creme)}

/* Agendamentos */
.agenda-grade{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start;max-width:1000px}
.form-agenda{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:32px;display:grid}
.form-agenda label{font-weight:600;font-size:.9rem;color:var(--vinho);margin-top:18px}
.form-agenda label:first-of-type{margin-top:0}
.form-agenda label small{font-weight:400;color:var(--suave)}
.form-agenda input,.form-agenda textarea{width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--borda);border-radius:12px;font:inherit;color:var(--texto);background:var(--creme)}
.form-agenda textarea{resize:vertical;min-height:120px}
.form-agenda input:focus,.form-agenda textarea:focus{outline:none;border-color:var(--dourado);background:#fff}
.form-agenda [aria-invalid="true"]{border-color:#b3261e}
.erro{color:#b3261e;font-size:.85rem;margin-top:6px}
.aviso-erro{background:#fbeaea;color:#8c1d18;border-radius:12px;padding:10px 14px;margin-bottom:18px;font-size:.9rem}
.dica-form{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;color:var(--suave);margin-top:18px}
.dica-form .ico-svg{color:var(--dourado-escuro);margin-top:2px}
.form-agenda .acoes{margin-top:1.5rem}
.contato-lado h2{margin-bottom:.25rem}
.contato-lado .lead{margin-bottom:1.5rem}
.contato-lado .info{font-size:1rem}

/* Celular */
@media (max-width:900px){
  .btn-menu{display:block}
  #menu{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--creme);border-bottom:1px solid var(--borda);padding:8px 16px 20px;box-shadow:0 12px 24px rgba(0,0,0,.06)}
  #menu.aberto{display:flex}
  #menu a:not(.btn){padding:12px 4px;border-bottom:1px solid var(--borda);font-size:1rem}
  #menu .btn{margin-top:14px}
  section{padding:64px 0}
  .hero{padding:32px 0 64px}
  .hero .wrap,.sobre .wrap{grid-template-columns:1fr;gap:36px}
  .hero .foto-arco{max-width:340px;width:100%;margin:auto;order:-1}
  .sobre .foto{max-width:380px}
  .historia .wrap{grid-template-columns:1fr;gap:32px}
  .historia .foto{position:static;max-width:380px;margin:auto}
  .cabeca-pagina{padding:40px 0 36px}
  .atalhos,.psico-grade,.agenda-grade{grid-template-columns:1fr}
  .agenda-grade{gap:40px}
  .form-agenda{padding:24px 20px}
  .psico-grade{gap:32px}
  .citacao{font-size:1.4rem}
  .rodape-grade{grid-template-columns:1fr;gap:32px}
}
@media (max-width:420px){
  .marca strong{font-size:1.35rem}
  .acoes .btn,.cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto!important}
}
