/* ==========================================================================
   rsa.css — Resting Sycamore Advisors global stylesheet
   Direction: "Almanac"
   Version:   1.1.6  ·  2026-08-19
   Author:    design

   ONE stylesheet for all 5,735 pages. Assumes a clean slate: this file
   REPLACES webflow-shared.css and preview-fixes.css. Do not load them
   alongside it.

   Load order in <head>:
     1. this file
     2. nothing else

   Accessibility floor this file guarantees:
     · 19px body text, 1.62 line height, max 68ch measure
     · >= 7:1 contrast for body text and all load-bearing UI text
     · 48px minimum interactive target
     · every inline body link underlined, not colour-only
     · visible 3px focus ring on every focusable element
     · no horizontal scroll at any width; tables become cards below 700px
     · motion limited to colour/opacity; disabled under prefers-reduced-motion
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. Self-hosted fonts — NO third-party font request
   Added 2026-08-14. Files come from the design package's Fonts/ zips, unpacked
   to /assets/fonts/. Do NOT reintroduce the fonts.googleapis.com link: it is a
   third-party request on all 5,735 pages, it leaks referrers, and it makes the
   type a runtime dependency on a host we do not control.
   -------------------------------------------------------------------------- */

@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/assets/fonts/atkinson-hyperlegible-400.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/assets/fonts/atkinson-hyperlegible-400-italic.woff2") format("woff2");
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Atkinson Hyperlegible";
  src: url("/assets/fonts/atkinson-hyperlegible-700.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/assets/fonts/newsreader-variable.woff2") format("woff2-variations");
  font-weight: 400 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("/assets/fonts/newsreader-variable-italic.woff2") format("woff2-variations");
  font-weight: 400 600; font-style: italic; font-display: swap;
}

/* --------------------------------------------------------------------------
   1. Tokens
   -------------------------------------------------------------------------- */

:root {
  /* --- Surfaces ---------------------------------------------------------- */
  --rsa-paper:        #F3EEE1;  /* page background, sitewide                 */
  --rsa-surface:      #FCFAF4;  /* cards, tables, raised modules             */
  --rsa-surface-sunk: #EBE4D3;  /* table header, inset wells                 */
  --rsa-green:        #1B3B2E;  /* dark bands, header, footer, CTA           */
  --rsa-green-deep:   #16352A;  /* pressed / deepest green                   */

  /* --- Ink ---------------------------------------------------------------- */
  --rsa-ink:          #22312A;  /* body copy on paper      — 11.6:1          */
  --rsa-ink-strong:   #1B3B2E;  /* headings, emphasis      — 12.9:1          */
  --rsa-ink-muted:    #4E5C53;  /* captions, table labels  —  7.1:1          */
  --rsa-ink-invert:   #F3EEE1;  /* text on green                             */
  --rsa-ink-invert-2: #C3D0C4;  /* secondary text on green —  7.4:1          */

  /* --- Accent ------------------------------------------------------------- */
  --rsa-gold:         #D9AF5E;  /* on green only — buttons, eyebrows         */
  --rsa-gold-ink:     #6F5417;  /* on paper only — eyebrows, rules  6.9:1    */

  /* --- Lines -------------------------------------------------------------- */
  --rsa-line:         #DED5C1;  /* card + section borders                    */
  --rsa-line-soft:    #EAE3D3;  /* row dividers inside cards                 */
  --rsa-line-invert:  rgba(243, 238, 225, .22);

  /* --- Status (used only in forms and empty states) ----------------------- */
  --rsa-error:        #8A2318;  /* on paper — 7.4:1                          */
  --rsa-error-bg:     #F7E7E3;

  /* --- Type --------------------------------------------------------------- */
  --rsa-font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --rsa-font-body:    "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif;
  --rsa-font-mono:    ui-monospace, SFMono-Regular, Menlo, monospace;

  --rsa-text-micro:   14px;  /* legal footnotes ONLY — never load-bearing    */
  --rsa-text-small:   16px;  /* table cells, captions, meta                  */
  --rsa-text-base:    19px;  /* body — the floor for senior-facing prose     */
  --rsa-text-lead:    21px;  /* hero lead paragraph                          */

  --rsa-leading-tight: 1.2;
  --rsa-leading-snug:  1.35;
  --rsa-leading-body:  1.62;

  --rsa-measure:      68ch;  /* max prose line length                        */

  /* --- Space (4px base) ---------------------------------------------------- */
  --rsa-space-1:  4px;
  --rsa-space-2:  8px;
  --rsa-space-3:  12px;
  --rsa-space-4:  16px;
  --rsa-space-5:  20px;
  --rsa-space-6:  24px;
  --rsa-space-7:  28px;
  --rsa-space-8:  32px;
  --rsa-space-10: 40px;
  --rsa-space-12: 48px;
  --rsa-space-16: 64px;
  --rsa-space-20: 80px;

  /* --- Layout -------------------------------------------------------------- */
  --rsa-container:  1120px;
  --rsa-gutter:     20px;
  --rsa-radius:     4px;
  --rsa-radius-lg:  8px;
  --rsa-radius-pill: 999px;
  --rsa-tap:        48px;   /* minimum interactive height                    */

  --rsa-shadow-card: 0 1px 2px rgba(27, 59, 46, .05);
}

@media (min-width: 700px) {
  :root { --rsa-gutter: 32px; }
}

/* --------------------------------------------------------------------------
   2. Reset + document
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--rsa-paper);
  color: var(--rsa-ink);
  font-family: var(--rsa-font-body);
  font-size: var(--rsa-text-base);
  line-height: var(--rsa-leading-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

/* Focus: one visible ring everywhere. Never remove it. */
:focus-visible {
  outline: 3px solid var(--rsa-gold-ink);
  outline-offset: 2px;
  border-radius: var(--rsa-radius);
}
.rsa-dark :focus-visible { outline-color: var(--rsa-gold); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .001ms !important;
    transition-duration: .001ms !important;
  }
}

/* Skip link — first focusable element in <body> */
.rsa-skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--rsa-green); color: var(--rsa-ink-invert);
  padding: var(--rsa-space-3) var(--rsa-space-5);
  font-weight: 700; text-decoration: none;
}
.rsa-skip:focus { left: var(--rsa-space-4); top: var(--rsa-space-4); }

/* --------------------------------------------------------------------------
   3. Typography
   -------------------------------------------------------------------------- */

h1, h2, h3, h4 {
  font-family: var(--rsa-font-display);
  color: var(--rsa-ink-strong);
  font-weight: 500;
  margin: 0 0 var(--rsa-space-4);
  text-wrap: pretty;
}

h1 { font-size: clamp(30px, 4.4vw, 42px); line-height: var(--rsa-leading-tight); letter-spacing: -.005em; }
h2 { font-size: clamp(25px, 3vw, 31px);   line-height: var(--rsa-leading-snug); margin-top: var(--rsa-space-12); }
h3 { font-size: clamp(21px, 2.2vw, 24px); line-height: var(--rsa-leading-snug); margin-top: var(--rsa-space-8); }
h4 { font-family: var(--rsa-font-body); font-size: 18px; font-weight: 700; line-height: 1.4; }

/* First heading in a section should not double its top margin */
h2:first-child, h3:first-child { margin-top: 0; }

p { margin: 0 0 var(--rsa-space-5); max-width: var(--rsa-measure); }
p:last-child { margin-bottom: 0; }

.rsa-lead {
  font-size: var(--rsa-text-lead);
  line-height: 1.55;
  color: var(--rsa-ink);
  max-width: 60ch;
}

.rsa-eyebrow {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--rsa-gold-ink);
  margin: 0 0 var(--rsa-space-3);
}
.rsa-dark .rsa-eyebrow { color: var(--rsa-gold); }

.rsa-meta { font-size: var(--rsa-text-small); color: var(--rsa-ink-muted); }

/* Legal footnotes. The ONLY place 14px is permitted. */
.rsa-fineprint { font-size: var(--rsa-text-micro); line-height: 1.62; color: var(--rsa-ink-muted); max-width: 90ch; }

ul, ol { margin: 0 0 var(--rsa-space-5); padding-left: var(--rsa-space-6); max-width: var(--rsa-measure); }
li { margin-bottom: var(--rsa-space-2); }

strong, b { font-weight: 700; color: var(--rsa-ink-strong); }

/* TARGET FLOOR — read before adding any link style.
   Every link that is a NAVIGATION or DATA target is at least 44px tall, and
   primary controls are 48px. The selectors that carry the floor:
     .rsa-btn / .rsa-btn-secondary ...... 48px
     .rsa-nav a ......................... 48px
     .rsa-header__utility a ............. 48px
     .rsa-footer__links a ............... 48px
     .rsa-social a ...................... 48px
     .rsa-disclosure > summary .......... 48px
     .rsa-tile .......................... 96px (whole card is the target)
     .rsa-crumbs a ...................... 44px
     .rsa-footer__sub a ................. 44px
     .rsa-list-columns a ................ 44px
     .rsa-table td a .................... 44px
   ONE deliberate exemption: a link inside running prose stays inline. Forcing
   a 44px box mid-paragraph breaks line rhythm and hurts reading more than it
   helps pointing — and a link in 19px/1.62 body copy is already a large text
   target. If you add a new link class, add it to this list with a height.

   Links: underlined in prose, always. Colour alone is not a signal. */
a { color: var(--rsa-ink-strong); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--rsa-gold-ink); text-decoration-thickness: 2px; }
.rsa-dark a { color: var(--rsa-ink-invert); }
.rsa-dark a:hover { color: var(--rsa-gold); }

/* Opt out of the underline only for links that are obviously controls */
.rsa-btn, .rsa-btn-secondary, .rsa-nav a, .rsa-crumbs a, .rsa-card-link, .rsa-tile { text-decoration: none; }
.rsa-nav a:hover, .rsa-crumbs a:hover { text-decoration: underline; }

/* --------------------------------------------------------------------------
   4. Layout
   -------------------------------------------------------------------------- */

.rsa-container {
  width: 100%;
  max-width: var(--rsa-container);
  margin-inline: auto;
  padding-inline: var(--rsa-gutter);
}
.rsa-container--narrow { max-width: 760px; }   /* articles, questions, forms */

.rsa-section { padding-block: var(--rsa-space-12); }
@media (min-width: 700px) { .rsa-section { padding-block: var(--rsa-space-16); } }

.rsa-band-paper   { background: var(--rsa-paper); }
.rsa-band-surface { background: var(--rsa-surface); border-block: 1px solid var(--rsa-line); }
.rsa-band-dark    { background: var(--rsa-green); color: var(--rsa-ink-invert); }
.rsa-band-dark h1, .rsa-band-dark h2, .rsa-band-dark h3 { color: var(--rsa-ink-invert); }

.rsa-stack     { display: flex; flex-direction: column; gap: var(--rsa-space-5); }
.rsa-stack-lg  { display: flex; flex-direction: column; gap: var(--rsa-space-10); }
.rsa-row       { display: flex; flex-wrap: wrap; gap: var(--rsa-space-4); align-items: center; }

.rsa-grid {
  display: grid;
  gap: var(--rsa-space-5);
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}
.rsa-grid--wide { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.rsa-grid--metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1099px) {
  .rsa-grid--metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
  .rsa-grid--metrics { grid-template-columns: 1fr; }
}

.rsa-rule { border: 0; border-top: 1px solid var(--rsa-line); margin-block: var(--rsa-space-10); }

/* --------------------------------------------------------------------------
   5. Site header
   -------------------------------------------------------------------------- */

.rsa-header {
  background: var(--rsa-green);
  color: var(--rsa-ink-invert);
  position: relative;
  z-index: 40;
}
.rsa-header__inner {
  display: flex;
  align-items: center;
  gap: var(--rsa-space-6);
  row-gap: var(--rsa-space-3);
  flex-wrap: wrap;
  min-height: 72px;
}
.rsa-logo {
  display: flex; align-items: center; gap: var(--rsa-space-3);
  flex: none; text-decoration: none; color: var(--rsa-ink-invert);
}
.rsa-header .rsa-logo {
  margin-right: auto;
  min-height: var(--rsa-tap);
}
.rsa-logo img { height: 44px; width: auto; }
.rsa-logo__word {
  font-family: var(--rsa-font-display);
  font-size: 22px; font-weight: 500; line-height: 1.1;
  white-space: nowrap;
}
.rsa-logo__sub {
  display: block;
  font-family: var(--rsa-font-body);
  font-size: 13px; font-weight: 700; line-height: 1.2;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--rsa-ink-invert-2);
}
.rsa-nav { display: flex; align-items: center; gap: var(--rsa-space-5); flex: none; }
.rsa-nav a {
  display: inline-flex; align-items: center;
  min-height: var(--rsa-tap);
  color: var(--rsa-ink-invert);
  font-size: 19px;
  white-space: nowrap;
}
.rsa-nav a:hover { color: var(--rsa-gold); }
.rsa-nav a[aria-current="page"] { border-bottom: 2px solid var(--rsa-gold); }
.rsa-nav .rsa-btn:hover { color: var(--rsa-green-deep); }

.rsa-header__rule {
  flex: none; width: 1px; height: 28px;
  background: var(--rsa-line-invert);
}

.rsa-header__phone-link {
  display: flex; flex-direction: column;
  align-items: flex-end; justify-content: center;
  flex: none; gap: 2px;
  min-height: var(--rsa-tap);
  color: var(--rsa-ink-invert);
  text-decoration: none;
}
.rsa-header__phone-label {
  font-size: var(--rsa-text-small);
  line-height: 1.2;
  color: var(--rsa-ink-invert-2);
}
.rsa-header__phone-number {
  font-family: var(--rsa-font-display);
  font-size: 24px; font-weight: 500; line-height: 1.1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.rsa-header__phone-link:hover .rsa-header__phone-number,
.rsa-header__phone-link:hover .rsa-header__phone-label { color: var(--rsa-gold); }
.rsa-header :focus-visible { outline-color: var(--rsa-gold); }

/* Mobile menu. Progressive: <details> works with JS off. */
.rsa-menu-toggle {
  display: none;
  align-items: center; gap: var(--rsa-space-2);
  min-height: var(--rsa-tap); min-width: var(--rsa-tap);
  padding-inline: var(--rsa-space-3);
  background: none; border: 2px solid var(--rsa-line-invert); border-radius: var(--rsa-radius);
  color: var(--rsa-ink-invert); font: inherit; font-size: 17px; font-weight: 700;
  cursor: pointer;
}
@media (max-width: 1099px) {
  .rsa-header__inner { min-height: 64px; gap: var(--rsa-space-4); }
  .rsa-header .rsa-logo { order: 1; }
  .rsa-header__phone-link { order: 2; }
  .rsa-menu-toggle { display: inline-flex; order: 3; }
  .rsa-header__rule { display: none; }
  .rsa-nav {
    order: 5; flex-basis: 100%;
    flex-direction: column; align-items: stretch; gap: 0;
    border-top: 1px solid var(--rsa-line-invert);
    margin-top: var(--rsa-space-3);
  }
  .rsa-nav[hidden] { display: none; }
  .rsa-nav a {
    min-height: 56px;
    border-bottom: 1px solid var(--rsa-line-invert);
    font-size: 19px;
  }
  .rsa-nav .rsa-btn { margin-block: var(--rsa-space-3); }
}

@media (max-width: 619px) {
  .rsa-header .rsa-logo img { height: 38px; }
  .rsa-header .rsa-logo__word { display: none; }
  .rsa-header__phone-label { display: none; }
  .rsa-header__phone-number { font-size: 22px; }
}

[id]:target, h2[id], h3[id] { scroll-margin-top: 88px; }

/* --------------------------------------------------------------------------
   6. Breadcrumbs
   -------------------------------------------------------------------------- */

.rsa-crumbs {
  background: var(--rsa-surface);
  border-bottom: 1px solid var(--rsa-line);
  font-size: var(--rsa-text-small);
  color: var(--rsa-ink-muted);
}
.rsa-crumbs ol {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--rsa-space-2);
  list-style: none; margin: 0; padding: var(--rsa-space-3) 0; max-width: none;
}
.rsa-crumbs li { display: flex; align-items: center; gap: var(--rsa-space-2); margin: 0; }
.rsa-crumbs li + li::before { content: "\203A"; color: #9C8F72; font-size: 18px; line-height: 1; }
.rsa-crumbs a {
  display: inline-flex; align-items: center; min-height: 44px;
  color: var(--rsa-ink-strong); font-weight: 700;
}
.rsa-crumbs [aria-current="page"] { color: var(--rsa-ink-muted); }

/* --------------------------------------------------------------------------
   7. Buttons
   -------------------------------------------------------------------------- */

.rsa-btn, .rsa-btn-secondary {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--rsa-tap);
  padding: 0 var(--rsa-space-6);
  border-radius: var(--rsa-radius-pill);
  font-family: var(--rsa-font-body);
  font-size: 17px; font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.rsa-btn { background: var(--rsa-gold); color: var(--rsa-green-deep); border: 2px solid var(--rsa-gold); }
.rsa-btn:hover  { background: #C79B45; border-color: #C79B45; color: var(--rsa-green-deep); }
.rsa-btn:active { background: #B98B33; border-color: #B98B33; }

.rsa-btn-secondary { background: transparent; color: var(--rsa-green); border: 2px solid var(--rsa-green); }
.rsa-btn-secondary:hover { background: var(--rsa-green); color: var(--rsa-ink-invert); }
.rsa-dark .rsa-btn-secondary { color: var(--rsa-ink-invert); border-color: var(--rsa-line-invert); }
.rsa-dark .rsa-btn-secondary:hover { background: rgba(243, 238, 225, .12); border-color: var(--rsa-ink-invert); }

.rsa-btn[aria-disabled="true"], .rsa-btn:disabled {
  background: var(--rsa-surface-sunk); border-color: var(--rsa-line);
  color: var(--rsa-ink-muted); cursor: not-allowed;
}

/* Phone is a button everywhere it appears. Never let it wrap. */
.rsa-phone { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* --------------------------------------------------------------------------
   8. Cards and modules
   -------------------------------------------------------------------------- */

/* Rule of thumb: card the DATA, the SOURCE note and the CTA.
   Leave prose on plain paper. Never stack four identical boxes. */

.rsa-card {
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  padding: var(--rsa-space-6);
  box-shadow: var(--rsa-shadow-card);
}
.rsa-card__title {
  font-family: var(--rsa-font-display);
  font-size: 21px; font-weight: 600; line-height: 1.3;
  color: var(--rsa-ink-strong);
  margin: 0 0 var(--rsa-space-2);
}

/* Tile — a whole card that is one link (hub grids) */
.rsa-tile {
  display: flex; flex-direction: column; gap: var(--rsa-space-2);
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  padding: var(--rsa-space-5);
  min-height: 96px;
  color: var(--rsa-ink);
  transition: border-color .15s ease, background-color .15s ease;
}
.rsa-tile:hover { border-color: var(--rsa-green); background: #FFFDF7; color: var(--rsa-ink); }
.rsa-tile__name {
  font-family: var(--rsa-font-display);
  font-size: 20px; font-weight: 600; color: var(--rsa-ink-strong);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em;
}
.rsa-tile__note { font-size: var(--rsa-text-small); color: var(--rsa-ink-muted); }

/* Source / limits module. Goes ABOVE the data it describes, never in the footer. */
.rsa-source {
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  padding: var(--rsa-space-5);
  margin-bottom: var(--rsa-space-6);
}
.rsa-source__title {
  font-family: var(--rsa-font-display);
  font-size: 20px; font-weight: 600; color: var(--rsa-ink-strong);
  margin: 0 0 var(--rsa-space-2);
}
.rsa-source p { font-size: var(--rsa-text-small); color: var(--rsa-ink); max-width: 78ch; }

/* Intro/body rhythm: avoid stacked section padding between hero/meta and body. */
main[data-rsa-page-family="article-detail"] > .rsa-section:first-child,
main[data-rsa-page-family="question-detail"] > .rsa-section:first-child,
main[data-rsa-page-family="question-category"] > .rsa-section:first-child,
main[data-rsa-page-family="question-root"] > .rsa-section:first-child {
  padding-bottom: var(--rsa-space-8);
}
main[data-rsa-page-family="article-detail"] > .rsa-section:first-child + .rsa-section,
main[data-rsa-page-family="question-detail"] > .rsa-section:first-child + .rsa-section,
main[data-rsa-page-family="question-category"] > .rsa-section:first-child + .rsa-section,
main[data-rsa-page-family="question-root"] > .rsa-section:first-child + .rsa-section {
  padding-top: 0;
}

/* Article rich body modules restored from source-backed editorial exports. */
.rsa-article-rich {
  color: var(--rsa-ink);
}
.rsa-article-rich > h2,
.rsa-article-rich h2 {
  margin-top: var(--rsa-space-8);
  margin-bottom: var(--rsa-space-4);
}
.rsa-article-rich > h2:first-child { margin-top: 0; }
.rsa-article-rich p,
.rsa-article-rich li {
  font-size: var(--rsa-text-base);
  line-height: 1.72;
}
.rsa-article-rich p { margin-bottom: var(--rsa-space-4); }
.rsa-article-rich ul,
.rsa-article-rich ol {
  padding-left: 1.25em;
  margin: 0 0 var(--rsa-space-6);
}
.rsa-article-rich li { margin-bottom: var(--rsa-space-3); }
.rsa-article-rich a {
  color: var(--rsa-ink-strong);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.rsa-article-rich .stat-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rsa-space-4);
  margin: var(--rsa-space-6) 0;
}
.rsa-article-rich .stat-box {
  background: var(--rsa-surface-sunk);
  border-radius: var(--rsa-radius-lg);
  padding: clamp(24px, 5vw, 44px) var(--rsa-space-5);
  text-align: center;
  min-height: 180px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.rsa-article-rich .stat-box:nth-child(3):last-child {
  grid-column: 1 / -1;
}
.rsa-article-rich .stat-num {
  font-family: var(--rsa-font-display);
  color: var(--rsa-ink-strong);
  font-size: clamp(38px, 8vw, 58px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.04em;
  margin-bottom: var(--rsa-space-3);
}
.rsa-article-rich .stat-lbl {
  color: var(--rsa-ink-muted);
  font-size: clamp(20px, 4vw, 30px);
  line-height: 1.55;
  max-width: 18ch;
}
.rsa-article-rich .chart-wrap {
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius-lg);
  padding: clamp(20px, 5vw, 36px);
  margin: var(--rsa-space-7) 0 var(--rsa-space-8);
  overflow: hidden;
}
.rsa-article-rich .chart-title {
  color: var(--rsa-ink-muted);
  font-family: var(--rsa-font-display);
  font-size: clamp(18px, 4vw, 28px);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.55;
  margin: 0 0 var(--rsa-space-5);
  text-align: center;
  text-transform: uppercase;
}
.rsa-article-rich .rsa-chart-svg {
  display: block;
  width: 100%;
  height: auto;
}
.rsa-chart-grid { stroke: var(--rsa-line); stroke-width: 1; }
.rsa-chart-label,
.rsa-chart-value,
.rsa-chart-axis {
  fill: var(--rsa-ink-muted);
  font-family: var(--rsa-font-body);
  font-size: 20px;
}
.rsa-chart-axis { font-size: 22px; }
.rsa-article-rich .highlight {
  background: var(--rsa-surface-sunk);
  border-left: 6px solid var(--rsa-gold-ink);
  border-radius: var(--rsa-radius-lg);
  color: var(--rsa-ink);
  font-size: var(--rsa-text-base);
  line-height: 1.72;
  margin: var(--rsa-space-7) 0;
  padding: clamp(22px, 5vw, 36px);
}
.rsa-article-rich .source {
  color: var(--rsa-ink-muted);
  font-size: var(--rsa-text-small);
  margin-top: var(--rsa-space-5);
}
.rsa-article-rich .sources-block {
  background: var(--rsa-surface);
  border-left: 5px solid var(--rsa-gold-ink);
  border-radius: var(--rsa-radius-lg);
  color: var(--rsa-ink);
  margin: var(--rsa-space-7) 0;
  padding: clamp(22px, 5vw, 36px);
}
.rsa-article-rich .sources-title {
  color: var(--rsa-ink-strong);
  font-family: var(--rsa-font-body);
  font-size: 28px;
  font-weight: 700;
  margin-bottom: var(--rsa-space-4);
}
.rsa-article-rich .sources-list { margin-bottom: 0; }
.rsa-article-rich .sources-block a { color: var(--rsa-ink-strong); }
.rsa-article-rich .disclaimer {
  border-top: 1px solid var(--rsa-line);
  color: var(--rsa-ink-muted);
  font-size: var(--rsa-text-base);
  line-height: 1.72;
  margin: var(--rsa-space-8) 0 var(--rsa-space-7);
  padding-top: var(--rsa-space-5);
}
.rsa-article-rich .disclaimer strong { color: var(--rsa-ink-muted); }
@media (max-width: 520px) {
  .rsa-article-rich .stat-row { gap: 12px; }
  .rsa-article-rich .stat-box { min-height: 150px; padding-inline: 14px; }
  .rsa-article-rich .stat-lbl { max-width: 16ch; }
}

/* Empty state — a sentence, never a stack of "Not reported" rows. */
.rsa-empty {
  background: var(--rsa-surface-sunk);
  border-radius: var(--rsa-radius);
  padding: var(--rsa-space-5);
  color: var(--rsa-ink-muted);
  font-size: var(--rsa-text-small);
  max-width: var(--rsa-measure);
}

/* Accordion — the only motion on the site besides hover */
.rsa-disclosure { border-bottom: 1px solid var(--rsa-line); }
.rsa-disclosure > summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--rsa-space-4);
  min-height: var(--rsa-tap);
  padding-block: var(--rsa-space-3);
  font-family: var(--rsa-font-display);
  font-size: 20px; font-weight: 600; color: var(--rsa-ink-strong);
  cursor: pointer; list-style: none;
}
.rsa-disclosure > summary::-webkit-details-marker { display: none; }
.rsa-disclosure > summary::after {
  content: "+"; font-family: var(--rsa-font-body); font-size: 26px; font-weight: 400;
  color: var(--rsa-gold-ink); line-height: 1;
}
.rsa-disclosure[open] > summary::after { content: "\2013"; }
.rsa-disclosure__body { padding-bottom: var(--rsa-space-5); }
.rsa-question-backlink { margin-top: var(--rsa-space-6); }

/* --------------------------------------------------------------------------
   9. Tables → cards
   -------------------------------------------------------------------------- */

/* Desktop: bordered table on surface. Numbers right-aligned + tabular.
   Below 700px the SAME markup renders as label/value cards.
   Requires one authoring rule: every <td> carries data-label="Column name".
   There is no horizontal scroll anywhere on this site. */

.rsa-table-wrap {
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  overflow: hidden;
}
.rsa-table { width: 100%; border-collapse: collapse; font-size: var(--rsa-text-small); }
.rsa-table caption {
  caption-side: top; text-align: left;
  padding: var(--rsa-space-4) var(--rsa-space-5);
  font-size: var(--rsa-text-small); color: var(--rsa-ink-muted);
  border-bottom: 1px solid var(--rsa-line);
}
.rsa-table th {
  text-align: left;
  padding: var(--rsa-space-3) var(--rsa-space-5);
  background: var(--rsa-surface-sunk);
  border-bottom: 1px solid var(--rsa-line);
  font-size: 13px; letter-spacing: .08em; text-transform: uppercase;
  font-weight: 700; color: var(--rsa-gold-ink);
}
.rsa-table td {
  padding: var(--rsa-space-4) var(--rsa-space-5);
  border-bottom: 1px solid var(--rsa-line-soft);
  vertical-align: top;
}
.rsa-table tbody tr:last-child td { border-bottom: 0; }
.rsa-table th.rsa-num, .rsa-table td.rsa-num { text-align: right; font-variant-numeric: tabular-nums; }
.rsa-table td.rsa-num {
  font-family: var(--rsa-font-display);
  font-size: 19px;
}
.rsa-table td:first-child { font-weight: 700; color: var(--rsa-ink-strong); }
/* In-table links are primary navigation on the highest-traffic families
   (doctor -> drug, drug -> doctor, hub -> detail). They carry the floor. */
.rsa-table td a { display: inline-flex; align-items: center; min-height: 44px; }

@media (max-width: 699px) {
  .rsa-table-wrap { background: none; border: 0; border-radius: 0; }
  .rsa-table, .rsa-table tbody, .rsa-table tr, .rsa-table td { display: block; width: 100%; }
  .rsa-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .rsa-table caption { padding-inline: 0; border: 0; }
  .rsa-table tr {
    background: var(--rsa-surface);
    border: 1px solid var(--rsa-line);
    border-radius: var(--rsa-radius);
    margin-bottom: var(--rsa-space-4);
    overflow: hidden;
  }
  .rsa-table td {
    display: flex; align-items: baseline; justify-content: space-between; gap: var(--rsa-space-4);
    padding: var(--rsa-space-3) var(--rsa-space-4);
    border-bottom: 1px solid var(--rsa-line-soft);
    text-align: left;
  }
  .rsa-table td::before {
    content: attr(data-label);
    flex: none;
    color: var(--rsa-ink-muted);
    font-weight: 400;
  }
  .rsa-table td:first-child {
    display: block;
    background: var(--rsa-surface-sunk);
    font-family: var(--rsa-font-display);
    font-size: 20px;
  }
  .rsa-table td:first-child::before { content: none; }
  .rsa-table td.rsa-num { text-align: right; }
}

/* Long lists (50-state scale): show the first N, reveal the rest. */
.rsa-list-columns {
  columns: 220px 4; column-gap: var(--rsa-space-8);
  list-style: none; padding: 0; max-width: none;
}
.rsa-list-columns li { break-inside: avoid; margin-bottom: var(--rsa-space-3); }
.rsa-list-columns a { display: inline-flex; align-items: center; min-height: 44px; }

/* --------------------------------------------------------------------------
   10. CTA module
   -------------------------------------------------------------------------- */

.rsa-cta {
  background: var(--rsa-green);
  color: var(--rsa-ink-invert);
  border-radius: var(--rsa-radius-lg);
  padding: var(--rsa-space-8);
  margin-block: var(--rsa-space-12);
}
.rsa-cta__title {
  font-family: var(--rsa-font-display);
  font-size: clamp(23px, 2.6vw, 28px); line-height: 1.25; font-weight: 500;
  color: var(--rsa-ink-invert);
  margin: 0 0 var(--rsa-space-3);
}
.rsa-cta p { color: var(--rsa-ink-invert-2); font-size: var(--rsa-text-small); max-width: 54ch; margin-bottom: var(--rsa-space-5); }
.rsa-cta__actions { display: flex; flex-wrap: wrap; gap: var(--rsa-space-3); }
.rsa-cta .rsa-btn, .rsa-cta .rsa-btn-secondary {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.rsa-cta__actions > * { max-width: 100%; }

/* --------------------------------------------------------------------------
   11. Forms
   -------------------------------------------------------------------------- */

.rsa-form { display: flex; flex-direction: column; gap: var(--rsa-space-5); max-width: 520px; }
.rsa-field { display: flex; flex-direction: column; gap: var(--rsa-space-2); }
.rsa-label { font-weight: 700; color: var(--rsa-ink-strong); font-size: 18px; }
.rsa-hint  { font-size: var(--rsa-text-small); color: var(--rsa-ink-muted); }

.rsa-input, .rsa-select, .rsa-textarea {
  min-height: var(--rsa-tap);
  padding: var(--rsa-space-3) var(--rsa-space-4);
  background: #FFFFFF;
  border: 2px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  font-family: var(--rsa-font-body);
  font-size: 18px;
  color: var(--rsa-ink);
}
.rsa-textarea { min-height: 132px; line-height: var(--rsa-leading-body); resize: vertical; }
.rsa-input:hover, .rsa-select:hover, .rsa-textarea:hover { border-color: #C7BB9F; }
.rsa-input[aria-invalid="true"], .rsa-textarea[aria-invalid="true"] { border-color: var(--rsa-error); background: var(--rsa-error-bg); }
.rsa-error { color: var(--rsa-error); font-size: var(--rsa-text-small); font-weight: 700; }

/* Required consent copy under every submit button. Legally load-bearing. */
/* Checkbox / radio rows (tools, checklists). 24px box, 48px row. */
.rsa-row > input[type="checkbox"], .rsa-row > input[type="radio"] {
  width: 24px; height: 24px; flex: none; margin: 0;
  accent-color: var(--rsa-green);
}
.rsa-stack > label.rsa-row {
  min-height: var(--rsa-tap);
  gap: var(--rsa-space-3);
  cursor: pointer;
  flex-wrap: nowrap;
  align-items: flex-start;
  padding-block: var(--rsa-space-2);
}

.rsa-consent { font-size: var(--rsa-text-micro); line-height: 1.62; color: var(--rsa-ink-muted); max-width: 62ch; }

/* --------------------------------------------------------------------------
   12. Site footer
   -------------------------------------------------------------------------- */

.rsa-footer { background: var(--rsa-green); color: var(--rsa-ink-invert); }
.rsa-footer a { color: var(--rsa-ink-invert); }
.rsa-footer__brand {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--rsa-space-6);
  padding-block: var(--rsa-space-10);
  border-bottom: 1px solid var(--rsa-line-invert);
}
.rsa-footer__dirs {
  display: grid; gap: var(--rsa-space-8);
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  padding-block: var(--rsa-space-12);
}
/* Second-level links inside a footer column (state hubs under a family hub) */
.rsa-footer__sub {
  display: flex; flex-direction: column;
  margin: var(--rsa-space-1) 0 var(--rsa-space-3) var(--rsa-space-3);
  padding-left: var(--rsa-space-3);
  border-left: 1px solid var(--rsa-line-invert);
  list-style: none;
}
.rsa-footer__sub a {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: var(--rsa-text-small); color: var(--rsa-ink-invert-2);
}
.rsa-footer__sub a:hover { color: var(--rsa-ink-invert); }
/* A licence with no public regulator lookup. Renders as a sibling of
   .rsa-footer__sub a but is not a link: linking it somewhere unrelated
   would be a false promise in the one block that exists to prove honesty.
   Not focusable, so it is exempt from the TARGET FLOOR list. */
.rsa-footer__nolink {
  display: inline-flex; align-items: center; min-height: 44px;
  font-size: var(--rsa-text-small); color: var(--rsa-ink-invert-2);
  text-decoration: none; cursor: default;
}
.rsa-footer__coltitle {
  font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
  font-weight: 700; color: var(--rsa-gold); margin-bottom: var(--rsa-space-4);
}
.rsa-footer__links { display: flex; flex-direction: column; gap: var(--rsa-space-1); list-style: none; padding: 0; margin: 0; }
.rsa-footer__links a { display: inline-flex; align-items: center; min-height: 48px; font-size: var(--rsa-text-small); }

/* Social + profile row. Icons are self-hosted single-colour SVGs in
   /assets/social/{slug}.svg, tinted with a CSS mask so one file serves
   both the cream and green treatments. 48px circular targets. */
.rsa-social {
  display: flex; flex-wrap: wrap; gap: var(--rsa-space-3);
  padding-block: var(--rsa-space-8);
  border-top: 1px solid var(--rsa-line-invert);
  list-style: none; margin: 0;
}
.rsa-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--rsa-tap); height: var(--rsa-tap);
  border: 1px solid var(--rsa-line-invert);
  border-radius: var(--rsa-radius-pill);
  color: var(--rsa-ink-invert-2);
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.rsa-social a:hover { border-color: var(--rsa-gold); background: rgba(217, 175, 94, .14); color: var(--rsa-ink-invert); }
.rsa-social img, .rsa-social svg { width: 20px; height: 20px; }
.rsa-social__mono { font-size: 13px; font-weight: 700; letter-spacing: .02em; }
/* Profile that exists but is not live yet — never a clickable dead end */
.rsa-social__pending {
  display: inline-flex; align-items: center; justify-content: center;
  width: var(--rsa-tap); height: var(--rsa-tap);
  border: 1px dashed var(--rsa-line-invert);
  border-radius: var(--rsa-radius-pill);
  opacity: .5;
}
.rsa-social__pending img { width: 20px; height: 20px; }

.rsa-legal {
  border-top: 1px solid var(--rsa-line-invert);
  padding-block: var(--rsa-space-10);
  display: flex; flex-direction: column; gap: var(--rsa-space-5);
}
.rsa-legal h2 {
  font-family: var(--rsa-font-body);
  font-size: var(--rsa-text-small); font-weight: 700;
  color: var(--rsa-gold); margin: 0 0 var(--rsa-space-1);
  letter-spacing: .04em; text-transform: none;
}
.rsa-legal p { font-size: var(--rsa-text-micro); line-height: 1.62; color: var(--rsa-ink-invert-2); max-width: 92ch; }

/* --------------------------------------------------------------------------
   13. Drug data pages
   -------------------------------------------------------------------------- */

.identity-block,
.source-limits,
.verification-callout,
.doctor-template-cta {
  max-width: var(--rsa-container);
  margin-inline: auto;
  padding: var(--rsa-space-10) var(--rsa-gutter);
}

.identity-block {
  padding-block-start: var(--rsa-space-16);
}

.preview-label {
  margin: 0 0 var(--rsa-space-2);
  color: var(--rsa-gold-ink);
  font-size: var(--rsa-text-small);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.doctor-proof-dek,
.drug-root-dek {
  max-width: var(--rsa-measure);
  font-size: var(--rsa-text-lead);
  line-height: var(--rsa-leading-body);
}

.identity-facts,
.drug-root-facts {
  display: grid;
  gap: var(--rsa-space-4);
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin: var(--rsa-space-8) 0 0;
}

.identity-facts div,
.drug-root-facts div,
.drug-proof-stat-grid div {
  padding: var(--rsa-space-5);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius-lg);
  background: var(--rsa-surface);
  box-shadow: var(--rsa-shadow-card);
}

.identity-facts dt,
.drug-root-facts dt {
  color: var(--rsa-ink-muted);
  font-size: var(--rsa-text-small);
  font-weight: 700;
}

.identity-facts dd,
.drug-root-facts dd {
  margin: var(--rsa-space-1) 0 0;
  color: var(--rsa-ink-strong);
  font-size: 20px;
  font-weight: 700;
}

.drug-proof-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rsa-space-4);
  margin-top: var(--rsa-space-6);
}

.drug-proof-stat-grid span {
  display: block;
  overflow-wrap: anywhere;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 700;
  line-height: 1.12;
}

.drug-proof-stat-grid small,
.drug-proof-note,
.drug-last-updated {
  color: var(--rsa-ink-muted);
}

.drug-last-updated {
  margin: var(--rsa-space-8) 0 0;
  font-size: 19px;
  font-weight: 700;
}


.drug-proof-table th:nth-child(n+4),
.drug-proof-table td:nth-child(n+4) {
  text-align: right;
}

.doctor-template-cta {
  border-block: 1px solid var(--rsa-line);
  background: rgba(255, 253, 247, .55);
}

.doctor-template-cta-button {
  display: inline-flex;
  min-height: var(--rsa-tap);
  align-items: center;
  justify-content: center;
  margin-top: var(--rsa-space-4);
  padding: 12px 18px;
  border-radius: var(--rsa-radius-pill);
  background: var(--rsa-green);
  color: var(--rsa-ink-invert);
  font-weight: 700;
  text-decoration: none;
}

.doctor-template-cta-button:hover {
  background: var(--rsa-green-deep);
  color: var(--rsa-ink-invert);
}

.data-caveats ul,
.source-list {
  padding-left: 1.2em;
}

.drug-root-card-list {
  margin-top: var(--rsa-space-8);
}

.drug-proof-table {
  table-layout: fixed;
}

.drug-proof-table :is(th, td) {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 991px) {
  .drug-proof-stat-grid {
    grid-template-columns: 1fr;
  }


  .sources-module,
  .sources-module *,
  .data-caveats,
  .data-caveats *,
  .source-limits,
  .source-limits * {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .data-caveats ul,
  .data-caveats li {
    max-width: 100%;
    padding-right: 0;
  }}


@media (max-width: 699px) {
  .drug-proof-table caption {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .table-scroll > .doctor-proof-table.drug-proof-table,
  .drug-proof-table {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    table-layout: auto;
  }

  .drug-proof-table tbody,
  .drug-proof-table tr,
  .drug-proof-table td {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
    text-align: left !important;
  }

  .drug-proof-table tr {
    padding: var(--rsa-space-3) 0;
    border-bottom: 1px solid var(--rsa-line);
  }

  .drug-proof-table td {
    padding: var(--rsa-space-3) var(--rsa-space-4);
    border-bottom: 0;
  }
}

/* County page guard: archived source/prose fields can contain long plain-text
   URLs. Keep the document viewport closed while preserving the source text. */
.county-page .county-rich-text,
.county-page .county-rich-text p,
.county-page .county-rich-text li,
.county-page .rsa-card,
.county-page .rsa-card p,
.county-page .rsa-empty {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* RSA ZIP state-hub scoped typography guard. */
body[data-rsa-page-family="zip-state-hub"] .rsa-footer__coltitle,
.zip-state-page .rsa-table th {
  font-size: 16px;
}

/* --------------------------------------------------------------------------
   14. Utilities
   -------------------------------------------------------------------------- */

.rsa-measure   { max-width: var(--rsa-measure); }
.rsa-nowrap    { white-space: nowrap; }
.rsa-num       { font-variant-numeric: tabular-nums; }
.rsa-visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* --------------------------------------------------------------------------
   15. Print
   -------------------------------------------------------------------------- */

@media print {
  .rsa-header, .rsa-nav, .rsa-cta, .rsa-menu-toggle { display: none !important; }
  body { background: #FFFFFF; color: var(--rsa-ink); font-size: 12pt; }
  .rsa-card, .rsa-source, .rsa-table-wrap { border-color: var(--rsa-line); box-shadow: none; }
  a::after { content: " (" attr(href) ")"; font-size: 10pt; color: var(--rsa-ink-muted); }
  .rsa-table td { display: table-cell; }
  .rsa-table thead { position: static; width: auto; height: auto; clip: auto; }
}

/* --------------------------------------------------------------------------
   Batch A static pages — 2026-08-08
   -------------------------------------------------------------------------- */

.rsa-home .rsa-btn,
.rsa-home .rsa-btn-secondary,
.rsa-page-static .rsa-btn,
.rsa-page-static .rsa-btn-secondary {
  min-height: 56px;
  border-radius: var(--rsa-radius);
  padding: var(--rsa-space-3) var(--rsa-space-6);
  font-size: 20px;
  white-space: normal;
  text-align: center;
}
.rsa-home-hero {
  padding-block: clamp(48px, 8vw, 80px);
}
.rsa-home-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: clamp(32px, 6vw, 64px);
  align-items: center;
}
.rsa-home h1 {
  font-size: clamp(40px, 7vw, 64px);
  line-height: 1.08;
  letter-spacing: -.01em;
  max-width: 12ch;
}
.rsa-home-hero__lede {
  font-size: clamp(21px, 2.8vw, 24px);
  line-height: 1.55;
  color: var(--rsa-ink-muted);
  max-width: 34ch;
}
.rsa-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rsa-space-4);
  align-items: center;
}
.rsa-home-hours {
  color: var(--rsa-ink-muted);
  font-size: 19px;
  line-height: 1.55;
  margin: 0;
}
.rsa-call-card-wrap { position: relative; }
.rsa-call-card-wrap::before {
  content: "";
  position: absolute;
  inset: 18px -18px -18px 18px;
  background: #E7DCC2;
  border-radius: var(--rsa-radius-lg);
}
.rsa-call-card {
  position: relative;
  background: var(--rsa-green);
  color: var(--rsa-ink-invert);
  border-radius: var(--rsa-radius-lg);
  padding: clamp(28px, 5vw, 44px);
}
.rsa-call-card h2 {
  margin-bottom: var(--rsa-space-6);
  color: var(--rsa-gold);
  font-family: var(--rsa-font-body);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}
.rsa-call-steps {
  display: flex;
  flex-direction: column;
  gap: var(--rsa-space-5);
  list-style: none;
  margin: 0;
  padding: 0;
}
.rsa-call-steps li {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: var(--rsa-space-4);
  align-items: start;
}
.rsa-call-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--rsa-line-invert);
  border-radius: var(--rsa-radius-pill);
  color: var(--rsa-gold);
  font-weight: 700;
}
.rsa-call-steps p {
  color: var(--rsa-ink-invert-2);
  font-size: 19px;
  line-height: 1.55;
}
.rsa-home-note {
  color: var(--rsa-ink-invert-2);
  font-size: 19px;
  line-height: 1.55;
  margin-top: var(--rsa-space-6);
}
.rsa-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rsa-space-5);
}
.rsa-trust-card {
  background: var(--rsa-green);
  border: 1px solid var(--rsa-line-invert);
  border-radius: var(--rsa-radius-lg);
  padding: var(--rsa-space-6);
  color: var(--rsa-ink-invert-2);
}
.rsa-trust-card h2,
.rsa-trust-card h3 {
  color: var(--rsa-gold);
  font-size: 26px;
  margin-bottom: var(--rsa-space-3);
}
.rsa-choice-intro { max-width: 58ch; }
.rsa-choice-grid,
.rsa-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--rsa-space-5);
}
.rsa-choice-card,
.rsa-article-card {
  display: flex;
  flex-direction: column;
  gap: var(--rsa-space-3);
  min-height: 220px;
  padding: var(--rsa-space-7);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius-lg);
  background: var(--rsa-surface);
  color: var(--rsa-ink);
  text-decoration: none;
}
.rsa-choice-card { border-top: 5px solid var(--rsa-gold); }
.rsa-choice-card:hover,
.rsa-article-card:hover { border-color: var(--rsa-green); background: #FFFDF7; color: var(--rsa-ink); }
article.rsa-article-card { text-decoration: none; }
.rsa-article-card--with-image {
  gap: 0;
  overflow: hidden;
  padding: 0;
}
.rsa-article-card__media {
  display: block;
  aspect-ratio: 16 / 9;
  background: var(--rsa-paper);
  border-bottom: 1px solid var(--rsa-line);
  overflow: hidden;
}
.rsa-article-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rsa-article-card--with-image .rsa-article-card__eyebrow {
  margin: var(--rsa-space-5) var(--rsa-space-6) 0;
}
.rsa-article-card--with-image .rsa-article-card__title,
.rsa-article-card--with-image .rsa-article-card__summary {
  margin-inline: var(--rsa-space-6);
}
.rsa-article-card--with-image .rsa-article-card__meta {
  margin: auto var(--rsa-space-6) var(--rsa-space-6);
}
.rsa-choice-card__title,
.rsa-article-card__title {
  font-family: var(--rsa-font-display);
  color: var(--rsa-ink-strong);
  font-size: clamp(25px, 3vw, 31px);
  line-height: 1.25;
}
.rsa-choice-card__cta,
.rsa-article-card__meta {
  margin-top: auto;
  color: var(--rsa-gold-ink);
  font-weight: 700;
}
.rsa-callback-panel {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(300px, 1.1fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: start;
}
.rsa-callback-panel .rsa-phone-large,
.rsa-prefooter-call .rsa-phone-large {
  font-family: var(--rsa-font-display);
  font-size: clamp(30px, 5vw, 42px);
  line-height: 1.1;
  color: var(--rsa-gold);
  text-decoration: none;
}
.rsa-question-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--rsa-space-10);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rsa-question-list a {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding-block: var(--rsa-space-4);
  border-bottom: 1px solid var(--rsa-line);
  font-size: 21px;
  line-height: 1.45;
  text-decoration: none;
}
.rsa-section-heading-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--rsa-space-4);
  flex-wrap: wrap;
  margin-bottom: var(--rsa-space-7);
}
.rsa-article-card__eyebrow {
  color: var(--rsa-gold-ink);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.rsa-prefooter-call {
  background: var(--rsa-green);
  color: var(--rsa-ink-invert);
  border-top: 1px solid var(--rsa-line-invert);
}
.rsa-prefooter-call h2 { color: var(--rsa-ink-invert); }
.rsa-prefooter-call p { color: var(--rsa-ink-invert-2); }
.rsa-page-hero h1 { max-width: 14ch; }
.rsa-page-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--rsa-space-5);
}
.rsa-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.rsa-form .rsa-btn { align-self: flex-start; }
@media (max-width: 899px) {
  .rsa-home-hero__grid,
  .rsa-callback-panel,
  .rsa-trust-grid,
  .rsa-choice-grid,
  .rsa-article-grid,
  .rsa-question-list {
    grid-template-columns: 1fr;
  }
  .rsa-call-card-wrap::before { display: none; }
}
@media (max-width: 520px) {
  .rsa-home h1 { font-size: 40px; }
  .rsa-choice-card,
  .rsa-article-card,
  .rsa-trust-card { padding: var(--rsa-space-5); }
}

/* --------------------------------------------------------------------------
   End Batch A static pages + Amendment 9 header phone block
   -------------------------------------------------------------------------- */

/* Batch A reader font-floor corrections — 2026-08-08 */
.rsa-home .rsa-label,
.rsa-page-static .rsa-label,
.rsa-home .rsa-input,
.rsa-page-static .rsa-input,
.rsa-home .rsa-textarea,
.rsa-page-static .rsa-textarea,
.rsa-home .rsa-form-disclosure,
.rsa-page-static .rsa-form-disclosure,
.rsa-page-static .rsa-tile__note,
.rsa-page-static .rsa-page-note,
.rsa-home .rsa-article-card__summary,
.rsa-page-static .rsa-article-card__summary,
.rsa-home .rsa-article-card__meta,
.rsa-page-static .rsa-article-card__meta {
  font-size: 19px;
  line-height: 1.55;
}

/* Addendum E unified CSS v1.1.3: CP07 and CP08 scoped extensions. */
/* Provider/facility rich data modules: global rsa.css extension for CP07 rich-shell candidate. */
.rsa-provider-rich-main{background:var(--rsa-paper);color:var(--rsa-ink);}
.rsa-provider-rich-main .wrap{width:min(1120px,calc(100% - 32px));margin:0 auto;}
.rsa-provider-rich-main .dochead{background:var(--rsa-green-deep);color:var(--rsa-ink-invert);padding:clamp(44px,7vw,82px) 0 clamp(36px,6vw,62px);}
.rsa-provider-rich-main .dochead h1{max-width:15ch;margin:0 0 18px;color:var(--rsa-ink-invert);font-family:Newsreader,Georgia,serif;font-size:clamp(42px,8vw,72px);font-weight:500;line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere;}
.rsa-provider-rich-main .dochead p{max-width:72ch;margin:0;color:var(--rsa-ink-invert-2);font-size:clamp(21px,2vw,25px);}
.rsa-provider-rich-main .dochead .last-updated{margin-top:16px;color:var(--rsa-gold);font-weight:700;font-size:19px;}
.rsa-provider-rich-main .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:clamp(24px,5vw,52px);align-items:end;}
.rsa-provider-rich-main .hero-card{border:1px solid rgba(246,243,236,.28);border-radius:var(--rsa-radius-lg);background:rgba(243,238,225,.08);padding:24px;box-shadow:var(--rsa-shadow-card);}
.rsa-provider-rich-main .hero-card span{display:block;margin:0 0 3px;color:var(--rsa-ink-invert-2);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.rsa-provider-rich-main .hero-card b,.rsa-provider-rich-main .hero-card .rating-text{display:block;margin:0 0 16px;color:var(--rsa-ink-invert);font-size:21px;font-weight:700;}
.rsa-provider-rich-main .rsa-provider-source-section{padding:28px 0 0;}
.rsa-provider-rich-main .utility-nav{position:sticky;top:0;z-index:9;width:min(1120px,calc(100% - 32px));margin:18px auto 0;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);box-shadow:var(--rsa-shadow-card);backdrop-filter:blur(12px);}
.rsa-provider-rich-main .utility-title{margin:0;color:var(--rsa-ink-muted);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.rsa-provider-rich-main .utility-links{display:flex;flex-wrap:wrap;gap:8px;}
.rsa-provider-rich-main .utility-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-pill);background:var(--rsa-surface);color:var(--rsa-green);font-weight:700;text-decoration:none;}
.rsa-provider-rich-main .block{margin:clamp(28px,5vw,54px) 0;padding:clamp(24px,4vw,40px);border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);box-shadow:var(--rsa-shadow-card);}
.rsa-provider-rich-main h1,.rsa-provider-rich-main h2,.rsa-provider-rich-main h3,.rsa-provider-rich-main p,.rsa-provider-rich-main .lbl,.rsa-provider-rich-main .utility-title,.rsa-provider-rich-main .chip{overflow-wrap:anywhere;word-break:normal;}
.rsa-provider-rich-main .rsa-rich-block>h2{margin:0 0 18px;font-family:Newsreader,Georgia,serif;font-size:clamp(32px,4vw,52px);font-weight:500;line-height:1.05;letter-spacing:-.03em;}
.rsa-provider-rich-main .bbody{display:grid;gap:20px;}
.rsa-provider-rich-main .bbody>*,.rsa-provider-rich-main .block>*,.rsa-provider-rich-main .ph,.rsa-provider-rich-main .rx-data-card,.rsa-provider-rich-main .note,.rsa-provider-rich-main .correction-form,.rsa-provider-rich-main .form-head,.rsa-provider-rich-main .checkline{min-width:0;max-width:100%;overflow-wrap:anywhere;}
.rsa-provider-rich-main .why,.rsa-provider-rich-main .disc,.rsa-provider-rich-main .note{margin:0;color:var(--rsa-ink-muted);font-size:19px;line-height:1.58;overflow-wrap:anywhere;}
.rsa-provider-rich-main .ph,.rsa-provider-rich-main .rx-data-card,.rsa-provider-rich-main .note,.rsa-provider-rich-main .correction-form{padding:18px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface)df7;}
.rsa-provider-rich-main .lbl{margin:0 0 8px;color:var(--rsa-ink-muted);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;}
.rsa-provider-rich-main .g2,.rsa-provider-rich-main .g3,.rsa-provider-rich-main .g4{display:grid;gap:14px;}
.rsa-provider-rich-main .g2{grid-template-columns:repeat(2,minmax(0,1fr));}.rsa-provider-rich-main .g3{grid-template-columns:repeat(3,minmax(0,1fr));}.rsa-provider-rich-main .g4{grid-template-columns:repeat(4,minmax(0,1fr));}
.rsa-provider-rich-main .g2>*,.rsa-provider-rich-main .g3>*,.rsa-provider-rich-main .g4>*{min-width:0;}
.rsa-provider-rich-main .barrow{display:grid;grid-template-columns:minmax(160px,260px) minmax(0,1fr) auto;gap:12px;align-items:center;margin:10px 0;}
.rsa-provider-rich-main .bar{height:12px;border-radius:var(--rsa-radius-pill);background:var(--rsa-gold);}
.rsa-provider-rich-main .chip{display:inline-flex;align-items:center;min-height:36px;margin:4px 6px 4px 0;padding:6px 10px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-pill);background:var(--rsa-surface-sunk);color:var(--rsa-green);font-size:16px;font-weight:700;}
.rsa-provider-rich-main .mono,.rsa-provider-rich-main code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;}
.rsa-provider-rich-main .n{font-weight:700;}
.rsa-provider-rich-main .ok{color:var(--rsa-green);}.rsa-provider-rich-main .no{color:var(--rsa-error);}.rsa-provider-rich-main .hit{background:var(--rsa-surface-sunk);border-radius:var(--rsa-radius);padding:1px 4px;}
.rsa-provider-rich-main .tablewrap{max-width:100%;min-width:0;overflow:hidden;}
.rsa-provider-rich-main .rsa-table-wrap{margin:12px 0 0;max-width:100%;min-width:0;overflow:hidden;}
.rsa-provider-rich-main .rsa-table{max-width:100%;min-width:0;table-layout:auto;}
.rsa-provider-rich-main .rsa-table caption{caption-side:top;text-align:left;margin-bottom:10px;color:var(--rsa-ink-muted);font-weight:700;}
.rsa-provider-rich-main .rsa-table td,.rsa-provider-rich-main .rsa-table th{vertical-align:top;overflow-wrap:anywhere;}
.rsa-provider-rich-main .sev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0;}
.rsa-provider-rich-main .sev>*{min-width:0;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);padding:10px;text-align:center;}
.rsa-provider-rich-main .narratives{display:grid;gap:14px;}
.rsa-provider-rich-main .citation-detail,.rsa-provider-rich-main .quote-unavailable{padding:14px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);}
.rsa-provider-rich-main .official-inspection-text{white-space:pre-wrap;max-height:520px;overflow:auto;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:16px;line-height:1.55;color:var(--rsa-ink);}
.rsa-provider-rich-main .correction-form{display:grid;gap:16px;background:var(--rsa-surface);}
.rsa-provider-rich-main .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.rsa-provider-rich-main label{font-weight:700;}
.rsa-provider-rich-main input,.rsa-provider-rich-main select,.rsa-provider-rich-main textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);color:var(--rsa-ink);font:inherit;}
.rsa-provider-rich-main textarea{min-height:120px;}
.rsa-provider-rich-main .form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.rsa-provider-rich-main .form-email{font-weight:700;}
.rsa-provider-rich-main .correction-output{min-height:160px;}
.rsa-provider-rich-main .rsa-cta{margin:clamp(28px,5vw,54px) 0;}
.rsa-provider-rich-main a[href^="tel:"]{font-weight:700;}
@media(max-width:900px){.rsa-provider-rich-main .hero-grid,.rsa-provider-rich-main .g2,.rsa-provider-rich-main .g3,.rsa-provider-rich-main .g4,.rsa-provider-rich-main .form-grid{grid-template-columns:1fr}.rsa-provider-rich-main .utility-nav{position:relative;top:auto;align-items:flex-start;flex-direction:column}.rsa-provider-rich-main .utility-links{width:100%}.rsa-provider-rich-main .utility-links a{width:100%}.rsa-provider-rich-main .barrow{grid-template-columns:1fr}.rsa-provider-rich-main .dochead{padding-top:42px}}
@media(max-width:700px){.rsa-provider-rich-main .rsa-table{display:block;width:100%;border:0}.rsa-provider-rich-main .rsa-table thead{display:none}.rsa-provider-rich-main .rsa-table tbody{display:block;width:100%}.rsa-provider-rich-main .rsa-table tr{display:block;width:100%;max-width:100%;margin:0 0 14px;border:1px solid var(--rsa-line);border-radius:var(--rsa-radius-lg);background:var(--rsa-surface);overflow:hidden}.rsa-provider-rich-main .rsa-table td{display:grid;width:100%;max-width:100%;grid-template-columns:minmax(9ch,38%) minmax(0,1fr);gap:12px;padding:12px 14px;border:0;border-bottom:1px solid var(--rsa-line);overflow-wrap:anywhere}.rsa-provider-rich-main .rsa-table td:last-child{border-bottom:0}.rsa-provider-rich-main .rsa-table td::before{content:attr(data-label);color:var(--rsa-ink-muted);font-weight:700;min-width:0;overflow-wrap:anywhere}.rsa-provider-rich-main .block{padding:20px 16px}.rsa-provider-rich-main .official-inspection-text{max-width:100%;font-size:16px;overflow-wrap:anywhere}}

/* CP08 tools shared-shell additions */
.rsa-tool-shell {
  background: var(--rsa-paper);
}
.rsa-tool-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 32px;
  align-items: start;
}
.rsa-tool-aside {
  position: sticky;
  top: 24px;
}
.rsa-tool-page,
.rsa-tool-page * {
  box-sizing: border-box;
  max-width: 100%;
}
.rsa-tool-page {
  display: grid;
  gap: 22px;
  color: var(--rsa-ink);
}
.rsa-tool-page > p,
.rsa-tool-page > ul,
.rsa-tool-page > ol,
.rsa-tool-page > table,
.rsa-tool-page > .rsa-table-wrap {
  margin-top: 0;
}
.rsa-tool-page h2 {
  margin: 30px 0 10px;
  font-size: clamp(28px, 3vw, 38px);
}
.rsa-tool-page h3 {
  margin: 24px 0 8px;
}
.rsa-tool-page p,
.rsa-tool-page li {
  line-height: 1.68;
}
.rsa-tool-mount {
  width: 100%;
  min-width: 0;
  margin: 24px 0 30px;
  padding: clamp(18px, 4vw, 28px);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius-lg);
  background: var(--rsa-surface);
  box-shadow: var(--rsa-shadow-card);
  overflow: hidden;
}
.rsa-tool-source-note {
  margin: 0 0 20px;
  padding: 14px 16px;
  border-radius: var(--rsa-radius-lg);
  background: var(--rsa-surface-sunk);
  color: var(--rsa-ink);
  line-height: 1.55;
}
.rsa-tool-hub-group + .rsa-tool-hub-group {
  margin-top: 34px;
}
.rsa-tool-page .rsa-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius-lg);
  background: var(--rsa-surface);
}
.rsa-tool-page .rsa-table {
  width: 100%;
  border-collapse: collapse;
}
.rsa-tool-page .rsa-table th,
.rsa-tool-page .rsa-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--rsa-line);
  text-align: left;
  vertical-align: top;
}
.rsa-tool-page .rsa-table th {
  background: var(--rsa-surface-sunk);
  font-weight: 700;
}
.rsa-tool-page .rsa-table tr:last-child td {
  border-bottom: 0;
}
.rsa-key-facts,
.rsa-related-tools {
  padding-left: 24px;
}
.calc-wrap {
  width: 100%;
  max-width: 760px;
  margin: 0;
}
.calc-fields input,
.calc-fields select,
.calc-fields textarea {
  max-width: 100%;
}
.calc-result {
  max-width: 100%;
  overflow-wrap: anywhere;
}
@media (max-width: 840px) {
  .rsa-tool-grid {
    grid-template-columns: 1fr;
  }
  .rsa-tool-aside {
    position: static;
  }
}
@media (max-width: 700px) {
  .rsa-tool-page .rsa-table-wrap {
    border: 0;
    background: transparent;
    overflow: visible;
  }
  .rsa-tool-page .rsa-table,
  .rsa-tool-page .rsa-table thead,
  .rsa-tool-page .rsa-table tbody,
  .rsa-tool-page .rsa-table tr,
  .rsa-tool-page .rsa-table th,
  .rsa-tool-page .rsa-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .rsa-tool-page .rsa-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .rsa-tool-page .rsa-table tr {
    margin: 0 0 14px;
    border: 1px solid var(--rsa-line);
    border-radius: var(--rsa-radius-lg);
    background: var(--rsa-surface);
    overflow: hidden;
  }
  .rsa-tool-page .rsa-table td {
    border: 0;
    border-bottom: 1px solid rgba(23, 34, 29, .10);
  }
  .rsa-tool-page .rsa-table td:last-child {
    border-bottom: 0;
  }
  .rsa-tool-page .rsa-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
    color: rgba(23, 34, 29, .72);
  }
}

/* Legacy noindex facility preview styles moved from Astro component to honor clause 01. */
.facility-page {
    display: grid;
    gap: 28px;
    min-width: 0;
    padding-block: 28px 48px;
  }

  .facility-page .eyebrow {
    color: var(--rsa-gold-ink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin: 0;
    text-transform: uppercase;
  }

  .facility-page .lede {
    color: var(--rsa-ink-muted);
    font-size: clamp(21px, 2vw, 24px);
    line-height: 1.7;
    max-width: 860px;
  }

  .facility-page .facility-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .facility-page .facility-card,
  .facility-page section {
    min-width: 0;
    border: 1px solid var(--rsa-line);
    border-radius: var(--rsa-radius-lg);
    background: var(--rsa-surface);
    box-shadow: var(--rsa-shadow-card);
  }

  .facility-page .facility-card {
    padding: 18px;
  }

  .facility-page .facility-label {
    color: var(--rsa-ink-muted);
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
    text-transform: uppercase;
  }

  .facility-page .facility-card strong {
    color: var(--rsa-ink);
    display: block;
    font-size: 21px;
    line-height: 1.35;
  }

  .facility-page section {
    padding: clamp(20px, 3vw, 28px);
  }

  .facility-page section h2 {
    font-size: clamp(25px, 2.4vw, 31px);
    margin: 0 0 14px;
  }

  .facility-page section p,
  .facility-page section li {
    color: var(--rsa-ink-muted);
    line-height: 1.72;
  }

  .facility-page .fact-list {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .facility-page .fact-list div {
    border: 1px solid var(--rsa-line-soft);
    border-radius: var(--rsa-radius-lg);
    padding: 14px;
  }

  .facility-page dt {
    color: var(--rsa-ink-muted);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 5px;
    text-transform: uppercase;
  }

  .facility-page dd {
    color: var(--rsa-ink);
    margin: 0;
  }

  .facility-page .table-wrap {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .facility-page .peer-list {
    display: grid;
    gap: 10px;
    margin: 16px 0;
    padding-left: 22px;
  }

  .facility-page .peer-list li {
    border-bottom: 1px solid var(--rsa-line-soft);
    padding-bottom: 8px;
  }

  .facility-page .compact-peer-list {
    font-size: 19px;
  }

  .facility-page table {
    border-collapse: collapse;
    width: 100%;
  }

  .facility-page th,
  .facility-page td {
    border-bottom: 1px solid var(--rsa-line);
    padding: 12px 10px;
    text-align: left;
  }

  .facility-page th {
    color: var(--rsa-ink);
  }

  .facility-page td {
    color: var(--rsa-ink-muted);
  }

  .facility-page .source-box {
    background: var(--rsa-surface-sunk);
  }

  .facility-page .source-box code,
  .facility-page .source-box a {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  @media (max-width: 800px) {
    .facility-page .facility-grid,
    .facility-page .fact-list {
      grid-template-columns: 1fr;
    }
  }

/* Peter visual acceptance repairs, 2026-08-15. Shared primitives only. */
.rsa-question-root__topics {
  border-block: 1px solid var(--rsa-line-soft);
  padding-block: var(--rsa-space-12);
}

.rsa-question-list > li {
  min-width: 0;
}

.rsa-question-list .rsa-question-card {
  align-items: flex-start;
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  box-shadow: var(--rsa-shadow-card);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 96px;
  padding: var(--rsa-space-5);
  text-decoration: none;
}

.rsa-question-list .rsa-question-card:hover {
  background: #FFFDF7;
  border-color: var(--rsa-gold-ink);
}

.rsa-brand-assets figure {
  margin: 0;
}

.rsa-brand-assets img {
  display: block;
  height: auto;
  margin-inline: auto;
  max-height: 220px;
  max-width: 100%;
  object-fit: contain;
  width: auto;
}

.rsa-brand-assets figcaption {
  font-size: var(--rsa-text-small);
  line-height: 1.5;
  margin-top: var(--rsa-space-4);
}

.rsa-stat__value,
.rsa-stat__label,
.rsa-stat__note {
  display: block;
}

.rsa-stat__value {
  color: var(--rsa-ink-strong);
  font-family: var(--rsa-font-display);
  font-size: 31px;
  line-height: 1.2;
  margin-bottom: var(--rsa-space-2);
}

.rsa-stat__label {
  color: var(--rsa-ink-strong);
  font-size: var(--rsa-text-base);
  line-height: 1.35;
  margin-bottom: var(--rsa-space-2);
}

.rsa-stat__note {
  color: var(--rsa-ink-muted);
  font-size: var(--rsa-text-small);
  line-height: 1.5;
}

@media (max-width: 699px) {
  .rsa-table--zip tbody tr {
    display: grid;
    grid-template-columns: minmax(86px, .34fr) minmax(0, 1fr);
  }

  .rsa-table--zip tbody td {
    min-width: 0;
    width: auto;
  }

  .rsa-table--zip tbody td:nth-child(3) {
    grid-column: 1 / -1;
  }
}

/* RSA immediate repair 2026-08-17: source-bounded shared fixes. */
.sources-module{max-width:var(--rsa-container);margin-inline:auto;padding:var(--rsa-space-10) var(--rsa-gutter)}
.rsa-prefooter-cta{padding-block:var(--rsa-space-2) var(--rsa-space-8)}
.rsa-prefooter-cta>.rsa-cta{margin-block:var(--rsa-space-8)}
.county-page .rsa-table-wrap{margin-block:var(--rsa-space-6);box-shadow:var(--rsa-shadow-card)}
.county-page .county-merged-facts-table tbody tr:nth-child(even){background:var(--rsa-surface-sunk)}
.rsa-provider-rich-main{background:var(--rsa-paper);color:var(--rsa-ink)}
.rsa-provider-rich-main .dochead{background:var(--rsa-green-deep);color:var(--rsa-ink-invert);padding:var(--rsa-space-12) 0}
.rsa-provider-rich-main .dochead h1{max-width:20ch;color:var(--rsa-ink-invert);font-family:var(--rsa-font-display);font-size:clamp(30px,4.4vw,42px);font-weight:500;line-height:var(--rsa-leading-tight);letter-spacing:-.005em}
.rsa-provider-rich-main .dochead p{color:var(--rsa-ink-invert-2);font-size:var(--rsa-text-base)}
.rsa-provider-rich-main .dochead .last-updated{color:var(--rsa-gold);font-size:19px}
.rsa-provider-rich-main .rsa-rich-block>h2{font-family:var(--rsa-font-display);font-size:clamp(25px,3vw,31px);line-height:var(--rsa-leading-snug);letter-spacing:0}
.rsa-provider-rich-main .why,.rsa-provider-rich-main .disc,.rsa-provider-rich-main .note{font-size:var(--rsa-text-base);line-height:var(--rsa-leading-body)}
.rsa-provider-rich-main .chip{font-size:var(--rsa-text-small)}
.rsa-provider-rich-main .mono,.rsa-provider-rich-main code,.rsa-provider-rich-main .official-inspection-text{font-size:var(--rsa-text-small)}
.rsa-provider-rich-main .bar{background:var(--rsa-gold)}
.rsa-provider-rich-main .block{background:var(--rsa-surface);box-shadow:var(--rsa-shadow-card)}
.rsa-form-disclosure{font-size:var(--rsa-text-micro);line-height:1.62;color:var(--rsa-ink-muted);max-width:62ch}
.rsa-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.rsa-disclosure--spaced{margin-top:var(--rsa-space-6)}
.preview-label,.drug-proof-note{font-size:19px}
.rsa-block-label{display:block}
@media(max-width:699px){.sources-module{padding-inline:var(--rsa-gutter)}.rsa-prefooter-cta{padding-inline:var(--rsa-gutter)}.rsa-provider-rich-main .dochead{padding-block:var(--rsa-space-10)}.rsa-provider-rich-main .block{padding:var(--rsa-space-5)}.rsa-table thead{position:absolute!important;inline-size:1px!important;max-inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.rsa-table thead tr,.rsa-table thead th{display:block!important;inline-size:1px!important;max-inline-size:1px!important;padding:0!important;border:0!important}}

[data-rsa-restored-body] .rsa-restored-inline-001{max-width:840px !important}
[data-rsa-restored-body] .rsa-restored-inline-002{font-size:clamp(38px, 5.4vw, 58px) !important;max-width:22ch !important}
[data-rsa-restored-body] .rsa-restored-inline-003{float:left !important;display:block !important;width:clamp(120px, 30vw, 180px) !important;height:auto !important;margin:0 var(--rsa-space-8) var(--rsa-space-3) 0 !important}
[data-rsa-restored-body] .rsa-restored-inline-004{clear:both !important;padding-top:var(--rsa-space-5) !important;border-top:1px solid var(--rsa-line) !important}
[data-rsa-restored-body] .rsa-restored-inline-005{margin:0 0 var(--rsa-space-6) !important;padding:var(--rsa-space-1) 0 var(--rsa-space-1) var(--rsa-space-6) !important;border-left:3px solid var(--rsa-gold) !important}
[data-rsa-restored-body] .rsa-restored-inline-006{font-family:var(--rsa-font-display) !important;font-style:italic !important;font-size:clamp(24px, 2.9vw, 31px) !important;line-height:var(--rsa-leading-snug) !important;color:var(--rsa-ink-strong) !important}
[data-rsa-restored-body] .rsa-restored-inline-007{list-style:none !important;padding-left:0 !important;max-width:none !important}
[data-rsa-restored-body] .rsa-restored-inline-008{max-width:none !important}
[data-rsa-restored-body] .rsa-restored-inline-009{border-top:2px solid var(--rsa-gold) !important;padding-top:var(--rsa-space-4) !important}
[data-rsa-restored-body] .rsa-restored-inline-010{font-family:var(--rsa-font-display) !important;font-size:clamp(22px, 2.6vw, 27px) !important;line-height:var(--rsa-leading-snug) !important;color:var(--rsa-gold) !important}
[data-rsa-restored-body] .rsa-restored-inline-011{display:block !important;width:min(100%, 520px) !important;height:auto !important;margin-bottom:var(--rsa-space-8) !important}
[data-rsa-restored-body] .rsa-restored-inline-012{max-width:var(--rsa-measure) !important}
[data-rsa-restored-body] .rsa-restored-inline-013{color:var(--rsa-ink-invert) !important}
[data-rsa-restored-body] .rsa-restored-inline-014{color:var(--rsa-ink-invert-2) !important}
[data-rsa-restored-body] .rsa-restored-inline-015{color:var(--rsa-ink-invert) !important;border-top:1px solid var(--rsa-line-invert) !important;padding-top:var(--rsa-space-6) !important;font-family:var(--rsa-font-display) !important;font-size:clamp(22px,2.4vw,28px) !important;line-height:var(--rsa-leading-snug) !important}
[data-rsa-restored-body] .rsa-restored-inline-016{font-family:var(--rsa-font-display) !important;font-size:clamp(20px,2.1vw,25px) !important;line-height:var(--rsa-leading-snug) !important;color:var(--rsa-ink-strong) !important}
[data-rsa-restored-body] .rsa-restored-inline-017{display:flex !important;flex-direction:column !important;gap:var(--rsa-space-4) !important}
[data-rsa-restored-body] .rsa-restored-inline-018{width:100% !important;height:auto !important}
[data-rsa-restored-body] .rsa-restored-inline-019{width:96px !important;height:auto !important;border-radius:var(--rsa-radius) !important}
[data-rsa-restored-body] .rsa-restored-inline-020{width:128px !important;height:auto !important}
[data-rsa-restored-body] .rsa-restored-inline-021{background:var(--rsa-paper) !important;border:1px dashed var(--rsa-line) !important;border-radius:var(--rsa-radius) !important;padding:var(--rsa-space-8) !important;display:flex !important;justify-content:center !important}
[data-rsa-restored-body] .rsa-restored-inline-022{width:96px !important;height:auto !important}
[data-rsa-restored-body] .rsa-restored-inline-023{grid-template-columns:1fr 1fr !important}
[data-rsa-restored-body] .rsa-restored-inline-024{background:var(--rsa-paper) !important;border:1px solid var(--rsa-line) !important;border-radius:var(--rsa-radius) !important;padding:var(--rsa-space-6) !important;min-height:180px !important;display:flex !important;align-items:center !important;justify-content:center !important}
[data-rsa-restored-body] .rsa-restored-inline-025{width:74px !important;height:auto !important}
[data-rsa-restored-body] .rsa-restored-inline-026{background:var(--rsa-green) !important;border-radius:var(--rsa-radius) !important;padding:var(--rsa-space-6) !important;min-height:180px !important;display:flex !important;align-items:center !important;justify-content:center !important}
[data-rsa-restored-body] .rsa-restored-inline-027{color:var(--rsa-error) !important}
[data-rsa-restored-body] .rsa-restored-inline-028{width:120px !important;height:auto !important}
[data-rsa-restored-body] .rsa-restored-inline-029{width:92px !important;height:auto !important}
[data-rsa-restored-body] .rsa-restored-inline-030{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-paper) !important}
[data-rsa-restored-body] .rsa-restored-inline-031{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-surface) !important}
[data-rsa-restored-body] .rsa-restored-inline-032{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-surface-sunk) !important}
[data-rsa-restored-body] .rsa-restored-inline-033{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-green) !important}
[data-rsa-restored-body] .rsa-restored-inline-034{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-ink) !important}
[data-rsa-restored-body] .rsa-restored-inline-035{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-ink-strong) !important}
[data-rsa-restored-body] .rsa-restored-inline-036{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-ink-muted) !important}
[data-rsa-restored-body] .rsa-restored-inline-037{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-error) !important}
[data-rsa-restored-body] .rsa-restored-inline-038{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-gold) !important}
[data-rsa-restored-body] .rsa-restored-inline-039{height:64px !important;border-radius:var(--rsa-radius) !important;border:1px solid var(--rsa-line) !important;background:var(--rsa-gold-ink) !important}
[data-rsa-restored-body] .rsa-restored-inline-040{background:var(--rsa-green) !important;color:var(--rsa-ink-invert) !important}
[data-rsa-restored-body] .rsa-restored-inline-041{color:var(--rsa-gold) !important}
[data-rsa-restored-body] .rsa-restored-inline-042{font-size:clamp(28px,3vw,40px) !important}
[data-rsa-restored-body] .rsa-restored-inline-043{font-family:var(--rsa-font-body) !important}
[data-rsa-restored-body] .rsa-restored-inline-044{background:var(--rsa-surface) !important}
[data-rsa-restored-body] .rsa-restored-inline-045{margin:0 !important;padding-left:var(--rsa-space-6) !important;border-left:3px solid var(--rsa-gold) !important}
[data-rsa-restored-body] .rsa-restored-inline-046{font-family:var(--rsa-font-display) !important;font-style:italic !important;font-size:clamp(24px,2.9vw,31px) !important;line-height:var(--rsa-leading-snug) !important;color:var(--rsa-ink-strong) !important}
[data-rsa-restored-body] .rsa-restored-inline-047{max-width:var(--rsa-container) !important}


/* RSA final fixes 2026-08-17: county facts + ZIP city cells. */
.county-facts .fact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--rsa-space-4);
  margin: var(--rsa-space-6) 0 var(--rsa-space-10);
}
.county-facts .fact-row {
  min-width: 0;
  padding: var(--rsa-space-5);
  background: var(--rsa-surface);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
  box-shadow: var(--rsa-shadow-card);
}
.county-facts .fact-row dt {
  margin: 0;
  color: var(--rsa-ink-muted);
  font-size: var(--rsa-text-small);
  font-weight: 700;
  line-height: 1.35;
}
.county-facts .fact-row dd {
  margin: var(--rsa-space-2) 0 0;
  color: var(--rsa-green);
  font-family: var(--rsa-font-display);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.county-facts .county-count-attribution { margin-top: var(--rsa-space-8); }
.county-key-points {
  display: grid;
  gap: var(--rsa-space-3);
}
.county-key-points [role="listitem"] {
  position: relative;
  margin: 0;
  padding-left: var(--rsa-space-5);
}
.county-key-points [role="listitem"]::before {
  position: absolute;
  left: var(--rsa-space-2);
  content: "\2022";
  color: var(--rsa-gold-ink);
  font-weight: 700;
}
.zip-state-table .zip-city-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--rsa-space-2) var(--rsa-space-3);
}
.zip-state-table .zip-city-links > span { display: inline-flex; }
.zip-state-table .zip-city-links .rsa-empty {
  display: inline;
  padding: 0;
  background: transparent;
}
@media (max-width: 599px) {
  .county-facts .fact-grid { grid-template-columns: 1fr; }
}


/* --------------------------------------------------------------------------
   Brand guide readability and asset downloads - 2026-08-20
   Scoped to .rsa-brand-guide. No other page family changes rendering.
   -------------------------------------------------------------------------- */

.rsa-brand-guide__hero .rsa-container {
  max-width: var(--rsa-container);
}

.rsa-brand-guide__hero .rsa-lead {
  max-width: 60ch;
}

.rsa-brand-guide .rsa-band-dark > .rsa-container > .rsa-eyebrow,
.rsa-brand-guide .rsa-band-dark > .rsa-container > div > .rsa-eyebrow {
  color: var(--rsa-gold);
}

.rsa-brand-guide .rsa-band-dark .rsa-card {
  background: var(--rsa-surface);
  color: var(--rsa-ink);
}

.rsa-brand-guide .rsa-band-dark .rsa-card h3,
.rsa-brand-guide .rsa-band-dark .rsa-card .rsa-card__title {
  color: var(--rsa-ink-strong);
}

.rsa-brand-guide .rsa-band-dark .rsa-card p,
.rsa-brand-guide .rsa-band-dark .rsa-card li,
.rsa-brand-guide .rsa-band-dark .rsa-card blockquote {
  color: var(--rsa-ink);
}

.rsa-brand-guide .rsa-band-dark .rsa-card .rsa-meta {
  color: var(--rsa-ink-muted);
}

.rsa-brand-guide .rsa-band-dark .rsa-card .rsa-eyebrow {
  color: var(--rsa-gold-ink);
}

.rsa-brand-guide__statement {
  max-width: 34ch;
  color: var(--rsa-ink-invert);
  font-family: var(--rsa-font-display);
  font-size: clamp(24px, 2.8vw, 32px);
  line-height: 1.35;
}

.rsa-brand-guide__statement strong {
  color: var(--rsa-gold);
  font-weight: 500;
}

.rsa-brand-guide__logo-grid,
.rsa-brand-guide__two-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rsa-brand-guide__logo-card {
  display: flex;
  flex-direction: column;
  gap: var(--rsa-space-4);
}

.rsa-brand-guide__logo-card > img,
.rsa-brand-guide__logo-card > .rsa-row {
  min-height: 150px;
  object-fit: contain;
}

.rsa-brand-guide .rsa-card.rsa-dark {
  background: var(--rsa-green);
  color: var(--rsa-ink-invert);
}

.rsa-brand-guide .rsa-card.rsa-dark .rsa-card__title {
  color: var(--rsa-ink-invert);
}

.rsa-brand-guide .rsa-card.rsa-dark .rsa-meta {
  color: var(--rsa-ink-invert-2);
}

.rsa-brand-downloads {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rsa-space-3);
  margin-top: auto;
  padding-top: var(--rsa-space-2);
}

.rsa-brand-downloads .rsa-btn,
.rsa-brand-downloads .rsa-btn-secondary {
  min-height: var(--rsa-tap);
  padding-inline: var(--rsa-space-4);
  font-size: var(--rsa-text-small);
}

.rsa-brand-kit {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--rsa-space-6);
  padding: var(--rsa-space-6);
  background: var(--rsa-surface-sunk);
  border: 1px solid var(--rsa-line);
  border-radius: var(--rsa-radius);
}

.rsa-brand-kit h3 {
  margin: 0 0 var(--rsa-space-2);
}

.rsa-brand-kit p {
  margin: 0;
}

.rsa-brand-guide__cta-wrap .rsa-cta {
  margin-block: 0;
}

@media (max-width: 699px) {
  .rsa-brand-guide__logo-grid,
  .rsa-brand-guide__two-grid,
  .rsa-brand-kit {
    grid-template-columns: 1fr;
  }

  .rsa-brand-guide__logo-card > img,
  .rsa-brand-guide__logo-card > .rsa-row {
    min-height: 0;
  }

  .rsa-brand-kit .rsa-btn {
    width: 100%;
  }
}
