/* ESTILOS NO CRÍTICOS — se cargan al final del <body>.
   Los tokens (:root) viven en css/critico.css, que se incrusta en cada página.
   Mobile-first: los @media agregan complejidad hacia escritorio. */

/* ---------- Secciones ---------- */
.seccion { padding-block: var(--e-7); }
.seccion--superficie { background: var(--c-superficie); }
.seccion--invertida { background: var(--c-inv-fondo); color: var(--c-inv-texto); }
.seccion h2 { font-size: var(--t-h2); letter-spacing: -0.015em; }
.seccion__cabeza { margin-bottom: var(--e-6); }
.seccion__cabeza h2 { margin-top: var(--e-3); }
.seccion__cabeza-fila { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--e-3) var(--e-5); margin-bottom: var(--e-6); }
.seccion__cabeza-fila h2 { margin-top: var(--e-3); }
.antetitulo--inv { color: var(--c-inv-suave); }
.enlace-flecha--inv { color: var(--c-inv-texto); }
.seccion--invertida :focus-visible { outline-color: var(--c-acento); }
@media (min-width: 900px) { .seccion { padding-block: var(--e-8); } }

/* ---------- Prosa ---------- */
.prosa > * + * { margin-top: var(--e-3); }
.prosa a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.prosa a:hover { text-decoration-thickness: 2px; }
.prosa strong { font-weight: 600; }
.prosa ul, .prosa ol { padding-left: 1.25rem; display: grid; gap: var(--e-2); }
.prosa ul li::marker { color: var(--c-acento); }
.prosa ol li::marker { font-weight: 600; color: var(--c-texto-suave); }

/* Nota al margen junto a un párrafo */
.con-nota .nota-margen { margin-bottom: var(--e-2); }
@media (min-width: 1000px) {
  .con-nota { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: var(--e-4); align-items: start; }
  .con-nota .nota-margen { margin: 0.2em 0 0; padding: 0 var(--e-3) 0 0; border-left: 0; border-right: 2px solid var(--c-acento); text-align: right; }
  .prosa:has(.con-nota) > :not(.con-nota) { margin-left: calc(9.5rem + var(--e-4)); }
  .etapa .con-nota { display: block; }
  .etapa .con-nota .nota-margen { padding: 0 0 0 var(--e-3); border-right: 0; border-left: 2px solid var(--c-acento); text-align: left; margin-bottom: var(--e-2); }
}

/* ---------- Editorial (2 columnas asimétricas) ---------- */
.editorial { display: grid; gap: var(--e-5); }
.editorial__lado h2 { margin-top: var(--e-3); }
.editorial__texto { font-size: 1.0625rem; }
@media (min-width: 900px) {
  .editorial { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--e-7); }
  .editorial__lado { position: sticky; top: calc(var(--alto-cabecera) + var(--e-5)); align-self: start; }
}

/* ---------- Proceso (línea horizontal) ---------- */
.proceso__cabeza h2 { margin-top: var(--e-3); }
.proceso__cabeza p:last-child { margin-top: var(--e-3); color: var(--c-inv-suave); font-size: 1.125rem; }
@media (min-width: 900px) {
  .proceso__cabeza { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--e-6); align-items: end; }
  .proceso__cabeza .antetitulo { grid-column: 1 / -1; }
  .proceso__cabeza p:last-child { margin-top: 0; }
}
.linea { list-style: none; display: grid; gap: var(--e-5); margin: var(--e-6) 0 var(--e-6); position: relative; }
.linea__paso { position: relative; padding-left: var(--e-5); border-left: 1px solid var(--c-inv-borde); }
.linea__paso::before { content: ''; position: absolute; left: -5px; top: 4px; width: 9px; height: 9px; background: var(--c-acento); border-radius: 50%; }
.linea__etapa { display: block; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-acento); }
.linea__icono { display: block; margin: var(--e-3) 0; color: var(--c-inv-suave); }
.linea__paso h3 { font-size: var(--t-h3); margin-bottom: var(--e-2); }
.linea__paso p { color: var(--c-inv-suave); }
@media (min-width: 900px) {
  .linea { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-5); padding-top: var(--e-5); }
  .linea::before { content: ''; position: absolute; left: 0; right: 0; top: 4px; height: 1px; background: var(--c-inv-borde); }
  .linea__paso { padding-left: 0; border-left: 0; padding-top: var(--e-2); }
  .linea__paso::before { left: 0; top: calc(-1 * var(--e-5)); }
}

/* ---------- Accesible / datos grandes ---------- */
.accesible { display: grid; gap: var(--e-6); }
.accesible__cabeza h2 { margin: var(--e-3) 0; }
.accesible__cabeza p { color: var(--c-texto-suave); }
.datos { display: grid; gap: 0; border-top: 1px solid var(--c-borde-fuerte); }
.dato { display: grid; gap: var(--e-1); padding: var(--e-4) 0; border-bottom: 1px solid var(--c-borde); }
.dato dt { font-family: var(--f-display); font-weight: 600; font-size: clamp(2rem, 3vw + 1rem, 3rem); line-height: 1; letter-spacing: -0.02em; }
.dato dd { color: var(--c-texto-suave); }
@media (min-width: 900px) {
  .accesible { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--e-7); align-items: start; }
  .datos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-5); border-top: 0; }
  .dato { padding: var(--e-5) 0; border-bottom: 0; border-top: 1px solid var(--c-borde-fuerte); }
}

/* ---------- Preguntas frecuentes ---------- */
.faq { display: grid; gap: var(--e-5); }
.faq__lado h2 { margin: var(--e-3) 0; }
.faq__lado p { color: var(--c-texto-suave); margin-bottom: var(--e-4); }
.faq__lista { border-top: 1px solid var(--c-borde-fuerte); }
.faq__item { border-bottom: 1px solid var(--c-borde-fuerte); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--e-3); padding: var(--e-4) 0; cursor: pointer; list-style: none; }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary h3 { font-size: 1.375rem; line-height: 1.25; }
.faq__item summary:hover h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.faq__signo { position: relative; flex-shrink: 0; width: 20px; height: 20px; }
.faq__signo::before, .faq__signo::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; margin: -1px 0 0 -7px; background: currentColor; transition: transform var(--dur) var(--ease); }
.faq__signo::after { transform: rotate(90deg); }
.faq__item[open] .faq__signo::after { transform: rotate(0deg); }
.faq__resp { padding: 0 var(--e-5) var(--e-4) 0; color: var(--c-texto-suave); }
@media (min-width: 900px) {
  .faq { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--e-7); }
  .faq__lado { position: sticky; top: calc(var(--alto-cabecera) + var(--e-5)); align-self: start; }
}

/* ---------- Blog: tarjetas ---------- */
.posts-grid { display: grid; gap: var(--e-6); }
.post-item { display: grid; gap: var(--e-3); align-content: start; }
.post-item__img { display: block; overflow: hidden; border-radius: var(--radio); background: var(--c-inv-fondo); }
.post-item__img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform var(--dur-lenta) var(--ease); }
.post-item:hover .post-item__img img { transform: scale(1.03); }
.post-item__meta { font-size: var(--t-chico); color: var(--c-texto-suave); }
.post-item__titulo { font-size: 1.5rem; line-height: 1.2; }
.post-item__titulo a { text-decoration: none; }
.post-item__titulo a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.post-item__resumen { color: var(--c-texto-suave); }
.post-item--destacado .post-item__titulo { font-size: var(--t-h2); line-height: 1.1; letter-spacing: -0.015em; }
.post-item--destacado .post-item__resumen { font-size: 1.125rem; }
@media (min-width: 700px) { .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) {
  .posts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-5); }
  .post-item--destacado { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--e-6); align-items: center; }
}
.seccion--blog { padding-bottom: var(--e-6); }
.seccion--blog-resto { padding-top: var(--e-6); border-top: 1px solid var(--c-borde); }
.titulo-lista { font-size: var(--t-h3) !important; margin-bottom: var(--e-5); }

/* ---------- CTA final ---------- */
.cta-final { background: var(--c-superficie); padding-block: var(--e-7); border-top: 1px solid var(--c-borde); }
.cta-final__in { display: grid; gap: var(--e-5); align-items: center; }
.cta-final h2 { font-size: var(--t-h2); margin-top: var(--e-3); letter-spacing: -0.015em; }
.cta-final__texto { margin-top: var(--e-3); color: var(--c-texto-suave); }
.cta-final__acciones { display: grid; gap: var(--e-3); justify-items: start; }
.cta-final__alt { font-size: 0.9375rem; color: var(--c-texto-suave); }
.cta-final__alt a { color: var(--c-texto); font-weight: 600; text-underline-offset: 3px; }
@media (min-width: 900px) {
  .cta-final { padding-block: var(--e-8); }
  .cta-final__in { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--e-7); }
}

/* ---------- Pie de página (carátula de expediente) ---------- */
.pie { background: var(--c-inv-fondo); color: var(--c-inv-texto); padding-block: var(--e-7) var(--e-5); }
.pie a { color: inherit; }
.pie :focus-visible { outline-color: var(--c-acento); }
.pie__arriba { display: grid; gap: var(--e-5); padding-bottom: var(--e-6); border-bottom: 1px solid var(--c-inv-borde); }
.pie__frase { font-family: var(--f-display); font-weight: 600; font-size: clamp(2rem, 4vw + 0.5rem, 3.25rem); line-height: 1.08; letter-spacing: -0.02em; }
.pie__arriba .enlace-flecha { justify-self: start; font-size: 1.0625rem; }
.pie__medio { display: grid; gap: var(--e-5); padding-block: var(--e-6); border-bottom: 1px solid var(--c-inv-borde); }
.pie__marca img { height: 40px; width: auto; }
.caratula { display: grid; gap: var(--e-2); font-size: 0.9375rem; }
.caratula div { display: grid; gap: 2px; padding-bottom: var(--e-2); border-bottom: 1px dotted var(--c-inv-borde); }
.caratula div:last-child { border-bottom: 0; }
.caratula dt { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c-inv-suave); display: flex; align-items: baseline; gap: var(--e-2); }
.caratula dd { overflow-wrap: anywhere; }
.caratula dd a { text-underline-offset: 3px; }
.pie__nav { display: grid; gap: var(--e-4); padding-block: var(--e-5); border-bottom: 1px solid var(--c-inv-borde); }
.pie__nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-4); }
.pie__nav a { text-decoration: none; font-size: 0.9375rem; }
.pie__nav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pie__guias a { color: var(--c-inv-suave); }
.pie__legal { display: grid; gap: var(--e-2); padding-top: var(--e-4); font-size: var(--t-chico); color: var(--c-inv-suave); }
@media (min-width: 900px) {
  .pie { padding-block: var(--e-8) var(--e-5); }
  .pie__arriba { grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .pie__medio { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; }
  .caratula div { display: flex; align-items: baseline; gap: var(--e-2); padding-bottom: 0; border-bottom: 0; }
  .caratula dt { flex-shrink: 0; min-width: 11rem; }
  .caratula dt::after { content: ''; flex: 1; border-bottom: 1px dotted var(--c-inv-borde); transform: translateY(-3px); }
  .pie__legal { grid-template-columns: auto 1fr; gap: var(--e-5); }
  .pie__legal p:last-child { text-align: right; }
}

/* ---------- CTA flotante (solo móvil) ---------- */
.cta-flotante { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: var(--e-3) var(--gutter) calc(var(--e-3) + env(safe-area-inset-bottom)); background: var(--c-fondo); border-top: 1px solid var(--c-borde); transform: translateY(110%); transition: transform var(--dur) var(--ease); }
.cta-flotante.is-visible { transform: none; }
.cta-flotante .btn { width: 100%; }
@media (min-width: 900px) { .cta-flotante { display: none; } }

/* ---------- Portada: ajustes móviles no críticos ---------- */
@media (max-width: 899px) { .slide__figura img { aspect-ratio: 16 / 10; } }

/* ---------- Encabezado de página ---------- */
.cabeza-pagina__accion { margin-top: var(--e-4); display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-3) var(--e-4); }
.cabeza-pagina__bajada a { font-weight: 600; text-underline-offset: 3px; }

/* ---------- Quiénes somos ---------- */
.historia { display: grid; gap: var(--e-6); align-items: center; }
.historia h2 { margin-bottom: var(--e-2); }
.historia__figura img { width: 100%; border-radius: var(--radio); background: var(--c-inv-fondo); }
.historia__figura figcaption { margin-top: var(--e-2); font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 1.0625rem; color: var(--c-texto-suave); padding-left: var(--e-3); border-left: 2px solid var(--c-acento); }
@media (min-width: 900px) { .historia { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--e-7); } }

.compromisos { display: grid; border-top: 1px solid var(--c-borde-fuerte); }
.compromiso { display: grid; gap: var(--e-2); padding: var(--e-4) 0; border-bottom: 1px solid var(--c-borde-fuerte); }
.compromiso dt { font-family: var(--f-display); font-weight: 600; font-size: var(--t-h3); line-height: 1.2; }
.compromiso dd { color: var(--c-texto-suave); }
@media (min-width: 900px) {
  .compromiso { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--e-6); align-items: baseline; padding: var(--e-5) 0; }
}

/* ---------- Servicio ---------- */
.casos { list-style: none; border-top: 1px solid var(--c-borde-fuerte); }
.caso { display: grid; gap: var(--e-2); padding: var(--e-4) 0; border-bottom: 1px solid var(--c-borde); }
.caso h3 { font-size: var(--t-h3); }
.caso p:not(.nota-margen) { color: var(--c-texto-suave); }
.caso .nota-margen { margin-top: var(--e-1); font-size: 1rem; }
.caso .nota-margen b { display: inline; margin-right: 0.35em; }
@media (min-width: 900px) {
  .caso { grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) minmax(0, 2.5fr); gap: var(--e-5); align-items: baseline; padding: var(--e-5) 0; }
  .caso .nota-margen { margin: 0; }
  .caso .nota-margen b { display: block; }
}

.etapas-wrap { display: grid; gap: var(--e-6); }
.etapas__lado h2 { margin: var(--e-3) 0; }
.etapas__lado p { color: var(--c-texto-suave); }
.etapas { list-style: none; display: grid; gap: 0; }
.etapa { position: relative; padding: 0 0 var(--e-6) var(--e-5); border-left: 1px solid var(--c-borde-fuerte); }
.etapa:last-child { padding-bottom: 0; border-left-color: transparent; }
.etapa::before { content: ''; position: absolute; left: -6px; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: var(--c-superficie); border: 2px solid var(--c-texto); }
.etapa:last-child::before { background: var(--c-acento); border-color: var(--c-acento); }
.etapa__nombre { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-texto-suave); }
.etapa h3 { font-size: var(--t-h3); margin: var(--e-2) 0 var(--e-3); }
.etapa__resultado { margin-top: var(--e-3); font-weight: 600; }
@media (min-width: 900px) {
  .etapas-wrap { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--e-7); }
  .etapas__lado { position: sticky; top: calc(var(--alto-cabecera) + var(--e-5)); align-self: start; }
}

.reclamar { display: grid; gap: var(--e-6); }
.reclamar__cabeza h2 { margin: var(--e-3) 0; }
.reclamar__cabeza p { color: var(--c-inv-suave); font-size: 1.125rem; }
.reclamar__lista { display: grid; border-top: 1px solid var(--c-inv-borde); }
.reclamar__lista div { display: grid; gap: var(--e-2); padding: var(--e-4) 0; border-bottom: 1px solid var(--c-inv-borde); }
.reclamar__lista dt { font-family: var(--f-display); font-weight: 600; font-size: var(--t-h3); }
.reclamar__lista dd { color: var(--c-inv-suave); }
.cita { display: block; margin-top: var(--e-2); font-family: var(--f-display); font-style: italic; font-weight: 600; font-size: 1rem; color: var(--c-acento); }
@media (min-width: 900px) {
  .reclamar { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--e-7); }
  .reclamar__lista div { grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: var(--e-5); align-items: baseline; }
}

.documentos { display: grid; gap: var(--e-5); }
.documentos h2 { margin-top: var(--e-3); }
.documentos__nota { margin-top: var(--e-3); color: var(--c-texto-suave); }
.checklist { list-style: none; display: grid; gap: 0; border-top: 1px solid var(--c-borde-fuerte); }
.checklist li { display: flex; gap: var(--e-3); align-items: flex-start; padding: var(--e-3) 0; border-bottom: 1px solid var(--c-borde); }
.checklist svg { flex-shrink: 0; margin-top: 3px; color: var(--c-texto); }
@media (min-width: 900px) {
  .documentos { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--e-7); }
  .checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-5); }
}

/* ---------- Contacto y formulario ---------- */
.contacto { padding-top: var(--e-6); }
.contacto__grid { display: grid; gap: var(--e-6); }
@media (min-width: 960px) { .contacto__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--e-7); align-items: start; } .contacto__info { position: sticky; top: calc(var(--alto-cabecera) + var(--e-4)); } }

.formulario { display: grid; gap: var(--e-4); }
.formulario__fila { display: grid; gap: var(--e-4); }
@media (min-width: 640px) { .formulario__fila { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.campo { display: grid; gap: var(--e-2); align-content: start; border: 0; min-width: 0; }
.campo label, .campo legend { font-weight: 600; font-size: 0.9375rem; }
.campo legend { margin-bottom: var(--e-2); padding: 0; }
.req { color: var(--c-error); }
.opcional { font-weight: 400; color: var(--c-texto-suave); }
.campo input[type="text"], .campo input[type="email"], .campo input[type="tel"], .campo input[type="date"], .campo select, .campo textarea {
  width: 100%; min-height: 48px; padding: 12px 14px;
  font: inherit; font-size: 1rem; color: var(--c-texto);
  background: #FFFDF9; border: 1px solid var(--c-borde-fuerte); border-radius: var(--radio);
  transition: border-color var(--dur) var(--ease);
}
.campo textarea { resize: vertical; min-height: 140px; line-height: 1.5; }
.campo select { appearance: none; padding-right: 40px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230F2C4E' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: var(--c-texto); }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible { outline: 2px solid var(--c-texto); outline-offset: 1px; border-color: var(--c-texto); }
.campo input::placeholder { color: #7A8796; }
.campo [aria-invalid="true"] { border-color: var(--c-error); box-shadow: inset 0 0 0 1px var(--c-error); }
.campo__error { display: flex; gap: var(--e-2); font-size: var(--t-chico); font-weight: 600; color: var(--c-error); }
.campo__error::before { content: '!'; display: inline-grid; place-items: center; flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--c-error); color: #fff; font-size: 0.75rem; }
.campo__error[hidden] { display: none; }
.campo__ayuda { font-size: var(--t-chico); color: var(--c-texto-suave); }
.opciones { display: flex; flex-wrap: wrap; gap: var(--e-2) var(--e-4); }
.opcion { display: inline-flex; align-items: flex-start; gap: var(--e-2); font-weight: 400 !important; cursor: pointer; min-height: 32px; }
.opcion input { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; accent-color: var(--c-texto); }
.campo--check .opcion { line-height: 1.5; }
.campo-trampa { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.formulario__nota { font-size: var(--t-chico); color: var(--c-texto-suave); }
.formulario__enviar { justify-self: start; }
.formulario__enviar[aria-busy="true"] { opacity: 0.7; pointer-events: none; }
.formulario__estado:empty { display: none; }
.formulario__estado { padding: var(--e-3) var(--e-4); border-radius: var(--radio); border: 1px solid var(--c-borde-fuerte); background: var(--c-superficie); }
.formulario__estado.is-ok { border-color: var(--c-texto); }
.formulario__estado.is-error { border-color: var(--c-error); color: var(--c-error); }
.formulario__estado strong { display: block; font-family: var(--f-display); font-size: 1.375rem; line-height: 1.2; margin-bottom: var(--e-1); color: var(--c-texto); }

.contacto__info { display: grid; gap: var(--e-5); }
.contacto__bloque h2 { font-size: 1.5rem; margin-bottom: var(--e-3); }
.contacto__dato { display: flex; align-items: center; gap: var(--e-3); padding: var(--e-2) 0; }
.contacto__dato svg { flex-shrink: 0; }
.contacto__dato a { font-weight: 600; text-underline-offset: 3px; overflow-wrap: anywhere; }
.pasos-cortos { padding-left: 1.25rem; display: grid; gap: var(--e-2); color: var(--c-texto-suave); }
.pasos-cortos li::marker { font-weight: 600; color: var(--c-texto); }
.contacto__bloque--nota .nota-margen b { margin-bottom: var(--e-1); }

/* ---------- Artículo del blog (la cabecera vive en critico.css) ---------- */
.articulo__portada { margin-bottom: var(--e-6); }
.articulo__portada img { width: 100%; max-width: 880px; aspect-ratio: 1200 / 670; border-radius: var(--radio); background: var(--c-inv-fondo); }
.articulo__cuerpo { max-width: calc(44rem + 9.5rem + var(--e-4)); padding-bottom: var(--e-7); font-size: 1.0625rem; }
.articulo__cuerpo h2 { font-size: clamp(1.625rem, 2vw + 0.75rem, 2.125rem); letter-spacing: -0.01em; margin-top: var(--e-6); }
.articulo__cuerpo h3 { font-size: 1.375rem; margin-top: var(--e-5); }
.articulo__cuerpo h2 + *, .articulo__cuerpo h3 + * { margin-top: var(--e-3); }
.respuesta-corta { padding: var(--e-4); background: var(--c-superficie); border: 1px solid var(--c-borde); border-radius: var(--radio); }
.respuesta-corta__titulo { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-texto-suave); margin-bottom: var(--e-2); }
.respuesta-corta p:last-child { font-size: 1.125rem; }
.fuentes { margin-top: var(--e-6) !important; padding-top: var(--e-4); border-top: 1px solid var(--c-borde-fuerte); font-size: 0.9375rem; }
.fuentes h2 { font-size: 1.375rem !important; margin-top: 0 !important; }
.fuentes ul { margin-top: var(--e-3); }
.articulo__aviso { margin-top: var(--e-5) !important; font-size: var(--t-chico); color: var(--c-texto-suave); }
@media (min-width: 900px) {
  .articulo__portada img { margin-left: calc(9.5rem + var(--e-4)); max-width: calc(100% - 9.5rem - var(--e-4)); }
}
@media (max-width: 999px) { .articulo__portada img { margin-left: 0; max-width: 100%; } }

.relacionados { padding-block: var(--e-7); border-top: 1px solid var(--c-borde); }
.relacionados h2 { font-size: var(--t-h3); margin-bottom: var(--e-5); }
.relacionados__lista { display: grid; gap: var(--e-6); }
@media (min-width: 700px) { .relacionados__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--e-5); } }
