/* ===========================================================
   minnesotavikings.io — Mike Zimmer coach profile
   Scoped to body.page-zimmer, every class prefixed .mzm-
   Palette and type come from style.css custom properties.
   Compositional idea: a ruled dossier. A single hairline runs
   down the left of the page, numbered section markers hang off
   it, and the content sits in an asymmetric rail + body split.
   =========================================================== */

.page-zimmer{
  --mzm-rule:#cfcbdb;
  --mzm-rule-dark:rgba(255,255,255,.22);
  --mzm-ink:#1a1a1a;
  --mzm-dim:#54545e;          /* 7.2:1 on #fff */
  --mzm-dim-dark:rgba(255,255,255,.78);
  --mzm-gold-ink:#041c1f;
  --mzm-shell:#fbfbfc;
  --mzm-warn:#7a1f1f;         /* 8.1:1 on #fff */
  --mzm-warn-bg:#fdf3f3;
  counter-reset:mzm-sect;
}

.page-zimmer main{background:var(--mzm-shell)}

/* ---------- breadcrumb ---------- */
.mzm-crumb{border-bottom:1px solid var(--mzm-rule);background:#fff}
.mzm-crumb ol{
  list-style:none;margin:0;padding:13px 0;display:flex;flex-wrap:wrap;
  align-items:center;gap:9px;
  font-family:var(--display);font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mzm-dim);
}
.mzm-crumb a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.mzm-crumb a:hover{color:var(--purple-ink)}
.mzm-crumb [aria-current]{color:var(--mzm-ink);font-weight:600}
.mzm-crumb .mzm-sep{color:var(--text-faint)}

/* ---------- hero: typographic, no photograph ---------- */
.mzm-hero{
  position:relative;overflow:hidden;color:var(--on-dark);
  background:
    radial-gradient(115% 150% at 8% 0%, #5f309b 0%, rgba(95,48,155,0) 58%),
    linear-gradient(158deg, var(--purple-deep) 0%, var(--purple-ink) 55%, #1d0e38 100%);
}
/* gold hairline field — decorative, sits behind the type */
.mzm-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,
    rgba(68,206,227,.14) 0 1px, rgba(68,206,227,0) 1px 22px);
  mask-image:linear-gradient(100deg, transparent 32%, #000 100%);
  -webkit-mask-image:linear-gradient(100deg, transparent 32%, #000 100%);
}
.mzm-hero .wrap{position:relative;z-index:1}
.mzm-hero-in{
  display:grid;grid-template-columns:minmax(0,1fr) 214px;gap:36px;
  align-items:start;padding:46px 0 40px;
}
.mzm-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--display);font-weight:600;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
}
.mzm-eyebrow::before{
  content:"";width:26px;height:2px;background:var(--gold);flex:none;
}
.mzm-h1{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(38px,7vw,74px);line-height:.94;letter-spacing:.005em;
  margin:14px 0 0;
}
.mzm-h1 small{
  display:block;margin-top:13px;
  font-family:var(--body);font-weight:500;text-transform:none;
  font-size:clamp(15px,1.7vw,19px);line-height:1.4;letter-spacing:0;
  color:var(--gold);
}
.mzm-lede{
  margin-top:20px;max-width:62ch;font-size:17px;line-height:1.62;
  color:var(--mzm-dim-dark);
}
.mzm-lede a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.mzm-lede a:hover{color:#fff}

/* monogram plate replaces a headshot — no photo of Zimmer exists on this server */
.mzm-plate{
  border:2px solid rgba(68,206,227,.55);border-radius:var(--radius);
  background:linear-gradient(155deg, rgba(255,255,255,.10), rgba(0,0,0,.24));
  padding:20px 16px;text-align:center;
}
.mzm-plate-mono{
  font-family:var(--display);font-weight:700;font-size:64px;line-height:1;
  letter-spacing:.02em;color:var(--gold);
}
.mzm-plate-rule{height:1px;background:rgba(68,206,227,.4);margin:14px 0}
.mzm-plate dl{margin:0;display:grid;gap:9px;text-align:left}
.mzm-plate dt{
  font-family:var(--display);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold);
}
.mzm-plate dd{margin:0;font-size:14px;line-height:1.35;color:#fff}

/* ---------- the status band: the single most important fact ---------- */
.mzm-status{background:#fff;border-bottom:1px solid var(--mzm-rule)}
.mzm-status-in{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;border-left:4px solid var(--gold);
}
.mzm-status-cell{padding:26px 26px 26px 24px}
.mzm-status-cell + .mzm-status-cell{border-left:1px solid var(--mzm-rule)}
.mzm-status h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(18px,2vw,23px);letter-spacing:.02em;line-height:1.15;
}
.mzm-status p{margin-top:11px;font-size:15.5px;line-height:1.6;color:var(--mzm-dim)}
.mzm-status p strong{color:var(--mzm-ink)}
.mzm-status a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.mzm-negative{
  background:var(--mzm-warn-bg);border-left:3px solid var(--mzm-warn);
  padding:12px 14px;margin-top:14px;font-size:15px;line-height:1.55;
  color:var(--mzm-warn);
}
.mzm-asof{
  margin-top:14px;display:inline-block;
  font-family:var(--display);font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mzm-ink);
  background:var(--gold);padding:6px 11px;border-radius:2px;
}

/* ---------- ruled section shell ---------- */
.mzm-sect{padding:52px 0 8px;position:relative}
.mzm-sect:last-of-type{padding-bottom:52px}
.mzm-grid{
  display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;
}
.mzm-rail{
  border-right:1px solid var(--mzm-rule);padding-right:26px;
  position:sticky;top:18px;align-self:start;
}
.mzm-num{
  counter-increment:mzm-sect;
  font-family:var(--display);font-weight:700;font-size:13px;
  letter-spacing:.14em;color:var(--purple);
}
.mzm-num::before{content:"0" counter(mzm-sect) " — "}
.mzm-rail-note{
  margin-top:10px;font-size:13px;line-height:1.5;color:var(--mzm-dim);
}
.mzm-body{padding-left:30px;padding-bottom:44px}
.mzm-sect + .mzm-sect .mzm-body{border-top:0}
.mzm-h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(23px,2.9vw,34px);line-height:1.06;letter-spacing:.01em;
}
.mzm-h3{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:15px;letter-spacing:.08em;margin-top:26px;
}
.mzm-p{margin-top:14px;font-size:16.5px;line-height:1.68;color:#2c2c34;max-width:70ch}
.mzm-p a{color:var(--purple);text-decoration:underline;text-underline-offset:3px}
.mzm-p a:hover{color:var(--purple-ink)}
.mzm-p strong{color:var(--mzm-ink)}

/* ---------- stat strip ---------- */
.mzm-strip{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;background:var(--mzm-rule);border:1px solid var(--mzm-rule);
  margin-top:22px;border-radius:var(--radius);overflow:hidden;
}
.mzm-stat{background:#fff;padding:18px 16px}
.mzm-stat dt{
  font-family:var(--display);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--mzm-dim);
}
.mzm-stat dd{
  margin:6px 0 0;font-family:var(--display);font-weight:700;
  font-size:30px;line-height:1;color:var(--purple);
}
.mzm-stat .mzm-stat-sub{
  display:block;margin-top:6px;font-family:var(--body);font-weight:400;
  font-size:12.5px;line-height:1.35;color:var(--mzm-dim);
}

/* ---------- season ledger ---------- */
.mzm-tablewrap{
  margin-top:22px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  border:1px solid var(--mzm-rule);border-radius:var(--radius);background:#fff;
}
.mzm-table{width:100%;border-collapse:collapse;min-width:640px}
.mzm-table caption{
  text-align:left;padding:14px 16px;border-bottom:1px solid var(--mzm-rule);
  font-family:var(--display);font-size:12px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mzm-dim);
}
.mzm-table thead th{
  background:var(--purple-ink);color:#fff;text-align:left;
  font-family:var(--display);font-weight:600;font-size:11.5px;
  letter-spacing:.11em;text-transform:uppercase;padding:11px 14px;
  white-space:nowrap;
}
.mzm-table tbody th{
  font-family:var(--display);font-weight:700;font-size:17px;
  text-align:left;padding:12px 14px;color:var(--mzm-ink);
  border-bottom:1px solid var(--mzm-rule);white-space:nowrap;
}
.mzm-table td{
  padding:12px 14px;font-size:14.5px;line-height:1.45;color:#33333b;
  border-bottom:1px solid var(--mzm-rule);vertical-align:middle;
}
.mzm-table tbody tr:nth-child(even) th,
.mzm-table tbody tr:nth-child(even) td{background:#f7f6fa}
.mzm-rec{font-family:var(--display);font-weight:700;font-size:16px;white-space:nowrap}
.mzm-bar{display:block;height:7px;background:#e3e0ec;border-radius:4px;min-width:96px;margin-top:6px}
.mzm-bar > i{display:block;height:100%;background:var(--purple);border-radius:4px;width:var(--mzm-w,0%)}
.mzm-table tr[data-mzm-title] th{box-shadow:inset 4px 0 0 var(--gold)}
.mzm-pill{
  display:inline-block;font-family:var(--display);font-size:10.5px;
  letter-spacing:.11em;text-transform:uppercase;padding:3px 8px;border-radius:2px;
  background:var(--gold);color:var(--mzm-gold-ink);
}
.mzm-table tfoot th,.mzm-table tfoot td{
  background:var(--purple);color:#fff;font-size:14.5px;padding:13px 14px;border:0;
}
.mzm-table tfoot th{font-family:var(--display);font-weight:700;font-size:16px;text-align:left}
.mzm-cap{margin-top:11px;font-size:13.5px;line-height:1.55;color:var(--mzm-dim);max-width:70ch}

/* ---------- callout card ---------- */
.mzm-card{
  margin-top:24px;background:#fff;border:1px solid var(--mzm-rule);
  border-top:3px solid var(--purple);border-radius:var(--radius);padding:22px 22px 24px;
}
.mzm-card-dark{
  background:linear-gradient(150deg,var(--purple-deep),var(--purple-ink));
  border:0;border-top:3px solid var(--gold);color:#fff;
}
.mzm-card-dark .mzm-p{color:var(--mzm-dim-dark)}
.mzm-card-dark .mzm-p strong{color:#fff}
.mzm-card-dark .mzm-p a{color:var(--gold)}
.mzm-card-dark .mzm-kicker{color:var(--gold)}
.mzm-card-dark .mzm-h3{color:#fff;margin-top:0}
.mzm-kicker{
  font-family:var(--display);font-weight:600;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--purple);
  display:block;margin-bottom:7px;
}
.mzm-card .mzm-h3:first-of-type{margin-top:0}

/* ---------- keyed facts list ---------- */
.mzm-facts{margin:18px 0 0;display:grid;gap:0;border-top:1px solid var(--mzm-rule)}
.mzm-facts > div{
  display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;
  padding:11px 0;border-bottom:1px solid var(--mzm-rule);
}
.mzm-facts dt{
  font-family:var(--display);font-size:11.5px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mzm-dim);padding-top:2px;
}
.mzm-facts dd{margin:0;font-size:15.5px;line-height:1.5;color:var(--mzm-ink)}
.mzm-card-dark .mzm-facts{border-color:var(--mzm-rule-dark)}
.mzm-card-dark .mzm-facts > div{border-color:var(--mzm-rule-dark)}
.mzm-card-dark .mzm-facts dt{color:var(--gold)}
.mzm-card-dark .mzm-facts dd{color:#fff}

/* ---------- timeline ---------- */
.mzm-time{margin-top:22px;list-style:none;padding:0}
.mzm-time li{
  display:grid;grid-template-columns:118px minmax(0,1fr);gap:20px;
  padding:13px 0 13px 0;border-bottom:1px solid var(--mzm-rule);position:relative;
}
.mzm-time li:last-child{border-bottom:0}
.mzm-yr{
  font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.05em;
  color:var(--purple);white-space:nowrap;padding-top:2px;
}
.mzm-role{display:block;font-size:15.5px;color:var(--mzm-ink);font-weight:500}
.mzm-org{display:block;margin-top:2px;font-size:13.5px;color:var(--mzm-dim)}
.mzm-time li.mzm-hilite .mzm-yr{color:var(--mzm-gold-ink);background:var(--gold);
  padding:2px 8px;border-radius:2px;display:inline-block}

/* ---------- bullets ---------- */
.mzm-list{margin-top:16px;padding:0;list-style:none;display:grid;gap:10px;max-width:70ch}
.mzm-list li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.6;color:#2c2c34}
.mzm-list li::before{
  content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--gold);
}

/* ---------- related links ---------- */
.mzm-links{
  margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.mzm-link{
  display:flex;flex-direction:column;background:#fff;border:1px solid var(--mzm-rule);
  border-radius:var(--radius);padding:20px 18px 18px;
  transition:border-color var(--t),transform var(--t),box-shadow var(--t);
}
.mzm-link:hover{border-color:var(--purple);transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(42,20,80,.14)}
.mzm-link h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:17px;line-height:1.15;letter-spacing:.015em;margin-top:8px;
}
.mzm-link p{margin-top:9px;font-size:14px;line-height:1.5;color:var(--mzm-dim)}
.mzm-go{
  display:inline-flex;align-items:center;align-self:flex-start;gap:7px;margin-top:auto;padding-top:13px;
  font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--purple);
  text-decoration:underline;text-underline-offset:4px;
}
.mzm-go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4}
.mzm-link:hover .mzm-go{color:var(--purple-ink)}

/* ---------- sources ---------- */
.mzm-sources{background:var(--purple-ink);color:#fff;padding:46px 0}
.mzm-sources h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(20px,2.3vw,27px);letter-spacing:.02em;
}
.mzm-sources > .wrap > p{margin-top:13px;max-width:74ch;font-size:15.5px;
  line-height:1.62;color:var(--mzm-dim-dark)}
.mzm-sources ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:12px;max-width:90ch}
.mzm-sources li{
  font-size:14.5px;line-height:1.55;color:var(--mzm-dim-dark);
  padding-left:18px;position:relative;
}
.mzm-sources li::before{content:"";position:absolute;left:0;top:.6em;width:9px;height:2px;background:var(--gold)}
.mzm-sources a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.mzm-sources a:hover{color:#fff}
.mzm-disclose{
  margin-top:26px;padding-top:18px;border-top:1px solid var(--mzm-rule-dark);
  font-size:13.5px;line-height:1.6;color:var(--mzm-dim-dark);max-width:80ch;
}

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .mzm-hero-in{grid-template-columns:minmax(0,1fr) 176px;gap:26px}
  .mzm-plate-mono{font-size:52px}
  .mzm-grid{grid-template-columns:150px minmax(0,1fr)}
  .mzm-rail{padding-right:18px}
  .mzm-body{padding-left:22px}
  .mzm-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mzm-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:767px){
  .mzm-hero-in{grid-template-columns:minmax(0,1fr);padding:34px 0 32px;gap:24px}
  .mzm-plate{max-width:320px}
  .mzm-status-in{grid-template-columns:minmax(0,1fr)}
  .mzm-status-cell{padding:22px 18px}
  .mzm-status-cell + .mzm-status-cell{border-left:0;border-top:1px solid var(--mzm-rule)}
  .mzm-sect{padding-top:36px}
  .mzm-grid{grid-template-columns:minmax(0,1fr)}
  .mzm-rail{
    position:static;border-right:0;border-bottom:1px solid var(--mzm-rule);
    padding:0 0 14px;margin-bottom:18px;
  }
  .mzm-body{padding-left:0;padding-bottom:32px}
  .mzm-links{grid-template-columns:minmax(0,1fr)}
  .mzm-facts > div{grid-template-columns:minmax(0,1fr);gap:3px}
  .mzm-time li{grid-template-columns:minmax(0,1fr);gap:4px}
  .mzm-lede{font-size:16px}
  .mzm-p{font-size:16px}
}

@media (max-width:359px){
  .mzm-strip{grid-template-columns:minmax(0,1fr)}
}

@media (prefers-reduced-motion:reduce){
  .page-zimmer *,.page-zimmer *::before,.page-zimmer *::after{
    transition-duration:1ms !important;animation-duration:1ms !important;
    animation-iteration-count:1 !important;scroll-behavior:auto !important;
  }
  .mzm-link:hover{transform:none}
}

@media print{
  .mzm-hero{background:none;color:#000}
  .mzm-rail{position:static}
}
