/* ===========================================================
   minnesotavikings.io — Chuck Foreman player profile
   Scoped to body.page-foreman, all classes prefixed .cfm-
   Palette + type come from /assets/css/style.css?v=teal custom props.
   =========================================================== */

.page-foreman{
  --cfm-rule:rgba(79,38,131,.18);
  --cfm-rule-dark:rgba(255,255,255,.14);
  --cfm-shadow:0 10px 34px rgba(26,10,54,.13);
}

/* ---------- breadcrumb ---------- */
.page-foreman .cfm-crumb{background:var(--purple-ink);color:rgba(255,255,255,.78)}
.page-foreman .cfm-crumb ol{
  list-style:none;margin:0;padding:11px 0;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-family:var(--display);font-weight:600;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;
}
.page-foreman .cfm-crumb a{color:var(--gold)}
.page-foreman .cfm-crumb a:hover{text-decoration:underline}
.page-foreman .cfm-crumb .cfm-sep{color:rgba(255,255,255,.4)}
.page-foreman .cfm-crumb [aria-current]{color:#fff}

/* ---------- hero: diagonal purple field, ghosted 44 ---------- */
.page-foreman .cfm-hero{
  position:relative;overflow:hidden;isolation:isolate;
  background:
    linear-gradient(118deg,var(--purple-ink) 0%,var(--purple-deep) 46%,var(--purple) 100%);
  color:var(--on-dark);
  padding:clamp(38px,6vw,76px) 0 0;
}
.page-foreman .cfm-hero::before{
  content:"";position:absolute;inset:auto -10% -42% -10%;height:70%;
  background:linear-gradient(90deg,var(--gold-deep),var(--gold));
  transform:rotate(-3.4deg);opacity:.16;z-index:-2;
}
.page-foreman .cfm-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:linear-gradient(90deg,var(--gold) 0 34%,var(--gold-deep) 34% 100%);
}
.page-foreman .cfm-hero-num{
  position:absolute;z-index:-1;right:-.06em;top:-.16em;
  font-family:var(--display);font-weight:700;line-height:.78;
  font-size:clamp(230px,34vw,470px);letter-spacing:-.03em;
  color:transparent;-webkit-text-stroke:2px rgba(68,206,227,.22);
  pointer-events:none;user-select:none;
}
.page-foreman .cfm-hero-in{position:relative;max-width:min(100%,780px);padding-bottom:clamp(28px,4vw,46px)}
.page-foreman .cfm-eyebrow{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--display);font-weight:600;font-size:12px;
  letter-spacing:.19em;text-transform:uppercase;color:var(--gold);
}
.page-foreman .cfm-eyebrow::before{
  content:"";width:34px;height:3px;background:var(--gold);flex:none;
}
.page-foreman .cfm-h1{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(44px,8.4vw,96px);line-height:.94;letter-spacing:-.005em;
  margin:14px 0 0;
}
.page-foreman .cfm-h1 small{
  display:block;margin-top:14px;
  font-family:var(--body);font-weight:600;text-transform:none;
  font-size:clamp(14px,1.7vw,18px);line-height:1.4;letter-spacing:.01em;
  color:var(--gold);
}
.page-foreman .cfm-standfirst{
  margin-top:18px;max-width:62ch;
  font-size:clamp(15px,1.55vw,18.5px);line-height:1.62;color:rgba(255,255,255,.9);
}
.page-foreman .cfm-hero-strip{
  position:relative;border-top:1px solid var(--cfm-rule-dark);
  background:rgba(0,0,0,.24);
}
.page-foreman .cfm-hero-strip ul{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.page-foreman .cfm-hero-strip li{
  padding:16px 0 20px;border-left:1px solid var(--cfm-rule-dark);
  padding-left:16px;
}
.page-foreman .cfm-hero-strip li:first-child{border-left:0;padding-left:0}
.page-foreman .cfm-hero-strip b{
  display:block;font-family:var(--display);font-weight:700;
  font-size:clamp(22px,3.1vw,36px);line-height:1;color:var(--gold);
}
.page-foreman .cfm-hero-strip span{
  display:block;margin-top:7px;font-size:12.5px;line-height:1.35;
  color:rgba(255,255,255,.82);
}

/* ---------- dateline ---------- */
.page-foreman .cfm-dateline{background:var(--card);border-bottom:1px solid var(--line)}
.page-foreman .cfm-dateline .wrap{
  display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;padding-top:12px;padding-bottom:12px;
  font-size:12.5px;color:var(--text-muted);
}
.page-foreman .cfm-dateline b{
  font-family:var(--display);font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--purple);font-size:11.5px;
}
.page-foreman .cfm-dateline a{color:var(--purple);text-decoration:underline}

/* ---------- section shell ---------- */
.page-foreman .cfm-sect{padding:clamp(40px,5.4vw,72px) 0}
.page-foreman .cfm-sect--tint{background:#ece9f2}
.page-foreman .cfm-sect--dark{background:var(--panel);color:var(--on-dark)}
.page-foreman .cfm-sect--dark .cfm-lead{color:rgba(255,255,255,.88)}

/* chapter heading: number rail + rule */
.page-foreman .cfm-hd{
  display:grid;grid-template-columns:auto 1fr;align-items:baseline;
  column-gap:16px;margin-bottom:clamp(20px,2.6vw,32px);
}
.page-foreman .cfm-ch{
  font-family:var(--display);font-weight:700;font-size:clamp(28px,3.6vw,44px);
  line-height:.9;color:var(--gold-deep);letter-spacing:-.02em;
}
.page-foreman .cfm-sect--dark .cfm-ch{color:var(--gold)}
.page-foreman .cfm-h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(24px,3.3vw,40px);line-height:1.04;letter-spacing:.005em;
  color:var(--purple-ink);
}
.page-foreman .cfm-sect--dark .cfm-h2{color:#fff}
.page-foreman .cfm-hd::after{
  content:"";grid-column:1 / -1;height:3px;margin-top:16px;
  background:linear-gradient(90deg,var(--gold) 0 78px,var(--cfm-rule) 78px 100%);
}
.page-foreman .cfm-sect--dark .cfm-hd::after{
  background:linear-gradient(90deg,var(--gold) 0 78px,var(--cfm-rule-dark) 78px 100%);
}
.page-foreman .cfm-h3{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:15px;letter-spacing:.12em;color:var(--purple);margin-bottom:12px;
}
.page-foreman .cfm-sect--dark .cfm-h3{color:var(--gold)}

/* ---------- prose ---------- */
.page-foreman .cfm-prose p{margin:0 0 15px;font-size:16.5px;line-height:1.68;color:var(--text)}
.page-foreman .cfm-sect--dark .cfm-prose p{color:rgba(255,255,255,.87)}
.page-foreman .cfm-prose p:last-child{margin-bottom:0}
.page-foreman .cfm-prose a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}
.page-foreman .cfm-sect--dark .cfm-prose a{color:var(--gold)}
.page-foreman .cfm-lead > p:first-child{font-size:clamp(17px,1.9vw,20px);line-height:1.55;color:var(--ink)}

/* ---------- opening: prose + dossier rail ---------- */
.page-foreman .cfm-open{
  display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,50px);align-items:start;
}
.page-foreman .cfm-dossier{
  background:var(--card);border:1px solid var(--line);border-top:5px solid var(--purple);
  border-radius:var(--radius);padding:22px;box-shadow:var(--cfm-shadow);
}
.page-foreman .cfm-dossier dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0}
.page-foreman .cfm-dossier dt{
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--text-muted);
  padding:9px 14px 9px 0;border-top:1px solid var(--line);white-space:nowrap;
}
.page-foreman .cfm-dossier dd{
  margin:0;padding:9px 0;border-top:1px solid var(--line);
  font-size:14.5px;line-height:1.45;color:var(--text);text-align:right;
}
.page-foreman .cfm-dossier dt:first-of-type,
.page-foreman .cfm-dossier dd:first-of-type{border-top:0}

/* ---------- stat callout grid ---------- */
.page-foreman .cfm-figs{
  list-style:none;margin:0;padding:0;display:grid;gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.page-foreman .cfm-figs li{
  background:rgba(255,255,255,.06);border:1px solid var(--cfm-rule-dark);
  border-left:4px solid var(--gold);border-radius:var(--radius);padding:16px 16px 15px;
}
.page-foreman .cfm-figs b{
  display:block;font-family:var(--display);font-weight:700;line-height:1;
  font-size:clamp(28px,4vw,42px);color:var(--gold);
}
.page-foreman .cfm-figs span{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:rgba(255,255,255,.84)}

.page-foreman .cfm-split{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:clamp(24px,3.4vw,46px);align-items:start;
}

/* ---------- pull quote ---------- */
.page-foreman .cfm-pull{
  margin:26px 0 0;padding:20px 0 0;border-top:3px solid var(--gold);
}
.page-foreman .cfm-pull p{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:clamp(17px,2.2vw,24px);line-height:1.2;letter-spacing:.01em;color:#fff;margin:0;
}
.page-foreman .cfm-pull cite{
  display:block;margin-top:12px;font-style:normal;font-size:12.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gold);
}

/* ---------- ledger table ---------- */
.page-foreman .cfm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.page-foreman .cfm-table{border-collapse:collapse;width:100%;min-width:760px;font-size:14.5px}
.page-foreman .cfm-table caption{
  caption-side:top;text-align:left;padding:14px 16px;
  font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--line);
}
.page-foreman .cfm-table th,
.page-foreman .cfm-table td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.page-foreman .cfm-table thead th{
  background:var(--purple);color:#fff;
  font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.1em;
  text-transform:uppercase;border-bottom:0;
}
.page-foreman .cfm-table th[scope="row"]{text-align:left;font-weight:700;color:var(--purple-ink)}
.page-foreman .cfm-table tbody tr:nth-child(even) td,
.page-foreman .cfm-table tbody tr:nth-child(even) th[scope="row"]{background:#faf9fc}
.page-foreman .cfm-table .cfm-lead-yr td,
.page-foreman .cfm-table .cfm-lead-yr th[scope="row"]{background:rgba(68,206,227,.17)}
.page-foreman .cfm-table tfoot th,
.page-foreman .cfm-table tfoot td{
  background:var(--purple-ink);color:#fff;border-bottom:1px solid rgba(255,255,255,.14);font-weight:700;
}
.page-foreman .cfm-table tfoot th[scope="row"]{color:var(--gold);text-align:left}
.page-foreman .cfm-note{margin-top:12px;font-size:13px;line-height:1.55;color:var(--text-muted)}
.page-foreman .cfm-sect--dark .cfm-note{color:rgba(255,255,255,.68)}
.page-foreman .cfm-key{
  display:inline-block;width:12px;height:12px;vertical-align:-1px;margin-right:5px;
  background:rgba(68,206,227,.55);border:1px solid var(--gold-deep);
}

/* ---------- super bowl cards ---------- */
.page-foreman .cfm-sbs{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.page-foreman .cfm-sb{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;position:relative;overflow:hidden;box-shadow:var(--cfm-shadow);
}
.page-foreman .cfm-sb::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--purple)}
.page-foreman .cfm-sb h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:22px;line-height:1;color:var(--purple-ink);
}
.page-foreman .cfm-sb .cfm-sb-season{
  display:block;margin-top:8px;font-size:12px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--text-muted);font-family:var(--display);font-weight:600;
}
.page-foreman .cfm-sb .cfm-score{
  display:block;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);
  font-family:var(--display);font-weight:700;font-size:19px;color:var(--text);
}
.page-foreman .cfm-sb .cfm-res{
  display:inline-block;margin-top:10px;padding:4px 10px;border-radius:3px;
  background:#7a1220;color:#fff;
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.15em;text-transform:uppercase;
}
.page-foreman .cfm-sb p{margin-top:12px;font-size:14px;line-height:1.55;color:var(--text-muted)}

/* ---------- honours ---------- */
.page-foreman .cfm-cols{display:grid;gap:clamp(22px,3vw,40px);grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}
.page-foreman .cfm-list{list-style:none;margin:0;padding:0}
.page-foreman .cfm-list li{
  padding:11px 0 11px 26px;border-top:1px solid var(--cfm-rule);position:relative;
  font-size:15px;line-height:1.5;
}
.page-foreman .cfm-list li:first-child{border-top:0}
.page-foreman .cfm-list li::before{
  content:"";position:absolute;left:2px;top:18px;width:10px;height:10px;
  background:var(--gold);transform:rotate(45deg);
}
.page-foreman .cfm-list b{font-weight:700}
.page-foreman .cfm-flag{
  background:var(--card);border:1px solid var(--line);border-left:5px solid var(--gold-deep);
  border-radius:var(--radius);padding:20px 22px;
}
.page-foreman .cfm-flag h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:18px;color:var(--purple-ink);margin-bottom:10px;
}
.page-foreman .cfm-flag p{font-size:15px;line-height:1.62;color:var(--text);margin:0 0 12px}
.page-foreman .cfm-flag p:last-child{margin-bottom:0}
.page-foreman .cfm-flag a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}

/* ---------- sources ---------- */
.page-foreman .cfm-sources{list-style:none;margin:0;padding:0;display:grid;gap:0}
.page-foreman .cfm-sources li{
  padding:12px 0;border-top:1px solid var(--cfm-rule);font-size:14.5px;line-height:1.55;color:var(--text-muted);
}
.page-foreman .cfm-sources li:first-child{border-top:0}
.page-foreman .cfm-sources a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}

/* ---------- related ---------- */
.page-foreman .cfm-related{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(252px,1fr))}
.page-foreman .cfm-card{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px;transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.page-foreman .cfm-card:hover{transform:translateY(-3px);box-shadow:var(--cfm-shadow);border-color:var(--purple)}
.page-foreman .cfm-card h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:20px;line-height:1.08;color:var(--purple-ink);margin:2px 0 9px;
}
.page-foreman .cfm-card p{font-size:14px;line-height:1.55;color:var(--text-muted);margin-bottom:14px}
.page-foreman .cfm-go{
  margin-top:auto;font-family:var(--display);font-weight:600;font-size:12px;
  letter-spacing:.11em;text-transform:uppercase;color:var(--purple);
  display:inline-flex;align-items:center;gap:8px;transition:gap var(--t-fast);
}
.page-foreman .cfm-card:hover .cfm-go{gap:12px}
.page-foreman .cfm-go svg{width:14px;height:14px}

/* ---------- closer ---------- */
.page-foreman .cfm-closer{
  background:linear-gradient(110deg,var(--purple-ink),var(--purple));
  color:var(--on-dark);padding:clamp(38px,5vw,62px) 0;border-top:6px solid var(--gold);
}
.page-foreman .cfm-closer h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(24px,3.4vw,38px);line-height:1.05;
}
.page-foreman .cfm-closer p{margin:14px 0 22px;max-width:64ch;font-size:16px;line-height:1.62;color:rgba(255,255,255,.9)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .page-foreman .cfm-open,
  .page-foreman .cfm-split{grid-template-columns:minmax(0,1fr)}
  .page-foreman .cfm-hero-strip ul{grid-template-columns:repeat(2,1fr)}
  .page-foreman .cfm-hero-strip li:nth-child(3){border-left:0;padding-left:0}
  .page-foreman .cfm-hero-strip li:nth-child(n+3){border-top:1px solid var(--cfm-rule-dark)}
}
@media (max-width:560px){
  .page-foreman .cfm-hd{grid-template-columns:minmax(0,1fr);row-gap:6px}
  .page-foreman .cfm-dossier dl{grid-template-columns:minmax(0,1fr)}
  .page-foreman .cfm-dossier dt{padding-bottom:0;border-top:1px solid var(--line)}
  .page-foreman .cfm-dossier dd{text-align:left;padding-top:3px;border-top:0}
  .page-foreman .cfm-hero-num{font-size:clamp(180px,52vw,260px)}
}

@media (prefers-reduced-motion:reduce){
  .page-foreman .cfm-card,
  .page-foreman .cfm-go{transition:none}
  .page-foreman .cfm-card:hover{transform:none}
}

/* ---------- small utilities ---------- */
.page-foreman .cfm-measure{max-width:74ch}
.page-foreman .cfm-mb{margin-bottom:26px}
.page-foreman .cfm-list a{color:var(--purple);text-decoration:underline;text-underline-offset:2px}
.page-foreman .cfm-cols .cfm-flag{margin-top:22px}

/* Complete interrupted contrast repair. */
.page-foreman .cfm-sect--dark .cfm-lead > p:first-child{color:#fff}
.page-foreman .cfm-lead .cfm-pull > p:first-child{color:#fff}

.page-foreman .cfm-ch{color:#116d7b}
.page-foreman .cfm-sect--dark .cfm-ch{color:var(--gold)}
.page-foreman .cfm-sep{color:rgba(255,255,255,.65)}
