/* Tipografía base */
body { line-height: 1.6; }
h1, h2, h3, h4, h5, h6 { line-height: 1.2; margin: 0 0 .5em 0; }

/* Tamaños fluidos */
p, li, span, label, .form-control, .form-control-inline {
  font-size: clamp(1rem, .35rem + 1vw, 1.1rem);
}
h6 { font-size: clamp(1rem, .77rem + .7vw, 1.1rem); font-weight: 500; }
h5 { font-size: clamp(1.2rem, .8rem + 1vw, 1.4rem); font-weight: 500; }
h4 { font-size: clamp(1.25rem, .85rem + 1.5vw, 1.6rem); font-weight: 500; }
h3 { font-size: clamp(1.3rem, .8rem + 2.2vw, 1.8rem); font-weight: 600; }
h2 { font-size: clamp(1.4rem, .8rem + 3.2vw, 2.2rem); font-weight: 600; }
h1 { font-size: clamp(1.5rem, .9rem + 4vw, 2.5rem); font-weight: 700; }

/* Párrafo destacado */
.lead { font-size: clamp(0.9rem, .9rem + 1vw, 1.1rem); line-height: 1.65; }

/* Botones / links (mantengo tus utilidades) */
.link-button { font-size: clamp(1rem, 1vw + .35rem, 1.1em); }
.btn-gentres-skill.font { font-size: clamp(1rem, 1vw + .35rem, 1.1rem); }
.btn-gentres-skill.btn-small { font-size: clamp(.95rem, 1vw + .35rem, 1.1rem); }
.btn-gentres-skill.extraSmall { font-size: clamp(.9rem, 1vw + .35rem, 1rem); }
.btn-gentres-skill.cta { font-size: clamp(1rem, 1vw + .35rem, 1.1rem); }

/* Layout original */
.main-padding { padding-right: 100px; padding-left: 100px; }
.div-height { height: 110px; }

/* Select2 */
.select2-no-search + .select2-container {
  width: clamp(150px, 100%, 300px) !important;
}

/* Solo layout responsivo (tipografía ya es fluida) */
@media (max-width: 1024px) {
  .main-padding { padding-right: 80px; padding-left: 80px; }
}
@media (max-width: 767px) {
  .main-padding { padding-right: 50px; padding-left: 50px; }
}
@media (max-width: 610px) {
  .main-padding { padding-right: 40px; padding-left: 40px; }
}
@media (max-width: 450px) {
  .main-padding { padding-right: 30px; padding-left: 30px; }
  .div-height { height: 100px; }
}