/* Prime Mobile Hero — geometry calibrated against the supplied 1240×614 reference. */
.pmh-shell,
.pmh-shell * {
	box-sizing: border-box;
}

.pmh-shell {
	--pmh-accent: #ed1c24;
	--pmh-hero-height: 490px;
	--pmh-bg-position: center right;
	--pmh-feature-height: 180px;
	--pmh-feature-overhang: 108px;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0 0 var(--pmh-feature-overhang);
	background: #fff;
	font-family: "Montserrat", "Arial Black", "Helvetica Neue", Arial, sans-serif;
	isolation: isolate;
}

.pmh-shell--full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.pmh-hero {
	position: relative;
	min-height: var(--pmh-hero-height);
	background-color: #1d1d1d;
	background-image: var(--pmh-desktop-bg-image, none);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: var(--pmh-bg-position);
	color: #fff;
	overflow: visible;
}

.pmh-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 0, 0, .86) 0%, rgba(0, 0, 0, .79) 24%, rgba(0, 0, 0, .60) 39%, rgba(0, 0, 0, .18) 60%, rgba(0, 0, 0, .06) 100%),
		linear-gradient(0deg, rgba(0, 0, 0, .22), rgba(0, 0, 0, .10));
}

.pmh-hero__inner {
	position: relative;
	z-index: 1;
	width: 88.55%;
	max-width: none;
	min-height: var(--pmh-hero-height);
	margin: 0 auto;
	padding-top: 43px;
}

.pmh-copy {
	width: 47%;
	max-width: 535px;
	min-width: 470px;
	display: flex;
	flex-direction: column;
	align-items: var(--pmh-align-items, flex-start);
	text-align: var(--pmh-text-align, left);
	transform: translate(var(--pmh-offset-x, 0px), var(--pmh-offset-y, 0px));
}

.pmh-heading {
	margin: 0;
	padding: 0;
	font-family: "Montserrat", "Arial Black", "Helvetica Neue", Arial, sans-serif;
	font-size: var(--pmh-heading-size, 53px);
	line-height: .99;
	font-style: italic;
	font-weight: 900;
	letter-spacing: -1.45px;
	text-transform: uppercase;
	color: var(--pmh-heading-color, #fff);
	text-shadow: 0 1px 1px rgba(0,0,0,.12);
}

.pmh-heading span {
	display: block;
	white-space: nowrap;
}

.pmh-heading__accent {
	color: var(--pmh-accent);
}

.pmh-description {
	width: 475px;
	max-width: 100%;
	margin: 27px 0 0;
	padding: 0;
	font-family: "Montserrat", Arial, "Helvetica Neue", sans-serif;
	font-size: var(--pmh-desc-size, 17px);
	font-weight: 400;
	line-height: 1.57;
	letter-spacing: .05px;
	color: var(--pmh-desc-color, rgba(255,255,255,.93));
}

.pmh-actions {
	display: flex;
	align-items: center;
	justify-content: var(--pmh-align-items, flex-start);
	gap: 23px;
	margin-top: 31px;
}

.pmh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-decoration: none !important;
	text-transform: uppercase;
	font-family: "Montserrat", Arial, "Helvetica Neue", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.15px;
	white-space: nowrap;
	transition: filter .18s ease, transform .18s ease;
}

.pmh-btn:hover,
.pmh-btn:focus {
	text-decoration: none !important;
}

.pmh-btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.pmh-btn--primary {
	width: 236px;
	padding: 0 22px;
	gap: 10px;
	border-radius: 4px;
	background: var(--pmh-accent);
	color: #fff !important;
}

.pmh-btn--primary:hover {
	filter: brightness(1.06);
	color: #fff !important;
}

.pmh-btn__calendar {
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pmh-btn--secondary {
	min-width: 154px;
	padding: 0;
	gap: 10px;
	background: transparent !important;
	color: #fff !important;
}

.pmh-btn--secondary:hover {
	color: #fff !important;
}

.pmh-play {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	border: 1.6px solid var(--pmh-accent);
	border-radius: 50%;
	color: var(--pmh-accent);
}

.pmh-play svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
	transform: translateX(1px);
}

.pmh-features {
	position: absolute;
	z-index: 3;
	left: 50%;
	bottom: calc(-1 * var(--pmh-feature-overhang));
	transform: translateX(-50%);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 88.8%;
	height: var(--pmh-feature-height);
	margin: 0;
	padding: 19px 0 17px;
	border-radius: 14px;
	background: linear-gradient(180deg, #171717 0%, #151515 100%);
	box-shadow: 0 5px 16px rgba(0,0,0,.10);
	overflow: hidden;
}

.pmh-feature {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	padding: 0 23px;
	text-align: center;
}

.pmh-feature + .pmh-feature::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 1px;
	height: 104px;
	background: rgba(255,255,255,.11);
}

.pmh-feature__icon {
	width: 53px;
	height: 53px;
	margin: 0 0 8px;
	color: var(--pmh-accent);
}

.pmh-feature__icon svg {
	display: block;
	width: 100%;
	height: 100%;
	stroke: currentColor;
	stroke-width: 2.25;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pmh-feature__title {
	margin: 0;
	padding: 0;
	font-family: "Montserrat", Arial, "Helvetica Neue", sans-serif;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.1px;
	text-transform: uppercase;
	color: #fff;
}

.pmh-feature__text {
	margin: 10px 0 0;
	padding: 0;
	font-family: "Montserrat", Arial, "Helvetica Neue", sans-serif;
	font-size: 13.7px;
	font-weight: 400;
	line-height: 1.45;
	color: rgba(255,255,255,.88);
}

@media (min-width: 1400px) {
	.pmh-hero__inner,
	.pmh-features {
		width: 88.8%;
	}

	.pmh-copy {
		max-width: 560px;
	}
}

@media (max-width: 1024px) {
	.pmh-shell {
		--pmh-feature-height: auto;
		--pmh-feature-overhang: 88px;
	}

	.pmh-hero {
		min-height: max(520px, var(--pmh-hero-height));
	}

	.pmh-hero__inner {
		width: 88%;
		min-height: max(520px, var(--pmh-hero-height));
		padding-top: 52px;
	}

	.pmh-copy {
		width: 58%;
		min-width: 0;
	}

	.pmh-heading {
		font-size: var(--pmh-heading-size, 50px);
	}

	.pmh-description {
		font-size: var(--pmh-desc-size, 17px);
	}

	.pmh-features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 88%;
		height: auto;
		padding: 22px 0;
	}

	.pmh-feature {
		min-height: 150px;
		padding: 12px 26px 16px;
	}

	.pmh-feature + .pmh-feature::before {
		top: 22px;
		height: calc(100% - 44px);
	}

	.pmh-feature:nth-child(3)::before {
		display: none;
	}

	.pmh-feature:nth-child(n+3) {
		border-top: 1px solid rgba(255,255,255,.10);
	}
}

@media (max-width: 767px) {
	.pmh-shell {
		--pmh-feature-overhang: 0px;
		padding-bottom: 0;
	}

	.pmh-shell--full {
		width: 100vw;
		max-width: 100vw;
	}

	.pmh-hero {
		min-height: auto;
		padding-bottom: 0;
		background-position: 68% center;
		overflow: hidden;
	}

	.pmh-hero::before {
		background: linear-gradient(90deg, rgba(0,0,0,.90) 0%, rgba(0,0,0,.80) 58%, rgba(0,0,0,.45) 100%);
	}

	.pmh-hero__inner {
		width: 86%;
		min-height: 515px;
		padding-top: 43px;
		padding-bottom: 44px;
	}

	.pmh-copy {
		width: 100%;
		max-width: 100%;
		transform: translate(var(--pmh-offset-x-m, 0px), var(--pmh-offset-y-m, 0px));
	}

	.pmh-heading {
		font-size: var(--pmh-heading-size-m, 42px);
		line-height: 1;
		letter-spacing: -1px;
	}

	.pmh-heading span {
		white-space: normal;
	}

	.pmh-description {
		width: min(100%, 460px);
		margin-top: 24px;
		font-size: var(--pmh-desc-size-m, 16px);
		line-height: 1.55;
	}

	.pmh-actions {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		margin-top: 26px;
	}

	.pmh-btn--primary {
		width: 236px;
	}

	.pmh-btn--secondary {
		min-height: 42px;
	}

	.pmh-features {
		position: relative;
		left: auto;
		bottom: auto;
		transform: none;
		grid-template-columns: 1fr;
		width: 100%;
		border-radius: 0;
		padding: 6px 7%;
	}

	.pmh-feature {
		min-height: 0;
		padding: 24px 10px 25px;
	}

	.pmh-feature + .pmh-feature::before,
	.pmh-feature:nth-child(3)::before {
		display: none;
	}

	.pmh-feature:nth-child(n+2) {
		border-top: 1px solid rgba(255,255,255,.10);
	}

	.pmh-feature__text {
		font-size: 14px;
	}
}

@media (max-width: 420px) {
	.pmh-hero__inner {
		width: 88%;
	}

	.pmh-heading {
		font-size: var(--pmh-heading-size-m, 42px);
	}

	.pmh-description br,
	.pmh-feature__text br {
		display: none;
	}
}

/* Responsive image controls */
@media (max-width: 767px) {
	.pmh-hero {
		background-image: var(--pmh-mobile-bg-image, var(--pmh-desktop-bg-image, none));
	}

	.pmh-heading {
		font-size: var(--pmh-heading-size-m, 42px);
	}

	.pmh-description {
		font-size: var(--pmh-desc-size-m, 16px);
	}
}
