/* ACERTO Odontologia — site.css
   Mobile first: os estilos base valem para telas a partir de 360 px.
   Pontos de quebra: 48em (768 px) e 64em (1024 px). */

/* ─── Tokens ─────────────────────────────────────────── */
:root {
  --verde-marca: #48A59A;   /* verde da logo: grafismos, nunca texto sobre branco */
  --verde-acao: #2B766E;    /* botões e links (5,4:1 sobre branco) */
  --verde-escuro: #1F5E57;  /* hover, faixa das especializações */
  --verde-claro: #E3F1EE;   /* bloco de pacientes */
  --verde-whats: #128C7E;   /* ícone flutuante de WhatsApp */
  --tinta: #17201F;         /* texto e fundos escuros */
  --cinza-texto: #5F6664;   /* texto secundário (5,9:1) */
  --cinza-claro: #C9D3D1;   /* texto sobre fundo escuro */
  --verde-nevoa: #D3E6E2;   /* texto sobre fotos com véu */
  --fio: #D9DEDC;           /* linhas e bordas */
  --papel: #F5F6F4;         /* fundo alternado */
  --branco: #FFFFFF;

  --fonte: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --canto-folha: 18px 2px 18px 2px;   /* a peça verde do símbolo */
  --largura: 1160px;
  --margem: 20px;
  --cabecalho: 64px;
  --veu: linear-gradient(180deg, rgba(23, 32, 31, .8) 0%, rgba(23, 32, 31, .6) 48%, rgba(31, 94, 87, .84) 100%);
}

/* ─── Base ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--cabecalho) + 16px); }
body {
  margin: 0;
  font-family: var(--fonte);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--tinta);
  background: var(--branco);
}
img, svg { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, address, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
address { font-style: normal; }
a { color: inherit; }
h1, h2 {
  font-weight: 700;
  font-stretch: 87.5%;
  line-height: 1.08;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
h1 { font-size: clamp(2rem, 1.45rem + 2.6vw, 3.4rem); }
h2 { font-size: clamp(1.7rem, 1.35rem + 1.6vw, 2.5rem); }
h3, h4 { font-size: 1.2rem; font-weight: 600; line-height: 1.3; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--verde-acao); outline-offset: 3px; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.pular {
  position: absolute; left: 12px; top: -100px; z-index: 100;
  padding: .75rem 1rem; background: var(--branco); border: 2px solid var(--verde-acao); border-radius: 6px;
}
.pular:focus { top: 12px; }

/* ─── Estrutura ──────────────────────────────────────── */
.container {
  width: 100%;
  max-width: calc(var(--largura) + 2 * var(--margem));
  margin-inline: auto;
  padding-inline: var(--margem);
}
.secao { position: relative; padding-block: 56px; }
.secao--papel { background: var(--papel); }
.secao--pacientes { background: var(--verde-claro); }
.secao--escura { background: var(--tinta); color: var(--branco); }
.secao--compacta { padding-block: 40px; }
.secao__topo { display: grid; gap: .75rem; max-width: 46rem; margin-bottom: 2rem; }
.secao__topo > p:not(.rotulo) { color: var(--cinza-texto); font-size: 1.0625rem; }
.secao--escura .secao__topo > p:not(.rotulo) { color: var(--cinza-claro); }
.texto { display: grid; gap: 1rem; max-width: 42rem; }
.texto p { color: var(--cinza-texto); }
.secao--escura .texto p { color: var(--cinza-claro); }
.duas-colunas { display: grid; gap: 2.25rem; }
.nota { font-size: .9375rem; color: var(--cinza-texto); }

@media (min-width: 64em) {
  .secao { padding-block: 96px; }
  .secao--compacta { padding-block: 64px; }
  .duas-colunas { grid-template-columns: 1fr 1fr; gap: 4.5rem; align-items: center; }
  .duas-colunas--topo { align-items: start; }
  .duas-colunas--texto-largo { grid-template-columns: 7fr 5fr; }
  .duas-colunas--foto-direita > .foto { order: 2; }
}

/* ─── Marca d'água (o símbolo 2×2 em traço) ──────────── */
.com-marca { position: relative; isolation: isolate; overflow: hidden; }
.marca-dagua {
  position: absolute; z-index: -1; right: -70px; top: -50px;
  width: clamp(240px, 42vw, 460px); height: auto;
  color: var(--verde-marca); opacity: .14; pointer-events: none;
}
.marca-dagua--baixo { top: auto; bottom: -70px; }
.marca-dagua--esquerda { right: auto; left: -80px; }
.secao--escura .marca-dagua, .rodape .marca-dagua, .faixa-foto .marca-dagua { color: var(--branco); opacity: .06; }

/* ─── Rótulo de seção (quadrado com canto-folha) ─────── */
.rotulo {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--verde-acao);
}
.rotulo::before {
  content: ""; flex-shrink: 0; width: 9px; height: 9px;
  background: var(--verde-marca); border-radius: 4px 1px 4px 1px;
}
.secao--escura .rotulo, .faixa-foto .rotulo { color: var(--verde-marca); }

.grupo-titulo {
  display: flex; align-items: center; gap: 1rem;
  margin: 2.25rem 0 1rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  font-stretch: 100%; line-height: 1.3;
  color: var(--cinza-texto);
}
.grupo-titulo::after { content: ""; flex: 1; height: 1px; background: var(--fio); }
.grupo-titulo:first-of-type { margin-top: 0; }

/* ─── Botões e links ─────────────────────────────────── */
.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 52px; padding: .8rem 1.4rem;
  border: 1.5px solid transparent; border-radius: 6px;
  font: 600 1rem/1.25 var(--fonte); text-align: center; text-decoration: none;
  cursor: pointer;
  transition: background-color .15s, border-color .15s, color .15s;
}
.botao--principal { background: var(--verde-acao); color: var(--branco); }
.botao--principal:hover { background: var(--verde-escuro); }
.botao--contorno { border-color: var(--verde-acao); color: var(--verde-acao); background: transparent; }
.botao--contorno:hover { background: var(--verde-claro); }
.botao--branco { background: var(--branco); color: var(--verde-escuro); }
.botao--branco:hover { background: var(--verde-claro); }
.botao--claro { border-color: var(--verde-marca); color: var(--branco); background: transparent; }
.botao--claro:hover { background: rgba(72, 165, 154, .18); }
.botao--vidro { border-color: rgba(255, 255, 255, .6); color: var(--branco); background: rgba(255, 255, 255, .08); }
.botao--vidro:hover { background: rgba(255, 255, 255, .18); }
.botao .icone { width: 20px; height: 20px; flex-shrink: 0; }

.link-seta {
  display: inline-flex; align-items: center; min-height: 44px;
  color: var(--verde-acao); font-weight: 600;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
}
.link-seta::after { content: "→"; margin-left: .4em; text-decoration: none; }
.link-seta:hover { color: var(--verde-escuro); }
.secao--escura .link-seta, .faixa-foto .link-seta, .link-seta--claro { color: var(--branco); }

.acoes { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; margin-top: 1.5rem; }
@media (min-width: 48em) {
  .acoes { flex-direction: row; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; }
}

.icone { width: 20px; height: 20px; fill: currentColor; }

/* ─── Cabeçalho e menu ───────────────────────────────── */
.cabecalho {
  position: sticky; top: 0; z-index: 50;
  background: var(--branco); border-bottom: 1px solid var(--fio);
}
.cabecalho__interno {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: var(--cabecalho);
}
.js .cabecalho__interno { flex-wrap: nowrap; }
.cabecalho__logo { display: block; flex-shrink: 0; padding-block: 8px; }
.cabecalho__logo img { width: 144px; height: auto; }
.cabecalho__menu {
  display: inline-flex; align-items: center; gap: .65rem;
  min-height: 48px; padding: 0 .25rem 0 .75rem;
  border: 0; background: none; cursor: pointer;
  font: 600 1rem var(--fonte); color: var(--tinta);
}
.cabecalho__icone { position: relative; width: 22px; height: 14px; }
.cabecalho__icone::before, .cabecalho__icone::after {
  content: ""; position: absolute; left: 0; right: 0; height: 2px; background: currentColor;
  transition: transform .15s, top .15s, bottom .15s;
}
.cabecalho__icone::before { top: 2px; }
.cabecalho__icone::after { bottom: 2px; }
.cabecalho__menu[aria-expanded="true"] .cabecalho__icone::before { top: 6px; transform: rotate(45deg); }
.cabecalho__menu[aria-expanded="true"] .cabecalho__icone::after { bottom: 6px; transform: rotate(-45deg); }

/* Sem JavaScript, o menu aparece como lista logo abaixo do cabeçalho. */
.menu { flex-basis: 100%; padding-bottom: 1rem; }
.js .menu { display: none; }
.menu-aberto { overflow: hidden; }
.menu-aberto .menu {
  display: block; position: fixed; inset: calc(var(--cabecalho) + 1px) 0 0 0; z-index: 49;
  padding: .5rem var(--margem) 2.5rem; overflow-y: auto; background: var(--branco);
}
.menu__lista li { border-bottom: 1px solid var(--fio); }
.menu__item {
  display: flex; flex-direction: column; justify-content: center;
  min-height: 56px; padding: .5rem 0;
  font-weight: 600; font-size: 1.125rem; text-decoration: none;
}
.menu__item small { font-weight: 400; font-size: .9375rem; color: var(--cinza-texto); }
.menu__item--destaque { min-height: 80px; font-size: 1.6rem; font-stretch: 87.5%; }
.menu__item--destaque small { font-stretch: 100%; }
.menu__item--pacientes > span { display: inline-flex; align-items: center; gap: .55rem; }
.menu__item--pacientes > span::after {
  content: ""; width: 9px; height: 9px; background: var(--verde-marca); border-radius: 4px 1px 4px 1px;
}
.menu__item[aria-current="page"] { color: var(--verde-acao); }
.menu__whats { margin-top: 1.75rem; }
.menu__whats-titulo {
  margin-bottom: .25rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--cinza-texto);
}
.menu__whats a {
  display: flex; align-items: center; gap: .75rem; min-height: 56px;
  border-bottom: 1px solid var(--fio); text-decoration: none; font-weight: 600;
}
.menu__whats a .icone { color: var(--verde-acao); }
.menu__whats small { display: block; font-weight: 400; font-size: .9375rem; color: var(--cinza-texto); }

@media (min-width: 64em) {
  :root { --cabecalho: 76px; }
  .cabecalho__logo img { width: 164px; }
  .cabecalho__menu { display: none; }
  .menu, .js .menu {
    display: block; position: static; flex-basis: auto; padding: 0; overflow: visible; background: none;
  }
  .menu__lista { display: flex; align-items: center; gap: 1.75rem; }
  .menu__lista li { border: 0; }
  .menu__item, .menu__item--destaque {
    flex-direction: row; align-items: center; min-height: 44px;
    font-size: 1rem; font-stretch: 100%;
  }
  .menu__item small, .menu__whats { display: none; }
  .menu__item:hover { color: var(--verde-acao); }
  .menu__item[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--verde-marca); }
}

/* ─── Topo da home: fotos da clínica passando, logo no centro ─ */
.hero-foto {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; align-items: center;
  min-height: min(88svh, 780px); padding-block: 64px 96px;
  background: var(--tinta); color: var(--branco); text-align: center;
}
.hero-foto__slides, .hero-foto__veu, .hero-foto__malha { position: absolute; inset: 0; }
.hero-foto__slides { z-index: -3; }
.hero-foto__veu { z-index: -2; background: linear-gradient(180deg, rgba(23, 32, 31, .7) 0%, rgba(23, 32, 31, .48) 45%, rgba(31, 94, 87, .78) 100%); }
.hero-foto h1, .hero-foto__apoio, .hero-foto__descritor { text-shadow: 0 1px 16px rgba(0, 0, 0, .45); }
.hero-foto__malha {
  z-index: -1;
  background-image:
    linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 40px 40px;
}
.hero-foto__slide { position: absolute; inset: 0; opacity: 0; animation: hero-slide 30s linear infinite; }
.hero-foto__slide img { width: 100%; height: 100%; object-fit: cover; }
.hero-foto__slide:nth-child(1) { animation-delay: -1.8s; }
.hero-foto__slide:nth-child(2) { animation-delay: 4.2s; }
.hero-foto__slide:nth-child(3) { animation-delay: 10.2s; }
.hero-foto__slide:nth-child(4) { animation-delay: 16.2s; }
.hero-foto__slide:nth-child(5) { animation-delay: 22.2s; }
@keyframes hero-slide {
  0% { opacity: 0; transform: scale(1.06); }
  6% { opacity: 1; }
  20% { opacity: 1; }
  26% { opacity: 0; transform: scale(1); }
  100% { opacity: 0; transform: scale(1); }
}
.hero-foto.pausado .hero-foto__slide { animation-play-state: paused; }
.hero-foto__conteudo { display: grid; justify-items: center; gap: 1.1rem; max-width: 48rem; }
.hero-foto__descritor {
  max-width: 24rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--verde-nevoa);
}
.hero-foto__logo { width: min(320px, 78vw); height: auto; filter: drop-shadow(0 8px 28px rgba(0, 0, 0, .35)); }
.hero-foto h1 { max-width: 38rem; font-size: clamp(1.6rem, 1.2rem + 2vw, 2.7rem); color: var(--branco); }
.hero-foto__apoio { max-width: 34rem; font-size: 1.0625rem; color: var(--verde-nevoa); }
.hero-foto__status {
  display: inline-flex; align-items: center; gap: .6rem;
  padding: .6rem 1rem;
  background: rgba(23, 32, 31, .45); border: 1px solid rgba(255, 255, 255, .28); border-radius: var(--canto-folha);
  font-size: .9375rem;
}
.hero-foto__status strong { font-weight: 600; }
.hero-foto__status::before {
  content: ""; flex-shrink: 0; width: 9px; height: 9px; background: var(--verde-marca); border-radius: 4px 1px 4px 1px;
}
.hero-foto .acoes { width: 100%; justify-content: center; margin-top: .5rem; }
.hero-foto__pausa {
  position: absolute; left: var(--margem); bottom: 16px;
  display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 .9rem;
  border: 1px solid rgba(255, 255, 255, .35); border-radius: 6px; background: rgba(23, 32, 31, .45);
  font: 600 .875rem var(--fonte); color: var(--branco); cursor: pointer;
}
.hero-foto__pausa-icone { width: 10px; height: 12px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.hero-foto.pausado .hero-foto__pausa-icone {
  width: 0; height: 0; border-left: 10px solid currentColor; border-right: 0;
  border-top: 6px solid transparent; border-bottom: 6px solid transparent;
}
@media (min-width: 48em) { .hero-foto .acoes { width: auto; } }
@media (min-width: 64em) { .hero-foto { padding-block: 88px 120px; } }

/* Faixa de pacientes logo abaixo do topo */
.faixa-pacientes { display: block; background: var(--verde-claro); text-decoration: none; transition: background-color .15s; }
.faixa-pacientes:hover { background: #D5EAE5; }
.faixa-pacientes .container {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 84px; padding-block: 1rem;
}
.faixa-pacientes__rotulo {
  display: block; font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  color: var(--verde-escuro);
}
.faixa-pacientes__texto { display: block; font-weight: 600; }
.faixa-pacientes__seta {
  display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px;
  border-radius: var(--canto-folha); background: var(--verde-acao); color: var(--branco); font-size: 1.3rem;
}

/* ─── Destaques com ícones ───────────────────────────── */
.destaques { display: grid; grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; }
.destaque { display: grid; gap: .55rem; align-content: start; }
.destaque__icone {
  display: grid; place-items: center; width: 52px; height: 52px;
  border-radius: var(--canto-folha); background: var(--verde-claro); color: var(--verde-acao);
}
.destaque__icone svg { width: 26px; height: 26px; }
.destaque h3 { font-size: 1.0625rem; }
.destaque p { font-size: .9375rem; color: var(--cinza-texto); }
@media (min-width: 64em) {
  .destaques { grid-template-columns: repeat(4, 1fr); gap: 2.5rem; }
  .destaque + .destaque { padding-left: 2.5rem; border-left: 1px solid var(--fio); margin-left: -1.25rem; }
}

/* ─── Fotos ──────────────────────────────────────────── */
.foto img { width: 100%; height: auto; border-radius: var(--canto-folha); background: var(--papel); }
.foto figcaption { margin-top: .6rem; font-size: .9375rem; color: var(--cinza-texto); }
.secao--escura .foto figcaption { color: var(--cinza-claro); }
/* Foto com um bloco verde deslocado atrás, no formato da peça do símbolo */
.foto--destaque { position: relative; isolation: isolate; padding: 0 14px 14px 0; }
.foto--destaque::before {
  content: ""; position: absolute; z-index: -1; left: 14px; top: 14px; right: 0; bottom: 0;
  border-radius: var(--canto-folha); background: var(--verde-claro);
}
.secao--pacientes .foto--destaque::before { background: rgba(72, 165, 154, .35); }
.secao--escura .foto--destaque::before { background: rgba(72, 165, 154, .3); }
@media (min-width: 64em) {
  .foto--destaque { padding: 0 24px 24px 0; }
  .foto--destaque::before { left: 24px; top: 24px; }
}
.galeria { display: grid; gap: 1.25rem; }
@media (min-width: 48em) { .galeria { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .galeria--tres { grid-template-columns: repeat(3, 1fr); } }

/* Mosaico de fotos (estrutura) */
.mosaico { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.mosaico .foto:first-child { grid-column: 1 / -1; }
.mosaico .foto img { aspect-ratio: 4 / 3; object-fit: cover; }
.mosaico figcaption { font-size: .875rem; }
@media (min-width: 64em) {
  .mosaico { grid-template-columns: 2fr 1fr 1fr; gap: 1rem; }
  .mosaico .foto:first-child { grid-column: 1; grid-row: 1 / 3; display: flex; flex-direction: column; }
  .mosaico .foto:first-child picture { flex: 1; min-height: 0; }
  .mosaico .foto:first-child img { height: 100%; aspect-ratio: auto; }
}

/* Faixa de foto em largura total */
.faixa-foto { position: relative; isolation: isolate; overflow: hidden; padding-block: 72px; color: var(--branco); }
.faixa-foto__fundo { position: absolute; inset: 0; z-index: -2; }
.faixa-foto__fundo img { width: 100%; height: 100%; object-fit: cover; }
.faixa-foto::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(100deg, rgba(23, 32, 31, .9) 0%, rgba(23, 32, 31, .72) 55%, rgba(31, 94, 87, .6) 100%);
}
.faixa-foto__texto { display: grid; gap: 1rem; max-width: 40rem; }
.faixa-foto__frase { font-size: clamp(1.5rem, 1.15rem + 1.6vw, 2.35rem); font-weight: 700; font-stretch: 87.5%; line-height: 1.15; }
.faixa-foto p:not(.rotulo):not(.faixa-foto__frase) { color: var(--verde-nevoa); }
@media (min-width: 64em) { .faixa-foto { padding-block: 112px; } }

/* ─── Cards de curso ─────────────────────────────────── */
.cursos-grade { display: grid; gap: 1rem; }
@media (min-width: 48em) { .cursos-grade { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; } }
@media (min-width: 64em) { .cursos-grade { grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } }
.grupo-titulo { scroll-margin-top: calc(var(--cabecalho) + 16px); }

.glifo { position: relative; z-index: 1; width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; fill: currentColor; }

/* Card de vitrine: a imagem ocupa o card; título e início ficam por cima, num degradê. */
.vitrine {
  position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end;
  aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--canto-folha);
  background: var(--verde-escuro); color: var(--branco);
  box-shadow: 0 18px 40px -28px rgba(23, 32, 31, .7);
}
.vitrine__logos {
  justify-self: start; display: flex; align-items: center; gap: .55rem; margin-bottom: .35rem;
  padding: .35rem .5rem; background: rgba(255, 255, 255, .94); border-radius: 10px 2px 10px 2px;
  box-shadow: 0 6px 18px -10px rgba(23, 32, 31, .6);
}
.vitrine__logos img { width: auto; height: 22px; border-radius: 3px; }
.vitrine__logos img + img { padding-left: .55rem; border-left: 1px solid var(--fio); box-sizing: content-box; }
.vitrine__foto { position: absolute; inset: 0; z-index: -2; }
.vitrine__foto picture, .vitrine__foto img { display: block; width: 100%; height: 100%; }
.vitrine__foto img { object-fit: cover; transition: transform .6s ease; }
.vitrine:hover .vitrine__foto img { transform: scale(1.05); }
.vitrine::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(23, 32, 31, .28) 0%, rgba(23, 32, 31, 0) 30%, rgba(23, 32, 31, .15) 50%, rgba(18, 52, 48, .92) 100%);
  transition: opacity .3s;
}
.vitrine__selo {
  position: absolute; top: 1rem; left: 1rem; display: inline-flex; align-items: center; gap: .45rem;
  padding: .4rem .75rem; font-size: .75rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1.2;
  background: rgba(255, 255, 255, .92); color: var(--verde-escuro); border-radius: 10px 2px 10px 2px;
}
.vitrine__selo .glifo { width: 12px; height: 12px; margin: 0; }
.vitrine__texto { display: grid; gap: .35rem; padding: 1.2rem 1.3rem 1.3rem; }
.vitrine__data {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .875rem; font-weight: 600; letter-spacing: .02em; color: var(--verde-nevoa);
}
.vitrine__data::before { content: ""; width: 8px; height: 8px; flex-shrink: 0; background: var(--verde-marca); border-radius: 3px 1px 3px 1px; }
.vitrine__titulo { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); line-height: 1.15; color: var(--branco); text-wrap: balance; }
.vitrine--compacta .vitrine__titulo { font-size: 1.2rem; }
.vitrine__titulo a { color: inherit; text-decoration: none; }
.vitrine__titulo a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.vitrine__titulo a:focus-visible { outline: none; }
.vitrine:focus-within { outline: 3px solid var(--verde-acao); outline-offset: 3px; }
.vitrine__mais {
  justify-self: start; margin-top: .4rem; padding-bottom: 2px;
  font-size: .9375rem; font-weight: 600; color: var(--branco); border-bottom: 2px solid var(--verde-marca);
}
.vitrine__mais::after { content: " →"; }
@media (prefers-reduced-motion: reduce) { .vitrine__foto img { transition: none; } .vitrine:hover .vitrine__foto img { transform: none; } }

/* ─── Topo da página de cursos ───────────────────────── */
.cursos-topo { position: relative; isolation: isolate; overflow: hidden; padding-block: 24px 48px; background: var(--papel); border-bottom: 1px solid var(--fio); }
.cursos-topo__marca { right: auto; left: -120px; top: auto; bottom: -140px; opacity: .1; }
.cursos-topo__grade { display: grid; gap: 2.5rem; align-items: center; }
.cursos-topo__texto { display: grid; gap: 1rem; }
.cursos-topo__texto h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem); line-height: 1.08; }
.cursos-topo__apoio { font-size: 1.125rem; color: var(--cinza-texto); max-width: 36rem; }
.cursos-topo__contagem { max-width: 36rem; padding-left: 1rem; border-left: 3px solid var(--verde-marca); color: var(--cinza-texto); }
.cursos-topo__contagem strong { display: block; color: var(--tinta); font-weight: 600; }
.cursos-topo .acoes { margin-top: .5rem; }
.cursos-topo__proxima { display: grid; gap: .75rem; }
.cursos-topo__proxima-rotulo {
  display: flex; align-items: center; gap: .75rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--verde-acao);
}
.cursos-topo__proxima-rotulo::after { content: ""; flex: 1; height: 1px; background: var(--fio); }
.vitrine--destaque { box-shadow: 0 28px 56px -30px rgba(23, 32, 31, .75); }
.vitrine--destaque .vitrine__texto { padding: 1.5rem 1.6rem 1.6rem; gap: .5rem; }
.vitrine--destaque .vitrine__titulo { font-size: clamp(1.4rem, 1.15rem + 1vw, 1.9rem); }
@media (min-width: 64em) {
  .cursos-topo { padding-block: 32px 80px; }
  .cursos-topo__grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; }
}

/* ─── Calendário de turmas ───────────────────────────── */
.calendario { display: grid; gap: .75rem; }
@media (min-width: 48em) { .calendario { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 64em) { .calendario { grid-template-columns: repeat(3, 1fr); gap: 1rem; } }
.calendario a {
  display: flex; gap: 1rem; height: 100%; padding: 1rem; text-decoration: none; color: var(--tinta);
  background: var(--branco); border: 1px solid var(--fio); border-radius: var(--canto-folha);
  transition: border-color .15s, transform .15s;
}
.calendario a:hover { border-color: var(--verde-marca); transform: translateY(-2px); }
.calendario__mes {
  display: grid; place-content: center; flex-shrink: 0; width: 64px; height: 64px; text-align: center;
  background: var(--verde-claro); color: var(--verde-escuro); border-radius: 14px 2px 14px 2px;
  font-size: .8125rem; font-weight: 600; line-height: 1.1;
}
.calendario__mes strong { font-size: 1.375rem; font-weight: 700; text-transform: uppercase; font-stretch: 87.5%; }
.calendario__item--especializacao .calendario__mes { background: var(--verde-escuro); color: var(--branco); }
.calendario__item--imersao .calendario__mes { background: var(--verde-marca); color: var(--tinta); }
.calendario__info { display: grid; gap: .2rem; align-content: start; }
.calendario__cat { font-size: .75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--verde-acao); }
.calendario__titulo { font-weight: 600; line-height: 1.3; }
.calendario__detalhe { font-size: .875rem; color: var(--cinza-texto); }

/* ─── Atalhos das categorias ─────────────────────────── */
.ancoras { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.75rem; }
.ancoras .link-seta {
  padding: .5rem .95rem; background: var(--branco); border: 1px solid var(--fio); border-radius: 999px;
  font-size: .9375rem; text-decoration: none;
}
.ancoras .link-seta:hover { border-color: var(--verde-marca); background: var(--verde-claro); }

/* ─── Etapas numeradas ───────────────────────────────── */
.etapas { display: grid; }
.etapas li {
  display: grid; grid-template-columns: 3.25rem 1fr; gap: 1rem;
  padding: 1.25rem 0; border-top: 1px solid var(--fio);
}
.etapas li:last-child { border-bottom: 1px solid var(--fio); }
.etapas__num { font-size: 2rem; font-weight: 700; font-stretch: 87.5%; line-height: 1; color: var(--verde-marca); }
.etapas h3 { margin-bottom: .25rem; }
.etapas p { color: var(--cinza-texto); }
.secao--escura .etapas li { border-color: rgba(255, 255, 255, .14); }
.secao--escura .etapas p { color: var(--cinza-claro); }

/* ─── Linhas rótulo/texto ────────────────────────────── */
.linhas { border-top: 1px solid rgba(31, 94, 87, .2); }
.linhas > div { display: grid; gap: .2rem; padding: 1rem 0; border-bottom: 1px solid rgba(31, 94, 87, .2); }
.linhas dt { font-weight: 600; }
.linhas dd { color: var(--cinza-texto); }
@media (min-width: 48em) {
  .linhas > div { grid-template-columns: 11rem 1fr; gap: 1.5rem; }
}

/* ─── Coordenação ────────────────────────────────────── */
.perfis { display: grid; gap: 1.5rem; margin-top: .5rem; }
.perfil { padding-top: 1rem; border-top: 1px solid var(--fio); }
.perfil h3 { font-size: 1.25rem; }
.perfil__area { margin-top: .15rem; font-size: .9375rem; font-weight: 600; color: var(--verde-acao); }
.perfil__bio { margin-top: .6rem; color: var(--cinza-texto); }
.perfil ul { display: grid; gap: .3rem; margin-top: .6rem; font-size: .9375rem; color: var(--cinza-texto); }
.lista-marcada { display: grid; gap: .5rem; }
.lista-marcada li { position: relative; padding-left: 1.1rem; }
.lista-marcada li::before {
  content: ""; position: absolute; left: 0; top: .6em;
  width: 7px; height: 7px; background: var(--verde-marca); border-radius: 3px 1px 3px 1px;
}
@media (min-width: 48em) { .perfis { grid-template-columns: 1fr 1fr; gap: 2rem; } }

/* ─── Faixa do Certo Guide ───────────────────────────── */
.guide-faixa__logo { width: 170px; height: auto; }
.guide-faixa h2 { color: var(--branco); }
.lista-duas { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1.25rem; }
.lista-duas li { color: #E4EAE8; font-size: .9375rem; }

/* ─── Perguntas frequentes ───────────────────────────── */
.faq-grupos { display: grid; gap: 2.25rem; }
.faq-grupos h3 {
  margin-bottom: .5rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--cinza-texto);
}
.faq { border-top: 1px solid var(--fio); }
.faq details { border-bottom: 1px solid var(--fio); }
.faq summary {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 56px; padding: .75rem 0; font-weight: 600; cursor: pointer; list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+"; display: grid; place-items: center; flex-shrink: 0; width: 32px; height: 32px;
  border-radius: 12px 2px 12px 2px; background: var(--verde-claro);
  font-size: 1.3rem; font-weight: 400; line-height: 1; color: var(--verde-acao);
}
.faq details[open] summary::after { content: "−"; background: var(--verde-acao); color: var(--branco); }
.faq details p { max-width: 42rem; padding-bottom: 1.1rem; color: var(--cinza-texto); }
@media (min-width: 64em) { .faq-grupos { grid-template-columns: 1fr 1fr; gap: 4rem; } }

/* ─── Contato ────────────────────────────────────────── */
.canais { border-top: 1px solid var(--fio); }
.canais li {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 1rem 0; border-bottom: 1px solid var(--fio);
}
.canais__assunto { font-weight: 600; }
.canais__numero { color: var(--cinza-texto); font-variant-numeric: tabular-nums; }
.canais .botao { min-height: 44px; padding-inline: 1rem; flex-shrink: 0; }
.local { position: relative; overflow: hidden; display: grid; gap: .75rem; padding: 1.5rem; background: var(--papel); border-radius: var(--canto-folha); }
.local h3 { font-size: 1.125rem; }
.local p, .local address { color: var(--cinza-texto); }
.local .marca-dagua { width: 180px; right: -50px; top: auto; bottom: -50px; z-index: 0; }
.local > *:not(.marca-dagua) { position: relative; z-index: 1; }

/* ─── Topo das páginas internas ──────────────────────── */
.topo-pagina { padding-block: 24px 40px; background: var(--papel); border-bottom: 1px solid var(--fio); }
.topo-pagina__conteudo { display: grid; gap: .9rem; max-width: 46rem; }
.topo-pagina__apoio { font-size: 1.125rem; color: var(--cinza-texto); }
.trilha { margin-bottom: .75rem; font-size: .875rem; color: var(--cinza-texto); }
.trilha ol { display: flex; flex-wrap: wrap; gap: .35rem; }
.trilha li + li::before { content: "/"; margin-right: .35rem; color: #A9B1AF; }
.trilha a { color: var(--verde-acao); text-underline-offset: 3px; }
.topo-pagina__logo { width: 190px; height: auto; margin-bottom: .5rem; }
/* Topo com foto e véu (mesma linguagem da home) */
.topo-pagina--foto {
  position: relative; isolation: isolate; overflow: hidden;
  padding-block: 28px 56px; background: var(--tinta); color: var(--branco); border-bottom: 0;
}
.topo-pagina__fundo { position: absolute; inset: 0; z-index: -2; }
.topo-pagina__fundo img { width: 100%; height: 100%; object-fit: cover; }
.topo-pagina--foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--veu); }
.topo-pagina--foto .topo-pagina__apoio, .topo-pagina--foto .trilha { color: var(--verde-nevoa); }
.topo-pagina--foto .trilha a { color: var(--branco); }
.topo-pagina--foto .trilha li + li::before { color: rgba(255, 255, 255, .5); }
.topo-pagina--foto .rotulo { color: var(--branco); }
@media (min-width: 64em) {
  .topo-pagina { padding-block: 32px 64px; }
  .topo-pagina--foto { padding-block: 40px 104px; }
}

/* ─── Página de curso ────────────────────────────────── */
.topo-curso { position: relative; overflow: hidden; padding-block: 24px 44px; }
.topo-curso--especializacao { background: var(--verde-escuro); color: var(--branco); }
.topo-curso--atualizacao, .topo-curso--imersao {
  background-color: var(--verde-claro); color: var(--tinta);
  background-image:
    linear-gradient(rgba(72, 165, 154, .14) 1px, transparent 1px),
    linear-gradient(90deg, rgba(72, 165, 154, .14) 1px, transparent 1px);
  background-size: 24px 24px;
}
.topo-curso__palavra {
  position: absolute; right: -.05em; bottom: -.22em;
  font-size: clamp(6rem, 3.5rem + 12vw, 13rem); font-weight: 700; font-stretch: 87.5%; line-height: 1;
  letter-spacing: -.02em; white-space: nowrap; pointer-events: none;
}
.topo-curso--especializacao .topo-curso__palavra { color: var(--verde-acao); }
.topo-curso--atualizacao .topo-curso__palavra { color: rgba(255, 255, 255, .85); }
.topo-curso__conteudo { position: relative; z-index: 1; display: grid; gap: .9rem; max-width: 44rem; }
.topo-curso__categoria {
  display: flex; align-items: center; gap: .6rem;
  font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}
.topo-curso__resumo { font-size: 1.125rem; }
.topo-curso--especializacao .trilha, .topo-curso--especializacao .topo-curso__resumo { color: var(--verde-nevoa); }
.topo-curso--especializacao .trilha a { color: var(--branco); }
.topo-curso--especializacao .aviso { color: var(--verde-nevoa); }
.topo-curso--especializacao .aviso strong { color: var(--branco); }
.topo-curso--especializacao .link-seta { color: var(--branco); }
.topo-curso--atualizacao .topo-curso__categoria { color: var(--verde-escuro); }
.topo-curso--atualizacao .trilha li + li::before { color: #8FB3AC; }
/* Topo com a imagem do curso: no celular cobre o fundo; no computador fica à direita, fundindo com a cor. */
.topo-curso--foto { isolation: isolate; background: var(--verde-escuro); color: var(--branco); }
.topo-curso--foto.topo-curso--atualizacao, .topo-curso--foto.topo-curso--imersao { background: var(--tinta); }
.topo-curso__fundo { position: absolute; inset: 0; z-index: -2; }
.topo-curso__fundo picture, .topo-curso__fundo img { display: block; width: 100%; height: 100%; }
.topo-curso__fundo img { object-fit: cover; object-position: 50% var(--foco-y, 50%); }
.topo-curso--foto::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(23, 32, 31, .82) 0%, rgba(23, 32, 31, .72) 50%, rgba(18, 52, 48, .9) 100%);
}
.topo-curso--foto .trilha, .topo-curso--foto .topo-curso__resumo, .topo-curso--foto .aviso { color: var(--verde-nevoa); }
.topo-curso--foto .trilha a, .topo-curso--foto .aviso strong, .topo-curso--foto .link-seta,
.topo-curso--foto .topo-curso__categoria { color: var(--branco); }
.topo-curso--foto .trilha li + li::before { color: rgba(255, 255, 255, .5); }
.topo-curso--foto h1 { text-shadow: 0 2px 24px rgba(0, 0, 0, .25); }
@media (min-width: 64em) {
  .topo-curso--foto { padding-block: 40px 88px; }
  .topo-curso__fundo { left: 38%; }
  .topo-curso--foto::before {
    background:
      linear-gradient(90deg, var(--base-topo) 38%, color-mix(in srgb, var(--base-topo) 80%, transparent) 52%, color-mix(in srgb, var(--base-topo) 30%, transparent) 100%),
      linear-gradient(180deg, transparent 60%, rgba(0, 0, 0, .25) 100%);
  }
  .topo-curso--foto { --base-topo: var(--verde-escuro); }
  .topo-curso--foto.topo-curso--atualizacao, .topo-curso--foto.topo-curso--imersao { --base-topo: var(--tinta); }
}

.aviso {
  padding: .3rem 0 .3rem 1rem;
  border-left: 3px solid var(--verde-marca);
  font-size: 1rem; color: var(--cinza-texto);
}
.aviso strong { display: block; color: var(--tinta); font-weight: 600; }

.curso-pagina { display: grid; gap: 2.5rem; padding-block: 40px 56px; }
.curso-pagina__principal > section + section { margin-top: 2.75rem; }
.curso-pagina__principal h2 { font-size: clamp(1.5rem, 1.3rem + 1vw, 2rem); margin-bottom: 1rem; }
.curso-pagina__principal p + p { margin-top: 1rem; }
.curso-pagina__principal p { color: var(--cinza-texto); }
.programa { border-top: 1px solid var(--fio); counter-reset: topico; }
.programa li {
  display: grid; grid-template-columns: 2.5rem 1fr; gap: .5rem;
  padding: .8rem 0; border-bottom: 1px solid var(--fio);
}
.programa li::before {
  counter-increment: topico; content: counter(topico, decimal-leading-zero);
  font-weight: 600; font-variant-numeric: tabular-nums; color: var(--verde-acao);
}
.ficha {
  align-self: start; padding: 1.25rem;
  background: var(--branco); border: 1px solid var(--fio); border-radius: var(--canto-folha);
}
.ficha h2 { font-size: 1.25rem; font-stretch: 100%; font-weight: 600; margin-bottom: .5rem; }
.ficha dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--fio); }
.ficha dt { color: var(--cinza-texto); }
.ficha dd { font-weight: 600; text-align: right; }
.ficha .botao { width: 100%; margin-top: 1.1rem; }
.ficha .link-seta { width: 100%; justify-content: center; }
@media (min-width: 64em) {
  .curso-pagina { grid-template-columns: minmax(0, 1fr) 22rem; gap: 4.5rem; padding-block: 64px 96px; }
  .ficha { position: sticky; top: calc(var(--cabecalho) + 24px); }
  .topo-curso { padding-block: 32px 72px; }
}

/* ─── Quadro das turmas (página de cursos) ───────────── */
.quadro {
  display: grid; gap: 1rem; padding: 1.25rem;
  background: var(--branco); border: 1px solid var(--fio); border-left: 3px solid var(--verde-marca);
  border-radius: var(--canto-folha);
}
.quadro h2 { font-size: 1.5rem; }
.turmas { border-top: 1px solid var(--fio); }
.turmas li { display: grid; gap: 0; padding: .1rem 0 .7rem; border-bottom: 1px solid var(--fio); }
.turmas a { display: flex; align-items: center; min-height: 44px; font-weight: 600; text-decoration: none; }
.turmas a:hover { text-decoration: underline; text-underline-offset: 3px; }
.turmas span { font-size: .9375rem; color: var(--cinza-texto); }
.ancoras { display: flex; flex-wrap: wrap; gap: 0 1.5rem; margin-top: 1.5rem; }
@media (min-width: 48em) {
  .turmas li { grid-template-columns: 1fr auto; align-items: center; gap: 1.5rem; padding-bottom: .1rem; }
  .quadro { padding: 1.75rem 2rem; }
}

/* ─── Serviços do Certo Guide ────────────────────────── */
.servicos { display: grid; gap: 2rem; }
.servicos h3 { margin-bottom: .6rem; padding-bottom: .6rem; border-bottom: 1px solid var(--fio); }
.servicos ul { color: var(--cinza-texto); }
@media (min-width: 48em) { .servicos { grid-template-columns: repeat(2, 1fr); gap: 2.5rem 3rem; } }

/* ─── Rodapé ─────────────────────────────────────────── */
.rodape {
  position: relative; isolation: isolate; overflow: hidden;
  padding-block: 48px 28px; background: var(--tinta); color: var(--cinza-claro); font-size: .9375rem;
}
.rodape a { color: var(--branco); text-decoration: none; }
.rodape a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rodape__grade { display: grid; gap: 2rem; }
.rodape__marca { display: grid; gap: .75rem; align-content: start; }
.rodape__logo { width: 150px; height: auto; }
.rodape h2 {
  margin-bottom: .5rem;
  font-size: .8125rem; font-weight: 600; font-stretch: 100%; letter-spacing: .06em; text-transform: uppercase;
  color: var(--verde-marca);
}
.rodape li a { display: inline-flex; align-items: center; min-height: 40px; }
.rodape li small { display: block; color: #9AA5A3; }
.rodape__whats li a { flex-direction: column; align-items: flex-start; justify-content: center; min-height: 52px; }
.rodape__base {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem;
  margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: .875rem; color: #9AA5A3;
}
@media (min-width: 48em) { .rodape__grade { grid-template-columns: 1fr 1fr; } }
@media (min-width: 64em) { .rodape__grade { grid-template-columns: 1.6fr 1fr 1.2fr 1.2fr; gap: 3rem; } }
/* Espaço para os botões flutuantes não cobrirem o fim da página no celular */
@media (max-width: 63.99em) { .rodape { padding-bottom: 148px; } }

/* ─── WhatsApp flutuante (todas as páginas) ──────────── */
.whats-flutuante {
  position: fixed; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); z-index: 45;
  display: grid; justify-items: end; gap: .5rem;
}
.whats-flutuante a {
  display: inline-flex; align-items: center; gap: .55rem;
  min-height: 46px; padding: 4px 14px 4px 4px;
  background: var(--branco); border: 1px solid var(--fio); border-radius: 999px;
  box-shadow: 0 6px 22px rgba(23, 32, 31, .2);
  font-size: .9375rem; font-weight: 600; color: var(--tinta); text-decoration: none;
  transition: transform .15s, box-shadow .15s;
}
.whats-flutuante a:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(23, 32, 31, .24); }
.whats-flutuante__icone {
  display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
  background: var(--verde-whats); color: var(--branco);
}
.whats-flutuante__icone svg { width: 23px; height: 23px; }
.menu-aberto .whats-flutuante { display: none; }
@media (min-width: 64em) {
  .whats-flutuante { right: 24px; bottom: 24px; }
  .whats-flutuante a { min-height: 50px; padding: 5px 16px 5px 5px; }
  .whats-flutuante__icone { width: 40px; height: 40px; }
}

/* ─── Textos longos e 404 ────────────────────────────── */
.texto-longo { display: grid; gap: 1rem; max-width: 44rem; }
.texto-longo h2 { font-size: 1.5rem; margin-top: 1.5rem; }
.texto-longo p { color: var(--cinza-texto); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; }
  .hero-foto__slide { animation: none; }
  .hero-foto__slide:first-child { opacity: 1; }
  .hero-foto__pausa { display: none; }
}

/* ─── Página do curso: foto, datas, softwares e coordenação ── */
.curso-pagina__principal .foto { margin-top: 1.5rem; }
.datas { display: grid; gap: .5rem; }
@media (min-width: 48em) { .datas { grid-template-columns: repeat(2, 1fr); } }
.datas li {
  padding: .8rem 1rem; background: var(--verde-claro); border-left: 3px solid var(--verde-marca);
  border-radius: 2px 12px 2px 12px; font-weight: 600; color: var(--verde-escuro);
}
.softwares { display: flex; flex-wrap: wrap; gap: 1rem; }
.softwares li {
  display: flex; align-items: center; justify-content: center; min-width: 180px; min-height: 88px; padding: 1rem 1.25rem;
  background: var(--branco); border: 1px solid var(--fio); border-radius: var(--canto-folha);
}
.softwares img { max-height: 48px; width: auto; }
.softwares__nome { font-weight: 700; font-size: 1.125rem; color: var(--verde-escuro); }
.coordenador { display: grid; gap: 1.25rem; align-items: start; }
@media (min-width: 48em) { .coordenador--foto { grid-template-columns: 220px 1fr; gap: 2rem; } }
.coordenador__foto { max-width: 220px; border-radius: var(--canto-folha); overflow: hidden; background: var(--papel); }
.coordenador__foto img { width: 100%; height: auto; display: block; }
.coordenador h3 { font-size: 1.375rem; }
.coordenador .lista-marcada { display: grid; gap: .3rem; margin-top: .8rem; font-size: .9375rem; color: var(--cinza-texto); }
.curso-pagina__principal .coordenador p { margin-top: .6rem; }
.ficha__local { margin-top: .9rem; font-size: .9375rem; color: var(--cinza-texto); }
.ficha__local strong { display: block; color: var(--tinta); font-weight: 600; }
