/* =============================================================================
   NEXILIA NETWORK — home.css
   Page-specific styles for index.html only.
   ============================================================================= */

/* -----------------------------------------------------------------------
   HERO
   ----------------------------------------------------------------------- */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: var(--nav-height);
  overflow: hidden;
}

.hero-inner {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-8) var(--space-6) var(--space-6);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr);
  align-items: center;
  gap: var(--space-8);
}

.hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.hero-eyebrow {
  font-family: var(--font-mono);
  font-size: 12.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gray);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  margin-bottom: var(--space-6);
  animation: heroBeat 700ms var(--ease-out) both;
}

.hero-eyebrow .hud-dot { animation: pulseDot 2s ease-in-out infinite; }
.hero-eyebrow .eyebrow-sep { color: var(--gray-dim); }
.hero-eyebrow #heroEyebrowPlayers { color: var(--white); }

.hero-title {
  font-size: clamp(48px, 5.6vw, 84px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.02;
  margin-bottom: var(--space-5);
}

.hero-title .line-1,
.hero-title .line-2 {
  display: block;
  animation: heroBeat 750ms var(--ease-out) both;
}
.hero-title .line-1 { animation-delay: 90ms; }
.hero-title .line-2 {
  animation: heroBeat 750ms var(--ease-out) both, gradientShift 6s ease-in-out infinite;
  animation-delay: 200ms, 0s;
  background: var(--gradient-primary);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-subtitle {
  font-size: clamp(15px, 1.3vw, 17.5px);
  color: var(--gray);
  max-width: 480px;
  line-height: 1.65;
  margin-bottom: var(--space-7);
  animation: heroBeat 700ms var(--ease-out) both;
  animation-delay: 320ms;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-9);
  flex-wrap: wrap;
  justify-content: flex-start;
  animation: heroBeat 700ms var(--ease-out) both;
  animation-delay: 420ms;
}

.hero-hud-wrap {
  width: 100%;
  max-width: 620px;
  animation: heroBeat 700ms var(--ease-out) both;
  animation-delay: 520ms;
}

/* -----------------------------------------------------------------------
   SIGNATURE VISUAL — "Nexilia Core" network emblem
   A hub-and-satellite graph rather than a generic icon or stock render:
   the fixed central hexagon is the server; the slowly-orbiting satellites
   are the community. Built entirely from SVG shapes, no image assets.
   ----------------------------------------------------------------------- */
.hero-emblem {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  filter: drop-shadow(0 0 60px rgba(138, 43, 226, 0.25));
}

.emblem-svg {
  width: 100%;
  height: auto;
  max-width: 460px;
  overflow: visible;
}

.emblem-orbit {
  transform-origin: 220px 220px;
  animation: emblemRotate 90s linear infinite, heroBeat 900ms var(--ease-out) both;
  animation-delay: 0s, 500ms;
}

.emblem-orbit line {
  stroke: rgba(176, 150, 255, 0.22);
  stroke-width: 1.2;
}

.emblem-node {
  fill: var(--gold);
  filter: drop-shadow(0 0 6px rgba(255, 200, 118, 0.8));
  transform-box: fill-box;
  transform-origin: center;
  opacity: 0;
  animation: heroBeat 500ms var(--ease-out) both, emblemNodePulse 3.4s ease-in-out infinite;
  animation-delay: calc(600ms + var(--node-delay, 0s) * 0.4), calc(900ms + var(--node-delay, 0s));
}

.emblem-core {
  fill: url(#emblemCoreGradient);
  stroke: rgba(248, 248, 248, 0.4);
  stroke-width: 1.5;
  stroke-dasharray: 440;
  filter: drop-shadow(0 0 30px rgba(138, 43, 226, 0.55));
  transform-box: fill-box;
  transform-origin: center;
  animation: emblemMaterialize 900ms var(--ease-out) 150ms both,
             emblemBreathe 5s ease-in-out 1100ms infinite;
}

.emblem-core-inner {
  fill: rgba(9, 11, 18, 0.55);
  stroke: rgba(248, 248, 248, 0.18);
  stroke-width: 1;
  animation: heroBeat 600ms var(--ease-out) both;
  animation-delay: 500ms;
}

@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { align-items: center; text-align: center; order: 2; }
  .hero-actions { justify-content: center; }
  .hero-emblem {
    order: 1;
    max-width: 240px;
    margin: 0 auto var(--space-6);
    filter: drop-shadow(0 0 36px rgba(138, 43, 226, 0.22));
  }
  .emblem-svg { max-width: 240px; }
}

/* Decorative center glow behind the headline */
.hero-glow {
  position: absolute;
  top: 8%;
  left: 50%;
  width: 640px;
  height: 640px;
  transform: translateX(-50%) translate3d(var(--pgx, 0px), var(--pgy, 0px), 0);
  background: radial-gradient(circle, rgba(138, 43, 226, 0.14) 0%, transparent 62%);
  z-index: 1;
  pointer-events: none;
}

.scroll-cue {
  position: absolute;
  bottom: var(--space-6);
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--gray-dim);
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.scroll-cue-line {
  width: 1px;
  height: 28px;
  background: linear-gradient(180deg, var(--gray-dim), transparent);
}

/* -----------------------------------------------------------------------
   TRUST BAR — real, data-driven credibility strip just under the hero
   ----------------------------------------------------------------------- */
.trust-bar-wrap {
  position: relative;
  z-index: 4;
  padding: var(--space-6) 0 var(--space-7);
}

.trust-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
  padding: var(--space-5) var(--space-6);
  border-radius: var(--radius-lg);
  flex-wrap: wrap;
}

.trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  flex: 1;
  min-width: 130px;
  text-align: center;
}

.trust-value {
  font-family: var(--font-mono);
  font-size: 21px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--white);
}

.trust-label {
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--gray-dim);
}

.trust-divider {
  width: 1px;
  height: 34px;
  background: var(--glass-border);
  flex-shrink: 0;
}

@media (max-width: 620px) {
  .trust-divider { display: none; }
  .trust-item { min-width: 40%; }
}

/* -----------------------------------------------------------------------
   NEWS PREVIEW GRID
   ----------------------------------------------------------------------- */
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

/* -----------------------------------------------------------------------
   FEATURES GRID (Store / Launcher / Discord teaser tiles)
   ----------------------------------------------------------------------- */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
}

/* -----------------------------------------------------------------------
   CTA BAND
   ----------------------------------------------------------------------- */
.cta-band {
  position: relative;
  border-radius: var(--radius-xl);
  padding: var(--space-9) var(--space-7);
  text-align: center;
  overflow: hidden;
}

.cta-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--cta-glow);
  opacity: 0.8;
  z-index: 0;
}

.cta-band-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta-band-title {
  font-size: clamp(26px, 3.6vw, 38px);
  max-width: 640px;
  margin-bottom: var(--space-3);
}

.cta-band-desc {
  color: var(--gray);
  max-width: 480px;
  margin-bottom: var(--space-6);
}

.cta-band-actions {
  display: flex;
  gap: var(--space-4);
  flex-wrap: wrap;
  justify-content: center;
}
