/* Landings por intencao (/terapia-online/, /terapia-de-casal/).
   Mesmos tokens visuais do site institucional. Mudou aqui = subir o ?v= nas 2 landings
   (o nginx guarda .css por 30 dias). */
@font-face { font-family:'Bodoni Moda'; font-style:normal; font-weight:400 600; font-display:swap; src:url(/assets/fonts/bodoni-moda-latin.woff2) format('woff2'); }
@font-face { font-family:'Inter Tight'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/assets/fonts/inter-tight-latin.woff2) format('woff2'); }

* { box-sizing:border-box; }
/* clip: o sol do hero sai 8% pela direita e, sem isto, a pagina ganhava 8px de rolagem lateral no celular */
html { scroll-behavior:smooth; overflow-x:clip; }
body { margin:0; background:#FCFAF6; font-family:'Inter Tight',sans-serif; color:#262320; overflow-x:hidden; }
::selection { background:#F2B50A; color:#262320; }
a { color:#C0410F; text-decoration:none; }
img { max-width:100%; }

.wrap { max-width:1180px; margin:0 auto; padding-left:clamp(20px,5vw,48px); padding-right:clamp(20px,5vw,48px); }
.sec { padding-top:clamp(56px,8vw,100px); padding-bottom:clamp(56px,8vw,100px); }
.sec.areia { background:#F6F1E7; }
.eyebrow { font-size:12px; letter-spacing:0.24em; text-transform:uppercase; color:#C0410F; font-weight:600; margin:0 0 16px; }
h1, h2.display { font-family:'Bodoni Moda',serif; font-weight:500; letter-spacing:-0.02em; margin:0; }
h1 { font-size:clamp(36px,6vw,62px); line-height:1.04; letter-spacing:-0.03em; margin-bottom:24px; text-wrap:balance; }
h2.display { font-size:clamp(30px,4.5vw,46px); line-height:1.1; margin-bottom:14px; max-width:24ch; }
.lead { font-size:clamp(16px,2vw,19px); line-height:1.65; color:#5b5c50; max-width:46ch; margin:0 0 32px; }
.sub { font-size:16px; line-height:1.6; color:#5b5c50; max-width:54ch; margin:0 0 44px; }
.nota { font-size:13px; color:#6b6457; margin:22px 0 0; }

/* nav */
.nav { position:sticky; top:0; z-index:50; background:rgba(252,250,246,0.94); backdrop-filter:blur(10px); border-bottom:1px solid #efe8da; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:14px; padding-bottom:14px; }
.brand { display:flex; flex-direction:column; justify-content:center; line-height:1; min-height:44px; padding:5px 0; }
/* nome completo numa linha: no celular a marca encolhe (nunca abaixo de 16px: Bodoni tem traço fino) e o botão encurta */
.brand .n { font-family:'Bodoni Moda',serif; font-weight:500; font-size:clamp(16px, calc(4.2vw + 2px), 21px); color:#262320; letter-spacing:-0.02em; white-space:nowrap; }
.brand .t { font-size:9px; letter-spacing:0.3em; text-transform:uppercase; color:#C0410F; font-weight:600; margin-top:4px; }

.btn-primary { background:#C0410F; color:#FCFAF6; font-weight:600; border-radius:100px; display:inline-block; font-size:16px; padding:16px 32px; }
.btn-primary:hover { background:#9a340c; }
.btn-primary.pequeno { font-size:14px; padding:11px 22px; min-height:44px; display:inline-flex; align-items:center; white-space:nowrap; }
@media (max-width:600px) { .btn-primary.pequeno { font-size:13px; padding:11px 16px; } }
@media (max-width:480px) { .btn-primary.pequeno .longo { display:none; } }
.btn-ghost { border:1.5px solid #262320; color:#262320; font-size:16px; font-weight:600; padding:15px 30px; border-radius:100px; display:inline-block; }
.btn-ghost:hover { background:#262320; color:#FCFAF6; }
.acoes { display:flex; flex-wrap:wrap; gap:14px; align-items:center; }

/* hero */
.hero-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:clamp(32px,5vw,64px); align-items:center; }
.hero-foto { position:relative; }
.hero-foto .sun { position:absolute; width:72%; aspect-ratio:1; border-radius:50%; background:#F2B50A; top:-6%; right:-8%; opacity:0.9; }
.hero-foto img { position:relative; width:100%; height:auto; max-height:600px; object-fit:cover; border-radius:20px; display:block; }

/* cards: numero, titulo e texto herdam as linhas do grid pai (subgrid), como no site */
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:18px; grid-template-rows:auto auto 1fr; }
.card { background:#FCFAF6; border-radius:18px; padding:32px 28px; grid-row:span 3; display:grid; grid-template-rows:subgrid; row-gap:0; }
.sec:not(.areia) .card { background:#F6F1E7; }
@supports not (grid-template-rows: subgrid) { .card { display:block; } .card h3 { min-height:calc(2 * 1.3em); } }
.card .num { font-family:'Bodoni Moda',serif; font-size:26px; color:#C0410F; }
.card h3 { font-size:19px; font-weight:600; letter-spacing:-0.01em; margin:14px 0 10px; }
.card p { font-size:15px; line-height:1.65; color:#5b5c50; margin:0; }

.passos { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:26px; background:#FCFAF6; border-radius:20px; padding:clamp(28px,4vw,44px); }
.sec:not(.areia) .passos { background:#F6F1E7; }
.passo { border-top:2px solid #C0410F; padding-top:18px; }
.passo h3 { font-size:15px; font-weight:600; margin:0 0 8px; }
.passo p { font-size:14px; line-height:1.65; color:#5b5c50; margin:0; }

.sobre p { font-size:16px; line-height:1.7; color:#5b5c50; margin:0 0 16px; }
.chips { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.chip { background:#E4DCCB; color:#262320; font-size:13px; font-weight:600; padding:9px 16px; border-radius:100px; }
.chip.green { background:#465849; color:#FCFAF6; }

.faq-lista { max-width:820px; display:flex; flex-direction:column; gap:12px; }
details.faq { background:#FCFAF6; border-radius:16px; padding:0 26px; }
.sec:not(.areia) details.faq { background:#F6F1E7; }
details.faq summary { cursor:pointer; padding:22px 0; font-size:16px; font-weight:600; display:flex; justify-content:space-between; align-items:center; gap:16px; list-style:none; }
details.faq summary::-webkit-details-marker { display:none; }
details.faq summary .plus { color:#C0410F; font-size:20px; flex-shrink:0; transition:transform .2s ease; }
details.faq[open] summary .plus { transform:rotate(45deg); }
details.faq p { font-size:15px; line-height:1.7; color:#5b5c50; margin:0; padding-bottom:24px; }

.cta-final { background:#C0410F; border-radius:20px; padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px); position:relative; overflow:hidden; }
.cta-final .bola { position:absolute; width:min(420px,80vw); height:min(420px,80vw); border-radius:50%; background:#F2B50A; right:-10%; top:-70%; opacity:0.35; }
.cta-final .dentro { position:relative; max-width:640px; }
.cta-final h2 { font-family:'Bodoni Moda',serif; font-weight:500; font-size:clamp(30px,4.8vw,50px); letter-spacing:-0.02em; line-height:1.08; color:#FCFAF6; margin:0 0 18px; text-wrap:balance; }
.cta-final p { font-size:16px; line-height:1.65; color:#FCFAF6; margin:0 0 30px; }
.cta-final a { background:#FCFAF6; color:#C0410F; font-size:16px; font-weight:700; padding:16px 34px; border-radius:100px; display:inline-block; }

.rodape { background:#262320; padding:clamp(40px,6vw,64px) clamp(20px,5vw,48px); }
.rodape-inner { max-width:1180px; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px; }
.rodape .nome { font-family:'Bodoni Moda',serif; font-weight:500; font-size:26px; color:#FCFAF6; letter-spacing:-0.02em; margin:0 0 6px; }
.rodape .crp { font-size:11px; letter-spacing:0.28em; text-transform:uppercase; color:#F2B50A; font-weight:600; margin:0; }
.rodape .links { display:flex; flex-direction:column; }
.link-rodape { font-size:14px; line-height:1.5; color:#c9bfae; padding:13px 0; display:block; }
.link-rodape:hover { color:#FCFAF6; }
.rodape .legal { max-width:1180px; margin:36px auto 0; border-top:1px solid #45403a; padding-top:20px; font-size:12px; color:#a79c88; }
