
:root{
  --bg:#080808;
  --panel:#111;
  --panel2:#171717;
  --text:#fff;
  --muted:#a5a5a5;
  --line:#2a2a2a;
  --accent:#f04b36;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--bg);
  color:var(--text);
}
a{color:inherit;text-decoration:none}
.site-header{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 5vw;
  background:rgba(8,8,8,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.brand{
  font-size:1.2rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
}
.brand span{color:#ff4b32}
.nav{
  position:absolute;
  z-index:20;
  top:0;left:0;right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:24px 5vw;
  mix-blend-mode:normal;
}
.nav img {
          width: 70px;
          height: 70px;
          margin-left: 10px;
      }
.logo span{color:var(--lime)}
.navlinks{display:flex;gap:30px;align-items:center}
.navlinks a{
  font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  opacity:.9;transition:.2s;
}
.navlinks a:hover{color:var(--lime)}
.hero{
  min-height:58vh;
  display:grid;
  align-items:end;
  padding:8vw 5vw 6vw;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.08), transparent 28%),
    linear-gradient(135deg,#090909 0%,#171717 55%,#0c0c0c 100%);
}
.hero:after{
  content:"TEAMS";
  position:absolute;right:-2vw;top:1vw;
  font-size:clamp(7rem,20vw,22rem);
  font-weight:1000;line-height:.8;
  color:rgba(255,255,255,.03);
  letter-spacing:-.07em;
  pointer-events:none;
}
.eyebrow{
  color:#ff5a3f;
  font-size:.82rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
  margin-bottom:14px;
}
.hero h1,.team-hero h1{
  margin:0;
  font-size:clamp(3.5rem,9vw,8.5rem);
  line-height:.84;
  text-transform:uppercase;
  letter-spacing:-.055em;
  max-width:950px;
}
.hero p{
  max-width:620px;
  color:#bcbcbc;
  font-size:1.05rem;
  line-height:1.65;
  margin:24px 0 0;
}
.section{padding:72px 5vw 90px}
.section-head{
  display:flex;align-items:end;justify-content:space-between;
  gap:30px;margin-bottom:28px;
}
.section-head h2{
  margin:0;font-size:clamp(2rem,5vw,4.5rem);
  text-transform:uppercase;letter-spacing:-.04em;
}
.section-head p{margin:0;color:var(--muted);max-width:520px}
.teams-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.team-card{
  min-height:390px;
  padding:26px;
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#171717,#101010);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}

.team-watermark {
  position: absolute;
  right: 4vw;
  top: 30%;
  transform: translateY(-50%);

  width: min(34vw, 430px);
  height: min(34vw, 430px);

  display: grid;
  place-items: center;

  opacity: .9;
  z-index: 1;
}

.team-watermark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;

  filter: drop-shadow(0 0 35px color-mix(
    in srgb,
    var(--team) 25%,
    transparent
  ));
}
.team-card:hover{
  transform:translateY(-7px);
  border-color:#555;
  background:linear-gradient(180deg,#1d1d1d,#121212);
}
.team-card .number{
  position:absolute;right:20px;top:16px;
  font-size:.8rem;color:#777;font-weight:900;letter-spacing:.15em;
}
.team-mark{
  width:145px;height:145px;border-radius:50%;
  border:2px solid var(--accent);
  display:grid;place-items:center;
  font-size:2.6rem;font-weight:1000;letter-spacing:-.06em;
  margin:38px auto 54px;
  box-shadow:0 0 55px color-mix(in srgb,var(--accent) 22%, transparent);
}
.team-card h3{
  margin:0;
  font-size:1.65rem;text-transform:uppercase;letter-spacing:-.03em;
}
.team-card .meta{
  display:flex;justify-content:space-between;gap:12px;
  margin-top:12px;color:#8f8f8f;font-size:.86rem;
}
.team-card .arrow{
  position:absolute;right:24px;bottom:24px;
  width:38px;height:38px;border-radius:50%;
  border:1px solid #444;display:grid;place-items:center;
  transition:.2s ease;
}
.team-card:hover .arrow{background:#fff;color:#000;border-color:#fff;transform:rotate(-8deg)}
.footer{
  padding:35px 5vw 48px;border-top:1px solid var(--line);
  color:#777;font-size:.85rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
}

/* Team detail */
.team-hero{
  --team:#ff4b32;
  min-height:72vh;
  position:relative;
  overflow:hidden;
  display:grid;
  align-items:end;
  padding:8vw 5vw 5vw;
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(circle at 75% 35%, color-mix(in srgb,var(--team) 22%, transparent), transparent 25%),
    linear-gradient(135deg,#080808,#141414 65%,#0b0b0b);
}

.team-mark img {
  width: 80%;
  height: 80%;
  object-fit: contain;
  display: block;
}


.team-hero .copy{position:relative;z-index:2;max-width:760px}
.team-subline{
  display:flex;gap:20px;flex-wrap:wrap;
  color:#b8b8b8;margin-top:22px;font-weight:700;
}
.team-subline strong{color:#fff}
.back{
  display:inline-flex;align-items:center;gap:8px;
  margin-bottom:28px;color:#bdbdbd;font-size:.9rem;font-weight:800;
}
.back:hover{color:#fff}
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  margin-bottom:65px;
}
.stat{padding:28px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat small{display:block;color:#777;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.stat b{display:block;font-size:2rem;margin-top:8px}
.roster-title{
  font-size:clamp(2rem,4vw,3.8rem);margin:0 0 24px;text-transform:uppercase;letter-spacing:-.04em
}
.roster{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.player{
  padding:26px;border:1px solid var(--line);background:#111;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
}
.player .num{font-size:2.2rem;font-weight:1000;color:var(--team)}
.player h4{margin:0 0 4px;font-size:1.1rem}
.player span{font-size:.82rem;color:#888}
.cta{
  margin-top:65px;padding:42px;
  display:flex;align-items:center;justify-content:space-between;gap:25px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,color-mix(in srgb,var(--team) 15%, #111),#101010);
}
.cta h3{margin:0;font-size:clamp(1.8rem,4vw,3.2rem);text-transform:uppercase}
.btn{
  display:inline-flex;padding:13px 18px;border-radius:999px;background:#fff;color:#000;
  font-weight:900;white-space:nowrap
}
@media(max-width:1000px){
  .teams-grid{grid-template-columns:repeat(2,1fr)}
  .roster{grid-template-columns:repeat(2,1fr)}
  .team-watermark{opacity:.35}
}
@media(max-width:640px){
  .nav{display:none}
  .hero{min-height:50vh;padding-top:90px}
  .teams-grid,.roster{grid-template-columns:1fr}
  .team-card{min-height:340px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{padding:52px 20px 70px}
  .site-header{padding:16px 20px}
  .hero,.team-hero{padding-left:20px;padding-right:20px}
  .team-watermark{right:-18vw;width:70vw}
  .cta{align-items:flex-start;flex-direction:column}
}


/* ================================
   SEASON SELECTOR
================================ */

.season-selector {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 25px;
}

.season-selector small,
.schedule-header small {
  color: #777;
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .15em;
}

.season-selector h2 {
  margin: 5px 0 0;
  font-size: 2.5rem;
  text-transform: uppercase;
}


/* Dropdown */

.season-dropdown {
  position: relative;
  width: 220px;
}

.season-button {
  width: 100%;
  padding: 15px 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  background: #151515;
  color: white;

  border: 1px solid #333;
  cursor: pointer;

  font-size: .95rem;
  font-weight: 800;
}

.season-button:hover {
  border-color: #666;
}

.dropdown-arrow {
  font-size: 1.2rem;
}


.season-menu {
  position: absolute;

  left: 0;
  right: 0;
  top: calc(100% + 6px);

  background: #151515;
  border: 1px solid #333;

  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);

  transition: .2s ease;

  z-index: 20;
}

.season-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.season-menu button {
  display: block;

  width: 100%;
  padding: 14px 16px;

  border: 0;
  border-bottom: 1px solid #292929;

  background: transparent;
  color: white;

  text-align: left;
  cursor: pointer;

  font-weight: 700;
}

.season-menu button:last-child {
  border-bottom: 0;
}

.season-menu button:hover {
  background: #242424;
}


/* ================================
   EXTRA SEASON STATS
================================ */

.season-info {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  margin-top: -45px;
  margin-bottom: 70px;

  border: 1px solid #292929;
}

.info-box {
  padding: 24px;

  border-right: 1px solid #292929;
  background: #111;
}

.info-box:last-child {
  border-right: 0;
}

.info-box small {
  display: block;

  color: #777;

  text-transform: uppercase;
  letter-spacing: .1em;

  font-size: .72rem;
  font-weight: 900;
}

.info-box strong {
  display: block;

  margin-top: 8px;

  font-size: 1.8rem;
}


/* ================================
   SCHEDULE
================================ */

.schedule-section {
  margin-top: 80px;
}

.schedule-header {
  display: flex;
  align-items: end;
  justify-content: space-between;

  margin-bottom: 25px;
}

.schedule-header h2 {
  margin: 6px 0 0;

  font-size: clamp(2rem, 4vw, 3.5rem);

  text-transform: uppercase;
  letter-spacing: -.04em;
}

#scheduleSeason {
  padding: 9px 14px;

  border: 1px solid #333;

  color: #aaa;

  font-size: .8rem;
  font-weight: 800;
  text-transform: uppercase;
}


/* Schedule table */

.schedule {
  border: 1px solid #292929;
  background: #101010;
}

.schedule-row {
  display: grid;

  grid-template-columns:
    1.2fr
    1.3fr
    1.5fr
    .8fr;

  align-items: center;

  min-height: 68px;

  border-bottom: 1px solid #252525;

  padding: 0 24px;

  color: #999;

  font-size: .9rem;
}

.schedule-row:last-child {
  border-bottom: 0;
}

.schedule-row strong {
  color: white;
}

.schedule-title-row {
  min-height: 48px;

  background: #181818;

  color: #666;

  font-size: .7rem;
  font-weight: 900;

  letter-spacing: .12em;
  text-transform: uppercase;
}

.schedule-row:not(.schedule-title-row):hover {
  background: #171717;
}


/* ================================
   MOBILE
================================ */

@media (max-width: 700px) {

  .season-selector {
    align-items: flex-start;
    flex-direction: column;
  }

  .season-dropdown {
    width: 100%;
  }

  .season-info {
    grid-template-columns: repeat(2, 1fr);
    margin-top: -30px;
  }

  .info-box:nth-child(2) {
    border-right: 0;
  }

  .info-box:nth-child(-n+2) {
    border-bottom: 1px solid #292929;
  }

  .schedule-section {
    margin-top: 55px;
  }

  .schedule-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .schedule-row {
    grid-template-columns: 1fr 1fr;

    gap: 8px;

    padding: 16px;

    min-height: 85px;
  }

  .schedule-title-row {
    display: none;
  }

  .schedule-row span:nth-child(3),
  .schedule-row span:nth-child(4) {
    font-size: .78rem;
  }

}


/* ================================
   TEAM BIO
================================ */

.team-bio {
  display: grid;
  grid-template-columns: 120px 1fr 180px;

  align-items: center;
  gap: 35px;

  padding: 45px 0;

  margin-bottom: 65px;

  border-bottom: 1px solid #292929;
}


/* Trophy */

.bio-trophy {
  width: 100px;
  height: 100px;

  display: grid;
  place-items: center;

  border: 1px solid #333;
  border-radius: 50%;

  background: #151515;

  font-size: 3rem;

  box-shadow:
    0 0 35px rgba(255, 255, 255, .04);
}


/* Bio text */

.bio-label {
  color: #777;

  font-size: .72rem;
  font-weight: 900;

  letter-spacing: .15em;
}

.bio-content h2 {
  margin: 5px 0 10px;

  font-size: 2.2rem;

  text-transform: uppercase;
  letter-spacing: -.04em;
}

.bio-content p {
  max-width: 650px;

  margin: 0;

  color: #999;

  line-height: 1.7;
}


/* Championship count */

.bio-championships {
  display: flex;
  flex-direction: column;

  align-items: center;
  justify-content: center;

  padding-left: 25px;

  border-left: 1px solid #292929;
}

.trophy-count {
  font-size: 3rem;
  font-weight: 1000;

  line-height: 1;

  color: var(--team);
}

.trophy-label {
  margin-top: 8px;

  color: #777;

  font-size: .7rem;
  font-weight: 900;

  letter-spacing: .1em;

  text-transform: uppercase;

  text-align: center;
}


/* Mobile */

@media (max-width: 700px) {

  .team-bio {
    grid-template-columns: 80px 1fr;

    gap: 20px;

    padding: 35px 0;
  }

  .bio-trophy {
    width: 75px;
    height: 75px;

    font-size: 2.2rem;
  }

  .bio-content h2 {
    font-size: 1.6rem;
  }

  .bio-content {
    min-width: 0;
  }

  .bio-content p {
    font-size: .9rem;
  }

  .bio-championships {
    grid-column: 1 / -1;

    flex-direction: row;

    justify-content: flex-start;

    gap: 12px;

    padding-left: 0;
    padding-top: 20px;

    border-left: 0;
    border-top: 1px solid #292929;
  }

  .trophy-count {
    font-size: 2rem;
    
  }

}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: #080808;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}


/* NAV */

.nav {
  height: 78px;
  padding: 0 5vw;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border-bottom: 1px solid #242424;
  background: rgba(8,8,8,.95);

  position: relative;
  z-index: 20;
}

.logo-link img {
  width: 75px;
  display: block;
}

.navlinks {
  display: flex;
  gap: 35px;
}

.navlinks a {
  color: #aaa;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  transition: .2s ease;
}

.navlinks a:hover {
  color: #fff;
}


/* HERO */

.roster-hero {
  min-height: 430px;
  padding: 70px 7vw;

  position: relative;
  overflow: hidden;

  display: flex;
  align-items: center;

  border-bottom: 1px solid #222;
}

.hero-content {
  position: relative;
  z-index: 3;
}

.back {
  display: inline-block;
  margin-bottom: 45px;

  color: #888;
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.back:hover {
  color: #fff;
}

.eyebrow {
  color: var(--team);
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.roster-hero h1 {
  margin: 10px 0;

  font-size: clamp(4rem, 10vw, 8.5rem);
  line-height: .85;

  text-transform: uppercase;
  letter-spacing: -.07em;
}

.roster-hero p {
  max-width: 500px;
  color: #999;
  line-height: 1.6;
}

.hero-logo {
  position: absolute;
  right: 7vw;
  top: 50%;

  width: min(38vw, 450px);
  height: min(38vw, 450px);

  transform: translateY(-50%);

  opacity: .15;
}

.hero-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;

  filter:
    drop-shadow(
      0 0 50px
      rgba(255,59,48,.35)
    );
}


/* ROSTER */

.roster-section {
  width: min(1300px, 86vw);
  margin: 0 auto;
  padding: 75px 0 120px;
}

.section-top {
  display: flex;
  justify-content: space-between;
  align-items: end;

  margin-bottom: 40px;
}

.section-label {
  color: var(--team);

  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .18em;
}

.section-top h2 {
  margin: 7px 0 0;

  font-size: 3rem;
  text-transform: uppercase;
  letter-spacing: -.05em;
}


/* SEASON DROPDOWN */

.season-dropdown {
  position: relative;
}

.season-button {
  min-width: 190px;

  padding: 15px 18px;

  border: 1px solid #333;
  background: #111;
  color: #fff;

  display: flex;
  align-items: center;
  justify-content: space-between;

  cursor: pointer;

  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.season-button:hover {
  border-color: #555;
}

.chevron {
  margin-left: 25px;
  font-size: 1rem;
}

.season-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 7px);

  width: 190px;

  background: #111;
  border: 1px solid #333;

  opacity: 0;
  visibility: hidden;

  transform: translateY(-8px);

  transition: .2s ease;

  z-index: 10;
}

.season-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.season-menu button {
  width: 100%;

  padding: 14px 16px;

  border: 0;
  border-bottom: 1px solid #222;

  background: transparent;
  color: #aaa;

  text-align: left;

  cursor: pointer;

  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
}

.season-menu button:hover {
  background: #1a1a1a;
  color: #fff;
}


/* PLAYER GRID */

.roster-grid {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 18px;
}


/* PLAYER CARD */

.player-card {
  background: #111;

  border: 1px solid #242424;

  transition:
    transform .25s ease,
    border-color .25s ease;

  overflow: hidden;
}

.player-card:hover {
  transform: translateY(-7px);
  border-color: #555;
}

.player-photo {
  aspect-ratio: 4 / 5;

  position: relative;

  overflow: hidden;

  background:
    radial-gradient(
      circle at center,
      #292929 0%,
      #111 65%
    );
}

.player-photo img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  transition:
    transform .4s ease;
}

.player-card:hover .player-photo img {
  transform: scale(1.04);
}

.player-number {
  position: absolute;

  top: 15px;
  left: 15px;

  font-size: 2rem;
  font-weight: 1000;

  color: rgba(255,255,255,.45);
}

.player-info {
  min-height: 95px;

  padding: 18px;

  display: flex;
  align-items: center;
  justify-content: space-between;
}

.player-position {
  color: var(--team);

  font-size: .62rem;
  font-weight: 900;

  letter-spacing: .13em;
}

.player-info h3 {
  margin: 5px 0 0;

  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: -.03em;
}

.player-arrow {
  width: 36px;
  height: 36px;

  display: grid;
  place-items: center;

  border: 1px solid #333;
  border-radius: 50%;

  color: #aaa;

  transition: .2s ease;
}

.player-card:hover .player-arrow {
  background: var(--team);
  border-color: var(--team);
  color: #fff;
}


/* MOBILE */

@media (max-width: 900px) {

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

  .hero-logo {
    right: -8vw;
    opacity: .1;
  }

}

@media (max-width: 650px) {

  .nav {
    padding: 0 5vw;
  }

  .navlinks {
    gap: 15px;
  }

  .navlinks a {
    font-size: .62rem;
  }

  .roster-hero {
    min-height: 380px;
    padding: 50px 7vw;
  }

  .roster-hero h1 {
    font-size: 4rem;
  }

  .hero-logo {
    width: 300px;
    height: 300px;
    right: -90px;
  }

  .section-top {
    align-items: flex-start;
    flex-direction: column;
    gap: 25px;
  }

  .section-top h2 {
    font-size: 2.2rem;
  }

  .season-button,
  .season-menu {
    width: 210px;
  }

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

}





