/* Tipografía global */
html { font-size: 16px; } /* base estable */
p {
  font-size: 1rem;          /* 16px por defecto */
  line-height: 1.6;
}
@media (max-width: 992px) {
  p { font-size: 0.95rem; }  /* 15.2px */
}
@media (max-width: 768px) {
  p { font-size: 1rem; }     /* 16px en móviles para legibilidad */
}

/* Títulos de secciones .heading: tamaños fluidos y sin solapes */
.heading h1 {
  /* tamaño fluido entre 34px y 96px */
  font-size: clamp(34px, 6vw, 96px) !important;
  line-height: 1.15 !important;
  word-wrap: normal;
  overflow-wrap: anywhere;   /* evita desbordes extremos */
}
.heading h1 span {
  display: block;            /* ya lo tienes así, lo reforzamos */
  font-size: clamp(18px, 3vw, 48px) !important;
  line-height: 1.2 !important;
  margin-bottom: .25em;      /* separa de la línea principal */
}

/* Barrita decorativa bajo los H1: que no invada el texto */
.heading h1:after {
  margin-top: .4em;          /* más aire respecto a las líneas de texto */
}

/* Ajustes concretos de los breakpoints conflictivos del móvil/tablet */
@media (max-width: 992px) {
  .heading h1 { font-size: clamp(32px, 7vw, 72px) !important; }
  .heading h1 span { font-size: clamp(18px, 3.8vw, 40px) !important; }
}
@media (max-width: 768px) {
  .heading h1 { font-size: clamp(28px, 8vw, 56px) !important; }
  .heading h1 span { font-size: clamp(16px, 4.6vw, 32px) !important; }
}

/* Evitar que otras hojas reescriban el tamaño de P en móviles (Gumby) */
@media (max-width: 768px) {
  body p { font-size: 1rem !important; line-height: 1.65 !important; }
}

/* Navbar en sticky: previene saltitos verticales por padding distinto */
header.navbar.is-sticky .row { align-items: center; }
