/* Escala fluida común: mínimos legibles y máximos del diseño original. */
:root {
  --tipo-seccion: clamp(42px, 4.576vw, 83.79px);
  --tipo-subtitulo: clamp(26px, 2.075vw, 38px);
  --tipo-cuerpo: clamp(15px, 1.0923vw, 20px);
  --tipo-boton: clamp(13px, 1.169vw, 21.413px);
  --alto-boton: clamp(38px, 2.84vw, 52px);
  --padding-boton: clamp(22px, 2.2vw, 40.3px);
  --icono-boton: clamp(16px, 1.42vw, 26px);
}
.hero-titulo { font-size: clamp(48px, 6.554vw, 120px); }
.proyectos-intro { font-size: clamp(44px, 7.12vw, 130.341px); }
.manifiesto-titulo { font-size: clamp(24px, 2.4588vw, 45px); line-height: 1.12; }
.proyectos-encabezado, .soluciones-titulo {
  font-size: var(--tipo-seccion);
  line-height: 1.22;
  letter-spacing: -.04em;
}
.proyecto-titulo, .soluciones-contenido h3 {
  font-size: var(--tipo-subtitulo);
  line-height: 1.3;
  letter-spacing: -.03em;
}
.manifiesto-parrafo, .proyecto-categoria, .soluciones-contenido p {
  font-size: var(--tipo-cuerpo);
  line-height: 1.45;
}
.cifra-numero { font-size: clamp(64px, 7vw, 110px); letter-spacing: -.04em; }
.cifra--centro .cifra-numero { line-height: .83; }
.cifra-descripcion { font-size: clamp(16px, 1.45vw, 22px); line-height: 1.3; }
.menu-boton, .boton-borde, .proyectos-boton, .soluciones-informes {
  font-size: var(--tipo-boton);
  line-height: 1;
  letter-spacing: -.01em;
}
.boton-borde, .proyectos-boton, .soluciones-informes {
  width: auto;
  height: var(--alto-boton);
  padding: 0 var(--padding-boton);
  gap: 8px;
}
.boton-borde img, .navbar .boton-borde svg,
.proyectos-boton svg, .soluciones-informes svg {
  width: var(--icono-boton);
  height: auto;
  flex-shrink: 0;
}
.menu-opciones a { font-size: clamp(14px, 1.0923vw, 20px); }
.proyecto-media .proyecto-hover-texto { font-size: var(--tipo-cuerpo); }
@media (max-width: 700px) {
  .hero-titulo { font-size: clamp(30px, 8.5vw, 59.5px); }
  .proyectos-intro { font-size: clamp(32px, 11vw, 77px); }
  .cifra-numero { font-size: clamp(64px, 10.3vw, 80px); }
  .navbar .boton-borde { padding-inline: 14px; }
}
@media (max-height: 610px) and (max-width: 680px) {
  .hero-titulo { font-size: clamp(26px, 7vw, 47.6px); }
}
