  .rtable td.name a{color:var(--burgundy);}
  .rtable td.name a:hover{color:var(--burgundy-ink);}

  .ggcap{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin:0 0 var(--s3);font-weight:500;}
  .ggcap b{color:var(--ink-2);font-weight:600;}
  .ggmore{display:inline-block;margin-top:var(--s4);font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.02em;}
  .ggmore:hover{text-decoration:underline;}
  /* board: reif-direct "compare invisible on mobile" -- Compare is 11th of 13 sections, ~8000px
     down the page; on mobile the section-nav pills scroll off-screen with no cue there's more.
     This above-the-fold link (same .ggmore look) gets a reader to #compare in one tap from the
     first screen instead of a long horizontal or vertical scroll. */
  /* margin matches .id-row/.fvbadge/.claim-cta/.about-org below (identity #3218: one spacing
     scale for the header stack -- this row previously used --s5 while its neighbors use
     --s6, which is what read as "each gap a different value"). */
  .ggmore.compare-top-link{display:flex;align-items:center;min-height:44px;margin:0 0 var(--s6);font-size:13px;}
  .graph-cap{font-size:13px;color:var(--muted);margin-top:var(--s3);line-height:1.5;}

  .manifest{display:flex;flex-wrap:wrap;gap:var(--s2);border-top:1px solid var(--rule);padding-top:var(--s4);}
  .sch{font-family:var(--mono);font-size:11.5px;padding:5px var(--s3);border:1px solid var(--rule);border-radius:2px;color:var(--muted);}
  .sch.on{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-soft);font-weight:600;}
  .sch.off{color:var(--faint);opacity:.55;}

  /* Contact this org form: inline modal below the download link */
  .contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;background:var(--accent-soft);color:var(--accent-ink);border:1.5px solid var(--accent);border-radius:6px;
    padding:6px 11px;font-size:12.5px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .12s,color .12s;width:100%;}
  .contact-btn:hover{background:var(--accent);color:#fff;}
  .contact-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .contact-form{display:none;background:var(--tint);border:1px solid var(--rule);border-radius:6px;padding:var(--s4);margin-top:var(--s3);position:relative;}
  .contact-form.show{display:block;}
  .contact-form-close{position:absolute;top:var(--s3);right:var(--s3);background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;padding:0;line-height:1;}
  .contact-form-close:hover{color:var(--ink);}
  .contact-form label{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin:0 0 4px;text-transform:uppercase;letter-spacing:.03em;}
  .contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea,.contact-form select{width:100%;font-family:inherit;font-size:14px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:4px;padding:8px 10px;margin:0 0 var(--s3);box-sizing:border-box;}
  .contact-form input[type="text"]:focus,.contact-form input[type="email"]:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(62,105,74,.1);}
  .contact-form textarea{resize:vertical;min-height:100px;font-family:var(--serif);}
  .contact-form input[type="hidden"]{display:none;}
  .contact-form-submit{background:var(--accent);color:#fff;border:none;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s;}
  .contact-form-submit:hover{background:var(--accent-ink);}
  .contact-form-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  .contact-form-status{font-size:13px;padding:8px;border-radius:4px;margin-top:var(--s2);}
  .contact-form-status.success{background:#e8f5e9;color:#2e7d32;}
  .contact-form-status.error{background:#ffebee;color:#c62828;}

  .filing{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--rule-soft);}
  .filing .yr{font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:600;}
  .filing .meta{font-size:12.5px;color:var(--muted);}
  .filing.gap .yr{color:var(--faint);}

  /* complete-filing reconstruction (every leaf, grouped by schedule) */
  .ff-sch{border-bottom:1px solid var(--rule-soft);}
  .ff-sch summary{font-family:var(--serif);font-size:16px;color:var(--ink);padding:var(--s3) 0;
    cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);}
  .ff-sch summary::-webkit-details-marker{display:none;}
  .ff-sch summary::before{content:"+";font-family:var(--mono);color:var(--accent);margin-right:var(--s2);font-weight:600;}
  .ff-sch[open]>summary::before{content:"\2013";}
  .ff-ln{font-family:var(--mono);font-size:11px;color:var(--faint);margin-right:var(--s1);}
  .ff-hl{background:var(--accent-soft,#fff6d6);}
  .ff-copy{font:inherit;font-size:11px;margin-left:var(--s2);padding:2px 8px;border:1px solid var(--rule);background:none;color:var(--ink-2);border-radius:4px;cursor:pointer;}
  .ff-n{font-family:var(--mono);font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;}
  .ff-lines{padding:0 0 var(--s4) var(--s4);margin-left:var(--s1);}
  .ff-row{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s2) 0;
    border-bottom:1px solid var(--rule-soft);align-items:baseline;}
  .ff-k{font-size:13.5px;color:var(--ink-2);min-width:0;}
  .ff-cite{font-family:var(--mono);font-size:9.5px;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin-left:var(--s2);overflow-wrap:anywhere;}
  .ff-v{font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:500;text-align:right;max-width:50%;word-break:break-word;}

  .provenance{border-top:2px solid var(--ink);margin-top:var(--s8);padding-top:var(--s5);}

  /* Names, privacy, and removal requests — collapsed-by-default (board #5862108) */
  .aboutmore{margin-top:var(--s5);}
  .aboutmore summary{font-family:var(--serif);font-size:16px;color:var(--ink);padding:var(--s3) 0;
    cursor:pointer;list-style:none;display:flex;align-items:baseline;gap:var(--s2);}
  .aboutmore summary::-webkit-details-marker{display:none;}
  .aboutmore summary::before{content:"+";font-family:var(--mono);color:var(--accent);margin-right:var(--s2);font-weight:600;}
  .aboutmore[open]>summary::before{content:"\2013";}
  .aboutmore .body{padding:0 0 var(--s4) var(--s4);margin-left:var(--s1);}
  .aboutmore .body p{font-size:13.5px;color:var(--muted);margin:0 0 10px;line-height:1.6;max-width:68ch;}
  .aboutmore .body p:last-child{margin-bottom:0;}

  .ibfollow{display:inline-flex;align-items:center;gap:6px;margin-top:var(--s3);background:var(--paper);
    border:1.5px solid var(--accent);color:var(--accent-ink);font-family:var(--sans);font-size:13px;
    font-weight:600;border-radius:999px;padding:6px 18px;cursor:pointer;transition:background .12s,color .12s;
    min-height:44px;}
  .ibfollow:hover{background:var(--accent-soft);}
  .ibfollow[data-on="1"]{background:var(--accent);color:#fff;border-color:var(--accent);}
  .ibfollow:disabled{opacity:.6;cursor:wait;}
  .ibfollow:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  /* gh#7558: the header's own facts subline + always-visible action row, right under
     the H1 (see the `.head` block) -- promoted out of a collapsed "More identity
     details" disclosure that used to hide them below the fold by default. Reuses
     .ein/.chip (already defined above) so it reads as one consistent chip group. */
  /* gh#7600 (Reif: "this spacing, bring it down a bit" -- ~70px between Follow and the
     next block, chips too far from the name): name->chips->Follow tightened to the
     token scale -- s2 (8px) under the name, s3 (12px) under the chips. */
  /* gh#7482 part B (Reif: "graphs up top, as high as we can get them" / a prominent Form
     990 PDF button under the name): its own solid-accent treatment, matching the rail's
     former ibdl-row style (gh#6996; removed with the rail's PDF link in gh#7600) at
     hero size instead of a new button style. */
  .pdf-hero-btn{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;background:var(--accent);
    color:#fff;border-radius:8px;font-family:var(--sans);font-size:14px;font-weight:700;
    text-decoration:none;margin:0 0 var(--s5);}
  .pdf-hero-btn:hover{background:var(--accent-ink);}
  .pdf-hero-btn svg{width:16px;height:16px;stroke:#fff;flex:none;}
  .rf-trend{margin:0;}
  /* gh#7482: mobile-only sticky bottom action bar -- Form 990 PDF (+ Claim, when unclaimed)
     always in thumb reach while reading a long financial page. Fixed (not sticky) so it
     stays reachable through the whole scroll, matching .stickyorg's own top-bar pattern;
     unlike a modal it only ever occupies the bottom ~60px band of the viewport, so it never
     covers the claim-cta card (in normal document flow, well above the fold) or the
     site-wide chat dock launcher -- --dock-safe-bottom (dock-inbox.css) reserves that
     clearance, same convention claim.html/handle_profile.html already use. */
  /* gh#7524: visible by default (no-JS fallback keeps the Claim/PDF CTA reachable) --
     JS below (IntersectionObserver on .pdf-hero-btn) adds .mbar-hide once that in-page
     button is confirmed still on screen, so the sticky bar no longer duplicates it right
     under the name on load, and removes .mbar-hide once it scrolls out of view. */
  .mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;
    padding:10px var(--s4);background:rgba(255,255,255,.96);backdrop-filter:blur(8px);
    border-top:1px solid var(--rule);}
  .mobile-bar.mbar-hide{display:none;}
  .mobile-bar-pdf{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;
    min-height:44px;font-size:14px;font-weight:600;color:#fff;background:var(--accent);
    border-radius:8px;text-decoration:none;white-space:nowrap;}
  .mobile-bar-pdf svg{width:15px;height:15px;stroke:#fff;flex:none;}
  .mobile-bar-claim{flex:1;display:inline-flex;align-items:center;justify-content:center;
    min-height:44px;font-size:14px;font-weight:600;color:var(--claim-ink);background:var(--paper);
    border:1px solid var(--rule);border-radius:8px;text-decoration:none;}
  /* Schedule R family context — before KPI ratios on institutional / multi-entity filers */
  .family-banner{margin:var(--s4) 0 var(--s5);padding:var(--s4) var(--s5);background:#f6f9f6;border:1px solid rgba(62,105,74,.22);border-radius:4px;}
  .family-banner .fb-title{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 var(--s2);}
  .family-banner .fb-body{margin:0 0 var(--s3);font-family:var(--serif);font-size:15.5px;line-height:1.55;color:var(--ink-2);}
  .family-banner .fb-links{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink);}
  .family-banner .fb-links a{color:var(--accent-ink);font-weight:500;}
  .family-banner .fb-more{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:var(--s2);}
  .family-rollup{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid rgba(62,105,74,.15);}
  .family-rollup .fr-h{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 var(--s2);}
  .family-rollup .fr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-bottom:var(--s3);}
  .family-rollup .fr-k{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
  .family-rollup .fr-v{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--ink);}
  .family-rollup .fr-note{font-size:12px;color:var(--muted);margin:0 0 var(--s2);line-height:1.45;}
  .family-rollup .fr-row{font-size:13px;color:var(--ink-2);line-height:1.5;}
  @media(max-width:640px){.family-rollup .fr-grid{grid-template-columns:1fr;}}
  .officer-link{color:var(--burgundy);text-decoration:underline;text-decoration-style:dashed;text-decoration-thickness:1px;text-decoration-color:var(--burgundy-line);text-underline-offset:2px;}
  .officer-link:hover{color:var(--burgundy-ink);text-decoration-color:var(--burgundy);}
  .officer-link:focus-visible{outline:2px solid var(--burgundy);outline-offset:2px;}


  @media (max-width:1120px){
    .wrap{grid-template-columns:180px minmax(0,1fr);gap:var(--s6);}
    aside{grid-column:1 / -1;order:3;}
  }
  @media (max-width:820px){
    .lh-inner{flex-direction:column;align-items:flex-start;gap:var(--s4);}
    .rb-inner{font-size:10.5px;}
    .wrap{display:block;padding:0 var(--s4) var(--s8);}
    /* gh#7600 (Reif: "the section tab strip touches the breadcrumb, add 8px"): the
       breadcrumb's own bottom padding is 0 at this width (see .crumbs above), so the
       sticky tab strip's top edge landed flush against it with nothing between. */
    .mobilenav{display:block;position:sticky;top:3px;z-index:50;background:rgba(255,255,255,.96);
      backdrop-filter:blur(6px);border-bottom:1px solid var(--rule);padding:var(--s1) var(--s4);
      margin-top:var(--s2);}
    /* clip on <html> (not body): overflow-x on body propagates to the viewport and
       body's own overflow reverts to visible, so a stray-wide element still traps a
       horizontal scroll. clip (not hidden) doesn't create a scroll container, so the
       sticky mobilenav/progress bar keep working. */
    html{overflow-x:clip;}
    /* gh#7537: min-width:0 (same fix as `aside{min-width:0}`, gh#7321) so this flex box can
       never be floored at its own content's min-content width -- without it, a wide enough
       ancestor chain lets the tab strip's true content width (1200px+ for 14 tabs) leak into
       the DOCUMENT's own scrollWidth instead of staying an internal, self-contained scroll. */
    .mobilenav-scroll{display:flex;gap:var(--s2);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0;width:100%;
      scroll-snap-type:x proximity;scroll-padding-inline:var(--s4);}
    /* gh#8720: a fade on the right edge says "more pills this way" until the strip is
       scrolled to its end (JS toggles .at-end). */
    .mobilenav-scroll:not(.at-end){-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);
      mask-image:linear-gradient(to right,#000 calc(100% - 40px),transparent);}
    .mobilenav-scroll::-webkit-scrollbar{display:none;}
    /* gh#7654: was font-family:var(--mono) -- a nav pill, not a data citation (see .rail-h). */
    /* gh#8720: sentence case (shorter, more pills fit), 44px tall for a thumb, snap to a pill edge. */
    .mnav-link{flex:none;display:inline-flex;align-items:center;min-height:44px;font-size:13.5px;font-weight:600;
      color:var(--muted);border:1px solid var(--rule);border-radius:2px;padding:0 var(--s3);white-space:nowrap;scroll-snap-align:start;}
    .mnav-link.active{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-soft);font-weight:600;}
    .main{padding-top:var(--s5);}
    .title{font-size:32px;}
    /* gh#7522: any .row .v (e.g. a long NTEE label) may wrap at phone width instead of
       forcing the row past the viewport. Figures are short, so they still stay on one line;
       the nowrap default above only matters on wide screens. */
    .row .v{white-space:normal;overflow-wrap:anywhere;text-align:right;min-width:0;}
    .row .k{min-width:0;}
    /* gh#3399/gh#7482 (retargeted gh#7558, superseded gh#7600): this breakpoint used to
       hide a 2nd Follow button and a 2nd Form 990 PDF link in the rail, which fell to
       DOM order ~60% down the page. gh#7600 removed both from the rail outright (the
       header's `.head-actions` Follow and `.pdf-hero-btn` were always the only ones
       that mattered), so there is nothing left here to hide at any width. */
    /* gh#7482: reserve room for the fixed mobile bottom bar (its own height + safe-area) so
       it never covers the last content in normal flow, and clear the chat dock launcher
       (dock-inbox.css reads --dock-safe-bottom off :root) off of it in turn. Shown by
       default here; JS (gh#7524, .mbar-hide) hides it only while the in-page PDF button
       up top is still on screen -- see .mobile-bar rules above. */
    .mobile-bar{display:flex;}
    :root{--dock-safe-bottom:84px;}
    .wrap{padding-bottom:calc(var(--s8) + 64px);}
    /* gh#8611 (VP review): --dock-safe-bottom above reserves room for THIS page's own
       fixed bottom bar, a constant height -- but the stats line's revenue figure and the
       give card's Follow button are in normal document flow, not fixed, so how close they
       land to the dock's bottom-right corner on first paint depends on org name length and
       whether a photo hero renders (measured: a short name + photo hero puts the revenue
       figure right under the pill; no photo hero puts Follow there instead). A single
       static reservation can't cover every case. JS below hides the dock (not repositions
       it) while either region is on screen, the same pattern .mobile-bar already uses for
       .pdf-hero-btn just above. */
    #scout-dock.rp-dock-hide:not(.open){opacity:0;pointer-events:none;visibility:hidden;}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}

  /* ---------- above-the-fold re-lay (gh#6311) ----------
     Reif's spec (design artifact 6F3eX2oTRF1tRaEjhAiMNU, v5): who, how big, claimed by
     whom and when, what they changed -- all before any section. Everything below stays;
     this replaces only the header/CTA/lead block above it (was :748-1003). */
  .head{display:flex;gap:var(--s5);align-items:flex-start;flex-wrap:wrap;}
  .head .title{margin:0 0 6px;}
  .claimed-pill{display:inline-flex;align-items:center;gap:6px;margin:0 0 var(--s3);font-family:var(--mono);
    font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--org);background:var(--org-soft);
    border:1px solid var(--org-line);border-radius:999px;padding:3px 11px 3px 8px;}
  .claimed-pill svg{width:11px;height:11px;flex:none;}
  .claimed-pill.unclaimed{color:var(--muted);background:var(--tint);border-color:var(--rule);}
  .claimed-pill.unclaimed a{color:var(--accent-ink);font-weight:700;margin-left:2px;}
  /* gh#7000 (Reif: "just says claimed... needs to inform" then "they need an underline or
     something to show that they can actually do it"): a bare `title` attribute has no
     visible affordance -- nothing on the pill says "hover me" until you already are. The
     dotted underline is the standard signal for hover-for-more-info; matches how the site
     already flags a hover target elsewhere (`.so-name:hover` uses the same underline-dashed
     treatment, just always-on here instead of hover-only so the affordance is visible before
     the hover, not only during it). */
  .claimed-pill[title]{text-decoration:underline dashed;text-underline-offset:3px;cursor:help;}
  /* gh#7600: owner-only "Get verified" ask beside the claimed pill -- same accent
     treatment as the console/HQ upsell (.badge-cta-link, org_admin.html), sized to sit
     inline with the pill above it rather than reading as its own card. */
  .head-verify-ask{margin:0 0 var(--s3);}
  .head-verify-ask .badge-cta-link{display:inline-flex;align-items:center;min-height:32px;
    padding:3px 12px;background:var(--accent);color:#fff;border-radius:999px;font-family:var(--sans);
    font-size:12px;font-weight:600;text-decoration:none;}
  .head-verify-ask .badge-cta-link:hover{background:var(--accent-ink);}
  hr.rf-line{border:0;border-top:2px solid var(--ink);margin:var(--s4) 0 var(--s4);}
  /* M review on #6541: the CONTENT column here is ~500px (200px rail + 320px aside eat
     the rest of 1440px -- record.html keeps its existing 3-column .wrap grid, not the
     artifact's full-bleed .page grid). A 30ch paragraph next to a 300px fact column broke
     mid-word. Stack instead: paragraph full width, facts dl below it in two columns. */
  .rf-intro{margin-bottom:var(--s5);}
  .rf-intro p{font-family:var(--serif);font-size:17.5px;line-height:1.55;color:var(--ink-2);margin:0 0 var(--s3);}
  .rf-byorg{padding:8px 12px;background:var(--org-soft);font-size:14px;color:var(--ink);border-radius:0 4px 4px 0;margin:0 0 var(--s4);}
  .rf-byorg .lab{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--org);margin-bottom:3px;}
  /* Wrap-friendly, not a fixed repeat(6,...): minmax(140px,1fr) + gap lets cells wrap to a
     second row in a ~500px column instead of cramming 5-6 into one row (the 5th cell was
     clipped, labels wrapped 3 lines, values sat at different baselines). One nowrap label
     line each (short enough not to wrap); FY moves into a value sub-line so "Revenue" and
     "Expenses" read the same width; align-items:start keeps every value top-aligned
     regardless of how tall its own label/sub-line is. */
  .rf-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s3) var(--s5);border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:var(--s3) 0;margin:0 0 var(--s3);align-items:start;}
  .rf-strip div{min-width:0;}
  .rf-strip .k{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;white-space:nowrap;}
  .rf-strip .v{font-family:var(--serif);font-size:22px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.1;}
  .rf-strip .v .fy{display:block;font-family:var(--mono);font-size:10.5px;font-weight:400;color:var(--muted);margin-top:3px;}
  .rf-strip .v small{font-family:var(--mono);font-size:11px;font-weight:400;color:var(--muted);margin-left:5px;}
  .rf-strip .v.org{color:var(--org);}
  /* gh#7482: clean vertical list (was a wrapped flex row of chips) -- latest 3 always
     shown, the rest behind a "See all N" disclosure so a heavily-annotated org doesn't
     push the fold down with an ever-growing row. */
  /* gh#10495: public questions. Asked ones show before the org answers, worded as interest. */
  .rq{margin:0 0 var(--s6);padding:var(--s5);border:1px solid var(--rule);border-radius:var(--r2);background:var(--card);}
  .rq-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 var(--s4);}
  .rq-head h3{margin:0;font-family:var(--serif-display);font-weight:400;font-size:26px;line-height:1.15;}
  .rq-meta{font-size:13px;color:var(--muted);}
  .rq-lab{display:block;font-size:14px;font-weight:600;margin:0 0 8px;}
  .rq-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 var(--s4);}
  .rq-chip,.rq-int{min-height:44px;padding:0 14px;border:1px solid var(--rule-2);border-radius:22px;background:var(--card);color:var(--ink);font:14px var(--sans);cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
  .rq-int[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:#fff;}
  .rq-form{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px;}
  .rq-form input{flex:1 1 280px;min-width:0;height:46px;box-sizing:border-box;border:1px solid var(--rule-2);border-radius:8px;padding:0 14px;font:15px var(--sans);color:var(--ink);background:var(--field,#fff);}
  .rq-go{height:46px;padding:0 20px;border:0;border-radius:8px;background:var(--green);color:#fff;font:600 15px var(--sans);cursor:pointer;}
  .rq-note{font-size:13px;color:var(--muted);margin:0 0 var(--s4);}
  .rq-list{list-style:none;margin:0;padding:var(--s4) 0 0;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:var(--s5);}
  .rq-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
  .rq-q{font-size:17px;font-weight:600;line-height:1.35;}
  .rq-by{font-size:13px;color:var(--muted);margin-top:4px;}
  .rq-a{margin-top:10px;padding:12px 14px;border-radius:8px;background:var(--green-soft);font-size:15px;line-height:1.55;}
  .rq-a b{display:block;font-size:13px;color:var(--green);margin-bottom:4px;}
  .rq-err{font-size:13px;color:var(--flag);min-height:1em;}
  .rq-tools{display:flex;gap:16px;margin-top:6px;}
  .rq-link{min-height:32px;padding:0;border:0;background:none;color:var(--muted);font:13px var(--sans);text-decoration:underline;cursor:pointer;}
  .rf-updates{margin:0 0 var(--s6);padding:12px 14px;border:1px solid var(--org-line);border-radius:6px;background:var(--org-soft);font-size:13px;}
  /* gh#7654: was font-family:var(--mono) -- a section eyebrow, not a data citation. */
  .rf-updates .lab{display:block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--org);margin-bottom:8px;}
  .rf-updates-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
  .rf-updates-list li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);}
  .rf-updates a{color:var(--org);text-decoration:underline dashed;text-underline-offset:3px;}
  .rf-updates .when{font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap;}
  .rf-note{margin:var(--s4) 0 0;padding:10px 14px;border:1px solid var(--org-line);border-radius:6px;background:var(--org-soft);font-size:13.5px;}
  .rf-note .lab{display:block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--org);margin-bottom:4px;}
  .rf-note p{margin:0;white-space:pre-line;overflow-wrap:anywhere;}
  .rf-updates-more{margin-top:8px;}
  .rf-updates-more summary{cursor:pointer;list-style:none;font-family:var(--mono);font-size:11.5px;color:var(--org);text-decoration:underline dashed;text-underline-offset:3px;}
  .rf-updates-more summary::-webkit-details-marker{display:none;}
  .rf-updates-more[open] summary{margin-bottom:8px;}
  /* ---------- gh#8611: most-asked-first layout (Zillow-style) ----------
     Two columns: the report on the left, a sticky give card on the right. On a phone the
     grid collapses to DOM order -- hero, name + stats, give card, then the sections. */
  .topbar,.so-in{max-width:1240px;}
  .wrap{max-width:1240px;grid-template-columns:minmax(0,1fr) 320px;
    grid-template-areas:"hero hero" "head side" "main side";gap:var(--s5) var(--s7);}
  /* gh#8620 mosaic: 2fr/1fr/1fr, two 210px rows, the first photo spans both. */
  .rp-hero{grid-area:hero;position:relative;display:grid;gap:4px;height:424px;grid-template-rows:210px 210px;
    border-radius:var(--r2);overflow:hidden;margin:0;}
  .rp-hero>img{width:100%;height:100%;object-fit:cover;display:block;min-width:0;}
  .rp-hero>img:first-child{grid-row:1/3;}
  .rp-hero-1{grid-template-columns:1fr;}
  .rp-hero-2,.rp-hero-3{grid-template-columns:2fr 1fr;}
  .rp-hero-2>img{grid-row:1/3;}
  .rp-hero-4,.rp-hero-5{grid-template-columns:2fr 1fr 1fr;}
  .rp-hero-4>img:nth-child(4){grid-column:2/4;}
  .rp-hero-by{position:absolute;left:var(--s3);bottom:var(--s3);background:#fff;color:var(--claim-ink);
    font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;}
  .rp-hero-all{position:absolute;right:var(--s3);bottom:var(--s3);background:var(--paper,#fff);color:var(--ink);
    border:1px solid var(--rule);font-size:13px;font-weight:600;padding:6px 12px;border-radius:var(--r1,6px);text-decoration:none;}
  .rp-hero-all:not(.rp-hero-all-desk){display:none;}
  .rp-photos{display:none;position:fixed;inset:0;z-index:100;background:#111;overflow:auto;padding:var(--s6) var(--s4);}
  .rp-photos:target{display:block;}
  .rp-photos-in{max-width:960px;margin:0 auto;display:grid;gap:var(--s3);}
  .rp-photos img{width:100%;height:auto;display:block;border-radius:var(--r1,6px);}
  .rp-photos-x{color:#fff;font-weight:600;justify-self:end;}
  .wrap>.head{grid-area:head;grid-column:auto;display:block;min-width:0;}
  .rp-name{display:flex;gap:var(--s4);align-items:flex-start;}
  .wrap>.head .title{font-size:40px;margin:0 0 var(--s2);}
  .rp-why{margin:10px 0 0;font-size:16px;line-height:1.5;color:var(--ink-2);max-width:60ch;}
  .rp-loc{margin:0;font-size:15px;color:var(--muted);line-height:1.5;}
  .rp-loc a,a.rp-tl{color:inherit;text-decoration-color:var(--rule);}a.rp-badge{text-decoration:none;}
  .rp-badges{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s3) 0 var(--s4);}
  .rp-badge{display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;padding:3px 10px;border-radius:999px;
    border:1px solid var(--rule);background:var(--tint);color:var(--ink-2);}
  .rp-badge-good{background:var(--accent-soft);border-color:var(--accent-3);color:var(--accent-ink);}
  .rp-badge-flag{background:var(--flag-soft);border-color:var(--flag);color:var(--flag);}
  .rp-stats{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3) var(--s7);margin:0;padding:var(--s4) 0;
    border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
  .rp-stat{display:flex;flex-direction:column;min-width:0;}
  .rp-stat dd{order:1;margin:0;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.1;
    color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
  .rp-stat-lead dd{font-size:44px;}
  .rp-stat dt{order:2;font-size:13.5px;color:var(--muted);margin-top:2px;}
  .rp-stat .nyoy{order:3;font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--muted);}
  .rp-side{grid-area:side;order:0;align-self:stretch;min-width:0;}
  .givecard{position:sticky;top:64px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r2);
    box-shadow:var(--card-shadow);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s3);}
  .givecard .claimed-pill{align-self:flex-start;margin:0;color:var(--claim-ink);background:#fff;border-color:var(--rule);}
  .givecard .head-verify-ask{margin:0;}
  .give-btn{display:flex;align-items:center;justify-content:center;min-height:48px;background:var(--accent);color:#fff;
    border-radius:8px;font-size:15px;font-weight:700;text-decoration:none;}
  .give-btn:hover{background:var(--accent-ink);color:#fff;}
  .gc-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);}
  .gc-row>:only-child{grid-column:1/-1;}
  .gc-row .ibfollow{margin:0;justify-content:center;width:100%;border-radius:8px;}
  .gc-row .contact-btn{border-radius:8px;font-size:13px;}
  .givecard .contact-form{margin:0;}
  .givecard .claim-cta{margin:0;padding:10px 12px;font-size:14px;}
  .givecard .claim-cta-link{min-height:40px;}
  .gc-record{border-top:1px solid var(--rule-soft);padding-top:var(--s3);display:flex;flex-direction:column;gap:var(--s2);}
  .gc-record .pdf-hero-btn{margin:0;justify-content:center;background:var(--paper);color:var(--accent-ink);
    border:1px solid var(--rule);font-size:13.5px;padding:9px 14px;}
  .gc-record .pdf-hero-btn:hover{background:var(--accent-soft);}
  .gc-record .pdf-hero-btn svg{stroke:currentColor;}
  .gc-links{display:flex;gap:var(--s2);}
  .gc-links .ib-action{flex:1;justify-content:center;min-height:36px;margin:0;}
  .gc-nav{border-top:1px solid var(--rule-soft);padding-top:var(--s2);display:flex;flex-direction:column;}
  .gc-nav .nav-link{padding:5px 0;font-size:13px;}
  .gc-nav .ann{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--claim-ink);margin-left:6px;}
    .main{grid-area:main;}
  .rp-group{margin:0 0 var(--s7);padding-top:var(--s6);border-top:1px solid var(--rule);}
  .rp-group:first-of-type{border-top:0;}
  .rp-h2{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.01em;text-transform:none;
    color:var(--ink);margin:0 0 var(--s4);line-height:1.2;}
  .rp-group section{margin-bottom:var(--s6);}
  .rp-note{font-size:14px;color:var(--muted);margin:0 0 var(--s4);}
  .fh-table .fh-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
    border:1px solid var(--rule);border-radius:2px;padding:0 4px;margin-left:4px;}
  .fh-table .fh-filed{display:block;font-family:var(--sans);font-weight:400;font-size:12px;color:var(--muted);white-space:normal;line-height:1.3;}
  .fh-table tr.gap td{color:var(--faint);}
  .fh-table tr.sel td{background:var(--tint);}
  .fh-table td.yr{font-family:var(--mono);font-weight:600;color:var(--ink);white-space:nowrap;}
  .rp-more{margin-top:var(--s7);display:grid;gap:var(--s4);}
  .rp-more .rail-h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:var(--s2);}
  .wrap.pif-report,.rcaveat.wrap{display:block;}
  @media (max-width:1120px){
    .wrap{grid-template-columns:minmax(0,1fr) 290px;gap:var(--s5) var(--s6);}
  }
  @media (max-width:820px){
    .wrap{display:block;}
    .rp-hero{height:240px;grid-template-rows:240px;grid-template-columns:1fr;margin:var(--s4) 0 0;}
    .rp-hero>img:first-child{grid-row:auto;}
    .rp-hero>img:not(:first-child){display:none;}
    .rp-hero-all:not(.rp-hero-all-desk){display:inline-block;}
    .wrap>.head{padding-top:var(--s5);}
    .wrap>.head .title{font-size:30px;}
    .rp-stats{gap:var(--s3) var(--s5);}
    .rp-stat dd{font-size:22px;}
    .rp-stat-lead{flex-basis:100%;}
    .rp-stat-lead dd{font-size:36px;}
    .givecard{position:static;margin:var(--s4) 0 var(--s2);padding:var(--s4);}
    .gc-nav{display:none;}
    .gc-links .ib-action,.gc-row .ibfollow,.gc-row .contact-btn,.givecard .claim-cta-link{min-height:44px;}
    .main{padding-top:var(--s3);}
    .rp-h2{font-size:24px;}
    .fh-table .dlyr,.fh-table td.yr a{display:inline-flex;align-items:center;min-height:44px;}
    .gc-record .pdf-hero-btn{min-height:44px;}
    /* gh#8720 (Reif 9/29, Smithsonian at 390px): compact phone header. Logo beside the
       name, meta full width under both at a normal line-height (its links were 44px
       inline-flex boxes, which is what spread it over three tall lines), stats 2x2. The
       meta links keep a 44px tap height from inline padding, which never moves the line. */
    .rp-name{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0;}
    .rp-name .rf-g-identity-body{display:contents;}
    .rp-name .rf-g-logo{width:48px;height:48px;padding:4px;border-radius:10px;margin-right:var(--s3);}
    .rp-name .title{grid-column:2;margin:0;}
    .rp-trust{grid-column:1/-1;margin:var(--s2) 0 0;}
    .wrap>.head .title{font-size:26px;line-height:1.15;}
    .rp-loc{grid-column:1/-1;margin-top:var(--s2);font-size:14px;line-height:1.45;}
    .rp-loc a{padding:12px 0;}
    .rp-badges{margin:var(--s3) 0;}
    .rp-stats{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:var(--s3) var(--s4);padding:var(--s3) 0;}
    .rp-stat-lead{flex-basis:auto;}
    .rp-stat dd,.rp-stat-lead dd{font-size:26px;}
    /* gh#11304: the chat bubble sits ABOVE this bar, never on it (--dock-safe-bottom is the
       bar's measured height + 8px, set by the script below; 84px is the no-JS fallback).
       While the bar is hidden (gh#7524) the bubble hides with it, so it never floats over the
       name, stats or give card. */
    body:has(.mobile-bar.mbar-hide) #scout-dock:not(.open){display:none;}
  }
  /* ---------- gh#8804: one type system, one rhythm (docs/design-system/990-scout) ----------
     Instrument Serif only for the org name and section titles; IBM Plex Sans for UI and body; IBM
     Plex Mono (tabular) for every figure and uppercase label. Sections sit 96px apart. */
  :root{--sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;--rp-gap:56px;}
  .rf-intro p,.about-org-mission,.family-banner .fb-body,.ff-sch summary,.aboutmore summary,
  .contact-form textarea,.sponsor-box-title,.hatnote,.lead,.prose{font-family:var(--sans);font-style:normal;}
  .rf-intro p{font-size:16px;}
  .about-org-mission{font-size:clamp(22px,4.6vw,30px);line-height:1.25;font-weight:600;color:var(--claim-ink);}
  .about-org .about-org-desc{font-size:18px;line-height:1.55;color:var(--ink);}
  .mc .mv,.rf-strip .v{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
  .mc .mk,.chart-t{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
  .mc .mv{font-weight:600;}
  .rp-group section>h2{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted);margin:0 0 var(--s2);}
  /* stat row: four equal cells, thin dividers, every figure on one shared baseline */
  .rp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;align-items:start;padding:var(--s4) 0;}
  .rp-stat{padding:0 var(--s5);border-left:1px solid var(--rule);}
  .rp-stat:first-child{padding-left:0;border-left:0;}
  .rp-stat dt{order:1;margin:0 0 var(--s2);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;
    text-transform:uppercase;color:var(--muted);}
  .rp-stat dd,.rp-stat-lead dd{order:2;font-family:var(--mono);font-size:32px;font-weight:500;letter-spacing:-.03em;line-height:1.1;}
  .rp-stat .nyoy{order:3;margin-top:var(--s1);font-family:var(--mono);font-size:11px;font-weight:500;color:var(--muted);}
  .rp-stat .nyoy.up{color:var(--accent-ink);} .rp-stat .nyoy.down{color:var(--flag);}
  .rp-src{margin:var(--s4) 0 0;font-size:12.5px;color:var(--muted);}
  .rp-src a{color:inherit;}
  /* sections: serif title, one plain subtitle, 72px apart (Reif: 96 was "a little much") */
  .rp-group{margin:0;padding:0;border-top:0;}
  .rp-group+.rp-group{margin-top:var(--rp-gap);}
  .rp-h2{font-size:32px;margin:0 0 var(--s1);}
  .rp-sub{margin:0 0 var(--s4);font-size:15px;color:var(--muted);}
  .rp-mission-ok{margin:var(--s2) 0 0;display:flex;width:max-content;}
  .rp-group section{margin:var(--s6) 0 0;}
  .main>section:not(.rp-group)>h2{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted);}
  #identity{margin-top:calc(var(--rp-gap) - var(--s5));}
  /* status: three cards, then the identity table */
  .row .k .cite,.gov-list .cite{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--faint);}
  .row .v{font-variant-numeric:tabular-nums;}
  .row .v.legal{font-family:var(--sans);font-weight:500;}
  /* governance checklist */
  .gov-list{list-style:none;margin:0;padding:0;}
  .gov-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--s3);
    padding:var(--s3) 0;border-bottom:1px solid var(--rule-soft);font-size:14.5px;color:var(--ink-2);}
  .gov-list .cite{display:inline-block;margin-left:var(--s2);text-transform:uppercase;}
  .gc-a{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
  /* leadership: Name / Title on the 990 / Current role (from the org, blue) / Pay */
  /* Reif 2026-10-02: an annotation always sits in the same place -- under its line, flush left,
     led by the org's C mark -- so the table is name / title / pay and nothing moves around it. */
  #people .person-head,#people .person{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 128px;
    column-gap:var(--s4);align-items:baseline;max-width:760px;}
  #people .person{padding:var(--s3) 0;}
  /* gh#10180 (Reif: "not clear why everything is spaced out like this"): tighter rows, a
     smaller label gap, and when no officer has a current role listed (most orgs) the empty
     column goes and the table narrows, so Pay sits beside the names, not at the far edge. */
  @media (min-width:821px){
    #leadership > #people{margin-top:0;}
    #people .person{padding:var(--s2) 0;}
    #people .h2-sub{margin-bottom:var(--s2);padding-bottom:var(--s2);}
  }
  #people .person-head{padding:0 0 var(--s2);border-bottom:1px solid var(--rule);}
  #people .person-head span{font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
  #people .person-head span:last-child{text-align:right;}
  #people .person>div:first-child{display:contents;}
  #people .person .who{grid-column:1;grid-row:1;font-weight:500;}
  #people .person .role{grid-column:2;grid-row:1;margin:0;font-size:14px;color:var(--ink-2);}
  #people .person .comp{grid-column:3;grid-row:1;font-variant-numeric:tabular-nums;}
  #people .person .comp .cite{display:none !important;}
  #people .person{row-gap:0;}
  #people .person .update,#people .person .ann-ok{grid-column:1 / -1;grid-row:2;justify-self:start;margin:2px 0 0;}
  #people .person .update{display:flex;flex-direction:column;background:none;border:0;padding:0;color:var(--claim-ink);}
  #people .person .update .now{order:-1;}
  #people .person .update .now{font-family:var(--sans);margin:0;color:var(--claim-ink);font-weight:600;font-size:14px;}
  #people .person .update .lab{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--claim-ink);opacity:.8;}
  #people .person.added .comp{grid-column:1 / -1;grid-row:2;justify-self:start;text-align:left;white-space:normal;}
  /* filing history: one mono table */
  .fh-table,.fh-table td,.fh-table th{font-family:var(--mono);font-variant-numeric:tabular-nums;}
  .fh-table td{font-size:13px;color:var(--ink);}
  @media (max-width:820px){
    .rp-stats{grid-template-columns:1fr 1fr;row-gap:var(--s4);}
    .rp-stat:nth-child(odd){padding-left:0;border-left:0;}
    .rp-stat:nth-child(even){padding-right:0;}
    .rp-stat dd,.rp-stat-lead dd{font-size:26px;}
    .rp-h2{font-size:26px;}
    #people .person-head{display:none;}
    #people .person{grid-template-columns:minmax(0,1fr) auto;row-gap:2px;}
    #people .person .comp{grid-column:2;}
    #people .person .role{grid-column:1;grid-row:2;}
    #people .person .update,#people .person .ann-ok{grid-column:1 / -1;grid-row:3;margin-top:var(--s1);}
    #people .person.added .comp{grid-column:1 / -1;grid-row:2;}
  }
  /* ---------- gh#9118: Reif's "990 Scout — Nonprofit report" design ----------
     docs/design/report-2026-09-30.dc.html. 1280px of content: an 880px report column and a
     336px pinned rail, 64px apart; the header card spans both. Claim/org voice is claim
     amber, Verified is blue (gh#8944); tiles share one tint -- no verdict colors. */
  .topbar,.so-in{max-width:1344px;}
  .wrap{max-width:1344px;grid-template-columns:minmax(0,1fr) 336px;
    grid-template-areas:"hero hero" "head head" "lead side" "main side";gap:0 64px;padding-top:14px;}
  .rp-hero{height:300px;grid-template-rows:148px 148px;border-radius:8px;}
  .rp-hero-2,.rp-hero-3,.rp-hero-4,.rp-hero-5{grid-template-columns:2fr 1fr;}
  .rp-hero-4>img:nth-child(4),.rp-hero-5>img:nth-child(n+4){display:none;}
  .rp-hero-by{left:auto;right:12px;bottom:12px;border-radius:3px;box-shadow:0 1px 3px rgba(34,31,26,.08);}
  .rp-hero-all{top:12px;bottom:auto;}
  .wrap>.head{grid-column:1/-1;margin:0 0 20px;}
  .rp-name{display:flex;align-items:flex-start;gap:28px;padding:28px;background:#fff;border:1px solid var(--rule);
    border-radius:8px;box-shadow:0 1px 3px rgba(34,31,26,.08);}
  .rp-logo{position:relative;z-index:1;flex:none;width:152px;height:152px;border-radius:8px;overflow:hidden;
    background:#2C2925;color:#EDEAE3;display:flex;align-items:center;justify-content:center;
    font:400 56px/1 var(--serif);letter-spacing:-.02em;}
  .rp-logo:has(.rf-g-logo){background:#fff;border:1px solid var(--rule);}
  .rp-logo .rf-g-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff;
    padding:10%;border:0;border-radius:0;margin:0;}
  .rp-name .rf-g-identity-body{padding-top:6px;}
  .wrap>.head .title{font:400 52px/1.05 var(--serif);letter-spacing:-.02em;margin:0;}
  .rp-name-cover{background:transparent;border:0;box-shadow:none;padding:0 32px;}
  .rp-name-cover .rp-logo{margin-top:-76px;border:6px solid var(--paper);box-shadow:0 6px 20px rgba(34,31,26,.13);}
  .rp-name-cover .rf-g-identity-body{padding-top:18px;}
  .rp-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:14px;font-size:15px;color:var(--ink-2);}
  .rp-meta .rp-badge{height:28px;padding:0 10px;border-radius:3px;font:600 13px/1 var(--sans);
    background:transparent;border:1px solid var(--ink);color:var(--ink);}
  .rp-meta .rp-badge-flag{border-color:var(--flag);color:var(--flag);background:var(--flag-soft);}
  .rp-meta .rp-trust{display:inline-flex;flex-wrap:wrap;gap:8px;margin:0;}
  .rp-trust-c,.rp-trust-v{display:inline-flex;align-items:center;height:28px;font:600 13px/1 var(--sans);white-space:nowrap;}
  /* gh#9309: plain labels, no chip -- the C mark already sits after the name (marks.png). */
  .rp-trust-c{color:var(--claim-ink);}
  .rp-trust-v{color:var(--real-ink);}
  .rp-meta .rp-loc{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 0 4px;
    font-size:15px;line-height:1.5;color:var(--ink-2);}
  .rp-loc i{font-style:normal;color:#D8D1C4;}
  .rp-irs{display:flex;flex-wrap:wrap;gap:2px 18px;margin:8px 0 0 4px;font-size:13.5px;line-height:1.5;color:var(--muted);}
  @media(max-width:700px){.rp-irs{grid-column:1/-1;margin-left:0;flex-direction:column;gap:2px;}}
  .rp-irs-k{font-weight:600;color:var(--ink-2);}
  .rp-irs a{color:inherit;text-decoration-color:var(--rule);overflow-wrap:anywhere;}
  .rp-meta .num,.rp-lead .num,.rp-rail .num,.mobile-bar .num{font-family:var(--mono);font-variant-numeric:tabular-nums;}
  .rp-ein{font-weight:500;color:var(--ink);}
  .wrap>.rp-lead{grid-area:lead;min-width:0;}
  .rp-lead>section{margin:0;}
  .rp-overview{padding-bottom:24px;}
  .rp-overview>:first-child{margin-top:0;}
  .rp-mission{margin:0;max-width:800px;font:400 21px/1.45 var(--sans);color:var(--ink);}
  .rp-orgnote{margin:18px 0 0;padding:16px 20px;background:#fff;border:1px solid var(--rule);border-radius:6px;}
  .rp-orgnote-h{display:flex;align-items:center;gap:10px;}
  .rp-orgnote-logo{flex:none;width:24px;height:24px;border-radius:5px;background:#2C2925;color:#EDEAE3;
    display:flex;align-items:center;justify-content:center;font:400 11px/1 var(--serif);}
  .rp-orgnote .lab{font:600 13px/1.3 var(--sans);color:var(--claim-ink);}
  .rp-orgnote-h .num{font-size:12px;color:var(--claim-ink);}
  .rp-orgnote p{margin:8px 0 0;color:var(--ink);white-space:pre-line;}
  .rp-srcline{font:400 12px/1.4 var(--sans);color:var(--muted);}
  .rp-orgnote .rp-srcline{margin-top:6px;}
  .rp-facts{margin-top:18px;padding:6px 24px;background:#fff;border:1px solid var(--rule);border-radius:6px;
    box-shadow:0 1px 3px rgba(34,31,26,.08);}
  .rp-fact{display:flex;align-items:center;gap:14px;min-height:48px;border-bottom:1px solid var(--rule-soft);
    font:500 17px/1.4 var(--sans);color:var(--ink);}
  .rp-fact:last-child{border-bottom:0;}
  .rp-fact svg{flex:none;color:#3C6C48;}
  .rp-fact b{font-weight:600;}
  .rp-facts-src{margin-top:12px;}
  .rp-annchips{display:none;}
  .rp-byg{border-top:1px solid var(--ink);padding:28px 0 36px;}
  .byg-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
  .byg-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
  .byg-h2{font:400 27px/1.15 var(--serif);margin:0;color:var(--ink);letter-spacing:0;text-transform:none;}
  .rp-cap{font:500 10.5px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
  .byg-dl{position:relative;flex:none;}
  .byg-btn{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px 0 12px;background:#fff;
    border:1px solid #D8D1C4;border-radius:5px;font:600 13px/1 var(--sans);color:var(--ink);cursor:pointer;list-style:none;}
  .byg-btn::-webkit-details-marker{display:none;}
  .byg-dl[open] .caret{transform:rotate(180deg);}
  .byg-menu{position:absolute;right:0;top:38px;z-index:5;width:300px;background:#fff;border:1px solid var(--rule);
    border-radius:6px;box-shadow:0 6px 20px rgba(34,31,26,.13);padding:6px;}
  .byg-menu a{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:5px;text-decoration:none;color:var(--ink);}
  .byg-menu a:hover{background:#FDFCFA;}
  .byg-menu .num{flex:none;width:36px;padding-top:2px;font-size:11px;font-weight:600;color:var(--muted);}
  .byg-menu b{display:block;font-size:14px;line-height:1.3;}
  .byg-menu small{display:block;font-size:12.5px;line-height:1.4;color:var(--muted);}
  .byg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
  .byg-tile{position:relative;display:flex;flex-direction:column;aspect-ratio:1/1;padding:14px 16px;border-radius:6px;
    border:1px solid var(--tone-good-line);background:var(--tone-good-bg);color:var(--tone-good-ink);}
  .byg-q{font:600 13px/1.3 var(--sans);}
  .byg-big{margin-top:10px;font:600 24px/1 var(--sans);color:var(--tone-good-num);font-variant-numeric:tabular-nums;}
  .byg-big.num{font-family:var(--mono);}
  .byg-unit{margin-top:4px;font-size:11px;line-height:1.3;}
  .byg-note{margin-top:4px;font-size:11px;line-height:1.3;opacity:.85;}
  .byg-cite{margin-top:auto;padding-top:8px;font-size:10px;letter-spacing:.04em;opacity:.75;}
  /* gh#9244: tone from the filed value (report/byg_tones.py), colors from the design's legend */
  .byg-fine{background:var(--tone-fine-bg);border-color:var(--tone-fine-line);color:var(--tone-fine-ink);}
  .byg-fine .byg-big{color:var(--ink);}
  .byg-look{background:var(--tone-look-bg);border-color:var(--tone-look-line);color:var(--tone-look-ink);}
  .byg-look .byg-big{color:var(--tone-look-num);}
  .byg-concern{background:var(--tone-concern-bg);border-color:var(--tone-concern-line);color:var(--tone-concern-ink);}
  .byg-concern .byg-big{color:var(--tone-concern-ink);}
  .byg-none{background:transparent;border:1px dashed var(--tone-none-line);color:var(--muted);}
  .byg-none .byg-big{color:var(--ink-2);}
  .byg-tile:focus{outline:2px solid var(--ink);outline-offset:2px;}
  .byg-why{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .byg-tile:focus .byg-why{position:static;width:auto;height:auto;clip:auto;white-space:normal;
    margin-top:6px;font-size:11px;line-height:1.35;}
  .byg-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;
    font:400 12px/1 var(--sans);color:var(--muted);}
  .byg-legend span{display:inline-flex;align-items:center;gap:6px;}.byg-legend a{padding:6px 0;margin:-6px 0;}
  .byg-legend i{width:12px;height:12px;border-radius:3px;border:1px solid;}
  .byg-legend .sw-good{background:var(--tone-good-bg);border-color:var(--tone-good-line);}
  .byg-legend .sw-fine{background:var(--tone-fine-bg);border-color:var(--tone-fine-line);}
  .byg-legend .sw-look{background:var(--tone-look-bg);border-color:var(--tone-look-line);}
  .byg-legend .sw-concern{background:var(--tone-concern-bg);border-color:var(--tone-concern-line);}
  .byg-legend .sw-none{border-style:dashed;border-color:var(--tone-none-line);}
  .rp-lead .rp-stats{margin-bottom:0;}
  .rp-lead>.rp-src{margin-bottom:var(--s5);}
  .rp-side{grid-area:side;align-self:stretch;}
  .rp-rail{position:sticky;top:72px;max-height:calc(100vh - 96px);overflow-y:auto;display:flex;
    flex-direction:column;gap:22px;padding-bottom:4px;}
  .rp-rail .givecard{position:static;padding:24px;border-radius:8px;background:#fff;gap:0;
    box-shadow:0 1px 3px rgba(34,31,26,.08);}
  .gc-org{display:flex;align-items:center;gap:14px;}
  .rp-logo-sm{width:56px;height:56px;border-radius:6px;font-size:22px;}
  .gc-org-name{font:600 15px/1.3 var(--sans);color:var(--ink);}
  .rp-rail .give-btn{margin-top:20px;min-height:48px;background:#3C6C48;color:#F4F1EA;border-radius:5px;
    font:600 16px/1 var(--sans);}
  .rp-rail .give-btn:hover{background:#2E5638;color:#F4F1EA;}
  .rp-rail .gc-row{margin-top:8px;gap:8px;}
  .rp-rail .gc-row .ibfollow,.rp-rail .gc-row .contact-btn{min-height:44px;margin:0;background:#fff;
    border:1px solid #D8D1C4;border-radius:5px;font:600 14px/1 var(--sans);color:var(--ink);}
  .rp-rail .contact-form{margin-top:12px;}
  .gc-ded{margin:16px 0 0;font:400 13.5px/1.6 var(--sans);color:var(--ink-2);}
  .gc-claim,.gc-verified{display:flex;align-items:flex-start;gap:6px;margin:8px 0 0;font:500 13px/1.4 var(--sans);color:var(--claim-ink);}
  .gc-verified{color:var(--real-ink);}
  .gc-claim svg,.gc-verified svg{flex:none;margin-top:2px;}
  .gc-claim .claimed-pill{display:inline;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;letter-spacing:0;text-transform:none;}
  .rp-rail .claim-cta{margin-top:16px;}
  .rp-rail .head-verify-ask{margin-top:8px;}
  .vh-inline .sv{background:#fff;border:1px solid var(--rule);border-radius:8px;padding:16px 18px;}
  /* Reif, 2026-10-02 ("spacing looks a bit weird here"): the rail scrolls inside itself when it
     is taller than the window, which sliced the top off the card. The card now pins to the top
     of the rail and only the links under it scroll. No Give button: the same 20px gap Give gets.
     The owner's Manage box stacks small copy over a full-width button instead of a big title. */
  .rp-rail .givecard{position:sticky;top:0;z-index:2}
  .rp-rail .gc-org + .gc-row{margin-top:20px}
  .rp-rail .claim-cta-content{flex-direction:column;align-items:stretch;gap:10px}
  .rp-rail .claim-cta .claim-headline{font-size:14px;line-height:1.35}
  .rp-rail .claim-cta .claim-subhead{font-size:13px;line-height:1.45}
  .rp-rail .claim-cta-link{justify-content:center;width:100%;box-sizing:border-box}
  .rp-rail .gc-nav{border-top:0;padding:0 4px;}
  .gc-nav .rp-cap,.gc-help .rp-cap{margin-bottom:8px;}
  .gc-nav ul{list-style:none;margin:0;padding:0;}
  .gc-nav li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;}
  .rp-rail .gc-nav .nav-link{display:flex;align-items:center;gap:10px;padding:0;border:0;font-size:14px;color:var(--muted);}
  .gc-nav .nav-link::before{content:"";flex:none;width:3px;height:18px;border-radius:2px;background:var(--rule);}
  .rp-rail .gc-nav .nav-link.active{color:var(--ink);font-weight:600;}
  .gc-nav .nav-link.active::before{background:#3C6C48;}
  .nav-ann{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0;border-radius:3px;white-space:nowrap;
    background:none;color:var(--claim-ink);font:600 11px/1 var(--sans);}
  .gc-help{padding:0 4px;}
  .rp-rail .gc-help a{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:36px;margin:0;padding:0;
    border:0;border-top:1px solid var(--rule-soft);border-radius:0;background:none;box-shadow:none;
    font:600 13.5px/1.3 var(--sans);color:var(--ink);text-decoration:none;}
  .rp-rail .gc-help a:last-child{border-bottom:1px solid var(--rule-soft);}
  .rp-rail .gc-help a:hover{background:none;color:var(--ink);text-decoration:underline;}
  .rp-rail .gc-help svg{flex:none;width:14px;height:14px;stroke:currentColor;}
  .gc-help-t{flex-grow:1;}
  .gc-help .num{font-size:11px;font-weight:400;color:var(--muted);}
  @media (max-width:1120px){
    .wrap{grid-template-columns:minmax(0,1fr) 300px;gap:0 40px;}
    .byg-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  }
  @media (max-width:820px){
    .wrap{padding-top:0;}
    .rp-hero{height:240px;grid-template-rows:240px;grid-template-columns:1fr;border-radius:0;margin:0 calc(-1 * var(--s4));}
    .rp-hero-by{top:12px;bottom:auto;}
    .rp-hero-all{top:auto;bottom:12px;}
    .wrap>.head{margin:0 0 28px;padding-top:20px;}
    .rp-name,.rp-name-cover{display:block;padding:0;background:none;border:0;box-shadow:none;}
    .rp-name .rf-g-identity-body{display:block;padding:0;}
    .rp-logo{width:112px;height:112px;margin:0 0 14px;font-size:42px;}
    .rp-name-cover .rp-logo{margin-top:-96px;border:5px solid var(--paper);}
    .rp-logo .rf-g-logo{width:100%;height:100%;padding:10%;margin:0;border-radius:0;}
    .wrap>.head .title{font-size:36px;line-height:1.08;}
    .rp-meta{margin-top:12px;gap:8px;}
    .rp-meta .rp-loc{order:-1;width:100%;margin:0;gap:2px 10px;font-size:14px;}
    .rp-loc a{display:inline-block;padding:0;min-height:24px;line-height:24px;}
    .rp-mission{font-size:18px;}
    /* Reif, 2026-10-05 ("not wasting space above the fold in mobile"): the logo rides beside the
       name on one row instead of a 112px tile above it; and the section tabs sit on the page's
       own background as plain underlined words, not a white band of boxes under the breadcrumb. */
    .rp-name:not(.rp-name-cover){display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 14px;align-items:center;}
    .rp-name:not(.rp-name-cover) .rp-logo{width:64px;height:64px;margin:0;font-size:24px;grid-column:1;grid-row:1;}
    .rp-name:not(.rp-name-cover) .rf-g-identity-body{display:contents;}
    .rp-name:not(.rp-name-cover) .rf-g-identity-body>*{grid-column:1/-1;}
    .rp-name:not(.rp-name-cover) .rf-g-identity-body>.title{grid-column:2;grid-row:1;font-size:30px;margin:0;}
    .rp-name:not(.rp-name-cover) #atlas-report-slot:empty{display:none;}
    .rp-name:not(.rp-name-cover) .rp-meta{margin-top:14px;}
    .mobilenav{background:var(--paper);backdrop-filter:none;border-bottom:1px solid var(--rule);padding:0 var(--s4);margin-top:0;}
    .mobilenav-scroll{gap:20px;}
    .mnav-link{min-height:44px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0;font-size:14px;color:var(--muted);}
    .mnav-link.active{background:none;color:var(--ink);border-bottom-color:var(--accent);}
    /* Reif, 2026-10-05: "claim ads -- they can take one line only, eyebrow css treatment". Phone
       only (gh#11171): on desktop the claim prompt stays the 16px ink line. The lead text gives way
       (ellipsis) so the Claim link always shows. */
    .claim-line{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
      line-height:1.4;flex-wrap:nowrap;align-items:baseline;gap:8px;min-width:0;}
    .claim-line .claim-lead{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .claim-line .claim-prompt-link{flex:none;white-space:nowrap;}
    .claim-gloss{font-size:13px;color:var(--muted);}
    .claim-help{margin-top:0;}
    .rp-orgnote{margin-top:14px;padding:14px 16px;}
    .rp-facts{margin-top:18px;padding:4px 16px;}
    .rp-fact{align-items:flex-start;padding:12px 0;min-height:0;font-size:16px;}
    .rp-fact svg{margin-top:2px;}
    .rp-overview{padding-bottom:20px;}
    .rp-annchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
    .rp-annchips .nav-ann{min-height:32px;text-decoration:none;font-size:12px;}
    .rp-byg{padding:20px 0 28px;}
    .byg-head{align-items:flex-start;}
    .byg-title{flex-direction:column;align-items:flex-start;gap:6px;}
    .byg-h2{font-size:24px;}
    .byg-btn{height:44px;}
    .byg-menu{width:280px;top:50px;}
    .byg-menu a{min-height:44px;}
    .byg-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .byg-tile{padding:12px;}
    .byg-q{font-size:12.5px;}
    .byg-big{font-size:20px;}
    .rp-rail{position:static;max-height:none;overflow:visible;gap:18px;}
    .rp-rail .givecard{position:static;margin:var(--s4) 0 0;padding:var(--s4);}
    .rp-rail .gc-nav{display:none;}
    .rp-rail .gc-help a{min-height:44px;}
    .mobile-bar{align-items:center;gap:8px;padding:12px var(--s4) calc(12px + env(safe-area-inset-bottom,0px));
      background:#fff;border-top:1px solid var(--rule);
      box-shadow:0 6px 20px rgba(34,31,26,.13);}
    .rp-logo-sm{width:56px;height:56px;margin:0;font-size:22px;}
    .mbar-logo{width:40px;height:40px;border-radius:5px;font-size:16px;margin:0;}
    .mobile-bar-give{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0;height:48px;
      background:#3C6C48;color:#F4F1EA;border-radius:5px;font:600 16px/1 var(--sans);text-decoration:none;}
    .mobile-bar-pdf{flex:1 1 auto;min-width:92px;height:48px;border-radius:5px;} /* gh#10954: never a 34px sliver */
    .mobile-bar-follow,.mobile-bar-msg,.mobile-bar-claim{flex:none;display:inline-flex;align-items:center;justify-content:center;
      height:48px;min-height:48px;padding:0 12px;background:#fff;border:1px solid #D8D1C4;border-radius:5px;
      font:600 14px/1 var(--sans);color:var(--ink);text-decoration:none;cursor:pointer;}
    .mobile-bar-claim{color:var(--claim-ink);}
    .mobile-bar-follow{gap:6px;}
  }
  /* gh#10771: at 320px the logo, Give, Follow and Claim did not fit -- Give shrank to a sliver.
     The logo is decoration (aria-hidden), so it goes first; the rest tighten. The Support (follow) button drops its emoji and Give, Support and Message/Claim all fit left of the bubble. The 52px right
     padding stays: it keeps the chat bubble clear of the last button. */
  @media (max-width:420px){.mbar-logo{display:none;}} /* gh#10954: the PDF button needs the room */
  @media (max-width:360px){
    .mbar-logo{display:none;}
    .mobile-bar{gap:4px;padding-left:12px;padding-right:12px;}
    .mobile-bar-follow,.mobile-bar-msg,.mobile-bar-claim{padding:0 7px;font-size:13px;}
    .mobile-bar-follow{gap:0;}
    .mobile-bar-follow>span[aria-hidden]{display:none;}
    .mobile-bar-give{min-width:64px;}
    .mobile-bar-pdf{min-width:84px;}
    .mobile-bar-pdf svg{display:none;}
  }
