/*
Theme Name: Konstruktion V1
Description: Native block theme foundation for svenska bygg- och hantverksföretag.
Version: 0.3.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: construction-v1
*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body,
.wp-site-blocks,
.editor-styles-wrapper {
	max-width: 100%;
	overflow-wrap: anywhere;
}

html,
.wp-site-blocks {
	overflow-x: clip;
}

body {
	margin: 0;
}

:where(a, button, input, select, textarea, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: var(--wp--custom--interaction--focus-offset);
}

.wp-block-button__link {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-height: var(--wp--custom--interaction--min-touch-target);
	padding: 12px 24px;
	text-decoration: none;
}

.wp-block-button__link:hover {
	background: var(--wp--preset--color--brand-700);
}

.wp-block-button__link:active {
	transform: translateY(1px);
}

.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	border-width: 1px;
	color: inherit;
}

.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--stone-150);
	color: var(--wp--preset--color--ink-950);
}

.cv-site-header {
	border-bottom: 1px solid var(--wp--preset--color--stone-300);
	min-height: 80px;
	padding-block: 16px;
}

.cv-site-header .wp-block-site-title {
	flex: 1 1 auto;
	min-width: 0;
}

.cv-mobile-offer {
	display: none;
}

.cv-site-header .wp-block-navigation__responsive-container-open,
.cv-site-header .wp-block-navigation__responsive-container-close {
	align-items: center;
	justify-content: center;
	min-height: var(--wp--custom--interaction--min-touch-target);
	min-width: var(--wp--custom--interaction--min-touch-target);
}

.cv-section {
	padding-block: var(--wp--preset--spacing--10);
}

.cv-section-tight {
	padding-block: var(--wp--preset--spacing--9);
}

.cv-kicker {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: .08em;
	margin: 0 0 var(--wp--preset--spacing--4);
	text-transform: uppercase;
}

.cv-heading {
	margin-top: 0;
}

.cv-hero {
	padding-block: clamp(64px, 9vw, 112px);
}

.cv-hero-grid,
.cv-grid-2,
.cv-grid-3,
.cv-grid-4 {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cv-hero-copy {
	grid-column: span 6;
}

.cv-hero-media {
	grid-column: 8 / span 5;
}

.cv-grid-2 > * {
	grid-column: span 6;
}

.cv-grid-3 > * {
	grid-column: span 4;
}

.cv-grid-4 > * {
	grid-column: span 3;
}

.cv-card,
.cv-fact,
.cv-process-step {
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	padding: var(--wp--preset--spacing--5);
}

.cv-card {
	background: var(--wp--preset--color--white);
}

.cv-card :where(h2, h3, p):last-child,
.cv-fact :where(h2, h3, p):last-child,
.cv-process-step :where(h2, h3, p):last-child {
	margin-bottom: 0;
}

.cv-index {
	color: var(--wp--preset--color--brand-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: .06em;
	margin-top: 0;
}

.cv-demo-media {
	align-items: center;
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--stone-150);
	border: 1px solid var(--wp--preset--color--stone-300);
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 220px;
	padding: var(--wp--preset--spacing--6);
	text-align: center;
}

.cv-demo-label {
	background: var(--wp--preset--color--ink-950);
	border-radius: var(--wp--custom--radius--tag);
	color: var(--wp--preset--color--white);
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	padding: 6px 8px;
	text-transform: uppercase;
}

.cv-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
}

.cv-rule-list > * + * {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	padding-top: var(--wp--preset--spacing--4);
}

.cv-cta-band {
	padding: var(--wp--preset--spacing--8);
}

.cv-footer {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	padding-block: var(--wp--preset--spacing--8);
}

.cv-main {
	min-height: 55vh;
	padding-block: var(--wp--preset--spacing--9);
}

.cv-content-shell {
	width: min(100%, 760px);
}

.cv-content-shell > * {
	max-width: 100%;
}

.wp-block-post-content :where(img, video, iframe) {
	height: auto;
	max-width: 100%;
}

.cc-quote-shell {
	width: min(100%, 760px);
}

.cc-quote-kicker,
.cc-progress {
	color: var(--wp--preset--color--brand-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cc-quote-intro {
	max-width: 62ch;
}

.cc-lead-process {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: var(--wp--preset--spacing--6) 0 var(--wp--preset--spacing--3);
	padding: 0;
}

.cc-lead-process li {
	background: var(--wp--preset--color--mineral-50);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	min-width: 0;
	padding: var(--wp--preset--spacing--4);
}

.cc-lead-process strong,
.cc-lead-process span {
	display: block;
}

.cc-lead-process span,
.cc-lead-process__note {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
}

.cc-lead-process__note {
	margin-bottom: var(--wp--preset--spacing--5);
	max-width: 62ch;
}

.cc-quote-form {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	margin-top: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--6);
}

.cc-step {
	border: 0;
	margin: var(--wp--preset--spacing--5) 0 0;
	min-width: 0;
	padding: 0;
}

.cc-step[hidden] {
	display: none;
}

.cc-step legend {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 700;
	line-height: 1.08;
	margin-bottom: var(--wp--preset--spacing--5);
	padding: 0;
}

.cc-field,
.cc-field-grid {
	margin-bottom: var(--wp--preset--spacing--5);
}

.cc-field-grid {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cc-field label {
	display: block;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 8px;
}

.cc-field :where(input:not([type="checkbox"]), select, textarea) {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-600);
	border-radius: var(--wp--custom--radius--input);
	color: var(--wp--preset--color--ink-950);
	font: inherit;
	max-width: 100%;
	min-height: var(--wp--custom--interaction--input-min-height);
	padding: 10px 12px;
	width: 100%;
}

.cc-field textarea {
	min-height: 160px;
	resize: vertical;
}

.cc-field input[type="file"] {
	height: auto;
	padding: 12px;
}

.cc-photo-preview {
	margin-top: var(--wp--preset--spacing--4);
}

.cc-photo-preview__title {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--3);
}

.cc-photo-preview__list {
	display: grid;
	gap: var(--wp--preset--spacing--3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.cc-photo-preview__item {
	align-items: center;
	border: 1px solid var(--wp--preset--color--stone-300);
	display: grid;
	gap: var(--wp--preset--spacing--3);
	grid-template-columns: 72px minmax(0, 1fr) auto;
	max-width: 100%;
	padding: 10px;
}

.cc-photo-preview__item img {
	aspect-ratio: 1;
	border-radius: var(--wp--custom--radius--input);
	height: 72px;
	object-fit: cover;
	width: 72px;
}

.cc-photo-preview__meta {
	min-width: 0;
	overflow-wrap: anywhere;
}

.cc-photo-preview__meta strong,
.cc-photo-preview__meta small {
	display: block;
}

.cc-photo-preview__remove {
	background: transparent;
	border: 1px solid var(--wp--preset--color--stone-600);
	border-radius: var(--wp--custom--radius--button);
	color: var(--wp--preset--color--ink-950);
	cursor: pointer;
	min-height: 44px;
	padding: 8px 12px;
}

.cc-field :where(input, select, textarea)[aria-invalid="true"] {
	border-color: var(--wp--preset--color--error);
	border-width: 2px;
}

.cc-check label {
	align-items: flex-start;
	display: flex;
	font-weight: 400;
	gap: 12px;
}

.cc-check input[type="checkbox"] {
	flex: 0 0 auto;
	height: 22px;
	margin-top: 2px;
	width: 22px;
}

.cc-help,
.cc-optional {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
}

.cc-step-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
	justify-content: flex-end;
	margin-top: var(--wp--preset--spacing--6);
}

.cc-quote-form:not(.is-enhanced) [data-cc-next],
.cc-quote-form:not(.is-enhanced) [data-cc-back] {
	display: none;
}

.cc-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--wp--custom--radius--button);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .04em;
	min-height: var(--wp--custom--interaction--min-touch-target);
	padding: 12px 20px;
	text-transform: uppercase;
}

.cc-button-primary {
	background: var(--wp--preset--color--brand-600);
	color: var(--wp--preset--color--white);
}

.cc-button-primary:hover {
	background: var(--wp--preset--color--brand-700);
}

.cc-button-secondary {
	background: transparent;
	border-color: var(--wp--preset--color--ink-950);
	color: var(--wp--preset--color--ink-950);
}

.cc-button:disabled {
	cursor: default;
	opacity: .6;
}

.cc-form-status:empty {
	display: none;
}

.cc-message {
	border-left: 4px solid currentColor;
	margin: var(--wp--preset--spacing--5) 0;
	padding: 12px 16px;
}

.cc-message-success {
	background: color-mix(in srgb, var(--wp--preset--color--success) 8%, white);
	color: var(--wp--preset--color--success);
}

.cc-message-error {
	background: color-mix(in srgb, var(--wp--preset--color--error) 8%, white);
	color: var(--wp--preset--color--error);
}

.cc-hp {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

@media (max-width: 900px) {
	.cv-site-header {
		min-height: 64px;
	}

	.cv-header-cta {
		display: none;
	}

	.cv-mobile-offer {
		display: flex;
	}

	.cv-hero-copy,
	.cv-hero-media,
	.cv-grid-2 > *,
	.cv-grid-3 > *,
	.cv-grid-4 > * {
		grid-column: 1 / -1;
	}

	.cv-hero-media {
		margin-top: var(--wp--preset--spacing--4);
	}

	.cv-section {
		padding-block: var(--wp--preset--spacing--9);
	}
}

@media (max-width: 600px) {
	.cc-lead-process {
		grid-template-columns: minmax(0, 1fr);
	}

	.cc-photo-preview__item {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.cc-photo-preview__item img {
		height: 56px;
		width: 56px;
	}

	.cc-photo-preview__remove {
		grid-column: 1 / -1;
		width: 100%;
	}

	.cv-site-header .wp-block-site-title {
		font-size: clamp(18px, 6vw, 22px);
		max-width: calc(100% - 60px);
	}

	.cc-field-grid {
		grid-template-columns: 1fr;
	}

	.cc-quote-form {
		padding: var(--wp--preset--spacing--4);
	}
}

@media (max-width: 480px) {
	.cv-section,
	.cv-section-tight,
	.cv-main {
		padding-block: var(--wp--preset--spacing--8);
	}

	.cv-hero {
		padding-block: var(--wp--preset--spacing--8);
	}

	.cv-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-button-row .wp-block-button,
	.cv-button-row .wp-block-button__link {
		width: 100%;
	}

	.cv-card,
	.cv-fact,
	.cv-process-step,
	.cv-cta-band {
		padding: var(--wp--preset--spacing--4);
	}

	.cc-step-nav {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.cc-step-nav .cc-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}


/* Issue #9 project portfolio */
.cv-project-grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--6);
}

.cv-project-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	min-width: 0;
	overflow: hidden;
}

.cv-project-card__media {
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--stone-150);
	display: block;
	overflow: hidden;
	text-decoration: none;
}

.cv-project-card__media img,
.cv-project-detail__hero img,
.cv-project-gallery__item img,
.cv-project-before-after img {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.cv-project-media-placeholder {
	align-items: center;
	color: var(--wp--preset--color--stone-600);
	display: flex;
	height: 100%;
	justify-content: center;
	padding: var(--wp--preset--spacing--5);
	text-align: center;
}

.cv-project-card__body {
	padding: var(--wp--preset--spacing--5);
}

.cv-project-card__body h3 {
	margin-block: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
}

.cv-project-card__body h3 a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: .15em;
}

.cv-project-card__meta {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
}

.cv-project-filters {
	align-items: end;
	border-block: 1px solid var(--wp--preset--color--stone-300);
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
	margin-block: var(--wp--preset--spacing--7);
	padding-block: var(--wp--preset--spacing--5);
}

.cv-project-filters label {
	display: grid;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	gap: var(--wp--preset--spacing--2);
	min-width: min(100%, 220px);
}

.cv-project-filters select,
.cv-project-filters button {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--input);
	color: var(--wp--preset--color--ink-950);
	font: inherit;
	min-height: var(--wp--custom--interaction--min-touch-target);
	padding: 10px 12px;
}

.cv-project-filters button {
	background: var(--wp--preset--color--brand-600);
	border-color: var(--wp--preset--color--brand-600);
	color: var(--wp--preset--color--white);
	cursor: pointer;
	font-weight: 700;
}

.cv-project-filters a {
	align-items: center;
	display: inline-flex;
	min-height: var(--wp--custom--interaction--min-touch-target);
}

.cv-project-empty {
	background: var(--wp--preset--color--mineral-50);
	border: 1px solid var(--wp--preset--color--stone-300);
	margin-top: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--7);
}

.cv-project-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--3);
	list-style: none;
	margin: var(--wp--preset--spacing--7) 0 0;
	padding: 0;
}

.cv-project-pagination a,
.cv-project-pagination .current {
	align-items: center;
	border: 1px solid var(--wp--preset--color--stone-300);
	display: inline-flex;
	justify-content: center;
	min-height: var(--wp--custom--interaction--min-touch-target);
	min-width: var(--wp--custom--interaction--min-touch-target);
	padding: 8px;
}

.cv-project-detail {
	margin-inline: auto;
	max-width: 1240px;
	width: 100%;
}

.cv-project-detail__header {
	max-width: 760px;
}

.cv-project-meta {
	display: grid;
	gap: var(--wp--preset--spacing--3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: var(--wp--preset--spacing--6);
}

.cv-project-meta > div {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	padding-top: var(--wp--preset--spacing--3);
}

.cv-project-meta dt {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.cv-project-meta dd {
	margin: var(--wp--preset--spacing--1) 0 0;
}

.cv-project-detail__hero {
	aspect-ratio: 16 / 9;
	margin: var(--wp--preset--spacing--7) 0;
	overflow: hidden;
}

.cv-project-detail__hero figcaption,
.cv-project-gallery figcaption,
.cv-project-before-after figcaption {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--2);
}

.cv-project-detail__sections {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: var(--wp--preset--spacing--8);
}

.cv-project-detail__section {
	border-top: 2px solid var(--wp--preset--color--ink-950);
	padding-top: var(--wp--preset--spacing--4);
}

.cv-project-gallery,
.cv-project-before-after,
.cv-project-detail__content {
	margin-block: var(--wp--preset--spacing--9);
}

.cv-project-gallery__grid,
.cv-project-before-after__grid {
	display: grid;
	gap: var(--wp--preset--spacing--5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cv-project-gallery__item,
.cv-project-before-after figure {
	margin: 0;
	min-width: 0;
}

.cv-project-gallery__item a {
	aspect-ratio: 4 / 3;
	display: block;
	overflow: hidden;
}

.cv-project-image-label {
	background: var(--wp--preset--color--ink-950);
	color: var(--wp--preset--color--white);
	display: inline-block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--2);
	padding: 6px 8px;
}

.cv-project-before-after figure img {
	aspect-ratio: 4 / 3;
}

.cv-project-detail__cta {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	margin-top: var(--wp--preset--spacing--9);
	padding-top: var(--wp--preset--spacing--6);
}

@media (max-width: 760px) {
	.cv-project-grid,
	.cv-project-meta,
	.cv-project-detail__sections,
	.cv-project-gallery__grid,
	.cv-project-before-after__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-project-filters {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-project-filters label,
	.cv-project-filters select,
	.cv-project-filters button,
	.cv-project-filters a {
		max-width: 100%;
		width: 100%;
	}

	.cv-project-empty {
		padding: var(--wp--preset--spacing--5);
	}
}

/* Issue #59 verified project media */
.cv-project-comparison {
	--cv-project-compare-position: 50%;
}

.cv-project-comparison__stage {
	display: grid;
	gap: var(--wp--preset--spacing--5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cv-project-comparison__panel {
	margin: 0;
	min-width: 0;
	position: relative;
}

.cv-project-comparison__panel img {
	aspect-ratio: 4 / 3;
}

.cv-project-comparison__control {
	display: none;
	font-weight: 700;
	gap: var(--wp--preset--spacing--2);
	margin-top: var(--wp--preset--spacing--4);
}

.cv-project-comparison__control input[type="range"] {
	cursor: ew-resize;
	min-height: var(--wp--custom--interaction--min-touch-target);
	width: 100%;
}

.cv-project-comparison__control input[type="range"]:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.cv-project-comparison__captions {
	color: var(--wp--preset--color--stone-600);
	display: grid;
	font-size: var(--wp--preset--font-size--small);
	gap: var(--wp--preset--spacing--3);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--4);
}

.cv-project-comparison__captions p {
	margin: 0;
}

.cv-project-comparison.is-enhanced .cv-project-comparison__stage {
	aspect-ratio: 4 / 3;
	display: block;
	overflow: hidden;
	position: relative;
}

.cv-project-comparison.is-enhanced .cv-project-comparison__panel {
	inset: 0;
	position: absolute;
}

.cv-project-comparison.is-enhanced .cv-project-comparison__panel img {
	aspect-ratio: auto;
	height: 100%;
}

.cv-project-comparison.is-enhanced .cv-project-comparison__panel--before {
	clip-path: inset(0 calc(100% - var(--cv-project-compare-position)) 0 0);
	z-index: 1;
}

.cv-project-comparison.is-enhanced .cv-project-image-label {
	margin: 0;
	position: absolute;
	top: var(--wp--preset--spacing--3);
	z-index: 2;
}

.cv-project-comparison.is-enhanced .cv-project-comparison__panel--before .cv-project-image-label {
	left: var(--wp--preset--spacing--3);
}

.cv-project-comparison.is-enhanced .cv-project-comparison__panel--after .cv-project-image-label {
	right: var(--wp--preset--spacing--3);
}

.cv-project-comparison.is-enhanced .cv-project-comparison__control {
	display: grid;
}

@media (max-width: 760px) {
	.cv-project-comparison__stage,
	.cv-project-comparison__captions {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.cv-project-comparison.is-enhanced .cv-project-comparison__panel--before {
		transition: none;
	}
}

/* Issue #39 quote, scope, ROT and change demo */
.cv-quote-demo {
	margin-top: var(--wp--preset--spacing--10);
}

.cv-quote-demo__shell {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	padding-top: var(--wp--preset--spacing--9);
	width: 100%;
}

.cv-quote-demo__legal {
	background: var(--wp--preset--color--mineral-50);
	border-left: 4px solid var(--wp--preset--color--brand-600);
	max-width: 78ch;
	padding: 16px 20px;
}

.cv-quote-demo__summary,
.cv-quote-demo__scope-grid,
.cv-quote-demo__bottom {
	display: grid;
	gap: var(--wp--preset--spacing--5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cv-quote-demo__summary {
	margin-block: var(--wp--preset--spacing--7);
}

.cv-quote-demo__summary-main,
.cv-quote-demo__next,
.cv-scope-card,
.cv-cost-card,
.cv-milestone,
.cv-change-card,
.cv-version-history,
.cv-export-summary,
.cv-quote-demo__rot {
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	min-width: 0;
	padding: var(--wp--preset--spacing--5);
}

.cv-quote-demo__next {
	background: var(--wp--preset--color--brand-100);
}

.cv-quote-demo__section-title {
	margin-top: var(--wp--preset--spacing--9);
}

.cv-scope-card__label,
.cv-cost-card__amount,
.cv-status {
	font-weight: 700;
}

.cv-scope-included {
	border-top: 4px solid var(--wp--preset--color--success);
}

.cv-scope-excluded {
	border-top: 4px solid var(--wp--preset--color--stone-600);
}

.cv-quote-demo__cost-grid,
.cv-quote-demo__milestones {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cv-cost-card__amount {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	margin-block: var(--wp--preset--spacing--3);
}

.cv-cost-card--labour {
	border-top: 4px solid var(--wp--preset--color--brand-600);
}

.cv-cost-card--material {
	border-top: 4px solid var(--wp--preset--color--warning);
}

.cv-cost-card--other {
	border-top: 4px solid var(--wp--preset--color--stone-600);
}

.cv-cost-card--total {
	border-top: 4px solid var(--wp--preset--color--ink-950);
}

.cv-quote-demo__rot {
	background: var(--wp--preset--color--mineral-50);
	margin-top: var(--wp--preset--spacing--5);
}

.cv-quote-demo__source-note {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
}

.cv-quote-demo__changes {
	display: grid;
	gap: var(--wp--preset--spacing--5);
}

.cv-change-card__header {
	gap: var(--wp--preset--spacing--3);
}

.cv-status {
	border-radius: var(--wp--custom--radius--tag);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
	padding: 6px 10px;
}

.cv-status--waiting {
	background: var(--wp--preset--color--brand-100);
}

.cv-status--approved {
	background: color-mix(in srgb, var(--wp--preset--color--success) 12%, white);
}

.cv-status--declined {
	background: var(--wp--preset--color--stone-150);
}

.cv-change-card--waiting {
	border-left: 4px solid var(--wp--preset--color--brand-600);
}

.cv-change-card--approved {
	border-left: 4px solid var(--wp--preset--color--success);
}

.cv-change-card--declined {
	border-left: 4px solid var(--wp--preset--color--stone-600);
}

.cv-change-card__action {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	padding-top: var(--wp--preset--spacing--3);
}

.cv-version-list {
	padding-left: 1.25rem;
}

@media (max-width: 900px) {
	.cv-quote-demo__cost-grid,
	.cv-quote-demo__milestones {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.cv-quote-demo__summary,
	.cv-quote-demo__scope-grid,
	.cv-quote-demo__bottom,
	.cv-quote-demo__cost-grid,
	.cv-quote-demo__milestones {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-quote-demo__summary-main,
	.cv-quote-demo__next,
	.cv-scope-card,
	.cv-cost-card,
	.cv-milestone,
	.cv-change-card,
	.cv-version-history,
	.cv-export-summary,
	.cv-quote-demo__rot {
		padding: var(--wp--preset--spacing--4);
	}
}

@media print {
	.cv-site-header,
	.cv-footer,
	.cc-quote-shell {
		display: none !important;
	}

	.cv-main,
	.cv-quote-demo {
		margin: 0;
		padding: 0;
	}

	.cv-quote-demo__shell {
		border: 0;
		padding: 0;
	}

	.cv-quote-demo__summary,
	.cv-quote-demo__scope-grid,
	.cv-quote-demo__bottom,
	.cv-quote-demo__cost-grid,
	.cv-quote-demo__milestones {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cv-change-card,
	.cv-cost-card,
	.cv-scope-card,
	.cv-milestone,
	.cv-version-history,
	.cv-export-summary,
	.cv-quote-demo__rot {
		break-inside: avoid;
	}
}


/* Issue #37 job-fit qualification */
.cc-area-note,
.cc-guidance,
.cc-result-panel,
.cc-result-hypothesis {
	background: var(--wp--preset--color--mineral-50);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	padding: var(--wp--preset--spacing--4);
}

.cc-area-note {
	color: var(--wp--preset--color--stone-600);
	margin: calc(-1 * var(--wp--preset--spacing--3)) 0 var(--wp--preset--spacing--5);
}

.cc-area-note.is-active {
	border-left: 4px solid var(--wp--preset--color--brand-600);
	color: var(--wp--preset--color--ink-950);
}

.cc-guidance p {
	margin-bottom: 0;
}

.cc-result {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	margin-top: var(--wp--preset--spacing--7);
	padding-top: var(--wp--preset--spacing--7);
}

.cc-result-grid {
	display: grid;
	gap: 0;
	grid-template-columns: minmax(140px, .8fr) minmax(0, 1.6fr);
	margin-block: var(--wp--preset--spacing--6);
}

.cc-result-grid dt,
.cc-result-grid dd {
	border-bottom: 1px solid var(--wp--preset--color--stone-300);
	margin: 0;
	padding: 12px 0;
}

.cc-result-grid dt {
	font-weight: 700;
	padding-right: var(--wp--preset--spacing--4);
}

.cc-result-panel + .cc-result-panel,
.cc-result-panel + .cc-result-note,
.cc-result-note + .cc-result-hypothesis {
	margin-top: var(--wp--preset--spacing--4);
}

.cc-result-panel--next {
	background: var(--wp--preset--color--brand-100);
	border-color: var(--wp--preset--color--brand-600);
}

.cc-result-panel--booking {
	border-left: 4px solid var(--wp--preset--color--brand-600);
}

.cc-result-action {
	margin-top: var(--wp--preset--spacing--3);
	text-decoration: none;
}

.cc-result-eyebrow,
.cc-result-id {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.cc-result-hypothesis {
	border-left: 4px solid var(--wp--preset--color--warning);
}

@media (max-width: 600px) {
	.cc-result-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cc-result-grid dt {
		border-bottom: 0;
		padding-bottom: 2px;
	}

	.cc-result-grid dd {
		padding-top: 2px;
	}
}

/* Homepage quick-fit occupies the canonical quote slot from the Nordbygg contract. */
.cv-quick-fit {
	border-block: 1px solid var(--wp--preset--color--stone-300);
}

.cv-quick-fit__layout {
	display: grid;
	gap: var(--wp--preset--spacing--8);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cv-quick-fit__intro {
	grid-column: span 4;
}

.cv-quick-fit__intro > :first-child {
	margin-top: 0;
}

.cv-quick-fit__guidance {
	border-left: 2px solid var(--wp--preset--color--brand-600);
	color: var(--wp--preset--color--stone-600);
	padding-left: var(--wp--preset--spacing--4);
}

.cv-quick-fit__panel {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	grid-column: 5 / span 8;
	padding: var(--wp--preset--spacing--6);
}

.cv-quick-fit__fields {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cv-quick-fit__field--wide {
	grid-column: 1 / -1;
}

.cv-quick-fit__field label {
	display: block;
	font-size: 15px;
	font-weight: 700;
	margin-bottom: 8px;
}

.cv-quick-fit__field :where(input, select) {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-600);
	border-radius: var(--wp--custom--radius--input);
	color: var(--wp--preset--color--ink-950);
	font: inherit;
	min-height: var(--wp--custom--interaction--input-min-height);
	padding: 10px 12px;
	width: 100%;
}

.cv-quick-fit__actions {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--4);
	justify-content: space-between;
	margin-top: var(--wp--preset--spacing--5);
}

.cv-quick-fit__privacy,
.cv-quick-fit__area-note {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
	max-width: 48ch;
}

.cv-quick-fit__result {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	margin-top: var(--wp--preset--spacing--6);
	padding-top: var(--wp--preset--spacing--6);
}

.cv-quick-fit__result[hidden],
.cv-quick-fit__booking[hidden] {
	display: none;
}

.cv-quick-fit__result h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	margin-block: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
}

.cv-quick-fit__result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
	margin-top: var(--wp--preset--spacing--5);
}

.cv-quick-fit__booking {
	background: transparent;
	border: 1px solid var(--wp--preset--color--ink-950);
	color: var(--wp--preset--color--ink-950);
}

.cv-quick-fit__booking:hover {
	background: var(--wp--preset--color--stone-150);
	color: var(--wp--preset--color--ink-950);
}

@media (max-width: 760px) {
	.cv-quick-fit__layout {
		gap: var(--wp--preset--spacing--6);
	}

	.cv-quick-fit__intro,
	.cv-quick-fit__panel {
		grid-column: 1 / -1;
	}
}

@media (max-width: 480px) {
	.cv-quick-fit__panel {
		padding: var(--wp--preset--spacing--5);
	}

	.cv-quick-fit__fields {
		grid-template-columns: 1fr;
	}

	.cv-quick-fit__field--wide {
		grid-column: auto;
	}

	.cv-quick-fit__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-quick-fit__actions .cc-button,
	.cv-quick-fit__result-actions,
	.cv-quick-fit__result-actions .wp-block-button__link {
		width: 100%;
	}

	.cv-quick-fit__result-actions {
		flex-direction: column;
	}
}


/* Issue #65: audience presentation, capability-backed value and canonical next steps. */
.cv-audience-value__layout {
	display: grid;
	gap: var(--wp--preset--spacing--8);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cv-audience-value__selector {
	grid-column: span 5;
}

.cv-audience-value__value {
	grid-column: 7 / span 6;
}

.cv-audience-value__choices,
.cv-audience-value__guidance {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--3);
}

.cv-audience-value__guidance {
	align-items: flex-start;
	border-top: 1px solid var(--wp--preset--color--stone-300);
	flex-direction: column;
	margin-top: var(--wp--preset--spacing--5);
	padding-top: var(--wp--preset--spacing--5);
}

.cv-audience-choice,
.cv-audience-reset {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	color: var(--wp--preset--color--ink-950);
	cursor: pointer;
	font: inherit;
	min-height: var(--wp--custom--interaction--min-touch-target);
	padding: 10px 14px;
}

.cv-audience-choice[aria-pressed="true"] {
	background: var(--wp--preset--color--ink-950);
	border-color: var(--wp--preset--color--ink-950);
	color: var(--wp--preset--color--white);
}

.cv-audience-reset {
	background: transparent;
	text-decoration: underline;
}

.cv-audience-value__items {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--5);
}

.cv-process-flow {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	list-style: none;
	margin: var(--wp--preset--spacing--6) 0 0;
	padding: 0;
}

.cv-process-flow .cv-process-step {
	height: 100%;
}

@media (max-width: 760px) {
	.cv-audience-value__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-audience-value__selector,
	.cv-audience-value__value {
		grid-column: auto;
	}

	.cv-audience-value__items {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-audience-value__choices {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-audience-choice,
	.cv-audience-value__guidance .wp-block-button__link {
		width: 100%;
	}

	.cv-process-flow {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-process-flow .cv-process-step {
		border-left: 3px solid var(--wp--preset--color--brand-700);
		padding-left: var(--wp--preset--spacing--5);
	}
}

/* Issue #67: capability-aware sticky mobile conversion actions. */
.cv-mobile-actions,
.cv-mobile-actions-spacer {
	display: none;
}

@media (max-width: 760px) {
	.cv-mobile-actions {
		background: var(--wp--preset--color--white);
		border-top: 1px solid var(--wp--preset--color--stone-300);
		bottom: 0;
		box-shadow: 0 -8px 24px rgb(24 32 29 / 10%);
		display: block;
		inset-inline: 0;
		padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
		position: fixed;
		transform: translateY(0);
		transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
		z-index: 800;
	}

	.cv-mobile-actions.is-suppressed {
		opacity: 0;
		pointer-events: none;
		transform: translateY(calc(100% + env(safe-area-inset-bottom)));
		visibility: hidden;
	}

	.cv-mobile-actions__inner {
		display: grid;
		gap: 6px;
		grid-auto-columns: minmax(0, 1fr);
		grid-auto-flow: column;
		margin-inline: auto;
		max-width: 760px;
	}

	.cv-mobile-actions__link {
		align-items: center;
		background: var(--wp--preset--color--white);
		border: 1px solid var(--wp--preset--color--ink-950);
		border-radius: var(--wp--custom--radius--input);
		color: var(--wp--preset--color--ink-950);
		display: flex;
		font-size: 14px;
		font-weight: 700;
		justify-content: center;
		line-height: 1.2;
		min-height: 48px;
		padding: 8px 10px;
		text-align: center;
		text-decoration: none;
		text-wrap: balance;
	}

	.cv-mobile-actions__link--primary {
		background: var(--wp--preset--color--brand-600);
		border-color: var(--wp--preset--color--brand-600);
		color: var(--wp--preset--color--white);
	}

	.cv-mobile-actions__link:hover {
		background: var(--wp--preset--color--stone-150);
		color: var(--wp--preset--color--ink-950);
	}

	.cv-mobile-actions__link--primary:hover {
		background: var(--wp--preset--color--brand-700);
		border-color: var(--wp--preset--color--brand-700);
		color: var(--wp--preset--color--white);
	}

	.cv-mobile-actions__link:focus-visible {
		outline: 3px solid var(--wp--preset--color--focus);
		outline-offset: 2px;
	}

	.cv-mobile-actions-spacer {
		display: block;
		height: var(--cv-mobile-actions-height, calc(72px + env(safe-area-inset-bottom)));
		width: 100%;
	}
}

@media (max-width: 390px) {
	.cv-mobile-actions {
		padding-inline: 8px;
	}

	.cv-mobile-actions__inner {
		gap: 4px;
	}

	.cv-mobile-actions__link {
		font-size: 13px;
		padding-inline: 6px;
	}
}

@media (max-width: 320px) {
	.cv-mobile-actions {
		padding-inline: 6px;
	}

	.cv-mobile-actions__inner {
		gap: 3px;
	}

	.cv-mobile-actions__link {
		font-size: 12px;
		line-height: 1.15;
		padding-inline: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cv-mobile-actions {
		transition: none;
	}
}


/* Issue #44: Nordbygg homepage services, selected projects and process. */
.cv-services,
.cv-projects,
.cv-process {
	min-height: 560px;
}

.cv-services {
	min-height: 680px;
}

.cv-services__layout,
.cv-projects__layout {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cv-services__intro {
	grid-column: 1 / span 3;
}

.cv-service-grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	grid-column: 4 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cv-service-grid[data-service-count="1"] {
	grid-template-columns: minmax(0, 560px);
}

.cv-service-grid[data-service-count="3"] {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cv-service-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	min-width: 0;
	overflow: hidden;
}

.cv-service-card__media {
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--stone-150);
	display: block;
	overflow: hidden;
	text-decoration: none;
}

.cv-service-card__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cv-service-card__placeholder {
	align-items: center;
	color: var(--wp--preset--color--stone-600);
	display: flex;
	height: 100%;
	justify-content: center;
	padding: var(--wp--preset--spacing--5);
	text-align: center;
}

.cv-service-card__body {
	padding: var(--wp--preset--spacing--5);
}

.cv-service-card__icon {
	align-items: center;
	color: var(--wp--preset--color--brand-700);
	display: inline-flex;
	height: 24px;
	justify-content: center;
	width: 24px;
}

.cv-service-card__body h3 {
	margin-block: var(--wp--preset--spacing--3) var(--wp--preset--spacing--3);
}

.cv-service-card__body p {
	color: var(--wp--preset--color--stone-600);
}

.cv-service-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-top: 16px;
}

.cv-service-card__link {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-underline-offset: .2em;
}

.cv-service-card__link--cta {
	color: var(--wp--preset--color--brand-700);
}

.cv-service-card:has(a:hover),
.cv-service-card:has(a:focus-visible) {
	border-color: var(--wp--preset--color--ink-950);
}

.cv-service-empty {
	border: 1px solid var(--wp--preset--color--stone-300);
	grid-column: 4 / -1;
	padding: var(--wp--preset--spacing--7);
}

.cv-projects {
	min-height: 820px;
}

.cv-projects__intro {
	align-self: start;
	grid-column: 1 / span 3;
}

.cv-projects__cards {
	grid-column: 4 / -1;
	min-width: 0;
}

.cv-projects .cv-project-grid {
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-top: 0;
}

.cv-projects .cv-project-card {
	background: var(--wp--preset--color--ink-800);
	border-color: var(--wp--preset--color--stone-600);
	color: var(--wp--preset--color--white);
	grid-column: span 6;
}

.cv-projects .cv-project-card__media {
	aspect-ratio: 16 / 10;
}

.cv-projects .cv-project-grid[data-project-count="1"] .cv-project-card {
	grid-column: 1 / -1;
	max-width: 760px;
}

.cv-projects .cv-project-grid[data-project-count="2"] .cv-project-card:first-child {
	grid-column: span 7;
}

.cv-projects .cv-project-grid[data-project-count="2"] .cv-project-card:last-child {
	grid-column: span 5;
}

.cv-projects .cv-project-grid[data-project-count="3"] .cv-project-card:first-child {
	grid-column: span 7;
	grid-row: span 2;
}

.cv-projects .cv-project-grid[data-project-count="3"] .cv-project-card:not(:first-child) {
	grid-column: span 5;
}

.cv-projects .cv-project-card__body h3 a,
.cv-projects .cv-project-card__body > p {
	color: var(--wp--preset--color--white);
}

.cv-projects .cv-project-card__meta,
.cv-projects .cv-project-media-placeholder {
	color: var(--wp--preset--color--stone-150);
}

.cv-projects .cv-project-media-placeholder {
	background: var(--wp--preset--color--ink-800);
}

.cv-projects .cv-project-empty {
	background: transparent;
	border-color: var(--wp--preset--color--stone-600);
	color: var(--wp--preset--color--stone-150);
	margin-top: 0;
}

.cv-projects .cv-project-empty h3 {
	color: var(--wp--preset--color--white);
}

.cv-projects__cta .wp-block-button__link {
	color: var(--wp--preset--color--white);
}

.cv-process {
	min-height: 560px;
}

.cv-process__lead {
	max-width: 760px;
}

.cv-process-flow {
	gap: var(--wp--preset--spacing--6);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: var(--wp--preset--spacing--7);
}

.cv-process .cv-process-step {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--stone-300);
	padding: var(--wp--preset--spacing--5) 0 0;
	position: relative;
}

.cv-process-step__number {
	color: var(--wp--preset--color--brand-700);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 700;
	line-height: 1;
	margin: 0 0 var(--wp--preset--spacing--5);
}

.cv-process .cv-process-step h3 {
	margin-block: 0 var(--wp--preset--spacing--3);
}

.cv-process .cv-process-step > p:last-child {
	color: var(--wp--preset--color--stone-600);
}

@media (max-width: 1100px) {
	.cv-services__intro,
	.cv-service-grid,
	.cv-service-empty {
		grid-column: 1 / -1;
	}

	.cv-service-grid[data-service-count] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cv-service-grid[data-service-count="1"] {
		grid-template-columns: minmax(0, 560px);
	}

	.cv-services {
		min-height: 720px;
	}

	.cv-projects {
		min-height: 760px;
	}

	.cv-projects__intro,
	.cv-projects__cards {
		grid-column: 1 / -1;
	}

	.cv-projects .cv-project-grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.cv-projects .cv-project-grid[data-project-count="1"] .cv-project-card {
		grid-column: 1 / -1;
	}

	.cv-projects .cv-project-grid[data-project-count="2"] .cv-project-card:first-child {
		grid-column: span 5;
	}

	.cv-projects .cv-project-grid[data-project-count="2"] .cv-project-card:last-child {
		grid-column: span 3;
	}

	.cv-projects .cv-project-grid[data-project-count="3"] .cv-project-card:first-child {
		grid-column: span 5;
		grid-row: span 2;
	}

	.cv-projects .cv-project-grid[data-project-count="3"] .cv-project-card:not(:first-child) {
		grid-column: span 3;
	}

	.cv-process-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.cv-services,
	.cv-projects,
	.cv-process {
		min-height: 0;
	}

	.cv-services__layout,
	.cv-projects__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-services__intro,
	.cv-service-grid,
	.cv-service-empty,
	.cv-projects__intro,
	.cv-projects__cards {
		grid-column: auto;
	}

	.cv-service-grid[data-service-count] {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-projects .cv-project-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-projects .cv-project-grid[data-project-count] .cv-project-card {
		grid-column: auto;
	}

	.cv-process-flow {
		gap: 0;
		grid-template-columns: minmax(0, 1fr);
		margin-top: var(--wp--preset--spacing--6);
		padding-left: var(--wp--preset--spacing--6);
		position: relative;
	}

	.cv-process-flow::before {
		background: var(--wp--preset--color--stone-300);
		bottom: 0;
		content: "";
		left: 7px;
		position: absolute;
		top: 0;
		width: 1px;
	}

	.cv-process .cv-process-step {
		border-top: 0;
		padding: 0 0 var(--wp--preset--spacing--6);
	}

	.cv-process .cv-process-step::before {
		background: var(--wp--preset--color--brand-600);
		content: "";
		height: 9px;
		left: calc(-1 * var(--wp--preset--spacing--6) + 3px);
		position: absolute;
		top: 8px;
		width: 9px;
	}

	.cv-process .cv-process-step:last-child {
		padding-bottom: 0;
	}
}

@media (max-width: 340px) {
	.cv-services,
	.cv-projects,
	.cv-process {
		padding-block: var(--wp--preset--spacing--7);
	}

	.cv-service-card__body,
	.cv-projects .cv-project-card__body {
		padding: var(--wp--preset--spacing--4);
	}
}

/* Issue #43 — Nordbygg header, hero, verified trust strip and problems */
.cv-site-header {
	background: var(--wp--preset--color--ink-950);
	border-bottom: 1px solid var(--wp--preset--color--ink-800);
	color: var(--wp--preset--color--white);
	min-height: 80px;
	padding-block: 0;
}

.cv-site-header__inner {
	min-height: 80px;
}

.cv-site-header :where(.wp-block-site-title a, .wp-block-navigation-item__content) {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

.cv-site-header .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--brand-100);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .3em;
}

.cv-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--ink-950);
	color: var(--wp--preset--color--white);
	padding: 24px 16px;
}

.cv-site-header .wp-block-navigation__responsive-container-open,
.cv-site-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--white);
}

.cv-kicker {
	font-size: 12px;
	letter-spacing: .14em;
	line-height: 1.2;
}

.cv-hero {
	min-height: 720px;
	padding-block: 80px;
}

.cv-hero-grid {
	align-items: center;
	gap: 48px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	min-height: 560px;
}

.cv-hero-copy {
	grid-column: 1 / span 5;
	min-width: 0;
}

.cv-hero-copy h1 {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: 72px;
	line-height: .96;
	margin-block: 0 24px;
	max-width: 14ch;
	overflow-wrap: normal;
}

.cv-hero-copy > p:not(.cv-kicker):not(.cv-hero-proofline) {
	max-width: 38rem;
}

.cv-hero .is-style-outline > .wp-block-button__link {
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
}

.cv-hero .is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink-800);
	color: var(--wp--preset--color--white);
}

.cv-hero-proofline {
	border-top: 1px solid var(--wp--preset--color--stone-600);
	margin-top: 32px;
	max-width: 38rem;
	padding-top: 16px;
}

.cv-hero-media {
	aspect-ratio: 4 / 5;
	grid-column: 7 / -1;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.cv-hero-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cv-hero-media--verified figcaption {
	background: var(--wp--preset--color--ink-950);
	bottom: 12px;
	color: var(--wp--preset--color--white);
	font-size: 12px;
	left: 12px;
	margin: 0;
	padding: 8px 12px;
	position: absolute;
}

.cv-hero-media--placeholder {
	align-items: flex-start;
	background: var(--wp--preset--color--ink-800);
	border: 1px solid var(--wp--preset--color--stone-600);
	display: flex;
	justify-content: flex-end;
	padding: 32px;
	text-align: left;
}

.cv-hero-media--placeholder .cv-demo-label {
	background: var(--wp--preset--color--brand-600);
}

.cv-hero-media--placeholder h2 {
	color: var(--wp--preset--color--white);
	margin-bottom: 8px;
	max-width: 18ch;
}

.cv-trust-signals {
	background: var(--wp--preset--color--white);
	min-height: 112px;
	padding-block: 24px;
}

.cv-trust-signals > .alignwide > .cv-kicker,
.cv-trust-signals > .alignwide > .cv-heading {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.cv-trust-signals .cv-grid-3 {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cv-trust-signals .cv-fact {
	border: 0;
	border-left: 1px solid var(--wp--preset--color--stone-300);
	border-radius: 0;
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr);
	column-gap: 12px;
	padding: 8px 16px 8px 24px;
	position: relative;
}

.cv-trust-signals .cv-fact::before {
	border: 1.5px solid var(--wp--preset--color--brand-600);
	content: "";
	height: 14px;
	margin-top: 3px;
	transform: rotate(45deg);
	width: 14px;
}

.cv-trust-signals .cv-fact > * {
	grid-column: 2;
	margin-block: 2px;
}

.cv-trust-signals .cv-fact .cv-index {
	color: var(--wp--preset--color--stone-600);
	font-size: 12px;
	letter-spacing: .08em;
}

.cv-trust-signals .cv-fact h3 {
	font-family: var(--wp--preset--font-family--body);
	font-size: 17px;
	line-height: 1.2;
	margin: 0;
}

.cv-trust-signals .cv-fact p,
.cv-trust-signals .cv-fact a {
	font-size: 13px;
	line-height: 1.35;
}

.cv-problems {
	background: var(--wp--preset--color--mineral-50);
	min-height: 620px;
	padding-block: 112px;
}

.cv-problems__layout {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cv-problems__intro {
	grid-column: 1 / span 4;
}

.cv-problems__intro h2 {
	font-size: 48px;
	line-height: 1.05;
	margin-top: 0;
}

.cv-problems__grid {
	display: grid;
	gap: 24px;
	grid-column: 5 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cv-problem-card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: 2px;
	box-shadow: none;
	min-width: 0;
	padding: 24px;
}

.cv-problem-card__index {
	color: var(--wp--preset--color--brand-700);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	margin-top: 0;
}

.cv-problem-card h3 {
	font-size: 28px;
	line-height: 1.15;
	margin-block: 12px;
}

.cv-problem-card__link {
	margin-bottom: 0;
}

.cv-problem-card__link a {
	font-weight: 700;
	text-underline-offset: .25em;
}

@media (min-width: 761px) and (max-width: 900px) {
	.cv-site-header,
	.cv-site-header__inner {
		min-height: 72px;
	}

	.cv-hero {
		min-height: 640px;
		padding-block: 64px;
	}

	.cv-hero-grid {
		gap: 32px;
		grid-template-columns: repeat(8, minmax(0, 1fr));
		min-height: 512px;
	}

	.cv-hero-copy {
		grid-column: 1 / span 4;
	}

	.cv-hero-copy h1 {
		font-size: 60px;
		line-height: 1;
	}

	.cv-hero-media {
		aspect-ratio: 4 / 5;
		grid-column: 5 / -1;
		margin-top: 0;
	}

	.cv-problems {
		min-height: 560px;
		padding-block: 80px;
	}

	.cv-problems__layout {
		gap: 20px;
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.cv-problems__intro {
		grid-column: 1 / span 3;
	}

	.cv-problems__intro h2 {
		font-size: 42px;
		line-height: 1.06;
	}

	.cv-problems__grid {
		gap: 20px;
		grid-column: 4 / -1;
	}
}

@media (max-width: 760px) {
	.cv-site-header,
	.cv-site-header__inner {
		min-height: 64px;
	}

	.cv-site-header .wp-block-site-title {
		max-width: calc(100% - 56px);
	}

	.cv-hero {
		min-height: 760px;
		padding-block: 48px;
	}

	.cv-hero-grid {
		gap: 32px;
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.cv-hero-copy,
	.cv-hero-media {
		grid-column: auto;
	}

	.cv-hero-copy h1 {
		font-size: 46px;
		line-height: 1.02;
		max-width: 15ch;
	}

	.cv-hero-media {
		aspect-ratio: 16 / 10;
		margin-top: 0;
	}

	.cv-trust-signals {
		min-height: 200px;
		padding-block: 32px;
	}

	.cv-trust-signals .cv-grid-3 {
		gap: 16px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cv-trust-signals .cv-fact {
		padding: 12px 8px 12px 16px;
	}

	.cv-problems {
		min-height: 680px;
		padding-block: 64px;
	}

	.cv-problems__layout,
	.cv-problems__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-problems__intro,
	.cv-problems__grid {
		grid-column: auto;
	}

	.cv-problems__intro h2 {
		font-size: 34px;
		line-height: 1.08;
	}

	.cv-problems__grid {
		gap: 24px;
		margin-top: 24px;
	}

	.cv-problem-card h3 {
		font-size: 24px;
		line-height: 1.18;
	}
}

@media (max-width: 340px) {
	.cv-hero {
		min-height: 720px;
		padding-block: 40px;
	}

	.cv-hero-grid {
		gap: 24px;
	}

	.cv-hero-copy h1 {
		font-size: 40px;
	}

	.cv-button-row {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-button-row .wp-block-button,
	.cv-button-row .wp-block-button__link {
		width: 100%;
	}

	.cv-trust-signals {
		min-height: 224px;
	}

	.cv-trust-signals .cv-grid-3 {
		grid-template-columns: minmax(0, 1fr);
	}

	.cv-problems {
		min-height: 720px;
		padding-block: 48px;
	}

	.cv-problems__intro h2 {
		font-size: 32px;
	}

	.cv-problem-card h3 {
		font-size: 22px;
	}
}


/* Issue #45: Nordbygg lower-home conversion sequence. */
.cv-home-quote,
.cv-service-areas,
.cv-home-faq,
.cv-final-cta,
.cv-footer {
	box-sizing: border-box;
}

.cv-home-quote {
	background: var(--wp--preset--color--white);
	min-height: 760px;
	padding-block: 112px;
}

.cv-home-quote__grid,
.cv-service-areas__grid,
.cv-home-faq__grid,
.cv-final-cta__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 1240px);
	width: 100%;
}

.cv-home-quote__grid {
	gap: 48px;
}

.cv-home-quote__intro {
	grid-column: span 4;
}

.cv-home-quote__form {
	grid-column: span 8;
	min-width: 0;
}

.cv-home-quote__intro > p:not(.cv-kicker) {
	max-width: 36ch;
}

.cv-home-quote__visual {
	background:
		linear-gradient(135deg, rgb(182 74 42 / 20%), transparent 48%),
		linear-gradient(45deg, rgb(24 32 29 / 8%) 25%, transparent 25% 75%, rgb(24 32 29 / 8%) 75%);
	background-color: var(--wp--preset--color--stone-150);
	background-size: auto, 42px 42px;
	border: 1px solid var(--wp--preset--color--stone-300);
	margin-top: var(--wp--preset--spacing--7);
	min-height: 250px;
	overflow: hidden;
	position: relative;
}

.cv-home-quote__visual--image img {
	display: block;
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.cv-home-quote__visual span {
	background: var(--wp--preset--color--ink-950);
	display: block;
	height: 1px;
	left: 14%;
	position: absolute;
	transform-origin: left center;
	width: 72%;
}

.cv-home-quote__visual span:nth-child(1) {
	top: 31%;
	transform: rotate(9deg);
}

.cv-home-quote__visual span:nth-child(2) {
	top: 52%;
	transform: rotate(-7deg);
}

.cv-home-quote__visual span:nth-child(3) {
	top: 70%;
	transform: rotate(4deg);
}

.cc-quote-shell--embedded {
	width: 100%;
}

.cc-quote-shell--embedded > .cc-quote-kicker {
	margin-top: 0;
}

.cv-home-quote__fallback {
	background: var(--wp--preset--color--mineral-50);
	border: 1px solid var(--wp--preset--color--stone-300);
	padding: var(--wp--preset--spacing--6);
}

.cv-service-areas {
	background: var(--wp--preset--color--stone-150);
	min-height: 420px;
	padding-block: 80px;
}

.cv-service-areas__grid {
	align-items: center;
	gap: 48px;
}

.cv-service-areas__copy {
	grid-column: span 5;
}

.cv-service-areas__visual {
	background:
		radial-gradient(circle at center, rgb(182 74 42 / 20%) 0 2px, transparent 3px),
		linear-gradient(90deg, rgb(24 32 29 / 8%) 1px, transparent 1px),
		linear-gradient(rgb(24 32 29 / 8%) 1px, transparent 1px);
	background-color: var(--wp--preset--color--mineral-50);
	background-size: auto, 32px 32px, 32px 32px;
	border: 1px solid var(--wp--preset--color--stone-300);
	grid-column: span 7;
	min-height: 260px;
	overflow: hidden;
	position: relative;
}

.cv-service-areas__ring {
	border: 1px solid var(--wp--preset--color--brand-600);
	border-radius: 50%;
	position: absolute;
}

.cv-service-areas__ring--one {
	height: 180px;
	left: 18%;
	top: 18%;
	width: 180px;
}

.cv-service-areas__ring--two {
	height: 110px;
	right: 14%;
	top: 34%;
	width: 110px;
}

.cv-service-areas__pin {
	background: var(--wp--preset--color--brand-600);
	border: 4px solid var(--wp--preset--color--white);
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--wp--preset--color--brand-700);
	height: 18px;
	position: absolute;
	width: 18px;
}

.cv-service-areas__pin--one {
	left: 30%;
	top: 42%;
}

.cv-service-areas__pin--two {
	right: 29%;
	top: 58%;
}

.cv-service-areas__pin--three {
	left: 53%;
	top: 24%;
}

.cv-service-areas__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: var(--wp--preset--spacing--5);
}

.cv-service-chip {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: 999px;
	color: var(--wp--preset--color--ink-950);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	min-height: 44px;
	padding: 12px 16px;
	text-decoration: none;
}

.cv-service-chip:hover {
	border-color: var(--wp--preset--color--brand-600);
}

.cv-service-chip:focus-visible,
.cv-faq-item summary:focus-visible,
.cv-footer a:focus-visible {
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

.cv-service-areas__empty {
	border-left: 3px solid var(--wp--preset--color--stone-600);
	margin-top: var(--wp--preset--spacing--5);
	padding-left: var(--wp--preset--spacing--4);
}

.cv-home-faq {
	background: var(--wp--preset--color--white);
	min-height: 640px;
	padding-block: 112px;
}

.cv-home-faq__grid {
	gap: 48px;
}

.cv-home-faq__intro {
	grid-column: span 4;
}

.cv-home-faq__items {
	grid-column: 5 / -1;
}

.cv-faq-item {
	border-top: 1px solid var(--wp--preset--color--stone-300);
}

.cv-faq-item:last-child {
	border-bottom: 1px solid var(--wp--preset--color--stone-300);
}

.cv-faq-item summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 700;
	gap: var(--wp--preset--spacing--5);
	justify-content: space-between;
	list-style: none;
	min-height: 72px;
	padding-block: 18px;
}

.cv-faq-item summary::-webkit-details-marker {
	display: none;
}

.cv-faq-item__icon {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	display: inline-flex;
	flex: 0 0 36px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 20px;
	height: 36px;
	justify-content: center;
	transition: transform 140ms ease;
	width: 36px;
}

.cv-faq-item[open] .cv-faq-item__icon {
	transform: rotate(45deg);
}

.cv-faq-item__answer {
	max-width: 68ch;
	padding: 0 52px var(--wp--preset--spacing--5) 0;
}

.cv-final-cta {
	background:
		linear-gradient(115deg, rgb(255 255 255 / 4%) 0 1px, transparent 1px 36px),
		linear-gradient(25deg, rgb(182 74 42 / 14%), transparent 45%),
		var(--wp--preset--color--ink-950);
	background-size: 36px 36px, auto, auto;
	min-height: 360px;
	padding-block: 80px;
}

.cv-final-cta__grid {
	align-items: center;
	gap: 48px;
}

.cv-final-cta__copy {
	grid-column: span 8;
}

.cv-final-cta__actions {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	grid-column: span 4;
	justify-content: center;
}

.cv-final-cta__actions .wp-block-button,
.cv-final-cta__actions .wp-block-button__link {
	width: 100%;
}

.cv-final-cta .is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
}

.cv-footer {
	background: var(--wp--preset--color--ink-950);
	border-top: 1px solid rgb(255 255 255 / 16%);
	color: var(--wp--preset--color--stone-150);
	min-height: 360px;
	padding-block: 64px;
}

.cv-footer__inner {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 1240px);
	width: 100%;
}

.cv-footer__grid {
	display: grid;
	gap: var(--wp--preset--spacing--7);
	grid-template-columns: 2fr repeat(3, minmax(0, 1fr));
}

.cv-footer__brand {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 700;
	line-height: 1.08;
	margin-top: 0;
}

.cv-footer__identity > p:last-child {
	max-width: 34ch;
}

.cv-footer__group {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.cv-footer__group p {
	margin: 0;
}

.cv-footer__heading {
	color: var(--wp--preset--color--white);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cv-footer a {
	color: var(--wp--preset--color--white);
}

.cv-footer__legal {
	align-items: center;
	border-top: 1px solid rgb(255 255 255 / 16%);
	display: flex;
	font-size: 14px;
	gap: var(--wp--preset--spacing--5);
	justify-content: space-between;
	margin-top: var(--wp--preset--spacing--8);
	padding-top: var(--wp--preset--spacing--5);
}

.cv-footer__legal nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
}

@media (max-width: 900px) {
	.cv-home-quote {
		min-height: 760px;
		padding-block: 80px;
	}

	.cv-home-quote__grid,
	.cv-service-areas__grid,
	.cv-home-faq__grid,
	.cv-final-cta__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.cv-home-quote__grid,
	.cv-service-areas__grid,
	.cv-home-faq__grid,
	.cv-final-cta__grid {
		gap: 32px;
	}

	.cv-home-quote__intro {
		grid-column: span 3;
	}

	.cv-home-quote__form {
		grid-column: 4 / -1;
	}

	.cv-service-areas {
		min-height: 420px;
		padding-block: 64px;
	}

	.cv-service-areas__copy {
		grid-column: span 3;
	}

	.cv-service-areas__visual {
		grid-column: span 5;
	}

	.cv-home-faq {
		min-height: 640px;
		padding-block: 80px;
	}

	.cv-home-faq__intro {
		grid-column: span 3;
	}

	.cv-home-faq__items {
		grid-column: 4 / -1;
	}

	.cv-final-cta {
		min-height: 360px;
		padding-block: 64px;
	}

	.cv-final-cta__copy {
		grid-column: span 5;
	}

	.cv-final-cta__actions {
		grid-column: span 3;
	}

	.cv-footer {
		min-height: 360px;
		padding-block: 56px;
	}

	.cv-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.cv-home-quote {
		min-height: 960px;
		padding-block: 64px;
	}

	.cv-home-quote__grid,
	.cv-service-areas__grid,
	.cv-home-faq__grid,
	.cv-final-cta__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--7);
	}

	.cv-home-quote__intro,
	.cv-home-quote__form,
	.cv-service-areas__copy,
	.cv-service-areas__visual,
	.cv-home-faq__intro,
	.cv-home-faq__items,
	.cv-final-cta__copy,
	.cv-final-cta__actions {
		grid-column: auto;
	}

	.cv-home-quote__visual {
		min-height: 190px;
	}

	.cv-home-quote__intro > p:not(.cv-kicker) {
		max-width: none;
	}

	.cc-quote-shell--embedded .cc-quote-form {
		padding: var(--wp--preset--spacing--5);
	}

	.cv-service-areas {
		min-height: 480px;
		padding-block: 48px;
	}

	.cv-service-areas__visual {
		min-height: 220px;
	}

	.cv-home-faq {
		min-height: 700px;
		padding-block: 64px;
	}

	.cv-faq-item summary {
		font-size: 21px;
	}

	.cv-final-cta {
		min-height: 420px;
		padding-block: 48px;
	}

	.cv-final-cta__actions {
		width: 100%;
	}

	.cv-footer {
		min-height: 460px;
		padding-block: 48px;
	}

	.cv-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--6);
	}

	.cv-footer__legal {
		align-items: flex-start;
		flex-direction: column;
		margin-top: var(--wp--preset--spacing--7);
	}
}

@media (max-width: 340px) {
	.cv-home-quote {
		min-height: 1020px;
		padding-block: 48px;
	}

	.cv-service-areas {
		min-height: 520px;
		padding-block: 32px;
	}

	.cv-home-faq {
		min-height: 740px;
		padding-block: 48px;
	}

	.cv-faq-item summary {
		font-size: 19px;
		gap: var(--wp--preset--spacing--3);
	}

	.cv-faq-item__answer {
		padding-right: 0;
	}

	.cv-final-cta {
		min-height: 440px;
	}

	.cv-footer {
		min-height: 500px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cv-faq-item__icon {
		transition: none;
	}
}



/* Issue #68: verified project case detail. */
.cv-project-work,
.cv-project-related-services,
.cv-project-provenance-note {
	max-width: 760px;
}

.cv-project-work {
	background: var(--wp--preset--color--mineral-50);
	border-left: 3px solid var(--wp--preset--color--brand-600);
	margin-block: var(--wp--preset--spacing--7);
	padding: var(--wp--preset--spacing--5);
}

.cv-project-work h2,
.cv-project-related-services h2 {
	margin-top: 0;
}

.cv-project-work ul,
.cv-project-related-services ul {
	margin-bottom: 0;
	padding-left: 1.25rem;
}

.cv-project-provenance-note {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	margin-block: var(--wp--preset--spacing--5) var(--wp--preset--spacing--8);
	padding-top: var(--wp--preset--spacing--3);
}

.cv-project-related-services {
	border-top: 1px solid var(--wp--preset--color--stone-300);
	margin-block: var(--wp--preset--spacing--8);
	padding-top: var(--wp--preset--spacing--5);
}

.cv-project-related-services li + li {
	margin-top: var(--wp--preset--spacing--2);
}

.cv-project-related-services a,
.cv-project-detail__secondary-cta {
	font-weight: 700;
	text-underline-offset: .2em;
}

.cv-project-detail__cta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--4);
	justify-content: space-between;
}

.cv-project-detail__secondary-cta {
	align-items: center;
	display: inline-flex;
	min-height: var(--wp--custom--interaction--min-touch-target);
}

.cv-project-gallery__item a:focus-visible,
.cv-project-related-services a:focus-visible,
.cv-project-detail__secondary-cta:focus-visible {
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 3px;
}

@media (max-width: 760px) {
	.cv-project-gallery {
		max-width: 100%;
		overflow: hidden;
	}

	.cv-project-gallery__grid {
		display: flex;
		gap: var(--wp--preset--spacing--4);
		margin-inline: calc(var(--wp--preset--spacing--4) * -1);
		overflow-x: auto;
		padding: 0 var(--wp--preset--spacing--4) var(--wp--preset--spacing--3);
		scroll-padding-inline: var(--wp--preset--spacing--4);
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
	}

	.cv-project-gallery__item {
		flex: 0 0 min(88vw, 560px);
		scroll-snap-align: start;
	}

	.cv-project-detail__cta {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.cv-project-detail__cta > * {
		justify-content: center;
		text-align: center;
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cv-project-gallery__grid {
		scroll-behavior: auto;
		scroll-snap-type: none;
	}
}

/* Issue #66: verified personal company contact. */
.cv-company-contact {
	background: var(--wp--preset--color--mineral-50);
	min-height: 540px;
	padding-block: 80px;
}

.cv-company-contact__grid {
	align-items: stretch;
	display: grid;
	gap: 48px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.cv-company-contact__portrait,
.cv-company-contact__fallback-visual {
	grid-column: span 5;
	margin: 0;
	min-height: 380px;
	overflow: hidden;
	position: relative;
}

.cv-company-contact__portrait img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cv-company-contact__copy {
	align-self: center;
	grid-column: span 7;
	max-width: 680px;
}

.cv-company-contact__role {
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 var(--wp--preset--spacing--3);
	text-transform: uppercase;
}

.cv-company-contact__intro {
	font-size: 1.125rem;
	line-height: 1.65;
	max-width: 62ch;
}

.cv-company-contact__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--3);
	margin-top: var(--wp--preset--spacing--6);
}

.cv-company-contact__secondary {
	align-items: center;
	border: 1px solid currentColor;
	display: inline-flex;
	justify-content: center;
	min-height: 48px;
	padding: 10px 18px;
	text-decoration: none;
}

.cv-company-contact__profile {
	margin-top: var(--wp--preset--spacing--4);
}

.cv-company-contact__fallback-visual {
	background: var(--wp--preset--color--ink-950);
}

.cv-company-contact__fallback-visual span {
	border: 1px solid rgb(255 255 255 / 20%);
	inset: 14%;
	position: absolute;
}

.cv-company-contact__fallback-visual span:nth-child(2) {
	inset: 28%;
}

.cv-company-contact__fallback-visual span:nth-child(3) {
	border-radius: 50%;
	inset: 38%;
}

@media (max-width: 900px) {
	.cv-company-contact {
		min-height: 500px;
		padding-block: 64px;
	}

	.cv-company-contact__grid {
		gap: 32px;
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.cv-company-contact__portrait,
	.cv-company-contact__fallback-visual {
		grid-column: span 3;
		min-height: 340px;
	}

	.cv-company-contact__copy {
		grid-column: span 5;
	}
}

@media (max-width: 760px) {
	.cv-company-contact {
		min-height: 580px;
		padding-block: 48px;
	}

	.cv-company-contact__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--6);
	}

	.cv-company-contact__portrait,
	.cv-company-contact__fallback-visual,
	.cv-company-contact__copy {
		grid-column: auto;
	}

	.cv-company-contact__portrait,
	.cv-company-contact__fallback-visual {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.cv-company-contact__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-company-contact__actions > a {
		justify-content: center;
		width: 100%;
	}
}

@media (max-width: 340px) {
	.cv-company-contact {
		min-height: 600px;
		padding-block: 40px;
	}
}


/* Issue #106 — presentation readiness */
.cv-hero-media--concept {
	background:
		linear-gradient(135deg, transparent 0 68%, color-mix(in srgb, var(--wp--preset--color--brand-600) 18%, transparent) 68% 100%),
		var(--wp--preset--color--ink-800);
	border: 1px solid var(--wp--preset--color--stone-600);
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	padding: clamp(24px, 3vw, 40px);
}

.cv-concept-flow__topline {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	justify-content: space-between;
}

.cv-concept-flow__eyebrow {
	color: var(--wp--preset--color--stone-150);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cv-concept-flow__title {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(30px, 3.2vw, 52px);
	line-height: 1;
	margin-top: clamp(24px, 4vw, 48px);
	max-width: 12ch;
}

.cv-concept-flow {
	align-self: end;
	display: grid;
	gap: 0;
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
}

.cv-concept-flow li {
	border-top: 1px solid var(--wp--preset--color--stone-600);
	display: grid;
	gap: 4px 14px;
	grid-template-columns: 34px minmax(0, 1fr);
	padding: 14px 0;
}

.cv-concept-flow li > span {
	color: var(--wp--preset--color--brand-100);
	font-size: 12px;
	font-weight: 800;
	grid-row: 1 / span 2;
	letter-spacing: .08em;
}

.cv-concept-flow li > strong {
	color: var(--wp--preset--color--white);
	font-size: 15px;
}

.cv-concept-flow li > small {
	color: var(--wp--preset--color--stone-150);
	font-size: 13px;
}

.cv-concept-flow__material {
	display: grid;
	gap: 8px;
	grid-template-columns: 1.6fr .9fr .5fr;
	margin-top: 20px;
}

.cv-concept-flow__material span {
	background: var(--wp--preset--color--brand-600);
	height: 5px;
}

.cv-concept-flow__material span:nth-child(2) {
	background: var(--wp--preset--color--stone-300);
}

.cv-concept-flow__material span:nth-child(3) {
	background: var(--wp--preset--color--white);
}

.cv-service-card__placeholder {
	background:
		linear-gradient(90deg, transparent 0 49%, var(--wp--preset--color--stone-300) 49% 51%, transparent 51%),
		linear-gradient(0deg, transparent 0 49%, var(--wp--preset--color--stone-300) 49% 51%, transparent 51%),
		var(--wp--preset--color--stone-150);
	position: relative;
}

.cv-service-card__placeholder-grid {
	border: 1px solid var(--wp--preset--color--stone-300);
	height: 54%;
	position: absolute;
	transform: rotate(-8deg);
	width: 64%;
}

.cv-service-card__placeholder-mark {
	background: var(--wp--preset--color--ink-950);
	color: var(--wp--preset--color--white);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	padding: 7px 10px;
	position: absolute;
	right: 16px;
	text-transform: uppercase;
	top: 16px;
}

.cv-service-concept {
	display: grid;
	gap: 16px;
	grid-column: 4 / -1;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cv-service-concept__intro {
	border-top: 4px solid var(--wp--preset--color--brand-600);
	grid-column: 1 / -1;
	padding: 24px 0 8px;
}

.cv-service-concept__intro h3 {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	margin: 12px 0 8px;
}

.cv-service-concept__intro p:last-child {
	color: var(--wp--preset--color--stone-600);
	margin-bottom: 0;
}

.cv-service-concept__card {
	background: var(--wp--preset--color--mineral-50);
	border: 1px solid var(--wp--preset--color--stone-300);
	min-height: 220px;
	padding: clamp(20px, 2.5vw, 30px);
}

.cv-service-concept__card > span {
	color: var(--wp--preset--color--brand-700);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
}

.cv-service-concept__card h3 {
	margin: 48px 0 10px;
}

.cv-service-concept__card p {
	color: var(--wp--preset--color--stone-600);
	margin-bottom: 0;
}

.cv-project-proof-concept {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cv-project-proof-concept article {
	background: var(--wp--preset--color--ink-800);
	border: 1px solid var(--wp--preset--color--stone-600);
	min-height: 360px;
	padding: clamp(24px, 3vw, 36px);
}

.cv-project-proof-concept article > span {
	color: var(--wp--preset--color--brand-100);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
}

.cv-project-proof-concept__label {
	color: var(--wp--preset--color--brand-100);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	margin-top: 96px;
	text-transform: uppercase;
}

.cv-project-proof-concept h3 {
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	margin: 8px 0 12px;
}

.cv-project-proof-concept article > p:last-child {
	color: var(--wp--preset--color--stone-150);
	margin-bottom: 0;
}

.cv-service-areas__concept-note {
	border-left: 3px solid var(--wp--preset--color--brand-600);
	display: grid;
	gap: 10px;
	margin-top: 28px;
	padding: 4px 0 4px 18px;
}

.cv-service-areas__concept-note .cv-demo-label {
	justify-self: start;
}

.cv-service-areas__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 20px;
	margin-top: 28px;
}

.cv-service-areas__actions > a:not(.wp-element-button) {
	font-weight: 700;
	text-underline-offset: .2em;
}

@media (max-width: 900px) {
	.cv-service-concept {
		grid-column: 1 / -1;
	}

	.cv-project-proof-concept {
		grid-template-columns: 1fr;
	}

	.cv-project-proof-concept article {
		min-height: 230px;
	}

	.cv-project-proof-concept__label {
		margin-top: 44px;
	}
}

@media (max-width: 600px) {
	.cv-hero-media--concept {
		padding: 22px;
	}

	.cv-concept-flow__title {
		font-size: 34px;
		margin-top: 22px;
	}

	.cv-concept-flow {
		margin-top: 18px;
	}

	.cv-concept-flow li {
		padding: 10px 0;
	}

	.cv-service-concept {
		grid-template-columns: 1fr;
	}

	.cv-service-concept__intro {
		grid-column: 1;
	}

	.cv-service-concept__card {
		min-height: 180px;
	}

	.cv-service-concept__card h3 {
		margin-top: 28px;
	}

	.cv-service-areas__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.cv-service-areas__actions .wp-element-button {
		text-align: center;
	}
}


/* Issue #125 — Construction Web V2 homepage and global navigation. */
.cv-site-header--v2{background:var(--wp--preset--color--white);border-bottom-color:var(--wp--preset--color--stone-300);color:var(--wp--preset--color--ink-950);min-height:88px;padding-block:18px}
.cv-site-header--v2 a:not(.wp-block-button__link){color:inherit}.cv-site-header--v2 .wp-block-navigation-item__content{text-decoration:none}.cv-site-header--v2 .wp-block-navigation-item__content:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}
.cv-hero--v2{min-height:760px;padding-block:72px}.cv-hero--v2 .cv-hero-grid{align-items:center;display:grid;gap:56px;grid-template-columns:repeat(12,minmax(0,1fr));min-height:616px}.cv-hero--v2 .cv-hero-copy{grid-column:1/span 5}.cv-hero--v2 .cv-hero-media{aspect-ratio:16/10;grid-column:6/-1;margin:0;min-height:0;overflow:hidden;position:relative}.cv-hero--v2 .cv-hero-media img{height:100%;object-fit:cover;width:100%}.cv-hero--v2 .wp-block-button__link{min-height:52px}
.cv-v2-concept-building{background:linear-gradient(90deg,transparent 49.7%,rgb(255 255 255/13%) 50%,transparent 50.3%),linear-gradient(0deg,transparent 49.7%,rgb(255 255 255/13%) 50%,transparent 50.3%),linear-gradient(135deg,#2a332f,#18201d);inset:0;position:absolute}.cv-v2-concept-building__frame,.cv-v2-concept-building__slab,.cv-v2-concept-building__core,.cv-v2-concept-building__grid{border:2px solid rgb(255 255 255/34%);display:block;position:absolute}.cv-v2-concept-building__frame{inset:13% 10% 12% 16%}.cv-v2-concept-building__slab{border-width:2px 0;inset:39% 4% 38% 8%}.cv-v2-concept-building__core{background:rgb(182 74 42/42%);inset:22% 58% 18% 24%}.cv-v2-concept-building__grid{border-width:0 0 2px 2px;inset:10% 22% 52% 50%}.cv-v2-concept-building__label{align-items:flex-start;bottom:24px;display:flex;flex-direction:column;gap:10px;left:24px;position:absolute;right:24px;z-index:2}.cv-v2-concept-building__label strong{background:rgb(24 32 29/86%);color:white;font-size:18px;max-width:360px;padding:10px 12px}
.cv-quick-links{min-height:280px;padding-block:64px}.cv-quick-links__inner{display:grid;gap:28px;grid-template-columns:minmax(0,260px) 1fr}.cv-quick-links__title{font-size:clamp(32px,3vw,48px);margin:0}.cv-quick-links__grid{border-top:1px solid var(--wp--preset--color--stone-300);display:grid;grid-column:2;grid-row:1/span 2;grid-template-columns:repeat(3,minmax(0,1fr))}.cv-quick-links__item{color:var(--wp--preset--color--ink-950);display:grid;gap:12px;grid-template-columns:1fr auto;min-width:0;padding:22px 24px 16px 0;text-decoration:none}.cv-quick-links__item+.cv-quick-links__item{border-left:1px solid var(--wp--preset--color--stone-300);padding-left:24px}.cv-quick-links__item span,.cv-quick-links__item small{color:var(--wp--preset--color--stone-600);grid-column:1/-1}.cv-quick-links__item strong{font-family:Georgia,"Times New Roman",serif;font-size:23px;line-height:1.2}.cv-quick-links__item b{font-size:24px;font-weight:400}.cv-quick-links__item:hover strong,.cv-editorial-link a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em}
.cv-projects--v2{min-height:760px;padding-block:96px}.cv-projects--v2 .cv-projects__layout{align-items:start;gap:56px}.cv-projects--v2 .cv-projects__intro{grid-column:1/span 4}.cv-projects--v2 .cv-projects__cards{grid-column:5/-1}.cv-project-proof-concept{border-top:1px solid rgb(255 255 255/25%);display:grid;gap:28px;grid-template-columns:1.4fr 1fr;padding-top:24px}.cv-project-proof-concept__visual{aspect-ratio:16/10;background:linear-gradient(145deg,#2a332f,#101714);overflow:hidden;position:relative}.cv-project-proof-concept__visual span{border:2px solid rgb(255 255 255/28%);position:absolute}.cv-project-proof-concept__visual span:nth-child(1){inset:14% 10% 12% 18%}.cv-project-proof-concept__visual span:nth-child(2){inset:28% 45% 22% 8%}.cv-project-proof-concept__visual span:nth-child(3){background:rgb(182 74 42/38%);inset:18% 18% 42% 58%}.cv-project-proof-concept__copy{align-self:end}.cv-editorial-link a{color:inherit;font-weight:700;text-underline-offset:.2em}
.cv-services--v2{min-height:720px;padding-block:96px}.cv-services--v2 .cv-services__intro{grid-column:1/span 4}.cv-services--v2 .cv-service-grid,.cv-services--v2 .cv-service-concept{grid-column:5/-1}.cv-services--v2 .cv-service-card{border:0;border-radius:0;border-top:1px solid var(--wp--preset--color--stone-300)}.cv-services--v2 .cv-service-card__body{padding:20px 0 0}.cv-services--v2 .cv-service-card__media{border-radius:0}.cv-service-concept__row{border-top:1px solid var(--wp--preset--color--stone-300);display:grid;gap:16px;grid-template-columns:48px 220px 1fr;padding-block:22px}.cv-service-concept__row>*{margin:0}
.cv-trust-v2{min-height:560px;padding-block:96px}.cv-trust-v2__grid{display:grid;gap:56px;grid-template-columns:repeat(12,minmax(0,1fr))}.cv-trust-v2__intro{grid-column:1/span 5}.cv-trust-v2__evidence{border-top:1px solid var(--wp--preset--color--stone-300);grid-column:7/-1;padding-top:24px}.cv-trust-v2 .cv-service-areas{margin-top:32px}
.cv-process--v2{min-height:560px;padding-block:96px}.cv-process--v2 .cv-process-flow{gap:0;grid-template-columns:repeat(4,minmax(0,1fr))}.cv-process--v2 .cv-process-step{border:0;border-radius:0;border-top:1px solid var(--wp--preset--color--stone-300);padding:24px 24px 0 0}.cv-process--v2 .cv-process-step+.cv-process-step{border-left:1px solid var(--wp--preset--color--stone-300);padding-left:24px}
.cv-insights-v2{min-height:620px;padding-block:96px}.cv-insights-v2__grid{display:grid;gap:56px;grid-template-columns:repeat(12,minmax(0,1fr))}.cv-insights-v2__intro{grid-column:1/span 4}.cv-insights-v2__list{grid-column:5/-1}.cv-insights-v2__item,.cv-insights-v2__empty{border-top:1px solid var(--wp--preset--color--stone-300);padding-block:22px}.cv-insights-v2__item h3{font-size:clamp(24px,2.4vw,34px);margin:6px 0 12px}.cv-insights-v2__item h3 a{color:inherit;text-decoration:none}.cv-insights-v2__item h3 a:hover{text-decoration:underline;text-underline-offset:.15em}.cv-insights-v2__meta{color:var(--wp--preset--color--stone-600);font-size:var(--wp--preset--font-size--small);margin:0}
.cv-next-project{min-height:980px;padding-block:96px}.cv-next-project__intro{align-items:end;display:grid;gap:48px;grid-template-columns:2fr 1fr;margin-bottom:64px}.cv-next-project__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.cv-next-project__actions .wp-element-button{background:var(--wp--preset--color--brand-600);color:white;min-height:52px;padding:12px 24px;text-decoration:none}.cv-next-project__actions .cv-next-project__booking{background:transparent;border:1px solid currentColor}.cv-next-project .cv-home-quote{background:white;color:var(--wp--preset--color--ink-950);margin-inline:calc(50% - 50vw);width:100vw}
@media(max-width:900px){.cv-site-header--v2{min-height:72px;padding-block:12px}.cv-hero--v2{min-height:700px;padding-block:56px}.cv-hero--v2 .cv-hero-grid{gap:32px;grid-template-columns:repeat(8,minmax(0,1fr));min-height:588px}.cv-hero--v2 .cv-hero-copy{grid-column:1/span 4}.cv-hero--v2 .cv-hero-media{grid-column:5/-1;margin:0}.cv-hero--v2 .wp-block-button__link{min-height:52px}.cv-quick-links{min-height:300px;padding-block:56px}.cv-quick-links__inner{grid-template-columns:minmax(0,180px) 1fr}.cv-quick-links__grid{grid-column:2;grid-row:1/span 2}.cv-projects--v2{min-height:720px;padding-block:72px}.cv-services--v2{min-height:700px;padding-block:72px}.cv-trust-v2{min-height:560px;padding-block:72px}.cv-process--v2{min-height:600px;padding-block:72px}.cv-insights-v2{min-height:620px;padding-block:72px}.cv-next-project{min-height:980px;padding-block:72px}.cv-projects--v2 .cv-projects__intro,.cv-services--v2 .cv-services__intro{grid-column:1/span 3}.cv-projects--v2 .cv-projects__cards,.cv-services--v2 .cv-service-grid,.cv-services--v2 .cv-service-concept{grid-column:4/-1}.cv-trust-v2__grid,.cv-insights-v2__grid{grid-template-columns:repeat(8,minmax(0,1fr))}.cv-trust-v2__intro,.cv-insights-v2__intro{grid-column:1/span 3}.cv-trust-v2__evidence,.cv-insights-v2__list{grid-column:4/-1}}
@media(max-width:760px){.cv-industries--v2{min-height:0}.cv-industries__layout{display:flex;flex-direction:column;gap:32px}.cv-industries__visual,.cv-industries__copy{width:100%}.cv-industries__visual{order:1}.cv-industries__copy{order:2}.cv-industries__copy .cv-heading{max-width:14ch}}
@media(max-width:480px){.cv-site-header--v2{min-height:64px;padding-block:8px}.cv-hero--v2{min-height:720px;padding-block:48px}.cv-hero--v2 .cv-hero-grid{display:grid;gap:28px;grid-template-columns:minmax(0,1fr);min-height:0}.cv-hero--v2 .cv-hero-copy,.cv-hero--v2 .cv-hero-media{grid-column:1}.cv-hero--v2 .cv-hero-media{margin:0}.cv-hero--v2 .wp-block-button__link{min-height:48px}.cv-quick-links{min-height:420px;padding-block:48px}.cv-quick-links__inner{gap:20px;grid-template-columns:minmax(0,1fr)}.cv-quick-links__grid{grid-column:1;grid-row:auto;grid-template-columns:minmax(0,1fr)}.cv-quick-links__item{padding:16px 0}.cv-quick-links__item+.cv-quick-links__item{border-left:0;border-top:1px solid var(--wp--preset--color--stone-300);padding-left:0}.cv-projects--v2{min-height:820px;padding-block:56px}.cv-services--v2{min-height:840px;padding-block:56px}.cv-trust-v2{min-height:660px;padding-block:56px}.cv-process--v2{min-height:720px;padding-block:56px}.cv-insights-v2{min-height:720px;padding-block:56px}.cv-next-project{min-height:1120px;padding-block:56px}.cv-projects--v2 .cv-projects__layout,.cv-services--v2 .cv-services__layout,.cv-trust-v2__grid,.cv-insights-v2__grid,.cv-next-project__intro{grid-template-columns:minmax(0,1fr)}.cv-projects--v2 .cv-projects__intro,.cv-projects--v2 .cv-projects__cards,.cv-services--v2 .cv-services__intro,.cv-services--v2 .cv-service-grid,.cv-services--v2 .cv-service-concept,.cv-trust-v2__intro,.cv-trust-v2__evidence,.cv-insights-v2__intro,.cv-insights-v2__list{grid-column:1}.cv-project-proof-concept,.cv-service-concept__row{grid-template-columns:minmax(0,1fr)}.cv-process--v2 .cv-process-flow{grid-template-columns:minmax(0,1fr)}.cv-process--v2 .cv-process-step,.cv-process--v2 .cv-process-step+.cv-process-step{border-left:0;padding:20px 0}.cv-next-project__intro{align-items:start;margin-bottom:40px}.cv-next-project__actions{justify-content:flex-start}.cv-next-project__actions .wp-element-button{min-height:48px;width:100%}}
@media(max-width:340px){.cv-hero--v2{min-height:700px;padding-block:40px}.cv-quick-links{min-height:440px;padding-block:40px}.cv-projects--v2{min-height:840px;padding-block:48px}.cv-services--v2{min-height:880px;padding-block:48px}.cv-trust-v2{min-height:700px;padding-block:48px}.cv-process--v2{min-height:760px;padding-block:48px}.cv-insights-v2{min-height:760px;padding-block:48px}.cv-next-project{min-height:1160px;padding-block:48px}}
@media(prefers-reduced-motion:reduce){.cv-quick-links__item,.cv-insights-v2__item,.cv-next-project__actions .wp-element-button{scroll-behavior:auto;transition:none}}

/* Issue #146 — Construction Home V2 global header/navigation */
.cv-skip-link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--ink-950);
	font-weight: 700;
	left: 16px;
	padding: 12px 16px;
	position: fixed;
	top: -100px;
	z-index: 1000;
}
.cv-skip-link:focus { top: 16px; }

.cv-site-header.cv-site-header--v2 {
	background: var(--wp--preset--color--ink-950);
	border-bottom: 1px solid rgba(255, 255, 255, .14);
	color: var(--wp--preset--color--white);
	min-height: 88px;
	padding: 18px 24px;
	position: relative;
	width: 100%;
	z-index: 30;
}
.cv-site-header.cv-site-header--v2.is-overlay {
	background: linear-gradient(180deg, rgba(24, 32, 29, .9) 0%, rgba(24, 32, 29, .62) 68%, rgba(24, 32, 29, 0) 100%);
	border-bottom-color: rgba(255, 255, 255, .1);
	left: 0;
	position: absolute;
	top: 0;
}
.construction-core-demo-label {
	align-items: center;
	background: #202723;
	border-bottom: 1px solid rgba(255, 255, 255, .12);
	box-sizing: border-box;
	color: #f4f1e9;
	display: flex;
	font-size: 11px;
	font-weight: 600;
	justify-content: center;
	letter-spacing: .035em;
	line-height: 1.35;
	min-height: 36px;
	padding: 7px 20px;
	position: relative;
	z-index: 31;
}
.construction-core-demo-label__inner {
	align-items: center;
	display: inline-flex;
	gap: 9px;
	max-width: 1240px;
	text-align: center;
}
.construction-core-demo-label__mark {
	background: #c87955;
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(200, 121, 85, .16);
	flex: 0 0 6px;
	height: 6px;
}
body:has(> .construction-core-demo-label) .cv-site-header.cv-site-header--v2.is-overlay {
	top: 36px;
}
body.admin-bar:has(> .construction-core-demo-label) .cv-site-header.cv-site-header--v2.is-overlay {
	top: 68px;
}
.admin-bar .cv-site-header.cv-site-header--v2.is-overlay { top: 32px; }

.cv-site-header--v2 .cv-site-header__inner {
	align-items: center;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(150px, 1fr) auto auto;
	margin-inline: auto;
	max-width: 1240px;
	min-height: 52px;
	width: 100%;
}
.cv-site-brand { align-items: center; display: flex; gap: 12px; min-width: 0; }
.cv-site-brand .custom-logo-link { align-items: center; display: inline-flex; flex: 0 0 auto; }
.cv-site-brand .custom-logo { height: auto; max-height: 44px; max-width: 160px; width: auto; }
.cv-site-brand__name {
	color: var(--wp--preset--color--white);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.1;
	text-decoration: none;
}
.cv-primary-navigation { align-items: center; display: flex; justify-content: flex-end; }
.cv-primary-navigation__list {
	align-items: center;
	display: flex;
	gap: clamp(16px, 1.8vw, 28px);
	list-style: none;
	margin: 0;
	padding: 0;
}
.cv-primary-navigation__link {
	color: rgba(255, 255, 255, .9);
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	padding-block: 14px;
	text-decoration: none;
	white-space: nowrap;
}
.cv-primary-navigation__link:hover,
.cv-site-brand__name:hover {
	color: var(--wp--preset--color--white);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .32em;
}
.cv-header-cta,
.cv-primary-navigation__cta {
	align-items: center;
	background: var(--wp--preset--color--brand-600);
	border: 1px solid var(--wp--preset--color--brand-600);
	color: var(--wp--preset--color--white);
	display: inline-flex;
	font-size: 13px;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .01em;
	min-height: 48px;
	padding: 10px 18px;
	text-decoration: none;
	white-space: nowrap;
}
.cv-header-cta:hover,
.cv-primary-navigation__cta:hover {
	background: var(--wp--preset--color--brand-700);
	border-color: var(--wp--preset--color--brand-700);
	color: var(--wp--preset--color--white);
}
.cv-primary-navigation__cta--mobile,
.cv-nav-toggle { display: none; }

.cv-site-header--v2 :where(.cv-primary-navigation__link, .cv-site-brand__name, .cv-header-cta, .cv-primary-navigation__cta, .cv-nav-toggle):focus-visible,
.cv-skip-link:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 3px;
}

@media (max-width: 1060px) {
	.cv-site-header--v2 .cv-site-header__inner { gap: 18px; }
	.cv-primary-navigation__list { gap: 14px; }
	.cv-primary-navigation__link { font-size: 13px; }
}
@media (max-width: 900px) {
	.cv-site-header.cv-site-header--v2 { min-height: 72px; padding: 12px 20px; }
	.cv-site-header--v2 .cv-site-header__inner {
		gap: 16px;
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 48px;
		position: relative;
	}
	.cv-site-brand__name {
		font-size: 17px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.cv-site-brand .custom-logo { max-height: 38px; max-width: 132px; }
	.cv-header-cta { display: none; }
	.cv-primary-navigation {
		align-items: stretch;
		background: var(--wp--preset--color--ink-950);
		border: 1px solid rgba(255, 255, 255, .14);
		display: flex;
		flex-direction: column;
		grid-column: 1 / -1;
		padding: 10px;
		width: 100%;
	}
	.cv-primary-navigation__list { align-items: stretch; flex-direction: column; gap: 0; width: 100%; }
	.cv-primary-navigation__link { font-size: 16px; min-height: 48px; padding: 14px 10px; width: 100%; }
	.cv-primary-navigation__cta--mobile { display: inline-flex; margin-top: 8px; width: 100%; }
	.cv-site-header--v2[data-cv-nav-ready="true"] .cv-nav-toggle {
		align-items: center;
		background: transparent;
		border: 1px solid rgba(255, 255, 255, .3);
		color: var(--wp--preset--color--white);
		cursor: pointer;
		display: inline-flex;
		gap: 10px;
		justify-content: center;
		min-height: 48px;
		min-width: 48px;
		padding: 8px 12px;
	}
	.cv-nav-toggle__label { font-size: 13px; font-weight: 700; }
	.cv-nav-toggle__icon { display: grid; gap: 5px; width: 18px; }
	.cv-nav-toggle__icon span { background: currentColor; display: block; height: 2px; width: 18px; }
	.cv-js .cv-site-header--v2 .cv-primary-navigation,
	.cv-site-header--v2[data-cv-nav-ready="true"] .cv-primary-navigation {
		display: none;
		left: 0;
		position: absolute;
		top: calc(100% - 1px);
	}
	.cv-js .cv-site-header--v2.is-open .cv-primary-navigation,
	.cv-site-header--v2[data-cv-nav-ready="true"].is-open .cv-primary-navigation { display: flex; }
	.cv-site-header--v2.is-overlay .cv-primary-navigation { box-shadow: 0 16px 32px rgba(0, 0, 0, .2); }
}
@media (max-width: 782px) {
	.admin-bar .cv-site-header.cv-site-header--v2.is-overlay { top: 46px; }
	body.admin-bar:has(> .construction-core-demo-label) .cv-site-header.cv-site-header--v2.is-overlay { top: 82px; }
}
@media (max-width: 390px) {
	.cv-site-header.cv-site-header--v2 { min-height: 64px; padding: 8px 16px; }
	.cv-site-header--v2 .cv-site-header__inner { gap: 12px; }
	.cv-nav-toggle__label { display: none; }
	.cv-site-brand__name { font-size: 16px; }
	.cv-site-brand .custom-logo { max-width: 116px; }
}
@media (max-width: 320px) {
	.cv-site-header.cv-site-header--v2 { padding: 8px 12px; }
	.cv-site-brand { gap: 8px; }
	.cv-site-brand__name { font-size: 15px; }
	.cv-primary-navigation { padding: 8px; }
	.cv-primary-navigation__link { font-size: 15px; padding-inline: 8px; }
}

/* Issue #147 — full-screen Construction Web V2 hero. */
.cv-hero--v2{box-sizing:border-box;height:calc(100svh - 88px);isolation:isolate;overflow:hidden;position:relative}
.cv-hero--v2::before{background:linear-gradient(90deg,rgb(14 20 18/82%) 0%,rgb(14 20 18/62%) 46%,rgb(14 20 18/22%) 76%,rgb(14 20 18/30%) 100%);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}
.cv-hero--v2 .cv-hero-grid{align-items:end;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));height:auto;min-height:calc(100svh - 88px - 144px);position:relative;z-index:2}
.cv-hero--v2 .cv-hero-copy{grid-column:1/span 7;max-width:760px}
.cv-hero--v2 .cv-hero-copy h1.has-hero-font-size{font-size:72px!important;line-height:.96!important;max-width:14ch;text-wrap:balance}
.cv-hero--v2 .cv-hero-copy>p:not(.cv-kicker){max-width:58ch}
.cv-hero--v2 .cv-hero-media{aspect-ratio:auto;bottom:0;grid-column:auto;height:100%;inset:0;margin:0;max-width:none;position:absolute;top:0;width:100%;z-index:0}
.cv-hero--v2 .cv-hero-media img{height:100%;object-fit:cover;object-position:center 48%;width:100%}
.cv-hero--v2 .cv-hero-media figcaption.screen-reader-text{position:absolute}
.cv-hero--v2 .is-style-outline .wp-block-button__link{background:transparent;border-color:currentColor;color:var(--wp--preset--color--white)}
.cv-hero-scroll{align-items:center;bottom:0;display:flex;font-size:12px;font-weight:700;gap:12px;letter-spacing:.12em;position:absolute;right:0;text-transform:uppercase}
.cv-hero-scroll__line{background:currentColor;display:block;height:1px;opacity:.7;width:48px}
@media(max-width:900px){.cv-hero--v2{height:calc(100svh - 72px)}.cv-hero--v2 .cv-hero-grid{grid-template-columns:repeat(8,minmax(0,1fr));min-height:calc(100svh - 72px - 112px)}.cv-hero--v2 .cv-hero-copy{grid-column:1/span 5}.cv-hero--v2 .cv-hero-copy h1.has-hero-font-size{font-size:60px!important;line-height:1!important}.cv-hero--v2::before{background:linear-gradient(90deg,rgb(14 20 18/82%) 0%,rgb(14 20 18/56%) 62%,rgb(14 20 18/28%) 100%)}}
@media(max-width:480px){.cv-hero--v2{height:auto;min-height:720px}.cv-hero--v2 .cv-hero-grid{align-items:end;display:grid;grid-template-columns:minmax(0,1fr);min-height:624px}.cv-hero--v2 .cv-hero-copy{grid-column:1;max-width:none}.cv-hero--v2 .cv-hero-copy h1.has-hero-font-size{font-size:46px!important;line-height:1.02!important;max-width:15ch}.cv-hero--v2::before{background:linear-gradient(180deg,rgb(14 20 18/34%) 0%,rgb(14 20 18/48%) 38%,rgb(14 20 18/90%) 100%)}.cv-hero-scroll{display:none}}
@media(max-width:340px){.cv-hero--v2{height:auto;min-height:700px}.cv-hero--v2 .cv-hero-grid{min-height:620px}.cv-hero--v2 .cv-hero-copy h1.has-hero-font-size{font-size:40px!important;line-height:1.02!important}}



/* Issue #118 - enforce the canonical V2 content container across measured sections. */
.cv-site-header__inner,
.cv-hero-grid,
.cv-services__layout,
.cv-projects__layout,
.cv-industries__layout,
.cv-trust-v2__inner,
.cv-process--v2 > .alignwide,
.cv-insights-v2__grid,
.cv-next-project__layout,
.cv-footer__inner {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 1240px);
	width: 100%;
}

/* Issue #145 — approved fullscreen homepage section system. */
.cv-services--v2{min-height:480px;padding-block:88px}
.cv-services--v2 .cv-services__layout{align-items:start;display:grid;gap:72px;grid-template-columns:repeat(12,minmax(0,1fr));margin-inline:auto;max-width:1240px;width:100%}
.cv-services--v2 .cv-services__intro{grid-column:1/span 5;max-width:520px}
.cv-service-list{grid-column:7/-1;list-style:none;margin:0;padding:0}
.cv-service-list__item{align-items:start;border-top:1px solid var(--wp--preset--color--stone-300);display:grid;gap:20px;grid-template-columns:40px minmax(0,1fr) 24px;padding:20px 0}
.cv-service-list__item:last-child{border-bottom:1px solid var(--wp--preset--color--stone-300)}
.cv-service-list__index{color:var(--wp--preset--color--brand-700);font-size:12px;font-weight:800;letter-spacing:.08em;padding-top:5px}
.cv-service-list__item h3{font-size:clamp(22px,2vw,30px);margin:0}
.cv-service-list__item h3 a{color:inherit;text-decoration:none}
.cv-service-list__item h3 a:hover{text-decoration:underline;text-underline-offset:.18em}
.cv-service-list__item p{color:var(--wp--preset--color--stone-600);margin:8px 0 0}
.cv-service-list__arrow{font-size:24px;line-height:1}
.cv-service-list--empty{border-top:1px solid var(--wp--preset--color--stone-300);padding-top:24px}
.cv-projects--v2{min-height:760px;padding-block:88px}
.cv-projects--v2 .cv-projects__layout{gap:48px}
.cv-projects--v2 .cv-projects__intro{grid-column:1/-1;max-width:720px}
.cv-projects--v2 .cv-projects__cards{grid-column:1/-1}
.cv-projects--v2 .cv-project-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-projects--v2 .cv-project-grid[data-project-count] .cv-project-card{grid-column:auto;grid-row:auto}
.cv-projects--v2 .cv-project-card{background:transparent;border:0;border-radius:0}
.cv-projects--v2 .cv-project-card__body{padding:18px 0 0}
.cv-industries--v2{min-height:620px;padding-block:88px}
.cv-industries__layout{align-items:center;display:grid;gap:72px;grid-template-columns:repeat(12,minmax(0,1fr))}
.cv-industries__visual{aspect-ratio:16/10;background:var(--wp--preset--color--mineral-50);grid-column:1/span 7;overflow:hidden;position:relative}
.cv-industries__image{display:block;height:100%;object-fit:cover;width:100%}
.cv-industries__fallback{background:linear-gradient(145deg,#d9d7cf,#f5f3ed);height:100%;position:relative;width:100%}
.cv-industries__beam{background:var(--wp--preset--color--ink-950);height:2px;left:10%;position:absolute;transform-origin:left center;width:76%}
.cv-industries__beam--one{top:28%;transform:rotate(9deg)}.cv-industries__beam--two{top:50%;transform:rotate(-7deg)}.cv-industries__beam--three{top:70%;transform:rotate(5deg)}
.cv-industries__plane{background:rgb(182 74 42/28%);inset:18% 12% 18% 58%;position:absolute}
.cv-industries__copy{grid-column:9/-1}.cv-industries__copy .cv-heading{max-width:12ch}
.cv-industries__verified{color:var(--wp--preset--color--stone-600);font-size:14px;margin-top:20px}
.cv-industries__status{border-left:2px solid var(--wp--preset--color--brand-600);color:var(--wp--preset--color--stone-600);padding-left:16px}
.cv-trust-v2{min-height:320px;padding-block:56px}
.cv-trust-v2__inner{display:grid;gap:28px}.cv-trust-v2__heading .cv-kicker{margin-bottom:0}
.cv-trust-v2__items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}
.cv-trust-v2__item{border-left:1px solid var(--wp--preset--color--stone-300);display:grid;gap:12px;grid-template-columns:18px minmax(0,1fr);padding:8px 22px}
.cv-trust-v2__item:first-child{padding-left:0}.cv-trust-v2__mark{border:1.5px solid var(--wp--preset--color--brand-600);height:12px;margin-top:4px;transform:rotate(45deg);width:12px}
.cv-trust-v2__item strong{display:block;font-size:17px;line-height:1.25}.cv-trust-v2__item p{color:var(--wp--preset--color--stone-600);font-size:13px;line-height:1.45;margin:8px 0 0}
.cv-process--v2{min-height:520px;padding-block:80px}.cv-process--v2 .cv-process-flow{margin-top:52px}.cv-process--v2 .cv-process-step{padding-top:22px}.cv-process--v2 .cv-process-step__link{align-items:center;color:var(--wp--preset--color--brand-700);display:inline-flex;font-size:14px;font-weight:700;gap:8px;margin-top:12px;text-decoration:none}.cv-process--v2 .cv-process-step__link:hover{text-decoration:underline;text-underline-offset:.18em}
.cv-insights-v2{min-height:620px;padding-block:88px}.cv-insights-v2__list{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.cv-insights-v2__list[data-insight-count="1"]{grid-template-columns:minmax(0,1fr);max-width:520px}.cv-insights-v2__list[data-insight-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-insights-v2__concept{font-weight:700}
.cv-insights-v2__item,.cv-insights-v2__empty{border-top:1px solid var(--wp--preset--color--stone-300);padding-top:18px}
.cv-insights-v2__media{aspect-ratio:16/10;display:block;margin-bottom:18px;overflow:hidden}.cv-insights-v2__media img{display:block;height:100%;object-fit:cover;width:100%}
.cv-next-project{min-height:520px;padding-block:96px}.cv-next-project__layout{max-width:900px}.cv-next-project__layout .cv-heading{font-size:clamp(42px,5vw,72px);line-height:1;max-width:13ch}
.cv-next-project__lead{font-size:18px;max-width:56ch}.cv-next-project__actions{justify-content:flex-start;margin-top:32px}.cv-next-project__secondary{background:transparent!important;border:1px solid currentColor!important}
.cv-next-project__status{border-left:2px solid var(--wp--preset--color--brand-100);padding-left:16px}
.cv-next-project__actions .wp-element-button:focus-visible{outline:3px solid var(--wp--preset--color--brand-100);outline-offset:3px}
.cv-footer{background:var(--wp--preset--color--ink-950);border-top:1px solid rgb(255 255 255/14%);color:var(--wp--preset--color--white);min-height:300px;padding-block:56px}
.cv-footer a{color:inherit}.cv-footer__grid{display:grid;gap:40px;grid-template-columns:2fr repeat(3,minmax(0,1fr))}
.cv-footer__brand{font-family:var(--wp--preset--font-family--display);font-size:28px;font-weight:700;margin-top:0}.cv-footer__identity p:last-child,.cv-footer__group p{color:var(--wp--preset--color--stone-150)}
.cv-footer__group{display:flex;flex-direction:column;gap:10px}.cv-footer__heading{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cv-footer__legal{border-top:1px solid rgb(255 255 255/14%);display:flex;gap:24px;justify-content:space-between;margin-top:40px;padding-top:22px}.cv-footer__legal nav{display:flex;flex-wrap:wrap;gap:18px}
@media(max-width:900px){
.cv-services--v2{min-height:480px;padding-block:72px}.cv-services--v2 .cv-services__layout,.cv-industries__layout{gap:40px;grid-template-columns:repeat(8,minmax(0,1fr))}
.cv-services--v2 .cv-services__intro{grid-column:1/span 3}.cv-service-list{grid-column:4/-1}.cv-projects--v2{min-height:720px;padding-block:72px}
.cv-industries--v2{min-height:560px;padding-block:72px}.cv-industries__visual{grid-column:1/span 5}.cv-industries__copy{grid-column:6/-1}
.cv-trust-v2{min-height:360px;padding-block:56px}.cv-trust-v2__items{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-trust-v2__item:nth-child(odd){padding-left:0}
.cv-process--v2{min-height:560px;padding-block:72px}.cv-insights-v2{min-height:620px;padding-block:72px}.cv-insights-v2__list{grid-template-columns:minmax(0,1fr)}
.cv-next-project{min-height:480px;padding-block:72px}.cv-footer{min-height:320px;padding-block:48px}.cv-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
.cv-services--v2{min-height:520px;padding-block:56px}.cv-services--v2 .cv-services__layout,.cv-industries__layout{gap:32px;grid-template-columns:minmax(0,1fr)}
.cv-services--v2 .cv-services__intro,.cv-service-list,.cv-industries__visual,.cv-industries__copy{grid-column:1}.cv-service-list__item{gap:12px;grid-template-columns:32px minmax(0,1fr) 20px;padding-block:18px}
.cv-projects--v2{min-height:820px;padding-block:56px}.cv-projects--v2 .cv-project-grid{grid-template-columns:minmax(0,1fr)}
.cv-industries--v2{min-height:620px;padding-block:56px}.cv-trust-v2{min-height:500px;padding-block:48px}.cv-trust-v2__items{grid-template-columns:minmax(0,1fr)}
.cv-trust-v2__item,.cv-trust-v2__item:first-child,.cv-trust-v2__item:nth-child(odd){border-left:0;border-top:1px solid var(--wp--preset--color--stone-300);padding:18px 0}
.cv-process--v2{min-height:680px;padding-block:56px}.cv-insights-v2{min-height:720px;padding-block:56px}.cv-next-project{min-height:520px;padding-block:64px}
.cv-next-project__layout .cv-heading{font-size:42px}.cv-next-project__actions{align-items:stretch;flex-direction:column}.cv-next-project__actions .wp-element-button{width:100%}
.cv-footer{min-height:420px;padding-block:48px}.cv-footer__grid{grid-template-columns:minmax(0,1fr)}.cv-footer__legal{align-items:flex-start;flex-direction:column}
}
@media(max-width:340px){
.cv-services--v2{min-height:540px;padding-block:48px}.cv-projects--v2{min-height:840px;padding-block:48px}.cv-industries--v2{min-height:640px;padding-block:48px}
.cv-trust-v2{min-height:520px;padding-block:48px}.cv-process--v2{min-height:700px;padding-block:48px}.cv-insights-v2{min-height:740px;padding-block:48px}
.cv-next-project{min-height:540px;padding-block:56px}.cv-footer{min-height:440px;padding-block:44px}
}


/* Construction Home V2 trust/value strip */
.cv-trust-v2{border-block:1px solid var(--wp--preset--color--stone-300)}
.cv-trust-v2__inner{padding-block:26px}
.cv-trust-v2__items{display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}
.cv-trust-v2__item{align-items:flex-start;display:grid;gap:12px;grid-template-columns:10px minmax(0,1fr);margin:0;padding:0 24px}
.cv-trust-v2__item:first-child{padding-left:0}
.cv-trust-v2__item+.cv-trust-v2__item{border-left:1px solid var(--wp--preset--color--stone-300)}
.cv-trust-v2__mark{border:2px solid currentColor;border-radius:50%;height:8px;margin-top:.45em;width:8px}
.cv-trust-v2__copy strong{display:block;font-size:clamp(1rem,1.2vw,1.125rem);line-height:1.25}
.cv-trust-v2__copy p{color:var(--wp--preset--color--stone-600);font-size:var(--wp--preset--font-size--small);line-height:1.5;margin:.4rem 0 0}
@media(max-width:900px){.cv-trust-v2__items{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.cv-trust-v2__item:nth-child(odd){border-left:0;padding-left:0}.cv-trust-v2__item:nth-child(even){padding-right:0}}
@media(max-width:480px){.cv-trust-v2__inner{padding-block:20px}.cv-trust-v2__items{grid-template-columns:minmax(0,1fr);row-gap:0}.cv-trust-v2__item,.cv-trust-v2__item:nth-child(even){border-left:0;border-top:1px solid var(--wp--preset--color--stone-300);padding:16px 0}.cv-trust-v2__item:first-child{border-top:0;padding-top:0}.cv-trust-v2__item:last-child{padding-bottom:0}}

/* Issue #150 - image-led homepage project proof */
.cv-projects--v2 .cv-project-grid--homepage{align-items:start;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-projects--v2 .cv-project-grid--homepage[data-project-count="1"]{grid-template-columns:minmax(0,1fr);max-width:820px}
.cv-projects--v2 .cv-project-grid--homepage[data-project-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.cv-projects--v2 .cv-project-grid--homepage[data-project-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-projects--v2 .cv-project-grid--homepage .cv-project-card__media{aspect-ratio:16/10}
.cv-projects--v2 .cv-project-grid--homepage .cv-project-card__body{padding:16px 0 0}
.cv-projects--v2 .cv-project-grid--homepage .cv-project-card__meta{font-size:13px;letter-spacing:.02em}
.cv-projects--v2 .cv-project-grid--homepage .cv-project-card__body>p:last-child{color:var(--wp--preset--color--stone-150);margin-top:10px}
@media(max-width:760px){
.cv-projects--v2 .cv-project-grid--homepage[data-project-count]{grid-template-columns:minmax(0,1fr);max-width:none}
}


/* Issue #126 public project library */
.cv-project-library {
	position: relative;
}

.cv-project-library__status,
.cv-project-loading {
	color: var(--wp--preset--color--stone-600);
	font-size: var(--wp--preset--font-size--small);
	margin-block: var(--wp--preset--spacing--4);
}

.cv-project-library[data-state="loading"] .cv-project-grid,
.cv-project-library[data-state="loading"] .cv-project-pagination {
	opacity: .55;
	pointer-events: none;
}

.cv-project-filters input[type="search"],
.cv-project-filters select,
.cv-project-filters button {
	box-sizing: border-box;
	width: 100%;
}

.cv-project-filters input[type="search"] {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--input);
	color: var(--wp--preset--color--ink-950);
	font: inherit;
	min-height: var(--wp--custom--interaction--min-touch-target);
	padding: 10px 12px;
}

.cv-project-filters input[type="search"]:focus-visible,
.cv-project-filters select:focus-visible,
.cv-project-filters button:focus-visible,
.cv-project-filters a:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.cv-project-module-off {
	background: var(--wp--preset--color--mineral-50);
	border: 1px solid var(--wp--preset--color--stone-300);
	margin-top: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--7);
}

@media (max-width: 760px) {
	.cv-project-filters label {
		min-width: 0;
		width: 100%;
	}

	.cv-project-module-off {
		padding: var(--wp--preset--spacing--5);
	}
}


/* Issue #127: service and industry IA */
.cv-domain-page { overflow: hidden; }
.cv-domain-grid,
.cv-domain-detail__grid {
	display: grid;
	gap: var(--wp--preset--spacing--5);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cv-domain-card,
.cv-domain-fact,
.cv-domain-relations,
.cv-domain-empty {
	border: 1px solid var(--wp--preset--color--stone-300);
	border-radius: var(--wp--custom--radius--default);
	padding: var(--wp--preset--spacing--5);
}
.cv-domain-card h2,
.cv-domain-fact h2,
.cv-domain-relations h2 { margin-top: 0; }
.cv-domain-card__link { font-weight: 700; text-underline-offset: .2em; }
.cv-domain-detail { display: grid; gap: var(--wp--preset--spacing--6); margin-top: var(--wp--preset--spacing--6); }
.cv-domain-relations ul { display: grid; gap: var(--wp--preset--spacing--3); list-style: none; margin: 0; padding: 0; }
.cv-domain-empty-inline { color: var(--wp--preset--color--stone-600); margin-bottom: 0; }
.cv-domain-cta { margin-bottom: 0; }
.cv-breadcrumbs { font-size: var(--wp--preset--font-size--small); margin-bottom: var(--wp--preset--spacing--5); }
.cv-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.cv-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; }
.cv-breadcrumbs [aria-current="page"] { color: var(--wp--preset--color--stone-600); }
@media (max-width: 760px) {
	.cv-domain-grid,
	.cv-domain-detail__grid { grid-template-columns: minmax(0, 1fr); }
	.cv-domain-card,
	.cv-domain-fact,
	.cv-domain-relations,
	.cv-domain-empty { padding: var(--wp--preset--spacing--4); }
}


/* SV Konstruktion: discreet, service-oriented concept ribbon. */
.construction-core-demo-label {
	position: relative;
	z-index: 30;
	background: #1e2924;
	color: #e7ede7;
	border-bottom: 1px solid rgba(255,255,255,.09);
	font-family: inherit;
	font-size: 11px;
	line-height: 1.4;
}
.construction-core-demo-label__inner {
	max-width: 1240px;
	min-height: 38px;
	margin-inline: auto;
	padding: 6px 24px;
	display: flex;
	align-items: center;
	gap: clamp(16px,3vw,48px);
}
.construction-core-demo-label__brand {
	font-weight: 750;
	letter-spacing: .13em;
	white-space: nowrap;
}
.construction-core-demo-label__services {
	flex: 1;
	color: #c6d2c8;
	letter-spacing: .035em;
	text-align: center;
	white-space: nowrap;
}
.construction-core-demo-label__services > span {
	padding-inline: .4em;
	color: #8b9d91;
}
.construction-core-demo-label__badge {
	margin-left: auto;
	padding: 3px 9px;
	border: 1px solid rgba(221,235,223,.3);
	border-radius: 99px;
	color: #e7ede7;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .11em;
	white-space: nowrap;
}
.cv-footer__legal { flex-wrap: wrap; }
.cv-footer__demo-disclosure {
	display: block;
	max-width: 440px;
	font-size: 12px;
	line-height: 1.5;
	color: #b9c4bb;
}
@media (max-width: 820px) {
	.construction-core-demo-label__services { font-size: 10px; }
	.construction-core-demo-label__inner { gap: 12px; padding-inline: 18px; }
}
@media (max-width: 640px) {
	.construction-core-demo-label__services { display: none; }
	.construction-core-demo-label__inner { min-height: 34px; padding: 5px 16px; }
	.construction-core-demo-label__brand { font-size: 10px; }
}

/* The topbar and white navigation remain in normal document flow on every page. */

/* SV Konstruktion header: clean light navigation beneath a separate demo topbar. */
.cv-site-header.cv-site-header--v2,
.cv-site-header.cv-site-header--v2.is-overlay {
	background: #ffffff;
	border-bottom: 1px solid #e6e9e6;
	box-shadow: 0 2px 12px rgba(24, 32, 29, .04);
	color: #19221e;
	left: auto;
	min-height: 76px;
	padding: 12px 24px;
	position: relative;
	top: auto;
}
.admin-bar .cv-site-header.cv-site-header--v2.is-overlay { top: auto; }
.cv-site-header--v2 .cv-site-header__inner {
	gap: clamp(16px, 2.5vw, 42px);
	grid-template-columns: minmax(210px, 1fr) auto minmax(176px, 1fr);
	min-height: 52px;
}
.cv-site-header--v2 .cv-site-brand__name,
.cv-site-header--v2 .cv-primary-navigation__link { color: #1d2420; }
.cv-site-brand__name--sv {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	white-space: nowrap;
}
.cv-site-brand__mark {
	color: #ba6b2b;
	display: block;
	flex: 0 0 auto;
	height: 38px;
	width: 38px;
}
.cv-site-brand__type { align-items: baseline; display: inline-flex; gap: 5px; }
.cv-site-brand__sv {
	color: #ba6b2b;
	font-size: 28px;
	font-weight: 850;
	letter-spacing: -.055em;
	line-height: 1;
}
.cv-site-brand__word {
	color: #1d2420;
	font-size: 16px;
	font-weight: 750;
	letter-spacing: -.015em;
	line-height: 1;
}
.cv-site-header--v2 .cv-primary-navigation__list { gap: clamp(15px, 2.1vw, 32px); }
.cv-site-header--v2 .cv-primary-navigation__link {
	font-size: 14px;
	font-weight: 650;
	padding: 16px 0;
	position: relative;
}
.cv-site-header--v2 .cv-primary-navigation__link:hover,
.cv-site-header--v2 .cv-site-brand__name:hover { color: #99501b; text-decoration: none; }
.cv-site-header--v2 .cv-primary-navigation__link[aria-current="page"]::after {
	background: #b96522;
	bottom: 6px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}
.cv-site-header--v2 .cv-header-cta,
.cv-site-header--v2 .cv-primary-navigation__cta {
	background: #b96522;
	border: 1px solid #b96522;
	border-radius: 4px;
	color: #ffffff;
}
.cv-site-header--v2 .cv-header-cta {
	justify-self: end;
	min-height: 46px;
}
.cv-site-header--v2 .cv-header-cta::after {
	content: "→";
	font-size: 18px;
	font-weight: 400;
	margin-left: 12px;
}
.cv-site-header--v2 .cv-header-cta:hover,
.cv-site-header--v2 .cv-primary-navigation__cta:hover {
	background: #98511a;
	border-color: #98511a;
	color: #ffffff;
}
.construction-core-demo-label {
	background: #202924;
	color: #e5ebe5;
	font-size: 11px;
}
.construction-core-demo-label__brand {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	letter-spacing: .07em;
}
.construction-core-demo-label__brand::before {
	background: #c87939;
	border-radius: 50%;
	content: "";
	height: 6px;
	width: 6px;
}
.construction-core-demo-label__badge {
	background: rgba(200, 121, 57, .14);
	border-color: rgba(200, 121, 57, .48);
	color: #f3d3b6;
}
@media (max-width: 1060px) {
	.cv-site-header--v2 .cv-site-header__inner { gap: 14px; }
	.cv-site-header--v2 .cv-primary-navigation__list { gap: 16px; }
}
@media (max-width: 900px) {
	.cv-site-header.cv-site-header--v2,
	.cv-site-header.cv-site-header--v2.is-overlay { min-height: 68px; padding: 10px 20px; }
	.cv-site-header--v2 .cv-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 48px;
	}
	.cv-site-header--v2 .cv-primary-navigation {
		background: #ffffff;
		border: 1px solid #e6e9e6;
		box-shadow: 0 12px 28px rgba(24, 32, 29, .12);
	}
	.cv-site-header--v2[data-cv-nav-ready="true"] .cv-nav-toggle {
		background: #ffffff;
		border-color: #cfd5cf;
		color: #1d2420;
	}
	.cv-site-header--v2 .cv-primary-navigation__link[aria-current="page"]::after {
		bottom: 8px;
		left: 10px;
		right: 10px;
	}
	.cv-site-header--v2 .cv-site-brand__mark { height: 34px; width: 34px; }
	.cv-site-header--v2 .cv-site-brand__sv { font-size: 26px; }
	.cv-site-header--v2 .cv-site-brand__word { font-size: 15px; }
}
@media (max-width: 390px) {
	.cv-site-header.cv-site-header--v2,
	.cv-site-header.cv-site-header--v2.is-overlay { padding: 8px 16px; }
	.cv-site-header--v2 .cv-site-brand__mark { height: 32px; width: 32px; }
	.cv-site-header--v2 .cv-site-brand__sv { font-size: 24px; }
	.cv-site-header--v2 .cv-site-brand__word { font-size: 14px; }
}
@media (max-width: 320px) {
	.cv-site-header.cv-site-header--v2,
	.cv-site-header.cv-site-header--v2.is-overlay { padding-inline: 12px; }
	.cv-site-brand__name--sv { gap: 6px; }
	.cv-site-brand__type { gap: 3px; }
	.cv-site-header--v2 .cv-site-brand__mark { height: 28px; width: 28px; }
	.cv-site-header--v2 .cv-site-brand__sv { font-size: 22px; }
	.cv-site-header--v2 .cv-site-brand__word { font-size: 13px; }
}


/* Local preview compatibility: old release put its ribbon above an absolute hero header. */
.construction-core-demo-label { padding: 0 16px; justify-content: stretch; }
.construction-core-demo-label__inner { box-sizing: border-box; width: 100%; }
body:has(> .construction-core-demo-label) .cv-site-header.cv-site-header--v2.is-overlay,
body.admin-bar:has(> .construction-core-demo-label) .cv-site-header.cv-site-header--v2.is-overlay {
	top: auto;
}


/* SV Construction local preview — editorial AI-generated demo hero image. */
.cv-hero--v2 .cv-hero-media.cv-hero-media--concept {
	background: #24332f url("./assets/images/sv-construction-hero.jpg") center 47% / cover no-repeat;
	border: 0;
	padding: 0;
}
.cv-hero--v2 .cv-hero-media--concept .cv-v2-concept-building { display: none; }
.cv-hero--v2 .cv-hero-media--concept .cv-v2-concept-building__label {
	bottom: 18px;
	left: auto;
	right: 24px;
}
.cv-hero--v2 .cv-hero-media--concept .cv-demo-label {
	background: rgba(14, 20, 18, .72);
}
@media (max-width: 480px) {
	.cv-hero--v2 .cv-hero-media.cv-hero-media--concept { background-position: 78% center; }
	.cv-hero--v2 .cv-hero-media--concept .cv-v2-concept-building__label {
		bottom: 12px;
		right: 12px;
	}
}


/* Keep the standalone header flush with the page content. */
body.home .wp-site-blocks > .wp-block-template-part + main {
	margin-block-start: 0;
}
.cv-site-header.cv-site-header--v2 a.cv-header-cta,
.cv-site-header.cv-site-header--v2 a.cv-primary-navigation__cta {
	color: #ffffff;
}
/* Illustrated service archive in the active concept demo. */
.cv-service-archive-demo{color:#f7f7f5;background:#202020}
.cv-service-archive-demo__hero,.cv-service-archive-demo__cta{min-height:430px;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:70px 24px;gap:52px}
.cv-service-archive-demo__cta{min-height:470px}
.cv-service-archive-demo__hero-frame{width:min(100%,1000px);border:1px solid rgba(255,255,255,.65);padding:30px 24px;color:#fff}
.cv-service-archive-demo__hero-frame p:first-child{letter-spacing:.24em;font-size:13px}
.cv-service-archive-demo__hero-frame h1,.cv-service-archive-demo__hero-frame h2{color:#fff;font-size:clamp(34px,5vw,62px);line-height:1.05;margin:10px 0;font-weight:800}
.cv-service-archive-demo__button{display:inline-block;border:1px solid #ddd;color:#fff;text-decoration:none;padding:10px 25px;font-size:14px}
.cv-service-archive-demo__button:hover{background:#fff;color:#202020}
.cv-service-archive-demo__services{padding:75px 24px 85px}
.cv-service-archive-demo__inner{max-width:1100px;margin:auto}
.cv-service-archive-demo__services h2{color:#fff;font-size:34px;margin:0 0 24px}
.cv-service-archive-demo__intro{max-width:950px;margin:0 0 40px;color:#ddd}
.cv-service-archive-demo__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cv-service-archive-demo__card{min-width:0;color:#fff}
.cv-service-archive-demo__image{aspect-ratio:1.5;background-size:200% 200%;background-repeat:no-repeat;margin-bottom:13px}
.cv-service-archive-demo__image--0{background-position:left top}
.cv-service-archive-demo__image--1{background-position:right top}
.cv-service-archive-demo__image--2{background-position:left bottom}
.cv-service-archive-demo__image--3{background-position:right bottom}
.cv-service-archive-demo__card h3{color:#fff;font-size:18px;line-height:1.2;margin:0 0 14px;text-transform:uppercase}
.cv-service-archive-demo__card p{color:#bbb;font-size:14px;line-height:1.5;margin:0 0 16px}
.cv-service-archive-demo__tag{display:block;border:1px solid #888;color:#ddd;padding:8px 10px;font-size:12px;text-align:center}
@media(max-width:800px){.cv-service-archive-demo__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.cv-service-archive-demo__grid{grid-template-columns:1fr}.cv-service-archive-demo__hero,.cv-service-archive-demo__cta{min-height:350px;gap:30px}.cv-service-archive-demo__services{padding:50px 20px}}
.cv-service-archive-demo__hero{min-height:455px}
.cv-service-archive-demo__cta{min-height:650px}
.cv-service-archive-demo__hero-frame h1,.cv-service-archive-demo__hero-frame h2,.cv-service-archive-demo__services h2,.cv-service-archive-demo__card h3{font-family:Impact,"Arial Narrow",sans-serif;font-stretch:condensed;font-weight:700;letter-spacing:.015em}
.cv-service-archive-demo__hero-frame h1,.cv-service-archive-demo__hero-frame h2{text-transform:uppercase}
.cv-service-archive-demo__services{padding-top:75px;padding-bottom:90px}
.cv-service-archive-demo__image{aspect-ratio:1.48}
.cv-service-archive-demo__card{display:flex;flex-direction:column}
.cv-service-archive-demo__card p{min-height:115px}
.cv-service-archive-demo__note{font-size:11px;color:#aaa;margin-top:auto;margin-bottom:10px}
.cv-service-archive-demo__tag{text-decoration:none;margin-top:0}
.cv-service-archive-demo__tag:hover{background:#fff;color:#202020}
@media(max-width:800px){.cv-service-archive-demo__card p{min-height:0}}
.wp-block-shortcode:has(.cv-service-archive-demo){margin-block-start:0!important;margin-block-end:0!important}
.cv-service-archive-demo{margin-block-start:0!important}
.cv-service-detail-demo{margin:0;background:#e9e9e9;color:#242424}
.cv-service-detail-demo__hero{min-height:510px;background-size:200% 200%;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:72px;padding:70px 24px;text-align:center}
.cv-service-detail-demo__image--0{background-position:left top}.cv-service-detail-demo__image--1{background-position:right top}.cv-service-detail-demo__image--2{background-position:left bottom}.cv-service-detail-demo__image--3{background-position:right bottom}
.cv-service-detail-demo__hero-frame{width:min(100%,1000px);border:1px solid rgba(255,255,255,.7);padding:30px;color:#fff}
.cv-service-detail-demo__hero-frame p{font-size:14px;letter-spacing:.28em;margin:0 0 8px}
.cv-service-detail-demo__hero-frame h1{font-family:Impact,"Arial Narrow",sans-serif;text-transform:uppercase;font-size:clamp(42px,6vw,78px);line-height:1;margin:0;color:#fff}
.cv-service-detail-demo__body{padding:80px 24px}
.cv-service-detail-demo__inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.cv-service-detail-demo__copy{font-size:18px;line-height:1.55}
.cv-service-detail-demo__copy h2{font-family:Impact,"Arial Narrow",sans-serif;color:#31a8b8;font-size:30px;line-height:1.15;margin:0 0 18px}
.cv-service-detail-demo__copy p{margin:0 0 22px}
.cv-service-detail-demo__copy .cv-service-detail-demo__eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#555;margin-bottom:16px}
.cv-service-detail-demo__copy a{display:inline-block;border:1px solid #444;padding:10px 22px;color:#222;text-decoration:none;font-size:15px}
.cv-service-detail-demo__copy a:hover{background:#222;color:#fff}
.cv-service-detail-demo__photo{min-height:500px;background-size:200% 200%;background-repeat:no-repeat}
@media(max-width:750px){.cv-service-detail-demo__inner{grid-template-columns:1fr;gap:35px}.cv-service-detail-demo__photo{min-height:350px}.cv-service-detail-demo__hero{min-height:400px;gap:40px}}
.cv-project-archive-demo{background:#202020;color:#fff;margin:0}
.cv-project-archive-demo__hero,.cv-project-archive-demo__cta{min-height:455px;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:55px;padding:70px 24px}
.cv-project-archive-demo__cta{min-height:650px}
.cv-project-archive-demo__hero h1,.cv-project-archive-demo__cta h2,.cv-project-archive-demo__gallery h2{font-family:Impact,"Arial Narrow",sans-serif;color:#fff;text-transform:uppercase;letter-spacing:.015em}
.cv-project-archive-demo__hero h1,.cv-project-archive-demo__cta h2{font-size:clamp(42px,5vw,66px)}
.cv-project-archive-demo__gallery{padding:75px 24px 85px}
.cv-project-archive-demo__inner{max-width:1100px;margin:auto}
.cv-project-archive-demo__gallery h2{font-size:34px;margin:0 0 24px}
.cv-project-archive-demo__gallery p{color:#d5d5d5;line-height:1.5;margin:0 0 35px;max-width:950px}
.cv-project-archive-demo__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.cv-project-archive-demo__tile{aspect-ratio:1.28;background-size:400% 400%;background-repeat:no-repeat}
.cv-project-archive-demo__gallery .cv-project-archive-demo__disclosure{font-size:12px;color:#aaa;margin:18px 0 0}
@media(max-width:750px){.cv-project-archive-demo__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-project-archive-demo__hero,.cv-project-archive-demo__cta{min-height:370px;gap:35px}}
.cv-about-demo{background:#e9e9e9;color:#252525;margin:0}
.cv-about-demo__hero{min-height:500px;background-size:200% 200%;background-position:right top;background-repeat:no-repeat;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:70px;padding:70px 24px;text-align:center}
.cv-about-demo__hero{background-size:cover;background-position:center}
.cv-about-demo__hero h1{font-family:Impact,"Arial Narrow",sans-serif;color:#fff;font-size:clamp(46px,5.5vw,74px);line-height:1;margin:0}
.cv-about-demo__body{padding:80px 24px}
.cv-about-demo__inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.cv-about-demo__copy{font-size:18px;line-height:1.55}
.cv-about-demo__copy h2{font-family:Impact,"Arial Narrow",sans-serif;color:#31a8b8;font-size:30px;line-height:1.15;margin:0 0 18px}
.cv-about-demo__copy p{margin:0 0 20px}
.cv-about-demo__copy .cv-about-demo__eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#555;margin-bottom:16px}
.cv-about-demo__copy a{display:inline-block;border:1px solid #555;color:#222;text-decoration:none;padding:10px 22px;font-size:15px}
.cv-about-demo__copy a:hover{background:#222;color:#fff}
.cv-about-demo__photo{min-height:500px;background-size:200% 200%;background-position:right bottom;background-repeat:no-repeat}
@media(max-width:750px){.cv-about-demo__inner{grid-template-columns:1fr;gap:35px}.cv-about-demo__hero{min-height:370px;gap:40px}.cv-about-demo__photo{min-height:350px}}
.cv-contact-demo{background:#202020;color:#fff;margin:0}
.cv-contact-demo__hero{min-height:460px;background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:65px;padding:70px 24px;text-align:center}
.cv-contact-demo__hero h1{font-family:Impact,"Arial Narrow",sans-serif;color:#fff;font-size:clamp(42px,5.5vw,72px);line-height:1;margin:0}
.cv-contact-demo__cards{background:#202323;padding:76px 24px 84px}
.cv-contact-demo__cards-inner{max-width:1280px;margin:auto}
.cv-contact-demo__cards-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:end;column-gap:48px;row-gap:10px}
.cv-contact-demo__cards-heading>span,.cv-contact-demo__card-label{color:#49b7c5;font-size:12px;font-weight:700;letter-spacing:.16em}
.cv-contact-demo__cards-heading>span{grid-column:1}
.cv-contact-demo__cards-heading h2{color:#fff;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(36px,3.5vw,54px);font-weight:400;grid-column:1;line-height:1.08;margin:0;max-width:17ch}
.cv-contact-demo__cards-heading p{color:#c6cdcc;font-size:17px;grid-column:2;grid-row:1 / span 2;line-height:1.55;margin:0;max-width:420px}
.cv-contact-demo__cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
.cv-contact-demo__contact-card{background:#282d2d;border:1px solid #53605f;border-top:3px solid #39aaba;display:flex;flex-direction:column;align-items:flex-start;min-height:252px;padding:28px 30px 30px}
.cv-contact-demo__card-index{align-self:flex-end;color:#8e9c9b;font-size:11px;letter-spacing:.12em}
.cv-contact-demo__card-label{margin-top:18px}
.cv-contact-demo__contact-card h3{color:#fff;font-family:var(--wp--preset--font-family--body);font-size:24px;font-weight:700;line-height:1.2;margin:10px 0 0}
.cv-contact-demo__contact-card p{color:#c6cdcc;font-size:16px;line-height:1.5;margin:14px 0 0}
.cv-contact-demo__contact-card a{color:#76d5df;font-size:14px;font-weight:700;margin-top:auto;padding-top:20px;text-decoration:none;text-underline-offset:.24em}
.cv-contact-demo__contact-card a:hover,.cv-contact-demo__contact-card a:focus-visible{text-decoration:underline}
.cv-contact-demo__contact-card a span{margin-left:6px}
.cv-contact-demo__form-section{background-size:cover;background-position:center;padding:80px 24px 100px}
.cv-contact-demo__form-layout{max-width:1100px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}
.cv-contact-demo__form-intro{text-align:center;padding-top:110px}
.cv-contact-demo__form-intro>p{color:#31a8b8;letter-spacing:.22em;font-size:12px}
.cv-contact-demo__form-intro h2,.cv-contact-demo__form-card>h3{font-family:Impact,"Arial Narrow",sans-serif;color:#fff;line-height:1.1}
.cv-contact-demo__form-intro h2{font-size:clamp(36px,4vw,58px)}
.cv-contact-demo__area{margin-top:45px;border:1px solid #aaa;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:25px;color:#ddd}
.cv-contact-demo__area strong{text-transform:uppercase;letter-spacing:.12em}
.cv-contact-demo__form-card{border:1px solid #999;background:rgba(15,15,15,.64);padding:30px}
.cv-contact-demo__form-card>h3{font-size:30px;margin:0 0 10px}
.cv-contact-demo__form-card>p{margin:0 0 20px;color:#ccc;font-size:14px}
.cv-contact-demo__form-card .cc-quote-shell>h3,.cv-contact-demo__form-card .cc-quote-kicker,.cv-contact-demo__form-card .cc-lead-process,.cv-contact-demo__form-card .cc-lead-process__note{display:none}
.cv-contact-demo__form-card .cc-quote-form,.cv-contact-demo__form-card .cc-lead-process li{background:transparent;color:#fff;border:0;padding:0}
.cv-contact-demo__form-card .cc-step legend{font-family:Impact,"Arial Narrow",sans-serif;color:#fff}
.cv-contact-demo__form-card .cc-field :where(input:not([type="checkbox"]),select,textarea){background:rgba(0,0,0,.2);border-color:#aaa;color:#fff}
.cv-contact-demo__form-card .cc-field select option{color:#222}
.cv-contact-demo__form-card .cc-field :where(input,textarea)::placeholder{color:#bbb}
.cv-contact-demo__form-card .cc-progress,.cv-contact-demo__form-card .cc-field label{color:#fff}
@media(max-width:800px){.cv-contact-demo__form-layout{grid-template-columns:1fr}.cv-contact-demo__form-intro{padding-top:0}}
@media(max-width:900px){.cv-contact-demo__cards-heading{grid-template-columns:1fr;gap:12px}.cv-contact-demo__cards-heading p{grid-column:1;grid-row:auto}.cv-contact-demo__cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-contact-demo__contact-card:last-child{grid-column:1/-1}}
@media(max-width:600px){.cv-contact-demo__cards{padding:60px 20px}.cv-contact-demo__cards-grid{grid-template-columns:1fr;gap:14px;margin-top:28px}.cv-contact-demo__contact-card:last-child{grid-column:auto}.cv-contact-demo__contact-card{min-height:0;padding:24px}.cv-contact-demo__hero{min-height:370px;gap:40px}.cv-contact-demo__form-card{padding:20px}}

/* Capability-aware company evidence: no empty sections when Core has no approved content. */
.cv-public-contacts {
	padding: clamp(36px, 5vw, 80px) 20px;
	background: #f4f7f8;
	color: #14242d;
}
.cv-public-contacts__inner { max-width: 1140px; margin-inline: auto; }
.cv-public-contacts__inner > h2 { margin: 0 0 28px; font-size: clamp(1.8rem, 3.5vw, 2.7rem); }
.cv-public-contacts__inner > .cv-kicker { margin: 0 0 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: .75rem; }
.cv-public-contacts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cv-public-contact { min-width: 0; background: #fff; border: 1px solid #dfe7ea; border-radius: 8px; overflow: hidden; }
.cv-public-contact__media { aspect-ratio: 4 / 3; background: #e7edef; }
.cv-public-contact__portrait { display: block; width: 100%; height: 100%; object-fit: cover; }
.cv-public-contact__body { padding: clamp(18px, 2.5vw, 28px); display: flex; flex-direction: column; gap: 8px; }
.cv-public-contact__body h3 { margin: 0; font-size: 1.3rem; line-height: 1.3; }
.cv-public-contact__body p { margin: 0; line-height: 1.65; }
.cv-public-contact__role { font-weight: 700; color: #405b69; }
.cv-public-contact__body a { width: fit-content; overflow-wrap: anywhere; text-underline-offset: 3px; color: #075c86; }
@media (max-width: 860px) { .cv-public-contacts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .cv-public-contacts { padding-inline: 16px; } .cv-public-contacts__grid { grid-template-columns: 1fr; } }

/* Issue #252 — Concept-only company evidence preview. Real claims remain gated in Core. */
.cv-evidence-preview { padding: clamp(64px, 7vw, 110px) 24px; }
.cv-evidence-preview__inner { max-width: 1240px; margin-inline: auto; }
.cv-evidence-preview__heading { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr); gap:48px; align-items:end; margin-bottom:28px; }
.cv-evidence-preview__eyebrow { font-size:12px; letter-spacing:.16em; font-weight:700; color:#228b9b; margin:0 0 16px; }
.cv-evidence-preview__heading h2 { font-family:Impact,"Arial Narrow",sans-serif; font-weight:400; font-size:clamp(34px,4vw,56px); line-height:1.06; text-transform:uppercase; margin:0; max-width:18ch; }
.cv-evidence-preview__intro { max-width:420px; font-size:17px; line-height:1.7; margin:0; }
.cv-evidence-preview__disclosure { display:inline-block; font-size:12px; line-height:1.5; margin:0 0 28px; padding:10px 14px; border-left:3px solid currentColor; }
.cv-evidence-preview__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.cv-evidence-preview--trust { background:#f2f4f4; color:#172528; }
.cv-evidence-preview--trust .cv-evidence-preview__intro { color:#566367; }
.cv-evidence-preview--trust .cv-evidence-preview__disclosure { background:#e6eeef; color:#30494e; }
.cv-evidence-preview__fact { min-width:0; background:white; padding:clamp(25px,3vw,38px); min-height:340px; display:flex; flex-direction:column; border:1px solid #dde3e4; transition:transform .2s ease,border-color .2s ease; }
.cv-evidence-preview__fact:hover { transform:translateY(-3px); border-color:#5e9ca3; }
.cv-evidence-preview__fact-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cv-evidence-preview__fact-number { font:400 44px/1 Impact,"Arial Narrow",sans-serif; color:#c6d7d9; }
.cv-evidence-preview__sample-tag { font-size:10px; font-weight:700; letter-spacing:.14em; color:#497c83; }
.cv-evidence-preview__fact-line { width:56px; height:3px; background:#31a8b8; margin:35px 0 24px; }
.cv-evidence-preview__fact-subtitle { font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#4f7980; margin:0 0 8px; }
.cv-evidence-preview__fact h3 { font-size:clamp(22px,2vw,29px); font-family:Impact,"Arial Narrow",sans-serif; font-weight:400; text-transform:uppercase; margin:0 0 14px; }
.cv-evidence-preview__fact > p:not(.cv-evidence-preview__fact-subtitle) { font-size:15px; color:#516065; line-height:1.65; margin:0 0 24px; }
.cv-evidence-preview__fact-foot { margin-top:auto; color:#4a747b; border-top:1px solid #e5ecec; padding-top:14px; font-size:12px; display:flex; justify-content:space-between; gap:12px; }
.cv-evidence-preview--people { background:#1e2527; color:#fff; }
.cv-evidence-preview--people .cv-evidence-preview__eyebrow { color:#59bfcb; }
.cv-evidence-preview--people .cv-evidence-preview__intro { color:#c6d0d1; }
.cv-evidence-preview--people .cv-evidence-preview__disclosure { background:#2a383c; color:#d1e5e7; border-color:#49b7c5; }
.cv-evidence-preview__person { min-width:0; background:#f8faf9; color:#172528; display:flex; flex-direction:column; }
.cv-evidence-preview__person-visual { height:210px; position:relative; overflow:hidden; isolation:isolate; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#285661,#16343c); }
.cv-evidence-preview__person-visual--02 { background:linear-gradient(135deg,#46585b,#1a3238); }
.cv-evidence-preview__person-visual--03 { background:linear-gradient(135deg,#286d77,#24444d); }
.cv-evidence-preview__person-visual::after { content:""; position:absolute; inset:-30% -5%; background:repeating-linear-gradient(90deg,transparent 0,transparent 54px,rgba(255,255,255,.07) 55px,transparent 56px),repeating-linear-gradient(0deg,transparent 0,transparent 54px,rgba(255,255,255,.07) 55px,transparent 56px); transform:rotate(-11deg); z-index:-1; }
.cv-evidence-preview__avatar { position:relative; width:112px; height:140px; display:block; transform:translateY(14px); opacity:.84; }
.cv-evidence-preview__avatar-head { position:absolute; width:55px; height:55px; top:4px; left:28px; border-radius:50%; background:#a4c3c6; box-shadow:0 0 0 7px rgba(255,255,255,.1); }
.cv-evidence-preview__avatar-body { position:absolute; width:110px; height:79px; bottom:0; left:1px; border-radius:55px 55px 0 0; background:#a4c3c6; }
.cv-evidence-preview__visual-index,.cv-evidence-preview__visual-tag { position:absolute; color:#d8edef; font-size:10px; letter-spacing:.1em; font-weight:700; }
.cv-evidence-preview__visual-index { top:18px; left:22px; }
.cv-evidence-preview__visual-tag { right:16px; bottom:16px; }
.cv-evidence-preview__person-content { padding:28px; display:flex; flex-direction:column; flex:1; }
.cv-evidence-preview__person-kicker { font-size:11px; letter-spacing:.12em; color:#3e8290; font-weight:700; text-transform:uppercase; margin:0 0 12px; }
.cv-evidence-preview__person-content h3 { font-size:clamp(24px,2.3vw,32px); font-family:Impact,"Arial Narrow",sans-serif; font-weight:400; text-transform:uppercase; margin:0 0 14px; }
.cv-evidence-preview__person-content > p:not(.cv-evidence-preview__person-kicker) { color:#536064; line-height:1.65; margin:0 0 30px; font-size:15px; }
.cv-evidence-preview__person-foot { margin-top:auto; padding-top:14px; border-top:1px solid #dde5e6; color:#577077; font-size:12px; line-height:1.5; }
@media (max-width:900px) { .cv-evidence-preview__heading { grid-template-columns:1fr; gap:15px; } .cv-evidence-preview__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cv-evidence-preview__grid > :last-child { grid-column:1/-1; } }
@media (max-width:600px) { .cv-evidence-preview { padding:58px 18px; } .cv-evidence-preview__grid { grid-template-columns:1fr; gap:14px; } .cv-evidence-preview__grid > :last-child { grid-column:auto; } .cv-evidence-preview__fact { min-height:0; padding:24px; } .cv-evidence-preview__fact-line { margin:24px 0 17px; } .cv-evidence-preview__disclosure { width:100%; } .cv-evidence-preview__person-visual { height:180px; } }
@media (prefers-reduced-motion: reduce) { .cv-evidence-preview__fact { transition:none; } .cv-evidence-preview__fact:hover { transform:none; } }

/* Explicit contrast against the site's global heading color. */
.wp-site-blocks .cv-evidence-preview--people .cv-evidence-preview__heading h2 {
  color: #ffffff !important;
}

/* Real stock photography for the visual demo; never used as verified employee data. */
.cv-evidence-preview--people .cv-evidence-preview__person-visual {
  height: 268px;
  background: #203941;
}
.cv-evidence-preview--people .cv-evidence-preview__person-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(9, 29, 35, .64), transparent 42%);
  transform: none;
  z-index: 1;
}
.cv-evidence-preview__person-photo {
  position: absolute;
  display: block;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  filter: saturate(.92);
}
.cv-evidence-preview__person-visual--01 .cv-evidence-preview__person-photo { object-position: center 20%; }
.cv-evidence-preview__person-visual--02 .cv-evidence-preview__person-photo { object-position: center 30%; }
.cv-evidence-preview__person-visual--03 .cv-evidence-preview__person-photo { object-position: center 18%; }
.cv-evidence-preview__visual-index,
.cv-evidence-preview__visual-tag {
  z-index: 2;
  color: #fff;
  text-shadow: 0 1px 5px rgba(0,0,0,.68);
}
@media (max-width: 600px) {
  .cv-evidence-preview--people .cv-evidence-preview__person-visual { height: 240px; }
}

/* Editorial archive: give articles a readable measure and a clear grid. */
.wp-site-blocks .cv-insights-archive {
  box-sizing: border-box;
  max-width: 1240px;
  width: calc(100% - 48px);
  margin-inline: auto;
  padding-block: clamp(64px, 7vw, 112px) clamp(80px, 8vw, 128px);
}
.cv-insights-archive > .cv-kicker {
  margin: 0 0 14px;
  color: #b85e3d;
}
.cv-insights-archive > h1 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.cv-insights-archive > h1 + p {
  max-width: 64ch;
  margin: 24px 0 0;
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.7;
}
.cv-insights-archive .cv-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 0;
  margin: clamp(36px, 5vw, 64px) 0 28px;
  padding: 0 0 24px;
  border-bottom: 1px solid #d9ddda;
}
.cv-insights-archive .cv-quick-links a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 18px;
  border: 1px solid #cad3d0;
  border-radius: 999px;
  color: #20302d;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.cv-insights-archive .cv-quick-links a:hover,
.cv-insights-archive .cv-quick-links a:focus-visible {
  background: #e2efed;
  border-color: #2e9dad;
}
.cv-insights-archive .wp-block-post-template.cv-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cv-insights-archive .wp-block-post-template.cv-grid-3 > li {
  grid-column: auto;
  min-width: 0;
  margin: 0;
}
.cv-insights-archive .cv-card {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: clamp(24px, 2.7vw, 36px);
  border: 1px solid #dce2df;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(22, 37, 34, .045);
}
.cv-insights-archive .construction-insight-demo-label {
  margin: 0 0 28px;
  color: #566763;
  font-size: .67rem;
  line-height: 1.5;
  letter-spacing: .09em;
}
.cv-insights-archive .wp-block-post-terms {
  margin: 0 0 12px;
  color: #287f8d;
  font-weight: 700;
}
.cv-insights-archive .wp-block-post-terms a { color: inherit; text-decoration: none; }
.cv-insights-archive .wp-block-post-title {
  margin: 0 0 20px;
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.18;
  overflow-wrap: anywhere;
}
.cv-insights-archive .wp-block-post-title a { color: #1d2926; text-decoration: none; }
.cv-insights-archive .wp-block-post-title a:hover { color: #247e8d; }
.cv-insights-archive .wp-block-post-excerpt { margin: 0 0 26px; line-height: 1.65; }
.cv-insights-archive .wp-block-post-excerpt__excerpt { margin: 0 0 20px; }
.cv-insights-archive .wp-block-post-excerpt__more-link { color: #176e7d; font-weight: 700; text-underline-offset: 4px; }
.cv-insights-archive .wp-block-post-date {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid #e5eae7;
  font-size: .8rem;
}
.cv-insights-archive .wp-block-query-pagination { margin-top: 40px; }
@media (max-width: 900px) {
  .cv-insights-archive .wp-block-post-template.cv-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .wp-site-blocks .cv-insights-archive { width: calc(100% - 36px); padding-block: 56px 80px; }
  .cv-insights-archive .wp-block-post-template.cv-grid-3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .cv-insights-archive .cv-card { padding: 26px; }
}

/* Image-led editorial treatment for the insights archive. */
.cv-insights-archive__hero {
  position: relative;
  height: clamp(280px, 32vw, 430px);
  margin: clamp(34px, 4vw, 54px) 0 0;
  overflow: hidden;
  background: #293633;
}
.cv-insights-archive__hero::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(14, 26, 25, .72));
  pointer-events: none;
}
.cv-insights-archive__hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}
.cv-insights-archive__hero figcaption {
  position: absolute;
  z-index: 1;
  bottom: clamp(20px, 3vw, 38px);
  left: clamp(20px, 4vw, 52px);
  max-width: 26ch;
  color: #fff;
  font-size: clamp(1.3rem, 2.3vw, 2rem);
  font-weight: 700;
  line-height: 1.25;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}
.cv-insights-archive .cv-card { overflow: hidden; }
.cv-insights-archive .cv-insights-archive__card-image {
  display: block;
  height: clamp(180px, 18vw, 238px);
  margin: calc(-1 * clamp(24px, 2.7vw, 36px)) calc(-1 * clamp(24px, 2.7vw, 36px)) 26px;
  overflow: hidden;
  background: #dfe7e5;
}
.cv-insights-archive__card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.cv-insights-archive__card-image:hover img,
.cv-insights-archive__card-image:focus-visible img { transform: scale(1.045); }
.cv-insights-archive .wp-block-post-template.cv-grid-3 > li:nth-child(3n+2) .cv-insights-archive__card-image img { object-position: 42% center; }
.cv-insights-archive .wp-block-post-template.cv-grid-3 > li:nth-child(3n+3) .cv-insights-archive__card-image img { object-position: 70% center; }
@media (max-width: 620px) {
  .cv-insights-archive__hero { height: 310px; }
  .cv-insights-archive__hero img { object-position: 64% center; }
  .cv-insights-archive__hero figcaption { right: 20px; }
  .cv-insights-archive .cv-insights-archive__card-image { height: 215px; margin: -26px -26px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .cv-insights-archive__card-image img { transition: none; }
  .cv-insights-archive__card-image:hover img,
  .cv-insights-archive__card-image:focus-visible img { transform: none; }
}
