

  .label.on-dark{color:rgba(255,255,255,0.75);}
  .label.on-dark .diamond{background:var(--gold);}

  .btn.on-white{background:var(--white); color:var(--ink); box-shadow:none;}
  .btn.on-white:hover{background:var(--paper);}
  .btn.outline-maroon{background:transparent; color:var(--maroon); border:2px solid var(--maroon); box-shadow:none; padding:15px 28px;}
  .btn.outline-maroon:hover{background:var(--maroon); color:var(--white); box-shadow:none;}
  .btn.sm{padding:12px 22px; font-size:12.5px;}

  /* ---------- NAV (matches homepage nav design; static bar since this page has no dark hero photo to overlay) ---------- */
  header.site-nav{background:var(--ink); position:relative; z-index:60;}
  .nav-inner{max-width:var(--max); margin:0 auto; padding:22px 32px; display:flex; align-items:center; justify-content:space-between;}

  section{padding:100px 0;}
  .sec-head{margin-bottom:50px;}
  .sec-head .label{color:var(--maroon); margin-bottom:14px; justify-content:center;}
  .sec-head h2{font-size:clamp(28px,3.8vw,42px);}

  /* ---------- TEAM HERO ---------- */
  .team-hero{background:var(--paper); padding-bottom:70px;}
  .team-hero-inner{max-width:760px; margin:0 auto; text-align:center; padding-top:70px;}
  .team-hero .label{color:var(--maroon); justify-content:center; margin-bottom:20px;}
  .team-hero h1{font-size:clamp(40px,6.4vw,70px);}
  .team-hero-copy{font-size:16.5px; color:#4a4741; max-width:560px; margin:26px auto 0;}
  .team-hero-sub{
    font-family:'Oswald',sans-serif; font-size:12.5px; letter-spacing:0.1em; text-transform:uppercase; font-weight:600;
    color:var(--gold); margin-top:22px;
  }

  .hero-photo-ph{
    max-width:var(--max); margin:56px auto 0; padding:0 32px;
  }
  .hero-photo-ph .frame{
    position:relative; aspect-ratio:16/7; border-radius:var(--r-lg); overflow:hidden;
    background:linear-gradient(135deg, #EDEAE2 0%, #E3DFD4 100%);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
  }
  .hero-photo-ph .mark{text-align:center; color:#a6a294;}
  .hero-photo-ph .mark .ball{width:36px; height:36px; margin:0 auto 14px; border-radius:50%; border:2px solid #b8b3a4; position:relative;}
  .hero-photo-ph .mark .ball::before, .hero-photo-ph .mark .ball::after{
    content:""; position:absolute; border:1.5px solid #b8b3a4; border-radius:50%;
  }
  .hero-photo-ph .mark .txt{font-family:'Oswald',sans-serif; font-size:12.5px; letter-spacing:0.08em; text-transform:uppercase; font-weight:600;}
  .hero-photo-ph .mark .sub{font-size:12px; color:#b0aca0; margin-top:6px;}

  /* ---------- PRESENTING SPONSOR ---------- */
  .presenting{background:var(--white);}
  .presenting-inner{max-width:640px; margin:0 auto; text-align:center;}
  .presenting .label{color:var(--maroon); justify-content:center; margin-bottom:10px;}
  .presenting .main-line{font-family:'Oswald',sans-serif; font-weight:600; font-size:15px; letter-spacing:0.02em; color:var(--grey-text); margin-bottom:36px;}
  .presenting-slot{
    border:1.5px dashed var(--line); border-radius:var(--r-lg);
    padding:64px 40px; background:var(--paper);
  }
  .presenting-slot .avail{font-family:'Oswald',sans-serif; font-weight:700; font-size:24px; letter-spacing:0.02em; text-transform:uppercase; color:var(--ink);}
  .presenting-slot .avail .dot{color:var(--gold);}
  .presenting-slot p{font-size:14.5px; color:var(--grey-text); margin:14px 0 20px;}
  .presenting-slot a.inline-link{font-family:'Oswald',sans-serif; font-size:13px; font-weight:600; letter-spacing:0.03em; text-transform:uppercase; color:var(--maroon); border-bottom:2px solid var(--maroon); padding-bottom:2px;}
  .presenting-slot a.inline-link:hover{color:var(--maroon-dark); border-color:var(--maroon-dark);}

  /* ---------- ROSTER ---------- */
  .roster{background:var(--white);}
  .roster-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:34px;}
  .player-card{}
  .player-photo{
    position:relative; aspect-ratio:4/5; border-radius:var(--r-lg); overflow:hidden;
    background:linear-gradient(160deg, var(--ink) 0%, #241f18 100%);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:18px;
  }
  /* Player portrait: swap the file at assets/images/players/<first>-<initial>.jpg to replace a photo.
     Container keeps the 4/5 frame; the image fills it with a centered cover crop.
     If one player needs a different focal point, override object-position for that image only. */
  .player-photo img{
    position:absolute; inset:0; display:block;
    width:100%; height:100%;
    object-fit:cover; object-position:center center;
  }

  /* Everett L. only — his source frame sits high, so the shared centered crop cut off the top
     of his cap and left dead grass under his feet. Nudging the focal point up keeps the whole
     cap in frame, lands his face in the upper third, and still holds the glove near center.
     Same frame, aspect ratio, radius and object-fit as every other card. */
  .player-photo img[src$="everett-l.jpg"]{
    object-position:center 15%;
  }

  /* Sam D. only — same issue, his own value. His source has a little more headroom above the
     cap than Everett's, so 20% clears the crown comfortably while keeping his jersey and belt
     near the middle of the card. Percentages are per-photo; they are not meant to match. */
  .player-photo img[src$="sam-d.jpg"]{
    object-position:center 20%;
  }
  .player-photo .num{
    font-family:'Oswald',sans-serif; font-weight:700; font-size:96px; color:rgba(255,255,255,0.14);
    line-height:1;
  }
  .player-photo .badge{
    position:absolute; top:16px; left:16px;
    font-family:'Oswald',sans-serif; font-weight:700; font-size:15px; color:var(--white);
    background:var(--maroon); border-radius:8px; padding:4px 10px;
  }
  .player-photo .ph-tag{
    position:absolute; bottom:14px; left:0; right:0; text-align:center;
    font-family:'Oswald',sans-serif; font-size:10px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.4);
  }
  .player-name{font-family:'Oswald',sans-serif; font-weight:700; font-size:19px; text-transform:uppercase;}
  .player-pos{font-family:'Oswald',sans-serif; font-size:12.5px; font-weight:500; letter-spacing:0.03em; text-transform:uppercase; color:var(--maroon); margin-top:4px; margin-bottom:14px;}
  .player-facts{font-size:14px; color:#4a4741;}
  .player-facts .f{margin-bottom:8px;}
  .player-facts .f b{
    display:block; font-family:'Oswald',sans-serif; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--grey-text); font-weight:600; margin-bottom:2px;
  }
  .player-walkup{
    margin-top:14px; padding-top:12px; border-top:1px solid var(--line);
    font-size:13.5px; color:var(--ink); font-style:italic;
  }
  .player-walkup .note{color:var(--gold); font-style:normal; margin-right:4px;}

  /* ---------- TEAM MOMENT ---------- */
  .team-moment{
    padding:0; background:linear-gradient(135deg, #1a1712 0%, var(--ink) 55%, #241a1a 100%);
    position:relative; overflow:hidden;
  }
  .team-moment-inner{
    max-width:900px; margin:0 auto; text-align:center; padding:110px 32px;
  }
  .team-moment .ph-label{font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.35); margin-bottom:28px;}
  .team-moment .quote{
    font-family:'Oswald',sans-serif; font-weight:600; font-size:clamp(24px,3.6vw,38px); color:var(--white);
    text-transform:none; letter-spacing:0; line-height:1.4; max-width:720px; margin:0 auto;
  }
  .team-moment .quote .accent{color:var(--gold);}

  /* ---------- SPONSORS ---------- */
  .sponsors{background:var(--paper);}
  .sponsors .sec-head{text-align:center; max-width:560px; margin:0 auto 64px;}
  .sponsors .sec-head p{font-size:15.5px; color:var(--grey-text); margin-top:14px;}

  .tier-block{margin-bottom:56px;}
  .tier-block:last-child{margin-bottom:0;}
  .tier-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:22px; flex-wrap:wrap; gap:10px;}
  .tier-head .t-name{font-family:'Oswald',sans-serif; font-weight:700; font-size:15px; letter-spacing:0.04em; text-transform:uppercase;}
  .tier-head .t-note{font-family:'Oswald',sans-serif; font-size:11.5px; letter-spacing:0.04em; text-transform:uppercase; color:var(--grey-text);}

  .tier-grid{display:grid; gap:16px;}
  .tier-grid.mvp{grid-template-columns:repeat(3,1fr);}
  .tier-grid.allstar{grid-template-columns:repeat(3,1fr);}
  .tier-grid.lineup{grid-template-columns:repeat(5,1fr);}
  .tier-slot{
    border:1.5px dashed var(--line); border-radius:var(--r); background:var(--white);
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
    color:var(--grey-text); gap:4px;
  }
  .tier-grid.mvp .tier-slot{padding:44px 16px;}
  .tier-grid.allstar .tier-slot{padding:26px 12px; font-size:11.5px;}
  .tier-grid.lineup .tier-slot{padding:18px 10px; font-size:10.5px;}
  .tier-slot .lbl{font-family:'Oswald',sans-serif; letter-spacing:0.04em; text-transform:uppercase;}
  .tier-grid.mvp .tier-slot .lbl{font-size:15px; font-weight:700; color:var(--ink);}

  /* ---------- FINAL CTA ---------- */
  .final-wrap{padding:0 32px 100px;}
  .final-cta{
    max-width:var(--max); margin:0 auto; background:var(--maroon); border-radius:var(--r-lg);
    padding:70px 56px; color:var(--white); text-align:center;
  }
  .final-cta .label{color:rgba(255,255,255,0.7); justify-content:center; margin-bottom:16px;}
  .final-cta .label .diamond{background:var(--gold);}
  .final-cta h2{color:var(--white); font-size:clamp(30px,4.4vw,46px); max-width:600px; margin:0 auto;}
  .final-cta p{color:rgba(255,255,255,0.82); font-size:16px; max-width:520px; margin:18px auto 32px;}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 980px){
    .nav-links{display:none;}
    .roster-grid{grid-template-columns:repeat(2,1fr); gap:26px;}
    .tier-grid.mvp{grid-template-columns:repeat(2,1fr);}
    .tier-grid.allstar, .tier-grid.lineup{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width: 640px){
    .wrap{padding:0 20px;}
    .final-wrap{padding-left:20px; padding-right:20px;}
    section{padding:70px 0;}
    .roster-grid{grid-template-columns:1fr; gap:30px;}
    .tier-grid.mvp{grid-template-columns:1fr;}
    .tier-grid.allstar, .tier-grid.lineup{grid-template-columns:repeat(2,1fr);}
    .hero-photo-ph{padding:0 20px;}
    .team-moment-inner{padding:80px 20px;}
    .presenting-slot{padding:44px 24px;}
  }
