
/* ═══════════════════════════════════════
   WS DESIGN SYSTEM — Global Dark Theme
   WeWorking Sports
═══════════════════════════════════════ */
:root{
  --ws-bg:#03050A;
  --ws-bg2:#070B14;
  --ws-surface:rgba(255,255,255,0.03);
  --ws-red:#C8102E;
  --ws-red2:#FF1A3A;
  --ws-blue:#0A3161;
  --ws-blue2:#1557C0;
  --ws-white:#F0F4FF;
  --ws-muted:#5A6A88;
  --ws-line:rgba(255,255,255,0.06);
  --ws-radius:4px;
}

html,body{
  background:var(--ws-bg)!important;
  color:var(--ws-white)!important;
  font-family:'DM Sans',ui-sans-serif,system-ui,sans-serif!important;
}

/* ── NAV ── */
.ws-nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  padding:0;
  background:linear-gradient(to bottom,rgba(3,5,10,0.97),rgba(3,5,10,0));
  transition:background .3s;
}
.ws-nav.ws-nav-scrolled{
  background:rgba(3,5,10,0.98)!important;
  border-bottom:1px solid var(--ws-line);
}
.ws-nav-inner{
  max-width:1400px;margin:0 auto;
  padding:16px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.ws-nav-logo img{height:28px;width:auto;display:block;filter:brightness(0) invert(1)}
.ws-nav-links{display:flex;gap:28px}
.ws-nav-links a{
  color:var(--ws-muted);font-size:11px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;transition:color .2s;
}
.ws-nav-links a:hover{color:var(--ws-white);text-decoration:none}
.ws-nav-btn{
  padding:10px 22px;
  background:var(--ws-red);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;transition:background .2s;white-space:nowrap;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.ws-nav-btn:hover{background:var(--ws-red2);text-decoration:none}
.ws-hamburger{
  display:none;background:none;border:none;color:var(--ws-white);
  cursor:pointer;padding:4px;
}

/* ── MAIN ── */
.ws-main{
  padding-top:70px;
  min-height:100vh;
  background:var(--ws-bg);
}

/* ── FOOTER ── */
.ws-footer{
  background:var(--ws-bg);
  border-top:1px solid var(--ws-line);
  padding:40px 0;
}
.ws-footer-inner{
  max-width:1400px;margin:0 auto;padding:0 40px;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.ws-footer-logo{display:flex;align-items:center;gap:12px}
.ws-footer-logo span{font-size:11px;color:var(--ws-muted);letter-spacing:.04em}
.ws-footer-links{display:flex;gap:20px;flex-wrap:wrap}
.ws-footer-links a{font-size:11px;color:var(--ws-muted);text-decoration:none;letter-spacing:.06em;transition:color .2s}
.ws-footer-links a:hover{color:var(--ws-white);text-decoration:none}
.ws-footer-sports{font-size:18px;opacity:.2;display:flex;gap:10px}

/* ── PAGE SECTIONS ── */
.ws-section{padding:90px 0;position:relative}
.ws-container{max-width:1200px;margin:0 auto;padding:0 40px}

/* ── TYPOGRAPHY ── */
.ws-eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ws-red);display:flex;align-items:center;gap:10px;margin-bottom:12px;
}
.ws-eyebrow::before{content:'';width:22px;height:2px;background:var(--ws-red);display:block}
.ws-h1{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(48px,9vw,110px);
  line-height:.88;letter-spacing:-2px;
  color:var(--ws-white);
}
.ws-h2{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(32px,5vw,62px);
  line-height:.92;letter-spacing:-1px;
  color:var(--ws-white);
}
.ws-h3{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(18px,2.5vw,26px);
  font-weight:800;letter-spacing:.02em;
  color:var(--ws-white);
}
.ws-red-text{color:var(--ws-red)}
.ws-muted-text{color:var(--ws-muted)}
.ws-body{font-size:14px;color:var(--ws-muted);line-height:1.85;font-weight:300}

/* ── CARDS ── */
.ws-card{
  background:var(--ws-surface);
  border:1px solid var(--ws-line);
  padding:32px 28px;
  position:relative;overflow:hidden;
  transition:all .35s;
}
.ws-card::before{
  content:'';position:absolute;top:0;left:0;width:3px;height:0;
  background:linear-gradient(to bottom,var(--ws-red),transparent);
  transition:height .5s cubic-bezier(.23,1,.32,1);
}
.ws-card:hover{border-color:rgba(200,16,46,0.18);background:rgba(200,16,46,0.025)}
.ws-card:hover::before{height:100%}

/* ── BUTTONS ── */
.ws-btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;
  background:var(--ws-red);color:#fff;
  font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;transition:all .25s;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
  box-shadow:0 0 30px rgba(200,16,46,0.2);
}
.ws-btn-primary:hover{background:var(--ws-red2);text-decoration:none;transform:translateY(-2px);box-shadow:0 16px 40px rgba(200,16,46,0.35)}
.ws-btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 36px;
  border:1px solid rgba(255,255,255,0.14);color:var(--ws-white);
  font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;transition:all .25s;
  clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));
}
.ws-btn-ghost:hover{border-color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.04);text-decoration:none;transform:translateY(-2px)}

/* ── TAGS / PILLS ── */
.ws-tag{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;
  border:1px solid var(--ws-line);
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ws-muted);background:rgba(255,255,255,0.02);
  transition:all .25s;
}
.ws-tag:hover{color:var(--ws-white);border-color:rgba(200,16,46,0.3)}
.ws-tag-red{border-color:rgba(200,16,46,0.3);color:rgba(200,16,46,0.8);background:rgba(200,16,46,0.06)}

/* ── DIVIDER ── */
.ws-divider{height:1px;background:var(--ws-line);margin:0}
.ws-divider-red{height:2px;background:linear-gradient(to right,transparent,var(--ws-red) 30%,var(--ws-blue2) 70%,transparent)}

/* ── STAT NUMBERS ── */
.ws-stat-val{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(36px,5vw,64px);
  color:var(--ws-white);line-height:1;
  text-shadow:0 0 30px rgba(200,16,46,0.25);
}
.ws-stat-lbl{font-size:10px;color:var(--ws-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:4px}

/* ── HERO BASE ── */
.ws-hero{
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
  background:
    radial-gradient(ellipse 70% 60% at 20% 50%,rgba(10,49,97,0.28),transparent 65%),
    radial-gradient(ellipse 60% 70% at 80% 30%,rgba(200,16,46,0.18),transparent 60%),
    var(--ws-bg);
}
.ws-hero-grid{
  position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,0.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.02) 1px,transparent 1px);
  background-size:80px 80px;
}
.ws-scanlines{
  position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,0.03) 3px,rgba(0,0,0,0.03) 4px);
}

/* ── SPORT CARDS ── */
.ws-sport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.ws-sport-card{
  position:relative;overflow:hidden;
  aspect-ratio:2/3;cursor:pointer;background:var(--ws-bg2);
}
.ws-sport-emoji{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:140px;
  transition:transform .8s cubic-bezier(.23,1,.32,1),filter .6s;
  filter:grayscale(.5) brightness(.5);
}
.ws-sport-card:hover .ws-sport-emoji{transform:scale(1.12) rotate(-5deg);filter:grayscale(0) brightness(.75)}
.ws-sport-glow{position:absolute;inset:0;opacity:0;transition:opacity .5s}
.ws-sport-card:hover .ws-sport-glow{opacity:1}
.ws-sc-soccer .ws-sport-glow{background:radial-gradient(circle at 50% 30%,rgba(10,49,97,0.5),transparent 65%)}
.ws-sc-nfl .ws-sport-glow{background:radial-gradient(circle at 50% 30%,rgba(200,16,46,0.4),transparent 65%)}
.ws-sc-bball .ws-sport-glow{background:radial-gradient(circle at 50% 30%,rgba(180,120,10,0.35),transparent 65%)}
.ws-sport-dark{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,5,10,.98) 0%,rgba(3,5,10,.25) 55%,transparent 100%)}
.ws-sport-content{position:absolute;bottom:0;left:0;right:0;padding:28px 22px;transform:translateY(6px);transition:transform .4s cubic-bezier(.23,1,.32,1)}
.ws-sport-card:hover .ws-sport-content{transform:translateY(0)}
.ws-sport-num{font-family:'Barlow Condensed',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;color:rgba(200,16,46,.6);margin-bottom:8px}
.ws-sport-content h3{font-family:'Bebas Neue',sans-serif;font-size:clamp(22px,3vw,32px);letter-spacing:.5px;margin-bottom:6px;color:var(--ws-white)}
.ws-sport-content p{font-size:11px;color:var(--ws-muted);line-height:1.65}
.ws-sport-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ws-red);opacity:0;transform:translateY(8px);
  transition:opacity .4s .1s,transform .4s .1s;text-decoration:none;
}
.ws-sport-card:hover .ws-sport-link{opacity:1;transform:translateY(0)}
.ws-sport-card::after{content:'';position:absolute;inset:0;border:2px solid var(--ws-red);opacity:0;transition:opacity .4s;pointer-events:none}
.ws-sport-card:hover::after{opacity:.2}

/* ── NUMBERS SECTION ── */
.ws-numbers{
  background:linear-gradient(135deg,#060F22 0%,#0A1E42 40%,#060F22 70%,#0A0510 100%);
  position:relative;overflow:hidden;
}
.ws-numbers::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,0.012) 0,rgba(255,255,255,0.012) 1px,transparent 1px,transparent 100px);
}
.ws-numbers::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(to right,transparent,var(--ws-red) 30%,var(--ws-blue2) 70%,transparent);
}
.ws-num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:rgba(255,255,255,0.03)}
.ws-num-block{
  padding:56px 24px;text-align:center;
  background:rgba(6,15,34,0.8);
  border-right:1px solid rgba(255,255,255,0.03);
  position:relative;overflow:hidden;transition:background .4s;
}
.ws-num-block:last-child{border-right:none}
.ws-num-block:hover{background:rgba(10,30,65,0.9)}
.ws-num-val{
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(48px,6vw,80px);
  color:#fff;line-height:1;
  text-shadow:0 0 40px rgba(255,255,255,0.1);
}
.ws-num-lbl{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:6px}

/* ── PAGE HERO (inner pages) ── */
.ws-page-hero{
  padding:120px 0 60px;
  background:
    radial-gradient(ellipse 80% 60% at 30% 0%,rgba(10,49,97,0.2),transparent 60%),
    radial-gradient(ellipse 60% 50% at 80% 20%,rgba(200,16,46,0.12),transparent 55%),
    var(--ws-bg);
  border-bottom:1px solid var(--ws-line);
  position:relative;overflow:hidden;
}
.ws-page-hero::before{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,0.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.015) 1px,transparent 1px);
  background-size:80px 80px;
}

/* ── ATHLETE CARD ── */
.ws-athlete-card{
  background:var(--ws-surface);border:1px solid var(--ws-line);
  overflow:hidden;transition:all .35s;position:relative;
}
.ws-athlete-card:hover{border-color:rgba(200,16,46,0.2);transform:translateY(-4px);box-shadow:0 20px 50px rgba(0,0,0,0.4)}
.ws-athlete-photo{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;filter:grayscale(.2);transition:filter .4s}
.ws-athlete-card:hover .ws-athlete-photo{filter:grayscale(0)}
.ws-athlete-info{padding:18px 16px}
.ws-athlete-name{font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:800;letter-spacing:.02em;color:var(--ws-white);margin-bottom:4px}
.ws-athlete-meta{font-size:11px;color:var(--ws-muted);display:flex;gap:8px;flex-wrap:wrap}
.ws-athlete-sport{
  display:inline-block;padding:3px 8px;
  background:rgba(200,16,46,0.1);border:1px solid rgba(200,16,46,0.25);
  font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(200,16,46,0.8);
  margin-bottom:6px;
}

/* ── FORM ELEMENTS ── */
.ws-input,.ws-textarea,.ws-select{
  width:100%;padding:12px 16px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--ws-line);
  color:var(--ws-white);font-family:'DM Sans',sans-serif;font-size:14px;
  outline:none;transition:border-color .2s;
  border-radius:0;
}
.ws-input:focus,.ws-textarea:focus,.ws-select:focus{border-color:rgba(200,16,46,0.4);background:rgba(255,255,255,0.06)}
.ws-input::placeholder,.ws-textarea::placeholder{color:var(--ws-muted)}
.ws-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ws-muted);display:block;margin-bottom:6px}

/* ── TABLE ── */
.ws-table{width:100%;border-collapse:collapse}
.ws-table th{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ws-muted);padding:10px 16px;border-bottom:1px solid var(--ws-line);text-align:left}
.ws-table td{padding:14px 16px;border-bottom:1px solid var(--ws-line);font-size:13px;color:var(--ws-white)}
.ws-table tr:hover td{background:rgba(255,255,255,0.02)}

/* ── SCROLL REVEAL ── */
.ws-reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.23,1,.32,1),transform .9s cubic-bezier(.23,1,.32,1)}
.ws-reveal.ws-visible{opacity:1;transform:translateY(0)}
.ws-reveal-d1{transition-delay:.1s}.ws-reveal-d2{transition-delay:.2s}.ws-reveal-d3{transition-delay:.3s}

/* ── PARTICLES ── */
.ws-particle{position:absolute;border-radius:50%;animation:wsFloat linear infinite;pointer-events:none}
@keyframes wsFloat{0%{transform:translateY(100vh);opacity:0}5%{opacity:1}95%{opacity:1}100%{transform:translateY(-50px);opacity:0}}

/* ── ANIMATIONS ── */
@keyframes wsFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes wsSlideUp{from{transform:translateY(110%)}to{transform:translateY(0)}}
@keyframes wsGlitch{
  0%,90%,100%{clip-path:none;transform:translate(0)}
  91%{clip-path:polygon(0 20%,100% 20%,100% 40%,0 40%);transform:translate(-3px,0)}
  92%{clip-path:polygon(0 60%,100% 60%,100% 80%,0 80%);transform:translate(3px,0)}
  93%{clip-path:none;transform:translate(0)}
}
@keyframes wsLivePulse{0%{box-shadow:0 0 0 0 rgba(200,16,46,.6)}70%{box-shadow:0 0 0 8px rgba(200,16,46,0)}100%{box-shadow:0 0 0 0 rgba(200,16,46,0)}}
@keyframes wsRing{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .ws-nav-links,.ws-nav-btn{display:none}
  .ws-hamburger{display:block}
  .ws-nav-inner{padding:14px 20px}
  .ws-container{padding:0 20px}
  .ws-sport-grid{grid-template-columns:1fr;gap:3px}
  .ws-sport-card{aspect-ratio:4/3}
  .ws-num-grid{grid-template-columns:repeat(2,1fr)}
  .ws-footer-inner{flex-direction:column;gap:20px;text-align:center;padding:0 20px}
  .ws-footer-sports{justify-content:center}
}
@media(max-width:600px){
  .ws-section{padding:60px 0}
  .ws-num-block{padding:36px 16px}
}
