:root {
	--er-color-primary: var(--wp--preset--color--navy);
	--er-color-primary-soft: var(--wp--preset--color--navy-soft);
	--er-color-accent: var(--wp--preset--color--orange);
	--er-color-accent-dark: var(--wp--preset--color--orange-dark);
	--er-color-action: var(--wp--preset--color--orange-dark);
	--er-color-action-hover: var(--wp--preset--color--orange-deep);
	--er-color-accent-soft: color-mix(in srgb, var(--wp--preset--color--orange) 12%, var(--wp--preset--color--white));
	--er-color-surface: var(--wp--preset--color--white);
	--er-color-background: var(--wp--preset--color--neutral);
	--er-color-text: var(--wp--preset--color--text);
	--er-color-muted: var(--wp--preset--color--muted);
	--er-color-border: var(--wp--preset--color--border);
	--er-color-contact: var(--wp--preset--color--contact-green);
	--er-content-width: var(--wp--style--global--content-size);
	--er-wide-width: var(--wp--style--global--wide-size);
	--er-header-height: var(--wp--custom--layout--header-height);
	--er-radius-small: var(--wp--custom--radius--small);
	--er-radius-medium: var(--wp--custom--radius--medium);
	--er-radius-pill: var(--wp--custom--radius--pill);
	--er-shadow-header: var(--wp--custom--shadow--header);
	--er-shadow-panel: var(--wp--custom--shadow--panel);
	--er-transition: var(--wp--custom--transition--base);
	--er-focus-width: 3px;
}

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

html {
	scroll-behavior: smooth;
	scroll-padding-bottom: calc(var(--wp--custom--layout--mobile-action-height) + env(safe-area-inset-bottom));
}

body {
	margin: 0;
	padding-bottom: calc(var(--wp--custom--layout--mobile-action-height) + env(safe-area-inset-bottom));
	background: var(--er-color-surface);
	color: var(--er-color-text);
	font-family: var(--wp--preset--font-family--system);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.65;
}

body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--er-color-accent); text-underline-offset: 0.15em; }
a:hover { text-decoration-thickness: 2px; }

:focus-visible {
	outline: var(--er-focus-width) solid var(--er-color-accent);
	outline-offset: 3px;
}

.alignwide,
.site-header__inner,
.site-footer__inner {
	width: min(calc(100% - 2rem), var(--er-wide-width));
	margin-inline: auto;
}

.alignfull { width: 100%; }

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	top: 0.75rem;
	left: 0.75rem;
	z-index: 10000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	margin: 0;
	clip: auto;
	background: var(--er-color-primary);
	color: var(--er-color-surface);
	font-weight: 700;
	text-decoration: none;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.7rem 1.1rem;
	border-radius: var(--er-radius-small);
	font-weight: 750;
	line-height: 1.15;
	text-decoration: none;
	transition: background-color var(--er-transition), color var(--er-transition), transform var(--er-transition);
}

.button--primary { background: var(--er-color-action); color: var(--er-color-surface); }
.button--primary:hover,
.button--primary:active { background: var(--er-color-action-hover); color: var(--er-color-surface); }
.button--secondary {
	color: var(--er-color-primary);
	background: transparent;
	border: 1px solid var(--er-color-primary);
}
.button--secondary:hover { color: var(--er-color-surface); background: var(--er-color-primary); }

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: var(--er-color-surface);
	border-bottom: 1px solid var(--er-color-border);
	transition: box-shadow var(--er-transition);
}

.site-header.is-scrolled { box-shadow: var(--er-shadow-header); }

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: var(--er-header-height);
}

.site-branding { min-width: 0; }
.site-logo { width: clamp(7.25rem, 32vw, 8rem); height: 3.75rem; }
.custom-logo-link { display: block; height: 100%; }
.custom-logo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
}

.site-title {
	display: inline-block;
	color: var(--er-color-primary);
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none;
}

.primary-menu,
.primary-menu .sub-menu,
.footer-menu,
.legal-menu { list-style: none; margin: 0; padding: 0; }

.desktop-navigation,
.header-cta { display: none; }

.menu-toggle {
	display: none;
	place-items: center;
	width: 2.875rem;
	height: 2.875rem;
	padding: 0;
	background: transparent;
	color: var(--er-color-primary);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-small);
	cursor: pointer;
}

.navigation-enabled .menu-toggle { display: inline-grid; }

.menu-toggle__icon { display: grid; gap: 5px; width: 1.35rem; }
.menu-toggle__icon span {
	display: block;
	height: 2px;
	background: currentcolor;
	border-radius: var(--er-radius-pill);
	transition: transform var(--er-transition), opacity var(--er-transition);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mobile-navigation { border-top: 1px solid var(--er-color-border); background: var(--er-color-surface); }
.mobile-navigation__panel { padding: 1rem; }
.mobile-primary-menu { display: grid; }
.mobile-primary-menu > li { border-bottom: 1px solid var(--er-color-border); }
.mobile-primary-menu a {
	display: block;
	padding: 0.85rem 0.25rem;
	color: var(--er-color-primary);
	font-weight: 700;
	text-decoration: none;
}
.mobile-primary-menu .current-menu-item > a,
.mobile-primary-menu .current_page_item > a {
	color: var(--er-color-accent-dark);
	box-shadow: inset 3px 0 0 var(--er-color-accent);
}
.mobile-primary-menu .sub-menu { padding-left: 1rem; }
.mobile-primary-menu .sub-menu a { color: var(--er-color-primary-soft); font-size: var(--wp--preset--font-size--small); }
.mobile-navigation__cta { width: 100%; margin-top: 1rem; }
.mobile-navigation__contacts { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; }
.mobile-navigation__contacts a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	min-height: 2.75rem;
	color: var(--er-color-primary);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-small);
	font-weight: 700;
	text-decoration: none;
}

.navigation-enabled .mobile-navigation {
	position: fixed;
	inset: var(--site-header-height, var(--er-header-height)) 0 0;
	visibility: hidden;
	background: color-mix(in srgb, var(--er-color-primary) 55%, transparent);
	opacity: 0;
	transition: opacity var(--er-transition), visibility var(--er-transition);
}
.navigation-enabled .mobile-navigation__panel {
	width: min(88vw, 26.25rem);
	height: 100%;
	margin-left: auto;
	overflow-y: auto;
	background: var(--er-color-surface);
	box-shadow: var(--er-shadow-panel);
	transform: translateX(100%);
	transition: transform var(--er-transition);
}
.navigation-enabled .mobile-navigation.is-open { visibility: visible; opacity: 1; }
.navigation-enabled .mobile-navigation.is-open .mobile-navigation__panel { transform: translateX(0); }

.icon { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentcolor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.mobile-action-bar {
	position: fixed;
	inset: auto 0 0;
	z-index: 900;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	min-height: var(--wp--custom--layout--mobile-action-height);
	padding-bottom: env(safe-area-inset-bottom);
	background: var(--er-color-surface);
	border-top: 1px solid var(--er-color-border);
	box-shadow: 0 -0.35rem 1.5rem rgb(11 34 57 / 10%);
	transition: transform var(--er-transition);
}
.mobile-action-bar__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.2rem;
	min-width: 0;
	padding: 0.45rem 0.25rem;
	color: var(--er-color-primary);
	font-size: 0.7rem;
	font-weight: 750;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
}
.mobile-action-bar__item + .mobile-action-bar__item { border-left: 1px solid var(--er-color-border); }
.mobile-action-bar__item--whatsapp { color: var(--er-color-contact); }
.mobile-action-bar__item--offer { color: var(--er-color-surface); background: var(--er-color-action); }
.mobile-action-bar__item--offer:hover,
.mobile-action-bar__item--offer:active { background: var(--er-color-action-hover); }
.menu-open .mobile-action-bar { transform: translateY(110%); }

.site-main { min-height: 60vh; }

.home-hero {
	padding-block: clamp(2.25rem, 7vw, 5.5rem);
	background: var(--er-color-surface);
}

.home-hero__inner {
	display: grid;
	gap: clamp(1.5rem, 6vw, 4.5rem);
	align-items: center;
}

.home-hero__content { max-width: 43rem; }

.home-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.home-hero__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 auto;
	background: var(--er-color-accent);
}

.home-hero__title {
	max-width: 18ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.9rem, 7vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.08;
	text-wrap: balance;
}

.home-hero__intro {
	max-width: 40rem;
	margin: 1.35rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
	line-height: 1.65;
}

.home-hero__actions {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.home-hero__actions .button {
	width: 100%;
	min-height: 3rem;
	padding-inline: 1.25rem;
}

.home-hero__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--er-color-background);
	border: 1px solid var(--er-color-border);
	border-radius: var(--wp--custom--radius--large);
	box-shadow: 0 1.25rem 3rem rgb(11 34 57 / 12%);
	aspect-ratio: 3 / 2;
}

.home-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 38%;
}

.home-hero__media--placeholder {
	display: grid;
	place-items: center;
	box-shadow: none;
}

.home-hero__placeholder-icon {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	color: var(--er-color-accent);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: 50%;
}

.home-hero__placeholder-icon .icon { width: 2rem; height: 2rem; }

.home-trust {
	padding-block: 1.25rem;
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.home-trust__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin-block: 0;
	padding: 0;
}

.home-trust__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
	min-height: 4.25rem;
	padding: 0.85rem clamp(0.6rem, 3vw, 1rem);
	font-size: clamp(0.8125rem, 0.76rem + 0.28vw, 0.9375rem);
	font-weight: 700;
	line-height: 1.3;
}

.home-trust__item:nth-child(odd) { border-right: 1px solid rgb(255 255 255 / 16%); }
.home-trust__item:nth-child(-n + 2) { border-bottom: 1px solid rgb(255 255 255 / 16%); }

.home-trust__icon {
	display: grid;
	place-items: center;
	width: 2.125rem;
	height: 2.125rem;
	flex: 0 0 2.125rem;
	color: var(--er-color-accent);
	background: rgb(255 255 255 / 8%);
	border-radius: var(--er-radius-small);
}

.home-trust__icon .icon { width: 1.15rem; height: 1.15rem; }

.home-services {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: var(--er-color-background);
}

.home-services__header {
	max-width: 49rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.home-services__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-services__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: var(--er-color-accent);
}

.home-services__title {
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h2);
	line-height: 1.15;
	text-wrap: balance;
}

.home-services__intro {
	max-width: 46rem;
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.home-services__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}

.home-service-area {
	min-width: 0;
	padding: clamp(1.25rem, 4vw, 1.75rem);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
	transition: border-color var(--er-transition), transform var(--er-transition);
}

.home-service-area:hover,
.home-service-area:focus-within {
	border-color: var(--er-color-primary-soft);
	transform: translateY(-2px);
}

.home-service-area__icon {
	display: inline-grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--er-color-accent);
	border-bottom: 2px solid var(--er-color-accent);
}

.home-service-area__icon .icon { width: 1.65rem; height: 1.65rem; }

.home-service-area__title {
	max-width: 25ch;
	margin: 1rem 0 0;
	color: var(--er-color-primary);
	font-size: clamp(1.25rem, 1.15rem + 0.45vw, 1.55rem);
	line-height: 1.25;
	text-wrap: balance;
}

.home-service-area__description {
	max-width: 50ch;
	margin: 0.7rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.6;
}

.home-service-area__links {
	margin: 1.15rem 0 0;
	padding: 0;
	border-top: 1px solid var(--er-color-border);
	list-style: none;
}

.home-service-area__links li + li { border-top: 1px solid var(--er-color-border); }

.home-service-area__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 2.875rem;
	padding-block: 0.65rem;
	color: var(--er-color-primary);
	font-weight: 750;
	line-height: 1.35;
	text-decoration: none;
	transition: color var(--er-transition);
}

.home-service-area__links a::after {
	content: '\2192';
	flex: 0 0 auto;
	color: var(--er-color-accent);
}

.home-service-area__links a:hover { color: var(--er-color-accent-dark); }

.home-services__all-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-top: 1.5rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.home-services__all-link::after {
	content: '\2192';
	margin-left: 0.45rem;
	color: var(--er-color-accent);
}

.home-services__all-link:hover { color: var(--er-color-accent-dark); }

.service-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1.15rem, 4vw, 1.5rem);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
	transition: border-color var(--er-transition), transform var(--er-transition);
}

.service-card:hover,
.service-card:focus-within {
	border-color: var(--er-color-primary-soft);
	transform: translateY(-2px);
}

.service-card__icon {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	color: var(--er-color-accent);
	border-bottom: 2px solid var(--er-color-accent);
}

.service-card__icon .icon { width: 1.55rem; height: 1.55rem; }

.service-card__title {
	margin: 1rem 0 0;
	color: var(--er-color-primary);
	font-size: clamp(1.2rem, 1.12rem + 0.4vw, 1.45rem);
	line-height: 1.25;
}

.service-card__description {
	margin: 0.65rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.975rem;
	line-height: 1.55;
}

.service-card__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 2.75rem;
	margin-top: auto;
	padding-top: 0.9rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
	transition: color var(--er-transition);
}

.service-card__link::after {
	content: '\2192';
	margin-left: 0.45rem;
	color: var(--er-color-accent);
}

.service-card__link:hover { color: var(--er-color-accent-dark); }

.home-pv-teaser {
	padding-block: clamp(3.75rem, 9vw, 7rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.home-pv-teaser__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: center;
}

.home-pv-teaser__content { max-width: 42rem; }

.home-pv-teaser__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-pv-teaser__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: currentcolor;
}

.home-pv-teaser__title {
	max-width: 16ch;
	margin: 0;
	color: var(--er-color-surface);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.12;
	text-wrap: balance;
}

.home-pv-teaser__intro {
	margin: 1.1rem 0 0;
	color: rgb(255 255 255 / 78%);
	line-height: 1.65;
}

.home-pv-teaser__features {
	display: grid;
	gap: 0.6rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.home-pv-teaser__features li {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	font-weight: 650;
}

.home-pv-teaser__check {
	display: grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	flex: 0 0 1.5rem;
	color: var(--er-color-primary);
	background: var(--er-color-accent);
	border-radius: 50%;
}

.home-pv-teaser__check .icon { width: 1rem; height: 1rem; stroke-width: 2.4; }

.home-pv-teaser__actions {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.home-pv-teaser__actions .button {
	width: 100%;
	min-height: 3rem;
}

.home-pv-teaser__secondary {
	color: var(--er-color-surface);
	background: transparent;
	border: 1px solid rgb(255 255 255 / 55%);
}

.home-pv-teaser__secondary:hover {
	color: var(--er-color-primary);
	background: var(--er-color-surface);
}

.pv-example {
	position: relative;
	margin: 0;
	padding: clamp(1.25rem, 4vw, 2rem);
	color: var(--er-color-text);
	background: var(--er-color-surface);
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: var(--wp--custom--radius--large);
	box-shadow: 0 1.25rem 3rem rgb(0 0 0 / 18%);
}

.pv-example__header {
	padding-bottom: 1.1rem;
	border-bottom: 1px solid var(--er-color-border);
}

.pv-example__label {
	margin: 0;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.pv-example__header p:last-child {
	margin: 0.45rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.8rem;
	line-height: 1.45;
}

.pv-example__metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.25rem 0 0;
}

.pv-example__metrics > div:last-child { grid-column: 1 / -1; }

.pv-example dt {
	color: var(--er-color-muted);
	font-size: 0.75rem;
	font-weight: 750;
	line-height: 1.35;
}

.pv-example__metrics dd {
	margin: 0.25rem 0 0;
	color: var(--er-color-primary);
	font-size: clamp(1.4rem, 1.18rem + 1.1vw, 2rem);
	font-weight: 800;
	line-height: 1.1;
}

.pv-example__metrics dd span {
	font-size: 0.75em;
	font-weight: 700;
}

.pv-example__summary {
	display: grid;
	gap: 0;
	margin: 1.25rem 0 0;
	border-top: 1px solid var(--er-color-border);
}

.pv-example__summary > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	padding-block: 0.85rem;
	border-bottom: 1px solid var(--er-color-border);
}

.pv-example__summary dd {
	margin: 0;
	max-width: 17rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-align: right;
}

.pv-example__summary dd small {
	display: block;
	margin-top: 0.2rem;
	color: var(--er-color-muted);
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.4;
}

.pv-example__note {
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.75rem;
	line-height: 1.5;
}

.home-projects,
.project-archive {
	padding-block: clamp(3.75rem, 8vw, 6.5rem);
	background: var(--er-color-surface);
}

.home-projects__header,
.project-archive__header {
	max-width: 49rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.home-projects__eyebrow,
.project-archive__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-projects__eyebrow::before,
.project-archive__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: var(--er-color-accent);
}

.home-projects__title,
.project-archive__header h1 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
	text-wrap: balance;
}

.project-archive__header h1 { font-size: var(--wp--preset--font-size--h-1); }

.home-projects__intro,
.project-archive__header > p:last-child {
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.project-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
}

.project-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
	transition: border-color var(--er-transition), transform var(--er-transition);
}

.project-card:hover,
.project-card:focus-within {
	border-color: var(--er-color-primary-soft);
	transform: translateY(-2px);
}

.project-card__media {
	display: grid;
	place-items: center;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--er-color-background);
}

.project-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--er-transition);
}

.project-card:hover .project-card__image,
.project-card:focus-within .project-card__image { transform: scale(1.025); }

.project-card__placeholder {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	color: var(--er-color-accent);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: 50%;
}

.project-card__placeholder .icon { width: 1.5rem; height: 1.5rem; }

.project-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.25rem;
}

.project-card__category {
	margin: 0 0 0.55rem;
	color: var(--er-color-accent-dark);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.project-card__title {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.25rem, 1.14rem + 0.55vw, 1.6rem);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.project-card__location {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0.65rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.875rem;
	font-weight: 650;
}

.project-card__location span { display: inline-flex; color: var(--er-color-accent); }
.project-card__location .icon { width: 1rem; height: 1rem; }

.project-card__summary {
	margin: 0.75rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.9375rem;
	line-height: 1.55;
}

.project-card__link {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 2.75rem;
	margin-top: auto;
	padding-top: 0.9rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.project-card__link::after {
	content: '\2192';
	margin-left: 0.45rem;
	color: var(--er-color-accent);
}

.project-card__link:hover { color: var(--er-color-accent-dark); }

.home-projects__archive-link { margin-top: clamp(1.75rem, 4vw, 2.5rem); }

.project-archive__inner > .navigation { margin-top: 2rem; }

.single-project { background: var(--er-color-surface); }

.single-project__hero {
	padding-block: clamp(3.25rem, 7vw, 6rem);
	background: var(--er-color-surface);
}

.single-project__hero-inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: center;
}

.single-project__intro { min-width: 0; }

.single-project__eyebrow {
	margin: 0 0 0.85rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.single-project__intro h1 {
	max-width: 20ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-1);
	line-height: 1.08;
	text-wrap: balance;
}

.single-project__lead {
	max-width: 44rem;
	margin: 1.15rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
	line-height: 1.65;
}

.single-project__media {
	margin: 0;
	overflow: hidden;
	background: var(--er-color-background);
	border-radius: var(--wp--custom--radius--large);
	aspect-ratio: 4 / 3;
}

.single-project__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-project__facts {
	margin-top: clamp(1.5rem, 4vw, 2rem);
	padding: 1.15rem;
	background: var(--er-color-background);
	border-left: 3px solid var(--er-color-accent);
	border-radius: 0 var(--er-radius-small) var(--er-radius-small) 0;
}

.single-project__facts h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: 1rem;
}

.single-project__facts dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
	gap: 0.9rem 1.25rem;
	margin: 1rem 0 0;
}

.single-project__facts dl > div {
	min-width: 0;
	padding-top: 0.75rem;
	border-top: 1px solid var(--er-color-border);
}

.single-project__facts dt {
	color: var(--er-color-accent-dark);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.single-project__facts dd {
	margin: 0.25rem 0 0;
	color: var(--er-color-primary);
	font-weight: 700;
	overflow-wrap: anywhere;
}

.single-project__facts ul { margin: 0; padding-left: 1.1rem; }

.single-project__body {
	max-width: 58rem;
	padding-bottom: clamp(3.5rem, 8vw, 6rem);
}

.single-project__section {
	display: grid;
	gap: 0.85rem;
	padding-block: clamp(1.5rem, 4vw, 2.25rem);
	border-top: 1px solid var(--er-color-border);
}

.single-project__section h2,
.single-project__gallery h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.4rem, 1.25rem + 0.7vw, 1.85rem);
	line-height: 1.25;
}

.single-project__content,
.single-project__section-content {
	min-width: 0;
	color: var(--er-color-text);
	line-height: 1.75;
}

.single-project__content > :first-child,
.single-project__section-content > :first-child { margin-top: 0; }

.single-project__content > :last-child,
.single-project__section-content > :last-child { margin-bottom: 0; }

.single-project__gallery {
	padding-bottom: clamp(3.5rem, 8vw, 6rem);
}

.single-project__gallery-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin-top: 1.5rem;
}

.single-project__gallery figure {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--er-color-background);
	border-radius: var(--er-radius-medium);
}

.single-project__gallery img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project-contact {
	padding-block: clamp(3rem, 7vw, 5rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.project-contact__inner {
	display: grid;
	gap: 1.5rem;
	align-items: center;
}

.project-contact p {
	margin: 0 0 0.5rem;
	color: var(--er-color-accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.project-contact h2 {
	margin: 0;
	color: var(--er-color-surface);
	font-size: var(--wp--preset--font-size--h-2);
}

.project-contact .button { justify-self: start; }

.home-reviews {
	padding-block: clamp(3.75rem, 8vw, 6.5rem);
	background: var(--er-color-background);
}

.home-reviews__header {
	max-width: 49rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.home-reviews__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-reviews__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: var(--er-color-accent);
}

.home-reviews__header h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
	text-wrap: balance;
}

.home-reviews__header > p:last-child {
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.home-reviews__layout {
	display: grid;
	gap: 1.25rem;
}

.review-summary {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.5rem, 5vw, 2.25rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
	border-radius: var(--er-radius-medium);
}

.review-summary__source {
	margin: 0;
	color: var(--er-color-accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.review-summary__rating {
	margin: 0.45rem 0 0;
	font-size: clamp(2.75rem, 12vw, 4.5rem);
	font-weight: 850;
	letter-spacing: -0.04em;
	line-height: 1;
}

.review-summary__rating span {
	font-size: 0.4em;
	font-weight: 700;
	letter-spacing: 0;
}

.review-stars {
	display: flex;
	gap: 0.25rem;
	margin-top: 1rem;
	color: var(--er-color-accent);
}

.review-stars .icon {
	width: 1.35rem;
	height: 1.35rem;
	fill: currentcolor;
	stroke-width: 1.25;
}

.review-stars--small {
	flex: 0 0 auto;
	margin-top: 0;
}

.review-stars--small .icon { width: 1rem; height: 1rem; }

.review-summary__count {
	display: grid;
	margin: 1.15rem 0 0;
}

.review-summary__count strong { font-size: 1.125rem; }
.review-summary__count span { color: rgb(255 255 255 / 74%); }

.review-summary__link {
	width: 100%;
	margin-top: 1.5rem;
	text-align: center;
}

.review-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
}

.review-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 1.35rem;
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
}

.review-card__header {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 0.85rem;
	align-items: center;
	justify-content: space-between;
}

.review-card__header time {
	color: var(--er-color-muted);
	font-size: 0.8125rem;
}

.review-card blockquote {
	margin: 1.1rem 0 1.5rem;
	padding-top: 1rem;
	border-top: 2px solid var(--er-color-accent);
}

.review-card blockquote p {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem);
	font-weight: 700;
	line-height: 1.45;
}

.review-card__footer {
	display: grid;
	gap: 0.2rem;
	margin-top: auto;
}

.review-card__footer cite {
	color: var(--er-color-text);
	font-style: normal;
	font-weight: 750;
}

.review-card__footer span {
	color: var(--er-color-muted);
	font-size: 0.875rem;
	line-height: 1.4;
}

.home-process {
	padding-block: clamp(3.75rem, 8vw, 6.5rem);
	background: var(--er-color-surface);
}

.home-process__header {
	max-width: 48rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.home-process__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-process__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: var(--er-color-accent);
}

.home-process__header h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
	text-wrap: balance;
}

.home-process__header > p:last-child {
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.home-process__steps {
	display: grid;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-process__step {
	position: relative;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1rem;
	min-width: 0;
}

.home-process__step:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 3.15rem;
	bottom: -1.1rem;
	left: 1.47rem;
	width: 1px;
	background: var(--er-color-border);
}

.home-process__number {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	color: var(--er-color-accent-dark);
	background: var(--er-color-surface);
	border: 2px solid var(--er-color-accent);
	border-radius: var(--er-radius-pill);
	font-size: 0.9375rem;
	font-weight: 850;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.04em;
	line-height: 1;
}

.home-process__content {
	padding: 0.15rem 0 0.75rem;
}

.home-process__content h3 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.15rem, 1.08rem + 0.35vw, 1.35rem);
	line-height: 1.3;
}

.home-process__content p {
	margin: 0.55rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.975rem;
	line-height: 1.6;
}

.home-faq {
	padding-block: clamp(3.75rem, 8vw, 6.5rem);
	background: var(--er-color-background);
}

.home-faq__header {
	max-width: 48rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.home-faq__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-faq__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: var(--er-color-accent);
}

.home-faq__header h2 {
	max-width: 20ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
	text-wrap: balance;
}

.home-faq__header > p:last-child {
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.home-faq__list {
	width: 100%;
	max-width: 52rem;
}

.faq-item {
	border-top: 1px solid var(--er-color-border);
}

.faq-item:last-child {
	border-bottom: 1px solid var(--er-color-border);
}

.faq-item summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1.5rem;
	gap: 1rem;
	align-items: center;
	min-height: 4rem;
	padding-block: 1rem;
	color: var(--er-color-primary);
	cursor: pointer;
	font-size: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
	font-weight: 750;
	line-height: 1.4;
	list-style: none;
}

.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { color: var(--er-color-accent-dark); }

.faq-item__indicator {
	position: relative;
	display: block;
	width: 1.5rem;
	height: 1.5rem;
	color: var(--er-color-accent-dark);
}

.faq-item__indicator::before,
.faq-item__indicator::after {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	left: 0.25rem;
	width: 1rem;
	height: 2px;
	background: currentcolor;
	border-radius: var(--er-radius-pill);
}

.faq-item__indicator::after {
	transform: rotate(90deg);
	transition: transform var(--er-transition);
}

.faq-item[open] .faq-item__indicator::after { transform: rotate(90deg) scaleX(0); }

.faq-item__answer {
	max-width: 47rem;
	padding: 0 2.5rem 1.35rem 0;
}

.faq-item__answer p {
	margin: 0;
	color: var(--er-color-muted);
	font-size: 0.975rem;
	line-height: 1.65;
}

.home-contact {
	padding-block: clamp(3.75rem, 8vw, 6.5rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.home-contact__inner {
	display: grid;
	gap: clamp(2.25rem, 6vw, 4.5rem);
	align-items: center;
}

.home-contact__header { max-width: 43rem; }

.home-contact__eyebrow {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 0.8rem;
	color: var(--er-color-accent);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.home-contact__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 2rem;
	background: currentcolor;
}

.home-hero__eyebrow,
.home-services__eyebrow,
.home-pv-teaser__eyebrow,
.home-projects__eyebrow,
.home-reviews__eyebrow,
.home-process__eyebrow,
.home-faq__eyebrow,
.home-contact__eyebrow {
	display: block;
	margin-bottom: 0.95rem;
	font-size: clamp(0.8125rem, 0.76rem + 0.25vw, 1rem);
	line-height: 1.45;
}

.home-hero__eyebrow::before,
.home-services__eyebrow::before,
.home-pv-teaser__eyebrow::before,
.home-projects__eyebrow::before,
.home-reviews__eyebrow::before,
.home-process__eyebrow::before,
.home-faq__eyebrow::before,
.home-contact__eyebrow::before {
	content: none;
}

.home-contact__header h2 {
	max-width: 18ch;
	margin: 0;
	color: var(--er-color-surface);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
	text-wrap: balance;
}

.home-contact__intro {
	margin: 1rem 0 0;
	color: rgb(255 255 255 / 82%);
	line-height: 1.65;
}

.home-contact__reassurance {
	max-width: 39rem;
	margin: 1.25rem 0 0;
	padding-left: 1rem;
	color: rgb(255 255 255 / 76%);
	border-left: 2px solid var(--er-color-accent);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.home-contact__actions {
	display: grid;
	gap: 0.875rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-contact__action {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 1rem;
	min-height: 7.25rem;
	padding: 1.1rem;
	color: var(--er-color-primary);
	background: var(--er-color-surface);
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: var(--er-radius-medium);
	text-decoration: none;
	transition: border-color var(--er-transition), background-color var(--er-transition), color var(--er-transition);
}

.home-contact__action:hover {
	color: var(--er-color-primary);
	border-color: var(--er-color-accent);
}

.home-contact__icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--er-color-accent-dark);
	background: var(--er-color-background);
	border-radius: var(--er-radius-small);
}

.home-contact__icon .icon {
	width: 1.4rem;
	height: 1.4rem;
}

.home-contact__action-content {
	display: grid;
	gap: 0.25rem;
	min-width: 0;
}

.home-contact__action-content strong {
	font-size: 1.125rem;
	line-height: 1.3;
}

.home-contact__action-content > span:not(.home-contact__action-label) {
	color: var(--er-color-muted);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.home-contact__action-label {
	align-self: end;
	margin-top: 0.35rem;
	color: var(--er-color-primary);
	font-weight: 800;
	line-height: 1.35;
	text-decoration: underline;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.home-contact__action--offer {
	color: var(--er-color-primary);
	background: var(--er-color-accent);
	border-color: var(--er-color-accent);
}

.home-contact__action--offer:hover {
	color: var(--er-color-surface);
	background: var(--er-color-accent-dark);
	border-color: var(--er-color-accent-dark);
}

.home-contact__action--offer .home-contact__icon {
	color: var(--er-color-primary);
	background: rgb(255 255 255 / 32%);
}

.home-contact__action--offer .home-contact__action-content > span:not(.home-contact__action-label) {
	color: var(--er-color-primary);
}

.home-contact__action--offer .home-contact__action-label {
	color: var(--er-color-primary);
	text-decoration-color: currentcolor;
}

.home-contact__action--offer:hover .home-contact__icon,
.home-contact__action--offer:hover .home-contact__action-content > span {
	color: var(--er-color-surface);
}

.services-page-hero {
	padding-block: clamp(3.5rem, 9vw, 7rem);
	background: var(--er-color-surface);
}

.services-page-hero__inner {
	max-width: 62rem;
	margin-inline: auto;
	padding-left: clamp(1rem, 3vw, 2rem);
	border-left: 3px solid var(--er-color-accent);
}

.services-page-hero__eyebrow,
.services-contact__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.services-page-hero__title {
	max-width: 18ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-1);
	line-height: 1.08;
	text-wrap: balance;
}

.services-page-hero__intro {
	max-width: 48rem;
	margin: 1.25rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
	line-height: 1.7;
}

.services-overview {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: var(--er-color-background);
}

.services-overview__header {
	max-width: 44rem;
	margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.services-overview__header p {
	margin: 0;
	color: var(--er-color-muted);
}

.services-overview__groups {
	display: grid;
	gap: clamp(3.25rem, 7vw, 5.5rem);
}

.services-group__header {
	margin-bottom: 1.25rem;
	padding-left: 1rem;
	border-left: 3px solid var(--er-color-accent);
}

.services-group__header h2 {
	max-width: 28ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.5rem, 1.3rem + 0.9vw, 2.15rem);
	line-height: 1.18;
	text-wrap: balance;
}

.services-overview__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.services-overview__item { border-top: 1px solid var(--er-color-border); }

.service-overview {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1rem;
	padding-block: clamp(1.5rem, 5vw, 2.25rem);
}

.service-overview__marker {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	width: 2.75rem;
}

.service-overview__number {
	color: var(--er-color-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.service-overview__icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--er-color-accent);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-small);
}

.service-overview__icon .icon { width: 1.5rem; height: 1.5rem; }

.service-overview__content h3 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.25rem, 1.12rem + 0.65vw, 1.7rem);
	line-height: 1.25;
}

.service-overview__content p {
	margin: 0.75rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.975rem;
	line-height: 1.65;
}

.service-overview__link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-top: 0.65rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.service-overview__link::after {
	content: '\2192';
	margin-left: 0.45rem;
	color: var(--er-color-accent);
}

.service-overview__link:hover { color: var(--er-color-accent-dark); }

.services-contact {
	padding-block: clamp(3rem, 7vw, 5rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.services-contact__inner {
	display: grid;
	gap: 1.5rem;
	align-items: center;
}

.services-contact__eyebrow { color: var(--er-color-accent); }

.services-contact h2 {
	max-width: 24ch;
	margin: 0;
	color: var(--er-color-surface);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
}

.services-contact p:not(.services-contact__eyebrow) {
	max-width: 42rem;
	margin: 1rem 0 0;
	color: rgb(255 255 255 / 78%);
}

.services-contact__actions {
	display: grid;
	gap: 0.75rem;
}

.services-contact .button {
	width: 100%;
	min-height: 3rem;
}

.services-contact .button--secondary {
	color: var(--er-color-surface);
	border-color: rgb(255 255 255 / 62%);
}

.services-contact .button--secondary:hover {
	color: var(--er-color-primary);
	background: var(--er-color-surface);
}

.services-contact--with-inquiry .services-contact__inner {
	gap: clamp(2rem, 6vw, 4rem);
	align-items: start;
}

#service-inquiry {
	scroll-margin-top: calc(var(--site-header-height, var(--er-header-height)) + 1.25rem);
}

.admin-bar #service-inquiry {
	scroll-margin-top: calc(var(--site-header-height, var(--er-header-height)) + 46px + 1.25rem);
}

.services-contact__direct { min-width: 0; }

.services-contact--with-inquiry .services-contact__actions {
	margin-top: 1.5rem;
}

.services-contact__form {
	width: 100%;
	max-width: 42rem;
	min-width: 0;
}

.er-inquiry {
	position: relative;
	padding: clamp(1.15rem, 4vw, 1.75rem);
	color: var(--er-color-text);
	background: var(--er-color-surface);
	border: 1px solid rgb(255 255 255 / 28%);
	border-radius: var(--wp--custom--radius--large);
}

.services-contact .er-inquiry__title {
	max-width: none;
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.25rem, 1.12rem + 0.55vw, 1.6rem);
	line-height: 1.25;
}

.services-contact .er-inquiry__service {
	display: flex;
	gap: 0.25rem 0.55rem;
	flex-wrap: wrap;
	max-width: none;
	margin: 0.75rem 0 1.1rem;
	color: var(--er-color-primary);
	font-size: 0.9rem;
	font-weight: 700;
}

.er-inquiry__service span {
	color: var(--er-color-accent-dark);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.er-inquiry__form {
	display: grid;
	gap: 0.95rem;
}

.er-inquiry__field {
	display: grid;
	gap: 0.4rem;
}

.er-inquiry__field label {
	color: var(--er-color-primary);
	font-size: 0.875rem;
	font-weight: 750;
}

.er-inquiry__field label span {
	color: var(--er-color-muted);
	font-weight: 500;
}

.er-inquiry__field input,
.er-inquiry__field textarea {
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 0.85rem;
	color: var(--er-color-text);
	font: inherit;
	line-height: 1.4;
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--wp--custom--radius--small);
}

.er-inquiry__field textarea {
	min-height: 6.75rem;
	resize: vertical;
}

.er-inquiry__field input:hover,
.er-inquiry__field textarea:hover { border-color: var(--er-color-muted); }

.er-inquiry__field input:focus-visible,
.er-inquiry__field textarea:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--er-color-accent) 32%, transparent);
	outline-offset: 1px;
	border-color: var(--er-color-accent-dark);
}

.er-inquiry__field [aria-invalid="true"] { border-color: var(--er-color-accent-dark); }

.er-inquiry__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.services-contact .er-inquiry__privacy {
	max-width: none;
	margin: 0;
	color: var(--er-color-muted);
	font-size: 0.78rem;
	line-height: 1.55;
}

.er-inquiry__privacy a {
	color: var(--er-color-primary);
	font-weight: 700;
}

.er-inquiry__privacy a:hover { color: var(--er-color-accent-dark); }

.er-inquiry__submit { margin-top: 0.15rem; }

.services-contact .er-inquiry__status {
	max-width: none;
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	color: var(--er-color-primary);
	background: var(--er-color-background);
	border-left: 4px solid var(--er-color-accent);
	border-radius: var(--wp--custom--radius--small);
}

.er-inquiry__status strong { display: block; }

.services-contact .er-inquiry__status p {
	max-width: none;
	margin: 0.3rem 0 0;
	color: var(--er-color-muted);
}

.er-inquiry__status ul {
	display: grid;
	gap: 0.3rem;
	margin: 0.5rem 0 0;
	padding-left: 1.15rem;
	color: var(--er-color-muted);
	font-size: 0.875rem;
}

.er-inquiry__fallback-actions {
	display: flex;
	gap: 0.75rem 1rem;
	flex-wrap: wrap;
	margin-top: 1rem;
}

.er-inquiry__fallback-actions a {
	color: var(--er-color-primary);
	font-weight: 750;
}

.er-inquiry__fallback-actions a:hover { color: var(--er-color-accent-dark); }

.service-landing-hero {
	padding-block: clamp(3rem, 8vw, 6rem);
	background: var(--er-color-surface);
}

.service-landing-hero__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: center;
}

.service-landing-hero__content { min-width: 0; }

.service-landing-hero__eyebrow,
.service-related__eyebrow {
	display: flex;
	gap: 0.65rem;
	align-items: center;
	margin: 0 0 0.9rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-landing-hero__eyebrow::before,
.service-related__eyebrow::before {
	content: '';
	width: 2rem;
	height: 2px;
	flex: 0 0 auto;
	background: var(--er-color-accent);
}

.service-landing-hero h1 {
	max-width: 18ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.9rem, 7vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.08;
	text-wrap: balance;
}

.service-landing-hero__intro {
	max-width: 43rem;
	margin: 1.25rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
	line-height: 1.7;
}

.service-landing-hero__actions {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.service-landing-hero__actions .button {
	width: 100%;
	min-height: 3rem;
}

.service-landing-hero__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: var(--er-color-background);
	border: 1px solid var(--er-color-border);
	border-radius: var(--wp--custom--radius--large);
	aspect-ratio: 4 / 3;
}

.service-landing-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service-landing-hero__inner--without-image { max-width: 70rem; }

.service-landing-hero__inner--without-image .service-landing-hero__content { max-width: 52rem; }

.service-trust {
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.service-trust__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block: 0;
	padding: 0;
	list-style: none;
}

.service-trust__list li {
	display: flex;
	gap: 0.65rem;
	align-items: center;
	min-width: 0;
	padding: 1rem 0.75rem;
	font-size: clamp(0.78rem, 0.73rem + 0.2vw, 0.9rem);
	font-weight: 700;
	line-height: 1.35;
}

.service-trust__list li:nth-child(-n + 2) { border-bottom: 1px solid rgb(255 255 255 / 16%); }

.service-trust__list span {
	display: grid;
	place-items: center;
	width: 1.7rem;
	height: 1.7rem;
	flex: 0 0 auto;
	color: var(--er-color-accent);
}

.service-trust__list .icon {
	width: 1.2rem;
	height: 1.2rem;
}

.service-landing-body {
	padding-block: clamp(3.5rem, 8vw, 6.5rem);
	background: var(--er-color-surface);
}

.service-landing__content {
	max-width: 54rem;
	margin-inline: auto;
}

.service-content-section + .service-content-section {
	margin-top: clamp(3rem, 7vw, 5rem);
	padding-top: clamp(3rem, 7vw, 5rem);
	border-top: 1px solid var(--er-color-border);
}

.service-content-section h2 {
	max-width: 28ch;
	margin: 0 0 1rem;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.18;
	text-wrap: balance;
}

.service-content-section p {
	margin-block: 0.85rem;
	color: var(--er-color-muted);
	line-height: 1.72;
}

.service-content-section ul,
.service-content-section ol {
	display: grid;
	gap: 0.7rem;
	margin: 1.25rem 0 0;
	padding-left: 1.35rem;
}

.service-content-section li {
	padding-left: 0.25rem;
	line-height: 1.6;
}

.service-content-section li::marker {
	color: var(--er-color-accent-dark);
	font-weight: 800;
}

.service-content-section--process ol { counter-reset: service-process; }

.service-content-section--process li { padding-left: 0.4rem; }

.service-content-section--faq .wp-block-details {
	margin: 0;
	border-top: 1px solid var(--er-color-border);
}

.service-content-section--faq .wp-block-details:last-child { border-bottom: 1px solid var(--er-color-border); }

.service-content-section--faq summary {
	min-height: 3.75rem;
	padding: 1rem 2rem 1rem 0;
	color: var(--er-color-primary);
	font-weight: 750;
	line-height: 1.45;
	cursor: pointer;
}

.service-content-section--faq .wp-block-details > p {
	margin: 0;
	padding: 0 0 1.25rem;
}

.service-related {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: var(--er-color-background);
}

.service-related__header {
	max-width: 44rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.service-related__header h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
}

.service-related__header > p:last-child {
	margin: 0.9rem 0 0;
	color: var(--er-color-muted);
}

.contact-page-hero {
	padding-block: clamp(2.875rem, 7.4vw, 5.75rem);
	background: var(--er-color-surface);
}

.contact-page-hero__inner {
	max-width: 62rem;
	margin-inline: auto;
}

.contact-page-hero__eyebrow,
.contact-inquiry__eyebrow,
.contact-business__eyebrow {
	margin: 0 0 0.75rem;
	color: var(--er-color-accent-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contact-page-hero h1 {
	max-width: 20ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-1);
	line-height: 1.08;
	text-wrap: balance;
}

.contact-page-hero__intro {
	max-width: 50rem;
	margin: 1.25rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1rem, 0.94rem + 0.3vw, 1.125rem);
	line-height: 1.7;
}

.contact-options {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: var(--er-color-background);
}

.contact-options__header {
	max-width: 43rem;
	margin-bottom: clamp(2rem, 5vw, 3rem);
}

.contact-options__header h2,
.contact-inquiry h2,
.contact-business h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
}

.contact-options__header p {
	margin: 0.85rem 0 0;
	color: var(--er-color-muted);
}

.contact-options__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-option {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 1rem;
	height: 100%;
	padding: clamp(1.25rem, 4vw, 1.75rem);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
	transition: border-color 180ms ease, transform 180ms ease;
}

.contact-option:hover {
	border-color: var(--er-color-accent);
	transform: translateY(-2px);
}

.contact-option__icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--er-color-accent-dark);
	background: var(--er-color-accent-soft);
	border-radius: var(--er-radius-small);
}

.contact-option__icon .icon {
	width: 1.45rem;
	height: 1.45rem;
}

.contact-option__content { min-width: 0; }

.contact-option__content h3 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: 1.2rem;
}

.contact-option__content p {
	margin: 0.65rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.95rem;
	line-height: 1.6;
}

.contact-option__content a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	max-width: 100%;
	margin-top: 0.65rem;
	color: var(--er-color-primary);
	font-weight: 750;
	overflow-wrap: anywhere;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.contact-option__content a:hover { color: var(--er-color-accent-dark); }

.contact-inquiry {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.contact-inquiry__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4rem);
	align-items: start;
}

.contact-inquiry__eyebrow { color: var(--er-color-accent); }

.contact-inquiry h2 {
	max-width: 26ch;
	color: var(--er-color-surface);
}

.contact-inquiry__content > p:not(.contact-inquiry__eyebrow) {
	max-width: 45rem;
	margin: 1rem 0 0;
	color: rgb(255 255 255 / 78%);
}

.contact-inquiry__alternatives {
	margin-top: -0.25rem;
}

.contact-inquiry__alternatives > p {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 700;
}

.contact-inquiry__alternatives ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin: 0.55rem 0 0;
	padding: 0;
	list-style: none;
}

.contact-inquiry__alternatives a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	color: var(--er-color-surface);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.contact-inquiry__alternatives a:hover { color: var(--er-color-accent); }

.contact-inquiry__form {
	width: 100%;
	max-width: 38rem;
	min-width: 0;
}

.contact-inquiry .er-inquiry__title {
	max-width: none;
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.25rem, 1.12rem + 0.55vw, 1.6rem);
	line-height: 1.25;
}

.contact-inquiry .er-inquiry__service {
	display: flex;
	gap: 0.25rem 0.55rem;
	flex-wrap: wrap;
	max-width: none;
	margin: 0.75rem 0 1.1rem;
	color: var(--er-color-primary);
	font-size: 0.9rem;
	font-weight: 700;
}

.contact-inquiry .er-inquiry__privacy {
	max-width: none;
	margin: 0;
	color: var(--er-color-muted);
	font-size: 0.78rem;
	line-height: 1.55;
}

.contact-inquiry .er-inquiry__status {
	max-width: none;
	margin: 1rem 0 0;
	padding: 0.85rem 1rem;
	color: var(--er-color-primary);
	background: var(--er-color-background);
	border-left: 4px solid var(--er-color-accent);
	border-radius: var(--wp--custom--radius--small);
}

.contact-inquiry .er-inquiry__status p {
	max-width: none;
	margin: 0.3rem 0 0;
	color: var(--er-color-muted);
}

.contact-business {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: var(--er-color-surface);
}

.contact-business__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4rem);
	align-items: start;
}

.contact-business__details address {
	display: grid;
	gap: 0.2rem;
	margin-top: 1.25rem;
	color: var(--er-color-muted);
	font-style: normal;
}

.contact-business__links {
	display: grid;
	gap: 0.35rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.contact-business__links a {
	color: var(--er-color-primary);
	font-weight: 700;
	overflow-wrap: anywhere;
}

.contact-business__area {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	font-weight: 700;
}

.contact-business__area .icon {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--er-color-accent-dark);
}

.contact-business__trust {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 1rem;
	padding: clamp(1.5rem, 5vw, 2.25rem);
	background: var(--er-color-background);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
}

.contact-business__trust-icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	color: var(--er-color-accent-dark);
	background: var(--er-color-accent-soft);
	border-radius: 50%;
}

.contact-business__trust-icon .icon {
	width: 1.4rem;
	height: 1.4rem;
}

.contact-business__trust h2 { font-size: clamp(1.35rem, 1.2rem + 0.7vw, 1.75rem); }

.contact-business__trust p {
	margin: 0.75rem 0 0;
	color: var(--er-color-muted);
}

.contact-business__trust a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-top: 0.75rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.contact-business__trust a:hover { color: var(--er-color-accent-dark); }

/* About page */
.about-hero {
	padding-block: clamp(3.5rem, 8vw, 6.5rem);
	background: var(--er-color-background);
}

.about-hero__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: center;
}

.about-hero__inner--without-image {
	grid-template-columns: minmax(0, 1fr);
}

.about-hero__content {
	min-width: 0;
	max-width: 48rem;
}

.about-eyebrow {
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.about-hero h1 {
	max-width: 19ch;
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(2.15rem, 1.65rem + 2.3vw, 4.25rem);
	letter-spacing: -0.035em;
	line-height: 1.04;
	text-wrap: balance;
}

.about-hero__intro {
	max-width: 44rem;
	margin: 1.4rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1.02rem, 0.96rem + 0.3vw, 1.2rem);
	line-height: 1.7;
}

.about-hero__media {
	width: 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	background: var(--er-color-background);
	border-radius: var(--er-radius-medium);
	box-shadow: var(--er-shadow-panel);
}

.about-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-trust {
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.about-trust__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.about-trust__list li {
	display: grid;
	align-content: center;
	min-width: 0;
	min-height: 5.5rem;
	padding: 1rem clamp(0.7rem, 3vw, 1.25rem);
	overflow-wrap: anywhere;
}

.about-trust__list li:nth-child(odd) {
	border-right: 1px solid rgb(255 255 255 / 16%);
}

.about-trust__list li:nth-child(-n + 2) {
	border-bottom: 1px solid rgb(255 255 255 / 16%);
}

.about-trust__list strong {
	color: var(--er-color-surface);
	font-size: clamp(0.93rem, 0.88rem + 0.2vw, 1.05rem);
	line-height: 1.3;
}

.about-trust__list span {
	margin-top: 0.25rem;
	color: rgb(255 255 255 / 68%);
	font-size: clamp(0.75rem, 0.72rem + 0.15vw, 0.85rem);
	line-height: 1.4;
}

.about-section {
	padding-block: clamp(3.75rem, 8vw, 6.5rem);
}

.about-section__inner {
	display: grid;
	gap: clamp(1.5rem, 5vw, 4rem);
}

.about-section__header {
	max-width: 52rem;
	margin-bottom: clamp(1.75rem, 4vw, 3rem);
}

.about-section h2,
.about-cta h2 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.85rem, 1.55rem + 1.4vw, 3rem);
	letter-spacing: -0.025em;
	line-height: 1.12;
	text-wrap: balance;
}

.about-prose {
	max-width: 48rem;
	color: var(--er-color-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.about-prose p {
	margin: 0;
}

.about-prose p + p {
	margin-top: 1rem;
}

.about-experience,
.about-projects,
.about-area {
	background: var(--er-color-background);
}

.about-experience__grid {
	display: grid;
	gap: 1rem;
}

.about-experience__card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1.35rem, 4vw, 2rem);
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-top: 3px solid var(--er-color-accent);
	border-radius: var(--er-radius-medium);
}

.about-experience__card h3 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: clamp(1.15rem, 1.05rem + 0.35vw, 1.35rem);
	line-height: 1.3;
}

.about-experience__card p {
	margin: 0.75rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.about-experience__card a {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 2.75rem;
	margin-top: auto;
	padding-top: 0.75rem;
	color: var(--er-color-primary);
	font-weight: 750;
	text-decoration-color: var(--er-color-accent);
	text-decoration-thickness: 2px;
}

.about-experience__card a:hover {
	color: var(--er-color-accent-dark);
}

.about-process__list {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.about-process__list li {
	min-width: 0;
	padding: 1.35rem 0 0;
	border-top: 1px solid var(--er-color-border);
}

.about-process__number {
	display: block;
	margin-bottom: 0.75rem;
	color: var(--er-color-accent-dark);
	font-size: 1.65rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
}

.about-process__list h3 {
	margin: 0;
	color: var(--er-color-primary);
	font-size: 1.1rem;
	line-height: 1.35;
}

.about-process__list p {
	margin: 0.55rem 0 0;
	color: var(--er-color-muted);
	font-size: 0.94rem;
	line-height: 1.6;
}

.about-quality {
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.about-quality__inner {
	display: grid;
	gap: clamp(1.5rem, 5vw, 4rem);
}

.about-quality h2,
.about-quality .about-prose {
	color: var(--er-color-surface);
}

.about-quality .about-prose {
	color: rgb(255 255 255 / 76%);
}

.about-quality .about-eyebrow,
.about-cta .about-eyebrow {
	color: var(--er-color-accent);
}

.about-projects .project-grid {
	margin-top: 0;
}

.about-projects__link {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.about-reviews__inner {
	display: grid;
	gap: 1.5rem clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.about-reviews__inner > div > p:last-child,
.about-area__inner > p:last-child,
.about-cta__inner > div > p:last-child {
	max-width: 45rem;
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	line-height: 1.7;
}

.about-reviews .button {
	width: 100%;
	max-width: 30rem;
	text-align: center;
}

.about-area__inner {
	max-width: 52rem;
	text-align: center;
}

.about-area__inner .about-eyebrow,
.about-area__inner > p:last-child {
	margin-inline: auto;
}

.about-cta {
	padding-block: clamp(3.75rem, 8vw, 6rem);
	color: var(--er-color-surface);
	background: var(--er-color-primary);
}

.about-cta__inner {
	display: grid;
	gap: 2rem clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.about-cta h2 {
	color: var(--er-color-surface);
}

.about-cta__inner > div > p:last-child {
	color: rgb(255 255 255 / 76%);
}

.about-cta__actions {
	display: grid;
	gap: 0.75rem;
}

.about-cta__actions .button {
	width: 100%;
}

.about-cta .button--secondary {
	color: var(--er-color-surface);
	border-color: rgb(255 255 255 / 55%);
}

.about-cta .button--secondary:hover {
	color: var(--er-color-primary);
	background: var(--er-color-surface);
}

@media (min-width: 48rem) {
	.about-experience__grid,
	.about-process__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.about-experience__card {
		height: 100%;
	}

	.about-reviews__inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.about-reviews .button {
		width: auto;
	}

	.about-cta__actions {
		display: flex;
		flex-wrap: wrap;
	}

	.about-cta__actions .button {
		width: auto;
	}
}

@media (min-width: 56rem) {
	.about-hero__inner:not(.about-hero__inner--without-image) {
		grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
	}

	.about-hero__inner--without-image .about-hero__content {
		max-width: 62rem;
	}

	.about-hero__inner--without-image h1 {
		max-width: 25ch;
	}

	.about-hero__inner--without-image .about-hero__intro {
		max-width: 52rem;
	}

	.about-hero__media {
		aspect-ratio: 4 / 3;
	}

	.about-section__inner,
	.about-quality__inner {
		grid-template-columns: minmax(17rem, 0.75fr) minmax(0, 1.25fr);
	}

	.about-trust__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.about-trust__list li {
		min-height: 6rem;
	}

	.about-trust__list li:not(:last-child) {
		border-right: 1px solid rgb(255 255 255 / 16%);
	}

	.about-trust__list li:nth-child(-n + 2) {
		border-bottom: 0;
	}

	.about-cta__inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.about-cta__actions {
		justify-content: flex-end;
	}
}

@media (min-width: 72rem) {
	.about-experience__grid,
	.about-process__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.development-placeholder,
.content-layout,
.entry-content-wrapper,
.error-404 { padding-block: var(--wp--preset--spacing--80); }
.development-placeholder { min-height: 55vh; display: grid; align-content: center; justify-items: start; }
.development-placeholder h1,
.archive-title,
.entry-title,
.error-404 h1 { margin-top: 0; color: var(--er-color-primary); }
.entry-title {
	font-size: var(--wp--preset--font-size--h-1);
	line-height: 1.08;
}
.entry-content h2 {
	margin: 2rem 0 0.75rem;
	color: var(--er-color-primary);
	font-size: var(--wp--preset--font-size--h-3);
	line-height: 1.25;
}
.entry-content p { margin-block: 0.75rem; }
.entry-content a { overflow-wrap: anywhere; }
.development-placeholder p,
.archive-description,
.entry-meta { color: var(--er-color-muted); }
.entry-content,
.entry-summary { max-width: var(--er-content-width); }
.entry-thumbnail { margin-block: var(--wp--preset--spacing--50); }
.post-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--wp--preset--spacing--60); margin-block: var(--wp--preset--spacing--60); }
.content-card { padding: var(--wp--preset--spacing--50); background: var(--er-color-background); border: 1px solid var(--er-color-border); border-radius: var(--er-radius-medium); }
.content-card__thumbnail img { display: block; width: 100%; margin-bottom: var(--wp--preset--spacing--40); border-radius: var(--er-radius-small); }
.content-card .entry-title { font-size: var(--wp--preset--font-size--large); }
.content-card .entry-title a { color: inherit; text-decoration: none; }

.site-footer {
	color: var(--er-color-surface);
	background: var(--er-color-primary);
	border-top: 1px solid rgb(255 255 255 / 14%);
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	align-items: start;
	padding-block: clamp(3.5rem, 7vw, 5.5rem);
}

.site-footer h2 {
	margin: 0 0 1rem;
	color: var(--er-color-surface);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.35;
}

.site-footer p { margin: 0; }

.site-footer__company > p {
	max-width: 32rem;
	color: rgb(255 255 255 / 72%);
	font-size: 0.9375rem;
	line-height: 1.65;
}

.site-footer__contact {
	display: grid;
	gap: 0.55rem;
	margin-top: 1.25rem;
	font-size: 0.9375rem;
	font-style: normal;
	line-height: 1.55;
}

.site-footer__contact a {
	width: fit-content;
	overflow-wrap: anywhere;
}

.site-footer__contact span { color: rgb(255 255 255 / 72%); }

.footer-menu,
.legal-menu,
.footer-service-list {
	display: grid;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-service-list,
.footer-menu {
	font-size: 0.9375rem;
	line-height: 1.45;
}

.footer-service-list span { color: rgb(255 255 255 / 68%); }

.site-footer a {
	color: var(--er-color-surface);
	text-decoration-color: rgb(233 104 34 / 72%);
	text-decoration-thickness: 1px;
}

.site-footer a:hover { color: var(--er-color-accent); }

.site-footer__overview-link,
.site-footer__external-link {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	margin-top: 0.7rem;
	font-size: 0.9375rem;
	font-weight: 750;
}

.site-footer__external-link { margin-top: -0.35rem; }

.legal-navigation { margin-top: 1rem; }

.legal-menu {
	font-size: 0.875rem;
	line-height: 1.5;
}

.site-footer__bottom {
	border-top: 1px solid rgb(255 255 255 / 14%);
}

.site-footer__bottom-inner {
	padding-block: 1.15rem;
	color: rgb(255 255 255 / 66%);
	font-size: 0.8125rem;
	line-height: 1.5;
}

@media (min-width: 24rem) and (max-width: 47.999rem) {
	.footer-service-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; }
}

@media (max-width: 55.999rem) {
	.single-project__media { height: min(66.667vw, 26rem); aspect-ratio: auto; }
}

@media (min-width: 48rem) {
	html { scroll-padding-bottom: 0; }
	body { padding-bottom: 0; }
	.mobile-action-bar { display: none; }
	.service-landing-hero__actions { display: flex; flex-wrap: wrap; }
	.service-landing-hero__actions .button { width: auto; }
	.service-trust__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.service-trust__list li { justify-content: center; padding: 1rem; }
	.service-trust__list li:not(:last-child) { border-right: 1px solid rgb(255 255 255 / 16%); }
	.service-trust__list li:nth-child(-n + 2) { border-bottom: 0; }
	.site-logo { width: 8.5rem; height: 4rem; }
	.site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem clamp(2rem, 6vw, 5rem); }
	.home-hero__actions { display: flex; flex-wrap: wrap; }
	.home-hero__actions .button { width: auto; }
	.home-trust__item { padding-inline: 1.25rem; font-size: 0.9375rem; }
	.home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
	.home-pv-teaser__actions { display: flex; flex-wrap: wrap; }
	.home-pv-teaser__actions .button { width: auto; }
	.project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
	.project-contact__inner { grid-template-columns: minmax(0, 1fr) auto; }
	.single-project__section { grid-template-columns: minmax(10rem, 0.3fr) minmax(0, 0.7fr); gap: clamp(1.5rem, 5vw, 3rem); }
	.single-project__gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.home-process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem 3rem; }
	.home-process__step:nth-child(n)::after {
		top: 1.5rem;
		bottom: auto;
		left: 3rem;
		width: calc(100% + 3rem);
		height: 1px;
		background: var(--er-color-border);
	}
	.home-process__step:nth-child(2n)::after,
	.home-process__step:last-child::after { display: none; }
	.home-contact__actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.home-contact__action { grid-template-columns: 1fr; align-content: start; height: 100%; }
	.services-overview__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 5vw, 4rem); }
	.services-contact__actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.services-contact--with-inquiry .services-contact__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.contact-options__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.contact-option { grid-template-columns: 1fr; }
	.contact-business__inner { grid-template-columns: minmax(0, 0.85fr) minmax(20rem, 1.15fr); }
}

@media (min-width: 48rem) and (max-width: 55.999rem) {
	.home-hero__media { aspect-ratio: 16 / 9; }
}

@media (min-width: 56rem) {
	.service-landing-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr); }
	.service-landing-hero__inner.service-landing-hero__inner--without-image { grid-template-columns: minmax(0, 1fr); }
	.home-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr); }
	.home-hero__media { aspect-ratio: 5 / 4; }
	.home-pv-teaser__inner { grid-template-columns: minmax(0, 1.05fr) minmax(24rem, 0.95fr); }
	.single-project__hero-inner { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 1fr); }
	.single-project__hero-inner--without-image { grid-template-columns: minmax(0, 46rem); }
	.contact-inquiry__inner { grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 1.1fr); }
	.contact-inquiry__content { grid-column: 1; grid-row: 1; }
	.contact-inquiry__form { grid-column: 2; grid-row: 1 / span 2; }
	.contact-inquiry__alternatives { grid-column: 1; grid-row: 2; margin-top: -2.25rem; }
}

@media (min-width: 56rem) and (max-width: 71.999rem) {
	.home-hero__title { font-size: clamp(2.6rem, 4.5vw, 3.1rem); }
}

@media (min-width: 72rem) {
	.service-related .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-group--energy .services-overview__list,
	.services-group--electrical .services-overview__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.services-group--maintenance .services-overview__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.services-contact__inner { grid-template-columns: minmax(0, 0.9fr) minmax(30rem, 1.1fr); }
	.contact-options__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.home-trust__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.home-trust__item { justify-content: center; min-height: 3.75rem; padding: 0.75rem 1rem; }
	.home-trust__item:not(:last-child) { border-right: 1px solid rgb(255 255 255 / 16%); }
	.home-trust__item:nth-child(-n + 2) { border-bottom: 0; }
	.home-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
	.project-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.single-project__gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.home-reviews__layout { grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 2.22fr); gap: 1.5rem; }
	.review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.home-process__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; }
	.home-process__step { display: block; }
	.home-process__step:nth-child(n)::after {
		display: block;
		left: 3rem;
		width: calc(100% + 1.75rem - 3rem);
	}
	.home-process__step:last-child::after { display: none; }
	.home-process__content { padding-top: 1.1rem; }
	.home-faq__inner { display: grid; grid-template-columns: minmax(17rem, 0.75fr) minmax(0, 1.25fr); gap: clamp(3rem, 7vw, 6rem); align-items: start; }
	.home-faq__header { margin-bottom: 0; }
	.home-faq__list { max-width: none; }
	.home-contact__inner { grid-template-columns: minmax(20rem, 0.82fr) minmax(0, 1.18fr); }
	.home-contact__actions { grid-template-columns: 1fr; }
	.home-contact__action { grid-template-columns: 2.75rem minmax(0, 1fr); min-height: 7rem; }
	.site-footer__inner { grid-template-columns: minmax(17rem, 1.35fr) minmax(12rem, 1fr) minmax(10rem, 0.8fr) minmax(12rem, 0.9fr); gap: clamp(2rem, 4vw, 4.5rem); }
	.site-header__inner { min-height: var(--wp--custom--layout--header-height-desktop); }
	.site-logo { width: 10rem; height: 4.9rem; }
	.navigation-enabled .menu-toggle,
	.mobile-navigation { display: none; }
	.desktop-navigation { display: block; margin-left: auto; }
	.header-cta { display: inline-flex; flex: 0 0 auto; }
	.desktop-primary-menu { display: flex; align-items: center; gap: clamp(0.6rem, 1.4vw, 1.35rem); }
	.desktop-primary-menu > li { position: relative; }
	.desktop-primary-menu a {
		display: block;
		padding-block: 1.65rem;
		color: var(--er-color-primary);
		font-size: var(--wp--preset--font-size--navigation);
		font-weight: 700;
		text-decoration: none;
	}
	.desktop-primary-menu > li > a::after {
		content: '';
		position: absolute;
		inset: auto 0 1rem;
		height: 2px;
		background: var(--er-color-accent);
		transform: scaleX(0);
		transition: transform var(--er-transition);
	}
	.desktop-primary-menu a:hover,
	.desktop-primary-menu .current-menu-item > a,
	.desktop-primary-menu .current_page_item > a { color: var(--er-color-accent-dark); }
	.desktop-primary-menu > li > a:hover::after,
	.desktop-primary-menu > .current-menu-item > a::after,
	.desktop-primary-menu > .current_page_item > a::after { transform: scaleX(1); }
	.desktop-primary-menu .sub-menu {
		position: absolute;
		top: calc(100% - 0.5rem);
		left: -1rem;
		z-index: 10;
		display: grid;
		min-width: 14rem;
		padding: 0.6rem;
		visibility: hidden;
		background: var(--er-color-surface);
		border: 1px solid var(--er-color-border);
		border-radius: var(--er-radius-medium);
		box-shadow: var(--er-shadow-panel);
		opacity: 0;
		transform: translateY(0.4rem);
		transition: opacity var(--er-transition), transform var(--er-transition), visibility var(--er-transition);
	}
	.desktop-primary-menu .sub-menu a { padding: 0.65rem 0.75rem; }
	.desktop-primary-menu .menu-item-has-children:hover > .sub-menu,
	.desktop-primary-menu .menu-item-has-children:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
	.desktop-primary-menu .menu-item--mega > .sub-menu { width: min(42rem, 70vw); grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

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

.admin-bar .site-header { top: 46px; }
@media (min-width: 48.875rem) {
	.admin-bar .site-header { top: 32px; }
	.admin-bar #service-inquiry { scroll-margin-top: calc(var(--site-header-height, var(--er-header-height)) + 32px + 1.25rem); }
}

/* PV and storage overview. */
.pv-storage-overview { overflow: clip; }

.pv-storage-hero,
.pv-storage-section,
.pv-storage-calculator,
.pv-storage-final-cta { padding-block: clamp(3.25rem, 8vw, 6.5rem); }

.pv-storage-hero { background: var(--er-color-background); }

.pv-storage-hero__inner {
	display: grid;
	gap: clamp(2rem, 6vw, 4.5rem);
	align-items: center;
}

.pv-storage-hero__content { max-width: 48rem; }

.pv-storage-eyebrow {
	margin: 0 0 0.8rem;
	color: var(--er-color-accent-dark);
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.pv-storage-hero h1 {
	max-width: 15ch;
	margin: 0;
	font-size: clamp(2.25rem, 7.8vw, 4.5rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.pv-storage-hero__intro {
	max-width: 43rem;
	margin: 1.25rem 0 0;
	color: var(--er-color-muted);
	font-size: clamp(1.0625rem, 2vw, 1.25rem);
	line-height: 1.7;
}

.pv-storage-actions {
	display: grid;
	gap: 0.75rem;
	margin-top: 1.75rem;
}

.pv-storage-actions .button { width: 100%; }

.pv-storage-hero__summary {
	display: grid;
	gap: 1rem;
	margin: 0;
	padding: clamp(1.5rem, 5vw, 2.5rem);
	background: var(--er-color-primary);
	border-radius: var(--er-radius-medium);
	box-shadow: var(--er-shadow-panel);
	color: var(--er-color-surface);
}

.pv-storage-hero__summary > span {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	color: var(--er-color-primary);
	background: var(--er-color-accent);
	border-radius: 50%;
}

.pv-storage-hero__summary .icon { width: 1.7rem; height: 1.7rem; }

.pv-storage-hero__summary p {
	margin: 0;
	font-size: clamp(1.15rem, 3vw, 1.45rem);
	font-weight: 700;
	line-height: 1.45;
}

.pv-storage-hero__summary strong {
	color: rgb(255 255 255 / 72%);
	font-size: 0.875rem;
	letter-spacing: 0.04em;
}

.pv-storage-section__header {
	max-width: 46rem;
	margin-bottom: clamp(1.75rem, 5vw, 3rem);
}

.pv-storage-section__header h2,
.pv-storage-relationship h2,
.pv-storage-calculator h2,
.pv-storage-final-cta h2 {
	margin: 0;
	font-size: clamp(1.9rem, 5vw, 3.1rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
}

.pv-storage-section__header > p:last-child,
.pv-storage-calculator__inner > div > p:last-child,
.pv-storage-final-cta__inner > div > p:last-child {
	margin: 1rem 0 0;
	color: var(--er-color-muted);
	font-size: 1.0625rem;
	line-height: 1.7;
}

.pv-storage-routes { background: var(--er-color-surface); }

.pv-storage-routes__grid {
	display: grid;
	gap: 1rem;
}

.pv-storage-route {
	display: flex;
	min-width: 0;
	min-height: 100%;
	flex-direction: column;
	padding: clamp(1.25rem, 4vw, 1.75rem);
	background: var(--er-color-background);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
	transition: border-color var(--er-transition), transform var(--er-transition);
}

.pv-storage-route:hover,
.pv-storage-route:focus-within {
	border-color: var(--er-color-accent);
	transform: translateY(-2px);
}

.pv-storage-route--emphasis { border-top: 3px solid var(--er-color-accent); }

.pv-storage-route__icon {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1.1rem;
	color: var(--er-color-accent-dark);
	background: var(--er-color-accent-soft);
	border-radius: 50%;
}

.pv-storage-route__icon .icon { width: 1.4rem; height: 1.4rem; }

.pv-storage-route h3 {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
}

.pv-storage-route p {
	margin: 0.75rem 0 1.25rem;
	color: var(--er-color-muted);
	line-height: 1.65;
}

.pv-storage-route a {
	align-self: flex-start;
	margin-top: auto;
	color: var(--er-color-accent-dark);
	font-weight: 800;
	text-underline-offset: 0.2em;
}

.pv-storage-relationship { background: var(--er-color-background); }

.pv-storage-relationship__inner {
	display: grid;
	gap: clamp(1.5rem, 5vw, 4rem);
}

.pv-storage-relationship__copy {
	max-width: 45rem;
	color: var(--er-color-muted);
	font-size: 1.0625rem;
	line-height: 1.75;
}

.pv-storage-relationship__copy p { margin: 0; }
.pv-storage-relationship__copy p + p { margin-top: 1rem; }

.pv-storage-calculator { background: var(--er-color-primary); color: var(--er-color-surface); }
.pv-storage-calculator h2 { color: var(--er-color-surface); }

.pv-storage-calculator__inner,
.pv-storage-final-cta__inner {
	display: grid;
	gap: 1.75rem;
	align-items: center;
}

.pv-storage-calculator .pv-storage-eyebrow { color: var(--er-color-accent); }
.pv-storage-calculator__inner > div > p:last-child { color: rgb(255 255 255 / 76%); }
.pv-storage-calculator .button { justify-self: start; }

.pv-storage-projects { background: var(--er-color-surface); }
.pv-storage-projects .project-grid { max-width: 54rem; }

.pv-storage-trust { padding-block: clamp(2.25rem, 5vw, 3.75rem); background: var(--er-color-background); }

.pv-storage-trust__list {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	background: var(--er-color-surface);
	border: 1px solid var(--er-color-border);
	border-radius: var(--er-radius-medium);
}

.pv-storage-trust__list li { display: grid; gap: 0.25rem; padding: 1.25rem; }
.pv-storage-trust__list li + li { border-top: 1px solid var(--er-color-border); }
.pv-storage-trust__list strong { color: var(--er-color-primary); font-size: 1rem; line-height: 1.35; }
.pv-storage-trust__list span { color: var(--er-color-muted); font-size: 0.875rem; line-height: 1.45; }

.pv-storage-final-cta { background: var(--er-color-surface); }
.pv-storage-final-cta__inner > div { max-width: 45rem; }

@media (min-width: 30rem) {
	.pv-storage-actions { display: flex; flex-wrap: wrap; }
	.pv-storage-actions .button { width: auto; }
	.pv-storage-routes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pv-storage-trust__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pv-storage-trust__list li + li { border-top: 0; border-left: 1px solid var(--er-color-border); }
}

@media (min-width: 48rem) {
	.pv-storage-relationship__inner { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); }
	.pv-storage-calculator__inner,
	.pv-storage-final-cta__inner { grid-template-columns: minmax(0, 1fr) auto; }
	.pv-storage-calculator .button { justify-self: end; }
}

@media (min-width: 64rem) {
	.pv-storage-hero__inner { grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr); }
	.pv-storage-routes__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
}
