/* ============================================
   FiestÓN.IA Corporativo — overrides
   Capa que se carga DESPUÉS de styles.css + sections.css.
   Hero (globo plexus + wordmark), franja de marcas y ajustes.
   ============================================ */

/* ── HERO ── */
.hero-corp { min-height: 92vh; overflow: hidden; }

/* Video de fondo (reel del evento) — bordes difuminados para que no se vea el rectángulo */
.hero-video {
  position: absolute;
  inset: -2px;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
  /* máscara que funde los 4 bordes del video al fondo (sin rectángulo visible) */
  -webkit-mask-image:
    linear-gradient(180deg, transparent 0%, #000 16%, #000 74%, transparent 100%),
    linear-gradient(90deg,  transparent 0%, #000 12%, #000 88%, transparent 100%);
  -webkit-mask-composite: source-in;
          mask-image:
    linear-gradient(180deg, transparent 0%, #000 16%, #000 74%, transparent 100%),
    linear-gradient(90deg,  transparent 0%, #000 12%, #000 88%, transparent 100%);
          mask-composite: intersect;
}
.hero-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .5;
}
.hero-video::after {
  content: "";
  position: absolute;
  inset: 0;
  /* viñeta extra para ayudar a la legibilidad del texto y fundir el centro */
  background:
    radial-gradient(ellipse 65% 55% at 50% 44%, transparent 0%, rgba(0,0,0,.35) 100%),
    linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.05) 40%, rgba(0,0,0,.7) 100%);
}
@media (prefers-reduced-motion: reduce) {
  .hero-video video { display: none; }
}

.hero-globe {
  position: absolute;
  inset: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: calc(.5 * var(--intensity));
  z-index: 0;
}
.hero-globe img {
  width: min(78vw, 720px);
  height: auto;
  filter: drop-shadow(0 0 60px rgba(31,230,196,.35));
  animation: globeFloat 14s ease-in-out infinite;
}
@keyframes globeFloat {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-14px) scale(1.025); }
}

.hero-corp .hero-content { position: relative; z-index: 2; }

.hero-wordmark {
  position: relative;
  display: block;
  margin: 0 auto 26px;
  width: clamp(280px, 52vw, 620px);
  line-height: 0;
}
.hero-wordmark-img {
  display: block;
  width: 100%;
  height: auto;
  /* PNG con fondo transparente (alpha por luminancia) — glow teal sutil */
  filter: drop-shadow(0 0 26px rgba(52,238,255,.32)) drop-shadow(0 0 54px rgba(31,230,196,.16));
}

.hero-h-corp {
  font-size: clamp(26px, 4.2vw, 56px) !important;
  font-weight: 700;
  gap: 4px !important;
  margin-bottom: 28px !important;
}
.hero-h-corp .gradient-text { display: inline; }

@media (max-width: 600px) {
  .hero-corp { min-height: 82vh; }
  .hero-globe img { width: 92vw; }
}

/* ── FRANJA DE MARCAS ── */
.brands {
  padding: 60px 0 40px;
  position: relative;
  z-index: 1;
}
.brands-head {
  text-align: center;
  margin-bottom: 40px;
}
.brands-head .eyebrow { display: block; margin-bottom: 14px; }
.brands-head h2 { font-size: clamp(26px, 3.4vw, 44px); }

.brands-marquee {
  overflow: hidden;
  width: 100%;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  padding: 10px 0;
}
.brands-track {
  display: inline-flex;
  align-items: center;
  gap: 56px;
  white-space: nowrap;
  will-change: transform;
  animation: brandsScroll 42s linear infinite;
}
.brands-track-rev { animation-direction: reverse; animation-duration: 50s; }
.brand-logo {
  height: clamp(26px, 3.4vw, 40px);
  width: auto;
  flex: 0 0 auto;
  object-fit: contain;
  opacity: .6;
  filter: brightness(0) invert(1);
  transition: opacity .25s var(--f-ease);
}
.brand-logo:hover { opacity: 1; }
@keyframes brandsScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .brands-track { animation: none; }
}

/* ── STATS: aguantar números/labels más largos ── */
.bn-num { line-height: 1; }
.bignum .bn-num { font-size: clamp(34px, 5vw, 64px); }
.bignum .bn-num .star { -webkit-text-fill-color: var(--f-teal); color: var(--f-teal); }
/* min-width:0 permite que las columnas del grid se achiquen y no fuercen el ancho de la página */
.bignum .bn-cell { min-width: 0; }
.bignum .bn-num { overflow-wrap: break-word; }
@media (max-width: 600px) {
  .bignum .bn-grid { gap: 12px; }
  .bignum .bn-cell { padding: 16px 4px; }
  .bignum .bn-num { font-size: clamp(22px, 7vw, 40px); }
  .bignum .bn-label { font-size: 11px; }
}

/* ── Línea de tiempo: dot teal coherente ── */
.tl-dot { box-shadow: 0 0 14px rgba(31,230,196,.6); }

/* ── Encuadres especiales por ítem ── */
.ph.ph--portrait {           /* tótem: vertical (tamaño de las fotos) */
  aspect-ratio: 5/6;
  max-width: 330px;
  margin-inline: auto;
}
.ph.ph--tall {               /* pulseras / sorteo: más alta para que entre la mano + pulsera */
  aspect-ratio: 3/4;
  max-width: 360px;
  margin-inline: auto;
}

/* ── Slideshow con flash (efectos IA / tótem) ── */
.ph-slideshow .phs-img {
  opacity: 0;
  transition: opacity .45s ease;
  z-index: 1;
}
.ph-slideshow .phs-img.is-active { opacity: 1; }
.ph-slideshow .phs-flash {
  position: absolute;
  inset: 0;
  background: #eafffb;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
  mix-blend-mode: screen;
}
.ph-slideshow .phs-flash.flash { animation: phsFlash .42s ease; }
@keyframes phsFlash {
  0%   { opacity: 0; }
  22%  { opacity: .9; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ph-slideshow .phs-img { transition: none; }
  .ph-slideshow .phs-flash { display: none; }
}
