/* ============================================================
   Harrison Smith player profile — page-specific styles.
   Prefix: hsm- (checked against the CSS directory and against
   every ".hs-"/".hsm-" class already in use on this site before
   this file was written; no collision found).
   ============================================================ */

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

/* ---------- hero ---------- */
.hsm-hero{position:relative;background:linear-gradient(150deg,#241246 0%,#3b1c63 46%,#1c0e38 100%);overflow:hidden}
.hsm-hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:28px;min-height:400px;padding-top:40px;padding-bottom:0}
.hsm-hero-copy{position:relative;z-index:2;padding-bottom:36px}
.hsm-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:6px}
.hsm-h1{font-family:var(--display);font-weight:900;text-transform:uppercase;color:#fff;font-size:clamp(38px,5.6vw,68px);line-height:.94;letter-spacing:-.01em;margin-bottom:6px}
.hsm-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}
.hsm-tagline{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;font-size:15px;margin:14px 0 4px;padding-top:12px;border-top:2px solid var(--gold)}
.hsm-dek{color:var(--on-dark-muted);font-size:14.5px;line-height:1.6;max-width:46ch;margin:10px 0 20px}
.hsm-hero-art{position:relative;z-index:1;align-self:end;height:100%;display:flex;align-items:flex-end;justify-content:center}
.hsm-hero-art svg{width:100%;max-width:400px;height:auto;display:block}
.hsm-hero-figcap{grid-column:1 / -1;color:var(--on-dark-muted);font-size:11px;padding:0 0 14px;opacity:.75}

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

/* ---------- stat + facts strip ---------- */
.hsm-strip{background:var(--panel)}
.hsm-strip .wrap{padding-top:0}
.hsm-strip-grid{display:grid;grid-template-columns:repeat(3,1fr) 1.5fr}
.hsm-stat{padding:22px 20px;border-right:1px solid rgba(255,255,255,.09)}
.hsm-stat-k{display:block;color:var(--on-dark-muted);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.hsm-stat-v{display:block;font-family:var(--display);font-weight:900;color:#fff;font-size:clamp(26px,3.4vw,36px);line-height:1}
.hsm-stat-sub{display:block;color:var(--on-dark-muted);font-size:11.5px;margin-top:8px}
.hsm-facts-panel{padding:20px 22px;background:rgba(255,255,255,.04)}
.hsm-facts{display:grid;grid-template-columns:1fr 1fr;row-gap:11px;column-gap:16px}
.hsm-facts div{display:flex;flex-direction:column}
.hsm-facts dt{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:3px}
.hsm-facts dd{margin:0;font-size:14px;font-weight:600;color:#fff}

/* ---------- tab / anchor strip ---------- */
.hsm-tabs{background:var(--card);border-bottom:1px solid var(--line)}
.hsm-tabs-list{display:flex;gap:26px;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.hsm-tabs-list::-webkit-scrollbar{display:none}
.hsm-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}
.hsm-tabs-list a:hover{color:var(--text)}
.hsm-tabs-list a.is-active{color:var(--purple);border-color:var(--gold)}

/* ---------- shared section rhythm ---------- */
.hsm-sec{padding-top:var(--space-5)}

/* ---------- two-up: overview / film room ---------- */
.hsm-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}
.hsm-panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);padding:22px;display:flex;flex-direction:column}
.hsm-panel-eyebrow{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}
.hsm-panel h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:21px;line-height:1.12;margin-bottom:12px;max-width:22ch}
.hsm-panel p{font-size:13.5px;line-height:1.62;color:var(--text-muted);margin-bottom:12px}
.hsm-panel p:last-of-type{margin-bottom:0}

.hsm-ov-media{margin:0 0 14px;border-radius:var(--radius);overflow:hidden;max-width:140px}
.hsm-ov-body{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.hsm-ov-text{flex:1;min-width:220px}

.hsm-diagram{background:#161022;border-radius:var(--radius);overflow:hidden;color:#fff;margin-top:auto}
.hsm-diagram-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.hsm-diagram-head span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.hsm-diagram svg{display:block;width:100%;height:auto}
.hsm-diagram-cap{padding:9px 16px 14px;font-size:11.5px;color:var(--on-dark-muted);font-style:italic}

.hsm-panel-cta{margin-top:16px;align-self:flex-start}

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

.hsm-related{margin-top:16px}
.hsm-related h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.03em;margin-bottom:10px}
.hsm-related ul{display:flex;flex-direction:column;gap:10px}
.hsm-related li{border-top:1px solid var(--line);padding-top:10px}
.hsm-related li:first-child{border-top:0;padding-top:0}
.hsm-related a{font-size:13px;font-weight:700;color:var(--text)}
.hsm-related a:hover{color:var(--purple)}
.hsm-related .hsm-rel-note{display:block;font-size:11.5px;font-weight:400;color:var(--text-muted);margin-top:2px}

.hsm-timeline{list-style:none;margin:0;padding:0}
.hsm-timeline li{position:relative;padding:0 0 18px 22px;border-left:2px solid var(--line);margin-left:5px}
.hsm-timeline li:last-child{border-color:transparent;padding-bottom:0}
.hsm-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)}
.hsm-tl-k{display:block;font-family:var(--display);font-weight:700;font-size:13px;color:var(--purple);letter-spacing:.03em;text-transform:uppercase}
.hsm-tl-yr{display:block;font-size:11px;color:var(--text-faint);margin-top:1px}
.hsm-tl-txt{display:block;font-size:13px;color:var(--text-muted);line-height:1.5;margin-top:4px}

/* ---------- defense hub banner ---------- */
.hsm-hub{position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(120deg,#1c0e38 0%,#3b1c63 55%,#4f2683 100%);padding:44px 34px;margin-top:var(--space-5)}
.hsm-hub::before{content:"22";position:absolute;right:-10px;bottom:-58px;font-family:var(--display);font-weight:900;font-size:260px;line-height:1;color:rgba(255,255,255,.05);pointer-events:none}
.hsm-hub-in{position:relative;z-index:1;max-width:560px}
.hsm-hub-eyebrow{display:block;color:var(--gold);font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.hsm-hub h2{font-family:var(--display);font-weight:900;text-transform:uppercase;color:#fff;font-size:clamp(24px,3.6vw,36px);line-height:1.02;margin-bottom:10px}
.hsm-hub p{color:var(--on-dark-muted);font-size:14px;line-height:1.6;margin-bottom:18px}

/* ---------- latest news ---------- */
.hsm-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

@media(max-width:920px){
  .hsm-hero .wrap{grid-template-columns:1fr;min-height:0;padding-bottom:24px}
  .hsm-hero-art{order:-1;max-width:240px;margin:0 auto}
  .hsm-strip-grid{grid-template-columns:1fr 1fr}
  .hsm-stat{border-bottom:1px solid rgba(255,255,255,.09)}
  .hsm-facts-panel{grid-column:1 / -1;border-bottom:0}
  .hsm-duo{grid-template-columns:1fr}
  .hsm-news-grid{grid-template-columns:1fr 1fr}
  .hsm-hub{padding:32px 22px}
}
@media(max-width:560px){
  .hsm-news-grid{grid-template-columns:1fr}
}
