:root {
  --rs-bg: #12110f;
  --rs-panel: #181613;
  --rs-paper: #f1ebe5;
  --rs-muted: #b8aea4;
  --rs-line: rgba(224, 211, 198, 0.15);
  --rs-line-strong: rgba(224, 211, 198, 0.28);
  --rs-copper: #c99d79;
  --rs-sage: #8fb29d;
  --rs-blue: #83adb6;
  --rs-warn: #d0a46f;
  --rs-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --rs-sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
}

.has-surface-enhancer .page-progress {
  height: 1px !important;
  background: transparent !important;
}
.has-surface-enhancer .page-progress-fill {
  background: var(--rs-copper) !important;
  box-shadow: none !important;
}

.has-surface-enhancer :is(.card, .panel, .validation-card, .page-card, .mini-card, .figure-panel, .hero-card, .summary-stat, .stat, .metric, .layer-card),
.has-surface-enhancer :is(.card, .panel, .validation-card, .page-card, .mini-card, .figure-panel, .hero-card, .summary-stat, .stat, .metric, .layer-card):hover {
  transform: none !important;
  box-shadow: none !important;
}

.has-surface-enhancer :is(.tab-button, .list-toggle, .page-map-link) {
  border-radius: 3px !important;
  transform: none !important;
  box-shadow: none !important;
}

.has-surface-enhancer :is(code, td, th, p, li, a, span) {
  overflow-wrap: anywhere;
}

.surface-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--rs-line-strong);
  border-radius: 4px;
  background: transparent;
  color: var(--rs-paper);
  font: 600 0.72rem/1 var(--rs-sans);
  cursor: pointer;
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Analytical layers: a result register, not a card gallery. */
body.be-layer-surface {
  background: var(--rs-bg) !important;
  color: var(--rs-paper) !important;
  font-family: var(--rs-sans) !important;
}

body.be-layer-surface .wrap {
  width: min(1220px, calc(100% - 56px)) !important;
  max-width: 1220px !important;
  margin-inline: auto !important;
}

body.be-layer-surface > .topbar,
body.be-layer-surface > .layer-strip {
  width: min(1320px, calc(100% - 40px)) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 13px 0 !important;
  gap: 4px !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rs-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body.be-layer-surface > .topbar a,
body.be-layer-surface > .layer-strip a {
  padding: 8px 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--rs-muted) !important;
  font-size: 0.75rem !important;
  white-space: nowrap;
}
body.be-layer-surface > :is(.topbar, .layer-strip) a.active {
  color: var(--rs-paper) !important;
  box-shadow: inset 0 -1px var(--rs-copper);
}

body.be-layer-surface main > .hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr) !important;
  align-items: end !important;
  gap: clamp(40px, 7vw, 100px) !important;
  padding: clamp(58px, 8vw, 96px) 0 clamp(48px, 7vw, 80px) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rs-line) !important;
  background: transparent !important;
}

body.be-layer-surface main > .hero > :not(.banner) { grid-column: 1; }
body.be-layer-surface main > .hero .eyebrow {
  color: var(--rs-copper) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
body.be-layer-surface main > .hero h1 {
  max-width: 850px !important;
  margin: 8px 0 18px !important;
  font-family: var(--rs-sans) !important;
  font-size: clamp(2.7rem, 5vw, 4.8rem) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}
body.be-layer-surface main > .hero .lede {
  max-width: 720px !important;
  margin: 0 !important;
  color: var(--rs-muted) !important;
  font-size: 0.98rem !important;
  line-height: 1.65 !important;
}
body.be-layer-surface main > .hero .banner {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-self: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  border-top: 1px solid var(--rs-line-strong);
}
body.be-layer-surface main > .hero .banner .stat {
  min-height: 105px !important;
  padding: 18px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rs-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.be-layer-surface main > .hero .banner .stat strong {
  display: block;
  color: var(--rs-paper) !important;
  font-family: var(--rs-display);
  font-size: 2rem !important;
  font-weight: 400 !important;
}
body.be-layer-surface main > .hero .banner .stat span {
  color: var(--rs-muted) !important;
  font-size: .7rem !important;
  text-transform: uppercase;
}

.be-result-toolbar {
  position: sticky;
  top: 0;
  z-index: 15;
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 210px auto;
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid var(--rs-line-strong);
  background: rgba(18, 17, 15, 0.97);
}
.be-result-toolbar input,
.be-result-toolbar select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid var(--rs-line);
  border-radius: 3px;
  background: var(--rs-panel);
  color: var(--rs-paper);
  font: 0.82rem/1 var(--rs-sans);
}
.be-result-count {
  align-self: center;
  justify-self: end;
  color: var(--rs-muted);
  font-size: .72rem;
}

body.be-layer-surface main > .grid {
  display: block !important;
  margin: 0 !important;
  padding: 0 0 90px !important;
}

body.be-layer-surface main > .grid > .card {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rs-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.be-layer-surface main > .grid > .card[hidden] { display: none !important; }
body.be-layer-surface .card-head {
  display: grid !important;
  grid-template-columns: minmax(260px, 1.25fr) minmax(250px, .75fr) auto !important;
  align-items: center !important;
  gap: 24px !important;
  min-height: 112px;
  padding: 20px 0 !important;
}
body.be-layer-surface .card-head h2 {
  margin: 0 0 6px !important;
  color: var(--rs-paper) !important;
  font-family: var(--rs-sans) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}
body.be-layer-surface .card-head .meta {
  margin: 0 !important;
  color: var(--rs-muted) !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important;
  font-size: .7rem !important;
}
body.be-layer-surface .head-chips,
body.be-layer-surface .chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
body.be-layer-surface .chip {
  min-height: 24px !important;
  padding: 3px 7px !important;
  border: 1px solid var(--rs-line) !important;
  border-radius: 2px !important;
  background: transparent !important;
  color: var(--rs-muted) !important;
  font-size: .7rem !important;
  letter-spacing: 0 !important;
}
body.be-layer-surface .chip-ok { border-color: rgba(143,178,157,.5) !important; color: var(--rs-sage) !important; }
body.be-layer-surface .chip-warn { border-color: rgba(208,164,111,.5) !important; color: var(--rs-warn) !important; }

.be-key-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}
.be-key-metric { min-width: 74px; }
.be-key-metric span {
  display: block;
  color: var(--rs-muted);
  font-size: .7rem;
  text-transform: uppercase;
}
.be-key-metric strong {
  display: block;
  margin-top: 2px;
  color: var(--rs-paper);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .82rem;
  font-weight: 500;
}
.be-result-toggle {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--rs-line);
  border-radius: 3px;
  background: transparent;
  color: var(--rs-paper);
  font-size: 1rem;
  cursor: pointer;
}
.be-result-toggle::before { content: "+"; }
.be-result-toggle[aria-expanded="true"]::before { content: "−"; }

.be-result-detail[hidden] { display: none !important; }
.be-result-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
  padding: 0 0 28px 32% !important;
}
body.be-layer-surface .be-result-detail > .section {
  min-width: 0 !important;
  padding: 18px 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--rs-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.be-layer-surface .be-result-detail h3 {
  margin: 0 0 10px !important;
  color: var(--rs-copper) !important;
  font-size: .7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .06em !important;
}
body.be-layer-surface .be-result-detail table { width: 100% !important; table-layout: fixed; }
body.be-layer-surface .be-result-detail td {
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(224,211,198,.08) !important;
  color: var(--rs-muted) !important;
  font-size: .72rem !important;
  vertical-align: top;
}
body.be-layer-surface .be-result-detail td:last-child { color: var(--rs-paper) !important; text-align: right; }

/* Institutional dossiers: restrained editorial documents. */
body.be-dossier,
body.be-document-surface {
  background: var(--rs-bg) !important;
  color: var(--rs-paper) !important;
  font-family: var(--rs-sans) !important;
}
body.be-dossier :is(.wrap, main),
body.be-document-surface :is(.wrap, main) { max-width: 1180px !important; }
body.be-dossier :is(.hero, .page-intro) h1,
body.be-document-surface :is(.hero, .page-intro) h1 {
  font-family: var(--rs-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.02 !important;
}
body.be-dossier :is(.card, .panel, .stat, .section-card, .page-card),
body.be-document-surface :is(.card, .panel, .stat, .section-card, .page-card) {
  border: 0 !important;
  border-top: 1px solid var(--rs-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}
body.be-dossier :is(.grid, .section-grid, .page-grid),
body.be-document-surface :is(.grid, .section-grid, .page-grid) { gap: 0 !important; }
body.be-dossier :is(.chip, .pill, .badge) { border-radius: 2px !important; background: transparent !important; }

/* Participant and professional outputs read like reports, not dashboards. */
body.be-report-surface {
  background: var(--rs-bg) !important;
  color: var(--rs-paper) !important;
  font-family: var(--rs-sans) !important;
}
body.be-report-surface :is(.wrap, main) { max-width: 1120px !important; }
body.be-report-surface h1 {
  font-family: var(--rs-display) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
body.be-report-surface :is(.card, .panel, .stat, .metric, .section-card) {
  min-width: 0 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}
body.be-report-surface :is(.metric-grid, .stat-grid, .summary-grid) { gap: 1px !important; background: var(--rs-line); }
body.be-report-surface :is(.metric-grid, .stat-grid, .summary-grid) > * { border: 0 !important; border-radius: 0 !important; background: var(--rs-panel) !important; }
body.be-report-surface :is(strong, code, .summary-stat, .metric, td) {
  overflow-wrap: anywhere;
  word-break: break-word;
}

body.be-print-surface,
body.be-print-surface * { box-sizing: border-box; }
body.be-print-surface { overflow-x: hidden !important; }
body.be-print-surface :is(.metric-grid, .stats, .grid) { min-width: 0 !important; }
body.be-print-surface :is(.metric, .card, article) { width: auto !important; min-width: 0 !important; max-width: 100% !important; }
body.be-print-surface .page-progress { display: none !important; }
body.be-intro-surface > .page-shell { display: none !important; }

@media (max-width: 900px) {
  .has-surface-enhancer :is(.topbar, .topbar-inner) { position: relative; }
  .has-surface-enhancer .topbar .topbar-inner {
    min-height: 64px !important;
    padding-block: 12px !important;
    flex-direction: row !important;
    align-items: center !important;
  }
  .has-surface-enhancer .topbar .topbar-inner > :is(.brand, .mark) {
    width: auto !important;
  }
  body.be-layer-surface .wrap { width: min(100% - 28px, 1220px) !important; }
  body.be-layer-surface > .topbar {
    position: relative;
    min-height: 66px !important;
    display: flex !important;
    align-items: center !important;
  }
  .surface-menu-toggle { display: grid; place-items: center; margin-left: auto; }
  .has-surface-enhancer .topbar :is(.nav, .nav-links).surface-menu-links {
    position: absolute !important;
    z-index: 30;
    top: 64px;
    left: 0;
    right: 0;
    display: none !important;
    width: 100% !important;
    padding: 12px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow: hidden !important;
    border-bottom: 1px solid var(--rs-line-strong) !important;
    background: var(--rs-bg) !important;
  }
  .has-surface-enhancer .topbar :is(.nav, .nav-links).surface-menu-links.is-open { display: flex !important; }
  .has-surface-enhancer .topbar :is(.nav, .nav-links).surface-menu-links > a {
    width: 100% !important;
    justify-content: flex-start !important;
    min-height: 42px !important;
    padding: 11px 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.be-layer-surface > .layer-strip {
    display: flex !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }
  body.be-layer-surface main > .hero { grid-template-columns: 1fr !important; gap: 40px !important; }
  body.be-layer-surface main > .hero .banner { grid-column: 1 !important; grid-row: auto !important; }
  .be-result-toolbar { grid-template-columns: 1fr 140px; }
  .be-result-count { grid-column: 1 / -1; justify-self: start; }
  body.be-layer-surface .card-head { grid-template-columns: minmax(0, 1fr) auto !important; gap: 14px !important; }
  body.be-layer-surface .card-head .head-chips { grid-column: 1; grid-row: 2; }
  body.be-layer-surface .card-head .be-key-metrics { grid-column: 1; grid-row: 3; }
  body.be-layer-surface .card-head .be-result-toggle { grid-column: 2; grid-row: 1 / span 3; }
  .be-result-detail { padding-left: 0 !important; }
}

@media (max-width: 640px) {
  .has-surface-enhancer :is(.footer .be-footer-column-title, .eyebrow, .section-eyebrow) { font-size: .72rem !important; }
  body.be-layer-surface main > .hero { padding: 48px 0 42px !important; }
  body.be-layer-surface main > .hero h1 { font-size: clamp(2.35rem, 11vw, 3.35rem) !important; }
  body.be-layer-surface main > .hero .banner { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  body.be-layer-surface main > .hero .banner .stat { min-width: 0 !important; min-height: 88px !important; }
  body.page-participant-information h1 { font-size: clamp(2.7rem, 14vw, 3.35rem) !important; }
  .be-result-toolbar { position: static; grid-template-columns: 1fr; }
  .be-result-toolbar select { grid-column: 1; }
  body.be-layer-surface .card-head { min-height: 0; padding: 20px 0 !important; }
  body.be-layer-surface .card-head h2 { font-size: 1rem !important; }
  .be-result-detail { grid-template-columns: minmax(0, 1fr); }
  body.be-dossier :is(.wrap, main),
  body.be-document-surface :is(.wrap, main),
  body.be-report-surface :is(.wrap, main) { width: calc(100% - 28px) !important; min-width: 0 !important; }
  body.be-dossier :is(.grid, .section-grid, .page-grid, .cards),
  body.be-document-surface :is(.grid, .section-grid, .page-grid, .cards),
  body.be-report-surface :is(.grid, .section-grid, .page-grid, .cards, .metric-grid, .stat-grid, .summary-grid),
  body.be-print-surface :is(.grid, .section-grid, .page-grid, .cards, .metric-grid, .stat-grid, .summary-grid) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-width: 0 !important;
  }
  body.be-dossier :is(.card, .panel, .stat, .section-card, .page-card),
  body.be-document-surface :is(.card, .panel, .stat, .section-card, .page-card),
  body.be-report-surface :is(.card, .panel, .stat, .metric, .section-card),
  body.be-print-surface :is(.card, .panel, .stat, .metric, .section-card) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .has-surface-enhancer *, .has-surface-enhancer *::before, .has-surface-enhancer *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
