
/* ===========================================================
   Dra. Valéria Ude - Ginecologia, Obstetrícia, Climatério e Longevidade
   CSS global - paleta verde + dourado (premium/elegante)
   =========================================================== */

:root{
  /* paleta */
  --verde:#225a6c;
  --verde-hover:#09241f;
  --dourado-claro:#d8bd83;
  --dourado-texto:#e6cc99; /* variante clara p/ texto sobre fundo verde - contraste AA (~4.9:1) */
  --dourado:#a77b34;
  --dourado-borda:#b08a45;
  --bronze:#7a5524;
  --bronze-2:#6f4f1f;

  --creme:#fffaf0;
  --offwhite:#fffdf8;
  --bg:#fbfaf7;
  --bg-secao:#f3f0ea;
  --bg-destaque:#f6f0e6;
  --borda:#dfd8ca;

  --texto:#333a36;
  --texto-muted:#4b554f;
  --titulo:#171b18;

  /* tipografia */
  --fonte-display:'Fraunces', Georgia, serif;
  --fonte-corpo:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* espaçamento */
  --container: 1160px;
  --radius: 10px;
  --radius-sm: 6px;

  /* sombra suave, premium */
  --sombra: 0 10px 30px -12px rgba(17,56,47,0.18);
  --sombra-sm: 0 4px 14px -6px rgba(17,56,47,0.14);

  /* altura real do header sticky, atualizada via JS (main.js) */
  --header-h: 76px;
}

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
[id]{ scroll-margin-top: calc(var(--header-h) + 16px); }

body{
  margin:0;
  font-family:var(--fonte-corpo);
  color:var(--texto);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
svg{ display:block; }

h1,h2,h3,h4{
  font-family:var(--fonte-display);
  color:var(--titulo);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:600;
  letter-spacing:-0.01em;
}
h1{ font-size:clamp(2.1rem, 4vw, 3.1rem); font-weight:600; }
h2{ font-size:clamp(1.6rem, 2.6vw, 2.15rem); }
h3{ font-size:1.2rem; }

p{ margin:0 0 1em; color:var(--texto); }
.muted{ color:var(--texto-muted); }

a{ color:var(--verde); text-decoration:none; }
a:hover{ color:var(--dourado); }

/* Links dentro de texto corrido não podem depender só da cor (WCAG 1.4.1) */
p a{ text-decoration:underline; text-underline-offset:2px; }

/* foco visível para acessibilidade */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible{
  outline:3px solid var(--dourado);
  outline-offset:2px;
}

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

.eyebrow{
  display:inline-block;
  font-family:var(--fonte-corpo);
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bronze);
  font-weight:600;
  margin-bottom:.6em;
}

/* -------- Botões -------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5em;
  font-family:var(--fonte-corpo);
  font-weight:600;
  font-size:.98rem;
  padding:.85em 1.5em;
  border-radius:100px;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
  white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }

.btn-primario{
  background:var(--verde);
  color:var(--creme);
}
.btn-primario:hover{ background:var(--verde-hover); color:var(--creme); }

.btn-secundario{
  background:transparent;
  color:var(--verde);
  border-color:var(--verde);
}
.btn-secundario:hover{ background:var(--verde); color:var(--creme); }

.btn-dourado{
  background:var(--dourado);
  color:var(--titulo);
}
.btn-dourado:hover{ background:var(--bronze); color:var(--creme); }

.btn-sm{ padding:.6em 1.1em; font-size:.88rem; }

.btn-icone{ width:1.1em; height:1.1em; flex:none; }

/* ================= HEADER ================= */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(251,250,247,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--borda);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 24px;
  max-width:var(--container); margin:0 auto;
}
.marca{
  display:flex; align-items:center; gap:.7em;
  color:var(--titulo); text-decoration:none;
}
.marca-logo{
  height:44px; width:auto; flex:none;
}
.marca-texto{
  display:flex; flex-direction:column; gap:5px;
}
.marca-nome{
  font-family:var(--fonte-display);
  font-size:1.15rem; font-weight:600; color:var(--verde);
  line-height:1;
}
.marca-sub{
  font-size:.72rem; color:var(--texto-muted); letter-spacing:.02em;
  line-height:1;
}
.marca:hover .marca-nome{ color:var(--dourado); }

.nav-desktop{
  display:flex; align-items:center; gap:1.9em;
}
.nav-desktop a{
  font-size:.94rem; color:var(--texto); font-weight:500;
  position:relative; padding:6px 0;
}
.nav-desktop a:hover{ color:var(--verde); }
.nav-desktop a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--dourado); transition:width .18s ease;
}
.nav-desktop a:hover::after{ width:100%; }

.dropdown{ position:relative; }
.dropdown-menu{
  position:absolute; top:100%; left:0; margin-top:10px;
  background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius-sm);
  box-shadow:var(--sombra); min-width:240px; padding:8px;
  opacity:0; visibility:hidden; transform:translateY(6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu{
  opacity:1; visibility:visible; transform:translateY(0);
}
.dropdown-menu a{
  display:block; padding:9px 12px; border-radius:6px; font-size:.9rem; color:var(--texto);
}
.dropdown-menu a:hover{ background:var(--bg-destaque); color:var(--verde); }

.dropdown-toggle{
  font:inherit; font-size:.94rem; color:var(--texto); font-weight:500;
  position:relative; padding:6px 0; background:none; border:none; cursor:pointer;
}
.dropdown-toggle:hover{ color:var(--verde); }
.dropdown-toggle::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:2px;
  background:var(--dourado); transition:width .18s ease;
}
.dropdown-toggle:hover::after{ width:100%; }

.header-cta{ display:flex; align-items:center; gap:14px; }
.header-cta .telefone-link{
  display:none;
  font-size:.88rem; color:var(--texto-muted); font-weight:500;
}

.menu-toggle{
  display:none;
  background:none; border:none; cursor:pointer; padding:8px;
}
.menu-toggle span{
  display:block; width:22px; height:2px; background:var(--verde); margin:5px 0; border-radius:2px;
}

.nav-mobile{ display:none; }

@media (max-width: 880px){
  .nav-desktop{ display:none; }
  .menu-toggle{ display:block; }
  .header-cta .btn-primario span.txt{ display:none; }
  .nav-mobile{
    display:block; max-height:0; overflow:hidden;
    background:var(--offwhite); border-top:1px solid var(--borda);
    transition:max-height .25s ease;
  }
  .nav-mobile.aberto{
    max-height:calc(var(--vh100, 100dvh) - var(--header-top-h, 84px));
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
  }
  .nav-mobile .container{ padding:14px 24px 20px; }
  .nav-mobile a, .nav-mobile .nav-mobile-titulo{
    display:block; padding:11px 0; color:var(--texto); font-size:1rem;
    border-bottom:1px solid var(--borda);
  }
  .nav-mobile .submenu{ padding-left:14px; }
  .nav-mobile .submenu a{ font-size:.92rem; color:var(--texto-muted); border-bottom:none; padding:8px 0; }
}
@media (min-width: 640px){
  .header-cta .telefone-link{ display:inline; }
}

/* ================= HERO ================= */
.hero{
  min-height:calc(var(--vh100, 100svh) - var(--header-h));
  display:flex; align-items:center;
  padding:28px 0 36px;
  background:
    radial-gradient(1200px 480px at 85% -10%, rgba(216,189,131,0.16), transparent 60%),
    var(--bg);
  position:relative; overflow:hidden;
}
.hero-grid{
  display:grid; grid-template-columns: 1.05fr .95fr; gap:56px; align-items:center;
  width:100%; min-width:0;
}
.hero-badges{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:1.1em;
}
.badge{
  font-size:.78rem; font-weight:600; color:var(--bronze);
  background:var(--bg-destaque); border:1px solid var(--dourado-borda);
  padding:.35em .9em; border-radius:100px;
}
.hero h1{ margin-bottom:.4em; }
.hero .lead{ font-size:1.12rem; color:var(--texto-muted); max-width:46ch; margin-bottom:1.5em; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:1.6em; }

.hero-figura-col{
  display:flex; flex-direction:column; align-items:center; gap:14px;
  min-width:0;
}
.hero-credenciais{
  font-size:.86rem; color:var(--texto-muted);
  display:flex; flex-wrap:wrap; justify-content:center; gap:.4em 1.2em; align-items:center;
  text-align:center;
}
.hero-credenciais strong{ color:var(--verde); }

.hero-figura{
  position:relative; border-radius:var(--radius); overflow:hidden;
  aspect-ratio: 4/5; background:var(--bg-secao);
  box-shadow:var(--sombra);
  border:1px solid var(--borda);
  min-width:0;
  width:100%;
  max-height:var(--foto-max-h, none);
}
.hero-figura img{ width:100%; height:100%; object-fit:cover; }
.hero-figura .moldura-dourada{
  position:absolute; inset:14px; border:1.5px solid var(--dourado-claro);
  border-radius:6px; pointer-events:none;
}

@media (max-width: 900px){
  /* "Ocupar a 1ª dobra" (min-height + centralização vertical) é regra
     pensada pro desktop. No mobile o conteúdo empilhado (texto + foto)
     costuma ser mais curto que a tela, e a centralização deixava sobra
     de espaço em cima e embaixo - aqui a hero volta a fluir naturalmente. */
  .hero{ min-height:auto; display:block; }
  .hero-grid{ grid-template-columns:1fr; }
  .hero-figura-col{ max-width:min(360px, 100%); margin:0 auto; }
}
@media (max-width: 640px){
  .hero-ctas{ flex-direction:column; }
  .hero-ctas .btn{ width:100%; justify-content:center; }
}

/* ================= SEÇÕES GERAIS ================= */
.secao{ padding:76px 0; }
.secao-alt{ background:var(--bg-secao); }
.secao-header{ max-width:620px; margin:0 auto 2.6em; text-align:center; }
.secao-header.esquerda{ margin-left:0; text-align:left; }

/* Pagina Sobre */
.hero-sobre .breadcrumb{ margin-bottom:1.2em; }
.sobre-conteudo{ display:grid; grid-template-columns:.8fr 1.2fr; gap:72px; align-items:start; max-width:1040px; }
.sobre-intro{ position:sticky; top:calc(var(--header-h) + 28px); }
.sobre-intro h2{ max-width:15ch; }
.sobre-texto{ font-size:1.04rem; }
.sobre-texto blockquote{ margin:2em 0 0; padding:24px 28px; border-left:3px solid var(--dourado); background:var(--bg-destaque); border-radius:0 var(--radius) var(--radius) 0; color:var(--verde); font-family:var(--fonte-display); font-size:1.25rem; line-height:1.45; }
.pilares-bloco{ margin-top:72px; }
.pilares-cabecalho{ max-width:650px; margin:0 auto 32px; text-align:center; }
.pilares-cabecalho h2{ margin-bottom:.45em; }
.pilares-cabecalho p{ color:var(--texto-muted); margin:0; }
.pilares-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.pilar-card{
  position:relative; overflow:hidden; padding:24px 24px;
  background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius);
  box-shadow:var(--sombra-sm); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pilar-card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.pilar-card:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.pilar-card:hover::after{ transform:scaleX(1); }
.pilar-topo{ display:flex; align-items:flex-start; margin-bottom:16px; }
.pilar-numero{ width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:var(--dourado); background:var(--bg-destaque); border:1px solid var(--dourado-claro); font-family:var(--fonte-display); font-size:1.2rem; font-weight:600; }
.pilar-card h3{ color:var(--verde); font-size:1.3rem; margin-bottom:.55em; }
.pilar-card p{ color:var(--texto-muted); font-size:.94rem; margin-bottom:0; }
@media (max-width:820px){
  .sobre-conteudo{ grid-template-columns:1fr; gap:20px; }
  .sobre-intro{ position:static; }
  .sobre-intro h2{ max-width:none; }
  .pilares-bloco{ margin-top:52px; }
  .pilares-grid{ grid-template-columns:1fr; }
}

/* Conteúdo complementar da página Sobre */
.credenciais-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.credencial-card{ position:relative; overflow:hidden; min-height:260px; padding:28px 26px; background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius); box-shadow:var(--sombra-sm); display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.credencial-card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.credencial-card:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.credencial-card:hover::after{ transform:scaleX(1); }
.credencial-numero{ width:48px; height:48px; display:flex; align-items:center; justify-content:center; border-radius:50%; color:var(--dourado); background:var(--bg-destaque); border:1px solid var(--dourado-claro); font-family:var(--fonte-display); font-size:1.2rem; font-weight:600; }
.credencial-card h3{ color:var(--verde); margin-top:.65em; }
.credencial-card p{ color:var(--texto-muted); font-size:.94rem; }
.credencial-card small{ display:inline-block; width:fit-content; margin-top:auto; color:var(--bronze); background:var(--bg-destaque); border:1px solid var(--dourado-claro); border-radius:100px; padding:.3em .75em; }
.pendente-conteudo{ background-image:repeating-linear-gradient(-45deg, transparent, transparent 12px, rgba(216,189,131,.045) 12px, rgba(216,189,131,.045) 24px); }
.nota-pendente{ max-width:760px; margin:24px auto 0; color:var(--texto-muted); font-size:.8rem; text-align:center; }
.local-sobre-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:center; }
.local-sobre-grid > *{ min-width:0; }
.local-sobre-lista{ list-style:none; padding:0; margin:24px 0 28px; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.local-sobre-lista li{ display:flex; flex-direction:column; padding-left:14px; border-left:2px solid var(--dourado); }
.local-sobre-lista strong{ color:var(--verde); font-size:.82rem; }
.local-sobre-lista span,.local-sobre-lista a{ color:var(--texto-muted); font-size:.88rem; }
.local-telefones a{ display:inline-block; padding:6px 0; }
.local-sobre-ctas{ margin-bottom:0; }
.local-sobre-grid .mapa-wrap{ width:100%; min-height:0; aspect-ratio:16/11; box-shadow:var(--sombra); }
.local-sobre-grid .mapa-wrap iframe{ width:100%; min-width:0; min-height:0; }
.depoimentos-pendentes .card-depoimento{ min-height:190px; }
@media (max-width:900px){
  .credenciais-grid,.local-sobre-grid{ grid-template-columns:1fr; }
  .credencial-card{ min-height:auto; }
  .local-sobre-grid .mapa-wrap{ min-height:0; }
}
@media (max-width:560px){
  .local-sobre-lista{ grid-template-columns:1fr; }
}

/* Cards de especialidades */
.grid-especialidades{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
.card-especialidade{
  position:relative; overflow:hidden;
  background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius);
  padding:28px 24px; text-decoration:none; color:var(--texto);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex; flex-direction:column; gap:10px;
}
.card-especialidade::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.card-especialidade:hover{
  transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda);
}
.card-especialidade:hover::after{ transform:scaleX(1); }
.card-especialidade .icone{ width:48px; height:48px; padding:11px; color:var(--dourado); background:var(--bg-destaque); border:1px solid var(--dourado-claro); border-radius:50%; }
.card-especialidade h3{ margin-bottom:.2em; color:var(--verde); }
.card-especialidade p{ font-size:.92rem; color:var(--texto-muted); margin-bottom:0; }
.card-especialidade .saiba-mais{
  margin-top:auto; font-size:.86rem; font-weight:600; color:var(--dourado);
}

@media (max-width: 880px){
  .grid-especialidades{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px){
  .grid-especialidades{ grid-template-columns:1fr; }
}

/* Cards de diferenciais (Por que escolher) */
.grid-diferenciais{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;
}
.card-diferencial{
  position:relative; overflow:hidden;
  background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius);
  padding:28px 24px; color:var(--texto);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  display:flex; flex-direction:column; gap:10px;
}
.card-diferencial::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.card-diferencial:hover{
  transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda);
}
.card-diferencial:hover::after{ transform:scaleX(1); }
.card-diferencial .icone{ width:48px; height:48px; padding:11px; color:var(--dourado); background:var(--bg-destaque); border:1px solid var(--dourado-claro); border-radius:50%; }
.card-diferencial h3{ margin-bottom:.2em; color:var(--verde); }
.card-diferencial p{ font-size:.92rem; color:var(--texto-muted); margin-bottom:0; }

@media (max-width: 880px){
  .grid-diferenciais{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 560px){
  .grid-diferenciais{ grid-template-columns:1fr; }
}

/* Sobre resumo */
.sobre-resumo{
  display:grid; grid-template-columns: .85fr 1.15fr; gap:52px; align-items:center;
}
.sobre-resumo .foto{
  aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden; background:var(--bg-secao);
  border:1px solid var(--borda); box-shadow:var(--sombra-sm);
}
.sobre-resumo .foto img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.sobre-resumo .foto:hover img{ transform:scale(1.025); }
@media (max-width: 820px){
  .sobre-resumo{ grid-template-columns:1fr; }
  .sobre-resumo .foto{ max-width:420px; margin:0 auto; }
}
@media (max-width: 560px){
  .sobre-resumo .btn{ width:100%; justify-content:center; }
}

/* Como funciona (passos) */
.passos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; counter-reset:passo; }
.passos-4{ grid-template-columns:repeat(4, 1fr); }
.passo{ position:relative; overflow:hidden; min-height:240px; text-align:left; padding:28px 26px; background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius); box-shadow:var(--sombra-sm); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.passo::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.passo:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.passo:hover::after{ transform:scaleX(1); }
.passo .num{
  width:48px; height:48px; margin:0 0 28px; border-radius:50%;
  background:var(--bg-destaque); color:var(--dourado); border:1px solid var(--dourado-claro);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fonte-display); font-size:1.2rem; font-weight:600;
}
.passo h3{ color:var(--verde); font-size:1.3rem; margin-bottom:.55em; }
.passo p{ color:var(--texto-muted); font-size:.94rem; }

@media (max-width: 900px){
  .passos-4{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px){
  .passos{ grid-template-columns:1fr; gap:20px; }
  .passo{ min-height:auto; }
}

/* FAQ */
.faq-lista{ max-width:760px; margin:0 auto; }
.faq-item{
  border-bottom:1px solid var(--borda);
}
.faq-item summary{
  cursor:pointer; list-style:none; padding:20px 0;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  font-family:var(--fonte-display); font-size:1.05rem; color:var(--titulo);
  transition:color .18s ease, padding-left .18s ease;
}
.faq-item summary:hover{ color:var(--verde); padding-left:6px; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item .sinal{
  flex:none; width:22px; height:22px; color:var(--dourado);
  transition:transform .18s ease;
}
.faq-item[open] .sinal{ transform:rotate(45deg); }
.faq-item .resposta{ padding:0 0 20px; color:var(--texto-muted); }

/* Bloco de sintomas */
.bloco-sintomas{
  background:var(--bg-destaque); border:1px solid var(--dourado-borda);
  border-radius:var(--radius); padding:32px;
}
.bloco-sintomas h2{ color:var(--titulo); }
.lista-sintomas{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lista-sintomas li{
  display:flex; gap:12px; align-items:flex-start; padding:16px; font-size:.94rem;
  background:rgba(255,253,248,.72); border:1px solid rgba(176,138,69,.35); border-radius:var(--radius-sm);
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.lista-sintomas li:hover{ background:var(--offwhite); border-color:var(--dourado-borda); transform:translateY(-2px); }
.lista-sintomas svg{ flex:none; width:20px; height:20px; margin-top:2px; color:var(--dourado); }
@media (max-width:760px){
  .bloco-sintomas{ padding:22px 18px; }
  .lista-sintomas{ grid-template-columns:minmax(0, 1fr); }
  .lista-sintomas li{ min-width:0; padding:14px; }
  .lista-sintomas li span{ min-width:0; overflow-wrap:anywhere; }
}

/* Contato / localização */
.contato-grid{
  display:grid; grid-template-columns: .9fr 1.1fr; gap:40px; align-items:start;
}
.contato-grid > *{ min-width:0; }
.contato-card{
  background:var(--verde); color:var(--creme); border-radius:var(--radius);
  padding:36px; box-shadow:var(--sombra);
}
.contato-card h2{ color:var(--creme); }
.contato-card .lead{ color:var(--dourado-texto); margin-bottom:1.4em; }
.contato-lista{ list-style:none; margin:0 0 1.8em; padding:0; display:grid; gap:14px; }
.contato-lista li{ display:flex; gap:12px; align-items:flex-start; font-size:.95rem; }
.contato-lista svg{ flex:none; width:20px; height:20px; color:var(--dourado-claro); margin-top:2px; }
.contato-lista a{ color:var(--creme); }
.contato-lista a:hover{ color:var(--dourado-claro); }
.contato-ctas{ display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:1.6em; }
.contato-ctas > *{ min-width:0; }
.contato-ctas .btn{ width:100%; justify-content:center; white-space:normal; text-align:center; padding-left:1em; padding-right:1em; }
.convenios-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:1.6em; }
.convenios-tags a{
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:.8rem; padding:.4em .6em; border-radius:100px;
  border:1px solid #fff; color:#fff; flex:1 1 auto;
}
.convenios-tags a:hover{ background:#fff; color:var(--verde); }

.mapa-wrap{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--borda);
  box-shadow:var(--sombra-sm); background:var(--bg-secao); aspect-ratio:16/11;
}
.mapa-wrap iframe{ width:100%; height:100%; border:0; }
.mapa-consentimento{ width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:24px; text-align:center; }
.mapa-consentimento p{ margin:0; font-size:.86rem; color:var(--texto-muted); max-width:32ch; }

@media (max-width: 900px){ .contato-grid{ grid-template-columns:1fr; } }
@media (max-width: 640px){ .contato-ctas{ grid-template-columns:1fr; } }

/* Formulário */
.form-contato{ margin-top:24px; display:grid; gap:14px; }
.campo{ display:grid; gap:6px; }
.campo label{ font-size:.85rem; font-weight:600; color:var(--titulo); }
.campo input, .campo textarea{
  font-family:var(--fonte-corpo); font-size:.96rem; padding:12px 14px;
  border:1px solid var(--borda); border-radius:var(--radius-sm); background:var(--offwhite);
  color:var(--texto);
}
.campo input:focus, .campo textarea:focus{ border-color:var(--dourado); }
.form-aviso{ font-size:.8rem; color:var(--texto-muted); }
@media (min-width: 641px){
  .form-contato button[type="submit"]{ justify-self:start; }
}
@media (max-width: 640px){
  .form-contato button[type="submit"]{ justify-content:center; }
}
.form-aviso a{ text-decoration:underline; }

/* CTA final */
.cta-final{
  background:var(--verde); color:var(--creme); text-align:center; padding:70px 0;
}
.cta-final h2{ color:var(--creme); }
.cta-final .lead{ color:var(--dourado-texto); max-width:520px; margin:0 auto 1.6em; }
.cta-final-ctas{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
@media (max-width: 640px){
  .cta-final-ctas{ flex-direction:column; }
  .cta-final-ctas .btn{ width:100%; justify-content:center; }
}

/* ================= FOOTER ================= */
.site-footer{ background:var(--titulo); color:#cfd6d1; padding:52px 0 22px; }
.footer-grid{ display:grid; grid-template-columns: 1.3fr .95fr .95fr; gap:36px; margin-bottom:34px; }
.footer-marca .marca-nome{ color:var(--dourado-claro); }
.footer-marca p{ color:#a9b3ad; font-size:.9rem; margin-top:10px; }
.footer-endereco{ font-style:normal; color:#a9b3ad; font-size:.9rem; margin-top:16px; line-height:1.5; }
.footer-horario{ color:#a9b3ad; font-size:.85rem; margin-top:8px; }
.footer-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.footer-badge{
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-size:.85rem; font-weight:600; color:var(--dourado-claro); white-space:nowrap;
  border:1px solid rgba(216,189,131,0.45); border-radius:100px;
  padding:.4em .9em; transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.footer-badge svg{ width:14px; height:14px; flex:none; }
.footer-badge:hover{ background:var(--dourado-claro); color:var(--verde); border-color:var(--dourado-claro); }
.footer-badge-zap{ border-color:var(--dourado-claro); }
.footer-col h3{
  font-family:var(--fonte-corpo); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--dourado-claro); margin-bottom:1em;
}
.footer-col ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.footer-col a{ color:#cfd6d1; font-size:.92rem; }
.footer-col a:hover{ color:var(--dourado-claro); }
.footer-col a.footer-badge{ color:var(--dourado-claro); font-size:.85rem; }
.footer-col a.footer-badge:hover{ color:var(--verde); }
.footer-telefones{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.footer-telefones a{ color:var(--dourado-claro); border:1px solid rgba(216,189,131,.45); border-radius:100px; padding:.4em .8em; font-size:.78rem; transition:background .18s ease, color .18s ease, border-color .18s ease; }
.footer-telefones a:hover{ color:var(--verde); background:var(--dourado-claro); border-color:var(--dourado-claro); }
.footer-bottom{
  border-top:1px solid #2c332e; padding-top:20px;
  display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px;
  font-size:.8rem; color:#8b958f;
}
.footer-bottom address{ font-style:normal; }
.site-legal{ background:#12140f; color:#8b958f; font-size:.82rem; line-height:1.6; padding:28px 0; }
.site-legal p{ margin:0 0 10px; color:#fff; }
.site-legal p:last-of-type{ margin-bottom:0; }
.site-legal-bottom{ border-top:1px solid #2c332e; margin-top:18px; padding-top:16px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.site-legal a{ color:#8b958f; text-decoration:underline; }
.site-legal a:hover{ color:var(--dourado-claro); }

@media (max-width: 900px){ .footer-grid{ grid-template-columns:1.2fr 1fr; } .footer-marca{ grid-column:1 / -1; } }
@media (max-width: 640px){ .footer-grid{ grid-template-columns:1fr; } .footer-marca{ grid-column:auto; } }

/* ================= BOTÃO FLUTUANTE WHATSAPP =================
   Aparece no desktop e no mobile, sempre que a 1ª dobra (.hero /
   .pagina-hero) sai da tela - controlado via classe .visivel (main.js,
   IntersectionObserver). No mobile mostra só o ícone (sem o texto). */
.wpp-flutuante{
  position:fixed; right:20px; bottom:20px; z-index:60;
  display:flex; align-items:center; gap:10px;
  background:var(--verde); color:var(--creme);
  padding:14px 20px 14px 16px; border-radius:100px;
  box-shadow:0 10px 24px -8px rgba(17,56,47,0.45);
  text-decoration:none; font-weight:600; font-size:.92rem;
  transition:transform .16s ease, background .16s ease, opacity .22s ease, visibility .22s ease;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translateY(8px);
}
.wpp-flutuante.visivel{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translateY(0);
}
.wpp-flutuante:hover{ background:var(--verde-hover); color:var(--creme); transform:translateY(-2px); }
.wpp-flutuante svg{ width:22px; height:22px; flex:none; }
.wpp-flutuante .wpp-texto{ display:none; }
@media (min-width:640px){ .wpp-flutuante .wpp-texto{ display:inline; } }
@media (max-width:640px){
  .wpp-flutuante{ right:16px; bottom:16px; padding:14px; }
  .header-cta .btn-primario{ display:none; }
}

/* Banner de cookies (LGPD)
   Usa display:none/block (sem transform/transição) para não gerar CLS
   quando o banner aparece no carregamento da página. */
.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  background:var(--titulo); box-shadow:0 -6px 20px -10px rgba(0,0,0,0.35);
  padding:18px 24px; display:none;
}
.cookie-banner.visivel{ display:block; }
.cookie-banner-inner{
  max-width:var(--container); margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.cookie-banner p{ font-size:.86rem; line-height:1.55; color:#cfd6d1; margin:0; max-width:640px; }
.cookie-banner a{ color:var(--dourado-claro); text-decoration:underline; }
.cookie-banner a:hover{ color:var(--dourado-claro); text-decoration:underline; }
.cookie-banner .cookie-ctas{ display:flex; gap:10px; flex-wrap:wrap; flex:none; }
.cookie-banner button{
  border-radius:100px; padding:10px 22px; font-size:.86rem; font-weight:600;
  cursor:pointer; font-family:inherit; transition:background .16s ease, border-color .16s ease, color .16s ease;
}
.cookie-banner .cookie-recusar{ background:transparent; border:1px solid rgba(255,255,255,.28); color:#fff; }
.cookie-banner .cookie-recusar:hover{ border-color:rgba(255,255,255,.5); }
.cookie-banner .cookie-aceitar{ background:var(--dourado); border:1px solid var(--dourado); color:var(--titulo); }
.cookie-banner .cookie-aceitar:hover{ background:var(--dourado-claro); border-color:var(--dourado-claro); }
@media (max-width:640px){
  .cookie-banner{ padding:16px 18px; }
  .cookie-banner-inner{ flex-direction:column; align-items:stretch; gap:14px; }
  .cookie-banner p{ max-width:none; }
  .cookie-banner .cookie-ctas{ justify-content:flex-end; }
}

/* ================= PÁGINAS INTERNAS (serviço) ================= */
.pagina-hero{
  padding:52px 0 44px; background:var(--bg-secao); border-bottom:1px solid var(--borda);
}
.breadcrumb{ font-size:.82rem; color:var(--texto-muted); margin-bottom:1em; }
.breadcrumb a{ color:var(--texto-muted); }
.breadcrumb a:hover{ color:var(--verde); }
.pagina-hero h1{ max-width:22ch; }
.pagina-hero .lead{ max-width:60ch; color:var(--texto-muted); font-size:1.05rem; }
.pagina-hero .hero-ctas{ margin-top:1.4em; }

/* Hero editorial das páginas de serviços e atendimento */
.pagina-hero-com-foto{
  min-height:calc(var(--vh100, 100svh) - var(--header-h));
  display:flex; align-items:center; padding:28px 0 36px;
  background:radial-gradient(1200px 480px at 85% -10%, rgba(216,189,131,.16), transparent 60%), var(--bg);
  border-bottom:0; overflow:hidden;
}
.pagina-hero-com-foto > .container{
  display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;
  width:100%; min-width:0;
}
.pagina-hero-texto{ min-width:0; }
.pagina-hero-com-foto h1{ max-width:18ch; font-size:clamp(2.1rem, 4vw, 3.1rem); margin-bottom:.4em; }
.pagina-hero-com-foto .lead{ max-width:46ch; font-size:1.12rem; }

/* Conteúdo das páginas internas no mesmo ritmo visual da home */
.conteudo-servico > h2{ color:var(--titulo); padding-top:.35em; }
.conteudo-servico > h2::after{ content:none; }
.pagina-diu .conteudo-servico h2{
  max-width:620px; margin:1.6em auto .5em; text-align:center;
  color:var(--titulo); border:0; text-decoration:none;
}
.pagina-diu .conteudo-servico h2::before,
.pagina-diu .conteudo-servico h2::after{
  content:none !important; display:none !important; border:0 !important;
}
.conteudo-servico > p{ font-size:1rem; }
.conteudo-servico > ul{ list-style:none; background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius); padding:22px 24px; }
.conteudo-servico > ul > li{ display:flex; align-items:flex-start; gap:12px; }
.conteudo-servico > ul > li svg{ flex:none; width:19px; height:19px; margin-top:3px; color:var(--dourado); }
.conteudo-servico .faq-lista{ margin-top:1.2em !important; }
.conteudo-servico .grid-opcoes{ gap:20px; margin:1.8em 0 2.4em; }
.conteudo-servico .opcao-card{
  position:relative; overflow:hidden; min-height:210px; padding:24px 20px;
  display:flex; flex-direction:column; align-items:flex-start; text-align:left;
  background:var(--offwhite); border-radius:var(--radius); box-shadow:var(--sombra-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.conteudo-servico .opcao-card::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.conteudo-servico .opcao-card:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.conteudo-servico .opcao-card:hover::after{ transform:scaleX(1); }
.conteudo-servico .opcao-card .icone{ width:46px; height:46px; padding:10px; margin:0 0 20px; border-radius:50%; color:var(--dourado); background:var(--bg-destaque); border:1px solid var(--dourado-claro); }
.conteudo-servico .opcao-card h3{ color:var(--verde); font-size:1.12rem; }
.conteudo-servico .opcao-card p{ font-size:.88rem; line-height:1.6; }

@media (max-width:900px){
  .pagina-hero-com-foto{ min-height:auto; display:block; padding:42px 0; }
  .pagina-hero-com-foto > .container{ grid-template-columns:1fr; gap:36px; }
  .pagina-hero-com-foto .hero-figura-col{ max-width:min(360px, 100%); margin:0 auto; }
}
@media (max-width:640px){
  .pagina-hero-com-foto{ padding:32px 0 40px; }
  .pagina-hero-com-foto > .container{ gap:28px; }
}

.conteudo-servico{ max-width:var(--container); margin:0 auto; }
.conteudo-servico > p{ max-width:900px; }
.conteudo-servico > h2{ max-width:900px; }
.conteudo-servico > ul{ max-width:900px; }
.conteudo-servico > .aviso-cfm{ max-width:900px; }
.conteudo-servico > .faq-lista{ max-width:900px; margin-left:0; margin-right:0; }
.conteudo-servico h2{ margin-top:1.6em; }
.conteudo-servico > ul > li{ margin-bottom:.5em; }

.grid-opcoes{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:1.6em 0; }
.opcao-card{
  background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius-sm);
  padding:20px; text-align:center;
}
.opcao-card .icone{ width:30px; height:30px; color:var(--dourado); margin:0 auto 10px; }
.opcao-card h3{ font-size:1.02rem; margin-bottom:.3em; }
.opcao-card p{ font-size:.86rem; color:var(--texto-muted); margin-bottom:0; }
@media (max-width:700px){ .grid-opcoes{ grid-template-columns:1fr; } }

.aviso-cfm{
  background:var(--bg-destaque); border-left:3px solid var(--dourado);
  border-radius:var(--radius-sm); padding:18px 20px; font-size:.9rem; color:var(--texto-muted);
  margin:2em 0; box-shadow:var(--sombra-sm);
}

.relacionados{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:1.2em;
}
.chip-relacionado{
  font-size:.86rem; padding:.5em 1.1em; border-radius:100px;
  border:1px solid var(--borda); color:var(--verde); background:var(--offwhite);
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.chip-relacionado:hover{ transform:translateY(-2px); border-color:var(--dourado-borda); background:var(--bg-destaque); }

.cta-secao-servico{
  position:relative; overflow:hidden; background:var(--bg-destaque); border:1px solid var(--dourado-claro);
  border-radius:var(--radius); padding:34px 32px; text-align:center; margin:2.8em 0;
  box-shadow:var(--sombra-sm);
}
.cta-secao-servico::before{ content:""; position:absolute; top:0; left:50%; width:64px; height:3px; background:var(--dourado); transform:translateX(-50%); }
.cta-secao-servico p{ color:var(--bronze); font-weight:600; margin-bottom:.9em; }

/* ================= FAIXA DE INFORMAÇÕES RÁPIDAS ================= */
.faixa-info{
  background:var(--verde); color:var(--creme);
  padding:22px 0;
}
.faixa-info .container{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
.faixa-info-item{
  display:flex; align-items:center; gap:12px;
}
.faixa-info-icone{
  flex:none; width:38px; height:38px; border-radius:50%;
  background:rgba(216,189,131,0.14);
  display:flex; align-items:center; justify-content:center;
}
.faixa-info-icone svg{ width:18px; height:18px; color:var(--dourado-claro); }
.faixa-info-item strong{ display:block; font-size:.86rem; color:var(--creme); }
.faixa-info-item > div span{ display:block; font-size:.82rem; color:#cfe0da; }
.faixa-info-item a{ color:#cfe0da; }
.faixa-info-item a:hover{ color:var(--dourado-claro); }
@media (max-width:900px){ .faixa-info .container{ grid-template-columns:1fr 1fr; row-gap:20px; } }
@media (max-width:520px){
  .faixa-info{ padding:6px 0; }
  .faixa-info .container{ grid-template-columns:1fr; gap:0; }
  .faixa-info-item{
    padding:16px 0; border-bottom:1px solid rgba(255,250,240,0.14);
  }
  .faixa-info-item:last-child{ border-bottom:none; }
}

/* Cards particular/convênios */
.grid-convenios{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
}
.card-convenio{
  position:relative; overflow:hidden;
  background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius);
  padding:28px 24px; display:flex; flex-direction:column; gap:8px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card-convenio::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.card-convenio:hover,.card-convenio:focus-within{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.card-convenio:hover::after,.card-convenio:focus-within::after{ transform:scaleX(1); }
.card-convenio .selo{
  display:inline-block; width:fit-content; font-size:.74rem; font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:var(--bronze); background:var(--bg-destaque);
  border:1px solid var(--dourado-borda); padding:.3em .8em; border-radius:100px; margin-bottom:.4em;
}
.card-convenio .eyebrow{ margin-bottom:0; }
.card-convenio h3{ color:var(--verde); margin-bottom:.2em; }
.card-convenio p{ font-size:.92rem; color:var(--texto-muted); margin-bottom:0; flex:1; }
.card-convenio .saiba-mais{ margin-top:.9em; font-size:.86rem; font-weight:600; color:var(--dourado); }
.convenios-detalhados{ margin-top:2em; }
.convenios-detalhados .card-convenio{ padding:30px 26px; }
.convenios-detalhados .convenio-detalhes{ list-style:none; padding:16px 0 0; margin:8px 0 0; border-top:1px solid var(--borda); display:grid; gap:8px; }
.convenios-detalhados .convenio-detalhes li{ position:relative; padding-left:18px; color:var(--texto-muted); font-size:.84rem; }
.convenios-detalhados .convenio-detalhes li::before{ content:"✓"; position:absolute; left:0; color:var(--dourado); font-weight:700; }
.convenios-detalhados .saiba-mais{ display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--borda); }
.convenios-detalhados .saiba-mais span{ transition:transform .18s ease; }
.convenios-detalhados .saiba-mais:hover span{ transform:translateX(4px); }
.convenios-detalhados .card-convenio .btn{ align-self:flex-start; margin-top:.4em; }
@media (max-width:880px){ .grid-convenios{ grid-template-columns:1fr; } }

/* Estrutura de atendimento (galeria) */
.galeria-estrutura{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;
}
.galeria-estrutura .foto-estrutura{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--borda);
  background:var(--bg-secao); position:relative; aspect-ratio:4/3; box-shadow:var(--sombra-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.galeria-estrutura .foto-estrutura:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.galeria-estrutura .foto-estrutura img{ width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.galeria-estrutura .foto-estrutura:hover img{ transform:scale(1.035); }
.galeria-estrutura .legenda{
  position:absolute; left:0; right:0; bottom:0; padding:14px 16px;
  background:linear-gradient(180deg, transparent, rgba(17,56,47,0.78));
  color:var(--creme); font-size:.86rem; font-weight:500;
}
@media (max-width:760px){
  .galeria-estrutura{ grid-template-columns:1fr; }
}

/* Depoimentos */
.depoimentos-nota{
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin:-1em auto 2em; color:var(--bronze); font-weight:600; font-size:.95rem;
}
.depoimentos-nota .estrelas{ display:inline-flex; gap:2px; color:var(--dourado); }
.depoimentos-nota .estrelas svg{ width:16px; height:16px; }
.grid-depoimentos{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
.card-depoimento{
  position:relative; overflow:hidden; background:var(--offwhite); border:1px solid var(--borda); border-radius:var(--radius);
  padding:30px 26px 26px; display:flex; flex-direction:column; gap:12px; box-shadow:var(--sombra-sm);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card-depoimento::before{ content:"“"; color:var(--dourado-claro); font-family:var(--fonte-display); font-size:3rem; line-height:.55; }
.card-depoimento::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--dourado); transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.card-depoimento:hover{ transform:translateY(-4px); box-shadow:var(--sombra); border-color:var(--dourado-borda); }
.card-depoimento:hover::after{ transform:scaleX(1); }
.card-depoimento .estrelas{ display:inline-flex; gap:2px; color:var(--dourado); }
.card-depoimento .estrelas svg{ width:16px; height:16px; }
.card-depoimento p{ font-size:.94rem; color:var(--texto); font-style:italic; margin-bottom:0; flex:1; }
.card-depoimento .autor{ font-size:.85rem; font-weight:600; color:var(--verde); font-style:normal; }
.depoimentos-cta{ text-align:center; margin-top:2.2em; }
@media (max-width:880px){ .grid-depoimentos{ grid-template-columns:1fr; } }
@media (max-width:640px){
  .depoimentos-cta .btn{ width:100%; justify-content:center; }
}

/* Faixas de rodapé editorial (revisão + aviso educativo) */
.faixa-editorial{ padding:26px 0; border-top:1px solid var(--borda); }
.faixa-editorial .container{ max-width:820px; text-align:center; }
.faixa-editorial p{
  font-size:.82rem; color:var(--texto-muted); margin-bottom:.6em; line-height:1.6;
}
.faixa-editorial p:last-child{ margin-bottom:0; }
.faixa-editorial .revisao{ font-weight:600; color:var(--texto); }

/* Skip link acessibilidade */
.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--verde); color:var(--creme); padding:10px 16px; border-radius:6px; z-index:100;
}
.skip-link:focus{ left:16px; top:16px; }

/* Reduzir movimento para quem preferir */
@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}


@media (min-width:901px){:root{--foto-max-h:max(calc(100svh - var(--header-h) - 78px - var(--credenciais-h,46px)),260px)}}
