/* ==========================================================================
   IDENTIDADE · Dra. Cris Oliveira (site.css)
   Conceito: o símbolo do logo (dois anéis entrelaçados, C verde e O grafite).
   Cores do próprio logo: verde-limão #76C935 e grafite #353535. Fontes: Jost (letra geométrica
   do logo, "a" de um andar via ss01) + Albert Sans no texto.
   ========================================================================== */

:root {
  --cor-fundo: #f4f2ec;
  --cor-fundo-2: #e9e6dc;
  --cor-texto: #23221e;
  --cor-texto-suave: #5b5850;
  --cor-linha: rgba(35, 34, 30, .14);
  --cor-acao: #76c935;
  --cor-acao-hover: #92de55;
  --cor-acao-texto: #16200c;
  --cor-destaque: #33661a;
  --cor-escuro: #1d1a17;
  --cor-escuro-2: #26221e;
  --cor-escuro-texto: #f1ede4;
  --lima: #76c935;
  --grafite: #353535;
  --fonte-titulo: 'Jost', 'Reserva Jost', 'Century Gothic', 'Trebuchet MS', sans-serif;
  --fonte-texto: 'Albert Sans', 'Reserva Texto', 'Segoe UI', Roboto, sans-serif;
  --peso-titulo: 500;
  --track-titulo: -.022em;
  --raio-p: 10px;
  --raio-g: 22px;
  --raio-btn: 999px;
  --estrela: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e8b64c' d='M12 2.8l2.8 5.9 6.4.8-4.7 4.4 1.2 6.4L12 17.2l-5.7 3.1 1.2-6.4-4.7-4.4 6.4-.8z'/%3E%3C/svg%3E");
}
/* Fonte reserva com métrica parecida (evita pulo de layout enquanto a Jost chega) */
@font-face { font-family: 'Reserva Jost'; src: local('Century Gothic'), local('Arial'); size-adjust: 92%; ascent-override: 100%; descent-override: 30%; }
@font-face { font-family: 'Reserva Texto'; src: local('Segoe UI'), local('Arial'); size-adjust: 98%; }

h1, h2, h3, h4, .marca__txt, .menu__nav a, .numero strong, .lateral__titulo, .contato__end { font-feature-settings: 'ss01' 1; }
body { font-feature-settings: 'kern' 1; }

/* ---------- ajustes do kit para a marca (sem caixa-alta espaçada, sem itálico de template) ---------- */
.rotulo { display: inline-flex; align-items: center; gap: .6rem; font-size: .92rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--cor-destaque); }
.rotulo::before { content: ''; width: 20px; height: 11px; flex: none; background:
  radial-gradient(circle at 5.5px 5.5px, transparent 2.9px, var(--lima) 3.1px 5.3px, transparent 5.5px),
  radial-gradient(circle at 14.5px 5.5px, transparent 2.9px, currentColor 3.1px 5.3px, transparent 5.5px); }
.rotulo--claro { color: var(--cor-escuro-texto); }
.rodape__col .rotulo::before, .vitrine__rotulo::before { display: none; }
em.tl { font-family: var(--fonte-titulo); font-style: normal; font-size: 1em; line-height: inherit; color: var(--cor-destaque); }
.meta b, .canal__n { letter-spacing: 0; text-transform: none; font-size: .82rem; }
.secao__titulo { font-size: clamp(2rem, 1.25rem + 2.9vw, 3.5rem); line-height: 1.04; max-width: 20ch; }
.btn { font-family: var(--fonte-texto); font-weight: 600; }
.btn--acao::before { background: var(--cor-acao-hover); }
.btn--acao:hover { box-shadow: 0 14px 30px -12px rgba(118, 201, 53, .55); }
.fecho .btn--acao { --b-fundo: var(--cor-acao); --b-texto: var(--cor-acao-texto); }
.fecho .btn--acao::before { background: var(--cor-acao-hover); }
.fecho__titulo { max-width: 17em; }
.fecho em.tl, .voz em.tl { color: var(--lima); }
.marca__img { height: clamp(34px, 3.4vw, 44px); }
.cartao__img { border-radius: var(--raio-g); }
.prosa blockquote { border-left-color: var(--lima); font-style: normal; }
.estrelas { display: inline-block; width: 5.4em; height: 1em; background: var(--estrela) 0 50% / 1.08em 1em repeat-x; vertical-align: -.12em; }

/* ruído fotográfico leve nas seções escuras (data URI em pseudo-elemento, nunca filter) */
.hco::after, .voz::after { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ==========================================================================
   HERO · os dois anéis
   ========================================================================== */
.hco { position: relative; background: var(--cor-escuro); color: var(--cor-escuro-texto); padding: calc(var(--topo-h) + .6rem) 0 2.4rem; overflow: hidden; isolation: isolate; }
.hco__in { width: min(100% - 2.5rem, 1320px); margin-inline: auto; display: grid; grid-template-areas: 'topo' 'par' 'base'; gap: 1.5rem; position: relative; z-index: 1; }
.hco__topo { grid-area: topo; }
.hco__par { grid-area: par; }
.hco__base { grid-area: base; }
.hco__sinal { display: inline-flex; align-items: center; gap: .6rem; font-size: .88rem; text-decoration: none; color: color-mix(in srgb, var(--cor-escuro-texto) 78%, transparent); transition: color .3s; }
.hco__sinal b { color: var(--cor-escuro-texto); font-weight: 600; }
.hco__sinal:hover { color: var(--cor-escuro-texto); }
.hco__titulo { font-size: clamp(2.3rem, 1.1rem + 5.4vw, 3.4rem); line-height: 1.02; letter-spacing: -.03em; margin-top: .9rem; max-width: 13.5em; }
.hco__titulo em.tl { color: var(--lima); }
.hco__lead { font-size: clamp(1.02rem, .95rem + .35vw, 1.22rem); line-height: 1.55; color: color-mix(in srgb, var(--cor-escuro-texto) 80%, transparent); max-width: 34em; }
.hco__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; margin-top: 1.4rem; }
.hco__acoes .btn--linha { border-color: color-mix(in srgb, var(--cor-escuro-texto) 30%, transparent); }

.hco__par { position: relative; height: calc(min(100vw - 2.5rem, 460px) * .86); }
.hco__anel { position: absolute; margin: 0; border-radius: 50%; overflow: hidden; aspect-ratio: 1; background: var(--cor-escuro-2); }
.hco__anel--video { right: 0; top: 0; width: calc(min(100vw - 2.5rem, 460px) * .72); box-shadow: 0 0 0 6px var(--cor-escuro), 0 0 0 9px var(--grafite); }
.hco__anel--cris { left: 0; bottom: 0; width: calc(min(100vw - 2.5rem, 460px) * .42); box-shadow: 0 0 0 6px var(--cor-escuro), 0 0 0 10px var(--lima); z-index: 2; }
.hco__anel video, .hco__anel img { width: 100%; height: 100%; object-fit: cover; }
.hco__anel--cris img { object-position: 50% 18%; transform: scale(1.18); transform-origin: 50% 30%; }
.hco__assina { position: absolute; right: 0; bottom: 0; text-align: right; display: grid; gap: .1rem; font-size: .82rem; color: color-mix(in srgb, var(--cor-escuro-texto) 70%, transparent); }
.hco__assina b { font-family: var(--fonte-titulo); font-weight: 500; font-size: 1.02rem; color: var(--cor-escuro-texto); font-feature-settings: 'ss01' 1; }

@media (max-width: 899px) {
  .hco__acoes .btn--acao { width: 100%; }
  .hco__acoes .btn--linha { min-height: 44px; padding: .4rem 0; border: 0; background: none; text-decoration: underline; text-underline-offset: .25em; }
  .hco__acoes .btn--linha::before { display: none; }
  .hco__acoes .btn--linha:hover { color: var(--cor-escuro-texto); box-shadow: none; }
}
@media (min-width: 900px) {
  .hco { min-height: 100svh; display: grid; align-items: center; padding: calc(var(--topo-h) + 2rem) 0 3.5rem; }
  .hco__in { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); grid-template-areas: 'topo par' 'base par'; column-gap: clamp(2rem, 4vw, 5rem); row-gap: 1.8rem; align-items: end; }
  .hco__base { align-self: start; }
  .hco__titulo { font-size: clamp(3rem, .9rem + 3.5vw, 4.5rem); max-width: none; }
  .hco__par { height: min(42vw, 600px); align-self: center; }
  .hco__anel--video { width: min(34vw, 500px); top: 0; }
  .hco__anel--cris { width: min(19vw, 270px); left: 2%; bottom: 4%; }
  .hco__assina { bottom: 1%; right: 4%; }
}

/* ==========================================================================
   SEU TOM, SUA QUEIXA (interativo exclusivo)
   ========================================================================== */
.tom { padding-block: var(--e8); background: var(--cor-fundo); content-visibility: auto; contain-intrinsic-size: auto 1100px; }
.tom__cab .lead { margin-top: -.4rem; }
.tom__app { display: grid; gap: 1.6rem; margin-top: var(--e6); }
.tom__passo { border: 0; margin: 0; padding: 0; min-width: 0; }
.tom__passo legend { display: flex; align-items: center; gap: .7rem; padding: 0; margin-bottom: 1rem; font-family: var(--fonte-titulo); font-size: clamp(1.2rem, 1.1rem + .5vw, 1.5rem); font-feature-settings: 'ss01' 1; }
.tom__n { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--cor-texto); color: var(--cor-fundo); font-size: .95rem; font-family: var(--fonte-texto); font-weight: 600; flex: none; }
.tom__chips { display: flex; flex-wrap: wrap; gap: .55rem; }
.chip { min-height: 44px; padding: .55rem 1.05rem; border: 1px solid var(--cor-linha); border-radius: 999px; background: #fff; font-size: .95rem; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s, transform .3s var(--curva); }
.chip:hover { border-color: var(--cor-texto); transform: translateY(-1px); }
.chip:active { transform: scale(.97); }
.chip[aria-checked="true"] { background: var(--cor-texto); border-color: var(--cor-texto); color: var(--cor-fundo); box-shadow: inset 0 0 0 2px var(--cor-texto), inset 0 0 0 4px var(--lima); }
.tom__tons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.tonal { display: grid; justify-items: center; gap: .15rem; padding: .7rem .3rem .6rem; border: 1px solid transparent; border-radius: 18px; background: none; cursor: pointer; transition: background-color .3s, border-color .3s; }
.tonal i { width: 52px; height: 52px; border-radius: 50%; background: var(--tom); box-shadow: inset 0 -6px 12px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .08); margin-bottom: .35rem; transition: transform .45s var(--curva), box-shadow .3s; }
.tonal b { font-family: var(--fonte-titulo); font-weight: 600; font-size: 1rem; }
.tonal span { font-size: .78rem; color: var(--cor-texto-suave); text-align: center; line-height: 1.25; }
.tonal:hover i { transform: scale(1.07); }
.tonal[aria-checked="true"] { background: #fff; border-color: var(--cor-linha); }
.tonal[aria-checked="true"] i { box-shadow: inset 0 -6px 12px rgba(0, 0, 0, .12), 0 0 0 3px #fff, 0 0 0 6px var(--lima); transform: scale(1.04); }

.tom__res { position: relative; padding: clamp(1.5rem, 4vw, 2.4rem); border-radius: 28px; background: var(--cor-escuro); color: var(--cor-escuro-texto); display: grid; gap: 1rem; align-content: start; overflow: hidden; }
.tom__res::before { content: ''; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; border: 14px solid color-mix(in srgb, var(--lima) 22%, transparent); pointer-events: none; }
.tom__res-rot { font-size: .95rem; color: color-mix(in srgb, var(--cor-escuro-texto) 75%, transparent); padding-right: 3rem; }
.tom__res-rot b { color: var(--lima); font-weight: 600; }
.tom__res-t { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem); }
.tom__passos { list-style: none; margin: 0; padding: 0; counter-reset: p; display: grid; gap: .1rem; }
.tom__passos li { counter-increment: p; display: grid; grid-template-columns: 2.2rem 1fr; gap: .4rem; padding: .7rem 0; border-top: 1px solid color-mix(in srgb, var(--cor-escuro-texto) 14%, transparent); }
.tom__passos li::before { content: '0' counter(p); font-family: var(--fonte-titulo); color: var(--lima); font-weight: 600; }
.tom__cuidado { display: grid; grid-template-columns: auto 1fr; gap: .8rem; padding: 1rem 1.1rem; border-radius: 16px; background: color-mix(in srgb, var(--cor-escuro-texto) 7%, transparent); font-size: .95rem; line-height: 1.55; }
.tom__cuidado-ico { color: var(--lima); padding-top: .1rem; }
.tom__cuidado-ico .i { width: 1.4rem; height: 1.4rem; }
.tom__nota { font-size: .8rem; color: color-mix(in srgb, var(--cor-escuro-texto) 60%, transparent); }
.tom__res.is-troca [data-r="passos"], .tom__res.is-troca [data-r="cuidado"] { opacity: .15; }
[data-r="passos"], [data-r="cuidado"] { transition: opacity .25s; }
@media (min-width: 640px) { .tom__tons { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
  .tom__app { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); grid-template-rows: auto 1fr; column-gap: clamp(2rem, 4vw, 4.5rem); row-gap: 2.4rem; }
  .tom__res { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: calc(var(--topo-h) + 1rem); }
  .tom__cab { display: grid; grid-template-columns: 1.1fr .9fr; column-gap: clamp(2rem, 4vw, 4.5rem); align-items: end; }
  .tom__cab .rotulo { grid-column: 1 / -1; }
  .tom__cab .lead { margin: 0 0 clamp(1.4rem, 1rem + 1.2vw, 2rem); }
}

/* ==========================================================================
   VOZ DAS CLIENTES + ANTES E DEPOIS
   ========================================================================== */
.voz { position: relative; background: var(--cor-escuro); color: var(--cor-escuro-texto); padding-block: var(--e8); overflow: hidden; content-visibility: auto; contain-intrinsic-size: auto 1200px; }
.voz__in { position: relative; z-index: 1; display: grid; gap: var(--e7); }
.voz__frase { font-size: clamp(1.9rem, 1.1rem + 3.2vw, 3.6rem); line-height: 1.08; letter-spacing: -.025em; margin-top: 1.2rem; max-width: 18ch; }
.voz__frase em.tl { color: var(--lima); }
.voz__autor { margin-top: 1.2rem; font-size: .92rem; color: color-mix(in srgb, var(--cor-escuro-texto) 65%, transparent); }
.voz__fatos { list-style: none; margin: var(--e6) 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid color-mix(in srgb, var(--cor-escuro-texto) 15%, transparent); }
.voz__fatos li { display: grid; grid-template-columns: 5.2rem 1fr; gap: 1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid color-mix(in srgb, var(--cor-escuro-texto) 15%, transparent); }
.voz__fatos b { font-family: var(--fonte-titulo); font-weight: 500; font-size: 2.2rem; line-height: 1; color: var(--lima); letter-spacing: -.02em; font-feature-settings: 'ss01' 1, 'tnum' 1; }
.voz__fatos span { font-size: .95rem; color: color-mix(in srgb, var(--cor-escuro-texto) 78%, transparent); }

.ad { display: grid; gap: 1rem; align-content: start; }
.ad__abas { display: flex; gap: .5rem; }
.ad__abas button { min-height: 44px; padding: .5rem 1.1rem; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--cor-escuro-texto) 28%, transparent); background: none; color: var(--cor-escuro-texto); cursor: pointer; transition: background-color .3s, color .3s; }
.ad__abas button[aria-selected="true"] { background: var(--lima); border-color: var(--lima); color: var(--cor-acao-texto); font-weight: 600; }
.ad__quadro { --pos: 50%; position: relative; aspect-ratio: 6 / 5; border-radius: var(--raio-g); overflow: hidden; background: var(--cor-escuro-2); touch-action: pan-y; user-select: none; }
.ad__img { position: absolute; inset: 0; }
.ad__img[hidden] { display: none !important; }
.ad__img picture, .ad__img img { width: 100%; height: 100%; object-fit: cover; }
.ad__img--antes { clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.ad__et { position: absolute; bottom: 1rem; padding: .35rem .8rem; border-radius: 999px; background: rgba(20, 18, 16, .72); color: #fff; font-size: .8rem; font-weight: 600; pointer-events: none; }
.ad__et--antes { left: 1rem; } .ad__et--depois { right: 1rem; }
.ad__linha { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: #fff; pointer-events: none; }
.ad__linha i { position: absolute; top: 50%; left: 50%; display: flex; align-items: center; justify-content: center; gap: 0; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; background: var(--lima); color: var(--cor-acao-texto); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); }
.ad__linha .i { width: 1rem; height: 1rem; stroke-width: 2.2; }
.ad__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; }
.ad__range:focus-visible + * { outline: none; }
.ad__quadro:has(.ad__range:focus-visible) { outline: 2px solid var(--lima); outline-offset: 4px; }
.ad__nota { font-size: .82rem; color: color-mix(in srgb, var(--cor-escuro-texto) 60%, transparent); }
@media (min-width: 1000px) {
  .voz__in { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; column-gap: clamp(3rem, 5vw, 6rem); }
}

/* ==========================================================================
   A CRIS
   ========================================================================== */
.cris { padding-block: var(--e8); background: var(--cor-fundo); content-visibility: auto; contain-intrinsic-size: auto 1100px; }
.cris__in { display: grid; gap: var(--e6); align-items: center; }
.cris__video { position: relative; width: min(78vw, 360px); margin-inline: auto; aspect-ratio: 480 / 760; border-radius: 999px; overflow: hidden; background: var(--cor-escuro-2); box-shadow: 0 0 0 8px var(--cor-fundo), 0 0 0 11px var(--lima); }
.cris__v { width: 100%; height: 100%; object-fit: cover; }
.cris__som { position: absolute; left: 50%; bottom: 1.4rem; transform: translateX(-50%); display: inline-flex; align-items: center; gap: .5rem; min-height: 46px; padding: .55rem 1.1rem; border: 0; border-radius: 999px; background: rgba(20, 18, 16, .78); color: #fff; font-weight: 600; font-size: .9rem; cursor: pointer; white-space: nowrap; transition: background-color .3s, transform .35s var(--curva); }
.cris__som:hover { background: var(--lima); color: var(--cor-acao-texto); }
.cris__som:active { transform: translateX(-50%) scale(.96); }
.cris__som .som-on { opacity: .35; }
.cris__som[aria-pressed="true"] .som-on { opacity: 1; }
.cris__cit { margin: var(--e5) 0 0; }
.cris__cit p { font-family: var(--fonte-titulo); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.6rem); line-height: 1.3; letter-spacing: -.01em; font-feature-settings: 'ss01' 1; }
.cris__cit p::first-letter { color: var(--cor-destaque); }
.cris__cit cite { display: block; margin-top: .7rem; font-style: normal; font-size: .88rem; color: var(--cor-texto-suave); }
.cris__form { list-style: none; margin: var(--e5) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.cris__form li { padding: .45rem .9rem; border-radius: 999px; background: var(--cor-fundo-2); font-size: .88rem; }
.cris__mais { display: inline-flex; align-items: center; gap: .5rem; margin-top: var(--e5); font-weight: 600; color: var(--cor-destaque); }
@media (min-width: 900px) {
  .cris__in { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); column-gap: clamp(3rem, 6vw, 7rem); }
  .cris__video { width: min(100%, 380px); }
}

/* ==========================================================================
   TRATAMENTOS
   ========================================================================== */
.trat { padding-block: var(--e8); background: var(--cor-fundo-2); content-visibility: auto; contain-intrinsic-size: auto 900px; }
.trat__abas { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; margin: 0 -1.25rem var(--e4); padding: 0 1.25rem .3rem; min-width: 0; }
.trat__abas::-webkit-scrollbar { display: none; }
.trat__abas button { flex: none; display: inline-flex; align-items: center; gap: .55rem; min-height: 46px; padding: .5rem 1.15rem; border: 1px solid var(--cor-linha); border-radius: 999px; background: var(--cor-fundo); cursor: pointer; font-size: .96rem; transition: background-color .3s, color .3s, border-color .3s; }
.trat__abas small { font-size: .75rem; opacity: .6; }
.trat__abas button:hover { border-color: var(--cor-texto); }
.trat__abas button[aria-selected="true"] { background: var(--cor-texto); color: var(--cor-fundo); border-color: var(--cor-texto); }
.trat__lista { border-top: 1px solid var(--cor-linha); }
.trat__ul { list-style: none; margin: 0; padding: 0; }
.trat__lista[hidden] { display: none; }
.trat__lista a { position: relative; display: grid; grid-template-columns: 1fr auto; gap: .2rem 1rem; padding: 1.15rem 0; border-bottom: 1px solid var(--cor-linha); text-decoration: none; isolation: isolate; transition: padding .45s var(--curva); }
.trat__lista a::before { content: ''; position: absolute; inset: 0 -1.25rem; z-index: -1; background: var(--lima); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--curva); }
.trat__lista a:hover::before { transform: none; }
.trat__lista a:hover { padding-left: .6rem; }
.trat__n { font-family: var(--fonte-titulo); font-size: clamp(1.2rem, 1.05rem + .6vw, 1.6rem); line-height: 1.2; font-feature-settings: 'ss01' 1; }
.trat__d { grid-row: 2; font-size: .92rem; color: var(--cor-texto-suave); }
.trat__lista a:hover .trat__d { color: var(--cor-texto); }
.trat__seta { grid-row: 1 / span 2; align-self: center; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--cor-linha); transition: transform .45s var(--curva), background-color .3s; }
.trat__lista a:hover .trat__seta { transform: rotate(-45deg); background: var(--cor-texto); color: var(--lima); border-color: var(--cor-texto); }
@media (min-width: 900px) {
  .trat__abas { margin-inline: 0; padding-inline: 0; }
  .trat__lista a { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; align-items: center; padding: 1.3rem 0; }
  .trat__d { grid-row: auto; font-size: 1rem; }
  .trat__seta { grid-row: auto; }
}

/* ==========================================================================
   AVALIAÇÕES EM ESTEIRA
   ========================================================================== */
.avs { padding-block: var(--e8); background: var(--cor-fundo); overflow: hidden; content-visibility: auto; contain-intrinsic-size: auto 1000px; }
.avs__cab { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; }
.avs__cab .secao__titulo { margin-bottom: 0; }
.avs__esteiras { display: grid; gap: 1rem; margin-top: var(--e6); }
.esteira { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.esteira__trilho { display: flex; gap: 1rem; width: max-content; padding-block: .4rem; }
.esteira.is-rodando .esteira__trilho { animation: esteira var(--dur, 80s) linear infinite; }
.esteira--volta.is-rodando .esteira__trilho { animation-direction: reverse; }
.esteira:hover .esteira__trilho, .esteira.is-pausada .esteira__trilho { animation-play-state: paused; }
@keyframes esteira { to { transform: translateX(-50%); } }
.aval { flex: none; width: clamp(272px, 78vw, 360px); margin: 0; padding: 1.35rem 1.4rem 1.2rem; border-radius: var(--raio-g); background: #fff; border: 1px solid var(--cor-linha); display: grid; gap: .75rem; align-content: start; transition: transform .45s var(--curva), box-shadow .45s var(--curva); }
.aval:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -22px rgba(0, 0, 0, .35); }
.aval__quem { display: flex; gap: .75rem; align-items: center; }
.aval__ini { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--tom); color: #fff; font-family: var(--fonte-titulo); font-weight: 600; font-size: 1.1rem; flex: none; }
.aval__quem b { display: block; font-weight: 600; line-height: 1.2; }
.aval__quem small { font-size: .78rem; color: var(--cor-texto-suave); }
.aval__txt { margin: 0; font-size: .95rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden; }
.aval__tag { justify-self: start; padding: .25rem .7rem; border-radius: 999px; background: color-mix(in srgb, var(--lima) 18%, #fff); color: #2c5a14; font-size: .78rem; font-weight: 600; }
/* esteira roda mesmo com "reduzir animações" ativo */

/* ==========================================================================
   PRIMEIRA VEZ + MAPA
   ========================================================================== */
.visita { padding-block: var(--e8); background: var(--cor-fundo-2); content-visibility: auto; contain-intrinsic-size: auto 1000px; }
.visita__in { display: grid; gap: var(--e6); align-items: center; }
.visita__passos { list-style: none; margin: 0; padding: 0; counter-reset: v; }
.visita__passos li { counter-increment: v; display: grid; grid-template-columns: 3rem 1fr; gap: .2rem 1rem; padding: 1.1rem 0; border-top: 1px solid var(--cor-linha); }
.visita__passos li::before { content: '0' counter(v); grid-row: span 2; font-family: var(--fonte-titulo); font-size: 1.5rem; line-height: 1.1; color: var(--cor-destaque); }
.visita__passos b { font-family: var(--fonte-titulo); font-weight: 500; font-size: 1.2rem; font-feature-settings: 'ss01' 1; }
.visita__passos span { color: var(--cor-texto-suave); }
.visita__end { display: flex; gap: .7rem; margin-top: var(--e5); font-size: .98rem; }
.visita__end .i { width: 1.4rem; height: 1.4rem; color: var(--cor-destaque); margin-top: .15rem; }
.visita__mapa { margin: 0; border-radius: var(--raio-g); overflow: hidden; background: #e2ded2; }
.visita__mapa figcaption { padding: .6rem 1rem .8rem; font-size: .78rem; color: var(--cor-texto-suave); }
.mapa { width: 100%; height: auto; }
.mapa__fundo { fill: #e4e0d4; }
.mapa__praca { fill: #c8d6b4; }
.mapa__via { fill: none; stroke: #fbfaf6; stroke-linecap: round; stroke-linejoin: round; }
.mapa__via--ped { stroke: #f1eee6; }
.mapa__via--destaque { fill: none; stroke: var(--lima); stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.mapa__pe { fill: none; stroke: #23221e; stroke-width: 2; stroke-dasharray: 2 6; stroke-linecap: round; }
.mapa__metro circle { fill: #23221e; stroke: #fff; stroke-width: 2.5; }
.mapa__metro text { font: 700 12px var(--fonte-texto); fill: #fff; text-anchor: middle; }
.mapa__nome, .mapa__aqui { paint-order: stroke; stroke: #e4e0d4; stroke-width: 5px; stroke-linejoin: round; }
.mapa__nome { font: 600 13px var(--fonte-texto); fill: #23221e; }
.mapa__pino circle { fill: #23221e; }
.mapa__pino .mapa__halo { fill: var(--lima); opacity: .4; }
.mapa__pino .mapa__miolo { fill: var(--lima); }
.mapa__aqui { font: 600 17px var(--fonte-titulo); fill: #23221e; font-feature-settings: 'ss01' 1; }
.mapa__aqui--sub { font: 500 12.5px var(--fonte-texto); fill: #4d4a43; }
.visita__mapa figcaption { display: flex; align-items: center; gap: .6rem; }
.mapa__leg { width: 22px; height: 6px; border-radius: 3px; background: var(--lima); flex: none; }
@media (min-width: 900px) { .visita__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(3rem, 6vw, 6rem); } }

/* ==========================================================================
   BLOG NA HOME
   ========================================================================== */
.blogh { content-visibility: auto; contain-intrinsic-size: auto 900px; background: var(--cor-fundo); }
.blogh__cab { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem 2rem; }
.blogh__todos { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; margin-bottom: clamp(1.4rem, 1rem + 1.2vw, 2rem); }

/* esteira roda mesmo com "reduzir animações" ativo (sobrepõe a regra global do base.css) */
@media (prefers-reduced-motion: reduce) { .esteira.is-rodando .esteira__trilho { animation-duration: var(--dur, 80s) !important; } }
