/* ============================================================
   Jordan Mason player profile — page-specific styles.
   Prefix: jmason- (checked against the CSS directory and against
   every existing class name on this site before this file was
   written; no collision found).
   ============================================================ */

.page-jmason main{background:var(--page)}

/* ---------- crumbs ---------- */
.jmason-crumb{padding:14px 0 0}
.jmason-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;color:var(--on-dark-muted)}
.jmason-crumb a{color:var(--on-dark-muted)}
.jmason-crumb a:hover{color:#fff;text-decoration:underline}
.jmason-crumb span[aria-current]{color:#fff}
.jmason-sep{opacity:.6;margin:0 2px}

/* ---------- hero ---------- */
.jmason-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#241246 0%,#3b1c63 55%,#1c0e38 100%)}
.jmason-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.62}
.jmason-hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,10,40,.92) 0%,rgba(24,12,46,.72) 42%,rgba(24,12,46,.35) 75%,rgba(24,12,46,.55) 100%)}
.jmason-hero .wrap{position:relative;z-index:2}
.jmason-hero-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:28px;align-items:end;padding:34px 0 40px}
.jmason-eyebrow{display:inline-block;color:var(--gold);font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.jmason-h1{font-family:var(--display);font-weight:900;text-transform:uppercase;color:#fff;font-size:clamp(38px,6.4vw,74px);line-height:.92;letter-spacing:-.01em;margin-bottom:6px}
.jmason-h1 small{display:block;font-family:var(--body);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:15px;color:var(--on-dark-muted);margin-top:10px}
.jmason-tagline{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;font-size:16px;margin:14px 0 10px;padding-top:12px;border-top:2px solid var(--gold);max-width:32ch}
.jmason-dek{color:var(--on-dark-muted);font-size:14.5px;line-height:1.6;max-width:50ch;margin:0 0 20px}

.jmason-factcard{position:relative;z-index:2;background:rgba(15,8,30,.72);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:18px 20px;backdrop-filter:blur(2px)}
.jmason-factcard-h{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:17px;color:#fff;margin-bottom:2px}
.jmason-factcard-sub{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.jmason-facts{display:grid;grid-template-columns:1fr 1fr;row-gap:11px;column-gap:16px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px}
.jmason-facts div{display:flex;flex-direction:column}
.jmason-facts dt{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:3px}
.jmason-facts dd{margin:0;font-size:13.5px;font-weight:600;color:#fff;line-height:1.35}

/* ---------- tab / anchor strip ---------- */
.jmason-tabs{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.jmason-tabs-list{display:flex;gap:26px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.jmason-tabs-list::-webkit-scrollbar{display:none}
.jmason-tabs-list a{flex:none;display:inline-block;padding:15px 2px;font-family:var(--display);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;color:var(--text-muted);border-bottom:2px solid transparent}
.jmason-tabs-list a:hover{color:var(--text)}
.jmason-tabs-list a.is-active{color:var(--purple);border-color:var(--gold)}

/* ---------- shared section rhythm ---------- */
.jmason-sec{padding-top:var(--space-5)}
.jmason-kick{font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11.5px;color:var(--purple);margin:0 0 6px}
.jmason-h2{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(21px,2.6vw,28px);line-height:1.1;margin:0 0 12px}
.jmason-h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:18px;line-height:1.15;margin:0 0 10px}
.jmason-lede{font-size:14px;color:var(--text-muted);line-height:1.6;max-width:70ch;margin:0 0 22px}
.jmason-p{font-size:13.5px;line-height:1.65;color:var(--text-muted);margin:0 0 14px}
.jmason-src{font-size:11.5px;color:var(--text-faint);line-height:1.6;margin-top:6px}
.jmason-src a{color:var(--purple);font-weight:600}

/* ---------- biography ---------- */
.jmason-bio-body{display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.jmason-bio-media{flex:none;width:180px;border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 0 var(--line)}
.jmason-bio-media img{display:block;width:100%;height:auto}
.jmason-bio-text{flex:1;min-width:260px}
.jmason-bio-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-top:18px}
.jmason-bio-facts div{display:flex;flex-direction:column}
.jmason-bio-facts dt{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px}
.jmason-bio-facts dd{margin:0;font-size:14px;font-weight:700;color:var(--text)}

/* ---------- season stats ---------- */
.jmason-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;margin:0 0 22px;padding:0}
.jmason-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;min-height:44px}
.jmason-tile-lab{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}
.jmason-tile-val{font-family:var(--display);font-weight:800;font-size:clamp(24px,3vw,32px);color:var(--purple);margin:0}
.jmason-tile-note{font-size:11.5px;color:var(--text-muted);margin:6px 0 0}

.jmason-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:14px}
.jmason-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.jmason-tbl caption{text-align:left;padding:14px 16px 10px;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.03em;color:var(--text)}
.jmason-tbl caption span{font-family:var(--body);font-weight:400;text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--text-faint)}
.jmason-tbl th,.jmason-tbl td{padding:10px 14px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}
.jmason-tbl thead th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);border-top:0;background:var(--page)}
.jmason-num{text-align:right}
.jmason-tbl .jmason-total th,.jmason-tbl .jmason-total td{font-weight:700;background:rgba(79,38,131,.06)}

/* ---------- game log ---------- */
.jmason-gl-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.jmason-gl-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.jmason-gl-card-tag{display:block;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px;font-weight:700}
.jmason-gl-card h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:15px;margin:0 0 8px}
.jmason-gl-stats{display:flex;gap:18px;margin:0 0 8px}
.jmason-gl-stats div{display:flex;flex-direction:column}
.jmason-gl-stats b{font-family:var(--display);font-size:19px;color:var(--purple)}
.jmason-gl-stats span{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}
.jmason-gl-card p{font-size:12.5px;color:var(--text-muted);line-height:1.55;margin:0}

.jmason-honest{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.jmason-honest p{font-size:13.5px;line-height:1.6;color:var(--text-muted);margin-bottom:10px}
.jmason-honest p:last-child{margin-bottom:0}
.jmason-honest a{color:var(--purple);font-weight:600;text-decoration:underline}

/* ---------- style + milestones ---------- */
.jmason-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.jmason-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);padding:22px}
.jmason-style-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.jmason-style-list li{display:flex;gap:14px;align-items:flex-start}
.jmason-style-ic{flex:none;width:38px;height:38px;border-radius:50%;background:var(--purple);color:#fff;display:flex;align-items:center;justify-content:center}
.jmason-style-ic svg{width:19px;height:19px}
.jmason-style-h{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:13.5px;letter-spacing:.02em;margin-bottom:3px}
.jmason-style-txt{display:block;font-size:12.5px;color:var(--text-muted);line-height:1.55}

.jmason-timeline{list-style:none;margin:0;padding:0}
.jmason-timeline li{position:relative;padding:0 0 18px 22px;border-left:2px solid var(--line);margin-left:5px}
.jmason-timeline li:last-child{border-color:transparent;padding-bottom:0}
.jmason-timeline li::before{content:"";position:absolute;left:-6px;top:2px;width:10px;height:10px;border-radius:50%;background:var(--purple);border:2px solid var(--card)}
.jmason-tl-k{display:block;font-family:var(--display);font-weight:700;font-size:13px;color:var(--purple);letter-spacing:.03em;text-transform:uppercase}
.jmason-tl-yr{display:block;font-size:11px;color:var(--text-faint);margin-top:1px}
.jmason-tl-txt{display:block;font-size:13px;color:var(--text-muted);line-height:1.5;margin-top:4px}

/* ---------- related profiles + coverage ---------- */
.jmason-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.jmason-rel-card{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;color:var(--text)}
.jmason-rel-card:hover{border-color:var(--purple)}
.jmason-rel-card img{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover}
.jmason-rel-name{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:13.5px}
.jmason-rel-role{display:block;font-size:11.5px;color:var(--text-muted);margin-top:2px}
.jmason-rel-cta{display:block;font-size:11px;font-weight:700;color:var(--purple);margin-top:4px}

.jmason-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}

@media(max-width:920px){
  .jmason-hero-bg{object-position:75% center}
  .jmason-hero-grid{grid-template-columns:1fr;padding-bottom:24px}
  .jmason-factcard{max-width:420px}
  .jmason-tiles{grid-template-columns:1fr 1fr}
  .jmason-gl-grid{grid-template-columns:1fr}
  .jmason-duo{grid-template-columns:1fr}
  .jmason-bio-facts{grid-template-columns:1fr 1fr}
  .jmason-rel-grid{grid-template-columns:1fr}
  .jmason-news-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .jmason-tiles{grid-template-columns:1fr 1fr}
  .jmason-bio-media{width:140px}
}

/* ---------- touch targets + focus ---------- */
.jmason-hero a.btn,.jmason-panel a.btn,.jmason-tabs-list a,.jmason-rel-card,.jmason-gl-card a{min-height:44px}
.jmason-tabs-list a:focus-visible,.jmason-rel-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
