:root {
            --gold: #b5a064;
            --gold-light: #d4c68a;
            --cream: #f5f0e1;
            --black: #0a0a0a;
            --pitch-green: #5a8f29;
            --pitch-green-dark: #3d6b1a;
            --white: #ffffff;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'DM Sans', sans-serif;
            background: var(--black);
            color: var(--cream);
            overflow-x: hidden;
            line-height: 1.6;
        }

        /* Noise texture overlay */
        body::before {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
            opacity: 0.03;
            pointer-events: none;
            z-index: 1000;
        }

        /* Navigation */
        nav {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            padding: 1.5rem 4rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 100;
            background: linear-gradient(to bottom, rgba(10,10,10,0.95), transparent);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
        }

        .logo-mark {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            overflow: hidden;
            border: 2px solid var(--gold);
            box-shadow: 0 0 30px rgba(181,160,100,0.3);
            transition: transform 0.3s ease;
        }

        .logo-mark:hover {
            transform: scale(1.05);
        }

        .logo-mark img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .nav-links {
            display: flex;
            gap: 3rem;
            list-style: none;
        }

        .nav-links a {
            color: var(--cream);
            text-decoration: none;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            position: relative;
            padding: 0.5rem 0;
        }

        .nav-links a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gold);
            transition: width 0.3s ease;
        }

        .nav-links a:hover::after {
            width: 100%;
        }

        .nav-cta {
            background: var(--gold);
            color: var(--black);
            padding: 0.75rem 1.75rem;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.8rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            transition: all 0.3s ease;
            border: 2px solid var(--gold);
        }

        .nav-cta:hover {
            background: transparent;
            color: var(--gold);
        }

        /* Hero Section */
        .hero {
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            padding: 6rem 4rem;
            overflow: hidden;
        }

        .hero-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                radial-gradient(ellipse at 20% 80%, rgba(90,143,41,0.15) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 20%, rgba(181,160,100,0.1) 0%, transparent 40%),
                linear-gradient(135deg, var(--black) 0%, #1a1a18 100%);
        }

        /* Pitch pattern overlay */
        .pitch-pattern {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 40%;
            opacity: 0.05;
            background: 
                repeating-linear-gradient(90deg, var(--pitch-green) 0px, var(--pitch-green) 2px, transparent 2px, transparent 80px);
        }

        .hero-content {
            position: relative;
            z-index: 2;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            max-width: 1400px;
            width: 100%;
            align-items: center;
        }

        .hero-text h1 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(3.8rem, 8vw, 6.9rem);
            line-height: 0.98;
            letter-spacing: 0.018em;
            color: var(--cream);
            margin-bottom: 1.5rem;
            max-width: 900px;
        }

        .hero-text h1 span {
            display: block;
            color: var(--gold);
            font-size: 0.5em;
            letter-spacing: 0.06em;
        }

        .hero-text .tagline {
            font-size: 1.25rem;
            color: rgba(245,240,225,0.7);
            margin-bottom: 2.5rem;
            max-width: 480px;
        }

        .hero-ctas {
            display: flex;
            gap: 1.5rem;
            flex-wrap: wrap;
        }

        .btn-primary {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            background: var(--gold);
            color: var(--black);
            padding: 1rem 2rem;
            text-decoration: none;
            font-weight: 600;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            transition: all 0.3s ease;
            border: 2px solid var(--gold);
        }

        .btn-primary:hover {
            background: var(--gold-light);
            transform: translateY(-2px);
            box-shadow: 0 10px 30px rgba(181,160,100,0.3);
        }

        .btn-secondary {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
            background: transparent;
            color: var(--cream);
            padding: 1rem 2rem;
            text-decoration: none;
            font-weight: 500;
            font-size: 0.9rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            border: 2px solid rgba(245,240,225,0.3);
            transition: all 0.3s ease;
        }

        .btn-secondary:hover {
            border-color: var(--cream);
            background: rgba(245,240,225,0.05);
        }

        .hero-visual {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .badge-container {
            position: relative;
            width: 380px;
            height: 380px;
        }

        .badge-glow {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 300px;
            height: 300px;
            background: radial-gradient(circle, rgba(181,160,100,0.4) 0%, transparent 70%);
            filter: blur(40px);
            animation: pulse 4s ease-in-out infinite;
        }

        @keyframes pulse {
            0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); }
            50% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); }
        }

        .badge-main {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 280px;
            height: 280px;
            border-radius: 50%;
            overflow: hidden;
            box-shadow: 
                0 0 0 3px var(--gold),
                0 0 60px rgba(181,160,100,0.4),
                0 30px 60px rgba(0,0,0,0.5);
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {
            0%, 100% { transform: translate(-50%, -50%) translateY(0); }
            50% { transform: translate(-50%, -50%) translateY(-15px); }
        }

        .badge-main img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .stat-ring {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 360px;
            height: 360px;
            border: 1px dashed rgba(181,160,100,0.3);
            border-radius: 50%;
            animation: spin 30s linear infinite;
        }

        @keyframes spin {
            from { transform: translate(-50%, -50%) rotate(0deg); }
            to { transform: translate(-50%, -50%) rotate(360deg); }
        }

        .stat-ring::before,
        .stat-ring::after {
            content: '';
            position: absolute;
            width: 8px;
            height: 8px;
            background: var(--gold);
            border-radius: 50%;
        }

        .stat-ring::before { top: -4px; left: 50%; }
        .stat-ring::after { bottom: -4px; left: 50%; }

        /* Stats Section */
        .stats {
            padding: 6rem 4rem;
            background: linear-gradient(to bottom, transparent, rgba(181,160,100,0.03));
            position: relative;
        }

        .stats-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 2rem;
        }

        .stat-card {
            text-align: center;
            padding: 2.5rem 1.5rem;
            background: linear-gradient(135deg, rgba(181,160,100,0.05) 0%, transparent 100%);
            border: 1px solid rgba(181,160,100,0.1);
            transition: all 0.4s ease;
        }

        .stat-card:hover {
            transform: translateY(-5px);
            border-color: rgba(181,160,100,0.3);
            background: linear-gradient(135deg, rgba(181,160,100,0.1) 0%, transparent 100%);
        }

        .stat-number {
            font-family: 'Oswald', sans-serif;
            font-size: 4rem;
            color: var(--gold);
            line-height: 1;
            margin-bottom: 0.5rem;
        }

        .stat-label {
            font-size: 0.85rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: rgba(245,240,225,0.6);
        }

        /* Mission Section */
        .mission {
            padding: 6rem 4rem;
            position: relative;
            background: linear-gradient(135deg, rgba(181,160,100,0.06) 0%, rgba(10,10,10,0.95) 100%);
        }

        .mission-content {
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1.1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        .mission-label {
            display: inline-block;
            font-size: 0.75rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1.5rem;
            padding: 0.5rem 1rem;
            border: 1px solid rgba(181,160,100,0.5);
        }

        .mission-text h2 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(2.75rem, 5vw, 4rem);
            color: var(--cream);
            margin-bottom: 1.25rem;
            line-height: 1;
        }

        .mission-text p {
            color: rgba(245,240,225,0.7);
            font-size: 1.1rem;
            margin-bottom: 1rem;
        }

        .mission-highlight {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1.5rem;
        }

        .mission-card {
            background: rgba(181,160,100,0.08);
            border: 1px solid rgba(181,160,100,0.2);
            padding: 1.5rem;
        }

        .mission-card h3 {
            font-family: 'Oswald', sans-serif;
            font-size: 1.6rem;
            color: var(--gold);
            margin-bottom: 0.5rem;
        }

        .mission-card p {
            color: rgba(245,240,225,0.6);
            font-size: 0.95rem;
        }

        /* Featured Testimonial */
        .testimonial-feature {
            min-height: 520px;
            display: grid;
            grid-template-columns: minmax(0, 58%) minmax(0, 42%);
            position: relative;
            overflow: hidden;
            background: #292826;
        }

        .testimonial-copy {
            z-index: 2;
            padding: clamp(4rem, 7vw, 7rem) clamp(2rem, 8vw, 9rem);
            display: flex;
            flex-direction: column;
            justify-content: center;
            position: relative;
        }

        .testimonial-copy::after {
            content: '';
            position: absolute;
            z-index: 1;
            top: 0;
            right: 0;
            bottom: 0;
            width: 5px;
            background: linear-gradient(180deg, var(--gold) 0 50%, var(--pitch-green) 50%);
            clip-path: none;
            pointer-events: none;
        }

        .testimonial-label {
            margin-bottom: 1.5rem;
            color: var(--gold-light);
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.24em;
            text-transform: uppercase;
        }

        .testimonial-copy blockquote {
            max-width: 750px;
            position: relative;
        }

        .testimonial-quote-mark {
            position: absolute;
            top: -1.1rem;
            left: -2.7rem;
            color: var(--gold-light);
            font: 400 4rem/1 Georgia, serif;
        }

        .testimonial-copy blockquote p {
            color: var(--cream);
            font-size: clamp(1.65rem, 3vw, 2.75rem);
            font-weight: 500;
            line-height: 1.32;
        }

        .testimonial-copy blockquote cite {
            display: block;
            margin-top: 2rem;
            color: var(--cream);
            font-size: 0.82rem;
            font-weight: 800;
            font-style: normal;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .testimonial-quotes {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.25rem;
        }

        .testimonial-quotes blockquote {
            padding: 1.5rem;
            border: 1px solid rgba(245,240,225,.16);
            border-top: 4px solid var(--gold);
            background: rgba(255,255,255,.04);
        }

        .testimonial-quotes .football-quote { border-top-color: var(--pitch-green); }
        .testimonial-quotes .testimonial-quote-mark { top: .75rem; left: .65rem; opacity: .35; }
        .testimonial-quotes blockquote p { font-size: clamp(1.15rem, 2vw, 1.65rem); }
        .testimonial-quotes blockquote cite { margin-top: 1.25rem; }

        .testimonial-photo {
            min-height: 520px;
            background: url('../images/team.webp') center / cover;
        }

        /* Training Pillars */
        .pillars {
            padding: 6rem 4rem;
            background: linear-gradient(to bottom, transparent, rgba(90,143,41,0.05));
        }

        .pillars-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 2rem;
        }

        .pillar-card {
            background: linear-gradient(180deg, rgba(181,160,100,0.1) 0%, rgba(10,10,10,0.95) 100%);
            border: 1px solid rgba(181,160,100,0.2);
            padding: 2rem 1.5rem;
            text-align: center;
            transition: all 0.4s ease;
        }

        .pillar-card:hover {
            transform: translateY(-6px);
            border-color: rgba(181,160,100,0.4);
        }

        .pillar-title {
            font-family: 'Oswald', sans-serif;
            font-size: 1.8rem;
            color: var(--cream);
            margin-bottom: 0.75rem;
        }

        .pillar-card p {
            color: rgba(245,240,225,0.6);
            font-size: 0.95rem;
        }

        /* The Green Section */
        .venue {
            padding: 8rem 4rem;
            position: relative;
            overflow: hidden;
        }

        .venue-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                linear-gradient(135deg, rgba(90,143,41,0.08) 0%, transparent 50%),
                var(--black);
        }

        .venue-content {
            position: relative;
            z-index: 2;
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 6rem;
            align-items: center;
        }

        .venue-visual {
            position: relative;
        }

        .venue-logo {
            width: 100%;
            max-width: 450px;
            filter: drop-shadow(0 20px 40px rgba(0,0,0,0.4));
            transition: transform 0.4s ease;
        }

        .venue-logo:hover {
            transform: scale(1.02);
        }

        .venue-badge {
            position: absolute;
            top: -20px;
            right: 20px;
            background: var(--pitch-green);
            color: var(--white);
            padding: 0.75rem 1.25rem;
            font-family: 'Oswald', sans-serif;
            font-size: 1rem;
            letter-spacing: 0.1em;
            transform: rotate(3deg);
        }

        .venue-text .section-label {
            display: inline-block;
            font-size: 0.75rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--pitch-green);
            margin-bottom: 1.5rem;
            padding: 0.5rem 1rem;
            border: 1px solid var(--pitch-green);
        }

        .venue-text h2 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(3rem, 6vw, 5rem);
            color: var(--cream);
            margin-bottom: 1.5rem;
            line-height: 1;
        }

        .venue-text h2 span {
            color: var(--pitch-green);
        }

        .venue-text p {
            color: rgba(245,240,225,0.7);
            font-size: 1.1rem;
            margin-bottom: 2rem;
            max-width: 500px;
        }

        .venue-features {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
            margin-top: 2.5rem;
        }

        .venue-feature {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .venue-feature::before {
            content: '';
            width: 0.55rem;
            height: 0.55rem;
            flex: 0 0 auto;
            background: var(--pitch-green);
            border-radius: 50%;
        }

        .feature-icon {
            width: 40px;
            height: 40px;
            background: rgba(90,143,41,0.2);
            border: 1px solid var(--pitch-green);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--pitch-green);
            font-size: 1.2rem;
        }

        .feature-text {
            font-size: 0.9rem;
            color: var(--cream);
        }

        .venue-hire-link {
            width: fit-content;
            margin-top: 2rem;
            padding: .85rem 1.1rem;
            display: inline-block;
            border: 1px solid var(--pitch-green);
            color: var(--cream);
            font-size: .78rem;
            font-weight: 800;
            letter-spacing: .06em;
            text-decoration: none;
            text-transform: uppercase;
        }

        .venue-hire-link:hover { background: var(--pitch-green); color: var(--black); }

        /* Programs Section */
        .programs {
            padding: 8rem 4rem;
            background: linear-gradient(to bottom, transparent, rgba(181,160,100,0.03));
        }

        .programs-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .programs-header h2 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(3rem, 5vw, 4.5rem);
            color: var(--cream);
            margin-bottom: 1rem;
        }

        .programs-header p {
            color: rgba(245,240,225,0.6);
            font-size: 1.1rem;
            max-width: 600px;
            margin: 0 auto;
        }

        .programs-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
        }

        .program-card {
            background: linear-gradient(180deg, rgba(181,160,100,0.08) 0%, rgba(181,160,100,0.02) 100%);
            border: 1px solid rgba(181,160,100,0.15);
            padding: 2.5rem;
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
        }

        .program-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 3px;
            background: linear-gradient(90deg, var(--gold), var(--pitch-green));
            transform: scaleX(0);
            transform-origin: left;
            transition: transform 0.4s ease;
        }

        .program-card:hover::before {
            transform: scaleX(1);
        }

        .program-card:hover {
            transform: translateY(-8px);
            border-color: rgba(181,160,100,0.3);
            box-shadow: 0 20px 40px rgba(0,0,0,0.3);
        }

        .program-age {
            display: inline-block;
            background: var(--gold);
            color: var(--black);
            padding: 0.35rem 0.75rem;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.1em;
            margin-bottom: 1.5rem;
        }

        .program-card h3 {
            font-family: 'Oswald', sans-serif;
            font-size: 2rem;
            color: var(--cream);
            margin-bottom: 1rem;
        }

        .program-card p {
            color: rgba(245,240,225,0.6);
            font-size: 0.95rem;
            margin-bottom: 1.5rem;
        }

        .sport-tag {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--gold-light);
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            margin-bottom: 0.8rem;
        }

        .sport-tag::before {
            content: '';
            width: 24px;
            height: 1px;
            background: var(--gold);
        }

        .program-details {
            display: flex;
            gap: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid rgba(181,160,100,0.1);
        }

        .program-detail {
            font-size: 0.8rem;
            color: rgba(245,240,225,0.5);
        }

        .program-detail strong {
            display: block;
            color: var(--gold);
            font-size: 0.9rem;
        }

        /* Coaches Section */
        .coaches {
            padding: 8rem 4rem;
            position: relative;
            background: linear-gradient(180deg, rgba(90,143,41,0.08) 0%, rgba(10,10,10,0.95) 100%);
        }

        .coaches-header {
            max-width: 900px;
            margin: 0 auto 4rem;
            text-align: center;
        }

        .coaches-header .section-label {
            display: inline-block;
            font-size: 0.75rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 1.5rem;
            padding: 0.5rem 1rem;
            border: 1px solid rgba(181,160,100,0.5);
        }

        .coaches-header h2 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(3rem, 6vw, 5rem);
            color: var(--cream);
            margin-bottom: 1rem;
            line-height: 1;
        }

        .coaches-header p {
            color: rgba(245,240,225,0.65);
            font-size: 1.1rem;
            max-width: 650px;
            margin: 0 auto;
        }

        .coaches-grid {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.75rem;
        }

        .coaches-grid.is-loaded {
            grid-template-columns: minmax(280px, 440px);
            justify-content: center;
        }

        .coach-card {
            background: linear-gradient(160deg, rgba(181,160,100,0.12) 0%, rgba(10,10,10,0.85) 100%);
            border: 1px solid rgba(181,160,100,0.2);
            padding: 2rem 1.5rem;
            min-height: 260px;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            transition: all 0.4s ease;
        }

        .coach-card:hover {
            transform: translateY(-6px);
            border-color: rgba(181,160,100,0.4);
            box-shadow: 0 20px 40px rgba(0,0,0,0.35);
        }

        .coach-avatar {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            background: radial-gradient(circle at 30% 30%, var(--gold-light), var(--gold));
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--black);
            font-weight: 700;
            letter-spacing: 0.05em;
        }

        .coach-role {
            font-size: 0.75rem;
            letter-spacing: 0.2em;
            text-transform: uppercase;
            color: rgba(245,240,225,0.55);
        }

        .coach-name {
            font-family: 'Oswald', sans-serif;
            font-size: 1.6rem;
            color: var(--cream);
            margin-top: -0.25rem;
        }

        .coach-bio {
            color: rgba(245,240,225,0.6);
            font-size: 0.95rem;
        }

        /* CTA Section */
        .cta-section {
            padding: 8rem 4rem;
            text-align: center;
            position: relative;
            overflow: hidden;
        }

        .cta-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: 
                radial-gradient(ellipse at center, rgba(181,160,100,0.15) 0%, transparent 60%),
                var(--black);
        }

        .cta-content {
            position: relative;
            z-index: 2;
        }

        .cta-content h2 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(3rem, 7vw, 6rem);
            color: var(--cream);
            margin-bottom: 1.5rem;
            line-height: 1;
        }

        .cta-content h2 span {
            color: var(--gold);
        }

        .cta-content p {
            color: rgba(245,240,225,0.6);
            font-size: 1.2rem;
            max-width: 600px;
            margin: 0 auto 2.5rem;
        }

        /* Footer */
        footer {
            padding: 4rem;
            border-top: 1px solid rgba(181,160,100,0.1);
        }

        .footer-content {
            max-width: 1400px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 4rem;
        }

        .footer-brand p {
            color: rgba(245,240,225,0.5);
            font-size: 0.9rem;
            margin-top: 1.5rem;
            max-width: 300px;
        }

        .footer-contact-card {
            margin-top: 1.5rem;
            max-width: 330px;
            padding: 1.1rem;
            border: 1px solid rgba(181,160,100,0.24);
            background: rgba(255,255,255,0.035);
            display: grid;
            gap: 0.45rem;
        }

        .footer-contact-card span {
            color: var(--gold);
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .footer-contact-card a {
            color: var(--cream);
            font-size: 0.9rem;
            font-weight: 700;
            text-decoration: none;
        }

        .footer-contact-card a:last-child {
            color: var(--gold-light);
        }

        .footer-col h4 {
            font-family: 'Oswald', sans-serif;
            font-size: 1.2rem;
            color: var(--gold);
            margin-bottom: 1.5rem;
            letter-spacing: 0.1em;
        }

        .footer-col ul {
            list-style: none;
        }

        .footer-col li {
            margin-bottom: 0.75rem;
        }

        .footer-col a {
            color: rgba(245,240,225,0.6);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.3s ease;
        }

        .footer-col a:hover {
            color: var(--cream);
        }

        .footer-bottom {
            max-width: 1400px;
            margin: 3rem auto 0;
            padding-top: 2rem;
            border-top: 1px solid rgba(181,160,100,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .footer-bottom p {
            color: rgba(245,240,225,0.4);
            font-size: 0.85rem;
        }

        .footer-top-link {
            color: var(--gold-light);
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-decoration: none;
            text-transform: uppercase;
        }

        .social-links {
            display: flex;
            gap: 1rem;
        }

        .social-links a {
            width: 40px;
            height: 40px;
            border: 1px solid rgba(181,160,100,0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--gold);
            text-decoration: none;
            transition: all 0.3s ease;
        }

        .social-links a:hover {
            background: var(--gold);
            color: var(--black);
        }

        /* Mobile Menu */
        .mobile-menu-btn {
            display: none;
            flex-direction: column;
            gap: 5px;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0.5rem;
        }

        .mobile-menu-btn span {
            width: 25px;
            height: 2px;
            background: var(--cream);
            transition: all 0.3s ease;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            nav {
                padding: 1rem 2rem;
            }

            .nav-links {
                display: none;
            }

            .mobile-menu-btn {
                display: flex;
            }

            .hero {
                padding: 8rem 2rem 4rem;
            }

            .hero-content {
                grid-template-columns: 1fr;
                gap: 4rem;
                text-align: center;
            }

            .hero-text .tagline {
                margin-left: auto;
                margin-right: auto;
            }

            .hero-ctas {
                justify-content: center;
            }

            .stats-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .mission-content {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .mission-highlight {
                grid-template-columns: 1fr;
            }

            .testimonial-feature {
                min-height: auto;
                grid-template-columns: 1fr;
            }

            .testimonial-copy {
                padding: 5rem clamp(2.5rem, 10vw, 6rem);
            }

            .testimonial-copy::after {
                top: auto;
                right: 0;
                bottom: -55px;
                left: 0;
                width: 100%;
                height: 80px;
                clip-path: polygon(0 0, 100% 68%, 100% 100%, 0 32%);
            }

            .testimonial-photo {
                min-height: 430px;
                background-position: center;
            }

            .pillars-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .venue-content {
                grid-template-columns: 1fr;
                text-align: center;
            }

            .venue-text .section-label {
                margin-left: auto;
                margin-right: auto;
            }

            .venue-text p {
                margin-left: auto;
                margin-right: auto;
            }

            .venue-features {
                justify-content: center;
            }

            .programs-grid {
                grid-template-columns: 1fr;
            }

            .coaches-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .footer-content {
                grid-template-columns: 1fr 1fr;
                gap: 2rem;
            }
        }

        @media (max-width: 640px) {
            .stats-grid {
                grid-template-columns: 1fr;
            }

            .pillars-grid {
                grid-template-columns: 1fr;
            }

            .venue-features {
                grid-template-columns: 1fr;
            }

            .footer-content {
                grid-template-columns: 1fr;
            }

            .coaches-grid {
                grid-template-columns: 1fr;
            }

            .footer-bottom {
                flex-direction: column;
                gap: 1.5rem;
                text-align: center;
            }

            .hero-ctas {
                flex-direction: column;
                align-items: center;
            }

            .btn-primary, .btn-secondary {
                width: 100%;
                justify-content: center;
            }
        }

        /* Animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .hero-text h1 {
            animation: fadeInUp 0.8s ease forwards;
        }

        .hero-text .tagline {
            animation: fadeInUp 0.8s ease 0.2s forwards;
            opacity: 0;
        }

        .hero-ctas {
            animation: fadeInUp 0.8s ease 0.4s forwards;
            opacity: 0;
        }

        .badge-container {
            animation: fadeInUp 1s ease 0.3s forwards;
            opacity: 0;
        }

        /* Parent-first experience */
        .hero {
            min-height: 92vh;
            background: var(--black);
        }

        .hero-slider, .hero-slide, .hero-shade { position: absolute; inset: 0; }
        .hero-slide {
            opacity: 0;
            background-position: var(--slide-position, center 32%);
            background-size: cover;
            transform: scale(1.04);
            transition: opacity 1s ease, transform 6s ease;
        }
        .hero-slide.is-active { opacity: 1; transform: scale(1); }
        .hero-slide:first-child {
            background-size: cover;
            background-position: var(--slide-position, center 58%);
        }
        .hero-shade {
            z-index: 1;
            background:
                linear-gradient(90deg, rgba(10,10,10,0.98) 0%, rgba(10,10,10,0.76) 48%, rgba(10,10,10,0.22) 100%),
                linear-gradient(180deg, transparent 65%, var(--black));
        }
        .hero-bg { background: none; }
        .hero-content { grid-template-columns: 1.15fr 0.85fr; }
        .hero-text h1 { max-width: 960px; }

        .slider-controls {
            position: absolute;
            z-index: 4;
            inset: 50% 1rem auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            pointer-events: none;
            transform: translateY(-50%);
        }
        .slider-button {
            width: 38px;
            height: 38px;
            border: 1px solid rgba(245,240,225,0.22);
            border-radius: 50%;
            background: rgba(10,10,10,0.22);
            color: var(--cream);
            cursor: pointer;
            font-size: 1rem;
            opacity: 0.48;
            pointer-events: auto;
            backdrop-filter: blur(8px);
            transition: opacity 0.25s ease, background 0.25s ease, transform 0.25s ease;
        }
        .slider-button:hover, .slider-button:focus-visible { opacity: 1; background: rgba(10,10,10,0.65); transform: scale(1.08); }
        .slider-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

        .parent-promise {
            background: rgba(245,240,225,0.94);
            color: var(--black);
            padding: 2rem;
            max-width: 370px;
            margin-left: auto;
            box-shadow: 18px 18px 0 var(--gold);
            transform: rotate(2deg);
        }

        .parent-promise strong {
            font-family: 'Oswald', sans-serif;
            display: block;
            color: var(--black);
            font-size: 2rem;
            line-height: 1;
            margin-bottom: 1rem;
        }

        .parent-promise ul { list-style: none; }
        .parent-promise li { padding: 0.65rem 0; border-bottom: 1px solid rgba(10,10,10,0.14); }
        .parent-promise li::before { content: '✓'; color: var(--pitch-green-dark); font-weight: 700; margin-right: 0.6rem; }

        .finder {
            position: relative;
            z-index: 5;
            max-width: 1200px;
            margin: -3rem auto 0;
            padding: 0 2rem;
        }

        .finder-inner {
            background: var(--gold);
            color: var(--black);
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 2rem;
            align-items: center;
            padding: 2rem 2.5rem;
            box-shadow: 0 20px 50px rgba(0,0,0,0.35);
        }

        .finder h2 {
            font-family: 'Oswald', sans-serif;
            font-size: clamp(2rem, 4vw, 3.4rem);
            line-height: 1;
        }

        .finder p { color: rgba(10,10,10,0.7); }

        .finder-actions { display: flex; gap: 0.75rem; flex-wrap: wrap; }

        .finder-action {
            background: var(--black);
            color: var(--cream);
            text-decoration: none;
            padding: 1rem 1.25rem;
            font-weight: 700;
            font-size: 0.8rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .trust-strip {
            max-width: 1200px;
            margin: 0 auto;
            padding: 4rem 2rem 1rem;
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
        }

        .trust-item {
            border-left: 2px solid var(--gold);
            padding-left: 1rem;
        }

        .trust-item strong {
            display: block;
            color: var(--cream);
            font-size: 0.9rem;
            margin-bottom: 0.25rem;
        }

        .trust-item span { color: rgba(245,240,225,0.55); font-size: 0.8rem; }

        .program-card { min-height: 340px; display: flex; flex-direction: column; }
        .program-card p { flex: 1; }
        .program-book { display: inline-block; margin-top: 1.4rem; color: var(--gold-light); font-weight: 700; text-decoration: none; }

        .coaches-grid .coach-card:nth-child(n+5) { display: none; }
        .coaches-grid.is-loaded .coach-card { display: flex; }
        .coach-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 20%; margin-bottom: 0.5rem; }
        .program-card[id*="hoops"], .program-card[id*="basketball"] { border-top: 4px solid var(--gold); }
        .program-card[id*="football"] { border-top: 4px solid var(--pitch-green); }
        .program-card[id*="football"] .program-age { background: var(--pitch-green); color: white; }
        .program-card[id*="football"] .sport-tag,
        .program-card[id*="football"] .program-detail strong,
        .program-card[id*="football"] .program-book { color: var(--pitch-green-dark); }
        .program-card[id*="football"] .sport-tag::before { background: var(--pitch-green); }

        .football-highlights {
            padding: 4rem;
            display: grid;
            grid-template-columns: minmax(260px, .8fr) 1.2fr;
            gap: 3rem;
            align-items: center;
            background: var(--black);
            color: var(--cream);
        }
        .football-highlights__intro { max-width: 520px; justify-self: end; }
        .football-highlights h2 { margin: .6rem 0 1rem; font: 700 clamp(3rem, 6vw, 5.5rem)/.92 'Oswald', sans-serif; }
        .football-highlights__intro p { color: rgba(245,240,225,.65); }
        .football-highlights__cards { max-width: 760px; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
        .football-highlights__cards a { min-height: 210px; padding: 1.6rem; display: flex; flex-direction: column; justify-content: end; border: 1px solid rgba(181,160,100,.25); border-top: 5px solid var(--pitch-green); background: linear-gradient(150deg, rgba(90,143,41,.25), rgba(181,160,100,.08)); color: var(--cream); text-decoration: none; transition: transform .25s ease, border-color .25s ease; }
        .football-highlights__cards a:last-child { border-top-color: var(--gold); }
        .football-highlights__cards a:hover { transform: translateY(-5px); border-color: var(--gold); }
        .football-highlights__cards strong { margin-bottom: .65rem; font: 700 2rem/1 'Oswald', sans-serif; }
        .football-highlights__cards span { color: rgba(245,240,225,.65); font-size: .9rem; }

        .contact-cta {
            position: relative;
            z-index: 2;
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 4rem;
            align-items: end;
            text-align: left;
        }
        .contact-cta__actions { display: grid; gap: .75rem; min-width: 260px; }

        .booking-layout {
            position: relative;
            z-index: 2;
            max-width: 1100px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 0.9fr 1.1fr;
            gap: 4rem;
            text-align: left;
            align-items: start;
        }

        .booking-copy h2 { font-family: 'Oswald', sans-serif; font-size: clamp(3.5rem, 7vw, 6rem); line-height: 0.95; }
        .booking-copy h2 span { color: var(--gold); }
        .booking-copy p { color: rgba(245,240,225,0.65); font-size: 1.1rem; margin: 1.5rem 0; }
        .booking-note { color: var(--gold-light); font-weight: 600; }

        .booking-form {
            background: var(--cream);
            color: var(--black);
            padding: 2rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
        }

        .booking-form label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
        .booking-form input, .booking-form select, .booking-form textarea {
            width: 100%;
            margin-top: 0.35rem;
            padding: 0.9rem;
            border: 1px solid rgba(10,10,10,0.2);
            background: white;
            font: inherit;
        }
        .booking-form .full { grid-column: 1 / -1; }
        .booking-form button { cursor: pointer; justify-content: center; }

        .mobile-book { display: none; }

        @media (max-width: 1024px) {
            .hero-content, .booking-layout { grid-template-columns: 1fr; }
            .parent-promise { margin: 0 auto; transform: rotate(1deg); }
            .finder-inner { grid-template-columns: 1fr; }
            .trust-strip { grid-template-columns: repeat(2, 1fr); }
            .football-highlights, .contact-cta { grid-template-columns: 1fr; }
            .football-highlights__intro { justify-self: start; }
            .football-highlights { padding: 4rem 2rem; gap: 2rem; }
            .football-highlights__cards { max-width: none; }
            .contact-cta__actions { width: 100%; min-width: 0; }
            .contact-cta__actions a { width: 100%; justify-content: center; }
        }

        @media (max-width: 800px) {
            .testimonial-quotes { grid-template-columns: 1fr; }
        }

        @media (max-width: 640px) {
            nav { background: rgba(10,10,10,0.94); }
            .nav-cta { display: none; }
            .mobile-menu-btn { display: none; }
            .hero { min-height: auto; padding: 7.5rem 1.25rem 6rem; background-position: 62% center; }
            .hero-content { text-align: left; gap: 3rem; }
            .hero-text h1 { font-size: clamp(3.4rem, 17vw, 5.25rem); }
            .hero-text .tagline { margin-left: 0; }
            .hero-ctas { align-items: stretch; }
            .parent-promise { padding: 1.5rem; box-shadow: 9px 9px 0 var(--gold); }
            .hero-shade { background: linear-gradient(180deg, rgba(10,10,10,.8), rgba(10,10,10,.65) 55%, var(--black)); }
            .hero-slide:first-child { background-size: cover; }
            .hero-slide { background-position: var(--slide-mobile-position, var(--slide-position, center 50%)); }
            .slider-controls { inset: 52% 0.5rem auto; }
            .slider-button { width: 34px; height: 34px; opacity: 0.65; }
            .finder { margin-top: -2rem; padding: 0 1rem; }
            .finder-inner { padding: 1.5rem; gap: 1.25rem; }
            .finder-actions { display: grid; grid-template-columns: 1fr 1fr; }
            .finder-action { text-align: center; padding: 0.85rem 0.5rem; }
            .trust-strip { grid-template-columns: 1fr 1fr; padding: 3rem 1.25rem 0; }
            .programs, .mission, .venue, .pillars, .coaches, .cta-section { padding-left: 1.25rem; padding-right: 1.25rem; }
            .testimonial-copy { padding: 4rem 2.5rem 4.5rem; }
            .testimonial-quote-mark { left: -1.5rem; }
            .testimonial-photo { min-height: 300px; }
            .booking-form { grid-template-columns: 1fr; padding: 1.25rem; }
            .booking-form .full { grid-column: auto; }
            .testimonial-quotes, .football-highlights__cards { grid-template-columns: 1fr; }
            .football-highlights { padding: 3.5rem 1.1rem; gap: 1.5rem; }
            .football-highlights__cards a { min-height: 170px; }
        }

        @media (prefers-reduced-motion: reduce) {
            .hero-slide { transition: opacity 0.2s ease; transform: none; }
        }

        /* Bright coastal browsing sections */
        .upcoming-events { padding: 7rem 4rem; background: #fffdf7; color: var(--black); }
        .events-heading { max-width: 1200px; margin: 0 auto 2.5rem; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
        .events-heading h2 { font-family: 'Oswald', sans-serif; font-size: clamp(3.5rem, 7vw, 6rem); line-height: 1.04; margin:.7rem 0 1rem; }
        .events-heading p { color: rgba(10,10,10,0.62); max-width: 520px; }
        .events-heading .btn-secondary { border-color: var(--black); color: var(--black); white-space: nowrap; }
        .home-events-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
        .home-event-card { background: white; border: 1px solid rgba(10,10,10,0.1); padding: 1.5rem; box-shadow: 0 16px 45px rgba(40,35,20,0.08); display: flex; flex-direction: column; min-height: 280px; }
        .home-event-card.basketball { border-top: 5px solid var(--gold); }
        .home-event-card.football { border-top: 5px solid var(--pitch-green); }
        .home-event-meta { display: flex; justify-content: space-between; gap: 1rem; color: rgba(10,10,10,0.55); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
        .home-event-card h3 { color: var(--black); font-family: 'Oswald', sans-serif; font-size: 2rem; line-height: 1; margin: 1rem 0 0.75rem; }
        .home-event-card p { color: rgba(10,10,10,0.62); font-size: 0.9rem; flex: 1; }
        .home-event-card a { color: var(--black); font-weight: 800; text-decoration: none; margin-top: 1.25rem; }
        .parent-links { padding: 4rem; background: var(--gold); color: var(--black); }
        .parent-links-heading {
            max-width: 1200px;
            margin: 0 auto 1.5rem;
            display: flex;
            align-items: end;
            justify-content: space-between;
            gap: 2rem;
        }
        .parent-links-heading .mission-label {
            margin: 0;
            color: var(--black);
            border-color: rgba(10,10,10,.4);
        }
        .parent-links-heading h2 {
            max-width: 720px;
            font: 700 clamp(2.5rem, 5vw, 4rem)/.95 'Oswald', sans-serif;
        }
        .parent-links-grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
        .parent-link { background: rgba(255,255,255,.72); color: var(--black); padding: 1.3rem; text-decoration: none; border: 1px solid rgba(10,10,10,.1); }
        .parent-link strong { display: block; font-family: 'Oswald', sans-serif; font-size: 1.65rem; margin-bottom: .25rem; }
        .parent-link span { color: rgba(10,10,10,.62); font-size: .84rem; }

        .light-section { background: var(--cream) !important; color: var(--black); }
        .light-section .mission-text h2, .light-section .mission-card h3, .light-section .programs-header h2, .light-section .program-card h3, .light-section .coaches-header h2, .light-section .coach-name { color: var(--black); }
        .light-section .mission-text p, .light-section .mission-card p, .light-section .programs-header p, .light-section .program-card p, .light-section .program-detail, .light-section .coaches-header p, .light-section .coach-bio, .light-section .coach-role { color: rgba(10,10,10,0.62); }
        .light-section .mission-card, .light-section .program-card, .light-section .coach-card { background: white; border-color: rgba(10,10,10,0.1); box-shadow: 0 14px 35px rgba(40,35,20,0.07); }
        .light-section .sport-tag { color: var(--black); }
        .light-section .program-book { color: var(--pitch-green-dark); }

        @media (max-width: 1024px) { .home-events-grid { grid-template-columns: 1fr 1fr; } }
        @media (max-width: 640px) {
            .upcoming-events { padding: 5rem 1.25rem; }
            .events-heading { align-items: stretch; flex-direction: column; }
            .events-heading .btn-secondary { width: 100%; }
            .home-events-grid { grid-template-columns: 1fr; }
            .parent-links { padding: 2rem 1.25rem; }
            .parent-links-heading { align-items: start; flex-direction: column; gap: 1rem; }
            .parent-links-grid { grid-template-columns: 1fr 1fr; }
        }
.hero-slide-default {
    background-image: url('../images/football-hero.jpg');
    background-position: 56% center;
}

@media (max-width: 640px) {
    .hero-slide-default { background-image: url('../images/football-hero-1024.webp'); }
}

.coaches-action {
    margin-top: 2.5rem;
    text-align: center;
}

.privacy-consent {
    display: flex;
    gap: .7rem;
    align-items: flex-start;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
}

.privacy-consent-input {
    width: auto;
    margin-top: .25rem;
}

.privacy-link {
    color: inherit;
}

.footer-logo {
    width: 80px;
    border-radius: 50%;
}

@media (max-width: 1024px) {
    .hero { padding-left: 2rem; padding-right: 2rem; }
    .parent-promise { max-width: 520px; }
    .parent-links { padding: 3rem 2rem; }
    .parent-links-heading { align-items: start; flex-direction: column; }
    .parent-links-grid { grid-template-columns: repeat(2, 1fr); }
    .upcoming-events, .programs, .mission, .venue, .pillars, .coaches, .cta-section {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    .program-card, .mission-card, .pillar-card, .coach-card { padding: 1.5rem; }
}

@media (max-width: 640px) {
    .hero { padding-left: 1.1rem; padding-right: 1.1rem; }
    .hero-text h1 { font-size: clamp(3.25rem, 16vw, 5rem); }
    .parent-promise { padding: 1.25rem; box-shadow: 6px 6px 0 var(--gold); }
    .finder { padding: 0 .75rem; }
    .finder-inner { padding: 1.2rem; }
    .finder-actions, .trust-strip, .parent-links-grid { grid-template-columns: 1fr; }
    .trust-strip { gap: .75rem; padding: 2rem 1.1rem 0; }
    .trust-item, .parent-link, .home-event-card, .program-card, .mission-card, .pillar-card, .coach-card {
        padding: 1.2rem;
    }
    .parent-links { padding: 2rem 1.1rem; }
    .parent-links-heading { margin-bottom: 1rem; }
    .upcoming-events, .programs, .mission, .venue, .pillars, .coaches, .cta-section {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
    .upcoming-events { padding-top: 3.5rem; padding-bottom: 3.5rem; }
    .events-heading h2, .mission-text h2, .programs-header h2, .coaches-header h2,
    .venue-text h2, .booking-copy h2 { font-size: clamp(3rem, 15vw, 4.5rem); }
    .testimonial-copy { padding: 3.5rem 1.5rem 4rem; }
    .testimonial-quotes blockquote { padding: 1.2rem; }
    .testimonial-quotes .testimonial-quote-mark { left: .35rem; }
    .contact-cta__actions { min-width: 0; }
    .testimonial-quote-mark { left: -.75rem; }
    .venue-logo { max-width: 100%; }
    .booking-form { padding: 1.1rem; }
    .footer-content { gap: 1.5rem; }
}

[data-home-sessions] {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

[data-home-sessions] .program-detail span {
    display: block;
    overflow-wrap: anywhere;
}

.basketball-interest {
    max-width: 1200px;
    margin: 1.25rem auto 0;
    padding: 1.4rem 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    background: var(--black);
    color: var(--cream);
    border-left: 5px solid var(--gold);
}
.basketball-interest h3 { margin: .45rem 0 .3rem; font-size: 2rem; }
.basketball-interest p { color: rgba(245,240,225,.7); }
.basketball-interest .program-book { flex: 0 0 auto; color: var(--gold); }

@media (max-width: 640px) {
    .basketball-interest { align-items: stretch; flex-direction: column; gap: 1rem; padding: 1.2rem; }
    .basketball-interest .program-book { width: 100%; padding: .8rem; border: 1px solid rgba(181,160,100,.45); text-align: center; }
}

/* Compact parent proof */
.testimonial-feature {
    min-height: auto;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 34%);
    background:
        linear-gradient(135deg, rgba(181,160,100,.08), rgba(90,143,41,.08)),
        #242321;
}

.testimonial-copy {
    padding: clamp(3.5rem, 6vw, 5.5rem) clamp(2rem, 8vw, 8rem);
}

.testimonial-copy::after {
    width: 4px;
}

.testimonial-label {
    margin-bottom: 1rem;
}

.testimonial-copy blockquote {
    max-width: 900px;
}

.testimonial-copy blockquote p {
    font-size: clamp(1.55rem, 3vw, 2.55rem);
    line-height: 1.28;
}

.testimonial-copy blockquote cite {
    margin-top: 1.4rem;
}

.testimonial-photo {
    min-height: 430px;
    background-image: url('../images/team1.webp');
    background-position: center 60%;
    background-size: cover;
}

@media (max-width: 1024px) {
    .testimonial-feature {
        grid-template-columns: 1fr;
    }

    .testimonial-copy::after {
        display: none;
    }

    .testimonial-photo {
        min-height: 340px;
        background-image: url('../images/team.webp');
        background-position: center 54%;
    }
}

@media (max-width: 640px) {
    .testimonial-copy {
        padding: 3.5rem 1.5rem;
    }

    .testimonial-copy blockquote p {
        font-size: clamp(1.35rem, 7vw, 2rem);
    }

    .testimonial-photo {
        min-height: 300px;
    }
}

/* Homepage sport choice */
.home-hero {
    min-height: 100vh;
    padding: clamp(7rem, 11vw, 10rem) 4rem clamp(4rem, 8vw, 7rem);
    align-items: stretch;
}

.home-hero .hero-bg {
    background:
        radial-gradient(ellipse at 18% 78%, rgba(90,143,41,0.18) 0%, transparent 46%),
        radial-gradient(ellipse at 78% 18%, rgba(181,160,100,0.14) 0%, transparent 42%),
        linear-gradient(135deg, var(--black) 0%, #1a1a18 100%);
}

.home-hero-inner {
    position: relative;
    z-index: 2;
    width: min(100%, 1280px);
    margin: 0 auto;
    display: grid;
    gap: clamp(1.25rem, 2.5vw, 2rem);
}

.friday-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(1.25rem, 3vw, 3rem);
    padding: clamp(1.15rem, 2.3vw, 1.75rem);
    overflow: hidden;
    background: linear-gradient(112deg, var(--pitch-green-dark), #263f17 72%);
    border: 1px solid rgba(212,198,138,.42);
    border-left: 6px solid var(--gold-light);
    box-shadow: 0 20px 55px rgba(0,0,0,.3);
}

.friday-feature__copy {
    min-width: 0;
}

.friday-feature__kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .3rem;
    color: var(--gold-light);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.friday-feature__kicker span {
    color: #9bd363;
    font-size: .65rem;
}

.friday-feature h2 {
    color: var(--white);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1;
}

.friday-feature p {
    max-width: 620px;
    margin-top: .45rem;
    color: rgba(255,255,255,.82);
    font-size: .95rem;
}

.friday-feature__actions {
    display: grid;
    grid-template-columns: auto minmax(180px, 1fr);
    align-items: stretch;
    gap: .7rem;
}

.friday-feature__groups {
    display: grid;
    grid-template-columns: repeat(2, auto);
    align-items: center;
    gap: .45rem;
}

.friday-feature__groups span {
    padding: .65rem .8rem;
    background: rgba(10,10,10,.28);
    border: 1px solid rgba(255,255,255,.22);
    color: var(--white);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .05em;
    white-space: nowrap;
    text-transform: uppercase;
}

.friday-feature__actions a {
    min-height: 58px;
    padding: .72rem 1rem;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: .65rem;
    background: var(--gold);
    border: 2px solid var(--gold);
    color: var(--black);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.15;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.friday-feature__actions a > span {
    grid-column: 2;
    font-size: 1.2rem;
}

.friday-feature__actions a:hover,
.friday-feature__actions a:focus-visible {
    background: var(--gold-light);
    border-color: var(--gold-light);
    transform: translateY(-2px);
}

.friday-feature__actions a:focus-visible {
    outline: 3px solid var(--cream);
    outline-offset: 4px;
}

.home-hero-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}

.home-hero-heading .mission-label {
    margin-bottom: .8rem;
}

.home-hero h1 {
    max-width: 760px;
    color: var(--cream);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(4rem, 9vw, 7rem);
    line-height: .95;
}

.sport-choice-prompt {
    margin: .25rem 0 -.25rem;
    color: var(--cream);
    font: 600 clamp(1.15rem, 2vw, 1.5rem)/1.3 'DM Sans', sans-serif;
}

.sport-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.75rem);
}

.sport-card {
    position: relative;
    min-height: clamp(430px, 52vh, 620px);
    display: flex;
    overflow: hidden;
    isolation: isolate;
    background: #141411;
    border: 1px solid rgba(245,240,225,.16);
    box-shadow: 0 24px 70px rgba(0,0,0,.34);
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.sport-card img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.sport-card--football img {
    object-position: 56% center;
}

.sport-card--basketball img {
    object-position: center;
}

.sport-card__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(10,10,10,.12), rgba(10,10,10,.86) 72%),
        linear-gradient(90deg, rgba(10,10,10,.55), transparent);
}

.sport-card__content {
    width: 100%;
    margin-top: auto;
    padding: clamp(1.4rem, 3vw, 2.5rem);
}

.sport-card__meta {
    min-height:2.7em;
    display:flex;
    align-items:flex-end;
    align-content:flex-end;
    flex-wrap:wrap;
    gap: .45rem;
    margin-bottom: .8rem;
    color: var(--gold-light);
    font-size: .73rem;
    font-weight: 800;
    letter-spacing: .09em;
    line-height: 1.35;
    text-transform: uppercase;
}

.sport-card h2 {
    color: var(--cream);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(3rem, 7vw, 5.75rem);
    line-height: .95;
    margin-bottom: .8rem;
}

.sport-card p {
    max-width: 560px;
    min-height:3.5em;
    color: rgba(245,240,225,.86);
    font-size: clamp(1rem, 1.5vw, 1.16rem);
    margin-bottom: 1.4rem;
}

.sport-card__button,
.venue-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 48px;
    padding: .9rem 1.25rem;
    background: var(--gold);
    color: var(--black);
    border: 2px solid var(--gold);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
    transition: background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.sport-card:hover,
.sport-card:focus-within {
    border-color: rgba(181,160,100,.72);
    box-shadow: 0 28px 80px rgba(0,0,0,.43);
    transform: translateY(-3px);
}

.sport-card:hover img,
.sport-card:focus-within img {
    transform: scale(1.04);
}

.sport-card__button:hover,
.venue-card__button:hover {
    background: var(--gold-light);
    border-color: var(--gold-light);
    transform: translateY(-2px);
}

.sport-card:hover .sport-card__button,
.sport-card:focus-visible .sport-card__button {
    background: var(--gold-light);
    border-color: var(--gold-light);
}

.sport-card:focus-visible {
    outline: 3px solid var(--cream);
    outline-offset: 5px;
}

.sport-card__button:focus-visible,
.venue-card__button:focus-visible,
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.card-action:focus-visible,
.venue-hire-link:focus-visible,
.footer-top-link:focus-visible {
    outline: 3px solid var(--cream);
    outline-offset: 4px;
    box-shadow: 0 0 0 6px rgba(10,10,10,.72);
}

.audience-section {
    padding: clamp(4.5rem, 8vw, 7rem) 4rem;
}

.audience-inner,
.programme-overview__inner {
    width: min(100%, 1200px);
    margin: 0 auto;
}

.section-heading-left {
    margin-bottom: 2rem;
}

.section-heading-left h2,
.programme-overview h2 {
    color: var(--black);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(3rem, 6vw, 5rem);
    line-height: 1;
}

.audience-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.audience-card {
    min-height:220px;
    padding: 1.5rem;
    display:flex;
    flex-direction:column;
    background: #fffdf7;
    border: 1px solid rgba(10,10,10,.1);
    border-top:4px solid var(--pitch-green);
    box-shadow: 0 14px 35px rgba(40,35,20,.07);
}

.audience-icon {
    display:grid;
    place-items:center;
    width: 3rem;
    height: 3rem;
    margin-bottom: 1.2rem;
    border:1px solid rgba(90,143,41,.38);
    border-radius:50%;
    background:rgba(90,143,41,.1);
    color:#315519;
    box-shadow:inset 0 0 0 5px #fffdf7;
    font:700 1rem/1 'Oswald',sans-serif;
    letter-spacing:.04em;
}

.audience-card h3 {
    color: var(--black);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.65rem, 2.5vw, 2rem);
    line-height: 1;
    margin-bottom: .55rem;
}

.audience-card p {
    color: rgba(10,10,10,.66);
}

.programme-overview {
    padding: clamp(5rem, 8vw, 8rem) 4rem;
    background: var(--black);
}

.programme-overview__copy {
    max-width: 900px;
    margin-bottom: 2.25rem;
}

.programme-overview h2 {
    color: var(--cream);
    max-width: 820px;
    font-size: clamp(2.7rem, 5.2vw, 4.45rem);
    line-height: 1.08;
    margin-bottom: 1rem;
}

.programme-overview p {
    max-width: 760px;
    color: rgba(245,240,225,.72);
    font-size: clamp(1.08rem, 1.7vw, 1.25rem);
}

.venue-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.35rem);
}

.venue-card {
    min-height: 280px;
    padding: clamp(1.3rem, 2.4vw, 1.7rem);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background:
        linear-gradient(155deg, rgba(245,240,225,.08), rgba(245,240,225,.02)),
        #171714;
    border: 1px solid rgba(245,240,225,.14);
    border-top: 5px solid var(--pitch-green);
    transition: border-color .25s ease, transform .25s ease, background .25s ease;
}

.venue-card--basketball {
    border-top-color: var(--gold);
}

.venue-card:hover,
.venue-card:focus-within {
    transform: translateY(-4px);
    border-color: rgba(181,160,100,.4);
    background:
        linear-gradient(155deg, rgba(245,240,225,.11), rgba(245,240,225,.03)),
        #171714;
}

.venue-card h3 {
    flex: 1;
    color: var(--cream);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.85rem, 2.8vw, 2.75rem);
    line-height: 1;
    margin: 1rem 0 1.5rem;
}

.venue-card .sport-tag {
    color: var(--gold-light);
}

.venue-card__footer {
    width: 100%;
    padding-top: 1rem;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    border-top: 1px solid rgba(245,240,225,.14);
}

/* Homepage event feature. */
.home-hero-heading__copy { min-width: 0; }
.home-events-grid--featured { grid-template-columns: minmax(0, 760px); }
.home-events-grid--featured .home-event-card { min-height: 240px; }
.home-events-empty { padding: 1.5rem; border-left: 5px solid var(--gold); background: #fff; color: rgba(10,10,10,.7); }
.home-events-empty a { color: var(--black); font-weight: 800; }
.home-event-card--evergreen { max-width:760px;background:linear-gradient(120deg,#fff 0 72%,rgba(90,143,41,.1) 72.1%); }
.home-event-card--evergreen h3 { font-size:clamp(2.3rem,5vw,3.8rem); }
.home-event-actions { margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem; }
.home-event-card .home-event-actions a { min-height:48px;margin-top:0;padding:.8rem 1.1rem;display:inline-flex;align-items:center;justify-content:center;background:var(--black);color:var(--cream);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase; }
.home-event-card .home-event-actions .card-action--portal { background:var(--gold);color:var(--black); }
@media(max-width:560px){.home-event-actions{display:grid}.home-event-card .home-event-actions a{width:100%;text-align:center}}

@media (max-width: 760px) {
    .home-hero-heading { align-items: stretch; flex-direction: column; gap: 1.25rem; }
}

@media (max-width: 360px) {
    .home-hero { padding-right: .85rem; padding-left: .85rem; }
    .sport-card__content { padding: 1.15rem; }
    .sport-card__button,
    .venue-card__button,
    .contact-cta__actions a { width: 100%; }
    .events-heading h2 { font-size: clamp(2.8rem, 15vw, 3.7rem); }
}

html.large-text .home-hero-heading,
html.large-text .events-heading,
html.large-text .contact-cta { align-items: stretch; }

html.large-text .events-heading .btn-secondary { flex: 0 0 auto; }

@media (max-width: 900px) {
    html.large-text .home-hero-heading,
    html.large-text .events-heading { flex-direction: column; }
    html.large-text .events-heading .btn-secondary { width: 100%; }
}

@media (max-width: 1024px) {
    .home-hero {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .home-hero-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 1.25rem;
    }

    .friday-feature {
        grid-template-columns: 1fr;
    }

    .sport-card {
        min-height: clamp(380px, 48vw, 500px);
    }

    .sport-card h2 {
        font-size: clamp(3rem, 7vw, 4.6rem);
    }

    .audience-section,
    .programme-overview {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .audience-grid,
    .venue-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .venue-card--football {
        grid-column: 1 / -1;
        min-height: 230px;
    }
}

@media (max-width: 640px) {
    .home-hero {
        padding: 7.5rem 1.1rem 3.5rem;
    }

    .home-hero h1 {
        font-size: clamp(3.4rem, 17vw, 5rem);
    }

    .friday-feature {
        padding: 1.1rem;
        border-left-width: 4px;
    }

    .friday-feature__actions {
        grid-template-columns: 1fr;
    }

    .friday-feature__groups {
        grid-template-columns: repeat(2, 1fr);
    }

    .friday-feature__groups span {
        text-align: center;
    }

    .friday-feature__actions a {
        min-height: 54px;
    }

    .sport-choice-prompt {
        margin-top: 0;
        font-size: 1.08rem;
    }

    .sport-card-grid,
    .audience-grid,
    .venue-card-grid {
        grid-template-columns: 1fr;
    }

    .sport-card {
        min-height: 285px;
    }

    .sport-card__content {
        padding: 1.35rem;
    }

    .sport-card h2 {
        margin-bottom: .55rem;
        font-size: clamp(3rem, 14vw, 4.2rem);
    }

    .sport-card p {
        min-height:0;
        margin-bottom: 1rem;
        font-size: .94rem;
        line-height: 1.5;
    }

    .sport-card__meta {
        min-height:0;
        margin-bottom: .55rem;
        font-size: .65rem;
    }

    .sport-card__button,
    .venue-card__button {
        width: 100%;
    }

    .audience-section,
    .programme-overview {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }

    .programme-overview h2 {
        font-size: clamp(2.45rem, 12vw, 3.4rem);
        line-height: 1.12;
    }

    .audience-card,
    .venue-card {
        padding: 1.2rem;
        min-height: 230px;
    }

    .audience-card { min-height:190px; }
    .audience-icon { width:2.7rem;height:2.7rem;margin-bottom:1rem; }

    .venue-card--football {
        grid-column: auto;
    }
}

@media (max-width: 420px) {
    .home-hero {
        padding-top: 7rem;
    }

    .sport-card {
        min-height: 270px;
    }

    .sport-card__button {
        min-height: 46px;
        padding: .75rem 1rem;
        font-size: .72rem;
    }
}

/* Homepage parent journey refinements */
.home-events-grid--featured{grid-template-columns:minmax(0,1100px)}
.home-events-grid--featured .home-event-card--evergreen{
    width:100%;
    max-width:1100px;
    min-height:380px;
    padding:0;
    display:grid;
    grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
    overflow:hidden;
    background:#fff;
}
.home-event-card__visual{min-height:380px;position:relative;overflow:hidden;background:#182414}
.home-event-card__visual::after{content:"";position:absolute;inset:42% 0 0;background:linear-gradient(transparent,rgba(10,10,10,.78))}
.home-event-card__visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 44%;transition:transform .4s ease}
.home-event-card--evergreen:hover .home-event-card__visual img{transform:scale(1.04)}
.home-event-card__visual span{position:absolute;z-index:1;right:1.2rem;bottom:1.2rem;left:1.2rem;color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.home-event-card__content{min-width:0;padding:clamp(1.5rem,4vw,2.6rem);display:flex;flex-direction:column;justify-content:center}
.home-event-card--evergreen h3{font-size:clamp(2.5rem,5vw,4.3rem)}

.venue-card{color:inherit;text-decoration:none;cursor:pointer}
.venue-card p{margin:.85rem 0 1.4rem;color:rgba(245,240,225,.78);font-size:.88rem;line-height:1.55}
.venue-card:hover .venue-card__button,.venue-card:focus-visible .venue-card__button{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px)}
.venue-card:focus-visible{outline:3px solid var(--black);outline-offset:4px}

.contact-cta__quicklinks{padding-top:.8rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem 1rem;border-top:1px solid rgba(245,240,225,.2)}
.contact-cta__quicklinks a{width:auto!important;min-height:0!important;padding:0!important;color:var(--gold-light);font-size:.72rem;font-weight:700;text-decoration:underline;text-underline-offset:.2rem}

.home-event-card .home-event-actions .card-action{
    border:2px solid var(--pitch-green);
    background:var(--pitch-green);
    color:#fff;
}
.home-event-card .home-event-actions .card-action:hover,
.home-event-card .home-event-actions .card-action:focus-visible{
    border-color:#6fae34;
    background:#6fae34;
    color:#fff;
}
.home-event-card .home-event-actions .card-action--portal{
    border-color:var(--gold);
    background:var(--gold);
    color:var(--black);
}
.home-event-card .home-event-actions .card-action--portal:hover,
.home-event-card .home-event-actions .card-action--portal:focus-visible{
    border-color:var(--gold-light);
    background:var(--gold-light);
    color:var(--black);
}

@media(max-width:800px){
    .home-events-grid--featured .home-event-card--evergreen{grid-template-columns:1fr}
    .home-event-card__visual{min-height:0;aspect-ratio:16/8}
}
@media(max-width:560px){
    .home-event-card__visual{aspect-ratio:4/3}
    .home-event-card__content{padding:1.35rem}
    .home-event-card--evergreen h3{font-size:clamp(2.35rem,12vw,3.4rem)}
    .contact-cta__quicklinks{display:grid}
}

.sport-card::before{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    left:0;
    height:5px;
    opacity:.85;
    transform:scaleX(.22);
    transform-origin:left;
    transition:opacity .25s ease,transform .35s ease;
}
.sport-card--football::before{background:var(--pitch-green)}
.sport-card--basketball::before{background:#e7672e}
.sport-card:hover::before,.sport-card:focus-visible::before{opacity:1;transform:scaleX(1)}
.sport-card--football:hover,.sport-card--football:focus-visible{border-color:rgba(90,143,41,.72)}
.sport-card--basketball:hover,.sport-card--basketball:focus-visible{border-color:rgba(231,103,46,.72)}

.audience-card h3{min-height:2em}
.venue-card__button{gap:.55rem}
.venue-card__button>span{font-size:1rem;line-height:1;transition:transform .2s ease}
.venue-card:hover .venue-card__button>span,.venue-card:focus-visible .venue-card__button>span{transform:translateX(3px)}
.home-event-actions .card-action{gap:.5rem}

.audience-section,.upcoming-events,.programme-overview,.venue,.testimonial-feature,.cta-section{position:relative}
.upcoming-events,.programme-overview,.venue,.testimonial-feature,.cta-section{border-top:1px solid rgba(181,160,100,.18)}

@media(max-width:640px){
    .audience-card h3{min-height:0}
    .sport-card::before{transform:scaleX(.35)}
}

@media(prefers-reduced-motion:reduce){
    .sport-card::before,.venue-card__button>span{transition:none}
}
