/* DMH Blocks — shared styles
   Design tokens pulled from the Event Production page (evt-* styles),
   rescoped to dmh- classes so every dmh/ block shares one look. */

/* Flush stacking — cancel the theme's 24px block-gap (its
   `.is-layout-constrained > *` margin-block-start) so full-bleed dmh
   sections butt against each other with no white seam. Written as plain
   class selectors with !important so WP Rocket's Remove-Unused-CSS keeps
   them (it drops container/attribute selectors) and so they beat the
   theme's (0,1,0) rule. */
.dmh-rhero,
.dmh-trust,
.dmh-gt,
.dmh-area,
.dmh-faq-sec,
.dmh-section {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Section shell */
.dmh-section {
	padding: 96px 24px;
}
.dmh-section--dark {
	background: #1a1916;
}
.dmh-section--darker {
	background: #121110;
}
.dmh-section h1,
.dmh-section h2,
.dmh-section h3 {
	color: #fff;
}
.dmh-section p {
	color: #cfccc6;
}
.dmh-inner {
	max-width: 1100px;
	margin: 0 auto;
}
.dmh-inner--narrow {
	max-width: 760px;
}
.dmh-center {
	text-align: center;
}

/* Optional background image + color overlay (CTA Band).
   The image is an inline background-image; theme color stays as the
   fallback behind it. Overlay color/strength come from inline custom
   props so the result is cache- and RUCSS-safe. */
.dmh-section--hasbg {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.dmh-section--parallax {
	background-attachment: fixed;
}
.dmh-section--hasbg::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--dmh-ov-color, #121110);
	opacity: var(--dmh-ov-opacity, 0.6);
	pointer-events: none;
	z-index: 0;
}
.dmh-section--hasbg > .dmh-inner {
	position: relative;
	z-index: 1;
}

/* Typography */
.dmh-eyebrow {
	color: #de1716;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 800;
	margin: 0 0 8px;
}
.dmh-heading {
	color: #fff;
	font-size: 34px;
	line-height: 1.12;
	margin: 0 0 16px;
}
.dmh-lead {
	font-size: 19px;
	line-height: 1.6;
	color: #cfccc6;
	max-width: 720px;
}
.dmh-center .dmh-lead,
.dmh-lead--center {
	margin-left: auto;
	margin-right: auto;
}
.dmh-body p {
	color: #cfccc6;
	font-size: 17px;
	line-height: 1.6;
}

/* Button */
.dmh-btn {
	display: inline-block;
	font-weight: 800;
	padding: 0.85rem 1.6rem;
	border-radius: 4px;
	background: #de1716;
	color: #fff;
	text-decoration: none;
	margin-top: 24px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: opacity 0.15s ease;
}
.dmh-btn:hover,
.dmh-btn:focus,
.dmh-btn:active {
	opacity: 0.9;
	color: #fff;
	text-decoration: none;
}
/* Self-contained hover-swap (replaces the page-injected horizontal-link-swap script). */
.dmh-btn--swap {
	position: relative;
	overflow: hidden;
}
.dmh-btn--swap:hover {
	opacity: 1;
}
.dmh-btn--swap .dmh-btn__initial,
.dmh-btn--swap .dmh-btn__hover {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.22s ease, opacity 0.22s ease;
}
.dmh-btn--swap .dmh-btn__hover {
	position: absolute;
	inset: 0;
	transform: translateX(105%);
	opacity: 0;
}
/* On hover the normal label slides out AND fades to zero, so none of its
   letters remain visible behind the hover label. */
.dmh-btn--swap:hover .dmh-btn__initial,
.dmh-btn--swap:focus-visible .dmh-btn__initial {
	transform: translateX(-105%);
	opacity: 0;
}
.dmh-btn--swap:hover .dmh-btn__hover,
.dmh-btn--swap:focus-visible .dmh-btn__hover {
	transform: translateX(0);
	opacity: 1;
}

/* Hero */
.dmh-hero {
	position: relative;
	min-height: 660px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 96px 24px;
	overflow: hidden;
}
.dmh-hero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}
.dmh-hero__overlay {
	position: absolute;
	inset: 0;
	background: #000;
}
.dmh-hero__content {
	position: relative;
	z-index: 2;
	max-width: 820px;
}
.dmh-hero__title {
	color: #fff;
	font-size: 48px;
	line-height: 1.08;
	margin: 0 0 16px;
}
.dmh-hero__lead {
	margin-left: auto;
	margin-right: auto;
	color: #fff;
}

/* Logo wall */
.dmh-logos {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 48px;
	align-items: center;
	justify-content: center;
	max-width: 1040px;
	margin: 36px auto 0;
}
.dmh-logos img {
	max-height: 48px;
	width: auto;
	object-fit: contain;
	margin: 0;
}
.dmh-logos--invert img {
	filter: brightness(0) invert(1);
}

/* Stats */
.dmh-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
	margin-top: 40px;
}
.dmh-stat {
	flex: 1;
	min-width: 210px;
	text-align: center;
}
.dmh-stat b {
	display: block;
	font-size: 54px;
	line-height: 1;
	font-weight: 800;
	color: #fff;
}
.dmh-stat span {
	display: block;
	margin-top: 12px;
	color: #cfccc6;
	font-size: 15px;
}

/* Testimonials */
.dmh-quotes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	margin-top: 40px;
	text-align: left;
}
.dmh-quotes--1 {
	grid-template-columns: 1fr;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}
.dmh-quote {
	border-left: 3px solid #de1716;
	padding-left: 24px;
	margin: 0;
}
.dmh-quote p {
	font-size: 21px;
	line-height: 1.5;
	color: #fff;
	margin: 0 0 14px;
}
.dmh-quote cite {
	color: #9a968e;
	font-style: normal;
	font-size: 14px;
	display: block;
}
.dmh-quote cite b {
	display: block;
	color: #fff;
	font-style: normal;
	font-size: 16px;
}

/* Placeholder (empty state in editor) */
.dmh-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 160px;
	background: #000;
	color: #9a968e;
	font-size: 14px;
	padding: 20px;
	text-align: center;
}

@media (max-width: 800px) {
	.dmh-section,
	.dmh-hero {
		padding: 60px 20px;
	}
	.dmh-hero {
		min-height: 520px;
	}
	.dmh-hero__title {
		font-size: 34px;
	}
	.dmh-heading {
		font-size: 27px;
	}
	.dmh-stat b {
		font-size: 40px;
	}
	.dmh-quotes {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
   Rental blocks — tsm-mock design system (light, Magno Sans / Blackbird).
   Self-contained under .dmh-gt so it never collides with the dark event set.
   ========================================================================= */
.dmh-gt {
	--red: #de1716;
	--red-dark: #c01312;
	--ink: #141414;
	--gray: #8f9294;
	padding: 96px 0;
	background: #fff;
	color: #25282a;
	font-size: 17px;
	line-height: 1.6;
}
.dmh-gt--dark {
	background: var(--ink);
	color: #fff;
}
.dmh-gt-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}
.dmh-gt-head {
	max-width: 720px;
	margin-bottom: 56px;
}
.dmh-gt .dmh-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--red);
	margin: 0;
}
.dmh-gt-title {
	margin: 16px 0 0;
	font-family: "Magno Sans", Impact, sans-serif;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--ink);
}
.dmh-gt--dark .dmh-gt-title {
	color: #fff;
}
.dmh-gt-sub {
	font-size: clamp(17px, 1.6vw, 20px);
	color: var(--gray);
	max-width: 640px;
	margin: 16px 0 0;
}

/* Grid */
.dmh-gt-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	align-items: stretch;
}
.dmh-gt-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}
.dmh-gt-grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

/* Card */
.dmh-tier {
	background: #fff;
	border: 1px solid #e3e3e3;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.dmh-tier:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}
.dmh-tier--featured {
	background: var(--ink);
	color: #fff;
	border-color: var(--ink);
}
.dmh-tier-media {
	aspect-ratio: 16 / 10;
	background: linear-gradient(150deg, #3a3a3a, #1b1b1b);
	position: relative;
	overflow: hidden;
}
.dmh-tier--featured .dmh-tier-media {
	background: linear-gradient(150deg, #3a2020, #141414);
}
.dmh-tier-media a {
	position: absolute;
	inset: 0;
	display: block;
}
.dmh-tier-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
}
.dmh-tier-body {
	padding: 30px 30px 34px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.dmh-tier-body h3 {
	font-family: "Magno Sans", Impact, sans-serif;
	font-size: 26px;
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 0;
}
.dmh-tier-body h3 a {
	color: inherit;
	text-decoration: none;
}
.dmh-tier--featured .dmh-tier-body h3 {
	color: #fff;
}
.dmh-price {
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	font-size: 38px;
	letter-spacing: -0.02em;
	margin: 10px 0 4px;
}
.dmh-price small {
	font-size: 14px;
	font-weight: 600;
	color: var(--gray);
	letter-spacing: 0;
}
.dmh-tier-specs {
	list-style: none;
	margin: 16px 0 26px;
	padding: 0;
	display: grid;
	gap: 10px;
}
.dmh-tier-specs li {
	font-size: 15px;
	padding-left: 26px;
	position: relative;
}
.dmh-tier-specs li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 14px;
	height: 8px;
	border-left: 3px solid var(--red);
	border-bottom: 3px solid var(--red);
	transform: rotate(-45deg);
}
.dmh-tier-thumbs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 0 0 14px;
}
.dmh-tier-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
	border: 1px solid rgba(0, 0, 0, 0.12);
	margin: 0;
}
.dmh-tier--featured .dmh-tier-thumbs img {
	border-color: rgba(255, 255, 255, 0.18);
}
.dmh-tier-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: auto;
}
.dmh-gt-btn {
	display: inline-block;
	text-align: center;
	background: var(--red);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 14px 24px;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}
.dmh-gt-btn:hover {
	background: var(--red-dark);
	transform: translateY(-1px);
	color: #fff;
}
.dmh-gt-btn--dark {
	background: var(--ink);
}
.dmh-gt-btn--dark:hover {
	background: #000;
}
.dmh-tier--featured .dmh-gt-btn--dark {
	background: #fff;
	color: var(--ink);
}
.dmh-tier--featured .dmh-gt-btn--dark:hover {
	background: #ededed;
}
.dmh-gt-note {
	margin: 40px auto 0;
	max-width: 620px;
	text-align: center;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #8c8c8c;
}

@media (max-width: 900px) {
	.dmh-gt {
		padding: 64px 0;
	}
	.dmh-gt-grid,
	.dmh-gt-grid--2,
	.dmh-gt-grid--4 {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
   Video grid — "Work We Are Known For". Sits inside a .dmh-section--dark.
   ========================================================================= */
.dmh-vg-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 26px;
	margin-top: 40px;
	text-align: left;
}
.dmh-vg-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}
.dmh-vg-wrap {
	position: relative;
	padding-top: 56.25%;
	background: #000;
	overflow: hidden;
}
.dmh-vg-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.dmh-vg-label {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 12px;
	border-top: 1px solid #333;
	padding-top: 10px;
}
.dmh-vg-client {
	font-weight: 700;
	font-size: 16px;
	color: #fff;
}
.dmh-vg-type {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #9a968e;
}
@media (max-width: 800px) {
	.dmh-vg-grid,
	.dmh-vg-grid--3 {
		grid-template-columns: 1fr;
	}
}

/* =========================================================================
   Rental hero / trust bar / service area / FAQ (tsm-mock design system).
   ========================================================================= */
.dmh-rhero,
.dmh-trust,
.dmh-area,
.dmh-faq-sec {
	--red: #de1716;
	--red-dark: #c01312;
	--ink: #141414;
}

/* Rental hero */
.dmh-rhero {
	position: relative;
	overflow: hidden;
	background: #141414;
	color: #fff;
}
.dmh-rhero-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
	margin: 0;
}
.dmh-rhero-video {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}
.dmh-rhero-video iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 177.78vh;
	min-width: 100%;
	height: 56.25vw;
	min-height: 100%;
	transform: translate(-50%, -50%);
	border: 0;
}
.dmh-rhero-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(13, 13, 13, 0.78), rgba(13, 13, 13, 0.45) 45%, rgba(13, 13, 13, 0.55) 100%);
}
.dmh-rhero-inner {
	position: relative;
	z-index: 2;
	max-width: 1180px;
	margin: 0 auto;
	padding: 170px 24px 84px;
}
.dmh-rhero h1 {
	font-family: "Magno Sans", Impact, sans-serif;
	font-size: clamp(40px, 6vw, 76px);
	line-height: 1.04;
	font-weight: 800;
	letter-spacing: -0.02em;
	margin: 12px 0 0;
	color: #fff;
	max-width: 15ch;
}
.dmh-rhero h1 span {
	color: var(--red);
}
.dmh-rhero-sub {
	margin: 22px 0 34px;
	color: #d6d6d6;
	max-width: 620px;
	font-size: clamp(17px, 1.6vw, 20px);
}
.dmh-rhero-ctas {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
.dmh-rhero-ctas .ghost {
	background: transparent;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.dmh-rhero-ctas .ghost:hover {
	background: rgba(255, 255, 255, 0.08);
}
.dmh-rhero-facts {
	display: flex;
	gap: 14px 36px;
	flex-wrap: wrap;
	margin-top: 46px;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}
.dmh-rhero-facts span {
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-size: 13px;
	color: #cfcfcf;
}
.dmh-rhero-facts b {
	color: #fff;
}

/* Trust bar */
.dmh-trust {
	background: #141414;
	color: #fff;
}
.dmh-trust--light {
	background: #f4f4f4;
	color: #141414;
}
.dmh-trust-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 22px 24px;
	display: flex;
	gap: 12px 40px;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.dmh-trust-lead {
	font-size: 13px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
}
.dmh-trust-points {
	display: flex;
	gap: 14px 34px;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}
.dmh-trust-points li {
	font-size: 14px;
	font-weight: 700;
	color: #cfcfcf;
	white-space: nowrap;
}
.dmh-trust--light .dmh-trust-points li {
	color: #555;
}

/* Service area */
.dmh-area {
	background: #fff;
	color: #25282a;
	padding: 96px 0;
}
.dmh-area--dark {
	background: #141414;
	color: #fff;
}
.dmh-area-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.dmh-area-text h2 {
	font-family: "Magno Sans", Impact, sans-serif;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 14px 0 0;
}
.dmh-area-body {
	margin-top: 14px;
	font-size: 17px;
	line-height: 1.6;
}
.dmh-area--dark .dmh-area-body {
	color: #cfccc6;
}
.dmh-cities {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}
.dmh-cities span,
.dmh-cities a {
	font-size: 13px;
	font-weight: 700;
	padding: 8px 14px;
	border: 1px solid #d8d8d8;
	color: #444;
	text-decoration: none;
}
.dmh-area--dark .dmh-cities span,
.dmh-area--dark .dmh-cities a {
	border-color: rgba(255, 255, 255, 0.2);
	color: #cfcfcf;
}
.dmh-cities .hq {
	background: var(--red);
	border-color: var(--red);
	color: #fff;
}
.dmh-area-map iframe {
	width: 100%;
	aspect-ratio: 4 / 3;
	border: 0;
	display: block;
}

/* FAQ */
.dmh-faq-sec {
	background: #fff;
	color: #25282a;
	padding: 96px 0;
}
.dmh-faq-sec--dark {
	background: #141414;
	color: #fff;
}
.dmh-faq-inner {
	max-width: 820px;
	margin: 0 auto;
	padding: 0 24px;
}
.dmh-faq-inner h2 {
	font-family: "Magno Sans", Impact, sans-serif;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.08;
	font-weight: 800;
	margin: 14px 0 24px;
}
.dmh-faq details {
	border-bottom: 1px solid #dfdfdf;
	padding: 6px 0;
}
.dmh-faq-sec--dark .dmh-faq details {
	border-color: rgba(255, 255, 255, 0.18);
}
.dmh-faq summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 20px 0;
	font-weight: 700;
	font-size: 18px;
}
.dmh-faq summary::-webkit-details-marker {
	display: none;
}
.dmh-faq summary::after {
	content: "+";
	font-size: 26px;
	font-weight: 400;
	color: var(--red);
	transition: transform 0.2s ease;
}
.dmh-faq details[open] summary::after {
	transform: rotate(45deg);
}
.dmh-faq details p {
	padding: 0 0 22px;
	margin: 0;
	color: #4b4e50;
	max-width: 680px;
	font-size: 17px;
	line-height: 1.6;
}
.dmh-faq-sec--dark .dmh-faq details p {
	color: #cfccc6;
}
.dmh-faq-more {
	margin-top: 26px;
	font-size: 15px;
}
.dmh-faq-more a {
	color: var(--red);
	font-weight: 700;
}

/* Dark rental variants: text color. The service-area, FAQ and trust blocks set
   their light/dark text color on the SECTION container and let headings, body
   copy and summaries inherit it. But the TSM theme has element-level rules on
   h2 / p / summary that beat an inherited color, so on a dark section those
   leaves fell back to the theme's dark ink (dark text on dark background).
   Paint the leaf text directly, with !important so it wins over the theme
   regardless of specificity, and with leaf-element selectors so WP Rocket's
   Remove-Unused-CSS keeps them. */
.dmh-area--dark h2,
.dmh-faq-sec--dark h2,
.dmh-faq-sec--dark summary {
	color: #fff !important;
}
.dmh-area--dark .dmh-area-body,
.dmh-area--dark .dmh-area-body p,
.dmh-faq-sec--dark details p {
	color: #cfccc6 !important;
}
.dmh-trust .dmh-trust-lead {
	color: #fff !important;
}
.dmh-trust--light .dmh-trust-lead {
	color: #141414 !important;
}

@media (max-width: 800px) {
	.dmh-rhero-inner {
		padding: 120px 20px 64px;
	}
	.dmh-area {
		padding: 64px 0;
	}
	.dmh-area-inner {
		grid-template-columns: 1fr;
	}
	.dmh-faq-sec {
		padding: 64px 0;
	}
}

/* =========================================================================
   Van-page blocks: van-inventory, support-split, proof. Ported from the
   production-van tsm-mock sections and re-scoped to dmh- roots. Dark/light
   sections color their own leaf text directly, so no theme-inheritance trap.
   ========================================================================= */
.dmh-inv,
.dmh-split-sec,
.dmh-proof {
	--red: #de1716;
	--red-dark: #c01312;
	--ink: #141414;
}
.dmh-inv,
.dmh-split-sec,
.dmh-proof {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}
.dmh-inv-inner,
.dmh-proof-inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}
.dmh-inv-head,
.dmh-proof-head {
	max-width: 760px;
	margin-bottom: 38px;
}
.dmh-inv h2,
.dmh-proof h2,
.dmh-split-text h2 {
	font-family: "Magno Sans", Impact, sans-serif;
	font-size: clamp(30px, 4vw, 46px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -0.01em;
	margin: 14px 0 0;
}
.dmh-inv h2 { color: #fff; }
.dmh-proof h2,
.dmh-split-text h2 { color: #141414; }
.dmh-inv-sub,
.dmh-proof-sub {
	font-family: Blackbird, sans-serif;
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 1.55;
	margin-top: 14px;
	max-width: 640px;
}
.dmh-inv-sub { color: #cfcfcf; }
.dmh-proof-sub { color: #4b4e50; }

/* ---- Van Inventory (dark, radio-tab tiers) ---- */
.dmh-inv { position: relative; background: #141414; padding: 68px 0; }
.dmh-inv-radio { position: fixed; top: 0; left: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.dmh-inv-tabs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 26px; }
.dmh-inv-tabs label {
	cursor: pointer;
	user-select: none;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 14px 22px;
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 16px;
	line-height: 1.2;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.dmh-inv-tabs label em {
	display: block;
	font-style: normal;
	font-family: Blackbird, sans-serif;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
	color: #b5b5b5;
	margin-top: 4px;
}
.dmh-inv-tabs label:hover { border-color: rgba(255, 255, 255, 0.5); }
.dmh-inv-toggle {
	margin-left: auto;
	align-self: stretch;
	cursor: pointer;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #fff;
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 16px;
	padding: 14px 26px;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.dmh-inv-toggle:hover { border-color: var(--red); color: var(--red); }
#dmh-inv-t0:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t0"],
#dmh-inv-t1:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t1"],
#dmh-inv-t2:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t2"],
#dmh-inv-t3:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t3"] { background: var(--red); border-color: var(--red); }
#dmh-inv-t0:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t0"] em,
#dmh-inv-t1:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t1"] em,
#dmh-inv-t2:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t2"] em,
#dmh-inv-t3:checked ~ .dmh-inv-inner .dmh-inv-tabs label[for="dmh-inv-t3"] em { color: #ffd6d5; }
.dmh-inv-panel { display: none; grid-template-columns: repeat(3, 1fr); gap: 14px; align-items: start; }
#dmh-inv-t0:checked ~ .dmh-inv-inner #dmh-inv-p0,
#dmh-inv-t1:checked ~ .dmh-inv-inner #dmh-inv-p1,
#dmh-inv-t2:checked ~ .dmh-inv-inner #dmh-inv-p2,
#dmh-inv-t3:checked ~ .dmh-inv-inner #dmh-inv-p3 { display: grid; animation: tsmFade 0.3s ease both; }
.dmh-inv-cat { background: #1d1d1d; border: 1px solid rgba(255, 255, 255, 0.12); padding: 0; margin: 0; }
.dmh-inv-cat summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 18px 20px;
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 15px;
	color: #fff;
}
.dmh-inv-cat summary::-webkit-details-marker { display: none; }
.dmh-inv-cat summary::after { content: "+"; font-size: 22px; font-weight: 400; color: var(--red); transition: transform 0.2s ease; font-family: Blackbird, sans-serif; }
.dmh-inv-cat[open] summary::after { transform: rotate(45deg); }
.dmh-inv-cat summary .cnt { margin-left: auto; font-family: Blackbird, sans-serif; font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 13px; color: #b5b5b5; }
.dmh-inv-cat ul { list-style: none; padding: 0 20px 20px; margin: 0; display: grid; gap: 7px; }
.dmh-inv-cat li { font-size: 15px; color: #c9c9c9; line-height: 1.45; padding-left: 16px; position: relative; }
.dmh-inv-cat li::before { content: ""; position: absolute; left: 0; top: 8px; width: 7px; height: 7px; background: var(--red); }
.dmh-inv-note { margin-top: 26px; color: #8f9294; font-size: 15px; }
.dmh-inv-note a { color: #fff; text-decoration: underline; }
.dmh-inv.all-open #dmh-inv-t0:checked ~ .dmh-inv-inner #dmh-inv-p0,
.dmh-inv.all-open #dmh-inv-t1:checked ~ .dmh-inv-inner #dmh-inv-p1,
.dmh-inv.all-open #dmh-inv-t2:checked ~ .dmh-inv-inner #dmh-inv-p2,
.dmh-inv.all-open #dmh-inv-t3:checked ~ .dmh-inv-inner #dmh-inv-p3 { display: block; columns: 3; column-gap: 14px; }
.dmh-inv.all-open .dmh-inv-cat { break-inside: avoid; margin: 0 0 14px; }

/* a la carte accordion */
.dmh-alacarte { border: 1px solid rgba(255, 255, 255, 0.12); background: #1d1d1d; margin: 0 0 20px; padding: 0; }
.dmh-alacarte summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 20px 22px;
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 18px;
	color: #fff;
}
.dmh-alacarte summary::-webkit-details-marker { display: none; }
.dmh-alacarte summary::after { content: "+"; font-size: 24px; font-weight: 400; color: var(--red); transition: transform 0.2s ease; font-family: Blackbird, sans-serif; }
.dmh-alacarte[open] summary::after { transform: rotate(45deg); }
.dmh-alacarte summary .cnt { margin-left: auto; font-family: Blackbird, sans-serif; font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 14px; color: #b5b5b5; }
.dmh-ala-body { padding: 0 22px 24px; }
.dmh-ala-body > p { color: #b5b5b5; font-size: 15px; margin-bottom: 6px; max-width: 720px; }
.dmh-ala-body h4 { font-family: "Magno Sans", Impact, sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; font-size: 16px; color: #fff; margin: 24px 0 10px; }
.dmh-ala-body h4::after { content: ""; display: block; width: 22px; height: 3px; background: var(--red); margin-top: 8px; }
.dmh-ala-list { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 28px; margin: 0; padding: 0; }
.dmh-ala-list li { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; color: #e6e6e6; border-bottom: 1px solid rgba(255, 255, 255, 0.08); padding: 8px 0; }
.dmh-ala-list a { color: #fff; text-decoration: none; }
.dmh-ala-list a:hover { color: var(--red); }
.dmh-ala-list .nm { color: #fff; }
.dmh-ala-list span { color: #b5b5b5; white-space: nowrap; }
.dmh-ala-list.mods li { font-size: 14px; color: #cfcfcf; }
@media (max-width: 1000px) {
	.dmh-inv-panel { grid-template-columns: 1fr 1fr; }
	.dmh-ala-list { grid-template-columns: 1fr 1fr; }
	.dmh-inv.all-open #dmh-inv-t0:checked ~ .dmh-inv-inner #dmh-inv-p0,
	.dmh-inv.all-open #dmh-inv-t1:checked ~ .dmh-inv-inner #dmh-inv-p1,
	.dmh-inv.all-open #dmh-inv-t2:checked ~ .dmh-inv-inner #dmh-inv-p2,
	.dmh-inv.all-open #dmh-inv-t3:checked ~ .dmh-inv-inner #dmh-inv-p3 { columns: 2; }
}
@media (max-width: 640px) {
	.dmh-inv-panel { grid-template-columns: 1fr; }
	.dmh-inv-tabs label { flex: 1 1 100%; }
	.dmh-inv-toggle { flex: 1 1 100%; margin-left: 0; }
	.dmh-ala-list { grid-template-columns: 1fr; }
	.dmh-inv.all-open #dmh-inv-t0:checked ~ .dmh-inv-inner #dmh-inv-p0,
	.dmh-inv.all-open #dmh-inv-t1:checked ~ .dmh-inv-inner #dmh-inv-p1,
	.dmh-inv.all-open #dmh-inv-t2:checked ~ .dmh-inv-inner #dmh-inv-p2,
	.dmh-inv.all-open #dmh-inv-t3:checked ~ .dmh-inv-inner #dmh-inv-p3 { columns: 1; }
}
@keyframes tsmFade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* ---- Support Split (light, hover-swap button) ---- */
.dmh-split-sec { background: #fff; padding: 68px 0; }
.dmh-split { max-width: 1180px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.dmh-split--media-right .dmh-split-media { order: 2; }
.dmh-split-media { aspect-ratio: 4 / 3; overflow: hidden; position: relative; background: linear-gradient(155deg, #333333, #191919); }
.dmh-split-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dmh-split-text h2 { margin-bottom: 18px; }
.dmh-split-body p { font-size: 17px; line-height: 1.6; color: #4b4e50; margin-bottom: 16px; }
.dmh-split-btn {
	display: inline-block;
	position: relative;
	overflow: hidden;
	border: 2px solid var(--red);
	background: var(--red);
	color: #fff;
	font-family: "Magno Sans", Impact, sans-serif;
	font-weight: 900;
	font-size: 19px;
	letter-spacing: 1px;
	line-height: 1.1;
	padding: 10px 18px;
	text-align: center;
	text-decoration: none;
	margin-top: 12px;
	min-width: 270px;
}
.dmh-split-btn .t { display: block; width: 100%; transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
.dmh-split-btn::after { content: attr(data-text); position: absolute; left: 0; top: 50%; width: 100%; text-align: center; transform: translate(110%, -50%); transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1); }
.dmh-split-btn:hover .t { transform: translateX(calc(-120% - 48px)); }
.dmh-split-btn:hover::after { transform: translate(0, -50%); }
@media (max-width: 900px) { .dmh-split { grid-template-columns: 1fr; gap: 36px; } }

/* ---- Proof (light, industry cards) ---- */
.dmh-proof { background: #fff; padding: 68px 0; }
.dmh-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dmh-proof-card { background: #fff; border: 1px solid #e3e3e3; padding: 30px; }
.dmh-proof-card h3 { font-family: "Magno Sans", Impact, sans-serif; font-size: 24px; color: #141414; margin: 0 0 10px; }
.dmh-proof-card h3::after { content: ""; display: block; width: 26px; height: 3px; background: var(--red); margin-top: 10px; }
.dmh-proof-body p { font-size: 17px; line-height: 1.6; color: #4b4e50; margin-top: 12px; }
.dmh-proof-body b { color: #141414; }
.dmh-proof-body a { color: inherit; text-decoration: none; }
.dmh-proof-body a:hover { color: var(--red); }
@media (max-width: 900px) { .dmh-proof-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .dmh-proof-grid { grid-template-columns: 1fr; } }
