/* ARQUIVO GERADO por ferramentas/empacotar.js — NÃO EDITAR. Edite os arquivos originais e rode o script. */
/* ==== fx.css ==== */
/* Base de efeitos compartilhada (D-11). Cada proposta define suas próprias cores. */

/* ---------- Reveal ---------- */
[data-reveal] { opacity: 0; transition: opacity .9s cubic-bezier(.2,.7,.2,1) var(--d, 0ms), transform .9s cubic-bezier(.2,.7,.2,1) var(--d, 0ms), filter .9s ease var(--d, 0ms); will-change: transform, opacity; }
[data-reveal="sobe"], [data-reveal=""] { transform: translateY(28px); }
[data-reveal="desfoque"] { filter: blur(12px); transform: translateY(12px); }
[data-reveal="escala"] { transform: scale(.94); }
[data-reveal="esquerda"] { transform: translateX(-36px); }
[data-reveal="direita"] { transform: translateX(36px); }
[data-reveal].is-in { opacity: 1; transform: none; filter: none; }

/* ---------- Split / Blur text ---------- */
.split__palavra { display: inline-block; white-space: nowrap; }
.split--sobe .split__palavra { overflow: hidden; vertical-align: top; padding-bottom: .08em; }
.split__unidade { display: inline-block; transition: transform .9s cubic-bezier(.2,.75,.15,1), opacity .9s ease, filter .9s ease; transition-delay: calc(var(--d, 0ms) + var(--i) * 28ms); }
.split--sobe .split__unidade { transform: translateY(105%); opacity: 0; }
.split--blur .split__unidade { filter: blur(10px); opacity: 0; transform: translateY(.25em); transition-delay: calc(var(--d, 0ms) + var(--i) * 70ms); }
.split.is-in .split__unidade { transform: none; opacity: 1; filter: none; }

/* ---------- ScrollReveal ---------- */
.scrub__p { opacity: .16; transition: opacity .45s ease, color .45s ease; }
.scrub__p.on { opacity: 1; }

/* ---------- Ramos ---------- */
.ramo-host { pointer-events: none; }
.ramo-host .ramo { width: 100%; height: 100%; overflow: visible; display: block; }
.ramo__traco { stroke-dasharray: 1; stroke-dashoffset: 0; }
.ramo__folha { fill: currentColor; fill-opacity: var(--folha-opacidade, .55); }
.ramo__no { fill: currentColor; }
.ramo__estrela { stroke: var(--ramo-estrela, currentColor); stroke-width: 1.4; stroke-linecap: round; fill: none; }
[data-draw] .ramo__traco { stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s cubic-bezier(.45,.05,.25,1); transition-delay: calc(var(--d, 0ms) + var(--o) * 1.4s); }
[data-draw] .ramo__folha, [data-draw] .ramo__no, [data-draw] .ramo__estrela { opacity: 0; transform: scale(.4); transform-box: fill-box; transform-origin: center; transition: opacity .8s ease, transform .9s cubic-bezier(.2,.8,.2,1.2); transition-delay: calc(var(--d, 0ms) + .5s + var(--o, 1) * 1.5s); }
[data-draw].is-in .ramo__traco { stroke-dashoffset: 0; }
[data-draw].is-in .ramo__folha, [data-draw].is-in .ramo__no, [data-draw].is-in .ramo__estrela { opacity: 1; transform: none; }
.balanca { animation: balanca var(--balanca-tempo, 9s) ease-in-out infinite alternate; transform-origin: var(--balanca-origem, 50% 100%); }
@keyframes balanca { from { transform: rotate(-1.6deg); } to { transform: rotate(1.6deg); } }

/* ---------- Spotlight ---------- */
.fx-spotlight { position: relative; isolation: isolate; }
.fx-spotlight::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: -1; opacity: 0; transition: opacity .4s ease;
  background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), var(--spot, rgba(143,211,195,.16)), transparent 60%); }
.fx-spotlight:hover::before { opacity: 1; }

/* ---------- Tilt ---------- */
.fx-tilt { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .5s cubic-bezier(.2,.7,.2,1); transform-style: preserve-3d; }
.fx-tilt:hover { transition-duration: .12s; }

/* ---------- Magnet ---------- */
.fx-magnet { transform: translate(var(--tx, 0px), var(--ty, 0px)); transition: transform .35s cubic-bezier(.2,.7,.2,1); }

/* ---------- RotatingText ---------- */
.rotate { position: relative; display: inline-grid; vertical-align: bottom; overflow: hidden; }
.rotate__item { grid-area: 1 / 1; transform: translateY(100%); opacity: 0; transition: transform .7s cubic-bezier(.2,.8,.2,1), opacity .7s ease; white-space: nowrap; }
.rotate__item.is-on { transform: none; opacity: 1; }
.rotate__item.is-out { transform: translateY(-100%); opacity: 0; }

/* ---------- Marquee (ScrollVelocity) ---------- */
.fx-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.fx-marquee__trilho { display: flex; width: max-content; gap: var(--marquee-gap, 1rem); animation: marquee var(--marquee-tempo, 40s) linear infinite; }
.fx-marquee:hover .fx-marquee__trilho { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- Shiny text ---------- */
.fx-shiny { background: linear-gradient(110deg, var(--shiny-base, currentColor) 35%, var(--shiny-luz, var(--branco)) 50%, var(--shiny-base, currentColor) 65%); background-size: 250% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: brilho 5s linear infinite; }
@keyframes brilho { from { background-position: 120% 0; } to { background-position: -120% 0; } }

/* ---------- Pendências (regra de site/README.md) ---------- */
.pendente { display: inline-flex; align-items: center; gap: .5em; font-size: .78rem; line-height: 1.2; padding: .3em .7em .3em .35em; border-radius: 999px; border: 1px dashed var(--pendente-borda, currentColor); color: var(--pendente-cor, inherit); white-space: nowrap; }
.pendente__id { font-weight: 600; font-size: .72rem; letter-spacing: .04em; padding: .2em .5em; border-radius: 999px; background: var(--pendente-fundo, rgba(188,84,28,.14)); color: var(--pendente-id, var(--terracota)); }

/* ---------- Barra de progresso ---------- */
.fx-progresso { position: fixed; inset: 0 0 auto 0; height: 2px; transform-origin: 0 50%; transform: scaleX(var(--scroll-prog, 0)); z-index: 100; }

/* ---------- Acessibilidade ---------- */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.pular { position: absolute; left: 1rem; top: -100px; z-index: 200; padding: .6rem 1rem; border-radius: 8px; background: var(--branco); color: var(--petroleo); }
.pular:focus { top: 1rem; }

.reduz-movimento *, .reduz-movimento *::before, .reduz-movimento *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
.reduz-movimento [data-reveal], .reduz-movimento .split__unidade { opacity: 1 !important; transform: none !important; filter: none !important; }
.reduz-movimento .scrub__p { opacity: 1; }
/* ==== base.css ==== */
/* Vidalí — proposta v2. Tokens únicos para todo o site; cada especialidade ajusta só o acento (data-tema). */
:root {
  --petroleo: #02524A;      /* cor principal (D-09) */
  --p-950: #011A17;
  --p-900: #01221E;
  --p-800: #013A34;
  --p-600: #0B6A5F;
  --salvia: #4E7F72;
  --salvia-clara: #6FA596;  /* copa da árvore sobre fundo escuro */
  --menta: #A9D4C9;
  --menta-media: #8CC2B4;   /* copa da árvore sobre petróleo (hero e CTA final) */
  --bege: #E9DFD0;
  --bege-sombra: #DCCFBC;
  --off: #F7F3EC;
  --creme: #F2E5D5;
  --off-rosado: #FAF6F1;    /* fundo da Psicologia */
  --rosa-nevoa: #F1E3E1;
  --areia-rosada: #EFE2DA;
  --areia-rosada-escura: #E7D6CC;
  --branco: #FFFFFF;
  --tinta: #0D2B27;
  --tinta-2: #4A615C;
  --terracota: #BC541C;
  --terracota-luz: #E08A57;
  --terracota-suave: #C77A54;
  --rosa: #CC9AA2;
  --linha: rgba(2, 82, 74, .14);
  --linha-escura: rgba(169, 212, 201, .18);
  --fonte-titulo: Fraunces, Georgia, serif;
  --fonte-texto: Manrope, system-ui, sans-serif;
  --raio: 22px;
  --sombra: 0 30px 60px -32px rgba(1, 34, 30, .45);
  --acento: var(--petroleo);
  --acento-suave: rgba(2, 82, 74, .08);
  --pendente-cor: var(--tinta-2);
  --pendente-borda: rgba(74, 97, 92, .4);
  --ramo-estrela: var(--terracota);
}
[data-tema="neurofuncional"] { --acento: var(--p-600); --acento-suave: rgba(169,212,201,.14); }
[data-tema="pilates"] { --acento: var(--salvia); --acento-suave: rgba(78,127,114,.1); }
[data-tema="psicologia"] { --acento: var(--salvia); --acento-suave: rgba(204,154,162,.16); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--off); color: var(--tinta); font: 400 17px/1.7 var(--fonte-texto); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3, blockquote { font-family: var(--fonte-titulo); font-weight: 400; margin: 0; letter-spacing: -.02em; font-variation-settings: "opsz" 100; text-wrap: balance; }
em { font-style: italic; }
a { color: inherit; }
img, svg { max-width: 100%; }
::selection { background: var(--petroleo); color: var(--off); }
:focus-visible { outline: 2px solid var(--terracota); outline-offset: 3px; border-radius: 6px; }
.moldura { width: min(1200px, 100% - 40px); margin-inline: auto; position: relative; }
.secao { position: relative; padding-block: clamp(80px, 11vw, 140px); overflow-x: clip; }
html { overflow-x: clip; }
.secao--escura { background: var(--p-900); color: var(--off); --linha: var(--linha-escura); --pendente-cor: var(--menta); --pendente-borda: rgba(169,212,201,.4); --pendente-fundo: rgba(224,138,87,.18); --pendente-id: var(--terracota-luz); }
.secao--bege { background: var(--bege); }
.rotulo { display: inline-flex; align-items: center; gap: 10px; font-size: .74rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--acento); margin: 0 0 18px; }
.rotulo::before { content: ""; width: 22px; height: 1px; background: var(--terracota); }
.secao--escura .rotulo { color: var(--menta); }
.titulo { font-size: clamp(2.1rem, 4.6vw, 3.8rem); line-height: 1.05; font-weight: 300; max-width: 18ch; }
.titulo em { color: var(--acento); }
.secao--escura .titulo em { color: var(--menta); }
.apoio { color: var(--tinta-2); font-size: 1.08rem; max-width: 56ch; }
.secao--escura .apoio { color: rgba(247,243,236,.75); }
.cabecalho { margin-bottom: clamp(36px, 5vw, 60px); display: grid; gap: 14px; }
.fx-progresso { background: linear-gradient(90deg, var(--terracota), var(--menta)); height: 2px; }

/* Aviso de demonstração */
.aviso-demo { background: var(--terracota); color: var(--branco); font-size: .82rem; text-align: center; padding: 8px 16px; position: relative; z-index: 81; }
.aviso-demo strong { font-weight: 700; }

/* Botões */
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 26px; border-radius: 999px; border: 1px solid transparent; font: 700 .92rem/1 var(--fonte-texto); text-decoration: none; cursor: pointer; position: relative; overflow: hidden; isolation: isolate; transition: background .3s, color .3s, border-color .3s, box-shadow .3s, transform .35s cubic-bezier(.2,.7,.2,1); }
.botao--primario { background: var(--petroleo); color: var(--off); }
.botao--primario::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; background: var(--p-950); transform: scale(0); transform-origin: var(--mx, 50%) var(--my, 50%); transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.botao--primario:hover::before { transform: scale(1.8); }
.botao--claro { background: var(--off); color: var(--petroleo); }
.botao--claro:hover { background: var(--branco); box-shadow: 0 10px 30px -10px rgba(169,212,201,.7); }
.botao--contorno { border-color: currentColor; color: inherit; background: transparent; }
.botao--contorno:hover { background: var(--acento-suave); }
.botao--pequeno { padding: 11px 18px; font-size: .84rem; }
.botao .seta { transition: transform .35s; }
.botao:hover .seta { transform: translateX(4px); }
.botao[disabled] { opacity: .45; cursor: not-allowed; }
.acoes { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* Topo */
.topo { position: sticky; top: 0; z-index: 80; transition: background .4s, box-shadow .4s; }
.rolou .topo { background: rgba(247,243,236,.9); box-shadow: 0 1px 0 var(--linha); backdrop-filter: blur(14px); }
.topo--escuro { color: var(--off); background: var(--p-950); }
.rolou .topo--escuro { background: rgba(1,34,30,.88); box-shadow: 0 1px 0 var(--linha-escura); }
.topo__barra { display: flex; align-items: center; gap: 24px; height: 78px; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--salvia); }
.topo--escuro .marca { color: var(--rosa); }
.marca__arvore { width: 30px; height: 46px; }
.marca__nome { width: 104px; height: 28px; display: block; background: currentColor; -webkit-mask: url(../marca/logotipo-vidali.svg) no-repeat left center / contain; mask: url(../marca/logotipo-vidali.svg) no-repeat left center / contain; }
.menu { display: flex; gap: 6px; margin-left: auto; align-items: center; }
.menu a { font-size: .9rem; font-weight: 600; text-decoration: none; padding: 9px 14px; border-radius: 999px; opacity: .8; transition: opacity .25s, background .25s; }
.menu a:hover, .menu a[aria-current="page"] { opacity: 1; background: var(--acento-suave); }
.topo--escuro .menu a:hover, .topo--escuro .menu a[aria-current="page"] { background: rgba(169,212,201,.12); }
.menu__botao { display: none; }

/* Árvore original (D-17): o desenho nunca muda; só luz, máscara de revelação e movimento */
.arvore { position: relative; aspect-ratio: 61.33 / 98.06; width: 100%; --arvore-topo: var(--salvia); --arvore-raiz: var(--terracota); }
.arvore__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.arvore__svg svg { width: 100%; height: 100%; display: block; overflow: visible; filter: drop-shadow(0 0 var(--brilho, 0px) var(--brilho-cor, rgba(169,212,201,.0))); transition: filter 1.2s ease; }
.arvore__luz, .arvore__raiz-luz { position: absolute; inset: 0; pointer-events: none; -webkit-mask: url(../marca/arvore-original.svg) no-repeat center / contain; mask: url(../marca/arvore-original.svg) no-repeat center / contain; }
.arvore__luz { background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.75) 50%, transparent 65%) 0 0 / 250% 100% no-repeat; mix-blend-mode: soft-light; animation: luz 7s ease-in-out infinite; }
@keyframes luz { 0% { background-position: 140% 0; } 55%, 100% { background-position: -60% 0; } }
.arvore__raiz-luz { background: radial-gradient(60% 30% at 50% 82%, rgba(255,190,140,.95), transparent 70%); mix-blend-mode: screen; opacity: 0; animation: sinapse 4.5s ease-in-out infinite; }
@keyframes sinapse { 0%, 100% { opacity: 0; } 45% { opacity: .9; } }
.arvore--viva .arvore__inner { animation: respira 8s ease-in-out infinite; transform-origin: 50% 100%; }
@keyframes respira { 50% { transform: scale(1.012) rotate(.4deg); } }
.arvore__inner { position: absolute; inset: 0; }
.arvore[data-draw] .arvore__inner { clip-path: inset(100% -10% -10% -10%); transition: clip-path 2.4s cubic-bezier(.65,.05,.25,1) var(--d, 0ms); }
.arvore[data-draw].is-in .arvore__inner { clip-path: inset(-10% -10% -10% -10%); }
.reduz-movimento .arvore[data-draw] .arvore__inner { clip-path: none; }
.arvore--brilho { --brilho: 18px; --brilho-cor: rgba(169,212,201,.35); }
.arvore--escura { --arvore-topo: var(--salvia-clara); }

/* Cards */
.card { position: relative; border-radius: var(--raio); background: var(--branco); border: 1px solid var(--linha); padding: 30px; overflow: hidden; transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s, border-color .4s; }
.card:hover { transform: translateY(-6px); box-shadow: var(--sombra); border-color: rgba(2,82,74,.28); }
.card h3 { font-size: 1.5rem; margin-bottom: 8px; }
.card p { margin: 0; color: var(--tinta-2); }
.secao--escura .card { background: rgba(2,82,74,.25); border-color: var(--linha-escura); }
.secao--escura .card p { color: rgba(247,243,236,.72); }
.grade { display: grid; gap: 20px; grid-template-columns: repeat(var(--col, 3), minmax(0, 1fr)); }

/* Cards de especialidade */
.esp { display: flex; flex-direction: column; min-height: 440px; padding: 0; text-decoration: none; color: inherit; }
.esp__arte { position: relative; flex: 1; min-height: 240px; overflow: hidden; display: grid; place-items: center; }
.esp__arte .arvore { width: 34%; max-width: 150px; }
/* Os três cards seguem o mesmo visual (pedido do responsável, 05/11): fundo claro com a árvore no centro */
.esp__arte { background: linear-gradient(160deg, var(--bege), var(--creme)); }
.esp__corpo { padding: 26px 28px 30px; display: grid; gap: 8px; }
.esp__corpo h3 { font-size: 1.9rem; }
.esp__ir { margin-top: 8px; font-weight: 700; font-size: .9rem; color: var(--petroleo); display: inline-flex; gap: 8px; }
.esp:hover .esp__ir .seta { transform: translateX(5px); }
.esp__ir .seta { transition: transform .35s; }

/* WhatsApp flutuante (D-14) */
.wa { position: fixed; right: max(18px, env(safe-area-inset-right, 0px)); bottom: max(18px, env(safe-area-inset-bottom, 0px)); z-index: 90; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.wa__botao { text-decoration: none; display: inline-flex; align-items: center; gap: 10px; height: 58px; padding: 0 22px 0 18px; border-radius: 999px; border: 0; cursor: pointer; background: var(--petroleo); color: var(--off); font: 700 .92rem var(--fonte-texto); box-shadow: 0 18px 40px -16px rgba(1,34,30,.7), 0 0 0 0 rgba(169,212,201,.5); animation: chama 3.2s ease-out 2s 3; transition: transform .3s, background .3s; }
.wa__botao:hover { transform: translateY(-3px); background: var(--p-800); }
@keyframes chama { 0% { box-shadow: 0 18px 40px -16px rgba(1,34,30,.7), 0 0 0 0 rgba(169,212,201,.55); } 100% { box-shadow: 0 18px 40px -16px rgba(1,34,30,.7), 0 0 0 18px rgba(169,212,201,0); } }
.wa__icone { width: 26px; height: 26px; }
.wa__painel { width: min(340px, calc(100vw - 36px)); background: var(--branco); color: var(--tinta); border-radius: 22px; box-shadow: 0 30px 70px -20px rgba(1,34,30,.45); border: 1px solid var(--linha); overflow: hidden; transform-origin: bottom right; animation: abre .35s cubic-bezier(.2,.8,.2,1); }
@keyframes abre { from { opacity: 0; transform: scale(.92) translateY(8px); } }
.wa__topo { background: var(--petroleo); color: var(--off); padding: 18px 20px; display: flex; gap: 12px; align-items: center; }
.wa__topo .arvore { width: 26px; --arvore-topo: var(--menta); }
.wa__topo strong { display: block; font-family: var(--fonte-titulo); font-weight: 400; font-size: 1.15rem; }
.wa__topo span { font-size: .8rem; opacity: .8; }
.wa__corpo { padding: 16px 18px 18px; display: grid; gap: 8px; }
.wa__corpo p { margin: 0 0 4px; font-size: .9rem; color: var(--tinta-2); }
.wa__opcao { text-align: left; width: 100%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--linha); background: var(--off); font: 600 .9rem var(--fonte-texto); color: var(--tinta); cursor: pointer; display: flex; justify-content: space-between; gap: 10px; transition: background .25s, border-color .25s; }
.wa__opcao:hover { background: var(--acento-suave); border-color: rgba(2,82,74,.3); }
.wa__aviso { font-size: .8rem; color: var(--terracota); margin-top: 6px; }

/* Rodapé */
.rodape { background: var(--p-950); color: rgba(247,243,236,.75); padding-block: 80px 110px; --linha: var(--linha-escura); --pendente-cor: var(--menta); --pendente-borda: rgba(169,212,201,.4); --pendente-fundo: rgba(224,138,87,.18); --pendente-id: var(--terracota-luz); }
.rodape__grade { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; }
.rodape .marca { color: var(--rosa); }
.rodape h3 { font-family: var(--fonte-texto); font-size: .74rem; letter-spacing: .22em; text-transform: uppercase; color: var(--menta); font-weight: 700; margin-bottom: 14px; }
.rodape ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.rodape a { text-decoration: none; }
.rodape a:hover { color: var(--off); }
.rodape__base { margin-top: 56px; padding-top: 22px; border-top: 1px solid var(--linha-escura); font-size: .8rem; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* Responsivo */
@media (max-width: 960px) {
  .grade { --col: 1 !important; }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
  .menu { position: fixed; inset: 0; z-index: -1; flex-direction: column; justify-content: center; gap: 10px; background: var(--off); color: var(--tinta); opacity: 0; visibility: hidden; transition: opacity .35s, visibility .35s; }
  .topo--escuro .menu { background: var(--p-950); color: var(--off); }
  .menu a { font-family: var(--fonte-titulo); font-size: 1.7rem; font-weight: 400; }
  .menu-aberto .menu { opacity: 1; visibility: visible; }
  .rolou .topo { backdrop-filter: none; }
  .menu__botao { display: grid; gap: 6px; place-content: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linha); background: transparent; color: inherit; cursor: pointer; margin-left: auto; }
  .menu__botao span:not(.sr-only) { width: 18px; height: 1.5px; background: currentColor; transition: transform .3s; }
  .menu-aberto .menu__botao span:nth-child(2) { transform: translateY(3.75px) rotate(45deg); }
  .menu-aberto .menu__botao span:nth-child(3) { transform: translateY(-3.75px) rotate(-45deg); }
  .topo__agendar { display: none; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .rodape__grade { grid-template-columns: 1fr; }
  .wa__botao { padding: 0 18px; }
  .wa__botao .wa__texto { display: none; }
  .wa__botao { width: 58px; padding: 0; justify-content: center; }
}
/* ==== paginas.css ==== */
/* Estilos de página da v2 (início, especialidades). */

/* ---------- Início ---------- */
.hero { position: relative; overflow: hidden; padding-block: clamp(40px, 6vw, 80px) clamp(80px, 10vw, 120px); }
.hero__grade { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(30px, 5vw, 70px); align-items: center; }
.hero h1 { font-size: clamp(2.8rem, 6.4vw, 5.8rem); line-height: .98; font-weight: 300; letter-spacing: -.035em; }
.hero h1 em { color: var(--salvia); }
.hero .apoio { margin: 26px 0 36px; font-size: clamp(1.05rem, 1.5vw, 1.22rem); }
.hero__palco { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1.08; }
.hero__arco { position: absolute; inset: 4% 8% 0; border-radius: 999px 999px 32px 32px; background: radial-gradient(120% 80% at 50% 10%, var(--petroleo), var(--p-950) 78%); box-shadow: var(--sombra); overflow: hidden; }
.hero__arco::after { content: ""; position: absolute; inset: 14px; border-radius: inherit; border: 1px solid rgba(169,212,201,.22); }
.hero__palco .arvore { width: 52%; position: relative; z-index: 1; margin-top: 6%; --arvore-topo: var(--menta-media); --arvore-raiz: var(--terracota-luz); }
.hero__chips { position: absolute; z-index: 2; display: grid; gap: 10px; left: -4%; bottom: 10%; }
.chip { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; border-radius: 999px; background: rgba(247,243,236,.95); border: 1px solid var(--linha); box-shadow: 0 14px 30px -18px rgba(1,34,30,.5); font-weight: 700; font-size: .86rem; text-decoration: none; color: var(--tinta); backdrop-filter: blur(6px); transition: transform .35s; }
.chip:hover { transform: translateX(6px); }
.chip__ponto { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--petroleo); color: var(--off); font-size: .7rem; }
.ramo-canto { position: absolute; color: var(--salvia); opacity: .16; pointer-events: none; }

.proposito__texto { font-family: var(--fonte-titulo); font-weight: 300; font-size: clamp(1.7rem, 3.6vw, 3rem); line-height: 1.22; max-width: 26ch; margin: 0; }
.proposito__fecho { margin-top: 40px; font-family: var(--fonte-titulo); font-style: italic; font-size: clamp(1.15rem, 2vw, 1.5rem); color: var(--menta); max-width: 40ch; }
.proposito__arvore { position: absolute; right: 2%; top: 50%; width: min(26vw, 300px); transform: translateY(-50%); opacity: .18; }

.simbolo { display: grid; grid-template-columns: 1fr minmax(180px, 280px) 1fr; gap: clamp(24px, 4vw, 60px); align-items: center; }
.simbolo__col { display: grid; gap: 34px; }
.simbolo__item h3 { font-size: 1.7rem; font-weight: 300; margin-bottom: 6px; }
.simbolo__item p { margin: 0; color: var(--tinta-2); }
.simbolo__item span { font-family: var(--fonte-titulo); font-style: italic; color: var(--terracota); }
.simbolo__col--dir { text-align: left; }
.simbolo__arvore { position: relative; }

.passos { counter-reset: passo; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.passo { position: relative; padding: 28px 24px; border-radius: var(--raio); background: var(--branco); border: 1px solid var(--linha); }
.passo::before { counter-increment: passo; content: counter(passo); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--petroleo); color: var(--off); font-weight: 700; margin-bottom: 16px; }
.passo h3 { font-size: 1.25rem; margin-bottom: 6px; }
.passo p { margin: 0; color: var(--tinta-2); font-size: .95rem; }

.mv { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 40px; }
.mv .card h3 { font-family: var(--fonte-texto); font-size: .74rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--terracota-luz); margin-bottom: 14px; }
.mv .card p { font-family: var(--fonte-titulo); font-weight: 300; font-size: clamp(1.2rem, 2vw, 1.55rem); line-height: 1.4; color: var(--off); }
.valores { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.valores li { padding: 10px 18px; border-radius: 999px; border: 1px solid var(--linha-escura); font-size: .95rem; transition: background .3s, transform .3s; }
.valores li:hover { background: rgba(169,212,201,.12); transform: translateY(-2px); }

.valores-card h3 { font-family: var(--fonte-texto); font-size: .74rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--terracota-luz); margin-bottom: 10px; }
.valores-card__intro { font-family: var(--fonte-titulo); font-weight: 300; font-size: clamp(1.2rem, 2vw, 1.55rem); color: var(--off) !important; margin: 0 0 24px !important; }
.valores-lista { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--linha-escura); }
.valores-lista li { display: flex; gap: 14px; align-items: baseline; padding: 16px 12px 16px 0; border-bottom: 1px solid var(--linha-escura); }
.valores-lista__n { font-family: var(--fonte-titulo); font-style: italic; color: var(--terracota-luz); font-size: .9rem; }
.valores-lista__nome { display: block; font-size: 1.05rem; font-weight: 600; color: var(--off); }
.valores-lista__desc { display: block; margin-top: 4px; font-size: .9rem; line-height: 1.55; color: rgba(247,243,236,.68); }
.valores-lista li { padding-block: 18px; }
.valores-card__nota { margin: 18px 0 0 !important; font-size: .78rem !important; color: var(--terracota-luz) !important; letter-spacing: .04em; }
@media (max-width: 960px) { .valores-lista { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { .valores-lista { grid-template-columns: 1fr; } }
.cta-final { position: relative; overflow: hidden; border-radius: 34px; padding: clamp(40px, 7vw, 90px); background: radial-gradient(90% 120% at 100% 100%, var(--p-600), var(--petroleo) 40%, var(--p-950)); color: var(--off); display: grid; grid-template-columns: 1.4fr .6fr; gap: 30px; align-items: center; }
.cta-final .titulo em { color: var(--menta); }
.cta-final p { color: rgba(247,243,236,.78); max-width: 46ch; }
.cta-final .arvore { width: min(180px, 100%); justify-self: center; --arvore-topo: var(--menta-media); }

/* ---------- Especialidades (comum) ---------- */
.esp-hero { position: relative; overflow: hidden; padding-block: clamp(50px, 7vw, 90px) clamp(70px, 9vw, 110px); }
.esp-hero__grade { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(30px, 5vw, 70px); align-items: center; }
.esp-hero h1 { font-size: clamp(3rem, 7vw, 6.4rem); line-height: .95; font-weight: 300; letter-spacing: -.04em; }
.esp-hero .essencia { font-family: var(--fonte-titulo); font-style: italic; font-size: clamp(1.3rem, 2.4vw, 2rem); margin: 18px 0 10px; }
.esp-hero .ligacao { max-width: 46ch; margin: 0 0 32px; }
.esp-hero h1 { overflow-wrap: anywhere; }
.publico { display: inline-flex; margin: 18px 0 0; padding: 7px 16px; border-radius: 999px; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; border: 1px solid currentColor; opacity: .9; }
[data-tema="neurofuncional"] .publico { color: var(--menta); }
.esp__publico { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--salvia); }
.pilares { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.pilar { padding: 30px; border-radius: var(--raio); border: 1px solid var(--linha); background: var(--branco); position: relative; overflow: hidden; }
.pilar h3 { font-size: 1.6rem; font-weight: 300; }
.pilar__n { font-family: var(--fonte-titulo); font-style: italic; color: var(--terracota); }
.pilar .pendente { margin-top: 14px; }
.lista-prof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.prof { border-radius: var(--raio); overflow: hidden; background: var(--branco); border: 1px solid var(--linha); }
.prof__foto { aspect-ratio: 4 / 4.2; display: grid; place-items: center; background: linear-gradient(160deg, var(--bege), var(--creme)); color: var(--tinta-2); font-size: .85rem; text-align: center; padding: 20px; }
.prof__info { padding: 20px 22px 24px; display: grid; gap: 8px; }
.prof__info h3 { font-size: 1.25rem; }

/* Neurofuncional: ciência, escuro, rede */
[data-tema="neurofuncional"] .esp-hero { background: radial-gradient(90% 90% at 75% 30%, var(--p-800), var(--p-950) 75%); color: var(--off); --pendente-cor: var(--menta); --pendente-borda: rgba(169,212,201,.4); --pendente-fundo: rgba(224,138,87,.18); --pendente-id: var(--terracota-luz); }
[data-tema="neurofuncional"] .esp-hero .ligacao { color: rgba(247,243,236,.75); }
[data-tema="neurofuncional"] .esp-hero .essencia { color: var(--menta); }
.rede { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .7; }
[data-tema="neurofuncional"] .esp-hero__arte .arvore { --arvore-topo: var(--salvia-clara); --arvore-raiz: var(--terracota-luz); width: 62%; margin-inline: auto; }
.orbita { position: absolute; inset: -6%; border-radius: 50%; border: 1px dashed rgba(169,212,201,.25); animation: gira 50s linear infinite; }
.orbita--2 { inset: 8%; animation-duration: 34s; animation-direction: reverse; border-style: solid; border-color: rgba(169,212,201,.1); }
@keyframes gira { to { transform: rotate(360deg); } }
.esp-hero__arte { position: relative; display: grid; place-items: center; aspect-ratio: 1; }
.metricas-tag { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.metricas-tag span { font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(169,212,201,.3); color: var(--menta); }

/* Pilates: movimento, claro, ritmo */
[data-tema="pilates"] { background: var(--off); }
[data-tema="pilates"] .esp-hero { background: linear-gradient(180deg, var(--bege), var(--off)); }
[data-tema="pilates"] .esp-hero h1 em { color: var(--salvia); }
.mosaico { position: relative; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 14px; aspect-ratio: 1 / 1.1; }
.foto-slot { position: relative; border-radius: 26px; overflow: hidden; background: linear-gradient(150deg, var(--creme), var(--bege-sombra)); display: grid; place-items: center; text-align: center; color: var(--tinta-2); font-size: .8rem; padding: 14px; }
.foto-slot--alta { grid-row: span 2; border-radius: 999px 999px 26px 26px; }
.foto-slot .arvore { position: absolute; width: 38%; opacity: .2; bottom: -6%; right: 6%; }
.foto-slot__txt { position: relative; z-index: 1; max-width: 18ch; }
.faixa-mov { background: var(--petroleo); color: var(--off); padding-block: 20px; --marquee-gap: 36px; --marquee-tempo: 36s; }
.faixa-mov .fx-marquee__trilho { align-items: center; }
.faixa-mov span { font-family: var(--fonte-titulo); font-style: italic; font-size: clamp(1.3rem, 2.4vw, 2rem); white-space: nowrap; }
.faixa-mov i { width: 10px; height: 10px; border-radius: 50%; background: var(--terracota-luz); display: inline-block; }

/* Psicologia: acolhimento, arco, suave */
[data-tema="psicologia"] { background: var(--off-rosado); }
[data-tema="psicologia"] .esp-hero { background: radial-gradient(70% 90% at 80% 60%, var(--rosa-nevoa), var(--off-rosado) 70%); }
[data-tema="psicologia"] .esp-hero h1 em { color: var(--salvia); }
.arco-acolhe { position: relative; aspect-ratio: 4 / 5; border-radius: 999px 999px 30px 30px; background: linear-gradient(180deg, var(--areia-rosada), var(--areia-rosada-escura)); display: grid; place-items: end center; overflow: hidden; box-shadow: 0 40px 70px -40px rgba(120, 80, 70, .35); }
.arco-acolhe::before { content: ""; position: absolute; inset: 16px; border-radius: inherit; border: 1px solid rgba(78,127,114,.25); }
.arco-acolhe .arvore { width: 48%; margin-bottom: 12%; --arvore-topo: var(--salvia); --arvore-raiz: var(--terracota-suave); }
.arco-acolhe__nota { position: absolute; top: 14%; left: 50%; transform: translateX(-50%); font-size: .78rem; color: var(--tinta-2); text-align: center; width: 70%; }
.primeiro-passo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.duvidas { display: grid; gap: 12px; max-width: 760px; }
.duvida { border-radius: 18px; background: var(--branco); border: 1px solid var(--linha); }
.duvida summary { cursor: pointer; padding: 20px 24px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.duvida summary::after { content: "+"; font-size: 1.3rem; line-height: 1; transition: transform .3s; color: var(--salvia); }
.duvida[open] summary::after { transform: rotate(45deg); }
.duvida div { padding: 0 24px 22px; color: var(--tinta-2); }

@media (max-width: 960px) {
  .hero__grade, .esp-hero__grade, .cta-final, .mv { grid-template-columns: 1fr; }
  .hero__palco { max-width: 440px; margin-inline: auto; width: 100%; }
  .simbolo { grid-template-columns: 1fr; }
  .simbolo__arvore { max-width: 200px; margin-inline: auto; order: -1; }
  .passos, .pilares, .lista-prof, .primeiro-passo { grid-template-columns: 1fr 1fr; }
  .esp-hero__arte, .mosaico, .arco-acolhe { max-width: 420px; margin-inline: auto; width: 100%; }
  .proposito__arvore { display: none; }
}
@media (max-width: 600px) {
  .passos, .pilares, .lista-prof, .primeiro-passo { grid-template-columns: 1fr; }
  .hero__chips { left: 0; bottom: 4%; }
}

/* ---------- Equipe (página equipe.html, chamada na página inicial e "Quem atende" nas especialidades) ---------- */
.retrato { position: relative; overflow: hidden; aspect-ratio: 4 / 5; border-radius: 999px 999px var(--raio) var(--raio); background: radial-gradient(120% 80% at 50% 10%, var(--petroleo), var(--p-950) 78%); box-shadow: var(--sombra); }
.retrato img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.retrato::after { content: ""; position: absolute; inset: 10px; border-radius: inherit; border: 1px solid var(--linha-escura); pointer-events: none; }
.retrato--sem-foto { display: grid; place-items: center; }
.retrato--sem-foto .arvore { width: 46%; --arvore-topo: var(--menta-media); --arvore-raiz: var(--terracota-luz); }

.cabecalho--linha { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 20px; }
.grade-equipe { display: grid; gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grade-equipe--solo { grid-template-columns: minmax(0, 720px); }
.membro { display: grid; gap: 20px; text-decoration: none; color: inherit; padding: 16px 16px 24px; border-radius: calc(var(--raio) + 6px); background: var(--branco); border: 1px solid var(--linha); transition: box-shadow .5s, border-color .4s; }
.membro:hover { box-shadow: var(--sombra); border-color: transparent; }
.membro:hover .retrato img { transform: scale(1.04); }
.membro:hover .esp__ir .seta { transform: translateX(5px); }
.membro__corpo { display: grid; gap: 4px; padding-inline: 8px; }
.membro__area { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--salvia); }
.membro__nome { font-family: var(--fonte-titulo); font-size: 1.6rem; line-height: 1.15; letter-spacing: -.02em; }
.membro__cargo { color: var(--tinta-2); font-size: .95rem; }
.membro__registro { color: var(--tinta-2); font-size: .8rem; font-weight: 600; letter-spacing: .04em; white-space: nowrap; }
.membro__espec { color: var(--tinta); font-size: .95rem; margin-top: 6px; }
.grade-equipe--solo .membro { grid-template-columns: minmax(150px, 220px) 1fr; align-items: center; }

.equipe-hero { position: relative; overflow: hidden; padding-block: clamp(50px, 7vw, 90px) clamp(40px, 5vw, 60px); }
.equipe-hero h1 { font-size: clamp(3rem, 7vw, 6.4rem); line-height: .95; font-weight: 300; letter-spacing: -.04em; }
.equipe-hero h1 em { color: var(--salvia); }
.equipe-hero .apoio { margin: 22px 0 30px; }
.equipe-atalhos { display: flex; flex-wrap: wrap; gap: 10px; }

.perfil { scroll-margin-top: 80px; }
.perfil__grade { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(30px, 6vw, 90px); align-items: center; }
.perfil--inverso .perfil__foto { order: 2; }
.perfil__foto { max-width: 460px; width: 100%; justify-self: center; }
.perfil__texto .rotulo a { color: inherit; text-decoration: none; }
.perfil__texto .rotulo a:hover { text-decoration: underline; }
.perfil__cargo { margin: 14px 0 0; font-size: 1.1rem; color: var(--tinta-2); }
.perfil__espec { margin: 18px 0 0; display: grid; gap: 2px; font-weight: 600; }
.perfil__espec span { font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--terracota); }
.perfil__fala { margin: 30px 0 34px; padding-left: 24px; border-left: 2px solid var(--terracota); max-width: 52ch; }
.perfil__fala p { margin: 0; font-family: var(--fonte-titulo); font-weight: 300; font-style: italic; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.45; }

@media (max-width: 960px) {
  .grade-equipe { grid-template-columns: 1fr 1fr; }
  .grade-equipe--solo { grid-template-columns: 1fr; }
  .perfil__grade { grid-template-columns: 1fr; }
  .perfil--inverso .perfil__foto { order: 0; }
  .perfil__foto { max-width: 380px; }
}
@media (max-width: 600px) {
  .grade-equipe { grid-template-columns: 1fr; }
  .grade-equipe--solo .membro { grid-template-columns: 1fr; }
  .membro .retrato--card { max-width: 320px; width: 100%; justify-self: center; }
}

/* ---------- Nosso espaço (fotos da clínica — F-11) ---------- */
.foto-espaco { position: relative; margin: 0; overflow: hidden; border-radius: var(--raio); background: var(--bege); box-shadow: var(--sombra); }
.foto-espaco img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.foto-espaco:hover img { transform: scale(1.03); }
.foto-espaco--paisagem { aspect-ratio: 3 / 2; }
.foto-espaco--retrato { aspect-ratio: 4 / 5; }
.foto-espaco figcaption { position: absolute; left: 14px; bottom: 14px; padding: 7px 14px; border-radius: 999px; background: rgba(247,243,236,.92); color: var(--tinta); font-size: .78rem; font-weight: 700; letter-spacing: .02em; box-shadow: 0 10px 24px -16px rgba(1,34,30,.6); }

.espaco-grade { display: grid; gap: 20px; }
.espaco-grade__destaque { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 20px; align-items: center; }
.espaco-grade__salas { display: flex; gap: 20px; }
.espaco-grade__salas .foto-espaco { flex: var(--r) 1 0; min-width: 0; }

.espaco-endereco { display: grid; gap: 4px; justify-items: start; padding: 22px 24px; border-radius: calc(var(--raio) - 6px); background: var(--branco); border: 1px solid var(--linha); }
.espaco-endereco .rotulo { margin-bottom: 6px; }
.espaco-endereco address { font-style: normal; color: var(--tinta-2); margin-bottom: 14px; }
.espaco-endereco--escuro { background: var(--p-900); border-color: var(--linha-escura); color: var(--off); }
.espaco-endereco--escuro address { color: var(--menta); }

.espaco-esp { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.espaco-esp--unica { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: clamp(24px, 5vw, 70px); }
.espaco-esp__lado { display: grid; gap: 14px; justify-items: start; }
.espaco-esp__lado h3 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 300; }
.espaco-esp__lado > p { margin: 0 0 10px; color: var(--tinta-2); font-family: var(--fonte-titulo); font-style: italic; font-size: 1.25rem; }
.espaco-esp--unica .foto-espaco--retrato { max-width: 460px; width: 100%; justify-self: center; }

@media (max-width: 960px) {
  .espaco-grade__destaque { grid-template-columns: 1fr; }
  .espaco-grade__salas { flex-wrap: wrap; }
  .espaco-grade__salas .foto-espaco { flex: var(--r) 1 calc(var(--r) * 220px); }
  .espaco-esp--unica { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .espaco-grade__salas { flex-direction: column; gap: 14px; }
  .espaco-grade__salas .foto-espaco { flex: none; width: 100%; }
  .espaco-esp { grid-template-columns: 1fr; gap: 14px; }
}

/* ---------- Página de privacidade ---------- */
.texto-legal .moldura { max-width: 760px; }
.texto-legal h1 { margin-bottom: 8px; }
.texto-legal__data { color: var(--tinta-2); font-size: .9rem; margin: 0 0 30px; }
.texto-legal h2 { font-size: 1.4rem; font-weight: 400; margin: 34px 0 10px; }
.texto-legal p { color: var(--tinta-2); margin: 0 0 12px; }
.texto-legal a:not(.botao) { color: var(--petroleo); font-weight: 600; }