.hhmfcta {
	--hhmfcta-x: 50%;
	--hhmfcta-y: 100%;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
	overflow: hidden;
	padding: 54px 30px 50px;
	background: #5e311e;
	font-family: Arial, sans-serif;
}

.hhmfcta * { box-sizing: border-box; }
.hhmfcta__picture,
.hhmfcta__image,
.hhmfcta__overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hhmfcta__picture { display: block; }
.hhmfcta__image { display: block; object-fit: cover; object-position: var(--hhmfcta-x) var(--hhmfcta-y); }
.hhmfcta__overlay { z-index: 1; background-color: #2f180e; opacity: .35; pointer-events: none; }
.hhmfcta__content { position: relative; z-index: 2; width: 100%; max-width: 720px; margin: 0 auto; text-align: center; text-shadow: 0 2px 16px rgba(37, 18, 10, .35); }
.hhmfcta__heading { margin: 0 0 12px; color: #fff8ee; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 3.2vw, 58px); font-weight: 400; line-height: 1.08; letter-spacing: -.015em; }
.hhmfcta__description { color: #fffaf2; font-size: clamp(16px, 1.25vw, 21px); font-weight: 500; line-height: 1.42; }
.hhmfcta__buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; text-shadow: none; }
.hhmfcta--align-left .hhmfcta__buttons { justify-content: flex-start; }
.hhmfcta--align-right .hhmfcta__buttons { justify-content: flex-end; }
.hhmfcta__button { display: inline-flex; align-items: center; justify-content: center; min-width: 210px; padding: 15px 28px; border: 2px solid transparent; border-radius: 4px; font-size: 13px; font-weight: 800; line-height: 1; letter-spacing: .035em; text-align: center; text-decoration: none !important; text-transform: uppercase; transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease; }
.hhmfcta__button:hover { transform: translateY(-2px); }
.hhmfcta__button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.hhmfcta__button--primary { background: #b84d2c; color: #fff; }
.hhmfcta__button--primary:hover,
.hhmfcta__button--primary:focus-visible { background: #963b20; color: #fff; }
.hhmfcta__button--secondary { border-color: #fff8ee; background: rgba(36, 18, 10, .16); color: #fff; backdrop-filter: blur(2px); }
.hhmfcta__button--secondary:hover,
.hhmfcta__button--secondary:focus-visible { background: #fff8ee; color: #7f2f1a; }

@media (max-width: 1024px) {
	.hhmfcta { --hhmfcta-y: 100%; min-height: 380px; }
	.hhmfcta__content { max-width: 650px; }
}

@media (max-width: 767px) {
	.hhmfcta { --hhmfcta-y: 100%; min-height: 470px; padding: 48px 20px 44px; }
	.hhmfcta__overlay { opacity: .46; }
	.hhmfcta__heading { font-size: 38px; }
	.hhmfcta__description { font-size: 16px; }
	.hhmfcta--stack-mobile .hhmfcta__buttons { flex-direction: column; }
	.hhmfcta--stack-mobile .hhmfcta__button { width: 100%; max-width: 330px; }
}

@media (prefers-reduced-motion: reduce) {
	.hhmfcta__button { transition: none; }
}
