/* ── hero.css ── */

.hero {
  background: var(--hero-bg); color: var(--white);
  text-align: center; padding: 100px 48px 112px;
  position: relative; overflow: hidden;
}
.hero::before {
  content: ''; position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(79,70,229,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79,70,229,.055) 1px, transparent 1px);
  background-size: 52px 52px; pointer-events: none;
}
.hero::after {
  content: ''; position: absolute; top: -60px; left: 50%; transform: translateX(-50%);
  width: 800px; height: 420px;
  background: radial-gradient(ellipse at center, rgba(99,102,241,.2) 0%, transparent 68%);
  pointer-events: none;
}

.hero-inner { position: relative; z-index: 1; max-width: 780px; margin: 0 auto; }

.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 11.5px; font-weight: 600; letter-spacing: .13em;
  text-transform: uppercase; color: var(--accent-hi); margin-bottom: 30px;
}
.hero-eyebrow::before, .hero-eyebrow::after {
  content: ''; display: block; width: 28px; height: 1px;
  background: var(--accent-hi); opacity: .5;
}

.hero h1 {
  font-family: var(--font-disp);
  font-size: clamp(40px, 5.8vw, 66px);
  font-weight: 700; line-height: 1.08; letter-spacing: -.025em;
  color: var(--white); margin-bottom: 20px;
}

.hero-sub {
  font-size: 17px; color: rgba(255,255,255,.48); line-height: 1.65;
  margin-bottom: 48px; max-width: 560px; margin-left: auto; margin-right: auto;
}

.hero-pills {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 48px;
}
.hero-pill {
  display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500;
  color: rgba(255,255,255,.65); background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1); border-radius: 100px; padding: 8px 18px;
}
.hero-pill::before {
  content: ''; width: 5px; height: 5px; border-radius: 50%;
  background: var(--accent-hi); flex-shrink: 0;
}

.hero-cta {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--accent); color: var(--white); font-family: var(--font-disp);
  font-size: 15px; font-weight: 600; padding: 15px 34px; border-radius: 100px;
  text-decoration: none;
  transition: background .18s var(--ease), transform .14s var(--ease), box-shadow .18s var(--ease);
}
.hero-cta:hover { background: var(--accent-hi); transform: translateY(-2px); box-shadow: 0 10px 36px rgba(79,70,229,.38); }
.hero-cta svg { transition: transform .18s var(--ease); }
.hero-cta:hover svg { transform: translateX(4px); }

@media (max-width: 720px) {
  .hero { padding: 72px 20px 84px; }
}
