/* Horbath Technologies — jerarquía tipográfica compartida */
:root {
  --hb-type-hero: 70px;
  --hb-type-section: 54px;
  --hb-type-lead: 21px;
  --hb-type-body: 18px;
  --hb-type-eyebrow: 15px;
  --hb-type-tag: 12px;
}

.horbath-home,
.talenthub-page,
.codeworks-page,
.datamind-v2 {
  font-family: "Quicksand", sans-serif;
  font-synthesis: none;
}

/* Etiquetas del hero: misma altura, ritmo y peso en las divisiones. */
.talenthub-page .th-hero-tag,
.codeworks-page .cw-hero-tag,
.horbath-home .cw-hero-tag,
.datamind-v2 .dm-hero-tag {
  min-height: 34px !important;
  padding: 0 16px !important;
  font-size: var(--hb-type-tag) !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  transition:
    color .3s ease,
    border-color .3s ease,
    background-color .3s ease,
    box-shadow .35s ease,
    transform .35s cubic-bezier(.16, 1, .3, 1) !important;
}

/* Mismo hover premium de TalentHub para las etiquetas de las tres divisiones. */
@media (hover: hover) and (pointer: fine) {
  .talenthub-page .th-hero-tag:hover,
  .horbath-home .cw-hero-tag:hover,
  .datamind-v2 .dm-hero-tag:hover {
    color: #fff !important;
    border-color: rgba(46, 202, 255, .55) !important;
    background: rgba(46, 202, 255, .1) !important;
    box-shadow: 0 8px 22px rgba(46, 202, 255, .1) !important;
    transform: translateY(-2px) !important;
  }
}

/* Subtítulos/eyebrows de sección. */
.horbath-home .hh-eyebrow,
.talenthub-page .th-eyebrow,
.codeworks-page .cw-kicker,
.datamind-v2 .eyebrow {
  font-size: var(--hb-type-eyebrow) !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Títulos principales. */
.horbath-home .hh-title,
.talenthub-page .th-title,
.codeworks-page .cw-hero h1,
.datamind-v2.dm-v5 .hero h1 {
  font-size: var(--hb-type-hero) !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  letter-spacing: -.045em !important;
}

/* Entradillas del hero. */
.horbath-home .hh-lead,
.talenthub-page .th-lead,
.codeworks-page .cw-hero-lead,
.datamind-v2.dm-v5 .hero .lead {
  font-size: var(--hb-type-lead) !important;
  line-height: 1.48 !important;
  font-weight: 500 !important;
}

/* Títulos de sección equivalentes. */
.horbath-home .hh-heading,
.talenthub-page .th-capability-title,
.talenthub-page .th-profiles-head h2,
.talenthub-page .th-process-head h2,
.talenthub-page .th-difference-head h2,
.talenthub-page .th-usecase-head h2,
.talenthub-page .th-faq-head h2,
.codeworks-page .cw-section-title,
.datamind-v2 .section h2 {
  font-size: var(--hb-type-section) !important;
  line-height: 1.08 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
}

/* Párrafos introductorios de sección. */
.horbath-home .hh-copy,
.talenthub-page .th-capability-copy,
.talenthub-page .th-profiles-head > p:not(.th-eyebrow),
.talenthub-page .th-process-head > p:not(.th-eyebrow),
.talenthub-page .th-difference-head > p:not(.th-eyebrow),
.codeworks-page .cw-section-copy,
.datamind-v2 .section-head > p:not(.eyebrow) {
  font-size: var(--hb-type-body) !important;
  line-height: 1.65 !important;
  font-weight: 500 !important;
}

@media (max-width: 1199px) {
  :root {
    --hb-type-hero: 58px;
    --hb-type-section: 46px;
  }
}

/* En tablet horizontal y laptop compacta, el Hero del Inicio necesita
   mayor presencia sin alcanzar todavía la escala completa de escritorio. */
@media (min-width: 768px) and (max-width: 1080px) {
  .horbath-home .hh-hero .hh-title,
  .talenthub-page .th-hero .th-title,
  .horbath-home .cw-hero h1,
  .datamind-v2.dm-v5 .hero h1 {
    font-size: 64px !important;
    line-height: 1.04 !important;
  }

  /* En tablet, DataMind sigue la misma lectura editorial de las otras
     divisiones: contenido alineado a la izquierda y visual centrado debajo. */
  body.datamind-v2.dm-v5 .hero-copy {
    width: 100% !important;
    max-width: 820px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }

  body.datamind-v2.dm-v5 .hero h1 {
    --dm-hero-title-size: 64px;
  }

  body.datamind-v2.dm-v5 .dm-hero-tags {
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.datamind-v2.dm-v5 .hero h1,
  body.datamind-v2.dm-v5 .hero .lead {
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }

  body.datamind-v2.dm-v5 .hero .actions,
  body.datamind-v2.dm-v5 .hero .tagline,
  body.datamind-v2.dm-v5 .hero .eyebrow {
    justify-content: flex-start !important;
  }

  body.datamind-v2.dm-v5 .hero .data-visual {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (max-width: 767px) {
  :root {
    --hb-type-hero: 40px;
    --hb-type-section: 36px;
    --hb-type-lead: 20px;
    --hb-type-body: 17px;
  }

  .horbath-home .hh-title,
  .talenthub-page .th-title,
  .codeworks-page .cw-hero h1,
  .datamind-v2.dm-v5 .hero h1 {
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
  }

  .horbath-home .hh-lead,
  .talenthub-page .th-lead,
  .codeworks-page .cw-hero-lead,
  .datamind-v2.dm-v5 .hero .lead {
    line-height: 1.4 !important;
  }

  .talenthub-page .th-hero-tag,
  .codeworks-page .cw-hero-tag,
  .datamind-v2 .dm-hero-tag {
    min-height: 32px !important;
    padding: 0 13px !important;
  }
}

@media (max-width: 374px) {
  :root {
    --hb-type-hero: 38px;
    --hb-type-section: 34px;
  }
}
