/* ATERRIZA EU — portada (hero con mapa): el mapa-constelación llena TODO el primer viewport.
 * Colores = los de tokens.css (carbón, amarillo, crema, salvia); no se redefine ninguno.
 * Sin tarjeta ni caja: el texto actual va directamente encima del mapa. */
.seccion-hero {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: calc(100vh - 4.2rem);
  min-height: calc(100svh - 4.2rem);
  display: flex; align-items: center;
  padding-bottom: var(--espacio-8);
}
.hero__envoltura { position: relative; z-index: 1; width: 100%; }

.hero__fondo {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 92%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 0, #000 92%, transparent 100%);
}
.hero__mapa, .hero__red { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

/* Scrim muy sutil (no una caja): solo aclara un poco el lado del texto para que el mapa no compita con él. */
.hero__fondo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgb(247 245 239 / .95) 0, rgb(247 245 239 / .9) 30%, rgb(247 245 239 / .3) 48%, rgb(247 245 239 / 0) 64%);
}
.hero__texto { text-shadow: 0 0 .9rem rgb(247 245 239 / .85), 0 0 .3rem rgb(247 245 239 / .8); }
.hero__texto .boton { text-shadow: none; }
@media (max-width: 899px) {
  .seccion-hero { align-items: flex-start; }
  .hero__fondo::after {
    background: linear-gradient(180deg, rgb(247 245 239 / .84) 0, rgb(247 245 239 / .8) 58%, rgb(247 245 239 / .25) 84%, rgb(247 245 239 / 0) 100%);
  }
}

/* Contraste AA: eyebrow en el verde oscuro del sistema (la salvia plana sobre crema no llega a 4,5:1)
 * y subtexto en carbón pleno sobre el mapa. */
.hero__lema { color: var(--color-carbon-70); }
.hero__subtexto { color: var(--color-carbon); }
