@layer base, layout, components, charts, responsive;
@layer base {
  :root { color-scheme: light; --paper:#f7f6f0; --white:#fffef9; --ink:#153e33; --body:#263f35; --muted:#58695e; --line:#d6dbcf; --soft:#e8eddf; --green:#137660; --red:#ac463a; --gold:#97701d; --neutral:#738d8a; --radius:5px; font-family:Arial,Helvetica,sans-serif; color:var(--body); background:var(--paper); }
  * { box-sizing:border-box; } body { margin:0; } a { color:inherit; text-underline-offset:4px; } button,input,select,textarea { font:inherit; } button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; } button { cursor:pointer; } button:disabled { cursor:wait; opacity:.58; }
  :focus-visible { outline:3px solid #bb6b25; outline-offset:4px; } h1,h2,h3,p { margin-top:0; } h1,h2,h3 { color:var(--ink); } h1,h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; } h1 { font-size:clamp(2.6rem,5.5vw,5.4rem); line-height:1.06; margin-bottom:24px; } h2 { font-size:clamp(1.9rem,3vw,2.8rem); line-height:1.15; margin-bottom:18px; } h3 { font-size:1.04rem; line-height:1.4; } p { line-height:1.65; } small { line-height:1.5; } [hidden] { display:none!important; } svg { max-width:100%; } ::selection { background:#cfdfbd; color:var(--ink); }
  .skip-link { position:fixed; top:8px; left:8px; z-index:100; padding:14px 20px; background:var(--action-bg); color:var(--action-text); transform:translateY(-160%); } .skip-link:focus { transform:none; }
}
@layer layout {
  .site-header { max-width:1440px; margin:auto; min-height:100px; padding:22px 5%; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); }
  .wordmark { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:27px; font-weight:800; letter-spacing:-1px; color:var(--ink); } .brand-mark { display:grid; place-items:center; width:38px; height:38px; border:2px solid var(--ink); border-radius:50%; font:italic 28px Georgia,serif; } .wordmark-caption { font:9px/1.5 Arial,sans-serif; max-width:65px; letter-spacing:1.4px; margin-left:8px; }
  .site-header nav { display:flex; align-items:center; gap:30px; font-size:13px; font-weight:600; } .site-header nav a { text-decoration:none; padding:10px 0; } .site-header nav a[aria-current=page] { border-bottom:2px solid var(--ink); } .nav-studio { color:var(--muted); }
  main { max-width:1280px; margin:0 auto; padding:0 36px 80px; min-height:65vh; outline:none; } .site-footer { border-top:1px solid var(--line); max-width:1440px; margin:0 auto; padding:42px 5%; display:grid; grid-template-columns:1fr 1.3fr .8fr; gap:48px; font-size:12px; color:var(--muted); } .footer-brand { font-size:27px; font-weight:800; letter-spacing:-1px; text-decoration:none; color:var(--ink); } .site-footer p { margin-top:12px; } .site-footer nav { display:flex; flex-direction:column; gap:14px; }
  .hero { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; padding:68px 0 50px; align-items:end; } .hero h1 { max-width:780px; } .hero-intro { max-width:480px; color:var(--muted); font-size:17px; } .hero-aside { border-left:1px solid var(--line); padding:12px 0 12px 30px; } .hero-aside p { font-size:14px; margin:0; }
  .section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin:46px 0 24px; } .section-head h2 { margin:0; } .report-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; } .two-columns { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:32px; } .report-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:56px; align-items:start; } .report-sidebar { position:sticky; top:24px; } .report-section { padding:35px 0; border-top:1px solid var(--line); } .report-section h2 { font-size:2rem; } .report-section .section-description { color:var(--muted); max-width:720px; font-size:14px; }
  .metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:26px 0 36px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:26px 0; } .metric { padding:0 22px; border-left:1px solid var(--line); } .metric:first-child { padding-left:0; border-left:0; } .metric-label { display:block; font-size:10px; line-height:1.5; letter-spacing:1px; font-weight:700; text-transform:uppercase; color:var(--muted); } .metric-value { display:block; margin:10px 0; font:400 clamp(2rem,3.5vw,3.6rem)/1 Georgia,serif; color:var(--ink); } .metric small { color:var(--muted); font-size:11px; }
}
@layer components {
  .eyebrow { font-size:10px; letter-spacing:1.7px; font-weight:700; text-transform:uppercase; color:var(--green); margin:0 0 20px; line-height:1.7; } .label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1px; } .muted { color:var(--muted); } .positive { color:var(--green); } .negative { color:var(--red); } .lede { font:400 20px/1.6 Georgia,serif; max-width:800px; color:var(--muted); } .fine-print { font-size:12px; color:var(--muted); } .small { font-size:12px; } .mono { font-variant-numeric:tabular-nums; }
  .button { border:1px solid var(--ink); border-radius:var(--radius); background:var(--action-bg); color:var(--action-text); padding:12px 17px; font-weight:600; font-size:12px; text-decoration:none; display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:44px; line-height:1.4; } .button:hover { background:var(--action-hover); } .button.secondary { color:var(--ink); background:transparent; border-color:var(--line); } .button.secondary:hover { background:var(--soft); border-color:#a2b4a2; } .button.danger { color:var(--red); border-color:#d7ada3; background:var(--error-surface); } .text-link { font-size:12px; font-weight:700; } .actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
  .notice { background:var(--soft); border-left:3px solid var(--green); padding:17px 20px; font-size:13px; line-height:1.6; margin:24px 0; } .notice.warn { background:var(--warning-surface); border-color:var(--gold); } .notice.error { background:var(--error-surface); border-color:var(--red); } .notice p:last-child { margin:0; } .notice ul { padding-left:18px; margin:10px 0 0; } .notice li { margin:5px 0; } .pill { border:1px solid var(--line); padding:5px 9px; border-radius:30px; font-size:10px; font-weight:600; white-space:nowrap; } .pill.draft,.pill.reviewed { background:var(--warning-surface); border-color:#d7c795; } .pill.published { background:var(--soft); border-color:#b7caae; } .pill.withdrawn { background:var(--error-surface); border-color:#d7ada3; }
  .featured { background:var(--hero-bg); color:var(--hero-ink); border-radius:var(--radius); padding:38px; display:grid; grid-template-columns:1.2fr 1fr; gap:42px; } .featured h2 { color:var(--hero-ink); font-size:2.7rem; } .featured .eyebrow { color:#c4d4a6; } .featured p { color:#d4dfd1; font-size:14px; } .featured a { text-decoration:none; } .featured .button { color:var(--action-text); background:var(--action-bg); border-color:var(--action-bg); } .featured-stats { display:flex; align-items:center; justify-content:space-around; gap:20px; border-left:1px solid #517166; padding-left:30px; } .featured-stat strong { display:block; font:54px Georgia,serif; } .featured-stat span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:1px; margin-top:12px; color:#d4dfd1; }
  .report-card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:26px; display:flex; flex-direction:column; min-height:290px; } .report-card .card-meta { display:flex; gap:12px; align-items:center; margin-bottom:22px; font-size:11px; color:var(--muted); } .report-card h3 { font:26px/1.2 Georgia,serif; letter-spacing:-.6px; margin-bottom:16px; } .report-card h3 a { text-decoration:none; } .report-card p { font-size:13px; color:var(--muted); } .report-card .card-bottom { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:auto; padding-top:20px; border-top:1px solid var(--line); font-size:11px; } .card-score { font:30px Georgia,serif; }
  .filter-tabs { display:flex; flex-wrap:wrap; gap:5px; padding:4px; border:1px solid var(--line); border-radius:var(--radius); } .filter-tabs button { padding:8px 14px; border:0; background:transparent; color:var(--muted); font-size:12px; min-height:36px; border-radius:3px; } .filter-tabs button[aria-pressed=true] { background:var(--action-bg); color:var(--action-text); } .empty-state { padding:48px 35px; border:1px dashed #a9b9a5; border-radius:var(--radius); background:var(--empty-surface); } .empty-state h2 { max-width:700px; } .empty-state p { max-width:650px; color:var(--muted); } .empty-icon { display:block; font:42px Georgia,serif; color:var(--green); margin-bottom:20px; } .loading-state { padding:100px 0; text-align:center; color:var(--muted); } .page-error { padding:80px 0; max-width:700px; } .toast { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); padding:15px 22px; max-width:min(90vw,600px); color:var(--action-text); background:var(--action-bg); border:1px solid #688b71; box-shadow:0 8px 30px #173c3326; z-index:50; border-radius:var(--radius); font-size:13px; }
  .breadcrumb { margin:28px 0 35px; font-size:12px; color:var(--muted); display:flex; gap:12px; flex-wrap:wrap; } .report-heading { max-width:1050px; padding:15px 0 12px; } .report-heading h1 { font-size:clamp(2.7rem,5vw,4.6rem); } .report-meta { display:flex; flex-wrap:wrap; gap:16px; align-items:center; color:var(--muted); font-size:12px; } .report-meta strong { color:var(--ink); }
  .sidebar-block { border-top:1px solid var(--line); padding:22px 0; } .sidebar-block h3 { font-size:11px; text-transform:uppercase; letter-spacing:1px; margin-bottom:16px; } .sidebar-block .button { width:100%; margin:5px 0; } .sidebar-block p { font-size:12px; } .sidebar-block nav { display:flex; flex-direction:column; gap:15px; font-size:12px; }
  details.data-table { margin-top:18px; border-top:1px solid var(--line); padding-top:12px; } summary { cursor:pointer; font-size:12px; font-weight:600; padding:9px 0; } .table-scroll { overflow-x:auto; margin-top:12px; border:1px solid var(--line); border-radius:var(--radius); } table { border-collapse:collapse; width:100%; font-size:12px; font-variant-numeric:tabular-nums; background:var(--white); } th,td { padding:12px 14px; text-align:right; border-bottom:1px solid var(--line); white-space:nowrap; } th:first-child,td:first-child { text-align:left; } th { font-size:10px; background:var(--soft); text-transform:uppercase; letter-spacing:.5px; } tbody tr:last-child td { border:0; } caption { text-align:left; padding:12px 14px; color:var(--muted); font-size:11px; }
  .evidence-list { list-style:none; margin:0; padding:0; } .evidence-list li { padding:20px 0; border-bottom:1px solid var(--line); } .evidence-list li:last-child { border:0; } .evidence-list a { font:19px/1.4 Georgia,serif; text-decoration:none; color:var(--ink); } .evidence-list a:hover { text-decoration:underline; } .evidence-meta { margin-top:10px; display:flex; flex-wrap:wrap; gap:10px; font-size:11px; color:var(--muted); } .editorial-notes { white-space:pre-wrap; font:18px/1.8 Georgia,serif; }
  .methodology { max-width:820px; padding:65px 0; } .methodology h2 { margin-top:42px; } .formula { padding:24px; background:var(--hero-bg); color:var(--hero-ink); font:20px/1.8 Georgia,serif; border-radius:var(--radius); } .methodology li { line-height:1.8; margin:8px 0; } .methodology dt { font-weight:700; margin-top:22px; font-size:14px; } .methodology dd { margin:8px 0; font-size:14px; line-height:1.7; color:var(--muted); }
}
@layer charts {
  .chart-title-row { display:flex; gap:20px; justify-content:space-between; align-items:center; margin-bottom:18px; } .chart-title-row h3 { margin:0; } .chart-legend { display:flex; flex-wrap:wrap; gap:14px; margin:16px 0; font-size:11px; color:var(--muted); } .legend-dot { display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:5px; } .chart-frame { padding:20px 16px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); overflow:hidden; } .chart-frame svg { width:100%; height:auto; display:block; overflow:visible; } .chart-frame svg text { font-family:Arial,sans-serif; fill:var(--muted); } .chart-frame svg .chart-name { fill:var(--ink); font-size:12px; font-weight:600; } .chart-frame svg .chart-value { fill:var(--ink); font-size:11px; } .chart-note { color:var(--muted); font-size:11px; line-height:1.7; margin:12px 0 0; } .chart-control { font-size:11px; padding:7px 9px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); color:var(--ink); min-height:36px; max-width:180px; }
  .composition-bar { display:flex; width:100%; height:38px; overflow:hidden; border-radius:3px; background:var(--soft); } .composition-bar span { display:grid; place-items:center; min-width:0; color:var(--chart-label); font-size:11px; font-weight:700; border-right:1px solid #ffffff80; } .composition-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:25px; } .composition-item strong { font:25px Georgia,serif; color:var(--ink); display:block; margin:7px 0; } .composition-item span { font-size:11px; color:var(--muted); } .source-bar-row { display:grid; grid-template-columns:140px minmax(0,1fr) 45px; gap:14px; align-items:center; margin:18px 0; font-size:12px; } .source-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .source-track { background:var(--soft); border-radius:2px; height:13px; } .source-track span { display:block; background:var(--green); height:100%; border-radius:2px; } .source-count { text-align:right; font-variant-numeric:tabular-nums; }
}
@layer responsive {
  @media(max-width:1000px) { .hero { gap:40px; } .report-layout { grid-template-columns:minmax(0,1fr) 220px; gap:30px; } .report-grid { gap:16px; } .report-card { padding:22px; } .site-header nav { gap:20px; } .metric { padding:0 15px; } }
  @media(max-width:760px) { main { padding:0 22px 50px; } .site-header { padding:18px 22px; min-height:80px; flex-wrap:wrap; gap:18px; } .site-header nav { width:100%; justify-content:space-between; gap:12px; font-size:12px; } .wordmark-caption { max-width:none; font-size:8px; } .hero { padding:42px 0 30px; grid-template-columns:1fr; gap:12px; } .hero-aside { padding:14px 0; border-left:0; border-top:1px solid var(--line); } .hero-intro { font-size:15px; } .featured { grid-template-columns:1fr; gap:20px; padding:28px; } .featured h2 { font-size:2.1rem; } .featured-stats { border-left:0; border-top:1px solid #517166; padding:22px 0 0; justify-content:flex-start; gap:50px; } .featured-stat strong { font-size:42px; } .report-grid { grid-template-columns:1fr; } .report-card { min-height:240px; } .section-head { align-items:start; flex-direction:column; gap:16px; } .report-layout { display:flex; flex-direction:column; gap:20px; } .report-content { width:100%; min-width:0; } .report-sidebar { position:static; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:24px; } .metric-grid { grid-template-columns:repeat(2,1fr); gap:24px 0; } .metric:nth-child(3) { padding-left:0; border-left:0; } .metric-value { font-size:2.6rem; } .report-heading h1 { font-size:2.65rem; } .lede { font-size:18px; } .two-columns { grid-template-columns:1fr; } .site-footer { grid-template-columns:1fr; gap:24px; padding:32px 22px; } .site-footer nav { flex-direction:row; flex-wrap:wrap; font-size:11px; } .composition-grid { gap:16px; } .source-bar-row { grid-template-columns:100px minmax(0,1fr) 40px; gap:10px; } .chart-frame { padding:16px 9px; } }
  @media(prefers-reduced-motion:no-preference) { .button { transition:background .15s,border-color .15s; } }
  @media print { .site-header nav,.site-footer,.report-sidebar,.actions,.filter-tabs,.skip-link { display:none!important; } body { background:white; } main { max-width:none; padding:0; } .report-layout { display:block; } .report-section { break-inside:avoid; } .report-heading h1 { font-size:32px; } .metric-value { font-size:28px; } .report-heading { padding:0; } details.data-table { display:block; } }
}
@layer base { .skip-link:not(:focus) { clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; } }

.figure-search-form { display:flex; align-items:end; gap:18px; flex-wrap:wrap; margin:24px 0; }
.figure-search-form .field { flex:1 1 200px; max-width:440px; }
.figure-search-form input, .figure-search-form select { width:100%; padding:12px; border:1px solid var(--line); background:var(--paper); color:var(--ink); font:inherit; border-radius:3px; }
.figure-card-score { display:flex; gap:18px; align-items:center; margin:24px 0; }
.figure-card-score strong { font:600 36px Georgia,serif; color:var(--green); }
.figure-card-score span { font-size:12px; line-height:1.7; color:var(--muted); }
@media(max-width:600px) { .figure-search-form .field { flex-basis:100%; max-width:none; } .figure-search-form .button { width:100%; } }

.connection-card { border:1px solid var(--line); padding:22px; margin:20px 0; border-radius:var(--radius); background:var(--white); scroll-margin-top:24px; }
.connection-card .section-head { margin:0 0 14px; }
.connection-card h3 { font-family:Georgia,serif; font-size:1.5rem; font-weight:400; margin-bottom:12px; }
.relation-map summary { cursor:pointer; padding:16px 0; font-weight:600; }
.event-history { padding-left:24px; }
.event-history li { margin:14px 0; line-height:1.7; }
.relation-map a:focus-visible .map-hit-area { stroke:#bb6b25; stroke-width:2; }
.relation-map a:hover .map-hit-area { fill:var(--soft); }

.report-event-timeline { list-style:none; padding:0; margin:30px 0 0; }
.report-event-timeline > li { display:grid; grid-template-columns:145px minmax(0,1fr); gap:25px; padding:0 0 30px 22px; margin:0 0 12px 6px; border-left:2px solid var(--line); position:relative; }
.report-event-timeline > li::before { content:''; width:10px; height:10px; border-radius:50%; background:var(--green); position:absolute; left:-6px; top:5px; }
.report-event-timeline h3 { margin-top:0; }
.event-date { font-weight:600; }
.event-date span { display:block; margin-top:6px; font-weight:400; }
.context-selection-summary { padding-left:22px; }
.context-selection-summary li { margin-bottom:22px; }
@media (max-width:600px) { .report-event-timeline > li { grid-template-columns:minmax(0,1fr); gap:12px; padding-left:18px; } }

/* Feed links stay readable and selectable on touch screens. */
.feed-link { display:flex; flex-direction:column; gap:7px; margin:8px 0 18px; font-size:12px; font-weight:600; }
.feed-link input { width:100%; min-width:0; min-height:44px; padding:11px 12px; border:1px solid var(--line); border-radius:3px; background:var(--paper); color:var(--ink); font-size:13px; font-weight:400; }
.actions .text-link { min-height:44px; display:inline-flex; align-items:center; }
.site-header nav a { min-height:44px; display:inline-flex; align-items:center; }
.site-header nav { flex-wrap:wrap; }

.archive-date-form { display:flex; flex-wrap:wrap; align-items:end; gap:12px; margin:18px 0 24px; }
.archive-date-form label { display:grid; gap:6px; font-size:12px; color:var(--muted); min-width:150px; }
.archive-date-form input,.archive-date-form select { font:inherit; color:var(--ink); border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); min-height:44px; padding:9px 12px; max-width:100%; min-width:0; }
.archive-date-form .text-link { background:transparent; border:0; min-height:44px; padding:10px; }
.archive-date-form p { flex-basis:100%; margin:0; }
.archive-date-form p:empty { display:none; }
.archive-date-form { padding:22px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius); }
.archive-results-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:24px 0; }
.archive-results-heading p { margin:0; }
.archive-results-heading button { background:transparent; border:0; color:var(--ink); min-height:44px; flex-shrink:0; }
.report-card .card-meta { flex-wrap:wrap; }
.report-card-dates { margin:0 0 18px; font-size:12px; }
.report-card-dates div { display:grid; grid-template-columns:68px 1fr; gap:8px; margin:6px 0; }
.report-card-dates dt,.report-card-dates dd { margin:0; font:inherit; }
.report-card-dates dt { color:var(--muted); }
.report-card-dates dd { color:var(--ink); }
.card-score { text-align:right; }
.card-score small { display:block; margin-bottom:5px; font:10px/1.4 Arial,sans-serif; color:var(--muted); }
.report-grid > .empty-state { grid-column:1 / -1; }
.archive-context { margin-top:28px; max-width:780px; }
.hero-aside h2 { font-size:24px; }
@media(max-width:600px) { .archive-date-form { padding:16px; } .archive-results-heading { align-items:start; flex-direction:column; gap:4px; } }
@media(max-width:600px) { .archive-date-form label { flex:1 1 140px; min-width:0; } .archive-date-form .button { flex:1 1 140px; } }
@media print { .archive-date-form { display:none; } }

.contact-heading { display:block; padding:55px 0 28px; }
.contact-heading h1 { font-size:clamp(2.7rem,5vw,4.7rem); }
.contact-panel { background:var(--white); border:1px solid var(--line); border-radius:8px; padding:28px; margin-bottom:24px; }
.contact-panel fieldset { margin:0; padding:0; border:0; min-width:0; }
.contact-field { display:flex; flex-direction:column; gap:9px; margin:0 0 22px; font-size:13px; }
.contact-field > span { color:var(--ink); font-weight:600; }
.contact-field small { color:var(--muted); font-weight:400; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; min-width:0; min-height:44px; border:1px solid var(--field-border); background:var(--field-surface); color:var(--ink); border-radius:5px; padding:12px; font:inherit; }
.contact-field textarea { resize:vertical; line-height:1.6; }
.contact-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-consent { display:flex; gap:12px; align-items:start; margin:10px 0 26px; font-size:13px; line-height:1.6; }
.contact-consent input { flex-shrink:0; width:20px; height:20px; accent-color:var(--green); }
.contact-trap,.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#contact-status { margin:18px 0 0; color:var(--red); }
.request-reference { overflow-wrap:anywhere; font:14px/1.7 monospace; background:var(--soft); padding:14px; border-radius:5px; }
.inbox-message { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.8; }
.inbox-card .section-head { margin-top:0; }
.inbox-card h2 { font-size:1.9rem; }
.nav-partnership { font-weight:700; color:var(--ink); }
.partnership-strip { display:flex; align-items:center; justify-content:space-between; gap:32px; margin:48px 0 24px; padding:32px; background:var(--white); border:1px solid var(--line); border-left:4px solid var(--green); border-radius:var(--radius); }
.partnership-strip h2 { font-size:32px; }
.partnership-strip p { max-width:650px; color:var(--muted); }
.partnership-strip .actions { flex-shrink:0; max-width:330px; }
.partnership-hero .hero-aside { align-self:start; }
.partnership-service-menu nav { display:grid; margin-top:22px; }
.partnership-service-menu nav a { display:grid; grid-template-columns:24px 1fr 18px; align-items:baseline; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink); font-weight:600; }
.partnership-service-menu nav a:hover { color:var(--green); }
.service-number { font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }
.capability-featured { border-top:3px solid var(--green); background:var(--soft); }
.capability-card { scroll-margin-top:100px; }
.capability-deliverables { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 18px; }
.capability-deliverables li { padding:6px 10px; border:1px solid var(--line); border-radius:6px; color:var(--ink); font-size:12px; }
.partnership-delivery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:32px; }
.partnership-delivery-grid h3 { font:24px/1.3 Georgia,serif; }
.partnership-delivery-grid p { color:var(--muted); }
.partnership-final { padding-bottom:32px; }
@media(max-width:760px) { .partnership-delivery-grid { grid-template-columns:1fr; gap:12px; } }
.partnership-capabilities { margin:28px 0 48px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.capability-card { min-height:320px; }
.capability-card h3 { font:28px/1.2 Georgia,serif; letter-spacing:-.6px; }
.capability-card .text-link { margin-top:auto; padding-top:16px; min-height:44px; }
.capability-status { align-self:start; display:inline-flex; padding:6px 10px; border:1px solid var(--line); border-radius:20px; font-size:11px; color:var(--green); background:var(--soft); margin:0 0 18px; }
.partnership-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; counter-reset:partnership; padding:0; margin:30px 0; }
.partnership-steps li { counter-increment:partnership; padding:20px 0; border-top:1px solid var(--line); min-width:0; }
.partnership-steps li:before { content:counter(partnership,decimal-leading-zero); display:block; font:30px Georgia,serif; color:var(--green); margin-bottom:16px; }
.partnership-steps h3 { font-size:22px; }
.partnership-steps p { font-size:14px; color:var(--muted); }
.partnership-boundary { padding:28px; border:1px solid var(--line); background:var(--white); border-radius:var(--radius); }
.partnership-comparison .contact-panel h3 { font:26px/1.2 Georgia,serif; }
.email-outreach { max-width:780px; margin-bottom:20px; }
.outreach-address { font-size:clamp(18px,3vw,28px); color:var(--ink); overflow-wrap:anywhere; user-select:text; margin:20px 0; }
@media(max-width:950px) { .partnership-strip { flex-direction:column; align-items:start; } .partnership-strip .actions { max-width:none; } .partnership-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .partnership-capabilities { grid-template-columns:1fr; } }
@media(max-width:600px) { .partnership-strip { padding:24px 18px; gap:16px; } .partnership-steps { grid-template-columns:1fr; } .partnership-boundary { padding:20px; } }
@media(max-width:600px) { .contact-row { grid-template-columns:1fr; gap:0; } .contact-panel { padding:22px 18px; } }
.figure-multiples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.figure-multiple{min-width:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.figure-multiple h3{font-size:21px;margin:0 0 12px;overflow-wrap:anywhere}
.figure-multiple svg{display:block;width:100%;height:auto;fill:var(--muted)}
.comparison-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;padding:16px 0}
.comparison-picker label{display:flex;align-items:flex-start;gap:8px;overflow-wrap:anywhere}
.comparison-picker input{accent-color:var(--green);margin-top:4px}
@media(max-width:600px){.figure-multiples,.comparison-picker{grid-template-columns:1fr}}

.subscription-reference { overflow-wrap: anywhere; }

:is(.resolution-attribution-group,.comparison-attribution-group,.stage-attribution-group) { border-top:1px solid var(--line); padding:8px 0; }
:is(.resolution-attribution-group,.comparison-attribution-group,.stage-attribution-group) > summary { min-height:44px; padding:12px 0; line-height:1.6; overflow-wrap:anywhere; }
:is(.resolution-attribution-group,.comparison-attribution-group,.stage-attribution-group) > summary strong { font-size:13px; }
:is(.resolution-attribution-group,.comparison-attribution-group,.stage-attribution-group) > summary small { display:block; color:var(--muted); font-weight:400; }
:is(.resolution-attribution-group,.comparison-attribution-group,.stage-attribution-group)[open] { padding-bottom:16px; }

.research-evidence { margin: 24px 0; }
.research-evidence summary { cursor: pointer; padding: 12px 0; }
.research-milestones { display: grid; gap: 12px; }
.research-milestones > div { padding: 12px 0; border-bottom: 1px solid var(--line); }
.research-milestones dt { font-weight: 700; }
.research-milestones dd { margin: 5px 0 0; overflow-wrap: anywhere; }
[data-research-form] { margin-top: 24px; }

/* Give standalone footer links a comfortable mobile tap area. */
@media(max-width:760px) {
  .site-footer nav { gap:4px 14px; font-size:12px; }
  .site-footer nav a { display:inline-flex; align-items:center; min-height:44px; }
}

/* Chart headings and their controls must fit narrow report columns. */
.chart-title-row { flex-wrap:wrap; }
.chart-title-row > label { display:flex; align-items:center; flex-wrap:wrap; gap:8px; max-width:100%; }
.chart-control { min-height:44px; }

/* Reports begin with people and source reading, with audit detail on demand. */
.reader-scope { max-width:760px; margin:18px 0 0; color:var(--muted); font-size:14px; }
.reader-limited { padding:24px; margin:0 0 32px; border-left:3px solid var(--gold); background:var(--soft); border-radius:var(--radius); }
.reader-limited h2 { font-size:26px; margin-bottom:10px; }
.reader-limited p { margin:0; }
.reader-figure-controls { margin:24px 0; }
.reader-figure-controls label { display:grid; gap:8px; font-size:14px; max-width:430px; }
.reader-figure-controls input { min-width:0; width:100%; padding:12px; min-height:44px; background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:var(--radius); }
.reader-figure-controls p { margin:8px 0; font-size:13px; color:var(--muted); }
.reader-figure-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0 0 22px; }
.reader-figure-card { min-width:0; padding:24px; border:1px solid var(--line); border-radius:8px; background:var(--white); }
.reader-card-heading h3 { font:26px/1.2 Georgia,serif; margin:0 0 10px; overflow-wrap:anywhere; }
.reader-evidence-label { display:inline-block; color:var(--muted); font-size:12px; margin-bottom:18px; }
.reader-finding { font-size:16px; margin-bottom:18px; }
.reader-tone-bar { display:flex; height:10px; gap:2px; overflow:hidden; border-radius:3px; }
.reader-tone-counts { list-style:none; padding:0; margin:14px 0 22px; display:flex; flex-wrap:wrap; gap:10px 14px; font-size:12px; }
.reader-tone-counts li { display:flex; align-items:center; gap:6px; }
.tone-positive { background:var(--chart-positive,#137660); }
.tone-negative { background:var(--chart-negative,#ac463a); }
.tone-neutral { background:var(--chart-neutral,#738d8a); }
.tone-mixed { background:var(--chart-mixed,#97701d); }
.reader-figure-card .reader-evidence { margin:16px 0; }
.reader-figure-card .reader-evidence li { padding:14px 0; }
.reader-figure-card .reader-evidence a { font-size:14px; line-height:1.55; }
.reader-evidence a { overflow-wrap:anywhere; }
.reader-evidence .evidence-meta { flex-wrap:wrap; }
.reader-topic-list { list-style:none; padding:0; display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.reader-topic-list li { display:flex; flex-direction:column; gap:5px; padding:18px; background:var(--soft); border-radius:var(--radius); }
.reader-topic-list span { color:var(--muted); font-size:13px; }
.report-data-details { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:18px 0; }
.report-data-details summary,.report-downloads summary { cursor:pointer; padding:18px 0; font-weight:600; line-height:1.5; }
.report-data-details .report-detail-body { padding:4px 0 22px; line-height:1.7; }
.report-detail-body > p,.report-detail-body > ul { font-size:14px; }
.report-detail-body .data-table { margin:22px 0; }
.report-downloads > a { margin:10px 0; }
.report-sidebar .text-link { display:block; margin-top:18px; }
@media(max-width:1100px) { .reader-figure-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) { .reader-figure-card { padding:20px; } .reader-limited { padding:20px; } .reader-topic-list { grid-template-columns:minmax(0,1fr); } }

.reader-source-excerpt { border-left:2px solid var(--line); padding:0 0 0 14px; margin:16px 0 8px; font-size:14px; }
.reader-source-excerpt p { margin:0 0 6px; }
.reader-source-excerpt cite { font:12px/1.5 Arial,sans-serif; color:var(--muted); }

.reader-source-lead { margin-top:0; }
.reader-source-lead .evidence-list > li { padding:18px 0; }
.reader-source-lead .evidence-list > li > a { font:23px/1.35 Georgia,serif; }
.reader-tone-details { margin:0 0 18px; }
.reader-tone-details summary { cursor:pointer; color:var(--muted); font-size:13px; padding:4px 0 12px; }
p.reader-limited { padding:16px 20px; font-size:14px; line-height:1.6; }

.archive-custom-dates { display:flex; flex-wrap:wrap; align-items:end; gap:12px; flex-basis:100%; border-top:1px solid var(--line); padding-top:16px; }
@media(max-width:600px) { .archive-custom-dates label { flex:1 1 120px; } .archive-custom-dates .button { flex-basis:100%; } }

.report-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:24px 0 18px; }
.report-jump-links { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:14px; padding:12px 0; }
.report-jump-links a { display:inline-flex; align-items:center; min-height:44px; }
#figure-index,#figure-comparison,#coverage-activity,#report-downloads { scroll-margin-top:24px; }
.chart-title-row select { display:block; max-width:100%; min-height:44px; margin-top:8px; padding:9px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); color:var(--ink); font:inherit; }
.index-ranking-table { max-height:440px; margin:24px 0; border:1px solid var(--line); }
.index-ranking-table thead th { position:sticky; top:0; background:var(--white); z-index:1; }
.index-ranking-table td,.index-ranking-table th { font-variant-numeric:tabular-nums; }
#report-downloads { margin-top:24px; border-top:1px solid var(--line); padding-top:20px; }
@media(max-width:760px) { .report-jump-links { gap:8px 16px; } .chart-title-row { align-items:start; flex-wrap:wrap; } .report-actions .button { flex:1 1 140px; justify-content:center; } .index-ranking-table { max-height:400px; } }

.live-ranking { margin-top:32px; padding:28px; border:1px solid var(--line); border-radius:12px; background:var(--white); }
.live-ranking-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.live-ranking-heading h2 { margin:8px 0 16px; }
.live-ranking-heading .eyebrow { margin:0; }
.live-ranking-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px; background:var(--soft); border:1px solid var(--line); border-radius:30px; color:var(--ink); font-size:12px; white-space:nowrap; }
.live-ranking-badge::before { content:''; width:7px; height:7px; background:var(--chart-positive); border-radius:50%; }
.live-ranking-scale { display:flex; justify-content:space-between; margin:26px 88px 10px 310px; font-size:11px; color:var(--muted); gap:8px; }
.live-ranking-list { list-style:none; padding:0 8px 0 0; margin:0; max-height:620px; overflow-y:auto; scrollbar-gutter:stable; }
.live-rank-row { display:grid; grid-template-columns:38px minmax(130px,240px) minmax(100px,1fr) 64px; gap:16px; align-items:center; padding:18px 6px; border-top:1px solid var(--line); }
.live-rank-position { font:18px/1.2 Georgia,serif; color:var(--muted); text-align:center; font-variant-numeric:tabular-nums; }
.live-rank-identity { min-width:0; }
.live-rank-identity a { font-size:15px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.live-rank-identity > span { display:block; margin-top:6px; color:var(--muted); font-size:12px; }
.live-rank-meter { position:relative; height:28px; border-radius:3px; background:linear-gradient(to right,transparent 49.8%,var(--line) 49.8%,var(--line) 50.2%,transparent 50.2%),var(--soft); }
.live-rank-bar { position:absolute; top:10px; height:8px; border-radius:4px; background:currentColor; opacity:.35; }
.live-rank-dot { position:absolute; top:7px; width:14px; height:14px; border:2px solid currentColor; border-radius:50%; transform:translateX(-50%); background:currentColor; }
.live-rank-dot.limited { background:var(--white); }
.live-rank-meter.positive,.live-rank-score.positive { color:var(--chart-positive); }
.live-rank-meter.negative,.live-rank-score.negative { color:var(--chart-negative); }
.live-rank-meter.neutral,.live-rank-score.neutral { color:var(--chart-neutral); }
.live-rank-score { font-size:18px; text-align:right; font-variant-numeric:tabular-nums; }
.live-ranking-footer { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-top:20px; border-top:1px solid var(--line); }
.live-ranking-footer p { flex:1 1 260px; margin:0; font-size:13px; color:var(--muted); }
.live-ranking > .fine-print { margin:20px 0 0; }
.live-ranking-empty { padding:28px 0; border-top:1px solid var(--line); }
@media(max-width:760px) {
  .live-ranking { padding:20px 16px; }
  .live-ranking-scale { margin:24px 0 12px 42px; font-size:10px; }
  .live-rank-row { grid-template-columns:26px minmax(0,1fr) 56px; gap:10px 12px; padding:16px 0; }
  .live-rank-position { grid-column:1; grid-row:1 / 3; }
  .live-rank-identity { grid-column:2; grid-row:1; }
  .live-rank-score { grid-column:3; grid-row:1; font-size:16px; }
  .live-rank-meter { grid-column:2 / 4; grid-row:2; height:24px; }
  .live-rank-bar { top:8px; }
  .live-rank-dot { top:5px; }
}

.figure-index-value { display:flex; flex-wrap:wrap; align-items:baseline; gap:16px; margin:14px 0; }
.figure-index-value strong { font:56px/1.1 Georgia,serif; font-variant-numeric:tabular-nums; }
.figure-index-value span { font-size:16px; color:var(--muted); }
.sentiment-history-chart { margin-top:24px; }

/* One index presentation across reader cards and comparison panels. */
.reader-index { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 14px; margin:18px 0; }
.reader-index span { color:var(--muted); font-size:13px; }
.reader-index strong { font:36px/1.2 Georgia,serif; font-variant-numeric:tabular-nums; }
.reader-index small { color:var(--muted); }
.raw-figure-comparison { padding:18px; border:1px solid var(--line); border-radius:12px; min-width:0; }
.raw-figure-comparison svg { width:100%; height:auto; }
