/* ====================================
   Youth Page – page-specific CSS
   ==================================== */

/* HERO LAYOUT */
.hero {
  display: grid;
  gap: 1.75rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .hero {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: center;
  }
}

/* HERO — Pill */
.pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border-radius: 999px;
  border: 1px solid rgba(192, 217, 255, 0.28);
  padding: 0.25rem 0.7rem 0.25rem 0.3rem;
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--accent-soft);
  background: radial-gradient(circle at top left, rgba(114,232,255,0.15), transparent 55%);
}

.pill-dot {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: radial-gradient(circle, var(--accent-neon), var(--accent-violet));
  box-shadow: 0 0 16px rgba(114,232,255,0.6);
}

/* HERO Title */
.hero-title {
  font-size: clamp(2.1rem, 5vw, 2.8rem);
  line-height: 1.1;
  margin: 0.6rem 0 0.75rem;
}
.hero-title .gradient {
  background: linear-gradient(120deg, var(--accent-neon), var(--accent-violet), var(--accent-pink));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* HERO Subtitle */
.hero-subtitle {
  font-size: 0.98rem;
  color: var(--text-muted);
  max-width: 32rem;
}
.hero-subtitle b {
  color: var(--accent-soft);
}

.hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.4rem;
  align-items: center;
}

/* FOOTNOTE */
.hero-footnote {
  font-size: 0.74rem;
  color: var(--text-muted);
  max-width: 30rem;
}

/* RIGHT HERO PANEL */
.hero-panel {
  border-radius: var(--radius-lg);
  border: 1px solid rgba(192,217,255,0.14);
  background:
    radial-gradient(circle at top, rgba(114,232,255,0.12), transparent 60%),
    radial-gradient(circle at bottom, rgba(168,121,255,0.16), transparent 60%),
    var(--bg-card);
  padding: 1.45rem 1.3rem;
  box-shadow: var(--shadow-soft);
  position: relative;
  overflow: hidden;
  font-size: 0.86rem;
  color: var(--text-muted);
}

.hero-panel-tag {
  font-size: 0.75rem;
  color: var(--accent-soft);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  margin-bottom: 0.4rem;
}

.hero-panel-main {
  font-size: 1rem;
  margin-bottom: 0.95rem;
}

/* Q99 Stats */
.q99-stat {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  font-size: 1.8rem;
  font-weight: 700;
  background: linear-gradient(130deg, var(--accent-neon), var(--accent-violet), var(--accent-pink));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.q99-stat .sm {
  font-size: 0.78rem;
  color: var(--accent-soft);
  background: none;
}

/* PANEL GRID */
.hero-panel-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 0.75rem;
}

/* CHIP ROW */
.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.4rem;
}
.chip {
  font-size: 0.72rem;
  border-radius: 999px;
  padding: 0.25rem 0.6rem;
  background: rgba(7,11,35,0.9);
  border: 1px solid rgba(192,217,255,0.18);
  color: var(--accent-soft);
}

/* Q-STEPS */
.qsteps {
  display: grid;
  gap: 0.85rem;
  margin-top: 0.9rem;
  font-size: 0.8rem;
}
.qstep {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
}
.qstep-badge {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: radial-gradient(circle, var(--accent-neon), var(--accent-violet));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.63rem;
  font-weight: 600;
  color: #050714;
  box-shadow: 0 0 16px rgba(114,232,255,0.5);
  flex-shrink: 0;
}

/* GRID SPACING FIX for Youth */
.grid-2,
.grid-3,
.grid-4 {
  gap: 0.95rem;
}

/* Youth-specific card background differences */
.card-soft {
  background: linear-gradient(
    150deg,
    rgba(15, 21, 60, 0.96),
    rgba(11, 16, 49, 0.98)
  ) !important;
}
