/* Escala compartida para los encabezados principales.
   Inicio y Reserva conservan sus composiciones propias como referencias. */
[data-page-type="service"] .hero,
[data-page-type="service-hub"] .hero,
[data-page-type="success"] .hero {
  padding-top: 46px;
  padding-bottom: 64px;
}

[data-page-type="service"] .hero h1,
[data-page-type="service-hub"] .hero h1,
[data-page-type="success"] .hero h1,
[data-page-type="contact"] .contact-hero h1 {
  font-size: clamp(46px, 4.6vw, 68px);
  line-height: 1.01;
  letter-spacing: -.045em;
}

[data-page-type="service"] .hero-copy,
[data-page-type="service-hub"] .hero-copy,
[data-page-type="success"] .hero-copy,
[data-page-type="contact"] .contact-hero p {
  font-size: 18px;
  line-height: 1.58;
}

[data-page-type="service"] .hero-photo,
[data-page-type="service-hub"] .hero-photo {
  height: 560px;
  min-height: 0;
  max-height: 560px;
}

[data-page-type="blog-index"] .editorial-hero h1,
[data-page-type="article"] .article-hero h1 {
  max-width: 920px;
  font-size: clamp(46px, 5.2vw, 72px);
  line-height: 1.02;
}

@media (max-width: 980px) {
  [data-page-type="service"] .hero,
  [data-page-type="service-hub"] .hero,
  [data-page-type="success"] .hero {
    padding-top: 34px;
    padding-bottom: 52px;
  }

  [data-page-type="service"] .hero-photo,
  [data-page-type="service-hub"] .hero-photo {
    height: 480px;
    max-height: 480px;
  }
}

@media (max-width: 620px) {
  [data-page-type="service"] .hero,
  [data-page-type="service-hub"] .hero,
  [data-page-type="success"] .hero {
    padding-top: 28px;
    padding-bottom: 44px;
  }

  [data-page-type="service"] .hero h1,
  [data-page-type="service-hub"] .hero h1,
  [data-page-type="success"] .hero h1,
  [data-page-type="contact"] .contact-hero h1,
  [data-page-type="blog-index"] .editorial-hero h1,
  [data-page-type="article"] .article-hero h1 {
    font-size: clamp(39px, 11vw, 48px);
    line-height: 1.04;
  }

  [data-page-type="service"] .hero-copy,
  [data-page-type="service-hub"] .hero-copy,
  [data-page-type="success"] .hero-copy,
  [data-page-type="contact"] .contact-hero p {
    font-size: 16px;
  }

  [data-page-type="service"] .hero-photo,
  [data-page-type="service-hub"] .hero-photo {
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 980px) {
  .service-page[data-page-type="service"] .hero-photo {
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
  }
}
