/* Psi. Anna Alice Vieira · direção Sala Espresso
   Todos os valores saem de "Sistema de Design.dc.html" e "Site Anna Alice.dc.html". */

/* ---------- Fontes ---------- */
@font-face{font-family:'Brandcake';src:url('../fonts/web/brandcake.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Interphases';src:url('../fonts/web/interphases-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Interphases';src:url('../fonts/web/interphases-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ---------- Tokens: cinco papéis por modo ---------- */
:root{
  --fundo:#F5F2EF; --faixa:#D8CEC5; --leitura:#FFFFFF;
  --texto:#231E1B; --destaque:#7A3C26;
  /* fixas nos dois modos */
  --acao:#7A3C26; --acao-texto:#FFFFFF; --texto-leitura:#231E1B; --destaque-leitura:#7A3C26;
  /* escala */
  --margem:clamp(20px,6.25vw,80px);
  --secao:clamp(64px,10vw,128px);
  --largura:1120px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-tema="claro"]){
    --fundo:#231E1B; --faixa:#332015; --leitura:#D8CEC5;
    --texto:#D8CEC5; --destaque:#7CA79D;
    color-scheme:dark;
  }
  :root:not([data-tema="claro"]) .so-claro{display:none !important}
  :root:not([data-tema="claro"]) .so-escuro{display:block}
}
:root[data-tema="escuro"]{
  --fundo:#231E1B; --faixa:#332015; --leitura:#D8CEC5;
  --texto:#D8CEC5; --destaque:#7CA79D;
  color-scheme:dark;
}
.so-escuro{display:none}
:root[data-tema="escuro"] .so-claro{display:none !important}
:root[data-tema="escuro"] .so-escuro{display:block}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:'Interphases',sans-serif;font-size:18px;line-height:1.7}
h1,h2,h3,p,figure,blockquote,dl,dd,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:var(--destaque)}
a:hover{color:var(--texto)}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--texto);outline-offset:3px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none !important}}

.pular{position:absolute;left:16px;top:-100px;z-index:100;padding:12px 20px;border-radius:999px;background:var(--texto);color:var(--fundo);font-size:15px;font-weight:700;text-decoration:none}
.pular:focus{top:12px;color:var(--fundo)}

/* ---------- Layout ---------- */
.wrap{max-width:var(--largura);margin:0 auto}
.secao{padding:var(--secao) var(--margem)}
.na-faixa{background:var(--faixa)}

/* ---------- Tipografia ---------- */
.rotulo{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--destaque)}
.display-xl,.display-l,.display-m,.display-s{font-family:'Brandcake',serif;font-weight:400;line-height:1;text-wrap:balance}
.display-xl{font-size:clamp(44px,6.9vw,88px)}
.display-l{font-size:clamp(40px,5.6vw,72px)}
.display-m{font-size:clamp(36px,4.7vw,60px)}
.display-s{font-size:clamp(32px,3.2vw,40px)}
.lead{max-width:34em;font-size:19px;line-height:1.65;text-wrap:pretty}
.meta{font-size:15px;line-height:1.5}
.cabecalho-secao{display:flex;flex-direction:column;gap:16px}
.cabecalho-secao.centro{align-items:center;text-align:center}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 32px;border:0;border-radius:999px;font-size:17px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.btn:active{transform:translateY(1px)}
.btn-principal{background:var(--acao);color:var(--acao-texto)}
.btn-principal:hover{background:var(--texto);color:var(--fundo)}
.btn-secundario{background:var(--texto);color:var(--fundo)}
.btn-secundario:hover{background:var(--acao);color:var(--acao-texto)}
.btn-pequeno{min-height:44px;padding:12px 24px;font-size:15px}

/* ---------- Links ---------- */
.link{color:var(--destaque);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.link:hover{color:var(--texto);text-decoration-thickness:2px}

/* ---------- Cabeçalho ---------- */
.topo{position:sticky;top:0;z-index:50;background:var(--fundo);padding:0 var(--margem)}
.topo-barra{max-width:var(--largura);margin:0 auto;min-height:clamp(68px,7vw,88px);display:flex;align-items:center;justify-content:space-between;gap:12px}
.marca{min-width:0;overflow:hidden;display:flex;align-items:center;gap:clamp(8px,1.2vw,16px);color:var(--texto);text-decoration:none}
.marca:hover{color:var(--texto)}
.marca-monograma{height:32px;width:auto}
.marca-nome{font-family:'Brandcake',serif;font-size:clamp(26px,7.2vw,30px);line-height:1;white-space:nowrap;padding-top:.195em}
.topo-acoes{display:flex;align-items:center;gap:8px}
.menu-principal{display:none;align-items:center;gap:24px;font-size:15px}
.menu-principal a{padding:12px 0;color:var(--texto);text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:8px;text-decoration-color:transparent;transition:text-decoration-color .2s ease}
.menu-principal a:hover{text-decoration-color:var(--texto)}
.menu-principal a[aria-current]{text-decoration-color:var(--destaque)}
.botao-menu{display:inline-flex;align-items:center;min-height:44px;padding:12px;border:0;border-radius:999px;background:var(--texto);color:var(--fundo);font-size:15px;font-weight:700;cursor:pointer;transition:background-color .2s ease,color .2s ease}
.botao-menu:hover{background:var(--acao);color:var(--acao-texto)}
.botao-tema{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--texto);cursor:pointer;transition:background-color .2s ease}
.botao-tema:hover{background:var(--faixa)}
.botao-tema svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.menu-aberto{max-width:var(--largura);margin:0 auto;padding:4px 0 20px}
.menu-aberto nav{background:var(--faixa);border-radius:28px;padding:12px clamp(20px,4vw,32px) 24px;display:flex;flex-direction:column}
.menu-aberto a{padding:12px 0;font-size:20px;font-weight:700;line-height:1.4;color:var(--texto);text-decoration:none}
.menu-aberto a:hover{color:var(--destaque)}

/* ---------- Primeira tela ---------- */
.inicio{padding:clamp(12px,3vw,48px) var(--margem) var(--secao)}
.inicio-grade{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,6.25vw,80px)}
.inicio-foto{flex:5 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
.inicio-foto img{width:100%;height:clamp(320px,44vw,580px);object-fit:cover;object-position:50% 70%;border-radius:32px}
.inicio-texto{flex:7 1 420px;min-width:0;display:flex;flex-direction:column;gap:clamp(20px,2.2vw,28px)}
.inicio-sobretitulo{display:flex;flex-direction:column;gap:8px}
.inicio-publico{font-size:18px;font-weight:700;line-height:1.45}
.escuta-global{background:var(--faixa);color:var(--texto);border-radius:24px;padding:20px 24px;display:flex;flex-direction:column;gap:8px}
.escuta-global-titulo{font-family:'Brandcake',serif;font-size:32px;line-height:1}
.escuta-global p{font-size:16px;line-height:1.5}
.escuta-global-depois{padding:20px}
.escuta-global-depois .escuta-global-titulo{font-size:30px}
.escuta-global-ao-lado{display:none}
@media (min-width:1100px){
  .escuta-global-ao-lado{display:flex}
  .escuta-global-depois{display:none}
}

/* ---------- Colunas foto : texto ---------- */
.colunas{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(32px,5vw,64px)}
.col-foto{flex:5 1 320px;min-width:0;display:flex;flex-direction:column;gap:clamp(20px,2.2vw,28px)}
.col-texto{flex:7 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px}
.foto-sobre{width:100%;height:clamp(380px,46vw,600px);object-fit:cover;object-position:50% 70%;border-radius:32px}
/* abaixo de 1100px a foto vai para cima do texto: formato retrato, para não cortar a Anna */
@media (max-width:1099.98px){
  .inicio-foto img,.foto-sobre{height:auto;aspect-ratio:4/5;max-height:720px}
}

/* ---------- Painel de leitura ---------- */
.leitura{background:var(--leitura);color:var(--texto-leitura);border-radius:28px;padding:clamp(24px,4.5vw,48px);display:flex;flex-direction:column;gap:20px}
.leitura p{font-size:18px;line-height:1.72;text-wrap:pretty}
.assinatura{align-self:flex-end;width:200px;height:auto;margin:-4px -8px 0 0}

/* ---------- Lista de destaques ---------- */
.destaques{background:var(--fundo);border-radius:28px;padding:clamp(24px,4vw,40px) clamp(24px,4.5vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px 32px}
.destaques li{display:flex;gap:12px;font-size:17px;line-height:1.45}
.destaques li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--destaque)}

/* ---------- Item expansível ---------- */
.areas-wrap{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,5vw,56px)}
.lista-expansivel{display:flex;flex-direction:column;gap:12px}
.item{background:var(--faixa);border-radius:20px}
.item h3{font-size:inherit;font-weight:inherit}
.item-botao{display:grid;grid-template-columns:clamp(28px,4vw,40px) minmax(0,1fr) 36px;gap:16px;align-items:center;width:100%;margin:0;padding:clamp(16px,2.4vw,24px);border:0;border-radius:20px;background:none;color:var(--texto);text-align:left;cursor:pointer;transition:color .2s ease}
.item-botao:hover{color:var(--destaque)}
.item-numero{font-size:15px;font-weight:700;color:var(--destaque)}
.item-titulo{font-size:clamp(18px,1.6vw,20px);font-weight:700;line-height:1.3}
.item-sinal{width:36px;height:36px;border-radius:50%;background:var(--fundo);display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.item-sinal::after{content:"+"}
.item-botao[aria-expanded="true"] .item-sinal::after{content:"\2212"}
.item-painel{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease,visibility .25s}
.js .item-painel:not(.aberto){grid-template-rows:0fr;visibility:hidden}
.item-painel > div{overflow:hidden}
.item-painel p{padding:0 clamp(16px,6.25vw,80px) 28px;font-size:18px;line-height:1.7;text-wrap:pretty}
/* perguntas frequentes: sem número, cartão no fundo sobre a faixa */
.item-pergunta{background:var(--fundo)}
.item-pergunta .item-botao{grid-template-columns:minmax(0,1fr) 36px}
.item-pergunta .item-sinal{background:var(--faixa)}
.item-pergunta .item-painel p{padding:0 clamp(16px,2.4vw,24px) 24px}
.areas-rodape{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}
.areas-rodape p{font-size:17px;line-height:1.5}

/* ---------- Processo ---------- */
.processo-wrap{display:flex;flex-direction:column;gap:clamp(32px,5vw,56px)}
.passos{display:flex;flex-wrap:wrap;gap:20px}
.passo{flex:1 1 300px;min-width:0;background:var(--fundo);border-radius:24px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:16px}
.passo h3{font-size:22px;font-weight:700;line-height:1.3}
.passo p{font-size:18px;line-height:1.67;text-wrap:pretty}
.processo-info{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}
.foto-processo{flex:4 1 300px;min-width:0;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 30%;border-radius:32px}
.processo-col{flex:7 1 420px;min-width:0;display:flex;flex-direction:column;gap:20px}
.info-pratica{background:var(--leitura);color:var(--texto-leitura);border-radius:28px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:28px 32px}
.info-pratica div{display:flex;flex-direction:column;gap:8px}
.info-pratica dt{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.4;color:var(--destaque-leitura)}
.info-pratica dd{font-size:19px;line-height:1.4}
.sigilo{background:var(--fundo);border-radius:28px;padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:12px}
.sigilo p{font-size:19px;line-height:1.6;text-wrap:pretty}

/* ---------- Depoimentos ---------- */
.depo-wrap{display:flex;flex-direction:column;gap:clamp(32px,4vw,48px)}
.depo-cabecalho{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 32px}
.depo-cabecalho > p{max-width:360px;font-size:15px;line-height:1.5}
.depo-lista{display:flex;flex-direction:column;gap:20px}
.depo{background:var(--faixa);border-radius:24px;padding:clamp(28px,3.5vw,40px);display:flex;flex-direction:column;gap:20px}
.depo-aspas{height:36px;font-family:'Brandcake',serif;font-size:80px;line-height:.6;color:var(--destaque)}
.depo blockquote p{font-size:18px;line-height:1.67;text-wrap:pretty}
.depo figcaption{font-size:16px;font-weight:700;line-height:1.5;color:var(--destaque)}
.depo-grande{border-radius:28px;padding:clamp(28px,5vw,56px) clamp(24px,5.5vw,64px);flex-direction:row;flex-wrap:wrap;gap:4px 24px}
.depo-grande .depo-aspas{flex:0 0 auto;height:clamp(48px,6vw,80px);font-size:clamp(88px,9vw,120px);line-height:.8}
.depo-grande-texto{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:24px}
.depo-grande blockquote p{max-width:820px;font-size:clamp(19px,1.7vw,21px);line-height:1.62}
.depo-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:20px}

/* ---------- Perguntas frequentes ---------- */
.perguntas-grade{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(32px,6vw,80px)}
.perguntas-intro{flex:4 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}
.perguntas-intro p{font-size:18px;line-height:1.7}
.perguntas-lista{flex:7 1 440px;min-width:0}

/* ---------- Instagram ---------- */
.instagram{padding:var(--secao) var(--margem) 0}
.instagram-linha{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px}

/* ---------- Chamada final ---------- */
.chamada{padding:clamp(48px,6vw,80px) var(--margem) var(--secao)}
.chamada-painel{background:var(--faixa);border-radius:32px;padding:clamp(20px,3.5vw,48px);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(28px,5vw,64px)}
.foto-chamada{flex:4 1 280px;min-width:0;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 100%;border-radius:24px}
.chamada-texto{flex:7 1 360px;min-width:0;display:flex;flex-direction:column;gap:24px;padding:clamp(4px,2vw,24px)}
.chamada-texto .lead{max-width:32em}
.chamada-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}

/* ---------- Rodapé ---------- */
.rodape{padding:clamp(8px,2vw,24px) var(--margem) clamp(40px,5vw,64px)}
.rodape-wrap{display:flex;flex-direction:column;gap:clamp(28px,4vw,40px)}
.rodape-linha{display:flex;flex-wrap:wrap;align-items:center;gap:28px 48px}
.rodape-emblema{width:clamp(200px,20vw,240px);height:auto}
.rodape-nome{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:8px}
.rodape-nome-marca{font-family:'Brandcake',serif;font-size:32px;line-height:1}
.contatos{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 20px;font-size:15px;line-height:1.5}
.contatos dt{font-weight:700}
.contatos a{color:var(--texto);text-underline-offset:3px;overflow-wrap:anywhere}
.contatos a:hover{text-decoration-thickness:2px}
.aviso{background:var(--faixa);border-radius:24px;padding:clamp(20px,3vw,28px) clamp(20px,3vw,32px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px;font-size:15px;line-height:1.55}
.aviso p:first-child{max-width:720px}

/* ---------- Barra fixa do WhatsApp (celular) ---------- */
.barra-fixa,.barra-fixa-espaco{display:none}

/* ---------- Pontos de quebra: 720 · 1240 ---------- */
@media (max-width:719.98px){
  .marca-monograma{display:none !important}
  .topo-cta,.inicio-cta{display:none}
  .barra-fixa-espaco{display:block;height:80px}
  .barra-fixa{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--fundo);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
  .barra-fixa .btn{display:flex;width:100%;padding:16px 24px}
  .barra-fixa .btn:hover{background:var(--acao);color:var(--acao-texto)}
  .barra-fixa .btn:active{background:var(--texto);color:var(--fundo);transform:none}
}
@media (min-width:1240px){
  .topo-acoes{gap:24px}
  .menu-principal{display:flex}
  .botao-menu,.menu-aberto{display:none !important}
}
