/* ============================================================
   Lucas Alfenas — Psicólogo Clínico
   Identidade: colagem terracota — papel kraft, formas facetadas,
   recortes assimétricos. Paleta: areia / terracota / quase-preto.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,600&family=Questrial&family=Literata:ital,opsz,wght@1,7..72,400;1,7..72,500&display=swap');

:root{
  /* ---- paleta principal (fornecida) ---- */
  --sand:        #C7B7A7;
  --terracotta:  #491C03;
  --ink:         #0B0000;

  /* ---- variações derivadas ---- */
  --sand-deep:    #AC987F;
  --sand-pale:    #E4D9CB;
  --paper:        #F6F0E6;
  --paper-deep:   #EEE2D0;
  --cream:        #FBF7F0;
  --terracotta-mid:    #7A3510;
  --terracotta-bright: #A8501C;
  --terracotta-line:   rgba(73,28,3,.16);
  --ink-soft:     #4A3A33;
  --btn-ink:      #FBF5EA;
  --shadow-tint:  rgba(11,0,0,.28);

  /* tipografia */
  --f-display: "Poppins", sans-serif;
  --f-body:    "Questrial", -apple-system, BlinkMacSystemFont, sans-serif;
  /* voz de terceiros (pacientes, filósofos): serifada de livro, em itálico */
  --f-quote:   "Literata", Georgia, serif;

  /* escala fluida */
  --step-1: clamp(2.1rem, 1.5rem + 2.6vw, 4rem);
  --step-2: clamp(1.7rem, 1.2rem + 1.8vw, 2.75rem);
  --step-3: clamp(1.05rem, .98rem + .4vw, 1.3rem);

  --ease: cubic-bezier(.16,.8,.28,1);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

body{
  margin:0;
  background:
    radial-gradient(circle at 10% 6%, rgba(73,28,3,.08), transparent 40%),
    radial-gradient(circle at 92% 20%, rgba(199,183,167,.5), transparent 42%),
    radial-gradient(circle at 12% 70%, rgba(73,28,3,.06), transparent 45%),
    radial-gradient(circle at 90% 92%, rgba(199,183,167,.4), transparent 46%),
    var(--paper);
  background-attachment:fixed;
  color:var(--ink);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
/* grão de papel sutil (SVG turbulence inline, leve, sem asset externo) */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
body > *{ position:relative; z-index:1; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

h1,h2,h3{
  font-family:var(--f-display);
  font-weight:800;
  line-height:1.08;
  margin:0 0 .5em;
  letter-spacing:-.02em;
  color:var(--ink);
}
h1{ font-size:var(--step-1); }
h2{ font-size:var(--step-2); letter-spacing:-.03em; line-height:1.06; }
h3{ font-family:var(--f-display); font-weight:700; font-size:1.2rem; letter-spacing:-.01em; }
p{ margin:0 0 1em; color:var(--ink-soft); }
.lede{ font-size:var(--step-3); color:var(--ink-soft); max-width:38em; }

.quote{ font-family:var(--f-display); font-style:italic; font-weight:600; }

::selection{ background:var(--terracotta); color:var(--btn-ink); }

:focus-visible{
  outline:2px solid var(--terracotta);
  outline-offset:3px;
  border-radius:2px;
}

.container{ width:100%; max-width:1180px; margin:0 auto; padding:0 24px; }

/* ---------- palavra em destaque (rabisco à mão) ---------- */
em{
  font-style:normal;
  color:var(--terracotta);
  position:relative;
  white-space:nowrap;
}
em::after{
  content:"";
  position:absolute; left:-2%; right:-2%; bottom:-.06em; height:.22em;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'><path d='M2 14 Q 30 4 55 12 T 110 10 T 165 13 T 198 8' fill='none' stroke='%23C7B7A7' stroke-width='7' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat; background-size:100% 100%;
  z-index:-1;
}

.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--f-display);
  font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--terracotta);
}

/* ---------- selo/ícone da marca (logomarca real, não svg genérico) ---------- */
.icon-badge{
  display:flex; align-items:center; justify-content:center;
  width:50px; height:50px; flex:none;
  background:var(--terracotta);
  clip-path: polygon(20% 0%, 80% 0%, 100% 22%, 100% 100%, 0% 100%, 0% 20%);
  box-shadow:0 12px 26px -14px var(--shadow-tint);
  margin-bottom:1rem;
  padding:9px;
}
.icon-badge img{ width:100%; height:100%; object-fit:contain; }
.icon-badge.sm{ width:38px; height:38px; margin-bottom:.7em; padding:7px; }
.icon-badge.dark{ background:var(--ink); }
.icon-badge.terracotta{ background:var(--terracotta); }
.icon-badge.illustrative{ background:var(--terracotta); padding:6px; }
.icon-badge.illustrative img{
  filter: url('../img/duotone-brown.svg#duotone-brown');
}
.temas-bg .icon-badge.illustrative img{
  filter: url('../img/duotone-brown.svg#duotone-brown') saturate(1.7) hue-rotate(18deg);
}
.section-head .icon-badge{ margin-bottom:1.1rem; }

/* variação cíclica das cores da marca nos selos (sem sair da paleta) */
.grid-3 .card:nth-child(3n+1) .icon-badge{ background:var(--terracotta); }
.grid-3 .card:nth-child(3n+2) .icon-badge{ background:var(--ink); }
.grid-3 .card:nth-child(3n+3) .icon-badge{ background:var(--sand-deep); }
.steps .step:nth-child(3n+1) .icon-badge{ background:var(--terracotta); }
.steps .step:nth-child(3n+2) .icon-badge{ background:var(--ink); }
.steps .step:nth-child(3n+3) .icon-badge{ background:var(--sand-deep); }

/* ---------- botões (pílula) ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.9em 1.7em; border-radius:999px;
  font-family:var(--f-display); font-weight:700; font-size:.92rem;
  border:2px solid transparent; cursor:pointer;
  transition:transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease);
  min-height:44px; text-align:center;
}
.btn-primary{ background:var(--terracotta); color:var(--btn-ink); box-shadow:0 10px 26px -10px rgba(73,28,3,.55); }
.btn-primary:hover{ background:var(--terracotta-mid); transform:translateY(-2px); box-shadow:0 16px 32px -10px rgba(73,28,3,.7); }
.btn-primary:active{ transform:translateY(0) scale(.97); box-shadow:0 6px 16px -10px rgba(73,28,3,.55); }
.btn-dark{ background:var(--ink); color:var(--btn-ink); box-shadow:0 10px 26px -10px rgba(11,0,0,.6); }
.btn-dark:hover{ background:#241512; transform:translateY(-2px); box-shadow:0 16px 32px -10px rgba(11,0,0,.75); }
.btn-dark:active{ transform:translateY(0) scale(.97); box-shadow:0 6px 16px -10px rgba(11,0,0,.6); }
.btn-ghost{ background:transparent; border-color:var(--terracotta-line); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--terracotta); color:var(--terracotta); }
.btn-ghost:active{ transform:scale(.97); }

/* ---------- nav ---------- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(246,240,230,.86);
  backdrop-filter:blur(12px) saturate(1.1);
  -webkit-backdrop-filter:blur(12px) saturate(1.1);
  border-bottom:1.5px solid var(--ink);
  transition:background .3s var(--ease), box-shadow .3s var(--ease);
}
.site-header.is-scrolled{ background:rgba(246,240,230,.95); box-shadow:0 10px 28px -22px rgba(11,0,0,.55); }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:12px 24px; max-width:1180px; margin:0 auto; transition:padding .3s var(--ease); }
.brand{ display:flex; align-items:center; gap:.6em; }
.brand img{ height:38px; width:auto; transition:height .3s var(--ease); }
/* ao rolar, o cabeçalho encolhe (só no desktop: no mobile o menu depende da altura fixa) */
@media (min-width:901px){
  .site-header.is-scrolled .nav{ padding-block:7px; }
  .site-header.is-scrolled .brand img{ height:32px; }
}

.nav-links{ display:flex; align-items:center; gap:1.9rem; list-style:none; margin:0; padding:0; font-family:var(--f-display); font-size:.9rem; font-weight:600; }
.nav-links a{ position:relative; padding:.3em 0; color:var(--ink-soft); white-space:nowrap; transition:color .2s var(--ease); }
/* telas médias: seis itens de menu + CTA precisam caber numa linha */
@media (min-width:901px) and (max-width:1199px){
  .nav{ gap:1rem; }
  .nav-links{ gap:1.15rem; font-size:.84rem; }
  .nav-social{ display:none; }
}
.nav-links a:hover, .nav-links a[aria-current="page"]{ color:var(--terracotta); }
.nav-links a[aria-current="page"]::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:3px; background:var(--terracotta); }

.nav-social{ display:flex; align-items:center; gap:.6rem; }
.nav-social a{
  display:flex; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%;
  background:var(--terracotta); color:var(--btn-ink);
  transition:background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease);
}
.nav-social a:hover{ background:var(--ink); color:var(--btn-ink); transform:translateY(-1px); }
.nav-social svg{ width:19px; height:19px; }
.nav-social img{ width:24px; height:24px; object-fit:contain; }

.nav-toggle{ display:none; }
.nav-cta{ display:flex; align-items:center; gap:.8rem; }

@media (max-width: 900px){
  .nav-links{
    position:fixed; top:64px; left:0; right:0; height:calc(100vh - 64px); height:calc(100dvh - 64px);
    background:var(--paper);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:1rem 24px 2rem; transform:translateY(-8px);
    opacity:0; visibility:hidden; transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
    border-top:1px solid var(--terracotta-line);
    overflow-y:auto;
  }
  .nav-links a{ display:block; width:100%; padding:.9em 0; border-bottom:1px solid var(--terracotta-line); }
  body.nav-open .nav-links{ opacity:1; visibility:visible; transform:translateY(0); }
  .nav-toggle{ display:inline-flex; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; border:none; background:transparent; cursor:pointer; }
  .nav-toggle span{ width:22px; height:2px; background:var(--ink); display:block; transition:transform .25s var(--ease), opacity .25s var(--ease); }
  body.nav-open .nav-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  body.nav-open .nav-toggle span:nth-child(2){ opacity:0; }
  body.nav-open .nav-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
  /* Instagram e WhatsApp continuam no menu do celular, no rodapé do painel aberto */
  .nav-social{ display:none; }
  /* o cabeçalho (backdrop-filter) é a referência do "fixed": medimos a partir do topo dele, que está no topo da tela */
  body.nav-open .nav-social{ display:flex; position:fixed; left:24px; top:calc(100dvh - 76px - env(safe-area-inset-bottom)); gap:.8rem; }
  body.nav-open .nav-social a{ width:44px; height:44px; }
}

/* ---------- moldura facetada (assinatura visual, ecoa a logomarca) ---------- */
.facet{ clip-path: polygon(16% 0%, 80% 0%, 100% 18%, 100% 84%, 84% 100%, 20% 100%, 0% 82%, 0% 16%); }
.facet-alt{ clip-path: polygon(0% 10%, 22% 0%, 100% 0%, 100% 76%, 78% 100%, 0% 100%); }
.facet-frame{ position:relative; isolation:isolate; }
.facet-frame::before{
  content:""; position:absolute; inset:-16px -16px auto auto; width:65%; height:65%;
  background:var(--terracotta); opacity:.9; z-index:-1; clip-path:inherit;
}
.facet-frame.facet::before{ clip-path:polygon(16% 0%, 80% 0%, 100% 18%, 100% 84%, 84% 100%, 20% 100%, 0% 82%, 0% 16%); }
.facet-frame::after{
  content:""; position:absolute; inset:auto -10px -10px auto; width:38%; height:38%;
  background:var(--sand); z-index:-1; clip-path: polygon(20% 0, 100% 0, 100% 100%, 0 80%);
}

/* recorte de papel — usado como divisor entre seções */
.torn{ position:relative; height:34px; margin-top:-1px; }
.torn svg{ width:100%; height:100%; display:block; }

/* confete geométrico decorativo (ecoa facetas da marca) */
.confetti{ position:absolute; pointer-events:none; z-index:0; }
.confetti span{
  position:absolute; display:block;
  clip-path: polygon(20% 0%, 80% 0%, 100% 22%, 100% 78%, 80% 100%, 20% 100%, 0% 78%, 0% 22%);
}

/* ---------- hero ---------- */
.hero{
  position:relative; overflow:hidden;
  min-height:max(clamp(440px, 58vh, 620px), 34vw);
  display:flex; align-items:flex-start;
  background-color:var(--paper);
}
.hero::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, var(--paper) 0%, var(--paper) 18%, rgba(246,240,230,.88) 30%, rgba(246,240,230,.35) 46%, rgba(246,240,230,0) 62%);
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg .slide{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:80% 42%;
  opacity:0; transition:opacity 1s ease;
}
/* a foto que entra espera a anterior quase sumir: sem dupla exposição entre rostos */
.hero-bg .slide.is-active{ opacity:1; transition-delay:.8s; animation:hero-settle 7s var(--ease) both; }
@keyframes hero-settle{ from{ scale:1.04; } to{ scale:1; } }
.hero-bg .slide.slide-retrato{ mix-blend-mode:multiply; }
/* café e consultório: mesma moldura à direita do texto, borda esquerda dissolvida.
   Sem zoom fixo: object-fit + object-position mantêm o enquadramento em qualquer tela. */
.hero-bg .slide.slide-cafe,
.hero-bg .slide.slide-consultorio{
  left:auto; right:0; width:58%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 40%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 40%);
}
.hero-bg .slide.slide-cafe{ object-position:50% 10%; }
.hero-bg .slide.slide-consultorio{ object-position:center 40%; }
@media (prefers-reduced-motion: reduce){ .hero-bg .slide{ transition:opacity .01ms linear; } }
.hero .container{ position:relative; z-index:3; padding-top:24px; padding-bottom:24px; }
.hero-copy{ max-width:620px; }
.hero-copy .eyebrow{ margin-bottom:.7em; }
.hero-copy h1{ font-size:clamp(1.8rem, 1.1rem + 2.4vw, 3.1rem); line-height:1.06; letter-spacing:-.03em; margin-bottom:.5em; }
.hero-copy .lede{ font-size:clamp(.98rem, .9rem + .3vw, 1.12rem); line-height:1.6; max-width:34em; }

@media (max-width:900px){
  .hero{
    display:block; min-height:0;
    padding:0; background:transparent; overflow:visible;
  }
  .hero::before{ display:none; }
  .hero-bg{
    position:relative; inset:auto;
    width:100%; height:min(83.33vw, 440px);
    overflow:hidden;
    -webkit-mask-image:linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
    mask-image:linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
  }
  .hero-bg .slide,
  .hero-bg .slide.slide-retrato,
  .hero-bg .slide.slide-cafe,
  .hero-bg .slide.slide-consultorio{
    inset:0; left:0; width:100%; height:100%;
    object-fit:cover; object-position:center top;
    transform:none; mix-blend-mode:normal;
    -webkit-mask-image:none; mask-image:none;
  }
  .hero .container{ padding-top:6px; padding-bottom:30px; }
}
.hero-actions{ display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; margin-top:1.3rem; }
.hero-pill{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--f-display); font-size:.82rem; font-weight:600; color:var(--ink);
  background:rgba(251,247,240,.7); padding:.55em 1.1em; border-radius:999px;
  border:1.5px solid rgba(11,0,0,.22);
}
.hero-pill svg{ width:14px; height:14px; color:var(--terracotta); }

/* ---------- seções ---------- */
section{ padding:clamp(68px, 8vw, 108px) 0; }
.section-alt{ background:var(--paper-deep); }

.section-dark{ background:var(--ink); color:var(--cream); }
.section-dark h2, .section-dark h3{ color:var(--cream); }
.section-dark p{ color:var(--sand); }
.section-dark .eyebrow{ color:var(--sand); }
.section-dark .card p{ color:var(--terracotta); }

/* seção "temas em que trabalho" — fundo simples (sem foto/gradiente pesados, por performance) */
.temas-bg{
  background-color:var(--paper-deep);
  background-image:linear-gradient(180deg, rgba(240,231,216,.5) 0%, rgba(240,231,216,.58) 100%), url('../img/textura-pedra-temas.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  position:relative; overflow:hidden;
}
.temas-bg h2{ color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.1); }

/* ---------- link "ver todos os temas" — editorial, com sublinhado e seta que se movem ---------- */
.temas-viewall{
  display:inline-flex; align-items:center; gap:1em;
  font-family:var(--f-display); font-weight:700; font-size:.95rem;
  color:#fff; text-decoration:none; text-shadow:0 2px 8px rgba(0,0,0,.1);
}
.temas-viewall-label{ position:relative; padding-bottom:.3em; }
.temas-viewall-label::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px;
  background:currentColor; opacity:.5;
  transform:scaleX(.4); transform-origin:left;
  transition:transform .32s var(--ease), opacity .32s var(--ease);
}
.temas-viewall:hover .temas-viewall-label::after{ transform:scaleX(1); opacity:1; }
.temas-viewall-arrow{
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid rgba(255,255,255,.55);
  transition:transform .32s var(--ease), background .32s var(--ease), border-color .32s var(--ease), color .32s var(--ease);
}
.temas-viewall:hover .temas-viewall-arrow{
  transform:translateX(5px);
  background:#fff; color:var(--ink); border-color:#fff;
}
/* cérebro grande e discreto, à direita do título, sangrando um pouco na borda da página */
.temas-bg::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:69px; top:-10px;
  width:290px; height:290px;
  background-image:url('../img/decor-cerebro-raio.png'); background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.55;
}
.temas-bg > *{ position:relative; z-index:1; }
@media (max-width:1000px){ .temas-bg::before{ width:210px; height:210px; right:-40px; } }
@media (max-width:700px){ .temas-bg::before{ width:150px; height:150px; right:-36px; top:-20px; opacity:.45; } }

.depoimentos-bg{ position:relative; padding:112px 0; }
.depoimentos-bg .grid{ gap:1.8rem; }
@media (max-width:900px){ .depoimentos-bg{ padding:72px 0; } }

/* seção "temas em que trabalho" — moldura e ícone sempre marrom, sem ciclo de cor */
.temas-grid .icon-badge{ background:var(--sand-pale) !important; }
.temas-grid .card .tag{ background:var(--sand-pale); color:var(--ink); }
.section-head{ max-width:640px; margin:0 0 3rem; }
.section-head.center{ margin-inline:auto; text-align:center; }

.grid{ display:grid; gap:1.5rem; }
.grid-2{ grid-template-columns:repeat(2,1fr); }
.grid-3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .grid-2, .grid-3{ grid-template-columns:1fr; } }

/* ---------- cartões (recorte de papel colado) ---------- */
.card{
  background:var(--cream);
  border:1.5px solid var(--ink);
  border-radius:22px;
  padding:2rem 1.9rem;
  box-shadow:4px 4px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.card:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--terracotta); }
.card h3{ color:var(--ink); }
.card-more{ display:block; margin-top:.9rem; font-family:var(--f-display); font-size:.8rem; font-weight:600; color:var(--ink-soft); transition:color .18s var(--ease); }
.card:hover .card-more{ color:var(--terracotta); }
.card .tag{
  display:inline-block; font-family:var(--f-display); font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--btn-ink); background:var(--terracotta); padding:.35em .75em; border-radius:999px; margin-bottom:.9em;
}

/* citação destaque */
.pull-quote{ position:relative; padding:3rem 0; text-align:center; }
.pull-quote blockquote{
  font-family:var(--f-display); font-weight:700; font-style:italic;
  font-size:clamp(1.4rem,1.1rem + 1.4vw,2.3rem);
  color:var(--terracotta); max-width:820px; margin:0 auto .6em; line-height:1.3;
}
.pull-quote cite{ font-family:var(--f-display); font-style:normal; font-weight:600; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }


/* citação de Sartre — a frase é a peça principal; retrato pequeno junto da assinatura */
.sartre{ background:var(--cream); border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); }
.sartre-inner{ margin:0 auto; max-width:1000px; text-align:center; }
.sartre-inner .eyebrow{ display:flex; justify-content:center; margin-bottom:1.6rem; }

/* leitura guiada: a seção fica presa na tela e as palavras "acendem" conforme a rolagem (classe posta pelo JS) */
.sartre.is-scrub{ padding:0; height:190vh; height:190svh; }
.sartre.is-scrub .sartre-inner{
  position:sticky; top:0; height:100vh; height:100svh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding-top:64px;
}
.sartre-quote .w{ opacity:var(--o, 1); transition:opacity .25s linear; }
.sartre.is-scrub .sartre-cite{ opacity:0; translate:0 10px; transition:opacity .6s var(--ease), translate .6s var(--ease); }
.sartre.is-scrub.is-read .sartre-cite{ opacity:1; translate:none; }
.sartre-progress{
  width:min(220px, 50vw); height:1.5px; margin:2.4rem auto 0;
  background:var(--terracotta-line); position:relative; overflow:hidden;
}
.sartre-progress::after{
  content:""; position:absolute; inset:0; background:var(--terracotta);
  transform-origin:left center; transform:scaleX(var(--p, 0));
}
.sartre:not(.is-scrub) .sartre-progress{ display:none; }

/* temas em formato de índice: tipografia no lugar de ícones */
.temas-index{
  list-style:none; margin:0; padding:.6rem 2.2rem;
  background:var(--cream); border:1.5px solid var(--ink); border-radius:22px;
  box-shadow:4px 4px 0 var(--terracotta);
}
.temas-index li + li{ border-top:1px solid var(--terracotta-line); }
.temas-index a{
  display:grid; grid-template-columns:minmax(10rem, .8fr) 1.4fr auto; align-items:center; gap:2rem;
  padding:1.35rem .4rem; position:relative;
}
.tema-nome{
  font-family:var(--f-display); font-weight:800; letter-spacing:-.025em; line-height:1.05;
  font-size:clamp(1.35rem, 1rem + 1.2vw, 2.1rem); color:var(--ink);
  transition:color .35s var(--ease), translate .45s var(--ease);
}
.tema-desc{ color:var(--ink-soft); font-size:.98rem; line-height:1.55; transition:color .35s var(--ease); }
.tema-seta{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  border:1.5px solid var(--terracotta-line); color:var(--ink);
  transition:background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease), rotate .45s var(--ease);
  rotate:-45deg;
}
/* ao passar o mouse, o tema escolhido ganha foco e os outros recuam (só com mouse: no toque o hover "gruda") */
@media (hover:hover){
  .temas-index:hover a:not(:hover) .tema-nome,
  .temas-index:hover a:not(:hover) .tema-desc{ color:rgba(11,0,0,.32); }
  .temas-index a:hover .tema-nome{ color:var(--terracotta); translate:8px 0; }
  .temas-index a:hover .tema-seta{ background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); rotate:0deg; }
}
/* no toque não há "passar o mouse": o item no centro da tela recebe o mesmo destaque (classe posta pelo JS) */
.temas-index.has-focus a:not(.is-focus) .tema-nome,
.temas-index.has-focus a:not(.is-focus) .tema-desc{ color:rgba(11,0,0,.32); }
.temas-index a.is-focus .tema-nome{ color:var(--terracotta); translate:8px 0; }
.temas-index a.is-focus .tema-seta{ background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); rotate:0deg; }
.temas-index a:focus-visible .tema-nome{ color:var(--terracotta); translate:8px 0; }
.temas-index a:focus-visible .tema-seta{ background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); rotate:0deg; }
@media (max-width:700px){
  .temas-index{ padding:.3rem 1.25rem; }
  .temas-index a{ grid-template-columns:1fr auto; gap:.35rem 1rem; padding:1.15rem 0; }
  .tema-nome{ grid-column:1; }
  .tema-desc{ grid-column:1; grid-row:2; font-size:.92rem; }
  .tema-seta{ grid-column:2; grid-row:1 / span 2; width:36px; height:36px; }
}
.sartre-quote{
  margin:0 auto; max-width:20em;
  font-family:var(--f-quote); font-style:italic; font-weight:500;
  font-size:clamp(1.8rem, 1.2rem + 2.6vw, 3.3rem); line-height:1.14; letter-spacing:-.015em;
  color:var(--ink); text-wrap:balance;
}
.sartre-cite{ display:inline-flex; align-items:center; gap:.9rem; margin-top:2.2rem; text-align:left; }
.sartre-cite img{ width:56px; height:56px; border-radius:50%; object-fit:cover; background:var(--sand); border:1.5px solid var(--ink); flex:none; }
.sartre-cite span{ font-size:.86rem; color:var(--ink-soft); line-height:1.4; }
.sartre-cite strong{ display:block; font-family:var(--f-display); font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta); }

/* frase de impacto — citação editorial + CTA, inspirada em sites de psicologia (espaço generoso, tom calmo) */
.impact-quote{ padding:80px 0; background:var(--paper-deep); }
.impact-quote-inner{
  position:relative; max-width:640px; margin:0 auto;
  border-left:4px solid var(--terracotta); padding-left:2.2rem;
}
.impact-quote-inner .quote-mark-bg{
  position:absolute; top:-2.6rem; left:-1.1rem; z-index:0; pointer-events:none;
  width:100px; height:75px; fill:var(--terracotta); opacity:.18;
}
.impact-quote-text{
  position:relative; z-index:1;
  font-family:var(--f-display); font-weight:700; font-style:normal;
  font-size:clamp(1.4rem, 1.05rem + 1.6vw, 2.1rem);
  line-height:1.38; letter-spacing:-.02em; color:var(--ink); margin:0 0 1.7rem;
}
.impact-quote .btn-primary .arrow{ display:inline-block; transition:transform .18s var(--ease); }
.impact-quote .btn-primary:hover .arrow{ transform:translateX(3px); }
@media (max-width:640px){
  .impact-quote{ padding:56px 0; }
  .impact-quote-inner{ border-left:none; border-top:4px solid var(--terracotta); padding-left:0; padding-top:1.8rem; }
  .impact-quote-inner .quote-mark-bg{ top:-2.2rem; left:0; }
}

/* processo numerado */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; counter-reset:step; }
@media (max-width:900px){ .steps{ grid-template-columns:1fr; } }
.step{
  position:relative; padding:2.8rem 1.6rem 1.8rem;
  background:var(--cream); border:1.5px solid var(--ink); border-radius:22px;
  box-shadow:4px 4px 0 var(--terracotta);
}
.step::before{
  counter-increment:step; content:counter(step);
  position:absolute; top:-1.15rem; left:1.5rem;
  font-family:var(--f-display); font-weight:800; font-size:1.15rem;
  width:2.3rem; height:2.3rem; border-radius:50%;
  background:var(--terracotta); color:var(--btn-ink);
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--ink);
}

/* barra de avaliação do Google */
.google-g{ width:44px; height:44px; object-fit:contain; flex:none; }
.google-g.sm{ width:26px; height:26px; }
.google-rating-row{ display:grid; grid-template-columns:1.15fr 1fr; gap:1.5rem; align-items:stretch; margin-bottom:2.5rem; }
@media (max-width:900px){ .google-rating-row{ grid-template-columns:1fr; } }
.google-rating-bar{
  display:flex; flex-direction:column; justify-content:center; gap:1.2rem; flex-wrap:wrap;
  background:var(--cream); border:1.5px solid var(--ink); border-radius:22px;
  padding:1.8rem 2.2rem; box-shadow:4px 4px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.google-rating-bar:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--terracotta); }
@media (min-width:640px){ .google-rating-bar{ flex-direction:row; align-items:center; justify-content:space-between; } }
.google-map-embed{
  border:1.5px solid var(--ink); border-radius:22px; overflow:hidden; min-height:200px;
  box-shadow:4px 4px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.google-map-embed:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--terracotta); }
.google-map-embed iframe{ width:100%; height:100%; min-height:200px; border:0; display:block; }
.google-rating-left{ display:flex; align-items:center; gap:1rem; }
.google-rating-left strong{ display:block; font-family:var(--f-display); font-size:.85rem; color:var(--ink-soft); font-weight:600; }
.google-rating-score{ display:flex; align-items:baseline; gap:.6em; flex-wrap:wrap; }
.google-rating-score .score{ font-family:var(--f-display); font-weight:800; font-size:1.8rem; color:var(--ink); }
.google-rating-score .stars-row{ color:var(--terracotta); letter-spacing:.1em; font-size:1.1rem; }
.google-rating-score .based-on{ font-size:.85rem; color:var(--ink-soft); }

.testimonial-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.testimonial-head strong{ display:block; font-family:var(--f-display); font-weight:700; font-size:.98rem; color:var(--ink); }
.testimonial-head .stars{ margin:0; font-size:.9rem; }

/* depoimento */
.testimonial{
  position:relative; overflow:hidden;
  background:var(--cream); border:1.5px solid var(--ink); border-radius:22px;
  padding:2.4rem 2.2rem; max-width:680px; margin:0 auto; box-shadow:4px 4px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.testimonial:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--terracotta); }
.testimonial::before{
  content:"\201C"; position:absolute; top:-.3rem; right:1.3rem; z-index:0;
  font-family:var(--f-display); font-weight:800; font-size:4.6rem; line-height:1;
  color:var(--terracotta); opacity:.14; pointer-events:none;
}
.testimonial-head, .testimonial p, .testimonial footer{ position:relative; z-index:1; }
.testimonial .stars{ color:var(--terracotta); letter-spacing:.15em; margin-bottom:.8em; }
.testimonial p{ font-family:var(--f-quote); font-style:italic; font-weight:400; font-size:1.1rem; line-height:1.6; color:var(--ink); }
.testimonial footer{ margin-top:1.2em; font-weight:700; font-family:var(--f-display); font-size:.9rem; color:var(--terracotta); }

/* faq accordion — a pergunta é a voz de quem chega (serifada itálica), como no diálogo da home */
.faq-item{ border-bottom:1px solid var(--terracotta-line); interpolate-size:allow-keywords; }
.faq-item:last-child{ border-bottom:0; }
.faq-item summary{
  cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:1.2rem;
  padding:1.45rem 0;
  font-family:var(--f-quote); font-style:italic; font-weight:500; font-size:clamp(1.12rem, 1rem + .45vw, 1.35rem); line-height:1.35; color:var(--ink);
  transition:color .2s var(--ease);
}
.faq-item summary:hover{ color:var(--terracotta); }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+"; flex:none; display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%; border:1.5px solid var(--terracotta-line);
  font-family:var(--f-display); font-style:normal; font-size:1.2rem; color:var(--terracotta);
  transition:transform .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.faq-item[open] summary::after{ transform:rotate(45deg); background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); }
.faq-item p{ padding-bottom:1.6rem; max-width:60em; }
/* abre e fecha com altura animada (navegadores recentes; nos outros abre direto) */
.faq-item::details-content{ block-size:0; overflow:hidden; transition:block-size .45s var(--ease), content-visibility .45s allow-discrete; }
.faq-item[open]::details-content{ block-size:auto; }

/* ============================================================
   Fecho de página — o último convite, em tinta, alinhado à esquerda
   ============================================================ */
.fecho{ position:relative; overflow:hidden; isolation:isolate; background:var(--ink); color:var(--cream); padding:clamp(80px, 9vw, 128px) 0; }
.fecho::before{
  content:""; position:absolute; z-index:-1; right:-60px; bottom:-80px; pointer-events:none;
  width:min(44vw, 440px); height:min(44vw, 440px);
  background:url('../img/icon-claro.png') no-repeat center / contain; opacity:.06;
}
.fecho-grid{ display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(2.5rem, 6vw, 6rem); align-items:end; }
.fecho .eyebrow{ color:var(--sand); margin-bottom:1rem; }
.fecho h2{ color:var(--cream); font-size:clamp(2rem, 1.3rem + 2.8vw, 3.6rem); line-height:1.04; letter-spacing:-.035em; margin-bottom:.45em; max-width:14em; }
.fecho h2 em{ color:var(--sand); }
.fecho h2 em::after{ opacity:.35; }
.fecho-text p{ color:var(--sand); font-size:var(--step-3); max-width:30em; margin:0; }
.fecho-acoes{ display:flex; flex-direction:column; align-items:flex-start; gap:1.3rem; padding-left:clamp(0rem, 3vw, 2.5rem); border-left:1px solid rgba(199,183,167,.25); }
.fecho-acoes .btn{ font-size:1rem; padding:1.05em 2em; }
.fecho-acoes .btn .arrow{ display:inline-block; transition:transform .2s var(--ease); }
.fecho-acoes .btn:hover .arrow{ transform:translateX(4px); }
.fecho-acoes .viewall-link{ color:var(--cream); }
.fecho-acoes .viewall-link-label::after{ background:var(--sand); }
.fecho-acoes .viewall-link-arrow{ color:var(--cream); border-color:rgba(228,217,203,.4); }
.fecho-acoes .viewall-link:hover .viewall-link-arrow{ background:var(--cream); color:var(--ink); border-color:var(--cream); }
.fecho-info{ margin:0; font-family:var(--f-display); font-size:.82rem; font-weight:600; letter-spacing:.02em; color:var(--sand); opacity:.8; line-height:1.6; }
.fecho-info a{ color:var(--cream); }
@media (max-width:820px){
  .fecho-grid{ grid-template-columns:1fr; align-items:start; }
  .fecho-acoes{ padding-left:0; border-left:0; padding-top:1.8rem; border-top:1px solid rgba(199,183,167,.25); }
}

/* ============================================================
   Percurso — as três etapas como uma linha que se traça com a rolagem
   ============================================================ */
.percurso{ --p:0; position:relative; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(1.8rem, 4vw, 3.5rem); }
.percurso::before,
.percurso::after{ content:""; position:absolute; left:0; right:0; top:8px; height:1.5px; }
.percurso::before{ background:var(--terracotta-line); }
.percurso::after{ background:var(--terracotta); transform-origin:left center; transform:scaleX(var(--p)); }
.percurso-passo{ position:relative; padding-top:2.6rem; }
.percurso-marco{
  position:absolute; left:0; top:0; z-index:1;
  width:17px; height:17px; border-radius:50%;
  background:var(--paper); border:1.5px solid var(--ink);
  transition:background .4s var(--ease), scale .4s var(--ease), box-shadow .4s var(--ease);
}
.percurso-passo.is-reached .percurso-marco{ background:var(--terracotta); scale:1.15; box-shadow:0 0 0 6px rgba(73,28,3,.1); }
.percurso-etapa{ display:block; margin-bottom:.7rem; font-family:var(--f-display); font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); }
.percurso-passo h3{ font-size:clamp(1.2rem, 1rem + .6vw, 1.5rem); font-weight:800; letter-spacing:-.02em; line-height:1.15; margin-bottom:.7rem; }
.percurso-passo p{ margin:0; line-height:1.7; }
@media (max-width:900px){
  .percurso{ grid-template-columns:1fr; gap:2.4rem; }
  .percurso::before, .percurso::after{ left:8px; right:auto; top:0; bottom:0; width:1.5px; height:auto; }
  .percurso::after{ transform-origin:center top; transform:scaleY(var(--p)); }
  .percurso-passo{ padding:0 0 0 2.6rem; }
}

/* ============================================================
   Barra de atalhos (temas, dúvidas) — presa sob o cabeçalho, marca onde você está
   ============================================================ */
.atalhos{
  position:sticky; top:var(--header-h, 64px); z-index:30;
  background:rgba(246,240,230,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--terracotta-line);
}
.atalhos-inner{
  display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; padding:.75rem 24px;
  max-width:1180px; margin:0 auto;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.atalhos-inner::-webkit-scrollbar{ display:none; }
.atalhos a{
  flex:none; padding:.45em 1em; border-radius:999px; border:1.5px solid var(--terracotta-line);
  font-family:var(--f-display); font-size:.8rem; font-weight:600; color:var(--ink-soft); white-space:nowrap;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.atalhos a:hover{ border-color:var(--terracotta); color:var(--terracotta); }
.atalhos a.is-current{ background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); }

/* ============================================================
   Temas que trabalho — verbetes (nome grande à esquerda, leitura à direita)
   ============================================================ */
.verbetes{ padding-top:clamp(40px, 5vw, 64px); }
.verbete{
  display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(1.5rem, 5vw, 5rem);
  padding:2.4rem 0; border-top:1.5px solid var(--ink); scroll-margin-top:150px;
}
.verbete:last-child{ border-bottom:1.5px solid var(--ink); }
.verbete-nome{
  margin:0; font-size:clamp(1.8rem, 1.2rem + 2.2vw, 3rem); font-weight:800; letter-spacing:-.035em; line-height:1;
  color:var(--ink); transition:color .3s var(--ease);
}
.verbete:target .verbete-nome, .verbete.is-current .verbete-nome{ color:var(--terracotta); }
.verbete-texto h3{ font-size:clamp(1.15rem, 1rem + .4vw, 1.35rem); margin-bottom:.6rem; }
.verbete-texto p{ margin:0; line-height:1.75; max-width:38em; }
.verbete-link{ display:inline-flex; align-items:center; gap:.5em; margin-top:1.1rem; font-family:var(--f-display); font-weight:700; font-size:.88rem; color:var(--terracotta); }
.verbete-link span{ transition:transform .2s var(--ease); }
.verbete-link:hover span{ transform:translateX(4px); }
@media (max-width:760px){
  .verbete{ grid-template-columns:1fr; gap:.9rem; padding:1.9rem 0; }
}

/* ============================================================
   Dúvidas — perguntas agrupadas, índice lateral fixo
   ============================================================ */
.faq-layout{ display:grid; grid-template-columns:.62fr 1.38fr; gap:clamp(2rem, 5vw, 5rem); align-items:start; }
.faq-aside{ position:sticky; top:calc(var(--header-h, 64px) + 32px); display:flex; flex-direction:column; gap:1.8rem; }
.faq-indice{ display:flex; flex-direction:column; border-top:1.5px solid var(--ink); }
.faq-indice a{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:.95rem 0; border-bottom:1px solid var(--terracotta-line);
  font-family:var(--f-display); font-weight:700; font-size:.95rem; color:rgba(11,0,0,.45);
  transition:color .25s var(--ease), padding .3s var(--ease);
}
.faq-indice a span{ font-weight:600; font-size:.78rem; }
.faq-indice a:hover{ color:var(--ink); }
.faq-indice a.is-current{ color:var(--terracotta); padding-left:.6rem; }
.faq-aside-nota{ margin:0; font-size:.92rem; }
.faq-aside-nota a{ display:inline-block; margin-top:.4rem; font-family:var(--f-display); font-weight:700; color:var(--terracotta); }
.faq-grupo{ scroll-margin-top:calc(var(--header-h, 64px) + 24px); }
.faq-grupo + .faq-grupo{ margin-top:3.2rem; }
.faq-grupo-titulo{ font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); margin:0 0 1rem; font-family:var(--f-display); }
/* telas menores: o mesmo índice, deitado numa faixa presa sob o cabeçalho */
@media (max-width:900px){
  .faq-layout{ grid-template-columns:minmax(0, 1fr); gap:1.6rem; }
  .faq-aside{
    top:var(--header-h, 64px); z-index:20; gap:0;
    margin:0 -24px; padding:.7rem 24px;
    background:rgba(246,240,230,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--terracotta-line);
  }
  .faq-indice{ flex-direction:row; gap:.5rem; border-top:0; overflow-x:auto; scrollbar-width:none; }
  .faq-indice::-webkit-scrollbar{ display:none; }
  .faq-indice a{
    flex:none; gap:.5rem; padding:.45em 1em; border:1.5px solid var(--terracotta-line); border-radius:999px;
    font-size:.8rem; white-space:nowrap; color:var(--ink-soft);
  }
  .faq-indice a.is-current{ padding-left:1em; background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); }
  .faq-aside-nota{ display:none; }
}

/* ============================================================
   Blog — texto em destaque + índice de leituras
   ============================================================ */
.blog-destaque{
  display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.8rem, 5vw, 4.5rem); align-items:end;
  padding:clamp(2rem, 1.4rem + 2.6vw, 3.6rem);
  background:var(--cream); border:1.5px solid var(--ink); border-radius:22px; box-shadow:4px 4px 0 var(--terracotta);
  margin-bottom:2.2rem; transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.blog-destaque:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--terracotta); }
.blog-destaque .eyebrow{ display:flex; margin-bottom:1rem; }
.blog-destaque h2{ margin:0; font-size:clamp(2rem, 1.3rem + 2.8vw, 3.5rem); line-height:1.02; letter-spacing:-.04em; }
.blog-destaque p{ margin:0 0 1.4rem; font-size:var(--step-3); line-height:1.6; }
.blog-destaque-acao{ display:inline-flex; align-items:center; gap:.8rem; font-family:var(--f-display); font-weight:700; font-size:.92rem; color:var(--ink); }
.blog-destaque:hover .tema-seta{ background:var(--terracotta); border-color:var(--terracotta); color:var(--btn-ink); rotate:0deg; }
@media (max-width:760px){ .blog-destaque{ grid-template-columns:1fr; } }
/* índice de leituras: mesma lógica do índice de temas, com a etiqueta do tema na primeira coluna */
.temas-index.blog-index a{ grid-template-columns:9rem 1fr auto; }
.blog-index .tema-tag{ font-family:var(--f-display); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta); }
.blog-index .tema-nome{ font-size:clamp(1.15rem, .95rem + .8vw, 1.6rem); }
.blog-index .tema-desc{ display:block; margin-top:.35rem; font-family:var(--f-body); font-weight:400; font-size:.95rem; letter-spacing:0; color:var(--ink-soft); }
@media (max-width:700px){
  .temas-index.blog-index a{ grid-template-columns:1fr auto; }
  .blog-index .tema-tag{ grid-column:1; }
  .blog-index .tema-nome{ grid-column:1; grid-row:2; }
  .blog-index .tema-seta{ grid-row:1 / span 2; }
}

/* ============================================================
   Artigos — capitular e "continue lendo"
   ============================================================ */
.post-body > div:first-child > p:first-child::first-letter{
  float:left; margin:.08em .12em 0 0;
  font-family:var(--f-quote); font-style:italic; font-weight:500; font-size:3.6em; line-height:.82; color:var(--terracotta);
}
.continue-lendo{ padding-top:0; }
.continue-lendo .container{ max-width:860px; }
.continue-lendo h2{ font-size:.8rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--terracotta); margin-bottom:1.2rem; font-family:var(--f-display); }

/* faixa "sobre mim" — foto grande ocupando toda a altura da seção */
/* foto de ponta a ponta à esquerda, texto respirando à direita */
.about-strip{ padding:0; border-bottom:1.5px solid var(--ink); }
.about-strip-grid{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; gap:0; }
.about-strip-photo{ position:relative; overflow:hidden; min-height:clamp(480px, 46vw, 720px); background:#EFE4DA; }
.about-strip-photo img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 18%;
}
.about-strip-photo .about-strip-caption{ display:none; }
.about-strip-text{ padding:clamp(48px, 6vw, 104px) clamp(24px, 6vw, 96px); max-width:640px; }
.about-strip-text h2{ font-size:clamp(1.8rem, 1.2rem + 1.8vw, 2.8rem); letter-spacing:-.03em; line-height:1.06; }
.about-strip-text p{ font-size:1.05rem; line-height:1.7; }
.about-strip-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:1; padding:1.4rem 1.2rem 1.1rem;
  background:linear-gradient(0deg, rgba(11,0,0,.92) 0%, rgba(11,0,0,.55) 55%, transparent 100%);
  color:#fff; text-align:center;
}
.about-strip-caption strong{ display:block; font-family:var(--f-display); font-weight:700; font-size:1.05rem; }
.about-strip-caption span{ display:block; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sand); margin-top:.25em; }
.about-strip-text{ display:flex; flex-direction:column; justify-content:center; }
.about-strip-text .viewall-link{ margin-top:.6em; align-self:flex-start; }

/* ---------- faixa dividida: foto de ponta a ponta numa metade, texto na outra ---------- */
.split{ padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); }
.split-photo{ position:relative; min-height:clamp(460px, 44vw, 680px); }
.split-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.split-text{ align-self:center; max-width:620px; padding:clamp(56px, 7vw, 108px) clamp(24px, 5vw, 88px); }
.split-text p{ font-size:1.05rem; line-height:1.7; }
.split.photo-right .split-photo{ order:2; }
.split.photo-right .split-text{ margin-left:auto; }
@media (max-width:900px){
  .split{ grid-template-columns:1fr; }
  .split .split-photo{ order:-1; min-height:0; aspect-ratio:4/5; }
  .split .split-text{ margin:0; padding:44px 24px 56px; }
}

/* ---------- bloco editorial: título à esquerda (fixo ao rolar), texto à direita ---------- */
.editorial-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem, 6vw, 5rem); align-items:start; }
.editorial-head{ position:sticky; top:110px; }
.editorial-body p{ font-size:1.05rem; line-height:1.75; }
@media (max-width:900px){
  .editorial-grid{ grid-template-columns:1fr; gap:1.2rem; }
  .editorial-head{ position:static; }
}

/* ---------- link "ver mais" — versão clara, para fundos de papel ---------- */
.viewall-link{
  display:inline-flex; align-items:center; gap:1em;
  font-family:var(--f-display); font-weight:700; font-size:.95rem;
  color:var(--ink); text-decoration:none;
}
.viewall-link-label{ position:relative; padding-bottom:.3em; }
.viewall-link-label::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px;
  background:var(--terracotta); opacity:.45;
  transform:scaleX(.4); transform-origin:left;
  transition:transform .32s var(--ease), opacity .32s var(--ease);
}
.viewall-link:hover .viewall-link-label::after{ transform:scaleX(1); opacity:1; }
.viewall-link-arrow{
  display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:36px; height:36px; border-radius:50%;
  border:1.5px solid var(--terracotta-line); color:var(--ink);
  transition:transform .32s var(--ease), background .32s var(--ease), border-color .32s var(--ease), color .32s var(--ease);
}
.viewall-link:hover .viewall-link-arrow{
  transform:translateX(5px);
  background:var(--terracotta); color:var(--btn-ink); border-color:var(--terracotta);
}
@media (max-width:900px){
  .about-strip-grid{ grid-template-columns:1fr; }
  .about-strip-photo{ min-height:0; aspect-ratio:4/5; width:100%; }
  .about-strip-text{ padding:44px 24px 56px; }
}

/* identificação / faixa de credenciais */
.credential-strip{ padding:36px 0; border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); background:var(--sand-pale); }
.credential-strip .container{ display:flex; flex-wrap:wrap; gap:1.5rem 3rem; align-items:center; justify-content:space-between; }
.credential-item{ display:flex; align-items:center; gap:.9rem; }
.credential-item img{ width:54px; height:54px; border-radius:50%; object-fit:cover; border:1.5px solid var(--ink); }
.credential-item strong{ display:block; font-family:var(--f-display); font-size:.95rem; }
.credential-item span{ font-size:.82rem; color:var(--ink-soft); }
.credential-badge{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--f-display); font-weight:700; font-size:.82rem; color:var(--terracotta); }

/* telas menores: as mesmas informações do desktop, só reorganizadas em duas linhas */
@media (max-width:760px){
  .credential-strip{ padding:22px 0; }
  .credential-strip .container{ gap:1rem; }
  .credential-item img{ width:46px; height:46px; }
  .credential-meta{ width:100%; gap:.4rem 1.2rem !important; font-size:.8rem !important; padding-top:.9rem; border-top:1px solid var(--terracotta-line); }
  .credential-address{ flex-basis:100%; }
}

/* elementos decorativos de fundo — PNGs com fundo já removido, baixa opacidade */
.hero::after{
  content:""; position:absolute; z-index:2; pointer-events:none;
  left:-15px; bottom:-15px; width:190px; height:190px;
  background-image:url('../img/decor-andorinha.png'); background-size:contain; background-repeat:no-repeat;
  opacity:.11;
}
@media (max-width:900px){
  .hero::after{
    left:auto; right:10px; top:calc(min(83.33vw, 440px) - 6px); bottom:auto;
    width:120px; height:120px;
    transform:scaleX(-1);
    opacity:.11;
  }
}
.decor-ferradura{ position:relative; overflow:hidden; }
.decor-ferradura::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:-20px; top:-50px; width:240px; height:240px;
  background-image:url('../img/decor-ferradura.png'); background-size:contain; background-repeat:no-repeat;
  opacity:.16;
}
.decor-ferradura > *{ position:relative; z-index:1; }
.decor-cerebro{
  position:relative; overflow:hidden;
  background-color:var(--paper);
}
.decor-cerebro .section-head{ position:relative; z-index:0; }
.decor-cerebro .section-head::after{
  content:""; position:absolute; z-index:-1; pointer-events:none;
  left:50%; bottom:100%; margin-bottom:14px; transform:translateX(-50%);
  width:32px; height:55px;
  background-image:url('../img/decor-ampulheta-agendar.png'); background-size:contain; background-repeat:no-repeat;
  opacity:.28;
}
.decor-cerebro > *{ position:relative; z-index:1; }
@media (max-width:900px){ .decor-cerebro .section-head::after{ width:26px; height:45px; margin-bottom:8px; } }
@media (max-width:700px){
  .decor-ferradura::before{ width:150px; height:150px; right:-30px; top:-30px; }
}

/* footer */
.site-footer{
  position:relative; overflow:hidden;
  background:var(--ink); color:var(--sand-pale); padding:64px 0 32px;
}
.site-footer::before{
  content:""; position:absolute; right:-40px; bottom:-40px; width:min(46vw,420px); height:min(46vw,420px);
  background-image:url('../img/icon-claro.png'); background-repeat:no-repeat; background-size:contain;
  opacity:.06; pointer-events:none;
}
.site-footer a{ color:var(--sand-pale); opacity:.9; }
.site-footer a:hover{ opacity:1; color:var(--sand); }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2.5rem; position:relative; z-index:1; }
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .footer-grid{ grid-template-columns:1fr; } }
.footer-grid h4{ font-family:var(--f-display); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--sand); margin-bottom:1em; }
.footer-grid ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6em; font-size:.92rem; }
.footer-bottom{
  position:relative; z-index:1; margin-top:3rem; padding-top:1.5rem; border-top:1px solid rgba(199,183,167,.25);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.8rem; opacity:.75;
}

/* whatsapp fab */
.whatsapp-fab{
  position:fixed; right:20px; bottom:20px; z-index:50;
  width:58px; height:58px; border-radius:50%;
  background:var(--terracotta); color:var(--btn-ink);
  display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--ink);
  box-shadow:0 14px 30px -12px var(--shadow-tint);
  transition:transform .25s var(--ease);
}
.whatsapp-fab:hover{ transform:scale(1.08); background:var(--terracotta-mid); }
.whatsapp-fab img{ width:34px; height:34px; object-fit:contain; }

/* reveal on scroll — usa `translate` (não `transform`) para não brigar com o hover dos cartões.
   Irmãos entram em sequência (--reveal-delay, definido no main.js); ao terminar, o JS remove a classe. */
.reveal{
  opacity:0; translate:0 18px;
  transition:opacity .8s var(--ease), translate .8s var(--ease);
  transition-delay:var(--reveal-delay, 0ms);
}
.reveal.is-visible{ opacity:1; translate:none; }

/* hero: o texto entra em camadas, não em bloco */
.hero-copy.reveal{ opacity:1; translate:none; }
.hero-copy.reveal > *{ opacity:0; translate:0 14px; transition:opacity .9s var(--ease), translate .9s var(--ease); }
.hero-copy.reveal.is-visible > *{ opacity:1; translate:none; }
.hero-copy.reveal.is-visible > :nth-child(2){ transition-delay:.12s; }
.hero-copy.reveal.is-visible > :nth-child(3){ transition-delay:.26s; }
.hero-copy.reveal.is-visible > :nth-child(4){ transition-delay:.4s; }

/* assinatura: o rabisco sob a palavra em destaque é "desenhado" quando o bloco aparece */
.reveal em::after{ transform:scaleX(0); transform-origin:left center; transition:transform .9s var(--ease) calc(var(--reveal-delay, 0ms) + .55s); }
.reveal.is-visible em::after{ transform:scaleX(1); }

/* fotos: assentam dentro da própria moldura (zoom + recorte que se compensam) */
.media-reveal{ scale:1.08; clip-path:inset(3.7%); transition:scale 1.6s var(--ease), clip-path 1.6s var(--ease); }
.media-reveal.is-visible{ scale:1; clip-path:inset(0); }
/* o zoom inicial não pode empurrar a página para os lados */
.split-photo, .fora-consultorio-photo, .about-strip-photo, .sobre-hero-photo, .sobre-closing-art, .sobre-espaco{ overflow:clip; }

/* barra de leitura (artigos do blog) */
.read-progress{
  position:fixed; top:0; left:0; right:0; height:3px; z-index:60;
  background:var(--terracotta); transform-origin:left center; transform:scaleX(0);
  pointer-events:none;
}
.post-meta{ margin:-.2em 0 0; font-family:var(--f-display); font-size:.82rem; font-weight:600; letter-spacing:.04em; color:var(--ink-soft); }

/* acessibilidade: atalho para pular o menu */
.skip-link{
  position:absolute; left:16px; top:-64px; z-index:100;
  background:var(--ink); color:var(--cream);
  padding:.7em 1.1em; border-radius:10px;
  font-family:var(--f-display); font-weight:700; font-size:.9rem;
  transition:top .2s var(--ease);
}
.skip-link:focus{ top:12px; }

/* rodapé: linha de apoio em crise */
.footer-crisis{ flex-basis:100%; margin:0 0 .3rem; color:var(--sand-pale); font-size:.86rem; }
.footer-crisis a{ font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* ficha prática (lista de definição) */
.facts{ margin:1.6rem 0 1.9rem; border-top:1.5px solid var(--ink); }
.facts > div{ display:grid; grid-template-columns:8.5rem 1fr; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--terracotta-line); }
.facts dt{ font-family:var(--f-display); font-weight:700; font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; color:var(--terracotta); padding-top:.25em; }
.facts dd{ margin:0; color:var(--ink-soft); }
@media (max-width:520px){
  .facts > div{ grid-template-columns:1fr; gap:.2rem; }
}

/* page hero simples (subpáginas) */
.page-hero{ padding:56px 0 48px; }
.page-hero .eyebrow{ margin-bottom:.8em; }
.duvidas-cards-banner{
  background-color:#3A2410;
  background-image:linear-gradient(180deg, rgba(35,20,10,.86) 0%, rgba(35,20,10,.75) 100%), url('../img/textura-pedra-duvidas.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
  position:relative; overflow:hidden;
}
.duvidas-cards-banner::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:96px; top:30px;
  width:150px; height:186px;
  background-image:url('../img/decor-interrogacao-duvidas.png'); background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.16;
}
.duvidas-cards-banner > *{ position:relative; z-index:1; }
@media (max-width:700px){
  .duvidas-cards-banner::before{ width:150px; height:185px; right:54px; top:0px; }
}
/* seção "minha proposta para a terapia é diferente" — flor/espiral discreta à esquerda */
.proposta-bg{
  position:relative; overflow:hidden;
  background-color:var(--paper-deep);
}
.proposta-bg::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:-70px; bottom:-90px;
  width:340px; height:360px;
  background-image:url('../img/icon-logomark-tattoo-white.png'); background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.24;
}
.proposta-bg > *{ position:relative; z-index:1; }
@media (max-width:900px){ .proposta-bg::before{ width:200px; height:210px; right:-60px; bottom:-60px; opacity:.2; } }

.duvidas-cards-banner h2{ color:#FBF7F0; }
.duvidas-cards-banner .eyebrow{ color:var(--sand); }
.duvidas-cards-banner:has(.dialogo)::before{ right:auto; left:24px; top:auto; bottom:28px; }

/* "antes de começar" — diálogo escrito: travessão como em livro;
   a pergunta é a voz de quem chega (serifada itálica), a resposta é a minha voz */
.dialogo{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2.5rem, 6vw, 6rem); align-items:start; }
.dialogo-head{ position:sticky; top:120px; }
.dialogo-head h2{ margin-bottom:1.6rem; }
.dialogo-par{ padding:2.2rem 0; }
.dialogo-par + .dialogo-par{ border-top:1px solid rgba(228,217,203,.2); }
.dialogo-par:first-child{ padding-top:0; }
.dialogo-pergunta{
  position:relative; margin:0 0 1.1rem; padding-left:1.4em;
  font-family:var(--f-quote); font-style:italic; font-weight:500;
  font-size:clamp(1.45rem, 1.1rem + 1.3vw, 2.2rem); line-height:1.22; letter-spacing:-.01em;
  color:#FBF7F0; text-wrap:balance;
}
.dialogo-pergunta::before{ content:"—"; position:absolute; left:0; top:0; color:var(--sand); opacity:.7; }
.section-dark .dialogo-resposta{
  margin:0 0 0 1.4em; padding-left:1.3rem;
  border-left:1.5px solid rgba(199,183,167,.45);
  font-size:1.02rem; line-height:1.75; color:var(--sand-pale);
}
/* a resposta chega depois da pergunta */
.dialogo-par.reveal .dialogo-resposta{ opacity:0; translate:0 10px; transition:opacity .8s var(--ease) calc(var(--reveal-delay, 0ms) + .35s), translate .8s var(--ease) calc(var(--reveal-delay, 0ms) + .35s); }
.dialogo-par.reveal.is-visible .dialogo-resposta{ opacity:1; translate:none; }
@media (max-width:900px){
  .dialogo{ grid-template-columns:1fr; gap:2.4rem; }
  .dialogo-head{ position:static; }
}

/* depoimentos — nota em destaque tipográfico + um depoimento grande por vez */
.depo{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2.5rem, 6vw, 5.5rem); align-items:center; }
.depo-nota{ display:flex; align-items:center; gap:1.1rem; margin:1.6rem 0 1.8rem; padding:1.3rem 0; border-top:1.5px solid var(--ink); border-bottom:1px solid var(--terracotta-line); }
.depo-score{ font-family:var(--f-display); font-weight:800; font-size:clamp(3.4rem, 2.6rem + 2.6vw, 5rem); line-height:.9; letter-spacing:-.04em; color:var(--ink); }
.depo-nota-info{ display:flex; flex-direction:column; gap:.35rem; }
.depo-stars{ color:var(--terracotta); letter-spacing:.14em; font-size:1.15rem; }
.depo-base{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--f-display); font-weight:600; font-size:.86rem; color:var(--ink-soft); }
.depo-base .google-g.sm{ width:18px; height:18px; }
.depo-links{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.8rem; }
.depo-escrever{ font-family:var(--f-display); font-weight:600; font-size:.88rem; color:var(--ink-soft); text-decoration:underline; text-decoration-color:var(--terracotta-line); text-underline-offset:4px; transition:color .2s var(--ease), text-decoration-color .2s var(--ease); }
.depo-escrever:hover{ color:var(--terracotta); text-decoration-color:currentColor; }

.depo-palco{
  position:relative; background:var(--cream); border:1.5px solid var(--ink); border-radius:22px;
  padding:clamp(2.2rem, 1.6rem + 2.2vw, 3.6rem); box-shadow:4px 4px 0 var(--terracotta);
}
.depo-palco::before{
  content:"\201C"; position:absolute; top:-.12em; right:.3em; pointer-events:none;
  font-family:var(--f-quote); font-style:italic; font-size:9rem; line-height:1; color:var(--terracotta); opacity:.12;
}
.depo-quotes{ display:grid; }
.depo-quote{
  grid-area:1 / 1; margin:0; align-self:center;
  opacity:0; visibility:hidden; translate:0 10px;
  transition:opacity .6s var(--ease), translate .6s var(--ease), visibility 0s .6s;
}
.depo-quote.is-active{ opacity:1; visibility:visible; translate:none; transition:opacity .7s var(--ease) .15s, translate .7s var(--ease) .15s, visibility 0s; }
.depo-quote p{
  margin:0; font-family:var(--f-quote); font-style:italic; font-weight:400;
  font-size:clamp(1.2rem, .95rem + .9vw, 1.65rem); line-height:1.5; color:var(--ink); text-wrap:pretty;
}
.depo-autores{ display:flex; flex-wrap:wrap; gap:.4rem 1.6rem; margin-top:2.2rem; padding-top:1.2rem; border-top:1px solid var(--terracotta-line); }
.depo-autores button{
  position:relative; padding:.45rem 0; border:0; background:none; cursor:pointer;
  font-family:var(--f-display); font-weight:700; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(11,0,0,.38); transition:color .25s var(--ease);
}
.depo-autores button:hover{ color:var(--ink-soft); }
.depo-autores button[aria-selected="true"]{ color:var(--terracotta); }
.depo-autores button::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:currentColor;
  transform-origin:left center; transform:scaleX(0);
}
.depo-autores button[aria-selected="true"]::after{ transform:scaleX(1); }
/* troca automática: o traço do nome ativo se enche como um relógio; ao terminar, passa ao próximo */
.depo-palco.is-auto .depo-autores button[aria-selected="true"]::after{ animation:depo-fill 9s linear both; }
.depo-palco.is-paused .depo-autores button::after{ animation-play-state:paused !important; }
@keyframes depo-fill{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }
@media (max-width:900px){
  .depo{ grid-template-columns:1fr; gap:2.4rem; }
}

/* proposta — manifesto: as três qualidades do título viram três pilares */
.proposta-head{ max-width:860px; margin-bottom:3rem; }
.proposta-head h2{ font-size:clamp(2rem, 1.3rem + 2.6vw, 3.4rem); line-height:1.04; }
.proposta-pilares{ position:relative; display:grid; grid-template-columns:repeat(3, 1fr); }
.proposta-pilares::before{
  content:""; position:absolute; left:0; right:0; top:0; height:1.5px; background:var(--ink);
  transform-origin:left center;
}
.proposta-pilares.reveal::before{ transform:scaleX(0); transition:transform 1.2s var(--ease) .1s; }
.proposta-pilares.reveal.is-visible::before{ transform:scaleX(1); }
.proposta-pilares > div{ padding:1.8rem 2rem 0 0; }
.proposta-pilares > div + div{ padding-left:2rem; border-left:1px solid var(--terracotta-line); }
.proposta-pilares h3{ font-weight:800; font-size:clamp(1.4rem, 1.1rem + 1vw, 1.9rem); letter-spacing:-.025em; color:var(--terracotta); margin-bottom:.6rem; }
.proposta-pilares p{ margin:0; line-height:1.7; }
/* os pilares surgem um a um, depois que a linha é traçada */
.proposta-pilares.reveal > div{ opacity:0; translate:0 12px; transition:opacity .8s var(--ease), translate .8s var(--ease); }
.proposta-pilares.reveal.is-visible > div{ opacity:1; translate:none; }
.proposta-pilares.reveal.is-visible > div:nth-child(1){ transition-delay:.35s; }
.proposta-pilares.reveal.is-visible > div:nth-child(2){ transition-delay:.5s; }
.proposta-pilares.reveal.is-visible > div:nth-child(3){ transition-delay:.65s; }
.proposta-nota{ margin:3rem 0 0; max-width:40em; font-size:var(--step-3); color:var(--ink); }
@media (max-width:800px){
  .proposta-pilares{ grid-template-columns:1fr; }
  .proposta-pilares > div{ padding:1.4rem 0; }
  .proposta-pilares > div + div{ padding-left:0; border-left:0; border-top:1px solid var(--terracotta-line); }
}
.breadcrumbs{ font-family:var(--f-display); font-size:.82rem; font-weight:600; color:var(--ink-soft); margin-bottom:1.2em; }
.breadcrumbs a:hover{ color:var(--terracotta); }

/* sobre-mim — "fora do consultório": painel escuro com o texto, foto de ponta a ponta ao lado */
.fora-consultorio{
  padding:0; display:grid; grid-template-columns:1fr 1fr;
  background:var(--ink); border-bottom:1.5px solid var(--ink);
}
.fora-consultorio-text{
  align-self:center; max-width:600px; margin-left:auto;
  padding:clamp(56px, 7vw, 112px) clamp(24px, 5vw, 80px);
}
.fora-consultorio .eyebrow{ color:var(--sand); }
.fora-consultorio h2{ color:#FBF7F0; margin:.4em 0 .6em; }
.fora-consultorio p{ color:rgba(251,247,240,.82); font-size:1.05rem; line-height:1.7; max-width:30em; margin:0; }
.fora-consultorio-photo{ position:relative; min-height:clamp(460px, 44vw, 680px); }
.fora-consultorio-photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% 40%; }
@media (max-width:900px){
  .fora-consultorio{ grid-template-columns:1fr; }
  .fora-consultorio-photo{ order:-1; min-height:0; aspect-ratio:4/5; }
  .fora-consultorio-text{ margin:0; padding:44px 24px 56px; }
}

/* blog — artigo: cabeçalho e texto na mesma coluna de leitura */
.post-body{ max-width:748px; margin:0 auto; }
main:has(.post-body) .page-hero .container{ max-width:748px; }
main:has(.post-body) .page-hero h1{ font-size:clamp(2rem, 1.3rem + 2.4vw, 3.2rem) !important; letter-spacing:-.03em; line-height:1.06; }
.post-body p{ font-size:1.1rem; line-height:1.8; color:var(--ink-soft); }
.post-body > div:first-child > p:first-child{ font-size:1.22rem; line-height:1.7; color:var(--ink); }
.post-body h2{ font-size:clamp(1.4rem, 1.2rem + .8vw, 1.8rem); margin-top:1.8em; }
.post-body .pull-quote{ border-top:1.5px solid var(--ink); border-bottom:1.5px solid var(--ink); margin:2.4rem 0; }
.post-body .pull-quote blockquote{ font-family:var(--f-display); font-style:normal; font-weight:700; color:var(--ink); font-size:clamp(1.3rem, 1.1rem + 1vw, 1.8rem); }
.post-meta{ display:flex; gap:.8em; align-items:center; font-family:var(--f-display); font-size:.82rem; color:var(--ink-soft); margin-bottom:1.5em; }
