/* assets/dcr-light.css · The Desert Camel Report inside the Resources hub, light (9 Nov 2026).
   Loaded after assets/dcr.css and each page's sheet on /resources/desert-camel-report/*. The report is a public
   resource, so brand law 2 puts it on the light ground: white cards with the card shadow on ghost white, black ink,
   the Dawn band for the masthead. The report's own CSS is written in mode tokens; the only dark-only values are
   the elevation steps (#0A0A0C ...), which are the same in both modes, so they are remapped here for this page.
   Also here: the hub's tab bar and the compact filter bar (scope, Market, Role), which replace the old drawer.
   Magenta stays precious: one action per screen (the close band's "Add your numbers", or the Signals sign-up)
   and the one insight a chart marks. */

main.dcr.hubr{
  --elev-1:#FFFFFF; --elev-2:#FFFFFF; --elev-3:#F4F4F8; --elev-4:#E8E8EE;
  --surface:#FFFFFF; --ground:#F8F8FA; --hairline:#E3E3EA;
  --purple-on-dark:var(--purple);
  background:var(--ground); color:var(--ink);
}
/* cards: no border, the card shadow on light (brand: cards have no border) */
main.dcr.hubr .dcr-w, main.dcr.hubr .hubr-card{ background:#fff; border:0; box-shadow:var(--shadow-card); }
main.dcr.hubr .dcr-w .dcr-w{ box-shadow:none; background:var(--ghost-white); }
main.dcr.hubr :is(.dcr-table, table) th{ color:var(--ink-muted); }

/* ---------------------------------------------------------------- the hub's tab bar */
main.dcr.hubr .rp-tabs{ background:var(--ghost-white, #F8F8FA); box-shadow:inset 0 -1px 0 var(--hairline); }
main.dcr.hubr .dcr-bar__ed{ color:var(--ink); }
main.dcr.hubr .dcr-bar__a{ color:var(--ink-muted); }
main.dcr.hubr .dcr-bar__a:hover{ color:var(--ink); background:#fff; }
main.dcr.hubr .dcr-bar__a[aria-current="page"]{ background:var(--ink); color:#fff; }
main.dcr.hubr .dcr-bar__a:focus-visible{ outline:3px solid var(--purple); outline-offset:2px; }

/* ---------------------------------------------------------------- the compact filter bar */
main.dcr.hubr .hubr-fbar{ position:sticky; top:calc(var(--dcr-h, 64px) + 48px); z-index:19;
  background:var(--ghost-white, #F8F8FA); box-shadow:inset 0 -1px 0 var(--hairline); }
main.dcr.hubr .hubr-fbar[hidden]{ display:none; }
.hubr-fbar__in{ display:flex; align-items:center; gap:8px 10px; min-block-size:48px; padding-block:4px; }
.hubr-seg{ display:inline-flex; gap:2px; padding:3px; border-radius:10px; background:var(--elev-4); }
.hubr-seg__b{ appearance:none; border:0; background:transparent; cursor:pointer; min-block-size:32px; padding:0 12px;
  border-radius:8px; font:600 13px/1 var(--font-sans); color:var(--ink-muted); white-space:nowrap; }
.hubr-seg__b:hover{ color:var(--ink); }
.hubr-seg__b[aria-pressed="true"]{ background:#fff; color:var(--ink); box-shadow:0 1px 2px rgba(0,0,0,.08); }
.hubr-seg__b:disabled{ opacity:.45; cursor:not-allowed; }
.hubr-seg__b:focus-visible{ outline:3px solid var(--purple); outline-offset:2px; }
.hubr-dd{ position:relative; }
.hubr-dd__sum{ list-style:none; display:inline-flex; align-items:center; gap:8px; min-block-size:38px; padding:0 34px 0 12px;
  border-radius:10px; background:#fff; box-shadow:inset 0 0 0 1px var(--hairline); cursor:pointer; white-space:nowrap;
  position:relative; }
.hubr-dd__sum::-webkit-details-marker{ display:none; }
.hubr-dd__sum::after{ content:""; position:absolute; inset-inline-end:14px; top:50%; inline-size:7px; block-size:7px;
  margin-block-start:-5px; border-right:2px solid var(--ink-muted); border-bottom:2px solid var(--ink-muted); transform:rotate(45deg); }
.hubr-dd[open] .hubr-dd__sum::after{ transform:rotate(-135deg); margin-block-start:-1px; }
.hubr-dd__sum:hover{ box-shadow:inset 0 0 0 1px var(--slate-400); }
.hubr-dd__sum:focus-visible{ outline:3px solid var(--purple); outline-offset:2px; }
.hubr-dd__k{ font:500 11px/1 var(--font-mono); letter-spacing:var(--track-label, .08em); text-transform:uppercase; color:var(--ink-muted); }
.hubr-dd__v{ font:600 13px/1.2 var(--font-sans); color:var(--ink); max-inline-size:22ch; overflow:hidden; text-overflow:ellipsis; }
.hubr-dd__menu{ position:absolute; inset-inline-start:0; top:calc(100% + 6px); z-index:40; display:grid; gap:14px;
  min-inline-size:240px; max-block-size:min(60vh, 460px); overflow:auto; padding:12px 14px; border-radius:12px;
  background:#fff; box-shadow:0 12px 36px rgba(0,0,0,.16), 0 0 0 1px var(--hairline); }
.hubr-dd__menu--roles{ min-inline-size:300px; }
.hubr-dd__set{ border:0; margin:0; padding:0; display:grid; gap:2px; min-inline-size:0; }
.hubr-dd__leg{ padding:0; margin:0 0 4px; font:500 11px/1.3 var(--font-mono); letter-spacing:var(--track-label, .08em);
  text-transform:uppercase; color:var(--ink-muted); }
.hubr-dd__o{ display:flex; align-items:center; gap:10px; min-block-size:36px; padding:0 6px; border-radius:8px; cursor:pointer;
  font:500 14px/1.3 var(--font-sans); color:var(--ink); }
.hubr-dd__o:hover{ background:var(--ghost-white); }
.hubr-dd__o input{ inline-size:18px; block-size:18px; accent-color:var(--purple); flex:none; cursor:pointer; }
.hubr-dd__o:focus-within{ outline:2px solid var(--purple); outline-offset:1px; }
.hubr-fbar__clear{ appearance:none; border:0; background:transparent; cursor:pointer; color:var(--purple);
  font:600 13px/1 var(--font-sans); padding:8px 4px; }
.hubr-fbar__clear[hidden]{ display:none; }
/* desktop: the controls sit inline; the phone-only toggle, title and "Show results" are hidden */
.hubr-fbar__ctrls{ display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; }
.hubr-fbar__toggle, .hubr-fbar__title, .hubr-fbar__done{ display:none; }
/* phones: one "Filters" button with the current pick; it opens the controls as a bottom sheet (user choice, 9 Nov) */
@media (max-width:719px){
  .hubr-fbar__in{ min-block-size:48px; }
  .hubr-fbar__toggle{ display:flex; align-items:center; gap:10px; inline-size:100%; min-block-size:40px; padding:0 14px;
    border:0; border-radius:10px; background:#fff; box-shadow:inset 0 0 0 1px var(--hairline); cursor:pointer; text-align:start; }
  .hubr-fbar__tk{ font:600 14px/1 var(--font-sans); color:var(--ink); flex:none; }
  .hubr-fbar__sum{ font:500 13px/1.2 var(--font-sans); color:var(--ink-muted); min-inline-size:0; overflow:hidden;
    text-overflow:ellipsis; white-space:nowrap; }
  .hubr-fbar__toggle:focus-visible{ outline:3px solid var(--purple); outline-offset:2px; }
  .hubr-fbar__ctrls{ display:none; }
  .hubr-fbar.is-open .hubr-fbar__ctrls{ position:fixed; inset-inline:0; inset-block-end:0; z-index:60; display:grid; gap:14px;
    max-block-size:85vh; overflow:auto; padding:20px 16px calc(20px + env(safe-area-inset-bottom, 0px));
    background:#fff; border-radius:18px 18px 0 0; box-shadow:0 -12px 40px rgba(0,0,0,.18); }
  .hubr-fbar.is-open::before{ content:""; position:fixed; inset:0; z-index:59; background:rgba(0,0,0,.4); }
  /* a backdrop-filter would make the bar the containing block of the fixed sheet, and its z-index would keep the
     sheet under the site header: drop both while the sheet is open */
  main.dcr.hubr .hubr-fbar.is-open{ -webkit-backdrop-filter:none; backdrop-filter:none; z-index:200; }
  .hubr-fbar__title{ display:block; margin:0; font:600 17px/1.2 var(--font-sans); }
  .hubr-seg{ display:flex; } .hubr-seg__b{ flex:1; }
  .hubr-dd{ position:static; } .hubr-dd__sum{ inline-size:100%; }
  .hubr-dd__menu{ position:static; min-inline-size:0; max-block-size:none; box-shadow:none; padding:4px 0 0; }
  .hubr-fbar__done{ display:block; min-block-size:48px; border:0; border-radius:var(--radius-button, 8px); background:var(--ink);
    color:#fff; font:600 15px/1 var(--font-sans); cursor:pointer; }
  html.hubr-sheet-open{ overflow:hidden; }
}

/* ---------------------------------------------------------------- the page head: a compact Dawn band, centred.
   Audit 9 Nov: the first pass took half the first screen on every sub-page; the content now starts above the fold. */
main.dcr.hubr .dcr-phead{ padding-block:clamp(16px, 2vw, 24px) 0; }
main.dcr.hubr .dcr-phead > .k-wrap{ background:var(--duo-dawn); border-radius:20px; color:#000; text-align:center;
  padding:clamp(22px, 3vw, 36px) clamp(20px, 4vw, 48px); display:grid; gap:8px; justify-items:center; }
main.dcr.hubr .dcr-phead .t-eyebrow{ color:#2a2a33; }
main.dcr.hubr .dcr-phead__h{ font-family:var(--font-mono); font-weight:600; text-transform:uppercase; letter-spacing:-.02em;
  line-height:1.08; font-size:clamp(24px, 3vw, 38px); max-inline-size:30ch; margin:0; text-wrap:balance; color:#000; }
main.dcr.hubr .dcr-phead .t-lead{ color:#2a2a33; max-inline-size:64ch; font-size:16px; }
@media (max-width:719px){ main.dcr.hubr .dcr-phead > .k-wrap{ margin-inline:16px; width:auto; } }
/* the dashboard hero: marketing headline in Mono capitals (brand: caps law), like every other page head */
main.dcr.hubr .dsh-hero__h{ font-family:var(--font-mono); font-weight:600; text-transform:uppercase; letter-spacing:-.02em;
  line-height:1.05; font-size:clamp(30px, 4.6vw, 56px); max-inline-size:22ch; }
main.dcr.hubr .dsh-hero__mk{ font-family:var(--font-sans); text-transform:none; letter-spacing:0; }

/* the close band's mark is drawn for dark; on the Signal duo it keeps its own ink */
main.dcr.hubr .k-close{ background:transparent; }

/* ---------------------------------------------------------------- Signals page */
.hubr-card{ display:grid; gap:14px; padding:clamp(18px, 2.2vw, 28px); border-radius:var(--radius-card, 12px); }
main.dcr.hubr .k-sec .k-wrap > .hubr-card + .hubr-card, main.dcr.hubr .k-sec .k-wrap > .hubr-card + .hubr-duo{ margin-block-start:var(--dcr-gap, 20px); }
.hubr-card__h{ margin:0; }
.hubr-card__p{ margin:0; color:var(--ink-muted); max-inline-size:60ch; }
.hubr-kpis{ list-style:none; margin:0; padding:0; display:grid; gap:16px 24px;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 140px), 1fr)); }
.hubr-kpi{ display:grid; gap:6px; }
.hubr-kpi__v{ font:600 clamp(28px, 3.4vw, 40px)/1 var(--font-mono); font-variant-numeric:tabular-nums; color:var(--ink); }
.hubr-kpi__l{ font:500 11px/1.3 var(--font-mono); letter-spacing:var(--track-label, .08em); text-transform:uppercase; color:var(--ink-muted); }
[dir="rtl"] .hubr-kpi__v{ direction:ltr; unicode-bidi:isolate; text-align:end; }
.hubr-duo{ display:grid; gap:var(--dcr-gap, 20px); grid-template-columns:repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }

/* ---------------------------------------------------------------- Roles & pay: the coverage grid (dcr-hub-report.js) */
.hub-legend{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px 18px; }
.hub-legend__i{ display:flex; align-items:center; gap:8px; font:500 13px/1.3 var(--font-sans); color:var(--ink); }
.hub-sw{ inline-size:14px; block-size:14px; border-radius:4px; flex:none; }
.hub-sw--open{ background:var(--green-500); }
.hub-sw--early{ background:var(--gold-500); }
.hub-sw--gather{ background:#fff; box-shadow:inset 0 0 0 1px var(--slate-400); }
.hub-sw--none{ background:var(--slate-200); }
.hub-gridwrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.hub-gridwrap[hidden], .hub-seenum[hidden]{ display:none; }
.hub-grid-tbl{ border-collapse:separate; border-spacing:3px; inline-size:100%; min-inline-size:560px; }
.hub-grid-tbl th{ font:500 13px/1.25 var(--font-sans); color:var(--ink); text-align:start; padding:2px 8px; }
.hub-grid-mk{ font-family:var(--font-mono) !important; font-size:12px !important; color:var(--ink-muted) !important; text-align:center !important; }
.hub-grid-corner, .hub-grid-role{ position:sticky; inset-inline-start:0; background:#fff; z-index:1; white-space:nowrap; }
.hub-grid-role.is-tracked::after{ content:""; display:inline-block; inline-size:6px; block-size:6px; border-radius:50%;
  background:var(--green-500); margin-inline-start:6px; vertical-align:middle; }
.hub-cell{ min-inline-size:62px; block-size:32px; text-align:center; vertical-align:middle; border-radius:8px; padding:2px 6px; }
.hub-cell__v{ font:600 12px/1.1 var(--font-mono); font-variant-numeric:tabular-nums; }
.hub-cell--open{ background:var(--green-50); color:var(--green-700); }
.hub-cell--early{ background:var(--gold-50); color:var(--gold-700); }
.hub-cell--gathering{ background:#fff; box-shadow:inset 0 0 0 1px var(--hairline); }   /* calm: an empty cell is not noise (audit 9 Nov) */
.hub-cell--none{ background:var(--slate-100); }
.hub-seenum summary{ cursor:pointer; font:600 14px/1.3 var(--font-sans); color:var(--purple); min-block-size:40px; display:flex; align-items:center; }
.hub-nums-tbl{ inline-size:100%; border-collapse:collapse; margin-block-start:8px; }
.hub-nums-tbl th, .hub-nums-tbl td{ text-align:start; padding:10px; border-block-end:1px solid var(--hairline); font:400 14px/1.4 var(--font-sans); vertical-align:top; }
.hub-nums-tbl thead th{ font:500 11px/1.3 var(--font-mono); color:var(--ink-muted); text-transform:uppercase; letter-spacing:.06em; }
.hub-nums-fig{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.hub-src{ color:var(--purple); font-weight:600; text-decoration:none; }
.hub-src:hover{ text-decoration:underline; }
.hub-nums-smp{ color:var(--ink-muted); font-size:12px; }
.hub-mklist{ list-style:none; margin:0; padding:0; display:grid; gap:0; grid-template-columns:repeat(auto-fit, minmax(min(100%, 340px), 1fr)); column-gap:28px; }
.hub-mkrow{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 12px; padding-block:12px;
  border-block-start:1px solid var(--hairline); }
.hub-mkrow__m{ font:600 15px/1.3 var(--font-sans); }
.hub-mkrow__n{ grid-column:1 / -1; font:400 13px/1.45 var(--font-sans); color:var(--ink-muted); }
.hub-state{ display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px;
  font:600 11px/1.3 var(--font-mono); letter-spacing:.04em; text-transform:uppercase; }
.hub-state::before{ content:""; inline-size:8px; block-size:8px; border-radius:50%; }
.hub-state--open{ background:var(--green-50); color:var(--green-700); }
.hub-state--open::before{ background:var(--green-500); }
.hub-state--early{ background:var(--gold-50); color:var(--gold-700); }
.hub-state--early::before{ background:var(--gold-500); }
.hub-state--none{ background:var(--slate-100); color:var(--slate-700); }
.hub-state--none::before{ background:var(--slate-400); }

/* the dashboard hero sits in the same Dawn band as every other page head (audit 9 Nov: one product, one head) */
main.dcr.hubr .dsh-hero__copy{ max-inline-size:none; background:var(--duo-dawn); border-radius:24px; color:#000;
  padding:clamp(28px, 4.4vw, 56px) clamp(20px, 4vw, 56px); }
main.dcr.hubr .dsh-hero__copy .t-eyebrow, main.dcr.hubr .dsh-hero__lead{ color:#2a2a33; }

/* ---------------------------------------------------------------- typography: the locked RIVET ramp (review 9 Nov)
   Marketing headlines are Mono ALL CAPS at 1.05 (the page heads, the close band); product headings are Plex Sans
   SemiBold in sentence case at 1.2 under a Mono eyebrow (section and panel titles); body 16/1.6, small 14, meta 12
   Mono caps. One display per page: the dashboard's 64 (40 on a phone); every sub-page head is h1 48 (32 on a phone). */
main.dcr.hubr .dsh-hero__h{ font-size:var(--fs-display, 64px); line-height:1.05; letter-spacing:-.03em; max-inline-size:18ch; }
main.dcr.hubr .dsh-hero__mk{ display:block; margin-block-start:14px; font:400 var(--fs-h4, 20px)/1.4 var(--font-sans);
  letter-spacing:0; text-transform:none; color:#2a2a33; }
main.dcr.hubr .dsh-hero__lead, main.dcr.hubr .dcr-phead .t-lead{ font:400 var(--fs-lead, 18px)/1.6 var(--font-sans); }
main.dcr.hubr .dcr-phead__h{ font-size:var(--fs-h1, 48px); line-height:1.05; letter-spacing:-.03em; max-inline-size:24ch; }
main.dcr.hubr :is(.dsh-head__h, .t-section, .k-head h2){ font-size:var(--fs-h2, 32px); line-height:1.2; letter-spacing:-.01em; }
main.dcr.hubr :is(.dcr-w__t, .hubr-card__h){ font-size:var(--fs-h4, 20px); line-height:1.2; }
main.dcr.hubr .k-close__title{ font-family:var(--font-mono); font-weight:600; text-transform:uppercase; letter-spacing:-.02em;
  font-size:var(--fs-h2, 32px); line-height:1.05; max-inline-size:26ch; }
main.dcr.hubr .k-close__sub{ font:400 var(--fs-lead, 18px)/1.6 var(--font-sans); }
main.dcr.hubr .k-link{ font-size:var(--fs-body, 16px); }
main.dcr.hubr .hubr-kpi__v{ font-size:var(--fs-h1, 48px); line-height:1.05; }
main.dcr.hubr .hubr-card__p{ font:400 var(--fs-body, 16px)/1.6 var(--font-sans); }
main.dcr.hubr :is(.hubr-seg__b, .hubr-dd__v, .hubr-fbar__clear, .hub-legend__i, .hub-mkrow__n, .hub-grid-tbl th, .hub-seenum summary){ font-size:var(--fs-small, 14px); }
main.dcr.hubr .hub-mkrow__m{ font-size:var(--fs-body, 16px); }
main.dcr.hubr .hub-mkrow__n{ line-height:1.5; }
@media (max-width:719px){
  main.dcr.hubr .dsh-hero__h{ font-size:var(--fs-display-m, 40px); }
  main.dcr.hubr .dcr-phead__h{ font-size:var(--fs-h1-mobile, 32px); }
  main.dcr.hubr :is(.dsh-head__h, .t-section, .k-head h2){ font-size:var(--fs-h3, 24px); }
  main.dcr.hubr .k-close__title{ font-size:var(--fs-h3, 24px); }
  main.dcr.hubr .hubr-kpi__v{ font-size:var(--fs-h2, 32px); }
}
/* Arabic: Almarai, and no caps or tight tracking (they do not apply to Arabic script) */
:lang(ar) main.dcr.hubr :is(.dsh-hero__h, .dcr-phead__h, .k-close__title){ text-transform:none; letter-spacing:0; line-height:1.25; }
/* type.css sizes every #main h1 from --role-hero with an id selector: set the variable per heading instead */
main.dcr.hubr .dsh-hero__h{ --role-hero:var(--fs-display, 64px); }
main.dcr.hubr .dcr-phead__h{ --role-hero:var(--fs-h1, 48px); }
main.dcr.hubr .dsh-kpi__v{ font-size:var(--fs-h1, 48px); line-height:1.05; }
@media (max-width:719px){
  main.dcr.hubr .dsh-hero__h{ --role-hero:var(--fs-display-m, 40px); }
  main.dcr.hubr .dcr-phead__h{ --role-hero:var(--fs-h1-mobile, 32px); }
  main.dcr.hubr .dsh-kpi__v{ font-size:var(--fs-h2, 32px); }
}
/* shared kit and question styles carry 15px: on the ramp here (body 16) */
main.dcr.hubr :is(.k-btn, .k-link){ font-size:var(--fs-body, 16px); }
main.dcr.hubr .qa__a p{ font-size:var(--fs-body, 16px); line-height:1.6; }
main.dcr.hubr .dcr-fig__v{ font-size:var(--fs-h4, 20px); line-height:1.2; }
main.dcr.hubr .hubr-fbar__sum{ font-size:var(--fs-small, 14px); }
@media (max-width:719px){ main.dcr.hubr .dsh-city__v{ font-size:var(--fs-h3, 24px); } }

/* ---------------------------------------------------------------- the close: a compact Dawn bookend (review 9 Nov)
   Replaces the 460px Signal band: same duo as the page head (bookends), headline left in Mono caps 32, the page's
   one magenta action right with one quiet link, ~220px tall. Dawn is full-field text-safe for black ink. */
.hubr-close{ padding-block:clamp(32px, 4vw, 56px) clamp(40px, 5vw, 72px); }
.hubr-close__band{ display:grid; grid-template-columns:minmax(0, 1.4fr) minmax(0, 1fr); align-items:center; gap:24px 48px;
  padding:clamp(28px, 3.6vw, 48px) clamp(24px, 4vw, 56px); border-radius:24px; background:var(--duo-dawn); color:#000; }
.hubr-close__copy{ display:grid; gap:10px; }
.hubr-close__copy .t-eyebrow{ color:#2a2a33; }
.hubr-close__h{ margin:0; font:600 var(--fs-h2, 32px)/1.05 var(--font-mono); text-transform:uppercase; letter-spacing:-.02em;
  max-inline-size:22ch; text-wrap:balance; color:#000; }
.hubr-close__p{ margin:0; font:400 var(--fs-body, 16px)/1.6 var(--font-sans); color:#2a2a33; max-inline-size:52ch; }
.hubr-close__acts{ display:grid; justify-items:start; gap:14px; }
.hubr-close__btn{ display:inline-flex; align-items:center; justify-content:center; min-block-size:52px; padding:0 28px;
  border-radius:var(--radius-button, 8px); background:var(--magenta); color:var(--on-accent, #fff); text-decoration:none;
  font:600 var(--fs-body, 16px)/1 var(--font-sans); }
.hubr-close__btn:hover{ background:var(--magenta-600); }
.hubr-close__btn:focus-visible, .hubr-close__link:focus-visible{ outline:3px solid var(--purple); outline-offset:2px; }
.hubr-close__link{ color:#000; text-decoration:none; font:600 var(--fs-body, 16px)/1.3 var(--font-sans); }
.hubr-close__link:hover{ text-decoration:underline; }
[dir="rtl"] .hubr-close__link span{ display:inline-block; transform:scaleX(-1); }
@media (max-width:719px){
  .hubr-close__band{ grid-template-columns:1fr; }
  .hubr-close__h{ font-size:var(--fs-h3, 24px); }
  .hubr-close__btn{ inline-size:100%; }
}
:lang(ar) .hubr-close__h{ text-transform:none; letter-spacing:0; line-height:1.25; }

/* RIVET Voices (review 9 Nov): members only, quotes then the member list, each with their LinkedIn */
main.dcr.hubr .rv-h{margin:4px 0 24px;font-size:24px;line-height:1.2}
main.dcr.hubr .rv-lead{margin:-12px 0 24px;max-width:64ch;font-size:16px;line-height:1.6;color:var(--ink-muted,#4A4A68)}
main.dcr.hubr .rv-quotes,main.dcr.hubr .rv-people{list-style:none;margin:0;padding:0;display:grid;gap:16px}
main.dcr.hubr .rv-quotes{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
main.dcr.hubr .rv-people{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
main.dcr.hubr .rv-q{margin:0;height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;padding:24px;background:#fff;border-radius:12px;box-shadow:var(--shadow-card,0 1px 2px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.06))}
main.dcr.hubr .rv-q blockquote{margin:0;flex:1}
main.dcr.hubr .rv-q blockquote p{margin:0;font-size:16px;line-height:1.6;color:#000}
main.dcr.hubr .rv-q figcaption,main.dcr.hubr .rv-p{display:flex;align-items:center;gap:12px}
main.dcr.hubr .rv-p{padding:12px 16px;background:#fff;border-radius:12px;box-shadow:var(--shadow-card,0 1px 2px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.06))}
main.dcr.hubr .rv-av{flex:none;width:48px;height:48px;border-radius:50%;object-fit:cover;background:#F8F8FA}
main.dcr.hubr .rv-av--ini{display:grid;place-items:center;font:600 14px/1 'IBM Plex Mono',monospace;color:#4A4A68;background:#D1D1D9}
main.dcr.hubr .rv-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
main.dcr.hubr .rv-who b{font-size:16px;line-height:1.3;color:#000}
main.dcr.hubr .rv-who span{font-size:14px;line-height:1.4;color:#4A4A68}
main.dcr.hubr .rv-mk{font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em}
main.dcr.hubr .rv-mv{align-self:flex-start;font:12px/1.4 'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;color:#4A4A68;background:#F8F8FA;border-radius:8px;padding:4px 8px}
main.dcr.hubr .rv-li{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;color:#0A66C2}
main.dcr.hubr .rv-li svg{width:20px;height:20px}
main.dcr.hubr .rv-li:hover{background:#F8F8FA}
main.dcr.hubr .rv-li:focus-visible{outline:3px solid #3B06D4;outline-offset:2px}
main.dcr.hubr .rv-more{margin:24px 0 0}
@media (max-width:640px){main.dcr.hubr .rv-quotes,main.dcr.hubr .rv-people{grid-template-columns:1fr}}
/* the every-seat matrix on the light report (9 Nov 2026): white to purple-400 keeps black ink readable at any tint */
main.dcr.hubr .sk-w--mx{ --mx-base:var(--ghost-white, #F8F8FA); --mx-panel:#fff; --mx-hi:var(--purple-400, #93A0FF);
  --mx-line:var(--silver, #D1D1D9); --mx-mute:var(--slate, #4A4A68); }
main.dcr.hubr .sk-mx__g--reps{ color:var(--purple, #3B06D4); }
main.dcr.hubr .sk-mx__g--managers{ color:var(--slate, #4A4A68); }
main.dcr.hubr .sk-mx__g--leaders{ color:var(--black, #000); }

/* committee spec (10 Nov 2026): sticky chrome is never more than 96px. Once the report tabs stick, the site header
   slides away on scroll-down and comes back on scroll-up (assets/dcr-tabs.js sets html.dcr-hdr-off); the tabs and the
   filter bar then sit at the top: 48 + 48. */
html.dcr-hdr-off main.dcr.hubr{ --dcr-h:0px; }
html.dcr-hdr-off .site-header{ transform:translateY(-100%); }
.site-header{ transition:transform 200ms var(--ease-standard, ease); }
@media (prefers-reduced-motion:reduce){ .site-header{ transition:none; } }

main.dcr.hubr .hub-nodata{ margin:12px 0 0; font-size:var(--fs-small, 14px); color:var(--slate, #4A4A68); }
main.dcr.hubr .hub-nodata .hub-state{ margin-inline-end:6px; }
