@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap');

:root { color-scheme:dark; --ks-bg:#080f18; --ks-panel:#101c29; --ks-ink:#f1f5f9; --ks-muted:#acbac8; --ks-line:#293746; --ks-football:#71e0ab; --ks-basketball:#ffae61; --ks-accent:var(--ks-football); --ks-tint:#102d25; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { margin:0; background:var(--ks-bg); color:var(--ks-ink); font-family:Manrope,Segoe UI,Arial,sans-serif; font-size:1rem; line-height:1.6; }
body[data-sport=basketball] { --ks-accent:var(--ks-basketball); --ks-tint:#352315; }
a { color:inherit; text-decoration:none; }
button,a { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:3px solid var(--ks-accent); outline-offset:6px; }
[hidden] { display:none !important; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:Sora,Segoe UI,Arial,sans-serif; text-wrap:balance; }
.ks-skip { position:absolute; top:-100px; left:1rem; padding:.75rem 1rem; background:var(--ks-football); color:#071a12; z-index:100; }
.ks-skip:focus { top:.5rem; }
.ks-header { max-width:1380px; margin:auto; display:flex; align-items:center; gap:2rem; padding:1.5rem 3rem; border-bottom:1px solid var(--ks-line); }
.ks-brand { display:flex; align-items:center; gap:.75rem; flex:none; }
.ks-brand img { object-fit:contain; border-radius:12px; }
.ks-brand strong { display:block; font-size:1.3rem; letter-spacing:-.05em; font-family:Sora,Segoe UI,sans-serif; }
.ks-brand small { display:block; font-size:.875rem; color:var(--ks-muted); }
.ks-nav { display:flex; align-items:center; justify-content:flex-end; flex:1; gap:1.5rem; font-size:.875rem; font-weight:700; }
.ks-nav a { padding:.55rem 0; }
.ks-nav a:hover,.ks-footer a:hover { color:var(--ks-accent); }
.ks-nav-current { border-bottom:2px solid var(--ks-accent); }
.ks-language { display:flex; padding:4px; border:1px solid var(--ks-line); border-radius:999px; font-size:.875rem; font-weight:700; }
.ks-language a { padding:.45rem .7rem; border-radius:999px; }
.ks-language [aria-current=page] { background:#283746; color:white; }
.ks-main { max-width:1284px; padding:0 3rem; margin:auto; }
.ks-welcome {
  margin-top:2rem;
  padding:clamp(1rem,2.5vw,2rem);
  border:1px solid #ffffff1c;
  border-radius:28px;
  background:
    radial-gradient(ellipse at 0 0,#71e0ab16,transparent 52%),
    radial-gradient(ellipse at 100% 0,#ffae6117,transparent 52%),
    linear-gradient(180deg,#101d29,#0b141f);
  box-shadow:0 20px 70px #00000025,inset 0 1px 0 #ffffff09;
}
.ks-intro { padding:1.6rem .5rem 2.5rem; max-width:60rem; margin-inline:auto; text-align:center; }
.ks-eyebrow { font-size:.875rem; letter-spacing:.15em; font-weight:800; color:var(--ks-accent); }
.ks-intro .ks-eyebrow { display:inline-flex; align-items:center; justify-content:center; gap:.8rem; color:#c7d4de; font-size:.875rem; letter-spacing:.13em; }
.ks-intro .ks-eyebrow::before,.ks-intro .ks-eyebrow::after { content:""; flex:none; width:1.75rem; height:2px; background:var(--ks-football); }
.ks-intro .ks-eyebrow::after { background:var(--ks-basketball); }
.ks-intro h1 { font-size:clamp(2.25rem,5.2vw,4.5rem); line-height:1.15; letter-spacing:-.055em; margin:1.1rem auto 1.25rem; max-width:22ch; overflow-wrap:anywhere; }
.ks-intro h1 span { color:#d7e7de; }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .ks-intro h1 span { background:linear-gradient(100deg,#83ebbd 0%,#e2eee7 48%,#ffb779 100%); background-clip:text; -webkit-background-clip:text; color:transparent; }
}
.ks-lead { color:#b8c7d4; max-width:36rem; margin-inline:auto; font-size:1.0625rem; line-height:1.75; text-wrap:pretty; }
.ks-sports { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.ks-sport { --sport-color:var(--ks-football); display:flex; flex-direction:column; gap:.75rem; padding:1.65rem 2rem 1.15rem; min-width:0; border-radius:20px; border:1px solid #315447; background:linear-gradient(115deg,#14312b,#10241f); position:relative; transition:border-color .18s,transform .18s; }
.ks-basketball { --sport-color:var(--ks-basketball); border-color:#604126; background:linear-gradient(115deg,#35261e,#251e19); }
.ks-sport:hover { transform:translateY(-3px); border-color:var(--sport-color); }
.ks-sport[aria-current=true] { border-color:var(--sport-color); box-shadow:inset 0 0 0 1px var(--sport-color); }
.ks-sport-top,.ks-sport-bottom { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.ks-sport-icon { font-size:1.75rem; line-height:1; }
.ks-sport-check { display:grid; place-items:center; width:2.1rem; height:2.1rem; border-radius:50%; background:#ffffff0c; color:var(--sport-color); font-size:1.25rem; }
.ks-sport[aria-current=true] .ks-sport-check { background:var(--sport-color); color:#101b16; }
.ks-sport h2 { font-size:clamp(1.75rem,2.7vw,2.5rem); letter-spacing:-.05em; color:var(--sport-color); }
.ks-sport p { color:#d0d9df; font-size:1rem; margin:.25rem 0 .5rem; }
.ks-sport-bottom { border-top:1px solid #ffffff20; padding-top:.9rem; color:#d0d9df; font-size:.875rem; }
.ks-sport-bottom span:last-child { color:var(--sport-color); font-variant-numeric:tabular-nums; }
.ks-workspace { padding:3.25rem 0; }
.ks-section-head { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-bottom:1.75rem; }
.ks-section-head h2 { font-size:clamp(1.5rem,2.5vw,2rem); letter-spacing:-.04em; margin:.4rem 0; }
.ks-section-head p:not(.ks-eyebrow) { color:var(--ks-muted); max-width:45rem; }
.ks-count { flex:none; font-size:.875rem; color:var(--ks-muted); padding:.45rem .9rem; border:1px solid var(--ks-line); border-radius:999px; }
.ks-availability { border-left:3px solid var(--ks-basketball); background:#ffae6109; color:#e6c8a8; padding:1rem 1.25rem; margin:0 0 1.5rem; border-radius:0 10px 10px 0; }
.ks-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.ks-module { display:flex; flex-direction:column; padding:1.6rem; min-width:0; border:1px solid var(--ks-line); border-radius:16px; background:var(--ks-panel); transition:background .18s,border-color .18s,transform .18s; }
.ks-module:hover { background:#152434; border-color:var(--ks-accent); transform:translateY(-3px); }
.ks-module-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:1.65rem; }
.ks-module-icon { display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:12px; background:var(--ks-tint); color:var(--ks-accent); font-size:1.5rem; font-weight:600; }
.ks-module-arrow { color:#889aab; font-size:1.4rem; }
.ks-module h3 { font-size:1.125rem; letter-spacing:-.025em; margin-bottom:.6rem; }
.ks-module p { color:var(--ks-muted); font-size:1rem; line-height:1.65; flex:1; }
.ks-module-link { display:block; color:var(--ks-accent); font-size:.875rem; font-weight:800; margin-top:1.35rem; }
.ks-membership { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2.25rem; border:1px solid var(--ks-line); border-radius:18px; background:linear-gradient(100deg,#152132,#111b27); }
.ks-membership h2 { font-size:clamp(1.3rem,2vw,1.7rem); margin:.7rem 0; letter-spacing:-.04em; }
.ks-membership p { max-width:43rem; color:var(--ks-muted); }
.ks-button { display:inline-flex; justify-content:center; align-items:center; gap:1rem; border-radius:10px; background:var(--ks-accent); color:#0a1811; padding:.85rem 1.25rem; font-size:.9375rem; font-weight:800; flex:none; text-align:center; }
.ks-button:hover { filter:brightness(1.1); }
.ks-mobile { padding:2.6rem 0; display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.ks-mobile h2 { font-size:1.125rem; margin-bottom:.4rem; }
.ks-mobile p { color:var(--ks-muted); }
.ks-button-secondary { background:transparent; border:1px solid var(--ks-line); color:var(--ks-ink); }
.ks-footer { max-width:1284px; margin:auto; padding:2rem 3rem; border-top:1px solid var(--ks-line); display:flex; justify-content:space-between; gap:2rem; }
.ks-footer-brand { font-family:Sora,Segoe UI,sans-serif; font-weight:700; }
.ks-footer p { font-size:.875rem; color:var(--ks-muted); max-width:33rem; margin-top:.5rem; }
.ks-footer nav { display:flex; flex-wrap:wrap; align-content:flex-start; gap:1rem 1.5rem; font-size:.875rem; }
@media (max-width:900px) { .ks-header { padding:1.25rem 1.5rem; gap:1.25rem; } .ks-main,.ks-footer { padding-left:1.5rem; padding-right:1.5rem; } .ks-nav { gap:1rem; } .ks-modules { grid-template-columns:repeat(2,minmax(0,1fr)); } .ks-membership,.ks-mobile { align-items:flex-start; flex-direction:column; gap:1.25rem; } }
@media (max-width:600px) { .ks-header { flex-wrap:wrap; gap:1rem; } .ks-brand { flex:1; } .ks-language { order:1; } .ks-nav { order:2; flex-basis:100%; justify-content:space-between; gap:1rem; } .ks-welcome { margin-top:1.25rem; padding:1rem; border-radius:22px; } .ks-intro { padding:1.25rem 0 1.75rem; } .ks-intro .ks-eyebrow { letter-spacing:.07em; gap:.5rem; } .ks-intro .ks-eyebrow::before,.ks-intro .ks-eyebrow::after { width:.65rem; } .ks-intro h1 { font-size:clamp(2rem,7.5vw,2.8rem); margin:1rem auto; } .ks-lead { font-size:1rem; } .ks-sports { grid-template-columns:1fr; gap:1rem; } .ks-sport { padding:1.25rem; } .ks-sport-top { position:absolute; top:1.4rem; right:1.2rem; } .ks-sport-icon { display:none; } .ks-sport h2 { padding-right:2.5rem; } .ks-sport p { padding-right:1rem; } .ks-workspace { padding:2.25rem 0; } .ks-section-head { align-items:flex-start; } .ks-count { display:none; } .ks-modules { grid-template-columns:1fr; } .ks-module { padding:1.4rem; } .ks-module-top { margin-bottom:1rem; } .ks-membership { padding:1.5rem; } .ks-footer { flex-direction:column; } .ks-main { padding-left:1.25rem; padding-right:1.25rem; } .ks-eyebrow { letter-spacing:.09em; } }
@media (forced-colors:active) { .ks-intro h1 span { background:none; color:CanvasText; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; } }
