/* Issue 43: buyer-first additions to the existing MST visual system. */
.buyer-demo-result { display: flex; align-items: center; gap: 16px; max-width: 430px; margin-top: 22px; color: #fff; }
.buyer-demo-result > img { width: 112px; height: 94px; flex: 0 0 112px; object-fit: contain; background: #c2c6cf; border: 1px solid var(--line-dark); }
.buyer-demo-result > span { display: grid; gap: 7px; }
.buyer-demo-result small { color: var(--steel); font: 10px/1.4 var(--mono); }
.buyer-demo-result strong { font-size: 16px; line-height: 1.3; }
.buyer-demo-result span > span { color: var(--signal); font-size: 13px; }
.buyer-demo-result:focus-visible, .buyer-route-grid > a:focus-visible { outline: 3px solid var(--signal); outline-offset: 5px; }
.buyer-routes { padding-block: 64px; }
.buyer-routes-heading { max-width: 820px; margin-bottom: 32px; }
.buyer-routes-heading h2 { font-size: clamp(30px, 3.5vw, 46px); }
.buyer-routes-heading > p:last-child { max-width: 740px; margin-top: 18px; color: var(--muted); font-size: 16px; line-height: 1.6; }
.buyer-route-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line-light); }
.buyer-route-grid > a { min-width: 0; display: flex; flex-direction: column; padding: 28px; color: var(--ink); }
.buyer-route-grid > a + a { border-left: 1px solid var(--line-light); }
.buyer-route-grid > a:hover { background: var(--paper-bright); }
.buyer-route-grid small { color: var(--signal-dark); font: 11px/1.5 var(--mono); }
.buyer-route-grid h3 { margin: 18px 0 14px; font-size: 24px; line-height: 1.15; letter-spacing: -.025em; }
.buyer-route-grid p { margin: 0 0 22px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.buyer-route-grid a > span { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 44px; margin-top: auto; font-size: 14px; font-weight: 700; }
.buyer-faq { margin-top: 36px; }
.buyer-faq article { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr); gap: 48px; padding: 28px 0; border-top: 1px solid var(--line-dark); }
.buyer-faq h3 { margin: 0; font-size: 22px; line-height: 1.3; }
.buyer-faq p { margin: 0; color: #b8c0ca; font-size: 16px; line-height: 1.7; }
.buyer-evidence-availability { display: grid; align-content: start; border-top: 2px solid var(--signal); }
.buyer-evidence-availability article { padding: 19px 22px; border-bottom: 1px solid var(--line-dark); background: #12161b; }
.buyer-evidence-availability small { color: var(--signal); font: 10px/1.4 var(--mono); }
.buyer-evidence-availability h2 { margin: 8px 0; font-size: 22px; line-height: 1.2; }
.buyer-evidence-availability p { margin: 8px 0 0; color: #b8c0ca; font-size: 13px; line-height: 1.6; }
.buyer-evidence-availability .text-link { min-height: 44px; font-size: 12px; line-height: 1.5; }
.evidence-question-copy h1 { font-size: clamp(32px, 3.3vw, 46px); }
.buyer-data-table { margin: 32px 0 24px; overflow-x: auto; }
.buyer-data-table:focus-visible { outline: 3px solid var(--signal-dark); outline-offset: 3px; }
.buyer-data-table table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.65; }
.buyer-data-table caption { text-align: left; padding-bottom: 14px; color: var(--muted); font: 12px/1.6 var(--mono); }
.buyer-data-table th, .buyer-data-table td { padding: 20px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line-light); }
.buyer-data-table thead th { background: var(--ink); color: var(--paper); }
.buyer-data-table tbody th { width: 25%; }
.buyer-data-table tbody td { width: 37.5%; }
.buyer-boundary-note { max-width: 940px; font-size: 15px; line-height: 1.7; }
.buyer-boundary-note a, .buyer-product-boundary a { text-decoration: underline; text-underline-offset: 3px; }
.buyer-product-boundary { max-width: 900px; margin: 30px 0; padding-top: 24px; border-top: 1px solid var(--line-dark); color: #b8c0ca; font-size: 14px; line-height: 1.7; }
.site-nav .nav-dropdown { max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; }
@media (min-width: 781px) and (max-width: 1180px) and (min-height: 521px) {
	.home-vf-hero-visual, .home-vf-challenge-evidence { width: 100%; max-width: 800px; }
	.home-vf-tools-visual, .home-vf-proof-media, .home-vf-authority-visual { width: 100%; max-width: 840px; }
	.home-vf-loop, .home-vf-tools, .home-vf-proof, .home-vf-authority, .home-vf-challenge { padding-block: 80px; }
}
@media (max-width: 1100px) {
	.buyer-route-grid > a { padding: 24px 18px; }
}
@media (max-width: 1060px) {
	.site-nav .nav-dropdown { max-height: none; overflow-y: visible; }
}
@media (max-width: 700px) {
	.buyer-demo-result { gap: 12px; margin-top: 18px; }
	.buyer-demo-result > img { width: 96px; height: 80px; flex-basis: 96px; }
	.buyer-demo-result strong { font-size: 15px; }
	.buyer-routes { padding-block: 42px; }
	.buyer-route-grid { grid-template-columns: 1fr; }
	.buyer-route-grid > a { padding: 24px 0; }
	.buyer-route-grid > a + a { border-left: 0; border-top: 1px solid var(--line-light); }
	.buyer-faq article { grid-template-columns: 1fr; gap: 14px; }
	.buyer-faq h3 { font-size: 21px; }
	.buyer-faq p { font-size: 15px; }
	.buyer-evidence-availability article { padding: 18px; }
	.buyer-data-table table { min-width: 690px; }
}
@media (min-width: 600px) and (max-height: 520px) {
	.buyer-demo-result { gap: 10px; margin-top: 10px; }
	.buyer-demo-result > img { width: 60px; height: 50px; flex-basis: 60px; }
	.buyer-demo-result > span { gap: 3px; }
	.buyer-demo-result strong { font-size: 12px; }
	.buyer-demo-result small { display: none; }
	.buyer-demo-result span > span { font-size: 10px; }
}
