/* ==========================================================================
   Case studies page -- the MDP convention study (April 2026)
   --------------------------------------------------------------------------
   Adapted from Elena's standalone page by scratchpad/convert_mdp.py on
   2026-09-03. Every selector is scoped under .cs; the nine class names that
   collided with site.css (btn, hero, lede, note, org, slate, step, steps,
   wrap) carry a cs- prefix; the article's h1-h4 are classes cs-h1..cs-h4 so
   they can sit one level under the fold's h2. Fonts map to what the site
   ships: Archivo Black for headings, Oswald for labels and figures, Georgia
   for running text (the original used Newsreader from Google Fonts, which
   the CSP blocks). Inline style attributes became .cs-uN classes at the end.
   Loaded only by /case-studies.html.
   ========================================================================== */
.cs{--ink:#101E2B; --board:#16293A; --panel:#1B3145; --paper:#EDEEE9; --paper-2:#E3E5DE; --signal:#E8B33A; --signal-dim:#B98D26; --clay:#9E4B45; --clay-dim:#7C3A35; --steel:#5C7085; --steel-lt:#8496A8; --line:#2A3F52; --line-lt:#CFD2C9; --max:1180px;}
.cs *{box-sizing:border-box}
.cs{margin:0; background:var(--paper); color:var(--ink); font-family:Georgia,"Times New Roman",serif; font-size:19px; line-height:1.62; font-variant-numeric:tabular-nums;}
.cs .cs-wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.cs .narrow{max-width:680px}
.cs .cs-h1,.cs .cs-h2,.cs .cs-h3,.cs .cs-h4,.cs .dat,.cs .tag,.cs th,.cs .num{font-family:var(--font-cond);font-variant-numeric:tabular-nums}
.cs .cs-h1{font-size:clamp(40px,6.4vw,82px); font-weight:800; font-stretch:112%; line-height:.98; letter-spacing:-.022em; margin:0 0 22px;}
.cs .cs-h2{font-size:clamp(27px,3.4vw,40px); font-weight:700; font-stretch:108%; line-height:1.08; letter-spacing:-.016em; margin:0 0 14px;}
.cs .cs-h3{font-size:22px;font-weight:700;font-stretch:104%; line-height:1.2;letter-spacing:-.01em;margin:0 0 10px;}
.cs .cs-h4{font-size:15px;font-weight:700;font-stretch:88%;letter-spacing:.04em;margin:0 0 8px;color:var(--steel)}
.cs p{margin:0 0 20px}
.cs a{color:var(--ink)}
.cs .cs-lede{font-size:23px;line-height:1.5;color:#2C4152}
.cs .tag{display:inline-block;font-size:13px;font-weight:600;font-stretch:86%; letter-spacing:.09em;color:var(--signal); border:1px solid var(--signal-dim);border-radius:2px; padding:5px 11px;margin-bottom:26px;}
.cs .cs-note{font-size:15px;line-height:1.55;color:var(--steel);font-family:var(--font-cond);font-stretch:94%}
.cs .dark{background:var(--ink);color:var(--paper)}
.cs .dark .cs-h1,.cs .dark .cs-h2,.cs .dark .cs-h3{color:var(--paper)}
.cs .dark p{color:#BDC9D4}
.cs .dark .cs-lede{color:#C9D6E0}
.cs section{padding:82px 0}
.cs .cs-hero{padding:74px 0 64px}
.cs .rule{height:1px;background:var(--line-lt);border:0;margin:0}
.cs .dark .rule{background:var(--line)}
.cs .cs-hero-grid{display:grid;grid-template-columns:1fr;gap:44px}
.cs .floorbar{margin:38px 0 8px}
.cs .floorbar-track{height:66px;width:100%;background:var(--panel); border:1px solid var(--line);border-radius:3px;display:flex;overflow:hidden;}
.cs .floorbar-ours{background:var(--signal);display:flex;align-items:center;padding-left:18px}
.cs .floorbar-theirs{display:flex;align-items:center;padding-left:18px}
.cs .fb-label{font-family:var(--font-cond);font-size:14px;font-weight:700;font-stretch:88%;letter-spacing:.05em}
.cs .fb-ours-label{color:#3A2C05}
.cs .fb-theirs-label{color:var(--steel-lt)}
.cs .floorbar-cap{display:flex;justify-content:space-between;margin-top:12px;font-family:var(--font-cond);font-size:14px;color:var(--steel-lt);font-stretch:94%}
.cs .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:46px}
.cs .stat{background:var(--ink);padding:24px 22px}
.cs .stat .num{display:block;font-size:44px;font-weight:800;font-stretch:118%;line-height:1;color:var(--signal);letter-spacing:-.02em}
.cs .stat .lab{display:block;margin-top:10px;font-family:var(--font-cond);font-size:14px;line-height:1.35;color:var(--steel-lt);font-stretch:94%}
.cs .board{border:1px solid var(--line-lt);background:#fff}
.cs .dark .board{border-color:var(--line);background:var(--board)}
.cs .race{border-bottom:1px solid var(--line-lt);padding:22px 24px}
.cs .dark .race{border-color:var(--line)}
.cs .race:last-child{border-bottom:0}
.cs .race-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}
.cs .race-name{font-family:var(--font-cond);font-size:19px;font-weight:700;font-stretch:104%}
.cs .race-seats{font-family:var(--font-cond);font-size:13px;font-stretch:88%;letter-spacing:.05em;color:var(--steel)}
.cs .cand{display:grid;grid-template-columns:262px 1fr 92px;gap:14px;align-items:center;margin-bottom:9px}
.cs .cand:last-child{margin-bottom:0}
.cs .cand-name{font-family:var(--font-cond);font-size:15px;font-stretch:92%;line-height:1.25}
.cs .cand-name.is-slate{font-weight:700}
.cs .bar-track{height:26px;background:var(--paper-2);position:relative;border-radius:2px}
.cs .dark .bar-track{background:var(--panel)}
.cs .bar{height:100%;border-radius:2px}
.cs .bar.cs-slate{background:var(--signal)}
.cs .bar.other{background:var(--steel)}
.cs .bar.cs-slate-lost{background:var(--clay)}
.cs .cand-pct{font-family:var(--font-cond);font-size:15px;font-weight:600;font-stretch:96%;text-align:right}
.cs .seat-flag{display:inline-block;margin-left:9px;font-family:var(--font-cond); font-size:11px;font-weight:700;font-stretch:84%;letter-spacing:.06em; padding:2px 6px;border-radius:2px;vertical-align:1px;}
.cs .seat-won{background:var(--signal);color:#3A2C05}
.cs .seat-lost{background:var(--clay);color:#fff}
.cs .chart-block{margin:40px 0}
.cs .chart-block svg{width:100%;height:auto;display:block;overflow:visible}
.cs .cap{font-family:var(--font-cond);font-size:15px;line-height:1.5;color:var(--steel);font-stretch:94%;margin-top:14px;max-width:66ch}
.cs .dark .cap{color:var(--steel-lt)}
.cs .legend{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:20px;font-family:var(--font-cond);font-size:14px;font-stretch:94%;color:var(--steel)}
.cs .dark .legend{color:var(--steel-lt)}
.cs .key{display:inline-flex;align-items:center;gap:8px}
.cs .swatch{width:14px;height:14px;border-radius:2px;display:inline-block}
.cs .cs-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:40px}
.cs .cs-step-n{font-family:var(--font-cond);font-size:13px;font-weight:700;font-stretch:84%; letter-spacing:.1em;color:var(--signal-dim); border-top:2px solid var(--signal);padding-top:10px;margin-bottom:14px;display:block;}
.cs .cs-step p{font-size:17px;line-height:1.55;margin-bottom:0}
.cs .margin-box{border-left:4px solid var(--clay);padding:6px 0 6px 26px;margin:34px 0}
.cs .margin-num{font-family:var(--font-cond);font-size:64px;font-weight:800;font-stretch:118%;line-height:1;color:var(--clay);letter-spacing:-.025em}
.cs .margin-lab{font-family:var(--font-cond);font-size:16px;font-stretch:96%;color:var(--steel);margin-top:8px}
.cs .takeaways{border-top:1px solid var(--line);margin-top:40px}
.cs .take{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid var(--line)}
.cs .take-n{font-family:var(--font-cond);font-size:16px;font-weight:700;font-stretch:88%;color:var(--signal);padding-top:4px}
.cs .take .cs-h3{margin-bottom:7px}
.cs .take p{margin-bottom:0;font-size:18px}
.cs .table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cs table{width:100%;border-collapse:collapse;margin:26px 0;font-family:var(--font-cond);font-size:15px;font-stretch:94%}
.cs th{text-align:right;font-weight:700;font-stretch:88%;font-size:13px;letter-spacing:.05em; color:var(--steel);border-bottom:1.5px solid var(--ink);padding:10px 12px;}
.cs th:first-child,.cs td:first-child{text-align:left}
.cs td{padding:10px 12px;text-align:right;border-bottom:1px solid var(--line-lt)}
.cs tbody tr:last-child td{border-bottom:1.5px solid var(--ink);font-weight:700}
.cs .cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.cs .cs-btn{font-family:var(--font-cond);font-size:16px;font-weight:700;font-stretch:96%; padding:15px 28px;border-radius:2px;text-decoration:none;display:inline-block;}
.cs .cs-btn-solid{background:var(--signal);color:#3A2C05}
.cs .cs-btn-ghost{border:1px solid var(--line);color:var(--paper)}
.cs .inline-link{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cs .orgs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
.cs .cs-org{display:block;text-decoration:none;color:inherit;border:1px solid var(--line-lt);background:#fff;padding:26px}
.cs .cs-org:hover{border-color:var(--signal-dim)}
.cs .cs-org-chip{display:flex;align-items:center;justify-content:flex-start;height:94px;margin-bottom:20px}
.cs .cs-org-chip img{max-height:100%;max-width:100%;width:auto;height:auto}
.cs .cs-org-chip svg{max-height:74px;max-width:196px;width:auto;height:auto}
.cs .cs-org-role{display:block;font-family:var(--font-cond);font-size:13px;font-weight:600;font-stretch:88%;letter-spacing:.07em;color:var(--signal-dim);margin-bottom:6px}
.cs .cs-org-name{display:block;font-family:var(--font-cond);font-size:21px;font-weight:700;font-stretch:102%;line-height:1.2;margin-bottom:10px}
.cs .cs-org-note{display:block;font-size:17px;line-height:1.5;color:#3B5062;margin-bottom:14px}
.cs .cs-org-link{display:block;font-family:var(--font-cond);font-size:15px;font-stretch:94%;color:var(--steel)}
.cs .cs-org:hover .cs-org-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cs .cov{display:block;text-decoration:none;color:inherit}
.cs .cov-logo{display:block;height:34px;width:150px;margin-bottom:12px}
.cs .cov-logo svg{height:100%;width:100%}
.cs .cov-src{display:block;font-family:var(--font-cond);font-size:13px;font-weight:600;font-stretch:88%;letter-spacing:.05em;color:var(--signal-dim);margin-bottom:7px}
.cs .cov-hed{display:block;font-family:var(--font-cond);font-size:20px;font-weight:700;font-stretch:102%;line-height:1.22;margin-bottom:8px}
.cs .cov:hover .cov-hed{text-decoration:underline;text-underline-offset:3px}
.cs .cov-note{display:block;font-size:17px;line-height:1.5;color:#3B5062;max-width:70ch}
.cs a:focus-visible,.cs .cs-btn:focus-visible{outline:3px solid var(--signal);outline-offset:3px}
.cs footer{padding:44px 0;font-family:var(--font-cond);font-size:14px;font-stretch:94%;color:var(--steel)}
@media (max-width:900px){
  .cs{font-size:18px}
  .cs .cs-wrap{padding:0 22px}
  .cs .stats{grid-template-columns:repeat(2,1fr)}
  .cs .cs-steps{grid-template-columns:1fr;gap:28px}
  .cs .orgs{grid-template-columns:1fr;gap:18px}
  .cs .cand{grid-template-columns:135px 1fr 68px;gap:10px}
  .cs .cand-name{font-size:14px}
  .cs section{padding:58px 0}
}
@media (max-width:560px){
  .cs .stats{grid-template-columns:1fr}
  .cs table{font-size:13px;min-width:520px}
  .cs th,.cs td{padding:8px 8px}
  .cs .cand{grid-template-columns:1fr;gap:5px}
  .cs .cand-pct{text-align:left}
  .cs .bar-track{height:20px}
}
@media (prefers-reduced-motion:reduce){
  .cs *{animation:none!important;transition:none!important}
}
.cs .rise{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.9,.3,1)}
.cs .rise.risen{opacity:1;transform:none}
.cs .mode{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.cs .mode-label{font-family:var(--font-cond);font-size:14px;font-stretch:94%;color:var(--steel-lt)}
.cs .seg{display:inline-flex;border:1px solid var(--line);border-radius:3px;overflow:hidden}
.cs .seg button{font-family:var(--font-cond);font-size:14px;font-weight:600;font-stretch:94%; padding:9px 16px;background:transparent;color:var(--steel-lt);border:0;cursor:pointer; transition:background-color .25s ease,color .25s ease}
.cs .seg button+button{border-left:1px solid var(--line)}
.cs .seg button:hover{color:var(--paper)}
.cs .seg button[aria-pressed="true"]{background:var(--signal);color:#3A2C05}
.cs .seg button:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.cs .mode-note{font-family:var(--font-cond);font-size:15px;font-stretch:94%;color:var(--steel-lt); margin-top:16px;line-height:1.5;transition:color .3s ease}
.cs .mode-note.is-raw{color:var(--signal)}
.cs .seat-would{background:#2E6E52;color:#EAF6EF}
.cs .cs-org,.cs .cov{transition:border-color .25s ease,transform .25s cubic-bezier(.22,.9,.3,1)}
.cs .cs-org:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){
  .cs .rise{opacity:1;transform:none;transition:none}
  .cs .cs-org:hover{transform:none}
}
.cs :target,.cs #board,.cs #method,.cs #findings,.cs #miss,.cs #work{scroll-margin-top:86px}
.cs .byline{margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line); font-family:var(--font-cond);font-size:15px;font-stretch:94%;line-height:1.5}
.cs .byline-name{display:block;color:var(--paper);font-weight:700;font-size:16px;font-stretch:100%}
.cs .byline-role{display:block;color:var(--steel-lt)}
.cs .byline-date{display:block;color:var(--steel);font-size:14px;margin-top:3px}
.cs .cs-hero-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.cs .cs-hero-split .cs-lede{max-width:34ch}
.cs .scorecard{border:1px solid var(--line);border-radius:3px;padding:20px 22px;margin-top:6px}
.cs .sc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px; padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--line)}
.cs .sc-head b{font-family:var(--font-cond);font-size:15px;font-weight:700;font-stretch:96%;color:var(--paper)}
.cs .sc-head span{font-family:var(--font-cond);font-size:13px;font-stretch:92%;color:var(--steel)}
.cs .sc-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(42,63,82,.55)}
.cs .sc-row:last-child{border-bottom:0}
.cs .sc-name{font-family:var(--font-cond);font-size:14px;font-stretch:92%;color:var(--steel-lt);line-height:1.25}
.cs .sc-name b{display:block;color:var(--paper);font-weight:700;font-size:15px}
.cs .sc-mark{width:11px;height:11px;border-radius:50%;flex:none}
.cs .sc-win{background:var(--signal)}
.cs .sc-loss{background:var(--clay)}
.cs .cs-h4{display:flex;align-items:center;gap:10px}
.cs .cs-h4::before{content:"";width:22px;height:2px;background:var(--signal);flex:none}
.cs .dark .cs-h4::before{background:var(--signal-dim)}
.cs .chart-block{background:rgba(255,255,255,.55);border:1px solid var(--line-lt);border-radius:3px;padding:26px 24px}
.cs .dark .chart-block{background:rgba(255,255,255,.03);border-color:var(--line)}
.cs .dark+section:not(.dark),.cs section:not(.dark)+.dark{border-top:2px solid var(--signal-dim)}
.cs .narrow{max-width:720px}
@media (max-width:1040px){
  .cs .cs-hero-split{grid-template-columns:1fr;gap:34px}
  .cs .cs-hero-split .cs-lede{max-width:56ch}
}
@media (max-width:640px){
  .cs .chart-block{padding:16px 12px}
}
@media print{
  .cs{font-size:11pt;background:#fff}
  .cs .rise{opacity:1!important;transform:none!important}
  .cs .mode{display:none}
  .cs .chart-block{background:none;border:0;padding:0}
  .cs .cs-hero-split{display:block}
  .cs .dark{background:var(--ink)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cs *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .cs section{padding:18pt 0}
  .cs p{orphans:3;widows:3;margin-bottom:9pt}
  .cs .cs-lede{font-size:12.5pt}
  .cs .margin-box{margin:16pt 0}
  .cs .margin-num{font-size:38pt}
  .cs .chart-block{margin:20pt 0}
  .cs .cap{margin-top:8pt}
    .cs .cs-hero,.cs>div.dark>section:first-of-type{break-before:auto}
  .cs .chart-block{break-inside:avoid;break-after:avoid}
  .cs .chart-block+.cap{break-inside:avoid}
  .cs .legend{break-after:avoid}
  .cs .cs-h2,.cs .cs-h3,.cs .cs-h4{break-after:avoid}
  .cs .margin-box{break-inside:avoid}
  .cs table{break-inside:auto}
  .cs tr{break-inside:avoid}
  .cs .cs-hero{padding:20pt 0}
  .cs .cs-h1{font-size:34pt}
  .cs .cs-h2{font-size:20pt}
  .cs .stat .num{font-size:26pt}
  .cs .race,.cs .take,.cs .cs-org{break-inside:avoid}
  .cs .board{break-inside:auto}
  .cs .cta,.cs .no-print{display:none}
  .cs .cs-wrap{max-width:100%;padding:0 18pt}
}

/* ---- Contrast (measured 2026-09-03 against the real backgrounds) -------
   --signal-dim was 2.7:1 as 13px text on white and paper; #8A6410 is the
   brass the ticket already uses for slate names, 5.2:1. --steel was 4.4:1 on
   paper as small text and 2.9:1 on the dark board; the darker steel clears
   4.5 on light, and dark surfaces use --steel-lt for small text. The "/"
   between ticket names was 1.5:1. */
.cs{--signal-dim:#8A6410;--steel:#4F6376}
.cs .byline-date,.cs .sc-head span,.cs .dark .race-seats{color:var(--steel-lt)}
.cs .fb-theirs-label{color:#A9B7C6}
.cs .cs-tk-sep{color:var(--steel)}
.cs .dark footer{color:var(--steel-lt)}
/* Tighter rhythm inside a fold than the standalone page had: 82px between
   subsections became 64, and 44 on a phone. */
.cs section{padding:64px 0}
/* .cs-wrap.cs-hero, because the wrap rule below zeroes padding at the same
   specificity and comes later; on the hero the vertical padding must win. */
.cs .cs-wrap.cs-hero{padding:64px 0 56px}
.cs p.cs-h1{margin:0 0 22px}
.cs{margin-top:var(--s-3)}
@media (max-width:900px){.cs section{padding:44px 0}.cs .cs-wrap.cs-hero{padding:48px 0 40px}}

/* ---- Integration overrides ------------------------------------------------
   The article sits inside the site's .wrap, so its own wrap adds no padding;
   dark panels keep an inset because their background is visible. Headings
   are classes (the fold summary holds the h2, so the article's h2s are h3s)
   and are set in the site's faces, sentence case as written. */
.cs{background:transparent;font-size:18px}
.cs .cs-wrap{max-width:none;padding:0}
.cs .dark{padding-inline:32px}
.cs .cs-h1,.cs .cs-h2,.cs .cs-h3{font-family:var(--font-display);font-weight:400;text-transform:none}
.cs .cs-h2{font-size:clamp(1.5rem,3vw,2.125rem)}
.cs p.cs-h4{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.cs .cs-tk-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap}
.cs .cs-tk-names{font-family:var(--font-cond);font-size:16px;text-align:right}
.cs .cs-tk-slate{color:#8A6410}
.cs .cs-tk-other{color:#5C7085}
.cs .dark .cs-tk-slate{color:#E8B33A}
.cs .cs-btn,.cs .cs-btn:hover{text-decoration:none}
@media (max-width:900px){.cs .dark{padding-inline:22px}}
.cs .cs-u1{padding-top:0}
.cs .cs-u2{margin-bottom:60px}
.cs .cs-u3{margin-bottom:34px}
.cs .cs-u4{background:var(--signal)}
.cs .cs-u5{background:var(--clay)}
.cs .cs-u6{background:var(--steel)}
.cs .cs-u7{margin-top:52px}
.cs .cs-u8{color:var(--signal-dim)}
.cs .cs-u9{margin-top:30px}
.cs .cs-u10{margin-top:34px}
.cs .cs-u11{margin-top:44px}
.cs .cs-u12{margin-top:22px}
.cs .cs-u13{margin:52px 0 0}
