:root {
	--ff-white: #fff;
	--ff-text: oklch(21% .038 254);
	--ff-navy: oklch(24% .05 255);
	--ff-navy-deep: oklch(17% .04 256);
	--ff-light: oklch(98% .006 240);
	--ff-force: oklch(60% .16 238);
	--ff-force-hover: oklch(54% .16 240);
	--ff-border: oklch(90% .014 245);
	--ff-font-display: "Anton", "Arial Narrow", system-ui, sans-serif;
	--ff-font-sans: "Manrope", system-ui, -apple-system, sans-serif;
	--ff-content: 1400px;
	--ff-shadow-force: 0 18px 40px -18px oklch(55% .16 235 / .55);
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--ff-white);
	color: var(--ff-text);
	font-family: var(--ff-font-sans);
	font-size: 16px;
	line-height: 1.5;
}

body.menu-is-open {
	overflow: hidden;
}

a {
	color: inherit;
	text-decoration: none;
}

img,
svg {
	display: block;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	display: block;
	height: auto;
	left: 8px;
	padding: 12px 18px;
	top: 8px;
	width: auto;
	z-index: 100000;
}

.button {
	align-items: center;
	border: 0;
	border-radius: 3px;
	display: inline-flex;
	font-family: var(--ff-font-sans);
	font-size: 13px;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	letter-spacing: .12em;
	min-height: 48px;
	padding: 0 24px;
	text-transform: uppercase;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.button--force {
	background: var(--ff-force);
	box-shadow: var(--ff-shadow-force);
	color: oklch(99% .005 240);
}
.residential-service__copy .button--force{
	font-size: 11px;
}
.button--force:hover,
.button--force:focus-visible {
	background: var(--ff-force-hover);
	transform: translateY(-2px);
}

.button--ghost {
	background: oklch(100% 0 0 / .06);
	border: 1.5px solid oklch(100% 0 0 / .35);
	color: var(--ff-light);
}

.button--ghost:hover,
.button--ghost:focus-visible {
	background: oklch(100% 0 0 / .16);
	border-color: oklch(100% 0 0 / .6);
	transform: translateY(-2px);
}

.site-header {
	background: oklch(24% .05 255 / .55);
	backdrop-filter: blur(8px);
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: background-color .3s ease, box-shadow .3s ease;
	z-index: 50;
}

.site-header.is-scrolled,
.site-header.menu-open {
	background: oklch(17% .04 256 / .96);
	box-shadow: 0 10px 30px oklch(10% .035 255 / .22);
}

body.admin-bar .site-header {
	top: 32px;
}

.site-header__inner {
	align-items: center;
	display: flex;
	height: 72px;
	margin: 0 auto;
	max-width: var(--ff-content);
	min-width: 0;
	padding: 0 20px;
	transition: height .3s ease;
	width: 100%;
}

.site-logo {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	height: 72px;
	padding: 8px 0;
	transition: height .3s ease, padding .3s ease;
}

.site-logo img {
	height: 56px;
	object-fit: contain;
	transition: height .3s ease, width .3s ease;
	width: 85px;
}

.site-header.is-scrolled .site-header__inner,
.site-header.is-scrolled .site-logo {
	height: 64px;
}

.site-header.is-scrolled .site-logo { padding-bottom: 7px; padding-top: 7px; }
.site-header.is-scrolled .site-logo img { height: 50px; width: 76px; }

.desktop-navigation {
	align-items: center;
	display: none;
	gap: 4px;
	margin-left: auto;
	min-width: 0;
}

.desktop-navigation a {
	border-radius: 3px;
	color: oklch(98% .006 240 / .8);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	padding: 8px 10px;
	text-transform: uppercase;
	transition: color .2s ease;
	white-space: nowrap;
}

.desktop-navigation a:hover,
.desktop-navigation a:focus-visible {
	color: var(--ff-light);
}

.header-phone {
	align-items: center;
	color: oklch(98% .006 240 / .9);
	display: none;
	font-size: 14px;
	font-weight: 800;
	gap: 8px;
	letter-spacing: .025em;
	margin-left: 14px;
	white-space: nowrap;
}

.header-phone svg,
.footer-contact svg,
.mobile-action-bar svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 18px;
}

.header-quote {
	display: none;
	margin-left: 14px;
	min-height: 44px;
	transition: background-color .2s ease, box-shadow .2s ease, min-height .3s ease, transform .2s ease;
}

.site-header.is-scrolled .header-quote { min-height: 40px; }

.header-icon-button {
	align-items: center;
	background: oklch(100% 0 0 / .06);
	border: 1px solid oklch(100% 0 0 / .35);
	border-radius: 3px;
	color: var(--ff-light);
	display: flex;
	flex: 0 0 46px;
	height: 44px;
	justify-content: center;
	padding: 0;
}

.header-icon-button:hover,
.header-icon-button:focus-visible {
	background: oklch(100% 0 0 / .16);
	border-color: oklch(100% 0 0 / .6);
}

.header-mobile-phone {
	margin-left: auto;
}

.header-mobile-phone svg {
	fill: none;
	height: 20px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 20px;
}

.menu-toggle {
	cursor: pointer;
	flex-direction: column;
	gap: 5px;
	margin-left: 8px;
}

.menu-toggle span {
	background: currentColor;
	height: 2px;
	transition: opacity .2s ease, transform .2s ease;
	width: 20px;
}

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

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
	opacity: 0;
}

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

.mobile-navigation-panel {
	background: var(--ff-navy-deep);
	border-top: 1px solid oklch(100% 0 0 / .1);
	left: 0;
	max-height: calc(100vh - 72px);
	overflow-y: auto;
	position: absolute;
	right: 0;
	top: 72px;
	transition: top .3s ease, max-height .3s ease;
}

.site-header.is-scrolled .mobile-navigation-panel {
	max-height: calc(100vh - 64px);
	top: 64px;
}

.mobile-navigation-panel[hidden],
.mobile-submenu[hidden] {
	display: none;
}

.mobile-navigation {
	color: var(--ff-light);
	display: flex;
	flex-direction: column;
	margin: 0 auto;
	max-width: var(--ff-content);
	padding: 24px 20px;
}

.mobile-navigation__main {
	display: flex;
	flex-direction: column;
}

.mobile-navigation__main > a,
.mobile-service-group__heading > a {
	border-bottom: 1px solid oklch(100% 0 0 / .1);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .12em;
	padding: 14px 0;
	text-transform: uppercase;
}

.mobile-service-group__heading {
	align-items: stretch;
	border-bottom: 1px solid oklch(100% 0 0 / .1);
	display: flex;
}

.mobile-service-group__heading > a {
	border: 0;
	flex: 1 1 auto;
}

.submenu-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--ff-light);
	cursor: pointer;
	display: flex;
	flex: 0 0 48px;
	justify-content: flex-end;
	padding: 0;
}

.submenu-toggle span,
.submenu-toggle span::after {
	background: currentColor;
	content: "";
	display: block;
	height: 2px;
	position: relative;
	transition: transform .2s ease;
	width: 14px;
}

.submenu-toggle span::after {
	position: absolute;
	transform: rotate(90deg);
}

.submenu-toggle[aria-expanded="true"] span::after {
	transform: rotate(0);
}

.mobile-submenu {
	display: flex;
	flex-direction: column;
	padding: 8px 0 8px 16px;
}

.mobile-submenu a {
	color: oklch(98% .006 240 / .75);
	font-size: 14px;
	padding: 8px 0;
}

.mobile-navigation__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 24px;
}

.site-footer {
	background: var(--ff-navy-deep);
	color: var(--ff-light);
	padding-bottom: 112px;
	position: relative;
}

.water-line {
	background: linear-gradient(90deg, transparent, var(--ff-force), oklch(50% .06 122 / .6), transparent);
	height: 2px;
}

.site-footer__inner {
	display: flex;
	flex-direction: column;
	gap: 48px;
	margin: 0 auto;
	max-width: var(--ff-content);
	padding: 64px 20px;
}

.footer-brand,
.footer-column {
	flex: 1 1 100%;
}

.footer-logo {
	display: flex;
	width: max-content;
}

.footer-logo img {
	height: 80px;
	object-fit: contain;
	width: 122px;
}

.footer-brand p {
	color: oklch(98% .006 240 / .75);
	font-size: 14px;
	line-height: 1.625;
	margin: 20px 0 12px;
	max-width: 320px;
}

.footer-veteran-badge {
	align-items: center;
	color: oklch(50% .06 122);
	display: flex;
	font-size: 11px;
	font-weight: 800;
	line-height: 16px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.footer-column h2 {
	color: oklch(98% .006 240 / .6);
	font-family: var(--ff-font-display);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .2em;
	line-height: 16px;
	margin: 0 0 16px;
	text-transform: uppercase;
}

.footer-column nav {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.footer-column nav a {
	color: oklch(98% .006 240 / .85);
	font-size: 14px;
	line-height: 24px;
	transition: color .2s ease;
}

.footer-column nav a:hover,
.footer-column nav a:focus-visible,
.footer-contact__item:hover {
	color: var(--ff-force);
}

.footer-contact {
	display: flex;
	flex-direction: column;
}

.footer-contact__item {
	align-items: flex-start;
	color: oklch(98% .006 240 / .85);
	display: flex;
	font-size: 14px;
	gap: 10px;
	line-height: 1.55;
	margin-bottom: 16px;
	transition: color .2s ease;
}

.footer-contact__phone {
	font-weight: 800;
}

.footer-contact address {
	font-style: normal;
	max-width: 250px;
}

.footer-quote {
	margin-top: 8px;
	width: 100%;
}

.site-footer__bottom {
	border-top: 1px solid oklch(100% 0 0 / .1);
	margin: 0 auto;
	max-width: var(--ff-content);
	padding: 24px 20px;
}

.site-footer__bottom p {
	color: oklch(98% .006 240 / .55);
	font-size: 12px;
	line-height: 16px;
	margin: 0;
}
.footer-contact svg {
	color: oklch(60% .16 238)
}

.mobile-action-bar {
	align-items: center;
	background: var(--ff-navy-deep);
	border-top: 1px solid oklch(100% 0 0 / .1);
	bottom: 0;
	display: flex;
	gap: 8px;
	height: 65px;
	left: 0;
	padding: 8px;
	position: fixed;
	right: 0;
	z-index: 40;
}

.mobile-action-bar .button {
	flex: 1 1 50%;
	padding: 0 12px;
}

@media (min-width: 768px) {
	.site-footer__inner {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.footer-brand,
	.footer-column {
		flex: 1 1 calc(50% - 24px);
	}
	.residential-service__copy .button--force{
	font-size: 13px;
}
}

@media (min-width: 1024px) {
	.site-header__inner,
	.site-footer__inner,
	.site-footer__bottom {
		padding-left: 32px;
		padding-right: 32px;
	}

	.site-header__inner,
	.site-logo {
		height: 80px;
	}

	.site-logo img {
		height: 64px;
		width: 98px;
	}

	.site-header.is-scrolled .site-header__inner,
	.site-header.is-scrolled .site-logo {
		height: 64px;
	}

	.site-header.is-scrolled .site-logo img {
		height: 50px;
		width: 76px;
	}

	.mobile-navigation-panel {
		max-height: calc(100vh - 80px);
		top: 80px;
	}

	.site-header.is-scrolled .mobile-navigation-panel {
		max-height: calc(100vh - 64px);
		top: 64px;
	}

	.header-quote {
		display: inline-flex;
		margin-left: auto;
	}

	.header-mobile-phone {
		display: none;
	}

	.site-footer {
		padding-bottom: 48px;
	}

	.site-footer__inner {
		flex-wrap: nowrap;
	}

	.footer-brand,
	.footer-column {
		flex: 1 1 0;
	}

	.mobile-action-bar {
		display: none;
	}
}

@media (min-width: 1280px) {
	.desktop-navigation {
		display: flex;
	}

	.header-quote {
		margin-left: 32px;
	}

	.menu-toggle,
	.mobile-navigation-panel {
		display: none !important;
	}
}

@media (min-width: 1536px) {
	.header-phone {
		display: flex;
	}
}

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

@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}

/* Homepage */
.section-container {
	margin: 0 auto;
	max-width: var(--ff-content);
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
	width: 100%;
}

.section-space {
	padding-bottom: 80px;
	padding-top: 80px;
}

.surface-mist { background: oklch(95.8% .014 238); }
.surface-sand { background: oklch(97.2% .012 85); }
.surface-navy { background: var(--ff-navy); color: var(--ff-light); }

.grain { overflow: hidden; position: relative; }
.grain::after {
	background-image: radial-gradient(oklch(100% 0 0 / .7) 1px, transparent 1px);
	background-size: 4px 4px;
	content: "";
	inset: 0;
	opacity: .05;
	pointer-events: none;
	position: absolute;
}

.display-xl,
.display-lg,
.display-md {
	font-family: var(--ff-font-display);
	font-weight: 400;
	letter-spacing: .005em;
	margin: 0;
	text-transform: uppercase;
}
.display-xl { font-size: clamp(2.6rem, 7.2vw, 5rem); line-height: .92; }
.display-lg { font-size: clamp(2.1rem, 4.6vw, 3.4rem); line-height: .96; }
.display-md { font-size: clamp(1.6rem, 2.8vw, 2.2rem); line-height: 1; }

.eyebrow {
	color: var(--ff-force);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .22em;
	margin: 0;
	text-transform: uppercase;
}
.eyebrow--light { color: oklch(82% .09 232); }

.button--navy { background: var(--ff-navy); color: var(--ff-light); }
.button--navy:hover,
.button--navy:focus-visible { background: var(--ff-navy-deep); transform: translateY(-2px); }
.button--outline { background: var(--ff-white); border: 1.5px solid var(--ff-border); color: var(--ff-navy); }
.button--outline:hover,
.button--outline:focus-visible { border-color: var(--ff-force); color: var(--ff-force); transform: translateY(-2px); }
.button--arrow > span,
.service-card__link > span { display: inline-block; transition: transform .2s ease; }
.button--arrow:hover > span,
.button--arrow:focus-visible > span,
.service-card:hover .service-card__link > span { transform: translateX(4px); }

.section-heading { max-width: 768px; }
.section-heading .display-lg,
.intro-copy .display-lg,
.faq-heading .display-lg { margin-top: 16px; }
.section-heading > p:last-child { color: oklch(50% .028 250); line-height: 1.625; margin: 24px 0 0; max-width: 672px;font-size: 17px; }
.section-heading--light > p:last-child { color: oklch(98% .006 240 / .75); }
.section-button { margin-top: 48px; }

.hero-section {
	background-color: var(--ff-navy-deep);
	background-image: linear-gradient(oklch(17% .04 256 / .45), oklch(17% .04 256 / .45)), var(--hero-image);
	background-position: center;
	background-size: cover;
	color: var(--ff-light);
	overflow: hidden;
	padding-top: 112px;
	position: relative;
}
.hero-section__mist { background: linear-gradient(to top, oklch(60% .16 238 / .25), transparent); bottom: 0; height: 66.666%; left: 0; pointer-events: none; position: absolute; right: 0; }
.hero-layout { align-items: flex-start; display: flex; flex-direction: column; gap: 48px; padding-bottom: 80px; padding-top: 40px; }
.hero-copy,
.quote-form-wrap { width: 100%; }
.hero-copy .display-xl { margin-top: 20px; }
.hero-copy .display-xl span,
.closing-cta .display-xl span { color: var(--ff-force); }
.hero-copy__lead { color: oklch(98% .006 240 / .85); font-size: 17px; line-height: 1.65; margin: 28px 0 0; max-width: 640px; }
.hero-actions,
.closing-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.hero-benefits,
.closing-cta__benefits { border-top: 1px solid oklch(100% 0 0 / .15); display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 36px; padding-top: 24px; }
.hero-benefits span,
.closing-cta__benefits span { align-items: center; color: oklch(98% .006 240 / .8); display: flex; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.hero-benefits span::before,
.closing-cta__benefits span::before { background: var(--ff-force); border-radius: 50%; content: ""; height: 5px; margin-right: 9px; width: 5px; }

.quote-form { background: var(--ff-white); box-shadow: 0 24px 60px -30px oklch(20% .05 250 / .45); color: var(--ff-text); padding: 24px; width: 100%; }
.quote-form > p { color: oklch(50% .028 250); font-size: 14px; line-height: 20px; margin: 8px 0 0; }
.quote-form .wpcf7,
.quote-form .quote-form-fields { width: 100%; }
.quote-form .quote-form-fields p { margin: 0; }
.quote-form .quote-form-fields br { display: none; }
.quote-form .wpcf7-spinner { display: none; }
.quote-form .wpcf7-response-output { font-size: 12px; margin: 14px 0 0; padding: 8px 10px; }
.field-group { margin-top: 16px; }
.quote-form > p + .field-group { margin-top: 20px; }
.field-group label { display: block; font-size: 11px; font-weight: 800; letter-spacing: .1em; line-height: 16.5px; margin-bottom: 6px; text-transform: uppercase; }
.field-group label span { color: var(--ff-force); }
.field-input { background: var(--ff-white); border: 1.5px solid oklch(88% .016 245); border-radius: 3px; color: var(--ff-text); font: inherit; min-height: 46px; padding: 10px 14px; transition: border-color .2s ease, box-shadow .2s ease; width: 100%; }
.field-input:focus { border-color: var(--ff-force); box-shadow: 0 0 0 3px oklch(60% .16 238 / .18); outline: 0; }
.quote-form__submit { cursor: pointer; margin-top: 24px; width: 100%; }
.quote-form small {
	align-items: flex-start;
	color: oklch(50% .028 250);
	display: flex;
	font-size: 12px;
	gap: 8px;
	line-height: 19.5px;
	margin-top: 12px;
}
.quote-form small svg,
.quote-form .form-privacy svg,
.quote-form .quote-form__privacy svg {
	display: block;
	fill: none;
	flex: 0 0 14px;
	height: 14px;
	margin-top: 2px;
	max-height: 14px;
	max-width: 14px;
	min-height: 14px;
	min-width: 14px;
	stroke: var(--ff-force);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 14px;
}
.quote-form small span { color: inherit; }

.intro-layout,
.faq-layout { display: flex; flex-direction: column; gap: 48px; }
.intro-copy,
.intro-image { width: 100%; }
.prose { color: oklch(50% .028 250); line-height: 1.625; margin-top: 28px; }
.prose p { margin: 0 0 18px; font-size: 17px;}
.intro-copy .button { margin-top: 14px; }
.intro-image { aspect-ratio: 4 / 5; overflow: visible; position: relative; }
.intro-image img { box-shadow: 0 24px 60px -30px oklch(20% .05 250 / .45); height: 100%; object-fit: cover; width: 100%; }
.intro-image__caption { background: var(--ff-force); bottom: -24px; color: oklch(99% .005 240); display: none; left: -24px; max-width: 240px; padding: 24px; position: absolute; }
.intro-image__caption p { margin: 0; }

.service-list,
.trust-list,
.process-list,
.comparison-list { display: flex; flex-wrap: wrap; }
.service-list { gap: 20px; margin-top: 50px; }
.services-section--commercial .service-list { margin-top: 53px; }
.service-list__item { display: flex; width: 100%; }
.service-card { background: var(--ff-white); border: 1px solid var(--ff-border); border-radius: 4px; display: flex; flex-direction: column; overflow: hidden; position: relative; transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease; width: 100%; }
.service-card:hover,
.service-card:focus-visible { border-color: oklch(60% .16 238 / .5); box-shadow: 0 24px 60px -30px oklch(20% .05 250 / .45); transform: translateY(-4px); }
.service-card__image { aspect-ratio: 4 / 3; overflow: hidden; }
.service-card__image--wide { aspect-ratio: 3 / 2; }
.service-card__image img { height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .8, .2, 1); width: 100%; }
.service-card:hover img,
.service-card:focus-visible img { transform: scale(1.05); }
.service-card__content { display: flex; flex: 1 1 auto; flex-direction: column; padding: 24px; }
.service-card__number { color: oklch(60% .16 238 / .4); font-family: var(--ff-font-display); font-size: 30px; font-weight: 400; letter-spacing: 0; line-height: 36px; }
.process-card__number { color: oklch(60% .16 238 / .5); font-family: var(--ff-font-display); font-size: 36px; font-weight: 400; letter-spacing: 0; line-height: 40px; }
.service-card .display-md { margin-top: 8px; }
.service-card p { color: oklch(50% .028 250); flex: 1 1 auto; font-size: 14px; line-height: 1.625; margin: 12px 0 0; }
.service-card__link { align-items: center; color: var(--ff-navy); display: flex; font-size: 12px; font-weight: 800; letter-spacing: .14em; line-height: 16px; margin-top: 20px; text-transform: uppercase; }

.trust-list { gap: 20px; margin-top: 48px; }
.trust-list__item { display: flex; width: 100%; }
.trust-card { background: oklch(100% 0 0 / .04); border: 1px solid oklch(100% 0 0 / .12); border-radius: 4px; padding: 28px; transition: background-color .25s ease, border-color .25s ease, transform .25s ease; width: 100%; }
.trust-card:hover { background: oklch(100% 0 0 / .08); border-color: oklch(70% .14 232 / .6); transform: translateY(-4px); }
.trust-card__icon { color: var(--ff-force); fill: none; height: 32px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; transition: transform .3s ease; width: 32px; }
.trust-card:hover .trust-card__icon { transform: translateY(-3px) scale(1.06); }
.trust-card .display-md { color: var(--ff-light); margin-top: 24px; }
.trust-card p { color: oklch(98% .006 240 / .75); font-size: 14px; line-height: 1.625; margin: 12px 0 0; }

.process-list { gap: 1px; list-style: none; margin: 56px 0 0; padding: 0; }
.process-list__item { display: flex; width: 100%; }
.process-card { background: var(--ff-white); border-top: 2px solid oklch(60% .16 238 / .4); padding: 24px; width: 100%; }
.process-card .display-md { margin-top: 12px; }
.process-card p { color: oklch(50% .028 250); font-size: 14px; line-height: 1.625; margin: 12px 0 0; }

.gallery-section .section-heading .section-button { margin-top: 32px; }
.comparison-list { gap: 16px; margin-top: 48px; }
.comparison-item { background: var(--ff-navy-deep); overflow: hidden; position: relative; width: 100%; }
.comparison-item--feature { aspect-ratio: 3 / 2; }
.comparison-item--portrait { aspect-ratio: 4 / 5; width: 100%; }
.comparison-item > img { display: block; height: 100%; object-fit: cover; width: 100%; }
.comparison-label { background: oklch(17% .04 256 / .88); bottom: 16px; color: var(--ff-light); font-size: 10px; font-weight: 800; letter-spacing: .14em; padding: 7px 10px; position: absolute; text-transform: uppercase; }
.comparison-label--before { left: 16px; }
.comparison-label--after { right: 16px; }
.gallery-note { color: oklch(50% .028 250); font-size: 12px; line-height: 1.5; margin: 18px 0 0; }

.faq-heading,
.faq-list { width: 100%; }
.faq-item { border-top: 1px solid var(--ff-border); padding: 24px 0; }
.faq-item:last-child { border-bottom: 1px solid var(--ff-border); }
.faq-item p { color: oklch(50% .028 250); font-size: 14px; line-height: 1.625; margin: 12px 0 0; }

.closing-cta { background-image: linear-gradient(oklch(17% .04 256 / .85), oklch(17% .04 256 / .85)), var(--cta-image); background-position: center; background-size: cover; color: var(--ff-light); overflow: hidden; position: relative; }
.closing-cta__inner { padding-bottom: 96px; padding-top: 96px; }
.closing-cta__inner > p { color: oklch(98% .006 240 / .85); font-size: 17px; margin: 24px 0 0; }
.closing-cta__benefits { max-width: 630px; }

/* About page */
.about-page .lede {
	color: oklch(50% .028 250);
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 0;
	margin-top: 0;
}
.about-page .lede--light { color: oklch(98% .006 240 / .85); }
.about-hero {
	background: var(--ff-navy-deep);
	color: var(--ff-light);
	overflow: hidden;
	padding-top: 112px;
	position: relative;
}
.about-hero__image,
.about-closing-cta__image {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}
.about-hero__overlay {
	background-color: oklch(17% .04 256 / .5);
	inset: 0;
	position: absolute;
}
.about-hero__mist {
	background: linear-gradient(to top, oklch(60% .16 238 / .25), transparent);
	bottom: 0;
	height: 50%;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
}
.about-hero__inner {
	padding-bottom: 64px;
	padding-top: 40px;
	position: relative;
}
.about-hero__content { max-width: 768px; }
.service-page-hero .about-hero__content { max-width: 820px; }
.service-page-hero .display-xl { max-width: 820px; }
.about-hero .display-xl { margin-top: 20px; }
.about-hero .lede { margin-top: 24px; max-width: 672px; }
.about-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.about-actions .button--ghost svg { fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 16px; }

.about-story__layout,
.about-local__layout { align-items: center; display: flex; flex-direction: column; gap: 48px; }
.about-story__copy,
.about-story__media,
.about-local__copy,
.about-local__media { min-width: 0; width: 100%; }
.about-story .display-lg,
.about-local .display-lg { margin-top: 16px; }
.about-story__prose { display: flex; flex-direction: column; gap: 16px; margin-top: 24px; }
.about-story__media img,
.about-local__media img {
	box-shadow: 0 24px 60px -30px oklch(20% .05 250 / .45);
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.about-standards__list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	margin: 48px 0 0;
	padding: 0;
}
.about-standards__item { display: flex; width: 100%; }
.about-standard-card { background: var(--ff-white); border-top: 2px solid oklch(60% .16 238 / .4); padding: 24px; width: 100%; }
.about-standard-card__number { color: oklch(60% .16 238 / .5); font-family: var(--ff-font-display); font-size: 36px; line-height: 40px; }
.about-standard-card .display-md { margin-top: 12px; }
.about-standard-card p { color: oklch(50% .028 250); font-size: 14px; line-height: 1.625; margin: 12px 0 0; }

.about-local .lede { margin-top: 24px; }
.about-local__points { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 32px 0 0; padding: 0; }
.about-local__points li { border-left: 2px solid var(--ff-force); font-size: 14px; font-weight: 600; line-height: 1.4; padding: 4px 0 4px 12px; width: 100%; }
.about-local__button { margin-top: 36px; }

.about-trust-list { position: relative; }

.about-trust-list .trust-list__item { position: relative; z-index: 1; }

.about-closing-cta { color: var(--ff-light); overflow: hidden; position: relative; }
.about-closing-cta__overlay { background: oklch(17% .04 256 / .85); inset: 0; position: absolute; }
.about-closing-cta__inner { padding-bottom: 96px; padding-top: 96px; position: relative; }
.about-closing-cta__content { max-width: 672px; }
.about-closing-cta .display-xl span { color: var(--ff-force); }
.about-closing-cta .lede { margin-top: 24px; max-width: 576px; }
.about-closing-cta__benefits { display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; margin: 40px 0 0; padding: 0; }
.about-closing-cta__benefits li { align-items: center; color: oklch(98% .006 240 / .85); display: flex; font-size: 12px; font-weight: 800; gap: 8px; letter-spacing: .14em; line-height: 16px; text-transform: uppercase; }
.about-closing-cta__benefits svg { color: var(--ff-force); fill: none; height: 16px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; width: 16px; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s ease, transform .7s cubic-bezier(.16, 1, .3, 1); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 640px) {
	.quote-form { padding: 28px; }
	.intro-image__caption { display: block; }
	.service-list--residential .service-list__item,
	.process-list__item { width: calc(50% - 10px); }
	.about-standards__item { width: calc(50% - 10px); }
	.about-local__points li { width: calc(50% - 4px); }
}

@media (min-width: 768px) {
	.service-list--commercial .service-list__item,
	.trust-list__item { width: calc(50% - 10px); }
}

@media (min-width: 1024px) {
	.section-container { padding-left: 32px; padding-right: 32px; }
	.section-space { padding-bottom: 112px; padding-top: 112px; }
	.hero-section {
		background-image:
			linear-gradient(oklch(17% .04 256 / .45), oklch(17% .04 256 / .45)),
			linear-gradient(90deg, oklch(17% .04 256 / .75), oklch(17% .04 256 / .45), oklch(17% .04 256 / .1)),
			var(--hero-image);
		padding-top: 128px;
	}
	.hero-layout { flex-direction: row; padding-bottom: 112px; padding-top: 64px; }
	.hero-copy { flex: 1.15 1 0; min-width: 0; width: auto; }
	.quote-form-wrap { flex: .85 1 0; margin-top: 8px; min-width: 0; width: auto; }
	.intro-layout { align-items: center; flex-direction: row; gap: 80px; }
	.intro-copy,
	.intro-image { flex: 1 1 0; }
	.service-list--residential .service-list__item { width: calc((100% - 40px) / 3); }
	.faq-layout { flex-direction: row; }
	.gallery-section .section-container { align-items: center; display: flex; flex-wrap: wrap; gap: 0 40px; }
	.gallery-section .section-heading { flex: 1 1 0; min-width: 0; }
	.gallery-section .comparison-list { flex: 1.2 1 0; margin-top: 0; min-width: 0; }
	.gallery-section .gallery-note { flex: 0 0 100%; margin-top: 24px; }
	.comparison-item--portrait { width: calc(50% - 8px); }
	.faq-heading { flex: .8 1 0; min-width: 0; width: auto; }
	.faq-list { flex: 1.2 1 0; min-width: 0; width: auto; }
	.closing-cta__inner { padding-bottom: 138px; padding-top: 128px; }
	.about-hero { padding-top: 128px; }
	.about-hero__overlay { background-image: linear-gradient(90deg, oklch(17% .04 256 / .75), oklch(17% .04 256 / .45), oklch(17% .04 256 / .1)); }
	.about-hero__inner { padding-bottom: 96px; padding-top: 56px; }
	.about-story__layout,
	.about-local__layout { flex-direction: row; gap: 80px; }
	.about-story__copy { flex: 1.1 1 0; width: auto; }
	.about-story__media { flex: .9 1 0; width: auto; }
	.about-local__copy,
	.about-local__media { flex: 1 1 0; width: auto; }
	.about-closing-cta__inner { padding-bottom: 128px; padding-top: 128px; }
}

@media (min-width: 1280px) {
	.service-list--commercial .service-list__item { width: calc((100% - 40px) / 3); }
	.trust-list__item { width: calc((100% - 60px) / 4); }
	.process-list__item { width: calc((100% - 4px) / 5); }
	.about-standards__item { width: calc((100% - 60px) / 4); }
}

@media (min-width: 1920px) {
	.site-header__inner,
	.section-container,
	.site-footer__inner,
	.site-footer__bottom {
		max-width: 1400px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; }
}
