/* Cache-proof responsive marker sizing and website-style property cards. */
.hmh-spm .hmh-spm__detail-status {
	background: #db365e;
	border-left: 0;
	color: #fff;
}

.hmh-spm .hmh-spm__detail-status--available {
	background: #2e4066;
	color: #fff;
}

.hmh-spm .hmh-spm__detail-status--coming-soon {
	background: #faeb89;
	color: #000;
}

.hmh-spm {
	--hmh-spm-marker-size: 32px;
	--hmh-spm-marker-font-size: 13px;
}

.hmh-spm[data-marker-zoom-tier="2"] {
	--hmh-spm-marker-size: 36px;
	--hmh-spm-marker-font-size: 14px;
}

.hmh-spm[data-marker-zoom-tier="3"] {
	--hmh-spm-marker-size: 40px;
	--hmh-spm-marker-font-size: 15px;
}

.hmh-spm[data-marker-zoom-tier="4"] {
	--hmh-spm-marker-size: 44px;
	--hmh-spm-marker-font-size: 16px;
}

.hmh-spm .hmh-spm__marker,
.hmh-spm .hmh-spm__marker:hover,
.hmh-spm .hmh-spm__marker:focus-visible,
.hmh-spm .hmh-spm__marker.is-active {
	background: transparent;
	border: 0;
	box-shadow: none;
	box-sizing: border-box;
	font-size: var(--hmh-spm-marker-font-size);
	height: 44px;
	letter-spacing: -.02em;
	min-width: 44px;
	padding: 0;
	width: 44px;
}

.hmh-spm .hmh-spm__marker > span {
	align-items: center;
	background: var(--hmh-raspberry);
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	font-size: inherit;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	height: var(--hmh-spm-marker-size);
	justify-content: center;
	line-height: 1;
	transition: box-shadow .18s ease, height .18s ease, transform .18s ease, width .18s ease;
	width: var(--hmh-spm-marker-size);
}

.hmh-spm .hmh-spm__marker--available > span {
	background: var(--hmh-navy);
}

.hmh-spm .hmh-spm__marker--coming-soon > span {
	background: var(--hmh-yellow);
	color: var(--hmh-navy);
}

.hmh-spm .hmh-spm__marker[data-label-length="3"] > span,
.hmh-spm .hmh-spm__marker[data-label-length="4"] > span {
	font-size: calc(var(--hmh-spm-marker-font-size) - 1px);
	letter-spacing: -.045em;
}

.hmh-spm .hmh-spm__marker:hover > span,
.hmh-spm .hmh-spm__marker:focus-visible > span,
.hmh-spm .hmh-spm__marker.is-active > span {
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--hmh-navy);
	transform: scale(1.08);
}

.hmh-spm .hmh-spm__marker:focus-visible {
	outline: 0;
}

.hmh-spm .hmh-spm__detail {
	background: #fff;
	border: 0;
	border-radius: 16px;
	border-top: 5px solid #db365e;
	box-shadow: 0 24px 70px rgba(32, 30, 40, .26), 0 4px 16px rgba(32, 30, 40, .14);
	max-width: 420px;
	overflow: auto;
	right: 28px;
	top: clamp(48px, 6vh, 72px);
}

.hmh-spm .hmh-spm__detail-image {
	height: 210px;
}

.hmh-spm .hmh-spm__detail-status {
	font-size: .74rem;
	letter-spacing: .09em;
	margin: 18px 22px 0;
	padding: .65rem .8rem;
}

.hmh-spm .hmh-spm__detail-body {
	padding: 16px 22px 24px;
}

.hmh-spm .hmh-spm__detail-eyebrow {
	font-size: .74rem;
	letter-spacing: .08em;
	margin-bottom: .45rem;
}

.hmh-spm .hmh-spm__detail h3 {
	font-size: clamp(2rem, 2.5vw, 2.25rem);
	line-height: 1.05;
	margin-bottom: 1.1rem;
}

.hmh-spm .hmh-spm__detail-facts {
	border-bottom: 1px solid rgba(46, 64, 102, .16);
	gap: 0;
	margin-bottom: 1.25rem;
}

.hmh-spm .hmh-spm__detail-facts li {
	border-top: 1px solid rgba(46, 64, 102, .16);
	font-size: .95rem;
	grid-template-columns: 22px 1fr;
	padding: .72rem 0;
}

.hmh-spm .hmh-spm__detail-facts svg {
	height: 20px;
	width: 20px;
}

.hmh-spm .hmh-spm__detail-close {
	height: 40px;
	right: 12px;
	top: 12px;
	width: 40px;
}

.hmh-spm .hmh-spm__detail-close svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 2;
	width: 18px;
}

.hmh-spm .hmh-spm__detail .hmh-spm__link {
	align-items: center;
	background: #db365e;
	border: 2px solid #db365e;
	border-radius: 999px;
	display: flex;
	gap: .75rem;
	justify-content: space-between;
	margin-top: 0;
	min-height: 50px;
	padding: .8rem 1.15rem;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.hmh-spm .hmh-spm__detail .hmh-spm__link:hover,
.hmh-spm .hmh-spm__detail .hmh-spm__link:focus-visible {
	background: #2e4066;
	border-color: #2e4066;
}

.hmh-spm .hmh-spm__detail .hmh-spm__link svg {
	fill: none;
	flex: 0 0 auto;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
	width: 18px;
}

.hmh-spm__detail-backdrop {
	display: none;
}

.hmh-spm__detail-backdrop[hidden] {
	display: none !important;
}

.hmh-spm__detail-topbar {
	height: 0;
	position: sticky;
	top: 0;
	z-index: 3;
}

.hmh-spm__detail-handle {
	display: none;
}

@media (max-width: 640px) {
	.hmh-spm__alert-dialog {
		overscroll-behavior: contain;
	}

	.hmh-spm__alert-close {
		font-size: 24px;
		height: 44px;
		right: 12px;
		top: 12px;
		width: 44px;
	}

	.hmh-spm__alert-eyebrow {
		font-size: 12px;
	}

	.hmh-spm__alert-form label:not(.hmh-spm__alert-consent):not(.hmh-spm__alert-honeypot) {
		font-size: 14px;
	}

	.hmh-spm__alert-form input[type="text"],
	.hmh-spm__alert-form input[type="email"] {
		font-size: 18px;
		line-height: 1.4;
	}

	.hmh-spm__alert-consent {
		font-size: 13px;
		line-height: 1.45;
	}

	.hmh-spm__alert-message {
		font-size: 14px;
	}

	.hmh-spm__detail-backdrop:not([hidden]) {
		backdrop-filter: blur(2px);
		background: rgba(32, 30, 40, .52);
		display: block;
		inset: 0;
		position: fixed;
		z-index: 999910 !important;
	}

	.hmh-spm .hmh-spm__detail {
		border: 0;
		border-radius: 18px !important;
		border-top: 5px solid #db365e !important;
		bottom: max(16px, env(safe-area-inset-bottom)) !important;
		left: 50% !important;
		max-height: calc(100vh - 32px) !important;
		max-height: calc(100dvh - 32px) !important;
		max-width: 420px !important;
		overscroll-behavior: contain;
		padding-bottom: 0;
		right: auto !important;
		top: auto !important;
		transform: translateX(-50%);
		width: 85vw !important;
		z-index: 999920 !important;
	}

	.hmh-spm__detail-topbar {
		align-items: center;
		background: #fff;
		border-radius: 13px 13px 0 0;
		display: flex;
		height: 42px;
		justify-content: center;
		position: sticky;
		top: 0;
	}

	.hmh-spm__detail-handle {
		background: rgba(46, 64, 102, .28);
		border-radius: 999px;
		display: block;
		height: 4px;
		width: 44px;
	}

	.hmh-spm .hmh-spm__detail-close {
		height: 34px;
		right: 8px;
		top: 4px;
		width: 34px;
	}

	.hmh-spm .hmh-spm__detail-image {
		aspect-ratio: 16 / 9;
		height: auto !important;
		width: 100% !important;
	}

	.hmh-spm .hmh-spm__detail-image img {
		display: block;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
		width: 100% !important;
	}

	.hmh-spm .hmh-spm__detail-status {
		margin: 10px 14px 0;
		padding: .45rem .65rem;
	}

	.hmh-spm .hmh-spm__detail-body {
		padding: 10px 14px max(16px, env(safe-area-inset-bottom));
	}

	.hmh-spm__detail h3 {
		font-size: 1.35rem;
		margin-bottom: .65rem;
	}

	.hmh-spm .hmh-spm__detail-facts {
		gap: .4rem;
		margin-bottom: .7rem;
	}

	.hmh-spm__detail .hmh-spm__link {
		margin-top: .25rem;
	}

	html.hmh-spm-detail-open,
	html.hmh-spm-detail-open body {
		overflow: hidden;
	}

	.hmh-spm .hmh-spm__detail:not([hidden]) {
		animation: hmh-spm-mobile-card-in .22s ease-out;
	}
}

@media (max-width: 900px), (hover: none) and (pointer: coarse) {
	.hmh-spm__alert-close {
		height: 44px;
		width: 44px;
	}

	.hmh-spm__alert-form label:not(.hmh-spm__alert-consent):not(.hmh-spm__alert-honeypot) {
		font-size: 14px;
	}

	.hmh-spm__alert-form input[type="text"],
	.hmh-spm__alert-form input[type="email"] {
		font-size: 18px;
		line-height: 1.4;
	}

	.hmh-spm__alert-consent {
		font-size: 13px;
	}
}

@keyframes hmh-spm-sheet-in {
	from { transform: translateY(24px); opacity: .7; }
	to { transform: translateY(0); opacity: 1; }
}

@keyframes hmh-spm-mobile-card-in {
	from { transform: translate(-50%, 24px); opacity: .7; }
	to { transform: translate(-50%, 0); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.hmh-spm .hmh-spm__detail:not([hidden]) {
		animation: none;
	}
}
