/* PuqunaLab — hoja de estilo del sitio publico.
   Todo valor de marca viene de tokens.css (generado desde tokens.json).
   Si un color o tamano no esta ahi, no deberia aparecer aca. */

/* ============================================================ base */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--pq-color-fondo-lienzo);
  color: var(--pq-color-texto-titulo);
  font-family: var(--pq-tipografia-familia-texto);
  font-size: var(--pq-tipografia-tamano-cuerpo-sm);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--pq-color-texto-marca);
  text-decoration: none;
  transition: color var(--pq-movimiento-rapido) var(--pq-movimiento-curva);
}
a:hover { color: var(--pq-color-texto-titulo); }

h1, h2, h3, p, figure { margin: 0; }
img { max-width: 100%; }

/* Hoja de simbolos SVG: existe en el DOM, no ocupa espacio */
.simbolos { position: absolute; width: 0; height: 0; overflow: hidden; }

:focus-visible {
  outline: 2px solid var(--pq-color-texto-marca);
  outline-offset: 3px;
  border-radius: 1px;
}

/* Salto al contenido: visible solo al tabular */
.saltar {
  position: absolute;
  left: -9999px;
  top: var(--pq-espacio-2);
  z-index: 100;
  background: var(--pq-color-fondo-lienzo);
  color: var(--pq-color-texto-titulo);
  font-size: var(--pq-tipografia-tamano-dato);
  padding: var(--pq-espacio-3) var(--pq-espacio-5);
  border: var(--pq-borde-hairline) solid var(--pq-color-linea-borde);
}
.saltar:focus { left: var(--pq-espacio-5); }

.contenedor {
  max-width: var(--pq-medida-contenedor);
  margin: 0 auto;
  padding-left: var(--pq-medida-margen);
  padding-right: var(--pq-medida-margen);
}

/* ============================================================ navegacion */
.nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: color-mix(in srgb, var(--pq-color-fondo-lienzo) 92%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: var(--pq-borde-hairline) solid var(--pq-color-linea-borde);
}

.nav__interior {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pq-espacio-6);
  padding-top: var(--pq-espacio-5);
  padding-bottom: var(--pq-espacio-5);
}

.marca {
  display: block;
  width: var(--pq-medida-wordmark);
  color: var(--pq-color-texto-marca);
  flex: none;
}
.marca svg { width: 100%; height: auto; display: block; }
.marca:hover { color: var(--pq-color-texto-marca); }

.nav__grupo {
  display: flex;
  align-items: center;
  gap: var(--pq-espacio-9);
}

.nav__enlace {
  font-size: var(--pq-tipografia-tamano-cuerpo-xs);
  color: var(--pq-color-texto-secundario);
  white-space: nowrap;
}
.nav__enlace:hover { color: var(--pq-color-texto-titulo); }

/* Enlace de accion: el subrayado verde es la unica "llamada" del sistema */
.enlace-accion {
  font-weight: var(--pq-tipografia-peso-medio);
  color: var(--pq-color-texto-titulo);
  border-bottom: var(--pq-borde-enfasis) solid var(--pq-color-texto-marca);
  padding-bottom: 2px;
  white-space: nowrap;
}
.enlace-accion:hover { color: var(--pq-color-texto-marca); }

/* --- selector de idioma --- */
.idiomas {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-left: var(--pq-espacio-2);
  margin-left: 2px;
  border-left: var(--pq-borde-hairline) solid var(--pq-color-linea-borde);
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-dato-xs);
  letter-spacing: var(--pq-tipografia-tracking-dato);
}

.idiomas__punto { color: var(--pq-color-linea-separador); }

.idiomas__boton {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
  letter-spacing: inherit;
  color: var(--pq-color-texto-tenue);
  font-weight: var(--pq-tipografia-peso-medio);
  transition: color var(--pq-movimiento-rapido) var(--pq-movimiento-curva);
}
.idiomas__boton:hover { color: var(--pq-color-texto-secundario); }
.idiomas__boton[aria-pressed="true"] {
  color: var(--pq-color-texto-titulo);
  font-weight: var(--pq-tipografia-peso-fuerte);
}

/* Boton de menu: solo existe en pantallas angostas */
.menu-boton {
  display: none;
  appearance: none;
  background: none;
  border: 0;
  padding: var(--pq-espacio-2);
  margin-right: calc(var(--pq-espacio-2) * -1);
  cursor: pointer;
  color: var(--pq-color-texto-titulo);
}
.menu-boton span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: currentColor;
  margin: 5px 0;
}

/* ============================================================ portada */
.portada {
  padding-top: var(--pq-espacio-29);
  padding-bottom: var(--pq-espacio-23);
}

.portada__titulo {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-hero);
  line-height: var(--pq-tipografia-interlinea-hero);
  letter-spacing: var(--pq-tipografia-tracking-hero);
  color: var(--pq-color-texto-titulo);
  max-width: var(--pq-texto-ancho-hero);
  text-wrap: balance;
}

.portada__bajada {
  font-size: var(--pq-tipografia-tamano-lede);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-cuerpo);
  max-width: var(--pq-texto-ancho-lede);
  margin-top: var(--pq-espacio-8);
}

.portada__accion {
  margin-top: 38px;
}
.portada__accion .enlace-accion {
  font-size: var(--pq-tipografia-tamano-cuerpo);
  padding-bottom: 3px;
}

/* ============================================================ secciones */
.seccion {
  padding-top: var(--pq-espacio-15);
  padding-bottom: var(--pq-espacio-15);
  scroll-margin-top: 86px;
}

.seccion__encabezado {
  display: flex;
  align-items: baseline;
  gap: var(--pq-espacio-5);
  border-top: var(--pq-borde-hairline) solid var(--pq-color-linea-regla);
  padding-top: var(--pq-espacio-5);
  margin-bottom: var(--pq-espacio-10);
}
.seccion--tabla .seccion__encabezado { margin-bottom: var(--pq-espacio-3); }

.seccion__numero {
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-dato);
  font-weight: var(--pq-tipografia-peso-medio);
  color: var(--pq-color-texto-marca);
  flex: none;
}

.seccion__titulo {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-titulo);
  letter-spacing: var(--pq-tipografia-tracking-titulo);
  color: var(--pq-color-texto-titulo);
}

/* Enunciado grande: gris, y en tinta solo lo que importa */
.enunciado {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-normal);
  font-size: var(--pq-tipografia-tamano-enunciado);
  line-height: var(--pq-tipografia-interlinea-enunciado);
  letter-spacing: var(--pq-tipografia-tracking-enunciado);
  color: var(--pq-color-texto-secundario);
  max-width: var(--pq-texto-ancho-enunciado);
}
.enunciado b {
  color: var(--pq-color-texto-titulo);
  font-weight: var(--pq-tipografia-peso-fuerte);
}

/* ============================================================ filas */
.fila {
  display: grid;
  gap: var(--pq-espacio-9);
  align-items: start;
  padding: var(--pq-espacio-7) var(--pq-espacio-3);
  border-bottom: var(--pq-borde-hairline) solid var(--pq-color-linea-borde);
  transition: background var(--pq-movimiento-rapido) var(--pq-movimiento-curva);
}
.fila:hover { background: var(--pq-color-fondo-sutil); }

.fila--servicio { grid-template-columns: var(--pq-medida-col-servicio) 1fr; }
.fila--proyecto {
  grid-template-columns: var(--pq-medida-col-proyecto) 1fr var(--pq-medida-col-area);
  gap: var(--pq-espacio-7);
}

.fila__nombre {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-item);
  letter-spacing: var(--pq-tipografia-tracking-enunciado);
  color: var(--pq-color-texto-titulo);
}

/* Proyecto con ficha propia: el nombre lleva a su pagina. La flecha es la
   unica senal de que hay mas; el nombre conserva el color de los demas. */
.fila__enlace {
  color: inherit;
  display: inline-flex;
  align-items: baseline;
  gap: var(--pq-espacio-2);
}
.fila__enlace:hover { color: var(--pq-color-texto-marca); }

.fila__flecha {
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-cuerpo-sm);
  color: var(--pq-color-texto-marca);
  transition: transform var(--pq-movimiento-rapido) var(--pq-movimiento-curva);
}
.fila__enlace:hover .fila__flecha { transform: translate(2px, -2px); }

.fila__texto {
  font-size: var(--pq-tipografia-tamano-cuerpo-sm);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-cuerpo);
  max-width: var(--pq-texto-ancho-parrafo);
}
.fila--proyecto .fila__texto { font-size: var(--pq-tipografia-tamano-tabla); }

.fila__area { text-align: right; }
.etiqueta {
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-dato-xs);
  letter-spacing: var(--pq-tipografia-tracking-dato);
  text-transform: uppercase;
  color: var(--pq-color-texto-marca);
}

/* ============================================================ redes */
.seccion--redes { padding-bottom: var(--pq-espacio-5); }

.redes__bajada {
  font-size: var(--pq-tipografia-tamano-cuerpo);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-cuerpo);
  max-width: var(--pq-texto-ancho-parrafo-sm);
  margin: 0 0 var(--pq-espacio-10);
}

.redes__logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--pq-espacio-16);
  padding: var(--pq-espacio-2) 0;
}
/* A color y ligeramente atenuados, como en el diseno: acompanan, no compiten. */
.redes__logos img {
  width: auto;
  opacity: .72;
}

/* alturas opticas: cada logo pesa distinto, se igualan a ojo */
.logo--uchile   { height: 102px; }
.logo--utem     { height: 88px; }
.logo--novandino{ height: 40px; }
.logo--butalebu { height: 50px; }
.logo--fiel     { height: 46px; opacity: .8; }

/* ============================================================ cierre */
.cierre {
  background: var(--pq-color-fondo-profundo);
  margin-top: var(--pq-espacio-16);
}

.cierre__interior {
  position: relative;
  padding-top: var(--pq-espacio-22);
  padding-bottom: var(--pq-espacio-23);
}

.cierre__isotipo {
  position: absolute;
  top: var(--pq-espacio-10);
  right: var(--pq-medida-margen);
  width: var(--pq-medida-isotipo);
  color: var(--pq-color-sobre-profundo-titulo);
}
.cierre__isotipo svg { width: 100%; height: auto; display: block; }

.cierre__titulo {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-titulo-xl);
  line-height: var(--pq-tipografia-interlinea-titulo);
  letter-spacing: var(--pq-tipografia-tracking-titulo-xl);
  color: var(--pq-color-sobre-profundo-titulo);
  max-width: var(--pq-texto-ancho-titulo);
}

.cierre__bajada {
  font-size: var(--pq-tipografia-tamano-cuerpo-lg);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-sobre-profundo-cuerpo);
  max-width: var(--pq-texto-ancho-parrafo-xs);
  margin-top: var(--pq-espacio-6);
}

.cierre__datos {
  margin-top: var(--pq-espacio-9);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--pq-espacio-9);
}

.cierre__correo {
  font-size: var(--pq-tipografia-tamano-cuerpo-lg);
  font-weight: var(--pq-tipografia-peso-medio);
  color: var(--pq-color-sobre-profundo-titulo);
  border-bottom: var(--pq-borde-enfasis) solid var(--pq-color-sobre-profundo-tenue);
  padding-bottom: 3px;
}
.cierre__correo:hover { color: var(--pq-color-base-blanco); }

.cierre__lugar {
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-dato-sm);
  letter-spacing: var(--pq-tipografia-tracking-dato-ancho);
  color: var(--pq-color-sobre-profundo-tenue);
}

.cierre :focus-visible { outline-color: var(--pq-color-sobre-profundo-titulo); }

/* ============================================================ ficha de proyecto
   Pagina interior (sitio/proyectos/*.html). Reutiliza nav, seccion, banda de
   cierre y pie de la portada; agrega solo lo que la ficha trae de nuevo:
   antetitulo, parrilla de cifras y filas etiqueta/detalle. */

/* La ficha no lleva menu: el unico enlace vuelve a la portada. */
.nav__volver {
  font-size: var(--pq-tipografia-tamano-cuerpo-xs);
  color: var(--pq-color-texto-secundario);
  white-space: nowrap;
}
.nav__volver:hover { color: var(--pq-color-texto-titulo); }

.ficha {
  padding-top: var(--pq-espacio-26);
  padding-bottom: var(--pq-espacio-20);
}

.ficha__meta {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--pq-espacio-3);
  margin-bottom: var(--pq-espacio-6);
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-dato-xs);
  text-transform: uppercase;
}

.ficha__clave {
  font-weight: var(--pq-tipografia-peso-medio);
  letter-spacing: var(--pq-tipografia-tracking-dato-amplio);
  color: var(--pq-color-texto-marca);
}

.ficha__contexto {
  letter-spacing: var(--pq-tipografia-tracking-dato);
  color: var(--pq-color-texto-tenue);
}

.ficha__titulo {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-titulo-ficha);
  line-height: var(--pq-tipografia-interlinea-titulo);
  letter-spacing: var(--pq-tipografia-tracking-hero);
  color: var(--pq-color-texto-titulo);
  max-width: var(--pq-texto-ancho-titulo);
  text-wrap: balance;
}

.ficha__bajada {
  font-size: var(--pq-tipografia-tamano-lede);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-cuerpo);
  max-width: var(--pq-texto-ancho-parrafo);
  margin-top: var(--pq-espacio-8);
}

/* Parrafo de seccion: el que abre o cierra una lista */
.ficha__parrafo {
  font-size: var(--pq-tipografia-tamano-cuerpo);
  line-height: var(--pq-tipografia-interlinea-parrafo);
  color: var(--pq-color-texto-cuerpo);
  max-width: var(--pq-texto-ancho-ficha);
}
.ficha__parrafo + .ficha__lista,
.ficha__parrafo + .filas { margin-top: var(--pq-espacio-5); }

/* Enunciado en escala de ficha */
.enunciado--sm {
  font-size: var(--pq-tipografia-tamano-enunciado-sm);
  max-width: var(--pq-texto-ancho-enunciado-lg);
}
.enunciado + .ficha__parrafo,
.enunciado--sm + .ficha__parrafo { margin-top: var(--pq-espacio-7); }

/* --- parrilla de cifras --- */
.cifras {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--pq-espacio-8);
}

.cifra { border-top: var(--pq-borde-hairline) solid var(--pq-color-linea-borde); padding-top: var(--pq-espacio-4); }

.cifra__valor {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-cifra);
  line-height: 1;
  letter-spacing: var(--pq-tipografia-tracking-cifra);
  color: var(--pq-color-texto-titulo);
}
/* La primera cifra es la del problema: va en verde para marcar la comparacion */
.cifra--marca .cifra__valor { color: var(--pq-color-texto-marca); }

.cifra__glosa {
  font-size: var(--pq-tipografia-tamano-cifra-pie);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-secundario);
  margin-top: var(--pq-espacio-3);
}

/* --- filas etiqueta / detalle --- */
.fila--ficha {
  grid-template-columns: var(--pq-medida-col-ficha) 1fr;
  padding-left: 0;
  padding-right: 0;
}
.fila--ficha:hover { background: none; }
.filas .fila--ficha:last-child { border-bottom: 0; }

.fila__etiqueta {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-fuerte);
  font-size: var(--pq-tipografia-tamano-item-sm);
  letter-spacing: var(--pq-tipografia-tracking-enunciado);
  color: var(--pq-color-texto-titulo);
}
.filas--densa .fila__etiqueta { font-size: var(--pq-tipografia-tamano-item-xs); }
.filas--densa .fila--ficha { padding-top: var(--pq-espacio-6); padding-bottom: var(--pq-espacio-6); }

.fila__detalle {
  font-size: var(--pq-tipografia-tamano-cuerpo-sm);
  line-height: var(--pq-tipografia-interlinea-ficha);
  color: var(--pq-color-texto-cuerpo);
  max-width: var(--pq-texto-ancho-ficha);
}

/* Lista de modulos: dos columnas de items cortos, sin vinetas */
.modulos {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px var(--pq-espacio-8);
  max-width: var(--pq-texto-ancho-ficha);
  font-size: var(--pq-tipografia-tamano-cuerpo-sm);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-cuerpo);
}

.nota {
  font-size: var(--pq-tipografia-tamano-cuerpo-xs);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-secundario);
  margin-top: var(--pq-espacio-4);
}

/* Remate: la frase que fija el criterio, en verde */
.remate {
  font-family: var(--pq-tipografia-familia-display);
  font-weight: var(--pq-tipografia-peso-medio);
  font-size: var(--pq-tipografia-tamano-cuerpo-lg);
  line-height: var(--pq-tipografia-interlinea-cuerpo);
  color: var(--pq-color-texto-marca);
  max-width: var(--pq-texto-ancho-parrafo-sm);
  margin-top: var(--pq-espacio-4);
}

/* --- banda oscura intercalada --- */
.banda {
  background: var(--pq-color-fondo-profundo);
  margin: var(--pq-espacio-6) 0;
}

.banda__interior {
  position: relative;
  padding-top: var(--pq-espacio-19);
  padding-bottom: var(--pq-espacio-20);
}

.banda__isotipo {
  position: absolute;
  top: 34px;
  right: var(--pq-medida-margen);
  width: 42px;
  color: var(--pq-color-sobre-profundo-titulo);
}
.banda__isotipo svg { width: 100%; height: auto; display: block; }

/* Sobre oscuro la regla se atenua y la jerarquia cambia de familia de color */
.banda .seccion__encabezado {
  border-top-color: color-mix(in srgb, var(--pq-color-sobre-profundo-titulo) 22%, transparent);
  margin-bottom: var(--pq-espacio-9);
}
.banda .seccion__numero { color: var(--pq-color-sobre-profundo-tenue); }
.banda .seccion__titulo { color: var(--pq-color-sobre-profundo-titulo); }

.banda .enunciado {
  color: var(--pq-color-sobre-profundo-cuerpo);
  max-width: var(--pq-texto-ancho-enunciado-md);
}
.banda .enunciado b { color: var(--pq-color-sobre-profundo-titulo); }

.banda .ficha__parrafo {
  color: var(--pq-color-sobre-profundo-secundario);
  margin-top: var(--pq-espacio-7);
}

.banda :focus-visible { outline-color: var(--pq-color-sobre-profundo-titulo); }

/* --- cierre en escala de ficha --- */
.cierre--ficha .cierre__interior {
  padding-top: var(--pq-espacio-20);
  padding-bottom: var(--pq-espacio-21);
}
.cierre--ficha .cierre__titulo {
  font-size: var(--pq-tipografia-tamano-titulo-cta);
  max-width: var(--pq-texto-ancho-titulo-lg);
}

/* ============================================================ pie */
.pie { border-top: var(--pq-borde-hairline) solid var(--pq-color-linea-borde); }

.pie__interior {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: var(--pq-espacio-8);
  padding-top: 46px;
  padding-bottom: 46px;
}

.pie__derecha { text-align: right; }

.pie__lema {
  font-size: var(--pq-tipografia-tamano-dato);
  color: var(--pq-color-texto-cuerpo);
}

.pie__credito {
  font-family: var(--pq-tipografia-familia-mono);
  font-size: var(--pq-tipografia-tamano-credito);
  letter-spacing: var(--pq-tipografia-tracking-dato);
  text-transform: uppercase;
  color: var(--pq-color-texto-tenue);
  margin-top: var(--pq-espacio-2);
}

/* ============================================================ adaptable */

/* Tablet: la navegacion completa ya no cabe */
@media (max-width: 1040px) {
  .menu-boton { display: block; order: 3; }

  .nav__grupo {
    display: none;
    order: 4;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--pq-espacio-5);
    padding: var(--pq-espacio-2) 0 var(--pq-espacio-6);
  }
  .nav__grupo[data-abierto="true"] { display: flex; }

  .nav__interior { flex-wrap: wrap; }

  .idiomas {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
    padding-top: var(--pq-espacio-4);
    border-top: var(--pq-borde-hairline) solid var(--pq-color-linea-borde);
    width: 100%;
  }
}

/* Movil: las tablas dejan de ser tablas */
@media (max-width: 820px) {
  .fila--servicio,
  .fila--proyecto {
    grid-template-columns: 1fr;
    gap: var(--pq-espacio-3);
    padding-left: 0;
    padding-right: 0;
  }
  .fila:hover { background: none; }

  .fila__area { text-align: left; }
  .fila--proyecto .fila__area { order: -1; margin-bottom: 2px; }

  .portada { padding-top: 76px; padding-bottom: var(--pq-espacio-16); }
  .cierre__interior { padding-top: var(--pq-espacio-16); padding-bottom: var(--pq-espacio-16); }
  .cierre__isotipo { position: static; margin-bottom: var(--pq-espacio-8); }

  .redes__logos { gap: var(--pq-espacio-10); }
  .logo--uchile { height: 74px; }
  .logo--utem   { height: 64px; }
  .logo--butalebu { height: 40px; }
  .logo--novandino, .logo--fiel { height: 34px; }

  /* --- ficha --- */
  .ficha { padding-top: var(--pq-espacio-14); padding-bottom: var(--pq-espacio-11); }
  .ficha__bajada { font-size: var(--pq-tipografia-tamano-cuerpo-lg); }

  /* Las cifras pasan a 2x2: cuatro en fila dejan numeros de dos digitos apretados */
  .cifras { grid-template-columns: 1fr 1fr; gap: var(--pq-espacio-7) var(--pq-espacio-5); }

  .fila--ficha {
    grid-template-columns: 1fr;
    gap: var(--pq-espacio-2);
    padding-top: var(--pq-espacio-6);
    padding-bottom: var(--pq-espacio-6);
  }

  .modulos { grid-template-columns: 1fr; gap: var(--pq-espacio-2); }

  .banda__interior { padding-top: var(--pq-espacio-13); padding-bottom: var(--pq-espacio-14); }
  .banda__isotipo { position: static; margin-bottom: var(--pq-espacio-6); }

  .cierre--ficha .cierre__interior {
    padding-top: var(--pq-espacio-16);
    padding-bottom: var(--pq-espacio-16);
  }
}

@media (max-width: 680px) {
  .contenedor {
    padding-left: var(--pq-medida-margen-movil);
    padding-right: var(--pq-medida-margen-movil);
  }
  .marca { width: 150px; }
  .pie__interior { align-items: flex-start; }
  .pie__derecha { text-align: left; }
}

/* Respeto por quien pide menos movimiento */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* Impresion: sin nav, sin fondos oscuros que gasten tinta */
@media print {
  .nav, .menu-boton, .idiomas { display: none; }
  .cierre { background: none; margin-top: var(--pq-espacio-8); }
  .cierre__titulo, .cierre__correo { color: var(--pq-color-texto-titulo); }
  .cierre__bajada, .cierre__lugar { color: var(--pq-color-texto-cuerpo); }
  .cierre__isotipo { color: var(--pq-color-texto-marca); }
  a { color: var(--pq-color-texto-titulo); }
}
