/* Pacific Agency v0.5.28 - final homepage editorial polish. */
:root {
	--bg: #f7f4ef;
	--bg-alt: #efe6d8;
	--surface: #fffdf9;
	--surface-glass: rgba(255, 253, 249, .82);
	--ink: #071e33;
	--ink-2: #1b1b1b;
	--muted: #66717e;
	--sand: #d8c7ad;
	--cyan: #1ca9c9;
	--cyan-soft: rgba(28, 169, 201, .13);
	--line: rgba(7, 30, 51, .13);
	--line-warm: rgba(216, 199, 173, .62);
	--shadow-soft: 0 24px 70px rgba(7, 30, 51, .12);
	--shadow-card: 0 18px 44px rgba(7, 30, 51, .09);
	--font-display: "Cormorant Garamond", Georgia, serif;
	--font-body: "Manrope", "Barlow", system-ui, sans-serif;
	--font-mono: "JetBrains Mono", ui-monospace, monospace;
	--source-max: 1280px;
	--source-pad: clamp(20px, 5vw, 72px);
	--hero-image: url("../images/imc-coastline-original.jpg");
}

html,
body {
	max-width: 100%;
	overflow-x: clip;
	background:
		linear-gradient(180deg, rgba(247, 244, 239, .98), rgba(239, 230, 216, .84) 54%, rgba(247, 244, 239, .96)),
		var(--bg) !important;
	color: var(--ink-2);
	font-family: var(--font-body);
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(7, 30, 51, .026) 1px, transparent 1px),
		linear-gradient(90deg, rgba(7, 30, 51, .026) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(180deg, transparent, #000 20%, #000 80%, transparent);
}

.pa-nav {
	position: fixed !important;
	top: 14px !important;
	right: 14px !important;
	left: 14px !important;
	width: auto !important;
	transform: none !important;
	border: 1px solid rgba(255, 255, 255, .50) !important;
	border-radius: 12px !important;
	background: rgba(255, 253, 249, .76) !important;
	box-shadow: 0 14px 46px rgba(7, 30, 51, .11) !important;
	backdrop-filter: blur(24px) saturate(1.16);
	-webkit-backdrop-filter: blur(24px) saturate(1.16);
}

body.admin-bar .pa-nav {
	top: 46px !important;
}

.pa-nav-inner {
	max-width: var(--source-max) !important;
	min-height: 54px !important;
	padding: 6px clamp(16px, 4vw, 34px) !important;
}

.pa-brand img {
	max-height: 44px !important;
}

.pa-vivalda-logo img {
	max-height: 38px !important;
}

.pa-menu a,
.pa-nav-utils a,
.pa-language-select,
.pa-theme-toggle {
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

.pa-menu a:hover,
.pa-menu .current-menu-item > a,
.pa-nav-utils a:hover {
	color: var(--cyan) !important;
}

.pa-source-hero {
	position: relative !important;
	display: grid !important;
	align-items: center !important;
	min-height: min(820px, calc(100vh - 28px)) !important;
	margin: 0 !important;
	padding: 104px var(--source-pad) 148px !important;
	overflow: hidden !important;
	border-radius: 0 0 18px 18px !important;
	background:
		linear-gradient(90deg, rgba(7, 30, 51, .86), rgba(7, 30, 51, .58) 46%, rgba(7, 30, 51, .20)),
		linear-gradient(180deg, rgba(7, 30, 51, .44), rgba(7, 30, 51, .25) 44%, rgba(7, 30, 51, .80)),
		var(--hero-image) center / cover no-repeat !important;
	color: #fff !important;
}

.pa-source-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 18% 28%, rgba(28, 169, 201, .16), transparent 28%),
		linear-gradient(120deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 100%);
	background-size: auto, 22px 22px;
	opacity: .72;
}

.pa-source-hero-inner {
	position: relative;
	z-index: 1;
	width: min(100%, var(--source-max));
	margin: 0 auto;
	padding: 0 !important;
}

.pa-source-hero-copy {
	max-width: 790px !important;
}

.pa-source-kicker,
.mono {
	color: var(--cyan) !important;
	font-family: var(--font-mono) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
}

.pa-source-hero-title {
	max-width: 840px !important;
	margin: 16px 0 22px !important;
	color: #fff !important;
	font-family: var(--font-display) !important;
	font-size: clamp(58px, 7vw, 92px) !important;
	font-weight: 600 !important;
	line-height: .92 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-wrap: balance;
}

.pa-source-hero-sub,
.pa-hero-sub {
	max-width: 720px;
	color: rgba(255, 255, 255, .86);
	font-family: var(--font-body);
	font-size: clamp(18px, 1.8vw, 24px);
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
	text-wrap: pretty;
}

.pa-source-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 34px;
}

.pa-source-pill,
.pa-source-link-arrow,
.pa-card-cta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	min-height: 42px !important;
	padding: 11px 18px !important;
	border: 1px solid rgba(7, 30, 51, .18) !important;
	border-radius: 999px !important;
	background: var(--surface) !important;
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}

.pa-source-pill.is-active,
.pa-source-pill:hover,
.pa-source-link-arrow:hover,
.pa-card-cta:hover {
	border-color: var(--cyan) !important;
	background: var(--ink) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgba(7, 30, 51, .18);
}

.pa-hero-meta-rail,
.pa-hero-scroll-cue,
.pa-source-hero-logo {
	display: none !important;
}

.pa-home-search-bar {
	position: relative;
	z-index: 20;
	margin: -76px auto 0 !important;
	padding: 0 var(--source-pad) !important;
}

.pa-home-search-panel {
	width: min(100%, 1180px) !important;
	margin: 0 auto !important;
}

.pa-home-search-shell {
	padding: clamp(16px, 2vw, 22px) !important;
	border: 1px solid rgba(255, 255, 255, .56) !important;
	border-radius: 24px !important;
	background: var(--surface-glass) !important;
	box-shadow: 0 24px 74px rgba(7, 30, 51, .20) !important;
	backdrop-filter: blur(24px) saturate(1.16);
	-webkit-backdrop-filter: blur(24px) saturate(1.16);
}

.pa-home-search-shell :is(form, .itb_search, .itb-search, [class*="search"]) {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(104px, 1fr)) minmax(112px, .72fr) !important;
	gap: 12px !important;
	align-items: end !important;
}

.pa-home-search-shell :is(label, legend),
.pa-itb-search-section :is(label, legend) {
	margin: 0 0 6px !important;
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

.pa-home-search-shell :is(input, select, textarea),
.pa-itb-search-section :is(input, select, textarea) {
	width: 100% !important;
	min-height: 48px !important;
	padding: 10px 12px !important;
	border: 1px solid rgba(7, 30, 51, .18) !important;
	border-radius: 0 !important;
	background-color: rgba(255, 253, 249, .72) !important;
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: 14px !important;
	box-shadow: none !important;
}

.pa-home-search-shell :is(button, input[type="submit"]),
.pa-itb-search-section :is(button, input[type="submit"]) {
	width: 100% !important;
	min-height: 48px !important;
	padding: 11px 18px !important;
	border: 1px solid var(--ink) !important;
	border-radius: 12px !important;
	background: var(--ink) !important;
	color: #fff !important;
	font-family: var(--font-body) !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	text-transform: none !important;
}

.pa-source-strip,
.pa-neighborhood-map-section,
.pa-source-team,
.pa-home-contact-section {
	padding: clamp(76px, 8vw, 124px) var(--source-pad) !important;
	background: transparent !important;
}

.pa-source-section-head {
	width: min(100%, var(--source-max));
	margin: 0 auto 36px !important;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.pa-source-section-head.is-compact {
	margin-bottom: 26px !important;
}

.pa-source-section-head h2,
.pa-page-hero .pa-hero-title,
.pa-detail-editorial-shell .pa-page-content :is(h1, .h1) {
	margin: 0 !important;
	color: var(--ink) !important;
	font-family: var(--font-display) !important;
	font-size: clamp(42px, 5.4vw, 68px) !important;
	font-weight: 600 !important;
	line-height: .95 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-wrap: balance;
}

.pa-source-section-head .pa-hero-sub {
	max-width: 640px;
	color: var(--muted) !important;
	font-size: 16px;
}

.pa-feature-property-shell,
.pa-new-listings-shell,
.pa-itb-listing-shell,
.pa-sale-carousel-shell {
	width: min(100%, var(--source-max)) !important;
	max-width: var(--source-max) !important;
	margin-inline: auto !important;
	background: transparent !important;
}

.pa-feature-property-shell .owl-carousel,
.pa-new-listings-shell .owl-carousel,
.pa-feature-property-shell .owl-stage-outer,
.pa-new-listings-shell .owl-stage-outer {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
}

.pa-feature-property-shell .owl-stage,
.pa-new-listings-shell .owl-stage {
	width: 100% !important;
	max-width: 100% !important;
	transform: none !important;
}

.pa-single-itb-carousel .owl-stage {
	display: block !important;
}

.pa-single-itb-carousel .owl-item {
	display: none !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active,
.pa-single-itb-carousel .owl-item:has(> .item.is-pa-active):not(.cloned) {
	display: block !important;
}

.pa-single-itb-carousel .owl-item.cloned,
.pa-new-listings-shell .owl-item.cloned {
	display: none !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active .item > a {
	display: grid !important;
	grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr) !important;
	width: 100% !important;
	min-height: clamp(520px, 48vw, 640px) !important;
	overflow: hidden !important;
	border: 1px solid var(--line-warm) !important;
	border-radius: 18px !important;
	background: var(--surface) !important;
	color: var(--ink) !important;
	box-shadow: var(--shadow-soft) !important;
	text-decoration: none !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active img {
	width: 100% !important;
	height: 100% !important;
	min-height: clamp(520px, 48vw, 640px) !important;
	object-fit: cover !important;
	transition: transform .7s ease;
}

.pa-single-itb-carousel .owl-item.is-pa-active .legend {
	position: static !important;
	display: grid !important;
	align-content: end !important;
	gap: 16px !important;
	min-height: 100% !important;
	padding: clamp(28px, 4vw, 56px) !important;
	background: linear-gradient(180deg, rgba(255, 253, 249, .98), rgba(247, 244, 239, .92)) !important;
	color: var(--ink) !important;
	text-align: left !important;
	text-shadow: none !important;
}

.pa-card-district {
	color: var(--cyan) !important;
	font-family: var(--font-mono) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
}

.pa-card-title {
	color: var(--ink) !important;
	font-family: var(--font-display) !important;
	font-size: clamp(26px, 3.4vw, 54px) !important;
	font-weight: 600 !important;
	line-height: .98 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-wrap: balance;
}

.pa-card-specs {
	color: var(--muted) !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
}

.pa-card-price {
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: clamp(18px, 2vw, 28px) !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
}

.pa-single-itb-carousel .legend::after,
.pa-new-listings-shell .legend::after,
.pa-single-itb-carousel .legend strong,
.pa-new-listings-shell .legend strong {
	content: none !important;
	display: none !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active .item > a:hover img,
.pa-new-listings-shell .item > a:hover img,
.pa-itb-listing-shell .itb_properties_property:hover img {
	transform: scale(1.035);
}

.pa-new-listings-shell .owl-stage {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(18px, 2.6vw, 32px) !important;
}

.pa-new-listings-shell .owl-item {
	display: block !important;
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.pa-new-listings-shell .item,
.pa-new-listings-shell .item > a {
	height: 100% !important;
	min-width: 0 !important;
}

.pa-new-listings-shell .item > a {
	display: grid !important;
	grid-template-rows: auto 1fr !important;
	overflow: hidden !important;
	border: 1px solid rgba(7, 30, 51, .12) !important;
	border-radius: 16px !important;
	background: var(--surface) !important;
	color: var(--ink) !important;
	box-shadow: 0 10px 30px rgba(7, 30, 51, .07) !important;
	text-decoration: none !important;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.pa-new-listings-shell .item > a:hover {
	transform: translateY(-6px) !important;
	border-color: rgba(28, 169, 201, .45) !important;
	box-shadow: 0 24px 54px rgba(7, 30, 51, .14) !important;
}

.pa-new-listings-shell .item img {
	width: 100% !important;
	aspect-ratio: 1.28 / 1 !important;
	height: auto !important;
	min-height: 0 !important;
	object-fit: cover !important;
	border-radius: 12px 12px 0 0 !important;
	transition: transform .55s ease;
}

.pa-new-listings-shell .legend {
	position: static !important;
	display: grid !important;
	gap: 10px !important;
	align-content: start !important;
	min-height: 250px !important;
	padding: 22px !important;
	background: var(--surface) !important;
	color: var(--ink) !important;
	text-align: left !important;
	text-shadow: none !important;
}

.pa-new-listings-shell .pa-card-title {
	font-size: clamp(22px, 2vw, 30px) !important;
	line-height: 1.04 !important;
}

.pa-new-listings-shell .pa-card-specs {
	min-height: 46px;
}

.pa-itb-listing-shell .itb_properties,
.pa-itb-selection-page .itb_properties,
.pa-itb-results-page .itb_properties {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(18px, 2.6vw, 32px) !important;
	align-items: stretch !important;
	background: transparent !important;
}

.pa-itb-listing-shell .itb_properties_property,
.pa-itb-selection-page .itb_properties_property,
.pa-itb-results-page .itb_properties_property {
	display: grid !important;
	grid-template-rows: auto auto 1fr auto !important;
	gap: 12px !important;
	min-width: 0 !important;
	padding: 0 0 22px !important;
	overflow: hidden !important;
	border: 1px solid rgba(7, 30, 51, .12) !important;
	border-radius: 16px !important;
	background: var(--surface) !important;
	box-shadow: 0 10px 30px rgba(7, 30, 51, .07) !important;
}

.pa-itb-listing-shell .itb_properties_property_img,
.pa-itb-selection-page .itb_properties_property_img,
.pa-itb-results-page .itb_properties_property_img {
	overflow: hidden !important;
}

.pa-itb-listing-shell .itb_properties_property_img img,
.pa-itb-selection-page .itb_properties_property_img img,
.pa-itb-results-page .itb_properties_property_img img {
	width: 100% !important;
	aspect-ratio: 1.28 / 1 !important;
	height: auto !important;
	object-fit: cover !important;
}

.pa-itb-listing-shell .itb_properties_property > h3,
.pa-itb-selection-page .itb_properties_property > h3,
.pa-itb-results-page .itb_properties_property > h3,
.pa-itb-listing-shell .itb_properties_property_content,
.pa-itb-selection-page .itb_properties_property_content,
.pa-itb-results-page .itb_properties_property_content,
.pa-itb-listing-shell .itb_properties_property_readmore,
.pa-itb-selection-page .itb_properties_property_readmore,
.pa-itb-results-page .itb_properties_property_readmore {
	padding-inline: 22px !important;
}

.pa-itb-listing-shell .itb_properties_property > h3 > a:not(.btn-switchselection),
.pa-itb-selection-page .itb_properties_property > h3 > a:not(.btn-switchselection),
.pa-itb-results-page .itb_properties_property > h3 > a:not(.btn-switchselection) {
	color: var(--ink) !important;
	font-family: var(--font-display) !important;
	font-size: clamp(22px, 2.2vw, 30px) !important;
	font-weight: 600 !important;
	line-height: 1.03 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.pa-itb-listing-shell .itb_properties_property_content,
.pa-itb-selection-page .itb_properties_property_content,
.pa-itb-results-page .itb_properties_property_content {
	color: var(--muted) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

.pa-itb-listing-shell .itb_properties_property_readmore a,
.pa-itb-selection-page .itb_properties_property_readmore a,
.pa-itb-results-page .itb_properties_property_readmore a {
	display: inline-flex !important;
	min-height: 38px !important;
	padding: 9px 15px !important;
	border: 1px solid rgba(7, 30, 51, .16) !important;
	border-radius: 999px !important;
	background: var(--surface) !important;
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .06em !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}

.pa-itb-listing-shell .btn-group,
.pa-new-listings-shell .btn-group,
.pa-itb-selection-page .btn-group,
.pa-itb-results-page .btn-group {
	grid-column: 1 / -1 !important;
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	gap: 8px !important;
	width: 100% !important;
	margin: 0 0 20px !important;
	padding: 10px !important;
	border: 1px solid rgba(7, 30, 51, .10) !important;
	border-radius: 999px !important;
	background: rgba(255, 253, 249, .68) !important;
	box-shadow: none !important;
}

.pa-itb-listing-shell .btn-group :is(a, button, .btn),
.pa-new-listings-shell .btn-group :is(a, button, .btn),
.pa-itb-selection-page .btn-group :is(a, button, .btn),
.pa-itb-results-page .btn-group :is(a, button, .btn) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 30px !important;
	margin: 0 !important;
	padding: 6px 11px !important;
	border: 1px solid rgba(7, 30, 51, .16) !important;
	border-radius: 999px !important;
	background: var(--surface) !important;
	color: var(--ink) !important;
	font-family: var(--font-body) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

.pa-itb-listing-shell .btn-group .is-pa-sort-active,
.pa-new-listings-shell .btn-group .is-pa-sort-active,
.pa-itb-selection-page .btn-group .is-pa-sort-active,
.pa-itb-results-page .btn-group .is-pa-sort-active {
	border-color: var(--cyan) !important;
	background: var(--cyan-soft) !important;
	color: var(--ink) !important;
}

.pa-neighborhood-map-section {
	background: linear-gradient(180deg, rgba(255, 253, 249, .74), rgba(239, 230, 216, .58)) !important;
	border-top: 1px solid var(--line-warm);
	border-bottom: 1px solid var(--line-warm);
}

.pa-neighborhood-map-grid {
	width: min(100%, var(--source-max));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
	gap: clamp(24px, 4vw, 48px);
	align-items: start;
}

.pa-map-canvas {
	position: sticky;
	top: 92px;
	overflow: hidden;
	max-height: 640px;
	margin: 0;
	padding: clamp(18px, 3vw, 34px);
	border: 1px solid rgba(7, 30, 51, .14);
	border-radius: 16px;
	background: var(--surface);
	box-shadow: var(--shadow-card);
}

.pa-map-canvas img {
	display: block;
	width: 100%;
	max-height: 560px;
	object-fit: contain;
	filter: saturate(.96) contrast(1.04);
}

.pa-map-pin {
	width: 12px !important;
	height: 12px !important;
	border: 2px solid #fff !important;
	background: var(--cyan) !important;
	box-shadow: 0 0 0 6px rgba(28, 169, 201, .16), 0 8px 18px rgba(7, 30, 51, .24) !important;
}

.pa-neighborhood-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-auto-rows: 172px !important;
	gap: 14px !important;
}

.pa-neighborhood-list a {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	justify-content: end !important;
	align-items: flex-start !important;
	min-width: 0;
	overflow: hidden;
	padding: 18px !important;
	border: 1px solid rgba(255, 255, 255, .42) !important;
	border-radius: 16px !important;
	background:
		linear-gradient(180deg, rgba(7, 30, 51, .08), rgba(7, 30, 51, .78)),
		var(--pa-neighborhood-image) center / cover no-repeat !important;
	box-shadow: 0 12px 32px rgba(7, 30, 51, .11);
	color: #fff !important;
	text-decoration: none !important;
	transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.pa-neighborhood-list a:hover,
.pa-neighborhood-list a.is-active {
	transform: translateY(-5px) scale(1.015);
	border-color: rgba(28, 169, 201, .72) !important;
	box-shadow: 0 24px 54px rgba(7, 30, 51, .18);
}

.pa-neighborhood-list a > span:first-child {
	color: #fff !important;
	font-family: var(--font-display) !important;
	font-size: clamp(25px, 2.3vw, 34px) !important;
	font-weight: 600 !important;
	line-height: .96 !important;
	text-shadow: 0 3px 16px rgba(0, 0, 0, .32);
}

.pa-neighborhood-list small {
	margin-top: 8px;
	color: rgba(255, 255, 255, .84) !important;
	font-family: var(--font-mono) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}

.pa-proof-grid {
	width: min(100%, var(--source-max));
	margin: 0 auto;
	display: grid !important;
	grid-template-columns: 1.05fr .95fr .95fr 1.05fr !important;
	gap: 14px !important;
	background: transparent !important;
	border: 0 !important;
}

.pa-proof-grid article {
	min-height: 206px;
	padding: clamp(24px, 3vw, 34px) !important;
	display: grid;
	align-content: space-between;
	gap: 20px;
	border: 1px solid var(--line-warm);
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255, 253, 249, .98), rgba(247, 244, 239, .88)) !important;
	box-shadow: 0 12px 34px rgba(7, 30, 51, .07);
}

.pa-proof-grid article:nth-child(2) {
	background: linear-gradient(145deg, rgba(7, 30, 51, .96), rgba(7, 30, 51, .82)) !important;
}

.pa-proof-grid strong {
	color: var(--ink);
	font-family: var(--font-display);
	font-size: clamp(44px, 4.8vw, 72px);
	font-weight: 600;
	line-height: .88;
}

.pa-proof-grid article:nth-child(2) strong,
.pa-proof-grid article:nth-child(2) span {
	color: #fff !important;
}

.pa-proof-grid span {
	color: var(--ink-2);
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.45;
}

.pa-source-agent-grid {
	width: min(100%, var(--source-max));
	margin: 0 auto;
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
}

.pa-source-agent-card {
	display: grid !important;
	gap: 16px !important;
	padding: 22px !important;
	border: 1px solid rgba(7, 30, 51, .12) !important;
	border-radius: 16px !important;
	background: rgba(255, 253, 249, .82) !important;
	box-shadow: 0 12px 34px rgba(7, 30, 51, .07) !important;
}

.pa-source-agent-card img,
.pa-agent-avatar {
	width: 82px !important;
	height: 82px !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	border: 1px solid rgba(28, 169, 201, .34) !important;
	background: var(--cyan-soft) !important;
}

.pa-source-agent-card h3,
.pa-agent-card h3 {
	color: var(--ink) !important;
	font-family: var(--font-display) !important;
	font-size: 30px !important;
	font-weight: 600 !important;
	line-height: .98 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.pa-source-agent-card :is(p, span, small) {
	color: var(--muted) !important;
	font-family: var(--font-body) !important;
}

.pa-home-contact-section {
	width: min(calc(100% - (var(--source-pad) * 2)), var(--source-max));
	margin: clamp(30px, 6vw, 72px) auto clamp(56px, 8vw, 96px) !important;
	padding: clamp(40px, 6vw, 72px) !important;
	border-radius: 22px !important;
	background:
		linear-gradient(135deg, rgba(28, 169, 201, .16), transparent 38%),
		linear-gradient(180deg, #08233c, var(--ink)) !important;
	color: #fff !important;
	box-shadow: 0 28px 74px rgba(7, 30, 51, .24);
}

.pa-home-contact-section .pa-source-section-head {
	width: 100%;
	margin-bottom: 28px !important;
}

.pa-home-contact-section .pa-source-section-head h2,
.pa-home-contact-section .pa-hero-sub {
	color: #fff !important;
}

.pa-contact-form-card {
	border: 1px solid rgba(255, 255, 255, .20) !important;
	border-radius: 18px !important;
	background: rgba(255, 255, 255, .08) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

.pa-contact-form-card :is(input, select, textarea) {
	border-color: rgba(255, 255, 255, .22) !important;
	background: rgba(255, 255, 255, .92) !important;
	color: var(--ink) !important;
}

[data-theme="dark"] {
	--bg: #071e33;
	--bg-alt: #0b2a44;
	--surface: #0e2a43;
	--surface-glass: rgba(14, 42, 67, .86);
	--ink: #f7f4ef;
	--ink-2: #f7f4ef;
	--muted: rgba(247, 244, 239, .72);
	--line: rgba(247, 244, 239, .16);
	--line-warm: rgba(216, 199, 173, .32);
}

[data-theme="dark"] .pa-nav,
[data-theme="dark"] .pa-home-search-shell {
	background: rgba(7, 30, 51, .78) !important;
	border-color: rgba(247, 244, 239, .16) !important;
}

[data-theme="dark"] .pa-menu a,
[data-theme="dark"] .pa-nav-utils a,
[data-theme="dark"] .pa-language-select,
[data-theme="dark"] .pa-theme-toggle,
[data-theme="dark"] .pa-home-search-shell :is(label, legend) {
	color: #f7f4ef !important;
}

[data-theme="dark"] .pa-new-listings-shell .item > a,
[data-theme="dark"] .pa-single-itb-carousel .owl-item.is-pa-active .item > a,
[data-theme="dark"] .pa-single-itb-carousel .owl-item.is-pa-active .legend,
[data-theme="dark"] .pa-itb-listing-shell .itb_properties_property,
[data-theme="dark"] .pa-itb-selection-page .itb_properties_property,
[data-theme="dark"] .pa-itb-results-page .itb_properties_property,
[data-theme="dark"] .pa-proof-grid article:not(:nth-child(2)),
[data-theme="dark"] .pa-source-agent-card {
	background: #0e2a43 !important;
	color: #f7f4ef !important;
}

[data-theme="dark"] .pa-card-title,
[data-theme="dark"] .pa-card-price,
[data-theme="dark"] .pa-itb-listing-shell .itb_properties_property > h3 > a:not(.btn-switchselection),
[data-theme="dark"] .pa-itb-selection-page .itb_properties_property > h3 > a:not(.btn-switchselection),
[data-theme="dark"] .pa-itb-results-page .itb_properties_property > h3 > a:not(.btn-switchselection),
[data-theme="dark"] .pa-source-section-head h2,
[data-theme="dark"] .pa-proof-grid strong,
[data-theme="dark"] .pa-proof-grid span,
[data-theme="dark"] .pa-source-agent-card h3 {
	color: #f7f4ef !important;
}

@media (max-width: 1180px) {
	.pa-home-search-shell :is(form, .itb_search, .itb-search, [class*="search"]) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.pa-new-listings-shell .owl-stage,
	.pa-itb-listing-shell .itb_properties,
	.pa-itb-selection-page .itb_properties,
	.pa-itb-results-page .itb_properties {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pa-source-agent-grid,
	.pa-proof-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.pa-source-hero {
		min-height: 720px !important;
		padding-top: 142px !important;
	}

	.pa-single-itb-carousel .owl-item.is-pa-active .item > a,
	.pa-neighborhood-map-grid {
		grid-template-columns: 1fr !important;
	}

	.pa-single-itb-carousel .owl-item.is-pa-active img {
		min-height: 360px !important;
		aspect-ratio: 1.2 / 1 !important;
	}

	.pa-map-canvas {
		position: relative;
		top: auto;
		max-height: none;
	}

	.pa-neighborhood-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 700px) {
	body.admin-bar .pa-nav,
	.pa-nav {
		top: 8px !important;
		right: 8px !important;
		left: 8px !important;
		border-radius: 18px !important;
	}

	.pa-nav-inner {
		min-height: 88px !important;
		padding: 10px 12px !important;
	}

	.pa-brand img {
		max-height: 48px !important;
	}

	.pa-vivalda-logo img {
		max-height: 34px !important;
	}

	.pa-source-hero {
		min-height: 760px !important;
		padding: 156px 22px 132px !important;
	}

	.pa-source-hero-title {
		font-size: clamp(44px, 13vw, 58px) !important;
		line-height: .94 !important;
	}

	.pa-source-hero-sub {
		font-size: 18px !important;
	}

	.pa-source-hero-actions {
		gap: 10px;
	}

	.pa-source-pill {
		width: 100% !important;
	}

	.pa-home-search-bar {
		margin-top: -92px !important;
		padding-inline: 20px !important;
	}

	.pa-home-search-shell {
		border-radius: 22px !important;
	}

	.pa-home-search-shell :is(form, .itb_search, .itb-search, [class*="search"]) {
		grid-template-columns: 1fr !important;
	}

	.pa-source-section-head {
		display: grid;
		align-items: start;
	}

	.pa-source-section-head h2 {
		font-size: clamp(38px, 12vw, 52px) !important;
	}

	.pa-source-strip,
	.pa-neighborhood-map-section,
	.pa-source-team,
	.pa-home-contact-section {
		padding-top: 72px !important;
		padding-bottom: 72px !important;
	}

	.pa-new-listings-shell .owl-stage,
	.pa-itb-listing-shell .itb_properties,
	.pa-itb-selection-page .itb_properties,
	.pa-itb-results-page .itb_properties,
	.pa-neighborhood-list,
	.pa-source-agent-grid,
	.pa-proof-grid {
		grid-template-columns: 1fr !important;
	}

	.pa-single-itb-carousel .owl-item.is-pa-active .legend,
	.pa-new-listings-shell .legend {
		padding: 22px !important;
	}

	.pa-new-listings-shell .legend {
		min-height: 220px !important;
	}

	.pa-neighborhood-list {
		grid-auto-rows: 156px !important;
	}

	.pa-home-contact-section {
		width: calc(100% - 28px);
		padding: 28px !important;
	}
}

/* v0.5.29 nautical refinement and cross-page contrast fixes. */
html:not([data-theme="dark"]) body::before {
	background:
		repeating-linear-gradient(18deg, rgba(7, 30, 51, .055) 0 1px, transparent 1px 42px),
		repeating-linear-gradient(108deg, rgba(28, 169, 201, .042) 0 1px, transparent 1px 56px),
		repeating-radial-gradient(circle at 12% 6%, transparent 0 78px, rgba(7, 30, 51, .075) 79px 80px, transparent 81px 128px),
		linear-gradient(180deg, rgba(255, 253, 249, .72), rgba(247, 244, 239, .88));
	background-size: auto;
	opacity: .78;
	mask-image: linear-gradient(180deg, #000, #000);
}

body::after {
	content: "";
	position: fixed;
	right: -110px;
	bottom: -110px;
	z-index: -1;
	width: min(42vw, 520px);
	aspect-ratio: 1;
	pointer-events: none;
	border: 1px solid rgba(28, 169, 201, .16);
	border-radius: 50%;
	background:
		repeating-conic-gradient(from -18deg, rgba(7, 30, 51, .06) 0 1deg, transparent 1deg 12deg),
		repeating-radial-gradient(circle, transparent 0 78px, rgba(7, 30, 51, .07) 79px 80px);
	opacity: .64;
}

.pa-source-hero {
	box-sizing: border-box !important;
	min-height: min(700px, calc(100vh - 54px)) !important;
	padding-top: 104px !important;
	padding-bottom: 96px !important;
	background:
		linear-gradient(90deg, rgba(7, 30, 51, .84), rgba(7, 30, 51, .53) 44%, rgba(7, 30, 51, .18)),
		linear-gradient(180deg, rgba(7, 30, 51, .22), rgba(7, 30, 51, .22) 44%, rgba(7, 30, 51, .68)),
		var(--hero-image) center / cover no-repeat !important;
}

.pa-source-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		repeating-linear-gradient(28deg, rgba(255, 255, 255, .10) 0 1px, transparent 1px 74px),
		repeating-radial-gradient(circle at 82% 22%, transparent 0 84px, rgba(255, 255, 255, .12) 85px 86px, transparent 87px 138px);
	opacity: .34;
}

.pa-source-hero-inner {
	isolation: isolate;
}

.pa-source-hero-sub {
	color: rgba(255, 255, 255, .88) !important;
}

.pa-hero-sub,
.pa-page-hero .pa-hero-sub,
.pa-section .pa-hero-sub,
.pa-source-team .pa-hero-sub,
.pa-itb-search-section .pa-hero-sub,
.pa-source-section-head .pa-hero-sub {
	color: var(--muted) !important;
}

.pa-source-hero .pa-hero-sub,
.pa-home-contact-section .pa-hero-sub {
	color: rgba(255, 255, 255, .88) !important;
}

.pa-page-hero,
.pa-section,
.pa-source-listings,
.pa-itb-search-section,
.pa-source-team-list {
	background:
		linear-gradient(180deg, rgba(255, 253, 249, .80), rgba(247, 244, 239, .94)),
		transparent !important;
}

.pa-page-hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(7, 30, 51, .12) !important;
}

.pa-page-hero::after,
.pa-source-section-head::after {
	content: "";
	display: block;
	height: 1px;
	background: linear-gradient(90deg, rgba(7, 30, 51, .18), rgba(28, 169, 201, .58), rgba(7, 30, 51, 0));
}

.pa-page-hero::after {
	position: absolute;
	right: var(--source-pad);
	bottom: 34px;
	left: var(--source-pad);
}

.pa-source-section-head::after {
	width: min(220px, 28vw);
	align-self: center;
}

.pa-neighborhood-map-section {
	padding-top: clamp(70px, 7vw, 104px) !important;
}

.pa-source-feature-property {
	padding-top: clamp(70px, 7vw, 106px) !important;
}

.pa-itb-listing-shell .itb_properties > .btn-group,
.pa-new-listings-shell .itb_properties > .btn-group,
.pa-itb-selection-page .itb_properties > .btn-group,
.pa-itb-results-page .itb_properties > .btn-group,
.pa-itb-listing-shell .btn-group.pa-sort-toolbar,
.pa-new-listings-shell .btn-group.pa-sort-toolbar,
.pa-itb-selection-page .btn-group.pa-sort-toolbar,
.pa-itb-results-page .btn-group.pa-sort-toolbar {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: 46px !important;
	margin: 0 0 20px !important;
	padding: 8px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	border: 1px solid rgba(28, 169, 201, .28) !important;
	border-radius: 14px !important;
	background:
		linear-gradient(90deg, rgba(255, 253, 249, .92), rgba(237, 248, 252, .74)),
		var(--surface) !important;
	box-shadow: none !important;
	scrollbar-width: thin;
}

.pa-itb-listing-shell .itb_properties > .btn-group > *,
.pa-new-listings-shell .itb_properties > .btn-group > *,
.pa-itb-selection-page .itb_properties > .btn-group > *,
.pa-itb-results-page .itb_properties > .btn-group > * {
	flex: 0 0 auto !important;
	float: none !important;
}

.pa-itb-listing-shell .itb_properties > .btn-group br,
.pa-new-listings-shell .itb_properties > .btn-group br,
.pa-itb-selection-page .itb_properties > .btn-group br,
.pa-itb-results-page .itb_properties > .btn-group br {
	display: none !important;
}

.pa-itb-listing-shell .btn-group :is(a, button, .btn),
.pa-new-listings-shell .btn-group :is(a, button, .btn),
.pa-itb-selection-page .btn-group :is(a, button, .btn),
.pa-itb-results-page .btn-group :is(a, button, .btn) {
	white-space: nowrap !important;
}

.pa-source-agent-card {
	position: relative;
	overflow: hidden;
}

.pa-source-agent-card::before,
.pa-new-listings-shell .item > a::before,
.pa-itb-listing-shell .itb_properties_property::before,
.pa-proof-grid article::before {
	content: "";
	position: absolute;
	top: 14px;
	right: 14px;
	width: 32px;
	height: 32px;
	pointer-events: none;
	border: 1px solid rgba(28, 169, 201, .22);
	border-radius: 50%;
	background:
		linear-gradient(90deg, transparent 47%, rgba(28, 169, 201, .45) 48% 52%, transparent 53%),
		linear-gradient(0deg, transparent 47%, rgba(7, 30, 51, .20) 48% 52%, transparent 53%);
	opacity: .34;
}

[data-theme="dark"] body::after {
	border-color: rgba(28, 169, 201, .22);
	opacity: .42;
}

[data-theme="dark"] .pa-page-hero,
[data-theme="dark"] .pa-section,
[data-theme="dark"] .pa-source-listings,
[data-theme="dark"] .pa-itb-search-section,
[data-theme="dark"] .pa-source-team-list {
	background:
		linear-gradient(180deg, rgba(7, 30, 51, .74), rgba(7, 30, 51, .92)),
		var(--bg) !important;
}

[data-theme="dark"] .pa-hero-sub,
[data-theme="dark"] .pa-page-hero .pa-hero-sub,
[data-theme="dark"] .pa-section .pa-hero-sub,
[data-theme="dark"] .pa-source-team .pa-hero-sub,
[data-theme="dark"] .pa-itb-search-section .pa-hero-sub,
[data-theme="dark"] .pa-source-section-head .pa-hero-sub {
	color: rgba(247, 244, 239, .76) !important;
}

@media (max-width: 700px) {
	.pa-source-hero {
		box-sizing: border-box !important;
		min-height: 650px !important;
		padding-top: 136px !important;
		padding-bottom: 110px !important;
	}

	.pa-source-section-head::after {
		width: 100%;
	}

	.pa-itb-listing-shell .itb_properties > .btn-group,
	.pa-new-listings-shell .itb_properties > .btn-group,
	.pa-itb-selection-page .itb_properties > .btn-group,
	.pa-itb-results-page .itb_properties > .btn-group {
		flex-wrap: nowrap !important;
	}
}

/* v0.5.30 manual-delivery luxury pass. */
.pa-source-subpage,
.pa-main {
	padding-top: clamp(92px, 8vw, 120px) !important;
}

.pa-home {
	padding-top: 0 !important;
}

.pa-source-hero {
	min-height: clamp(560px, 68vh, 660px) !important;
	padding-top: clamp(112px, 10vw, 150px) !important;
	padding-bottom: clamp(112px, 12vw, 152px) !important;
	border-radius: 0 0 24px 24px !important;
	background-position: center center !important;
}

.pa-source-hero-copy {
	max-width: 760px !important;
}

.pa-source-hero-title {
	font-size: clamp(48px, 6.4vw, 84px) !important;
}

.pa-source-hero-actions .pa-source-pill:first-child {
	border-color: var(--cyan) !important;
	background: transparent !important;
	color: #fff !important;
}

.pa-source-hero-actions .pa-source-pill:first-child:hover,
.pa-source-hero-actions .pa-source-pill:nth-child(2):hover {
	background: var(--cyan) !important;
	color: var(--ink) !important;
}

.pa-home-search-bar {
	margin-top: clamp(-118px, -8vw, -76px) !important;
}

.pa-home-search-shell {
	background:
		linear-gradient(135deg, rgba(216, 199, 173, .80), rgba(255, 253, 249, .86)),
		var(--sand) !important;
	border-color: rgba(255, 255, 255, .52) !important;
}

.pa-home-search-shell :is(form, .itb_search, .itb-search, [class*="search"]) {
	grid-template-columns: minmax(130px, .9fr) repeat(3, minmax(120px, 1fr)) minmax(104px, .72fr) minmax(118px, .74fr) !important;
}

.pa-home-search-shell .pa-search-field-country,
.pa-home-search-shell .pa-search-field-surface {
	display: none !important;
}

.pa-home-search-shell .pa-search-field-type label::after {
	content: "Type de bien";
	display: block;
	color: transparent;
	height: 0;
	overflow: hidden;
}

.pa-source-strip,
.pa-neighborhood-map-section,
.pa-source-team,
.pa-home-contact-section {
	scroll-margin-top: 110px;
}

.pa-neighborhood-map-section {
	padding-top: clamp(78px, 8vw, 118px) !important;
	padding-bottom: clamp(78px, 8vw, 118px) !important;
	background:
		linear-gradient(180deg, rgba(216, 199, 173, .42), rgba(247, 244, 239, .88)),
		var(--bg) !important;
}

.pa-neighborhood-list {
	grid-auto-rows: minmax(172px, auto) !important;
}

.pa-neighborhood-list a {
	min-height: 172px !important;
}

.pa-neighborhood-list a > span:first-child {
	max-width: 100%;
	overflow-wrap: anywhere;
	font-size: clamp(23px, 2vw, 32px) !important;
	line-height: 1 !important;
}

.pa-source-feature-property {
	background:
		linear-gradient(180deg, rgba(247, 244, 239, .70), rgba(216, 199, 173, .30)),
		var(--bg) !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active .item > a {
	position: relative !important;
	display: block !important;
	min-height: clamp(520px, 52vw, 680px) !important;
	border-radius: 22px !important;
	background: var(--ink) !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active img {
	display: block !important;
	width: 100% !important;
	height: clamp(520px, 52vw, 680px) !important;
	min-height: 0 !important;
	object-fit: cover !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active .legend {
	position: absolute !important;
	right: clamp(22px, 5vw, 72px) !important;
	bottom: clamp(22px, 5vw, 72px) !important;
	width: min(500px, calc(100% - 44px)) !important;
	min-height: 0 !important;
	padding: clamp(24px, 4vw, 46px) !important;
	border: 1px solid rgba(7, 30, 51, .12) !important;
	border-radius: 18px !important;
	background:
		linear-gradient(145deg, rgba(255, 253, 249, .95), rgba(216, 199, 173, .92)),
		var(--sand) !important;
	box-shadow: 0 28px 80px rgba(7, 30, 51, .22) !important;
}

.pa-single-itb-carousel .owl-item.is-pa-active .legend::before {
	content: "";
	width: 62px;
	height: 2px;
	background: var(--cyan);
}

.pa-single-itb-carousel .pa-card-district::before {
	content: "Bien à la une";
	display: block;
	margin-bottom: 10px;
	color: var(--ink);
	font-family: var(--font-display);
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.pa-single-itb-carousel .pa-card-title {
	font-size: clamp(32px, 4vw, 58px) !important;
}

.pa-single-itb-carousel .pa-card-cta {
	background: var(--ink) !important;
	color: #fff !important;
}

.pa-new-listings-shell .item > a,
.pa-itb-listing-shell .itb_properties_property,
.pa-itb-selection-page .itb_properties_property,
.pa-itb-results-page .itb_properties_property {
	background:
		linear-gradient(180deg, rgba(255, 253, 249, .92), rgba(247, 244, 239, .96)),
		var(--bg) !important;
}

.pa-new-listings-shell .pa-card-district,
.pa-itb-listing-shell .itb_properties_property_content p:first-child {
	color: var(--cyan) !important;
}

.pa-proof-grid article,
.pa-guide-item,
.pa-guide-section,
.pa-guide-step,
.pa-guide-callout {
	background:
		linear-gradient(145deg, rgba(255, 253, 249, .88), rgba(216, 199, 173, .42)),
		var(--bg) !important;
}

.pa-proof-grid {
	align-items: start;
}

@media (min-width: 900px) and (prefers-reduced-motion: no-preference) {
	.pa-proof-grid article,
	.pa-guides-list .pa-guide-item,
	.pa-neighborhood-list a {
		position: sticky;
		top: 112px;
		transition: transform .35s ease, box-shadow .35s ease;
	}

	.pa-proof-grid article:nth-child(2),
	.pa-guides-list .pa-guide-item:nth-child(2),
	.pa-neighborhood-list a:nth-child(2) {
		top: 128px;
	}

	.pa-proof-grid article:nth-child(3),
	.pa-guides-list .pa-guide-item:nth-child(3),
	.pa-neighborhood-list a:nth-child(3) {
		top: 144px;
	}

	.pa-proof-grid article:nth-child(4),
	.pa-guides-list .pa-guide-item:nth-child(4),
	.pa-neighborhood-list a:nth-child(4) {
		top: 160px;
	}
}

.pa-guides-page .pa-page-hero,
.pa-guide-page .pa-page-hero {
	padding-top: clamp(110px, 10vw, 150px) !important;
	background:
		linear-gradient(135deg, rgba(216, 199, 173, .72), rgba(247, 244, 239, .92)),
		var(--bg) !important;
}

.pa-guides-list,
.pa-guide-layout {
	width: min(100%, var(--source-max));
	margin: 0 auto;
}

.pa-guides-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	align-items: start;
}

.pa-guide-item,
.pa-guide-section,
.pa-guide-step,
.pa-guide-callout {
	border: 1px solid var(--line-warm);
	border-radius: 18px;
	box-shadow: 0 14px 38px rgba(7, 30, 51, .07);
}

.pa-guide-item {
	display: grid;
	gap: 18px;
	min-height: 270px;
	padding: 26px;
}

.pa-guide-item h2,
.pa-guide-section h2,
.pa-guide-step h3,
.pa-guide-callout h3 {
	color: var(--ink);
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
}

.pa-guide-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
	padding: clamp(54px, 7vw, 92px) var(--source-pad);
}

.pa-guide-nav {
	position: sticky;
	top: 112px;
	display: grid;
	gap: 8px;
	align-self: start;
	padding: 16px;
	border: 1px solid var(--line-warm);
	border-radius: 16px;
	background: rgba(216, 199, 173, .42);
}

.pa-guide-nav a {
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.pa-guide-content {
	display: grid;
	gap: 22px;
}

.pa-guide-section {
	padding: clamp(24px, 4vw, 42px);
}

.pa-guide-section p,
.pa-guide-section li,
.pa-guide-callout li,
.pa-guide-step p {
	color: var(--ink-2);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.7;
}

.pa-guide-steps {
	display: grid;
	gap: 16px;
	counter-reset: guide-step;
}

.pa-guide-step {
	position: relative;
	padding: 24px 24px 24px 72px;
	counter-increment: guide-step;
}

.pa-guide-step::before {
	content: counter(guide-step, decimal-leading-zero);
	position: absolute;
	top: 24px;
	left: 24px;
	color: var(--cyan);
	font-family: var(--font-mono);
	font-size: 13px;
	font-weight: 800;
}

.pa-guide-callout {
	padding: 24px;
	border-color: rgba(28, 169, 201, .32);
}

.pa-guide-final-cta {
	padding: clamp(30px, 5vw, 54px);
	border-radius: 20px;
	background: var(--ink);
	color: #fff;
}

.pa-guide-final-cta h2,
.pa-guide-final-cta p {
	color: #fff !important;
}

.pa-concierge-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

.pa-home-contact-section .pa-source-pill {
	border-color: rgba(255, 255, 255, .32) !important;
}

.pa-home-contact-section .pa-source-pill.is-active {
	background: #fff !important;
	color: var(--ink) !important;
}

[data-theme="dark"] .pa-home-search-shell,
[data-theme="dark"] .pa-guide-item,
[data-theme="dark"] .pa-guide-section,
[data-theme="dark"] .pa-guide-step,
[data-theme="dark"] .pa-guide-callout,
[data-theme="dark"] .pa-proof-grid article:not(:nth-child(2)) {
	background: #0e2a43 !important;
}

@media (max-width: 1180px) {
	.pa-home-search-shell :is(form, .itb_search, .itb-search, [class*="search"]) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pa-guides-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.pa-source-subpage,
	.pa-main {
		padding-top: 100px !important;
	}

	.pa-guide-layout {
		grid-template-columns: 1fr;
	}

	.pa-guide-nav {
		position: relative;
		top: auto;
	}

	.pa-single-itb-carousel .owl-item.is-pa-active .legend {
		position: relative !important;
		right: auto !important;
		bottom: auto !important;
		width: 100% !important;
		border-radius: 0 0 18px 18px !important;
	}

	.pa-single-itb-carousel .owl-item.is-pa-active img {
		height: 360px !important;
	}
}

@media (max-width: 700px) {
	.pa-source-hero {
		min-height: 610px !important;
		padding-top: 132px !important;
		padding-bottom: 120px !important;
	}

	.pa-home-search-shell :is(form, .itb_search, .itb-search, [class*="search"]),
	.pa-guides-list {
		grid-template-columns: 1fr !important;
	}

	.pa-concierge-actions {
		justify-content: flex-start;
	}

	.pa-guide-step {
		padding: 60px 20px 22px;
	}

	.pa-neighborhood-list a > span:first-child {
		font-size: clamp(24px, 9vw, 32px) !important;
	}
}

/* === v0.5.31 stabilisation === */

/* Bug 16 — card border-radius for new-listings carousel cards */
.pa-new-listings-shell .itb_properties_property {
    border-radius: 16px !important;
}

/* Bug 17 — suppress oversized Owl nav arrows */
.pa-feature-property-shell .owl-nav,
.pa-new-listings-shell .owl-nav,
.pa-itb-listing-shell .owl-nav,
.pa-itb-results-page .owl-nav,
.pa-itb-selection-page .owl-nav {
    display: none !important;
}

/* Bug 17 — cap FontAwesome icon sizes in ITB output */
.pa-itb-listing-shell i[class*="fa"],
.pa-new-listings-shell i[class*="fa"],
.pa-itb-results-page i[class*="fa"],
.pa-itb-selection-page i[class*="fa"] {
    font-size: 13px !important;
}

/* Bug 17 — cap SVG sizes in ITB output */
.pa-itb-listing-shell svg,
.pa-new-listings-shell svg,
.pa-itb-results-page svg,
.pa-itb-selection-page svg,
.pa-itb-detail-shell svg {
    max-width: 20px !important;
    max-height: 20px !important;
}


/* === v0.5.31 stabilisation === */

/* Bug 16 — border-radius for new-listings native property cards */
.pa-new-listings-shell .itb_properties_property {
    border-radius: 16px !important;
    overflow: hidden !important;
}

/* Bug 17 — hide Owl nav arrows (oversized) */
.pa-feature-property-shell .owl-nav,
.pa-new-listings-shell .owl-nav,
.pa-itb-listing-shell .owl-nav,
.pa-itb-results-page .owl-nav,
.pa-itb-selection-page .owl-nav {
    display: none !important;
}

/* Bug 17 — cap Font Awesome icon sizes in listing areas */
.pa-itb-listing-shell i[class*="fa"],
.pa-new-listings-shell i[class*="fa"],
.pa-itb-results-page i[class*="fa"],
.pa-itb-selection-page i[class*="fa"] {
    font-size: 13px !important;
}

/* Bug 17 — cap SVG icon sizes in ITB output */
.pa-itb-listing-shell svg,
.pa-new-listings-shell svg,
.pa-itb-results-page svg,
.pa-itb-selection-page svg,
.pa-itb-detail-shell svg,
.itb_search svg,
.itb-search svg {
    max-width: 20px !important;
    max-height: 20px !important;
}

/* Bug 1 — CSS fallback: show first real item before JS carousel fires */
.pa-single-itb-carousel:not([data-pa-carousel-ready="1"]) .owl-item:not(.cloned):first-child {
    display: block !important;
}

/* Bug 1 — is-pa-duplicate suppression (pure class, no inline style) */
.is-pa-duplicate {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* === v0.5.32 hero + search-in-hero + selection fixes === */

.pa-source-hero {
    min-height: clamp(560px, 65vh, 700px) !important;
    padding-top: clamp(72px, 6vw, 96px) !important;
    padding-bottom: clamp(64px, 7vw, 96px) !important;
}

.pa-hero-search-shell {
    margin-top: clamp(24px, 3vw, 40px);
    padding: clamp(16px, 2vw, 24px);
    background: linear-gradient(135deg, rgba(216,199,173,.80), rgba(255,253,249,.86));
    border: 1px solid rgba(255,255,255,.52);
    border-radius: 18px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 40px rgba(7,30,51,.28);
    width: min(100%, 1100px);
}

.pa-hero-search-shell form,
.pa-hero-search-shell .itb_search,
.pa-hero-search-shell .itb-search {
    display: grid !important;
    grid-template-columns: minmax(130px,.9fr) repeat(3,minmax(120px,1fr)) minmax(104px,.72fr) minmax(118px,.74fr) !important;
    gap: 10px !important;
    align-items: flex-end !important;
}

.pa-hero-search-shell label,
.pa-hero-search-shell legend {
    margin: 0 0 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    color: #0f1f11 !important;
}

.pa-hero-search-shell input:not([type=submit]),
.pa-hero-search-shell select,
.pa-hero-search-shell textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 14px !important;
    border: 1.5px solid rgba(7,30,51,.18) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0f1f11 !important;
    font-size: 14px !important;
}

.pa-hero-search-shell button,
.pa-hero-search-shell input[type=submit] {
    width: 100% !important;
    padding: 11px 18px !important;
    background: #1ca9c9 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    transition: background .18s !important;
}
.pa-hero-search-shell button:hover,
.pa-hero-search-shell input[type=submit]:hover {
    background: #0f1f11 !important;
}

@media (max-width: 1180px) {
    .pa-hero-search-shell form,
    .pa-hero-search-shell .itb_search,
    .pa-hero-search-shell .itb-search {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 700px) {
    .pa-hero-search-shell form,
    .pa-hero-search-shell .itb_search,
    .pa-hero-search-shell .itb-search {
        grid-template-columns: 1fr !important;
    }
    .pa-source-hero {
        padding-top: 88px !important;
        padding-bottom: 48px !important;
    }
}

.pa-home-search-bar {
    display: none !important;
}

.pa-itb-selection-page .pa-page-header {
    padding: clamp(80px, 8vw, 120px) 0 32px !important;
    text-align: left !important;
}
.pa-itb-selection-page .pa-h1 {
    text-align: left !important;
    margin: 0 !important;
}