/* ═══════════════════════════════════════════════════════════════════════════
   CRISISFLARE · RESOURCES  (#/resources)  —  res.css   (PROTOTYPE)
   Loads AFTER client.css / cf-additions.css and adds only what the resources
   feature needs. Namespace: rs-*  ·  no external assets  ·  print-safe.
   Tokens come from client.css (--navy/--teal remap, --terra = orange).
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --rs-topic-safety:#B23128; --rs-topic-safety-bg:#FBE9E7;
  --rs-topic-housing:#1E3666; --rs-topic-housing-bg:#E9EEF7;
  --rs-topic-money:#6F5416; --rs-topic-money-bg:#F7EFD8;
  --rs-topic-food:#1B6A47; --rs-topic-food-bg:#E6F3EC;
  --rs-topic-health:#0A6B6B; --rs-topic-health-bg:#E2F1F1;
  --rs-topic-legal:#4B3BA8; --rs-topic-legal-bg:#ECEAFA;
  --rs-topic-young:#A8470C; --rs-topic-young-bg:#FDEFD9;
  --rs-line:#E7DECF; --rs-line-2:#D8CCB6; --rs-sunk:#F7F1E7; --rs-sunk-2:#F0E8DA;
  --rs-ink:#16294C; --rs-ink-2:#45506B; --rs-ink-3:#5E6880;
}
.rs a{ color:#1E3666; text-decoration:none; }
.rs a:hover{ color:#C65A12; }
.rs-body a,.rs-updated a,.rs-gate-note a,.rs-sheet a{ text-decoration:underline; text-underline-offset:2px; }
.rs{ --rs-topic:var(--rs-topic-housing); --rs-topic-bg:var(--rs-topic-housing-bg); }
.rs-t-safety{ --rs-topic:var(--rs-topic-safety); --rs-topic-bg:var(--rs-topic-safety-bg); }
.rs-t-housing{ --rs-topic:var(--rs-topic-housing); --rs-topic-bg:var(--rs-topic-housing-bg); }
.rs-t-money{ --rs-topic:var(--rs-topic-money); --rs-topic-bg:var(--rs-topic-money-bg); }
.rs-t-food{ --rs-topic:var(--rs-topic-food); --rs-topic-bg:var(--rs-topic-food-bg); }
.rs-t-health{ --rs-topic:var(--rs-topic-health); --rs-topic-bg:var(--rs-topic-health-bg); }
.rs-t-legal{ --rs-topic:var(--rs-topic-legal); --rs-topic-bg:var(--rs-topic-legal-bg); }
.rs-t-young{ --rs-topic:var(--rs-topic-young); --rs-topic-bg:var(--rs-topic-young-bg); }

/* ── Page frame ─────────────────────────────────────────────────────────── */
.rs-wrap{ max-width:1080px; margin-inline:auto; padding:22px 18px 64px; }
.rs-head{ max-width:72ch; }
.rs-head h1{ font-size:30px; }
.rs-head .rs-lede{ font-size:16.5px; line-height:1.55; color:var(--rs-ink-2); margin-top:10px; }
.rs-eyebrow{ font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#C65A12; }

/* Shared-device note — one quiet line under the title, never alarming */
.rs-privacy{ display:flex; gap:9px; align-items:center; margin-top:9px; font-size:13.5px; line-height:1.45; color:var(--rs-ink-3); }
.rs-privacy svg{ width:16px; height:16px; flex:none; color:var(--rs-ink-3); }
.rs-privacy .rs-esc{ font-family:ui-monospace,Menlo,Consolas,monospace; font-size:11px; font-weight:700; background:#fff; border:1px solid var(--rs-line-2); border-radius:5px; padding:1px 5px; color:var(--rs-ink-2); }

/* ── Tools: search + topic chips ─────────────────────────────────────────── */
.rs-tools{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:22px 0 6px; }
.rs-search{ display:flex; align-items:center; gap:10px; flex:1 1 320px; min-width:0; background:#fff; border:1.5px solid var(--rs-line-2); border-radius:12px; padding:0 14px; min-height:52px; }
.rs-search svg{ width:19px; height:19px; flex:none; color:var(--rs-ink-3); }
.rs-search input{ flex:1; min-width:0; border:0; outline:none; background:transparent; font-size:16px; color:var(--rs-ink); }
.rs-search input::placeholder{ color:var(--rs-ink-3); }
.rs-clear{ border:0; background:transparent; color:var(--rs-ink-3); font-size:13px; font-weight:750; padding:6px; }
.rs-clear:hover{ color:var(--rs-ink); }
.rs-chipbar{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.rs-chip{ display:inline-flex; align-items:center; gap:7px; min-height:42px; padding:0 14px; border-radius:999px; background:#fff; border:1.5px solid var(--rs-line-2); color:var(--rs-ink-2); font-size:14px; font-weight:700; white-space:nowrap; }
.rs-chip svg{ width:16px; height:16px; flex:none; color:var(--rs-topic); }
.rs-chip:hover{ border-color:#5B6B8C; color:var(--rs-ink); }
.rs-chip[aria-pressed="true"]{ background:var(--rs-topic-bg); border-color:var(--rs-topic); color:var(--rs-topic); }
.rs-count{ font-size:13.5px; color:var(--rs-ink-3); margin-top:14px; font-weight:650; }
.rs-group:first-of-type{ margin-top:24px; }

/* ── Topic group ────────────────────────────────────────────────────────── */
.rs-group{ margin-top:34px; scroll-margin-top:20px; }
.rs-group-h{ display:flex; align-items:center; gap:11px; padding-bottom:12px; border-bottom:2px solid var(--rs-topic); }
.rs-group-ic{ width:38px; height:38px; flex:none; border-radius:11px; display:flex; align-items:center; justify-content:center; background:var(--rs-topic-bg); color:var(--rs-topic); }
.rs-group-ic svg{ width:20px; height:20px; }
.rs-group-h h2{ font-size:20px; }
.rs-group-h .rs-n{ margin-left:auto; font-size:12.5px; font-weight:750; color:var(--rs-ink-3); }
.rs-group-sub{ font-size:14px; color:var(--rs-ink-3); margin-top:9px; }

/* ── Layout A · card shelves ────────────────────────────────────────────── */
.rs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:16px; }
.rs-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--rs-line); border-radius:16px; overflow:hidden; box-shadow:0 1px 2px rgba(15,30,58,.05); color:var(--rs-ink); text-align:left; min-width:0; }
.rs-card:hover{ box-shadow:0 2px 8px rgba(15,30,58,.06),0 8px 22px rgba(15,30,58,.07); border-color:var(--rs-line-2); }
.rs-card:hover .rs-card-t{ color:#C65A12; }
.rs-card-body{ display:flex; flex-direction:column; gap:8px; padding:15px 16px 16px; flex:1; }
.rs-card-t{ font-size:16.5px; font-weight:800; letter-spacing:-.015em; line-height:1.25; }
.rs-card-p{ font-size:14px; color:var(--rs-ink-2); line-height:1.5; }
.rs-meta{ display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin-top:auto; padding-top:11px; border-top:1px solid var(--rs-line); font-size:12.5px; color:var(--rs-ink-3); font-weight:650; }
.rs-meta svg{ width:14px; height:14px; flex:none; }
.rs-meta .rs-dot{ width:3px; height:3px; border-radius:50%; background:var(--rs-line-2); flex:none; }
.rs-tagline{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rs-tag{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--rs-topic); background:var(--rs-topic-bg); border-radius:999px; padding:4px 10px; }
.rs-tag-list{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:750; color:#1B6A47; background:#E6F3EC; border:1px solid #BFE0CD; border-radius:999px; padding:3px 9px; }
.rs-tag-list svg{ width:13px; height:13px; }
.rs-tag-care{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:750; color:#6F5416; background:#F7EFD8; border:1px solid #E6D5A6; border-radius:999px; padding:3px 9px; }
.rs-tag-care svg{ width:13px; height:13px; }

/* Photo placeholder — the user supplies real photography (see README §5) */
.rs-ph{ position:relative; aspect-ratio:16/9; background:var(--rs-topic-bg); border-bottom:1px solid var(--rs-line); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:14px; text-align:center; }
.rs-ph::after{ content:""; position:absolute; inset:8px; border:1.5px dashed color-mix(in srgb,var(--rs-topic) 34%,transparent); border-radius:10px; }
.rs-ph svg{ width:26px; height:26px; color:var(--rs-topic); opacity:.7; }
.rs-ph span{ position:relative; font-size:11.5px; font-weight:750; line-height:1.35; color:var(--rs-topic); opacity:.9; max-width:26ch; }
.rs-ph--wide{ aspect-ratio:21/9; border-radius:16px; border:1px solid var(--rs-line); }
.rs-ph--sq{ aspect-ratio:1; border-radius:12px; border:1px solid var(--rs-line); }
.rs-ph--sq svg{ width:20px; height:20px; } .rs-ph--sq span{ display:none; }

/* ── Layout B · rail + rows ─────────────────────────────────────────────── */
.rs-list{ display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.rs-item{ display:flex; gap:14px; align-items:flex-start; padding:14px; background:#fff; border:1px solid var(--rs-line); border-radius:14px; color:var(--rs-ink); text-align:left; }
.rs-item:hover{ border-color:var(--rs-line-2); box-shadow:0 2px 8px rgba(15,30,58,.06); }
.rs-item:hover .rs-item-t{ color:#C65A12; }
.rs-item-thumb{ width:82px; flex:none; }
.rs-item-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.rs-item-t{ font-size:16px; font-weight:800; letter-spacing:-.015em; line-height:1.3; }
.rs-item-p{ font-size:13.5px; color:var(--rs-ink-2); line-height:1.5; }
.rs-item-meta{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:12.5px; color:var(--rs-ink-3); font-weight:650; }
.rs-item-meta svg{ width:14px; height:14px; }
.rs-item-go{ align-self:center; width:18px; height:18px; flex:none; color:var(--rs-ink-3); }
.rs-item:hover .rs-item-go{ color:#C65A12; }

/* ── Safety gate (interstitial before a sensitive article) ──────────────── */
.rs-gate{ max-width:640px; margin:34px auto 60px; background:#fff; border:1px solid var(--rs-line); border-radius:18px; box-shadow:0 10px 30px rgba(15,30,58,.14); overflow:hidden; }
.rs-gate-top{ display:flex; gap:13px; align-items:flex-start; padding:20px 22px; background:#E9EEF7; border-bottom:1px solid #C7D3E8; }
.rs-gate-top svg{ width:24px; height:24px; flex:none; color:#1E3666; margin-top:1px; }
.rs-gate-top h1{ font-size:20px; }
.rs-gate-top p{ font-size:14px; color:var(--rs-ink-2); margin-top:6px; line-height:1.55; }
.rs-gate-body{ padding:20px 22px 22px; }
.rs-gate-body h2{ font-size:14.5px; }
.rs-gate-list{ display:flex; flex-direction:column; gap:12px; margin:12px 0 20px; }
.rs-gate-list li{ display:flex; gap:11px; align-items:flex-start; font-size:14.5px; line-height:1.5; color:var(--rs-ink-2); }
.rs-gate-list svg{ width:18px; height:18px; flex:none; color:#1B6A47; margin-top:2px; }
.rs-gate-acts{ display:flex; flex-direction:column; gap:10px; }
.rs-gate-note{ margin-top:16px; font-size:13px; color:var(--rs-ink-3); line-height:1.55; }

/* ── Article ────────────────────────────────────────────────────────────── */
.rs-art{ max-width:720px; margin-inline:auto; padding:20px 18px 72px; }
.rs-back{ display:inline-flex; align-items:center; gap:8px; white-space:nowrap; min-height:44px; padding:0 14px 0 10px; border-radius:999px; background:var(--rs-sunk); border:1px solid var(--rs-line); color:var(--rs-ink-2); font-size:13.5px; font-weight:750; }
.rs-back:hover{ background:var(--rs-sunk-2); color:var(--rs-ink); }
.rs-back svg{ width:15px; height:15px; }
.rs-art h1{ font-size:33px; margin-top:12px; }
.rs-art .rs-lede{ font-size:17.5px; line-height:1.6; color:var(--rs-ink-2); margin-top:12px; }
.rs-art-meta{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px; padding-bottom:18px; border-bottom:1px solid var(--rs-line); font-size:13px; color:var(--rs-ink-3); font-weight:650; }
.rs-art-meta svg{ width:15px; height:15px; }
.rs-tracks{ display:flex; gap:12px; align-items:flex-start; margin-top:20px; padding:15px 17px; border-radius:14px; background:#F7EFD8; border:1px solid #E6D5A6; }
.rs-tracks svg{ width:20px; height:20px; flex:none; color:#6F5416; margin-top:2px; }
.rs-tracks h2{ font-size:14.5px; color:#6F5416; }
.rs-tracks p{ font-size:13.5px; color:var(--rs-ink-2); line-height:1.55; margin-top:5px; }
.rs-tracks ul{ margin-top:8px; display:flex; flex-direction:column; gap:5px; }
.rs-tracks li{ font-size:13.5px; color:var(--rs-ink-2); line-height:1.5; padding-left:16px; position:relative; }
.rs-tracks li::before{ content:"–"; position:absolute; left:2px; color:#6F5416; font-weight:800; }
.rs-body{ margin-top:26px; }
.rs-body h2{ font-size:22px; margin-top:34px; }
.rs-body h2:first-child{ margin-top:0; }
.rs-body p{ font-size:17px; line-height:1.65; color:var(--rs-ink-2); margin-top:14px; }
.rs-body p strong,.rs-body li strong{ color:var(--rs-ink); font-weight:750; }
.rs-body ul{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
.rs-body li{ font-size:17px; line-height:1.6; color:var(--rs-ink-2); padding-left:24px; position:relative; }
.rs-body li::before{ content:""; position:absolute; left:5px; top:11px; width:7px; height:7px; border-radius:50%; background:var(--rs-topic); }
.rs-photo{ margin-top:26px; }
.rs-photo figcaption{ font-size:12.5px; color:var(--rs-ink-3); margin-top:8px; }

/* Numbers block — first thing after the lede on every article */
.rs-quick{ margin-top:24px; border:1px solid #C7D3E8; background:#E9EEF7; border-radius:16px; padding:16px 18px; }
.rs-quick h2{ font-size:14.5px; display:flex; align-items:center; gap:8px; color:#1E3666; }
.rs-quick h2 svg{ width:17px; height:17px; }
.rs-quick p{ font-size:13.5px; color:var(--rs-ink-2); margin-top:6px; line-height:1.5; }
.rs-nums{ display:flex; flex-direction:column; gap:8px; margin-top:13px; }
.rs-num{ display:flex; align-items:center; gap:12px; padding:11px 14px; background:#fff; border:1px solid #C7D3E8; border-radius:12px; min-height:56px; color:var(--rs-ink); }
.rs-num:hover{ border-color:#1E3666; }
.rs-num > span:first-child{ flex:1; min-width:0; }
.rs-num-n{ display:block; font-weight:800; font-size:15px; letter-spacing:-.01em; }
.rs-num-w{ display:block; font-size:12.5px; color:var(--rs-ink-3); margin-top:2px; line-height:1.4; }
.rs-num-t{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; font-weight:800; font-size:15px; color:#1E3666; white-space:nowrap; font-variant-numeric:tabular-nums; }
.rs-num-t svg{ width:16px; height:16px; }
.rs-num--000{ background:#FBE9E7; border-color:#F3CDC8; }
.rs-num--000 .rs-num-t{ color:#B23128; }

/* Checklist card + its print sheet */
.rs-check{ margin-top:30px; border:1px solid var(--rs-line); border-radius:16px; background:#fff; overflow:hidden; }
.rs-check-h{ display:flex; align-items:center; gap:11px; padding:15px 18px; background:var(--rs-sunk); border-bottom:1px solid var(--rs-line); }
.rs-check-h svg{ width:19px; height:19px; color:#1B6A47; flex:none; }
.rs-check-h h2{ font-size:16px; }
.rs-check-h .sub{ font-size:12.5px; color:var(--rs-ink-3); margin-top:3px; }
.rs-check ul{ padding:6px 18px 4px; display:flex; flex-direction:column; }
.rs-check li{ display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--rs-line); font-size:16px; line-height:1.5; color:var(--rs-ink-2); }
.rs-check li:last-child{ border-bottom:0; }

/* Interactive checklist rows (2026-08-08). The box used to be a decorative span; the whole row is
   now a real checkbox control. Full-row target because the reader may be on a cracked phone with
   cold hands, and one focus stop per item rather than two. */
.rs-check li{ padding:0; }
.rs-item{ display:flex; gap:12px; align-items:flex-start; width:100%; padding:12px 0;
  background:none; border:0; text-align:left; font:inherit; color:inherit; cursor:pointer;
  border-radius:8px; }
.rs-item:hover .rs-box{ border-color:var(--rs-ink-3); }
.rs-item:focus-visible{ outline:3px solid #16294C; outline-offset:2px; }
.rs-item[aria-checked="true"] span:last-child{ color:var(--rs-ink-3); text-decoration:line-through;
  text-decoration-thickness:1px; }
.rs-box.on{ background:#1B6A47; border-color:#1B6A47; position:relative; }
/* The tick is drawn, not an icon font or an svg swap — it must survive a failed icon load, and the
   state must never be conveyed by colour alone (WCAG 1.4.1). */
.rs-box.on::after{ content:''; position:absolute; left:5px; top:1px; width:5px; height:10px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
.rs-check-n{ margin-left:auto; font-size:12.5px; color:var(--rs-ink-3); font-variant-numeric:tabular-nums; flex:none; }
.rs-check-note{ padding:2px 18px 14px; font-size:12.5px; color:var(--rs-ink-3); }
@media (prefers-reduced-motion: no-preference){ .rs-item{ transition:background .12s ease; } }

.rs-box{ width:22px; height:22px; flex:none; border:2px solid var(--rs-line-2); border-radius:6px; margin-top:1px; }
.rs-check-f{ display:flex; flex-wrap:wrap; gap:10px; padding:14px 18px; border-top:1px solid var(--rs-line); background:var(--rs-sunk); }
.rs-btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px; white-space:nowrap; min-height:48px; padding:0 18px; border-radius:12px; border:1.5px solid var(--rs-line-2); background:#fff; color:var(--rs-ink); font-size:15px; font-weight:750; }
.rs-btn:hover{ background:var(--rs-sunk-2); }
.rs-btn svg{ width:17px; height:17px; }
.rs-btn--navy{ background:#16294C; border-color:#16294C; color:#fff; } .rs-btn--navy:hover{ background:#1E3666; color:#fff; }
.rs-btn--flare{ background:linear-gradient(180deg,#F4A63A 0%,#EE7A1E 52%,#C65A12 100%); border-color:#C65A12; color:#16294C; font-weight:800; box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 3px 10px rgba(238,122,30,.26); }
.rs-btn--flare:hover{ filter:brightness(1.04); color:#16294C; }
.rs-btn--block{ display:flex; width:100%; }

/* End-of-article action */
.rs-cta{ margin-top:32px; padding:22px; border-radius:16px; background:#16294C; color:#fff; }
.rs-cta h2{ font-size:19px; color:#fff; }
.rs-cta p{ font-size:14.5px; color:#C7D3E8; margin-top:8px; line-height:1.55; max-width:52ch; }
.rs-cta .rs-cta-acts{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.rs-cta .rs-btn{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.3); color:#fff; }
.rs-cta .rs-btn:hover{ background:rgba(255,255,255,.16); color:#fff; }
.rs-cta .rs-btn--flare{ background:linear-gradient(180deg,#F4A63A 0%,#EE7A1E 52%,#C65A12 100%); border-color:#C65A12; color:#16294C; }
.rs-related{ margin-top:34px; }
/* ── Share ──────────────────────────────────────────────────────────────── */
.rs-share{ margin-top:30px; padding:18px 20px; border:1px solid var(--rs-line); border-radius:16px; background:var(--rs-sunk); }
.rs-share h2{ font-size:15.5px; display:flex; align-items:center; gap:9px; }
.rs-share h2 svg{ width:17px; height:17px; color:var(--rs-ink-3); }
.rs-share p{ font-size:13.5px; color:var(--rs-ink-2); margin-top:6px; line-height:1.5; max-width:56ch; }
.rs-share-row{ display:flex; flex-wrap:wrap; gap:9px; margin-top:14px; }
.rs-sh{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 15px; border-radius:11px; border:1.5px solid var(--rs-line-2); background:#fff; color:var(--rs-ink); font-size:14.5px; font-weight:750; white-space:nowrap; }
.rs-sh:hover{ border-color:#5B6B8C; color:var(--rs-ink); background:#fff; }
.rs-sh svg{ width:17px; height:17px; flex:none; color:var(--rs-ink-3); }
.rs-sh--primary{ background:#16294C; border-color:#16294C; color:#fff; } .rs-sh--primary:hover{ background:#1E3666; color:#fff; }
.rs-sh--primary svg{ color:#fff; }
.rs-sh--icon{ padding:0; width:46px; }
.rs-sh--fb svg{ color:#1877F2; } .rs-sh--x svg{ color:#0F1419; } .rs-sh--wa svg{ color:#1DA851; }
.rs-sh[data-done="1"]{ border-color:#1B6A47; color:#1B6A47; } .rs-sh[data-done="1"] svg{ color:#1B6A47; }
.rs-share-care{ display:flex; gap:11px; align-items:flex-start; margin-top:13px; padding:12px 14px; border-radius:11px; background:#F7EFD8; border:1px solid #E6D5A6; }
.rs-share-care svg{ width:17px; height:17px; flex:none; color:#6F5416; margin-top:2px; }
.rs-share-care p{ font-size:13px; color:var(--rs-ink-2); margin:0; line-height:1.5; }
.rs-share-care b{ color:#6F5416; }
.rs-share-manual{ margin-top:13px; padding:12px 14px; border-radius:11px; background:#fff; border:1.5px solid #1E3666; }
.rs-share-manual label{ display:block; font-size:13px; font-weight:800; color:var(--rs-ink); }
.rs-share-manual input{ width:100%; margin-top:7px; min-height:44px; padding:9px 12px; border:1px solid var(--rs-line-2); border-radius:9px; background:var(--rs-sunk); color:var(--rs-ink); font:inherit; font-size:14px; }
@media (max-width:640px){ .rs-share{ padding:16px; } .rs-sh{ flex:1 1 auto; } .rs-sh--icon{ flex:0 0 46px; } }.rs-related h2{ font-size:16px; }
.rs-related .rs-list{ margin-top:12px; }
.rs-updated{ margin-top:28px; font-size:12.5px; color:var(--rs-ink-3); line-height:1.6; }

/* ── Printable checklist sheet ──────────────────────────────────────────── */
.rs-sheet{ max-width:720px; margin:24px auto 60px; background:#fff; border:1px solid var(--rs-line); border-radius:16px; padding:32px 34px 36px; box-shadow:0 2px 8px rgba(15,30,58,.06); }
.rs-sheet-h{ display:flex; align-items:flex-start; gap:14px; padding-bottom:18px; border-bottom:2px solid #16294C; }
.rs-sheet-h h1{ font-size:24px; }
.rs-sheet-h p{ font-size:13.5px; color:var(--rs-ink-3); margin-top:5px; }
.rs-sheet ul{ display:flex; flex-direction:column; }
.rs-sheet li{ display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--rs-line); font-size:16px; line-height:1.5; color:var(--rs-ink); }
.rs-sheet .rs-box{ width:24px; height:24px; border-color:#5B6B8C; }
.rs-sheet-numbers{ margin-top:22px; padding:16px 18px; border:1px solid var(--rs-line-2); border-radius:12px; }
.rs-sheet-numbers h2{ font-size:14px; }
.rs-sheet-numbers dl{ margin:10px 0 0; display:grid; grid-template-columns:1fr auto; gap:8px 16px; font-size:14px; }
.rs-sheet-numbers dt{ color:var(--rs-ink-2); } .rs-sheet-numbers dd{ margin:0; font-weight:800; font-variant-numeric:tabular-nums; }
.rs-sheet-f{ margin-top:22px; padding-top:14px; border-top:1px solid var(--rs-line); display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:12px; color:var(--rs-ink-3); }
.rs-sheet-acts{ max-width:720px; margin:0 auto; display:flex; flex-wrap:wrap; gap:10px; padding:0 18px; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width:940px){ .rs-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .rs-wrap{ padding:20px 15px 56px; } .rs-grid{ grid-template-columns:1fr; }
  .rs-head h1{ font-size:26px; } .rs-art h1{ font-size:27px; } .rs-art .rs-lede{ font-size:16.5px; }
  .rs-body p,.rs-body li{ font-size:16.5px; } .rs-sheet{ padding:22px 20px 26px; border-radius:12px; }
  }
@media print{
  .crisisbar,.langbar,.footer,.rs-sheet-acts,.skip-link,.rs-share{ display:none !important; }
  body{ background:#fff; }
  .rs-sheet{ border:0; box-shadow:none; margin:0; padding:0; max-width:none; }
  .rs-sheet li{ break-inside:avoid; }
}

/* Real photographs. The placeholder (.rs-ph) already declares aspect-ratio 16/9, but the <img>
 * that replaces it had NO rule at all — it only looked right because a global img{max-width:100%}
 * happened to scale landscape sources to the card width. A portrait source rendered tall and broke
 * the shelf. Same 16/9 box as the placeholder, cropped rather than squashed, so any source works. */
.rs-photo-img{ display:block; width:100%; aspect-ratio:16/9; object-fit:cover; object-position:center;
  border-bottom:1px solid var(--rs-line); background:var(--rs-sunk); }
.rs-photo-img.rs-ph--wide{ aspect-ratio:21/9; border-bottom:0; border-radius:12px; }

/* ── Button contrast corrections (2026-08-02) ────────────────────────────────
 * 1. `.rs a{ color:#1E3666 }` at the top of this file is (0,1,1) and beat every button
 *    modifier at (0,1,0), so any button rendered as an <a> — "Print this checklist",
 *    "Find help near me", "Browse all services" — took the link colour instead of its own.
 *    On .rs-btn--navy that meant navy text on a navy button: invisible. Re-stated at a
 *    specificity that wins.
 * 2. The flare button now carries WHITE text (founder request). White on the old gradient
 *    measured 2.03:1 / 2.82:1 / 4.31:1 across its three stops — failing WCAG AA (4.5:1 for
 *    normal text) everywhere, which is why the design used navy at 5.1–7.1:1. So the gradient
 *    is deepened rather than the contrast sacrificed: white now measures 4.97 / 5.88 / 7.81.
 *    Two of the three stops are existing tokens (--accent-deeper, --terra-800). */
.rs a.rs-btn{ color:var(--rs-ink); }
.rs a.rs-btn--navy,
.rs a.rs-btn--navy:hover{ color:#fff; }
.rs .rs-btn--flare,
.rs a.rs-btn--flare,
.rs a.rs-btn--flare:hover,
.rs-cta .rs-btn--flare,
.rs-cta a.rs-btn--flare{
  background:linear-gradient(180deg,#B85110 0%,#A8470C 52%,#8A3A08 100%);
  border-color:#8A3A08; color:#fff;
}
.rs-cta a.rs-btn{ color:#fff; }
