/* =====================================================================
   Theme: ACADEMY - welcoming and energetic
   Youth academies: programmes, age groups, coaches, register.
   Rounded cards, generous spacing, confident condensed headings.
   Layered on top of club-site.css; only the differences live here.
   ===================================================================== */

:root {
    --font-display: 'Barlow Condensed', 'Oswald', 'Arial Narrow', sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --radius: 18px;
    --radius-lg: 28px;
}

/* Hero: copy sits low with a soft brand wash, so photos of children read warm */
.club-site .hero__overlay {
    background:
        linear-gradient(180deg, rgba(5, 10, 22, .15) 0%, rgba(5, 10, 22, .55) 55%, rgba(5, 10, 22, .88) 100%),
        radial-gradient(90% 60% at 15% 100%, color-mix(in srgb, var(--club-primary) 45%, transparent), transparent 70%);
}
.club-site .hero__title { letter-spacing: .005em; }
.club-site .hero__badge { border-radius: 999px; }

/* Stats sit on a floating card that overlaps the hero */
.club-site .stats-bar__card { border-radius: var(--radius-lg); }

/* Section headings get a friendly two-line eyebrow */
.club-site .eyebrow::before,
.club-site .section__head--center .eyebrow::after { height: 4px; border-radius: 2px; }

/* Cards: softer corners, warmer lift */
.club-site .feature-card,
.club-site .team-card,
.club-site .coach-card,
.club-site .event-card,
.club-site .news-card,
.club-site .day-card { border-radius: var(--radius); }
.club-site .feature-card:hover,
.club-site .team-card:hover,
.club-site .coach-card:hover { transform: translateY(-7px); }

/* Team cards lead with the age badge - the thing a parent scans for */
.club-site .team-card__head { min-height: 132px; }
.club-site .team-card__age {
    position: static; align-self: flex-start; margin-bottom: 8px;
    background: rgba(255, 255, 255, .22); font-size: .76rem; padding: 4px 11px;
}
.club-site .team-card__code { font-size: 2.4rem; }

/* Coaches: portrait cards with a warm gradient foot */
.club-site .coach-card__photo::after { height: 46%; }
.club-site .coach-card__role { letter-spacing: .08em; }

/* Registration is the loudest thing on the page */
.club-site .join-band { padding: 96px 0; }
@media (min-width: 768px) { .club-site .join-band { padding: 132px 0; } }
.club-site .join-band h2 { letter-spacing: .01em; }
.club-site .btn-club--accent { box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--club-accent) 75%, transparent); }

/* How-to-join steps read as a friendly path */
.club-site .step { border-radius: var(--radius); text-align: center; }
.club-site .step__num {
    margin: 0 auto 12px; width: 62px; height: 62px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: color-mix(in srgb, var(--club-primary) 12%, transparent);
    color: var(--club-primary); font-size: 1.9rem;
}
