/*
 * Velas Nocturne presentation surfaces.
 *
 * Every selector is scoped to an explicit body class added by
 * inc/nocturne-surfaces.php. Native RealHomes search, cards, property fields,
 * galleries, maps, forms and links remain the functional layer.
 */

body.velas-nocturne-surface {
	--vp-night: #090913;
	--vp-plum: #201525;
	--vp-plum-soft: #352333;
	--vp-ivory: #f7f3ec;
	--vp-paper: #fffdf8;
	--vp-stone: #d9d1c5;
	--vp-coral: #b8453d;
	--vp-coral-light: #e8a9a0;
	--vp-seaglass: #9ccdd5;
	--vp-ink: #171217;
	--vp-muted: #5f575d;
	--vp-line: rgba(36, 24, 36, .16);
	--vp-line-dark: rgba(255, 239, 231, .17);
	background: var(--vp-ivory);
	color: var(--vp-ink);
	font-family: Inter, Manrope, "Helvetica Neue", Arial, sans-serif;
}

body.velas-nocturne-surface *,
body.velas-nocturne-surface *::before,
body.velas-nocturne-surface *::after {
	box-sizing: border-box;
}

body.velas-nocturne-surface .rh_header a[href^="tel:"],
body.velas-nocturne-surface .rh_header a[href*="wa.me"],
body.velas-nocturne-surface .rh_header .rh_menu__user {
	color: var(--vp-ivory) !important;
}

body.velas-nocturne-surface .rh_logo a {
	display: inline-flex;
	padding: 6px;
	background: #fff;
}

/* A catalogue without a vendor banner still needs real space for navigation
 * and the native search form. Do not change the form or its request fields. */
body.velas-nocturne-catalog .rh_temp_header_large_screens,
body.velas-nocturne-property .rh_temp_header_large_screens {
	position: relative;
	background: var(--vp-night);
}

/* Native property pages have no banner reserving the absolute header height.
 * Keep the desktop header in flow; the responsive header is untouched. */

body.velas-nocturne-catalog .rh_prop_search__form {
	position: relative;
	margin-top: 0;
}

body.velas-nocturne-catalog .rh_prop_search {
	height: auto !important;
}

body.velas-nocturne-surface :where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px;
}

.velas-nocturne-shell {
	width: min(100% - 48px, 1320px);
	margin-inline: auto;
}

.velas-nocturne-kicker {
	margin: 0 0 18px;
	color: var(--vp-coral);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.velas-nocturne-action,
.velas-nocturne-section-head > a,
.velas-nocturne-back {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	color: var(--vp-coral) !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}

.velas-nocturne-action:hover,
.velas-nocturne-section-head > a:hover,
.velas-nocturne-back:hover {
	text-decoration: underline !important;
	text-underline-offset: 5px;
}

/* Native catalogue, property search and property detail context. */
.velas-nocturne-context {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	align-items: center;
	gap: 22px;
	width: 100%;
	margin: 0 0 28px;
	padding: 14px 18px;
	border: 1px solid var(--vp-line);
	background: rgba(255, 253, 248, .74);
}

.velas-nocturne-context span {
	color: var(--vp-coral);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.velas-nocturne-context p {
	margin: 0;
	color: var(--vp-muted);
	font-size: 13px;
	line-height: 1.55;
}

/* Opt-in native catalogue/property coordinates rendered with Google Maps 3D. */
body.velas-nocturne-space .rh_prop_card .rh_overlay {
	background: rgba(41, 19, 37, .72);
}

.velas-nocturne-property-map {
	display: grid;
	container-type: inline-size;
	/* Integer fr weights fill the remainder even when the copy hits its minimum. */
	grid-template-columns: minmax(280px, 38fr) minmax(0, 62fr);
	width: 100%;
	min-height: 610px;
	margin: 0 0 clamp(42px, 6vw, 78px);
	border: 1px solid var(--vp-line-dark);
	background: var(--vp-night);
	color: var(--vp-ivory);
	overflow: hidden;
}

.velas-nocturne-property-map__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(24px, 3cqi, 48px);
	background: rgba(9, 9, 19, .94);
}

.velas-nocturne-property-map__copy h2 {
	max-width: 12ch;
	margin: 0 0 22px;
	color: var(--vp-ivory);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(32px, 4cqi, 58px);
	overflow-wrap: anywhere;
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .98;
}

.velas-nocturne-property-map__copy > p:not(.velas-nocturne-kicker) {
	max-width: 47ch;
	margin: 0;
	color: rgba(247, 243, 236, .7);
	font-size: 14px;
	line-height: 1.7;
}

/* RealHomes article-content colours must not darken this nested dark panel. */
body.velas-nocturne-property .velas-nocturne-property-map__copy h2 {
	color: var(--vp-ivory) !important;
}

body.velas-nocturne-property .velas-nocturne-property-map .velas-nocturne-kicker {
	color: var(--vp-coral-light) !important;
}

body.velas-nocturne-property .velas-nocturne-property-map__copy > p:not(.velas-nocturne-kicker),
body.velas-nocturne-property .velas-nocturne-property-map__status {
	color: rgba(247, 243, 236, .85) !important;
}

.velas-nocturne-property-map__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
	gap: 1px;
	margin: 34px 0 0;
	padding: 0;
	background: var(--vp-line-dark);
	list-style: none;
}

.velas-nocturne-property-map__stats li {
	display: grid;
	align-content: start;
	gap: 6px;
	min-height: 88px;
	padding: 17px 14px;
	background: var(--vp-plum);
}

.velas-nocturne-property-map__stats strong {
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1;
}

.velas-nocturne-property-map__stats span {
	overflow-wrap: anywhere;
	color: rgba(247, 243, 236, .85);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	line-height: 1.35;
	text-transform: uppercase;
}

.velas-nocturne-property-map__reset {
	display: none;
	align-self: flex-start;
	min-height: 44px;
	margin-top: 24px;
	padding: 11px 16px;
	border: 1px solid rgba(247, 243, 236, .34);
	border-radius: 0;
	background: transparent;
	color: var(--vp-ivory);
	cursor: pointer;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
}

.velas-nocturne-property-map.is-ready .velas-nocturne-property-map__reset {
	display: inline-flex;
}

.velas-nocturne-property-map__selection {
	display: grid;
	gap: 8px;
	min-height: 24px;
	margin-top: 18px;
}

.velas-nocturne-property-map__selection > strong {
	color: #fff;
	font-size: 14px;
}

.velas-nocturne-property-map__selection > span {
	color: var(--vp-coral-light);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.velas-nocturne-property-map__selection-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.velas-nocturne-property-map__selection-links :where(a, button) {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 8px 11px;
	border: 1px solid var(--vp-line-dark);
	border-radius: 0;
	background: transparent;
	color: var(--vp-ivory) !important;
	cursor: pointer;
	font-size: 11px;
	font-weight: 700;
	text-decoration: none !important;
}

.velas-nocturne-property-map__stage {
	position: relative;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	min-width: 0;
	min-height: 610px;
	background: var(--vp-plum);
}

.velas-nocturne-property-map__stage > img,
.velas-nocturne-property-map__host {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.velas-nocturne-property-map__stage > img {
	z-index: 0;
	object-fit: cover;
	opacity: .72;
	transition: opacity .35s ease;
}

.velas-nocturne-property-map__host {
	/* Keep the unmodified Google UI wholly above our own status strip. */
	position: relative;
	inset: auto;
	height: auto;
	min-height: 0;
	grid-row: 1;
	z-index: 1;
	background: transparent;
}

.velas-nocturne-property-map__host > gmp-map-3d {
	display: block;
	width: 100%;
	height: 100%;
}

.velas-nocturne-property-map__status {
	position: relative;
	grid-row: 2;
	z-index: 3;
	right: auto;
	bottom: auto;
	max-width: none;
	margin: 0;
	padding: 9px 12px;
	border: 1px solid rgba(247, 243, 236, .2);
	background: rgba(9, 9, 19, .86);
	color: rgba(247, 243, 236, .8);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
}

.velas-nocturne-property-map.is-ready .velas-nocturne-property-map__stage > img {
	opacity: 0;
	pointer-events: none;
}

.velas-nocturne-property-map.is-fallback .velas-nocturne-property-map__host {
	/* Keep the mounted renderer measurable so a late steady event can recover.
	   The fallback image stays visible and JS makes the hidden controls inert. */
	opacity: 0;
	pointer-events: none;
}

body.velas-nocturne-surface [data-velas-map-group].is-map-active {
	border-color: var(--vp-coral) !important;
	box-shadow: 0 20px 50px rgba(55, 24, 43, .2) !important;
}

/* The native RealHomes map remains loaded as an automatic failure fallback. */
body.velas-nocturne-property.velas-nocturne-map3d-ready #property-content-section-map {
	display: none;
}

body.velas-nocturne-catalog .rh_banner,
body.velas-nocturne-search .rh_banner {
	position: relative;
	isolation: isolate;
	min-height: 320px;
	padding-block: 74px 54px;
	background:
		radial-gradient(circle at 78% 12%, rgba(180, 107, 119, .24), transparent 31rem),
		linear-gradient(112deg, rgba(9, 9, 19, .99), rgba(32, 21, 37, .95));
	color: var(--vp-ivory);
	overflow: hidden;
}

body.velas-nocturne-catalog .rh_banner::after,
body.velas-nocturne-search .rh_banner::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
	background-size: 80px 80px;
	content: "";
	pointer-events: none;
}

body.velas-nocturne-catalog .rh_banner__wrap,
body.velas-nocturne-search .rh_banner__wrap {
	width: min(100% - 48px, 1320px);
	margin-inline: auto;
}

body.velas-nocturne-catalog .rh_banner__title,
body.velas-nocturne-search .rh_banner__title,
body.velas-nocturne-catalog .rh_page__title .title,
body.velas-nocturne-search .rh_page__title .title {
	color: inherit;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 76px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .98;
}

body.velas-nocturne-catalog .rh_prop_search,
body.velas-nocturne-search .rh_prop_search,
body.velas-nocturne-catalog .rh_prop_search__form,
body.velas-nocturne-search .rh_prop_search__form {
	border-color: var(--vp-line-dark);
	background: rgba(20, 15, 27, .94);
	box-shadow: 0 28px 80px rgba(0, 0, 0, .34);
}

body.velas-nocturne-catalog .rh_prop_search label,
body.velas-nocturne-search .rh_prop_search label {
	color: rgba(255, 255, 255, .72);
}

body.velas-nocturne-catalog .rh_section,
body.velas-nocturne-search .rh_section {
	position: relative;
	background:
		radial-gradient(circle at 96% 4%, rgba(156, 205, 213, .22), transparent 25rem),
		var(--vp-ivory);
}

body.velas-nocturne-catalog .rh_wrap--padding,
body.velas-nocturne-search .rh_wrap--padding {
	max-width: 1390px;
	padding-top: clamp(48px, 7vw, 96px);
	padding-bottom: clamp(70px, 9vw, 128px);
}

body.velas-nocturne-catalog .rh_page__head,
body.velas-nocturne-search .rh_page__head {
	align-items: flex-end;
	margin-bottom: 30px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--vp-line);
}

body.velas-nocturne-catalog .rh_page__title .title,
body.velas-nocturne-search .rh_page__title .title {
	color: var(--vp-ink) !important;
	font-size: clamp(34px, 3.8vw, 58px);
}

body.velas-nocturne-catalog .rh_page__controls,
body.velas-nocturne-search .rh_page__controls,
body.velas-nocturne-catalog .rh_sort_controls,
body.velas-nocturne-search .rh_sort_controls {
	color: var(--vp-ink);
}

body.velas-nocturne-catalog .rh_page__listing_grid,
body.velas-nocturne-search .rh_page__listing_grid,
body.velas-nocturne-catalog .rh-properties-listing,
body.velas-nocturne-search .rh-properties-listing {
	gap: 24px 18px;
}

/* Native 50%/33% flex cards plus a gap exceeded the row width and wrapped
 * every second card. Keep the selected native column count inside the gap. */
body.velas-nocturne-catalog .rh_page__listing_grid,
body.velas-nocturne-search .rh_page__listing_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-right: 0;
	margin-left: 0;
}

body.velas-nocturne-catalog .rh_page__listing_grid > .rh_prop_card,
body.velas-nocturne-search .rh_page__listing_grid > .rh_prop_card {
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: 0;
}

body.velas-nocturne-surface .rh_page__listing_grid.rh-grid-1-columns {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 1024px) {
	body.velas-nocturne-surface .rh_page__listing_grid.rh-grid-3-columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	body.velas-nocturne-surface .rh_page__listing_grid.rh-grid-4-columns {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	body.velas-nocturne-catalog .rh_page__listing_grid,
	body.velas-nocturne-search .rh_page__listing_grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.velas-nocturne-surface :where(.rh_prop_card, .rh-ultra-grid-card, .rh_property_card_stylish) {
	border: 1px solid var(--vp-line);
	border-radius: 0;
	background: var(--vp-paper);
	box-shadow: none;
	transition: border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}

body.velas-nocturne-surface :where(.rh_prop_card, .rh-ultra-grid-card, .rh_property_card_stylish):hover {
	border-color: rgba(184, 69, 61, .48);
	box-shadow: 0 24px 60px rgba(36, 24, 36, .12);
	transform: translateY(-4px);
}

.velas-marketplace-contact-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 28px;
	margin: 32px 0;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--vp-line);
	background:
		radial-gradient(circle at 100% 0, rgba(184, 69, 61, .16), transparent 18rem),
		var(--vp-paper);
}

.velas-marketplace-contact-panel h2 {
	margin: 6px 0 10px;
	color: var(--vp-ink);
	font-size: clamp(30px, 4vw, 48px);
}

.velas-marketplace-contact-panel p {
	max-width: 620px;
	margin: 0;
	color: var(--vp-muted);
}

.velas-marketplace-contact-panel__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

.velas-marketplace-contact-panel__actions a {
	min-height: 48px;
	padding: 13px 18px;
	border: 1px solid var(--vp-line);
	color: var(--vp-ink);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.velas-marketplace-contact-panel__actions a.is-primary {
	border-color: var(--vp-coral);
	background: var(--vp-coral);
	color: #fff;
}

body.velas-nocturne-surface :where(.rh_prop_card__thumbnail, .rh-ultra-property-card-thumb, .rh_property_card_stylish .property-thumbnail) img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

body.velas-nocturne-surface :where(.rh_prop_card__details, .rh-ultra-property-card-detail, .rh_property_card_stylish .property-detail) {
	padding: 22px;
}

body.velas-nocturne-surface :where(.rh_prop_card__title, .rh_prop_card__details h3, .rh_list_card h3, .rh-ultra-property-card-title, .rh_property_card_stylish h3) a {
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(23px, 2vw, 30px);
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: 1.08;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body.velas-nocturne-surface :where(.rh_prop_card__priceLabel .price, .rh_prop_card__price, .rh-ultra-property-card-price) {
	color: var(--vp-coral) !important;
	font-variant-numeric: tabular-nums;
}

body.velas-nocturne-surface :where(.rh_prop_card__meta, .rh_prop_card__meta_wrap, .rh-ultra-meta) {
	border-color: var(--vp-line);
	color: var(--vp-muted);
}

body.velas-nocturne-catalog .rh_pagination__btn,
body.velas-nocturne-search .rh_pagination__btn,
body.velas-nocturne-catalog .rh_pagination a,
body.velas-nocturne-search .rh_pagination a {
	border-radius: 0;
	border-color: var(--vp-line);
	background: transparent;
}

body.velas-nocturne-catalog .rh_prop_search,
body.velas-nocturne-search .rh_prop_search {
	visibility: visible !important;
}

body.velas-nocturne-catalog .rh_pagination .current,
body.velas-nocturne-search .rh_pagination .current {
	background: var(--vp-plum);
	color: #fff !important;
}

/* Current filled-staging Axe/Chrome: native inherited controls must remain
 * readable against their actual panels, including hover and empty results. */
body.velas-nocturne-surface .rh_pagination a {
	background: #4d253b !important;
	color: #fffdf8 !important;
}
body.velas-nocturne-surface .rh_pagination a:is(:hover, :focus-visible) {
	background: #71314d !important;
}
body.velas-nocturne-surface :is(.search-heading, .no-results) {
	color: #fffdf8 !important;
}
body.velas-nocturne-property :is(input[id$="agent-form-id"], textarea[id$="agent-form-id"], .contact > span) {
	color: #423340 !important;
}
body.velas-nocturne-property :is(input[id$="agent-form-id"], textarea[id$="agent-form-id"])::placeholder {
	color: #51444f !important;
	opacity: 1;
}
body.velas-nocturne-property button:has(> .btn-text) {
	background: #943d38 !important;
	color: #fff !important;
}
/* Decorative card overlays must not intercept clicks outside their real CTA. */
body.velas-nocturne-surface :is(.rh_figure_property_one, .rh_figure_property_list_one) > :is(.rh_overlay, .rh_overlay__contents) {
	pointer-events: none;
}
body.velas-nocturne-surface :is(.rh_figure_property_one, .rh_figure_property_list_one) > .rh_overlay__contents a {
	pointer-events: auto;
}

/* Preserved long-tail city/status/type pages keep their proven custom query. */
body.velas-nocturne-catalog .velas-city-catalog {
	width: min(100% - 48px, 1390px);
	margin: clamp(42px, 6vw, 86px) auto clamp(76px, 9vw, 132px);
	padding: 0;
	background: transparent;
}

body.velas-nocturne-catalog .velas-city-catalog > .velas-home__search {
	height: auto;
	margin: 110px 0 28px;
}

body.velas-nocturne-catalog .velas-city-catalog > .velas-home__search .advance-search-form {
	position: static;
	width: 100%;
	margin: 0;
}

body.page-template-templatestemplate-city-catalog-php.velas-nocturne-catalog .rh_temp_header_large_screens {
	background: var(--vp-night);
	transform: none;
}

body.velas-nocturne-catalog .velas-city-catalog__intro {
	position: relative;
	isolation: isolate;
	padding: clamp(38px, 6vw, 84px);
	border: 1px solid var(--vp-line-dark);
	background:
		radial-gradient(circle at 84% 10%, rgba(184, 69, 61, .25), transparent 27rem),
		linear-gradient(118deg, var(--vp-night), var(--vp-plum));
	color: var(--vp-ivory);
	overflow: hidden;
}

body.velas-nocturne-catalog .velas-city-catalog__intro::after {
	position: absolute;
	z-index: -1;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .02) 1px, transparent 1px);
	background-size: 80px 80px;
	content: "";
	pointer-events: none;
}

body.velas-nocturne-catalog .velas-city-catalog__title {
	max-width: 17ch;
	margin: 0 0 28px;
	color: var(--vp-ivory);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(40px, 5vw, 72px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .98;
}

body.velas-nocturne-catalog .velas-city-catalog__intro :where(p, li) {
	color: rgba(247, 243, 236, .72);
	font-size: 15px;
	line-height: 1.7;
}

body.velas-nocturne-catalog .velas-city-catalog__intro a {
	border-color: var(--vp-line-dark);
	background: rgba(255, 255, 255, .055);
	color: var(--vp-ivory) !important;
}

/* The legacy clearfix pseudo-elements must not occupy real navigation cells. */
body.velas-nocturne-catalog .velas-city-catalog__intro .arrow-bullet-list::before,
body.velas-nocturne-catalog .velas-city-catalog__intro .arrow-bullet-list::after {
	content: none;
}

body.velas-nocturne-catalog .velas-city-catalog__results {
	padding: clamp(46px, 6vw, 82px) 0 0;
}

body.velas-nocturne-catalog .velas-city-catalog__results-title {
	margin: 0 0 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--vp-line);
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(34px, 4vw, 58px);
	font-weight: 400;
	letter-spacing: -.035em;
}

body.velas-nocturne-catalog .velas-city-catalog__content {
	max-width: 860px;
	margin: 70px auto 0;
	color: var(--vp-muted);
	font-size: 17px;
	line-height: 1.78;
}

/* The native RealHomes contact form remains the functional and mail-guarded layer. */
body.velas-nocturne-contact {
	background:
		radial-gradient(circle at 92% 12%, rgba(156, 205, 213, .22), transparent 28rem),
		var(--vp-ivory);
}

body.velas-nocturne-contact .rh_banner {
	position: relative;
	min-height: 300px;
	padding-block: 72px 52px;
	background:
		radial-gradient(circle at 80% 15%, rgba(184, 69, 61, .25), transparent 28rem),
		linear-gradient(116deg, var(--vp-night), var(--vp-plum));
	color: var(--vp-ivory);
}

body.velas-nocturne-contact .rh_banner__title {
	color: var(--vp-ivory);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5vw, 72px);
	font-weight: 400;
	letter-spacing: -.045em;
}

body.velas-nocturne-contact :where(.rh_prop_search, .rh_prop_search__form) {
	border-color: var(--vp-line-dark);
	background: rgba(20, 15, 27, .96);
	box-shadow: 0 28px 80px rgba(0, 0, 0, .32);
}

body.velas-nocturne-contact .rh_section {
	background: transparent;
}

body.velas-nocturne-contact .rh_page__contact {
	width: min(100% - 48px, 1220px);
	margin-inline: auto;
}

body.velas-nocturne-contact .rh_contact {
	border: 1px solid var(--vp-line);
	background: rgba(255, 253, 248, .94);
	box-shadow: 0 34px 90px rgba(36, 24, 36, .1);
}

body.velas-nocturne-contact :where(.rh_contact__title, .rh_page__title) {
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4vw, 60px);
	font-weight: 400;
	letter-spacing: -.04em;
}

body.velas-nocturne-contact .contact-form :where(input, textarea) {
	border: 1px solid var(--vp-line);
	border-radius: 0;
	background: var(--vp-paper);
	color: var(--vp-ink);
}

body.velas-nocturne-contact .contact-form :where(input, textarea):focus {
	border-color: var(--vp-coral);
	box-shadow: none;
}

body.velas-nocturne-contact .contact-form :where(button, input[type="submit"]) {
	min-height: 48px;
	border-radius: 0;
	background: var(--vp-coral);
	color: #fff;
}

/* Native RealHomes property dossier. */
body.velas-nocturne-property {
	background:
		radial-gradient(circle at 90% 11%, rgba(156, 205, 213, .2), transparent 28rem),
		var(--vp-ivory);
}

body.velas-nocturne-property .rh_section,
body.velas-nocturne-property .single-property-fullwidth,
body.velas-nocturne-property .content-area {
	background: transparent;
}

body.velas-nocturne-property .rh_wrap--topPadding {
	padding-top: clamp(44px, 6vw, 88px);
	padding-bottom: clamp(72px, 8vw, 120px);
}

body.velas-nocturne-property .rh_page--fullWidth,
body.velas-nocturne-property .rh_property,
body.velas-nocturne-property .rh_property__wrap {
	background: transparent;
}

body.velas-nocturne-property .rh_page__property_title .rh_page__title,
body.velas-nocturne-property .rh_property__title,
body.velas-nocturne-property .rh_property__title a {
	color: var(--vp-ink) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 4.8vw, 72px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .98;
}

body.velas-nocturne-property .rh_page__property_title {
	color: var(--vp-muted);
	font-family: inherit;
	font-size: 15px;
	letter-spacing: normal;
	line-height: 1.45;
}

body.velas-nocturne-property .rh_page__property_title .rh_page__title {
	display: block;
	font-size: clamp(34px, 3.4vw, 52px);
	line-height: 1.04;
	overflow-wrap: anywhere;
}

body.velas-nocturne-property .rh_page__property_price .price,
body.velas-nocturne-property .rh_property__price {
	color: var(--vp-coral) !important;
	font-family: Georgia, "Times New Roman", serif;
	font-variant-numeric: tabular-nums;
}

body.velas-nocturne-property :where(.rh_property__slider, .rh_property__gallery, #property-detail-flexslider) {
	border: 1px solid var(--vp-line);
	background: var(--vp-plum);
}

body.velas-nocturne-property :where(.rh_property__slider, .rh_property__gallery) img {
	object-fit: cover;
}

body.velas-nocturne-property .rh_property__main {
	min-width: 0;
}

body.velas-nocturne-property .rh_property__content,
body.velas-nocturne-property .rh_property__sidebar .rh_sidebar,
body.velas-nocturne-property .single-property-section .container {
	border: 1px solid var(--vp-line);
	background: rgba(255, 253, 248, .9);
	box-shadow: none;
}

body.velas-nocturne-property .rh_property__content {
	padding: clamp(24px, 4vw, 52px);
}

body.velas-nocturne-property :where(.rh_property__content, .single-property-section) h2,
body.velas-nocturne-property :where(.rh_property__content, .single-property-section) h3 {
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.025em;
}

body.velas-nocturne-property :where(.rh_property__content, .single-property-section) h2 {
	font-size: clamp(30px, 3vw, 46px);
}

body.velas-nocturne-property :where(.rh_property__content, .single-property-section) p,
body.velas-nocturne-property :where(.rh_property__content, .single-property-section) li {
	color: var(--vp-muted);
	font-size: 16px;
	line-height: 1.72;
}

body.velas-nocturne-property :where(.rh_property__meta, .rh_property__features, .rh_property__additional, .rh_property__map, .rh_property__agent) {
	border-color: var(--vp-line);
}

body.velas-nocturne-property .rh_property__meta_wrap {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--vp-line);
	border-bottom: 1px solid var(--vp-line);
}

body.velas-nocturne-property .rh_property__meta {
	display: grid;
	gap: 5px;
	min-width: 0;
	padding: 20px 14px;
	border-right: 1px solid var(--vp-line);
}

body.velas-nocturne-property .rh_property__meta :where(b, strong, span, small) {
	display: block;
}

body.velas-nocturne-property .rh_property__sidebar .rh_sidebar {
	position: relative;
	padding: 28px;
}

body.velas-nocturne-property .rh_property__sidebar :where(.rh_agent_form, .rh_property_agent, .widget) {
	border-radius: 0;
	border-color: var(--vp-line);
}

body.velas-nocturne-property .rh_property__sidebar :where(input, textarea, select) {
	border: 1px solid var(--vp-line);
	border-radius: 0;
	background: var(--vp-paper);
	color: var(--vp-ink);
}

body.velas-nocturne-property .rh_property__sidebar :where(button, input[type="submit"], .rh_btn) {
	min-height: 48px;
	border-radius: 0;
	background: var(--vp-coral) !important;
	color: #fff !important;
}

body.velas-nocturne-property :where(.rh_property__map, .rh_map, #map_canvas) {
	min-height: 360px;
	border: 1px solid var(--vp-line);
}

/* Region page. */
.velas-nocturne-region-page,
.velas-nocturne-article-page {
	background: var(--vp-ivory);
	color: var(--vp-ink);
}

.velas-nocturne-region-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: min(760px, 82vh);
	color: #fff;
	overflow: hidden;
}

.velas-nocturne-region-hero > img,
.velas-nocturne-region-hero__shade {
	position: absolute;
	inset: 0;
}

.velas-nocturne-region-hero > img {
	z-index: -2;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.78) contrast(1.05);
}

.velas-nocturne-region-hero__shade {
	z-index: -1;
	background: linear-gradient(90deg, rgba(9, 9, 19, .94), rgba(9, 9, 19, .48) 62%, rgba(9, 9, 19, .18));
}

.velas-nocturne-region-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: inherit;
	padding-block: clamp(80px, 10vw, 150px) clamp(50px, 7vw, 96px);
}

.velas-nocturne-region-hero h1 {
	max-width: 13ch;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(58px, 9vw, 132px);
	font-weight: 400;
	letter-spacing: -.055em;
	line-height: .86;
}

.velas-nocturne-region-hero__content > p:not(.velas-nocturne-kicker) {
	max-width: 580px;
	margin: 28px 0 0;
	color: rgba(255, 255, 255, .72);
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.6;
}

.velas-nocturne-region-search {
	width: min(100%, 980px);
	margin-top: 34px;
	border: 1px solid var(--vp-line-dark);
	background: rgba(15, 12, 22, .82);
	box-shadow: 0 24px 65px rgba(0, 0, 0, .3);
}

.velas-nocturne-region-search :where(.rh_prop_search, .rh_prop_search__form) {
	margin: 0;
	background: transparent;
}

.velas-nocturne-region-story {
	display: grid;
	grid-template-columns: .75fr 1.25fr;
	gap: clamp(42px, 8vw, 130px);
	padding-block: clamp(76px, 10vw, 148px);
}

.velas-nocturne-region-story h2,
.velas-nocturne-section-head h2,
.velas-nocturne-related h2 {
	margin: 0;
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(42px, 5.2vw, 74px);
	font-weight: 400;
	letter-spacing: -.045em;
	line-height: .96;
}

.velas-nocturne-editorial {
	max-width: 760px;
}

.velas-nocturne-editorial :where(p, li) {
	color: var(--vp-muted);
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.75;
}

.velas-nocturne-editorial a {
	color: var(--vp-coral);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.velas-nocturne-region-results {
	padding-block: clamp(72px, 9vw, 128px);
	background:
		radial-gradient(circle at 92% 4%, rgba(156, 205, 213, .2), transparent 26rem),
		#eee8de;
}

.velas-nocturne-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 42px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--vp-line);
}

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

.velas-nocturne-empty {
	grid-column: 1 / -1;
	min-height: 260px;
	padding: 50px;
	display: grid;
	place-items: center;
	border: 1px solid var(--vp-line);
	background: rgba(255, 253, 248, .72);
	text-align: center;
}

.velas-nocturne-empty p {
	max-width: 520px;
	margin: 0;
	color: var(--vp-muted);
	font-size: 17px;
	line-height: 1.65;
}

/* Long-form editorial page. */
.velas-nocturne-article-hero {
	position: relative;
	padding-block: clamp(76px, 10vw, 150px) clamp(62px, 8vw, 110px);
	background:
		radial-gradient(circle at 78% 4%, rgba(180, 107, 119, .24), transparent 30rem),
		linear-gradient(130deg, var(--vp-night), var(--vp-plum));
	color: #fff;
}

.velas-nocturne-article-hero .velas-nocturne-back {
	margin-bottom: clamp(54px, 8vw, 100px);
	color: var(--vp-coral-light) !important;
}

.velas-nocturne-article-hero h1 {
	max-width: 1100px;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(48px, 7vw, 102px);
	font-weight: 400;
	letter-spacing: -.052em;
	line-height: .94;
}

.velas-nocturne-article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 34px;
	color: rgba(255, 255, 255, .62);
	font-size: 13px;
}

.velas-nocturne-article-image {
	width: min(100% - 48px, 1440px);
	margin: clamp(-28px, -3vw, -14px) auto 0;
	border: 1px solid rgba(255, 255, 255, .2);
	background: var(--vp-plum);
}

.velas-nocturne-article-image img {
	display: block;
	width: 100%;
	max-height: 760px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.velas-nocturne-article-layout {
	display: grid;
	grid-template-columns: 220px minmax(0, 760px);
	justify-content: center;
	gap: clamp(38px, 7vw, 110px);
	padding-block: clamp(72px, 10vw, 148px);
}

.velas-nocturne-article-layout > aside {
	align-self: start;
	position: sticky;
	top: 110px;
	padding-top: 18px;
	border-top: 1px solid var(--vp-line);
	color: var(--vp-muted);
	font-size: 12px;
	line-height: 1.6;
}

.velas-nocturne-article-layout > aside > span {
	color: var(--vp-coral);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.velas-nocturne-article-layout > aside a {
	color: inherit;
}

.velas-nocturne-article-content {
	min-width: 0;
}

.velas-nocturne-article-content > p:first-child {
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(23px, 2vw, 28px);
	line-height: 1.45;
}

/* Old editor paragraphs carry inline justification. On narrow columns it
 * creates rivers of whitespace; change presentation, never saved content. */
.velas-nocturne-article-content p[style*="justify"] {
	text-align: start !important;
}

.velas-nocturne-article-content :where(p, li) {
	color: var(--vp-muted);
	font-size: 18px;
	line-height: 1.82;
}

.velas-nocturne-article-content :where(h2, h3, h4) {
	margin: 1.7em 0 .65em;
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: 1.05;
}

.velas-nocturne-article-content h2 { font-size: clamp(36px, 4vw, 56px); }
.velas-nocturne-article-content h3 { font-size: clamp(28px, 3vw, 40px); }

.velas-nocturne-article-content :where(img, video, iframe) {
	max-width: 100%;
	height: auto;
}

.velas-nocturne-article-content blockquote {
	margin: 48px 0;
	padding: 28px 0 28px 30px;
	border-left: 4px solid var(--vp-coral);
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	line-height: 1.4;
}

.velas-nocturne-article-content a,
.velas-nocturne-tags a {
	color: var(--vp-coral);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.velas-nocturne-tags,
.velas-nocturne-page-links {
	margin-top: 48px;
	padding-top: 22px;
	border-top: 1px solid var(--vp-line);
}

.velas-nocturne-related {
	padding-block: clamp(72px, 9vw, 128px);
	background: #eee8de;
}

.velas-nocturne-related h2 {
	margin-bottom: 42px;
}

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

.velas-nocturne-related-grid article {
	border: 1px solid var(--vp-line);
	background: var(--vp-paper);
}

.velas-nocturne-related-grid article > a {
	position: relative;
	display: block;
	height: 100%;
	padding-bottom: 24px;
	color: var(--vp-ink);
	text-decoration: none;
}

.velas-nocturne-related-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.velas-nocturne-related-grid time,
.velas-nocturne-related-grid h3 {
	display: block;
	margin-inline: 22px;
}

.velas-nocturne-related-grid time {
	margin-top: 20px;
	color: var(--vp-muted);
	font-size: 11px;
}

.velas-nocturne-related-grid h3 {
	margin-top: 10px;
	margin-bottom: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 400;
	line-height: 1.08;
}

.velas-nocturne-related-grid article > a > span {
	position: absolute;
	right: 20px;
	bottom: 18px;
	color: var(--vp-coral);
}

.velas-nocturne-comments {
	padding-block: 72px;
}

/* Journal index and service-centre pages keep their content in crawlable HTML. */
.velas-nocturne-journal-page,
.velas-nocturne-service-page {
	background: var(--vp-ivory);
	color: var(--vp-ink);
}

.velas-nocturne-journal-hero {
	padding-block: clamp(88px, 11vw, 164px) clamp(70px, 9vw, 126px);
	background:
		radial-gradient(circle at 78% 7%, rgba(180, 107, 119, .24), transparent 31rem),
		linear-gradient(130deg, var(--vp-night), var(--vp-plum));
	color: #fff;
}

.velas-nocturne-journal-hero h1,
.velas-nocturne-service-hero h1 {
	max-width: 13ch;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(54px, 8vw, 116px);
	font-weight: 400;
	letter-spacing: -.052em;
	line-height: .92;
}

.velas-nocturne-journal-hero p:not(.velas-nocturne-kicker),
.velas-nocturne-service-hero__content > p:not(.velas-nocturne-kicker) {
	max-width: 650px;
	margin: 28px 0 0;
	color: rgba(255, 255, 255, .7);
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.65;
}

.velas-nocturne-journal-intro {
	padding-block: clamp(62px, 8vw, 112px);
}

.velas-nocturne-journal-index,
.velas-nocturne-service-related {
	padding-block: clamp(72px, 9vw, 128px);
	background: #eee8de;
}

.velas-nocturne-journal-grid,
.velas-nocturne-service-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.velas-nocturne-journal-grid article,
.velas-nocturne-service-grid article {
	min-width: 0;
	border: 1px solid var(--vp-line);
	background: var(--vp-paper);
}

.velas-nocturne-journal-grid article > a,
.velas-nocturne-service-grid article > a {
	display: block;
	height: 100%;
	color: var(--vp-ink);
	text-decoration: none;
}

.velas-nocturne-journal-grid img,
.velas-nocturne-service-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.velas-nocturne-journal-grid article > a > div,
.velas-nocturne-service-grid article > a > div {
	position: relative;
	padding: 24px 24px 30px;
}

.velas-nocturne-journal-grid time {
	color: var(--vp-muted);
	font-size: 11px;
}

.velas-nocturne-journal-grid h2,
.velas-nocturne-service-grid h3,
.velas-nocturne-service-related h2 {
	margin: 12px 0;
	color: var(--vp-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	letter-spacing: -.03em;
	line-height: 1.04;
}

.velas-nocturne-journal-grid h2,
.velas-nocturne-service-grid h3 {
	font-size: clamp(27px, 2.6vw, 36px);
}

.velas-nocturne-service-related h2 {
	margin-bottom: 40px;
	font-size: clamp(42px, 5.2vw, 74px);
}

.velas-nocturne-journal-grid p,
.velas-nocturne-service-grid p {
	margin: 0;
	color: var(--vp-muted);
	font-size: 15px;
	line-height: 1.65;
}

.velas-nocturne-journal-grid article > a > div > span,
.velas-nocturne-service-grid article > a > div > span {
	position: absolute;
	right: 20px;
	bottom: 16px;
	color: var(--vp-coral);
}

.velas-nocturne-journal-grid article > a:hover,
.velas-nocturne-service-grid article > a:hover {
	box-shadow: 0 24px 60px rgba(36, 24, 36, .12);
}

.velas-nocturne-journal-pagination {
	margin-top: 44px;
}

.velas-nocturne-journal-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.velas-nocturne-journal-pagination :where(a, span) {
	display: grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--vp-line);
	color: var(--vp-ink);
	text-decoration: none;
}

.velas-nocturne-journal-pagination .current {
	border-color: var(--vp-plum);
	background: var(--vp-plum);
	color: #fff;
}

.velas-nocturne-service-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: min(700px, 78vh);
	overflow: hidden;
}

.velas-nocturne-service-hero > img,
.velas-nocturne-service-hero__shade {
	position: absolute;
	inset: 0;
}

.velas-nocturne-service-hero > img {
	z-index: -2;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.75) contrast(1.06);
}

.velas-nocturne-service-hero__shade {
	z-index: -1;
	background: linear-gradient(90deg, rgba(9, 9, 19, .96), rgba(9, 9, 19, .53) 64%, rgba(9, 9, 19, .18));
}

.velas-nocturne-service-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: inherit;
	padding-block: clamp(82px, 10vw, 150px) clamp(54px, 7vw, 98px);
}

.velas-nocturne-service-content {
	display: grid;
	grid-template-columns: 230px minmax(0, 760px);
	justify-content: center;
	gap: clamp(42px, 7vw, 110px);
	padding-block: clamp(76px, 10vw, 148px);
}

.velas-nocturne-service-content > aside {
	align-self: start;
	position: sticky;
	top: 110px;
	padding-top: 18px;
	border-top: 1px solid var(--vp-line);
}

.velas-nocturne-service-content > aside span {
	color: var(--vp-coral);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.velas-nocturne-service-content > aside p {
	color: var(--vp-muted);
	font-size: 13px;
	line-height: 1.65;
}

@media (max-width: 1100px) {
	.velas-nocturne-property-map {
		grid-template-columns: minmax(260px, .44fr) minmax(0, .56fr);
	}

	.velas-nocturne-property-grid,
	.velas-nocturne-related-grid,
	.velas-nocturne-journal-grid,
	.velas-nocturne-service-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.velas-nocturne-region-story {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	body.velas-nocturne-property .rh_property__meta_wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.velas-nocturne-article-layout {
		grid-template-columns: 170px minmax(0, 720px);
	}

	.velas-nocturne-service-content {
		grid-template-columns: 190px minmax(0, 720px);
	}
}

@media (max-width: 767px) {
	/* Longer localized headings must not give the native flex item a desktop minimum. */
	body.velas-nocturne-catalog .rh_page__head .head-left,
	body.velas-nocturne-search .rh_page__head .head-left {
		min-width: 0;
		max-width: 100%;
	}
	body.velas-nocturne-catalog .rh_page__head .rh_page__title,
	body.velas-nocturne-search .rh_page__head .rh_page__title {
		font-size: clamp(28px, 8vw, 38px);
		overflow-wrap: anywhere;
	}
	body.velas-nocturne-contact .rh_prop_search {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
	}

	body.velas-nocturne-catalog .rh_page__head,
	body.velas-nocturne-search .rh_page__head,
	body.velas-nocturne-catalog .rh_page__controls,
	body.velas-nocturne-search .rh_page__controls,
	body.velas-nocturne-catalog .rh_sort_controls,
	body.velas-nocturne-search .rh_sort_controls,
	body.velas-nocturne-catalog .rh_view_type,
	body.velas-nocturne-search .rh_view_type {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex-wrap: wrap;
		box-sizing: border-box;
	}

	.velas-marketplace-contact-panel {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.velas-marketplace-contact-panel__actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: stretch;
	}

	.velas-marketplace-contact-panel__actions a {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.velas-marketplace-contact-panel__actions a:first-child {
		grid-column: 1 / -1;
	}

	.velas-nocturne-property-map {
		grid-template-columns: 1fr;
		min-height: 0;
		max-width: 100%;
	}

	.velas-nocturne-property-map__copy {
		padding: 42px 28px 34px;
	}

	.velas-nocturne-property-map__copy h2 {
		max-width: 15ch;
	}

	.velas-nocturne-property-map__stage {
		min-height: 430px;
	}

	.velas-nocturne-shell,
	body.velas-nocturne-catalog .rh_banner__wrap,
	body.velas-nocturne-search .rh_banner__wrap,
	.velas-nocturne-article-image {
		width: min(100% - 32px, 1320px);
	}

	.velas-nocturne-context {
		grid-template-columns: 1fr;
		gap: 6px;
		margin-bottom: 20px;
		padding: 13px 14px;
	}

	body.velas-nocturne-catalog .rh_banner,
	body.velas-nocturne-search .rh_banner {
		min-height: 230px;
		padding-block: 52px 38px;
	}

	body.velas-nocturne-catalog .rh_wrap--padding,
	body.velas-nocturne-search .rh_wrap--padding {
		padding-top: 42px;
		padding-bottom: 72px;
	}

	body.velas-nocturne-catalog .velas-city-catalog,
	body.velas-nocturne-contact .rh_page__contact {
		width: min(100% - 32px, 1390px);
	}

	body.velas-nocturne-catalog .velas-city-catalog {
		margin-block: 34px 76px;
	}

	body.velas-nocturne-catalog .velas-city-catalog > .velas-home__search {
		margin-top: 0;
	}

	body.velas-nocturne-catalog .velas-city-catalog__intro {
		padding: 36px 22px;
	}

	body.velas-nocturne-catalog .velas-city-catalog__title {
		font-size: clamp(38px, 12vw, 58px);
	}

	body.velas-nocturne-contact .rh_banner {
		min-height: 230px;
		padding-block: 52px 38px;
	}

	body.velas-nocturne-catalog .rh_page__head,
	body.velas-nocturne-search .rh_page__head,
	.velas-nocturne-section-head {
		align-items: flex-start;
		flex-direction: column;
	}

	body.velas-nocturne-surface :where(.rh_prop_card, .rh-ultra-grid-card, .rh_property_card_stylish):hover {
		transform: none;
	}

	body.velas-nocturne-property .rh_wrap--topPadding {
		padding-top: 34px;
		padding-bottom: 76px;
	}

	body.velas-nocturne-property .rh_property__content {
		padding: 22px 18px;
	}

	body.velas-nocturne-property .rh_property__meta_wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.velas-nocturne-region-hero {
		min-height: 620px;
	}

	.velas-nocturne-region-hero__shade {
		background: linear-gradient(180deg, rgba(9, 9, 19, .36), rgba(9, 9, 19, .94));
	}

	.velas-nocturne-region-hero__content {
		padding-block: 78px 44px;
	}

	.velas-nocturne-region-hero h1 {
		font-size: clamp(50px, 17vw, 78px);
	}

	.velas-nocturne-region-search {
		margin-top: 24px;
	}

	.velas-nocturne-region-story,
	.velas-nocturne-region-results,
	.velas-nocturne-related,
	.velas-nocturne-journal-index,
	.velas-nocturne-service-related {
		padding-block: 68px;
	}

	.velas-nocturne-property-grid,
	.velas-nocturne-related-grid,
	.velas-nocturne-journal-grid,
	.velas-nocturne-service-grid {
		grid-template-columns: 1fr;
	}

	.velas-nocturne-empty {
		padding: 32px 20px;
	}

	.velas-nocturne-article-hero {
		padding-block: 54px 70px;
	}

	.velas-nocturne-article-hero .velas-nocturne-back {
		margin-bottom: 48px;
	}

	.velas-nocturne-article-hero h1 {
		font-size: clamp(44px, 13vw, 66px);
	}

	.velas-nocturne-article-image {
		margin-top: -18px;
	}

	.velas-nocturne-article-layout {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-block: 64px 82px;
	}

	.velas-nocturne-service-hero {
		min-height: 600px;
	}

	.velas-nocturne-service-hero__shade {
		background: linear-gradient(180deg, rgba(9, 9, 19, .32), rgba(9, 9, 19, .95));
	}

	.velas-nocturne-service-content {
		grid-template-columns: 1fr;
		gap: 28px;
		padding-block: 64px 82px;
	}

	.velas-nocturne-service-content > aside {
		position: static;
	}

	.velas-nocturne-article-layout > aside {
		position: static;
	}

	.velas-nocturne-article-content :where(p, li) {
		font-size: 17px;
		line-height: 1.75;
	}
}

@media (max-width: 560px) {
	.velas-nocturne-property-map__stats {
		grid-template-columns: 1fr;
	}

	.velas-nocturne-property-map__stats li {
		grid-template-columns: 52px minmax(0, 1fr);
		align-items: center;
		min-height: 58px;
	}

	.velas-nocturne-property-map__stage {
		min-height: 390px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.velas-nocturne-surface *,
	body.velas-nocturne-surface *::before,
	body.velas-nocturne-surface *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
