/* Marco Policarpo Clínica de Psicanálise
   Persona visual A (Editorial Premium) com a identidade do cliente: preto quente e ouro da logo. */

:root {
  --preto: #0D0B08;
  --preto-fundo: #090806;
  --superficie: #13110D;
  --superficie-2: #1A1610;
  --ouro: #C68922;
  --ouro-claro: #EEC960;
  --ouro-profundo: #8D4E07;
  --ouro-forte: #A8681A;
  --marfim: #F2EADB;
  --texto-suave: #B9AD97;
  --linha: rgba(238, 201, 96, .16);
  --linha-forte: rgba(238, 201, 96, .34);
  --gradiente-ouro: linear-gradient(135deg, #EEC960 0%, #D9A43C 38%, #C68922 62%, #A8681A 100%);
  --serif: 'EB Garamond', Georgia, 'Times New Roman', serif;
  --versal: 'Cinzel', Georgia, serif;
  --sans: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --r: 2px;
  --sombra: 0 28px 60px -32px rgba(0, 0, 0, .85);
  --wrap: 1240px;
  --cabecalho: 88px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--preto);
  color: var(--marfim);
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* grão muito sutil sobre toda a página */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 2000;
  pointer-events: none;
  opacity: .055;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .7  0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-family: var(--serif); font-weight: 400; color: var(--marfim); line-height: 1.12; font-variant-numeric: lining-nums; }
p { margin: 0 0 1.1rem; }
ul, ol { margin: 0; padding: 0; list-style: none; }
::selection { background: var(--ouro); color: var(--preto); }
:focus-visible { outline: 2px solid var(--ouro-claro); outline-offset: 3px; }

.wrapper { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.pular { position: absolute; left: 1rem; top: -60px; z-index: 3000; background: var(--ouro-claro); color: var(--preto); padding: .6rem 1rem; font-weight: 600; }
.pular:focus { top: 1rem; }

/* ---------- Tipografia de apoio ---------- */
.eyebrow {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .7rem;
  margin-bottom: 1.4rem;
  font-family: var(--versal);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--ouro-claro);
}
.eyebrow::after { content: ''; width: 36px; height: 1px; background: var(--gradiente-ouro); }
.eyebrow--escuro { color: var(--preto); }
.eyebrow--escuro::after { background: var(--preto); }
.titulo-secao { font-size: clamp(2.1rem, 4.2vw, 3.5rem); letter-spacing: -.012em; max-width: 18ch; }
.titulo-secao em, .hero h1 em { font-style: italic; }
.ouro-texto {
  background: linear-gradient(100deg, #F3D57A 0%, #E0AF45 40%, #C68922 70%, #E8BE5A 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  padding-right: .1em;
  margin-right: -.1em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.intro-secao { color: var(--texto-suave); max-width: 38rem; font-size: 1.08rem; }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 50px;
  padding: .85rem 1.7rem;
  border: 1px solid transparent;
  border-radius: var(--r);
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  line-height: 1.2;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, filter .22s ease;
}
.btn svg { width: 18px; height: 18px; flex: 0 0 auto; }
.btn--ouro { background: var(--gradiente-ouro); color: var(--preto); box-shadow: 0 10px 30px -14px rgba(238, 201, 96, .55); }
.btn--ouro:hover { transform: translateY(-2px); filter: brightness(1.07); box-shadow: 0 18px 38px -16px rgba(238, 201, 96, .7); }
.btn--linha { border-color: var(--linha-forte); color: var(--marfim); background: transparent; }
.btn--linha:hover { border-color: var(--ouro-claro); color: var(--ouro-claro); transform: translateY(-2px); }
.btn--escuro { background: var(--preto); color: var(--ouro-claro); box-shadow: 0 14px 30px -16px rgba(0, 0, 0, .8); }
.btn--escuro:hover { transform: translateY(-2px); background: #000; color: #F7DD8C; }
.link-seta { display: inline-flex; align-items: center; gap: .6rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-claro); min-height: 44px; }
.link-seta svg { width: 18px; height: 18px; transition: transform .22s ease; }
.link-seta:hover svg { transform: translateX(4px); }

/* ---------- Barra de progresso ---------- */
.progresso { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 1300; pointer-events: none; }
.progresso span { display: block; height: 100%; width: 100%; background: var(--gradiente-ouro); transform: scaleX(0); transform-origin: left; }

/* ---------- Cabeçalho ---------- */
.cabecalho {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: linear-gradient(180deg, rgba(13, 11, 8, .82), rgba(13, 11, 8, 0));
  transition: background-color .3s ease, box-shadow .3s ease, background .3s ease;
}
.cabecalho.scrolled { background: rgba(13, 11, 8, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 1px 0 var(--linha), 0 18px 40px -30px rgba(0, 0, 0, .9); }
.cabecalho__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; height: var(--cabecalho); transition: height .3s ease; }
.cabecalho.scrolled .cabecalho__inner { height: 72px; }
.marca { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; }
.marca img { height: 46px; width: auto; transition: height .3s ease; }
.cabecalho.scrolled .marca img { height: 40px; }
.nav__links { display: flex; align-items: center; gap: clamp(1.1rem, 2vw, 2.1rem); }
.nav__links a { position: relative; display: inline-flex; align-items: center; min-height: 44px; font-size: .86rem; font-weight: 500; letter-spacing: .05em; color: var(--marfim); transition: color .2s ease; white-space: nowrap; }
.nav__links a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 8px; height: 1px; background: var(--ouro-claro); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.nav__links a:hover, .nav__links a.active { color: var(--ouro-claro); }
.nav__links a:hover::after, .nav__links a.active::after { transform: none; }
.cabecalho__acoes { display: flex; align-items: center; gap: 1rem; }
.cabecalho__cta { min-height: 46px; padding: .75rem 1.3rem; }

.nav-toggle { display: none; align-items: center; justify-content: center; width: 46px; height: 46px; margin-right: -6px; background: none; border: 0; color: var(--ouro-claro); cursor: pointer; }
.nav-toggle svg { width: 28px; height: 28px; }

/* drawer mobile: visual fora de @media, sempre sólido */
.mobile-menu {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 1200;
  width: min(86vw, 360px);
  display: flex; flex-direction: column;
  padding: 1.1rem 1.5rem 2rem;
  background: var(--superficie-2);
  border-left: 1px solid var(--linha);
  box-shadow: -18px 0 50px -22px rgba(0, 0, 0, .9);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .34s cubic-bezier(.4, 0, .2, 1), visibility .34s;
  overscroll-behavior: contain;
}
.mobile-menu.open { transform: none; visibility: visible; }
.mobile-menu__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; margin-bottom: .4rem; border-bottom: 1px solid var(--linha); }
.mobile-menu__logo { height: 36px; width: auto; }
.mobile-menu__links li { border-bottom: 1px solid var(--linha); }
.mobile-menu__links a { display: flex; align-items: center; min-height: 54px; font-family: var(--serif); font-size: 1.3rem; color: var(--marfim); transition: color .2s ease; }
.mobile-menu__links a:hover, .mobile-menu__links a.active { color: var(--ouro-claro); }
.mobile-menu__cta { margin-top: auto; width: 100%; }
.mobile-close { background: none; border: 0; color: var(--ouro-claro); cursor: pointer; padding: .4rem; margin: -.4rem; line-height: 0; min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.mobile-close svg { width: 28px; height: 28px; }
.menu-backdrop { position: fixed; inset: 0; z-index: 1100; background: rgba(0, 0, 0, .6); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s; }
.menu-backdrop.open { opacity: 1; visibility: visible; }

/* ---------- Divisor entre seções: filete com nó central ---------- */
.divisor { position: relative; z-index: 3; height: 1px; max-width: var(--wrap); margin-inline: auto; background: linear-gradient(90deg, transparent, var(--linha-forte) 22%, var(--linha-forte) 78%, transparent); }
.divisor::after { content: ''; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border: 1px solid var(--ouro-claro); background: var(--preto); transform: translate(-50%, -50%) rotate(45deg); }
.divisor--sobre-superficie::after { background: var(--superficie); }

/* ---------- Seções ---------- */
.secao { position: relative; padding-block: clamp(4.5rem, 8vw, 6.5rem); overflow: hidden; }
.secao--superficie { background: var(--superficie); }
.grade { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1rem, 2.4vw, 2rem); }

/* ---------- Hero ---------- */
.hero { position: relative; min-height: min(100svh, 900px); display: flex; align-items: center; padding: calc(var(--cabecalho) + 3.5rem) 0 4.5rem; overflow: hidden; isolation: isolate; }
.hero__fundo { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hero__brilho { position: absolute; inset: 0; background: radial-gradient(48% 62% at 78% 52%, rgba(198, 137, 34, .2), transparent 70%), radial-gradient(30% 40% at 8% 10%, rgba(238, 201, 96, .06), transparent 70%); }
.filetes { position: absolute; inset: 0; display: flex; justify-content: space-between; max-width: var(--wrap); margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.filetes span { width: 1px; height: 100%; background: linear-gradient(180deg, transparent, rgba(238, 201, 96, .1) 30%, rgba(238, 201, 96, .1) 70%, transparent); }
.hero__orbita-wrap { position: absolute; inset: 0; display: flex; align-items: center; justify-content: flex-end; padding-right: clamp(0rem, 3vw, 4rem); }
.hero__orbita { position: relative; width: min(50vw, 680px); aspect-ratio: 1; margin-right: -4vw; }
.hero__orbita svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.orbita-giro { transform-origin: 50% 50%; animation: giro 70s linear infinite; }
.hero__emblema { position: absolute; left: 18%; top: 13%; width: 64%; opacity: .2; -webkit-mask-image: radial-gradient(closest-side, #000 70%, transparent 100%); mask-image: radial-gradient(closest-side, #000 70%, transparent 100%); }
.hero__conteudo { position: relative; }
.hero__texto { grid-column: 1 / span 8; }
.hero h1 { font-size: clamp(2.7rem, 5.7vw, 5.6rem); line-height: 1.02; letter-spacing: -.022em; margin-bottom: 1.6rem; }
.hero h1 .linha { display: block; }
.hero__lead { max-width: 37rem; font-size: clamp(1.05rem, 1.4vw, 1.2rem); color: var(--texto-suave); margin-bottom: 2.2rem; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 1rem; }
.hero__indice { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 3.4rem; max-width: 46rem; border-top: 1px solid var(--linha); }
.hero__indice a { display: flex; flex-direction: column; gap: .2rem; padding: 1.1rem 1.2rem 0 0; min-height: 44px; transition: color .2s ease; }
.hero__indice a + a { padding-left: 1.2rem; border-left: 1px solid var(--linha); }
.hero__indice b { font-family: var(--versal); font-size: .72rem; font-weight: 600; letter-spacing: .26em; color: var(--ouro-claro); }
.hero__indice span { font-family: var(--serif); font-size: 1.12rem; color: var(--marfim); line-height: 1.3; }
.hero__indice a:hover span { color: var(--ouro-claro); }

/* ---------- Temas ---------- */
.temas__cabeca { grid-column: 1 / span 5; align-self: start; }
.temas__lista { grid-column: 7 / span 6; counter-reset: tema; }
.tema { position: relative; display: grid; grid-template-columns: 3.4rem 1fr; gap: 1rem; padding: 1.7rem 0; border-top: 1px solid var(--linha); }
.tema:last-child { border-bottom: 1px solid var(--linha); }
.tema::before { content: ''; position: absolute; left: 0; top: -1px; width: 100%; height: 1px; background: var(--gradiente-ouro); transform: scaleX(0); transform-origin: left; transition: transform .6s ease; }
.tema:hover::before { transform: none; }
.tema__num { font-family: var(--versal); font-size: .8rem; font-weight: 600; letter-spacing: .14em; color: var(--ouro-claro); padding-top: .55rem; }
.tema h3 { font-size: clamp(1.45rem, 2.2vw, 1.8rem); margin-bottom: .45rem; }
.tema p { margin: 0; color: var(--texto-suave); font-size: 1rem; }
.temas__nota { margin-top: 2rem; padding-left: 1.2rem; border-left: 1px solid var(--ouro); font-family: var(--serif); font-style: italic; font-size: 1.35rem; line-height: 1.4; color: var(--marfim); max-width: 26rem; }

/* ---------- Sobre ---------- */
.sobre__foto { grid-column: 1 / span 5; align-self: start; }
.moldura { position: relative; margin: 0 22px 22px 0; }
.moldura::before { content: ''; position: absolute; inset: 22px -22px -22px 22px; border: 1px solid var(--ouro); z-index: 0; }
.moldura__img { position: relative; z-index: 1; overflow: hidden; background: var(--superficie-2); }
.moldura__img::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 11, 8, .92) 0%, rgba(13, 11, 8, .6) 6%, rgba(13, 11, 8, 0) 22%, rgba(13, 11, 8, 0) 70%, rgba(13, 11, 8, .45) 100%); pointer-events: none; }
.moldura__img img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; object-position: 50% 30%; filter: saturate(.9) contrast(1.03); transition: transform .8s ease; }
.moldura:hover .moldura__img img { transform: scale(1.02); }
.moldura__legenda { display: flex; flex-direction: column; gap: .15rem; margin-top: 2.6rem; padding-left: 1rem; border-left: 1px solid var(--linha-forte); }
.moldura__legenda b { font-family: var(--versal); font-size: .74rem; font-weight: 600; letter-spacing: .2em; color: var(--ouro-claro); text-transform: uppercase; }
.moldura__legenda span { font-size: .92rem; color: var(--texto-suave); }
.sobre__texto { grid-column: 7 / span 6; }
.sobre__texto h2 { margin-bottom: 1.8rem; }
.destaque { position: relative; margin: 0 0 2rem; padding: .2rem 0 .2rem 1.6rem; border-left: 1px solid var(--ouro); font-family: var(--serif); font-style: italic; font-size: clamp(1.45rem, 2.3vw, 1.95rem); line-height: 1.35; color: var(--marfim); }
.sobre__texto p { color: var(--texto-suave); }
.sobre__texto p strong { color: var(--marfim); font-weight: 600; }
.fatos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 2.4rem 0 0; border-top: 1px solid var(--linha); }
.fatos div { padding: 1.2rem 1rem 0 0; }
.fatos div + div { padding-left: 1rem; border-left: 1px solid var(--linha); }
.fatos dt { font-family: var(--versal); font-size: .7rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: .35rem; }
.fatos dd { margin: 0; font-family: var(--serif); font-size: 1.1rem; line-height: 1.35; color: var(--marfim); }

/* ---------- Atendimentos ---------- */
.atend__cabeca { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1rem, 2.4vw, 2rem); align-items: end; margin-bottom: clamp(2.8rem, 5vw, 4rem); }
.atend__cabeca > div { grid-column: 1 / span 7; }
.atend__cabeca > p { grid-column: 9 / span 4; margin: 0; }
.frentes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--linha-forte); border-bottom: 1px solid var(--linha); }
.frente { display: flex; flex-direction: column; padding: 2.6rem 2.2rem 2.4rem 0; }
.frente + .frente { padding-left: 2.2rem; border-left: 1px solid var(--linha); }
.frente__num { font-family: var(--versal); font-size: 2.6rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--ouro); margin-bottom: 1.6rem; }
.frente__rotulo { font-family: var(--versal); font-size: .7rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: .7rem; }
.frente h3 { font-size: clamp(1.7rem, 2.4vw, 2.15rem); margin-bottom: 1rem; }
.frente p { color: var(--texto-suave); font-size: 1rem; }
.frente__lista { margin: .3rem 0 1.8rem; }
.frente__lista li { position: relative; padding: .5rem 0 .5rem 1.3rem; font-size: .95rem; color: var(--marfim); border-top: 1px solid rgba(238, 201, 96, .08); }
.frente__lista li::before { content: ''; position: absolute; left: 0; top: 1.05rem; width: 6px; height: 6px; border: 1px solid var(--ouro-claro); transform: rotate(45deg); }
.frente .link-seta { margin-top: auto; }
.frente--livro h3 { font-style: italic; }

/* ---------- A escuta (diferenciais) ---------- */
.escuta__cabeca { grid-column: 1 / span 5; align-self: start; }
.escuta__lista { grid-column: 6 / span 7; }
.escuta__item { display: grid; grid-template-columns: clamp(6rem, 11vw, 9.5rem) 1fr; gap: clamp(1rem, 2vw, 2rem); padding: 2.2rem 0; border-bottom: 1px solid var(--linha); }
.escuta__item:first-child { padding-top: .4rem; }
.escuta__num { font-family: var(--versal); font-size: clamp(4.4rem, 8.5vw, 7.4rem); line-height: .82; color: transparent; -webkit-text-stroke: 1px rgba(238, 201, 96, .55); font-variant-numeric: lining-nums; }
.escuta__item h3 { font-size: clamp(1.5rem, 2.3vw, 1.95rem); margin-bottom: .7rem; padding-top: .3rem; }
.escuta__item p { margin: 0; color: var(--texto-suave); }

/* ---------- CTA intermediária: o bloco sólido em ouro ---------- */
.cta-ouro { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(4.5rem, 8vw, 6.5rem); background: var(--gradiente-ouro); color: var(--preto); }
.cta-ouro::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 90% at 12% 0%, rgba(255, 238, 180, .45), transparent 60%), radial-gradient(50% 80% at 100% 100%, rgba(80, 40, 0, .35), transparent 70%); }
.cta-ouro__marca { position: absolute; right: -2%; top: 50%; width: min(42vw, 520px); z-index: -1; opacity: .13; filter: brightness(0); transform: translateY(-50%); pointer-events: none; }
.cta-ouro__marca img { width: 100%; }
.cta-ouro__texto { max-width: 46rem; }
.cta-ouro h2 { color: var(--preto); font-size: clamp(2.1rem, 4.4vw, 3.6rem); letter-spacing: -.015em; margin-bottom: 1.3rem; }
.cta-ouro p { font-size: 1.12rem; color: #2B1C05; max-width: 36rem; margin-bottom: 2.2rem; }

/* ---------- Dúvidas (FAQ em duas colunas) ---------- */
.duvidas__cabeca { margin-bottom: clamp(2.4rem, 4.5vw, 3.6rem); }
.faq__pergunta {
  display: grid; grid-template-columns: 2.6rem 1fr 22px; align-items: center; gap: .9rem;
  width: 100%; min-height: 64px; padding: 1.05rem 0; background: none; border: 0; border-top: 1px solid var(--linha);
  color: var(--marfim); font-family: var(--serif); font-size: 1.28rem; line-height: 1.3; text-align: left; cursor: pointer; transition: color .2s ease;
}
.faq__pergunta b { font-family: var(--versal); font-size: .74rem; font-weight: 600; letter-spacing: .12em; color: var(--ouro-claro); }
.faq__pergunta svg { width: 20px; height: 20px; color: var(--ouro-claro); transition: transform .3s ease; }
.faq__pergunta:hover, .faq__item.ativo .faq__pergunta { color: var(--ouro-claro); }
.faq__item.ativo .faq__pergunta svg { transform: rotate(90deg); }
.faq__resposta { padding: 0 0 1.6rem 3.5rem; color: var(--texto-suave); }
.faq__resposta h3 { display: none; }
.faq__resposta p:last-child { margin-bottom: 0; }
.js .faq__resposta { display: none; }
.js .faq__item.ativo .faq__resposta { display: block; animation: aparece .45s ease; }
@media (min-width: 901px) {
  .js .faq { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
  .js .faq__item { display: contents; }
  .js .faq__pergunta { grid-column: 1; }
  .js .faq__item:last-child .faq__pergunta { border-bottom: 1px solid var(--linha); }
  .js .faq__resposta { grid-column: 2; grid-row: 1 / span 7; align-self: start; position: sticky; top: 110px; padding: 2.6rem 2.8rem; background: var(--superficie); border: 1px solid var(--linha); border-top: 2px solid var(--ouro); }
  .js .faq__resposta h3 { display: block; font-size: clamp(1.6rem, 2.4vw, 2.1rem); margin-bottom: 1.2rem; }
  .js .faq__resposta p { font-size: 1.06rem; }
}

/* ---------- Blog (chamada) ---------- */
.secao-blog { border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); background: var(--superficie); }
.blog__cabeca { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(1rem, 2.4vw, 2rem); align-items: end; margin-bottom: clamp(2.4rem, 4.5vw, 3.4rem); }
.blog__cabeca > div { grid-column: 1 / span 7; }
.blog__cabeca > p { grid-column: 9 / span 4; margin: 0; }
.blog-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 2rem); }
.card-blog { display: flex; flex-direction: column; background: var(--preto); border: 1px solid var(--linha); border-radius: var(--r); overflow: hidden; transition: border-color .25s ease, transform .25s ease; }
.card-blog:hover { border-color: var(--linha-forte); transform: translateY(-3px); }
.card-blog__capa { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: radial-gradient(70% 90% at 70% 40%, rgba(198, 137, 34, .3), transparent 70%), linear-gradient(160deg, #1D1810, #0D0B08); }
.card-blog__capa svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.card-blog__capa img { width: 100%; height: 100%; object-fit: cover; }
.card-blog__corpo { padding: 1.4rem 1.5rem 1.6rem; }
.selo { display: inline-block; font-family: var(--versal); font-size: .68rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: .55rem; }
.card-blog h3 { font-size: 1.45rem; margin-bottom: .35rem; }
.card-blog p { margin: 0; font-size: .95rem; color: var(--texto-suave); }
.blog__acao { margin-top: clamp(2.2rem, 4vw, 3rem); }

/* ---------- Contato ---------- */
.contato__info { grid-column: 1 / span 5; }
.contato__form { grid-column: 7 / span 6; }
.contato__info .intro-secao { margin-bottom: 2rem; }
.contatos { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 2.2rem; }
.contatos a { display: inline-flex; align-items: center; gap: .8rem; min-height: 44px; color: var(--marfim); transition: color .2s ease; word-break: break-word; }
.contatos a:hover { color: var(--ouro-claro); }
.contatos svg { flex: 0 0 auto; color: var(--ouro-claro); }
.qr { display: flex; align-items: center; gap: 1.3rem; max-width: 26rem; padding: 1.1rem; border: 1px solid var(--linha); background: var(--superficie); }
.qr img { width: 112px; height: 112px; image-rendering: pixelated; border: 1px solid var(--linha); }
.qr p { margin: 0; font-size: .92rem; color: var(--texto-suave); line-height: 1.55; }
.qr p b { display: block; font-family: var(--versal); font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: .35rem; font-weight: 600; }
.formulario { padding: clamp(1.8rem, 3.5vw, 2.8rem); background: var(--superficie); border: 1px solid var(--linha); border-top: 2px solid var(--ouro); }
.formulario h3 { font-size: 1.8rem; margin-bottom: .4rem; }
.formulario > p { color: var(--texto-suave); font-size: .97rem; margin-bottom: 1.8rem; }
.campo { margin-bottom: 1.35rem; }
.campo label { display: block; margin-bottom: .45rem; font-size: .74rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro-claro); }
.campo input, .campo textarea {
  width: 100%; min-height: 50px; padding: .8rem 1rem; border: 1px solid rgba(238, 201, 96, .22); border-radius: var(--r);
  background: var(--preto); color: var(--marfim); font-family: var(--sans); font-size: 1rem; transition: border-color .2s ease, box-shadow .2s ease;
}
.campo textarea { min-height: 128px; resize: vertical; }
.campo input::placeholder, .campo textarea::placeholder { color: #7D7464; }
.campo input:focus, .campo textarea:focus { outline: none; border-color: var(--ouro-claro); box-shadow: 0 0 0 3px rgba(238, 201, 96, .14); }
.campo.erro input, .campo.erro textarea { border-color: #E07A5F; }
.campo__erro { display: none; margin-top: .4rem; font-size: .85rem; color: #F0A38E; }
.campo.erro .campo__erro { display: block; }
.campos-duplos { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2rem; }
.lgpd { font-size: .86rem; color: var(--texto-suave); margin: .4rem 0 1.5rem; line-height: 1.6; }
.lgpd a { color: var(--ouro-claro); text-decoration: underline; text-underline-offset: 3px; }
.formulario .btn { width: 100%; }
.formulario .btn.enviando { opacity: .75; pointer-events: none; }

/* ---------- Rodapé ---------- */
.rodape { position: relative; background: var(--preto-fundo); border-top: 1px solid var(--linha); padding-top: clamp(3.5rem, 6vw, 5rem); overflow: hidden; }
.rodape__grade { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr; gap: clamp(2rem, 5vw, 4rem); padding-bottom: 3rem; }
.rodape__logo { width: 230px; margin-bottom: 1.4rem; }
.rodape__marca p { color: var(--texto-suave); font-size: .95rem; max-width: 24rem; }
.rodape .rodape__titulo { margin-top: 0; line-height: 1.4; font-family: var(--versal); font-size: .74rem; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--ouro-claro); margin-bottom: 1rem; }
.rodape__nav a { display: inline-flex; align-items: center; min-height: 40px; color: var(--marfim); font-size: .95rem; transition: color .2s ease; }
.rodape__nav a:hover { color: var(--ouro-claro); }
.rodape .contatos { margin-bottom: 0; }
.rodape__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 2rem; padding-block: 1.5rem; border-top: 1px solid var(--linha); font-size: .85rem; color: var(--texto-suave); }
.rodape__base a { color: var(--texto-suave); transition: color .2s ease; display: inline-flex; align-items: center; min-height: 44px; }
.rodape__base a:hover { color: var(--ouro-claro); }
.rodape__base nav { display: flex; flex-wrap: wrap; gap: .2rem 1.6rem; }

/* ---------- WhatsApp flutuante ---------- */
.wa-float {
  position: fixed; bottom: 2rem; right: 2rem; z-index: 900;
  display: flex; align-items: center; justify-content: center;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25d366; color: #fff;
  box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .6);
  animation: wa-float 3.2s ease-in-out infinite, wa-pulse 2.8s ease-out 1.2s infinite;
  will-change: transform, box-shadow;
  transition: transform .2s ease;
}
.wa-float:hover { animation-play-state: paused; transform: scale(1.13); }
@keyframes wa-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes wa-pulse { 0% { box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .6), 0 0 0 0 rgba(37, 211, 102, .55); } 70% { box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .6), 0 0 0 20px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 10px 24px -8px rgba(0, 0, 0, .6), 0 0 0 0 rgba(37, 211, 102, 0); } }

/* ---------- Página interna (política, espera do blog) ---------- */
.pagina-topo { position: relative; padding: calc(var(--cabecalho) + 4.5rem) 0 3.5rem; overflow: hidden; isolation: isolate; border-bottom: 1px solid var(--linha); }
.pagina-topo .hero__brilho { z-index: -1; }
.pagina-topo h1 { font-size: clamp(2.5rem, 5.2vw, 4.4rem); letter-spacing: -.02em; max-width: 18ch; }
.pagina-topo p { color: var(--texto-suave); max-width: 40rem; margin-top: 1.3rem; font-size: 1.1rem; }
.texto-legal { max-width: 46rem; }
.texto-legal h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem); margin: 2.6rem 0 1rem; }
.texto-legal h2:first-child { margin-top: 0; }
.texto-legal p, .texto-legal li { color: var(--texto-suave); }
.texto-legal ul { margin: 0 0 1.2rem; }
.texto-legal li { position: relative; padding: .3rem 0 .3rem 1.3rem; }
.texto-legal li::before { content: ''; position: absolute; left: 0; top: .95rem; width: 6px; height: 6px; border: 1px solid var(--ouro-claro); transform: rotate(45deg); }
.texto-legal a { color: var(--ouro-claro); text-decoration: underline; text-underline-offset: 3px; }
.espera { text-align: left; }
.espera__acoes { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2.2rem; }

/* ---------- Movimento ---------- */
.js .reveal { opacity: 0; transform: translateY(14px); transition: opacity .8s ease, transform .8s ease; transition-delay: calc(var(--i, 0) * 90ms); }
.js .reveal.visible { opacity: 1; transform: none; }
.js .reveal-linha { transform: scaleX(0); transform-origin: left; transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i, 0) * 90ms); }
.js .reveal-linha.visible { transform: none; }
@keyframes drift { 0% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -14px, 0) rotate(1deg); } 100% { transform: translate3d(0, 0, 0); } }
.decor-drift { animation: drift 18s ease-in-out infinite; will-change: transform; }
@keyframes giro { to { transform: rotate(360deg); } }
@keyframes aparece { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* notebook de tela baixa: hero compacto (também garante o card social 1200x630) */
@media (min-width: 1081px) and (max-height: 760px) {
  .hero { min-height: 0; padding: calc(var(--cabecalho) + 1.6rem) 0 2.6rem; }
  .hero h1 { font-size: clamp(2.7rem, 4.6vw, 4.5rem); margin-bottom: 1.2rem; }
  .hero__lead { margin-bottom: 1.6rem; }
  .hero__indice { margin-top: 2.2rem; }
  .hero .eyebrow { margin-bottom: 1rem; }
}

@media (max-width: 1100px) {
  .nav { display: none; }
  .nav-toggle { display: inline-flex; }
}
@media (max-width: 900px) {
  .grade { display: block; }
  .temas__cabeca, .escuta__cabeca { position: static; margin-bottom: 2.4rem; }
  .sobre__foto { max-width: 440px; margin-bottom: 3.4rem; }
  .atend__cabeca, .blog__cabeca { display: block; }
  .atend__cabeca > p, .blog__cabeca > p { margin-top: 1.2rem; }
  .frentes { grid-template-columns: 1fr; border-bottom: 0; }
  .frente, .frente + .frente { padding: 2.2rem 0; border-left: 0; border-bottom: 1px solid var(--linha); }
  .blog-grade { grid-template-columns: 1fr; max-width: 520px; }
  .contato__info { margin-bottom: 2.8rem; }
  .rodape__grade { grid-template-columns: 1fr 1fr; }
  .rodape__marca { grid-column: 1 / -1; }
  .hero__orbita { width: min(78vw, 560px); margin-right: -22vw; }
  .hero__emblema { opacity: .12; }
}
@media (max-width: 640px) {
  :root { --cabecalho: 74px; }
  body { font-size: 1rem; }
  .cabecalho__inner { gap: 1rem; }
  .cabecalho__cta { display: none; }
  .marca { margin-right: auto; }
  .marca img, .cabecalho.scrolled .marca img { height: 36px; }
  .nav-toggle { margin-left: auto; }
  .hero { min-height: 0; padding: calc(var(--cabecalho) + 2.6rem) 0 3.2rem; }
  .hero__orbita-wrap { align-items: flex-start; padding-top: 70px; }
  .hero__orbita { width: 104vw; margin-right: -46vw; }
  .hero__emblema { opacity: .1; }
  .hero__acoes .btn { width: 100%; }
  .hero__indice { grid-template-columns: 1fr; }
  .hero__indice a, .hero__indice a + a { padding: .9rem 0; border-left: 0; border-bottom: 1px solid var(--linha); flex-direction: row; align-items: baseline; gap: .9rem; }
  .fatos { grid-template-columns: 1fr; }
  .fatos div, .fatos div + div { padding: 1rem 0; border-left: 0; border-bottom: 1px solid var(--linha); }
  .escuta__item { grid-template-columns: 4.6rem 1fr; padding: 1.8rem 0; }
  .escuta__num { font-size: 3.6rem; }
  .cta-ouro .btn { width: 100%; }
  .cta-ouro__marca { width: 80vw; right: -30vw; opacity: .1; }
  .faq__pergunta { font-size: 1.15rem; grid-template-columns: 2.2rem 1fr 20px; }
  .faq__resposta { padding-left: 0; }
  .campos-duplos { grid-template-columns: 1fr; }
  .qr { display: none; }
  .rodape__grade { grid-template-columns: 1fr; }
  .rodape__base { flex-direction: column; align-items: flex-start; padding-bottom: 6.5rem; }
  .wa-float { bottom: 1.25rem; right: 1.25rem; width: 56px; height: 56px; }
  .moldura { margin-right: 16px; }
  .moldura::before { inset: 16px -16px -16px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .reveal, .js .reveal-linha { opacity: 1 !important; transform: none !important; transition: none !important; }
  .decor-drift, .orbita-giro, .wa-float { animation: none !important; }
  [data-parallax] { transform: none !important; }
  .mobile-menu, .menu-backdrop { transition: none !important; }
}
