/* AUDITTIA · sistema visual compartido. Recursos locales, sin dependencias. */
@font-face { font-family: "Work Sans"; src: url("assets/fonts/work-sans-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Work Sans"; src: url("assets/fonts/work-sans-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Work Sans"; src: url("assets/fonts/work-sans-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }

:root {
  color-scheme: light;
  --azul: #0077c8;
  --azul-profundo: #004b87;
  --azul-noche: #002b44;
  --azul-petroleo: #003b5c;
  --azul-cielo: #e8f4fa;
  --azul-hielo: #f3f8fa;
  --verde-lima: #b5d333;
  --verde-lima-claro: #d9ec7a;
  --menta: #e8f5f0;
  --crema: #fff6e5;
  --blanco: #fff;
  --gris-texto: #506472;
  --gris-borde: #d6e3ea;
  --color-texto-suave: var(--gris-texto);
  --fuente-texto: "Work Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --fuente-titulos: var(--fuente-texto);
  --radio: 1rem;
  --sombra: 0 16px 44px #002b4410;
  --espacio-seccion: clamp(3rem, 6vw, 5.5rem);
  --duracion-interaccion: 160ms;
  --curva-movimiento: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: auto; scroll-padding-top: 7rem; }
body { margin: 0; background: var(--blanco); color: var(--azul-noche); font-family: var(--fuente-texto); font-size: 1rem; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
a { color: var(--azul-profundo); text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
button, input, summary { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3 { margin: 0 0 1rem; font-weight: 600; line-height: 1.16; text-wrap: balance; }
h1 { font-size: clamp(2.3rem, 4.6vw, 4rem); letter-spacing: -.05em; }
h2 { font-size: clamp(1.9rem, 3.1vw, 2.8rem); letter-spacing: -.045em; }
h3 { font-size: 1.3rem; letter-spacing: -.025em; line-height: 1.3; }
p { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }
small, figcaption { font-size: .75rem; line-height: 1.5; }
figcaption { margin-top: .75rem; color: var(--gris-texto); }
ul, ol { padding-left: 1.25rem; }
:where(a, button, summary, input):focus-visible { outline: 3px solid var(--azul-noche); outline-offset: 3px; box-shadow: 0 0 0 6px var(--verde-lima-claro); border-radius: .2rem; }
:target { scroll-margin-top: 7rem; }
main:focus { outline: none; }
.contenedor { width: min(1200px, calc(100% - clamp(2.5rem, 6vw, 5rem))); margin-inline: auto; }
.contenido-angosto { max-width: 860px; }
.seccion { padding-block: var(--espacio-seccion); }
.etiqueta { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; color: var(--azul-profundo); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1.5; }
.etiqueta::before { content: ""; flex: 0 0 1.3rem; height: 3px; background: var(--verde-lima); border-radius: 2px; }
.etiqueta--hero { color: var(--blanco); }
.entradilla { max-width: 42rem; color: var(--gris-texto); font-size: 1.1rem; }
.encabezado-seccion { max-width: 740px; margin-bottom: 2.5rem; }
.encabezado-seccion > p:not(.etiqueta) { color: var(--gris-texto); }
.encabezado-seccion--centrado { margin-inline: auto; text-align: center; }
.encabezado-seccion--centrado .etiqueta { justify-content: center; }
.encabezado-horizontal { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.25rem; }
.encabezado-horizontal h2 { margin-bottom: 0; }
.encabezado-horizontal > p { max-width: 24rem; color: var(--gris-texto); font-size: .95rem; }
.saltar-contenido { position: fixed; top: .75rem; left: .75rem; z-index: 100; transform: translateY(-160%); padding: .75rem 1.25rem; background: white; color: var(--azul-noche); font-weight: 600; }
.saltar-contenido:focus { transform: none; }

/* Navegación: las mismas rutas disponibles en todas las pantallas. */
.barra-utilidad { background: var(--azul-noche); color: #e5f0f6; font-size: .72rem; }
.barra-utilidad__interior { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 36px; }
.barra-utilidad p { margin: 0; }
.barra-utilidad nav { display: flex; gap: 1.5rem; }
.barra-utilidad a { display: inline-flex; align-items: center; min-height: 36px; color: white; text-decoration: none; }
.barra-utilidad a:hover { text-decoration: underline; }
.encabezado { position: sticky; top: 0; z-index: 30; background: white; border-bottom: 1px solid var(--gris-borde); }
.encabezado__interior { position: relative; display: flex; align-items: center; gap: 1.8rem; min-height: 88px; }
.marca { flex-shrink: 0; width: 198px; display: block; }
.navegacion { margin-left: auto; }
.navegacion__lista { display: flex; align-items: center; gap: 1.6rem; margin: 0; padding: 0; list-style: none; }
.navegacion a { position: relative; display: flex; align-items: center; min-height: 88px; color: var(--azul-noche); font-size: .83rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.navegacion a::after { position: absolute; bottom: 17px; left: 0; right: 0; height: 3px; background: var(--verde-lima); content: ""; opacity: 0; transition: opacity var(--duracion-interaccion) var(--curva-movimiento); }
.navegacion a:hover::after, .navegacion a:focus-visible::after, .navegacion a[aria-current]::after { opacity: 1; }
.menu-movil { display: none; }
.menu-movil summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: .7rem; padding: .5rem .8rem; border: 1px solid var(--gris-borde); border-radius: .5rem; font-weight: 600; font-size: .85rem; list-style: none; }
.menu-movil summary::-webkit-details-marker { display: none; }
.menu-movil summary::after { content: "+"; font-size: 1.4rem; line-height: 1; }
.menu-movil[open] summary::after { content: "−"; }
.menu-movil nav { position: absolute; left: 0; right: 0; top: calc(100% - 1px); padding: .75rem; border: 1px solid var(--gris-borde); border-radius: 0 0 1rem 1rem; background: white; box-shadow: var(--sombra); max-height: calc(100dvh - 120px); overflow-y: auto; }
.menu-movil nav a { display: flex; align-items: center; min-height: 48px; padding: .65rem 1rem; border-radius: .4rem; font-weight: 600; text-decoration: none; }
.menu-movil nav a:hover, .menu-movil nav a[aria-current] { background: var(--azul-cielo); }

/* Actions */
.boton { display: inline-flex; align-items: center; justify-content: center; gap: .8rem; min-height: 50px; padding: .85rem 1.35rem; border: 1px solid transparent; border-radius: .55rem; background: var(--azul); color: white; font-size: .88rem; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; transition: background-color var(--duracion-interaccion) var(--curva-movimiento), border-color var(--duracion-interaccion) var(--curva-movimiento); }
.boton:hover { background: var(--azul-profundo); }
.boton span { font-size: 1.1rem; }
.boton--compacto { min-height: 44px; padding: .65rem 1rem; font-size: .8rem; white-space: nowrap; }
.boton--claro { background: var(--verde-lima); color: var(--azul-noche); }
.boton--claro:hover { background: var(--verde-lima-claro); }
.boton--blanco { background: white; color: var(--azul-profundo); }
.boton--blanco:hover { background: var(--azul-cielo); }
.boton--secundario { background: transparent; color: var(--azul-profundo); border-color: var(--azul-profundo); }
.boton--secundario:hover { background: var(--azul-cielo); }
.boton--contorno-claro { color: white; background: transparent; border-color: #ffffff80; }
.boton--contorno-claro:hover { background: #ffffff16; border-color: white; }
.grupo-botones { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.75rem; }
.enlace-flecha { display: inline-flex; align-items: center; gap: .8rem; min-height: 44px; color: var(--azul-profundo); font-size: .9rem; font-weight: 600; text-decoration: none; }
.enlace-flecha:hover { text-decoration: underline; }

/* Portada: jerarquía editorial, fotografía y rutas por necesidad. */
.hero { background: var(--azul); color: white; }
.hero__interior { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(2rem, 5vw, 4rem); padding-block: 4rem 3.5rem; }
.hero h1 { font-size: clamp(2.65rem, 4.55vw, 4.2rem); line-height: 1.05; margin-bottom: 1.5rem; font-weight: 600; }
.hero h1 span { display: block; color: #e0f394; }
.hero__resumen { max-width: 33rem; font-size: 1.05rem; line-height: 1.75; color: white; }
.hero__nota { margin-top: 1.2rem; font-size: .78rem; color: white; }
.hero__visual { position: relative; padding: .75rem 0 0 .75rem; }
.hero__visual::before { position: absolute; width: 135px; height: 135px; right: -12px; top: -6px; border: 18px solid var(--verde-lima); border-radius: 50%; content: ""; }
.hero__foto-marco { position: relative; overflow: hidden; border-radius: 6rem 1rem 1rem 1rem; border: 5px solid #ffffff22; background: #d5e2e5; }
.hero__foto-marco img, .hero__foto-marco video { display: block; width: 100%; height: 440px; object-fit: cover; object-position: 60% center; }
.hero__foto-marco [hidden], .foto-editorial__media [hidden] { display: none; }
.hero__sello { position: relative; display: flex; align-items: center; gap: .85rem; max-width: 91%; margin: -3.1rem 0 0 -1rem; padding: 1.1rem 1.25rem; border: 1px solid var(--gris-borde); border-radius: .8rem; box-shadow: 0 10px 35px #002b4426; background: white; color: var(--azul-noche); }
.hero__sello strong { display: block; font-size: .88rem; }
.hero__sello div > span { color: var(--gris-texto); font-size: .75rem; }
.icono-check { display: grid; flex-shrink: 0; width: 38px; height: 38px; place-items: center; background: var(--verde-lima); border-radius: 50%; color: var(--azul-noche); font-size: 1.2rem; }
.hero figcaption { font-size: .7rem; color: white; text-align: right; }
.hero__base { border-top: 1px solid #ffffff35; }
.hero__base > div { display: grid; grid-template-columns: repeat(3, 1fr); padding-block: 1.1rem; }
.hero__base p { margin: 0; text-align: center; font-size: .83rem; }
.hero__base p + p { border-left: 1px solid #ffffff35; }
.hero__base span { color: #e0f394; margin-right: .6rem; }
.accesos__rejilla, .tarjetas-entidad { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.acceso { position: relative; padding: 1.6rem; border: 1px solid var(--gris-borde); border-radius: var(--radio); color: var(--azul-noche); text-decoration: none; transition: border-color var(--duracion-interaccion) var(--curva-movimiento), background-color var(--duracion-interaccion) var(--curva-movimiento); }
.acceso:hover { border-color: var(--azul); background: var(--azul-hielo); }
.acceso h3 { margin-top: 1.4rem; margin-bottom: .5rem; font-size: 1.13rem; }
.acceso p { max-width: 27ch; margin: 0; color: var(--gris-texto); font-size: .88rem; }
.acceso__icono { display: grid; width: 46px; height: 46px; place-items: center; background: var(--azul-cielo); border-radius: .65rem; }
.acceso:nth-child(2) .acceso__icono { background: var(--menta); }
.acceso:nth-child(3) .acceso__icono { background: #eff5d7; }
.acceso__icono svg { width: 25px; height: 25px; fill: none; stroke: var(--azul-profundo); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.acceso__flecha { position: absolute; top: 1.7rem; right: 1.6rem; font-size: 1.4rem; color: var(--azul); }
.seccion--metodo { background: var(--azul-hielo); border-block: 1px solid var(--gris-borde); }
.metodo-resumen, .preguntas-inicio { display: grid; grid-template-columns: .85fr 1.15fr; align-items: start; gap: clamp(2rem, 7vw, 7rem); }
.metodo-resumen .entradilla { margin-top: 1.4rem; font-size: 1rem; }
.flujo-resumen { list-style: none; padding: 0; margin: 0; }
.flujo-resumen li { display: grid; grid-template-columns: 48px 1fr; gap: 1.25rem; position: relative; padding-bottom: 1.8rem; }
.flujo-resumen li:last-child { padding-bottom: 0; }
.flujo-resumen li:not(:last-child)::before { position: absolute; content: ""; left: 23px; top: 48px; bottom: 0; border-left: 1px solid #b9cdd7; }
.flujo-resumen__numero { position: relative; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--gris-borde); background: white; border-radius: 50%; color: var(--azul-profundo); font-size: .9rem; font-weight: 600; }
.flujo-resumen li:last-child .flujo-resumen__numero { background: var(--verde-lima); border-color: var(--verde-lima); color: var(--azul-noche); }
.flujo-resumen h3 { margin: .1rem 0 .5rem; font-size: 1.2rem; }
.flujo-resumen p { color: var(--gris-texto); font-size: .92rem; }
.editorial-personas, .bloque-editorial { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.editorial-personas > div > p:not(.etiqueta), .bloque-editorial__texto > p:not(.etiqueta) { color: var(--gris-texto); }
.foto-editorial { position: relative; padding-right: 1rem; }
.foto-editorial::before { position: absolute; z-index: -1; right: 0; bottom: 3rem; width: 50%; height: 65%; background: var(--verde-lima); border-radius: 1rem 1rem 4rem 1rem; content: ""; }
.foto-editorial img, .foto-editorial video { display: block; width: 100%; height: 460px; object-fit: cover; object-position: center 34%; border-radius: 1rem 1rem 4rem 1rem; }
.foto-editorial .foto-editorial__media :is(video, img) { height: auto; aspect-ratio: 16 / 9; object-position: center; }
.foto-editorial figcaption { max-width: 95%; font-size: .68rem; }
.lista-verificada { list-style: none; padding: 0; margin: 1.5rem 0; }
.lista-verificada li { position: relative; padding: .7rem 0 .7rem 1.75rem; border-bottom: 1px solid var(--gris-borde); font-size: .9rem; }
.lista-verificada li::before { content: "✓"; position: absolute; left: 0; color: var(--azul-profundo); font-weight: 600; }
.seccion--audiencias { background: var(--menta); }
.tarjetas-entidad article { display: flex; flex-direction: column; padding: 1.75rem; background: white; border: 1px solid #c9ded5; border-radius: var(--radio); }
.sigla { align-self: flex-start; margin-bottom: 1.5rem; font-size: .82rem; font-weight: 700; color: var(--azul-profundo); padding: .3rem .6rem; background: var(--azul-cielo); border-radius: .3rem; }
.tarjetas-entidad article:nth-child(2) .sigla { background: #edf3d4; }
.tarjetas-entidad h3 { font-size: 1.3rem; }
.tarjetas-entidad p { font-size: .92rem; color: var(--gris-texto); margin-bottom: 1.5rem; }
.tarjetas-entidad a { margin-top: auto; font-size: .83rem; }
.preguntas-inicio > div > p:not(.etiqueta) { color: var(--gris-texto); }
.preguntas { border-top: 1px solid var(--gris-borde); }
.preguntas details { border-bottom: 1px solid var(--gris-borde); }
.preguntas summary { position: relative; list-style: none; cursor: pointer; padding: 1.3rem 2.6rem 1.3rem 0; font-size: .95rem; font-weight: 600; color: var(--azul-noche); }
.preguntas summary::-webkit-details-marker { display: none; }
.preguntas summary::after { content: "+"; position: absolute; top: 1.05rem; right: .25rem; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--azul-cielo); color: var(--azul-profundo); font-size: 1.2rem; }
.preguntas details[open] summary::after { content: "−"; background: var(--verde-lima); color: var(--azul-noche); }
.preguntas summary:hover { color: var(--azul-profundo); }
.pregunta__respuesta { padding: 0 2rem 1.4rem 0; color: var(--gris-texto); font-size: .92rem; }

/* Módulos compartidos con las páginas interiores y contacto. */
.franja-mision { padding-block: 3rem; border-bottom: 1px solid var(--gris-borde); background: white; }
.franja-mision__interior { max-width: 1040px; text-align: center; }
.franja-mision .etiqueta { justify-content: center; }
.franja-mision h2 { font-size: clamp(1.4rem, 2.25vw, 2.1rem); line-height: 1.4; }
.contacto { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; padding: clamp(2rem, 4.5vw, 4rem); background: var(--azul-profundo); border-radius: 1.25rem; color: white; border-top: 4px solid var(--verde-lima); }
.contacto h2 { max-width: 720px; font-size: clamp(1.75rem, 2.8vw, 2.4rem); }
.contacto .etiqueta { color: #e7f4ff; font-size: .66rem; }
.contacto p:not(.etiqueta) { color: #e3eff8; font-size: .95rem; }
.contacto > .boton { max-width: 22rem; overflow-wrap: anywhere; }
.contacto__correo { color: white; display: inline-flex; align-items: center; min-height: 44px; font-size: .9rem; overflow-wrap: anywhere; }
.contacto__accion { display: flex; flex-direction: column; align-items: center; gap: .9rem; }
.contacto__accion small { color: #e3eff8; }
.seccion--contacto { padding-top: 0; }

/* Footer */
.pie { background: var(--azul-noche); color: #cfdee7; padding: 3rem 0 0; }
.pie__cabecera { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding-bottom: 2rem; border-bottom: 1px solid #ffffff25; }
.pie__marca { color: white; font-weight: 700; font-size: 1.75rem; letter-spacing: -.05em; line-height: 1.3; margin-bottom: .4rem; }
.pie__marca span { color: var(--verde-lima); }
.pie__cabecera p:not(.pie__marca) { font-size: .8rem; }
.pie__cabecera .enlace-flecha { color: white; font-size: .85rem; overflow-wrap: anywhere; }
.pie__rejilla { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; padding-block: 2.5rem; }
.pie__rejilla h2 { color: white; font-size: .88rem; font-weight: 600; letter-spacing: 0; margin-bottom: .75rem; }
.pie__rejilla a { display: flex; align-items: center; min-height: 40px; width: fit-content; color: #c6dae6; font-size: .8rem; text-decoration: none; }
.pie__rejilla a:hover { color: white; text-decoration: underline; }
.pie__aviso { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #ffffff25; padding-block: 1.25rem; color: #baceD9; font-size: .68rem; }
.pie__aviso p { margin: 0; }
.pie__aviso a { display: inline-flex; align-items: center; min-height: 40px; color: white; }
.erreur { min-height: 55vh; padding-block: 5rem; text-align: center; }
.erreur .etiqueta, .erreur .grupo-botones { justify-content: center; }

@media (max-width: 1100px) {
  .navegacion { display: none; }
  .menu-movil { display: block; margin-left: auto; }
  .encabezado__interior { gap: 1rem; min-height: 78px; }
  .hero__interior { gap: 2rem; padding-block: 3rem; }
  .hero__foto-marco img, .hero__foto-marco video { height: 390px; }
  .hero__sello { padding: .9rem; max-width: 97%; }
  .hero__sello strong { font-size: .8rem; }
  .hero__sello div > span { font-size: .7rem; }
  .hero .grupo-botones { gap: .6rem; }
  .hero .boton { padding-inline: 1rem; font-size: .8rem; }
  .contacto { grid-template-columns: 1fr; gap: 1.5rem; }
  .contacto__accion { align-items: flex-start; }
  .tarjetas-entidad article { padding: 1.4rem; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 6rem; }
  .barra-utilidad__interior { justify-content: center; min-height: 31px; }
  .barra-utilidad p { font-size: .67rem; }
  .barra-utilidad nav { display: none; }
  .encabezado__interior { min-height: 74px; }
  .marca { width: 177px; }
  .encabezado__interior > .boton { display: none; }
  .hero__interior, .metodo-resumen, .editorial-personas, .bloque-editorial, .preguntas-inicio { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero__interior { padding-block: 2.5rem 1.7rem; gap: 2rem; }
  .hero h1 { font-size: clamp(2.45rem, 9.2vw, 3.7rem); }
  .hero .etiqueta { font-size: .65rem; }
  .hero__resumen { font-size: .96rem; }
  .hero__nota { font-size: .72rem; }
  .hero .grupo-botones { margin-top: 1.4rem; }
  .hero__visual { padding-left: 0; max-width: 520px; width: 100%; margin-inline: auto; }
  .hero__visual::before { right: -6px; width: 115px; height: 115px; border-width: 14px; }
  .hero__foto-marco { border-radius: 4rem .85rem .85rem .85rem; }
  .hero__foto-marco img, .hero__foto-marco video { height: 320px; object-position: center 42%; }
  .hero__sello { max-width: 94%; margin-left: .65rem; margin-top: -2.5rem; }
  .hero__sello strong { font-size: .79rem; }
  .hero figcaption { text-align: center; font-size: .6rem; }
  .hero__base > div { gap: .6rem; padding-block: 1rem; }
  .hero__base p { font-size: .65rem; line-height: 1.5; padding-inline: .35rem; }
  .hero__base span { display: block; margin: 0 0 .25rem; font-size: .85rem; }
  .encabezado-horizontal { display: block; margin-bottom: 1.5rem; }
  .encabezado-horizontal > p { margin-top: 1rem; }
  .encabezado-horizontal > a { margin-top: .6rem; }
  .solo-escritorio { display: none; }
  .accesos__rejilla, .tarjetas-entidad { grid-template-columns: 1fr; gap: 1rem; }
  .acceso { display: grid; grid-template-columns: 46px 1fr; column-gap: 1rem; padding: 1.25rem; }
  .acceso__icono { grid-row: span 2; align-self: center; }
  .acceso h3 { margin: 0 1.2rem .35rem 0; font-size: 1.05rem; }
  .acceso p { font-size: .82rem; max-width: 35ch; padding-right: .8rem; }
  .acceso__flecha { right: 1rem; top: 1.1rem; font-size: 1.1rem; }
  .metodo-resumen h2 br { display: none; }
  .foto-editorial img, .foto-editorial video { height: 360px; }
  .foto-editorial { padding-right: .6rem; }
  .editorial-personas > div { order: -1; }
  .tarjetas-entidad h3 { font-size: 1.2rem; }
  .tarjetas-entidad p { margin-bottom: .6rem; }
  .sigla { margin-bottom: 1rem; }
  .preguntas summary { font-size: .88rem; }
  .contacto { padding: 1.7rem; gap: 1.25rem; }
  .contacto .etiqueta { font-size: .6rem; }
  .contacto > .boton { width: 100%; }
  .pie__cabecera { align-items: flex-start; flex-direction: column; gap: .9rem; }
  .pie__rejilla { grid-template-columns: 1fr 1fr; column-gap: 1rem; row-gap: 2rem; }
  .pie__aviso { display: block; }
  .pie__aviso p + p { margin-top: .6rem; }
}
@media (max-width: 450px) {
  .hero .grupo-botones { flex-direction: column; }
  .hero .grupo-botones .boton { width: 100%; }
}
/* Sólo JS prepara bloques fuera de pantalla; el HTML base siempre es visible.
   El espacio se conserva y el foco por teclado revela el contenido de inmediato. */
@media (prefers-reduced-motion: no-preference) {
  .motion-pending:not(:focus-within) { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  .motion-pending { opacity: 1 !important; }
  .barra-utilidad, .encabezado, .pie, .grupo-botones, .seccion--contacto { display: none; }
  body { font-size: 10pt; }
  .contenedor { width: 100%; }
  .seccion { padding-block: 1rem; }
  .hero { background: white; color: black; }
  .hero h1 span, .hero p { color: black; }
  a { color: black; }
}
