/* ==========================================================================
   css/pages/home.css — Home Page (index.html) Specific Styles
   ========================================================================== */

/* ──────────────────────────────────────────────────────────────────────────
   HERO SECTION
   ────────────────────────────────────────────────────────────────────────── */
.hero-section {
  position:   relative;
  min-height: 100vh;
  display:    flex;
  align-items: center;
  overflow:   hidden;
  background: var(--dark-bg);
}

.hero-canvas-wrap {
  position: absolute;
  inset:    0;
  z-index:  0;
}

#hero-canvas {
  width:  100%;
  height: 100%;
  display: block;
}

/* Gradient fade at bottom to merge into next section */
.hero-section::after {
  content:    '';
  position:   absolute;
  bottom:     0; left: 0; right: 0;
  height:     200px;
  background: linear-gradient(to bottom, transparent, var(--dark-bg));
  z-index:    1;
  pointer-events: none;
}

.hero-content {
  position:    relative;
  z-index:     2;
  text-align:  center;
  max-width:   920px;
  margin:      0 auto;
  padding-top: calc(var(--navbar-h) + clamp(5rem, 10vw, 9rem));
  padding-bottom: clamp(4rem, 8vw, 8rem);
}

.hero-eyebrow {
  display:        inline-flex;
  align-items:    center;
  gap:            var(--space-3);
  padding:        0.4rem 1.25rem;
  background:     var(--primary-glow-sm);
  border:         1px solid rgba(0, 243, 255, 0.18);
  border-radius:  var(--radius-full);
  font-family:    var(--font-mono);
  font-size:      var(--text-xs);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color:          var(--primary);
  margin-bottom:  var(--space-7);
}

.hero-eyebrow .pulse-dot {
  width:         8px;
  height:        8px;
  background:    var(--primary);
  border-radius: var(--radius-full);
  animation:     pulseDot 2s ease-in-out infinite;
}

@keyframes pulseDot {
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 0 0 rgba(0, 243, 255, 0.4); }
  50%       { opacity: 0.8; transform: scale(0.9); box-shadow: 0 0 0 6px rgba(0, 243, 255, 0); }
}

.hero-content h1 {
  font-size:     clamp(3rem, 6.5vw, 5.75rem);
  line-height:   1.05;
  margin-bottom: var(--space-6);
  background:    linear-gradient(135deg, #fff 20%, rgba(255,255,255,0.75) 50%, var(--primary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-content p.lead {
  font-size:     clamp(1.1rem, 2vw, 1.3rem);
  color:         var(--text-muted);
  max-width:     680px;
  margin:        0 auto var(--space-10);
  line-height:   1.75;
}

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

/* ──────────────────────────────────────────────────────────────────────────
   TRUST / STATS BANNER
   ────────────────────────────────────────────────────────────────────────── */
.trust-banner {
  background:    var(--dark-surface);
  border-top:    1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  padding:       clamp(2.5rem, 4vw, 4rem) 0;
}

.trust-banner .stat-block {
  position:   relative;
  padding:    var(--space-6) var(--space-8);
}

.trust-banner .stat-block:not(:last-child)::after {
  content:    '';
  position:   absolute;
  right:      0; top: 20%; bottom: 20%;
  width:      1px;
  background: rgba(255, 255, 255, 0.06);
}

/* ──────────────────────────────────────────────────────────────────────────
   FEATURED SERVICES PREVIEW
   ────────────────────────────────────────────────────────────────────────── */
.home-services .section-header {
  margin-bottom: var(--space-12);
}

/* ──────────────────────────────────────────────────────────────────────────
   CTA BAND
   ────────────────────────────────────────────────────────────────────────── */
.cta-band {
  background:
    radial-gradient(ellipse 60% 80% at 50% 50%, rgba(0, 243, 255, 0.07) 0%, transparent 70%),
    var(--dark-surface);
  border-top:    1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  text-align:    center;
  padding:       clamp(4rem, 7vw, 7rem) 0;
}

.cta-band h2    { margin-bottom: var(--space-4); }
.cta-band p     { max-width: 600px; margin: 0 auto var(--space-8); font-size: var(--text-lg); }

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