/* Sample reports: two colors (white and gold) and a table of contents. */
:root { --violet: #D4A843; --violet-hi: #E0B95A; --violet-lt: #D4A843; --green: #D4A843; }
.rtoc { display: none; }
@media (min-width: 1280px) {
  .rtoc { display: block; position: fixed; top: 96px; left: max(16px, calc((100vw - 1600px) / 2)); width: 210px; max-height: calc(100vh - 120px); overflow-y: auto; z-index: 50;
    padding: 18px 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(10,16,32,.92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
    font: 500 13px/1.4 "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
  body.has-rtoc > *:not(.oms-nav):not(.oms-foot):not(.rtoc):not(script):not(style) { margin-left: 240px !important; }
  body.has-rtoc .rtoc-m { display: none; }
}
.rtoc-h { margin: 0 0 10px; color: #D4A843; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.rtoc ol, .rtoc-m ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rtoc a, .rtoc-m a { display: flex; gap: 10px; padding: 7px 8px; border-radius: 8px; color: rgba(255,255,255,.72) !important; text-decoration: none !important; }
.rtoc a span, .rtoc-m a span { color: #D4A843; font-variant-numeric: tabular-nums; flex: none; }
.rtoc a:hover, .rtoc-m a:hover { color: #fff !important; background: rgba(255,255,255,.05); }
.rtoc a[aria-current] { color: #fff !important; background: rgba(212,168,67,.12); box-shadow: inset 2px 0 0 #D4A843; }
.rtoc-m { max-width: 1180px; margin: 16px auto; padding: 0 16px; font: 500 14px/1.4 "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
.rtoc-m summary { cursor: pointer; padding: 12px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; color: #D4A843; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 12px; }
.rtoc-m[open] summary { border-radius: 10px 10px 0 0; }
.rtoc-m ol { border: 1px solid rgba(255,255,255,.12); border-top: 0; border-radius: 0 0 10px 10px; padding: 8px; }
html { scroll-padding-top: 90px; }

/* Document look, shared with the Research Snapshot: plain page, white titles, quiet labels and cards. */
html body { background: #0A1020 !important; background-image: none !important; }
body::before, body::after { display: none !important; }
.orb, .hero-bg, .glow, .noise { display: none !important; }
.hero, .glossy.hero { background: none !important; box-shadow: none !important; }
.hero h1, .scan-title, .hero-title, .hero .h1 { color: #F4F6FA !important; font-weight: 500 !important; letter-spacing: -.01em; }
.hero h1 *, .scan-title *, .hero-title *, .hero .h1 * { color: inherit !important; }
.eyebrow, .meta-pill, .scan-meta > *, .hero .kicker, .hero .tag { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; color: #7C869A !important; }
.scan-meta { gap: 6px 18px !important; }
.eyebrow-dot { display: none !important; }
.sec-title, .section h2 { color: #F4F6FA !important; }
.sec-body, .scan-subtitle, .hero-desc, .hero .lead { color: #A3ACBE !important; font-style: normal !important; line-height: 1.75 !important; }
.scan-subtitle *, .hero-desc * { font-style: normal !important; }
.glossy, .kpi-tile, .peerset-card, .question-card, .response-card, .horizon-card, .cta, .card { box-shadow: none !important; background-image: none !important; background-color: #111D33 !important; border-color: rgba(255,255,255,.09) !important; }
.hero h1, .scan-title, .hero-title, .hero .h1 { font-size: clamp(32px, 4.4vw, 46px) !important; line-height: 1.15 !important; }
.hero h1 *, .scan-title *, .hero-title * { font-style: normal !important; }
.scan-subtitle, .hero-desc, .hero .lead { font-family: "DM Sans", system-ui, sans-serif !important; font-size: 17px !important; }

/* Older dashboard-style samples: quiet top label, document cover, full typed lines. */
.brand-band { background: none !important; border: 0 !important; color: #7C869A !important; justify-content: flex-start !important; max-width: 1200px; margin: 0 auto !important; padding: 24px 20px 0 !important; font-size: 12px !important; letter-spacing: .08em; }
.brand-band .dot { display: none !important; }
.hero h1, .hero .h1, .glossy.hero h1 { font-family: "Playfair Display", Georgia, serif !important; }
.glossy.hero { background: none !important; border: 0 !important; }
.type-line { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; border-right: 0 !important; }
.illustrative-disclaimer-endsheet { max-width: none !important; margin: 28px 0 0 !important; }
.rtoc { transition: opacity .2s; } .rtoc.rtoc-away { opacity: 0; pointer-events: none; }

/* ===== Research Snapshot standard: one column, document type scale, calm colour, panel cards. ===== */
body.has-rtoc .hero-inner, body.has-rtoc .section-inner, body.has-rtoc .kpi-section-inner, body.has-rtoc .hero-content, body.has-rtoc main.wrap { max-width: 1000px !important; margin-left: auto !important; margin-right: auto !important; }
.hero, .section, .kpi-section { padding-left: 24px !important; padding-right: 24px !important; }
/* Series labels and section labels: small muted capitals, like the document series line. */
.sec-tag, .section-tag, .kpi-tag, .eyebrow, .scan-meta, .scan-meta *, .peerset-tag, .scoreboard-tag, .manifest-tag, .horizon-tag, .cta-tag, .q-tag, .layer-tag, .disc-tag, .eng-k, .kpi-label, .eng-meta-h, .band, .kicker {
  font-family: "DM Sans", system-ui, sans-serif !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #7C869A !important; }
.sec-tag::before, .section-tag::before { display: none !important; }
.sec-tag { margin-bottom: 10px !important; }
.band { background: none !important; border: 0 !important; padding: 0 0 6px !important; border-bottom: 1px solid rgba(255,255,255,.09) !important; border-radius: 0 !important; }
/* Headings: white serif, no coloured or italic emphasis. */
.sec-title, .section h2, .kpi-headline, .scoreboard-h, .manifest-h, .cta-h { font-family: "Playfair Display", Georgia, serif !important; font-weight: 500 !important; color: #F4F6FA !important; font-size: 28px !important; line-height: 1.25 !important; }
.sec-title *, .section h2 *, .kpi-headline *, .scoreboard-h *, .manifest-h *, .cta-h *, .hero h1 * { color: inherit !important; font-style: normal !important; }
.section h3, .horizon-h, .peerset-h, .engine-h { font-family: "DM Sans", system-ui, sans-serif !important; font-weight: 600 !important; font-size: 18px !important; color: #F4F6FA !important; }
.section h3 *, .horizon-h *, .peerset-h * { color: inherit !important; font-style: normal !important; }
/* Body text: the document's reading size and colour; emphasis stays in the text colour. */
.sec-body, .section p, .kpi-section p, .disc-body { font-family: "DM Sans", system-ui, sans-serif !important; font-size: 17px !important; line-height: 1.75 !important; color: #A3ACBE !important; }
.section p em, .section p .vlt, .section p .gld, .section p .g, .section p .amb, .sec-body em, .sec-body span, .hero p em, .hero p span { color: inherit !important; }
.section p strong, .section p b { color: #F4F6FA !important; }
/* Cards: the abstract panel. */
.kpi-tile, .peerset-card, .question-card, .response-card, .horizon-card, .gap-row, .card, .glossy, .manifest, .cta, .scoreboard, .stat-card, .q-cell, .conf-bucket, .persist, .insights, .eng-meta {
  background: #111D33 !important; background-image: none !important; border: 1px solid rgba(255,255,255,.09) !important; border-radius: 14px !important; box-shadow: none !important; }
.kpi-tile::before, .peerset-card::before, .horizon-card::before, .cta::before, .scoreboard::before, .question-card::before { display: none !important; }
/* Figures in cards: serif numerals like the document's key figures. */
.kpi-value, .score-num, .stat-val, .eng-score-v { font-family: "Playfair Display", Georgia, serif !important; color: #F4F6FA !important; }
.section a:not(.btn-cta):not(.path-btn):not(.btn) { color: #4FD1C5; }
@media (max-width: 640px) { .sec-title, .section h2, .kpi-headline { font-size: 24px !important; } .sec-body, .section p { font-size: 16px !important; } }
body.has-rtoc h1, body.has-rtoc .h1 { font-family: "Playfair Display", Georgia, serif !important; font-weight: 500 !important; color: #F4F6FA !important; letter-spacing: -.01em !important; }
body.has-rtoc .h2, body.has-rtoc main h2 { font-family: "Playfair Display", Georgia, serif !important; font-weight: 500 !important; color: #F4F6FA !important; }
body.has-rtoc .lead { font-family: "DM Sans", system-ui, sans-serif !important; color: #A3ACBE !important; font-size: 17px !important; line-height: 1.75 !important; }
/* Cards that were white paper are now panels, so their text uses the panel colours. */
body.has-rtoc .card p, body.has-rtoc .card li, body.has-rtoc .card td, body.has-rtoc .card span:not([class]) { color: #A3ACBE !important; }
body.has-rtoc .card h1, body.has-rtoc .card h2, body.has-rtoc .card h3, body.has-rtoc .card strong, body.has-rtoc .card b { color: #F4F6FA !important; }
body.has-rtoc .card h2 { color: #D4A843 !important; }
body.has-rtoc .card hr { border-color: rgba(255,255,255,.12) !important; }
