/* ===========================================================
   Minnesota Vikings fan site — /players/adam-thielen/
   Loads after style.css. Scoped to .page-thielen and the th-
   prefix, checked clear of collisions before use.
   =========================================================== */

.page-thielen ol{margin:0;padding:0;list-style:none}

/* ---------- breadcrumbs ---------- */
.th-crumbs{background:var(--purple-deep);color:rgba(255,255,255,.62)}
.th-crumbs .wrap{min-height:44px;display:flex;align-items:center}
.th-crumbs ol{display:flex;align-items:center;flex-wrap:wrap;gap:9px;
  font-family:var(--display);font-weight:500;font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;padding:8px 0}
.th-crumbs a{color:rgba(255,255,255,.72);transition:color var(--t-fast)}
.th-crumbs a:hover{color:var(--gold)}
.th-crumbs li[aria-current]{color:var(--gold)}
.th-crumbs li[aria-hidden]{opacity:.4}

/* ---------- hero ---------- */
.th-hero{position:relative;isolation:isolate;background:#0d0916;overflow:hidden}
.th-hero-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.th-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(97deg,rgba(17,8,38,.94) 0%,rgba(17,8,38,.88) 40%,rgba(17,8,38,.58) 76%,rgba(17,8,38,.72) 100%)}
.th-hero .wrap{padding-top:56px;padding-bottom:52px;max-width:var(--wrap)}
.th-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);
  font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.th-h1{font-family:var(--display);font-weight:700;text-transform:uppercase;color:#fff;
  font-size:clamp(38px,6.4vw,72px);line-height:.96;letter-spacing:.008em;
  margin:14px 0 18px;text-shadow:0 3px 22px rgba(0,0,0,.5)}
.th-lede{max-width:640px;color:#fff;font-size:clamp(15px,1.5vw,18px);line-height:1.62;
  text-shadow:0 1px 10px rgba(0,0,0,.5)}
.th-lede+.th-lede{margin-top:12px}
.th-hero-facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:28px;
  border-top:1px solid rgba(255,255,255,.22);padding-top:18px;max-width:820px}
.th-hero-facts li{font-family:var(--display);font-weight:600;font-size:12.5px;
  letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.th-hero-facts b{color:var(--gold)}

/* ---------- hometown-hero callout ---------- */
.th-callout{padding:var(--space-5) 0}
.th-callout-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:34px;align-items:center}
.th-callout-art{margin:0;min-width:0;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 1px 3px rgba(20,15,40,.09);background:#122a22}
.th-callout-art svg{display:block;width:100%;height:auto}
.th-callout-copy{min-width:0}
.th-callout-copy h2{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(24px,3vw,34px);letter-spacing:.015em;line-height:1.06;margin-bottom:14px}
.th-callout-copy p{font-size:15px;line-height:1.68;color:#33333c;max-width:64ch}
.th-callout-copy p+p{margin-top:14px}
.th-callout-badges{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;
  padding-top:14px;border-top:1px solid var(--line)}
.th-callout-badges .tag-cat{margin-bottom:0}

/* ---------- career at a glance ---------- */
.th-glance{background:var(--ink);padding:var(--space-5) 0}
.th-glance-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.th-tile{min-width:0;background:var(--panel-2);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius);padding:20px 14px 16px;text-align:center}
.th-tile b{display:block;font-family:var(--display);font-weight:700;color:var(--gold);
  font-size:clamp(24px,2.6vw,32px);line-height:1;letter-spacing:.01em}
.th-tile span{display:block;margin-top:8px;font-size:11.5px;line-height:1.35;
  letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.th-glance-note{margin-top:16px;font-size:12.5px;line-height:1.6;color:rgba(255,255,255,.5);max-width:76ch}

/* ---------- career stages timeline ---------- */
.th-stages{padding:var(--space-5) 0}
.th-stage-list{position:relative;display:grid;gap:16px}
.th-stage{position:relative;display:grid;grid-template-columns:170px minmax(0,1fr);
  gap:0;background:var(--card);border-radius:var(--radius);overflow:hidden;
  box-shadow:0 1px 3px rgba(20,15,40,.09);transition:box-shadow var(--t),transform var(--t)}
.th-stage:hover{box-shadow:0 10px 26px rgba(20,15,40,.15);transform:translateY(-2px)}
.th-stage-when{min-width:0;background:var(--purple);color:#fff;
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(14px,1.5vw,17px);line-height:1.15;letter-spacing:.02em;
  padding:22px 16px;display:flex;align-items:flex-start;justify-content:center;
  text-align:center;position:relative}
.th-stage-when::after{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;
  background:var(--gold);opacity:0;transition:opacity var(--t)}
.th-stage:hover .th-stage-when::after,.th-stage.is-last .th-stage-when::after{opacity:1}
.th-stage.is-last .th-stage-when{background:var(--purple-ink)}
.th-stage-body{min-width:0;padding:20px 24px 22px}
.th-stage-body h3{font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:clamp(17px,1.8vw,21px);letter-spacing:.02em;line-height:1.18;margin-bottom:10px}
.th-stage-body p{font-size:14.5px;line-height:1.68;color:#3a3a44;max-width:80ch}
.th-stage-body p+p{margin-top:10px}
.th-stage-tags{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;
  padding-top:12px;border-top:1px solid var(--line)}
.th-stage-tags .tag-cat{margin-bottom:0}

/* ---------- memorable games ---------- */
.th-games{background:#ecebef;padding:var(--space-5) 0}
.th-game-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.th-gm{min-width:0;background:var(--card);border-radius:var(--radius);
  padding:18px 20px 20px;box-shadow:0 1px 3px rgba(20,15,40,.09);
  border-left:3px solid var(--gold);transition:transform var(--t),box-shadow var(--t)}
.th-gm:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(20,15,40,.16)}
.th-gm-date{font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--purple)}
.th-gm h3{font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:19px;letter-spacing:.015em;line-height:1.18;margin:8px 0 9px}
.th-gm p{font-size:13.5px;line-height:1.62;color:var(--text-muted)}

/* ---------- receiving stats by season ---------- */
.th-stats{padding:var(--space-5) 0}
.th-stats-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;
  background:var(--card);border-radius:var(--radius);box-shadow:0 1px 3px rgba(20,15,40,.09)}
.th-stats-table{width:100%;min-width:560px;border-collapse:collapse}
.th-stats-table thead th{font-family:var(--display);font-weight:600;font-size:11px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--text-faint);
  text-align:right;padding:13px 16px;background:#eaebf2;border-bottom:1px solid var(--line)}
.th-stats-table thead th:first-child{text-align:left}
.th-stats-table tbody th{font-weight:600;font-size:13.5px;text-align:left;
  padding:12px 16px;border-bottom:1px solid var(--line);color:var(--text)}
.th-stats-table td{padding:12px 16px;font-size:13.5px;color:var(--text-muted);
  border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.th-stats-table tbody tr.th-total th,.th-stats-table tbody tr.th-total td{
  border-top:2px solid var(--purple);border-bottom:0;font-weight:700;color:var(--text)}
.th-stats-table tbody tr:hover th,.th-stats-table tbody tr:hover td{background:#f4f1fb}
.th-stats-note{margin-top:14px;font-size:12.5px;line-height:1.6;color:var(--text-muted);max-width:80ch}

/* ---------- related receiver profiles ---------- */
.th-related{background:var(--ink);padding:var(--space-5) 0}
.th-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.th-rel-card{display:flex;align-items:center;gap:16px;min-width:0;background:var(--panel-2);
  border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:16px 18px;
  transition:border-color var(--t),transform var(--t)}
.th-rel-card:hover{border-color:rgba(68,206,227,.5);transform:translateY(-2px)}
.th-rel-ico{flex:none;width:52px;height:52px;border-radius:50%;background:rgba(68,206,227,.14);
  display:grid;place-items:center;color:var(--gold);overflow:hidden}
.th-rel-ico svg{width:22px;height:22px}
.th-rel-ico img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.th-rel-txt{min-width:0}
.th-rel-txt b{display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;
  color:#fff;font-size:15.5px;letter-spacing:.015em;margin-bottom:3px}
.th-rel-txt span{display:block;font-size:12.5px;line-height:1.4;color:rgba(255,255,255,.62)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .th-glance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .th-callout-grid{grid-template-columns:minmax(0,1fr);gap:22px}
}
@media (max-width:820px){
  .th-hero .wrap{padding-top:40px;padding-bottom:40px}
  .th-stage{grid-template-columns:minmax(0,1fr)}
  .th-stage-when{padding:12px 18px;align-items:center;justify-content:flex-start;
    font-size:16px;letter-spacing:.06em;text-align:left}
  .th-stage-when::after{left:0;right:auto;top:auto;bottom:0;width:100%;height:3px}
  .th-stage-body{padding:16px 18px 18px}
  .th-related-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .th-glance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .th-game-list{grid-template-columns:minmax(0,1fr)}
  .th-hero::after{background:linear-gradient(180deg,rgba(17,8,38,.88) 0%,rgba(17,8,38,.92) 100%)}
}

@media (prefers-reduced-motion:reduce){
  .th-stage:hover,.th-gm:hover,.th-rel-card:hover{transform:none}
}
