/* El contenido permanece visible aun si JavaScript o las animaciones no se ejecutan. */
.reveal { opacity: 1; transform: none; }

/* Margen lateral uniforme para que toda la composición respire. */
:root {
  --page-gutter: clamp(24px, 6vw, 96px);
  --content-edge: max(var(--page-gutter), calc(50vw - 620px));
}
.site-header,
.hero,
.section-pad,
footer { padding-inline: var(--page-gutter); }
.hero-index { right: var(--page-gutter); }

/* Evita que la portada se estire en pantallas excepcionalmente altas. */
@media (min-width: 941px) {
  .hero {
    height: min(100vh, 840px);
    padding-top: 128px;
    padding-bottom: 48px;
    gap: clamp(40px, 4vw, 64px);
  }
  .hero h1 { font-size: clamp(3.2rem, 4.8vw, 5rem); }
  .hero-system { height: 430px; }
  .site-header,
  .hero,
  footer {
    padding-inline: var(--content-edge);
  }
  .hero-index { right: var(--content-edge); }
}

/* Fondos de las líneas de negocio a todo el ancho; contenido contenido y alineado. */
.statement.section-pad {
  max-width: none;
  padding-inline: var(--content-edge);
}
.businesses.section-pad {
  padding-inline: 0;
  padding-bottom: 0;
}
.businesses > .section-heading {
  width: auto;
  max-width: none;
  margin-inline: var(--content-edge);
}
.business-card {
  max-width: none;
  margin-bottom: 0;
  padding-inline: var(--content-edge);
}

/* Información legal y domicilio fiscal en el pie de página. */
.footer-company p {
  margin: 0;
  color: #a9a4b5;
  max-width: 400px;
}
.footer-company address {
  margin-top: 22px;
  color: #8f899e;
  font-size: .82rem;
  font-style: normal;
  line-height: 1.7;
}
.footer-company address strong { color: #fff; }

/* Orden visual del ecosistema: Intelligence, Cloud y RNI. */
.n-di { left: 0; right: auto; top: 0; bottom: auto; }
.n-dc { right: -2%; top: 15%; bottom: auto; }
.n-rni { left: auto; right: 5%; top: auto; bottom: 0; }

@media (max-width: 580px) {
  .n-di { left: 0; right: auto; }
  .n-dc, .n-rni { left: auto; right: 0; }
}
