:root { --gold:#b5a064; --gold-light:#d4c68a; --cream:#f5f0e1; --black:#0a0a0a; --green:#5a8f29; --orange:#d4772b; }
        * { box-sizing:border-box; margin:0; padding:0; }
        html { scroll-behavior:smooth; }
        body { background:var(--black); color:var(--cream); font-family:'DM Sans',sans-serif; line-height:1.6; }
        a { color:inherit; }
        nav { position:fixed; z-index:20; top:0; width:100%; display:flex; align-items:center; justify-content:space-between; padding:1rem 4rem; background:rgba(10,10,10,.92); backdrop-filter:blur(12px); }
        .logo img { width:58px; height:58px; object-fit:cover; border:2px solid var(--gold); border-radius:50%; }
        .nav-links { display:flex; gap:2rem; list-style:none; }
        .nav-links a { text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; }
        .nav-cta,.book-button { display:inline-block; background:var(--gold); color:var(--black); padding:.85rem 1.3rem; text-decoration:none; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
        .event-hero { min-height:68vh; display:grid; align-items:end; padding:10rem 4rem 5rem; background:linear-gradient(90deg,rgba(10,10,10,.98) 0%,rgba(10,10,10,.72) 46%,rgba(10,10,10,.18) 100%),linear-gradient(0deg,rgba(10,10,10,.58),transparent 55%),url('../images/football-hero.jpg') 56% center/cover; }
        .event-hero-inner { max-width:1200px; width:100%; margin:auto; }
        .eyebrow { color:var(--gold-light); text-transform:uppercase; letter-spacing:.25em; font-size:.75rem; font-weight:700; }
        h1,h2,h3 { font-family:'Oswald',sans-serif; line-height:.95; font-weight:700; }
        h1 { margin:.8rem 0 2rem; font-size:clamp(5rem,12vw,10rem); max-width:900px; }
        .event-hero-inner > p { padding-top:1rem; }
        .event-hero p { max-width:650px; color:rgba(245,240,225,.75); font-size:1.15rem; }
        .event-hero-action { width:fit-content; min-height:50px; margin-top:1.8rem; padding:.9rem 1.3rem; display:inline-flex; align-items:center; justify-content:center; background:var(--gold); color:var(--black); font-size:.76rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
        .event-quick-facts { display:grid; grid-template-columns:repeat(3,1fr); background:var(--gold); color:var(--black); }
        .event-quick-facts div { min-width:0; padding:1.25rem clamp(1rem,3vw,2.5rem); border-right:1px solid rgba(10,10,10,.18); }
        .event-quick-facts div:last-child { border-right:0; }
        .event-quick-facts strong,.event-quick-facts span { display:block; }
        .event-quick-facts strong { font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
        .event-quick-facts span { margin-top:.15rem; color:rgba(10,10,10,.62); font-size:.76rem; }
        .category-picker { position:relative; z-index:5; max-width:1100px; margin:-2.5rem auto 0; padding:0 1.5rem; }
        .picker-inner { background:var(--gold); color:var(--black); padding:1.6rem 2rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; box-shadow:0 20px 50px rgba(0,0,0,.35); }
        .picker-inner h2 { font-size:2.4rem; }
        .category-buttons { display:flex; gap:.7rem; }
        .filter-button { border:0; background:var(--black); color:var(--cream); padding:.9rem 1.2rem; cursor:pointer; font:700 .75rem 'DM Sans',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
        .filter-button[aria-pressed="true"] { background:var(--cream); color:var(--black); outline:2px solid var(--black); }
        .events-wrap { max-width:1200px; margin:0 auto; padding:6rem 2rem; }
        .sport-section + .sport-section { margin-top:7rem; }
        .section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid rgba(181,160,100,.25); }
        .section-heading h2 { font-size:clamp(3.5rem,7vw,6rem); }
        .section-heading p { color:rgba(245,240,225,.55); max-width:450px; }
        .sport-dot { display:inline-block; width:12px; height:12px; margin-right:.5rem; border-radius:50%; background:var(--gold); }
        #football .sport-dot { background:var(--green); }
        .event-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2rem; }
        .event-card { overflow:hidden; background:linear-gradient(180deg,rgba(181,160,100,.1),rgba(181,160,100,.025)); border:1px solid rgba(181,160,100,.2); }
        .event-image { position:relative; aspect-ratio:16/8; overflow:hidden; background:#171717; }
        .event-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
        .event-card:hover .event-image img { transform:scale(1.04); }
        .event-category { position:absolute; left:1rem; top:1rem; padding:.4rem .7rem; background:var(--gold); color:var(--black); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
        .football-card .event-category { background:var(--green); color:white; }
        .event-body { padding:1.6rem; }
        .event-date { color:var(--gold-light); text-transform:uppercase; letter-spacing:.12em; font-size:.75rem; font-weight:700; }
        .event-body h3 { margin:.6rem 0 1rem; font-size:2.4rem; }
        .event-description { color:rgba(245,240,225,.62); margin-bottom:1.4rem; }
        .event-details { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; padding:1.2rem 0; border-top:1px solid rgba(181,160,100,.15); }
        .event-detail { color:rgba(245,240,225,.55); font-size:.78rem; }
        .event-detail strong { display:block; color:var(--cream); font-size:.88rem; }
        .event-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }
        .availability { color:var(--gold-light); font-weight:700; font-size:.8rem; }
        .empty { padding:2rem; color:rgba(245,240,225,.55); border:1px dashed rgba(181,160,100,.3); }
        footer { padding:3rem 4rem; border-top:1px solid rgba(181,160,100,.18); display:flex; justify-content:space-between; align-items:center; color:rgba(245,240,225,.5); font-size:.85rem; }
        footer img { width:60px; border-radius:50%; }
        .mobile-book { display:none; }
        [hidden] { display:none !important; }
        .events-wrap { max-width:none; background:#fffdf7; color:var(--black); padding-left:max(2rem,calc((100% - 1200px)/2)); padding-right:max(2rem,calc((100% - 1200px)/2)); }
        .section-heading { border-bottom-color:rgba(10,10,10,.14); }
        .section-heading p { color:rgba(10,10,10,.6); }
        .event-card { background:white; border-color:rgba(10,10,10,.1); box-shadow:0 16px 45px rgba(40,35,20,.08); }
        .event-body h3 { color:var(--black); }
        .event-description,.event-detail { color:rgba(10,10,10,.6); }
        .event-detail strong { color:var(--black); }
        .event-details { border-top-color:rgba(10,10,10,.1); }
        .event-date { color:#756327; }
        .availability { color:var(--green); }
        .empty { color:rgba(10,10,10,.55); border-color:rgba(10,10,10,.2); }
        @media(max-width:800px) {
            body { padding-bottom:0; }
            nav { padding:.75rem 1.2rem; }
            .nav-links,.nav-cta { display:none; }
            .event-hero { min-height:62vh; padding:8rem 1.25rem 4.5rem; }
            h1 { font-size:clamp(4.5rem,22vw,7rem); }
            .event-hero-inner > p { padding-top:.75rem; }
            .picker-inner,.section-heading { align-items:stretch; flex-direction:column; }
            .category-buttons { display:grid; grid-template-columns:1fr 1fr 1fr; }
            .filter-button { padding:.8rem .35rem; }
            .events-wrap { padding:5rem 1.25rem; }
            .event-grid { grid-template-columns:1fr; }
            .event-details { grid-template-columns:1fr 1fr; }
            footer { padding:2rem 1.25rem; flex-direction:column; text-align:center; gap:1rem; }
            .mobile-book { display:block; position:fixed; z-index:30; bottom:0; left:0; right:0; padding:1rem; background:var(--gold); color:var(--black); text-align:center; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
        }
.event-category-eyebrow {
    color: #0a0a0a;
}

@media(max-width:1024px) and (min-width:641px) {
    .event-hero { min-height:58vh; padding:9rem 2rem 4rem; }
    .category-picker { padding:0 2rem; }
    .picker-inner { align-items:stretch; flex-direction:column; }
    .events-wrap { padding:5rem 2rem; }
    .event-grid { gap:1.25rem; }
    .event-body { padding:1.3rem; }
    .event-bottom { align-items:stretch; flex-direction:column; }
    .book-button { text-align:center; }
}

@media(max-width:640px) {
    body { padding-bottom:0; }
    .event-hero {
        min-height:50vh;
        padding:7rem 1.1rem 3.5rem;
        background-image:
            linear-gradient(90deg,rgba(10,10,10,.98) 0%,rgba(10,10,10,.72) 46%,rgba(10,10,10,.18) 100%),
            linear-gradient(0deg,rgba(10,10,10,.58),transparent 55%),
            url('../images/football-hero-1024.webp');
    }
    h1 { font-size:clamp(3.8rem,18vw,5.8rem); }
    .event-hero p { font-size:1rem; }
    .category-picker { margin:-1.5rem auto 0; padding:0 .75rem; }
    .picker-inner { padding:1.2rem; gap:1rem; }
    .category-buttons { grid-template-columns:1fr; gap:.45rem; }
    .events-wrap { padding:3.5rem 1.1rem; }
    .sport-section + .sport-section { margin-top:4rem; }
    .section-heading { gap:.75rem; margin-bottom:1.5rem; }
    .section-heading h2 { font-size:clamp(3rem,15vw,4.5rem); }
    .event-image { aspect-ratio:16/10; }
    .event-body { padding:1.2rem; }
    .event-body h3 { font-size:2rem; }
    .event-details { grid-template-columns:1fr; }
    .event-bottom { align-items:stretch; flex-direction:column; }
    .book-button { width:100%; text-align:center; }
}

/* Parent-friendly date-first event schedule */
.event-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.event-month {
    margin: 1.5rem 0 .25rem;
    padding-bottom: .65rem;
    border-bottom: 2px solid rgba(10,10,10,.14);
    color: var(--black);
    font-size: clamp(2rem, 4vw, 3rem);
}

.event-month:first-child { margin-top: 0; }

.event-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 170px;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(10,10,10,.12);
    border-left: 5px solid var(--gold);
    box-shadow: 0 8px 25px rgba(40,35,20,.07);
}

.event-card.football-card { border-left-color: var(--green); }

.event-date-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    padding: 1rem .5rem;
    background: var(--black);
    color: var(--cream);
    text-align: center;
    text-transform: uppercase;
}

.football-card .event-date-badge { background: #315519; }
.event-date-badge span { font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.event-date-badge strong { margin: .15rem 0; color: white; font: 700 2.7rem/1 'Oswald', sans-serif; }

.event-body { min-width: 0; padding: 1.3rem 1.5rem; }
.event-body .event-category {
    position: static;
    display: inline-block;
    margin-bottom: .55rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    background: rgba(181,160,100,.18);
    color: #66551f;
}
.football-card .event-body .event-category { background: rgba(90,143,41,.14); color: #315519; }
.event-body h3 { margin: 0 0 .9rem; font-size: clamp(1.65rem, 3vw, 2.25rem); }

.event-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1.25rem;
    padding: 0;
    border: 0;
}
.event-detail { color: rgba(10,10,10,.58); font-size: .72rem; }
.event-detail span { display: block; margin-bottom: .1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.event-detail strong { color: var(--black); font-size: .88rem; line-height: 1.35; }
.event-location { grid-column: 1 / -1; }

.event-more { margin-top: .9rem; color: rgba(10,10,10,.68); font-size: .88rem; }
.event-more summary { width: fit-content; cursor: pointer; color: #4d421f; font-weight: 800; }
.event-more summary:hover { text-decoration: underline; text-underline-offset: .2rem; }
.event-more p { max-width: 760px; margin-top: .55rem; }

.event-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: .75rem;
    padding: 1.25rem;
    background: #f6f2e8;
    border-left: 1px solid rgba(10,10,10,.09);
}
.event-actions .book-button { width: 100%; }
.booking-note {
    color: rgba(10,10,10,.62);
    font-size: .72rem;
    line-height: 1.35;
    text-align: center;
}

.event-help {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
    align-items: center;
    gap: 3rem;
    margin-top: 6rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: var(--black);
    color: var(--cream);
}
.event-help h2 { margin: .5rem 0 .8rem; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.event-help p { max-width: 650px; color: rgba(245,240,225,.72); }
.event-help-actions { display: grid; gap: .7rem; }
.event-help-actions a { min-height: 46px; display: grid; place-items: center; padding: .8rem 1rem; text-align: center; font-weight: 800; text-decoration: none; }
.event-help-actions .help-phone { border: 1px solid rgba(245,240,225,.35); }
.event-help-actions .help-contact { color: var(--gold-light); text-decoration: underline; text-underline-offset: .2rem; }
.availability { text-align: center; line-height: 1.3; }
.event-actions .book-button { min-height: 46px; display: grid; place-items: center; text-align: center; }

@media(max-width:800px) {
    .event-help { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 4rem; }
    .event-card { grid-template-columns: 78px minmax(0, 1fr); }
    .event-date-badge { min-height: 136px; }
    .event-actions {
        grid-column: 1 / -1;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: .9rem 1rem;
        border-top: 1px solid rgba(10,10,10,.09);
        border-left: 0;
    }
    .event-actions .book-button { min-width: 170px; }
}

@media(max-width:640px) {
    .category-buttons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .picker-inner h2 { font-size: 2rem; }
    .filter-button { min-height: 44px; padding: .7rem .3rem; font-size: .68rem; }
    .event-month { margin-top: 1.25rem; font-size: 2.1rem; }
    .event-card { grid-template-columns: 68px minmax(0, 1fr); }
    .event-date-badge { min-height: 126px; padding: .8rem .3rem; }
    .event-date-badge strong { font-size: 2.25rem; }
    .event-body { padding: 1rem; }
    .event-body h3 { font-size: 1.65rem; }
    .event-details { grid-template-columns: 1fr 1fr; gap: .65rem; }
    .event-location { grid-column: 1 / -1; }
    .event-actions { align-items: stretch; flex-direction: column; }
    .event-actions .book-button { width: 100%; min-width: 0; }
    .availability { text-align: left; }
}

.event-essentials { margin-top: clamp(4rem,8vw,7rem); }
.event-essentials__heading { margin-bottom:2rem; }
.event-essentials__heading h2 { margin:.55rem 0 .75rem; font-size:clamp(3rem,6vw,5.25rem); }
.event-essentials__heading p { max-width:620px; color:rgba(10,10,10,.62); }
.event-essentials__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.event-essentials article { min-width:0; padding:1.35rem; background:#fff; border-top:4px solid var(--gold); box-shadow:0 10px 28px rgba(40,35,20,.07); }
.event-essentials svg { width:38px; height:38px; margin-bottom:1rem; fill:none; stroke:var(--green); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.event-essentials h3 { margin-bottom:.5rem; font-size:1.55rem; }
.event-essentials article p { color:rgba(10,10,10,.6); font-size:.84rem; }

.event-type { display:inline-block; margin:0 0 .55rem .35rem; padding:.25rem .55rem; border-radius:999px; background:var(--event-accent,#315519); color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.event-theme-mastery { --event-accent:#315519; }
.event-theme-world-cup { --event-accent:#7a5d12; }
.event-theme-technical { --event-accent:#26547c; }
.event-theme-goalkeepers { --event-accent:#914f1f; }
.event-theme-special { --event-accent:#65417c; }
.event-card[class*="event-theme-"] { border-left-color:var(--event-accent); }
.event-card[class*="event-theme-"] .event-date-badge { background:var(--event-accent); }

.event-mobile-action { display:none; }

@media(max-width:900px) {
    .event-essentials__grid { grid-template-columns:repeat(2,1fr); }
}

@media(max-width:800px) {
    body[data-page="events"] { padding-bottom:calc(74px + env(safe-area-inset-bottom,0px)); }
    .event-mobile-action { position:fixed; z-index:8500; right:1rem; bottom:max(1rem,env(safe-area-inset-bottom,0px)); left:1rem; min-height:52px; padding:.9rem 1rem; display:flex; align-items:center; justify-content:center; background:var(--gold); color:var(--black); box-shadow:0 12px 30px rgba(0,0,0,.3); font-size:.78rem; font-weight:800; letter-spacing:.08em; text-align:center; text-decoration:none; text-transform:uppercase; }
    body[data-page="events"] .site-footer { padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px)); }
}

@media(max-width:640px) {
    .event-hero-action { width:100%; }
    .event-quick-facts { grid-template-columns:1fr; }
    .event-quick-facts div { border-right:0; border-bottom:1px solid rgba(10,10,10,.18); }
    .event-quick-facts div:last-child { border-bottom:0; }
    .event-essentials__grid { grid-template-columns:1fr; }
}

/* Evergreen event showcase: live dates remain on the booking portal. */
.event-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(1.25rem,3vw,2rem);
}
.event-card.event-card--showcase {
    min-width:0;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(10,10,10,.11);
    border-top:5px solid var(--green);
    border-left:1px solid rgba(10,10,10,.11);
    background:#fff;
    box-shadow:0 18px 48px rgba(40,35,20,.1);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.event-card.event-card--showcase:hover {
    border-color:rgba(90,143,41,.45);
    box-shadow:0 24px 60px rgba(40,35,20,.15);
    transform:translateY(-4px);
}
.event-card__visual {
    position:relative;
    overflow:hidden;
    aspect-ratio:16/9;
    background:#162313;
}
.event-card__visual::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(10,10,10,.05),rgba(10,10,10,.64));
    pointer-events:none;
}
.event-card__visual img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .45s ease;
}
.event-card--showcase:hover .event-card__visual img { transform:scale(1.04); }
.event-card__number {
    position:absolute;
    z-index:1;
    top:1rem;
    left:1rem;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.4);
    border-radius:50%;
    background:rgba(10,10,10,.72);
    color:#fff;
    font:700 1.15rem 'Oswald',sans-serif;
    backdrop-filter:blur(8px);
}
.event-card__type {
    position:absolute;
    z-index:1;
    right:1rem;
    bottom:1rem;
    left:1rem;
    color:#fff;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.event-card--showcase .event-body {
    flex:1;
    padding:clamp(1.35rem,3vw,2rem);
}
.event-card--showcase .event-body h3 {
    margin:.55rem 0 1.25rem;
    font-size:clamp(2rem,3.8vw,3rem);
    line-height:.98;
}
.event-card--showcase .event-details {
    grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);
    padding:1rem 0;
    border-top:1px solid rgba(10,10,10,.09);
    border-bottom:1px solid rgba(10,10,10,.09);
}
.event-card--showcase .event-location { grid-column:auto; }
.event-card--showcase .event-more { margin-top:1.15rem; }
.event-card--showcase .event-more summary {
    min-height:44px;
    display:inline-flex;
    align-items:center;
}
.event-card--showcase .event-actions {
    min-height:112px;
    padding:1.15rem clamp(1.35rem,3vw,2rem);
    display:grid;
    grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr);
    align-items:center;
    gap:1rem;
    border-top:1px solid rgba(10,10,10,.09);
    border-left:0;
    background:#f6f2e8;
}
.event-card--showcase .booking-note { text-align:left; }
.event-card--showcase .book-button { min-width:0; }
.event-portal-note {
    margin-top:clamp(2rem,5vw,3.5rem);
    padding:clamp(1.4rem,3vw,2rem);
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:1.25rem;
    border-left:5px solid var(--gold);
    background:var(--black);
    color:var(--cream);
}
.event-portal-note strong {
    color:var(--gold-light);
    font:700 1.4rem 'Oswald',sans-serif;
    text-transform:uppercase;
}
.event-portal-note span { color:rgba(245,240,225,.68);font-size:.86rem; }
.event-portal-note a {
    min-height:48px;
    padding:.85rem 1.15rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:var(--gold);
    color:var(--black);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.07em;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
}
@media(max-width:900px) {
    .event-grid { grid-template-columns:1fr; }
    .event-card.event-card--showcase { display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); }
    .event-card--showcase .event-card__visual { height:100%;aspect-ratio:auto; }
    .event-card--showcase .event-body { align-self:center; }
    .event-card--showcase .event-actions { grid-column:1/-1; }
    .event-portal-note { grid-template-columns:1fr auto; }
    .event-portal-note strong { grid-column:1/-1; }
}
@media(max-width:680px) {
    .event-card.event-card--showcase { display:flex; }
    .event-card--showcase .event-card__visual { height:auto;aspect-ratio:16/9; }
    .event-card--showcase .event-details { grid-template-columns:1fr; }
    .event-card--showcase .event-location { grid-column:1; }
    .event-card--showcase .event-actions { min-height:0;grid-template-columns:1fr; }
    .event-card--showcase .booking-note { text-align:center; }
    .event-portal-note { grid-template-columns:1fr;text-align:center; }
    .event-portal-note strong { grid-column:auto; }
    .event-portal-note a { width:100%; }
}

.events-basketball {
    margin-top:clamp(4rem,8vw,7rem);
    display:grid;
    grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
    overflow:hidden;
    background:#112238;
    color:var(--cream);
    box-shadow:0 22px 60px rgba(17,34,56,.2);
}
.events-basketball__visual {
    min-height:480px;
    position:relative;
    overflow:hidden;
}
.events-basketball__visual::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 42%,rgba(7,15,25,.78));
}
.events-basketball__visual img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.events-basketball__visual span {
    position:absolute;
    z-index:1;
    right:1.5rem;
    bottom:1.4rem;
    left:1.5rem;
    color:#fff;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.events-basketball__content {
    padding:clamp(2rem,5vw,4rem);
    align-self:center;
}
.events-basketball__content .eyebrow { color:#e98a5f; }
.events-basketball__content h2 {
    max-width:620px;
    margin:.65rem 0 1.25rem;
    color:#fff;
    font-size:clamp(3rem,6vw,5.4rem);
    line-height:.94;
    text-transform:uppercase;
}
.events-basketball__content>p {
    max-width:650px;
    color:rgba(245,240,225,.74);
}
.events-basketball__note {
    margin-top:1.35rem;
    padding:1rem 1.1rem;
    border-left:4px solid var(--gold);
    background:rgba(255,255,255,.06);
    font-size:.88rem;
}
.events-basketball__note strong {
    display:block;
    color:var(--cream);
}
.events-basketball__actions {
    margin-top:1.7rem;
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
}
.events-basketball__actions a {
    min-height:48px;
    padding:.85rem 1.15rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:2px solid var(--gold);
    background:var(--gold);
    color:var(--black);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.07em;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
}
.events-basketball__actions a:first-child {
    border-color:rgba(245,240,225,.5);
    background:transparent;
    color:var(--cream);
}
.events-basketball__actions a:hover,
.events-basketball__actions a:focus-visible { transform:translateY(-2px); }
@media(max-width:860px) {
    .events-basketball { grid-template-columns:1fr; }
    .events-basketball__visual { min-height:0;aspect-ratio:16/8; }
}
@media(max-width:560px) {
    .events-basketball__visual { aspect-ratio:4/3; }
    .events-basketball__content { padding:1.5rem; }
    .events-basketball__content h2 { font-size:clamp(2.8rem,14vw,4rem); }
    .events-basketball__actions { display:grid; }
    .events-basketball__actions a { width:100%; }
}
