/* Homepage additions; shared marketing sections keep their existing styles. */
.hero-sports-focus {
  display: block;
  margin-top: 1.25rem;
  font-size: .46em;
  letter-spacing: -.02em;
  line-height: 1.3;
}
.hero-bottom-row { flex-wrap: wrap; }
.ecosystem-staggered-column,
.ecosystem-staggered-mobile-header { min-width: 0; }
.ecosystem-staggered-meta-left { min-width: 0; }
.home-intro { margin: 100px 0 0; padding: 0 3.5rem; }
.home-intro-lead {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  padding-bottom: 3rem;
}
.home-intro h2 {
  max-width: 540px;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.home-intro p {
  color: var(--text-dark-secondary);
  font-size: 1rem;
  line-height: 1.7;
}
.home-intro-copy p + p { margin-top: 1rem; }
.home-intro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
  border-top: 1px solid #00000014;
  padding-top: 2.5rem;
}
.home-intro-card h3 {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: -.025em;
}
.home-intro-card p { font-size: .9rem; }
.home-cta-subheadline {
  margin-bottom: 20px;
  color: var(--text-light);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 1024px) {
  .home-intro { margin-top: 72px; padding: 0 2rem; }
  .home-intro-lead { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-intro-grid { gap: 1.5rem; }
}
@media (max-width: 640px) {
  .home-intro { margin-top: 56px; padding: 0 .25rem; }
  .home-intro-lead { padding-bottom: 2rem; }
  .home-intro-grid { grid-template-columns: 1fr; gap: 2rem; padding-top: 2rem; }
  .home-intro p { font-size: .95rem; }
  .home-cta-subheadline { font-size: 1.1rem; }
}
