/* =========================================================
   Jeryhelen Valente Advocacia
   Bordô #551126 · off-white #FFFBF1 · Lora + Montserrat
   Direção: editorial, orgânico, sem molduras retas
   ========================================================= */

:root{
  --bordo:        #551126;
  --bordo-claro:  #7d2440;
  --bordo-escuro: #3a0c1a;
  --rose:         #A86B7C;
  --rose-claro:   #DBA8B4;
  --offwhite:     #FFFBF1;
  --creme:        #F7EFE2;
  --creme-fundo:  #FBF5EA;
  --tinta:        #322B2E;
  --tinta-suave:  #6E6166;
  --fio:          rgba(85,17,38,.14);
  --whats:        #1FA855;

  --serif: "Lora", Georgia, serif;
  --sans:  "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --larg: 1200px;
  --alt-cabecalho: 88px;
  --suave: cubic-bezier(.33,.9,.35,1);
  --sombra: 0 18px 50px -18px rgba(58,12,26,.22);
  --sombra-alta: 0 34px 80px -28px rgba(58,12,26,.34);
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  scroll-behavior:smooth;
  scroll-padding-top: calc(var(--alt-cabecalho) + 16px);
}

body{
  margin:0;
  background: var(--offwhite);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: 1rem;
  font-weight:400;
  line-height:1.78;
  -webkit-font-smoothing: antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
figure{ margin:0; }

a{ color: var(--bordo); text-decoration:none; transition: color .25s var(--suave); }
a:hover{ color: var(--bordo-claro); }

:focus-visible{ outline:2px solid var(--bordo); outline-offset:4px; border-radius:6px; }

h1,h2,h3{ font-family: var(--serif); font-weight:500; color: var(--bordo); line-height:1.2; margin:0 0 .55em; }
h1{ font-size: clamp(2.15rem, 4.9vw, 3.55rem); letter-spacing:-.015em; }
h2{ font-size: clamp(1.75rem, 3.5vw, 2.6rem); letter-spacing:-.012em; }
h3{ font-size: 1.22rem; }
h1 em, h2 em{ font-style:italic; font-weight:400; color: var(--bordo-claro); }
p{ margin:0 0 1.15em; }

.interno{ width:100%; max-width: var(--larg); margin-inline:auto; padding-inline: 26px; }
.interno-estreito{ max-width: 840px; }

.secao{ padding: clamp(74px, 9vw, 126px) 0; position:relative; }
.fundo-creme{ background: var(--creme-fundo); }

.pular{
  position:absolute; left:-9999px; top:0; z-index:300;
  background: var(--bordo); color:#fff; padding:14px 22px; border-radius:0 0 14px 0; font-size:.88rem;
}
.pular:focus{ left:0; color:#fff; }

/* ---------- elementos de texto ---------- */
.sobretitulo{
  font-size:.7rem; font-weight:600; letter-spacing:.24em; text-transform:uppercase;
  color: var(--bordo-claro); margin:0 0 1.1em;
}
.sobretitulo-claro{ color: var(--rose-claro); }

.destaque{
  font-size: clamp(1.04rem, 1.6vw, 1.2rem); line-height:1.82;
  color: var(--tinta-suave); max-width: 50ch;
}
.destaque-menor{ color: var(--tinta-suave); max-width:46ch; }

.titulo-secao{ max-width: 660px; margin-bottom: clamp(48px, 6vw, 76px); }
.titulo-centro{ margin-inline:auto; text-align:center; }

.rotulo{
  display:block; font-size:.66rem; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color: var(--bordo-claro); margin:0 0 .5em;
}

/* ---------- botões ---------- */
.botao{
  display:inline-flex; align-items:center; justify-content:center; gap:11px;
  font-family: var(--sans); font-size:.84rem; font-weight:600; letter-spacing:.055em;
  padding: 17px 36px; border-radius: 999px; border:1.5px solid transparent;
  cursor:pointer; line-height:1.2; text-align:center;
  transition: transform .3s var(--suave), box-shadow .3s var(--suave), background-color .3s var(--suave), color .3s var(--suave), border-color .3s var(--suave);
}
.botao svg{ width:19px; height:19px; flex:none; }

.botao-cheio{ background: var(--bordo); color: var(--offwhite); }
.botao-cheio:hover{ background: var(--bordo-escuro); color: var(--offwhite); transform: translateY(-3px); box-shadow: var(--sombra); }

.botao-linha{ color: var(--bordo); border-color: var(--fio); background:transparent; }
.botao-linha:hover{ border-color: var(--bordo); background: rgba(85,17,38,.05); color: var(--bordo); transform: translateY(-3px); }

.botao-largo{ width:100%; }

/* ---------- cabeçalho ---------- */
.cabecalho{
  position:sticky; top:0; z-index:150;
  background: rgba(255,251,241,.82);
  backdrop-filter: blur(16px) saturate(1.4);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
  transition: box-shadow .35s var(--suave), background-color .35s var(--suave);
}
.cabecalho.rolou{ background: rgba(255,251,241,.95); box-shadow: 0 10px 40px -24px rgba(58,12,26,.5); }

.cabecalho-conteudo{
  height: var(--alt-cabecalho);
  display:flex; align-items:center; justify-content:space-between; gap:28px;
}
.marca img{ width: clamp(182px, 21vw, 250px); }

.menu{ display:flex; align-items:center; gap:34px; }
.menu a{
  position:relative; font-size:.83rem; font-weight:500; color: var(--tinta); padding:6px 0;
}
.menu a:not(.pilula)::after{
  content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px;
  background: var(--bordo-claro); border-radius:2px; transition: width .35s var(--suave);
}
.menu a:not(.pilula):hover{ color: var(--bordo); }
.menu a:not(.pilula):hover::after, .menu a.ativo::after{ width:100%; }
.menu a.ativo{ color: var(--bordo); }

.pilula{
  background: var(--bordo); color: var(--offwhite) !important;
  padding: 11px 26px !important; border-radius:999px;
  transition: background-color .3s var(--suave), transform .3s var(--suave);
}
.pilula:hover{ background: var(--bordo-escuro); transform: translateY(-2px); }

.abrir-menu{
  display:none; flex-direction:column; justify-content:center; gap:7px;
  width:46px; height:46px; padding:0 11px; background:none; border:none; cursor:pointer;
}
.abrir-menu span{
  display:block; height:1.6px; width:100%; background: var(--bordo); border-radius:2px;
  transition: transform .35s var(--suave), opacity .25s var(--suave), width .35s var(--suave);
}
.abrir-menu span:last-child{ width:68%; align-self:flex-end; }
.abrir-menu[aria-expanded="true"] span:first-child{ transform: translateY(4.3px) rotate(42deg); }
.abrir-menu[aria-expanded="true"] span:last-child{ width:100%; transform: translateY(-4.3px) rotate(-42deg); }

/* ---------- ondas entre seções ----------
   o fundo da faixa é a cor da seção que termina;
   o preenchimento do path é a cor da seção que começa */
.onda{ line-height:0; margin-top:-1px; margin-bottom:-1px; position:relative; z-index:2; }
.onda svg{ display:block; width:100%; height: clamp(46px, 6vw, 96px); }

.onda-creme{ background: var(--offwhite); }
.onda-creme path{ fill: var(--creme-fundo); }

.onda-claro{ background: var(--creme-fundo); }
.onda-claro path{ fill: var(--offwhite); }

.onda-bordo{ background: var(--creme-fundo); }
.onda-bordo path{ fill: var(--bordo); }

.onda-pos-bordo{ background: var(--bordo); }
.onda-pos-bordo path{ fill: var(--offwhite); }

.onda-rodape{ background: var(--offwhite); }
.onda-rodape path{ fill: var(--bordo-escuro); }

/* ═══════════ ABERTURA ═══════════ */
.abertura{
  position:relative; overflow:hidden;
  padding: clamp(42px, 7vw, 86px) 0 clamp(60px, 8vw, 104px);
}
.aura{ position:absolute; border-radius:50%; filter: blur(70px); pointer-events:none; }
.aura-1{ width:min(58vw,660px); aspect-ratio:1; right:-14%; top:-22%; background: radial-gradient(circle, rgba(168,107,124,.3), transparent 68%); }
.aura-2{ width:min(46vw,520px); aspect-ratio:1; left:-16%; bottom:-28%; background: radial-gradient(circle, rgba(247,239,226,.95), transparent 70%); }

.monograma-fundo{
  position:absolute; left:50%; top:46%; transform: translate(-50%,-50%);
  width: min(78vw, 880px); opacity:.038; pointer-events:none; user-select:none;
}

.abertura-conteudo{
  position:relative; z-index:3;
  display:grid; grid-template-columns: 1.08fr .92fr;
  gap: clamp(36px, 5vw, 76px); align-items:center;
}

.abertura-texto h1{ margin-bottom:.5em; }
.abertura-acoes{ display:flex; flex-wrap:wrap; gap:14px; margin: 2.4em 0 2.6em; }

.abertura-notas{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:12px 30px; }
.abertura-notas li{
  display:flex; align-items:center; gap:11px;
  font-size:.79rem; letter-spacing:.055em; color: var(--tinta-suave);
}
.abertura-notas li::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background: var(--rose); flex:none;
}

/* retrato em arco */
.abertura-retrato{ position:relative; justify-self:center; width:100%; max-width:440px; }

.forma-organica{
  position:absolute; z-index:0;
  inset: 6% -16% -9% -14%;
  background: linear-gradient(155deg, var(--bordo) 0%, var(--bordo-claro) 58%, rgba(168,107,124,.72) 100%);
  border-radius: 56% 44% 48% 52% / 46% 42% 58% 54%;
  animation: respirar 18s ease-in-out infinite;
}
@keyframes respirar{
  0%,100%{ border-radius: 56% 44% 48% 52% / 46% 42% 58% 54%; transform: rotate(-1.5deg) scale(1); }
  50%    { border-radius: 42% 58% 54% 46% / 56% 48% 52% 44%; transform: rotate(2deg) scale(1.025); }
}

.arco{
  position:relative; z-index:1; overflow:hidden;
  border-radius: 50% 50% 24px 24px / 34% 34% 4% 4%;
  box-shadow: var(--sombra-alta);
}
.arco img{ width:100%; object-fit:cover; aspect-ratio: 880/1232; }

.selo-oab{
  position:absolute; z-index:4; left:-6%; bottom:7%;
  margin:0; padding: 15px 26px; border-radius: 999px;
  background: rgba(255,251,241,.93);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--sombra);
  font-size:.73rem; letter-spacing:.16em; text-transform:uppercase; color: var(--bordo-claro);
  line-height:1.5;
}
.selo-oab span{
  display:block; font-family: var(--serif); font-size:1.02rem; letter-spacing:.01em;
  text-transform:none; color: var(--bordo); margin-bottom:1px;
}

/* ═══════════ SOBRE ═══════════ */
.sobre{
  display:grid; grid-template-columns: .85fr 1.15fr;
  gap: clamp(42px, 6vw, 92px); align-items:center;
}

.sobre-imagem{ position:relative; max-width:420px; justify-self:center; width:100%; }
.contorno{
  position:absolute; inset:9% -10% -10% 9%;
  border:1.5px solid var(--fio);
  border-radius: 210px 210px 20px 210px;
  pointer-events:none;
}
/* pétala: topo em arco, um canto reto para quebrar a simetria.
   preserva o centro da imagem, onde fica o rosto */
.organica{
  position:relative; overflow:hidden;
  border-radius: 210px 210px 20px 210px;
  box-shadow: var(--sombra);
}
.organica img{ width:100%; object-fit:cover; aspect-ratio: 4/5; }
.organica-alt{ border-radius: 210px 210px 210px 20px; }

.sobre-texto p{ color: var(--tinta-suave); }
.sobre-texto strong{ color: var(--tinta); font-weight:600; }

.assinatura{
  font-family: var(--serif); font-style:italic; font-size:1.5rem;
  color: var(--bordo); margin: 1.1em 0 0;
}

.formacao{ margin-top: 2.4em; }
.formacao ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.formacao li{
  font-size:.82rem; color: var(--bordo); background: rgba(85,17,38,.055);
  padding: 9px 19px; border-radius: 999px; line-height:1.5;
}

/* ═══════════ TRILHA DE ÁREAS ═══════════ */
.trilha{ position:relative; }

.parada{
  position:relative;
  display:grid; grid-template-columns: 78px 1fr; gap: clamp(22px,3vw,44px);
  align-items:start;
  padding: clamp(32px,4vw,46px) clamp(22px,3vw,40px);
  border-radius: 40px;
  transition: background-color .45s var(--suave), transform .45s var(--suave);
}
.parada + .parada::before{
  content:""; position:absolute; top:0; left:9%; right:9%; height:1px;
  background: linear-gradient(90deg, transparent, var(--fio) 22%, var(--fio) 78%, transparent);
  transition: opacity .45s var(--suave);
}
.parada:hover{ background: rgba(247,239,226,.72); transform: translateX(6px); }
.parada:hover::before, .parada:hover + .parada::before{ opacity:0; }

/* serpentina: cada item desloca um pouco, quebrando a grade */
.parada:nth-child(2){ margin-left: 4%; }
.parada:nth-child(3){ margin-left: 7%; }
.parada:nth-child(4){ margin-left: 4%; }
.parada:nth-child(5){ margin-left: 0; }

/* ícone + número, empilhados */
.parada-marca{ display:flex; flex-direction:column; align-items:center; gap:10px; }

.parada-icone{
  display:flex; align-items:center; justify-content:center;
  width:64px; height:64px; flex:none;
  color: var(--bordo);
  background: rgba(85,17,38,.07);
  border: 1.5px solid rgba(85,17,38,.16);
  border-radius: 50% 50% 50% 14px;
  transition: background-color .45s var(--suave), color .45s var(--suave),
              border-color .45s var(--suave), transform .45s var(--suave);
}
.parada-icone svg{ width:30px; height:30px; }

.parada:hover .parada-icone{
  background: var(--bordo); border-color: var(--bordo); color: var(--offwhite);
  transform: rotate(-5deg) scale(1.05);
}

.parada-num{
  font-family: var(--serif); font-style:italic; font-weight:400;
  font-size: 1.32rem; line-height:1;
  color: var(--bordo); opacity:.42;
  transition: opacity .45s var(--suave);
}
.parada:hover .parada-num{ opacity:.9; }

.parada-corpo h3{ font-size: clamp(1.26rem,2.2vw,1.6rem); margin-bottom:.45em; }
.parada-corpo p{ color: var(--tinta-suave); margin:0; max-width: 62ch; font-size:.97rem; }

/* ───── bloco extrajudicial ───── */
.extra{
  margin-top: clamp(50px,6vw,78px);
  padding: clamp(32px,4.4vw,56px) clamp(26px,4vw,54px);
  background: linear-gradient(158deg, var(--creme-fundo) 0%, rgba(247,239,226,.5) 100%);
  border-radius: 52px 52px 52px 120px;
}

.extra-topo{
  display:grid; grid-template-columns: auto 1fr; gap: clamp(20px,2.6vw,30px);
  align-items:start; margin-bottom: clamp(32px,4vw,46px);
  max-width: 790px;
}
.extra-icone{
  display:flex; align-items:center; justify-content:center;
  width:66px; height:66px; flex:none;
  color: var(--offwhite); background: var(--bordo);
  border-radius: 50% 50% 50% 16px;
  box-shadow: 0 12px 28px -14px rgba(58,12,26,.7);
}
.extra-icone svg{ width:32px; height:32px; }
.extra-topo h3{ font-family: var(--serif); font-size: clamp(1.26rem,2.2vw,1.6rem); margin-bottom:.45em; }
.extra-topo p{ color: var(--tinta-suave); margin:0; font-size:.97rem; }

.extra-grupos{
  display:grid; grid-template-columns: 1.55fr 1fr;
  gap: clamp(28px,4vw,54px);
}
.extra-grupo + .extra-grupo{ position:relative; }
.extra-grupo + .extra-grupo::before{
  content:""; position:absolute; left: calc(clamp(28px,4vw,54px) / -2); top:6px; bottom:6px; width:1px;
  background: linear-gradient(180deg, transparent, var(--fio) 15%, var(--fio) 85%, transparent);
}

.extra-titulo{
  font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color: var(--bordo); margin:0 0 1.3em; padding-bottom:.9em;
  border-bottom:1px solid var(--fio);
}

.lista-check{ list-style:none; margin:0; padding:0; }
.lista-check li{
  position:relative; padding-left:28px; margin-bottom:11px;
  font-size:.92rem; line-height:1.55; color: var(--tinta-suave);
  break-inside: avoid; -webkit-column-break-inside: avoid;
}
.lista-check li::before{
  content:""; position:absolute; left:0; top:.34em;
  width:14px; height:14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23551126' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M2 7.4 5.4 11 12 3.6'/%3E%3C/svg%3E") no-repeat center / contain;
}
.lista-check sup{ color: var(--bordo-claro); font-weight:600; }

.extra-nota{
  margin: clamp(26px,3vw,34px) 0 0; padding-top: 1.3em;
  border-top:1px solid var(--fio);
  font-size:.8rem; color: var(--tinta-suave); line-height:1.65;
}
.extra-nota sup{ color: var(--bordo-claro); font-weight:600; }

/* a lista do tabelionato é longa: quebra em duas colunas quando há espaço */
@media (min-width: 1000px){
  .extra-grupo:first-child .lista-check{ columns:2; column-gap:42px; }
}

.recado{
  margin: clamp(44px,5vw,64px) auto 0; max-width: 620px; text-align:center;
  font-size:1rem; color: var(--tinta-suave);
}
.recado a{ border-bottom:1.5px solid rgba(85,17,38,.3); padding-bottom:1px; }
.recado a:hover{ border-color: var(--bordo-claro); }

/* ═══════════ CAMINHO ═══════════ */
.caminho-topo{
  display:grid; grid-template-columns: 1.2fr .8fr;
  gap: clamp(40px,6vw,86px); align-items:center;
  margin-bottom: clamp(56px,7vw,88px);
}
.caminho-imagem{ max-width:360px; justify-self:center; width:100%; }

.passos{
  list-style:none; margin:0 0 clamp(60px,7vw,92px); padding:0;
  display:grid; grid-template-columns: repeat(4,1fr); gap: clamp(22px,3vw,38px);
  position:relative;
}
/* fio conector tingido com a paleta */
.passos::before{
  content:""; position:absolute; left:8%; right:8%; top:30px; height:2px; border-radius:2px;
  background: linear-gradient(90deg,
    transparent, var(--bordo) 10%, var(--rose) 38%, var(--bordo-claro) 64%, var(--rose) 88%, transparent);
  opacity:.4;
}
.passos li{ position:relative; padding-top:80px; }

.passo-marca{
  position:absolute; top:0; left:0;
  width:60px; height:60px; border-radius: 50% 50% 50% 16px;
  display:flex; align-items:center; justify-content:center;
  background: var(--bordo); color: var(--offwhite);
  box-shadow: 0 10px 26px -12px rgba(58,12,26,.6);
  transition: transform .5s var(--suave), box-shadow .5s var(--suave);
}
.passo-marca svg{ width:26px; height:26px; }
.passo-marca b{
  position:absolute; right:-7px; bottom:-7px;
  width:26px; height:26px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family: var(--serif); font-style:italic; font-weight:500; font-size:.76rem;
  background: var(--creme-fundo); color: var(--bordo);
  box-shadow: 0 0 0 1.5px rgba(85,17,38,.2);
}
/* alterna bordô e rosé para dar ritmo */
.passos li:nth-child(2) .passo-marca,
.passos li:nth-child(4) .passo-marca{
  background: var(--rose); border-radius: 50% 50% 16px 50%;
}
.passos li:hover .passo-marca{ transform: translateY(-5px) rotate(-5deg); }

.passos h3{ font-size:1.1rem; margin-bottom:.42em; }
.passos p{ font-size:.92rem; color: var(--tinta-suave); margin:0; }

.selos{
  display:grid; grid-template-columns: repeat(auto-fit, minmax(226px,1fr));
  gap: clamp(26px,3.4vw,40px);
}
.selo{
  padding: 30px 26px;
  background: linear-gradient(165deg, rgba(255,251,241,.9), rgba(255,251,241,.42));
  border-radius: 30px 30px 30px 10px;
  transition: transform .4s var(--suave), box-shadow .4s var(--suave);
}
.selo:hover{ transform: translateY(-5px); box-shadow: var(--sombra); }
.selo-icone{
  display:flex; align-items:center; justify-content:center;
  width:50px; height:50px; margin-bottom:18px; border-radius:50%;
  background: var(--bordo); color: var(--offwhite);
}
.selo-icone svg{ width:24px; height:24px; }
.selo:nth-child(even) .selo-icone{ background: var(--rose); }
.selo h3{ font-size:1.04rem; margin-bottom:.45em; }
.selo p{ font-size:.91rem; color: var(--tinta-suave); margin:0; }

/* ═══════════ MANIFESTO (pattern + selo) ═══════════ */
.manifesto{
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 90% at 50% 0%, var(--bordo-claro) 0%, transparent 58%),
    var(--bordo);
  padding: clamp(56px,7vw,90px) 0 clamp(60px,7vw,96px);
  text-align:center;
}
.manifesto-pattern{
  position:absolute; inset:0; pointer-events:none;
  background-image: url("assets/pattern.png");
  background-size: clamp(340px, 42vw, 560px) auto;
  background-repeat: repeat;
  opacity:.07;
  mask-image: radial-gradient(85% 75% at 50% 50%, #000 32%, transparent 82%);
  -webkit-mask-image: radial-gradient(85% 75% at 50% 50%, #000 32%, transparent 82%);
}
.manifesto-conteudo{ position:relative; z-index:2; max-width: 760px; }

.manifesto-selo{
  width: clamp(104px, 13vw, 142px); height:auto;
  margin: 0 auto clamp(26px,3.4vw,38px);
  opacity:.92;
}

.manifesto blockquote{ margin:0; }
.manifesto blockquote p{
  font-family: var(--serif); font-weight:400;
  font-size: clamp(1.26rem, 2.7vw, 1.92rem); line-height:1.55;
  color: var(--offwhite); margin:0;
}
.manifesto blockquote em{ font-style:italic; color: var(--rose-claro); }

.manifesto-assina{
  margin: clamp(26px,3.2vw,36px) 0 0;
  font-size:.72rem; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color: rgba(255,251,241,.62);
}

/* ═══════════ DÚVIDAS ═══════════ */
.secao-duvidas{ position:relative; overflow:hidden; }
.selo-marca-dagua{
  position:absolute; right:-5%; top:50%; transform: translateY(-50%);
  width: clamp(230px, 30vw, 400px); opacity:.05;
  pointer-events:none; user-select:none;
}

.duvidas details{ position:relative; }
.duvidas details + details::before{
  content:""; position:absolute; top:0; left:4%; right:4%; height:1px;
  background: linear-gradient(90deg, transparent, var(--fio) 20%, var(--fio) 80%, transparent);
}
.duvidas summary{
  list-style:none; cursor:pointer; position:relative;
  padding: 27px 56px 27px 8px;
  font-family: var(--serif); font-size: clamp(1.06rem,1.8vw,1.22rem); font-weight:500;
  color: var(--bordo); line-height:1.45;
  transition: color .25s var(--suave), padding-left .35s var(--suave);
}
.duvidas summary::-webkit-details-marker{ display:none; }
.duvidas summary:hover{ color: var(--bordo-claro); padding-left:16px; }
.duvidas summary::after{
  content:""; position:absolute; right:14px; top:50%; width:11px; height:11px;
  margin-top:-7px;
  border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor;
  transform: rotate(45deg); transition: transform .4s var(--suave);
}
.duvidas details[open] summary::after{ transform: rotate(-135deg); margin-top:-2px; }
.resposta{ padding: 0 48px 30px 8px; animation: abrir .45s var(--suave); }
.resposta p{ font-size:.96rem; color: var(--tinta-suave); margin:0; }
@keyframes abrir{ from{ opacity:0; transform: translateY(-8px); } to{ opacity:1; transform:none; } }

/* ═══════════ CONTATO ═══════════ */
.secao-contato{ padding-bottom: clamp(30px,4vw,56px); }
.contato{
  display:grid; grid-template-columns: .95fr 1.05fr;
  gap: clamp(36px,5vw,70px); align-items:start;
}

.cartao{
  position:relative;
  background: linear-gradient(160deg, var(--bordo) 0%, var(--bordo-escuro) 100%);
  color: rgba(255,251,241,.84);
  border-radius: 46px 46px 46px 120px;
  padding: clamp(34px,4.4vw,52px);
  box-shadow: var(--sombra);
  overflow:hidden;
}
.cartao h2{ color: var(--offwhite); font-size: clamp(1.5rem,2.6vw,2rem); }
.cartao-texto{ font-size:.96rem; line-height:1.78; margin-bottom:2em; }

.cartao-foto{
  width:94px; height:94px; border-radius:50%; overflow:hidden;
  margin-bottom:26px; box-shadow: 0 0 0 1.5px rgba(255,251,241,.28), 0 0 0 7px rgba(255,251,241,.08);
}
.cartao-foto img{ width:100%; height:100%; object-fit:cover; object-position:center 18%; }

.cartao-dados{ list-style:none; margin:0; padding:0; display:grid; gap:19px; }
.cartao-dados li{ display:flex; align-items:flex-start; gap:15px; font-size:.95rem; }
.dado-icone{
  flex:none; display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius: 50% 50% 50% 12px;
  background: rgba(255,251,241,.1);
  border:1px solid rgba(255,251,241,.2);
  color: var(--rose-claro);
}
.dado-icone svg{ width:19px; height:19px; }
.dado-corpo{ display:flex; flex-direction:column; gap:1px; padding-top:1px; }
.cartao-dados .rotulo{ color: var(--rose-claro); margin:0 0 .25em; }
.cartao-dados a{ color: var(--offwhite); width:fit-content; border-bottom:1px solid rgba(255,251,241,.26); padding-bottom:1px; }
.cartao-dados a:hover{ color:#fff; border-color: rgba(255,251,241,.7); }

/* formulário em linhas, sem caixas */
.formulario{ padding-top: clamp(6px,1.4vw,18px); }
.formulario-intro{ font-size:.93rem; color: var(--tinta-suave); margin-bottom:2.4em; max-width:46ch; }
.formulario-intro a{ border-bottom:1px solid rgba(85,17,38,.3); }

.campo{ position:relative; margin-bottom: 30px; }
.campo input, .campo select, .campo textarea{
  width:100%; font-family: var(--sans); font-size:1rem; color: var(--tinta);
  background: transparent; border:none; border-bottom:1.5px solid var(--fio);
  border-radius:0; padding: 13px 2px 11px;
  transition: border-color .3s var(--suave);
}
.campo textarea{ resize:vertical; min-height:62px; line-height:1.7; }
.campo label{
  position:absolute; left:2px; top:14px; pointer-events:none;
  font-size:1rem; color: var(--tinta-suave);
  transition: transform .3s var(--suave), font-size .3s var(--suave), color .3s var(--suave);
  transform-origin: left top;
}
.campo label em{ font-style:normal; opacity:.65; font-size:.9em; }

.campo input:focus, .campo select:focus, .campo textarea:focus{
  outline:none; border-bottom-color: var(--bordo);
}
.campo input:focus + label,
.campo input:not(:placeholder-shown) + label,
.campo textarea:focus + label,
.campo textarea:not(:placeholder-shown) + label,
.campo select:focus + label,
.campo select.preenchido + label{
  transform: translateY(-26px) scale(.74);
  color: var(--bordo-claro); letter-spacing:.1em; text-transform:uppercase; font-weight:600;
}

.campo-select select{
  appearance:none; cursor:pointer; color: var(--tinta);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%237d2440' stroke-width='1.4' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position: right 4px center; background-size:12px;
  padding-right:28px;
}

.campo.invalido input, .campo.invalido select, .campo.invalido textarea{ border-bottom-color:#B3261E; }
.erro{ display:none; font-size:.76rem; color:#B3261E; margin-top:7px; }
.campo.invalido .erro{ display:block; }

.formulario .botao{ margin-top:12px; }
.formulario-aviso{
  font-size:.76rem; color: var(--tinta-suave); line-height:1.7;
  margin: 18px 0 0; text-align:center; max-width:42ch; margin-inline:auto;
}

/* ═══════════ RODAPÉ ═══════════ */
.rodape{
  background: var(--bordo-escuro); color: rgba(255,251,241,.68);
  padding: clamp(14px,2vw,26px) 0 32px; font-size:.9rem;
}
.rodape-conteudo{
  display:grid; grid-template-columns: 1.5fr .9fr 1.3fr; gap:44px;
  padding-bottom:44px;
}
.rodape-marca img{ width: clamp(176px,21vw,232px); margin-bottom:20px; }
.rodape-marca p{ font-size:.79rem; letter-spacing:.09em; color: rgba(255,251,241,.55); margin:0; }

.rodape-menu{ display:flex; flex-direction:column; gap:13px; }
.rodape-menu a, .rodape-contato a{ color: rgba(255,251,241,.8); font-size:.89rem; width:fit-content; }
.rodape-menu a:hover, .rodape-contato a:hover{ color: var(--offwhite); }

.rodape-contato{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.rodape-contato li{ display:flex; align-items:center; gap:13px; }
.rodape-icone{
  flex:none; display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius: 50% 50% 50% 10px;
  background: rgba(255,251,241,.08);
  border:1px solid rgba(255,251,241,.16);
  color: var(--rose-claro);
}
.rodape-icone svg{ width:16px; height:16px; }
.rodape-contato span:not(.rodape-icone){ font-size:.84rem; color: rgba(255,251,241,.56); line-height:1.6; }

.rodape-legal{ border-top:1px solid rgba(255,251,241,.13); padding-top:26px; }
.rodape-legal p{ font-size:.75rem; line-height:1.75; color: rgba(255,251,241,.58); margin:0 0 14px; }
.creditos{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:9px 26px; margin-bottom:0 !important; }
.creditos a{ color: rgba(255,251,241,.76); border-bottom:1px solid rgba(255,251,241,.28); }
.creditos a:hover{ color: var(--offwhite); }

/* ═══════════ WHATSAPP FLUTUANTE ═══════════ */
.whats{
  position:fixed; right:24px; bottom:24px; z-index:140;
  width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: var(--whats); color:#fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.18), 0 14px 38px -8px rgba(31,168,85,.5);
  transition: transform .3s var(--suave), box-shadow .3s var(--suave);
}
.whats svg{ width:30px; height:30px; }
.whats:hover{ transform: scale(1.08) translateY(-2px); color:#fff; }

/* ═══════════ REVELAR AO ROLAR ═══════════ */
.revelar{ opacity:0; transform: translateY(26px); transition: opacity .9s var(--suave), transform .9s var(--suave); }
.revelar.visivel{ opacity:1; transform:none; }

/* ═══════════ RESPONSIVO ═══════════ */
@media (max-width: 1080px){
  .abertura-conteudo{ gap:34px; }
  .passos{ grid-template-columns: repeat(2,1fr); gap:34px 30px; }
  .passos::before{ display:none; }
  .rodape-conteudo{ grid-template-columns: 1fr 1fr; }
  .rodape-marca{ grid-column:1 / -1; }
}

@media (max-width: 920px){
  :root{ --alt-cabecalho: 74px; }

  .abrir-menu{ display:flex; }
  .menu{
    position:fixed; top: var(--alt-cabecalho); left:12px; right:12px; z-index:149;
    flex-direction:column; align-items:stretch; gap:0;
    background: var(--offwhite); border-radius: 26px;
    padding: 14px 26px 26px; box-shadow: var(--sombra-alta);
    opacity:0; visibility:hidden; transform: translateY(-14px) scale(.98);
    transition: opacity .35s var(--suave), transform .35s var(--suave), visibility .35s;
    max-height: calc(100dvh - var(--alt-cabecalho) - 24px); overflow-y:auto;
  }
  .menu.aberto{ opacity:1; visibility:visible; transform:none; }
  .menu a:not(.pilula){ padding:16px 2px; font-size:.95rem; border-bottom:1px solid var(--fio); }
  .menu a:not(.pilula)::after{ display:none; }
  .menu a:last-child{ border-bottom:none; }
  .pilula{ margin-top:18px; text-align:center; }

  .abertura-conteudo{ grid-template-columns:1fr; gap:52px; }
  .abertura-texto{ text-align:center; }
  .abertura-texto .destaque{ margin-inline:auto; }
  .abertura-acoes, .abertura-notas{ justify-content:center; }
  .abertura-retrato{ max-width:356px; }

  .sobre{ grid-template-columns:1fr; gap:52px; }
  .sobre-imagem{ max-width:330px; }

  .caminho-topo{ grid-template-columns:1fr; gap:46px; }
  .caminho-imagem{ max-width:300px; order:-1; }

  .contato{ grid-template-columns:1fr; gap:50px; }
  .cartao{ border-radius: 40px 40px 40px 90px; }

  .parada{ grid-template-columns: 68px 1fr; gap:18px; padding:30px 20px; }
  .parada:nth-child(n){ margin-left:0; }
  .parada:hover{ transform:none; }
  .parada-icone{ width:56px; height:56px; }
  .parada-icone svg{ width:26px; height:26px; }

  .extra{ border-radius: 42px 42px 42px 92px; }
  .extra-grupos{ grid-template-columns:1fr; gap:34px; }
  .extra-grupo + .extra-grupo::before{ display:none; }
  .extra-grupo + .extra-grupo{ padding-top:30px; border-top:1px solid var(--fio); }
}

@media (max-width: 580px){
  .interno{ padding-inline:20px; }
  body{ line-height:1.72; }

  .abertura{ padding-top:26px; }
  .abertura-acoes{ flex-direction:column; align-items:stretch; }
  .abertura-acoes .botao{ width:100%; }
  .abertura-notas{ flex-direction:column; align-items:center; gap:9px; }
  .abertura-retrato{ max-width:300px; margin-bottom:26px; }
  .selo-oab{ left:50%; bottom:-18px; transform: translateX(-50%); white-space:nowrap; padding:12px 22px; }

  .arco{ border-radius: 50% 50% 18px 18px / 30% 30% 3% 3%; }
  .organica, .contorno{ border-radius: 150px 150px 16px 150px; }
  .organica-alt{ border-radius: 150px 150px 150px 16px; }

  .parada{ grid-template-columns:1fr; gap:14px; padding:26px 4px; }
  .parada-marca{ flex-direction:row; align-items:center; gap:14px; }
  .parada-num{ font-size:1.5rem; }
  .parada + .parada::before{ left:0; right:0; }

  .passos{ grid-template-columns:1fr; gap:26px; }
  .passos li{ padding-top:0; padding-left:76px; min-height:60px; }
  .selos{ grid-template-columns:1fr; gap:20px; }

  .duvidas summary{ padding:23px 44px 23px 2px; }
  .duvidas summary:hover{ padding-left:2px; }
  .resposta{ padding:0 10px 26px 2px; }
  .selo-marca-dagua{ right:-22%; opacity:.035; }

  .extra{ padding:28px 22px; border-radius: 32px 32px 32px 64px; }
  .extra-topo{ grid-template-columns:1fr; gap:18px; }
  .extra-icone{ width:56px; height:56px; }
  .extra-icone svg{ width:27px; height:27px; }

  .manifesto-selo{ width:96px; }
  .passo-marca{ width:54px; height:54px; }
  .passo-marca svg{ width:23px; height:23px; }
  .passos li{ padding-left:70px; }

  .cartao{ border-radius: 32px 32px 32px 64px; }
  .rodape-conteudo{ grid-template-columns:1fr; gap:32px; }
  .creditos{ flex-direction:column; gap:8px; }

  .whats{ width:54px; height:54px; right:18px; bottom:18px; }
  .whats svg{ width:27px; height:27px; }
}

/* ═══════════ PREFERÊNCIAS E IMPRESSÃO ═══════════ */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .revelar{ opacity:1; transform:none; }
}

@media print{
  .cabecalho, .whats, .abertura-acoes, .formulario, .abrir-menu, .onda, .aura, .monograma-fundo{ display:none !important; }
  body{ background:#fff; color:#000; }
  .secao{ padding:22px 0; }
  .cartao{ background:none; color:#000; box-shadow:none; }
  .cartao h2, .cartao-dados a{ color:#000; }
}
