/* neuropsicologo.co — identidad «Cafetal» (23-sep-2026).
 *
 * El sitio del LUGAR: el consultorio del barrio Maraya, en Pereira. Cara
 * propia, distinta de la «Esmeralda» de neuropsicologia.co, del violeta de
 * neuropsicologia.com, del teal de neuroes.co y del juego de neuropsicologos.co:
 *   · rojo cereza de café (el grano maduro) como color de marca, verde cafetal
 *     y amarillo guadua de acento, sobre café tostado y papel;
 *   · curvas de nivel —las montañas del Eje Cafetero— como textura;
 *   · el pin de ubicación como marca, y la dirección en letra gigante;
 *   · Archivo condensada en los titulares y Source Sans 3 para leer.
 * Tokens arriba, componentes después.
 */
:root {
  --tinta: #1E140E;
  --tinta-2: #3A2A20;
  --texto: #2B211A;
  --suave: #6B5E54;
  --tenue: #9A8E84;
  --papel: #F6F3EE;
  --papel-2: #ECE6DC;
  --blanco: #FFFFFF;
  --linea: #E2DACD;
  --linea-2: #CFC4B4;
  --acento: #B8322A;          /* rojo cereza */
  --acento-2: #962620;
  --acento-suave: #F8E4E1;
  --verde: #1F5C3A;           /* cafetal */
  --verde-suave: #E3EFE6;
  --sol: #EBB23A;             /* guadua */
  --sol-suave: #FBF0D6;
  --cafe: #22160F;            /* fondo profundo: café tostado */
  --cafe-2: #33231A;
  --ok: #1F5C3A;
  --ok-suave: #E3EFE6;

  --display: 'Archivo', 'Arial Narrow', -apple-system, 'Segoe UI', sans-serif;
  --serif: var(--display);
  --sans: 'Source Sans 3', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  --r: 18px;
  --r-s: 12px;
  --ancho: 1180px;
  --lectura: 68ch;
  --sombra: 0 1px 2px rgba(30, 20, 14, .06), 0 14px 34px -14px rgba(30, 20, 14, .22);
  --curvas: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='240' viewBox='0 0 360 240' fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.4'%3E%3Cpath d='M-20 200c60-40 110-20 160-60s90-90 150-70 80 40 90 30'/%3E%3Cpath d='M-20 220c70-30 120-10 170-50s95-80 150-60 70 35 80 25'/%3E%3Cpath d='M-20 180c55-45 100-28 150-70s85-100 150-80 85 45 100 35'/%3E%3Cpath d='M-20 160c50-50 95-35 140-80s80-110 150-90 90 50 110 40'/%3E%3Cpath d='M40 240c30-30 70-20 100-45s60-55 100-45'/%3E%3Cpath d='M-20 60c40 10 70-20 110-10s60 40 100 30 80-50 150-30'/%3E%3Cpath d='M-20 40c40 12 72-24 114-12s62 44 104 32 82-54 162-34'/%3E%3C/svg%3E");
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--papel); color: var(--texto); font: 400 17.5px/1.62 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--acento); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--acento-2); }
:focus-visible { outline: 3px solid var(--sol); outline-offset: 2px; border-radius: 4px; }
.envoltura { max-width: var(--ancho); margin: 0 auto; padding: 0 24px; }
.lectura { max-width: var(--lectura); }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ── tipografía ─────────────────────────────────────────────────────────── */
h1, h2, h3 { font-family: var(--display); font-stretch: 78%; color: var(--tinta); font-weight: 800; letter-spacing: -.01em; text-wrap: balance; margin: 0; }
h1 { font-size: clamp(2.4rem, 5.4vw, 4.3rem); line-height: .98; }
h2 { font-size: clamp(1.8rem, 3.2vw, 2.6rem); line-height: 1.04; }
h3 { font-size: 1.28rem; line-height: 1.2; font-weight: 700; font-stretch: 85%; letter-spacing: 0; }
h2 em, h1 em { font-style: normal; color: var(--acento); }
p { margin: 0 0 1.05em; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; font: 700 .78rem/1 var(--sans); text-transform: uppercase; letter-spacing: .14em; color: var(--acento); margin: 0 0 14px; }
.eyebrow::before { content: ''; width: 22px; height: 2px; background: currentColor; flex: none; }
.eyebrow-lugar::before { display: none; }
.lead { font-size: 1.18rem; line-height: 1.55; color: var(--tinta-2); }
.nota { font-size: .9rem; color: var(--suave); }

/* El pin: la marca del sitio. */
.pin-mini, .logo-pin { display: inline-block; flex: none; width: 14px; height: 14px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--acento); box-shadow: inset 0 0 0 4px var(--acento), inset 0 0 0 8px #fff; }
.logo-pin { width: 22px; height: 22px; box-shadow: inset 0 0 0 6px var(--acento), inset 0 0 0 11px #fff; }

/* ── franja de dirección y cabecera ─────────────────────────────────────── */
.franja-direccion { background: var(--cafe); color: #E9DFD3; font-size: .86rem; }
.franja-direccion .envoltura { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 36px; flex-wrap: wrap; }
.franja-direccion a { color: #F4EADF; text-decoration: none; font-weight: 600; }
.franja-direccion a:hover { color: var(--sol); }
.franja-direccion .pin-mini { box-shadow: inset 0 0 0 4px var(--acento), inset 0 0 0 8px var(--cafe); }
.franja-sep { opacity: .4; }
@media (max-width: 600px) { .franja-sep, .franja-direccion a + .franja-sep + a { display: none; } }
.cab { position: sticky; top: 0; z-index: 30; background: rgba(246, 243, 238, .93); backdrop-filter: saturate(1.2) blur(12px); border-bottom: 1px solid var(--linea); }
.cab .envoltura { display: flex; align-items: center; gap: 24px; height: 68px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--tinta); white-space: nowrap; }
.logo-txt { font: 800 1.42rem/1 var(--display); font-stretch: 75%; letter-spacing: -.01em; }
.logo-txt b { color: var(--acento); font-weight: 800; }
.nav { display: flex; gap: 2px; margin-left: auto; }
.nav a { color: var(--tinta-2); text-decoration: none; font-size: .98rem; font-weight: 600; padding: 8px 12px; border-radius: 10px; }
.nav a:hover { background: var(--papel-2); color: var(--tinta); }
.nav a[aria-current] { color: var(--acento); }
.menu-boton { display: none; margin-left: auto; background: var(--blanco); border: 1.5px solid var(--linea-2); border-radius: 999px; padding: 8px 16px; font: 700 .9rem var(--sans); color: var(--tinta); cursor: pointer; }
@media (max-width: 960px) {
  .nav { display: none; position: absolute; top: 68px; left: 0; right: 0; flex-direction: column; background: var(--blanco); border-bottom: 1px solid var(--linea); padding: 10px 16px 18px; box-shadow: var(--sombra); }
  .nav.abierto { display: flex; }
  .nav a { padding: 13px 12px; font-size: 1.05rem; }
  .menu-boton { display: block; }
  .cab .btn-cab { display: none; }
}

/* ── botones ────────────────────────────────────────────────────────────── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 26px; border-radius: 12px; font: 700 1rem/1 var(--sans); text-decoration: none; border: 2px solid transparent; cursor: pointer; transition: background .15s, border-color .15s, transform .15s, box-shadow .15s; white-space: nowrap; }
.btn:hover { transform: translateY(-1px); }
.btn-p { background: var(--acento); color: #fff; box-shadow: 0 6px 0 var(--acento-2); }
.btn-p:hover { background: #C43B32; color: #fff; }
.btn-p:active { transform: translateY(4px); box-shadow: 0 2px 0 var(--acento-2); }
.btn-sol { background: var(--sol); color: var(--tinta); box-shadow: 0 6px 0 #B9861F; }
.btn-sol:hover { background: #F2BE4E; color: var(--tinta); }
.btn-s { background: transparent; color: var(--tinta); border-color: var(--linea-2); }
.btn-s:hover { border-color: var(--tinta); color: var(--tinta); }
.btn-borde { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .4); }
.btn-borde:hover { border-color: #fff; color: #fff; }
.btn-wa { background: #fff; color: var(--tinta); border-color: var(--linea-2); }
.btn-sm { min-height: 42px; padding: 0 18px; font-size: .92rem; box-shadow: 0 4px 0 var(--acento-2); }

/* ── héroe de las páginas interiores ────────────────────────────────────── */
.heroe { position: relative; padding-top: 50px; padding-bottom: 60px; border-bottom: 1px solid var(--linea); background: radial-gradient(800px 360px at 95% -10%, rgba(184, 50, 42, .10), transparent 70%), radial-gradient(700px 300px at -5% 110%, rgba(235, 178, 58, .16), transparent 70%), var(--papel); }
.heroe-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 52px; align-items: start; }
.heroe .lead { margin-top: 18px; max-width: 58ch; }
.heroe-acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 30px 0 0; padding: 0; list-style: none; }
.datos li { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; background: var(--blanco); border: 1px solid var(--linea); border-left: 4px solid var(--acento); border-radius: 10px; }
.datos b { font: 800 1.12rem/1.15 var(--display); font-stretch: 80%; color: var(--tinta); }
.datos span { font-size: .85rem; color: var(--suave); line-height: 1.35; }
@media (max-width: 900px) { .heroe-grid { grid-template-columns: 1fr; gap: 32px; } .heroe { padding-top: 32px; padding-bottom: 42px; } }
@media (max-width: 600px) {
  .datos { grid-template-columns: 1fr; gap: 8px; }
  .datos li { flex-direction: row; justify-content: space-between; align-items: baseline; gap: 12px; }
  .datos span { text-align: right; }
  .heroe-acciones .btn { flex: 1 1 100%; }
}
.migas { font-size: .86rem; color: var(--suave); margin: 0 0 18px; }
.migas a { color: var(--suave); text-decoration: none; }
.migas a:hover { color: var(--acento); }
.migas span[aria-hidden] { margin: 0 7px; color: var(--tenue); }

/* ── portada: el Dr. Esteban de protagonista, en claro (29-sep-2026) ───────
   Antes era la fachada sobre café tostado. El dueño prefiere diseños claros:
   papel cálido con los mismos lavados de rojo cereza y guadua del .heroe, la
   foto vigente (filipina azul) en un marco redondeado con su nombre encima, y
   la fachada en el lateral (C.sede). */
.portada { position: relative; overflow: hidden; border-bottom: 1px solid var(--linea); background: radial-gradient(900px 420px at 100% -10%, rgba(184, 50, 42, .09), transparent 70%), radial-gradient(760px 340px at -5% 110%, rgba(235, 178, 58, .18), transparent 70%), var(--papel); color: var(--texto); }
.portada-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 64px; align-items: center; padding-top: 52px; padding-bottom: 64px; }
.portada-texto { max-width: 580px; }
.portada .eyebrow { font-size: .82rem; }
.portada h1 { color: var(--tinta); font-size: clamp(2.6rem, 5.2vw, 4.4rem); line-height: .95; font-stretch: 72%; }
.portada h1 .resalta { display: block; color: var(--acento); }
.portada .lead { color: var(--suave); margin-top: 20px; max-width: 56ch; }
.portada .heroe-acciones { margin-top: 30px; }
.portada-precio { margin: 18px 0 0; font-size: 1.02rem; color: var(--texto); }
.portada-precio b { color: var(--acento); font: 800 1.3rem/1 var(--display); font-stretch: 78%; margin-right: 4px; }
.portada-foto { position: relative; margin: 0; justify-self: end; width: 100%; max-width: 440px; }
.portada-foto::before { content: ''; position: absolute; inset: 26px -20px -20px 26px; border-radius: 28px; background: var(--sol-suave); border: 1px solid #F1DDAE; }
.portada-foto img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 22%; border-radius: 24px; background: var(--papel-2); box-shadow: 0 34px 60px -34px rgba(30, 20, 14, .45); }
.portada-doctor { position: absolute; left: -34px; bottom: 30px; z-index: 1; display: flex; flex-direction: column; gap: 2px; max-width: 310px; padding: 13px 18px 13px 16px; background: var(--blanco); border: 1px solid var(--linea); border-left: 5px solid var(--acento); border-radius: 14px; box-shadow: 0 18px 36px -20px rgba(30, 20, 14, .4); }
.portada-doctor b { display: block; color: var(--tinta); font: 800 1.08rem/1.15 var(--display); font-stretch: 82%; }
.portada-doctor span { display: block; font-size: .86rem; color: var(--suave); line-height: 1.35; }
.portada-doctor .estrellas i { color: #C8901E; font-style: normal; letter-spacing: 1px; }
@media (max-width: 900px) {
  .portada-grid { grid-template-columns: 1fr; gap: 18px; padding-top: 16px; padding-bottom: 42px; }
  .portada-foto { order: -1; justify-self: stretch; max-width: none; }
  .portada-foto::before { display: none; }
  .portada-foto img { aspect-ratio: auto; height: 244px; object-position: center 15%; border-radius: 18px; }
  /* En el celular el nombre cuelga del borde inferior de la foto: encima taparía la cara. */
  .portada-doctor { position: relative; left: auto; bottom: auto; max-width: none; margin: -30px 14px 0; padding: 9px 14px 9px 12px; }
  .portada-doctor b { font-size: 1rem; }
  .portada-doctor span { font-size: .8rem; }
  .portada-texto { display: flex; flex-direction: column; align-items: flex-start; }
  .portada-texto > .eyebrow { order: 1; } .portada-texto > h1 { order: 2; } .portada-texto > .portada-precio { order: 3; margin-top: 14px; }
  .portada-texto > .heroe-acciones { order: 4; margin-top: 18px; align-self: stretch; } .portada-texto > .llamar { order: 5; }
  .portada-texto > .lead { order: 6; }
}

/* ── la dirección, en grande ────────────────────────────────────────────── */
.direccion-gigante { background: var(--papel); border-bottom: 1px solid var(--linea); padding: 44px 0 38px; overflow: hidden; }
.direccion-gigante { text-align: center; }
.dg-linea { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0 .28em; margin: 0; font: 900 clamp(3rem, 11vw, 9rem)/.88 var(--display); font-stretch: 62%; color: var(--tinta); letter-spacing: -.01em; text-transform: uppercase; }
.dg-linea span:first-child { color: var(--acento); }
.dg-barrio span:first-child { color: transparent; -webkit-text-stroke: 2px var(--tinta); }
.dg-ciudad { font-size: .34em; font-stretch: 85%; letter-spacing: .04em; color: var(--suave); align-self: center; }
.dg-pie { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 14px 22px; margin-top: 22px; }
.dg-coord { font: 600 .95rem var(--sans); font-variant-numeric: tabular-nums; color: var(--suave); letter-spacing: .06em; }
.dg-enlace { font-weight: 700; }

/* ── mapa regional ──────────────────────────────────────────────────────── */
.seccion-mapa { background: var(--blanco); }
.mapa-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 46px; align-items: start; }
.mapa { position: relative; margin: 0; }
.mapa svg { width: 100%; height: auto; display: block; }
.mapa-deptos path { stroke: var(--blanco); stroke-width: 1.6; stroke-linejoin: round; transition: fill .2s; }
.mapa-deptos path.principal { fill: var(--papel-2); }
.mapa-deptos path.vecino { fill: #F4F1EB; }
.mapa-deptos path.principal:hover { fill: #E4DBCD; }
.mapa-deptos path.activo { fill: #EBCFC8; }
.mapa-etiquetas text { font: 800 11px var(--display); font-stretch: 75%; letter-spacing: .18em; fill: var(--tenue); text-anchor: middle; pointer-events: none; }
.mapa-punto circle { fill: var(--verde); stroke: #fff; stroke-width: 2.4; cursor: pointer; transition: fill .15s; }
.mapa-punto:hover circle, .mapa-punto:focus circle { fill: var(--sol); }
.mapa-punto:focus { outline: none; }
.mapa-pin { fill: var(--acento); stroke: #fff; stroke-width: 2; }
.mapa-pin-ojo { fill: #fff; pointer-events: none; }
.mapa-onda { fill: none; stroke: var(--acento); stroke-width: 2.4; transform-box: fill-box; transform-origin: center; animation: mapa-onda 2.4s ease-out infinite; }
@keyframes mapa-onda { from { transform: scale(.6); opacity: .9; } to { transform: scale(2.6); opacity: 0; } }
.mapa-ficha { position: absolute; z-index: 5; width: 240px; background: var(--blanco); border-radius: 14px; overflow: hidden; box-shadow: 0 22px 44px -18px rgba(30, 20, 14, .5); pointer-events: none; }
.mapa-ficha img { width: 100%; height: 118px; object-fit: cover; }
.mapa-ficha > div { padding: 11px 14px 13px; }
.mapa-ficha b { display: block; font: 800 1.1rem/1.15 var(--display); font-stretch: 80%; color: var(--tinta); }
.mapa-ficha-depto { display: block; font-size: .78rem; color: var(--suave); margin-bottom: 6px; }
.mapa-ficha p { margin: 0 0 6px; font-size: .86rem; line-height: 1.4; }
.mapa-ficha em { font-style: normal; font: 700 .76rem var(--sans); color: var(--acento); }
.mapa-leyenda { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 10px; font-size: .84rem; color: var(--suave); }
.mapa-leyenda span { display: inline-flex; align-items: center; gap: 7px; }
.mapa-leyenda .l-punto { width: 11px; height: 11px; border-radius: 50%; background: var(--verde); }
.mapa-leyenda .l-pin { width: 12px; height: 12px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--acento); }
.mapa-fuente { margin-left: auto; font-size: .76rem; color: var(--tenue); }
.regiones { display: grid; gap: 20px; }
.region h3 { display: flex; align-items: baseline; gap: 10px; font-size: 1.3rem; margin: 0 0 10px; }
.region h3 a { color: var(--tinta); text-decoration: none; }
.region h3 a:hover { color: var(--acento); }
.region h3 small { font: 600 .8rem var(--sans); color: var(--suave); }
.chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.chips a { display: inline-block; padding: 7px 13px; border-radius: 999px; background: var(--papel); border: 1px solid var(--linea); color: var(--tinta-2); font-size: .92rem; font-weight: 600; text-decoration: none; transition: background .15s, border-color .15s, color .15s; }
.chips a:hover { background: var(--acento); border-color: var(--acento); color: #fff; }
.chips a.destacado-chip { background: var(--sol-suave); border-color: #EBD08F; }
@media (max-width: 900px) { .mapa-grid { grid-template-columns: 1fr; gap: 28px; } }

.mapa-mini { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); padding: 14px 14px 12px; }
.mapa-mini .mapa-deptos path { stroke-width: 2.4; }
.mapa-ruta { stroke: var(--acento); stroke-width: 3.5; stroke-dasharray: 8 7; fill: none; }
.mapa-municipio { fill: var(--verde); stroke: #fff; stroke-width: 3.5; }
.mapa-mini .mapa-onda { stroke: var(--verde); }
.mapa-mini figcaption { font-size: .92rem; margin-top: 8px; line-height: 1.45; }
.mapa-mini figcaption span { font-size: .84rem; color: var(--suave); }

/* ── página de municipio ────────────────────────────────────────────────── */
.ruta-banda { background: var(--acento); color: #fff; }
.ruta-banda .envoltura { display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 18px; padding-top: 16px; padding-bottom: 16px; }
.ruta-punto small { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; opacity: .8; }
.ruta-punto b { font: 800 1.12rem/1.2 var(--display); font-stretch: 80%; }
.ruta-linea { position: relative; height: 2px; background: repeating-linear-gradient(90deg, #fff 0 8px, transparent 8px 15px); }
.ruta-linea span { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: var(--acento); padding: 0 10px; font-size: .84rem; font-weight: 700; white-space: nowrap; }
.ruta-banda .btn-sol { box-shadow: 0 4px 0 #B9861F; min-height: 44px; }
@media (max-width: 760px) {
  .ruta-banda .envoltura { grid-template-columns: 1fr 1fr; gap: 10px 14px; }
  .ruta-linea { grid-column: 1 / -1; order: 3; margin: 8px 0; }
  .ruta-banda .btn { grid-column: 1 / -1; order: 4; }
  .ruta-destino { text-align: right; }
}

.lista-municipios { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
.lista-municipios a { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--linea); border-radius: 12px; background: var(--blanco); text-decoration: none; color: var(--tinta); transition: border-color .15s, transform .15s; }
.lista-municipios a:hover { border-color: var(--acento); transform: translateY(-2px); }
.lista-municipios b { font: 800 1.08rem/1.2 var(--display); font-stretch: 80%; }
.lista-municipios span { font-size: .82rem; color: var(--suave); }

/* ── la sede ────────────────────────────────────────────────────────────── */
.sede { margin: 0; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); overflow: hidden; }
.sede img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.sede figcaption { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px 16px; }
.sede b { font: 800 1.2rem/1.15 var(--display); font-stretch: 78%; color: var(--tinta); }
.sede span { font-size: .88rem; color: var(--suave); }
.sede a { font-weight: 700; margin-top: 4px; }
.sede-grande { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 46px; align-items: center; }
.sede-grande figure { margin: 0; position: relative; }
.sede-grande img { border-radius: var(--r); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sede-grande .foto-doctor { max-width: 440px; justify-self: center; }
.sede-grande .foto-doctor img { aspect-ratio: 4 / 5; object-position: center 18%; }
.sede-grande figcaption { position: absolute; left: 14px; bottom: 14px; background: var(--acento); color: #fff; padding: 8px 14px; border-radius: 10px; font-weight: 700; font-size: .9rem; }
@media (max-width: 860px) { .sede-grande { grid-template-columns: 1fr; gap: 26px; } }

/* ── tarjeta de contacto ────────────────────────────────────────────────── */
.contacto { position: relative; background: var(--blanco); border: 1px solid var(--linea); border-top: 5px solid var(--acento); border-radius: var(--r); padding: 26px; box-shadow: var(--sombra); }
.contacto h2, .contacto .titulo { font: 800 1.32rem/1.2 var(--display); font-stretch: 80%; color: var(--tinta); margin: 0 0 4px; }
.contacto .sub { font-size: .9rem; color: var(--suave); margin: 0 0 18px; }
.campo { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.campo label { font-size: .86rem; font-weight: 700; color: var(--tinta-2); }
.campo input, .campo select { width: 100%; padding: 12px 13px; border: 1.5px solid var(--linea-2); border-radius: var(--r-s); font: 400 1rem var(--sans); color: var(--tinta); background: var(--blanco); }
.campo input:focus, .campo select:focus { outline: none; border-color: var(--acento); box-shadow: 0 0 0 4px var(--acento-suave); }
.contacto .btn { width: 100%; margin-top: 4px; }
.contacto .pie { font-size: .8rem; color: var(--tenue); margin: 12px 0 0; text-align: center; }
.contacto .hecho { padding: 18px; background: var(--ok-suave); color: var(--ok); border-radius: var(--r-s); font-weight: 700; text-align: center; }
.contacto .error { color: #9B2C2C; font-size: .88rem; margin: 8px 0 0; }

/* ── secciones ──────────────────────────────────────────────────────────── */
.seccion { padding-top: 76px; padding-bottom: 76px; }
.seccion + .seccion { border-top: 1px solid var(--linea); }
.seccion-blanca { background: var(--blanco); }
.seccion-cafe { background: var(--cafe) var(--curvas); color: #DCCFC1; border-top: 0 !important; }
.seccion-cafe h2, .seccion-cafe h3 { color: #fff; }
.seccion-cafe .eyebrow { color: var(--sol); }
.seccion .cabecera { max-width: 68ch; margin-bottom: 36px; }
.seccion .cabecera p { color: var(--suave); margin-top: 12px; }
@media (max-width: 700px) { .seccion { padding-top: 54px; padding-bottom: 54px; } }

.articulo { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 60px; align-items: start; }
.articulo .cuerpo > section { margin-bottom: 50px; }
.articulo .cuerpo h2 { margin: 0 0 16px; }
.articulo .cuerpo h3 { margin: 26px 0 8px; }
.articulo .cuerpo ul, .articulo .cuerpo ol { padding-left: 1.2em; margin: 0 0 1.1em; }
.articulo .cuerpo li { margin-bottom: 8px; }
.articulo .cuerpo li::marker { color: var(--acento); }
.lateral { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 16px; }
@media (max-width: 980px) { .articulo { grid-template-columns: 1fr; gap: 22px; } .lateral { position: static; } }
.destacado { background: var(--sol-suave); border-left: 5px solid var(--sol); padding: 18px 22px; border-radius: 0 var(--r-s) var(--r-s) 0; margin: 0 0 1.2em; }
.destacado p:last-child { margin: 0; }
.tabla-caja { overflow-x: auto; margin: 0 0 1.3em; border: 1px solid var(--linea); border-radius: var(--r-s); background: var(--blanco); }
table { width: 100%; border-collapse: collapse; font-size: .95rem; font-variant-numeric: tabular-nums; }
th, td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--linea); vertical-align: top; }
th { font-weight: 700; color: var(--tinta); background: var(--papel-2); font-size: .88rem; }
tr:last-child td { border-bottom: 0; }

/* ── tarjetas y pasos ───────────────────────────────────────────────────── */
.rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 14px; }
.tarjeta { display: flex; flex-direction: column; gap: 8px; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); padding: 22px; text-decoration: none; color: var(--texto); transition: border-color .15s, transform .15s, box-shadow .15s; }
a.tarjeta:hover { border-color: var(--acento); transform: translateY(-3px); box-shadow: var(--sombra); color: var(--texto); }
.tarjeta .etiqueta { align-self: flex-start; font: 700 .72rem/1 var(--sans); text-transform: uppercase; letter-spacing: .1em; color: var(--verde); }
.tarjeta h3 { font-size: 1.3rem; }
.tarjeta p { margin: 0; font-size: .94rem; color: var(--suave); }
.tarjeta .mas { margin-top: auto; padding-top: 8px; font-size: .92rem; font-weight: 700; color: var(--acento); }
.pasos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; counter-reset: paso; padding: 0; margin: 0; list-style: none; }
.pasos li { counter-increment: paso; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); padding: 22px; }
.pasos li::before { content: counter(paso, decimal-leading-zero); display: block; font: 900 2.6rem/1 var(--display); font-stretch: 62%; color: var(--acento); margin-bottom: 10px; }
.pasos b { display: block; color: var(--tinta); margin-bottom: 6px; font: 800 1.18rem/1.2 var(--display); font-stretch: 82%; }
.pasos span { font-size: .94rem; color: var(--suave); }
.seccion-cafe .pasos li { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .12); }
.seccion-cafe .pasos b { color: #fff; }
.seccion-cafe .pasos span { color: #CDBFB1; }
.seccion-cafe .pasos li::before { color: var(--sol); }

/* ── precio y autor ─────────────────────────────────────────────────────── */
.precio { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); padding: 22px; }
.precio .titulo { font: 700 .76rem/1 var(--sans); text-transform: uppercase; letter-spacing: .12em; color: var(--suave); margin: 0 0 14px; }
.precio .fila { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--linea); }
.precio .fila:last-of-type { border-bottom: 0; }
.precio .fila b { font: 900 1.6rem/1 var(--display); font-stretch: 72%; color: var(--tinta); font-variant-numeric: tabular-nums; }
.precio .fila span { font-size: .86rem; color: var(--suave); }
.precio .incluye { font-size: .86rem; color: var(--suave); margin: 12px 0 0; }
.autor { display: flex; gap: 14px; align-items: center; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r); padding: 16px; }
.autor img { width: 64px; height: 64px; border-radius: 12px; object-fit: cover; object-position: center 20%; flex: none; }
.autor b { display: block; color: var(--tinta); font-size: .98rem; }
.autor span { display: block; font-size: .84rem; color: var(--suave); line-height: 1.45; }
.revision { font-size: .84rem; color: var(--suave); margin: 0 0 28px; display: flex; flex-wrap: wrap; gap: 4px 14px; }

/* ── preguntas frecuentes ───────────────────────────────────────────────── */
.faq { border-top: 1px solid var(--linea); }
.faq details { border-bottom: 1px solid var(--linea); }
.faq summary { list-style: none; cursor: pointer; padding: 18px 40px 18px 0; position: relative; font-weight: 700; color: var(--tinta); font-size: 1.04rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: var(--acento-suave); color: var(--acento); font: 700 1.1rem/1 var(--sans); }
.faq details[open] summary::after { content: '–'; background: var(--acento); color: #fff; }
.faq details > div { padding: 0 0 18px; max-width: var(--lectura); }

/* ── llamada final y pie ────────────────────────────────────────────────── */
.cierre { position: relative; background: var(--acento) var(--curvas); color: #FBE9E6; padding: 70px 0 64px; overflow: hidden; }
.cierre h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); }
.cierre p { color: #F6D5D0; max-width: 58ch; margin-top: 12px; }
.cierre .acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.cierre .btn-p { background: var(--sol); color: var(--tinta); box-shadow: 0 6px 0 #B9861F; }
.cierre .btn-p:hover { background: #F2BE4E; color: var(--tinta); }
.cierre .btn-s { color: #fff; border-color: rgba(255, 255, 255, .45); }
.cierre .btn-s:hover { border-color: #fff; color: #fff; }
.pie-sitio { background: var(--cafe); color: #CDBFB1; padding: 54px 0 32px; font-size: .92rem; }
.pie-rejilla { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 30px; }
.pie-sitio .logo { color: #fff; }
.pie-sitio .logo-pin { box-shadow: inset 0 0 0 6px var(--acento), inset 0 0 0 11px var(--cafe); }
.pie-sitio b { color: #fff; }
.pie-sitio h3 { font: 700 .76rem/1 var(--sans); text-transform: uppercase; letter-spacing: .12em; color: var(--sol); margin: 0 0 14px; }
.pie-sitio ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.pie-sitio a { color: #E6DACC; text-decoration: none; }
.pie-sitio a:hover { color: var(--sol); }
.pie-legal { margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .12); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: .84rem; }
@media (max-width: 900px) { .pie-rejilla { grid-template-columns: 1fr 1fr; } .pie-rejilla > div:first-child { grid-column: 1 / -1; } }

.wa-flota { position: fixed; right: 18px; bottom: 18px; z-index: 40; display: flex; align-items: center; gap: 8px; background: #1FA855; color: #fff; border-radius: 999px; padding: 12px 18px 12px 14px; font: 700 .92rem var(--sans); text-decoration: none; box-shadow: 0 12px 28px -10px rgba(0, 0, 0, .45); }
.wa-flota:hover { background: #17924A; color: #fff; }
.wa-flota svg { width: 22px; height: 22px; color: #fff; }

/* ── 25-sep: municipio y sede como página de destino ───────────────────────
   El botón de cita va justo debajo de la foto (antes quedaba tras la banda de
   ruta, a unos 950 px en el celular); la banda «Cómo llegar» pasa después. */
.llamar { margin: 10px 0 0; font-size: .95rem; color: var(--suave); }
.llamar a { color: var(--tinta); font-weight: 700; }
@media (max-width: 600px) {
  .heroe h1 { font-size: clamp(1.9rem, 8vw, 2.4rem); }
}

/* Píldora flotante: se esconde mientras se ven los botones del héroe (script
   en plantilla.js). Solo en pantallas donde podría taparlos (25-sep-2026: a
   390 px montaba sobre «Cómo llegar» en la portada y sobre «Informe en 7 días»
   en /agendar). */
.wa-flota { transition: opacity .2s ease, transform .2s ease, visibility .2s; }
@media (max-width: 900px) { html.flota-espera .wa-flota { opacity: 0; visibility: hidden; transform: translateY(12px); pointer-events: none; } }

/* Política de privacidad (/privacidad): títulos de sección a escala de texto. */
.politica h2 { font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.15; margin: 1.9em 0 .55em; }
.politica h2:first-child { margin-top: 0; }
.politica ul { margin: 0 0 1.05em; padding-left: 1.25em; }
.politica li { margin-bottom: .45em; }

/* ── 29-sep: la evaluación en el centro ──────────────────────────────────────
   Municipios y portada: el héroe habla de la prueba; el lugar queda en una
   línea de cercanía (.cercania). «Quién lo evalúa» con la foto del Dr.
   Esteban, el proceso paso a paso (.proceso) y «para quién es». */
.cercania { display: flex; gap: 10px; align-items: baseline; margin: 16px 0 0; max-width: 58ch; font-size: 1rem; color: var(--suave); }
.cercania .pin-mini { position: relative; top: 2px; }
.evaluador { background: var(--blanco); border-bottom: 1px solid var(--linea); }
.evaluador .envoltura { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 36px; align-items: center; padding-top: 38px; padding-bottom: 38px; }
.evaluador-foto { margin: 0; }
.evaluador-foto img { width: 210px; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 22%; border-radius: var(--r); background: var(--papel-2); }
.evaluador-texto { max-width: 62ch; }
.evaluador h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
.evaluador-cargo { font-weight: 700; color: var(--tinta-2); margin: 6px 0 12px; }
.evaluador-texto p:last-child { margin: 0; }
/* Portada: la foto ya está en el héroe; aquí solo el texto, con filete. */
.evaluador.evaluador-sin-foto .envoltura { grid-template-columns: minmax(0, 1fr); }
.evaluador-sin-foto .evaluador-texto { max-width: none; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); column-gap: 56px; padding-left: 22px; border-left: 5px solid var(--acento); }
.evaluador-sin-foto .evaluador-texto > * { grid-column: 1; }
.evaluador-sin-foto .evaluador-texto > p:last-child { grid-column: 2; grid-row: 1 / span 3; align-self: center; font-size: 1.06rem; }
@media (max-width: 900px) { .evaluador-sin-foto .evaluador-texto { display: block; } }
@media (max-width: 640px) {
  .evaluador .envoltura { grid-template-columns: 112px minmax(0, 1fr); gap: 18px; align-items: start; padding-top: 28px; padding-bottom: 28px; }
  .evaluador-foto img { width: 112px; }
  .evaluador .eyebrow { margin-bottom: 8px; }
  .evaluador-cargo { font-size: .92rem; margin: 4px 0 8px; }
  .evaluador-texto > p:last-child { font-size: .98rem; }
}
.proceso { list-style: none; counter-reset: paso; padding: 0 !important; margin: 0 0 1.2em; display: grid; gap: 12px; }
.proceso li { counter-increment: paso; position: relative; margin: 0 !important; padding: 16px 18px 16px 64px; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--r-s); }
.proceso li::before { content: counter(paso); position: absolute; left: 18px; top: 16px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--acento); color: #fff; font: 800 1rem/1 var(--display); }
.proceso b { display: block; color: var(--tinta); font: 800 1.14rem/1.2 var(--display); font-stretch: 82%; margin-bottom: 4px; }
.proceso span { display: block; font-size: .97rem; color: var(--texto); }
.nota-duracion { background: var(--sol-suave); border-left: 5px solid var(--sol); padding: 14px 18px; border-radius: 0 var(--r-s) var(--r-s) 0; font-size: .97rem; }
.para-quien { list-style: none; padding: 0 !important; margin: 0 0 1.1em; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.para-quien li { margin: 0 !important; }
.para-quien a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px; background: var(--blanco); border: 1px solid var(--linea); border-left: 4px solid var(--verde); border-radius: var(--r-s); text-decoration: none; color: var(--texto); transition: border-color .15s; }
.para-quien a:hover { border-color: var(--acento); color: var(--texto); }
.para-quien b { font: 800 1.1rem/1.2 var(--display); font-stretch: 82%; color: var(--tinta); }
.para-quien span { font-size: .9rem; color: var(--suave); line-height: 1.4; }
.acciones-agendar { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
@media (max-width: 600px) { .acciones-agendar .btn { flex: 1 1 100%; } .proceso li { padding: 14px 14px 14px 56px; } .proceso li::before { left: 14px; } }

/* ── citas pagadas (30-sep-2026): formulario al final y precio por servicio ── */
.precio-servicio { margin: 2px 0 8px !important; color: var(--suave); }
.precio-servicio b { font: 800 1.5rem/1 var(--display); font-stretch: 85%; color: var(--tinta); }

/* ── reseñas de Google (/root/scripts/resenas-bloques.js) ── */
.rv{--rv-acento:#B8322A;--rv-acento-suave:#F8E4E1;--rv-tinta:#1E140E;--rv-tinta-2:#6B5E54;--rv-fondo:#FFFFFF;--rv-linea:#E2DACD;--rv-radio:18px;--rv-estrella:#D9971A;--rv-sombra:0 1px 2px rgba(20,20,19,.04), 0 10px 28px -20px rgba(20,20,19,.28);color:var(--rv-tinta);box-sizing:border-box}
.rv *,.rv *::before,.rv *::after{box-sizing:border-box}
.rv blockquote{margin:0;padding:0;border:0;background:none;quotes:none}
.rv blockquote::before,.rv blockquote::after{content:none}
.rv blockquote p{margin:0}
.rv-estrellas{color:var(--rv-estrella);letter-spacing:2px;font-size:.95rem;line-height:1;white-space:nowrap}
.rv-g{flex:0 0 auto;vertical-align:-2px}
.rv-eyebrow{margin:0 0 6px;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--rv-acento)}
.rv-h{margin:0 0 6px;font-family:'Archivo', 'Arial Narrow', -apple-system, 'Segoe UI', sans-serif;color:var(--rv-tinta);line-height:1.15}
.rv-sub{margin:0;color:var(--rv-tinta-2);max-width:60ch}
/* banda */
.rv-banda{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:.92rem}
.rv-banda .rv-nota{font-size:1.9rem;font-weight:800;line-height:1;font-family:'Archivo', 'Arial Narrow', -apple-system, 'Segoe UI', sans-serif;color:var(--rv-tinta)}
.rv-banda .rv-estrellas{font-size:1.05rem}
.rv-banda .rv-total{color:var(--rv-tinta-2)}
.rv-banda .rv-ver{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--rv-acento);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.rv-banda .rv-ver:hover{border-bottom-width:2px}
.rv-banda.rv-banda-sola{justify-content:center;background:var(--rv-acento-suave);border-radius:var(--rv-radio);padding:14px 18px;margin:22px 0}
.rv-banda-pie{margin-top:14px;font-size:.86rem}
.rv-banda-pie .rv-nota{font-size:1.25rem}
/* tarjeta */
.rv-tarjeta{margin:0;background:var(--rv-fondo);border:1px solid var(--rv-linea);border-radius:var(--rv-radio);padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--rv-sombra);min-width:0}
.rv-tarjeta blockquote p{font-size:.95rem;line-height:1.62;color:var(--rv-tinta);white-space:pre-line;overflow-wrap:anywhere}
.rv-tarjeta figcaption{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:4px}
.rv-inicial{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:var(--rv-acento);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem}
.rv-quien{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.rv-quien b{font-size:.9rem;color:var(--rv-tinta);overflow-wrap:anywhere}
.rv-quien small{display:flex;align-items:center;gap:5px;font-size:.74rem;color:var(--rv-tinta-2)}
.rv-mas{align-self:flex-start;background:none;border:0;padding:0;font:inherit;font-size:.84rem;font-weight:700;color:var(--rv-acento);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.rv-mas{display:none}
.rv-js .rv-mas{display:inline}
.rv-js .rv-tarjeta:not(.rv-abierta) .rv-mas~figcaption{margin-top:auto}
.rv-js .rv-carrusel .rv-tarjeta:not(.rv-abierta) blockquote p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden}
/* carrusel */
.rv-carrusel{max-width:1120px;margin:0 auto;padding:8px 0}
.rv-cabeza{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 28px;margin:0 0 18px}
.rv-carrusel .rv-h{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.rv-pista{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,calc((100% - 32px)/3));gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.rv-pista:focus-visible{outline:2px solid var(--rv-acento);outline-offset:4px;border-radius:var(--rv-radio)}
.rv-pista>.rv-tarjeta{scroll-snap-align:start}
@media (max-width:900px){.rv-pista{grid-auto-columns:minmax(250px,calc((100% - 16px)/2))}}
@media (max-width:600px){.rv-pista{grid-auto-columns:86%}}
@media (prefers-reduced-motion:no-preference){.rv-pista{scroll-behavior:smooth}}
.rv-controles{display:flex;justify-content:center;gap:12px;margin-top:6px}
.rv-controles[hidden]{display:none}
.rv-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--rv-linea);background:var(--rv-fondo);color:var(--rv-tinta);font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rv-btn:hover:not([disabled]){border-color:var(--rv-acento);color:var(--rv-acento)}
.rv-btn[disabled]{opacity:.35;cursor:default}
/* cita destacada */
.rv-cita{margin:22px auto 0;max-width:640px;text-align:center}
.rv-cita blockquote p{font-family:'Source Sans 3', -apple-system, 'Segoe UI', sans-serif;font-size:clamp(1.08rem,1.9vw,1.3rem);line-height:1.5;font-style:italic;color:inherit}
.rv-cita figcaption{margin-top:8px;font-size:.86rem;opacity:.85}
.rv-cita figcaption a{color:inherit}
.rv-cita .rv-estrellas{display:block;margin-bottom:8px}
/* temáticas */
.rv-temas{margin:34px 0;padding:22px;border-radius:calc(var(--rv-radio) + 4px);background:var(--rv-acento-suave)}
.rv-temas .rv-h{font-size:clamp(1.25rem,2.2vw,1.55rem)}
.rv-temas .rv-rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-top:14px}
.rv-temas.rv-n1 .rv-rejilla{grid-template-columns:1fr}
/* cortas */
.rv-cortas{margin:16px 0 0;font-size:.88rem}
.rv-cortas-t{margin:0 0 8px;font-weight:700;font-size:.84rem;color:var(--rv-tinta-2)}
.rv-cortas ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rv-cortas li{margin:0;padding:10px 12px;border-left:3px solid var(--rv-acento);background:var(--rv-fondo);border-radius:0 10px 10px 0;line-height:1.5;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.rv-cortas li::before{content:none}
.rv-cortas q{quotes:'«' '»';color:var(--rv-tinta);flex:1 1 100%}
.rv-cortas .rv-estrellas{font-size:.8rem;order:-1}
.rv-quien-c{font-size:.8rem;font-weight:700;color:var(--rv-tinta-2)}
.rv-cortas-pie{margin:8px 0 0;font-size:.8rem}
.rv-cortas-pie a{display:inline-flex;align-items:center;gap:5px;color:var(--rv-tinta-2);text-decoration:none}
.rv-cortas-pie a:hover{text-decoration:underline}
/* lateral */
.rv-lateral{margin:0 0 14px;padding:14px 16px;background:var(--rv-fondo);border:1px solid var(--rv-linea);border-radius:var(--rv-radio)}
.rv-lateral-top{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--rv-tinta-2);font-weight:700}
.rv-lateral blockquote p{margin-top:8px;font-size:.9rem;line-height:1.55;color:var(--rv-tinta);font-style:italic}
.rv-lateral figcaption{margin-top:8px;font-size:.8rem;color:var(--rv-tinta-2)}
.rv-lateral figcaption a{color:var(--rv-acento)}

/* ajustes propios de neuropsicologo.co */
.cierre .rv-cita{text-align:left;margin:30px 0 0;max-width:640px;color:#FBE9E6}
.cierre .rv-cita .rv-estrellas{color:var(--sol,#EBB23A)}
.cierre .rv-cita blockquote p{color:#fff;font-style:normal;font-weight:600}
.cierre .rv-cita figcaption a{color:#FBE9E6}
.rv-temas-envoltura{padding-bottom:10px}
.rv-temas-envoltura .rv-temas{margin-top:0}
.lateral .rv-lateral{margin:0}
