
  :root{--maxw:1160px;--sweep-accent:#3d7ab5;--sweep-accent-soft:#dceaf7;--sweep-accent-deep:#245d92}
  body.is-enforcement{--sweep-accent:#cb8063;--sweep-accent-soft:#f6e3db;--sweep-accent-deep:#8d432d}
  body.is-payer{--sweep-accent:#4f9c90;--sweep-accent-soft:#dcefeb;--sweep-accent-deep:#236c63}

  /* Skip link: first focusable element on the page. */
  .skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--paper-2);color:var(--ink);
    border:1px solid var(--blue);border-radius:var(--radius-sm);padding:12px 18px;font-weight:600}
  .skip:focus{left:16px;top:16px}

  /* Static fallback nav, shown only when the shared JS header cannot render. */
  .nav-fallback{border-bottom:1px solid var(--line);background:var(--paper-2)}
  .nav-fallback .wrap{display:flex;gap:18px;flex-wrap:wrap;align-items:center;min-height:56px;padding-top:10px;padding-bottom:10px}
  .nav-fallback a{font-size:14px;color:var(--blue-deep);font-weight:600;min-height:44px;display:inline-flex;align-items:center}

  .report-edition .issue-head{padding:32px 0 24px;background:#f5f7f9;color:#152b3f;border-bottom:1px solid #cbdbe5}
  .report-edition .issue-head h1{font:700 clamp(28px,3.5vw,42px)/1.18 Georgia,serif;letter-spacing:-.02em;color:#152b3f;max-width:36ch;margin:12px 0 20px}
  .report-format{font:600 11px/1.5 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#546d80}
  .issue-dates{display:flex;flex-wrap:wrap;gap:12px 26px;font-size:12px;color:#546d80}
  .issue-dates span{min-width:110px}
  .issue-dates b{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#35566d}
  .issue-note{margin-top:16px;border-left:3px solid #3b7ba8;padding:12px 16px;background:#e7eef3;font-size:14px;max-width:84ch;color:#35566d}
  .issue-note .note-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
  .report-coverage-pointer{font-size:13px;margin:14px 0 0}
  .report-access{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-top:20px!important;padding-bottom:6px!important;font-size:14px}
  .report-access a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
  .report-edition .report-stories{background:#235c87;color:white;border-radius:4px;padding:8px 16px}
  .report-edition .report-location{padding-top:12px;font-size:13px}
  .report-edition .product-nav{padding-top:16px;padding-bottom:24px}
  .report-edition .finding{border-radius:5px;box-shadow:none;border-top-width:3px}
  .report-edition .finding h3{font-family:Georgia,serif}
  .report-edition .triage{border-radius:5px;box-shadow:none;background:#142b3b}
  .report-edition footer.slim{background:#142b3b;color:#c2d5df;margin:0}
  .report-edition footer.slim a{color:#c2d5df}

  .sec{padding:54px 0;border-bottom:1px solid var(--line)}
  .sec:last-of-type{border-bottom:0}
  .sec > .wrap > h2{font-size:24px;margin-bottom:7px}
  .sec-intro{color:var(--mute);font-size:15px;margin-bottom:22px;max-width:66ch}

  /* Executive triage sits before any detailed analysis, on every width. */
  #triage{background:var(--paper-3)}
  .triage{display:grid;grid-template-columns:minmax(180px,.62fr) minmax(0,1.5fr);gap:24px 52px;border:0;border-radius:18px;background:var(--ink);
    padding:34px 38px;color:#fff;box-shadow:0 16px 36px rgba(15,35,42,.12)}
  .triage h2{font-size:24px;color:#fff}
  .triage .headline{font-size:17px;color:#d5e0e2;margin-top:12px;line-height:1.55}
  .triage h2,.triage .headline{grid-column:1}
  .triage ul{grid-column:2;counter-reset:triage;list-style:none;margin:0;padding:0;color:#eef4f5;font-size:14.5px;line-height:1.62}
  .triage li{counter-increment:triage;display:grid;grid-template-columns:30px 1fr;gap:12px;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
  .triage li:first-child{border-top:0;padding-top:0}
  .triage li::before{content:counter(triage,decimal-leading-zero);font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--sweep-accent);padding-top:4px}
  .triage-actions{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}

  /* Stacked action cards, never a wide table. */
  #findings>.wrap,#horizon>.wrap,#cia-trend>.wrap,#implementation-tracker>.wrap{display:grid;grid-template-columns:190px minmax(0,1fr);column-gap:42px;align-items:start}
  #findings>.wrap>h2,#horizon>.wrap>h2,#cia-trend>.wrap>h2,#implementation-tracker>.wrap>h2{position:sticky;top:94px;grid-column:1;line-height:1.12}
  #findings>.wrap>.sec-intro,#horizon>.wrap>.sec-intro,#cia-trend>.wrap>.sec-intro,#implementation-tracker>.wrap>.sec-intro{grid-column:1;color:var(--mute);line-height:1.55}
  #findings>.wrap>.findings,#horizon>.wrap>.horizon,#cia-trend>.wrap>.trend,#implementation-tracker>.wrap>.impl{grid-column:2;grid-row:1/span 3}
  .findings{counter-reset:finding;display:flex;flex-direction:column;gap:28px}
  .finding{counter-increment:finding;position:relative;border:1px solid var(--line);border-top:5px solid var(--sweep-accent);border-radius:14px;
    background:var(--paper-2);padding:30px 32px 24px;box-shadow:0 10px 26px rgba(19,42,49,.07);scroll-margin-top:90px}
  .finding::after{content:counter(finding,decimal-leading-zero);position:absolute;right:24px;top:20px;font-family:'IBM Plex Mono',monospace;font-size:24px;color:#d7dfe1}
  .finding.p-P1{border-top-color:#b4452f}
  .finding.p-P2{border-top-color:#b47b19}
  .finding.p-P3{border-top-color:var(--sweep-accent)}
  .finding.p-Watch{border-top-color:var(--mute-2)}
  .finding h3{font-size:clamp(20px,2.5vw,27px);margin:18px 48px 0 0;line-height:1.17;letter-spacing:-.018em}
  .finding h3 a{color:var(--ink)}

  /* Status chips carry a text label as well as a color, never color alone. */
  .chips{display:flex;flex-wrap:wrap;gap:7px}
  .chip{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.07em;text-transform:uppercase;
    border:1px solid var(--line);border-radius:4px;padding:4px 8px;color:var(--ink-2);background:var(--paper-3)}
  .chip.pri-P1{background:#fbe9e5;border-color:#e3b3a7;color:#8c3323}
  .chip.pri-P2{background:#fbf1de;border-color:#e7cf9d;color:#7a540f}
  .chip.pri-P3{background:var(--blue-soft);border-color:#b9d3ea;color:var(--blue-deep)}
  .chip.life{background:var(--paper-2)}
  .chip.deadline{background:var(--ink);border-color:var(--ink);color:#fff}

  .kv{margin-top:24px;display:grid;grid-template-columns:minmax(130px,165px) 1fr;gap:12px 22px;font-size:14.5px}
  .kv dt{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;
    color:var(--mute-2);padding-top:3px}
  .kv dd{color:var(--ink-2);margin:0}
  .kv dd b{color:var(--ink);font-weight:600}

  .action{margin:24px -32px -2px;background:var(--sweep-accent-soft);border-top:1px solid color-mix(in srgb,var(--sweep-accent) 35%,white);padding:20px 32px;
    font-size:15px;color:var(--ink);line-height:1.62}
  .action .lbl{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.08em;
    text-transform:uppercase;color:var(--sweep-accent-deep);margin-bottom:5px}

  .playbook{margin:14px 0 0;padding-left:20px;font-size:14.5px;color:var(--ink-2);line-height:1.6}
  .playbook li{margin-top:6px}
  .playbook .owner{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--mute-2)}

  /* Long agency names and PDF URLs must wrap rather than push the page wide. */
  .srcs{margin-top:18px;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:8px}
  .src{display:inline-flex;align-items:flex-start;gap:7px;font-size:13.5px;color:var(--blue-deep);
    min-height:44px;padding:10px 0;overflow-wrap:anywhere;word-break:break-word}
  .src .src-type{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.06em;text-transform:uppercase;
    border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 8px;color:var(--mute-2);
    background:var(--paper-3);flex:none;margin-top:2px}
  .src .src-type.is-interp{color:#7a540f;background:var(--amber-soft);border-color:var(--amber-line)}
  .permalink{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--mute-2)}

  .horizon{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .horizon-item{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);padding:22px}
  .horizon-item h3{font-size:18px;line-height:1.25}
  .horizon-item .kv{grid-template-columns:1fr;gap:3px;margin-top:18px}
  .horizon-item .kv dd{margin-bottom:10px}

  .trend{border:1px solid var(--line);border-radius:14px;background:var(--paper-2);padding:28px 30px}
  .trend ul{margin:10px 0 0;padding-left:20px;color:var(--ink-2);font-size:14.5px;line-height:1.6}

  .impl{display:flex;flex-direction:column;gap:12px}
  .impl-row{border:1px solid var(--line);border-radius:12px;background:var(--paper-2);padding:20px 22px}
  .impl-row h3{font-size:15.5px}

  .closed-list{margin:0;padding-left:20px;color:var(--ink-2);font-size:14.5px;line-height:1.6}

  .pager{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:34px 0}
  .pager a,.pager span{min-height:44px;display:inline-flex;align-items:center;font-size:14px;font-weight:600}
  .pager a{color:var(--blue-deep)}
  .pager span{color:var(--mute-2)}

  @media(max-width:900px){
    .issue-dates{grid-template-columns:repeat(2,1fr)}
    .triage{grid-template-columns:1fr;gap:24px}
    .triage ul{grid-column:1;grid-row:auto}
    #findings>.wrap,#horizon>.wrap,#cia-trend>.wrap,#implementation-tracker>.wrap{display:block}
    #findings>.wrap>h2,#horizon>.wrap>h2,#cia-trend>.wrap>h2,#implementation-tracker>.wrap>h2{position:static}
    .horizon{grid-template-columns:1fr}
  }
  @media(max-width:640px){
    .kv{grid-template-columns:1fr;gap:2px 0}
    .kv dd{margin-bottom:10px}
    .finding{padding:22px 18px 18px}
    .finding h3{margin-right:0}
    .finding::after{display:none}
    .action{margin:20px -18px 0;padding:17px 18px}
    .triage{padding:24px 20px}
    .report-edition .issue-head{padding-top:24px}
    .issue-dates{grid-template-columns:repeat(2,minmax(0,1fr))}
    .issue-dates span:last-child{grid-column:1 / -1}
  }

  .closed-analysis{margin:12px 0}.closed-analysis summary{cursor:pointer;font-weight:700}.closed-analysis .finding{margin-top:12px}
  @media print{
    details.closed-analysis>summary{display:none}details.closed-analysis>*,details.closed-analysis .finding{display:block!important}details.closed-analysis::details-content{display:block;content-visibility:visible}
    header.nav,.nav-fallback,.skip,.pager,footer{display:none!important}
    body{background:#fff;color:#111}
    .report-edition{padding-top:0}
    .report-edition .masthead,.report-access{display:none}
    .report-edition .issue-head{padding-top:0}
    .issue-head,.triage,#triage,.dates-band{background:#fff!important;color:#111!important}
    .issue-head *,.triage *,.dates-band *{color:#111!important;text-shadow:none!important}
    .issue-grid,.triage,.horizon-grid{display:block!important}
    .section-rail{display:none!important}
    .issue-head::before{display:none}
    .issue-dates,.issue-dates span,.issue-note{background:#fff!important;color:#111!important;border-color:#ccc}
    #findings>.wrap,#horizon>.wrap,#cia-trend>.wrap,#implementation-tracker>.wrap{display:block}
    #findings>.wrap>h2,#horizon>.wrap>h2,#cia-trend>.wrap>h2,#implementation-tracker>.wrap>h2{position:static}
    .sec{break-inside:auto!important}
    .sec{padding:18px 0;border-bottom:1px solid #ddd;break-inside:avoid}
    .finding,.triage,.horizon-item,.trend,.impl-row{break-inside:avoid;box-shadow:none;border-color:#ccc}
    .src{min-height:0;padding:2px 0}
    .src::after{content:" (" attr(href) ")";font-size:10px;color:#555;overflow-wrap:anywhere}
  }
