/* ═══════════════════════════════════════════════════════════════════════════
   showcase.css — Shared animated "showcase" home page styles.
   All colours use CSS variables injected by ThemeProvider so any club
   can use this layout without modification.
   Prefix: sc-  (short for "showcase")
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Keyframe animations ──────────────────────────────────────────────────── */

@keyframes sc-aurora {
    0%   { background-position:   0% 50%; }
    50%  { background-position: 100% 50%; }
    100% { background-position:   0% 50%; }
}
@keyframes sc-orb-drift-1 {
    0%, 100% { transform: translate(  0px,   0px) scale(1.00); }
    33%      { transform: translate( 40px, -30px) scale(1.08); }
    66%      { transform: translate(-25px,  20px) scale(0.94); }
}
@keyframes sc-orb-drift-2 {
    0%, 100% { transform: translate(  0px,   0px) scale(1.00); }
    40%      { transform: translate(-50px,  30px) scale(1.10); }
    70%      { transform: translate( 30px, -15px) scale(0.92); }
}
@keyframes sc-orb-drift-3 {
    0%, 100% { transform: translate(  0px,   0px) scale(1.00); }
    25%      { transform: translate( 20px,  40px) scale(1.05); }
    75%      { transform: translate(-30px, -20px) scale(0.97); }
}
@keyframes sc-disc-float {
    0%, 100% { transform: translateY(  0px) rotate( 0deg); }
    50%      { transform: translateY(-28px) rotate(12deg); }
}
@keyframes sc-disc-spin-slow {
    from { transform: rotate(  0deg); }
    to   { transform: rotate(360deg); }
}
@keyframes sc-ring-pulse {
    0%, 100% { opacity: 0.45; transform: scale(1.00); }
    50%      { opacity: 0.10; transform: scale(1.06); }
}
@keyframes sc-shimmer-gradient {
    0%   { background-position: -200% center; }
    100% { background-position:  200% center; }
}
@keyframes sc-glow-pulse {
    0%, 100% { box-shadow: 0  0 24px rgba(var(--sc-glow-rgb, 165,12,27),0.5), 0 4px 16px rgba(0,0,0,0.3); }
    50%      { box-shadow: 0  0 50px rgba(var(--sc-glow-rgb, 165,12,27),0.8), 0 0 28px rgba(var(--sc-glow-rgb, 165,12,27),0.35), 0 4px 16px rgba(0,0,0,0.3); }
}
@keyframes sc-scroll-bounce {
    0%, 100% { transform: translateY(0); opacity: 0.5; }
    50%      { transform: translateY(9px); opacity: 1; }
}
@keyframes sc-slide-up-in {
    from { opacity: 0; transform: translateY(32px); }
    to   { opacity: 1; transform: translateY(0);    }
}
@keyframes sc-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes sc-stat-pop {
    0%   { opacity: 0; transform: scale(0.75); }
    60%  {             transform: scale(1.06); }
    100% { opacity: 1; transform: scale(1.00); }
}
@keyframes sc-pill-shimmer {
    0%, 100% { border-color: rgba(255,255,255,0.18); }
    50%      { border-color: rgba(255,215,0,0.6);   box-shadow: 0 0 12px rgba(255,215,0,0.25); }
}

/* ── Hero section ─────────────────────────────────────────────────────────── */

.sc-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: linear-gradient(-45deg,
        color-mix(in srgb, var(--club-primary) 70%, #000) 0%,
        color-mix(in srgb, var(--club-primary) 50%, #000) 25%,
        color-mix(in srgb, var(--club-primary) 30%, #000) 50%,
        color-mix(in srgb, var(--club-primary) 15%, #000) 75%,
        color-mix(in srgb, var(--club-primary) 60%, #000) 100%);
    background-size: 400% 400%;
    animation: sc-aurora 15s ease infinite;
    color: #fff;
    padding: 5rem 1.5rem 6rem;
}

/* Background orbs — use accent colors via CSS vars */
.sc-hero__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(90px);
    pointer-events: none;
    will-change: transform;
}
.sc-hero__orb--1 {
    width: 640px; height: 640px;
    top: -160px; left: -80px;
    background: radial-gradient(circle, color-mix(in srgb, var(--club-accent-start) 45%, transparent) 0%, transparent 68%);
    animation: sc-orb-drift-1 14s ease-in-out infinite;
}
.sc-hero__orb--2 {
    width: 520px; height: 520px;
    bottom: -80px; right: 8%;
    background: radial-gradient(circle, color-mix(in srgb, var(--club-accent-mid) 28%, transparent) 0%, transparent 68%);
    animation: sc-orb-drift-2 18s ease-in-out infinite;
}
.sc-hero__orb--3 {
    width: 420px; height: 420px;
    top: 35%; right: 28%;
    background: radial-gradient(circle, color-mix(in srgb, var(--club-accent-end) 18%, transparent) 0%, transparent 68%);
    animation: sc-orb-drift-3 11s ease-in-out infinite;
}

/* Disc decoration */
.sc-disc-wrap {
    position: absolute;
    right: 5%;
    top: 50%;
    transform: translateY(-50%);
    width: 400px;
    height: 400px;
    pointer-events: none;
}
.sc-disc {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 210px;
    line-height: 1;
    background: linear-gradient(135deg,
        var(--club-accent-start) 0%,
        var(--club-accent-mid)   60%,
        var(--club-accent-end)   100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: sc-disc-float 5s ease-in-out infinite;
    filter: drop-shadow(0 0 60px color-mix(in srgb, var(--club-accent-start) 50%, transparent));
}
.sc-disc__ring {
    position: absolute;
    inset: -24px;
    border-radius: 50%;
    border: 1.5px solid color-mix(in srgb, var(--club-accent-start) 38%, transparent);
    animation: sc-ring-pulse 4s ease-in-out infinite;
}
.sc-disc__ring--outer {
    inset: -76px;
    border-color: color-mix(in srgb, var(--club-accent-mid) 18%, transparent);
    animation-delay: 1.8s;
    animation-duration: 5.5s;
}

/* Hero body */
.sc-hero__body {
    position: relative;
    z-index: 1;
    max-width: 660px;
    animation: sc-fade-in 0.8s ease both;
}
.sc-hero__eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1.6rem;
    animation: sc-slide-up-in 0.65s ease 0.10s both;
}
.sc-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: rgba(255,255,255,0.08);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.14);
    color: rgba(255,255,255,0.82);
    padding: 0.3rem 0.85rem;
    border-radius: 100px;
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}
.sc-pill--glow {
    border-color: rgba(255,215,0,0.3);
    animation: sc-pill-shimmer 3s ease-in-out infinite;
}

.sc-hero__heading {
    font-size: clamp(3.2rem, 9vw, 7rem);
    font-weight: 900;
    line-height: 0.92;
    letter-spacing: -0.035em;
    margin: 0 0 1.25rem;
    animation: sc-slide-up-in 0.65s ease 0.20s both;
}
.sc-hero__line1 { display: block; color: #fff; }
.sc-hero__line2 { display: block; }

.sc-gradient-text {
    background: linear-gradient(90deg,
        var(--club-accent-start) 0%,
        var(--club-accent-mid)   50%,
        var(--club-accent-end)   100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: sc-shimmer-gradient 4s linear infinite;
}

.sc-hero__tagline {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: rgba(255,255,255,0.68);
    line-height: 1.65;
    margin: 0 0 2rem;
    animation: sc-slide-up-in 0.65s ease 0.30s both;
}
.sc-hero__ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-bottom: 2rem;
    animation: sc-slide-up-in 0.65s ease 0.40s both;
}
.sc-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    animation: sc-slide-up-in 0.65s ease 0.50s both;
}
.sc-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: rgba(255,255,255,0.55);
    font-size: 0.8rem;
    font-weight: 500;
}
.sc-trust-sep { color: rgba(255,255,255,0.25); }

.sc-scroll-cue {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(255,255,255,0.38);
    font-size: 1.6rem;
    text-decoration: none;
    animation: sc-scroll-bounce 2.2s ease-in-out infinite;
}

/* ── Buttons ──────────────────────────────────────────────────────────────── */

.sc-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
    cursor: pointer;
    border: none;
    white-space: nowrap;
    transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease, border-color 150ms ease;
}
.sc-btn:hover { transform: translateY(-2px); text-decoration: none; }
.sc-btn:active { transform: translateY(0); }

.sc-btn--glow {
    background: linear-gradient(135deg, var(--club-accent-start) 0%, var(--club-accent-end) 100%);
    color: #fff;
    animation: sc-glow-pulse 2.8s ease-in-out infinite;
}
.sc-btn--glow:hover { color: #fff; }

.sc-btn--ghost {
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(10px);
    border: 1.5px solid rgba(255,255,255,0.22);
    color: #fff;
}
.sc-btn--ghost:hover {
    background: rgba(255,255,255,0.18);
    color: #fff;
    border-color: rgba(255,255,255,0.38);
}

.sc-btn--outline-dark {
    background: transparent;
    border: 1.5px solid var(--club-accent-start);
    color: var(--club-accent-start);
}
.sc-btn--outline-dark:hover {
    background: var(--club-accent-start);
    color: #fff;
}

.sc-btn--sm { padding: 0.5rem 1.1rem; font-size: 0.85rem; border-radius: 10px; }
.sc-btn--lg { padding: 0.9rem 1.85rem; font-size: 1rem; border-radius: 14px; }

/* ── Stats strip ──────────────────────────────────────────────────────────── */

.sc-stats {
    background: linear-gradient(135deg,
        var(--club-accent-start) 0%,
        var(--club-primary)      100%);
    padding: 3.5rem 1.5rem;
}
.sc-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    text-align: center;
}
.sc-stat {
    padding: 1.25rem 0.5rem;
    animation: sc-stat-pop 0.7s cubic-bezier(0.175,0.885,0.32,1.275) both;
}
.sc-stat:nth-child(1) { animation-delay: 0.10s; }
.sc-stat:nth-child(2) { animation-delay: 0.20s; }
.sc-stat:nth-child(3) { animation-delay: 0.30s; }
.sc-stat:nth-child(4) { animation-delay: 0.40s; }
.sc-stat__value {
    font-size: clamp(2.5rem, 5vw, 4.2rem);
    font-weight: 900;
    line-height: 1;
    color: #fff;
    letter-spacing: -0.04em;
}
.sc-stat__sup {
    font-size: 0.55em;
    opacity: 0.75;
    vertical-align: super;
}
.sc-stat__label {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.62);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 0.4rem;
}

/* ── About pillars ────────────────────────────────────────────────────────── */

.sc-about {
    padding: 5rem 1.5rem;
    background: var(--club-bg, #F5F5DC);
}
.sc-about__intro {
    text-align: center;
    margin-bottom: 3rem;
}
.sc-about__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.sc-about__card {
    background: #fff;
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 4px 24px color-mix(in srgb, var(--club-accent-start) 7%, transparent);
    transition: transform 250ms ease, box-shadow 250ms ease;
    animation: sc-slide-up-in 0.7s ease both;
}
.sc-about__card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 50px color-mix(in srgb, var(--club-accent-start) 14%, transparent);
}
.sc-about__card:nth-child(1) { animation-delay: 0.10s; }
.sc-about__card:nth-child(2) { animation-delay: 0.22s; }
.sc-about__card:nth-child(3) { animation-delay: 0.34s; }
.sc-about__icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--club-accent-start), var(--club-accent-end));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #fff;
    margin-bottom: 1.2rem;
}
.sc-about__card h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: color-mix(in srgb, var(--club-primary) 60%, #000);
    margin: 0 0 0.7rem;
}
.sc-about__card p {
    color: #6b7280;
    font-size: 0.9rem;
    line-height: 1.65;
    margin: 0;
}

/* ── Generic section ──────────────────────────────────────────────────────── */

.sc-section {
    padding: 5rem 1.5rem;
    background: #fff;
}
.sc-section--alt { background: var(--club-bg, #F5F5DC); }

.sc-section__head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 2.5rem;
    flex-wrap: wrap;
    gap: 1rem;
}
.sc-section__title {
    font-size: clamp(1.65rem, 3vw, 2.3rem);
    font-weight: 800;
    color: color-mix(in srgb, var(--club-primary) 60%, #000);
    margin: 0 0 0.2rem;
    letter-spacing: -0.025em;
}
.sc-section__sub {
    color: #6b7280;
    font-size: 0.95rem;
    margin: 0;
}
.sc-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--club-accent-start);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    white-space: nowrap;
    transition: gap 150ms ease;
}
.sc-link-btn:hover {
    gap: 0.7rem;
    color: var(--club-accent-start);
    text-decoration: none;
}

/* ── Loading / empty states ───────────────────────────────────────────────── */

.sc-loading { display: flex; justify-content: center; padding: 3.5rem; }
.sc-spinner {
    width: 38px; height: 38px;
    border: 3px solid color-mix(in srgb, var(--club-accent-start) 14%, transparent);
    border-top-color: var(--club-accent-start);
    border-radius: 50%;
    animation: sc-disc-spin-slow 0.75s linear infinite;
}
.sc-empty {
    text-align: center;
    padding: 4rem 1rem;
    color: #9ca3af;
}
.sc-empty__icon {
    font-size: 3.2rem;
    display: block;
    margin-bottom: 0.85rem;
    opacity: 0.45;
}

/* ── Event cards ──────────────────────────────────────────────────────────── */

.sc-events-grid { display: flex; flex-direction: column; gap: 1rem; }

.sc-event-card {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    background: #fff;
    border: 1.5px solid color-mix(in srgb, var(--club-accent-end) 15%, #eee);
    border-radius: 16px;
    padding: 1.25rem 1.5rem;
    text-decoration: none;
    color: inherit;
    position: relative;
    overflow: hidden;
    transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
    animation: sc-slide-up-in 0.55s ease both;
}
.sc-event-card:nth-child(1) { animation-delay: 0.05s; }
.sc-event-card:nth-child(2) { animation-delay: 0.13s; }
.sc-event-card:nth-child(3) { animation-delay: 0.21s; }
.sc-event-card::before {
    content: '';
    position: absolute;
    left: 0; top: 15%; height: 70%;
    width: 3px;
    background: linear-gradient(180deg, var(--club-accent-start), var(--club-accent-end));
    opacity: 0;
    transition: opacity 200ms ease;
}
.sc-event-card:hover {
    transform: translateX(5px);
    box-shadow: 0 8px 32px color-mix(in srgb, var(--club-accent-start) 13%, transparent);
    border-color: var(--club-accent-start);
    color: inherit;
    text-decoration: none;
}
.sc-event-card:hover::before { opacity: 1; }

.sc-event-card__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 60px;
    background: linear-gradient(135deg, var(--club-accent-start), var(--club-accent-end));
    border-radius: 13px;
    color: #fff;
    flex-shrink: 0;
}
.sc-event-card__day   { font-size: 1.45rem; font-weight: 800; line-height: 1; }
.sc-event-card__month { font-size: 0.63rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; opacity: 0.88; }

.sc-event-card__body { flex: 1; min-width: 0; }
.sc-event-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: color-mix(in srgb, var(--club-primary) 60%, #000);
    margin: 0 0 0.3rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sc-event-card__meta {
    font-size: 0.82rem;
    color: #6b7280;
    margin-bottom: 0.2rem;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    flex-wrap: wrap;
}
.sc-event-card__footer { margin-top: 0.2rem; }
.sc-event-card__attendees { font-size: 0.79rem; color: #9ca3af; }
.sc-event-card__ticket-badge {
    background: #fef9c3;
    color: #854d0e;
    padding: 0.1rem 0.55rem;
    border-radius: 100px;
    font-weight: 600;
    font-size: 0.74rem;
}
.sc-event-card__arrow {
    color: var(--club-accent-start);
    opacity: 0;
    flex-shrink: 0;
    font-size: 1rem;
    transition: opacity 200ms ease, transform 200ms ease;
}
.sc-event-card:hover .sc-event-card__arrow { opacity: 1; transform: translateX(4px); }

/* ── News cards ───────────────────────────────────────────────────────────── */

.sc-news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}
.sc-news-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 20px;
    padding: 1.75rem;
    text-decoration: none;
    color: inherit;
    border: 1.5px solid color-mix(in srgb, var(--club-accent-end) 15%, #eee);
    box-shadow: 0 4px 22px color-mix(in srgb, var(--club-accent-start) 6%, transparent);
    position: relative;
    overflow: hidden;
    transition: transform 240ms ease, box-shadow 240ms ease;
    animation: sc-slide-up-in 0.6s ease both;
}
.sc-news-card:nth-child(1) { animation-delay: 0.05s; }
.sc-news-card:nth-child(2) { animation-delay: 0.15s; }
.sc-news-card:nth-child(3) { animation-delay: 0.25s; }
.sc-news-card::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--club-accent-start), var(--club-accent-end));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 240ms ease;
}
.sc-news-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 52px color-mix(in srgb, var(--club-accent-start) 15%, transparent);
    color: inherit;
    text-decoration: none;
}
.sc-news-card:hover::after { transform: scaleX(1); }

.sc-news-card__meta { margin-bottom: 0.7rem; }
.sc-news-card__date {
    font-size: 0.77rem;
    color: var(--club-accent-start);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.sc-news-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: color-mix(in srgb, var(--club-primary) 60%, #000);
    margin: 0 0 0.55rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sc-news-card__excerpt {
    font-size: 0.875rem;
    color: #6b7280;
    line-height: 1.65;
    flex: 1;
    margin: 0 0 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.sc-news-card__read {
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--club-accent-start);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    transition: gap 150ms ease;
}
.sc-news-card:hover .sc-news-card__read { gap: 0.6rem; }

/* ── Training schedule strip ──────────────────────────────────────────────── */

.sc-training {
    background: linear-gradient(135deg,
        var(--club-primary)      0%,
        var(--club-accent-start) 100%);
    padding: 4.5rem 1.5rem;
    color: #fff;
}
.sc-training__grid {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 3rem;
    align-items: center;
}
.sc-training__sessions {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}
.sc-training__session {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 14px;
    padding: 0.9rem 1.1rem;
    backdrop-filter: blur(6px);
    transition: background 200ms ease;
}
.sc-training__session:hover { background: rgba(255,255,255,0.14); }
.sc-training__session-day {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    background: rgba(255,255,255,0.18);
    border-radius: 8px;
    padding: 0.3rem 0.6rem;
    color: rgba(255,255,255,0.9);
    flex-shrink: 0;
    align-self: center;
}
.sc-training__session-name {
    font-weight: 600;
    font-size: 0.92rem;
    color: #fff;
    margin-bottom: 0.2rem;
}
.sc-training__session-detail {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.62);
}
.sc-training__cta-panel {
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 24px;
    padding: 2.5rem 1.5rem;
    text-align: center;
    backdrop-filter: blur(8px);
}
.sc-training__cta-icon {
    font-size: 3rem;
    background: linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.6) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    margin-bottom: 0.75rem;
    animation: sc-disc-float 4s ease-in-out infinite;
}
.sc-training__cta-text {
    font-size: 0.88rem;
    color: rgba(255,255,255,0.7);
    margin-bottom: 1.25rem;
}

/* ── Join CTA ──────────────────────────────────────────────────────────────── */

.sc-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(-45deg,
        color-mix(in srgb, var(--club-primary) 70%, #000) 0%,
        color-mix(in srgb, var(--club-primary) 50%, #000) 25%,
        color-mix(in srgb, var(--club-primary) 30%, #000) 50%,
        color-mix(in srgb, var(--club-primary) 10%, #000) 75%);
    background-size: 400% 400%;
    animation: sc-aurora 18s ease infinite;
    padding: 7rem 1.5rem;
    text-align: center;
    color: #fff;
}
.sc-cta__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(85px);
    pointer-events: none;
}
.sc-cta__orb--1 {
    width: 520px; height: 520px;
    top: -100px; left: -60px;
    background: radial-gradient(circle, color-mix(in srgb, var(--club-accent-start) 42%, transparent) 0%, transparent 70%);
    animation: sc-orb-drift-1 13s ease-in-out infinite;
}
.sc-cta__orb--2 {
    width: 420px; height: 420px;
    bottom: -80px; right: 5%;
    background: radial-gradient(circle, color-mix(in srgb, var(--club-accent-mid) 28%, transparent) 0%, transparent 70%);
    animation: sc-orb-drift-2 16s ease-in-out infinite;
}
.sc-cta__disc {
    position: relative;
    z-index: 1;
    font-size: 4rem;
    display: block;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, var(--club-accent-start), var(--club-accent-end));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: sc-disc-float 4.5s ease-in-out infinite;
}
.sc-cta__body { position: relative; z-index: 1; }
.sc-cta__heading {
    font-size: clamp(2.6rem, 5.5vw, 4.8rem);
    font-weight: 900;
    letter-spacing: -0.035em;
    margin: 0 0 1.2rem;
    line-height: 1.02;
}
.sc-cta__text {
    font-size: clamp(0.95rem, 1.5vw, 1.1rem);
    color: rgba(255,255,255,0.62);
    max-width: 560px;
    margin: 0 auto 2.5rem;
    line-height: 1.7;
}
.sc-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.sc-cta__footnote {
    font-size: 0.82rem;
    color: rgba(255,255,255,0.38);
    margin: 0;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */

@media (max-width: 1199.98px) {
    .sc-disc-wrap { width: 320px; height: 320px; right: 3%; }
    .sc-disc { font-size: 165px; }
    .sc-training__grid { grid-template-columns: 1fr 240px; gap: 2rem; }
}

@media (max-width: 991.98px) {
    .sc-disc-wrap { display: none; }
    .sc-hero { padding: 4rem 1.5rem 5.5rem; }
    .sc-stats__grid { grid-template-columns: repeat(2, 1fr); }
    .sc-about__grid { grid-template-columns: 1fr; }
    .sc-news-grid { grid-template-columns: repeat(2, 1fr); }
    .sc-training__grid { grid-template-columns: 1fr; gap: 2rem; }
    .sc-training__cta-panel { max-width: 340px; margin: 0 auto; }
}

@media (max-width: 767.98px) {
    .sc-hero { min-height: 90vh; padding: 3.5rem 1rem 5rem; }
    .sc-section, .sc-about, .sc-cta, .sc-training { padding: 3.5rem 1rem; }
    .sc-news-grid { grid-template-columns: 1fr; }
    .sc-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
    .sc-hero__trust { display: none; }
}

@media (max-width: 479.98px) {
    .sc-hero__ctas { flex-direction: column; }
    .sc-btn { width: 100%; justify-content: center; }
}
