/* ===========================================================
   /coaches/ — Minnesota Vikings Coaching Staff
   Printed-season-guide treatment. All classes prefixed .cs-
   =========================================================== */

body.page-coaches{
  /* palette from the brief */
  --cs-white:#F7F3EA;
  --cs-deep:#3D1768;
  --cs-purple:#4F2683;
  --cs-gold:#FFC62F;
  --cs-ink:#17151B;
  --cs-board:#315846;
  --cs-red:#B8463C;
  --cs-grey:#8A8790;          /* rules / fills only — fails 4.5:1 as text */
  --cs-grey-text:#5F5C66;     /* accessible small-print colour */
  --cs-rule:#d2d2de;
  --cs-zebra-a:#ecedf4;
  --cs-zebra-b:#e7e8f0;
  --cs-paper:#FFFFFF;
  --cs-sheet-w:78px;

  background:var(--cs-white);
  color:var(--cs-ink);
}

/* accessible focus ring on this page's light paper */
.page-coaches #main :focus-visible,
.page-coaches .cs-sheet :focus-visible,
.page-coaches .cs-indexbtn:focus-visible,
.page-coaches .cs-drawer :focus-visible{
  outline:3px solid var(--cs-deep);outline-offset:2px;border-radius:2px;
}
.page-coaches .cs-on-dark :focus-visible{outline-color:var(--cs-gold)}

.page-coaches #main{
  font-family:var(--body);
  font-size:17px;line-height:1.62;
}
.page-coaches #main p{margin:0 0 14px}
.page-coaches #main p:last-child{margin-bottom:0}
.page-coaches #main a:not(.cs-plain){
  color:var(--cs-deep);text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;
}
.page-coaches #main a:not(.cs-plain):hover{text-decoration-thickness:2px}

.cs-sec{padding-top:56px;padding-bottom:56px;scroll-margin-top:74px}
.cs-sec--tight{padding-top:36px}
.cs-sec--paper{background:var(--cs-paper);border-top:1px solid var(--cs-rule);border-bottom:1px solid var(--cs-rule)}
.cs-sec--deep{background:var(--cs-deep);color:#fff}

.cs-h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(24px,3vw,38px);line-height:1.06;letter-spacing:.012em;
  margin:0 0 6px;max-width:22ch;
}
.cs-h2--wide{max-width:none}
.cs-kicker{
  font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cs-grey-text);margin:0 0 10px;
}
.cs-sec--deep .cs-kicker{color:var(--cs-gold)}
.cs-rule-gold{width:64px;height:5px;background:var(--cs-gold);margin:0 0 22px;border:0}
.cs-standfirst{font-size:19px;line-height:1.55;max-width:62ch;margin:0 0 26px}
.cs-h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(17px,1.7vw,21px);line-height:1.15;letter-spacing:.03em;margin:0 0 3px;
}
.cs-role{
  font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cs-board);margin:0 0 10px;
}
.cs-note{font-size:14px;color:var(--cs-grey-text);max-width:70ch}

/* ---------- 1. gold strip + opening ---------- */
.cs-strip{background:var(--cs-gold);color:#231800}
.cs-strip .wrap{
  padding-top:9px;padding-bottom:9px;
  font-family:var(--display);font-weight:700;font-size:12.5px;
  letter-spacing:.26em;text-transform:uppercase;
}
.cs-open{background:#fff;border-bottom:1px solid var(--cs-rule)}
.cs-open .wrap{padding-top:40px;padding-bottom:0}
.page-coaches h1{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(28px,4.6vw,58px);line-height:1;letter-spacing:.005em;
  margin:0 0 26px;color:var(--cs-ink);
}
.cs-answer{border-top:3px solid var(--cs-ink);padding-top:14px}
.cs-answer__label{
  font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--cs-grey-text);display:block;margin-bottom:6px;
}
.cs-answer__name{
  display:block;font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(40px,10vw,124px);line-height:.9;letter-spacing:-.005em;
  color:var(--cs-purple);margin:0;
}
.cs-answer__role{
  display:block;font-family:var(--display);font-weight:600;
  font-size:clamp(14px,2vw,20px);letter-spacing:.2em;text-transform:uppercase;
  color:var(--cs-ink);margin-top:10px;
}

/* purple line dividing to three destinations */
.cs-split{margin-top:26px;padding-bottom:34px}
.cs-split__stem{width:2px;height:34px;background:var(--cs-purple);margin:0 auto}
.cs-split__bar{height:2px;background:var(--cs-purple);margin:0 auto;width:min(100%,760px)}
.cs-split__legs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  width:min(100%,760px);margin:0 auto;
}
.cs-split__leg{display:flex;flex-direction:column;align-items:center;min-width:0}
.cs-split__leg::before{content:"";width:2px;height:26px;background:var(--cs-purple)}
.cs-split__link{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:48px;padding:11px 10px;width:100%;
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;
  color:#fff !important;background:var(--cs-purple);
  text-decoration:none !important;
  transition:background 180ms;
}
.cs-split__link:hover{background:var(--cs-deep)}
.cs-split__leg+.cs-split__leg .cs-split__link{border-left:1px solid rgba(255,255,255,.34)}

/* ---------- 2. banner ---------- */
/* SWAP LINE: replace `none` below with url("/assets/img/coaches-banner.webp") */
.cs-banner{--cs-banner-img:none}

.cs-banner{
  position:relative;overflow:hidden;background:var(--cs-deep);
  aspect-ratio:5/2;width:100%;margin:0;
  border-top:4px solid var(--cs-gold);border-bottom:1px solid var(--cs-rule);
}
.cs-banner__art{
  position:absolute;inset:0;width:100%;height:100%;display:block;
}
.cs-banner__photo{
  position:absolute;inset:0;
  background-image:var(--cs-banner-img);
  background-size:cover;background-position:center 40%;background-repeat:no-repeat;
}
.cs-banner__cap{
  position:absolute;left:0;right:0;bottom:0;padding:8px 20px;
  background:linear-gradient(to top,rgba(23,21,27,.72),rgba(23,21,27,0));
  color:#fff;font-size:13px;line-height:1.4;
}

.cs-lede{padding-top:34px;padding-bottom:10px}
.cs-lede p{max-width:66ch;font-size:18.5px}

/* ---------- call sheet (fixed, desktop) ---------- */
.cs-sheet{
  position:fixed;left:8px;top:50%;transform:translateY(-50%);
  z-index:55;width:var(--cs-sheet-w);
  background:#fffdf6;border:1px solid var(--cs-rule);
  border-radius:4px;
  box-shadow:0 1px 0 #fff inset,0 10px 26px rgba(23,21,27,.16);
  padding:8px 6px 10px;display:none;
}
.cs-sheet::before{
  content:"";display:block;height:4px;background:var(--cs-gold);
  margin:-8px -6px 8px;border-radius:3px 3px 0 0;
}
.cs-sheet__title{
  font-family:var(--display);font-weight:700;font-size:9.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--cs-grey-text);text-align:center;
  margin:0 0 7px;line-height:1.25;
}
.cs-sheet__list{list-style:none;margin:0;padding:0}
.cs-sheet__item+.cs-sheet__item{border-top:1px dashed var(--cs-rule)}
.cs-sheet__link{
  display:flex;align-items:center;justify-content:center;text-align:center;
  min-height:44px;padding:6px 2px;
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--cs-deep) !important;
  text-decoration:none !important;line-height:1.15;
  transition:background 150ms,color 150ms;
}
.cs-sheet__link:hover{background:var(--cs-purple);color:#fff !important}

/* mobile / mid-width: STAFF INDEX button + drawer */
.cs-indexbtn{
  position:fixed;left:12px;bottom:12px;z-index:112;
  min-height:44px;min-width:44px;padding:11px 16px;
  background:var(--cs-purple);color:#fff;border:2px solid var(--cs-gold);
  border-radius:3px;
  font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 6px 18px rgba(23,21,27,.3);
}
.cs-indexbtn:hover{background:var(--cs-deep)}
.cs-drawer{
  position:fixed;inset:0;z-index:115;display:none;
  background:rgba(23,21,27,.55);
}
.cs-drawer.is-open{display:block}
.cs-drawer__panel{
  position:absolute;left:0;right:0;bottom:0;
  background:#fffdf6;border-top:5px solid var(--cs-gold);
  padding:14px 16px calc(14px + env(safe-area-inset-bottom));
  max-height:80vh;overflow:auto;
}
.cs-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.cs-drawer__title{
  font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.16em;
  text-transform:uppercase;margin:0;
}
.cs-drawer__close{
  min-height:44px;min-width:44px;padding:8px 14px;border:1px solid var(--cs-rule);
  border-radius:3px;background:#fff;
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}
.cs-drawer__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cs-drawer__link{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  min-height:48px;padding:10px 12px;min-width:0;
  border:1px solid var(--cs-rule);border-left:4px solid var(--cs-gold);background:#fff;
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cs-deep) !important;text-decoration:none !important;
}
.cs-drawer__link small{display:block;margin-top:2px;font-family:var(--body);font-weight:400;font-size:11.5px;
  letter-spacing:.02em;text-transform:none;color:var(--cs-grey-text)}

/* ---------- 3. command-room doors ---------- */
.cs-doors{display:grid;grid-template-columns:1fr;gap:16px;margin-top:8px}
.cs-door{border:1px solid var(--cs-rule);background:var(--cs-paper);min-width:0}
.cs-door__btn{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  min-height:64px;padding:14px 16px;background:#fff;color:var(--cs-ink);
  border-bottom:1px solid transparent;
}
.cs-door__btn:hover{background:#fbf8f0}
.cs-door[data-open="true"] .cs-door__btn{border-bottom-color:var(--cs-rule)}
.cs-door__num{
  flex:none;width:38px;height:38px;display:grid;place-items:center;
  background:var(--cs-gold);color:#231800;
  font-family:var(--display);font-weight:700;font-size:16px;
}
.cs-door__label{
  flex:1;min-width:0;
  font-family:var(--display);font-weight:700;font-size:clamp(16px,2vw,22px);
  letter-spacing:.09em;text-transform:uppercase;line-height:1.1;
}
.cs-door__label small{
  display:block;font-family:var(--body);font-weight:400;font-size:13px;
  letter-spacing:.02em;text-transform:none;color:var(--cs-grey-text);margin-top:3px;
}
.cs-door__state{
  flex:none;display:flex;align-items:center;gap:8px;
  font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--cs-deep);
}
.cs-door__chev{width:18px;height:18px;flex:none;transition:transform 200ms}
.cs-door[data-open="true"] .cs-door__chev{transform:rotate(90deg)}
.cs-door__panel[hidden]{display:none}
.cs-door__panel{padding:0}
.cs-door__grid{display:grid;grid-template-columns:1fr;gap:0}
.cs-board{display:block;width:100%;height:auto;aspect-ratio:16/10}
.cs-door__body{padding:18px 16px 20px;min-width:0}
.cs-room-list{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid var(--cs-rule)}
.cs-room-list li{
  display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;
  padding:9px 0;border-bottom:1px solid var(--cs-rule);min-width:0;
}
.cs-room-list b{
  font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.05em;
  text-transform:uppercase;flex:none;
}
.cs-room-list span{font-size:14.5px;color:var(--cs-grey-text);min-width:0}

/* ---------- 4. four voices ---------- */
.cs-voices{display:grid;grid-template-columns:1fr;gap:0;margin-top:10px}
.cs-voice{padding:22px 0;border-top:1px solid var(--cs-rule);min-width:0}
.cs-voice:first-child{border-top:3px solid var(--cs-ink)}
.cs-voice__lead{display:flex;gap:18px;align-items:flex-start;min-width:0}
.cs-voice__no{
  flex:none;font-family:var(--display);font-weight:700;font-size:34px;line-height:1;
  color:var(--cs-gold);-webkit-text-stroke:1px var(--cs-purple);
}
.cs-voice__body{min-width:0;flex:1}
.cs-voice ul{margin:10px 0 0;padding:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 18px}
.cs-voice ul li{position:relative;padding-left:18px;font-size:15.5px;min-width:0}
.cs-voice ul li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:var(--cs-gold)}

/* ---------- 5. O'Connell magazine chapter ---------- */
.cs-chapter{background:var(--cs-deep);color:#fff}
.cs-chapter .wrap{padding-top:0;padding-bottom:0}
.cs-chapter__grid{display:grid;grid-template-columns:1fr;gap:0;min-width:0}
.cs-portrait{
  position:relative;background:var(--cs-purple);overflow:hidden;
  display:flex;align-items:flex-end;padding:26px 22px;min-height:320px;
  border-bottom:4px solid var(--cs-gold);
}
.cs-portrait__fig{
  position:absolute;right:-2%;top:50%;transform:translateY(-52%);
  width:76%;height:auto;aspect-ratio:3/4;opacity:.62;
}
.cs-portrait__type{position:relative;z-index:1;min-width:0}
.cs-portrait__ini{
  font-family:var(--display);font-weight:700;font-size:clamp(64px,13vw,132px);
  line-height:.82;color:var(--cs-gold);display:block;letter-spacing:-.01em;
}
.cs-portrait__cap{
  display:block;margin-top:12px;font-size:13.5px;line-height:1.45;
  color:#fff;max-width:34ch;
}
.cs-chapter__body{padding:30px 22px 34px;min-width:0}
.cs-chapter__body .cs-h2{color:#fff}
.cs-chapter__body p{color:rgba(255,255,255,.92)}
.cs-chapter__body a{color:var(--cs-gold) !important}
.cs-chapter__body .cs-badge,
.cs-badge{
  display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;
  background:var(--cs-gold);color:#231800;padding:9px 14px;
}
.cs-badge svg{width:22px;height:22px;flex:none}
.cs-badge b{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.13em;text-transform:uppercase;line-height:1.2}
.cs-badge span{display:block;font-family:var(--body);font-weight:400;font-size:12px;letter-spacing:.02em;text-transform:none}
.cs-facts{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.cs-facts li{border-top:2px solid var(--cs-gold);padding-top:9px;min-width:0}
.cs-facts b{display:block;font-family:var(--display);font-weight:600;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cs-gold);margin-bottom:3px}
.cs-facts span{font-size:15.5px;color:#fff}

/* four-season strip */
.cs-seasons{margin-top:26px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cs-seasons table{border-collapse:collapse;width:100%;min-width:520px;font-size:15px}
.cs-seasons caption{
  text-align:left;font-family:var(--display);font-weight:700;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cs-gold);padding-bottom:8px;
}
.cs-seasons th,.cs-seasons td{border:1px solid rgba(255,255,255,.28);padding:9px 12px;text-align:left}
.cs-seasons thead th{
  font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;background:rgba(255,255,255,.1);
}
.cs-seasons tbody th{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.04em}
.cs-seasons td.cs-num{text-align:right;font-variant-numeric:tabular-nums}
.cs-seasons tfoot th,.cs-seasons tfoot td{background:var(--cs-gold);color:#231800;border-color:rgba(0,0,0,.25)}

/* ---------- generic editorial table ---------- */
.cs-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;border:1px solid var(--cs-rule);background:#fff}
.cs-table{border-collapse:collapse;width:100%;min-width:560px;font-size:15.5px}
.cs-table caption{
  text-align:left;padding:12px 14px;background:#fff;border-bottom:1px solid var(--cs-rule);
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cs-grey-text);
}
.cs-table th,.cs-table td{border:1px solid var(--cs-rule);padding:10px 13px;text-align:left;vertical-align:top}
.cs-table thead th{
  background:var(--cs-deep);color:#fff;
  font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;
}
.cs-table tbody tr.cs-z-a td,.cs-table tbody tr.cs-z-a th{background:var(--cs-zebra-a)}
.cs-table tbody tr.cs-z-b td,.cs-table tbody tr.cs-z-b th{background:var(--cs-zebra-b)}
.cs-table tbody th{
  font-family:var(--display);font-weight:700;font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;
}

/* ---------- 6. communication map ---------- */
.cs-map{background:var(--cs-ink);color:#fff}
.cs-map .cs-h2{color:#fff}
.cs-map__layout{display:grid;grid-template-columns:1fr;gap:24px;min-width:0}
.cs-map__stage{min-width:0}
.cs-map__svg{display:block;width:100%;height:auto;aspect-ratio:4/3;background:#211d29;border:1px solid rgba(255,255,255,.16)}
.cs-map__node rect{fill:#2e2839;stroke:rgba(255,255,255,.3);stroke-width:1.2}
.cs-map__node text{fill:#fff;font-family:inherit}
.cs-map__link{stroke:rgba(255,255,255,.22);stroke-width:2;fill:none}
.cs-map__svg[data-route="1"] .cs-r1,
.cs-map__svg[data-route="2"] .cs-r2,
.cs-map__svg[data-route="3"] .cs-r3,
.cs-map__svg[data-route="4"] .cs-r4{stroke:var(--cs-gold);stroke-width:4}
.cs-map__svg[data-route="1"] .cs-n1 rect,
.cs-map__svg[data-route="2"] .cs-n2 rect,
.cs-map__svg[data-route="3"] .cs-n3 rect,
.cs-map__svg[data-route="4"] .cs-n4 rect{fill:var(--cs-purple);stroke:var(--cs-gold);stroke-width:2.4}
.cs-map__side{min-width:0}
.cs-map__btns{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.cs-map__btn{
  display:block;width:100%;text-align:left;min-height:48px;padding:11px 14px;
  background:#2a2434;color:#fff;border:1px solid rgba(255,255,255,.24);
  font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;
  transition:background 160ms,border-color 160ms;
}
.cs-map__btn:hover{background:var(--cs-purple)}
.cs-map__btn[aria-pressed="true"]{background:var(--cs-purple);border-color:var(--cs-gold);border-left:5px solid var(--cs-gold)}
.cs-map__routes{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.22)}
.cs-map__routes li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.22);font-size:15.5px;min-width:0}
.cs-map__routes b{
  display:block;font-family:var(--display);font-weight:700;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--cs-gold);margin-bottom:3px;
}
.cs-map__routes li[data-active="true"]{background:rgba(255,198,47,.12);padding-left:10px;margin-left:-10px}

/* ---------- 7. preparation wheel ---------- */
.cs-wheel__layout{display:grid;grid-template-columns:1fr;gap:24px;min-width:0}
.cs-wheel__stage{min-width:0;display:flex;justify-content:center}
.cs-wheel__svg{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:1/1}
.cs-wheel__seg{fill:#fff;stroke:var(--cs-rule);stroke-width:1.5;cursor:pointer}
.cs-wheel__hit{cursor:pointer}
.cs-wheel__hit:hover .cs-wheel__seg{fill:#f2ecdd}
.cs-wheel__hit[aria-pressed="true"] .cs-wheel__seg{fill:var(--cs-purple);stroke:var(--cs-gold);stroke-width:2.5}
.cs-wheel__hit text{font-family:inherit;fill:var(--cs-ink);pointer-events:none}
.cs-wheel__hit[aria-pressed="true"] text{fill:#fff}
.cs-wheel__btns{list-style:none;margin:0 0 18px;padding:0;display:none;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.cs-wheel__btn{
  min-height:48px;padding:10px 8px;width:100%;background:#fff;border:1px solid var(--cs-rule);
  font-family:var(--display);font-weight:700;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--cs-deep);
}
.cs-wheel__btn[aria-pressed="true"]{background:var(--cs-purple);color:#fff;border-color:var(--cs-gold)}
.cs-wheel__panel{
  min-width:0;background:#fff;border:1px solid var(--cs-rule);border-left:6px solid var(--cs-gold);
  padding:20px 20px 22px;
}
.cs-wheel__day{
  font-family:var(--display);font-weight:700;font-size:clamp(20px,2.6vw,28px);
  letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;
}
.cs-wheel__focus{
  font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cs-board);margin:0 0 12px;
}
.cs-wheel__who{margin-top:14px;border-top:1px solid var(--cs-rule);padding-top:12px}
.cs-wheel__who b{
  display:block;font-family:var(--display);font-weight:600;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cs-grey-text);margin-bottom:4px;
}

/* ---------- 8. substitution board ---------- */
.cs-subs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:10px}
.cs-sub{
  display:grid;grid-template-columns:1fr;gap:4px;align-items:center;min-width:0;
  background:#fff;border:1px solid var(--cs-rule);padding:12px 14px;
}
.cs-sub__out,.cs-sub__in{min-width:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.cs-sub__tag{
  flex:none;font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;padding:3px 7px;
}
.cs-sub__out .cs-sub__tag{background:var(--cs-red);color:#fff}
.cs-sub__in .cs-sub__tag{background:var(--cs-board);color:#fff}
.cs-sub__name{font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:.05em;text-transform:uppercase;min-width:0}
.cs-sub__what{font-size:14.5px;color:var(--cs-grey-text);min-width:0}
.cs-sub__arrow{display:none;width:22px;height:22px;color:var(--cs-purple)}

/* ---------- 9. historical head coaches ---------- */
.cs-hist{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px}
.cs-hist__strip{list-style:none;margin:0;padding:0;display:flex;gap:0;min-width:min-content}
.cs-hc{
  flex:0 0 230px;min-width:0;background:#fff;border:1px solid var(--cs-rule);
  border-left-width:0;padding:16px 16px 18px;position:relative;
}
.cs-hist__strip li:first-child .cs-hc{border-left-width:1px}
.cs-hc--now{background:var(--cs-deep);color:#fff;border-color:var(--cs-deep)}
.cs-hc__rank{
  font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cs-grey-text);display:block;margin-bottom:6px;
}
.cs-hc--now .cs-hc__rank{color:var(--cs-gold)}
.cs-hc__name{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:.03em;
  text-transform:uppercase;line-height:1.06;margin:0 0 8px}
.cs-hc__years{font-size:14px;color:var(--cs-grey-text);margin:0 0 12px}
.cs-hc--now .cs-hc__years{color:rgba(255,255,255,.85)}
.cs-hc__wins{display:flex;align-items:baseline;gap:7px;margin-bottom:10px}
.cs-hc__wins b{font-family:var(--display);font-weight:700;font-size:38px;line-height:1;color:var(--cs-purple)}
.cs-hc--now .cs-hc__wins b{color:var(--cs-gold)}
.cs-hc__wins span{font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cs-grey-text)}
.cs-hc--now .cs-hc__wins span{color:rgba(255,255,255,.85)}
.cs-hc__bar{height:8px;background:var(--cs-zebra-a);border:1px solid var(--cs-rule)}
.cs-hc__bar i{display:block;height:100%;background:var(--cs-purple)}
.cs-hc--now .cs-hc__bar{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.32)}
.cs-hc--now .cs-hc__bar i{background:var(--cs-gold)}
.cs-hc__note{font-size:13.5px;margin-top:11px;color:var(--cs-grey-text)}
.cs-hc--now .cs-hc__note{color:rgba(255,255,255,.9)}

/* ---------- 10. directory ---------- */
.cs-dir__tools{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:18px}
.cs-dir__field{min-width:0;flex:1 1 260px}
.cs-dir__field label{
  display:block;font-family:var(--display);font-weight:600;font-size:11.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--cs-grey-text);margin-bottom:5px;
}
.cs-dir__field input{
  width:100%;min-height:48px;padding:11px 13px;font:inherit;font-size:16px;
  background:#fff;border:1px solid var(--cs-rule);border-bottom:3px solid var(--cs-purple);
  color:var(--cs-ink);border-radius:0;
}
.cs-dir__count{font-size:14px;color:var(--cs-grey-text);min-height:24px}
.cs-dir__list{list-style:none;margin:0;padding:0;border-top:3px solid var(--cs-ink)}
.cs-dir__row{border-bottom:1px solid var(--cs-rule);min-width:0}
.cs-dir__row[hidden]{display:none}
.cs-dir__btn{
  display:flex;align-items:baseline;gap:14px;width:100%;text-align:left;min-width:0;
  min-height:48px;padding:11px 4px;background:transparent;color:var(--cs-ink);
}
.cs-dir__btn:hover{background:#fbf8f0}
.cs-dir__name{
  font-family:var(--display);font-weight:700;font-size:18px;letter-spacing:.04em;
  text-transform:uppercase;flex:none;
}
.cs-dir__dots{flex:1;min-width:14px;border-bottom:1px dotted var(--cs-grey);transform:translateY(-4px)}
.cs-dir__job{font-size:14px;color:var(--cs-grey-text);text-align:right;flex:none;max-width:52%;min-width:0}
.cs-dir__panel[hidden]{display:none}
.cs-dir__panel{
  background:#fff;border-left:6px solid var(--cs-gold);border-top:1px solid var(--cs-rule);
  padding:18px 18px 20px;margin:0 0 12px;min-width:0;
}
.cs-dir__panel h3{
  font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:.04em;
  text-transform:uppercase;margin:0 0 12px;
}
.cs-dl{margin:0;display:grid;grid-template-columns:1fr;gap:0}
.cs-dl div{padding:9px 0;border-top:1px solid var(--cs-rule);min-width:0}
.cs-dl div:first-child{border-top:0;padding-top:0}
.cs-dl dt{
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cs-grey-text);margin-bottom:3px;
}
.cs-dl dd{margin:0;font-size:15.5px;min-width:0}
.cs-dl ul{list-style:none;margin:4px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:3px 16px}
.cs-dl ul li{position:relative;padding-left:16px;font-size:15px;min-width:0}
.cs-dl ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:2px;background:var(--cs-gold)}
.cs-dir__close{
  margin-top:14px;min-height:44px;padding:10px 16px;background:var(--cs-purple);color:#fff;
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
}
.cs-dir__close:hover{background:var(--cs-deep)}
.cs-dir__empty{padding:20px 0;font-size:16px;color:var(--cs-grey-text)}
.cs-dir__empty[hidden]{display:none}

/* ---------- 11. FAQ ---------- */
.cs-faq{display:grid;grid-template-columns:1fr;gap:0;border-top:3px solid var(--cs-ink)}
.cs-faq__item{padding:18px 0;border-bottom:1px solid var(--cs-rule);min-width:0}
.cs-faq__item .cs-h3{margin-bottom:6px}
.cs-faq__item p{max-width:70ch}

/* ---------- 12. related links ---------- */
.cs-links{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.cs-links li{min-width:0}
.cs-links a{
  display:flex;align-items:center;gap:10px;min-height:52px;padding:13px 15px;min-width:0;
  background:#fff;border:1px solid var(--cs-rule);border-left:4px solid var(--cs-purple);
  color:var(--cs-ink) !important;text-decoration:none !important;
  font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.07em;text-transform:uppercase;
}
.cs-links a:hover{border-left-color:var(--cs-gold);background:#fbf8f0}
.cs-links svg{width:16px;height:16px;flex:none;color:var(--cs-purple)}
.cs-noteline{margin-top:14px;font-size:14px;color:var(--cs-grey-text)}

.cs-sec--endpad{padding-bottom:96px}

/* ---------- breadcrumb ---------- */
.cs-crumb{background:var(--cs-white);border-bottom:1px solid var(--cs-rule)}
.cs-crumb .wrap{padding-top:10px;padding-bottom:10px}
.cs-crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;
  font-family:var(--display);font-weight:600;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.cs-crumb li{color:var(--cs-grey-text)}
.cs-crumb li+li::before{content:"›";margin-right:8px;color:var(--cs-grey)}
.cs-crumb a{color:var(--cs-deep) !important;text-decoration:none !important}
.cs-crumb a:hover{text-decoration:underline !important}

/* =========================================================
   Responsive
   ========================================================= */
@media (min-width:620px){
  .cs-sub{grid-template-columns:1fr 24px 1fr;gap:14px}
  .cs-sub__arrow{display:block}
  .cs-dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
  .cs-dl div:nth-child(2){border-top:0;padding-top:0}
}
@media (min-width:760px){
  .cs-sec{padding-top:72px;padding-bottom:72px}
  .cs-door__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
  .cs-board{aspect-ratio:auto;height:100%;min-height:300px}
  .cs-door__body{padding:22px 24px 26px}
  .cs-doors{gap:20px}
  .cs-chapter__grid{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
  .cs-portrait{border-bottom:0;border-right:4px solid var(--cs-gold);min-height:100%}
  .cs-chapter__body{padding:44px 40px 48px}
  .cs-map__layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:34px}
  .cs-wheel__layout{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:34px;align-items:start}
  .cs-lede p{font-size:19.5px}
}
/* two-column staff lists on wider screens */
@media (min-width:900px){
  .cs-voices--two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
  .cs-voices--two .cs-voice:first-child,
  .cs-voices--two .cs-voice:nth-child(2){border-top:3px solid var(--cs-ink)}
}
@media (min-width:1400px){
  .cs-sheet{display:block}
  .cs-indexbtn{display:none}
  /* keep the fixed call sheet clear of the banner caption */
  .cs-banner__cap{padding-left:calc(var(--cs-sheet-w) + 26px)}
}
@media (max-width:759px){
  .cs-banner{aspect-ratio:16/11}
  .cs-wheel__stage{display:none}
  .cs-wheel__btns{display:grid}
  .cs-dir__btn{flex-direction:column;align-items:flex-start;gap:2px}
  .cs-dir__dots{display:none}
  .cs-dir__job{text-align:left;max-width:none}
  .cs-drawer__list{grid-template-columns:1fr}
}
@media (max-width:519px){
  .cs-split__legs{grid-template-columns:1fr}
  .cs-split__bar{width:2px;height:0}
  .cs-split__leg::before{height:16px}
  .cs-split__leg+.cs-split__leg .cs-split__link{border-left:0;border-top:1px solid rgba(255,255,255,.34)}
  .cs-voice__lead{gap:12px}
  .cs-hc{flex-basis:190px}
}

/* =========================================================
   Reduced motion — genuinely stops the communication map
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  .page-coaches *,
  .page-coaches *::before,
  .page-coaches *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
