/* B2B Review Lab portal styles. Forest + chartreuse on warm paper; one spacing, type and table system. */
.b2b-portal {
	--page: #F4F0E7;
	--surface: #FFFDF8;
	--surface-2: #F8F4EA;
	--surface-sunk: #ECE5D6;
	--ink: #1A1D1B;
	--muted: #565B54;
	--line: #E3DBCA;
	--line-strong: #C9BDA4;
	--action: #173E35;
	--action-hover: #0E2A23;
	--action-tint: #E7EEDF;
	--accent: #D3E66B;
	--on-action: #F4F0E7;
	--status-incomplete: #7A4E06;
	--status-incomplete-bg: #F2E2B8;
	--status-error: #8E2A22;
	--status-error-bg: #F6E0DA;
	--serif: Charter, "Bitstream Charter", "Iowan Old Style", "Sitka Text", Cambria, Georgia, serif;
	--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
	/* Spacing scale: 4 8 12 16 24 32 48 64 96 */
	--s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;
	--r-sm: 6px;
	--r: 10px;
	--r-lg: 14px;
	--shadow: 0 1px 2px rgba(23, 62, 53, .05), 0 6px 20px -12px rgba(23, 62, 53, .18);
	--measure: 72ch;
	--gutter: 32px;
	margin: 0;
	background: var(--page);
	color: var(--ink);
	font: 400 17px/1.6 var(--sans);
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
}
.b2b-portal *, .b2b-portal *::before, .b2b-portal *::after { box-sizing: border-box; }
.b2b-portal #page, .b2b-portal #content, .b2b-portal .site-content, .b2b-portal .content-area {
	display: block;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: 0;
	background: transparent;
}
.b2b-portal .site-main.b2b-site-main { width: 100%; min-width: 0; margin: 0 !important; }
.b2b-portal .wrap { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: var(--gutter); }

/* Type scale: 48 / 30 / 21 / 18 / 17 / 15 / 13 / 12 */
.b2b-portal h1, .b2b-portal h2, .b2b-portal h3, .b2b-portal h4 {
	margin: 0 0 var(--s4);
	color: var(--ink);
	font-family: var(--serif);
	font-weight: 400;
	text-wrap: balance;
}
.b2b-portal h1 { font-size: clamp(32px, 2.2vw + 18px, 48px); line-height: 1.12; letter-spacing: -.015em; }
.b2b-portal h2 { font-size: clamp(25px, 1vw + 18px, 30px); line-height: 1.2; letter-spacing: -.005em; }
.b2b-portal h3 { font-size: 21px; line-height: 1.3; font-weight: 600; }
.b2b-portal h4 { font-size: 18px; line-height: 1.35; font-weight: 600; }
.b2b-portal p { margin: 0 0 var(--s4); }
.b2b-portal p:last-child { margin-bottom: 0; }
.b2b-portal a { color: var(--action); text-decoration-color: rgba(23, 62, 53, .4); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.b2b-portal a:hover { color: var(--action-hover); text-decoration-color: currentColor; }
.b2b-portal a:focus-visible, .b2b-portal button:focus-visible, .b2b-portal input:focus-visible,
.b2b-portal select:focus-visible, .b2b-portal textarea:focus-visible, .b2b-portal summary:focus-visible,
.b2b-portal .tw:focus-visible { outline: 2px solid var(--action); outline-offset: 2px; border-radius: 3px; }
.b2b-portal img { max-width: 100%; height: auto; }
.b2b-portal :where(h1, h2, h3, h4, p, li, a, strong, span, td, th, dd) { overflow-wrap: break-word; }
.b2b-portal [id] { scroll-margin-top: var(--s5); }
.b2b-portal .screen-reader-text { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; white-space: nowrap; }
.b2b-portal .skip-link:focus { clip: auto; clip-path: none; z-index: 100; top: var(--s2); left: var(--s2); width: auto; height: auto; padding: var(--s2) var(--s4); border-radius: var(--r-sm); background: var(--action); color: var(--on-action); white-space: normal; }
.b2b-eyebrow { margin-bottom: var(--s3) !important; color: var(--muted); font: 600 12px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .1em; }

/* Environment notice and masthead. */
.b2b-environment { display: flex; align-items: center; justify-content: center; gap: var(--s3); min-height: 40px; padding: 9px var(--gutter); background: var(--ink); color: var(--on-action); font: 400 14px/1.5 var(--sans); }
.b2b-preview-tag { flex-shrink: 0; display: inline-block; padding: 3px 8px; border-radius: 999px; background: var(--accent); color: var(--ink); font: 600 11px/1.4 var(--sans); text-transform: uppercase; letter-spacing: .06em; }
.b2b-header { border-bottom: 1px solid var(--line); background: var(--page); }
.b2b-header-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--s5); min-height: 72px; }
.b2b-brand { display: inline-flex; align-items: center; gap: var(--s3); min-height: 44px; color: var(--ink) !important; text-decoration: none; flex-shrink: 0; }
.b2b-brand img { display: block; width: 40px; height: 40px; object-fit: contain; flex-shrink: 0; }
.b2b-brand > span { display: block; }
.b2b-brand strong { display: block; font: 700 19px/1.2 var(--serif); letter-spacing: -.005em; }
.b2b-brand small { display: block; margin-top: 2px; color: var(--muted); font: 400 12px/1.4 var(--sans); }
.b2b-header nav ul { display: flex; align-items: center; gap: var(--s1); margin: 0; padding: 0; list-style: none; }
.b2b-header nav li { margin: 0; padding: 0; }
.b2b-header nav a { display: flex; align-items: center; min-height: 40px; padding: var(--s2) var(--s3); border-radius: var(--r-sm); color: var(--ink); font: 500 15px/1.3 var(--sans); text-decoration: none; }
.b2b-header nav a:hover { background: var(--surface-sunk); color: var(--ink); }
.b2b-header nav a[aria-current="page"] { background: var(--action-tint); color: var(--action); }
.b2b-header nav .cta { margin-left: var(--s2); padding-inline: var(--s4); border: 1px solid var(--action); background: var(--action); color: var(--on-action); }
.b2b-header nav .cta:hover { border-color: var(--action-hover); background: var(--action-hover); color: var(--on-action); }
.b2b-menu-toggle { display: none; align-items: center; justify-content: center; gap: var(--s3); min-height: 44px; padding: var(--s2) var(--s4); border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: var(--surface); color: var(--ink); font: 500 15px/1.3 var(--sans); cursor: pointer; }
.b2b-menu-toggle:hover { border-color: var(--ink); }
.b2b-header.open .b2b-menu-toggle span { transform: rotate(45deg); }

/* Heroes. */
.hero { padding-block: var(--s8) var(--s7); background: var(--page); }
.hero.sm { padding-block: var(--s6) var(--s7); border-bottom: 1px solid var(--line); }
.b2b-profile-hero { padding-block: var(--s6) var(--s6); }
.hero.sm h1 { max-width: 30ch; margin-bottom: var(--s4); }
.hero.sm > .wrap > p:not(.crumbs):not(.b2b-eyebrow):not(.b2b-verified) { max-width: 64ch; color: var(--muted); font: 400 20px/1.55 var(--serif); }
.b2b-portal .hero.sm > .wrap > p.b2b-verified, .b2b-portal .b2b-verified { display: block; margin: var(--s4) 0 0; color: var(--muted); font: 500 14px/1.5 var(--sans); }
.b2b-verified::before { content: ""; display: inline-block; vertical-align: 1px; margin-right: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--action); box-shadow: 0 0 0 3px var(--accent); }
.hero.sm > .wrap > .btn { margin-top: var(--s5); }
.b2b-home-hero { padding-block: var(--s8); border-bottom: 1px solid var(--line); }
.b2b-hero-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: var(--s8); }
.b2b-hero-copy { min-width: 0; }
.b2b-hero-copy h1 { margin-bottom: var(--s5); font-size: clamp(36px, 3vw + 14px, 56px); line-height: 1.08; letter-spacing: -.02em; }
.b2b-hero-copy h1 em { color: inherit; font-weight: 400; }
.b2b-hero-copy > p:not(.b2b-eyebrow) { max-width: 46ch; margin-bottom: var(--s6); color: var(--muted); font: 400 20px/1.55 var(--serif); }
.b2b-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s3) var(--s5); }

/* Buttons and text links. */
.b2b-portal .btn, .b2b-portal button.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--s3); min-height: 48px; padding: var(--s3) var(--s5); border: 1px solid var(--action); border-radius: var(--r-sm); background: var(--action); color: var(--on-action); font: 600 15px/1.3 var(--sans); text-align: center; text-decoration: none; cursor: pointer; }
.b2b-portal .btn:hover, .b2b-portal button.btn:hover { border-color: var(--action-hover); background: var(--action-hover); color: var(--on-action); }
.btn.ghost { border-color: var(--line-strong); background: var(--surface); color: var(--ink); }
.btn.ghost:hover { border-color: var(--action); background: var(--action); color: var(--on-action); }
.b2b-text-link { display: inline-flex; align-items: center; gap: var(--s2); min-height: 44px; padding-block: 10px; font: 600 15px/1.4 var(--sans); text-decoration: none; }
.b2b-text-link:hover { text-decoration: underline; }
.b2b-text-link > span { transition: transform .15s ease; }
.b2b-text-link:hover > span { transform: translateX(3px); }

/* Home hero sample card. */
.b2b-research-card { min-width: 0; padding: var(--s6); border-radius: var(--r-lg); background: var(--action); color: var(--on-action); box-shadow: 0 18px 40px -24px rgba(14, 42, 35, .55); }
.b2b-research-top { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s5); }
.b2b-research-top > span:first-child { max-width: 28ch; padding: 3px 10px; border-radius: 999px; background: var(--accent); color: var(--ink); font: 600 11px/1.5 var(--sans); text-transform: uppercase; letter-spacing: .05em; }
.b2b-research-index { color: rgba(244, 240, 231, .7); font: 400 24px/1 var(--serif); }
.b2b-research-category { margin: 0 0 var(--s1); color: rgba(244, 240, 231, .82); font: 500 13px/1.5 var(--sans); }
.b2b-portal .b2b-research-card h2 { margin-bottom: var(--s5); color: var(--on-action); font: 400 23px/1.28 var(--serif); }
.b2b-research-criteria > div { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s4); margin: 0 0 var(--s3); padding-bottom: var(--s3); font: 400 15px/1.4 var(--sans); }
.b2b-research-criteria > div::before { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .12); }
.b2b-research-criteria strong { color: var(--accent); font: 500 12px/1.4 var(--mono); }
.b2b-research-criteria i { position: absolute; bottom: 0; left: 0; display: block; max-width: 100%; height: 4px; border-radius: 2px; background: var(--accent); }
.b2b-research-criteria > p { font: 400 13px/1.5 var(--sans); }
.b2b-research-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s5); padding-top: var(--s3); border-top: 1px solid rgba(244, 240, 231, .25); font: 400 13px/1.5 var(--sans); }
.b2b-research-foot a { display: inline-flex; align-items: center; gap: var(--s2); min-height: 44px; color: var(--accent); font: 600 14px/1.5 var(--sans); text-decoration: none; }
.b2b-research-foot a:hover { color: var(--on-action); text-decoration: underline; }
.b2b-research-card a:focus-visible, .b2b-vendor-cta a:focus-visible, section.note.b2b-bottom a:focus-visible { outline-color: var(--accent); }

/* Main column, notes and the category index. */
.b2b-main { padding-block: var(--s7) var(--s6); }
.note { margin: 0 0 var(--s6); padding: var(--s5); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); color: var(--muted); font: 400 15px/1.6 var(--sans); }
.note > b { display: block; margin-bottom: var(--s2); color: var(--ink); font-weight: 600; }
.note p { max-width: var(--measure); }
.b2b-preview-note { display: flex; align-items: baseline; gap: var(--s2) var(--s5); padding: var(--s4) var(--s5); font-size: 14px; }
.b2b-preview-note > b { flex-shrink: 0; margin: 0; }
.b2b-preview-note > span { max-width: 80ch; }
.b2b-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--s5); margin: 0 0 var(--s5); }
.b2b-section-head h2 { margin: 0; }
.b2b-section-head > span { max-width: 32ch; color: var(--muted); font: 400 14px/1.5 var(--sans); text-align: right; }
.b2b-category { margin: 0 0 var(--s6); padding: var(--s6); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); }
.b2b-category-heading { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s4); margin-bottom: var(--s2); padding-bottom: var(--s4); border-bottom: 1px solid var(--line); }
.b2b-category-number { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--action); color: var(--accent); font: 600 15px/1 var(--mono); }
.b2b-portal .b2b-category-heading h3 { margin: 0; font-size: 26px; font-weight: 400; }
.b2b-category-heading h3 a { color: var(--ink); text-decoration: none; }
.b2b-category-heading h3 a:hover { color: var(--action); text-decoration: underline; }
.b2b-category-heading > p { margin: 0; padding: 4px 12px; border-radius: 999px; background: var(--surface-2); color: var(--muted); font: 500 13px/1.5 var(--sans); white-space: nowrap; }
.b2b-cards { display: block; min-width: 0; }
.b2b-tile { position: relative; min-width: 0; padding: var(--s5) 0; border-top: 1px solid var(--line); background: transparent; }
.b2b-cards > .b2b-tile:first-child { border-top: 0; }
.b2b-category .b2b-tile { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: var(--s6); }
.b2b-index-copy { min-width: 0; }
.b2b-tag { display: inline-block; padding: 2px 10px; border-radius: 999px; background: var(--action-tint); color: var(--action); font: 600 11px/1.6 var(--sans); text-transform: uppercase; letter-spacing: .05em; }
.b2b-portal .b2b-tile h3, .b2b-portal .b2b-tile h4 { margin-block: var(--s2) var(--s2); font: 600 21px/1.3 var(--serif); }
.b2b-tile h3 a, .b2b-tile h4 a { color: var(--ink); text-decoration: none; }
.b2b-tile h3 a:hover, .b2b-tile h4 a:hover { color: var(--action); text-decoration: underline; }
.b2b-tile p { max-width: var(--measure); margin-bottom: var(--s2); color: var(--muted); font-size: 16px; }
.b2b-tile .b2b-index-criteria { margin-bottom: 0; color: var(--ink); font-size: 14px; line-height: 1.6; }
.b2b-index-end { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: var(--s2); min-width: 0; }
.b2b-tile-meta { display: flex; flex-direction: column; gap: 2px; color: var(--muted); font: 400 14px/1.5 var(--sans); font-variant-numeric: tabular-nums; }
.b2b-index-end .b2b-text-link { margin: 0; }
.b2b-method-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); margin-top: var(--s7); }
.b2b-method-strip > div { padding: var(--s5); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.b2b-portal .b2b-method-strip h3 { font-size: 20px; line-height: 1.3; }
.b2b-method-strip p { color: var(--muted); font-size: 15px; }
.b2b-method-strip a { display: inline-flex; align-items: center; min-height: 44px; font: 600 14px/1.5 var(--sans); }

/* Profile mastheads. */
.crumbs { margin-bottom: var(--s4); color: var(--muted); font: 400 14px/1.5 var(--sans); }
.crumbs a { display: inline-flex; align-items: center; min-height: 32px; }
.chips { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s5); color: var(--muted); font: 500 13px/1.5 var(--sans); font-variant-numeric: tabular-nums; }
.chips > span { padding: 4px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); }
.b2b-demo { border-color: var(--line-strong); background: var(--surface); color: var(--ink); }
.b2b-demo > b { width: fit-content; margin-bottom: var(--s2); padding: 2px 10px; border-radius: 999px; background: var(--accent); color: var(--ink); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.b2b-product-title { display: flex; align-items: center; gap: var(--s5); margin-bottom: var(--s4); }
.b2b-portal .b2b-product-title h1 { margin-block: 0; }
.b2b-product-title > .b2b-logo-box, .b2b-product-title > .b2b-logo-dark-chip, .b2b-product-title > .b2b-logo-monogram { padding: var(--s2); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); box-sizing: content-box; }

/* Section headings in the main column: generous space above, tied to what follows. */
.b2b-main > h2, .b2b-pricing-faqs > h2 { margin: var(--s8) 0 var(--s4); }
.b2b-portal .b2b-review-panel > h2 { margin: 0 0 var(--s4); }
.b2b-main > h2:first-child, .b2b-main > .note + h2 { margin-top: 0; }
.b2b-review-panel { margin-top: var(--s8); }
.b2b-review-panel:first-child { margin-top: 0; }
.b2b-review-panel > ul, .b2b-pricing-faqs ul, .b2b-document-index ul { max-width: var(--measure); padding-left: 1.2em; }
.b2b-review-panel li, .b2b-document-index li { margin-bottom: var(--s2); }
.b2b-review-panel > h3 { margin: var(--s7) 0 var(--s3); font-size: 19px; line-height: 1.35; }
.b2b-review-panel > h2 + h3 { margin-top: var(--s5); }
.b2b-review-panel > h3 a { color: var(--ink); text-decoration-color: var(--line-strong); }
.b2b-review-panel > h3 a:hover { color: var(--action); text-decoration-color: currentColor; }
.b2b-table-legend { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: var(--s2) var(--s5); margin: calc(-1 * var(--s2)) 0 var(--s4); color: var(--muted); font: 400 14px/1.5 var(--sans); }
.b2b-table-legend > span { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--s3); }

/* One table style: white card, quiet header, hairline row dividers, no zebra. */
.tw { isolation: isolate; width: 100%; max-width: 100%; overflow-x: auto; margin: var(--s4) 0 var(--s6); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); box-shadow: var(--shadow); overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.tw-hint { margin: 0 0 var(--s2) !important; color: var(--muted); font: 400 13px/1.5 var(--sans); text-align: right; }
.b2b-table, .b2b-main table { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; table-layout: auto; color: var(--ink); font: 400 15px/1.55 var(--sans); }
.b2b-main table:not(.tw > *) { margin: var(--s4) 0 var(--s6); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); box-shadow: var(--shadow); }
.b2b-table caption { padding: 0 0 var(--s2); color: var(--muted); font: 500 13px/1.5 var(--sans); text-align: left; caption-side: top; }
.b2b-main table:not(.tw > *) caption { padding: var(--s3) var(--s4) var(--s1); }
.b2b-table th, .b2b-table td, .b2b-main table th, .b2b-main table td { padding: 14px var(--s4); border: 0; border-bottom: 1px solid var(--line); background: transparent; vertical-align: top; text-align: left; }
.b2b-table thead th, .b2b-main table thead th { border-bottom: 1px solid var(--line-strong); background: var(--surface-2); color: var(--muted); font: 600 12px/1.45 var(--sans); text-transform: uppercase; letter-spacing: .05em; }
.b2b-table tbody th[scope="row"], .b2b-main table tbody th { color: var(--ink); font: 600 15px/1.45 var(--sans); }
.b2b-table tbody tr:last-child > *, .b2b-main table tbody tr:last-child > * { border-bottom: 0; }
.b2b-table tbody tr:hover > *, .b2b-main table tbody tr:hover > * { background: var(--surface-2); }
.b2b-main table:not(.tw > *) thead tr:first-child > :first-child { border-top-left-radius: var(--r); }
.b2b-main table:not(.tw > *) thead tr:first-child > :last-child { border-top-right-radius: var(--r); }
.b2b-table small, .b2b-sources small { display: block; margin-top: var(--s1); color: var(--muted); font: 400 13px/1.5 var(--sans); }
.b2b-table .b2b-state { font-variant-numeric: tabular-nums; }
.b2b-table .b2b-total strong { font: 600 20px/1.2 var(--mono); font-variant-numeric: tabular-nums; }

/* Wide product matrices: the product column stays pinned while the criteria scroll. */
.tw > .b2b-table th:first-child { position: sticky; left: 0; z-index: 2; background: var(--surface); }
.tw > .b2b-table thead th:first-child { z-index: 4; background: var(--surface-2); }
.tw > .b2b-table tbody tr:hover > th:first-child { background: var(--surface-2); }
.tw > .b2b-matrix th:first-child, .tw > .b2b-table:not(.b2b-methodology-table) th:first-child { width: 200px; min-width: 200px; max-width: 200px; box-shadow: inset -1px 0 0 var(--line); }
.tw > .b2b-matrix td { min-width: 190px; }
.tw > .b2b-methodology-table th:first-child { width: 34%; min-width: 220px; }
.b2b-table tbody th[scope="row"] a { color: var(--action); font: 600 17px/1.35 var(--serif); }
/* Score column (scored demo profiles only). */
.tw > .b2b-table:not(.b2b-matrix):not(.b2b-methodology-table) thead th:nth-child(2),
.tw > .b2b-table:not(.b2b-matrix):not(.b2b-methodology-table) tbody td:nth-child(2) { position: sticky; left: 200px; z-index: 1; width: 120px; min-width: 120px; background: var(--action-tint); box-shadow: inset -1px 0 0 var(--line); }
.tw > .b2b-table:not(.b2b-matrix):not(.b2b-methodology-table) thead th:nth-child(2) { z-index: 3; }

/* Capability tables (criterion + fact, no header): a 30/70 definition grid. */
.b2b-table:not(:has(thead)) { display: block; padding: 0; overflow: hidden; }
.b2b-table:not(:has(thead)) > tbody { display: block; }
.b2b-table:not(:has(thead)) tr { display: grid; grid-template-columns: minmax(180px, 30%) minmax(0, 1fr); border-bottom: 1px solid var(--line); }
.b2b-table:not(:has(thead)) tr:last-child { border-bottom: 0; }
.b2b-table:not(:has(thead)) tr > * { display: block; padding: var(--s4) var(--s5); border: 0; }
.b2b-table:not(:has(thead)) tbody th[scope="row"] { padding-right: var(--s4); color: var(--ink); font: 600 15px/1.45 var(--sans); }
.b2b-table:not(:has(thead)) td { color: #2E322F; font-size: 15px; line-height: 1.6; }

.b2b-incomplete { display: inline-block; padding: 3px 8px; border: 1px solid var(--status-incomplete); border-radius: var(--r-sm); background: var(--status-incomplete-bg); color: var(--status-incomplete); font: 500 12px/1.4 var(--sans); }
.b2b-fact { display: block; }
.b2b-state.b2b-unscored { width: fit-content; padding: 3px 8px; border: 1px dashed #8C8676; border-radius: var(--r-sm); background: var(--surface); color: var(--muted); }
.b2b-table .b2b-refs { display: flex; flex-wrap: wrap; gap: var(--s1); margin-top: var(--s2); }
.b2b-refs a { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 26px; padding: 0 6px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface-2); font: 500 12px/1 var(--sans); text-decoration: none; font-variant-numeric: tabular-nums; }
.b2b-refs a:hover { border-color: var(--action); background: var(--action); color: var(--on-action); }

/* Ranked shortlist cards. */
.b2b-shortlist { margin: 0 0 var(--s7); }
.b2b-profile-main { padding-top: var(--s7); }
.b2b-portal .b2b-shortlist-title { margin: 0 0 var(--s3) !important; padding: 0 !important; border: 0 !important; }
.b2b-shortlist-summary { display: inline-block; margin: 0 0 var(--s5); padding: 6px 14px; border-radius: var(--r); background: var(--surface-sunk); color: var(--muted); font: 500 14px/1.5 var(--sans); }
.b2b-shortlist-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s4); margin: 0; padding: 0; list-style: none; counter-reset: shortlist; }
.b2b-shortlist-cards > li { min-width: 0; margin: 0; padding: 0; }
.b2b-shortlist-card { display: grid; grid-template-columns: 52px 120px minmax(0, 1fr) 340px; grid-template-rows: auto auto auto 1fr; align-items: start; column-gap: var(--s5); row-gap: var(--s2); min-width: 0; padding: var(--s5); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow); }
.b2b-shortlist-heading { display: contents; }
.b2b-portal .b2b-shortlist-heading h3 { grid-column: 3; grid-row: 1; align-self: center; min-width: 0; margin: 0; font-size: 23px; line-height: 1.2; font-weight: 600; }
.b2b-shortlist-heading a { text-decoration: none; }
.b2b-shortlist-heading a:hover { text-decoration: underline; }
.b2b-logo-box, .b2b-logo-dark-chip, .b2b-logo-monogram { box-sizing: border-box; display: inline-flex; flex: 0 0 var(--b2b-logo-w); width: var(--b2b-logo-w); height: var(--b2b-logo-h); align-items: center; justify-content: center; vertical-align: middle; }
.b2b-logo-box img, .b2b-logo-dark-chip img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.b2b-logo-dark-chip { padding: 4px; border-radius: var(--r-sm); background: #2b2b2b; }
.b2b-logo-monogram { border: 1px solid #d5d5d5; border-radius: var(--r-sm); background: #f1f1f1; color: #555; font: 600 13px/1 var(--sans); }
.b2b-document-logos { margin: 0 0 var(--s5); }
.b2b-document-logos ul { display: flex; flex-wrap: wrap; gap: var(--s3); margin: 0; padding: 0; list-style: none; }
.b2b-document-logos li { margin: 0; padding: 0; }
.b2b-document-logos a { display: flex; min-height: 52px; align-items: center; gap: var(--s3); padding: var(--s2) var(--s3); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.b2b-shortlist-rank { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: center; width: 52px; height: 52px; border-radius: 50%; background: var(--action); color: var(--on-action); font: 600 22px/1 var(--sans); font-variant-numeric: tabular-nums; }
.b2b-shortlist-rank small { color: var(--accent); font: 600 9px/1.2 var(--sans); text-transform: uppercase; letter-spacing: .08em; }
.b2b-shortlist-heading > .b2b-logo-box, .b2b-shortlist-heading > .b2b-logo-dark-chip, .b2b-shortlist-heading > .b2b-logo-monogram { grid-column: 2; grid-row: 1; align-self: center; }
.b2b-shortlist-copy { display: contents; }
.b2b-shortlist-reason { grid-column: 3; grid-row: 2; margin: var(--s1) 0 0 !important; font-size: 15px; line-height: 1.55; }
.b2b-shortlist-not-fit { grid-column: 3; grid-row: 3; margin: 0 !important; color: var(--muted); font-size: 14px; line-height: 1.5; }
.b2b-shortlist-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3) var(--s5); margin: var(--s4) 0; }
.b2b-shortlist-facts > div { min-width: 0; padding-bottom: var(--s3); border-bottom: 1px solid var(--line); }
.b2b-shortlist-facts dt { color: var(--muted); font: 500 12px/1.4 var(--sans); }
.b2b-shortlist-facts dd { margin: 2px 0 0; font: 600 15px/1.45 var(--sans); overflow-wrap: anywhere; }
.b2b-review-panel > .b2b-shortlist-facts { padding: var(--s5); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); box-shadow: var(--shadow); }
.b2b-review-panel > .b2b-shortlist-facts > div:nth-last-child(-n+2) { padding-bottom: 0; border-bottom: 0; }
.b2b-shortlist-card .b2b-shortlist-facts { grid-column: 4; grid-row: 1 / span 4; gap: var(--s2) var(--s4); min-width: 0; margin: 0; padding: var(--s3) var(--s4); border-radius: var(--r); background: var(--surface-2); }
.b2b-shortlist-card .b2b-shortlist-facts > div { padding-bottom: var(--s2); }
.b2b-shortlist-card .b2b-shortlist-facts > div:nth-last-child(-n+2) { padding-bottom: 0; border-bottom: 0; }
.b2b-shortlist-card .b2b-shortlist-facts dd { font-size: 13px; line-height: 1.45; }
.b2b-shortlist-links { grid-column: 3; grid-row: 4; display: flex; align-self: start; gap: var(--s4); margin-top: var(--s1); padding-left: 0; font: 600 14px/1.4 var(--sans); }
.b2b-shortlist-links a { display: inline-flex; align-items: center; min-height: 32px; }

/* Methodology blocks, weights and sources. */
.method { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5); }
.method > div { min-width: 0; padding: var(--s5); border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.method h2, .method h3 { margin-top: 0; }
.method p { max-width: var(--measure); color: var(--muted); }
.method a { display: inline-flex; align-items: center; min-height: 44px; }
.w { padding-block: var(--s3); border-bottom: 1px solid var(--line); color: var(--ink); font: 400 15px/1.5 var(--sans); }
.w:last-child { border-bottom: 0; }
.w strong { float: right; margin-left: var(--s3); font: 500 14px/1.6 var(--mono); font-variant-numeric: tabular-nums; }
.w > div { clear: both; height: 8px; margin-top: var(--s2); border-radius: 4px; background: var(--surface-sunk); overflow: hidden; }
.w i { display: block; max-width: 100%; height: 8px; background: var(--action); }
.b2b-sources { max-width: 90ch; margin: 0; padding-left: 2.2em; }
.b2b-sources li { padding: var(--s3) 0 var(--s3) var(--s1); border-bottom: 1px solid var(--line); font-size: 15px; }
.b2b-sources li::marker { color: var(--muted); font: 500 14px/1.5 var(--sans); font-variant-numeric: tabular-nums; }
.b2b-sources li > a { display: inline; font-weight: 500; }
.b2b-sources li p { max-width: var(--measure); margin: var(--s1) 0 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.b2b-sources small { font-size: 13px; overflow-wrap: anywhere; }

/* Editorial and secondary pages. */
.b2b-editorial { min-width: 0; margin-bottom: var(--s7); }
.b2b-editorial > :not(table):not(.tw):not(.b2b-document-logos) { max-width: var(--measure); }
.b2b-editorial > .tw, .b2b-editorial > table { max-width: 1000px; }
.b2b-portal .b2b-editorial h2 { margin-top: var(--s7); }
.b2b-portal .b2b-editorial h2:first-child { margin-top: 0; }
.b2b-editorial h3, .b2b-editorial h4 { margin-top: var(--s6); margin-bottom: var(--s2); }
.b2b-editorial p, .b2b-editorial li { line-height: 1.7; }
.b2b-editorial ul, .b2b-editorial ol { margin: 0 0 var(--s5); padding-left: var(--s5); }
.b2b-editorial li { margin-bottom: var(--s2); padding-left: var(--s1); }
.b2b-editorial table:not(.b2b-table) { width: 100%; font-size: 15px; line-height: 1.55; }
.b2b-editorial table:not(.b2b-table) td, .b2b-editorial table:not(.b2b-table) th { min-width: 140px; }
.b2b-editorial table:not(.b2b-table) tbody td:first-child { color: var(--ink); font-weight: 600; }
.b2b-editorial caption { padding: var(--s3) var(--s4); text-align: left; font-weight: 600; }
.b2b-methodology { margin: var(--s7) 0; }
.b2b-methodology p { max-width: var(--measure); }
.b2b-reading-note { color: var(--muted); font-size: 15px; }
.w p.b2b-rubric { margin: var(--s3) 0 0; color: var(--muted); font: 400 14px/1.6 var(--sans); }
.b2b-prose { max-width: 1240px; }
.b2b-prose > :not(.form):not(.b2b-status):not(section) { max-width: var(--measure); }
.b2b-portal .b2b-prose > h2 { margin-top: var(--s7); }
.b2b-portal .b2b-prose > h2:first-child { margin-top: 0; }
.b2b-prose p, .b2b-prose li { line-height: 1.7; }
.b2b-prose ul, .b2b-prose ol { margin: 0 0 var(--s5) var(--s5); padding: 0; }
.b2b-prose li { margin-bottom: var(--s2); padding-left: var(--s1); }
.b2b-methodology-category { margin-top: var(--s7); }
.b2b-pricing-faqs h3 { margin: var(--s5) 0 var(--s2); font-size: 19px; }
.b2b-pricing-faqs p { max-width: var(--measure); }
.b2b-faq-sources { font-size: 14px; }
.b2b-document-index { margin-top: var(--s7); }
.b2b-bottom { margin-top: var(--s8); }
section.note.b2b-bottom, .b2b-vendor-cta { padding: var(--s7); border: 0; border-radius: var(--r-lg); background: var(--action); color: var(--on-action); box-shadow: 0 18px 40px -28px rgba(14, 42, 35, .6); }
.b2b-portal section.note.b2b-bottom > b, .b2b-portal section.note.b2b-bottom > h2, .b2b-portal .b2b-vendor-cta h2 { display: block; max-width: 32ch; margin: 0 0 var(--s3); padding: 0; border: 0; color: var(--on-action); font: 400 30px/1.2 var(--serif); }
.b2b-vendor-cta .b2b-eyebrow { color: var(--accent); }
section.note.b2b-bottom p, .b2b-vendor-cta p { max-width: 64ch; margin-bottom: var(--s5); color: rgba(244, 240, 231, .9); font-size: 16px; }
.b2b-portal section.note.b2b-bottom a:not(.btn), .b2b-portal .b2b-vendor-cta a:not(.btn) { color: var(--accent); }
.b2b-portal section.note.b2b-bottom .btn, .b2b-portal .b2b-vendor-cta .btn { border-color: var(--accent); background: var(--accent); color: var(--ink); }
.b2b-portal section.note.b2b-bottom .btn:hover, .b2b-portal .b2b-vendor-cta .btn:hover { border-color: var(--on-action); background: var(--on-action); color: var(--ink); }
.b2b-portal section.note.b2b-bottom .btn.ghost, .b2b-portal .b2b-vendor-cta .btn.ghost { border-color: rgba(244, 240, 231, .6); background: transparent; color: var(--on-action); }
.b2b-portal section.note.b2b-bottom .btn.ghost:hover, .b2b-portal .b2b-vendor-cta .btn.ghost:hover { background: var(--on-action); color: var(--ink); }

/* Forms. */
.form { position: relative; width: 100%; max-width: 640px; margin-top: var(--s6); padding: var(--s6); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surface); color: var(--ink); box-shadow: var(--shadow); }
.form label { display: block; margin: var(--s5) 0 var(--s2); color: var(--ink); font: 600 15px/1.5 var(--sans); }
.form > label:first-of-type { margin-top: 0; }
.form input:not([type="hidden"]):not([type="checkbox"]), .form select, .form textarea { display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 48px; padding: 11px 14px; border: 1px solid #8C8676; border-radius: var(--r-sm); background: #fff; color: var(--ink); font: 400 16px/1.5 var(--sans); }
.form textarea { min-height: 160px; resize: vertical; }
.form input::placeholder, .form textarea::placeholder { color: #6B6F68; opacity: 1; }
.form input:focus, .form select:focus, .form textarea:focus { border-color: var(--action); box-shadow: 0 0 0 3px rgba(23, 62, 53, .15); }
.form .b2b-check { display: flex; align-items: flex-start; gap: var(--s3); margin-top: var(--s5); font: 400 14px/1.6 var(--sans); cursor: pointer; }
.b2b-check input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--action); cursor: pointer; }
.form .hint { margin: var(--s4) 0 var(--s5); color: var(--muted); font: 400 14px/1.6 var(--sans); }
.b2b-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.b2b-status { width: 100%; max-width: 640px; margin-bottom: var(--s5); padding: var(--s4) var(--s5); border: 1px solid var(--action); border-radius: var(--r); background: var(--action-tint); color: var(--action); font: 400 15px/1.6 var(--sans); }
.b2b-status.error { border-color: var(--status-error); background: var(--status-error-bg); color: var(--status-error); }

/* Footer. */
.b2b-footer { margin-top: var(--s8); padding-block: var(--s7) var(--s5); border-top: 1px solid var(--line); background: var(--surface-sunk); }
.b2b-footer-top { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: var(--s6); padding-bottom: var(--s6); }
.b2b-footer-top > div { min-width: 0; }
.b2b-footer-name { margin: 0 0 var(--s3); font: 700 22px/1.25 var(--serif); }
.b2b-footer p { max-width: 38ch; color: var(--muted); font: 400 14px/1.6 var(--sans); }
.b2b-footer p.b2b-footer-name { color: var(--ink); font: 700 22px/1.25 var(--serif); }
.b2b-footer .b2b-brand { margin-bottom: var(--s3); }
.b2b-portal .b2b-footer-group h3 { margin: var(--s1) 0 var(--s2); color: var(--muted); font: 600 12px/1.5 var(--sans); text-transform: uppercase; letter-spacing: .08em; }
.b2b-footer .footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.b2b-footer .footer-links a { display: inline-flex; align-items: center; min-height: 36px; color: var(--ink); font: 400 15px/1.4 var(--sans); text-decoration: none; }
.b2b-footer .footer-links a:hover { color: var(--action); text-decoration: underline; }
.b2b-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--s2) var(--s5); padding-top: var(--s4); border-top: 1px solid var(--line-strong); color: var(--muted); font: 400 13px/1.5 var(--sans); }

@media (min-width: 900px) and (max-width: 1199px) {
	.b2b-header-inner { gap: var(--s4); }
	.b2b-header nav a { padding-inline: var(--s2); font-size: 14px; }
	.b2b-brand small { display: none; }
	.b2b-hero-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s7); }
	.b2b-category .b2b-tile { grid-template-columns: minmax(0, 1fr); gap: var(--s3); }
	.b2b-index-end { flex-direction: row; align-items: center; justify-content: space-between; }
	.b2b-tile-meta { flex-direction: row; flex-wrap: wrap; gap: var(--s1) var(--s4); }
	.b2b-shortlist-card { grid-template-columns: 52px 100px minmax(0, 1fr) 280px; }
}
@media (max-width: 899px) {
	.b2b-portal { --gutter: 24px; }
	.b2b-header-inner { flex-wrap: wrap; gap: 0 var(--s4); min-height: 64px; padding-block: var(--s2); }
	.b2b-menu-toggle { display: inline-flex; }
	.b2b-header nav { display: none; flex-basis: 100%; width: 100%; margin-top: var(--s2); padding-block: var(--s2) var(--s3); border-top: 1px solid var(--line); }
	.b2b-header.open nav { display: block; }
	.b2b-header nav ul { display: block; }
	.b2b-header nav li { border-bottom: 1px solid var(--line); }
	.b2b-header nav li:last-child { border-bottom: 0; }
	.b2b-header nav a { min-height: 52px; padding: var(--s3) var(--s1); border-radius: 0; font: 400 21px/1.3 var(--serif); }
	.b2b-header nav a:hover { background: transparent; text-decoration: underline; }
	.b2b-header nav .cta { justify-content: center; margin: var(--s3) 0 0; padding-inline: var(--s4); border-radius: var(--r-sm); font: 600 16px/1.4 var(--sans); }
	.hero { padding-block: var(--s7) var(--s6); }
	.hero.sm { padding-block: var(--s5) var(--s6); }
	.b2b-home-hero { padding-block: var(--s7); }
	.b2b-hero-layout { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
	.b2b-hero-copy > p:not(.b2b-eyebrow) { max-width: 56ch; }
	.b2b-main { padding-block: var(--s6); }
	.b2b-category { padding: var(--s5); }
	.b2b-category .b2b-tile { grid-template-columns: minmax(0, 1fr); gap: var(--s3); }
	.b2b-index-end { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--s3) var(--s5); }
	.b2b-tile-meta { flex-direction: row; flex-wrap: wrap; gap: var(--s1) var(--s4); }
	.b2b-method-strip { grid-template-columns: minmax(0, 1fr); gap: var(--s3); }
	.b2b-main > h2, .b2b-pricing-faqs > h2, .b2b-review-panel:not(:first-child) { margin-top: var(--s7); }
	.b2b-shortlist-card { grid-template-columns: 52px 110px minmax(0, 1fr); grid-template-rows: auto; }
	.b2b-shortlist-reason, .b2b-shortlist-not-fit, .b2b-shortlist-links { grid-column: 1 / -1; }
	.b2b-shortlist-reason { grid-row: 2; margin-top: var(--s2) !important; }
	.b2b-shortlist-card .b2b-shortlist-facts { grid-column: 1 / -1; grid-row: 3; margin: var(--s2) 0; }
	.b2b-shortlist-not-fit { grid-row: 4; }
	.b2b-shortlist-links { grid-row: 5; }
	.method { grid-template-columns: minmax(0, 1fr); }
	.b2b-footer-top { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); }
	.b2b-footer-top > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 699px) {
	/* Tables with a header row and no scroll wrapper scroll inside their own box. */
	.b2b-main table:has(thead):not(.tw > *) { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.b2b-main table:has(thead):not(.tw > *) th, .b2b-main table:has(thead):not(.tw > *) td { min-width: 132px; }
	/* Capability tables stack: criterion above its fact. */
	.b2b-table:not(:has(thead)) tr { grid-template-columns: minmax(0, 1fr); }
	.b2b-portal .b2b-table:not(:has(thead)) tbody th[scope="row"] { padding: var(--s4) var(--s4) 0; }
	.b2b-portal .b2b-table:not(:has(thead)) tr > td { padding: var(--s1) var(--s4) var(--s4); font-size: 15px; }
	.tw > .b2b-matrix th:first-child, .tw > .b2b-table:not(.b2b-methodology-table) th:first-child { width: 132px; min-width: 132px; max-width: 132px; }
	.tw > .b2b-matrix td { min-width: 220px; }
	.tw > .b2b-methodology-table th:first-child { min-width: 160px; }
	.tw > .b2b-table:not(.b2b-matrix):not(.b2b-methodology-table) thead th:nth-child(2),
	.tw > .b2b-table:not(.b2b-matrix):not(.b2b-methodology-table) tbody td:nth-child(2) { position: static; }
}
@media (max-width: 599px) {
	.b2b-portal { --gutter: 20px; font-size: 16px; }
	.b2b-environment { display: block; padding: 10px var(--gutter); font-size: 12px; }
	.b2b-preview-tag { display: block; width: fit-content; margin-bottom: 6px; }
	.b2b-header-inner { gap: 0 var(--s3); min-height: 60px; }
	.b2b-brand { flex: 1 1 auto; gap: var(--s2); min-width: 0; }
	.b2b-brand img { width: 32px; height: 32px; }
	.b2b-brand > span { min-width: 0; }
	.b2b-brand strong { overflow: hidden; font-size: 17px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
	.b2b-brand small { display: none; }
	.b2b-menu-toggle { min-height: 40px; padding-inline: var(--s3); }
	.b2b-portal h2 { font-size: 24px; }
	.b2b-portal h3 { font-size: 19px; }
	.hero.sm > .wrap > p:not(.crumbs):not(.b2b-eyebrow):not(.b2b-verified) { font-size: 18px; line-height: 1.55; }
	.b2b-home-hero { padding-block: var(--s6) var(--s7); }
	.b2b-hero-copy h1 { margin-bottom: var(--s4); }
	.b2b-hero-copy > p:not(.b2b-eyebrow) { margin-bottom: var(--s5); font-size: 18px; }
	.b2b-hero-actions { align-items: stretch; flex-direction: column; gap: var(--s1); }
	.b2b-hero-actions .btn { width: 100%; }
	.b2b-hero-actions .b2b-text-link { justify-content: center; }
	.b2b-research-card { padding: var(--s5) 20px; }
	.b2b-research-top { gap: 10px; margin-bottom: var(--s4); }
	.b2b-research-top > span:first-child { font-size: 10px; }
	.b2b-portal .b2b-research-card h2 { font-size: 21px; }
	.b2b-research-foot { align-items: flex-start; flex-direction: column; gap: 0; }
	.note { padding: var(--s4); }
	.b2b-preview-note { display: block; }
	.b2b-preview-note > b { margin-bottom: 6px; }
	.b2b-section-head { align-items: flex-start; flex-direction: column; gap: var(--s2); }
	.b2b-section-head > span { text-align: left; }
	.b2b-category { padding: var(--s4); border-radius: var(--r); }
	.b2b-category-heading { grid-template-columns: auto minmax(0, 1fr); gap: var(--s2) var(--s3); }
	.b2b-category-heading > p { grid-column: 2; justify-self: start; }
	.b2b-category-number { width: 36px; height: 36px; font-size: 13px; }
	.b2b-portal .b2b-category-heading h3 { font-size: 22px; }
	.b2b-portal .b2b-tile h3, .b2b-portal .b2b-tile h4 { font-size: 19px; }
	.b2b-tile p { font-size: 15px; }
	.b2b-index-end { align-items: flex-start; flex-direction: column; gap: 0; }
	.b2b-tile-meta { font-size: 13px; }
	.chips { gap: var(--s1) var(--s2); margin-top: var(--s4); font-size: 12px; }
	.b2b-product-title { flex-direction: column; align-items: flex-start; gap: var(--s3); }
	.b2b-product-title > .b2b-logo-box, .b2b-product-title > .b2b-logo-dark-chip, .b2b-product-title > .b2b-logo-monogram { flex: none; }
	.b2b-main > h2, .b2b-pricing-faqs > h2, .b2b-review-panel:not(:first-child) { margin-top: var(--s7); }
	.b2b-review-panel > h3 { margin-top: var(--s6); font-size: 18px; }
	.b2b-table th, .b2b-table td, .b2b-main table th, .b2b-main table td { padding: var(--s3); font-size: 14px; }
	.b2b-table tbody th[scope="row"] a { font-size: 16px; }
	.b2b-shortlist-card { grid-template-columns: 40px minmax(0, 1fr); column-gap: var(--s3); padding: var(--s4); border-radius: var(--r); }
	.b2b-shortlist-heading { display: contents; }
	.b2b-shortlist-rank { width: 40px; height: 40px; font-size: 17px; }
	.b2b-shortlist-rank small { display: none; }
	.b2b-shortlist-heading > .b2b-logo-box, .b2b-shortlist-heading > .b2b-logo-dark-chip, .b2b-shortlist-heading > .b2b-logo-monogram { grid-column: 2; grid-row: 1; justify-self: start; max-width: 110px; height: 28px !important; }
	.b2b-portal .b2b-shortlist-heading h3 { grid-column: 1 / -1; grid-row: 2; margin-top: var(--s2); font-size: 21px; }
	.b2b-shortlist-reason { grid-row: 3; }
	.b2b-shortlist-card .b2b-shortlist-facts { grid-row: 4; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s2) var(--s3); padding: var(--s3); }
	.b2b-shortlist-not-fit { grid-row: 5; }
	.b2b-shortlist-links { grid-row: 6; }
	.b2b-table tbody th[scope="row"] > small { display: none; }
	.b2b-review-panel > .b2b-shortlist-facts { padding: var(--s4); gap: var(--s3); }
	.w { padding-block: var(--s3); }
	.w strong { float: none; display: block; margin: var(--s1) 0 0; }
	.b2b-sources { padding-left: 1.8em; }
	section.note.b2b-bottom, .b2b-vendor-cta { padding: var(--s6) 20px; border-radius: var(--r); }
	.b2b-portal section.note.b2b-bottom > b, .b2b-portal section.note.b2b-bottom > h2, .b2b-portal .b2b-vendor-cta h2 { font-size: 25px; }
	section.note.b2b-bottom .btn, .b2b-vendor-cta .btn { width: 100%; margin-top: var(--s2); }
	.form { padding: var(--s5) 20px; border-radius: var(--r); }
	.form .btn { width: 100%; }
	.b2b-footer { margin-top: var(--s7); padding-top: var(--s6); }
	.b2b-footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5) 20px; }
	.b2b-footer-bottom { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
	.b2b-text-link > span { transition: none; }
	.b2b-text-link:hover > span { transform: none; }
}
