/* Ajustes editoriales y móviles solicitados. */
.services-kicker {
  font-size: clamp(0.94rem, 1.35vw, 1.22rem) !important;
  letter-spacing: 0.045em !important;
}

.services-lead {
  max-width: none !important;
  white-space: nowrap;
  font-size: clamp(0.82rem, 1.05vw, 1rem) !important;
  letter-spacing: -0.02em;
}

.industries-head p:first-child {
  font-size: clamp(0.9rem, 1.18vw, 1.08rem) !important;
  letter-spacing: 0.105em;
}

.industries-progress .industry-arrow {
  opacity: 1 !important;
  visibility: visible !important;
  color: #fff !important;
  filter: drop-shadow(0 2px 7px rgba(0, 0, 0, 0.72));
}

.industries-progress .industry-arrow::before {
  height: 2px !important;
  background: #fff !important;
}

.industries-progress .industry-arrow::after {
  border-color: #fff #fff transparent transparent !important;
}

.contact-fields select,
.contact-fields select option {
  background-color: #0a0a0a;
  color: #f4f4f1;
}

.contact-fields select:invalid,
.contact-fields select option:disabled {
  color: rgba(244, 244, 241, 0.52);
}

.site-footer-bottom {
  grid-template-columns: 1fr auto !important;
}

.site-footer-bottom > span:first-child,
.site-footer-bottom > a {
  grid-row: auto !important;
}

.site-footer-bottom > span:first-child {
  grid-column: 1 !important;
}

.site-footer-bottom > a {
  grid-column: 2 !important;
}

/* La segunda frase de portada ocupa su lugar desde el inicio: las líneas se
   escriben sin empujar el bloque ni entrar desde abajo. */
.cover-message-main {
  display: grid !important;
  align-content: center;
  filter: none !important;
  transform: none !important;
  transition: opacity 360ms ease !important;
}

.cover-message-line {
  position: relative;
  display: block !important;
  min-height: 0;
}

.cover-line-placeholder {
  display: block;
  visibility: hidden;
  pointer-events: none;
}

.cover-line-typed {
  position: absolute;
  inset: 0;
  display: block;
}

.cover-line-typed.is-typing::after {
  display: inline-block;
  width: 2px;
  height: 0.78em;
  margin-left: 0.09em;
  background: currentColor;
  content: "";
  vertical-align: -0.05em;
  animation: coverCaret 720ms step-end infinite;
}

.cover-title.is-final .cover-message-intro {
  filter: none !important;
  transform: none !important;
  transition: opacity 420ms ease !important;
}

.cover-title.is-final .cover-message-main,
.cover-title.is-resetting .cover-message-main {
  filter: none !important;
  transform: none !important;
}

@media (min-width: 761px) {
  .cover .board-column:nth-child(-n + 3) .media-card:nth-child(n + 7) {
    display: none;
  }
}

@media (max-width: 760px) {
  .cover .motion-board {
    inset: -8vh -10vw !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none;
    gap: 7px !important;
    padding: 0;
    opacity: 0.96 !important;
    transform: rotate(-1deg) scale(1.02) !important;
  }

  .cover::before {
    background:
      radial-gradient(circle at 50% 46%, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0.62) 100%),
      linear-gradient(180deg, rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.46)) !important;
  }

  .cover::after {
    background:
      linear-gradient(180deg, rgba(5, 5, 5, 0.16) 0%, transparent 30%, rgba(5, 5, 5, 0.08) 56%, rgba(5, 5, 5, 0.7) 82%, #050505 100%),
      radial-gradient(circle at 50% 46%, rgba(244, 240, 231, 0.05), transparent 36%) !important;
  }

  .cover .board-column {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: 116vh !important;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
  }

  .cover .board-column:nth-child(-n + 3) {
    display: block !important;
  }

  .cover .board-column:nth-child(n + 4) {
    display: none !important;
  }

  .cover .column-track,
  .cover .column-up .column-track,
  .cover .column-down .column-track {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    width: auto;
    height: auto;
    gap: 7px !important;
  }

  .cover .column-up .column-track {
    animation: columnUp 52s linear infinite !important;
  }

  .cover .column-down .column-track {
    animation: columnDown 54s linear infinite !important;
  }

  .cover .column-track .media-card,
  .cover .column-track .media-card:first-child {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: 4 / 5 !important;
    background-position: center;
    animation: none !important;
    transform: none !important;
  }

  .industries-progress .industry-arrow {
    width: 48px !important;
    height: 44px !important;
  }

  .services-kicker {
    margin-bottom: 16px !important;
    font-size: clamp(0.94rem, 4.3vw, 1.12rem) !important;
  }

  .services-lead {
    width: 100%;
    max-width: none !important;
    white-space: nowrap;
    font-size: clamp(0.58rem, 2.55vw, 0.7rem) !important;
    letter-spacing: -0.035em;
  }

  .industries-head {
    align-items: flex-start;
  }

  .industries-head p:first-child {
    flex: 0 0 auto;
    font-size: clamp(0.82rem, 3.7vw, 1rem) !important;
  }

  .industries-head p:last-child {
    padding-top: 2px;
  }

  .cover-message-main {
    display: grid !important;
    gap: 0.1em !important;
    align-content: center;
    width: 100% !important;
    max-width: 420px !important;
    min-height: 0;
  }

  .cover-title {
    width: calc(100vw - 16px) !important;
    max-width: 420px !important;
  }

  .cover-message-intro {
    font-size: clamp(2.15rem, 10vw, 2.72rem) !important;
  }

  .cover-message-line {
    display: block !important;
    min-height: 0;
    white-space: nowrap;
    text-wrap: nowrap;
    font-size: clamp(1.48rem, 6.75vw, 1.82rem) !important;
  }

  .site-footer-bottom {
    grid-template-columns: 1fr auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cover .column-track {
    animation: none !important;
  }
}
