/* A compact fact ledger beside Politics; the news keeps its reading width. */
.home-politics-promises { display:grid; grid-template-columns:minmax(0,2.15fr) minmax(290px,.95fr); align-items:start; gap:36px; margin-top:42px; }
.home-politics-promises > .home-section { min-width:0; margin-top:0; }
.home-compact-sections > .home-politics-promises { grid-column:1 / -1; }
.home-politics-promises > .home-section--feature .category-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:22px; }
.home-politics-promises > .home-section--feature .story-title { font-size:23px; }
.home-politics-promises > .home-section--feature .category-grid > .story-card:first-child .story-title { font-size:28px; }
.home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) { grid-template-columns:80px minmax(0,1fr); gap:13px; padding-bottom:17px; }
.home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) .story-title { font-size:19px; line-height:1.25; }
.home-politics-promises > .home-section--feature .category-grid > .story-card--no-image:not(:first-child) { grid-template-columns:minmax(0,1fr); }
.home-promises .section-heading { border-top-color:var(--sl-blue,#125dbb); gap:10px; }
.home-promises .section-heading h2 { font-size:21px; }
.sl-promises-home-list { display:grid; gap:16px; }
.sl-promises-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.sl-promise-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid var(--sl-rule,#d9dfe2); background:var(--sl-surface,#fff); }
.sl-promise-status { display:inline-flex; align-self:flex-start; width:fit-content; max-width:100%; padding:5px 9px; color:#0a438e; background:#eaf0f8; font:700 11px/1.4 var(--sl-sans,Arial,sans-serif); overflow-wrap:anywhere; }
.sl-promise-status--completed { color:#216047; background:#e7f2ec; }
.sl-promise-status--partial { color:#81531b; background:#faf0df; }
.sl-promise-status--unfulfilled { color:#9b3e3e; background:#f8eaea; }
.sl-promise-card h3, .sl-promise-card-title { margin:15px 0 13px; color:var(--sl-ink,#152534); font:700 25px/1.25 var(--sl-serif,Georgia,serif); letter-spacing:-.02em; overflow-wrap:anywhere; }
.sl-promise-card h3 a:hover, .sl-promise-card-title a:hover { color:var(--sl-blue,#125dbb); }
.sl-promise-card-speaker { margin:0 0 15px; color:var(--sl-muted,#5c6872); font:700 13px/1.5 var(--sl-sans,Arial,sans-serif); }
.sl-promise-card-meta { display:flex; flex-wrap:wrap; gap:6px 15px; margin:0; padding-top:12px; border-top:1px solid var(--sl-rule,#d9dfe2); color:var(--sl-muted,#5c6872); font:400 11px/1.6 var(--sl-sans,Arial,sans-serif); }
.sl-promise-card-meta strong { color:var(--sl-ink,#152534); font-weight:700; }
.sl-promise-card .sl-promise-due { margin-bottom:0; }
.sl-promise-updated { margin:10px 0 0; color:var(--sl-muted,#5c6872); font:400 11px/1.6 var(--sl-sans,Arial,sans-serif); }
.sl-promise-card--home { padding:19px 20px; }
.sl-promise-card--home h3, .sl-promise-card--home .sl-promise-card-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:12px 0 10px; font-size:21px; line-height:1.3; }
.sl-promise-card--home .sl-promise-card-speaker { margin-bottom:12px; font-size:12px; }
.sl-promise-card--home .sl-promise-card-meta { gap:4px 12px; font-size:11px; }
.home-promises-empty { padding:22px; border:1px solid var(--sl-rule,#d9dfe2); background:var(--sl-surface,#fff); }
.home-promises-empty p { margin:0; color:var(--sl-muted,#5c6872); font:400 14px/1.7 var(--sl-sans,Arial,sans-serif); }
.sl-promises-archive .archive-header h1 { font-size:38px; }
.sl-promise-single { max-width:1040px; margin-inline:auto; }
.sl-promise-single .article-header { max-width:none; }
.sl-promise-single .article-title { max-width:28ch; font-size:40px; line-height:1.2; }
.sl-promise-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(245px,.45fr); align-items:start; gap:32px; }
.sl-promise-detail-main { min-width:0; }
.sl-promise-original { padding:28px 30px; border-top:3px solid var(--sl-blue,#125dbb); background:var(--sl-surface,#fff); }
.sl-promise-label { margin:0 0 19px; color:var(--sl-muted,#5c6872); font:700 11px/1.5 var(--sl-sans,Arial,sans-serif); letter-spacing:.08em; text-transform:uppercase; }
.sl-promise-text { margin:0 0 24px; color:var(--sl-ink,#152534); font:400 27px/1.5 var(--sl-serif,Georgia,serif); letter-spacing:-.015em; overflow-wrap:anywhere; }
.sl-promise-attribution { display:flex; align-items:center; gap:13px; min-width:0; }
.sl-promise-portrait { display:block; flex:0 0 56px; width:56px; height:56px; border-radius:50%; object-fit:cover; }
.sl-promise-attribution > picture { display:block; flex:0 0 56px; width:56px; height:56px; }
.sl-promise-attribution > picture > .sl-promise-portrait { width:100%; height:100%; }
.sl-promise-person { display:flex; flex-direction:column; gap:4px; min-width:0; }
.sl-promise-person strong { font:700 16px/1.4 var(--sl-sans,Arial,sans-serif); }
.sl-promise-person > span { color:var(--sl-muted,#5c6872); font:400 12px/1.5 var(--sl-sans,Arial,sans-serif); }
.sl-promise-source { display:flex; flex-wrap:wrap; gap:7px 15px; margin-top:21px; padding-top:15px; border-top:1px solid var(--sl-rule,#d9dfe2); color:var(--sl-muted,#5c6872); font:400 12px/1.7 var(--sl-sans,Arial,sans-serif); overflow-wrap:anywhere; }
.sl-promise-source a, .sl-promise-update-source a { color:var(--sl-blue,#125dbb); text-decoration:underline; text-decoration-thickness:1px; }
.sl-promise-quote-link { margin:10px 0 0; }
.sl-promise-context { margin-top:27px; color:var(--sl-ink,#152534); font:400 19px/1.8 var(--sl-serif,Georgia,serif); }
.sl-promise-context h2 { margin:0 0 12px; font:700 18px/1.4 var(--sl-sans,Arial,sans-serif); }
.sl-promise-context p:last-child { margin-bottom:0; }
.sl-promise-assessment { min-width:0; padding:25px 23px; border:1px solid var(--sl-rule,#d9dfe2); background:var(--sl-surface,#fff); }
.sl-promise-assessment .sl-promise-label { margin-bottom:13px; }
.sl-promise-assessment .sl-promise-status { font-size:13px; padding:7px 10px; }
.sl-promise-facts { display:grid; gap:18px; margin:23px 0 0; }
.sl-promise-facts dt { margin-bottom:4px; color:var(--sl-muted,#5c6872); font:400 12px/1.5 var(--sl-sans,Arial,sans-serif); }
.sl-promise-facts dd { margin:0; font:700 16px/1.5 var(--sl-sans,Arial,sans-serif); }
.sl-promise-due { margin:16px 0 0; color:#81531b; font:700 11px/1.6 var(--sl-sans,Arial,sans-serif); }
.sl-promise-due--overdue { padding-left:10px; border-left:2px solid #b57d35; }
.sl-promise-assessment-note { margin:20px 0 0; padding-top:16px; border-top:1px solid var(--sl-rule,#d9dfe2); color:var(--sl-muted,#5c6872); font:400 12px/1.7 var(--sl-sans,Arial,sans-serif); }
.sl-promise-progress { margin-top:40px; }
.sl-promise-progress .section-heading { margin-bottom:26px; }
.sl-promise-timeline { margin:0; padding:0; list-style:none; }
.sl-promise-update { position:relative; padding:0 0 30px 28px; margin-left:5px; border-left:1px solid var(--sl-rule,#d9dfe2); }
.sl-promise-update::before { position:absolute; top:7px; left:-5px; width:9px; height:9px; border-radius:50%; background:var(--sl-blue,#125dbb); content:""; }
.sl-promise-update:last-child { border-left-color:transparent; padding-bottom:0; }
.sl-promise-update-heading { display:flex; flex-wrap:wrap; align-items:center; gap:9px 15px; margin-bottom:12px; }
.sl-promise-update-heading > time { color:var(--sl-blue,#125dbb); font:700 13px/1.5 var(--sl-sans,Arial,sans-serif); }
.sl-promise-update-text { max-width:74ch; color:var(--sl-ink,#152534); font:400 19px/1.75 var(--sl-serif,Georgia,serif); overflow-wrap:anywhere; }
.sl-promise-update-text p { margin:0 0 12px; }
.sl-promise-update-source { margin:0; color:var(--sl-muted,#5c6872); font:400 12px/1.7 var(--sl-sans,Arial,sans-serif); overflow-wrap:anywhere; }
.sl-promise-no-updates { margin:0; padding:22px 24px; background:var(--sl-soft,#eaf0f5); color:var(--sl-muted,#5c6872); font:400 15px/1.7 var(--sl-sans,Arial,sans-serif); }
.sl-promise-method-note { max-width:80ch; margin:27px 0 0; color:var(--sl-muted,#5c6872); font:400 12px/1.75 var(--sl-sans,Arial,sans-serif); }
@media (max-width:1099px) {
  .home-politics-promises { grid-template-columns:minmax(0,1fr); gap:34px; }
  .home-politics-promises > .home-section--feature .category-grid { gap:24px 30px; }
  .home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) { grid-template-columns:112px minmax(0,1fr); gap:18px; }
  .home-politics-promises > .home-section--feature .category-grid > .story-card--no-image:not(:first-child) { grid-template-columns:minmax(0,1fr); }
  .home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) .story-title { font-size:23px; }
  .sl-promises-home-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
}
@media (max-width:800px) {
  .home-politics-promises > .home-section--feature .category-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .home-politics-promises > .home-section--feature .category-grid > .story-card:first-child { grid-row:auto; }
  .sl-promise-detail-grid { grid-template-columns:minmax(0,1fr); gap:25px; }
  .sl-promise-assessment { padding:23px; }
  .sl-promise-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sl-promise-single .article-title { max-width:none; font-size:34px; }
}
@media (max-width:600px) {
  .home-politics-promises { margin-top:32px; gap:32px; }
  .home-politics-promises > .home-section--feature .category-grid > .story-card:first-child .story-title { font-size:24px; }
  .home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) { grid-template-columns:90px minmax(0,1fr); gap:15px; }
  .home-politics-promises > .home-section--feature .category-grid > .story-card--no-image:not(:first-child) { grid-template-columns:minmax(0,1fr); }
  .home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) .story-title { font-size:21px; }
  .sl-promises-home-list, .sl-promises-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
  .sl-promise-card { padding:21px 20px; }
  .sl-promise-card h3, .sl-promise-card-title { font-size:23px; }
  .sl-promise-card--home h3, .sl-promise-card--home .sl-promise-card-title { font-size:22px; }
  .sl-promise-single .article-title, .sl-promises-archive .archive-header h1 { font-size:28px; }
  .sl-promise-original { padding:22px 20px; }
  .sl-promise-text { font-size:23px; line-height:1.5; }
  .sl-promise-context, .sl-promise-update-text { font-size:18px; }
  .sl-promise-progress { margin-top:32px; }
  .sl-promise-progress .section-heading { flex-wrap:wrap; gap:7px 12px; }
  .sl-promise-update { padding-left:23px; }
  .sl-promise-no-updates { padding:20px; }
}
@media (max-width:374px) {
  .home-politics-promises > .home-section--feature .category-grid > .story-card:not(:first-child) .story-title { font-size:20px; }
  .sl-promise-facts { grid-template-columns:minmax(0,1fr); gap:15px; }
}
@media print {
  .home-politics-promises, .sl-promise-detail-grid { display:block; }
  .sl-promise-status, .sl-promise-assessment, .sl-promise-original { color:#000; background:#fff; border-color:#bbb; }
  .sl-promise-text { font-size:18pt; }
  .sl-promise-update { break-inside:avoid; }
}
