.threezero-vi-hero {
	padding: clamp(70px, 10vw, 120px) 0 72px;
	color: var(--threezero-paper);
	background: var(--threezero-forest);
}

.threezero-vi-hero h1 {
	max-width: 850px;
	margin-bottom: 22px;
	font-family: var(--threezero-serif);
	font-size: clamp(42px, 7vw, 76px);
	font-weight: 500;
	line-height: 0.98;
}

.threezero-vi-hero > div > p:not(.threezero-eyebrow) {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.76);
	font-size: 18px;
}

.threezero-vi-sync-note {
	margin: 30px 0 0;
	font-family: var(--threezero-mono);
	font-size: 12px !important;
}

.threezero-vi-link-grid,
.threezero-vi-stat-grid,
.threezero-vi-report-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.threezero-vi-link-grid > a,
.threezero-vi-stat-grid > article {
	display: flex;
	min-height: 180px;
	padding: 28px;
	flex-direction: column;
	justify-content: space-between;
	text-decoration: none;
	background: var(--threezero-paper);
	border: 1px solid var(--threezero-line);
	border-radius: var(--threezero-radius);
	box-shadow: var(--threezero-shadow);
}

.threezero-vi-link-grid strong,
.threezero-vi-stat-grid strong {
	font-family: var(--threezero-serif);
	font-size: 28px;
	font-weight: 500;
}

.threezero-vi-link-grid span,
.threezero-vi-stat-grid span { color: var(--threezero-muted); }

.threezero-vi-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	padding: 28px;
	margin-bottom: 52px;
	background: var(--threezero-mint);
	border: 1px solid var(--threezero-line);
	border-radius: var(--threezero-radius);
}

.threezero-vi-filters label {
	display: flex;
	gap: 6px;
	flex-direction: column;
	font-size: 13px;
	font-weight: 700;
}

.threezero-vi-filters input,
.threezero-vi-filters select {
	width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	color: var(--threezero-ink);
	background: var(--threezero-paper);
	border: 1px solid var(--threezero-line);
	border-radius: 8px;
}

.threezero-vi-filter-search { grid-column: span 2; }
.threezero-vi-filter-actions { display: flex; grid-column: span 2; align-items: end; gap: 18px; }
.threezero-vi-filter-actions .threezero-text-link { padding: 12px 0; border: 0; background: transparent; cursor: pointer; }
.threezero-vi-result-heading { margin-bottom: 22px; }

.threezero-vi-results { display: grid; gap: 18px; }
.threezero-vi-result {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	padding: 28px;
	background: var(--threezero-paper);
	border: 1px solid var(--threezero-line);
	border-radius: var(--threezero-radius-small);
}

.threezero-vi-result h3 { margin: 10px 0; font-family: var(--threezero-serif); font-size: clamp(22px, 3vw, 30px); font-weight: 500; line-height: 1.15; }
.threezero-vi-result h3 a { text-decoration: none; }
.threezero-vi-result h3 a:hover { text-decoration: underline; }
.threezero-vi-result dl { min-width: 115px; margin: 0; }
.threezero-vi-result dl div + div { margin-top: 14px; }
.threezero-vi-result dt { color: var(--threezero-muted); font-size: 12px; text-transform: uppercase; letter-spacing: 0.08em; }
.threezero-vi-result dd { margin: 2px 0 0; font-weight: 700; }
.threezero-vi-software-list { display: flex; flex-wrap: wrap; gap: 6px 16px; color: var(--threezero-muted); }
.threezero-vi-range { margin: 14px 0 4px; }
.threezero-vi-method-note { padding: 14px 18px; color: var(--threezero-forest); background: #ead7ca; border-left: 4px solid var(--threezero-accent); border-radius: 6px; font-size: 14px; }
.threezero-vi-row-sync { margin: 10px 0 0; color: var(--threezero-muted); font-family: var(--threezero-mono); font-size: 11px; }

.threezero-vi-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.threezero-vi-badges span { padding: 4px 9px; background: var(--threezero-sand); border-radius: 100px; font-family: var(--threezero-mono); font-size: 11px; }
.threezero-vi-badges [data-severity="critical"], .threezero-vi-badges [data-severity="high"] { color: #5f2015; background: #f1c9bf; }
.threezero-vi-badges [data-severity="medium"] { color: #6c4715; background: #f2dfb8; }
.threezero-vi-badges [data-severity="low"] { color: #164927; background: #d6eed9; }

.threezero-vi-report-columns { margin: 45px 0; }
.threezero-vi-report-columns section { padding: 24px; background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: var(--threezero-radius-small); }
.threezero-vi-report-columns h2 { font-family: var(--threezero-serif); font-size: 24px; font-weight: 500; }
.threezero-vi-report-columns table { width: 100%; border-collapse: collapse; }
.threezero-vi-report-columns th, .threezero-vi-report-columns td { padding: 9px 0; border-bottom: 1px solid var(--threezero-line); text-align: left; vertical-align: top; }
.threezero-vi-report-columns td { text-align: right; font-family: var(--threezero-mono); }

.threezero-vi-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 1px; background: var(--threezero-line); border-radius: var(--threezero-radius-small); overflow: hidden; }
.threezero-vi-facts div { padding: 18px; background: var(--threezero-paper); }
.threezero-vi-facts dt { color: var(--threezero-muted); font-size: 12px; text-transform: uppercase; }
.threezero-vi-facts dd { margin: 5px 0 0; overflow-wrap: anywhere; }
.threezero-vi-software { padding: 24px; margin: 22px 0; background: var(--threezero-mint); border-radius: var(--threezero-radius-small); }
.threezero-vi-software h3 small { color: var(--threezero-muted); font-family: var(--threezero-mono); font-size: 11px; text-transform: uppercase; }
.threezero-vi-attribution { padding: 26px; margin-top: 46px; background: var(--threezero-sand); border-radius: var(--threezero-radius); }
.threezero-vi-attribution summary { cursor: pointer; font-weight: 700; }
.threezero-vi-claim { padding-top: 18px; border-top: 1px solid var(--threezero-line); }
.threezero-vi-claim h3 { font-family: var(--threezero-mono); font-size: 13px; }
.threezero-vi-record ul { overflow-wrap: anywhere; }
.threezero-vi-inline-details { padding-top: 14px; margin: 18px 0; border-top: 1px solid var(--threezero-line); }
.threezero-vi-inline-details > summary,
.threezero-vi-attribution > summary { color: var(--threezero-forest); font-weight: 700; cursor: pointer; }
.threezero-vi-inline-details > div { padding-top: 14px; }
.threezero-vi-inline-details section { padding: 14px 0; border-top: 1px solid var(--threezero-line); }
.threezero-vi-inline-details h4 { margin: 0 0 8px; font-family: var(--threezero-serif); font-size: 20px; }
.threezero-vi-compact-attribution { padding: 14px; background: var(--threezero-sand); border-radius: var(--threezero-radius-small); }
.threezero-vi-source-line { margin-top: 42px; color: var(--threezero-muted); font-size: 14px; }
.threezero-vi-view .pagination {
	display: flex;
	margin: 42px 0 0;
	padding: 4px 4px 16px;
	justify-content: center;
	overflow: visible;
}
.threezero-vi-view .pagination ul.page-numbers,
.threezero-vi-view .pagination .nav-links {
	display: flex;
	width: auto;
	max-width: 100%;
	min-width: 0;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 7px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	background: var(--threezero-paper);
	border: 1px solid var(--threezero-line);
	border-radius: 12px;
	box-shadow: var(--threezero-shadow);
	list-style: none;
}
.threezero-vi-view .pagination li { margin: 0; }
.threezero-vi-view .pagination a.page-numbers,
.threezero-vi-view .pagination span.page-numbers,
.threezero-vi-view .pagination .nav-links > a,
.threezero-vi-view .pagination .nav-links > span {
	display: grid;
	min-width: 42px;
	min-height: 42px;
	padding: 8px 11px;
	place-items: center;
	color: var(--threezero-forest);
	background: transparent;
	border: 1px solid transparent;
	border-radius: 8px;
	font-family: var(--threezero-mono);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}
.threezero-vi-view .pagination a.page-numbers:hover,
.threezero-vi-view .pagination a.page-numbers:focus-visible,
.threezero-vi-view .pagination .nav-links > a:hover,
.threezero-vi-view .pagination .nav-links > a:focus-visible { background: var(--threezero-mint); border-color: var(--threezero-forest); outline: 0; }
.threezero-vi-view .pagination .current { color: var(--threezero-paper) !important; background: var(--threezero-forest) !important; }
.threezero-vi-view .pagination .prev,
.threezero-vi-view .pagination .next { min-width: auto !important; padding-inline: 15px !important; }
.threezero-vi-view .pagination .dots { min-width: 28px !important; color: var(--threezero-muted); }

.threezero-vi-directory-filters {
	display: grid;
	grid-template-columns: minmax(260px, 2fr) minmax(180px, 1fr) minmax(220px, 1fr) auto;
	gap: 16px;
	align-items: end;
	padding: 24px;
	margin-bottom: 48px;
	background: var(--threezero-mint);
	border: 1px solid var(--threezero-line);
	border-radius: var(--threezero-radius);
}
.threezero-vi-directory-filters label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; }
.threezero-vi-directory-filters input,
.threezero-vi-directory-filters select { width: 100%; min-height: 48px; padding: 9px 12px; color: var(--threezero-ink); background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: 8px; }
.threezero-vi-directory { display: grid; gap: 14px; }
.threezero-vi-directory-row { display: grid; grid-template-columns: minmax(220px, .75fr) minmax(0, 1.7fr); gap: 32px; padding: 28px; background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: var(--threezero-radius-small); box-shadow: var(--threezero-shadow); }
.threezero-vi-directory-row:hover { border-color: var(--threezero-forest); }
.threezero-vi-directory-row h3 { margin: 7px 0; font-family: var(--threezero-serif); font-size: clamp(20px, 2vw, 27px); font-weight: 500; line-height: 1.12; }
.threezero-vi-directory-row h3 a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.threezero-vi-type { color: var(--threezero-accent-dark); font-family: var(--threezero-mono); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.threezero-vi-directory-row dl { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 0; align-items: start; }
.threezero-vi-directory-row dt { min-height: 34px; color: var(--threezero-muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.threezero-vi-directory-row dd { margin: 7px 0 0; font-weight: 700; }

.threezero-vi-history-hero h1 small { display: block; max-width: 720px; margin-top: 14px; color: var(--threezero-mint); font-family: var(--threezero-sans); font-size: clamp(18px, 2.5vw, 28px); font-weight: 600; line-height: 1.15; }
.threezero-vi-history-nav { background: var(--threezero-paper); border-bottom: 1px solid var(--threezero-line); }
.threezero-vi-history-nav > div { display: flex; min-height: 62px; align-items: center; flex-wrap: wrap; gap: 4px 24px; }
.threezero-vi-history-nav a { padding: 9px 0; color: var(--threezero-forest); font-size: 13px; font-weight: 700; text-decoration: none; border-bottom: 2px solid transparent; }
.threezero-vi-history-nav a:hover,
.threezero-vi-history-nav a:focus-visible { color: var(--threezero-accent-dark); border-bottom-color: var(--threezero-accent); outline: 0; }
.threezero-vi-anchor-section { scroll-margin-top: 24px; }
.threezero-vi-section-kicker { margin: 0 0 9px; color: var(--threezero-accent-dark); font-family: var(--threezero-mono); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.threezero-vi-snapshot { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 28px; border-top: 1px solid var(--threezero-line); border-left: 1px solid var(--threezero-line); }
.threezero-vi-snapshot > div { min-height: 130px; padding: 20px; background: var(--threezero-paper); border-right: 1px solid var(--threezero-line); border-bottom: 1px solid var(--threezero-line); }
.threezero-vi-snapshot > div:nth-child(2),
.threezero-vi-snapshot > div:nth-child(3),
.threezero-vi-snapshot > div:nth-child(8) { box-shadow: inset 0 4px 0 var(--threezero-accent); }
.threezero-vi-snapshot > div:nth-child(7) { box-shadow: inset 0 4px 0 var(--threezero-forest); }
.threezero-vi-snapshot strong { display: block; font-family: var(--threezero-serif); font-size: clamp(25px, 3.2vw, 38px); font-weight: 500; line-height: 1; }
.threezero-vi-snapshot span { display: block; margin-top: 16px; color: var(--threezero-muted); font-size: 12px; }
.threezero-vi-history-band { background: var(--threezero-mint); border-top: 1px solid var(--threezero-line); border-bottom: 1px solid var(--threezero-line); }
.threezero-vi-history-two { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(34px, 7vw, 82px); }
.threezero-vi-history-two h2,
.threezero-vi-view main > section h2 { font-family: var(--threezero-serif); font-weight: 500; line-height: 1.08; }
.threezero-vi-chart-table { width: 100%; border-collapse: collapse; }
.threezero-vi-chart-table th,
.threezero-vi-chart-table td { padding: 10px 8px; border-bottom: 1px solid var(--threezero-line); text-align: left; }
.threezero-vi-chart-table td:nth-child(2),
.threezero-vi-chart-table td:nth-child(3) { font-family: var(--threezero-mono); font-size: 12px; }
.threezero-vi-bar { display: block; width: var(--threezero-vi-value); min-width: 4px; height: 9px; background: var(--threezero-accent); border-radius: 100px; }
.threezero-vi-type-breakdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; border-top: 1px solid var(--threezero-line); }
.threezero-vi-type-breakdown article { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--threezero-line); }
.threezero-vi-type-breakdown article:nth-child(odd) { padding-right: 28px; border-right: 1px solid var(--threezero-line); }
.threezero-vi-type-breakdown article:nth-child(even) { padding-left: 28px; }
.threezero-vi-type-breakdown h3 { margin: 0; font-family: var(--threezero-serif); font-size: 23px; font-weight: 500; }
.threezero-vi-type-breakdown strong,
.threezero-vi-type-breakdown span { font-family: var(--threezero-mono); font-size: 12px; }
.threezero-vi-type-breakdown p { grid-column: 1 / -1; margin: 0; color: var(--threezero-muted); font-size: 13px; }
.threezero-vi-patch-status { display: grid; grid-template-columns: repeat(3, 1fr); margin: 24px 0; border: 1px solid var(--threezero-line); }
.threezero-vi-patch-status div { padding: 18px; }
.threezero-vi-patch-status div + div { border-left: 1px solid var(--threezero-line); }
.threezero-vi-patch-status dt { color: var(--threezero-muted); font-size: 12px; }
.threezero-vi-patch-status dd { margin: 8px 0 0; font-family: var(--threezero-serif); font-size: 30px; }
.threezero-vi-version-list { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; list-style: none; }
.threezero-vi-version-list li { padding: 7px 10px; background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: 7px; }
.threezero-vi-section-heading { max-width: 680px; margin-bottom: 26px; }
.threezero-vi-table-scroll { overflow-x: auto; }
.threezero-vi-history-table { width: 100%; min-width: 780px; border-collapse: collapse; background: var(--threezero-paper); }
.threezero-vi-history-table th,
.threezero-vi-history-table td { padding: 14px 16px; border: 1px solid var(--threezero-line); text-align: left; vertical-align: top; }
.threezero-vi-history-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0 44px; }
.threezero-vi-history-records article { display: flex; min-height: 100%; padding: 24px; flex-direction: column; background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: var(--threezero-radius-small); box-shadow: var(--threezero-shadow); }
.threezero-vi-history-records article:hover { border-color: var(--threezero-forest); }
.threezero-vi-history-records h3 { margin: 13px 0; font-family: var(--threezero-serif); font-size: 24px; font-weight: 500; line-height: 1.15; }
.threezero-vi-record-date { color: var(--threezero-muted); font-size: 13px; }
.threezero-vi-record-facts { display: grid; gap: 10px; margin: 8px 0 20px; }
.threezero-vi-record-facts div { padding-top: 10px; border-top: 1px solid var(--threezero-line); }
.threezero-vi-record-facts dt { color: var(--threezero-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.threezero-vi-record-facts dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.threezero-vi-history-record > .threezero-text-link { margin-top: auto; }
.threezero-vi-global-cta { color: var(--threezero-paper); background: var(--threezero-forest); }
.threezero-vi-global-cta > .threezero-container { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 48px; align-items: center; }
.threezero-vi-global-cta h2 { max-width: 650px; margin-top: 0; font-size: clamp(34px, 5vw, 54px); }
.threezero-vi-global-cta p { max-width: 660px; color: rgba(255,255,255,.78); }
.threezero-vi-cta-actions { display: grid; gap: 12px; }
.threezero-vi-global-cta .threezero-button--outline { color: var(--threezero-paper); border-color: rgba(255,255,255,.45); }

@media (max-width: 820px) {
	.threezero-vi-link-grid, .threezero-vi-stat-grid, .threezero-vi-report-columns { grid-template-columns: 1fr; }
	.threezero-vi-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.threezero-vi-result { grid-template-columns: 1fr; }
	.threezero-vi-result dl { display: flex; gap: 24px; }
	.threezero-vi-result dl div + div { margin-top: 0; }
	.threezero-vi-directory-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.threezero-vi-directory-row { grid-template-columns: 1fr; }
	.threezero-vi-directory-row dl { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.threezero-vi-snapshot { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.threezero-vi-history-two,
	.threezero-vi-global-cta > .threezero-container { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.threezero-vi-filters { grid-template-columns: 1fr; padding: 20px; }
	.threezero-vi-filter-search, .threezero-vi-filter-actions { grid-column: auto; }
	.threezero-vi-filter-actions { align-items: stretch; flex-direction: column; }
	.threezero-vi-result { padding: 20px; }
	.threezero-vi-facts { grid-template-columns: 1fr; }
	.threezero-vi-directory-filters { grid-template-columns: 1fr; padding: 20px; }
	.threezero-vi-directory-row dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.threezero-vi-snapshot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.threezero-vi-type-breakdown,
	.threezero-vi-history-records { grid-template-columns: 1fr; }
	.threezero-vi-type-breakdown article:nth-child(odd),
	.threezero-vi-type-breakdown article:nth-child(even) { padding: 20px 0; border-right: 0; }
	.threezero-vi-patch-status { grid-template-columns: 1fr; }
	.threezero-vi-patch-status div + div { border-top: 1px solid var(--threezero-line); border-left: 0; }
	.threezero-vi-view .pagination { justify-content: flex-start; overflow-x: auto; overflow-y: hidden; padding: 8px 4px 18px; scrollbar-width: thin; }
	.threezero-vi-view .pagination ul.page-numbers,
	.threezero-vi-view .pagination .nav-links { width: max-content; min-width: 100%; flex-wrap: nowrap; justify-content: flex-start; }
	.threezero-vi-view .pagination a.page-numbers,
	.threezero-vi-view .pagination span.page-numbers,
	.threezero-vi-view .pagination .nav-links > a,
	.threezero-vi-view .pagination .nav-links > span { min-width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
	.threezero-vi-view * { scroll-behavior: auto !important; }
}

/* Research hub and reproducible study pages. */
.threezero-research-hub-hero h1,
.threezero-research-hero h1 { max-width: 920px; }
.threezero-research-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.threezero-research-meta span { padding: 8px 12px; color: var(--threezero-forest); background: rgba(190,235,215,.72); border: 1px solid rgba(20,61,51,.14); border-radius: 999px; font-size: 13px; font-weight: 700; }
.threezero-research-hub-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; overflow: hidden; background: var(--threezero-line); border: 1px solid var(--threezero-line); border-radius: 22px; box-shadow: 0 22px 60px rgba(20,61,51,.06); }
.threezero-research-hub-stats article { display: flex; min-height: 180px; padding: 28px; background: var(--threezero-paper); flex-direction: column; }
.threezero-research-hub-stats span { color: var(--threezero-muted); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.threezero-research-hub-stats strong { margin: auto 0 8px; color: var(--threezero-forest); font-family: var(--threezero-heading-font); font-size: clamp(34px,4vw,54px); line-height: 1; }
.threezero-research-hub-stats small { color: var(--threezero-muted); line-height: 1.45; }
.threezero-research-hub-signal { color: var(--threezero-paper); background: var(--threezero-forest); }
.threezero-research-hub-signal > .threezero-container { display: grid; grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: 70px; align-items: center; }
.threezero-research-hub-signal .threezero-eyebrow,.threezero-research-hub-signal p { color: rgba(255,255,255,.72); }
.threezero-research-hub-signal h2 { color: #fff; }
.threezero-research-hub-signal .threezero-text-link { color: var(--threezero-mint); }
.threezero-research-spark { display: flex; height: 330px; gap: clamp(12px,3vw,34px); align-items: end; padding: 30px 20px 0; border-bottom: 1px solid rgba(255,255,255,.28); }
.threezero-research-spark div { display: flex; height: 100%; min-width: 0; flex: 1; flex-direction: column; justify-content: end; text-align: center; }
.threezero-research-spark strong { margin-bottom: 8px; color: var(--threezero-mint); font-size: 14px; }
.threezero-research-spark i { display: block; min-height: 4px; background: linear-gradient(180deg,var(--threezero-coral),#f3b49f); border-radius: 8px 8px 0 0; box-shadow: 0 -10px 32px rgba(226,114,91,.25); }
.threezero-research-spark span { padding: 12px 0; color: rgba(255,255,255,.78); font-size: 13px; }
.threezero-research-section-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: end; margin-bottom: 40px; }
.threezero-research-section-heading h2 { margin-bottom: 0; }
.threezero-research-section-heading > p { color: var(--threezero-muted); }
.threezero-research-report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.threezero-research-report-card { position: relative; display: flex; min-height: 300px; padding: 34px; overflow: hidden; color: var(--threezero-forest); background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: 20px; flex-direction: column; text-decoration: none; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.threezero-research-report-card:hover { transform: translateY(-4px); border-color: var(--threezero-coral); box-shadow: 0 22px 60px rgba(20,61,51,.09); }
.threezero-research-report-card > span { color: var(--threezero-coral); font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.threezero-research-report-card h3 { max-width: 520px; margin: 28px 0 14px; font-size: clamp(24px,3vw,36px); line-height: 1.08; }
.threezero-research-report-card p { max-width: 620px; color: var(--threezero-muted); }
.threezero-research-report-card strong { margin-top: auto; }
.threezero-research-report-card:first-child { grid-column: 1/-1; min-height: 340px; background: var(--threezero-mint); }
.threezero-research-method { background: var(--threezero-mint); }
.threezero-research-method > .threezero-container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; }
.threezero-research-question { max-width: 850px; margin-bottom: 42px; }
.threezero-research-question > span { color: var(--threezero-coral); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.threezero-research-question h2 { margin: 10px 0 16px; font-size: clamp(30px,4.5vw,52px); line-height: 1.05; }
.threezero-research-question p { max-width: 760px; color: var(--threezero-muted); font-size: 18px; }
.threezero-research-chart { margin: 44px 0; padding: clamp(20px,4vw,38px); background: var(--threezero-paper); border: 1px solid var(--threezero-line); border-radius: 22px; box-shadow: 0 16px 50px rgba(20,61,51,.05); }
.threezero-research-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.threezero-research-chart svg text { fill: var(--threezero-muted); font: 12px var(--threezero-body-font); }
.threezero-chart-grid { stroke: rgba(20,61,51,.12); stroke-width: 1; }
.threezero-research-chart figcaption { display: grid; gap: 5px; margin-bottom: 24px; }
.threezero-research-chart figcaption strong { color: var(--threezero-forest); font-size: 20px; }
.threezero-research-chart figcaption span { color: var(--threezero-muted); }
.threezero-research-legend { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; align-items: center; font-size: 13px; }
.threezero-research-legend i { display: inline-block; width: 22px; height: 4px; margin-right: -7px; background: var(--series-color); border-radius: 99px; }
.threezero-research-bars > div { display: grid; gap: 15px; }
.threezero-research-bar { display: grid; grid-template-columns: minmax(150px,.55fr) minmax(180px,1.45fr) minmax(70px,auto); gap: 16px; align-items: center; }
.threezero-research-bar > span { font-weight: 700; }
.threezero-research-bar > b { display: block; height: 14px; overflow: hidden; background: rgba(190,235,215,.58); border-radius: 999px; }
.threezero-research-bar > b i { display: block; height: 100%; min-width: 2px; background: linear-gradient(90deg,var(--threezero-forest),var(--threezero-coral)); border-radius: inherit; }
.threezero-research-bar > strong { text-align: right; }
.threezero-table-wrap { margin: 36px 0; overflow-x: auto; border: 1px solid var(--threezero-line); border-radius: 18px; }
.threezero-research-table { width: 100%; min-width: 700px; margin: 0; border-collapse: collapse; background: var(--threezero-paper); }
.threezero-research-table caption { padding: 22px 24px; color: var(--threezero-forest); font-family: var(--threezero-heading-font); font-size: 22px; font-weight: 700; text-align: left; }
.threezero-research-table th,.threezero-research-table td { padding: 15px 18px; border-top: 1px solid var(--threezero-line); text-align: right; white-space: nowrap; }
.threezero-research-table th:first-child,.threezero-research-table td:first-child { text-align: left; }
.threezero-research-table thead th { color: var(--threezero-muted); background: rgba(190,235,215,.28); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.threezero-research-table tbody tr:hover { background: rgba(190,235,215,.18); }
.threezero-research-interpretation { margin: 48px 0; padding: clamp(26px,5vw,50px); background: var(--threezero-mint); border-left: 6px solid var(--threezero-coral); border-radius: 0 22px 22px 0; }
.threezero-research-interpretation h2 { margin-top: 0; }
.threezero-research-interpretation p { max-width: 900px; margin-bottom: 0; font-size: 18px; }
.threezero-research-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.threezero-research-grid > * { margin-top: 0; }
.threezero-research-pending { padding: 44px; background: var(--threezero-mint); border: 1px solid var(--threezero-line); border-radius: 22px; }
.threezero-research-next { display: flex; justify-content: space-between; gap: 22px; margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--threezero-line); }
.threezero-research-next a { color: var(--threezero-forest); font-weight: 800; text-decoration: none; }
.threezero-research-download { margin: 0 0 24px; }

@media (max-width: 900px) {
	.threezero-research-hub-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.threezero-research-hub-signal > .threezero-container,.threezero-research-section-heading,.threezero-research-method > .threezero-container,.threezero-research-grid { grid-template-columns: 1fr; }
	.threezero-research-report-grid { grid-template-columns: 1fr; }
	.threezero-research-report-card:first-child { grid-column: auto; }
}
@media (max-width: 560px) {
	.threezero-research-hub-stats { grid-template-columns: 1fr; }
	.threezero-research-hub-stats article { min-height: 145px; }
	.threezero-research-spark { height: 250px; gap: 8px; padding-inline: 0; }
	.threezero-research-spark strong { font-size: 10px; }
	.threezero-research-report-card { min-height: 270px; padding: 26px; }
	.threezero-research-bar { grid-template-columns: 1fr auto; gap: 6px 12px; }
	.threezero-research-bar > b { grid-column: 1/-1; grid-row: 2; }
	.threezero-research-next { flex-direction: column; }
}
