/*
Theme Name: ScanLab Bench Journal
Theme URI: 
Author: ScanLab
Description: A measurement-led block magazine for independent desktop 3D scanner reviews.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: scanlab-bench-journal
*/

:root {
	--vvqb-canvas: #f4f9f4;
	--vvqb-surface: #ebf1eb;
	--vvqb-ink: #14261c;
	--vvqb-muted: #627068;
	--vvqb-signal: #65a30d;
	--vvqb-signal-ink: #111111;
	--vvqb-rule: #ccd3cd;
	--vvqb-gutter: 24px;
	--vvqb-section: 72px;
	--vvqb-content: 1180px;
	--vvqb-prose: 680px;
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: #f4f9f4;
	color: #14261c;
	font-family: Mulish, Arial, sans-serif;
	font-size: 17px;
	font-variant-numeric: tabular-nums lining-nums;
	line-height: 1.588;
}

a {
	color: #14261c;
	text-decoration-color: #65a30d;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

a:hover {
	text-decoration-line: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid #65a30d;
	outline-offset: 3px;
}

::selection {
	background: #65a30d;
	color: #111111;
}

.vvqb-masthead {
	position: relative;
	z-index: 20;
	max-width: none !important;
	margin: 0;
	border-bottom: 1px solid #ccd3cd;
	background: #f4f9f4;
}

.vvqb-masthead-inner {
	min-height: 92px;
	max-width: var(--vvqb-content);
	margin-inline: auto;
	padding: 12px 0;
}

.vvqb-wordmark {
	margin: 0 !important;
}

.vvqb-wordmark-kicker,
.vvqb-eyebrow,
.vvqb-ledger-title,
.vvqb-section-index,
.vvqb-method-label,
.vvqb-index-label,
.vvqb-article-kicker,
.vvqb-footer-index {
	margin: 0;
	color: #627068;
	font-family: Mulish, Arial, sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 16px;
	text-transform: uppercase;
}

.vvqb-wordmark-title {
	margin: 2px 0 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: -.03em;
	line-height: 40px;
}

.vvqb-wordmark-title a {
	text-decoration: none;
}

.vvqb-masthead-note {
	max-width: 360px;
	margin: 0;
	color: #627068;
	font-size: 13px;
	line-height: 19px;
	text-align: right;
}

.vvqb-rail {
	position: sticky;
	top: 0;
	z-index: 30;
	max-width: none !important;
	margin: 0 !important;
	border-top: 1px solid #ccd3cd;
	background: #f4f9f4;
}

.vvqb-rail-inner {
	min-height: 44px;
	max-width: var(--vvqb-content);
	margin-inline: auto;
}

.vvqb-workflows {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .055em;
	line-height: 16px;
	text-transform: uppercase;
}

.vvqb-workflows a {
	position: relative;
	padding-block: 13px !important;
	text-decoration: none;
}

.vvqb-workflows a::after {
	position: absolute;
	right: 0;
	bottom: 7px;
	left: 0;
	height: 1px;
	background: #65a30d;
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 120ms ease-out;
}

.vvqb-workflows a:hover::after,
.vvqb-workflows a:focus-visible::after {
	transform: scaleX(1);
}

.vvqb-utilities {
	gap: 16px;
	margin: 0 !important;
}

.vvqb-utilities .wp-block-search {
	margin: 0;
}

.vvqb-utilities .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
}

.vvqb-utilities .wp-block-search__input {
	width: 112px;
	min-height: 30px;
	border: 0;
	border-bottom: 1px solid #ccd3cd;
	border-radius: 0;
	background: transparent;
	color: #14261c;
	font: 700 12px/16px Mulish, Arial, sans-serif;
}

.vvqb-utilities .wp-block-search__button {
	min-width: 30px;
	min-height: 30px;
	margin: 0;
	padding: 5px;
	border: 1px solid #ccd3cd;
	border-radius: 2px;
	background: transparent;
	color: #14261c;
}

.vvqb-compare {
	margin: 0;
}

.vvqb-compare a {
	display: inline-block;
	padding: 7px 12px;
	border: 1px solid #14261c;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 16px;
	text-decoration: none;
	text-transform: uppercase;
}

.vvqb-shell {
	width: min(calc(100% - 48px), var(--vvqb-content));
	max-width: var(--vvqb-content) !important;
	margin-inline: auto;
	padding: 48px 0 var(--vvqb-section);
}

.vvqb-lead-query {
	margin: 0 0 72px;
}

.vvqb-lead-query .wp-block-post-template {
	margin: 0;
	padding: 0;
}

.vvqb-lead {
	display: grid !important;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important;
	gap: 24px;
	margin: 0;
	padding-bottom: 32px;
	border-bottom: 1px solid #14261c;
}

.vvqb-lead-copy {
	display: flex;
	min-height: 460px;
	margin: 0 !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: 32px 48px 32px 0;
	border-top: 1px solid #14261c;
}

.vvqb-verdict,
.vvqb-story-code {
	margin: 18px 0 0;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .07em;
	line-height: 16px;
	text-transform: uppercase;
}

.vvqb-verdict a,
.vvqb-story-code a {
	display: inline-block;
	padding: 4px 7px;
	border-radius: 2px;
	background: #65a30d;
	color: #111111;
	text-decoration: none;
}

.vvqb-lead-title {
	max-width: 780px;
	margin: 14px 0 20px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: clamp(40px, 5vw, 52px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 56px;
}

.vvqb-lead-title a,
.vvqb-story-title a {
	text-decoration: none;
}

.vvqb-lead-title a:hover,
.vvqb-story-title a:hover {
	text-decoration-color: #65a30d;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.vvqb-story-excerpt {
	margin: 0;
	color: #627068;
	font-size: 17px;
	line-height: 27px;
}

.vvqb-story-excerpt .wp-block-post-excerpt__more-link {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.vvqb-evidence-link {
	margin: auto 0 0;
	padding-top: 32px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.vvqb-lead-visual {
	display: flex;
	margin: 0 !important;
	flex-direction: column;
	justify-content: flex-end;
}

.vvqb-story-media,
.vvqb-article-image,
.vvqb-page-image {
	overflow: hidden;
	margin: 0;
	background: #ebf1eb;
}

.vvqb-story-media img,
.vvqb-article-image img,
.vvqb-page-image img {
	display: block;
	width: 100%;
	transition: transform 160ms ease-out;
}

.vvqb-story-media:hover img {
	transform: scale(1.018);
}

.vvqb-ledger {
	margin: 0 !important;
	border-top: 1px solid #14261c;
}

.vvqb-ledger-title {
	padding: 10px 0;
	border-bottom: 1px solid #ccd3cd;
}

.vvqb-measure {
	gap: 16px;
	margin: 0 !important;
	padding: 11px 0;
	border-bottom: 1px solid #ccd3cd;
}

.vvqb-measure-label,
.vvqb-measure-value {
	margin: 0;
	font-size: 13px;
	line-height: 18px;
}

.vvqb-measure-label {
	color: #627068;
}

.vvqb-measure-value {
	font-weight: 800;
	text-align: right;
}

.vvqb-stage {
	margin: 0 0 var(--vvqb-section) !important;
	scroll-margin-top: 64px;
}

.vvqb-section-head,
.vvqb-page-head {
	display: grid !important;
	grid-template-columns: 3fr 9fr !important;
	gap: 24px;
	margin: 0 0 32px !important;
	padding-top: 14px;
	border-top: 1px solid #14261c;
}

.vvqb-section-title {
	max-width: 760px;
	margin: 0;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 36px;
}

.vvqb-section-question {
	max-width: 680px;
	margin: 12px 0 0;
	color: #627068;
	font-size: 17px;
	line-height: 27px;
}

.vvqb-ranked,
.vvqb-workflow-grid,
.vvqb-archive-grid {
	margin: 0;
}

.vvqb-ranked .wp-block-post-template,
.vvqb-workflow-grid .wp-block-post-template,
.vvqb-archive-grid .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
}

.vvqb-ranked .wp-block-post {
	grid-column: span 3;
}

.vvqb-ranked .wp-block-post:first-child {
	grid-column: span 6;
}

.vvqb-workflow-grid .wp-block-post,
.vvqb-archive-grid .wp-block-post {
	grid-column: span 4;
}

.vvqb-rank-story,
.vvqb-workflow-story,
.vvqb-archive-story {
	height: 100%;
	margin: 0 !important;
	padding: 0 0 20px;
	border-bottom: 1px solid #ccd3cd;
}

.vvqb-rank-story .vvqb-story-media,
.vvqb-archive-story .vvqb-story-media {
	margin-bottom: 16px;
}

.vvqb-ranked .wp-block-post:not(:first-child) .vvqb-story-media {
	display: none;
}

.vvqb-story-code {
	margin: 0 0 10px;
}

.vvqb-story-title {
	margin: 0 0 12px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -.015em;
	line-height: 29px;
}

.vvqb-ranked .wp-block-post:first-child .vvqb-story-title {
	font-size: 32px;
	line-height: 36px;
}

.vvqb-story-metrics {
	gap: 12px;
	margin: 18px 0 0 !important;
	padding-top: 9px;
	border-top: 1px solid #ccd3cd;
}

.vvqb-metric {
	margin: 0;
	color: #627068;
	font-size: 12px;
	font-weight: 700;
	line-height: 16px;
}

.vvqb-metric a {
	color: inherit;
}

.vvqb-method {
	display: grid !important;
	grid-template-columns: 3fr 9fr !important;
	gap: 24px;
	margin: 32px 0 0 !important;
	padding: 18px 24px;
	border: 1px solid #ccd3cd;
	border-radius: 2px;
	background: #ebf1eb;
}

.vvqb-method-copy {
	max-width: 760px;
	margin: 0;
	font-size: 15px;
	line-height: 23px;
}

.vvqb-more {
	margin: 20px 0 0;
	text-align: right;
}

.vvqb-more a {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.vvqb-page-head {
	margin-bottom: 48px !important;
}

.vvqb-archive-grid .wp-block-post:nth-child(1),
.vvqb-archive-grid .wp-block-post:nth-child(7) {
	grid-column: span 6;
}

.vvqb-pagination {
	margin: 48px 0 0;
	padding-top: 16px;
	border-top: 1px solid #14261c;
	font-size: 13px;
	font-weight: 800;
}

.vvqb-empty {
	margin: 0;
	padding: 24px;
	border: 1px solid #ccd3cd;
	background: #ebf1eb;
	color: #627068;
}

.vvqb-article-head {
	max-width: 960px !important;
	margin: 0 auto 36px !important;
	padding-top: 16px;
	border-top: 1px solid #14261c;
}

.vvqb-article-image {
	width: 960px;
	max-width: 100%;
	margin: 0 auto 48px;
}

.vvqb-article-shell {
	display: grid !important;
	grid-template-columns: 180px minmax(0, 680px) 220px;
	gap: 24px;
	max-width: 1128px !important;
	margin: 0 auto !important;
	align-items: start;
}

.vvqb-test-index,
.vvqb-result-ledger {
	position: sticky;
	top: 68px;
	margin: 0 !important;
	padding-top: 10px;
	border-top: 1px solid #14261c;
}

.vvqb-test-index ul {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.vvqb-test-index li {
	padding: 7px 0;
	border-bottom: 1px solid #ccd3cd;
	font-size: 12px;
	font-weight: 700;
	line-height: 17px;
}

.vvqb-article-body {
	max-width: var(--vvqb-prose) !important;
	margin: 0 !important;
}

.vvqb-article-kicker {
	margin-bottom: 28px;
}

.vvqb-article-body .wp-block-post-content > h2 {
	margin-top: 52px;
	font-size: 32px;
	line-height: 36px;
}

.vvqb-article-body .wp-block-post-content > p,
.vvqb-page-prose > p {
	font-size: 17px;
	line-height: 27px;
}

.vvqb-article-body .wp-block-table {
	width: 960px;
	max-width: calc(100vw - 48px);
	margin-left: 50%;
	transform: translateX(-50%);
}

.vvqb-result-row {
	gap: 8px;
	margin: 0 !important;
	padding: 9px 0;
	border-bottom: 1px solid #ccd3cd;
}

.vvqb-result-row p {
	margin: 0;
	font-size: 12px;
	line-height: 16px;
}

.vvqb-result-row p:last-child {
	font-weight: 800;
}

.vvqb-page-shell {
	max-width: 960px !important;
	margin: 0 auto !important;
	padding-top: 16px;
	border-top: 1px solid #14261c;
}

.vvqb-page-shell .vvqb-lead-title {
	margin-bottom: 36px;
}

.vvqb-page-image {
	margin-bottom: 36px;
}

.vvqb-page-prose {
	max-width: var(--vvqb-prose) !important;
	margin-inline: auto;
}

.vvqb-footer {
	max-width: none !important;
	margin: 0;
	padding: 48px 24px 24px;
	background: #14261c;
	color: #f4f9f4;
}

.vvqb-footer a {
	color: #f4f9f4;
}

.vvqb-footer-inner {
	max-width: var(--vvqb-content) !important;
	margin-inline: auto;
}

.vvqb-footer-pledge {
	max-width: 880px;
	margin: 0 0 40px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 38px;
}

.vvqb-footer-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px;
	margin: 0 !important;
}

.vvqb-footer-column {
	margin: 0 !important;
	padding-top: 12px;
	border-top: 1px solid #627068;
}

.vvqb-footer-index {
	color: #ccd3cd;
}

.vvqb-footer-column h3 {
	margin: 12px 0;
	color: #f4f9f4;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 21px;
	line-height: 27px;
}

.vvqb-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vvqb-footer-links li {
	padding: 7px 0;
	border-bottom: 1px solid rgba(204, 211, 205, .26);
	font-size: 13px;
	line-height: 18px;
}

.vvqb-footer-utility {
	gap: 24px;
	margin: 40px 0 0 !important;
	padding-top: 18px;
	border-top: 1px solid #627068;
}

.vvqb-footer-utility .wp-block-navigation,
.vvqb-footer-mark {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 16px;
	text-transform: uppercase;
}

@media (max-width: 1199px) {
	.vvqb-masthead-inner,
	.vvqb-rail-inner {
		margin-inline: 24px;
	}

	.vvqb-article-shell {
		grid-template-columns: minmax(0, 1fr);
		max-width: 680px !important;
	}

	.vvqb-test-index,
	.vvqb-result-ledger {
		position: static;
		padding: 12px 16px;
		border: 1px solid #ccd3cd;
		background: #ebf1eb;
	}

	.vvqb-test-index ul {
		display: flex;
		gap: 16px;
		flex-wrap: wrap;
	}

	.vvqb-test-index li {
		border: 0;
	}
}

@media (max-width: 767px) {
	:root {
		--vvqb-section: 52px;
	}

	html {
		scroll-behavior: auto;
	}

	.vvqb-masthead-inner {
		min-height: 76px;
	}

	.vvqb-masthead-note {
		display: none;
	}

	.vvqb-wordmark-title {
		font-size: 30px;
		line-height: 34px;
	}

	.vvqb-rail-inner {
		min-height: 48px;
	}

	.vvqb-workflows {
		order: 2;
	}

	.vvqb-utilities .wp-block-search {
		display: none;
	}

	.vvqb-compare {
		position: fixed;
		right: 14px;
		bottom: 14px;
		z-index: 50;
		background: #f4f9f4;
	}

	.vvqb-shell {
		width: min(calc(100% - 32px), var(--vvqb-content));
		padding-top: 32px;
	}

	.vvqb-lead {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.vvqb-lead-copy {
		min-height: auto;
		padding: 24px 0 8px;
	}

	.vvqb-lead-title {
		font-size: 38px;
		line-height: 42px;
	}

	.vvqb-evidence-link {
		margin-top: 20px;
	}

	.vvqb-lead-visual {
		display: flex;
	}

	.vvqb-lead-visual .vvqb-ledger {
		order: -1;
		margin-bottom: 20px !important;
	}

	.vvqb-section-head,
	.vvqb-page-head,
	.vvqb-method {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px;
	}

	.vvqb-ranked .wp-block-post-template,
	.vvqb-workflow-grid .wp-block-post-template,
	.vvqb-archive-grid .wp-block-post-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.vvqb-ranked .wp-block-post,
	.vvqb-ranked .wp-block-post:first-child,
	.vvqb-workflow-grid .wp-block-post,
	.vvqb-archive-grid .wp-block-post,
	.vvqb-archive-grid .wp-block-post:nth-child(1),
	.vvqb-archive-grid .wp-block-post:nth-child(7) {
		grid-column: auto;
	}

	.vvqb-workflow-grid .wp-block-post:nth-child(n+3) {
		display: none;
	}

	.vvqb-ranked .wp-block-post:not(:first-child) .vvqb-story-media {
		display: block;
	}

	.vvqb-footer {
		padding-inline: 16px;
	}

	.vvqb-footer-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 32px;
	}

	.vvqb-footer-pledge {
		font-size: 26px;
		line-height: 33px;
	}
}

@media (max-width: 479px) {
	.vvqb-wordmark-kicker {
		display: none;
	}

	.vvqb-masthead-inner,
	.vvqb-rail-inner {
		margin-inline: 16px;
	}

	.vvqb-workflows .wp-block-navigation__responsive-container-open {
		padding: 6px;
	}

	.vvqb-section-title {
		font-size: 28px;
		line-height: 33px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0s !important;
	}
}
