/*
Theme Name: Ervinas Facilities
Theme URI: https://facilities.ervinas.com/
Description: Astra child theme for the local Ervinas Facilities rebuild.
Author: Ervinas
Template: astra
Version: 1.0.0
Text Domain: ervinas-facilities
*/

:root{--ef-navy:#112d3f;--ef-blue:#174968;--ef-green:#7fa543;--ef-mint:#eef5e9;--ef-ink:#1f2933;--ef-muted:#65727d;--ef-line:#d9e2e8}body{color:var(--ef-ink);font-family:Arial,Helvetica,sans-serif}a{color:var(--ef-blue)}.site-header,.ast-primary-header-bar{box-shadow:0 2px 14px rgba(17,45,63,.08)}.main-header-menu .menu-link{font-weight:700;letter-spacing:0;text-transform:uppercase}.ef-topbar{background:var(--ef-navy);color:#fff;font-size:14px;padding:9px 0;text-align:center}.ef-topbar a{color:#fff;font-weight:700;text-decoration:none}.ef-section{padding:72px 24px}.ef-section--light{background:#f7fafb}.ef-wrap{margin:0 auto;max-width:1180px}.ef-hero{background:linear-gradient(90deg,rgba(17,45,63,.92),rgba(23,73,104,.72)),url('/wp-content/uploads/2026/05/ervinas-facilities-logo-horizontal-white-official-scaled-1-scaled.webp') center right/620px auto no-repeat,var(--ef-navy);color:#fff;min-height:560px;padding:110px 24px 86px}.ef-hero__content{max-width:720px}.ef-kicker{color:var(--ef-green);font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ef-hero h1,.ef-page-hero h1{color:inherit;font-size:clamp(40px,7vw,74px);font-weight:800;line-height:1.02;margin:12px 0 22px}.ef-hero p,.ef-page-hero p{font-size:20px;line-height:1.65;max-width:680px}.ef-button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.ef-button,.wp-block-button__link,.gform_button{background:var(--ef-green);border:0;border-radius:3px;color:#fff!important;display:inline-block;font-weight:800;line-height:1;padding:15px 22px;text-decoration:none;text-transform:uppercase}.ef-button--outline{background:transparent;box-shadow:inset 0 0 0 2px #fff}.ef-grid{display:grid;gap:28px}.ef-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.ef-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.ef-card{background:#fff;border:1px solid var(--ef-line);border-radius:6px;box-shadow:0 10px 30px rgba(17,45,63,.08);padding:30px}.ef-card h3,.ef-card h2{color:var(--ef-navy);margin-top:0}.ef-service-card{border-top:5px solid var(--ef-green)}.ef-page-hero{background:linear-gradient(90deg,var(--ef-navy),var(--ef-blue));color:#fff;padding:82px 24px}.ef-content{font-size:18px;line-height:1.75}.ef-content h2{color:var(--ef-navy);font-size:34px;margin-top:0}.ef-sidebar-layout{display:grid;gap:38px;grid-template-columns:minmax(0,1fr) 360px}.ef-contact-panel{background:var(--ef-mint);border-left:5px solid var(--ef-green);padding:28px}.ef-list{margin-left:0;padding-left:20px}.ef-list li{margin-bottom:10px}.ef-footer-band{background:var(--ef-navy);color:#fff;padding:54px 24px}.ef-footer-band a{color:#fff}.ef-footer-logo{max-width:300px;width:100%}.gform_wrapper.gravity-theme input[type=text],.gform_wrapper.gravity-theme input[type=email],.gform_wrapper.gravity-theme input[type=tel],.gform_wrapper.gravity-theme textarea,.gform_wrapper.gravity-theme select{border:1px solid var(--ef-line);border-radius:3px;padding:12px}@media(max-width:921px){.ef-grid--3,.ef-grid--2,.ef-sidebar-layout{grid-template-columns:1fr}.ef-hero{background:linear-gradient(90deg,rgba(17,45,63,.94),rgba(23,73,104,.88)),var(--ef-navy);min-height:0;padding:76px 22px}.ef-section{padding:54px 22px}}

/* Layout correction pass: keep Astra chrome, but let rebuild sections behave like full-width site bands. */
body.page .site-content > .ast-container,
body.home .site-content > .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.page.ast-plain-container.ast-no-sidebar #primary,
body.home.ast-plain-container.ast-no-sidebar #primary {
	margin: 0;
	padding: 0;
}

body.page .entry-content,
body.home .entry-content {
	max-width: none;
}

body.page .entry-content > .ef-hero,
body.page .entry-content > .ef-page-hero,
body.page .entry-content > .ef-section,
body.home .entry-content > .ef-hero,
body.home .entry-content > .ef-page-hero,
body.home .entry-content > .ef-section {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	width: 100vw;
}

@media (max-width: 921px) {
	body.page .entry-content > .ef-hero,
	body.page .entry-content > .ef-page-hero,
	body.page .entry-content > .ef-section,
	body.home .entry-content > .ef-hero,
	body.home .entry-content > .ef-section {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

.ef-wrap,
.ef-hero__content {
	box-sizing: border-box;
}

.ef-hero .ef-wrap,
.ef-page-hero .ef-wrap,
.ef-section .ef-wrap {
	padding-left: 24px;
	padding-right: 24px;
}

/* Header correction pass. */
.ef-topbar {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	padding: 8px 16px;
}

.ast-primary-header-bar {
	min-height: 76px;
}

.ast-site-identity {
	padding: 10px 0;
}

.site-logo-img img,
.custom-logo-link img {
	max-height: 58px;
	width: auto;
}

.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu .menu-link {
	font-size: 13px;
	line-height: 1.2;
	padding-left: 9px;
	padding-right: 9px;
	white-space: nowrap;
}

.ast-builder-menu-1 .main-header-menu,
.main-header-menu {
	align-items: center;
}

.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item {
	line-height: 76px;
}

.ast-desktop .main-header-menu .sub-menu .menu-link {
	line-height: 1.35;
	padding: 12px 16px;
	text-transform: none;
}

@media (max-width: 1100px) and (min-width: 922px) {
	.site-logo-img img,
	.custom-logo-link img {
		max-height: 48px;
	}

	.ast-builder-menu-1 .menu-item > .menu-link,
	.main-header-menu .menu-link {
		font-size: 12px;
		padding-left: 6px;
		padding-right: 6px;
	}
}

@media (max-width: 921px) {
	.ast-primary-header-bar {
		min-height: 68px;
	}

	.site-logo-img img,
	.custom-logo-link img {
		max-height: 48px;
	}

	.ef-hero .ef-wrap,
	.ef-page-hero .ef-wrap,
	.ef-section .ef-wrap {
		padding-left: 22px;
		padding-right: 22px;
	}
}

/* Second correction pass after screenshot review. */
body.page .entry-header,
body.home .entry-header,
body.page .entry-title,
body.home .entry-title {
	display: none;
}

.ef-hero__content {
	max-width: 1180px;
}

.ef-hero__content > .ef-kicker,
.ef-hero__content > h1,
.ef-hero__content > p,
.ef-hero__content > .ef-button-row {
	max-width: 720px;
}

.ast-site-title-wrap {
	display: none;
}

.site-logo-img img,
.custom-logo-link img {
	max-width: 240px;
	object-fit: contain;
}

@media (max-width: 921px) {
	.ef-hero__content > .ef-kicker,
	.ef-hero__content > h1,
	.ef-hero__content > p,
	.ef-hero__content > .ef-button-row {
		max-width: 100%;
	}
}

/* Header brand contrast: the uploaded Ervinas logo is a light/transparent asset, so use a dark header. */
.ast-primary-header-bar,
.site-header-primary-section-left,
.site-header-primary-section-right {
	background: var(--ef-navy);
}

.ast-primary-header-bar {
	border-bottom: 1px solid rgba(255,255,255,.12);
	box-shadow: none;
}

.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu .menu-link,
.ast-header-navigation-arrow,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-ancestor > .menu-link {
	color: #fff;
}

.ast-builder-menu-1 .menu-item > .menu-link:hover,
.main-header-menu .menu-link:hover,
.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link {
	color: var(--ef-green);
}

.ast-desktop .main-header-menu .sub-menu .menu-link {
	color: var(--ef-navy);
}

.ast-mobile-menu-trigger-minimal .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: #fff;
}

.ef-topbar {
	border-bottom: 1px solid rgba(255,255,255,.12);
}

/* Live-site palette pass: charcoal + copper/salmon + deep green, while preserving the cleaner rebuild layout. */
:root {
	--ef-navy: #282828;
	--ef-blue: #243942;
	--ef-green: #006b18;
	--ef-green-soft: #7fa543;
	--ef-copper: #d7957d;
	--ef-copper-dark: #b86f5f;
	--ef-peach: #d7a185;
	--ef-mint: #f7f8f5;
	--ef-ink: #242424;
	--ef-muted: #6d6d6d;
	--ef-line: #dedede;
}

.ef-topbar,
.ast-primary-header-bar,
.site-header-primary-section-left,
.site-header-primary-section-right {
	background: var(--ef-navy);
}

.ef-topbar a {
	color: var(--ef-copper);
}

.ast-builder-menu-1 .menu-item > .menu-link,
.main-header-menu .menu-link {
	color: #fff;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.ast-builder-menu-1 .menu-item.current-menu-ancestor > .menu-link,
.main-header-menu .current-menu-item > .menu-link {
	color: var(--ef-green-soft);
}

.ast-builder-menu-1 .menu-item > .menu-link:hover,
.main-header-menu .menu-link:hover,
.ast-header-navigation-arrow:hover {
	color: var(--ef-copper);
}

.ast-desktop .main-header-menu .sub-menu {
	border-top-color: var(--ef-copper);
}

.ast-desktop .main-header-menu .sub-menu .menu-link {
	color: var(--ef-navy);
}

.ef-hero {
	background:
		linear-gradient(90deg, rgba(40,40,40,.94), rgba(36,57,66,.82)),
		url('/wp-content/uploads/2026/05/ervinas-facilities-logo-horizontal-white-official-scaled-1-scaled.webp') center right / 620px auto no-repeat,
		var(--ef-navy);
}

.ef-page-hero {
	background: linear-gradient(90deg, #282828, #243942);
}

.ef-kicker {
	color: var(--ef-green-soft);
}

.ef-section > .ef-wrap > h2,
.ef-content h2,
.ef-card h2,
.ef-card h3 {
	color: var(--ef-copper);
}

.ef-card {
	border-color: #e6e0dc;
	box-shadow: 0 10px 26px rgba(40,40,40,.08);
}

.ef-service-card {
	border-top-color: var(--ef-copper);
}

.ef-button,
.wp-block-button__link,
.gform_button {
	background: var(--ef-copper);
	border: 2px solid var(--ef-copper);
	color: #fff !important;
	box-shadow: none;
}

.ef-button:hover,
.wp-block-button__link:hover,
.gform_button:hover {
	background: var(--ef-copper-dark);
	border-color: var(--ef-copper-dark);
}

.ef-button--outline {
	background: transparent;
	border-color: #fff;
	box-shadow: none;
}

.ef-button--outline:hover {
	background: rgba(255,255,255,.12);
	border-color: var(--ef-copper);
}

.ef-contact-panel {
	background: #faf4f1;
	border-left-color: var(--ef-copper);
}

.main-header-menu > .menu-item:last-child > .menu-link {
	background: var(--ef-peach);
	border: 2px solid var(--ef-green);
	border-radius: 4px;
	color: var(--ef-green) !important;
	font-weight: 800;
	line-height: 1;
	margin-left: 12px;
	padding: 12px 20px;
	text-transform: none;
}

.main-header-menu > .menu-item:last-child > .menu-link:hover {
	background: var(--ef-copper);
	color: #fff !important;
}

@media (max-width: 921px) {
	.ef-hero {
		background: linear-gradient(90deg, rgba(40,40,40,.96), rgba(36,57,66,.9)), var(--ef-navy);
	}

	.main-header-menu > .menu-item:last-child > .menu-link {
		margin-left: 0;
		padding: 12px 20px;
	}
}

/* Depth and de-boxing pass. Keeps the clean layout, but makes repeated blocks feel less like generic cards. */
.ef-hero {
	box-shadow: inset 0 -90px 120px rgba(0,0,0,.14);
	position: relative;
}

.ef-hero::after {
	background: linear-gradient(90deg, var(--ef-copper), rgba(215,149,125,0));
	bottom: 0;
	content: "";
	height: 5px;
	left: 0;
	position: absolute;
	width: 44%;
}

.ef-section {
	position: relative;
}

.ef-section:first-of-type {
	background: linear-gradient(180deg, #fff 0%, #fbf7f5 100%);
}

.ef-section:first-of-type .ef-grid--3 {
	gap: 0;
	margin-top: 34px;
}

.ef-section:first-of-type .ef-service-card {
	background: transparent;
	border: 0;
	border-left: 1px solid rgba(184,111,95,.28);
	border-radius: 0;
	box-shadow: none;
	padding: 10px 30px 18px;
}

.ef-section:first-of-type .ef-service-card:nth-child(3n+1) {
	border-left: 0;
}

.ef-section:first-of-type .ef-service-card h3 {
	color: var(--ef-navy);
	font-size: 24px;
}

.ef-section:first-of-type .ef-service-card p:not(:last-child) {
	color: #4f4f4f;
}

.ef-section:first-of-type .ef-service-card .ef-button {
	background: transparent;
	border: 0;
	color: var(--ef-copper-dark) !important;
	padding: 0;
	text-decoration: none;
}

.ef-section:first-of-type .ef-service-card .ef-button::after {
	content: "  →";
}

.ef-section--light {
	background: linear-gradient(135deg, #282828 0%, #243942 100%);
	color: #fff;
	margin-top: 14px;
	padding-bottom: 84px;
	padding-top: 84px;
}

.ef-section--light::before {
	background: rgba(215,149,125,.92);
	content: "";
	height: 7px;
	left: 10%;
	position: absolute;
	top: 0;
	width: 220px;
}

.ef-section--light h2,
.ef-section--light .ef-content {
	color: #fff;
}

.ef-section--light .ef-kicker {
	color: var(--ef-copper);
}

.ef-section--light .ef-card {
	background: rgba(255,255,255,.96);
	border: 0;
	box-shadow: 0 24px 60px rgba(0,0,0,.28);
	transform: translateY(18px);
}

.ef-section--light .ef-card h3 {
	color: var(--ef-navy);
}

.ef-section--light + .ef-section {
	background: #fff;
	padding-top: 88px;
}

.ef-section--light + .ef-section .ef-grid--3 {
	align-items: stretch;
}

.ef-section--light + .ef-section .ef-card {
	background: linear-gradient(180deg, #ffffff 0%, #fbf3ef 100%);
	border: 0;
	border-bottom: 4px solid var(--ef-copper);
	box-shadow: 0 18px 44px rgba(40,40,40,.12);
	min-height: 230px;
}

.ef-section--light + .ef-section .ef-card:nth-child(2) {
	transform: translateY(18px);
}

.ef-section--light + .ef-section .ef-card:nth-child(3) {
	transform: translateY(36px);
}

.ef-page-hero {
	box-shadow: inset 0 -52px 80px rgba(0,0,0,.14);
}

.ef-contact-panel {
	box-shadow: 0 18px 42px rgba(40,40,40,.12);
}

.ef-footer-band {
	background: linear-gradient(135deg, #1f1f1f 0%, #282828 55%, #243942 100%);
	border-top: 5px solid var(--ef-copper);
}

@media (max-width: 921px) {
	.ef-section:first-of-type .ef-grid--3 {
		gap: 22px;
	}

	.ef-section:first-of-type .ef-service-card,
	.ef-section:first-of-type .ef-service-card:nth-child(3n+1) {
		border-left: 4px solid rgba(184,111,95,.42);
		padding: 18px 0 18px 22px;
	}

	.ef-section--light .ef-card,
	.ef-section--light + .ef-section .ef-card:nth-child(2),
	.ef-section--light + .ef-section .ef-card:nth-child(3) {
		transform: none;
	}

	.ef-section--light + .ef-section .ef-grid--3 {
		gap: 24px;
	}
}

/* Corrected de-boxing target for homepage service grid. */
body.home .entry-content > .ef-section:nth-of-type(2) {
	background: linear-gradient(180deg, #fff 0%, #fbf7f5 100%);
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid--3 {
	gap: 0;
	margin-top: 36px;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card {
	background: transparent;
	border: 0;
	border-left: 1px solid rgba(184,111,95,.28);
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	padding: 10px 32px 22px;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(3n+1) {
	border-left: 0;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card h3 {
	color: var(--ef-navy);
	font-size: 24px;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card p:not(:last-child) {
	color: #4f4f4f;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button {
	background: transparent;
	border: 0;
	color: var(--ef-copper-dark) !important;
	padding: 0;
	text-decoration: none;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button::after {
	content: "  →";
}

.ef-section--light .ef-card,
.ef-section--light .ef-card p,
.ef-section--light .ef-card a:not(.ef-button) {
	color: var(--ef-ink);
}

.ef-section--light .ef-card a:not(.ef-button) {
	text-decoration-color: rgba(184,111,95,.45);
}

body.home .entry-content > .ef-section:nth-of-type(4) .ef-card {
	background: linear-gradient(180deg, #fff 0%, #fff8f5 100%);
}

@media (max-width: 921px) {
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid--3 {
		gap: 22px;
	}

	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(3n+1) {
		border-left: 4px solid rgba(184,111,95,.42);
		padding: 18px 0 18px 22px;
	}
}

/* Homepage consistency pass: unify all box treatments after the experimental de-boxing pass. */
body.home .entry-content > .ef-section:nth-of-type(2) {
	background: linear-gradient(180deg, #fff 0%, #fbf6f3 100%);
	padding-bottom: 76px;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid--3,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-grid--3 {
	gap: 26px;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(3n+1),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card,
.ef-section--light .ef-card {
	background: linear-gradient(180deg, #fffdfb 0%, #fff7f3 100%);
	border: 1px solid rgba(184,111,95,.18);
	border-radius: 4px;
	border-top: 4px solid var(--ef-copper);
	box-shadow: 0 18px 42px rgba(40,40,40,.11);
	box-sizing: border-box;
	min-height: 100%;
	padding: 28px 30px;
	transform: none;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card h3,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card h3,
.ef-section--light .ef-card h3 {
	color: var(--ef-copper);
	font-size: 23px;
	line-height: 1.2;
	margin-bottom: 16px;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card p,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card p,
.ef-section--light .ef-card p {
	color: var(--ef-ink);
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button:visited {
	align-self: flex-start;
	background: var(--ef-copper);
	border: 2px solid var(--ef-copper);
	border-radius: 3px;
	color: #fff !important;
	font-size: 13px;
	margin-top: 12px;
	padding: 12px 16px;
	text-decoration: none;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button::after {
	content: "";
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button:hover {
	background: var(--ef-copper-dark);
	border-color: var(--ef-copper-dark);
}

.ef-section--light .ef-card {
	box-shadow: 0 22px 56px rgba(0,0,0,.24);
}

body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(2),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(3),
.ef-section--light + .ef-section .ef-card:nth-child(2),
.ef-section--light + .ef-section .ef-card:nth-child(3) {
	transform: none;
}

body.home .entry-content > .ef-section:nth-of-type(4) .ef-card {
	min-height: 250px;
}

body.home .entry-content > .ef-section:nth-of-type(4) .ef-card a:not(.ef-button) {
	color: var(--ef-navy);
	font-weight: 700;
	text-decoration-color: rgba(184,111,95,.48);
}

@media (max-width: 921px) {
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid--3,
	body.home .entry-content > .ef-section:nth-of-type(4) .ef-grid--3 {
		gap: 20px;
	}

	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(3n+1),
	body.home .entry-content > .ef-section:nth-of-type(4) .ef-card,
	.ef-section--light .ef-card {
		padding: 24px;
	}
}

/* True reversed-card system: intentional dark variants, not partial de-boxing. */
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) {
	background: linear-gradient(145deg, #282828 0%, #243942 100%);
	border-color: rgba(215,149,125,.34);
	border-top-color: var(--ef-green-soft);
	box-shadow: 0 22px 52px rgba(36,57,66,.24);
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) h3,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) h3 {
	color: #fff;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) p,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) p {
	color: rgba(255,255,255,.84);
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) .ef-button:visited {
	background: transparent;
	border-color: rgba(255,255,255,.82);
	color: #fff !important;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) .ef-button:hover {
	background: var(--ef-copper);
	border-color: var(--ef-copper);
}

body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) a:not(.ef-button) {
	color: #fff;
	font-weight: 800;
	text-decoration-color: var(--ef-copper);
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(odd),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(odd),
.ef-section--light .ef-card {
	background: linear-gradient(180deg, #fffdfb 0%, #fff7f3 100%);
	border-top-color: var(--ef-copper);
}

/* Make the contact card the reverse of its dark band so it still pops, not blends. */
.ef-section--light .ef-card {
	background: linear-gradient(180deg, #fff 0%, #fff7f3 100%);
	border-color: rgba(215,149,125,.28);
	border-top-color: var(--ef-copper);
}

@media (max-width: 921px) {
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even),
	body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) {
		box-shadow: 0 18px 42px rgba(36,57,66,.22);
	}
}

/* Site-wide reversed box system: all box components, all pages. */
.ef-card,
.ef-service-card,
.ef-contact-panel,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(odd),
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(odd),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even),
.ef-section--light .ef-card,
.ef-sidebar-layout .ef-contact-panel {
	background: linear-gradient(145deg, #282828 0%, #243942 100%) !important;
	border: 1px solid rgba(215,149,125,.32) !important;
	border-radius: 4px !important;
	border-top: 4px solid var(--ef-copper) !important;
	box-shadow: 0 22px 52px rgba(36,57,66,.24) !important;
	box-sizing: border-box;
	color: #fff !important;
	transform: none !important;
}

.ef-card h2,
.ef-card h3,
.ef-service-card h2,
.ef-service-card h3,
.ef-contact-panel h2,
.ef-contact-panel h3,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card h3,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(odd) h3,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) h3,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card h3,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(odd) h3,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) h3,
.ef-section--light .ef-card h3 {
	color: #fff !important;
}

.ef-card p,
.ef-card li,
.ef-service-card p,
.ef-service-card li,
.ef-contact-panel p,
.ef-contact-panel li,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card p,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(odd) p,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) p,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card p,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(odd) p,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) p,
.ef-section--light .ef-card p {
	color: rgba(255,255,255,.84) !important;
}

.ef-card a:not(.ef-button),
.ef-service-card a:not(.ef-button),
.ef-contact-panel a:not(.ef-button),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card a:not(.ef-button),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(odd) a:not(.ef-button),
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(even) a:not(.ef-button),
.ef-section--light .ef-card a:not(.ef-button) {
	color: #fff !important;
	font-weight: 800;
	text-decoration-color: var(--ef-copper) !important;
}

.ef-card .ef-button,
.ef-service-card .ef-button,
.ef-contact-panel .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(odd) .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) .ef-button,
.ef-section--light .ef-card .ef-button {
	background: transparent !important;
	border: 2px solid rgba(255,255,255,.82) !important;
	border-radius: 3px !important;
	color: #fff !important;
	padding: 12px 16px !important;
}

.ef-card .ef-button:hover,
.ef-service-card .ef-button:hover,
.ef-contact-panel .ef-button:hover,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button:hover,
.ef-section--light .ef-card .ef-button:hover {
	background: var(--ef-copper) !important;
	border-color: var(--ef-copper) !important;
	color: #fff !important;
}

.ef-card .ef-button::after,
.ef-service-card .ef-button::after,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button::after {
	content: "" !important;
}

/* Gravity Forms are boxed UI too; reverse their visible form shell on contact/work-request pages. */
.gform_wrapper.gravity-theme {
	background: linear-gradient(145deg, #282828 0%, #243942 100%);
	border: 1px solid rgba(215,149,125,.32);
	border-radius: 4px;
	border-top: 4px solid var(--ef-copper);
	box-shadow: 0 22px 52px rgba(36,57,66,.18);
	box-sizing: border-box;
	color: #fff;
	padding: 28px;
}

.gform_wrapper.gravity-theme label,
.gform_wrapper.gravity-theme legend,
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme .gfield_description,
.gform_wrapper.gravity-theme .gfield_required,
.gform_wrapper.gravity-theme .gchoice label {
	color: #fff !important;
}

.gform_wrapper.gravity-theme input[type="text"],
.gform_wrapper.gravity-theme input[type="email"],
.gform_wrapper.gravity-theme input[type="tel"],
.gform_wrapper.gravity-theme textarea,
.gform_wrapper.gravity-theme select {
	background: rgba(255,255,255,.96) !important;
	border-color: rgba(215,149,125,.42) !important;
	color: var(--ef-ink) !important;
}

.gform_wrapper.gravity-theme .gform_button {
	background: var(--ef-copper) !important;
	border-color: var(--ef-copper) !important;
	color: #fff !important;
}

/* Broader Gravity Forms reversal: current GF markup does not always include gravity-theme on the wrapper. */
.gform_wrapper,
.gform-theme,
.gform-theme--framework,
form[id^="gform_"] {
	background: linear-gradient(145deg, #282828 0%, #243942 100%) !important;
	border: 1px solid rgba(215,149,125,.32) !important;
	border-radius: 4px !important;
	border-top: 4px solid var(--ef-copper) !important;
	box-shadow: 0 22px 52px rgba(36,57,66,.18) !important;
	box-sizing: border-box;
	color: #fff !important;
	padding: 28px !important;
}

.gform_wrapper label,
.gform_wrapper legend,
.gform_wrapper .gfield_label,
.gform_wrapper .gfield_description,
.gform_wrapper .gfield_required,
.gform_wrapper .gchoice label,
.gform-theme label,
.gform-theme legend,
.gform-theme .gfield_label,
.gform-theme .gfield_description,
.gform-theme .gfield_required,
.gform-theme .gchoice label,
form[id^="gform_"] label,
form[id^="gform_"] legend {
	color: #fff !important;
}

.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper textarea,
.gform_wrapper select,
.gform-theme input[type="text"],
.gform-theme input[type="email"],
.gform-theme input[type="tel"],
.gform-theme textarea,
.gform-theme select,
form[id^="gform_"] input[type="text"],
form[id^="gform_"] input[type="email"],
form[id^="gform_"] input[type="tel"],
form[id^="gform_"] textarea,
form[id^="gform_"] select {
	background: rgba(255,255,255,.96) !important;
	border-color: rgba(215,149,125,.42) !important;
	color: var(--ef-ink) !important;
}

.gform_wrapper input[type="submit"],
.gform_wrapper button,
.gform-theme input[type="submit"],
.gform-theme button,
form[id^="gform_"] input[type="submit"],
form[id^="gform_"] button {
	background: var(--ef-copper) !important;
	border: 2px solid var(--ef-copper) !important;
	border-radius: 3px !important;
	color: #fff !important;
	font-weight: 800 !important;
	padding: 12px 18px !important;
	text-transform: uppercase !important;
}

/* Context-aware correction: boxes on already-dark sections should not also be dark. */
.ef-section--light .ef-card,
.ef-section--light .ef-contact-panel,
.ef-section--light .gform_wrapper,
.ef-section--light form[id^="gform_"] {
	background: linear-gradient(180deg, #fffdfb 0%, #fff7f3 100%) !important;
	border: 1px solid rgba(184,111,95,.22) !important;
	border-radius: 4px !important;
	border-top: 4px solid var(--ef-copper) !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.24) !important;
	color: var(--ef-ink) !important;
}

.ef-section--light .ef-card h2,
.ef-section--light .ef-card h3,
.ef-section--light .ef-contact-panel h2,
.ef-section--light .ef-contact-panel h3,
.ef-section--light .gform_wrapper h2,
.ef-section--light .gform_wrapper h3 {
	color: var(--ef-copper) !important;
}

.ef-section--light .ef-card p,
.ef-section--light .ef-card li,
.ef-section--light .ef-contact-panel p,
.ef-section--light .ef-contact-panel li,
.ef-section--light .gform_wrapper p,
.ef-section--light .gform_wrapper li,
.ef-section--light .gform_wrapper label,
.ef-section--light .gform_wrapper legend,
.ef-section--light .gform_wrapper .gfield_label,
.ef-section--light .gform_wrapper .gfield_description,
.ef-section--light .gform_wrapper .gchoice label {
	color: var(--ef-ink) !important;
}

.ef-section--light .ef-card a:not(.ef-button),
.ef-section--light .ef-contact-panel a:not(.ef-button) {
	color: var(--ef-navy) !important;
	text-decoration-color: rgba(184,111,95,.48) !important;
}

.ef-section--light .ef-card .ef-button,
.ef-section--light .ef-contact-panel .ef-button {
	background: var(--ef-copper) !important;
	border-color: var(--ef-copper) !important;
	color: #fff !important;
}

.ef-section--light .ef-card .ef-button:hover,
.ef-section--light .ef-contact-panel .ef-button:hover {
	background: var(--ef-copper-dark) !important;
	border-color: var(--ef-copper-dark) !important;
}

/* Imported live-site media pass. Project/work-order construction images are intentionally excluded. */
.ef-hero {
	background:
		linear-gradient(90deg, rgba(40,40,40,.84) 0%, rgba(36,57,66,.72) 46%, rgba(36,57,66,.34) 100%),
		url('/wp-content/uploads/2023/09/EFM-Hero.webp') center center / cover no-repeat !important;
	min-height: 620px;
}

.ef-hero::after {
	background: linear-gradient(180deg, rgba(215,149,125,.16), rgba(40,40,40,.34)) !important;
}

.ef-card,
.ef-service-card {
	overflow: hidden !important;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card {
	position: relative !important;
	padding-top: 226px !important;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card::before,
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 190px;
	background-color: rgba(255,255,255,.08);
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid rgba(215,149,125,.32);
	box-shadow: inset 0 -48px 72px rgba(40,40,40,.22);
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(1)::before { background-image: url('/wp-content/uploads/2023/10/multi-tenant.webp'); }
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(2)::before { background-image: url('/wp-content/uploads/2023/10/commercial-bldg-800x800-1.webp'); }
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(3)::before { background-image: url('/wp-content/uploads/2024/03/Building-Systems.webp'); }
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(4)::before { background-image: url('/wp-content/uploads/2023/10/project-management.webp'); }
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(5)::before { background-image: url('/wp-content/uploads/2023/09/equiprepair800x500.webp'); }
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(6)::before { background-image: url('/wp-content/uploads/2023/10/residential.webp'); }

body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(1)::before { background-image: url('/wp-content/uploads/2024/10/BLOG-IMAGES-Clean-Lighting-ACT.jpg'); }
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(2)::before { background-image: url('/wp-content/uploads/2023/11/X-mas-Ladder.webp'); }
body.home .entry-content > .ef-section:nth-of-type(4) .ef-card:nth-child(3)::before { background-image: url('/wp-content/uploads/2023/09/hvac-filter-1000x563-1.webp'); }

.ef-section--light .ef-card::before,
.ef-section--light .ef-contact-panel::before {
	box-shadow: inset 0 -42px 64px rgba(255,255,255,.18) !important;
}

.ef-section--light .ef-grid--2 > div:first-child {
	position: relative;
	min-height: 380px;
	padding: 28px 0 28px 46%;
}

.ef-section--light .ef-grid--2 > div:first-child::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 40%;
	background: url('/wp-content/uploads/2023/10/Why-Ervinas.webp') center / cover no-repeat;
	border: 1px solid rgba(215,149,125,.28);
	border-radius: 4px;
	box-shadow: 0 26px 68px rgba(0,0,0,.28);
}

body:not(.home) .ef-page-hero {
	position: relative;
	background:
		linear-gradient(90deg, rgba(40,40,40,.88), rgba(36,57,66,.70)),
		url('/wp-content/uploads/2023/09/EFM-Hero.webp') center / cover no-repeat !important;
}

body:not(.home) .ef-page-hero .ef-wrap {
	position: relative;
	z-index: 1;
}

.ef-sidebar-layout > div:first-child::before {
	content: "";
	display: block;
	height: 280px;
	margin: 0 0 28px;
	background: url('/wp-content/uploads/2024/03/Building-Systems.webp') center / cover no-repeat;
	border: 1px solid rgba(215,149,125,.28);
	border-radius: 4px;
	box-shadow: 0 22px 54px rgba(36,57,66,.18);
}

.ef-feature-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 30px 0;
}

.ef-feature-strip img {
	display: block;
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 4px;
	box-shadow: 0 18px 42px rgba(36,57,66,.18);
}

@media (max-width: 921px) {
	.ef-hero { min-height: 520px; }
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
	body.home .entry-content > .ef-section:nth-of-type(4) .ef-card { padding-top: 204px !important; }
	body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card::before,
	body.home .entry-content > .ef-section:nth-of-type(4) .ef-card::before { height: 172px; }
	.ef-section--light .ef-grid--2 > div:first-child { min-height: 0; padding: 0; }
	.ef-section--light .ef-grid--2 > div:first-child::before { position: static; display: block; width: 100%; height: 240px; margin-bottom: 24px; }
	.ef-feature-strip { grid-template-columns: 1fr; }
}

/* Carry the imported service-card imagery onto Services and any repeated service grids. */
.ef-grid--3 > .ef-service-card {
	position: relative !important;
	padding-top: 226px !important;
}

.ef-grid--3 > .ef-service-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 190px;
	background-color: rgba(255,255,255,.08);
	background-position: center;
	background-size: cover;
	border-bottom: 1px solid rgba(215,149,125,.32);
	box-shadow: inset 0 -48px 72px rgba(40,40,40,.22);
}

.ef-grid--3 > .ef-service-card:nth-child(1)::before { background-image: url('/wp-content/uploads/2023/10/multi-tenant.webp'); }
.ef-grid--3 > .ef-service-card:nth-child(2)::before { background-image: url('/wp-content/uploads/2023/10/commercial-bldg-800x800-1.webp'); }
.ef-grid--3 > .ef-service-card:nth-child(3)::before { background-image: url('/wp-content/uploads/2024/03/Building-Systems.webp'); }
.ef-grid--3 > .ef-service-card:nth-child(4)::before { background-image: url('/wp-content/uploads/2023/10/project-management.webp'); }
.ef-grid--3 > .ef-service-card:nth-child(5)::before { background-image: url('/wp-content/uploads/2023/09/equiprepair800x500.webp'); }
.ef-grid--3 > .ef-service-card:nth-child(6)::before { background-image: url('/wp-content/uploads/2023/10/residential.webp'); }

@media (max-width: 921px) {
	.ef-grid--3 > .ef-service-card { padding-top: 204px !important; }
	.ef-grid--3 > .ef-service-card::before { height: 172px; }
}

/* Professional service-detail pages. */
.ef-service-detail .ef-sidebar-layout > div:first-child::before {
	display: none !important;
}

.ef-service-detail-media {
	margin: 0 0 32px !important;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid rgba(215,149,125,.28);
	box-shadow: 0 24px 62px rgba(36,57,66,.18);
}

.ef-service-detail-media img {
	display: block;
	width: 100%;
	height: 360px;
	object-fit: cover;
}

.ef-service-capabilities {
	margin-top: 34px;
}

.ef-service-capabilities .ef-card {
	padding: 26px !important;
	min-height: 205px;
}

.ef-service-capabilities .ef-card::before {
	display: none !important;
}

.ef-service-capabilities .ef-card h3 {
	font-size: 1.08rem !important;
	line-height: 1.22 !important;
	margin-bottom: 12px !important;
}

.ef-service-process .ef-grid--2 > div:first-child {
	min-height: 0 !important;
	padding: 0 !important;
}

.ef-service-process .ef-grid--2 > div:first-child::before {
	display: none !important;
}

.ef-service-process .ef-card {
	min-height: 235px;
}

.ef-cta-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	background: linear-gradient(145deg, #282828 0%, #243942 100%);
	border-top: 4px solid var(--ef-copper);
	border-radius: 4px;
	box-shadow: 0 24px 58px rgba(36,57,66,.20);
	color: #fff;
	padding: 36px;
}

.ef-cta-band h2,
.ef-cta-band p {
	color: #fff !important;
}

.ef-cta-band p {
	max-width: 680px;
	margin-bottom: 0;
	opacity: .86;
}

.ef-cta-band .ef-button--outline {
	border-color: rgba(255,255,255,.78) !important;
	color: #fff !important;
}

@media (max-width: 921px) {
	.ef-service-detail-media img { height: 240px; }
	.ef-service-capabilities .ef-card { min-height: 0; }
	.ef-cta-band { display: block; padding: 28px; }
	.ef-cta-band .ef-button-row { margin-top: 22px; }
}

/* Homepage Why/Contact band cleanup from visual QA. */
body.home .entry-content > .ef-section:nth-of-type(3) {
	margin-top: 0 !important;
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3)::before {
	display: none !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-wrap.ef-grid--2 {
	align-items: start !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr) !important;
	gap: 58px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child {
	min-height: 0 !important;
	padding: 18px 0 18px 380px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child::before {
	bottom: auto !important;
	height: 300px !important;
	left: 0 !important;
	top: 0 !important;
	width: 340px !important;
	background-position: center center !important;
	background-size: cover !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child h2 {
	max-width: 360px;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child .ef-content {
	max-width: 390px;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-card {
	align-self: start !important;
	min-height: 0 !important;
	padding: 32px 34px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-card p {
	margin-bottom: 18px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-card p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 921px) {
	body.home .entry-content > .ef-section:nth-of-type(3) {
		padding-top: 54px !important;
		padding-bottom: 54px !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-wrap.ef-grid--2 {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child {
		padding: 0 !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child::before {
		display: block !important;
		height: 240px !important;
		margin-bottom: 24px !important;
		position: static !important;
		width: 100% !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child h2,
	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child .ef-content {
		max-width: none;
	}
}

/* Refine homepage Why band left-side image/text proportions. */
body.home .entry-content > .ef-section:nth-of-type(3) .ef-wrap.ef-grid--2 {
	grid-template-columns: minmax(650px, 1.25fr) minmax(340px, .75fr) !important;
	gap: 56px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child {
	display: grid !important;
	grid-template-columns: 340px minmax(260px, 1fr) !important;
	gap: 34px !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 0 !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child::before {
	grid-column: 1 !important;
	grid-row: 1 / span 3 !important;
	position: static !important;
	display: block !important;
	height: 300px !important;
	width: 340px !important;
	margin: 0 !important;
	background-position: center center !important;
	background-size: cover !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child > :not(:first-child) {
	grid-column: 2 !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child .ef-kicker,
body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child h2,
body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child .ef-content {
	max-width: 360px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child h2 {
	margin-bottom: 18px !important;
}

body.home .entry-content > .ef-section:nth-of-type(3) .ef-card {
	width: 100% !important;
}

@media (max-width: 1100px) and (min-width: 922px) {
	body.home .entry-content > .ef-section:nth-of-type(3) .ef-wrap.ef-grid--2 {
		grid-template-columns: 1fr !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-card {
		max-width: 520px !important;
	}
}

@media (max-width: 921px) {
	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child {
		display: block !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child::before {
		height: 240px !important;
		width: 100% !important;
		margin-bottom: 24px !important;
	}

	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child .ef-kicker,
	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child h2,
	body.home .entry-content > .ef-section:nth-of-type(3) .ef-grid--2 > div:first-child .ef-content {
		max-width: none !important;
	}
}

/* Final rebuild of homepage Why band: explicit markup, no floating pseudo layout. */
body.home .ef-why-band {
	margin-top: 0 !important;
	padding: 78px 24px !important;
}

body.home .ef-why-band::before,
body.home .ef-why-band .ef-grid--2 > div:first-child::before,
body.home .ef-why-band__story::before,
body.home .ef-why-band__media::before {
	display: none !important;
	content: none !important;
}

body.home .ef-why-band__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 440px !important;
	gap: 64px !important;
	align-items: center !important;
	max-width: 1180px !important;
}

body.home .ef-why-band__story {
	display: grid !important;
	grid-template-columns: 420px minmax(0, 1fr) !important;
	gap: 42px !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 0 !important;
}

body.home .ef-why-band__media {
	margin: 0 !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	box-shadow: 0 24px 64px rgba(0,0,0,.22) !important;
}

body.home .ef-why-band__media img {
	display: block !important;
	width: 100% !important;
	height: 300px !important;
	object-fit: cover !important;
	object-position: center center !important;
}

body.home .ef-why-band__copy {
	max-width: 430px !important;
}

body.home .ef-why-band__copy h2 {
	margin: 10px 0 22px !important;
	max-width: 420px !important;
}

body.home .ef-why-band__copy .ef-content {
	max-width: 420px !important;
	margin: 0 !important;
}

body.home .ef-why-band__contact {
	align-self: center !important;
	justify-self: stretch !important;
	min-height: 0 !important;
	padding: 34px 38px !important;
	width: auto !important;
}

body.home .ef-why-band__contact h3 {
	margin-bottom: 20px !important;
}

body.home .ef-why-band__contact p {
	margin: 0 0 18px !important;
}

body.home .ef-why-band__contact p:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 1200px) {
	body.home .ef-why-band__inner {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
	}

	body.home .ef-why-band__contact {
		justify-self: start !important;
		width: min(100%, 520px) !important;
	}
}

@media (max-width: 760px) {
	body.home .ef-why-band {
		padding: 54px 22px !important;
	}

	body.home .ef-why-band__story {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}

	body.home .ef-why-band__media img {
		height: 250px !important;
	}

	body.home .ef-why-band__copy,
	body.home .ef-why-band__copy h2,
	body.home .ef-why-band__copy .ef-content {
		max-width: none !important;
	}

	body.home .ef-why-band__contact {
		width: 100% !important;
		padding: 28px !important;
	}
}

/* Simplify Why band into a clean three-column composition. */
body.home .ef-why-band__inner {
	display: grid !important;
	grid-template-columns: 390px 390px 430px !important;
	gap: 44px !important;
	align-items: center !important;
	justify-content: center !important;
	max-width: 1320px !important;
}

body.home .ef-why-band__story {
	display: contents !important;
}

body.home .ef-why-band__media {
	grid-column: 1 !important;
}

body.home .ef-why-band__media img {
	height: 300px !important;
}

body.home .ef-why-band__copy {
	grid-column: 2 !important;
	max-width: 390px !important;
}

body.home .ef-why-band__copy h2,
body.home .ef-why-band__copy .ef-content {
	max-width: 390px !important;
}

body.home .ef-why-band__copy h2 {
	font-size: 38px !important;
	line-height: 1.08 !important;
}

body.home .ef-why-band__copy .ef-content {
	font-size: 19px !important;
	line-height: 1.62 !important;
}

body.home .ef-why-band__contact {
	grid-column: 3 !important;
	align-self: center !important;
	justify-self: stretch !important;
	width: auto !important;
}

@media (max-width: 1380px) and (min-width: 922px) {
	body.home .ef-why-band__inner {
		grid-template-columns: 340px 340px 380px !important;
		gap: 34px !important;
	}

	body.home .ef-why-band__copy,
	body.home .ef-why-band__copy h2,
	body.home .ef-why-band__copy .ef-content {
		max-width: 340px !important;
	}

	body.home .ef-why-band__copy h2 {
		font-size: 34px !important;
	}
}

@media (max-width: 1100px) and (min-width: 761px) {
	body.home .ef-why-band__inner {
		grid-template-columns: 1fr 1fr !important;
		max-width: 820px !important;
	}

	body.home .ef-why-band__media { grid-column: 1 !important; }
	body.home .ef-why-band__copy { grid-column: 2 !important; }
	body.home .ef-why-band__contact {
		grid-column: 1 / -1 !important;
		justify-self: start !important;
		width: min(100%, 520px) !important;
	}
}

@media (max-width: 760px) {
	body.home .ef-why-band__inner {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
		justify-content: stretch !important;
	}

	body.home .ef-why-band__story {
		display: block !important;
	}

	body.home .ef-why-band__media,
	body.home .ef-why-band__copy,
	body.home .ef-why-band__contact {
		grid-column: auto !important;
	}

	body.home .ef-why-band__copy h2 {
		font-size: 30px !important;
	}

	body.home .ef-why-band__copy,
	body.home .ef-why-band__copy h2,
	body.home .ef-why-band__copy .ef-content {
		max-width: none !important;
	}
}

/* Brand polish: make green and buttons more restrained/professional. */
:root {
	--ef-green: #526a54;
	--ef-green-soft: #8a9a78;
	--ef-green-deep: #344f40;
	--ef-green-border: #6f7f68;
	--ef-button-bg: #c6816e;
	--ef-button-bg-hover: #a96558;
	--ef-button-border: #b97766;
}

.ef-kicker,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link {
	color: var(--ef-green-soft) !important;
}

.ef-topbar a,
.site-header .main-header-menu .menu-link:hover,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link {
	color: var(--ef-green-soft) !important;
}

.ef-service-card,
.ef-card,
.ef-contact-panel,
.gform_wrapper,
.gform-theme,
form[id^="gform_"] {
	border-color: rgba(111,127,104,.28) !important;
}

.ef-service-card {
	border-top-color: var(--ef-green-border) !important;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
.ef-grid--3 > .ef-service-card {
	border-top-color: var(--ef-green-border) !important;
}

.ef-button,
.ef-button:visited,
.wp-block-button__link,
.gform_button,
.gform_wrapper input[type="submit"],
.gform-theme input[type="submit"],
form[id^="gform_"] input[type="submit"],
form[id^="gform_"] button,
.ast-custom-button-link,
.ast-builder-button-wrap .ast-custom-button-link,
.main-header-menu .client-login a,
.menu-link[href*="client-login"] {
	background: var(--ef-button-bg) !important;
	border: 1px solid var(--ef-button-border) !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	color: #fff !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	text-transform: uppercase !important;
}

.ef-button:hover,
.wp-block-button__link:hover,
.gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform-theme input[type="submit"]:hover,
form[id^="gform_"] input[type="submit"]:hover,
form[id^="gform_"] button:hover,
.ast-custom-button-link:hover,
.ast-builder-button-wrap .ast-custom-button-link:hover,
.menu-link[href*="client-login"]:hover {
	background: var(--ef-button-bg-hover) !important;
	border-color: var(--ef-button-bg-hover) !important;
	color: #fff !important;
}

.ef-button--outline,
.ef-button.ef-button--outline,
.ef-hero .ef-button--outline,
.ef-cta-band .ef-button--outline {
	background: transparent !important;
	border: 1px solid rgba(255,255,255,.72) !important;
	color: #fff !important;
}

.ef-button--outline:hover,
.ef-button.ef-button--outline:hover,
.ef-hero .ef-button--outline:hover,
.ef-cta-band .ef-button--outline:hover {
	background: rgba(255,255,255,.12) !important;
	border-color: rgba(255,255,255,.92) !important;
	color: #fff !important;
}

.ef-section--light .ef-card .ef-button,
.ef-section--light .ef-contact-panel .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card:nth-child(even) .ef-button,
.ef-grid--3 > .ef-service-card .ef-button {
	background: var(--ef-button-bg) !important;
	border-color: var(--ef-button-border) !important;
	color: #fff !important;
}

.ef-section--light .ef-card .ef-button:hover,
.ef-section--light .ef-contact-panel .ef-button:hover,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button:hover,
.ef-grid--3 > .ef-service-card .ef-button:hover {
	background: var(--ef-button-bg-hover) !important;
	border-color: var(--ef-button-bg-hover) !important;
}

/* Button consistency pass: cards use restrained outline, true CTAs stay filled. */
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button:visited,
.ef-grid--3 > .ef-service-card .ef-button,
.ef-grid--3 > .ef-service-card .ef-button:visited {
	background: transparent !important;
	border: 1px solid rgba(255,255,255,.72) !important;
	color: #fff !important;
	box-shadow: none !important;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card .ef-button:hover,
.ef-grid--3 > .ef-service-card .ef-button:hover {
	background: rgba(255,255,255,.10) !important;
	border-color: rgba(255,255,255,.92) !important;
	color: #fff !important;
}

.main-header-menu a[href*="client-login"],
.main-header-menu a[href*="client-login/"] {
	background: var(--ef-button-bg) !important;
	border-color: var(--ef-button-border) !important;
	color: #fff !important;
}

.main-header-menu a[href*="client-login"]:hover,
.main-header-menu a[href*="client-login/"]:hover {
	background: var(--ef-button-bg-hover) !important;
	border-color: var(--ef-button-bg-hover) !important;
	color: #fff !important;
}

/* Palette correction: green accent was too light, button default should match the stronger prior hover. */
:root {
	--ef-green: #455f46;
	--ef-green-soft: #637558;
	--ef-green-deep: #2f4739;
	--ef-green-border: #556852;
	--ef-button-bg: #a96558;
	--ef-button-bg-hover: #8f5048;
	--ef-button-border: #9b5d52;
}

.ef-kicker,
.ef-hero .ef-kicker,
.ef-page-hero .ef-kicker,
body.home .ef-hero .ef-kicker,
body.home .ef-why-band .ef-kicker,
body.home .entry-content > .ef-section .ef-kicker,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link {
	color: var(--ef-green-soft) !important;
}

.ef-hero .ef-kicker,
body.home .ef-hero .ef-kicker {
	color: #6f815f !important;
	text-shadow: 0 1px 1px rgba(0,0,0,.22);
}

.ef-button,
.ef-button:visited,
.wp-block-button__link,
.gform_button,
.gform_wrapper input[type="submit"],
.gform-theme input[type="submit"],
form[id^="gform_"] input[type="submit"],
form[id^="gform_"] button,
.ast-custom-button-link,
.ast-builder-button-wrap .ast-custom-button-link,
.main-header-menu a[href*="client-login"],
.main-header-menu a[href*="client-login/"] {
	background: var(--ef-button-bg) !important;
	border-color: var(--ef-button-border) !important;
}

.ef-button:hover,
.wp-block-button__link:hover,
.gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform-theme input[type="submit"]:hover,
form[id^="gform_"] input[type="submit"]:hover,
form[id^="gform_"] button:hover,
.ast-custom-button-link:hover,
.ast-builder-button-wrap .ast-custom-button-link:hover,
.main-header-menu a[href*="client-login"]:hover,
.main-header-menu a[href*="client-login/"]:hover {
	background: var(--ef-button-bg-hover) !important;
	border-color: var(--ef-button-bg-hover) !important;
}

/* Green balance correction: mid muted sage, not lime and not too dark. */
:root {
	--ef-green: #5f735c;
	--ef-green-soft: #7b8b6d;
	--ef-green-deep: #465b48;
	--ef-green-border: #6d7d66;
}

.ef-kicker,
.ef-hero .ef-kicker,
.ef-page-hero .ef-kicker,
body.home .ef-hero .ef-kicker,
body.home .ef-why-band .ef-kicker,
body.home .entry-content > .ef-section .ef-kicker,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link {
	color: var(--ef-green-soft) !important;
}

.ef-hero .ef-kicker,
body.home .ef-hero .ef-kicker {
	color: #819070 !important;
	text-shadow: 0 1px 1px rgba(0,0,0,.20);
}

.ef-service-card,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
.ef-grid--3 > .ef-service-card {
	border-top-color: var(--ef-green-border) !important;
}

/* Remove green as a UI accent; use neutral slate + terracotta instead. */
:root {
	--ef-green: #8f6f64;
	--ef-green-soft: #b77a69;
	--ef-green-deep: #243942;
	--ef-green-border: #b77a69;
	--ef-button-bg: #9f5f52;
	--ef-button-bg-hover: #824a42;
	--ef-button-border: #9f5f52;
}

.ef-kicker,
.ef-hero .ef-kicker,
.ef-page-hero .ef-kicker,
body.home .ef-hero .ef-kicker,
body.home .ef-why-band .ef-kicker,
body.home .entry-content > .ef-section .ef-kicker,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current_page_item > .menu-link,
.site-header .main-header-menu .menu-link:hover,
.ast-builder-menu-1 .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link {
	color: #b77a69 !important;
}

.ef-hero .ef-kicker,
body.home .ef-hero .ef-kicker {
	color: #c38a79 !important;
	text-shadow: 0 1px 1px rgba(0,0,0,.25);
}

.ef-service-card,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-service-card,
.ef-grid--3 > .ef-service-card {
	border-top-color: #b77a69 !important;
}

.ef-button,
.ef-button:visited,
.wp-block-button__link,
.gform_button,
.gform_wrapper input[type="submit"],
.gform-theme input[type="submit"],
form[id^="gform_"] input[type="submit"],
form[id^="gform_"] button,
.ast-custom-button-link,
.ast-builder-button-wrap .ast-custom-button-link,
.main-header-menu a[href*="client-login"],
.main-header-menu a[href*="client-login/"] {
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	color: #ffffff !important;
}

.ef-button:hover,
.wp-block-button__link:hover,
.gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform-theme input[type="submit"]:hover,
form[id^="gform_"] input[type="submit"]:hover,
form[id^="gform_"] button:hover,
.ast-custom-button-link:hover,
.ast-builder-button-wrap .ast-custom-button-link:hover,
.main-header-menu a[href*="client-login"]:hover,
.main-header-menu a[href*="client-login/"]:hover {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
}

/* Hard fix: Client Login header button readability. */
.ast-builder-menu-1 .main-header-menu .menu-item a[href*="client-login"],
.ast-builder-menu-1 .main-header-menu .menu-item a[href*="client-login/"] ,
.site-header .main-header-menu .menu-item a[href*="client-login"],
.site-header .main-header-menu .menu-item a[href*="client-login/"] {
	background-color: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.ast-builder-menu-1 .main-header-menu .menu-item a[href*="client-login"] span,
.ast-builder-menu-1 .main-header-menu .menu-item a[href*="client-login/"] span,
.site-header .main-header-menu .menu-item a[href*="client-login"] span,
.site-header .main-header-menu .menu-item a[href*="client-login/"] span {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.ast-builder-menu-1 .main-header-menu .menu-item a[href*="client-login"]:hover,
.ast-builder-menu-1 .main-header-menu .menu-item a[href*="client-login/"]:hover,
.site-header .main-header-menu .menu-item a[href*="client-login"]:hover,
.site-header .main-header-menu .menu-item a[href*="client-login/"]:hover {
	background-color: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Navigation polish: keep Astra menus, improve dropdown and mobile usability. */
.ast-desktop .main-header-menu .menu-item-has-children {
	position: relative !important;
}

.ast-desktop .main-header-menu .sub-menu {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.22) !important;
	border-radius: 4px !important;
	border-top: 4px solid #9f5f52 !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.24) !important;
	margin-top: 0 !important;
	min-width: 280px !important;
	overflow: hidden !important;
	padding: 10px 0 !important;
}

.ast-desktop .main-header-menu .sub-menu::before {
	background: #9f5f52 !important;
	content: "" !important;
	height: 10px !important;
	left: 28px !important;
	position: absolute !important;
	top: -8px !important;
	transform: rotate(45deg) !important;
	width: 10px !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-item {
	border-bottom: 1px solid rgba(36,57,66,.09) !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-item:last-child {
	border-bottom: 0 !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-link {
	align-items: center !important;
	color: #243942 !important;
	display: flex !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	justify-content: space-between !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	min-height: 46px !important;
	padding: 13px 20px !important;
	text-transform: none !important;
	white-space: normal !important;
}

.ast-desktop .main-header-menu .sub-menu .menu-link:hover,
.ast-desktop .main-header-menu .sub-menu .menu-item:hover > .menu-link,
.ast-desktop .main-header-menu .sub-menu .current-menu-item > .menu-link {
	background: #f8f6f4 !important;
	color: #9f5f52 !important;
}

.ast-desktop .main-header-menu .menu-item-has-children > .menu-link .dropdown-menu-toggle {
	display: none !important;
	margin-left: 0 !important;
	width: 0 !important;
}

.ast-mobile-header-wrap .ast-primary-header-bar,
.ast-mobile-header-wrap .site-header-primary-section-left,
.ast-mobile-header-wrap .site-header-primary-section-right {
	background: #22343a !important;
	border-top: 1px solid rgba(255,255,255,.05) !important;
	box-shadow: none !important;
}

.ast-mobile-header-wrap .menu-toggle {
	background: rgba(255,255,255,.06) !important;
	border: 1px solid rgba(215,149,125,.55) !important;
	border-radius: 4px !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
	color: #ffffff !important;
	min-height: 42px !important;
	min-width: 44px !important;
}

.ast-mobile-header-wrap .menu-toggle:hover,
.ast-mobile-header-wrap .menu-toggle.toggled {
	background: rgba(159,95,82,.28) !important;
	border-color: rgba(215,149,125,.8) !important;
}

.ast-mobile-header-wrap .menu-toggle .mobile-menu-toggle-icon,
.ast-mobile-header-wrap .menu-toggle .ast-mobile-svg {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.ast-mobile-header-wrap .main-header-menu {
	background: #ffffff !important;
	border-top: 4px solid #9f5f52 !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.20) !important;
	padding: 8px 0 !important;
}

.ast-mobile-header-wrap .main-header-menu .menu-item {
	border-bottom: 1px solid rgba(36,57,66,.10) !important;
	position: relative !important;
}

.ast-mobile-header-wrap .main-header-menu .menu-item:last-child {
	border-bottom: 0 !important;
}

.ast-mobile-header-wrap .main-header-menu .menu-link {
	align-items: center !important;
	color: #243942 !important;
	display: flex !important;
	font-size: 16px !important;
	font-weight: 850 !important;
	justify-content: flex-start !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	min-height: 50px !important;
	padding: 14px 72px 14px 22px !important;
	text-transform: none !important;
}

.ast-mobile-header-wrap .main-header-menu .menu-link:hover,
.ast-mobile-header-wrap .main-header-menu .current-menu-item > .menu-link,
.ast-mobile-header-wrap .main-header-menu .current_page_item > .menu-link {
	background: #f8f6f4 !important;
	color: #9f5f52 !important;
}

.ast-mobile-header-wrap .main-header-menu .sub-menu {
	background: #f8f6f4 !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

.ast-mobile-header-wrap .main-header-menu .sub-menu .menu-link {
	color: #34464d !important;
	font-size: 15px !important;
	font-weight: 750 !important;
	justify-content: flex-start !important;
	min-height: 44px !important;
	padding: 12px 22px 12px 42px !important;
	text-align: left !important;
}

.ast-mobile-header-wrap .main-header-menu .sub-menu .dropdown-menu-toggle,
.ast-mobile-header-wrap .main-header-menu .sub-menu .ast-menu-toggle,
.ast-mobile-header-wrap .main-header-menu .sub-menu .ast-icon,
.ast-mobile-header-wrap .main-header-menu .sub-menu svg {
	display: none !important;
}

.ast-mobile-header-wrap .main-header-menu .ast-menu-toggle {
	align-items: center !important;
	background: rgba(159,95,82,.12) !important;
	border: 1px solid rgba(159,95,82,.28) !important;
	border-radius: 4px !important;
	color: #9f5f52 !important;
	display: inline-flex !important;
	height: 34px !important;
	justify-content: center !important;
	margin: 0 !important;
	position: absolute !important;
	right: 34px !important;
	top: 25px !important;
	transform: translateY(-50%) !important;
	width: 34px !important;
}

.ast-mobile-header-wrap .main-header-menu > .menu-item-has-children > .ast-menu-toggle .ast-icon,
.ast-mobile-header-wrap .main-header-menu > .menu-item-has-children > .ast-menu-toggle .icon-arrow {
	align-items: center !important;
	display: inline-flex !important;
	height: 100% !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.ast-mobile-header-wrap .main-header-menu > .menu-item-has-children > .ast-menu-toggle svg,
.ast-mobile-header-wrap .main-header-menu > .menu-item-has-children > .ast-menu-toggle .ast-arrow-svg {
	display: block !important;
	height: 12px !important;
	margin: 0 auto !important;
	position: static !important;
	transform: none !important;
	width: 12px !important;
}

.ast-mobile-header-wrap .main-header-menu a[href*="client-login"] {
	border-radius: 0 !important;
	box-sizing: border-box !important;
	justify-content: center !important;
	margin: 10px 16px !important;
	min-height: 48px !important;
	padding: 13px 18px !important;
	width: calc(100% - 32px) !important;
}

/* Restore heading hierarchy after removing green: kickers should not wash into H2s. */
body.home .entry-content > .ef-section .ef-kicker,
.ef-kicker,
.ef-page-hero .ef-kicker,
body.home .ef-why-band .ef-kicker {
	color: #5f6c6f !important;
	font-weight: 900 !important;
}

body.home .ef-hero .ef-kicker,
.ef-hero .ef-kicker {
	color: #9fb0a0 !important;
	text-shadow: 0 1px 1px rgba(0,0,0,.28);
}

body.home .entry-content > .ef-section h2,
.entry-content .ef-section h2 {
	color: #b86f5f !important;
}

body.home .ef-why-band h2,
.ef-section--light h2,
.ef-page-hero h1,
.ef-hero h1 {
	color: inherit !important;
}

/* Client Login page: styled Contractor Foreman portal embed. */
body.page .entry-content > .ef-client-login-page {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	width: 100vw !important;
}

.ef-client-login-page .ef-page-hero {
	padding: 74px 24px !important;
}

.ef-client-login-section {
	background:
		linear-gradient(180deg, rgba(247,250,251,.92), rgba(255,255,255,.98)),
		#f7fafb !important;
	padding: 76px 24px 86px !important;
}

.ef-client-login-layout {
	align-items: start;
	display: grid;
	gap: 54px;
	grid-template-columns: minmax(0, 680px) minmax(360px, 430px);
	justify-content: center;
}

.ef-client-login-copy {
	max-width: 680px;
	padding-top: 12px;
}

.ef-client-login-copy h2 {
	color: #b86f5f !important;
	font-size: clamp(34px, 4vw, 52px);
	line-height: 1.05;
	margin: 8px 0 20px;
}

.ef-client-login-copy p:not(.ef-kicker) {
	color: #243942;
	font-size: 18px;
	line-height: 1.72;
	margin: 0;
}

.ef-client-login-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

.ef-button.ef-button--outline-dark {
	background: transparent !important;
	border: 1px solid #9f5f52 !important;
	color: #243942 !important;
}

.ef-button.ef-button--outline-dark:hover {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
}

.ef-client-login-card {
	background: #ffffff;
	border: 1px solid rgba(36,57,66,.12);
	border-radius: 5px;
	box-shadow: 0 26px 70px rgba(36,57,66,.18);
	margin-top: 68px;
	overflow: hidden;
	position: relative;
}

.ef-client-login-card::before {
	background: #9f5f52;
	content: "";
	display: block;
	height: 4px;
	width: 100%;
}

.ef-client-login-card__header {
	align-items: center;
	background: #243942;
	color: #ffffff;
	display: flex;
	justify-content: space-between;
	padding: 18px 24px;
}

.ef-client-login-card__header span {
	font-size: 15px;
	font-weight: 900;
	letter-spacing: .08em;
	line-height: 1;
	text-transform: uppercase;
}

.ef-client-login-card__body {
	background: linear-gradient(180deg, #ffffff, #fbf8f6);
	padding: 22px 18px 20px;
}

.ef-client-login-card iframe {
	border: 0;
	display: block;
	height: 210px;
	margin: 0;
	width: 100%;
}

@media (max-width: 921px) {
	body.page .entry-content > .ef-client-login-page {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.ef-client-login-page .ef-page-hero {
		padding: 52px 22px !important;
	}

	.ef-client-login-section {
		padding: 54px 22px 64px !important;
	}

	.ef-client-login-layout {
		grid-template-columns: 1fr;
	}

	.ef-client-login-copy {
		max-width: none;
		padding-top: 0;
	}

	.ef-client-login-card {
		margin-top: 0;
		max-width: 520px;
		width: 100%;
	}
}

body.home .entry-content > .ef-section:nth-of-type(4) .ef-kicker {
	color: #5f6c6f !important;
}

body.home .entry-content > .ef-section:nth-of-type(4) h2 {
	color: #b86f5f !important;
}

/* Final standardization: every service-card button is identical. */
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card a.ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card a.ef-button:link,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card a.ef-button:visited,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card:nth-child(odd) a.ef-button,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card:nth-child(even) a.ef-button,
.entry-content .ef-grid--3 > .ef-service-card a.ef-button,
.entry-content .ef-grid--3 > .ef-service-card a.ef-button:link,
.entry-content .ef-grid--3 > .ef-service-card a.ef-button:visited,
.entry-content .ef-grid--3 > .ef-service-card:nth-child(odd) a.ef-button,
.entry-content .ef-grid--3 > .ef-service-card:nth-child(even) a.ef-button {
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	line-height: 1 !important;
	min-height: 42px !important;
	padding: 13px 20px !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card a.ef-button:hover,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card:nth-child(odd) a.ef-button:hover,
body.home .entry-content > .ef-section:nth-of-type(2) .ef-grid .ef-service-card:nth-child(even) a.ef-button:hover,
.entry-content .ef-grid--3 > .ef-service-card a.ef-button:hover,
.entry-content .ef-grid--3 > .ef-service-card:nth-child(odd) a.ef-button:hover,
.entry-content .ef-grid--3 > .ef-service-card:nth-child(even) a.ef-button:hover {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Footer polish: business copyright, readable column heads, matching scroll arrow. */
.ef-footer-band h3,
.ef-footer-band .ef-grid h3,
.site-footer .ef-footer-band h3 {
	color: #d7957d !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	margin: 0 0 18px !important;
}

.ef-footer-band p,
.ef-footer-band a {
	color: rgba(255,255,255,.92) !important;
}

.ef-footer-band a:hover {
	color: #d7957d !important;
}

.site-below-footer-wrap,
.ast-footer-copyright,
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p {
	background: #f8f6f4 !important;
	color: #243942 !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.site-footer .ast-footer-copyright a {
	display: none !important;
}

#ast-scroll-top {
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	box-shadow: 0 10px 24px rgba(36,57,66,.22) !important;
	color: #fff !important;
	width: 42px !important;
	height: 42px !important;
	line-height: 42px !important;
}

#ast-scroll-top:hover,
#ast-scroll-top:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #fff !important;
}

#ast-scroll-top .ast-icon,
#ast-scroll-top .ast-icon svg,
#ast-scroll-top .ast-icon svg path {
	color: #fff !important;
	fill: #fff !important;
}

/* Force business-like bottom footer text regardless of Astra stored copyright setting. */
.site-footer .ast-footer-copyright p {
	font-size: 0 !important;
	line-height: 1.6 !important;
	margin: 0 !important;
}

.site-footer .ast-footer-copyright p::after {
	content: "Copyright \00a9 2026 Ervinas Facilities. All rights reserved.";
	color: #243942 !important;
	display: inline-block;
	font-size: 14px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
}

.site-footer .ast-footer-copyright p a,
.site-footer .ast-footer-copyright p a * {
	display: none !important;
}

/* Match the cleaned stored footer text exactly. */
.site-footer .ast-footer-copyright p::after {
	content: "Copyright \00a9\0020 2026 Ervinas Facilities. All rights reserved." !important;
}

/* Service detail page normalization: consistent spacing, sizing, and page-header alignment. */
body.page .entry-content > .ef-service-detail:first-child,
body.page .entry-content .ef-service-detail {
	margin-top: 0 !important;
}

body.page .site-content > .ast-container,
body.page #primary,
body.page .site-main,
body.page .ast-article-single,
body.page .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.page .entry-header.ast-no-thumbnail + .entry-content,
body.page .entry-header + .entry-content {
	margin-top: 0 !important;
}

.ef-service-detail .ef-page-hero {
	padding: 64px 24px 66px !important;
	min-height: 0 !important;
}

.ef-service-detail .ef-page-hero h1 {
	font-size: clamp(42px, 5vw, 64px) !important;
	line-height: 1.04 !important;
	margin: 10px 0 16px !important;
}

.ef-service-detail .ef-page-hero p {
	font-size: 19px !important;
	line-height: 1.55 !important;
	max-width: 760px !important;
	margin-bottom: 0 !important;
}

.ef-service-detail .ef-section {
	padding: 64px 24px !important;
}

.ef-service-detail .ef-section + .ef-section {
	margin-top: 0 !important;
}

.ef-service-detail .ef-sidebar-layout {
	align-items: start !important;
	grid-template-columns: minmax(0, 1fr) 340px !important;
	gap: 44px !important;
}

.ef-service-detail-media {
	margin-bottom: 30px !important;
}

.ef-service-detail-media img {
	height: 320px !important;
}

.ef-service-detail .ef-content {
	font-size: 18px !important;
	line-height: 1.68 !important;
	max-width: 820px !important;
}

.ef-service-detail .ef-service-capabilities {
	gap: 20px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	margin-top: 30px !important;
}

.ef-service-detail .ef-service-capabilities .ef-card {
	min-height: 0 !important;
	padding: 24px !important;
}

.ef-service-detail .ef-service-capabilities .ef-card h3 {
	font-size: 18px !important;
	line-height: 1.24 !important;
	margin-bottom: 10px !important;
}

.ef-service-detail .ef-service-capabilities .ef-card p {
	font-size: 15px !important;
	line-height: 1.55 !important;
	margin-bottom: 0 !important;
}

.ef-service-detail .ef-contact-panel {
	padding: 28px !important;
	position: sticky !important;
	top: 110px !important;
}

.ef-service-detail .ef-contact-panel p {
	margin-bottom: 16px !important;
}

.ef-service-detail .ef-service-process {
	padding: 64px 24px !important;
}

.ef-service-detail .ef-service-process .ef-grid--2 {
	gap: 24px !important;
}

.ef-service-detail .ef-service-process .ef-card {
	min-height: 0 !important;
	padding: 28px !important;
}

.ef-service-detail .ef-service-process .ef-card p {
	margin-bottom: 0 !important;
}

.ef-service-detail .ef-cta-band {
	align-items: center !important;
	gap: 28px !important;
	min-height: 0 !important;
	padding: 32px !important;
}

.ef-service-detail .ef-cta-band h2 {
	font-size: 32px !important;
	line-height: 1.16 !important;
	margin-bottom: 12px !important;
}

.ef-service-detail .ef-cta-band p {
	font-size: 17px !important;
	line-height: 1.55 !important;
}

@media (max-width: 1100px) {
	.ef-service-detail .ef-sidebar-layout {
		grid-template-columns: 1fr !important;
	}

	.ef-service-detail .ef-contact-panel {
		position: static !important;
	}
}

@media (max-width: 921px) {
	.ef-service-detail .ef-page-hero {
		padding: 52px 22px !important;
	}

	.ef-service-detail .ef-section,
	.ef-service-detail .ef-service-process {
		padding: 52px 22px !important;
	}

	.ef-service-detail-media img {
		height: 250px !important;
	}

	.ef-service-detail .ef-service-capabilities {
		grid-template-columns: 1fr !important;
	}

	.ef-service-detail .ef-cta-band {
		display: block !important;
		padding: 28px !important;
	}
}

/* Remove residual Astra entry-header gap above custom service heroes. */
body.page .entry-header,
body.page .entry-header.ast-no-thumbnail,
body.page article.ast-article-single > .entry-header {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.page article.ast-article-single,
body.page .entry-content.clear,
body.page .entry-content.clear > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page .entry-content.clear > .ef-service-detail:first-child,
body.page .entry-content.clear > .ef-service-detail:first-child .ef-page-hero:first-child {
	margin-top: -25.59375px !important;
}

body.page .entry-content.clear > .ef-service-detail:first-child .ef-page-hero:first-child {
	padding-top: calc(64px + 25.59375px) !important;
}

/* Service child pages: remove Astra primary-to-main offset above custom hero. */
body.page-child.parent-pageid-15 #primary,
body.page-child.parent-pageid-15 #main,
body.page-child.parent-pageid-15 .site-main,
body.page-child.parent-pageid-15 article.ast-article-single {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.page-child.parent-pageid-15 #main {
	position: relative !important;
	top: -25.59375px !important;
	margin-bottom: -25.59375px !important;
}

/* Service lower-section cleanup: remove leftover strip and standardize bottom CTA width/spacing. */
.ef-service-detail .ef-section--light::before,
.ef-service-detail .ef-service-process::before {
	display: none !important;
	content: none !important;
}

.ef-service-detail .ef-service-process {
	margin-top: 0 !important;
	padding-top: 68px !important;
	padding-bottom: 68px !important;
}

.ef-service-detail .ef-service-process .ef-wrap {
	max-width: 1180px !important;
}

.ef-service-detail .ef-service-process .ef-grid--2 {
	align-items: stretch !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ef-service-detail .ef-service-process .ef-card {
	height: 100% !important;
}

.ef-service-detail > .ef-section:last-child {
	padding-top: 64px !important;
	padding-bottom: 76px !important;
	background: #fff !important;
}

.ef-service-detail > .ef-section:last-child .ef-wrap {
	max-width: 1180px !important;
}

.ef-service-detail .ef-cta-band {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
	margin: 0 auto !important;
	padding: 40px 44px !important;
}

.ef-service-detail .ef-cta-band .ef-button-row {
	min-width: 310px !important;
	justify-content: flex-start !important;
}

.ef-service-detail .ef-cta-band .ef-button {
	min-width: 230px !important;
	text-align: center !important;
}

@media (max-width: 921px) {
	.ef-service-detail .ef-service-process .ef-grid--2 {
		grid-template-columns: 1fr !important;
	}

	.ef-service-detail .ef-cta-band {
		padding: 30px !important;
	}

	.ef-service-detail .ef-cta-band .ef-button-row,
	.ef-service-detail .ef-cta-band .ef-button {
		min-width: 0 !important;
		width: 100% !important;
	}
}

/* Service template card rhythm: consistent internal spacing across every section. */
.ef-service-detail .ef-card,
.ef-service-detail .ef-contact-panel,
.ef-service-detail .ef-cta-band {
	box-sizing: border-box !important;
}

.ef-service-detail .ef-service-process .ef-card,
.ef-service-detail .ef-service-capabilities .ef-card,
.ef-service-detail .ef-contact-panel {
	padding: 30px !important;
}

.ef-service-detail .ef-service-process .ef-card h3,
.ef-service-detail .ef-service-capabilities .ef-card h3,
.ef-service-detail .ef-contact-panel h3 {
	margin: 0 0 14px !important;
	padding: 0 !important;
	line-height: 1.18 !important;
}

.ef-service-detail .ef-service-process .ef-card p,
.ef-service-detail .ef-service-capabilities .ef-card p,
.ef-service-detail .ef-contact-panel p {
	margin-top: 0 !important;
}

.ef-service-detail .ef-service-process .ef-card p:last-child,
.ef-service-detail .ef-service-capabilities .ef-card p:last-child,
.ef-service-detail .ef-contact-panel p:last-child {
	margin-bottom: 0 !important;
}

.ef-service-detail .ef-service-process .ef-card {
	border-top-width: 4px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	min-height: 190px !important;
}

.ef-service-detail .ef-service-process .ef-card h3 {
	font-size: 24px !important;
}

.ef-service-detail .ef-service-process .ef-card p {
	font-size: 17px !important;
	line-height: 1.62 !important;
}

.ef-service-detail .ef-service-process .ef-grid--2 {
	gap: 28px !important;
}

.ef-service-detail .ef-service-process h2 {
	margin-bottom: 28px !important;
}

/* Kill old first-child pseudo/layout rule inside service process cards. */
.ef-service-detail .ef-service-process .ef-grid--2 > .ef-card:first-child,
.ef-service-detail .ef-service-process .ef-grid--2 > .ef-card:first-child.ef-card,
.ef-service-detail .ef-service-process .ef-grid--2 > div:first-child {
	min-height: 190px !important;
	padding: 30px !important;
}

.ef-service-detail .ef-service-process .ef-grid--2 > .ef-card:first-child::before,
.ef-service-detail .ef-service-process .ef-grid--2 > div:first-child::before {
	display: none !important;
	content: none !important;
}

/* Service contact panel button cleanup. */
.ef-service-detail .ef-contact-panel .ef-button,
.ef-service-detail .ef-contact-panel .ef-button:link,
.ef-service-detail .ef-contact-panel .ef-button:visited {
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	min-height: 44px !important;
	padding: 12px 16px !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	width: 100% !important;
}

.ef-service-detail .ef-contact-panel .ef-button:hover,
.ef-service-detail .ef-contact-panel .ef-button:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.ef-service-detail .ef-contact-panel p:has(.ef-button) {
	margin: 12px 0 0 !important;
}

.ef-service-detail .ef-contact-panel p:has(.ef-button) + p:has(.ef-button) {
	margin-top: 10px !important;
}

/* Contact page rebuild. */
body.page-id-23 #primary,
body.page-id-23 #main,
body.page-id-23 .site-main,
body.page-id-23 article.ast-article-single,
body.page-id-23 .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.ef-contact-page .ef-page-hero {
	padding: 70px 24px !important;
}

.ef-contact-page .ef-page-hero h1 {
	font-size: clamp(44px, 5vw, 68px) !important;
	line-height: 1.03 !important;
	margin-bottom: 16px !important;
}

.ef-contact-intro {
	background: #fff !important;
	padding: 34px 24px !important;
}

.ef-contact-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ef-contact-actions > div {
	background: #fffdfb;
	border: 1px solid rgba(184,111,95,.22);
	border-top: 4px solid #b77a69;
	border-radius: 4px;
	box-shadow: 0 18px 44px rgba(36,57,66,.10);
	padding: 22px 24px;
}

.ef-contact-actions span {
	color: #5f6c6f;
	display: block;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .08em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.ef-contact-actions a {
	color: #243942 !important;
	font-size: 18px;
	font-weight: 800;
	text-decoration: none !important;
}

.ef-contact-main {
	background: #f8f6f4 !important;
	padding: 64px 24px !important;
}

.ef-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 42px;
	align-items: start;
}

.ef-contact-form-panel {
	background: #fff;
	border: 1px solid rgba(184,111,95,.18);
	border-top: 4px solid #b77a69;
	border-radius: 4px;
	box-shadow: 0 24px 62px rgba(36,57,66,.12);
	padding: 34px;
}

.ef-contact-form-panel h2 {
	color: #b86f5f !important;
	font-size: 34px !important;
	line-height: 1.16 !important;
	margin: 8px 0 12px !important;
}

.ef-contact-form-panel > p {
	color: #243942 !important;
	font-size: 17px;
	line-height: 1.6;
	margin-bottom: 26px;
	max-width: 760px;
}

.ef-contact-form-panel .gform_wrapper,
.ef-contact-form-panel form[id^="gform_"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #243942 !important;
	padding: 0 !important;
}

.ef-contact-form-panel .gform_wrapper label,
.ef-contact-form-panel .gform_wrapper legend,
.ef-contact-form-panel .gfield_label,
.ef-contact-form-panel .gfield_description,
.ef-contact-form-panel .gchoice label {
	color: #243942 !important;
}

.ef-contact-form-panel input[type="text"],
.ef-contact-form-panel input[type="email"],
.ef-contact-form-panel input[type="tel"],
.ef-contact-form-panel textarea,
.ef-contact-form-panel select {
	background: #fff !important;
	border: 1px solid rgba(36,57,66,.24) !important;
	border-radius: 3px !important;
	color: #243942 !important;
}

.ef-contact-page-card {
	position: sticky;
	top: 110px;
}

.ef-contact-page-card .ef-button {
	width: 100% !important;
}

.ef-contact-routing {
	background: #fff !important;
	padding: 64px 24px 76px !important;
}

.ef-contact-routing h2 {
	color: #b86f5f !important;
	font-size: 34px !important;
	line-height: 1.16 !important;
	margin: 8px 0 28px !important;
}

.ef-contact-routing .ef-card {
	background: linear-gradient(145deg, #282828 0%, #243942 100%) !important;
	border: 1px solid rgba(215,149,125,.32) !important;
	border-top: 4px solid #b77a69 !important;
	color: #fff !important;
	padding: 28px !important;
}

.ef-contact-routing .ef-card h3,
.ef-contact-routing .ef-card p {
	color: #fff !important;
}

.ef-contact-routing .ef-card h3 {
	font-size: 22px !important;
	line-height: 1.2 !important;
	margin-bottom: 12px !important;
}

.ef-contact-routing .ef-card p {
	font-size: 16px !important;
	line-height: 1.58 !important;
}

.ef-contact-routing .ef-card .ef-button {
	width: 100% !important;
}

@media (max-width: 921px) {
	.ef-contact-actions,
	.ef-contact-layout {
		grid-template-columns: 1fr;
	}

	.ef-contact-main,
	.ef-contact-routing {
		padding: 52px 22px !important;
	}

	.ef-contact-form-panel {
		padding: 28px;
	}

	.ef-contact-page-card {
		position: static;
	}
}

/* Contact page: remove Astra wrapper offset above custom hero. */
body.page-id-23 #main {
	position: relative !important;
	top: -25.59375px !important;
	margin-bottom: -25.59375px !important;
}

/* Global sidebar/contact-panel button uniformity. */
.ef-contact-panel p:has(.ef-button),
.ef-contact-page-card p:has(.ef-button),
.ef-sidebar-layout .ef-contact-panel p:has(.ef-button) {
	margin: 12px 0 0 !important;
}

.ef-contact-panel p:has(.ef-button) + p:has(.ef-button),
.ef-contact-page-card p:has(.ef-button) + p:has(.ef-button),
.ef-sidebar-layout .ef-contact-panel p:has(.ef-button) + p:has(.ef-button) {
	margin-top: 10px !important;
}

.ef-contact-panel .ef-button,
.ef-contact-panel .ef-button:link,
.ef-contact-panel .ef-button:visited,
.ef-sidebar-layout .ef-contact-panel .ef-button,
.ef-sidebar-layout .ef-contact-panel .ef-button:link,
.ef-sidebar-layout .ef-contact-panel .ef-button:visited,
.ef-contact-page-card .ef-button,
.ef-contact-page-card .ef-button:link,
.ef-contact-page-card .ef-button:visited {
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	min-height: 44px !important;
	padding: 12px 16px !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	width: 100% !important;
}

.ef-contact-panel .ef-button:hover,
.ef-contact-panel .ef-button:focus,
.ef-sidebar-layout .ef-contact-panel .ef-button:hover,
.ef-sidebar-layout .ef-contact-panel .ef-button:focus,
.ef-contact-page-card .ef-button:hover,
.ef-contact-page-card .ef-button:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Work Request page cleanup: align form and urgent-service sidebar with current site system. */
body.page-id-24 #main {
	position: relative !important;
	top: -25.59375px !important;
	margin-bottom: -25.59375px !important;
}

body.page-id-24 .entry-content > .ef-page-hero:first-child {
	padding: 70px 24px !important;
	box-shadow: inset 0 -48px 72px rgba(0,0,0,.16) !important;
}

body.page-id-24 .ef-page-hero h1 {
	font-size: clamp(44px, 5vw, 68px) !important;
	line-height: 1.03 !important;
	margin: 10px 0 16px !important;
}

body.page-id-24 .ef-page-hero p {
	font-size: 19px !important;
	line-height: 1.55 !important;
	margin-bottom: 0 !important;
	max-width: 760px !important;
}

body.page-id-24 .entry-content > .ef-section {
	background: #f8f6f4 !important;
	padding: 64px 24px 76px !important;
}

body.page-id-24 .ef-sidebar-layout {
	align-items: start !important;
	display: grid !important;
	gap: 42px !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	max-width: 1180px !important;
}

body.page-id-24 .ef-content {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.18) !important;
	border-radius: 4px !important;
	border-top: 4px solid #b77a69 !important;
	box-shadow: 0 24px 62px rgba(36,57,66,.12) !important;
	box-sizing: border-box !important;
	color: #243942 !important;
	font-size: 17px !important;
	line-height: 1.6 !important;
	max-width: none !important;
	padding: 34px !important;
}

body.page-id-24 .ef-content h2 {
	color: #b86f5f !important;
	font-size: 34px !important;
	line-height: 1.16 !important;
	margin: 0 0 22px !important;
}

body.page-id-24 #gform_wrapper_2,
body.page-id-24 .ef-content .gform_wrapper,
body.page-id-24 .ef-content form[id^="gform_"] {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #243942 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.page-id-24 .gform_wrapper label,
body.page-id-24 .gform_wrapper legend,
body.page-id-24 .gfield_label,
body.page-id-24 .gfield_description,
body.page-id-24 .gchoice label {
	color: #243942 !important;
}

body.page-id-24 .gform_wrapper input[type="text"],
body.page-id-24 .gform_wrapper input[type="email"],
body.page-id-24 .gform_wrapper input[type="tel"],
body.page-id-24 .gform_wrapper textarea,
body.page-id-24 .gform_wrapper select {
	background: #ffffff !important;
	border: 1px solid rgba(36,57,66,.24) !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	color: #243942 !important;
}

body.page-id-24 .gform_wrapper input:focus,
body.page-id-24 .gform_wrapper textarea:focus,
body.page-id-24 .gform_wrapper select:focus {
	border-color: #9f5f52 !important;
	box-shadow: 0 0 0 3px rgba(159,95,82,.14) !important;
	outline: 0 !important;
}

body.page-id-24 .gform_footer,
body.page-id-24 .gform_page_footer {
	margin-top: 24px !important;	
	padding-top: 0 !important;
}

body.page-id-24 input.gform_button,
body.page-id-24 input.gform_button.button,
body.page-id-24 .gform_footer input[type="submit"] {
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	min-height: 44px !important;
	padding: 12px 18px !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

body.page-id-24 input.gform_button:hover,
body.page-id-24 input.gform_button:focus,
body.page-id-24 .gform_footer input[type="submit"]:hover,
body.page-id-24 .gform_footer input[type="submit"]:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.page-id-24 .ef-contact-panel {
	background: linear-gradient(145deg, #282828 0%, #243942 100%) !important;
	border: 1px solid rgba(215,149,125,.32) !important;
	border-radius: 4px !important;
	border-top: 4px solid #b77a69 !important;
	box-shadow: 0 24px 62px rgba(36,57,66,.16) !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	padding: 30px !important;
	position: sticky !important;
	top: 110px !important;
}

body.page-id-24 .ef-contact-panel h3 {
	color: #ffffff !important;
	font-size: 24px !important;
	line-height: 1.18 !important;
	margin: 0 0 14px !important;
}

body.page-id-24 .ef-contact-panel p {
	color: rgba(255,255,255,.92) !important;
	font-size: 16px !important;
	line-height: 1.58 !important;
	margin: 0 0 14px !important;
}

body.page-id-24 .ef-contact-panel a:not(.ef-button) {
	color: #ffffff !important;
	font-weight: 800 !important;
}

@media (max-width: 921px) {
	body.page-id-24 .entry-content > .ef-page-hero:first-child,
	body.page-id-24 .entry-content > .ef-section {
		padding: 52px 22px !important;
	}

	body.page-id-24 .ef-sidebar-layout {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	body.page-id-24 .ef-content,
	body.page-id-24 .ef-contact-panel {
		padding: 28px !important;
	}

	body.page-id-24 .ef-contact-panel {
		position: static !important;
	}
}

/* Work Request: Gutenberg inserted an empty paragraph between grid columns; keep the sidebar in column two. */
body.page-id-24 .ef-sidebar-layout > p:empty,
body.page-id-24 .ef-sidebar-layout > p:has(+ .ef-contact-panel):not(:has(*)) {
	display: none !important;
}

body.page-id-24 .ef-sidebar-layout > .ef-content {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.page-id-24 .ef-sidebar-layout > .ef-contact-panel {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

@media (max-width: 921px) {
	body.page-id-24 .ef-sidebar-layout > .ef-contact-panel {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

/* Work Request: prevent double horizontal padding inside full-width bands. */
body.page-id-24 .ef-page-hero .ef-wrap,
body.page-id-24 .ef-section .ef-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.page-id-24 {
	overflow-x: hidden !important;
}

/* Theme footer: inspired by the live information, rebuilt for this local design. */
.ef-theme-footer {
	background:
		radial-gradient(circle at 80% 10%, rgba(36,57,66,.82), transparent 38%),
		linear-gradient(135deg, #1f1f1f 0%, #252525 48%, #243942 100%) !important;
	border-top: 4px solid #9f5f52 !important;
	color: #ffffff !important;
	padding: 58px 24px 0 !important;
}

.ef-theme-footer__inner {
	display: grid !important;
	gap: clamp(34px, 3.2vw, 56px) !important;
	grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) minmax(250px, 330px) !important;
	margin: 0 auto !important;
	max-width: 1600px !important;
}

.ef-theme-footer__logo {
	display: block !important;
	height: auto !important;
	margin: 0 0 22px !important;
	max-width: 300px !important;
	width: 100% !important;
}

.ef-theme-footer p,
.ef-theme-footer a,
.ef-theme-footer span {
	color: rgba(255,255,255,.86) !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
}

.ef-theme-footer a {
	text-decoration: none !important;
}

.ef-theme-footer a:hover,
.ef-theme-footer a:focus {
	color: #d7957d !important;
}

.ef-theme-footer__brand p {
	margin: 0 0 22px !important;
	max-width: 330px !important;
}

.ef-theme-footer__contact {
	display: grid !important;
	gap: 7px !important;
}

.ef-theme-footer h2 {
	color: #d7957d !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	line-height: 1.2 !important;
	margin: 0 0 16px !important;
	text-transform: uppercase !important;
}

.ef-theme-footer__nav {
	border-left: 1px solid rgba(255,255,255,.12) !important;
	border-right: 1px solid rgba(255,255,255,.12) !important;
	display: grid !important;
	gap: clamp(26px, 2.4vw, 42px) !important;
	grid-template-columns: minmax(120px, .75fr) minmax(220px, 1.35fr) minmax(160px, 1fr) !important;
	padding: 0 clamp(28px, 3vw, 48px) !important;
}

.ef-theme-footer nav {
	display: grid !important;
	gap: 8px !important;
}

.ef-theme-footer nav a {
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
}

.ef-theme-footer__service-area {
	background: rgba(255,255,255,.055) !important;
	border: 1px solid rgba(215,149,125,.26) !important;
	border-radius: 6px !important;
	box-shadow: 0 22px 54px rgba(0,0,0,.18) !important;
	padding: 26px !important;
}

.ef-theme-footer__service-area p {
	border-bottom: 1px solid rgba(255,255,255,.12) !important;
	display: grid !important;
	gap: 2px !important;
	margin: 0 !important;
	padding: 12px 0 !important;
}

.ef-theme-footer__service-area p:first-of-type {
	padding-top: 0 !important;
}

.ef-theme-footer__service-area strong {
	color: #ffffff !important;
	font-size: 17px !important;
	font-weight: 800 !important;
}

.ef-theme-footer__service-area span {
	color: rgba(255,255,255,.72) !important;
	font-size: 14px !important;
}

.ef-theme-footer__button {
	align-items: center !important;
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	color: #ffffff !important;
	display: inline-flex !important;
	font-size: 14px !important;
	font-weight: 900 !important;
	justify-content: center !important;
	letter-spacing: .02em !important;
	line-height: 1.1 !important;
	margin-top: 22px !important;
	min-height: 44px !important;
	padding: 12px 18px !important;
	text-align: center !important;
	text-transform: uppercase !important;
	width: 100% !important;
}

.ef-theme-footer__button:hover,
.ef-theme-footer__button:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
}

.ef-theme-footer__bottom {
	border-top: 1px solid rgba(255,255,255,.13) !important;
	margin: 48px auto 0 !important;
	max-width: 1600px !important;
	padding: 20px 0 22px !important;
	text-align: center !important;
}

.ef-theme-footer__bottom span {
	color: rgba(255,255,255,.62) !important;
	font-size: 14px !important;
}

.site-below-footer-wrap,
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p {
	display: none !important;
}

@media (max-width: 1300px) {
	.ef-theme-footer__inner {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 330px) !important;
	}

	.ef-theme-footer__nav {
		border-left: 0 !important;
		border-right: 0 !important;
		border-top: 1px solid rgba(255,255,255,.12) !important;
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		padding: 32px 0 0 !important;
	}
}

@media (max-width: 1100px) {
	.ef-theme-footer__inner {
		grid-template-columns: 1fr !important;
		gap: 38px !important;
	}

	.ef-theme-footer__brand p {
		max-width: 650px !important;
	}

	.ef-theme-footer__nav {
		border-left: 0 !important;
		border-right: 0 !important;
		border-top: 1px solid rgba(255,255,255,.12) !important;
		padding: 34px 0 0 !important;
	}

	.ef-theme-footer__service-area {
		max-width: 560px !important;
	}
}

@media (max-width: 760px) {
	.ef-theme-footer {
		padding: 42px 22px 0 !important;
	}

	.ef-theme-footer__nav {
		grid-template-columns: 1fr !important;
		gap: 26px !important;
	}

	.ef-theme-footer__service-area {
		padding: 22px !important;
	}
}

/* Articles archive and post templates. */
body.blog .site-content > .ast-container,
body.single-post .site-content > .ast-container,
body.single-ef_project .site-content > .ast-container {
	display: block !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.blog #primary,
body.single-post #primary,
body.single-ef_project #primary {
	margin: 0 !important;
	max-width: none !important;
	padding: 0 !important;
	width: 100% !important;
}

.ef-articles-page,
.ef-single-post,
.ef-project-single {
	background: #f8f6f4 !important;
	color: #243942 !important;
	overflow-x: hidden !important;
}

.ef-articles-hero,
.ef-post-hero,
.ef-project-hero {
	padding: 70px 24px !important;
	box-shadow: inset 0 -48px 72px rgba(0,0,0,.16) !important;
}

.ef-articles-hero .ef-wrap,
.ef-post-hero .ef-wrap,
.ef-articles-section .ef-wrap,
.ef-post-section .ef-wrap,
.ef-project-section .ef-wrap,
.ef-post-footer .ef-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ef-articles-hero h1,
.ef-post-hero h1,
.ef-project-hero h1 {
	font-size: clamp(44px, 5vw, 68px) !important;
	line-height: 1.03 !important;
	margin: 10px 0 16px !important;
	max-width: 900px !important;
}

.ef-articles-hero p,
.ef-post-hero p,
.ef-project-hero p {
	font-size: 19px !important;
	line-height: 1.55 !important;
	margin-bottom: 0 !important;
	max-width: 760px !important;
}

.ef-post-meta {
	color: rgba(255,255,255,.82) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

.ef-articles-section {
	background: #f8f6f4 !important;
	padding: 64px 24px 76px !important;
}

.ef-articles-grid {
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ef-open-positions-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 420px)) !important;
}

.ef-article-card {
	background: linear-gradient(145deg, #282828 0%, #243942 100%) !important;
	border: 1px solid rgba(215,149,125,.32) !important;
	border-radius: 4px !important;
	border-top: 4px solid #b77a69 !important;
	box-shadow: 0 24px 62px rgba(36,57,66,.16) !important;
	box-sizing: border-box !important;
	color: #ffffff !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 100% !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.ef-article-card__image {
	background: #1f2f36 !important;
	display: block !important;
	overflow: hidden !important;
}

.ef-article-card__image img {
	aspect-ratio: 16 / 9 !important;
	display: block !important;
	height: auto !important;
	object-fit: cover !important;
	width: 100% !important;
}

.ef-article-card__placeholder {
	aspect-ratio: 16 / 9 !important;
	background:
		linear-gradient(145deg, rgba(40,40,40,.88), rgba(36,57,66,.94)),
		linear-gradient(90deg, rgba(215,149,125,.28), rgba(255,255,255,.04)) !important;
	box-sizing: border-box !important;
	color: rgba(255,255,255,.72) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 180px !important;
	padding: 24px !important;
	text-align: center !important;
	width: 100% !important;
}

.ef-article-card__placeholder span {
	border: 1px solid rgba(255,255,255,.24) !important;
	border-radius: 3px !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	padding: 10px 14px !important;
	text-transform: uppercase !important;
}

.ef-article-card__body {
	display: flex !important;
	flex: 1 !important;
	flex-direction: column !important;
	padding: 28px 30px 30px !important;
}

.ef-article-card__meta {
	color: rgba(255,255,255,.64) !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	margin: 0 0 10px !important;
	text-transform: uppercase !important;
}

.ef-article-card h2 {
	font-size: 25px !important;
	line-height: 1.16 !important;
	margin: 0 0 14px !important;
}

.ef-article-card h2 a {
	color: #ffffff !important;
	text-decoration: none !important;
}

.ef-article-card__body > p:not(.ef-article-card__meta) {
	color: rgba(255,255,255,.88) !important;
	font-size: 16px !important;
	line-height: 1.58 !important;
	margin: 0 0 24px !important;
}

.ef-article-card .ef-button {
	align-items: center !important;
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	color: #ffffff !important;
	display: flex !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	justify-content: center !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	margin-top: auto !important;
	min-height: 44px !important;
	padding: 12px 16px !important;
	text-align: center !important;
	text-transform: uppercase !important;
	width: 100% !important;
}

.ef-article-card .ef-button:hover,
.ef-article-card .ef-button:focus,
.ef-post-footer > .ef-wrap > .ef-button:hover,
.ef-post-footer > .ef-wrap > .ef-button:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
}

.ef-articles-page .navigation.pagination {
	margin-top: 40px !important;
	text-align: center !important;
}

.ef-articles-page .page-numbers {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.22) !important;
	border-radius: 3px !important;
	color: #243942 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 38px !important;
	min-width: 38px !important;
	padding: 8px 12px !important;
	text-decoration: none !important;
}

.ef-articles-page .page-numbers.current,
.ef-articles-page .page-numbers:hover {
	background: #9f5f52 !important;
	border-color: #9f5f52 !important;
	color: #ffffff !important;
}

.ef-post-section {
	background: #f8f6f4 !important;
	padding: 64px 24px 48px !important;
}

.ef-post-layout {
	align-items: start !important;
	display: grid !important;
	gap: 42px !important;
	grid-template-columns: minmax(0, 1fr) 360px !important;
	max-width: 1180px !important;
}

.ef-post-article {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.18) !important;
	border-radius: 4px !important;
	border-top: 4px solid #b77a69 !important;
	box-shadow: 0 24px 62px rgba(36,57,66,.12) !important;
	color: #243942 !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.ef-post-featured {
	margin: 0 !important;
}

.ef-post-featured img {
	aspect-ratio: 16 / 9 !important;
	display: block !important;
	height: auto !important;
	object-fit: cover !important;
	width: 100% !important;
}

.ef-post-content {
	font-size: 18px !important;
	line-height: 1.72 !important;
	padding: 36px 40px 42px !important;
}

.ef-post-content > *:first-child {
	margin-top: 0 !important;
}

.ef-post-content h2,
.ef-post-content h3 {
	color: #b86f5f !important;
	line-height: 1.2 !important;
	margin: 34px 0 14px !important;
}

.ef-post-content p,
.ef-post-content li {
	color: #243942 !important;
}

.ef-post-content a {
	color: #824a42 !important;
	font-weight: 800 !important;
}

.ef-post-sidebar {
	position: sticky !important;
	top: 110px !important;
}

.ef-post-sidebar__actions {
	display: grid !important;
	gap: 10px !important;
	margin-top: 18px !important;
}

.ef-post-footer {
	background: #ffffff !important;
	padding: 0 24px 76px !important;
}

.ef-post-footer__inner {
	display: grid !important;
	gap: 24px !important;
	grid-template-columns: 280px minmax(0, 1fr) !important;
	max-width: 1180px !important;
}

.ef-post-footer > .ef-wrap > .ef-button {
	align-items: center !important;
	align-self: start !important;
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	color: #ffffff !important;
	display: flex !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	justify-content: center !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	min-height: 44px !important;
	padding: 12px 16px !important;
	text-align: center !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	width: 100% !important;
}

.ef-post-nav {
	display: grid !important;
	gap: 18px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	margin: 0 !important;
}

.ef-post-nav__item {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.20) !important;
	border-radius: 6px !important;
	border-top: 4px solid #9f5f52 !important;
	box-shadow: 0 18px 44px rgba(36,57,66,.10) !important;
	color: #243942 !important;
	display: grid !important;
	min-height: 116px !important;
	padding: 22px 24px !important;
	text-decoration: none !important;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.ef-post-nav__item--next {
	text-align: right !important;
}

.ef-post-nav__item:not(.ef-post-nav__item--empty):hover,
.ef-post-nav__item:not(.ef-post-nav__item--empty):focus {
	border-color: rgba(159,95,82,.46) !important;
	box-shadow: 0 24px 58px rgba(36,57,66,.15) !important;
	color: #243942 !important;
	transform: translateY(-2px) !important;
}

.ef-post-nav__label {
	color: #9f5f52 !important;
	display: block !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	line-height: 1.2 !important;
	margin-bottom: 10px !important;
	text-transform: uppercase !important;
}

.ef-post-nav__title {
	color: #243942 !important;
	display: block !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

.ef-post-nav__item--empty {
	background: #f8f6f4 !important;
	box-shadow: none !important;
	opacity: .72 !important;
}

/* Portfolio projects. */
.ef-projects-hero,
.ef-project-hero {
	background:
		linear-gradient(90deg, rgba(31,31,31,.94), rgba(36,57,66,.86)),
		#243942 !important;
}

.ef-projects-section {
	background: #fffdfb !important;
}

.ef-project-grid {
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.ef-project-card {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.18) !important;
	border-radius: 6px !important;
	box-shadow: 0 22px 58px rgba(36,57,66,.12) !important;
	overflow: hidden !important;
}

.ef-project-card__media {
	aspect-ratio: 4 / 3 !important;
	background: #243942 !important;
	display: block !important;
	overflow: hidden !important;
}

.ef-project-card__media img {
	display: block !important;
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

.ef-project-card__placeholder {
	align-items: center !important;
	color: rgba(255,255,255,.72) !important;
	display: flex !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	height: 100% !important;
	justify-content: center !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

.ef-project-card__body {
	padding: 28px !important;
}

.ef-project-card__type,
.ef-project-card__location {
	color: #9f5f52 !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	margin: 0 0 10px !important;
	text-transform: uppercase !important;
}

.ef-project-card h2 {
	font-size: 24px !important;
	line-height: 1.18 !important;
	margin: 0 0 14px !important;
}

.ef-project-card h2 a {
	color: #243942 !important;
	text-decoration: none !important;
}

.ef-project-card p {
	color: #3f4d52 !important;
	line-height: 1.6 !important;
}

.ef-project-card .ef-button {
	margin-top: 12px !important;
}

.ef-project-section {
	background: #f8f6f4 !important;
}

.ef-project-sidebar {
	position: sticky !important;
	top: 110px !important;
}

.ef-project-sidebar h3 {
	color: #ffffff !important;
	font-size: 24px !important;
	line-height: 1.16 !important;
	margin: 0 0 16px !important;
}

.ef-project-sidebar h3 + .ef-project-meta-list,
.ef-project-sidebar .ef-project-meta-list + h3 {
	margin-top: 24px !important;
}

.ef-project-meta-list {
	border-bottom: 1px solid rgba(255,255,255,.14) !important;
	display: grid !important;
	gap: 12px !important;
	margin-bottom: 24px !important;
	padding-bottom: 22px !important;
}

.ef-project-meta-list p {
	margin: 0 !important;
}

.ef-project-meta-list span {
	color: #d7957d !important;
	display: block !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: .08em !important;
	line-height: 1.2 !important;
	margin-bottom: 4px !important;
	text-transform: uppercase !important;
}

.ef-project-services {
	color: rgba(255,255,255,.88) !important;
	margin: 0 0 22px !important;
	padding-left: 20px !important;
}

.ef-project-services li {
	margin-bottom: 10px !important;
}

.ef-project-gallery-block {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.18) !important;
	border-radius: 4px !important;
	border-top: 4px solid #b77a69 !important;
	box-shadow: 0 24px 62px rgba(36,57,66,.12) !important;
	margin: 42px auto 0 !important;
	max-width: 1180px !important;
	padding: 36px 40px 42px !important;
}

.ef-project-gallery-heading h2 {
	color: #243942 !important;
	font-size: 32px !important;
	line-height: 1.15 !important;
	margin: 8px 0 26px !important;
}

.ef-before-after-grid {
	display: grid !important;
	gap: 30px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ef-project-single .ef-before-after-grid {
	grid-template-columns: 1fr !important;
}

.ef-project-single .ef-post-footer {
	background: #f8f6f4 !important;
	padding-top: 42px !important;
}

.ef-project-single .ef-post-footer__inner {
	display: flex !important;
	justify-content: flex-start !important;
	max-width: 1180px !important;
}

.ef-project-single .ef-post-footer > .ef-wrap > .ef-button {
	max-width: 280px !important;
	width: 100% !important;
}

.ef-project-gallery {
	background: #fffdfb !important;
	border: 1px solid rgba(184,111,95,.18) !important;
	border-radius: 6px !important;
	border-top: 4px solid #9f5f52 !important;
	box-shadow: 0 14px 38px rgba(36,57,66,.10) !important;
	padding: 24px !important;
}

.ef-project-gallery h3 {
	color: #243942 !important;
	font-size: 24px !important;
	margin: 0 0 18px !important;
}

.ef-project-gallery__grid {
	display: grid !important;
	gap: 16px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.ef-project-gallery figure {
	aspect-ratio: 4 / 3 !important;
	background: #f8f6f4 !important;
	border-radius: 4px !important;
	margin: 0 !important;
	overflow: hidden !important;
}

.ef-project-gallery img {
	display: block !important;
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

.ef-project-gallery__empty {
	background: #f8f6f4 !important;
	border: 1px dashed rgba(159,95,82,.36) !important;
	border-radius: 4px !important;
	color: #3f4d52 !important;
	margin: 0 !important;
	padding: 22px !important;
}

.ef-project-note {
	background: #ffffff !important;
	border-top: 1px solid rgba(184,111,95,.18) !important;
	padding: 34px 40px 42px !important;
}

.ef-project-note blockquote {
	border-left: 5px solid #9f5f52 !important;
	color: #243942 !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	max-width: none !important;
	padding: 10px 0 10px 28px !important;
}

.ef-empty-card {
	background: #ffffff !important;
	border: 1px solid rgba(184,111,95,.18) !important;
	border-radius: 4px !important;
	border-top: 4px solid #b77a69 !important;
	box-shadow: 0 24px 62px rgba(36,57,66,.12) !important;
	padding: 34px !important;
}

.ef-empty-card .ef-button {
	align-items: center !important;
	background: #9f5f52 !important;
	border: 1px solid #9f5f52 !important;
	border-radius: 3px !important;
	color: #ffffff !important;
	display: inline-flex !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	justify-content: center !important;
	letter-spacing: .02em !important;
	line-height: 1.2 !important;
	min-height: 44px !important;
	padding: 12px 16px !important;
	text-align: center !important;
	text-transform: uppercase !important;
}

.ef-empty-card .ef-button:hover,
.ef-empty-card .ef-button:focus {
	background: #824a42 !important;
	border-color: #824a42 !important;
	color: #ffffff !important;
}

@media (max-width: 1024px) {
	.ef-articles-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.ef-post-layout {
		grid-template-columns: minmax(0, 1fr) 320px !important;
	}
}

@media (max-width: 921px) {
	.ef-articles-hero,
	.ef-post-hero,
	.ef-articles-section,
	.ef-post-section {
		padding: 52px 22px !important;
	}

	.ef-articles-grid,
	.ef-post-layout,
	.ef-post-footer__inner {
		grid-template-columns: 1fr !important;
	}

	.ef-post-sidebar {
		position: static !important;
	}

	.ef-post-content {
		padding: 30px 28px 34px !important;
	}

	.ef-project-gallery-block,
	.ef-project-note {
		padding-left: 28px !important;
		padding-right: 28px !important;
	}

	.ef-post-footer {
		padding: 0 22px 60px !important;
	}

	.ef-post-nav {
		grid-template-columns: 1fr !important;
	}

	.ef-post-nav__item,
	.ef-post-nav__item--next {
		min-height: 0 !important;
		padding: 20px !important;
		text-align: left !important;
	}

	.ef-project-grid,
	.ef-before-after-grid {
		grid-template-columns: 1fr !important;
	}

	.ef-project-sidebar {
		position: static !important;
	}

	.ef-project-gallery__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Homepage hero spacing restore after template/CPT passes. */
body.home .entry-content > .ef-hero,
body.home .ef-hero {
	align-items: center !important;
	box-sizing: border-box !important;
	display: flex !important;
	min-height: clamp(620px, 70vh, 720px) !important;
	padding: clamp(44px, 6vh, 76px) 24px clamp(66px, 8vh, 94px) !important;
}

body.home.page .entry-content.clear > .ef-hero:first-child,
body.home.page .entry-content.clear > .ef-hero:first-child.ef-hero {
	padding-top: clamp(44px, 6vh, 76px) !important;
	padding-bottom: clamp(66px, 8vh, 94px) !important;
}

body.page .entry-content.clear > .ef-page-hero:first-child {
	padding-top: 82px !important;
	padding-bottom: 82px !important;
}

body.home .ef-hero .ef-hero__content {
	margin: 0 auto !important;
	width: 100% !important;
}

body.home .ef-hero .ef-kicker {
	margin-top: 0 !important;
	margin-bottom: 18px !important;
}

body.home .ef-hero h1 {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
}

body.home .ef-hero p {
	margin-bottom: 0 !important;
}

@media (max-width: 921px) {
	body.home .entry-content > .ef-hero,
	body.home .ef-hero {
		min-height: auto !important;
		padding: 78px 22px 72px !important;
	}

	body.home.page .entry-content.clear > .ef-hero:first-child,
	body.home.page .entry-content.clear > .ef-hero:first-child.ef-hero {
		padding-top: 78px !important;
		padding-bottom: 72px !important;
	}

	body.page .entry-content.clear > .ef-page-hero:first-child {
		padding-top: 52px !important;
		padding-bottom: 52px !important;
	}
}
