/* ============================================================
   EnaLisis — Home Page Styles
   ============================================================ */

/* Hero */
.hero {
  position: relative;
  min-height: calc(100vh - var(--nav-h));
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--black);
}
.hero-bg { position: absolute; inset: 0; background: linear-gradient(135deg, #000810 0%, #001a3d 40%, #002a5c 70%, #0078d4 100%); opacity: .92; }
.hero-grid {
  position: absolute; inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 60px, rgba(0,120,212,.06) 60px, rgba(0,120,212,.06) 61px),
    repeating-linear-gradient(90deg, transparent, transparent 60px, rgba(0,120,212,.06) 60px, rgba(0,120,212,.06) 61px);
}
.hero-img-wrap { position: absolute; right: 0; top: 0; bottom: 0; width: 52%; overflow: hidden; }
.hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; opacity: .35; filter: saturate(.4); }
.hero-img-overlay { position: absolute; inset: 0; background: linear-gradient(to right, #000810 0%, transparent 60%); }
.hero-content { position: relative; z-index: 2; max-width: var(--max-w); margin: 0 auto; padding: 80px 32px; width: 100%; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(0,120,212,.15); border: 1px solid rgba(0,120,212,.4);
  color: #60b4f0; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 99px; margin-bottom: 28px;
}
.hero-badge span { width: 6px; height: 6px; background: #60b4f0; border-radius: 50%; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.4; transform:scale(.8); } }
.hero h1 { font-family: var(--font-head); font-size: clamp(52px, 7vw, 96px); font-weight: 800; color: #fff; line-height: .95; letter-spacing: -1px; text-transform: uppercase; margin-bottom: 24px; }
.hero h1 em { font-style: normal; color: var(--blue); }
.hero-sub { font-size: 18px; color: rgba(255,255,255,.65); max-width: 540px; margin-bottom: 44px; font-weight: 300; line-height: 1.7; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.hero-stats { display: flex; gap: 48px; margin-top: 64px; flex-wrap: wrap; }
.stat-num { font-family: var(--font-head); font-size: 42px; font-weight: 800; color: #fff; line-height: 1; }
.stat-num span { color: var(--blue); }
.stat-label { font-size: 13px; color: rgba(255,255,255,.45); margin-top: 4px; text-transform: uppercase; letter-spacing: .08em; }

/* Ticker */
.ticker-wrap { overflow: hidden; background: var(--blue); padding: 10px 0; }
.ticker-inner { display: flex; animation: ticker 20s linear infinite; white-space: nowrap; }
.ticker-inner span { font-family: var(--font-head); font-size: 15px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: #fff; padding: 0 32px; }
.ticker-inner span.sep { color: rgba(255,255,255,.4); }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* Features strip */
.features-strip { padding: 80px 24px; background: var(--gray-50); }
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 48px; }
.feat-item { text-align: center; }
.feat-num { font-family: var(--font-head); font-size: 64px; font-weight: 800; color: var(--gray-100); line-height: 1; margin-bottom: -8px; letter-spacing: -2px; }
.feat-title { font-family: var(--font-head); font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--gray-900); margin-bottom: 8px; }
.feat-desc { font-size: 14px; color: var(--gray-500); line-height: 1.7; }

@media (max-width: 768px) {
  .hero h1 { font-size: 52px; }
  .hero-img-wrap { display: none; }
  .hero-stats { gap: 28px; }
}
