/* =============================================================
   HOME.CSS — Pantalla "Home" (Cliff and Company)
   Layout y estilos exclusivos de esta pantalla.
   Desktop es la referencia (reglas base, sin prefijo de media).
   Los bloques @media (max-width: 1023px) contienen los overrides
   de tablet/mobile únicamente.
   ============================================================= */


/* ===== Hero (Banner) ===== */
.hero {
  position: relative;
  height: 541px;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-black);
}

.hero__bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__contrast-panel {
  position: absolute;
  top: 35.29%;
  left: 1.72%;
  width: 24.09%;
  height: 30.68%;
  border-radius: 12px;
  background-color: rgba(0, 0, 0, 0.35);
}

.hero__title {
  position: absolute;
  top: 41.63%;
  left: 4.42%;
  z-index: 1;
}

.hero__title p {
  font-family: var(--font-heading);
  font-weight: bold;
  line-height: 1;
  color: var(--color-white);
  white-space: nowrap;
}

.hero__title p:first-child {
  font-size: 42px;
}

.hero__title p:last-child {
  margin-top: var(--space-2);
  font-size: 38px;
  color: var(--color-gray-text);
}

.hero__title-accent {
  color: var(--color-brand-yellow);
}

.hero__subtitle {
  position: absolute;
  top: 75.19%;
  left: 5.06%;
  z-index: 1;
  max-width: 239px;
  font-family: var(--font-alt);
  font-size: 15px;
  line-height: normal;
  font-weight: bold;
  color: var(--color-off-white);
}

.hero__cta {
  position: absolute;
  top: 79.29%;
  left: 4.05%;
  z-index: 1;
  width: 195px;
  height: 82px;
}

.hero__cta span {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--color-black);
}

.hero__chat {
  position: absolute;
  top: 75.24%;
  left: 90.16%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background-color: var(--color-brand-yellow);
}

.hero__chat img {
  width: 50%;
  height: 50%;
}

.hero__seal {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

@media (max-width: 1023px) {
  .hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 420px;
    height: auto;
    padding: var(--space-8) 5%;
  }
  .hero__contrast-panel {
    display: none;
  }
  .hero__title {
    position: relative;
    top: auto;
    left: auto;
  }
  .hero__title p:first-child {
    font-size: 28px;
    white-space: normal;
  }
  .hero__title p:last-child {
    font-size: 24px;
    white-space: normal;
  }
  .hero__subtitle {
    position: relative;
    top: auto;
    left: auto;
    margin-top: var(--space-3);
  }
  .hero__cta {
    position: relative;
    top: auto;
    left: auto;
    margin-top: 20px;
    width: 160px;
    height: 56px;
  }
  .hero__chat {
    top: 16px;
    left: auto;
    right: 16px;
    width: 56px;
    height: 56px;
  }
  .hero__seal {
    display: none;
  }
}

/* ===== Hero Cards ===== */
.hero-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  background-color: var(--color-white);
  padding: var(--space-6) 3.84%;
}

.hero-cards__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 313px;
  overflow: hidden;
  border-radius: 16px;
  background-color: var(--color-black);
  padding: 0 9.43%;
  color: var(--color-white);
}

.hero-cards__photo {
  position: absolute;
  inset: 0 0 0 auto;
  height: 100%;
  object-fit: cover;
}

.hero-cards__card--1 .hero-cards__photo { width: 35%; }
.hero-cards__card--2 .hero-cards__photo { width: 45%; }

.hero-cards__card--3 .hero-cards__photo {
  position: absolute;
  inset: 0;
  left: 35%;
  width: auto;
  height: 100%;
  object-fit: contain;
  object-position: right;
}

.hero-cards__watermark {
  pointer-events: none;
  position: absolute;
  top: 50%;
  left: 36%;
  width: 64px;
  height: 64px;
  transform: translateY(-50%);
  opacity: 0.7;
}

.hero-cards__title {
  position: relative;
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: bold;
  line-height: 0.86;
}

.hero-cards__title-accent {
  color: var(--color-brand-yellow);
}

.hero-cards__text {
  position: relative;
  margin-top: var(--space-4);
  max-width: 220px;
  font-family: var(--font-body);
  font-size: 18px;
  line-height: normal;
}

.hero-cards__cta {
  position: relative;
  margin-top: var(--space-4);
  padding: var(--space-2) var(--space-4);
  font-size: 13px;
}

.hero-cards__caption {
  grid-row: 2;
  margin-top: -8px;
  padding: 0 3.84%;
  font-family: var(--font-heading);
  font-size: 13px;
  font-weight: bold;
  color: var(--color-black);
}

.hero-cards__caption--1 { grid-column: 1; }
.hero-cards__caption--2 { grid-column: 2; font-family: var(--font-alt); font-size: 17px; }
.hero-cards__caption--3 { grid-column: 3; }

@media (max-width: 1023px) {
  .hero-cards {
    grid-template-columns: 1fr;
  }
  .hero-cards__caption {
    grid-row: auto;
    grid-column: auto;
  }
}

/* ===== Mission (Bloque2) ===== */
.mission {
  display: grid;
  height: 492px;
  width: 100%;
  overflow: hidden;
  background-color: var(--color-black);
}

.mission__photo {
  grid-column: 1;
  grid-row: 1;
  width: 75.05%;
  height: 100%;
  object-fit: cover;
  justify-self: start;
}

.mission__diagonal {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  clip-path: polygon(60% 0, 100% 0, 100% 100%, 68% 100%);
}

.mission__diagonal-fill {
  width: 100%;
  height: 100%;
  background-color: var(--color-black);
}

.mission__title {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  justify-self: start;
  margin-left: 21.69%;
}

.mission__title p {
  font-family: var(--font-heading);
  font-weight: bold;
  line-height: 1;
  color: var(--color-white);
  white-space: nowrap;
}

.mission__title p:first-child {
  font-size: 70px;
}

.mission__title p:last-child {
  margin-top: var(--space-2);
  font-size: 63px;
  color: var(--color-gray-text);
}

.mission__title-accent {
  color: var(--color-brand-yellow);
}

.mission__aside {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  width: 280px;
  margin-right: 4.32%;
  color: var(--color-white);
}

.mission__logo {
  height: 38px;
  width: auto;
}

.mission__lede {
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: normal;
}

.mission__copy {
  margin-top: var(--space-3);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: normal;
}

.mission__cta {
  margin-top: var(--space-4);
  padding: var(--space-2) var(--space-4);
}

.mission__cta span {
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--color-black);
}

.mission__cta img {
  width: 16px;
  height: 16px;
}

@media (max-width: 1023px) {
  .mission {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .mission__photo {
    width: 100%;
    height: 220px;
  }
  .mission__diagonal {
    display: none;
  }
  .mission__title {
    align-self: auto;
    justify-self: auto;
    margin-left: 0;
    padding: var(--space-6) 6%;
  }
  .mission__title p:first-child {
    font-size: 32px;
    white-space: normal;
  }
  .mission__title p:last-child {
    font-size: 28px;
    white-space: normal;
  }
  .mission__aside {
    align-self: auto;
    justify-self: auto;
    width: auto;
    margin-right: 0;
    padding: 0 6% var(--space-8);
  }
}

/* ===== Advisory (Bloque4) ===== */
.advisory {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--color-near-black);
}

.advisory__media {
  position: relative;
  order: 1;
  width: 40%;
}

.advisory__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.advisory__badge {
  position: absolute;
  top: 34.66%;
  left: 35.4%;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 57.2%;
  height: 25.13%;
  padding: 0 var(--space-4);
}

.advisory__badge img:first-child {
  width: 24px;
  height: 24px;
}

.advisory__badge-text {
  font-family: var(--font-body);
  font-size: 24px;
  line-height: 1.15;
  color: var(--color-dark-text);
}

.advisory__badge img:last-child {
  width: 16px;
  height: 16px;
}

.advisory__status {
  position: absolute;
  top: 55.47%;
  left: 58.45%;
  z-index: 1;
  font-family: var(--font-body);
  color: var(--color-white);
}

.advisory__status p:first-child {
  font-size: 12px;
}

.advisory__status p:last-child {
  margin-top: var(--space-3);
  font-size: 14px;
}

.advisory__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  max-width: 720px;
  padding: 0 89px;
}

.advisory__heading {
  font-family: var(--font-heading);
  font-size: 63px;
  font-weight: bold;
  line-height: 0.854;
  white-space: nowrap;
  color: var(--color-white);
}

.advisory__heading-accent {
  color: var(--color-brand-yellow);
}

.advisory__icon-row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.advisory__icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex-shrink: 0;
}

.advisory__icon-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.advisory__icon img:last-child {
  position: relative;
  width: 24px;
  height: 24px;
}

.advisory__icon-label {
  font-family: var(--font-body);
  font-size: 26px;
  font-weight: bold;
  color: var(--color-white);
}

.advisory__text {
  margin-top: var(--space-6);
  font-family: var(--font-body);
  font-size: 19px;
  line-height: normal;
  color: var(--color-white);
}

.advisory__text + .advisory__text {
  margin-top: var(--space-4);
}

.advisory__cta-mobile,
.advisory__status-mobile {
  display: none;
}

@media (max-width: 1023px) {
  .advisory {
    flex-direction: column;
    padding: var(--space-8) 6%;
  }
  .advisory__media {
    order: -1;
    width: auto;
    margin-bottom: var(--space-6);
  }
  .advisory__photo {
    height: 220px;
  }
  .advisory__badge,
  .advisory__status {
    display: none;
  }
  .advisory__content {
    max-width: none;
    padding: 0;
  }
  .advisory__heading {
    font-size: 32px;
    line-height: 0.95;
    white-space: normal;
  }
  .advisory__icon-label {
    font-size: 19px;
  }
  .advisory__text {
    font-size: 16px;
  }
  .advisory__cta-mobile {
    position: relative;
    z-index: 1;
    display: inline-flex;
    margin-top: var(--space-6);
    padding: var(--space-3) var(--space-6);
  }
  .advisory__cta-mobile img {
    flex-shrink: 0;
  }
  .advisory__cta-mobile img:first-child {
    width: 24px;
    height: 24px;
  }
  .advisory__cta-mobile img:last-child {
    width: 16px;
    height: 16px;
  }
  .advisory__cta-mobile-text {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.15;
    color: var(--color-dark-text);
  }
  .advisory__status-mobile {
    position: relative;
    z-index: 1;
    display: block;
    margin-top: var(--space-2);
    font-family: var(--font-body);
    color: var(--color-white);
  }
  .advisory__status-mobile p:first-child {
    font-size: 12px;
  }
  .advisory__status-mobile p:last-child {
    margin-top: 4px;
    font-size: 14px;
  }
}

/* ===== Certifications (Bloque5) — composición muy densa y anclada a
   ancho de escritorio; en tablet/mobile se conserva íntegra mediante
   scroll horizontal en lugar de reflow. ===== */
.certifications-scroll {
  overflow-x: visible;
  background-color: var(--color-black);
}

.certifications {
  position: relative;
  width: 100%;
  height: 476px;
  overflow: hidden;
  background-color: var(--color-black);
}

@media (max-width: 1023px) {
  .certifications-scroll {
    overflow-x: auto;
  }
  .certifications {
    min-width: 1788px;
  }
}

/* ===== Lab / LAPEC (Boque6) ===== */
.lab {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--color-black);
}

.lab__media {
  position: relative;
  order: 1;
  width: 54%;
}

.lab__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lab__glow {
  pointer-events: none;
  position: absolute;
  top: 70.9%;
  left: 60%;
  height: 25.85%;
  opacity: 0.7;
  filter: blur(6px);
}

.lab__seal {
  position: absolute;
  top: 73.2%;
  left: 62.6%;
  height: 21.9%;
}

.lab__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  max-width: 900px;
  padding: 0 89px;
}

.lab__heading {
  font-family: var(--font-heading);
  font-size: 63px;
  font-weight: bold;
  line-height: 1.05;
  white-space: nowrap;
  color: var(--color-white);
}

.lab__heading-accent {
  color: var(--color-brand-yellow);
}

.lab__text {
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-white);
}

.lab__meta {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.lab__meta-rule {
  width: 1px;
  height: 32px;
}

.lab__meta-text {
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--color-white);
}

@media (max-width: 1023px) {
  .lab {
    flex-direction: column;
    padding: var(--space-8) 6%;
  }
  .lab__media {
    order: -1;
    width: auto;
    margin-bottom: var(--space-6);
  }
  .lab__photo {
    height: 220px;
  }
  .lab__glow,
  .lab__seal {
    display: none;
  }
  .lab__content {
    max-width: none;
    padding: 0;
  }
  .lab__heading {
    font-size: 32px;
    line-height: 1.1;
    white-space: normal;
  }
  .lab__text {
    font-size: 16px;
  }
  .lab__meta-text {
    font-size: 13px;
  }
}

/* ===== Needs (Bloque7) ===== */
.needs {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--color-black);
}

.needs__photo {
  order: 1;
  width: 47.7%;
  object-fit: cover;
}

.needs__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  max-width: 700px;
  padding: 0 97px;
}

.needs__heading {
  font-family: var(--font-heading);
  font-size: 59px;
  font-weight: bold;
  line-height: 1.15;
  color: var(--color-white);
}

.needs__heading-accent {
  color: var(--color-brand-yellow);
}

.needs__subheading {
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: 22px;
  color: var(--color-white);
}

.needs__subheading-accent {
  color: var(--color-brand-yellow);
}

.needs__list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--space-8);
  row-gap: var(--space-3);
  margin-top: var(--space-6);
}

.needs__list-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: 16px;
  white-space: nowrap;
  color: var(--color-white);
}

.needs__list-item img {
  width: 20px;
  height: 20px;
}

.needs__note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: 16px;
  color: var(--color-white);
}

.needs__note img {
  flex-shrink: 0;
  margin-top: 4px;
  width: 20px;
  height: 20px;
}

.needs__note-accent {
  color: var(--color-brand-yellow);
}

.needs__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.needs__tag {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: 16px;
  white-space: nowrap;
  color: var(--color-brand-yellow);
}

.needs__tag img {
  width: 20px;
  height: 20px;
}

.needs__tag-label {
  color: var(--color-white);
}

@media (max-width: 1023px) {
  .needs {
    flex-direction: column;
    padding: var(--space-8) 6%;
  }
  .needs__photo {
    order: -1;
    margin-bottom: var(--space-6);
    width: 100%;
    height: 220px;
  }
  .needs__content {
    max-width: none;
    padding: 0;
  }
  .needs__heading {
    font-size: 30px;
  }
  .needs__subheading {
    font-size: 17px;
  }
}

/* ===== Brand DNA (Bloque8-ADN) ===== */
.brand-dna {
  position: relative;
  width: 100%;
  height: 1236px;
  overflow: hidden;
  background-color: var(--color-black);
}

.brand-dna__title {
  position: absolute;
  top: 15.678%;
  left: 6.541%;
  font-family: var(--font-heading);
  font-weight: bold;
  font-size: 58px;
  line-height: 1.1;
}

.brand-dna__title-line {
  display: block;
  white-space: nowrap;
}

.brand-dna__title-white {
  color: var(--color-white);
}

.brand-dna__title-accent {
  color: var(--color-brand-yellow);
}

.brand-dna__center {
  position: absolute;
  top: 36.122%;
  left: 41.453%;
  width: 327px;
  height: 327px;
}

.brand-dna__ring {
  position: absolute;
  inset: 0;
  border: 3px dashed var(--color-brand-yellow);
  border-radius: 50%;
}

.brand-dna__disc {
  position: absolute;
  inset: 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #3a3a38, #0d0d0c 75%);
}

.brand-dna__mark {
  width: 90px;
  height: auto;
}

.brand-dna__mark-label {
  font-family: var(--font-heading);
  font-weight: bold;
  font-size: 34px;
  color: var(--color-brand-yellow);
}

.brand-dna__icon {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border: 1px solid var(--color-brand-yellow);
  border-radius: 50%;
  background-color: var(--color-near-black);
  color: var(--color-brand-yellow);
}

.brand-dna__icon svg {
  width: 26px;
  height: 26px;
}

.brand-dna__icon--top {
  top: 12.5%;
  left: 46.753%;
}

.brand-dna__icon--bottom {
  bottom: 14.5%;
  left: 46.753%;
}

.brand-dna__icon--left {
  top: 50.5%;
  left: 33.5%;
}

.brand-dna__icon--right {
  top: 46.4%;
  right: 17.9%;
}

.brand-dna__bubble {
  position: absolute;
  padding: var(--space-4) var(--space-6);
  border-radius: 20px;
  background-color: rgba(27, 27, 26, 0.92);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  color: var(--color-white);
}

.brand-dna__accent {
  color: var(--color-brand-yellow);
}

.brand-dna__bubble--top {
  top: 16.5%;
  left: 38.2%;
  width: 420px;
}

.brand-dna__bubble--left {
  top: 34%;
  left: 15%;
  width: 355px;
}

.brand-dna__bubble--right {
  top: 35%;
  left: 60.5%;
  width: 345px;
}

.brand-dna__bubble--bottom {
  top: 66.5%;
  left: 30%;
  width: 660px;
}

@media (max-width: 1023px) {
  .brand-dna {
    height: auto;
    padding: var(--space-8) var(--space-4);
  }
  .brand-dna__title {
    position: relative;
    top: auto;
    left: auto;
    font-size: 32px;
  }
  .brand-dna__title-line {
    white-space: normal;
  }
  .brand-dna__center {
    position: relative;
    top: auto;
    left: auto;
    margin: var(--space-8) auto;
  }
  .brand-dna__icon {
    display: none;
  }
  .brand-dna__bubble {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: var(--space-4);
  }
}

/* ===== Safety (Bloque9) ===== */
.safety {
  position: relative;
  width: 100%;
  height: 961px;
  overflow: hidden;
  background-color: var(--color-black);
}

.safety__photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.safety__gradient {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 36.15%;
  background: linear-gradient(to top, var(--color-black) 13.174%, rgba(0, 0, 0, 0) 76.647%);
}

.safety__heading {
  position: absolute;
  top: 68.696%;
  left: 12.153%;
  font-family: var(--font-heading);
  font-weight: bold;
  font-size: 73px;
  line-height: 1.05;
  color: var(--color-white);
}

.safety__heading-line {
  display: block;
  white-space: nowrap;
}

.safety__heading-accent {
  color: var(--color-brand-yellow);
}

.safety__card {
  position: absolute;
  top: 19.164%;
  left: 56.777%;
  right: 9.872%;
  padding: var(--space-6);
  border-radius: 16px;
  background-color: rgba(27, 27, 26, 0.85);
}

.safety__card-intro {
  font-family: var(--font-body);
  font-weight: bold;
  font-size: 22px;
  color: var(--color-white);
}

.safety__card-heading {
  margin-top: var(--space-2);
  font-family: var(--font-body);
  font-weight: bold;
  font-size: 22px;
  color: var(--color-brand-yellow);
}

.safety__card-list {
  margin-top: var(--space-4);
  counter-reset: safety-list;
}

.safety__card-list li {
  position: relative;
  margin-top: var(--space-3);
  padding-left: 32px;
  font-family: var(--font-body);
  font-size: 22px;
  color: var(--color-white);
}

.safety__card-list li::before {
  counter-increment: safety-list;
  content: counter(safety-list);
  position: absolute;
  left: 0;
  top: -3px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--color-brand-yellow);
  border-radius: 50%;
  font-family: var(--font-body);
  font-weight: bold;
  font-size: 15px;
  color: var(--color-brand-yellow);
}

.safety__diagram {
  position: absolute;
  inset: 0;
}

.safety__diagram-arrow {
  position: absolute;
  top: 47.4492%;
  right: 9.2422%;
  left: 54.1455%;
  width: 36.61%;
  height: 292px;
}

.safety__diagram-curve {
  position: absolute;
  width: 100px;
  filter: drop-shadow(0 0 6px rgba(255, 206, 0, 0.5));
}

.safety__diagram-curve--left {
  top: 54%;
  left: 63%;
}

.safety__diagram-curve--right {
  top: 54%;
  left: 79%;
}

.safety__diagram-curve--h {
  top: 81.5%;
  left: 74.5%;
  width: 90px;
  z-index: 1;
}

.safety__diagram-center {
  position: absolute;
  top: 63%;
  left: 66.758%;
  width: 340px;
  text-align: center;
  font-family: var(--font-body);
  font-size: 30px;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--color-white);
}

.safety__diagram-accent {
  color: #ebc330;
}

.safety__pill {
  position: absolute;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--color-brand-yellow);
  border-radius: 999px;
  background-color: rgba(27, 27, 26, 0.85);
  font-family: var(--font-body);
  font-size: 26px;
  white-space: nowrap;
  color: var(--color-white);
}

.safety__pill b {
  font-weight: bold;
  color: var(--color-brand-yellow);
}

.safety__pill-icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  color: var(--color-brand-yellow);
}

.safety__pill--empresa {
  top: 54.589%;
  left: 71.441%;
}

.safety__pill--calzado {
  top: 78.36%;
  left: 59.779%;
}

.safety__pill--lab {
  top: 78.36%;
  left: 82.352%;
}

@media (max-width: 1023px) {
  .safety {
    height: auto;
    padding-bottom: var(--space-8);
  }
  .safety__photo {
    position: relative;
    height: 320px;
  }
  .safety__gradient {
    display: none;
  }
  .safety__heading {
    position: relative;
    top: auto;
    left: auto;
    margin-top: var(--space-4);
    padding: 0 var(--space-4);
    font-size: 36px;
  }
  .safety__card {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    margin: var(--space-6) var(--space-4) 0;
  }
  .safety__card-intro,
  .safety__card-heading,
  .safety__card-list li {
    font-size: 16px;
  }
  .safety__diagram {
    position: relative;
    height: 420px;
    min-width: 700px;
    margin-top: var(--space-6);
  }
  .safety__diagram-center {
    font-size: 20px;
  }
  .safety__pill {
    font-size: 16px;
    padding: var(--space-1) var(--space-3);
  }
  .safety__pill-icon {
    width: 22px;
    height: 22px;
  }
  .safety {
    overflow-x: auto;
  }
}

/* ===== Areas (Bloque10) ===== */
.areas {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--color-black);
}

.areas__photo {
  order: 1;
  width: 49.6%;
  object-fit: cover;
}

.areas__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
  max-width: 1220px;
  padding: 0 154px;
}

.areas__heading {
  font-family: var(--font-heading);
  font-size: 65px;
  font-weight: bold;
  line-height: 1.03;
  white-space: nowrap;
  color: var(--color-white);
}

.areas__heading-accent {
  color: var(--color-brand-yellow);
}

.areas__subheading {
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: 24px;
  white-space: nowrap;
  color: var(--color-white);
}

.areas__subheading-accent {
  color: var(--color-brand-yellow);
}

.areas__text {
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: 21px;
  line-height: normal;
  color: var(--color-white);
}

.areas__note {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  margin-top: var(--space-6);
  font-family: var(--font-body);
  font-size: 19px;
  color: var(--color-white);
}

.areas__note img {
  flex-shrink: 0;
  margin-top: 4px;
  width: 20px;
  height: 20px;
}

.areas__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-top: var(--space-4);
}

.areas__list-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: 16px;
  white-space: nowrap;
  color: var(--color-white);
}

.areas__list-item img {
  width: 20px;
  height: 20px;
}

.areas__list-item-accent {
  color: var(--color-brand-yellow);
}

@media (max-width: 1023px) {
  .areas {
    flex-direction: column;
    padding: var(--space-8) 6%;
  }
  .areas__photo {
    order: -1;
    margin-bottom: var(--space-6);
    width: 100%;
    height: 220px;
  }
  .areas__content {
    max-width: none;
    padding: 0;
  }
  .areas__heading {
    font-size: 30px;
    line-height: 1.1;
    white-space: normal;
  }
  .areas__subheading {
    font-size: 17px;
    white-space: normal;
  }
  .areas__text {
    font-size: 16px;
  }
}

/* ===== Learn (Bloque11) ===== */
.learn {
  position: relative;
  height: 992px;
  overflow: hidden;
  background-color: var(--color-black);
}

.learn__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.learn__intro {
  position: absolute;
  top: 6.6%;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  text-align: center;
  white-space: nowrap;
}

.learn__intro p:first-child {
  font-family: var(--font-heading);
  font-size: 22px;
  color: var(--color-white);
}

.learn__intro p:last-child {
  font-family: var(--font-heading);
  font-size: 35px;
  font-weight: bold;
  color: var(--color-brand-yellow-alt);
}

.learn__cards {
  display: flex;
  align-items: center;
  height: 992px;
}

.learn__card {
  position: relative;
  z-index: 1;
  display: block;
  height: 47.75%;
  width: 13.67%;
  margin-left: 16.2%;
  overflow: hidden;
  border-radius: 16px;
}

.learn__card--tall {
  height: 58.5%;
  width: 16.75%;
  margin-left: 12.53%;
}

.learn__card--right {
  margin-left: 9.72%;
}

.learn__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.learn__card-label {
  position: absolute;
  bottom: 32px;
  left: 16px;
  font-family: var(--font-display);
  line-height: 0.9;
  white-space: nowrap;
}

.learn__card-label span {
  display: block;
  font-size: 32px;
}

.learn__card-label span:last-child {
  font-size: 26px;
}

.learn__card-label--yellow {
  color: var(--color-brand-yellow);
}

.learn__card-label--white {
  color: var(--color-white);
}

.learn__card-label--xl {
  font-size: 52px !important;
}

.learn__cta {
  position: absolute;
  top: 81.8%;
  left: 40.5%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 20.6%;
  height: 10.8%;
}

.learn__cta img:first-child {
  height: 24px;
}

.learn__cta span {
  font-family: var(--font-body);
  font-size: 16px;
  white-space: nowrap;
  color: var(--color-black);
}

.learn__cta img:last-child {
  width: 16px;
  height: 16px;
}

@media (max-width: 1023px) {
  .learn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-6);
    height: auto;
    padding: 40px 6%;
  }
  .learn__bg {
    display: none;
  }
  .learn__intro {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
  .learn__intro p:first-child {
    font-size: 16px;
  }
  .learn__intro p:last-child {
    font-size: 26px;
  }
  .learn__cards {
    flex-direction: column;
    gap: var(--space-6);
    height: auto;
    width: 100%;
  }
  .learn__card {
    width: 100%;
    height: 220px;
    margin-left: 0;
  }
  .learn__card--tall {
    height: 260px;
    width: 100%;
  }
  .learn__cta {
    position: relative;
    top: auto;
    left: auto;
    width: fit-content;
    height: 64px;
    padding: 0 var(--space-6);
  }
}

/* ===== Store (Bloque12) ===== */
.store {
  display: grid;
  width: 100%;
  height: 694px;
  overflow: hidden;
  background-color: var(--color-black);
}

.store__bg {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store__content {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: start;
  margin-top: 501px;
  margin-left: 6.97%;
}

.store__title {
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: bold;
  white-space: nowrap;
  color: var(--color-white);
}

.store__subtitle {
  margin-top: 4px;
  font-family: var(--font-heading);
  font-size: 18px;
  white-space: nowrap;
  color: var(--color-white);
}

.store__cta {
  margin-top: var(--space-4);
  padding: var(--space-3) var(--space-6);
}

.store__cta img {
  width: 20px;
  height: 20px;
}

.store__cta span {
  font-family: var(--font-body);
  font-size: 17px;
  white-space: nowrap;
  color: var(--color-black);
}

@media (max-width: 1023px) {
  .store {
    height: 420px;
  }
  .store__content {
    margin-top: 303px;
  }
  .store__title {
    font-size: 26px;
  }
  .store__subtitle {
    font-size: 14px;
  }
}
