:root {
	--bg: #020908;
	--bg-2: #05100f;
	--panel: rgba(3, 18, 16, 0.84);
	--panel-strong: rgba(3, 18, 16, 0.94);
	--line: rgba(38, 239, 129, 0.18);
	--line-strong: rgba(38, 239, 129, 0.34);
	--green: #00d86f;
	--green-2: #6df28d;
	--green-soft: rgba(0, 216, 111, 0.14);
	--white: #f4f6f4;
	--muted: #a9b0ac;
	--muted-2: #78827c;
	--shadow: 0 24px 70px rgba(0, 0, 0, 0.45);
	--radius: 8px;
	--header-h: clamp(76px, 7.8vw, 90px);
	--gutter: clamp(18px, 3.2vw, 36px);
	--shell: min(100% - (var(--gutter) * 2), 1280px);
	--font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

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

html {
	background: var(--bg);
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--white);
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.5;
	background:
		radial-gradient(circle at 78% 10%, rgba(0, 216, 111, 0.08), transparent 28rem),
		linear-gradient(180deg, #020807 0%, #020b0a 42%, #010504 100%);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		linear-gradient(rgba(32, 236, 126, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(32, 236, 126, 0.045) 1px, transparent 1px),
		repeating-radial-gradient(ellipse at 67% 24%, rgba(32, 236, 126, 0.2) 0 1px, transparent 1px 12px);
	background-size: 92px 92px, 92px 92px, 22px 18px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.62), transparent 72%);
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		repeating-radial-gradient(ellipse at 72% 25%, transparent 0 38px, rgba(0, 216, 111, 0.16) 39px 40px),
		linear-gradient(115deg, transparent 0 45%, rgba(0, 216, 111, 0.04) 45.5% 46%, transparent 46.5% 100%);
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 46rem);
}

img,
svg {
	display: block;
	max-width: 100%;
}

.icon {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

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

p,
h1,
h2,
h3,
h4 {
	margin: 0;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

button,
input,
textarea,
select {
	font: inherit;
}

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

.skip-link:focus {
	z-index: 2000;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	padding: 10px 14px;
	clip: auto;
	color: #001b0d;
	background: var(--green-2);
	border-radius: var(--radius);
}

.site {
	min-height: 100vh;
	overflow: clip;
}

.site-shell {
	width: var(--shell);
	margin-inline: auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--header-h);
	display: flex;
	align-items: center;
	background: rgba(1, 7, 6, 0.9);
	border-bottom: 1px solid rgba(50, 189, 109, 0.16);
	backdrop-filter: blur(16px);
}

.header-shell {
	display: grid;
	grid-template-columns: minmax(170px, auto) minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(18px, 2.2vw, 34px);
}

.brand {
	display: inline-flex;
	align-items: center;
	width: max-content;
	min-width: 0;
}

.brand-logo {
	width: clamp(184px, 16vw, 214px);
	height: auto;
	image-rendering: auto;
	background: transparent;
}

.site-navigation {
	justify-self: center;
	min-width: 0;
}

.primary-menu,
.footer-menu {
	display: flex;
	align-items: center;
	list-style: none;
}

.primary-menu {
	justify-content: center;
	gap: clamp(13px, 1.3vw, 22px);
}

.primary-menu li {
	position: relative;
}

.primary-menu a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: #d5dad6;
	font-size: clamp(13px, 0.98vw, 14px);
	font-weight: 500;
	white-space: nowrap;
	transition: color 160ms ease;
}

.primary-menu a:hover,
.primary-menu a:focus-visible {
	color: var(--green-2);
	outline: none;
}

.primary-menu .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	z-index: 120;
	display: grid;
	gap: 4px;
	min-width: 220px;
	padding: 10px;
	list-style: none;
	background: rgba(1, 8, 7, 0.96);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(6px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.primary-menu .sub-menu a {
	min-height: 36px;
	padding: 0 10px;
	font-size: 13px;
	border-radius: 6px;
}

.primary-menu .sub-menu a:hover,
.primary-menu .sub-menu a:focus-visible {
	background: rgba(0, 216, 111, 0.08);
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: flex-end;
}

.phone-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 13px;
	color: var(--green-2);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	border: 1px solid rgba(0, 216, 111, 0.28);
	border-radius: var(--radius);
	background: rgba(3, 18, 16, 0.6);
	box-shadow: inset 0 0 20px rgba(0, 216, 111, 0.025);
}

.phone-link svg {
	width: 18px;
	height: 18px;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 50px;
	padding: 0 25px;
	color: var(--white);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease;
	cursor: pointer;
}

.button:hover,
.button:focus-visible {
	transform: translateY(-1px);
	outline: none;
	border-color: var(--line-strong);
}

.button svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.button-primary {
	color: #00170b;
	background: linear-gradient(180deg, var(--green-2), var(--green));
	border-color: rgba(0, 216, 111, 0.9);
	box-shadow: 0 18px 44px rgba(0, 216, 111, 0.18), inset 0 -1px 0 rgba(0, 0, 0, 0.16);
}

.button-primary:hover,
.button-primary:focus-visible {
	color: #00170b;
	background: linear-gradient(180deg, #80ff9b, #02dd72);
}

.button-ghost {
	background: rgba(3, 18, 16, 0.56);
	color: var(--white);
}

.button-small {
	min-height: 46px;
	padding-inline: 16px;
	font-size: 14px;
}

.menu-toggle {
	display: none;
	width: 46px;
	height: 44px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 5px;
	padding: 0;
	color: var(--white);
	background: rgba(3, 18, 16, 0.88);
	border: 1px solid var(--line);
	border-radius: var(--radius);
}

.menu-toggle span:not(.screen-reader-text) {
	width: 19px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
}

.hero-section {
	position: relative;
	min-height: clamp(390px, 37vw, 500px);
	padding-top: clamp(36px, 4.6vw, 58px);
	padding-bottom: clamp(78px, 8vw, 110px);
}

.hero-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 46% 45%, rgba(0, 216, 111, 0.08), transparent 19rem),
		linear-gradient(90deg, rgba(2, 9, 8, 0.96) 0%, rgba(2, 9, 8, 0.82) 41%, rgba(2, 9, 8, 0.2) 100%);
	pointer-events: none;
}

.hero-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 53%) minmax(0, 47%);
	align-items: start;
}

.hero-copy {
	position: relative;
	z-index: 2;
	max-width: 690px;
	padding-top: 4px;
}

.eyebrow {
	color: var(--green);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.34em;
	text-transform: uppercase;
}

.hero-copy .eyebrow {
	margin-bottom: 13px;
}

h1,
.interior-hero h1 {
	font-size: clamp(42px, 4.55vw, 56px);
	line-height: 1.07;
	font-weight: 900;
	letter-spacing: 0;
}

.hero-copy h1 {
	max-width: 690px;
}

.hero-copy h1 span:last-child {
	display: block;
	color: var(--green);
	white-space: nowrap;
}

.hero-line {
	display: block;
}

.hero-lede {
	max-width: 550px;
	margin-top: 20px;
	color: var(--muted);
	font-size: clamp(16px, 1.55vw, 18px);
	line-height: 1.62;
}

.button-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 18px;
	margin-top: 28px;
}

.hero-media {
	position: absolute;
	z-index: 1;
	top: clamp(10px, 1.2vw, 18px);
	right: min(-3vw, -18px);
	width: min(55vw, 620px);
	pointer-events: none;
}

.hero-media img {
	width: 100%;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 28px 42px rgba(0, 0, 0, 0.46));
}

.value-strip {
	position: relative;
	z-index: 5;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(-92px, -7vw, -52px);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: linear-gradient(180deg, rgba(3, 18, 16, 0.88), rgba(3, 14, 13, 0.78));
	box-shadow: var(--shadow);
	overflow: hidden;
}

.value-card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 16px;
	min-height: 92px;
	padding: 21px 24px;
	border-right: 1px solid rgba(38, 239, 129, 0.15);
}

.value-card:last-child {
	border-right: 0;
}

.value-card svg {
	width: 35px;
	height: 35px;
	color: var(--green);
}

.value-card h2 {
	font-size: 15px;
	line-height: 1.25;
	font-weight: 800;
}

.value-card p {
	margin-top: 6px;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.45;
}

.trust-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 62px;
	margin-top: 22px;
	padding: 13px 24px;
	color: var(--green);
	font-size: clamp(16px, 1.55vw, 20px);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: linear-gradient(90deg, rgba(3, 18, 16, 0.86), rgba(5, 28, 24, 0.55), rgba(3, 18, 16, 0.86));
}

.trust-bar svg {
	width: 35px;
	height: 35px;
}

.split-section {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 16px;
	margin-top: 16px;
}

.content-panel,
.content-card,
.intake-form-card,
.audience-card,
.customer-card,
.notice-panel,
.wp-block-post {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background:
		linear-gradient(180deg, rgba(5, 22, 20, 0.9), rgba(2, 12, 11, 0.86)),
		radial-gradient(circle at 80% 8%, rgba(0, 216, 111, 0.09), transparent 18rem);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.content-panel {
	padding: clamp(18px, 2vw, 24px);
}

.equipment-panel {
	padding: clamp(16px, 1.75vw, 22px);
}

.section-heading {
	text-align: center;
}

.section-heading-left {
	text-align: left;
}

.section-heading .eyebrow {
	margin-bottom: 8px;
}

.section-heading h2,
.content-panel h2,
.content-card h2,
.faq-section h2 {
	font-size: clamp(24px, 2.5vw, 32px);
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: 0;
}

.section-heading p:not(.eyebrow),
.content-panel > p,
.content-card p,
.faq-section p {
	color: var(--muted);
}

.search-control {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 12px;
}

.search-control input {
	width: 100%;
	height: 44px;
	padding: 0 46px 0 16px;
	color: var(--white);
	font-size: 15px;
	background: rgba(0, 6, 5, 0.62);
	border: 1px solid rgba(160, 128, 88, 0.28);
	border-radius: 7px;
	outline: none;
}

.search-control input::placeholder {
	color: #7e8983;
}

.search-control input:focus {
	border-color: var(--line-strong);
	box-shadow: 0 0 0 3px rgba(0, 216, 111, 0.08);
}

.search-control span:last-child {
	position: absolute;
	right: 14px;
	color: var(--green);
	pointer-events: none;
}

.search-control svg {
	width: 22px;
	height: 22px;
}

.equipment-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.equipment-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: clamp(126px, 10.7vw, 146px);
	padding: clamp(12px, 1.1vw, 15px) 8px clamp(12px, 1vw, 14px);
	text-align: center;
	border: 1px solid rgba(160, 128, 88, 0.24);
	border-radius: 7px;
	background:
		linear-gradient(180deg, rgba(4, 19, 18, 0.72), rgba(2, 11, 10, 0.7)),
		radial-gradient(circle at 50% 10%, rgba(0, 216, 111, 0.06), transparent 64%);
	transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.equipment-card:hover {
	transform: translateY(-2px);
	border-color: rgba(38, 239, 129, 0.4);
	background: rgba(4, 28, 24, 0.72);
}

.equipment-card.is-hidden {
	display: none;
}

.equipment-card svg {
	width: clamp(44px, 4.4vw, 56px);
	height: clamp(44px, 4.4vw, 56px);
	margin: 0 auto clamp(8px, 0.9vw, 10px);
	color: #00f57d;
	stroke-width: 2.1;
	stroke-linecap: round;
	stroke-linejoin: round;
	shape-rendering: geometricPrecision;
	filter: drop-shadow(0 0 3px rgba(0, 216, 111, 0.22));
}

.equipment-card h3 {
	width: 100%;
	font-size: clamp(12px, 0.95vw, 14px);
	line-height: 1.12;
	font-weight: 900;
	letter-spacing: 0;
	max-width: 100%;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

.equipment-card p {
	margin-top: 6px;
	color: var(--muted);
	font-size: clamp(12px, 0.92vw, 13px);
	line-height: 1.24;
	overflow-wrap: anywhere;
}

.text-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	color: var(--green);
	font-weight: 700;
}

.text-link svg {
	width: 18px;
	height: 18px;
}

.audience-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 20px;
}

.audience-card {
	min-height: 312px;
	padding: 10px 11px 14px;
}

.audience-card img {
	width: 100%;
	aspect-ratio: 142 / 96;
	object-fit: cover;
	object-position: center;
	border-radius: 6px;
	margin-bottom: 13px;
	background: rgba(0, 0, 0, 0.2);
	filter: saturate(1.08) contrast(1.06) brightness(1.05);
}

.audience-card h3,
.audience-card h2 {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
}

.check-list {
	display: grid;
	gap: 7px;
	list-style: none;
	margin-top: 10px;
}

.check-list li {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 8px;
	align-items: start;
	color: var(--muted);
	font-size: 12.5px;
	line-height: 1.38;
}

.check-list svg {
	width: 14px;
	height: 14px;
	margin-top: 2px;
	color: var(--green);
}

.customers-section {
	margin-top: 16px;
}

.customer-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
}

.customer-card {
	min-height: 104px;
	padding: 16px 14px 14px;
	text-align: center;
}

.customer-card svg {
	width: 42px;
	height: 42px;
	margin: 0 auto 8px;
	color: var(--green);
}

.customer-card h3 {
	font-size: 14px;
	line-height: 1.2;
}

.customer-card p {
	margin-top: 4px;
	color: var(--muted);
	font-size: 12px;
	line-height: 1.33;
}

.pickup-section {
	display: grid;
	grid-template-columns: minmax(300px, 0.62fr) minmax(520px, 1fr);
	gap: clamp(18px, 3vw, 24px);
	align-items: stretch;
	margin-top: 16px;
}

.pickup-side-panel {
	display: grid;
	grid-template-rows: minmax(238px, auto) auto auto;
	gap: 14px;
	min-width: 0;
}

.pickup-media {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100%;
	padding: clamp(8px, 1vw, 12px);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	background: rgba(3, 18, 16, 0.82);
}

.pickup-media::before,
.pickup-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.pickup-media::before {
	z-index: -2;
	background:
		linear-gradient(180deg, rgba(1, 7, 6, 0.08), rgba(1, 7, 6, 0.34)),
		url("../images/pickup-scene.png") center / cover no-repeat;
	filter: blur(8px) saturate(1.18);
	opacity: 0.72;
	transform: scale(1.08);
}

.pickup-media::after {
	z-index: -1;
	background:
		radial-gradient(circle at 42% 32%, rgba(0, 216, 111, 0.08), transparent 18rem),
		linear-gradient(180deg, rgba(3, 18, 16, 0.08), rgba(3, 18, 16, 0.42));
}

.pickup-media img {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: none;
	height: 100%;
	min-height: 238px;
	object-fit: cover;
	object-position: center;
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28);
}

.pickup-content {
	min-width: 0;
}

.homepage-form-panel {
	padding: clamp(22px, 2.8vw, 30px);
}

.pickup-side-panel .contact-card,
.pickup-side-panel .dropoff-card-compact {
	margin-top: 0;
}

.pickup-side-panel .dropoff-card {
	align-self: start;
}

.pickup-content .section-heading p:not(.eyebrow) {
	margin-top: 4px;
}

.dropoff-card {
	display: grid;
	gap: 10px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background:
		linear-gradient(180deg, rgba(5, 22, 20, 0.9), rgba(2, 12, 11, 0.86)),
		radial-gradient(circle at 80% 8%, rgba(0, 216, 111, 0.09), transparent 18rem);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.dropoff-card-compact,
.schedule-dropoff-card {
	margin-top: 14px;
}

.dropoff-card-header {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.dropoff-card-header .icon {
	width: 34px;
	height: 34px;
	color: var(--green);
}

.dropoff-card-header span {
	display: block;
	color: var(--green-2);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dropoff-card-header strong {
	display: block;
	margin-top: 1px;
	color: var(--white);
	font-size: 17px;
	line-height: 1.2;
}

.dropoff-card address {
	margin: 0;
	color: var(--white);
	font-style: normal;
	font-weight: 700;
	line-height: 1.35;
}

.dropoff-card address a:hover {
	color: var(--green-2);
}

.dropoff-hours {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 9px;
	align-items: start;
	color: var(--muted);
	font-size: 13px;
}

.dropoff-hours .icon {
	width: 21px;
	height: 21px;
	color: var(--green);
}

.dropoff-hours ul {
	display: grid;
	gap: 2px;
	list-style: none;
}

.dropoff-card p {
	color: var(--muted);
	font-size: 13px;
	line-height: 1.4;
}

.pickup-form {
	display: grid;
	gap: 9px;
	margin-top: 12px;
}

.form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.pickup-form input,
.pickup-form textarea,
.pickup-form select {
	width: 100%;
	color: var(--white);
	background: rgba(0, 7, 6, 0.76);
	border: 1px solid rgba(38, 239, 129, 0.2);
	border-radius: 6px;
	outline: none;
}

.pickup-form input {
	height: 38px;
	padding: 0 14px;
}

.pickup-form textarea {
	min-height: 72px;
	padding: 12px 14px;
	resize: vertical;
}

.pickup-form input::placeholder,
.pickup-form textarea::placeholder {
	color: #747f79;
}

.pickup-form input:focus,
.pickup-form textarea:focus,
.pickup-form select:focus {
	border-color: var(--line-strong);
	box-shadow: 0 0 0 3px rgba(0, 216, 111, 0.08);
}

.form-bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
}

.intake-form-card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	margin-top: 16px;
	padding: 16px;
}

.intake-form-card > svg {
	width: 36px;
	height: 36px;
	color: var(--green);
}

.intake-form-card .eyebrow {
	margin: 0 0 4px;
	font-size: 10px;
	letter-spacing: 0.22em;
}

.intake-form-card h2 {
	font-size: 19px;
	line-height: 1.14;
	font-weight: 900;
}

.intake-form-card p:not(.eyebrow) {
	margin-top: 5px;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.42;
}

.form-intake-card,
.intake-form-card-compact {
	grid-template-columns: 36px minmax(0, 1fr);
}

.form-intake-card {
	margin-top: 0;
	margin-bottom: 16px;
}

.form-intake-card .button,
.intake-form-card-compact .button {
	grid-column: 2;
	justify-self: start;
	margin-top: 2px;
}

.textarea-label {
	display: block;
	min-width: 0;
}

.upload-box {
	display: grid;
	place-items: center;
	gap: 8px;
	min-height: 132px;
	padding: 16px;
	color: var(--muted);
	text-align: center;
	border: 1px dashed rgba(212, 224, 218, 0.22);
	border-radius: 7px;
	background: rgba(0, 7, 6, 0.44);
	cursor: pointer;
}

.upload-box input {
	display: none;
}

.upload-box svg {
	width: 39px;
	height: 39px;
	color: var(--muted);
}

.upload-box span {
	font-size: 12px;
	line-height: 1.2;
}

.upload-box strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 29px;
	padding: 0 18px;
	color: var(--green-2);
	font-size: 12px;
	border: 1px solid var(--line-strong);
	border-radius: 6px;
}

.upload-box small,
.upload-box em {
	display: block;
	color: var(--muted);
	font-size: 12px;
	font-style: normal;
}

.button-submit {
	width: 100%;
	min-height: 40px;
}

.form-footnote {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	color: var(--muted-2);
	font-size: 12px;
}

.form-footnote svg {
	width: 13px;
	height: 13px;
	color: var(--green);
}

.form-notice {
	padding: 10px 14px;
	border-radius: 7px;
	margin-bottom: 12px;
}

.form-notice-success {
	color: var(--green-2);
	background: rgba(0, 216, 111, 0.1);
	border: 1px solid var(--line);
}

.form-notice-error {
	color: #ffd0d0;
	background: rgba(255, 67, 67, 0.1);
	border: 1px solid rgba(255, 96, 96, 0.3);
}

.site-footer {
	padding: 24px 0 28px;
	color: var(--muted-2);
}

.footer-shell {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) auto minmax(280px, 1fr);
	align-items: center;
	gap: 18px;
	font-size: 13px;
}

.footer-company {
	display: grid;
	gap: 3px;
}

.footer-company a {
	width: max-content;
	color: var(--green-2);
	font-weight: 800;
}

.footer-nav {
	justify-self: center;
}

.footer-menu {
	gap: 28px;
}

.footer-menu a:hover {
	color: var(--green-2);
}

.footer-contact {
	display: grid;
	justify-items: end;
	gap: 3px;
	text-align: right;
}

.footer-contact strong {
	color: var(--white);
	font-size: 12px;
	text-transform: uppercase;
}

.footer-contact a {
	color: var(--green-2);
	font-weight: 800;
}

.footer-contact span {
	font-size: 12px;
}

.interior-hero {
	position: relative;
	padding: clamp(64px, 8vw, 106px) 0 clamp(48px, 6vw, 78px);
	background:
		linear-gradient(90deg, rgba(2, 9, 8, 0.96), rgba(2, 9, 8, 0.58)),
		radial-gradient(circle at 85% 16%, rgba(0, 216, 111, 0.16), transparent 24rem);
	border-bottom: 1px solid rgba(38, 239, 129, 0.14);
}

.interior-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
	gap: clamp(32px, 5vw, 70px);
	align-items: center;
}

.detail-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 0.32fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: center;
}

.interior-hero h1 {
	max-width: 760px;
	margin-top: 12px;
}

.interior-hero p:not(.eyebrow) {
	max-width: 670px;
	margin-top: 18px;
	color: var(--muted);
	font-size: 18px;
}

.interior-hero .button {
	margin-top: 28px;
}

.interior-hero img {
	width: 100%;
	max-height: 390px;
	object-fit: contain;
	filter: drop-shadow(0 28px 48px rgba(0, 0, 0, 0.5));
	mask-image: linear-gradient(90deg, transparent 0%, black 10%, black 100%);
}

.services-hero {
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(2, 9, 8, 0.98), rgba(2, 9, 8, 0.72) 48%, rgba(2, 9, 8, 0.5)),
		radial-gradient(circle at 84% 18%, rgba(0, 216, 111, 0.18), transparent 26rem);
}

.services-hero-media {
	position: relative;
	overflow: hidden;
	min-height: clamp(260px, 31vw, 370px);
	border: 1px solid rgba(38, 239, 129, 0.14);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(0, 216, 111, 0.08), transparent 42%),
		rgba(1, 14, 12, 0.52);
	box-shadow: 0 28px 70px rgba(0, 0, 0, 0.34);
}

.services-hero-media::before,
.services-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.services-hero-media::before {
	background:
		linear-gradient(90deg, rgba(2, 9, 8, 0.72), transparent 34%),
		linear-gradient(0deg, rgba(2, 9, 8, 0.98) 0%, rgba(2, 9, 8, 0.48) 24%, transparent 46%);
}

.services-hero-media::after {
	box-shadow: inset 0 0 60px rgba(0, 216, 111, 0.08);
}

.services-hero-media img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: center 8%;
	filter: saturate(0.95) contrast(1.04);
	mask-image: linear-gradient(90deg, transparent 0%, black 18%, black 100%);
	transform: scale(1.08);
}

.compact-hero {
	padding-bottom: clamp(42px, 5vw, 64px);
}

.detail-hero {
	overflow: hidden;
}

.detail-hero-mark {
	position: relative;
	display: grid;
	place-items: center;
	min-height: clamp(170px, 20vw, 250px);
	color: var(--green);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background:
		radial-gradient(circle at 50% 45%, rgba(0, 216, 111, 0.2), transparent 62%),
		linear-gradient(180deg, rgba(5, 22, 20, 0.86), rgba(2, 12, 11, 0.62));
	box-shadow: inset 0 0 46px rgba(0, 216, 111, 0.06);
}

.detail-hero-mark::before {
	content: "";
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(38, 239, 129, 0.12);
	border-radius: 6px;
}

.detail-hero-mark svg {
	width: clamp(78px, 9vw, 124px);
	height: clamp(78px, 9vw, 124px);
	filter: drop-shadow(0 0 20px rgba(0, 216, 111, 0.16));
}

.section-pad {
	padding-top: clamp(24px, 4vw, 48px);
}

.services-page-section {
	padding-block: clamp(28px, 5vw, 58px);
}

.services-process-section,
.services-scope-section {
	border-top: 1px solid rgba(38, 239, 129, 0.13);
	border-bottom: 1px solid rgba(38, 239, 129, 0.1);
}

.services-page-section .section-heading {
	margin-bottom: clamp(18px, 3vw, 30px);
}

.services-scope-section .section-heading {
	max-width: 850px;
}

.schedule-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.74fr) minmax(0, 1fr);
	gap: clamp(22px, 4vw, 46px);
	align-items: start;
	padding-top: clamp(54px, 7vw, 88px);
}

.schedule-copy {
	position: sticky;
	top: calc(var(--header-h) + 28px);
}

.schedule-copy h1 {
	margin-top: 12px;
	font-size: clamp(42px, 5vw, 58px);
	line-height: 1.07;
}

.schedule-copy > p:not(.eyebrow) {
	margin-top: 18px;
	color: var(--muted);
	font-size: 18px;
}

.contact-card {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	margin-top: 28px;
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: rgba(3, 18, 16, 0.72);
}

.contact-card svg {
	width: 34px;
	height: 34px;
	color: var(--green);
}

.contact-card span {
	display: block;
	color: var(--muted);
	font-size: 13px;
}

.contact-card a {
	display: block;
	margin-top: 2px;
	color: var(--green-2);
	font-size: 22px;
	font-weight: 900;
}

.schedule-form-panel {
	padding: clamp(18px, 2.4vw, 28px);
}

.service-grid,
.resource-grid,
.category-band,
.detail-grid,
.about-grid {
	display: grid;
	gap: 16px;
}

.service-grid,
.resource-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.category-band,
.detail-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 16px;
}

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

.balanced-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2.2vw, 24px);
}

.content-card {
	padding: clamp(18px, 2vw, 24px);
}

.service-card,
.resource-card {
	display: flex;
	flex-direction: column;
}

.service-card .text-link,
.resource-card .text-link {
	margin-top: auto;
	padding-top: 18px;
}

.content-card > svg {
	width: 38px;
	height: 38px;
	margin-bottom: 16px;
	color: var(--green);
}

.content-card h2,
.content-card h3 {
	line-height: 1.15;
	font-weight: 900;
}

.content-card h3 {
	font-size: 20px;
}

.content-card p {
	margin-top: 10px;
}

.content-card > .button {
	margin-top: 16px;
}

.process-band,
.detail-band,
.faq-section {
	margin-top: clamp(22px, 4vw, 42px);
}

.services-page-section.process-band,
.services-page-section.detail-band {
	margin-top: clamp(32px, 5vw, 62px);
}

.process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin-top: 18px;
}

.process-grid article {
	padding: 18px;
	border-left: 1px solid var(--line);
	background: linear-gradient(180deg, rgba(3, 18, 16, 0.55), transparent);
}

.process-grid span {
	display: inline-block;
	margin-bottom: 14px;
	color: var(--green);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.22em;
}

.process-grid h3 {
	font-size: 18px;
}

.process-grid p {
	margin-top: 8px;
	color: var(--muted);
	font-size: 14px;
}

.dense-list {
	display: grid;
	gap: 10px;
	margin-top: 14px;
	color: var(--muted);
	list-style: none;
}

.dense-list li {
	position: relative;
	padding-left: 18px;
}

.dense-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.68em;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: var(--green);
}

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

.stacked-cards {
	display: grid;
	gap: 12px;
}

.stacked-cards .content-card {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	column-gap: 16px;
	align-items: start;
}

.stacked-cards .content-card > svg {
	grid-row: span 2;
	margin: 0;
}

.notice-panel {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 16px;
	margin-top: 16px;
	padding: 18px;
}

.notice-panel svg {
	width: 36px;
	height: 36px;
	color: var(--green);
}

.notice-panel p {
	color: var(--muted);
}

.detail-notice {
	align-items: start;
	padding: clamp(18px, 2vw, 24px);
}

.detail-notice h2 {
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.12;
}

.detail-notice .text-link {
	margin-top: 14px;
}

.cta-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
}

.cta-panel h2 {
	max-width: 760px;
}

.cta-panel p:not(.eyebrow) {
	max-width: 720px;
	margin-top: 10px;
}

.schedule-checklist .detail-grid {
	margin-top: 18px;
}

.schedule-checklist article {
	padding: 18px;
	border: 1px solid rgba(38, 239, 129, 0.14);
	border-radius: 7px;
	background: rgba(0, 7, 6, 0.36);
}

.schedule-checklist h3 {
	font-size: 18px;
	line-height: 1.18;
}

.audience-grid-wide {
	gap: 16px;
}

.audience-grid-wide .audience-card {
	padding: 14px;
}

.audience-grid-wide .audience-card img {
	margin-bottom: 16px;
}

.equipment-panel-wide .equipment-grid {
	grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
	gap: 12px;
}

.equipment-panel-wide .equipment-card {
	min-height: 138px;
	padding: 14px 10px 13px;
}

.equipment-panel-wide .equipment-card svg {
	width: 54px;
	height: 54px;
	margin-bottom: 11px;
}

.equipment-panel-wide .equipment-card h3 {
	font-size: 15px;
}

.equipment-panel-wide .equipment-card p {
	font-size: 13px;
}

.not-accepted-section {
	margin-top: clamp(8px, 2vw, 22px);
	margin-bottom: clamp(22px, 4vw, 44px);
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid rgba(255, 100, 100, 0.26);
	border-radius: 8px;
	background:
		linear-gradient(180deg, rgba(34, 10, 10, 0.5), rgba(18, 6, 6, 0.36)),
		radial-gradient(circle at 18% 0%, rgba(255, 100, 100, 0.13), transparent 34rem);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 18px 42px rgba(0, 0, 0, 0.18);
}

.not-accepted-section .section-heading {
	max-width: 820px;
	margin-bottom: 22px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 100, 100, 0.18);
}

.not-accepted-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.not-accepted-card {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	border: 1px solid rgba(255, 100, 100, 0.32);
	border-radius: 7px;
	background: rgba(30, 8, 8, 0.52);
	padding: 16px;
}

.not-accepted-card > .icon {
	width: 30px;
	height: 30px;
	color: #ff6464;
	stroke-width: 1.9;
}

.not-accepted-card h3 {
	margin: 0 0 8px;
	color: var(--white);
	font-size: 16px;
	line-height: 1.2;
}

.not-accepted-card .dense-list {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.35;
}

.faq-list {
	display: grid;
	gap: 10px;
	margin-top: 18px;
}

.faq-list details {
	border: 1px solid rgba(38, 239, 129, 0.16);
	border-radius: 7px;
	background: rgba(0, 7, 6, 0.36);
}

.faq-list summary {
	padding: 16px 18px;
	font-weight: 800;
	cursor: pointer;
}

.faq-list p {
	padding: 0 18px 18px;
}

.page-content {
	max-width: 880px;
	margin: 0 auto;
	padding: clamp(42px, 7vw, 82px) 0;
	color: var(--muted);
}

.page-content h1,
.page-content h2 {
	color: var(--white);
}

.page-content h1 {
	margin-bottom: 22px;
	font-size: clamp(38px, 5vw, 54px);
	line-height: 1.08;
}

.page-content h2 {
	margin-top: 28px;
	margin-bottom: 8px;
	font-size: 26px;
}

.page-content a {
	color: var(--green);
}

.page-content-panel,
.narrow-panel {
	max-width: 920px;
	margin: 0 auto;
}

.page-content-panel h1,
.narrow-panel h1,
.archive-header h1,
.sitemap-list {
	margin-top: 12px;
}

.page-content-panel h1,
.archive-header h1 {
	font-size: clamp(38px, 5vw, 54px);
	line-height: 1.08;
}

.entry-content {
	margin-top: 20px;
	color: var(--muted);
	font-size: 16px;
}

.entry-content h2,
.entry-content h3 {
	margin-top: 26px;
	margin-bottom: 8px;
	color: var(--white);
	line-height: 1.15;
}

.service-areas-hero .button-row {
	margin-top: 24px;
}

.service-areas-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.44fr);
	gap: clamp(18px, 3vw, 34px);
	align-items: start;
	padding-top: clamp(34px, 5vw, 60px);
}

.service-areas-panel {
	padding: clamp(22px, 3vw, 34px);
}

.service-area-city-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24px;
	list-style: none;
}

.service-area-city-card {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	min-height: 58px;
	padding: 14px;
	border: 1px solid rgba(38, 239, 129, 0.16);
	border-radius: 8px;
	background: rgba(0, 216, 111, 0.045);
	color: var(--white);
	font-weight: 800;
}

.service-area-city-card .icon {
	width: 24px;
	height: 24px;
	color: var(--green);
}

.service-area-sidebar {
	display: grid;
	gap: 14px;
}

.service-area-dropoff {
	margin-top: 0;
	padding: 18px;
}

.service-area-note-card {
	padding: 18px;
}

.service-area-detail-section {
	padding-top: clamp(10px, 2vw, 22px);
}

.entry-content h2 {
	font-size: 26px;
}

.entry-content p {
	margin-top: 10px;
}

.entry-content a,
.archive-grid a,
.sitemap-list a,
.nav-links a {
	color: var(--green);
}

.sitemap-list {
	display: grid;
	gap: 10px;
	list-style: none;
	color: var(--muted);
}

.sitemap-list ul {
	display: grid;
	gap: 8px;
	margin-top: 8px;
	margin-left: 18px;
	list-style: none;
}

.archive-header {
	max-width: 820px;
	margin-bottom: 22px;
}

.archive-header p:not(.eyebrow) {
	margin-top: 14px;
	color: var(--muted);
}

.archive-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.nav-links {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 22px;
	color: var(--green);
}

.post-list {
	display: grid;
	gap: 16px;
	padding: clamp(42px, 7vw, 82px) 0;
}

.wp-block-post {
	padding: 20px;
}

.blog-hero {
	position: relative;
	overflow: hidden;
	min-height: 420px;
	border-bottom: 1px solid var(--line);
	background:
		linear-gradient(90deg, rgba(2, 9, 8, 0.98) 0%, rgba(2, 9, 8, 0.88) 48%, rgba(2, 9, 8, 0.38) 100%),
		radial-gradient(circle at 78% 40%, rgba(0, 216, 111, 0.15), transparent 26rem);
}

.blog-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
	align-items: center;
	min-height: 420px;
}

.blog-hero-copy {
	position: relative;
	z-index: 2;
	max-width: 720px;
	padding: clamp(52px, 7vw, 86px) 0;
}

.blog-hero-copy h1 {
	max-width: 700px;
	margin-top: 10px;
	font-size: clamp(42px, 5vw, 66px);
	line-height: 1.02;
	font-weight: 900;
	letter-spacing: 0;
}

.blog-hero-copy > p:not(.eyebrow) {
	max-width: 650px;
	margin-top: 18px;
	color: var(--muted);
	font-size: clamp(16px, 1.5vw, 19px);
}

.blog-search {
	position: relative;
	max-width: 560px;
	margin-top: 26px;
}

.blog-search input {
	width: 100%;
	height: 52px;
	padding: 0 58px 0 18px;
	color: var(--white);
	background: rgba(1, 9, 8, 0.76);
	border: 1px solid var(--line-strong);
	border-radius: 7px;
	outline: none;
}

.blog-search input:focus {
	border-color: var(--green);
	box-shadow: 0 0 0 3px rgba(0, 216, 111, 0.1);
}

.blog-search button {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	color: #00170c;
	background: var(--green-2);
	border: 0;
	border-radius: 6px;
	cursor: pointer;
}

.blog-search svg {
	width: 20px;
	height: 20px;
}

.blog-hero-media {
	position: absolute;
	top: 50%;
	right: max(0px, calc((100vw - 1280px) / 2));
	width: min(52vw, 690px);
	transform: translateY(-50%);
	pointer-events: none;
}

.blog-hero-media img {
	width: 100%;
	height: auto;
	filter: saturate(1.08) contrast(1.04);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, black 24%, black 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, black 24%, black 84%, transparent 100%);
}

.blog-feed {
	padding: clamp(48px, 6vw, 76px) 0 clamp(70px, 8vw, 104px);
}

.resource-articles {
	padding-bottom: 0;
}

.blog-feed-header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.blog-feed-header h2 {
	margin-top: 7px;
	font-size: clamp(30px, 3.2vw, 42px);
	line-height: 1.08;
	letter-spacing: 0;
}

.blog-feed-cta {
	width: auto;
	flex: 0 0 auto;
}

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

.blog-card {
	display: grid;
	grid-template-rows: auto 1fr;
	overflow: hidden;
	min-width: 0;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: linear-gradient(180deg, rgba(5, 22, 20, 0.94), rgba(2, 12, 11, 0.9));
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.blog-card-featured {
	grid-column: span 2;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	grid-template-rows: 1fr;
}

.blog-card-media {
	display: block;
	overflow: hidden;
	min-height: 210px;
	background: #02100d;
}

.blog-card:not(.blog-card-featured) .blog-card-media {
	aspect-ratio: 16 / 9;
	min-height: 0;
}

.blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(1.05) contrast(1.04) brightness(1.02);
	transition: transform 240ms ease;
}

.blog-card:hover .blog-card-media img {
	transform: scale(1.025);
}

.blog-card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(18px, 2vw, 24px);
}

.blog-card-meta,
.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	color: var(--green-2);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.blog-card-meta time,
.article-meta time,
.article-meta span {
	color: var(--muted-2);
}

.blog-card h2 {
	margin-top: 12px;
	font-size: clamp(21px, 2vw, 28px);
	line-height: 1.12;
	letter-spacing: 0;
}

.blog-card:not(.blog-card-featured) h2 {
	font-size: clamp(20px, 1.7vw, 24px);
}

.blog-card h2 a:hover,
.blog-card h2 a:focus-visible {
	color: var(--green-2);
}

.blog-card-excerpt {
	margin-top: 12px;
	color: var(--muted);
	font-size: 14px;
}

.blog-card .text-link {
	margin-top: auto;
	padding-top: 18px;
}

.article-hero {
	padding: clamp(56px, 7vw, 92px) 0 clamp(46px, 6vw, 72px);
	border-bottom: 1px solid var(--line);
	background: radial-gradient(circle at 80% 20%, rgba(0, 216, 111, 0.12), transparent 28rem);
}

.article-hero-inner {
	max-width: 940px;
}

.article-back {
	display: inline-flex;
	margin-bottom: 28px;
	color: var(--green);
	font-size: 14px;
	font-weight: 700;
}

.article-hero h1 {
	max-width: 900px;
	margin-top: 10px;
	font-size: clamp(42px, 5.6vw, 72px);
	line-height: 1.01;
	letter-spacing: 0;
}

.article-deck {
	max-width: 760px;
	margin-top: 20px;
	color: var(--muted);
	font-size: clamp(17px, 1.8vw, 21px);
}

.article-meta {
	margin-top: 22px;
}

.article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	align-items: start;
	gap: 22px;
	padding: clamp(38px, 5vw, 64px) 0 clamp(72px, 8vw, 110px);
}

.article-content-panel {
	max-width: none;
}

.article-featured-image {
	overflow: hidden;
	margin-bottom: 30px;
	border-radius: 6px;
}

.article-featured-image img {
	width: 100%;
	height: auto;
}

.article-content-panel .entry-content {
	max-width: 760px;
	margin-inline: auto;
}

.article-content-panel .entry-content > p,
.article-content-panel .entry-content > ul,
.article-content-panel .entry-content > ol {
	color: #c1c7c3;
	font-size: 17px;
	line-height: 1.72;
}

.article-content-panel .entry-content h2 {
	margin-top: 34px;
	font-size: clamp(26px, 2.8vw, 34px);
	line-height: 1.14;
	letter-spacing: 0;
}

.article-content-panel .entry-content h3 {
	margin-top: 26px;
	font-size: 22px;
}

.article-content-panel .entry-content ul,
.article-content-panel .entry-content ol {
	display: grid;
	gap: 8px;
	margin-top: 14px;
	padding-left: 24px;
}

.article-aside {
	position: sticky;
	top: calc(var(--header-h) + 20px);
}

.article-help-card {
	padding: 24px;
}

.article-help-card > svg {
	width: 40px;
	height: 40px;
	color: var(--green);
}

.article-help-card h2 {
	margin-top: 18px;
	font-size: 24px;
	line-height: 1.16;
}

.article-help-card p {
	margin-top: 12px;
	color: var(--muted);
	font-size: 14px;
}

.article-help-card .button {
	width: 100%;
	margin-top: 20px;
}

@media (max-width: 1050px) and (min-width: 901px) {
	.header-shell {
		gap: 10px;
	}

	.brand-logo {
		width: 164px;
	}

	.primary-menu {
		gap: 13px;
	}

	.primary-menu a {
		font-size: 12.25px;
	}

	.header-actions {
		gap: 6px;
	}

	.phone-link {
		min-height: 42px;
		padding-inline: 9px;
		font-size: 12.25px;
		gap: 7px;
	}

	.phone-link svg {
		width: 14px;
		height: 14px;
	}

	.button-small {
		min-height: 42px;
		padding-inline: 10px;
		font-size: 12.25px;
		gap: 6px;
	}

	.hero-media {
		right: -84px;
		width: 50vw;
	}
}

@media (max-width: 900px) {
	.header-shell {
		grid-template-columns: auto auto;
		justify-content: space-between;
	}

	.site-navigation {
		position: fixed;
		top: var(--header-h);
		left: var(--gutter);
		right: var(--gutter);
		z-index: 99;
		display: none;
		padding: 16px;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		background: rgba(1, 8, 7, 0.96);
		box-shadow: var(--shadow);
	}

	body.is-menu-open .site-navigation {
		display: block;
	}

	.primary-menu {
		display: grid;
		gap: 5px;
	}

	.primary-menu a {
		min-height: 42px;
	}

	.primary-menu .sub-menu {
		position: static;
		min-width: 0;
		padding: 0 0 0 16px;
		background: transparent;
		border: 0;
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
	}

	.primary-menu .sub-menu a {
		min-height: 34px;
		color: var(--muted);
		font-size: 13px;
	}

	.header-actions {
		display: none;
	}

	.menu-toggle {
		display: inline-flex;
	}

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

	.hero-copy {
		max-width: 650px;
	}

	.hero-media {
		right: -120px;
		width: min(58vw, 560px);
		opacity: 0.7;
	}

	.value-strip,
	.split-section,
	.pickup-section,
	.interior-hero-grid,
	.detail-hero-grid,
	.cta-panel,
	.about-grid,
	.blog-hero-grid,
	.article-layout {
		grid-template-columns: 1fr;
	}

	.blog-hero-media {
		right: -120px;
		width: min(72vw, 620px);
		opacity: 0.58;
	}

	.blog-card-featured {
		grid-column: span 2;
	}

	.article-aside {
		position: static;
	}

	.value-strip {
		margin-top: -54px;
	}

	.value-card {
		border-right: 0;
		border-bottom: 1px solid rgba(38, 239, 129, 0.15);
	}

	.value-card:last-child {
		border-bottom: 0;
	}

	.customer-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.service-grid,
	.resource-grid,
	.category-band,
	.detail-grid,
	.not-accepted-grid,
	.process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.schedule-layout {
		grid-template-columns: 1fr;
	}

	.service-areas-layout {
		grid-template-columns: 1fr;
	}

	.service-area-city-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.schedule-copy {
		position: static;
	}

	.detail-hero-mark {
		min-height: 150px;
	}
}

@media (max-width: 760px) {
	:root {
		--gutter: 16px;
	}

	.site-header {
		height: 72px;
	}

	.brand-logo {
		width: 178px;
	}

	.hero-section {
		min-height: auto;
		padding-top: 34px;
		padding-bottom: 84px;
	}

	.hero-section::before {
		background:
			linear-gradient(180deg, rgba(2, 9, 8, 0.8), rgba(2, 9, 8, 0.96)),
			radial-gradient(circle at 70% 18%, rgba(0, 216, 111, 0.09), transparent 16rem);
	}

	h1,
	.interior-hero h1 {
		font-size: clamp(36px, 11vw, 48px);
	}

	.hero-lede,
	.interior-hero p:not(.eyebrow) {
		font-size: 16px;
	}

	.hero-media {
		position: relative;
		right: auto;
		top: auto;
		width: min(100%, 520px);
		margin: 24px auto -24px;
		opacity: 1;
	}

	.hero-media img {
		-webkit-mask-image: linear-gradient(180deg, black 0%, black 85%, transparent 100%);
		mask-image: linear-gradient(180deg, black 0%, black 85%, transparent 100%);
	}

	.hero-copy h1 span:last-child {
		white-space: normal;
	}

	.button-row,
	.button {
		width: 100%;
	}

	.intake-form-card,
	.form-intake-card,
	.intake-form-card-compact {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.intake-form-card > svg,
	.form-intake-card > svg,
	.intake-form-card-compact > svg {
		margin-inline: auto;
	}

	.form-intake-card .button,
	.intake-form-card-compact .button,
	.intake-form-card .button {
		grid-column: auto;
		justify-self: stretch;
	}

	.value-strip {
		margin-top: -26px;
	}

	.trust-bar {
		text-align: center;
	}

	.customer-grid,
	.audience-grid,
	.service-area-city-grid,
	.service-grid,
	.resource-grid,
	.category-band,
	.detail-grid,
	.process-grid,
	.form-grid,
	.form-bottom {
		grid-template-columns: 1fr;
	}

	.blog-hero {
		min-height: 0;
	}

	.blog-hero-grid {
		min-height: 0;
	}

	.blog-hero-copy {
		padding: 52px 0 60px;
	}

	.blog-hero-copy h1 {
		font-size: clamp(38px, 11vw, 50px);
	}

	.blog-hero-media {
		top: 42%;
		right: -190px;
		width: 690px;
		opacity: 0.32;
	}

	.blog-feed-header {
		align-items: flex-start;
		flex-direction: column;
	}

	.blog-grid {
		grid-template-columns: 1fr;
	}

	.blog-card-featured {
		grid-column: auto;
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr;
	}

	.blog-card-featured .blog-card-media {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.article-hero h1 {
		font-size: clamp(38px, 11vw, 52px);
	}

	.article-content-panel .entry-content > p,
	.article-content-panel .entry-content > ul,
	.article-content-panel .entry-content > ol {
		font-size: 16px;
	}

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

	.not-accepted-grid {
		grid-template-columns: 1fr;
	}

	.audience-card {
		min-height: 0;
	}

	.pickup-media {
		min-height: 0;
	}

	.footer-shell {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.footer-nav,
	.footer-company,
	.footer-contact {
		justify-self: center;
		justify-items: center;
		text-align: center;
	}

	.footer-menu {
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* v2.4.3: a softer, more editorial dark theme with globally consistent contact details. */
.header-contact-stack {
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 7px 11px;
	border: 1px solid rgba(38, 239, 129, 0.24);
	border-radius: 12px 3px 12px 3px;
	background: rgba(3, 18, 16, 0.56);
}

.header-contact-stack a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--green-2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
}

.header-contact-stack svg {
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
}

.dropoff-card address,
.dropoff-card .dropoff-hours {
	padding-left: 46px;
}

.dropoff-card address a span,
.footer-contact a span {
	display: block;
}

.footer-contact a span {
	font-size: 14px;
	line-height: 1.35;
}

.detail-hero {
	overflow: hidden;
}

.detail-hero-grid {
	position: relative;
	min-height: clamp(370px, 34vw, 520px);
	display: block;
}

.detail-hero-grid > :first-child {
	position: relative;
	z-index: 2;
	max-width: min(100%, 690px);
}

.detail-hero-visual {
	position: absolute;
	top: -44px;
	right: clamp(-64px, -3vw, -18px);
	bottom: -44px;
	width: min(55%, 680px);
	min-height: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	pointer-events: none;
}

.detail-hero-visual::before {
	content: "";
	position: absolute;
	inset: -12%;
	background: radial-gradient(circle at 58% 42%, rgba(0, 216, 111, 0.18), transparent 43%);
	filter: blur(18px);
}

.detail-hero-visual::after {
	inset: 0;
	background: linear-gradient(90deg, rgba(2, 9, 8, 1) 0%, rgba(2, 9, 8, 0.62) 16%, transparent 42%, rgba(2, 9, 8, 0.1) 75%, rgba(2, 9, 8, 0.86) 100%);
}

.detail-hero-visual img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.88) contrast(1.08) brightness(0.82);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 17%, #000 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 17%, #000 84%, transparent 100%);
}

.detail-grid:not(.balanced-grid) > .content-card {
	padding: 18px 8px 8px 0;
	border: 0;
	border-top: 1px solid rgba(38, 239, 129, 0.26);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.detail-grid:not(.balanced-grid) > .content-card:hover {
	border-color: rgba(38, 239, 129, 0.62);
	box-shadow: none;
	transform: none;
}

.balanced-grid .content-card,
.service-card,
.dropoff-card {
	border-radius: 22px 4px 22px 4px;
}

.process-band {
	padding-block: clamp(36px, 5vw, 64px);
	border-top-color: rgba(38, 239, 129, 0.3);
	border-bottom-color: rgba(38, 239, 129, 0.22);
}

.process-grid {
	gap: 0;
	margin-top: 28px;
	border-top: 1px solid rgba(38, 239, 129, 0.2);
	border-bottom: 1px solid rgba(38, 239, 129, 0.2);
}

.process-grid article {
	min-height: 0;
	padding: 25px 24px 28px;
	border: 0;
	border-left: 1px solid rgba(38, 239, 129, 0.2);
	border-radius: 0;
	background: transparent;
}

.process-grid article:first-child {
	border-left: 0;
}

.process-grid article::after {
	display: none;
}

.notice-panel,
.cta-panel {
	border-radius: 28px 5px 28px 5px;
	background:
		radial-gradient(circle at 88% 14%, rgba(0, 216, 111, 0.16), transparent 18rem),
		linear-gradient(110deg, rgba(4, 29, 23, 0.98), rgba(2, 15, 12, 0.88));
}

@media (max-width: 1120px) {
	.header-contact-stack a:last-child {
		display: none;
	}
}

@media (max-width: 980px) {
	.detail-hero-grid {
		min-height: 0;
	}

	.detail-hero-visual {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		width: min(100%, 620px);
		height: min(58vw, 360px);
		margin: 34px auto 0;
	}

	.detail-hero-visual::after {
		background: linear-gradient(90deg, rgba(2, 9, 8, 0.76), transparent 25%, transparent 75%, rgba(2, 9, 8, 0.76));
	}

	.process-grid article:nth-child(n) {
		border-left: 0;
		border-top: 1px solid rgba(38, 239, 129, 0.2);
	}

	.process-grid article:first-child {
		border-top: 0;
	}
}

@media (max-width: 760px) {
	.header-contact-stack {
		display: none;
	}

	.dropoff-card address,
	.dropoff-card .dropoff-hours {
		padding-left: 38px;
	}
}

/* v3.2 — fixed canvas compositions. These rules transcribe the approved
   long-form page renderings instead of falling back to the former card grid. */
.canvas-locked-page { overflow:hidden; background:#020907; }
.canvas-locked-hero { min-height:clamp(540px,45vw,700px); display:grid; align-items:center; border-bottom:1px solid rgba(71,235,121,.22); background:linear-gradient(90deg,#020907 0%,rgba(2,9,7,.98) 29%,rgba(2,9,7,.78) 48%,rgba(2,9,7,.08) 78%,rgba(2,9,7,.78) 100%),linear-gradient(0deg,#020907 0%,transparent 35%),var(--canvas-page-art) center top/cover no-repeat; }
.canvas-locked-hero-copy { width:100%; max-width:1240px; padding-block:104px 68px; }
.canvas-locked-hero-copy > * { max-width:510px; }
.canvas-locked-hero-copy h1 { margin:14px 0 17px; color:#f6faf6; font-size:clamp(46px,5vw,78px); line-height:.99; letter-spacing:-.06em; }
.canvas-locked-hero-copy > p:not(.eyebrow) { margin:0 0 26px; color:#c2cbc5; font-size:16px; line-height:1.54; }
.canvas-locked-hero-copy .button { margin-top:4px; }
.canvas-rule { width:80px; height:2px; margin:0 0 20px; background:var(--green-2); }
.canvas-locked-audiences { padding-top:0; }
.canvas-locked-audience { display:grid; grid-template-columns:132px minmax(300px,.92fr) minmax(380px,1.15fr); min-height:178px; border-bottom:1px solid rgba(93,197,129,.18); background:linear-gradient(90deg,rgba(3,13,11,.96),rgba(3,13,11,.91) 53%,rgba(3,13,11,.11) 100%); }
.canvas-locked-audience:first-child { border-top:1px solid rgba(93,197,129,.18); }
.canvas-locked-audience-icon { display:grid; place-items:center; color:var(--green-2); border-right:1px solid rgba(93,197,129,.15); }
.canvas-locked-audience-icon svg { width:65px; height:65px; }
.canvas-locked-audience-copy { z-index:1; padding:28px 28px 23px; }
.canvas-locked-audience-copy h2 { margin:0 0 7px; color:#fff; font-size:27px; line-height:1; letter-spacing:-.035em; }
.canvas-locked-audience-copy p { max-width:395px; margin:0; color:#b6c1ba; font-size:14px; line-height:1.45; }
.canvas-locked-audience-copy ul { display:flex; flex-wrap:wrap; gap:5px 19px; margin:12px 0 0; padding:0; list-style:none; color:#d5dfd8; font-size:11px; }
.canvas-locked-audience-copy li::before { content:'•'; margin-right:7px; color:var(--green-2); }
.canvas-locked-audience-art { min-height:178px; background-image:linear-gradient(90deg,rgba(2,9,7,.78),rgba(2,9,7,0) 30%),var(--canvas-page-art); background-repeat:no-repeat; background-size:cover,auto 720px; background-position:center,right 35%; }
.canvas-locked-audience--2 .canvas-locked-audience-art { background-position:center,right 57%; }
.canvas-locked-audience--3 .canvas-locked-audience-art { background-position:center,right 77%; }
.canvas-locked-audience--4 .canvas-locked-audience-art { background-position:center,right 100%; }
.canvas-locked-process { padding-block:58px 45px; }
.canvas-locked-process .section-heading { text-align:center; margin-bottom:30px; }
.canvas-locked-process .section-heading h2 { font-size:31px; letter-spacing:-.045em; }
.canvas-locked-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.canvas-locked-process-grid article { position:relative; min-height:145px; }
.canvas-locked-process-grid article:not(:first-child)::before { position:absolute; top:29px; left:-23px; width:calc(100% - 11px); height:1px; content:''; background:rgba(104,239,135,.54); }
.canvas-locked-process-grid span { position:relative; z-index:1; display:block; width:max-content; margin-bottom:14px; padding-right:12px; color:var(--green-2); background:#020907; font-size:29px; font-weight:500; }
.canvas-locked-process-grid h3 { margin:0 0 9px; color:#fff; font-size:15px; }
.canvas-locked-process-grid p { margin:0; color:#b4c0b8; font-size:13px; line-height:1.45; }
.canvas-locked-dropoff { display:grid; grid-template-columns:75px minmax(210px,.8fr) minmax(360px,1.15fr); align-items:center; gap:22px; min-height:116px; margin-bottom:20px; padding:20px 31px; border:1px solid rgba(122,211,151,.26); border-radius:8px; background:linear-gradient(90deg,rgba(7,22,18,.94),rgba(5,16,13,.93) 71%,rgba(7,22,18,.66)),var(--canvas-page-art) right bottom/auto 470px no-repeat; }
.canvas-locked-dropoff > svg { width:55px; height:55px; color:var(--green-2); }
.canvas-locked-dropoff h2 { margin:0 0 4px; color:#fff; font-size:24px; letter-spacing:-.035em; }
.canvas-locked-dropoff p { margin:0; color:#b9c4bd; font-size:13px; }
.canvas-locked-checks { display:grid; gap:10px; padding-left:38px; border-left:1px solid rgba(111,221,142,.22); }
.canvas-locked-checks span { display:flex; align-items:center; gap:9px; color:#e2eae4; font-size:14px; }
.canvas-locked-checks svg { width:16px; height:16px; color:var(--green-2); }
.canvas-locked-request { display:grid; grid-template-columns:minmax(0,.91fr) minmax(0,1.35fr); gap:0; margin-bottom:56px; border:1px solid rgba(107,215,139,.22); border-radius:7px; overflow:hidden; background:rgba(5,17,14,.82); }
.canvas-locked-request .request-info-stack { display:grid; grid-template-columns:46% 54%; grid-template-rows:1fr 1fr; gap:0; margin:0; border-right:1px solid rgba(107,215,139,.2); }
.canvas-locked-request .request-truck-card { grid-row:span 2; min-height:320px; margin:0; border:0; border-radius:0; }
.canvas-locked-request .request-truck-card img { width:100%; height:100%; object-fit:cover; }
.canvas-locked-request .request-contact-card { min-height:0; margin:0; padding:25px 22px; border:0; border-bottom:1px solid rgba(107,215,139,.2); border-radius:0; background:transparent; }
.canvas-locked-request .request-email-card { border-bottom:0; }
.canvas-locked-request .request-dropoff-card { display:none; }
.canvas-locked-request .service-request-form-panel { margin:0; padding:31px 35px 25px; border:0; border-radius:0; background:rgba(3,12,10,.8); }
.canvas-locked-request .service-request-form-panel > h2 { margin:0 0 5px; color:#fff; font-size:28px; letter-spacing:-.04em; }
.canvas-locked-request .service-request-form-panel > p { margin:0 0 19px; color:#b6c1ba; font-size:13px; }
.canvas-locked-request .form-intake-card { display:none; }
.canvas-locked-request .pickup-form input,.canvas-locked-request .pickup-form textarea { border-color:rgba(118,223,148,.25); background:rgba(2,10,8,.55); }
.canvas-locked-request .form-footnote { display:none; }
@media (max-width:900px) { .canvas-locked-hero { min-height:550px; background-position:63% top; background-size:auto 100%; }.canvas-locked-audience { grid-template-columns:86px minmax(240px,.88fr) minmax(280px,1fr); }.canvas-locked-audience-icon svg { width:48px; height:48px; }.canvas-locked-request { grid-template-columns:1fr; }.canvas-locked-request .request-info-stack { border-right:0; border-bottom:1px solid rgba(107,215,139,.2); }.canvas-locked-process-grid { gap:16px; } }
@media (max-width:650px) { .canvas-locked-hero { min-height:590px; background-position:60% top; }.canvas-locked-hero-copy { padding-block:230px 47px; }.canvas-locked-hero-copy h1 { font-size:clamp(40px,12vw,54px); }.canvas-locked-audience { grid-template-columns:65px 1fr; min-height:0; }.canvas-locked-audience-art { display:none; }.canvas-locked-audience-copy { padding:24px 16px; }.canvas-locked-audience-copy h2 { font-size:23px; }.canvas-locked-process-grid { grid-template-columns:1fr 1fr; gap:18px; }.canvas-locked-process-grid article:not(:first-child)::before { display:none; }.canvas-locked-process-grid article { min-height:150px; border-top:1px solid rgba(104,239,135,.25); padding-top:16px; }.canvas-locked-dropoff { grid-template-columns:45px 1fr; padding:21px; }.canvas-locked-dropoff > svg { width:38px; height:38px; }.canvas-locked-dropoff h2 { font-size:21px; }.canvas-locked-checks { grid-column:1 / -1; padding:15px 0 0; border-top:1px solid rgba(111,221,142,.22); border-left:0; }.canvas-locked-request .request-info-stack { grid-template-columns:1fr; }.canvas-locked-request .request-truck-card { grid-row:auto; min-height:225px; }.canvas-locked-request .request-contact-card { padding:18px; }.canvas-locked-request .service-request-form-panel { padding:25px 19px; } }

/* v3 approved rendering system: layout is owned by the page templates, not a
 * legacy page's old card grid. */
.approved-page {
	background: #020908;
}

.approved-page-hero {
	position: relative;
	min-height: clamp(560px, 47vw, 760px);
	display: grid;
	align-items: center;
	overflow: hidden;
	border-bottom: 1px solid rgba(38, 239, 129, 0.22);
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 30%, rgba(2, 9, 8, 0.76) 49%, rgba(2, 9, 8, 0.11) 78%, rgba(2, 9, 8, 0.82) 100%),
		linear-gradient(0deg, #020908 0%, transparent 38%),
		url('../images/hero-services.png') center right / cover no-repeat;
}

.approved-page--accepted .approved-page-hero {
	background-image: linear-gradient(90deg, #020908 0%, rgba(2,9,8,.98) 30%, rgba(2,9,8,.75) 50%, rgba(2,9,8,.1) 78%, rgba(2,9,8,.82) 100%), linear-gradient(0deg, #020908 0%, transparent 38%), url('../images/hero-accepted-equipment.png');
}

.approved-page--who-we-serve .approved-page-hero {
	background-image: linear-gradient(90deg, #020908 0%, rgba(2,9,8,.98) 31%, rgba(2,9,8,.76) 50%, rgba(2,9,8,.11) 78%, rgba(2,9,8,.82) 100%), linear-gradient(0deg, #020908 0%, transparent 38%), url('../images/hero-who-we-serve.png');
}

.approved-page--resources .approved-page-hero {
	background-image: linear-gradient(90deg, #020908 0%, rgba(2,9,8,.98) 31%, rgba(2,9,8,.76) 50%, rgba(2,9,8,.11) 78%, rgba(2,9,8,.82) 100%), linear-gradient(0deg, #020908 0%, transparent 38%), url('../images/hero-resources.png');
}

.approved-page--service-areas .approved-page-hero {
	background-image: linear-gradient(90deg, #020908 0%, rgba(2,9,8,.98) 31%, rgba(2,9,8,.75) 50%, rgba(2,9,8,.11) 78%, rgba(2,9,8,.82) 100%), linear-gradient(0deg, #020908 0%, transparent 38%), url('../images/hero-service-areas.png');
}

.approved-page--about-us .approved-page-hero {
	background-image: linear-gradient(90deg, #020908 0%, rgba(2,9,8,.98) 31%, rgba(2,9,8,.75) 50%, rgba(2,9,8,.11) 78%, rgba(2,9,8,.82) 100%), linear-gradient(0deg, #020908 0%, transparent 38%), url('../images/hero-about-us.png');
}

.approved-page-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.approved-page-copy {
	max-width: 630px;
	padding-block: clamp(92px, 10vw, 152px);
}

.approved-page-copy h1 {
	max-width: 12ch;
	margin: 14px 0 23px;
	font-size: clamp(46px, 5.35vw, 82px);
	line-height: .98;
	letter-spacing: -.058em;
}

.approved-page-copy > p:not(.eyebrow) {
	max-width: 570px;
	margin-bottom: 30px;
	color: #c5cfcb;
	font-size: clamp(17px, 1.4vw, 20px);
	line-height: 1.55;
}

.approved-page-rails {
	margin-top: clamp(18px, 3vw, 42px);
	border-top: 1px solid rgba(38, 239, 129, .24);
}

.approved-page-rail {
	display: grid;
	grid-template-columns: 58px minmax(180px, .45fr) minmax(0, 1fr) 28px;
	gap: 22px;
	align-items: center;
	min-height: 132px;
	padding: 23px 20px;
	border-bottom: 1px solid rgba(38, 239, 129, .22);
	color: var(--white);
	transition: background .18s ease, padding .18s ease;
}

.approved-page-rail:hover {
	padding-inline: 29px 11px;
	background: linear-gradient(90deg, rgba(0,216,111,.1), transparent 70%);
}

.approved-page-rail > svg:first-child {
	width: 43px;
	height: 43px;
	color: var(--green-2);
}

.approved-page-rail > span { display: contents; }
.approved-page-rail strong { font-size: clamp(21px, 2vw, 29px); line-height: 1.05; }
.approved-page-rail small { max-width: 530px; color: var(--muted); font-size: 15px; line-height: 1.5; }
.approved-page-rail > svg:last-child { width: 24px; height: 24px; color: var(--green-2); }

.approved-page-process {
	padding-block: clamp(76px, 10vw, 134px) clamp(58px, 8vw, 105px);
}

.approved-page-process .section-heading { text-align: center; margin-bottom: 36px; }
.approved-page-process .section-heading h2 { font-size: clamp(32px, 3.4vw, 53px); }

.approved-page-steps {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	border-top: 1px solid rgba(38, 239, 129, .32);
}

.approved-page-steps article {
	position: relative;
	min-height: 175px;
	padding: 24px clamp(18px, 2.4vw, 34px);
	border-left: 1px solid rgba(38, 239, 129, .22);
}
.approved-page-steps article:first-child { border-left: 0; }
.approved-page-steps span { display: block; margin-bottom: 18px; color: var(--green-2); font-size: 28px; font-weight: 500; }
.approved-page-steps h3 { font-size: 18px; }
.approved-page-steps p { margin-top: 8px; color: var(--muted); font-size: 14px; line-height: 1.5; }

.approved-page-equipment,
.approved-page-coverage { padding-block: clamp(62px, 8vw, 112px); }
.approved-page-equipment .section-heading { text-align: center; margin-bottom: 28px; }
.approved-page-equipment .equipment-panel { background: rgba(3,18,16,.75); }

.approved-page-coverage {
	display: grid;
	grid-template-columns: minmax(0,.55fr) minmax(0,1fr);
	gap: clamp(32px,6vw,90px);
	align-items: start;
	border-top: 1px solid rgba(38,239,129,.2);
}
.approved-page-coverage h2 { margin-top: 12px; font-size: clamp(31px,3.5vw,55px); line-height: 1.02; }
.approved-page-coverage ul { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.approved-page-coverage li { display:flex; gap:10px; align-items:center; padding:17px 12px; border:1px solid rgba(38,239,129,.23); border-radius: 8px 2px 8px 2px; background:rgba(4,27,22,.66); }
.approved-page-coverage li svg { width:20px; height:20px; color:var(--green-2); flex:0 0 auto; }
.approved-page-coverage li span { font-weight:800; font-size:14px; }

.approved-page-request {
	display: grid;
	grid-template-columns: minmax(0,.78fr) minmax(0,1fr);
	gap: clamp(24px,4vw,54px);
	align-items: stretch;
	padding-bottom: clamp(76px,10vw,140px);
}
.approved-page-request .request-info-stack { margin: 0; }
.approved-page-request > .service-request-form-panel { min-height: 100%; padding: clamp(22px,2.6vw,36px); border-color: rgba(38,239,129,.34); background: linear-gradient(145deg,rgba(4,31,25,.94),rgba(2,13,11,.94)); }

.blog-hero {
	min-height: clamp(500px,43vw,680px);
	display:grid;
	align-items:center;
	background: linear-gradient(90deg,#020908 0%,rgba(2,9,8,.98) 31%,rgba(2,9,8,.76) 50%,rgba(2,9,8,.12) 79%,rgba(2,9,8,.82) 100%), linear-gradient(0deg,#020908 0%,transparent 35%), url('../images/hero-resources.png') center right / cover no-repeat;
}
.blog-hero-media { display:none; }
.blog-hero-copy { max-width:630px; padding-block: clamp(90px,10vw,150px); }
.blog-hero-copy h1 { max-width:12ch; font-size:clamp(45px,5vw,78px); line-height:.99; letter-spacing:-.055em; }

@media (max-width: 980px) {
	.approved-page-rails { margin-inline: 24px; }
	.approved-page-rail { grid-template-columns: 48px minmax(0,1fr) 24px; }
	.approved-page-rail small { grid-column:2; }
	.approved-page-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.approved-page-steps article:nth-child(odd) { border-left: 0; }
	.approved-page-steps article:nth-child(n+3) { border-top: 1px solid rgba(38,239,129,.22); }
	.approved-page-coverage,
	.approved-page-request { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.approved-page-hero,
	.blog-hero { min-height: 630px; align-items:end; background-position:66% top; background-size:auto 100%; }
	.approved-page-copy,
	.blog-hero-copy { padding-block: 230px 50px; }
	.approved-page-copy h1,
	.blog-hero-copy h1 { font-size:clamp(41px,11.8vw,58px); }
	.approved-page-rails { margin-inline: 18px; }
	.approved-page-rail { grid-template-columns:42px minmax(0,1fr) 22px; gap:14px; min-height:0; padding:21px 4px; }
	.approved-page-rail:hover { padding-inline:9px 0; }
	.approved-page-rail > svg:first-child { width:34px; height:34px; }
	.approved-page-rail strong { font-size:20px; }
	.approved-page-rail small { font-size:14px; }
	.approved-page-steps { grid-template-columns:1fr; }
	.approved-page-steps article,
	.approved-page-steps article:nth-child(odd) { min-height:0; border-left:0; border-top:1px solid rgba(38,239,129,.22); }
	.approved-page-steps article:first-child { border-top:0; }
	.approved-page-coverage ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* v3 home page: the approved composition is full-bleed, not a contained image
 * paired with a legacy card grid. */
.approved-home-hero {
	min-height: clamp(590px, 49vw, 780px);
	display: grid;
	align-items: center;
	border-bottom: 1px solid rgba(38, 239, 129, .24);
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, .98) 30%, rgba(2, 9, 8, .78) 48%, rgba(2, 9, 8, .12) 78%, rgba(2, 9, 8, .84) 100%),
		linear-gradient(0deg, #020908 0%, transparent 37%),
		url('../images/hero-home-approved.png') center right / cover no-repeat;
}

.approved-home-hero-inner { width: 100%; }
.approved-home-copy { max-width: 650px; padding-block: clamp(105px, 11vw, 162px); }
.approved-home-copy h1 { max-width: 10.4ch; margin: 15px 0 24px; font-size: clamp(49px, 5.6vw, 84px); line-height: .96; letter-spacing: -.065em; }
.approved-home-copy > p:not(.eyebrow) { max-width: 570px; color: #c3cdc7; font-size: clamp(17px, 1.4vw, 20px); line-height: 1.57; }
.approved-home-copy .button-row { margin-top: 32px; }

.approved-home-proof { border-bottom: 1px solid rgba(38, 239, 129, .2); background: #03120f; }
.approved-home-proof-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.approved-home-proof-grid > div { display:flex; align-items:center; gap:16px; min-height:112px; padding:22px 30px; border-left:1px solid rgba(38,239,129,.17); }
.approved-home-proof-grid > div:first-child { border-left:0; }
.approved-home-proof-grid svg { width:33px; height:33px; color:var(--green-2); }
.approved-home-proof-grid strong { font-size:16px; }

.approved-home-services { padding-block: clamp(82px,10vw,140px) clamp(70px,8vw,112px); }
.approved-home-services .section-heading { text-align:center; margin-bottom:38px; }
.approved-home-services .section-heading h2 { font-size: clamp(37px,4vw,62px); letter-spacing:-.055em; }
.approved-home-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.approved-home-service-grid a { display:grid; grid-template-columns:48px minmax(0,1fr) 24px; gap:18px; align-items:center; min-height:146px; padding:28px; border:1px solid rgba(38,239,129,.25); border-radius:17px 3px 17px 3px; background:linear-gradient(145deg,rgba(5,28,23,.89),rgba(1,10,8,.75)); transition:transform .18s ease,border-color .18s ease; }
.approved-home-service-grid a:hover { transform:translateY(-4px); border-color:var(--green-2); }
.approved-home-service-grid svg { width:38px; height:38px; color:var(--green-2); }
.approved-home-service-grid svg:last-child { width:22px; height:22px; }
.approved-home-service-grid span { font-size:21px; font-weight:900; line-height:1.1; }

.approved-home-request { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1fr); gap:clamp(24px,4vw,54px); padding-bottom:clamp(78px,10vw,148px); }
.approved-home-request > .service-request-form-panel { min-height:100%; padding:clamp(22px,2.6vw,36px); border-color:rgba(38,239,129,.36); background:linear-gradient(145deg,rgba(4,31,25,.94),rgba(2,13,11,.94)); }

@media (max-width: 980px) {
	.approved-home-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.approved-home-proof-grid > div:nth-child(odd) { border-left:0; }
	.approved-home-proof-grid > div:nth-child(n+3) { border-top:1px solid rgba(38,239,129,.17); }
	.approved-home-service-grid,
	.approved-home-request { grid-template-columns:1fr; }
}

@media (max-width: 760px) {
	.approved-home-hero { min-height:660px; align-items:end; background-position:65% top; background-size:auto 100%; }
	.approved-home-copy { padding-block:235px 52px; }
	.approved-home-copy h1 { font-size:clamp(43px,12vw,60px); }
	.approved-home-proof-grid { grid-template-columns:1fr; }
	.approved-home-proof-grid > div,
	.approved-home-proof-grid > div:nth-child(odd) { min-height:0; padding:18px 0; border-left:0; border-top:1px solid rgba(38,239,129,.17); }
	.approved-home-proof-grid > div:first-child { border-top:0; }
	.approved-home-service-grid { gap:13px; }
	.approved-home-service-grid a { min-height:100px; padding:20px; }
	.approved-home-service-grid span { font-size:19px; }
}

/* Shared approved footer. */
.site-footer { padding-block: clamp(58px,8vw,92px) 22px; background:#010706; border-top:1px solid rgba(38,239,129,.24); }
.approved-footer-grid { display:grid; grid-template-columns:1.45fr repeat(3,1fr); gap:clamp(24px,4vw,70px); }
.approved-footer-grid h2 { margin:0 0 17px; color:var(--green-2); font-size:14px; }
.approved-footer-grid > div:not(.approved-footer-brand) a { display:block; margin:0 0 10px; color:#c3ccc7; font-size:14px; }
.approved-footer-grid > div:not(.approved-footer-brand) a:hover { color:var(--green-2); }
.approved-footer-brand img { width:180px; height:auto; }
.approved-footer-brand p { max-width:260px; margin-top:17px; color:var(--muted); font-size:14px; line-height:1.55; }
.approved-footer-contact a { overflow-wrap:anywhere; }
.approved-footer-bottom { display:flex; justify-content:space-between; gap:22px; margin-top:52px; padding-top:18px; border-top:1px solid rgba(38,239,129,.14); color:var(--muted-2); font-size:12px; }
@media (max-width: 980px) { .approved-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .approved-footer-grid { grid-template-columns:1fr; gap:28px; }.approved-footer-bottom { flex-direction:column; margin-top:35px; gap:8px; } }

/* Approved blog composition. */
.approved-blog-hero { min-height:clamp(560px,47vw,740px); display:grid; align-items:center; border-bottom:1px solid rgba(38,239,129,.24); background:linear-gradient(90deg,#020908 0%,rgba(2,9,8,.98) 31%,rgba(2,9,8,.76) 50%,rgba(2,9,8,.1) 78%,rgba(2,9,8,.84) 100%),linear-gradient(0deg,#020908 0%,transparent 37%),url('../images/hero-resources.png') center right / cover no-repeat; }
.approved-blog-copy { max-width:640px; padding-block:clamp(100px,11vw,160px); }
.approved-blog-copy h1 { max-width:10.8ch; margin:15px 0 24px; font-size:clamp(48px,5.55vw,82px); line-height:.97; letter-spacing:-.062em; }
.approved-blog-copy > p:not(.eyebrow) { max-width:570px; margin-bottom:30px; color:#c3cdc7; font-size:18px; line-height:1.57; }
.approved-blog-feed { padding-block:clamp(80px,10vw,140px); }
.approved-blog-feed > header { max-width:700px; margin-bottom:36px; }.approved-blog-feed > header h2 { font-size:clamp(35px,4vw,60px); letter-spacing:-.055em; }
.approved-blog-list { border-top:1px solid rgba(38,239,129,.22); }.approved-blog-list article { display:grid; grid-template-columns:170px minmax(0,1fr) minmax(0,.8fr) auto; align-items:center; gap:24px; min-height:150px; padding:28px 0; border-bottom:1px solid rgba(38,239,129,.18); }.approved-blog-list .eyebrow { margin:0; font-size:10px; }.approved-blog-list h3 { font-size:clamp(23px,2.3vw,34px); line-height:1.05; }.approved-blog-list > article > p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.55; }.approved-blog-empty { padding:34px; border:1px solid rgba(38,239,129,.24); background:rgba(4,28,23,.74); }
@media(max-width:760px){.approved-blog-hero{min-height:640px;align-items:end;background-position:66% top;background-size:auto 100%}.approved-blog-copy{padding-block:230px 52px}.approved-blog-copy h1{font-size:clamp(42px,11.8vw,59px)}.approved-blog-list article{grid-template-columns:1fr;gap:12px;min-height:0;padding-block:27px}.approved-blog-list .text-link{margin-top:4px}}

/* Secure Data Destruction master page — approved interior-page direction. */
.secure-data-hero {
	position: relative;
	min-height: clamp(560px, 48vw, 730px);
	display: grid;
	align-items: center;
	overflow: hidden;
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.99) 28%, rgba(2, 9, 8, 0.82) 46%, rgba(2, 9, 8, 0.2) 75%, rgba(2, 9, 8, 0.68) 100%),
		linear-gradient(0deg, #020908 0%, transparent 32%),
		url('../images/secure-data-destruction-hero.png') center right / cover no-repeat;
}

.secure-data-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.secure-data-hero-copy {
	max-width: 590px;
	padding-block: clamp(88px, 10vw, 150px);
}

.secure-data-hero h1 {
	max-width: 11ch;
	margin: 14px 0 24px;
	font-size: clamp(46px, 5vw, 78px);
	line-height: 0.98;
	letter-spacing: -0.055em;
}

.secure-data-hero-copy > p:not(.eyebrow) {
	max-width: 530px;
	margin-bottom: 30px;
	color: #c4ceca;
	font-size: clamp(17px, 1.45vw, 21px);
	line-height: 1.56;
}

.secure-data-proof {
	position: relative;
	margin-top: -1px;
	border-top: 1px solid rgba(38, 239, 129, 0.22);
	border-bottom: 1px solid rgba(38, 239, 129, 0.18);
	background: #03100d;
}

.secure-data-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.secure-data-proof-grid > div {
	display: flex;
	align-items: center;
	gap: 17px;
	min-height: 116px;
	padding: 25px clamp(20px, 3vw, 42px);
	border-left: 1px solid rgba(38, 239, 129, 0.17);
}

.secure-data-proof-grid > div:first-child {
	border-left: 0;
}

.secure-data-proof-grid svg {
	width: 31px;
	height: 31px;
	flex: 0 0 auto;
	color: var(--green-2);
}

.secure-data-proof-grid p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.4;
}

.secure-data-proof-grid strong {
	display: block;
	margin-bottom: 3px;
	color: var(--white);
	font-size: 14px;
}

.secure-data-story {
	background:
		radial-gradient(circle at 19% 42%, rgba(0, 216, 111, 0.1), transparent 27rem),
		#020908;
}

.secure-data-story-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.13fr) minmax(320px, 0.87fr);
	align-items: center;
	gap: clamp(42px, 8vw, 136px);
}

.secure-data-story-art {
	min-height: clamp(340px, 37vw, 540px);
	background:
		linear-gradient(90deg, rgba(2, 9, 8, 0.05), #020908 93%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/secure-data-destruction-hero.png') center 78% / cover no-repeat;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 86%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 12%, #000 86%, transparent 100%);
}

.secure-data-story-copy {
	max-width: 510px;
}

.secure-data-story-copy h2,
.secure-data-pricing h2,
.secure-data-form-panel h2 {
	margin: 13px 0 18px;
	font-size: clamp(34px, 3.2vw, 52px);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.secure-data-story-copy > p:not(.eyebrow),
.secure-data-pricing-copy > p:not(.eyebrow) {
	color: #bac5c0;
	font-size: 16px;
	line-height: 1.66;
}

.secure-check-list {
	display: grid;
	gap: 13px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.secure-check-list li {
	display: grid;
	grid-template-columns: 19px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	color: #d7dfdb;
	font-size: 14px;
	line-height: 1.45;
}

.secure-check-list svg {
	width: 18px;
	height: 18px;
	color: var(--green-2);
}

.secure-data-pricing {
	padding-block: clamp(56px, 7vw, 104px);
	border-top: 1px solid rgba(38, 239, 129, 0.2);
	border-bottom: 1px solid rgba(38, 239, 129, 0.2);
	background:
		radial-gradient(circle at 17% 50%, rgba(0, 216, 111, 0.16), transparent 27rem),
		linear-gradient(104deg, #041813, #020908 62%);
}

.secure-data-pricing-grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
	align-items: center;
	gap: clamp(40px, 9vw, 150px);
}

.secure-price-mark {
	position: relative;
	display: grid;
	align-content: center;
	min-height: 300px;
	padding: clamp(34px, 5vw, 64px);
	border-left: 1px solid rgba(38, 239, 129, 0.45);
	background: linear-gradient(135deg, rgba(0, 216, 111, 0.08), transparent 60%);
}

.secure-price-mark span,
.secure-price-mark em {
	color: var(--green-2);
	font-size: 12px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.secure-price-mark strong {
	margin: 7px 0 0;
	color: var(--white);
	font-size: clamp(92px, 11vw, 160px);
	line-height: 0.8;
	letter-spacing: -0.09em;
}

.secure-price-mark sup {
	margin-right: 4px;
	font-size: 0.37em;
	vertical-align: top;
}

.secure-price-mark em {
	margin-top: 20px;
	color: #aebbb5;
	letter-spacing: 0.09em;
}

.secure-volume-note {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 14px;
	margin-top: 27px;
	padding: 18px 0 0;
	border-top: 1px solid rgba(38, 239, 129, 0.22);
}

.secure-volume-note svg {
	width: 27px;
	height: 27px;
	color: var(--green-2);
}

.secure-volume-note p {
	margin: 0;
	color: #bdc7c2;
	font-size: 14px;
	line-height: 1.55;
}

.secure-volume-note strong {
	display: block;
	margin-bottom: 3px;
	color: var(--white);
}

.secure-pricing-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	margin: 24px 0 0;
}

.secure-pricing-links a {
	color: var(--green-2);
	font-size: 14px;
	font-weight: 800;
}

.secure-data-process {
	padding-bottom: clamp(70px, 9vw, 132px);
}

.secure-data-process .section-heading {
	max-width: none;
	margin-bottom: 32px;
	text-align: center;
}

.secure-data-process-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid rgba(38, 239, 129, 0.28);
	border-bottom: 1px solid rgba(38, 239, 129, 0.28);
}

.secure-data-process-grid article {
	padding: 29px 26px 32px;
	border-left: 1px solid rgba(38, 239, 129, 0.2);
}

.secure-data-process-grid article:first-child {
	border-left: 0;
}

.secure-data-process-grid span {
	display: block;
	margin-bottom: 23px;
	color: var(--green-2);
	font-size: 31px;
	font-weight: 400;
	line-height: 1;
}

.secure-data-process-grid h3 {
	margin-bottom: 8px;
	font-size: 17px;
}

.secure-data-process-grid p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.55;
}

.secure-data-request {
	padding-block: clamp(68px, 8vw, 112px);
	border-top: 1px solid rgba(38, 239, 129, 0.2);
	background:
		radial-gradient(circle at 75% 16%, rgba(0, 216, 111, 0.12), transparent 28rem),
		#020908;
}

.secure-data-request-grid {
	display: grid;
	grid-template-columns: minmax(290px, 0.78fr) minmax(0, 1.22fr);
	align-items: stretch;
	gap: clamp(26px, 4vw, 62px);
}

.secure-data-form-panel {
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid rgba(38, 239, 129, 0.3);
	border-radius: 26px 4px 26px 4px;
	background: rgba(3, 18, 15, 0.68);
	box-shadow: 0 26px 66px rgba(0, 0, 0, 0.24);
}

.secure-data-form-panel > p:not(.eyebrow) {
	max-width: 650px;
	margin: 0 0 28px;
	color: var(--muted);
	line-height: 1.55;
}

.secure-data-form-panel .pickup-form {
	margin-top: 0;
}

@media (max-width: 980px) {
	.secure-data-hero {
		min-height: 590px;
		align-items: end;
		background:
			linear-gradient(90deg, rgba(2, 9, 8, 0.98) 0%, rgba(2, 9, 8, 0.88) 52%, rgba(2, 9, 8, 0.5) 100%),
			linear-gradient(0deg, #020908 0%, transparent 48%),
			url('../images/secure-data-destruction-hero.png') 67% center / cover no-repeat;
	}

	.secure-data-story-grid,
	.secure-data-pricing-grid,
	.secure-data-request-grid {
		grid-template-columns: 1fr;
	}

	.secure-data-story-art {
		order: 2;
		min-height: 340px;
	}

	.secure-data-story-copy {
		max-width: 630px;
	}

	.secure-data-request-grid .request-info-stack {
		order: 2;
	}

	.secure-data-request-grid .secure-data-form-panel {
		order: 1;
	}
}

@media (max-width: 760px) {
	.secure-data-hero {
		min-height: 620px;
		background:
			linear-gradient(0deg, #020908 4%, rgba(2, 9, 8, 0.92) 45%, rgba(2, 9, 8, 0.2) 100%),
			url('../images/secure-data-destruction-hero.png') 62% top / auto 100% no-repeat;
	}

	.secure-data-hero-copy {
		padding-block: 210px 48px;
	}

	.secure-data-hero h1 {
		max-width: 10.5ch;
		font-size: clamp(41px, 12vw, 58px);
	}

	.secure-data-proof-grid,
	.secure-data-process-grid {
		grid-template-columns: 1fr;
	}

	.secure-data-proof-grid > div,
	.secure-data-proof-grid > div:first-child,
	.secure-data-process-grid article,
	.secure-data-process-grid article:first-child {
		min-height: 0;
		border-left: 0;
		border-top: 1px solid rgba(38, 239, 129, 0.18);
	}

	.secure-data-proof-grid > div:first-child,
	.secure-data-process-grid article:first-child {
		border-top: 0;
	}

	.secure-data-proof-grid > div {
		padding: 19px 0;
	}

	.secure-data-story-art {
		min-height: 270px;
	}

	.secure-price-mark {
		min-height: 230px;
	}

	.secure-data-process-grid article {
		padding: 21px 0 24px;
	}

	.secure-data-process-grid span {
		margin-bottom: 13px;
	}

	.secure-data-form-panel {
		padding: 24px 18px;
	}
}

/* Site-wide interior-page system derived from the approved secure-data master. */
.editorial-detail-hero {
	position: relative;
	min-height: clamp(520px, 43vw, 680px);
	display: grid;
	align-items: center;
	overflow: hidden;
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 30%, rgba(2, 9, 8, 0.78) 48%, rgba(2, 9, 8, 0.16) 76%, rgba(2, 9, 8, 0.75) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/hero-electronics.png') center right / cover no-repeat;
}

.editorial-detail-hero--shield,
.editorial-detail-hero--database {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 31%, rgba(2, 9, 8, 0.78) 49%, rgba(2, 9, 8, 0.14) 77%, rgba(2, 9, 8, 0.74) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/secure-data-destruction-hero.png') center right / cover no-repeat;
}

.editorial-detail-hero--home {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 31%, rgba(2, 9, 8, 0.72) 51%, rgba(2, 9, 8, 0.1) 78%, rgba(2, 9, 8, 0.74) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/hero-scene-clean.png') center right / cover no-repeat;
}

.editorial-detail-hero--truck {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 32%, rgba(2, 9, 8, 0.74) 51%, rgba(2, 9, 8, 0.12) 77%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/pickup-scene.png') center right / cover no-repeat;
}

.editorial-detail-hero-inner {
	position: relative;
	z-index: 1;
	width: 100%;
}

.editorial-detail-hero-copy {
	max-width: 610px;
	padding-block: clamp(82px, 10vw, 144px);
}

.editorial-detail-hero h1 {
	max-width: 11ch;
	margin: 13px 0 23px;
	font-size: clamp(44px, 4.85vw, 76px);
	line-height: 0.99;
	letter-spacing: -0.055em;
}

.editorial-detail-hero-copy > p:not(.eyebrow) {
	max-width: 560px;
	margin-bottom: 29px;
	color: #c4ceca;
	font-size: clamp(17px, 1.42vw, 20px);
	line-height: 1.55;
}

.editorial-detail-proof {
	border-top: 1px solid rgba(38, 239, 129, 0.22);
	border-bottom: 1px solid rgba(38, 239, 129, 0.18);
	background: #03100d;
}

.editorial-detail-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editorial-detail-proof-grid > div {
	display: flex;
	gap: 16px;
	align-items: center;
	min-height: 112px;
	padding: 23px clamp(20px, 3vw, 42px);
	border-left: 1px solid rgba(38, 239, 129, 0.17);
}

.editorial-detail-proof-grid > div:first-child {
	border-left: 0;
}

.editorial-detail-proof-grid svg {
	width: 29px;
	height: 29px;
	flex: 0 0 auto;
	color: var(--green-2);
}

.editorial-detail-proof-grid p {
	margin: 0;
	color: var(--muted);
	font-size: 13px;
	line-height: 1.4;
}

.editorial-detail-proof-grid strong {
	display: block;
	margin-bottom: 3px;
	color: var(--white);
	font-size: 14px;
}

.editorial-detail-content {
	background: radial-gradient(circle at 78% 15%, rgba(0, 216, 111, 0.08), transparent 25rem);
}

.editorial-detail-content .detail-grid {
	gap: clamp(22px, 3vw, 52px);
	margin-top: 0;
}

.editorial-detail-content .content-card {
	padding-top: 24px;
}

.editorial-detail-content .content-card > svg {
	width: 32px;
	height: 32px;
	margin-bottom: 18px;
}

.editorial-detail-process {
	padding-block: clamp(48px, 7vw, 94px);
	border-top: 1px solid rgba(38, 239, 129, 0.24);
	border-bottom: 1px solid rgba(38, 239, 129, 0.2);
}

.editorial-process-grid {
	margin-top: 30px;
}

.editorial-detail-notice {
	padding-block: clamp(64px, 8vw, 112px);
}

.editorial-detail-notice .detail-notice {
	margin-top: 0;
	border-radius: 28px 4px 28px 4px;
}

/* Existing top-level pages now use the same blended art direction. */
.services-hero-media {
	min-height: clamp(300px, 36vw, 480px);
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.services-hero-media::before {
	inset: -12%;
	background: radial-gradient(circle at 56% 42%, rgba(0, 216, 111, 0.16), transparent 42%);
	filter: blur(20px);
}

.services-hero-media::after {
	inset: 0;
	box-shadow: none;
	background: linear-gradient(90deg, rgba(2, 9, 8, 0.94), transparent 36%, rgba(2, 9, 8, 0.36) 78%, rgba(2, 9, 8, 0.9) 100%);
}

.services-hero-media img {
	position: relative;
	z-index: 1;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 17%, #000 85%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 17%, #000 85%, transparent 100%);
}

.interior-hero:not(.services-hero) {
	min-height: min(48vw, 600px);
	display: grid;
	align-items: center;
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.96) 42%, rgba(2, 9, 8, 0.5) 72%, rgba(2, 9, 8, 0.84) 100%),
		url('../images/hero-electronics.png') right center / min(58vw, 780px) auto no-repeat,
		#020908;
}

.interior-hero:not(.services-hero) > .site-shell:not(.interior-hero-grid) {
	position: relative;
	z-index: 1;
}

.interior-hero:not(.services-hero) > .site-shell:not(.interior-hero-grid) h1,
.interior-hero:not(.services-hero) > .site-shell:not(.interior-hero-grid) p:not(.eyebrow) {
	max-width: min(100%, 700px);
}

.interior-hero-grid > img {
	border: 0;
	border-radius: 0;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 84%, transparent 100%);
}

.services-page-section .content-card,
.resource-grid .content-card,
.not-accepted-grid .not-accepted-card,
.service-areas-layout .content-card,
.about-grid .content-card,
.about-grid .content-panel {
	border-radius: 22px 4px 22px 4px;
}

@media (max-width: 980px) {
	.editorial-detail-hero {
		min-height: 580px;
		align-items: end;
	}

	.editorial-detail-proof-grid {
		grid-template-columns: 1fr;
	}

	.editorial-detail-proof-grid > div,
	.editorial-detail-proof-grid > div:first-child {
		min-height: 0;
		border-left: 0;
		border-top: 1px solid rgba(38, 239, 129, 0.17);
	}

	.editorial-detail-proof-grid > div:first-child {
		border-top: 0;
	}

	.editorial-detail-process .process-grid article:nth-child(n) {
		border-top: 1px solid rgba(38, 239, 129, 0.2);
	}

	.services-hero-media {
		margin-top: 10px;
	}
}

@media (max-width: 760px) {
	.editorial-detail-hero {
		min-height: 610px;
		background-position: 64% top;
		background-size: auto 100%;
	}

	.editorial-detail-hero-copy {
		padding-block: 212px 48px;
	}

	.editorial-detail-hero h1 {
		font-size: clamp(40px, 11.6vw, 56px);
	}

	.editorial-detail-proof-grid > div {
		padding: 18px 0;
	}

	.interior-hero:not(.services-hero) {
		min-height: 0;
		padding-block: 76px 56px;
		background:
			linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.91) 68%, rgba(2, 9, 8, 0.68) 100%),
			url('../images/hero-electronics.png') 62% center / auto 100% no-repeat,
			#020908;
	}
}

/* 2.6 production image system: each primary page receives purpose-made art. */
.services-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 31%, rgba(2, 9, 8, 0.76) 50%, rgba(2, 9, 8, 0.16) 77%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 35%),
		url('../images/hero-services.png') center right / cover no-repeat;
}

.services-hero .interior-hero-grid {
	display: block;
}

.services-hero .interior-hero-grid > div:first-child {
	max-width: 610px;
}

.services-hero .services-hero-media {
	display: none;
}

.accepted-equipment-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 35%, rgba(2, 9, 8, 0.72) 56%, rgba(2, 9, 8, 0.18) 81%, rgba(2, 9, 8, 0.8) 100%),
		linear-gradient(0deg, #020908 0%, transparent 36%),
		url('../images/hero-accepted-equipment.png') center right / cover no-repeat;
}

.who-we-serve-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 36%, rgba(2, 9, 8, 0.74) 55%, rgba(2, 9, 8, 0.16) 81%, rgba(2, 9, 8, 0.82) 100%),
		linear-gradient(0deg, #020908 0%, transparent 36%),
		url('../images/hero-who-we-serve.png') center right / cover no-repeat;
}

.resources-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 35%, rgba(2, 9, 8, 0.72) 57%, rgba(2, 9, 8, 0.17) 80%, rgba(2, 9, 8, 0.82) 100%),
		linear-gradient(0deg, #020908 0%, transparent 36%),
		url('../images/hero-resources.png') center right / cover no-repeat;
}

.service-areas-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 37%, rgba(2, 9, 8, 0.72) 57%, rgba(2, 9, 8, 0.12) 82%, rgba(2, 9, 8, 0.82) 100%),
		linear-gradient(0deg, #020908 0%, transparent 36%),
		url('../images/hero-service-areas.png') center right / cover no-repeat;
}

.editorial-detail-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 30%, rgba(2, 9, 8, 0.78) 48%, rgba(2, 9, 8, 0.16) 76%, rgba(2, 9, 8, 0.75) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/hero-services.png') center right / cover no-repeat;
}

.editorial-detail-hero--shield,
.editorial-detail-hero--database {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 31%, rgba(2, 9, 8, 0.78) 49%, rgba(2, 9, 8, 0.14) 77%, rgba(2, 9, 8, 0.74) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/secure-data-destruction-hero.png') center right / cover no-repeat;
}

.editorial-detail-hero--truck {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 32%, rgba(2, 9, 8, 0.74) 51%, rgba(2, 9, 8, 0.12) 77%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/hero-business-pickup.png') center right / cover no-repeat;
}

.editorial-detail-hero--server {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 32%, rgba(2, 9, 8, 0.74) 51%, rgba(2, 9, 8, 0.14) 78%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/hero-it-asset-recovery.png') center right / cover no-repeat;
}

.editorial-detail-hero--home {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 32%, rgba(2, 9, 8, 0.73) 52%, rgba(2, 9, 8, 0.12) 79%, rgba(2, 9, 8, 0.8) 100%),
		linear-gradient(0deg, #020908 0%, transparent 34%),
		url('../images/hero-residential-recycling.png') center right / cover no-repeat;
}

.about-us-hero {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.97) 35%, rgba(2, 9, 8, 0.7) 56%, rgba(2, 9, 8, 0.17) 80%, rgba(2, 9, 8, 0.82) 100%),
		url('../images/hero-about-us.png') center right / cover no-repeat;
}

.about-us-hero .interior-hero-grid > img {
	display: none;
}

@media (max-width: 760px) {
	.services-hero,
	.accepted-equipment-hero,
	.who-we-serve-hero,
	.resources-hero,
	.service-areas-hero,
	.about-us-hero,
	.editorial-detail-hero {
		background-position: 66% top;
		background-size: auto 100%;
	}
}

@media (max-width: 420px) {
	.button {
		padding-inline: 18px;
	}

	.value-card {
		grid-template-columns: 36px minmax(0, 1fr);
		padding-inline: 16px;
	}

	.content-panel {
		padding: 16px;
	}

	.equipment-grid {
		grid-template-columns: 1fr;
	}
}

/* v2.6: approved page-art rollout. Each customer-facing path gets its own
 * full-bleed visual and the lower content follows one restrained editorial grid. */
.editorial-detail-hero--pickup-prep {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 31%, rgba(2, 9, 8, 0.76) 50%, rgba(2, 9, 8, 0.13) 78%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 35%),
		url('../images/hero-pickup-prep.png') center right / cover no-repeat;
}

.editorial-detail-hero--data-guide {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 31%, rgba(2, 9, 8, 0.77) 50%, rgba(2, 9, 8, 0.12) 78%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 35%),
		url('../images/hero-data-destruction-guide.png') center right / cover no-repeat;
}

.editorial-detail-hero--recycling-faq {
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.98) 32%, rgba(2, 9, 8, 0.76) 51%, rgba(2, 9, 8, 0.12) 78%, rgba(2, 9, 8, 0.78) 100%),
		linear-gradient(0deg, #020908 0%, transparent 35%),
		url('../images/hero-recycling-faq.png') center right / cover no-repeat;
}

.schedule-master-hero {
	border-bottom: 1px solid rgba(38, 239, 129, 0.22);
	background:
		linear-gradient(90deg, #020908 0%, rgba(2, 9, 8, 0.97) 36%, rgba(2, 9, 8, 0.76) 55%, rgba(2, 9, 8, 0.18) 82%, rgba(2, 9, 8, 0.84) 100%),
		linear-gradient(0deg, #020908 0%, transparent 36%),
		url('../images/hero-schedule-pickup.png') center right / cover no-repeat;
}

.schedule-master-hero .schedule-layout {
	min-height: 760px;
	padding-bottom: clamp(62px, 8vw, 112px);
}

.schedule-master-hero .schedule-copy {
	position: static;
	padding-bottom: 0;
}

.schedule-master-hero .schedule-copy > p:not(.eyebrow) {
	max-width: 600px;
	color: #c4ceca;
}

.schedule-master-hero .schedule-form-panel {
	align-self: center;
	border-color: rgba(38, 239, 129, 0.34);
	background: rgba(2, 14, 12, 0.89);
	backdrop-filter: blur(8px);
}

.services-overview-section .service-grid,
.resource-grid {
	grid-template-columns: 1fr;
	gap: 0;
	border-top: 1px solid rgba(38, 239, 129, 0.22);
}

.services-overview-section .service-card,
.resource-grid .resource-card {
	display: grid;
	grid-template-columns: 46px minmax(0, 0.54fr) minmax(0, 1fr) auto;
	gap: 22px;
	align-items: center;
	min-height: 126px;
	padding: 26px 4px;
	border: 0;
	border-bottom: 1px solid rgba(38, 239, 129, 0.18);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.services-overview-section .service-card:hover,
.resource-grid .resource-card:hover {
	transform: none;
	box-shadow: none;
	border-color: rgba(38, 239, 129, 0.48);
}

.services-overview-section .service-card > svg,
.resource-grid .resource-card > svg {
	width: 36px;
	height: 36px;
	margin: 0;
}

.services-overview-section .service-card h2,
.resource-grid .resource-card h2 {
	margin: 0;
	font-size: clamp(22px, 2vw, 30px);
}

.services-overview-section .service-card p,
.resource-grid .resource-card p {
	margin: 0;
	max-width: 590px;
}

.services-overview-section .service-card .text-link,
.resource-grid .resource-card .text-link {
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.audience-grid-wide .audience-card {
	border-radius: 20px 4px 20px 4px;
	background: linear-gradient(155deg, rgba(4, 26, 21, 0.9), rgba(1, 10, 8, 0.88));
}

.audience-grid-wide .audience-card img {
	border-radius: 15px 3px 15px 3px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.services-page-section .content-card,
.detail-grid .content-card,
.about-grid .content-card {
	background: linear-gradient(155deg, rgba(5, 28, 23, 0.8), rgba(1, 10, 8, 0.6));
}

@media (max-width: 980px) {
	.schedule-master-hero .schedule-layout {
		min-height: 0;
	}

	.services-overview-section .service-card,
	.resource-grid .resource-card {
		grid-template-columns: 42px minmax(0, 1fr) auto;
	}

	.services-overview-section .service-card p,
	.resource-grid .resource-card p {
		grid-column: 2 / -1;
	}
}

@media (max-width: 760px) {
	.schedule-master-hero {
		background-position: 66% top;
		background-size: auto 100%;
	}

	.schedule-master-hero .schedule-layout {
		padding-top: 210px;
	}

	.services-overview-section .service-card,
	.resource-grid .resource-card {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 14px;
		padding: 23px 0;
	}

	.services-overview-section .service-card p,
	.resource-grid .resource-card p,
	.services-overview-section .service-card .text-link,
	.resource-grid .resource-card .text-link {
		grid-column: 2;
	}
}

/* v2.4.1: shared, symmetrical service-request contact stack. */
.request-info-stack {
	display: grid;
	grid-template-rows: minmax(190px, 1fr) minmax(92px, auto) minmax(92px, auto) minmax(170px, auto);
	gap: 14px;
	min-width: 0;
}

.request-info-stack > * {
	min-width: 0;
	margin-top: 0;
}

.request-truck-card,
.request-truck-card img {
	min-height: 190px;
}

.request-contact-card {
	min-height: 92px;
}

.request-contact-card .contact-methods > span {
	color: var(--green-2);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.request-contact-card a {
	margin-top: 4px;
	font-size: clamp(18px, 1.45vw, 22px);
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.request-email-card a {
	font-size: clamp(15px, 1.22vw, 18px);
}

.request-dropoff-card {
	min-height: 170px;
}

.request-dropoff-card address,
.request-dropoff-card .dropoff-hours {
	padding-left: 54px;
}

.request-dropoff-card address a span {
	display: block;
}

.service-request-form-panel {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.service-request-form-panel .pickup-form {
	flex: 0 0 auto;
}

.schedule-copy .request-info-stack {
	margin-top: 28px;
}

@media (min-width: 981px) {
	.pickup-section,
	.schedule-layout {
		align-items: stretch;
	}

	.schedule-copy {
		position: static;
		display: flex;
		flex-direction: column;
	}

	.schedule-copy .request-info-stack {
		flex: 1 1 auto;
	}
}

@media (max-width: 980px) {
	.request-info-stack {
		grid-template-rows: minmax(190px, auto) auto auto auto;
	}
}

/* v2.4.2: editorial spacing, clearer service journeys, and photo-led detail heroes. */
.interior-hero {
	padding-block: clamp(82px, 10vw, 132px) clamp(64px, 8vw, 104px);
}

.detail-hero-grid {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.68fr);
	gap: clamp(36px, 6vw, 86px);
}

.detail-hero-visual {
	position: relative;
	min-height: clamp(250px, 26vw, 390px);
	overflow: hidden;
	border: 1px solid rgba(38, 239, 129, 0.28);
	border-radius: calc(var(--radius) + 4px);
	background: #041512;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.26);
}

.detail-hero-visual::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(0, 216, 111, 0.13), transparent 48%, rgba(0, 0, 0, 0.35));
	pointer-events: none;
}

.detail-hero-visual img {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.9) contrast(1.04);
}

.section-pad {
	padding-block: clamp(64px, 8vw, 108px);
}

.process-band,
.detail-band,
.faq-section {
	margin-top: clamp(58px, 8vw, 108px);
}

.services-page-section.process-band,
.services-page-section.detail-band {
	margin-top: clamp(72px, 9vw, 120px);
}

.content-card {
	padding: clamp(24px, 2.5vw, 32px);
	border-color: rgba(38, 239, 129, 0.24);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.13);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.content-card:hover {
	border-color: rgba(38, 239, 129, 0.5);
	box-shadow: 0 20px 46px rgba(0, 0, 0, 0.22);
	transform: translateY(-3px);
}

.content-card p,
.process-grid p,
.notice-panel p {
	line-height: 1.55;
}

.process-band {
	padding-block: clamp(30px, 4vw, 48px);
	border-top: 1px solid rgba(38, 239, 129, 0.22);
	border-bottom: 1px solid rgba(38, 239, 129, 0.14);
}

.process-grid {
	gap: 16px;
	margin-top: 30px;
}

.process-grid article {
	position: relative;
	min-height: 176px;
	padding: 24px;
	border: 1px solid rgba(38, 239, 129, 0.2);
	border-radius: var(--radius);
	background: linear-gradient(160deg, rgba(5, 26, 22, 0.82), rgba(1, 11, 9, 0.5));
}

.process-grid article::after {
	content: "";
	position: absolute;
	top: 38px;
	right: -17px;
	width: 18px;
	height: 1px;
	background: rgba(38, 239, 129, 0.45);
}

.process-grid article:last-child::after {
	display: none;
}

.process-grid span {
	margin-bottom: 20px;
	font-size: 12px;
}

.notice-panel,
.cta-panel {
	padding: clamp(24px, 3vw, 36px);
	border-color: rgba(38, 239, 129, 0.32);
	background: linear-gradient(110deg, rgba(4, 29, 23, 0.98), rgba(2, 15, 12, 0.88));
	box-shadow: 0 22px 48px rgba(0, 0, 0, 0.18);
}

.site-footer {
	padding-block: 36px 42px;
	border-top: 1px solid rgba(38, 239, 129, 0.18);
}

.footer-company {
	gap: 7px;
}

.footer-company a,
.footer-contact a {
	font-size: 14px;
}

.footer-contact span {
	line-height: 1.55;
}

@media (max-width: 980px) {
	.detail-hero-grid {
		grid-template-columns: 1fr;
	}

	.detail-hero-visual {
		min-height: min(58vw, 350px);
	}

	.process-grid article::after {
		display: none;
	}
}

@media (max-width: 760px) {
	.interior-hero {
		padding-block: 64px 52px;
	}

	.section-pad {
		padding-block: 48px 56px;
	}

	.process-band,
	.detail-band,
	.faq-section,
	.services-page-section.process-band,
	.services-page-section.detail-band {
		margin-top: 48px;
	}

	.content-card,
	.process-grid article,
	.notice-panel,
	.cta-panel {
		padding: 22px;
	}
}

/* Part 1 visual lock — Who We Serve.  Measurements follow the approved
   canvas rather than the wider shared interior-page defaults. */
.canvas-locked-page--who-we-serve .site-shell { width:min(100% - 108px, 1190px); }
.canvas-locked-page--who-we-serve .canvas-locked-hero { height:clamp(370px, 38.1vw, 454px); min-height:0; background-position:center top; overflow:hidden; }
.canvas-locked-page--who-we-serve .canvas-locked-hero-copy { padding-block:40px 16px; }
.canvas-locked-page--who-we-serve .canvas-locked-hero-copy > * { max-width:322px; }
.canvas-locked-page--who-we-serve .canvas-locked-hero-copy h1 { margin-block:9px 8px; font-size:clamp(40px,4.2vw,59px); line-height:1.01; }
.canvas-locked-page--who-we-serve .canvas-locked-hero-copy > p:not(.eyebrow) { max-width:366px; margin-bottom:13px; font-size:12px; line-height:1.38; }
.canvas-locked-page--who-we-serve .canvas-rule { width:58px; margin-bottom:10px; }
.canvas-locked-page--who-we-serve .button { min-height:40px; padding:0 18px; font-size:11px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience { grid-template-columns:132px minmax(255px, .77fr) minmax(370px, 1.23fr); height:116px; min-height:0; overflow:hidden; }
.canvas-locked-page--who-we-serve .canvas-locked-audience-icon svg { width:58px; height:58px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience-copy { padding:12px 0 8px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience-copy h2 { margin-bottom:3px; font-size:22px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience-copy p { max-width:295px; font-size:10px; line-height:1.24; }
.canvas-locked-page--who-we-serve .canvas-locked-audience-copy ul { gap:2px 10px; margin-top:5px; font-size:8px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience--1 .canvas-locked-audience-copy p { font-size:9px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience--1 .canvas-locked-audience-copy ul { gap:2px 7px; font-size:7px; }
.canvas-locked-page--who-we-serve .canvas-locked-audience-art { min-height:116px; background-size:cover, auto 560px; }
.canvas-locked-page--who-we-serve .canvas-locked-process { height:151px; padding-block:10px 5px; overflow:hidden; }
.canvas-locked-page--who-we-serve .canvas-locked-process .section-heading { margin-bottom:10px; }
.canvas-locked-page--who-we-serve .canvas-locked-process .section-heading .eyebrow { margin-bottom:4px; font-size:8px; }
.canvas-locked-page--who-we-serve .canvas-locked-process .section-heading h2 { font-size:22px; }
.canvas-locked-page--who-we-serve .canvas-locked-process-grid { gap:25px; padding-inline:102px; }
.canvas-locked-page--who-we-serve .canvas-locked-process-grid article { height:88px; min-height:0; overflow:hidden; }
.canvas-locked-page--who-we-serve .canvas-locked-process-grid article:not(:first-child)::before { top:18px; left:-19px; width:calc(100% - 7px); }
.canvas-locked-page--who-we-serve .canvas-locked-process-grid span { margin-bottom:5px; padding-right:7px; font-size:22px; }
.canvas-locked-page--who-we-serve .canvas-locked-process-grid h3 { margin-bottom:3px; font-size:10px; }
.canvas-locked-page--who-we-serve .canvas-locked-process-grid p { font-size:9px; line-height:1.22; }
.canvas-locked-page--who-we-serve .canvas-locked-dropoff { grid-template-columns:70px minmax(210px, .8fr) minmax(330px, 1.1fr); height:92px; min-height:0; margin-bottom:8px; padding:11px 25px; overflow:hidden; }
.canvas-locked-page--who-we-serve .canvas-locked-dropoff > svg { width:53px; height:53px; }
.canvas-locked-page--who-we-serve .canvas-locked-dropoff h2 { font-size:21px; }
.canvas-locked-page--who-we-serve .canvas-locked-dropoff p,.canvas-locked-page--who-we-serve .canvas-locked-checks span { font-size:11px; }
.canvas-locked-page--who-we-serve .canvas-locked-checks { gap:7px; padding-left:32px; }
.canvas-locked-page--who-we-serve .canvas-locked-request { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); height:272px; min-height:0; margin-bottom:0; overflow:hidden; }
.canvas-locked-page--who-we-serve .canvas-locked-contact-stack { display:grid; grid-template-columns:51% 49%; min-width:0; border-right:1px solid rgba(107,215,139,.2); }
.canvas-locked-page--who-we-serve .canvas-locked-contact-image { min-height:0; }
.canvas-locked-page--who-we-serve .canvas-locked-contact-image img { width:100%; height:100%; object-fit:cover; object-position:72% center; }
.canvas-locked-page--who-we-serve .canvas-locked-contact-lines { display:grid; grid-template-rows:repeat(4,1fr); }
.canvas-locked-page--who-we-serve .canvas-locked-contact-lines > * { display:flex; align-items:center; gap:12px; min-width:0; padding:8px 14px; border-bottom:1px solid rgba(107,215,139,.16); color:#eff7f1; font-size:11px; line-height:1.2; }
.canvas-locked-page--who-we-serve .canvas-locked-contact-lines > *:last-child { border-bottom:0; }
.canvas-locked-page--who-we-serve .canvas-locked-contact-lines svg { width:22px; height:22px; flex:0 0 auto; color:var(--green-2); }
.canvas-locked-page--who-we-serve .canvas-locked-contact-lines span { overflow-wrap:anywhere; }
.canvas-locked-page--who-we-serve .canvas-locked-contact-lines small { display:block; margin-bottom:3px; color:var(--green-2); font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.canvas-locked-page--who-we-serve .canvas-locked-request .service-request-form-panel { padding:13px 16px 10px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .service-request-form-panel > h2 { margin-bottom:2px; font-size:18px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .service-request-form-panel > p { margin-bottom:6px; font-size:9px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .pickup-form { gap:5px; margin-top:6px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .form-grid { gap:5px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .form-grid label > span,.canvas-locked-page--who-we-serve .canvas-locked-request .form-bottom label > span { height:0; overflow:hidden; clip-path:inset(50%); position:absolute; white-space:nowrap; }
.canvas-locked-page--who-we-serve .canvas-locked-request .pickup-form input,.canvas-locked-page--who-we-serve .canvas-locked-request .pickup-form select { height:24px; min-height:24px; padding:4px 7px; font-size:8px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .pickup-form select { width:100%; color:var(--muted); border:1px solid rgba(118,223,148,.25); border-radius:var(--radius); background:rgba(2,10,8,.55); }
.canvas-locked-page--who-we-serve .canvas-locked-request .pickup-form .form-field-wide { grid-column:1 / -1; }
.canvas-locked-page--who-we-serve .canvas-locked-request .pickup-form textarea { height:35px; min-height:35px; padding:5px 7px; font-size:8px; }
.canvas-locked-page--who-we-serve .canvas-locked-request .button-submit { min-height:26px; height:26px; padding-inline:12px; font-size:8px; }
body:has(.canvas-locked-page--who-we-serve) .site-footer { padding-block:10px 6px; }
body:has(.canvas-locked-page--who-we-serve) { --header-h:58px; --gutter:28px; }
body:has(.canvas-locked-page--who-we-serve) .header-shell { gap:18px; }
body:has(.canvas-locked-page--who-we-serve) .brand-logo { width:126px; }
body:has(.canvas-locked-page--who-we-serve) .primary-menu { gap:19px; }
body:has(.canvas-locked-page--who-we-serve) .primary-menu a { font-size:10px; }
body:has(.canvas-locked-page--who-we-serve) .header-contact-stack { gap:2px; padding:0; border:0; background:transparent; }
body:has(.canvas-locked-page--who-we-serve) .header-contact-stack a { font-size:9px; }
body:has(.canvas-locked-page--who-we-serve) .header-contact-stack .icon { width:12px; height:12px; }
body:has(.canvas-locked-page--who-we-serve) .header-actions { gap:17px; }
body:has(.canvas-locked-page--who-we-serve) .header-actions .button { min-height:30px; padding-inline:13px; font-size:9px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-grid { gap:28px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-grid h2 { margin-bottom:5px; font-size:9px; line-height:10px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-grid > div:not(.approved-footer-brand) a { margin-bottom:4px; font-size:9px; line-height:11px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-brand p { margin-top:8px; font-size:9px; line-height:12px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-bottom { font-size:8px; line-height:10px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-brand img { width:154px; }
body:has(.canvas-locked-page--who-we-serve) .approved-footer-bottom { min-height:0; margin-top:5px; padding-top:6px; }
@media (max-width:760px) { .canvas-locked-page--who-we-serve .site-shell { width:min(100% - 36px, 1190px); }.canvas-locked-page--who-we-serve .canvas-locked-hero-copy { padding-block:206px 45px; }.canvas-locked-page--who-we-serve .canvas-locked-audience { grid-template-columns:64px 1fr; }.canvas-locked-page--who-we-serve .canvas-locked-process-grid { padding-inline:0; }.canvas-locked-page--who-we-serve .canvas-locked-dropoff { grid-template-columns:48px 1fr; }.canvas-locked-page--who-we-serve .canvas-locked-contact-stack { grid-template-columns:1fr; border-right:0; }.canvas-locked-page--who-we-serve .canvas-locked-contact-image { min-height:225px; }.canvas-locked-page--who-we-serve .canvas-locked-contact-lines > * { min-height:69px; } }

/* v2.4.3 final cascade: remove the boxed-photo and repeated-card treatment. */
.header-contact-stack {
	display: grid;
	gap: 3px;
	min-width: 0;
	padding: 7px 11px;
	border: 1px solid rgba(38, 239, 129, 0.24);
	border-radius: 12px 3px 12px 3px;
	background: rgba(3, 18, 16, 0.56);
}

.header-contact-stack a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--green-2);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.1;
	white-space: nowrap;
}

.header-contact-stack svg {
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
}

.dropoff-card address,
.dropoff-card .dropoff-hours {
	padding-left: 46px;
}

.dropoff-card address a span,
.footer-contact a span {
	display: block;
}

.footer-contact a span {
	font-size: 14px;
	line-height: 1.35;
}

.detail-hero {
	overflow: hidden;
}

.detail-hero-grid {
	position: relative;
	min-height: clamp(370px, 34vw, 520px);
	display: block;
}

.detail-hero-grid > :first-child {
	position: relative;
	z-index: 2;
	max-width: min(100%, 690px);
}

.detail-hero-visual {
	position: absolute;
	top: -44px;
	right: clamp(-64px, -3vw, -18px);
	bottom: -44px;
	width: min(55%, 680px);
	min-height: 0;
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	pointer-events: none;
}

.detail-hero-visual::before {
	content: "";
	position: absolute;
	inset: -12%;
	background: radial-gradient(circle at 58% 42%, rgba(0, 216, 111, 0.18), transparent 43%);
	filter: blur(18px);
}

.detail-hero-visual::after {
	inset: 0;
	background: linear-gradient(90deg, rgba(2, 9, 8, 1) 0%, rgba(2, 9, 8, 0.62) 16%, transparent 42%, rgba(2, 9, 8, 0.1) 75%, rgba(2, 9, 8, 0.86) 100%);
}

.detail-hero-visual img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: saturate(0.88) contrast(1.08) brightness(0.82);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 17%, #000 84%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 17%, #000 84%, transparent 100%);
}

.detail-grid:not(.balanced-grid) > .content-card {
	padding: 18px 8px 8px 0;
	border: 0;
	border-top: 1px solid rgba(38, 239, 129, 0.26);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.detail-grid:not(.balanced-grid) > .content-card:hover {
	border-color: rgba(38, 239, 129, 0.62);
	box-shadow: none;
	transform: none;
}

.balanced-grid .content-card,
.service-card,
.dropoff-card {
	border-radius: 22px 4px 22px 4px;
}

.process-band {
	padding-block: clamp(36px, 5vw, 64px);
	border-top-color: rgba(38, 239, 129, 0.3);
	border-bottom-color: rgba(38, 239, 129, 0.22);
}

.process-grid {
	gap: 0;
	margin-top: 28px;
	border-top: 1px solid rgba(38, 239, 129, 0.2);
	border-bottom: 1px solid rgba(38, 239, 129, 0.2);
}

.process-grid article {
	min-height: 0;
	padding: 25px 24px 28px;
	border: 0;
	border-left: 1px solid rgba(38, 239, 129, 0.2);
	border-radius: 0;
	background: transparent;
}

.process-grid article:first-child {
	border-left: 0;
}

.process-grid article::after {
	display: none;
}

.notice-panel,
.cta-panel {
	border-radius: 28px 5px 28px 5px;
	background:
		radial-gradient(circle at 88% 14%, rgba(0, 216, 111, 0.16), transparent 18rem),
		linear-gradient(110deg, rgba(4, 29, 23, 0.98), rgba(2, 15, 12, 0.88));
}

@media (max-width: 1120px) {
	.header-contact-stack a:last-child {
		display: none;
	}
}

@media (max-width: 980px) {
	.detail-hero-grid {
		min-height: 0;
	}

	.detail-hero-visual {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		width: min(100%, 620px);
		height: min(58vw, 360px);
		margin: 34px auto 0;
	}

	.detail-hero-visual::after {
		background: linear-gradient(90deg, rgba(2, 9, 8, 0.76), transparent 25%, transparent 75%, rgba(2, 9, 8, 0.76));
	}

	.process-grid article:nth-child(n) {
		border-left: 0;
		border-top: 1px solid rgba(38, 239, 129, 0.2);
	}

	.process-grid article:first-child {
		border-top: 0;
	}
}

@media (max-width: 760px) {
	.header-contact-stack {
		display: none;
	}

	.dropoff-card address,
	.dropoff-card .dropoff-hours {
		padding-left: 38px;
	}
}
