/* ============================================================
   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&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;

  /* escala fluida */
  --step-1: clamp(2.1rem, 1.5rem + 2.6vw, 4rem);
  --step-2: clamp(1.5rem, 1.25rem + 1.1vw, 2.3rem);
  --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); }
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:2px solid var(--ink);
}
.nav{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:12px 24px; max-width:1180px; margin:0 auto; }
.brand{ display:flex; align-items:center; gap:.6em; }
.brand img{ height:38px; width:auto; }

.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); transition:color .2s var(--ease); }
.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); }
  .nav-social{ display:none; }
}

/* ---------- 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:clamp(440px, 58vh, 620px);
  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% 25%;
  opacity:0; transition:opacity 1.8s ease;
}
.hero-bg .slide.is-active{ opacity:1; }
.hero-bg .slide.slide-retrato{ mix-blend-mode:multiply; }
/* consultório: confinada numa faixa à direita do texto, recortada em gradiente nas bordas */
.hero-bg .slide.slide-consultorio{
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 40%, black 58%);
  mask-image:linear-gradient(90deg, transparent 0%, transparent 40%, black 58%);
  transform:scale(1.25);
  transform-origin:-25% 58%;
  object-position:center center;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 20%, black 38%);
  mask-image:linear-gradient(90deg, transparent 0%, transparent 20%, black 38%);
}
/* café: caixa menor, ancorada à direita, deixa a área à esquerda em branco com um gradiente suave na borda */
.hero-bg .slide.slide-cafe{
  inset:0 0 0 auto;
  left:auto; width:42%; height:100%;
  object-position:43% 20%;
  transform:scale(1.95);
  transform-origin:43% 35%;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 35%);
  mask-image:linear-gradient(90deg, transparent 0%, black 35%);
}
@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:600px; }
.hero-copy .eyebrow{ margin-bottom:.7em; }
.hero-copy h1{ font-size:clamp(1.6rem, 1.15rem + 2vw, 2.6rem); line-height:1.12; margin-bottom:.45em; }
.hero-copy .lede{ font-size:.95rem; line-height:1.55; }

@media (max-width:900px){
  .hero{
    display:flex; flex-direction:column-reverse;
    min-height:auto; padding-top:8px; padding-bottom:0;
    background:transparent;
  }
  .hero .container{ padding-top:24px; padding-bottom:0; position:relative; z-index:3; }
  .hero::before{ display:none; }
  .hero-bg{
    position:relative; inset:auto;
    width:100%; height:320px;
    margin-top:-20px;
    overflow:hidden;
  }
  .hero-bg::after{
    content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
    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;
    -webkit-mask-image:
      linear-gradient(180deg, black 0%, black 10%, transparent 26%),
      linear-gradient(90deg, black 0%, transparent 10%),
      linear-gradient(270deg, black 0%, transparent 10%);
    mask-image:
      linear-gradient(180deg, black 0%, black 10%, transparent 26%),
      linear-gradient(90deg, black 0%, transparent 10%),
      linear-gradient(270deg, black 0%, transparent 10%);
  }
  .hero-bg .slide{
    inset:0; left:0; width:100%; height:100%;
    object-fit:cover; object-position:center center;
    transform:none;
    -webkit-mask-image:none; mask-image:none;
  }
  .hero-bg .slide.slide-retrato{
    object-position:77% 40%;
    transform:scale(1.3) translateX(-11.5px);
    mix-blend-mode:multiply;
  }
  .hero-bg .slide.slide-cafe{
    inset:0; left:0; width:100%; height:100%;
    object-position:35% center;
    transform:none;
    -webkit-mask-image:none; mask-image:none;
  }
  .hero-bg .slide.slide-consultorio{
    object-position:center center;
    transform:none;
    -webkit-mask-image:none; mask-image:none;
  }
}
.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:var(--cream); padding:.55em 1.1em; border-radius:999px;
  border:2px solid var(--ink);
}
.hero-pill svg{ width:14px; height:14px; color:var(--terracotta); }

/* ---------- seções ---------- */
section{ padding:88px 0; }
.section-alt{ background:var(--paper-deep); }

/* seção "Minha abordagem" — textura de arenito sutil sob o texto */
.abordagem-bg{
  background-color:var(--paper-deep);
  background-image:linear-gradient(180deg, rgba(238,226,208,.68) 0%, rgba(238,226,208,.76) 100%), url('../img/textura-arenito-abordagem.jpg');
  background-size:cover;
  background-position:center 30%;
  background-repeat:no-repeat;
}
.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{ display:none; } }

/* seção "depoimentos" — ícone do google maps discreto, ao fundo, perto do título */
.depoimentos-bg{ position:relative; overflow:hidden; }
.depoimentos-bg::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:-70px; top:10px;
  width:340px; height:340px;
  background-image:url('../img/icon-google-maps-3d.png'); background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.14;
}
.depoimentos-bg::after{
  content:""; position:absolute; z-index:0; pointer-events:none;
  right:16px; top:60px;
  width:247px; height:233px;
  background-image:url('../img/decor-google-g-folhas.png'); background-size:contain; background-repeat:no-repeat; background-position:center;
  opacity:.14;
}
.depoimentos-bg > *{ position:relative; z-index:1; }
@media (max-width:900px){ .depoimentos-bg::before, .depoimentos-bg::after{ display:none; } }

/* seção "temas em que trabalho" — moldura e ícone sempre marrom, sem ciclo de cor */
.temas-grid .card{ box-shadow:6px 6px 0 var(--terracotta) !important; }
.temas-grid .card:hover{ box-shadow:9px 9px 0 var(--terracotta) !important; }
.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:2px solid var(--ink);
  border-radius:16px;
  padding:1.8rem;
  box-shadow:6px 6px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.card:hover{ transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--terracotta); }
.grid-3 .card:nth-child(3n+2){ box-shadow:6px 6px 0 var(--sand-deep); }
.grid-3 .card:nth-child(3n+2):hover{ box-shadow:9px 9px 0 var(--sand-deep); }
.grid-3 .card:nth-child(3n+3){ box-shadow:6px 6px 0 var(--ink); }
.grid-3 .card:nth-child(3n+3):hover{ box-shadow:9px 9px 0 var(--ink); }
.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 sobre textura — cor do texto ajustada ao contraste do fundo claro */
.pull-quote.on-texture{
  background:var(--cream);
}
.pull-quote.on-texture blockquote{ color:var(--ink); font-style:normal; font-weight:800; letter-spacing:-.02em; line-height:1.15; font-size:clamp(1.7rem,1.2rem + 2vw,2.9rem); }
.pull-quote.on-texture cite{ color:var(--terracotta); }
.pull-quote.on-texture .icon-badge{ background:var(--terracotta); }

.sartre-quote-text{ position:relative; }
.quote-mark-bg{
  position:absolute; top:-2.2rem; left:-1.6rem; z-index:0; pointer-events:none;
  width:130px; height:98px; fill:var(--terracotta); opacity:.16;
}
.quote-body{ position:relative; z-index:1; border-left:4px solid var(--terracotta); padding-left:1.5rem; }
@media (max-width:640px){
  .quote-mark-bg{ left:50%; margin-left:-65px; top:-2.6rem; }
  .quote-body{ border-left:none; border-top:4px solid var(--terracotta); padding-left:0; padding-top:1.2rem; }
}

.sartre-quote-grid{ display:grid; grid-template-columns:auto 1fr; gap:2.5rem; align-items:center; max-width:980px; }
.sartre-quote-photo{ width:180px; height:180px; justify-self:center; }
.sartre-quote-text{ text-align:left; }
@media (max-width:640px){
  .sartre-quote-grid{ grid-template-columns:1fr; gap:1.5rem; text-align:center; }
  .sartre-quote-photo{ width:140px; height:140px; }
  .sartre-quote-text{ text-align:center; }
  .sartre-quote-text .icon-badge{ margin-inline:auto; }
}

/* 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:2px solid var(--ink); border-radius:16px;
  box-shadow:6px 6px 0 var(--sand-deep);
}
.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:2px solid var(--ink);
}

/* barra de avaliação do Google */
.google-g{ width:58px; height:58px; 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:2px solid var(--ink); border-radius:16px;
  padding:1.6rem 2rem; box-shadow:6px 6px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.google-rating-bar:hover{ transform:translate(-3px,-3px); box-shadow:9px 9px 0 var(--terracotta); }
@media (min-width:640px){ .google-rating-bar{ flex-direction:row; align-items:center; justify-content:space-between; } }
.google-map-embed{
  border:2px solid var(--ink); border-radius:16px; overflow:hidden; min-height:200px;
  box-shadow:6px 6px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.google-map-embed:hover{ transform:translate(-3px,-3px); box-shadow:9px 9px 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:2px solid var(--ink); border-radius:16px;
  padding:2.4rem; max-width:680px; margin:0 auto; box-shadow:8px 8px 0 var(--terracotta);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease);
}
.testimonial:hover{ transform:translate(-3px,-3px); box-shadow:11px 11px 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-display); font-style:italic; font-weight:600; font-size:1.15rem; 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 */
.faq-item{ border-bottom:2px solid var(--ink); }
.faq-item summary{
  cursor:pointer; list-style:none;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.5rem 0; font-family:var(--f-display); font-weight:700; font-size:1.05rem; color:var(--ink);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:1.5rem; color:var(--terracotta); flex:none; transition:transform .25s var(--ease); }
.faq-item[open] summary::after{ transform:rotate(45deg); }
.faq-item p{ padding-bottom:1.5rem; max-width:60em; }

/* faixa "sobre mim" — foto grande ocupando toda a altura da seção */
.about-strip{ padding:56px 0; }
.about-strip-grid{ display:grid; grid-template-columns:minmax(300px,520px) 1fr; align-items:center; gap:3rem; max-width:1180px; margin:0 auto; padding:0 24px; }
.about-strip-photo{ position:relative; overflow:hidden; aspect-ratio:3/4; max-height:580px; border-radius:16px; background:var(--ink); box-shadow:8px 8px 0 var(--terracotta); }
.about-strip-photo img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center;
  filter:saturate(1.12) contrast(1.1) brightness(1.02);
}
.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; }

/* ---------- 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; gap:2rem; }
  .about-strip-photo{ aspect-ratio:3/4; max-height:420px; max-width:420px; margin:0 auto; width:100%; }
}

/* identificação / faixa de credenciais */
.credential-strip{ padding:36px 0; border-top:2px solid var(--ink); border-bottom:2px 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:2px 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); }

@media (max-width:1024px){
  .credential-strip{ padding:14px 0; }
  .credential-strip .container{ flex-wrap:nowrap !important; gap:.6rem !important; }
  .credential-item{ gap:.5rem; flex:none; }
  .credential-item img{ width:32px; height:32px; }
  .credential-item strong{ font-size:.78rem; }
  .credential-item span{ display:none; }
  .credential-meta{ gap:.6rem !important; flex-wrap:nowrap !important; font-size:.7rem !important; flex:none; }
  .credential-badge{ font-size:.7rem; white-space:nowrap; }
  .credential-address{ display:none; }
}
@media (max-width:360px){
  .credential-meta span:first-child{ display:none; }
}

/* 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:4px; bottom:auto;
    width:120px; height:120px;
    transform:scaleX(-1);
    opacity:.08;
  }
}
.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-deep);
  background-image:linear-gradient(180deg, rgba(240,231,216,.72) 0%, rgba(240,231,216,.8) 100%), url('../img/foto-beauvoir-agendar.jpg');
  background-size:auto 101.5%; background-position:30% 15px; background-repeat:no-repeat;
}
.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{ display:none; }
}

/* 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:2px 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 */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:none; }
.card.reveal.is-visible{ transition:transform .18s var(--ease), box-shadow .18s var(--ease); }

/* 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);
  background-image:linear-gradient(180deg, rgba(246,240,230,.82) 0%, rgba(246,240,230,.88) 100%), url('../img/textura-marmore-proposta.jpg');
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.proposta-bg::before{
  content:""; position:absolute; z-index:0; pointer-events:none;
  left:-70px; top:50%; margin-top:-180px;
  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{ display:none; } }

.duvidas-cards-banner h2{ color:#FBF7F0; }
.duvidas-cards-banner .eyebrow{ color:var(--sand); }
.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 — seção "fora do consultório", foto de fundo full-bleed */
.fora-consultorio-bg{
  position:relative;
  min-height:560px;
  display:flex; align-items:center;
  background-color:#140d06;
  background-image:linear-gradient(90deg, rgba(11,0,0,.88) 0%, rgba(11,0,0,.62) 42%, rgba(11,0,0,.18) 78%, rgba(11,0,0,.05) 100%), url('../img/foto-fora-consultorio-bike.jpg');
  background-size:cover; background-position:center 47%; background-repeat:no-repeat;
  padding:4.5rem 0;
}
.fora-consultorio-photo2{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:url('../img/foto-fora-acampamento.jpg');
  background-size:140% auto; background-position:30% 8%; background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 52%, black 86%);
          mask-image:linear-gradient(90deg, transparent 0%, transparent 52%, black 86%);
}
.fora-consultorio-content{ position:relative; z-index:1; max-width:560px; }
.fora-consultorio-bg .icon-badge{ background:rgba(255,255,255,.16); box-shadow:none; }
.fora-consultorio-bg .icon-badge img{ filter:brightness(0) invert(1); }
.fora-consultorio-bg .eyebrow{ color:var(--sand); }
.fora-consultorio-bg h2{ color:#FBF7F0; font-size:var(--step-2); letter-spacing:-.02em; }
.fora-consultorio-bg p{ color:rgba(251,247,240,.86); font-size:1.05rem; max-width:30em; }
@media (max-width:700px){
  .fora-consultorio-bg{
    min-height:640px;
    background-image:linear-gradient(180deg, rgba(11,0,0,.85) 0%, rgba(11,0,0,.7) 38%, rgba(11,0,0,.15) 62%, rgba(11,0,0,.05) 100%), url('../img/foto-fora-consultorio-bike.jpg');
    background-size:100% 100%, 195% auto;
    background-position:center top, 40% 33%;
    align-items:flex-start; padding-top:2.5rem;
  }
  .fora-consultorio-photo2{ display:none; }
}

/* blog */
.post-body{ max-width:700px; margin:0 auto; }
.post-body p{ font-size:1.05rem; color:var(--ink-soft); }
.post-body h2{ font-size:1.5rem; margin-top:1.6em; }
.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; }
