/* Canvas: Maison Aurelia */

@layer custom {
:root {
	--cnvs-themecolor: #C8A96A;
	--cnvs-themecolor-rgb: 200, 169, 106;

	--c-ground: #14161A;
	--c-ground-2: #1C1F24;
	--c-ink: #F2EDE4;
	--c-muted: #A29C90;
	--c-accent: #C8A96A;
	--c-accent-deep: #9A7E45;
	--c-line: rgba(200, 169, 106, 0.26);
	--c-line-soft: rgba(242, 237, 228, 0.14);
	--c-ink-soft: rgba(242, 237, 228, 0.86);
	--c-ink-dim: rgba(242, 237, 228, 0.68);

	--cnvs-body-font: "Karla", "Helvetica Neue", Arial, sans-serif;
	--cnvs-primary-font: "Bodoni Moda", "Times New Roman", serif;
	--cnvs-secondary-font: "Bodoni Moda", "Times New Roman", serif;
	--font-display: var(--cnvs-primary-font);
	--font-text: var(--cnvs-body-font);

	--fs-display: 7.5rem;
	--fs-h1: 4.25rem;
	--fs-h2: 3rem;
	--fs-h3: 1.75rem;
	--fs-lead: 1.25rem;
	--fs-body: 1.0625rem;
	--fs-small: 0.9375rem;
	--fs-label: 0.75rem;

	--space-1: 4px;
	--space-2: 8px;
	--space-3: 14px;
	--space-4: 24px;
	--space-5: 40px;
	--space-6: 64px;
	--space-7: 104px;
	--space-8: 150px;
	--band: 104px;
	--band-compact: 56px;
	--gutter: 32px;

	--radius-s: 0px;

	--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
}

body {
	background-color: var(--c-ground);
	color: var(--c-ink);
	font-family: var(--font-text);
	font-size: var(--fs-body);
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
}

body,
h1, h2, h3, h4, h5, h6,
p, ul, ol, li, figure, blockquote {
	margin: 0;
	padding: 0;
}

h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 400;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	text-wrap: balance;
}

p { text-wrap: pretty; }

a {
	color: var(--c-ink);
	transition: color 200ms var(--ease-out);
}
a:hover { color: var(--c-accent); }

img { max-width: 100%; height: auto; }

::selection {
	background: rgba(var(--cnvs-themecolor-rgb), 0.32);
	color: var(--c-ink);
}

:focus-visible {
	outline: 2px solid var(--c-accent);
	outline-offset: 3px;
}

.visually-hidden-focusable:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	padding: var(--space-2) var(--space-4);
	background: var(--c-ground-2);
	border: 1px solid var(--c-accent);
	color: var(--c-ink);
}

.au-label {
	display: block;
	font-family: var(--font-text);
	font-size: var(--fs-label);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--c-accent);
}

.au-h2 {
	font-size: var(--fs-h2);
	line-height: 1.14;
	margin-top: var(--space-4);
	margin-bottom: var(--space-5);
}
.au-h2-center { text-align: center; }

.au-lead {
	font-family: var(--font-text);
	font-size: var(--fs-lead);
	font-weight: 300;
	line-height: 1.6;
	color: var(--c-ink-soft);
	max-width: 52ch;
}
.au-lead-center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.au-body {
	font-size: var(--fs-body);
	color: var(--c-ink-soft);
	max-width: 62ch;
}
.au-body-spaced { margin-top: var(--space-4); }

.au-small {
	font-size: var(--fs-small);
	color: var(--c-muted);
}

.au-signature {
	font-family: var(--font-display);
	font-style: italic;
	font-size: var(--fs-h3);
	line-height: 1.3;
	color: var(--c-accent);
	margin-top: var(--space-5);
}
.au-signature-left { text-align: left; }

.au-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--fs-small);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--c-ink);
	border-bottom: 1px solid var(--c-line);
	padding-bottom: var(--space-1);
	text-decoration: none;
	transition: color 200ms var(--ease-out), border-color 200ms var(--ease-out);
}
.au-link-arrow i {
	font-size: 0.9em;
	transition: transform 200ms var(--ease-out);
}
.au-link-arrow:hover {
	color: var(--c-accent);
	border-color: var(--c-accent);
}
@media (hover: hover) and (pointer: fine) {
	.au-link-arrow:hover i { transform: translateX(6px); }
}

.au-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: var(--space-3) var(--space-5);
	border: 1px solid var(--c-accent);
	border-radius: var(--radius-s);
	background: transparent;
	color: var(--c-accent);
	font-family: var(--font-text);
	font-size: var(--fs-small);
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), transform 160ms var(--ease-out);
}
.au-btn:hover {
	background: var(--c-accent);
	color: var(--c-ground);
}
.au-btn:active { transform: scale(0.97); }

.au-btn-sm {
	min-height: 40px;
	padding: var(--space-2) var(--space-4);
	font-size: 0.8125rem;
}

.au-btn-lg {
	min-height: 52px;
	padding: var(--space-3) var(--space-6);
	font-size: var(--fs-small);
}

.au-btn-solid {
	background-color: var(--c-accent);
	border-color: var(--c-accent);
	color: var(--c-ground);
}
.au-btn-solid:hover {
	background-color: transparent;
	color: var(--c-accent);
}

#header .header-row {
	align-items: center;
}
#header-wrap {
	background-color: transparent;
}

#header:not(.transparent-header) #header-wrap,
#header:not(.transparent-header) {
	background-color: var(--c-ground);
}
#header:not(.transparent-header) .header-row {
	border-bottom: 1px solid var(--c-line);
}
#header .header-misc .au-btn {
	border-color: var(--c-accent);
	color: var(--c-accent);
}
#header .header-misc .au-btn:hover {
	background: var(--c-accent);
	color: var(--c-ground);
}

@media (min-width: 992px) {
	#header .header-row {
		flex-wrap: nowrap;
	}
	#header .primary-menu .menu-container {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: var(--space-5);
	}
	#header .primary-menu .cnvs-menu-item {
		padding: 0;
	}
	#header .primary-menu .cnvs-menu-link {
		font-family: var(--font-text);
		font-size: 0.8125rem;
		font-weight: 500;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--c-ink);
		padding: var(--space-2) 0;
		border-bottom: 1px solid transparent;
	}
	#header .primary-menu .cnvs-menu-link:hover,
	#header .primary-menu .cnvs-menu-item.current .cnvs-menu-link {
		color: var(--c-accent);
		border-bottom-color: var(--c-accent);
	}
	#header .header-misc {
		margin-left: auto;
		margin-right: var(--space-5);
	}
	#header #logo {
		order: -1;
	}
}

#header.sticky-header #header-wrap,
#header.sticky-header {
	background-color: var(--c-ground);
}
#header.sticky-header .header-row {
	border-bottom: 1px solid var(--c-line);
}

@media (max-width: 991px) {
	#header-wrap {
		background-color: var(--c-ground);
	}
	#header .header-misc {
		margin-left: auto;
		margin-right: var(--space-3);
	}
}

.au-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	background-color: var(--c-ground);
}

.au-hero-media {
	position: absolute;
	inset: 0;
	background-image: url("images/luxury-property-01.webp");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.au-hero-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 22, 26, 0.93) 0%, rgba(20, 22, 26, 0.82) 38%, rgba(20, 22, 26, 0.25) 72%, rgba(20, 22, 26, 0.1) 100%);
}

.au-hero-rule {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--c-line);
}

.au-hero .container {
	position: relative;
	z-index: 2;
}

.au-hero-panel {
	max-width: 720px;
	padding: var(--space-7) 0 var(--space-8) var(--space-6);
	container-type: inline-size;
}

.au-hero-title {
	font-family: var(--font-display);
	font-size: clamp(3.1rem, 12cqi, 7.5rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: -0.02em;
	color: var(--c-ink);
	margin-top: var(--space-5);
	margin-bottom: var(--space-4);
	text-wrap: balance;
}

.au-hero-lead {
	font-family: var(--font-text);
	font-size: var(--fs-lead);
	font-weight: 300;
	line-height: 1.6;
	color: var(--c-ink-soft);
	max-width: 46ch;
	margin-bottom: var(--space-5);
}

.au-hero-mark {
	display: block;
	margin-top: var(--space-4);
	padding-top: var(--space-4);
	border-top: 1px solid var(--c-line);
	max-width: 240px;
	font-size: var(--fs-small);
	color: var(--c-muted);
}

@media (min-width: 992px) {
	.is-expanded-menu .au-hero-panel {
		padding-top: calc(var(--cnvs-header-height, 90px) + var(--space-6));
	}
}

.au-band {
	padding: var(--band) 0;
	background-color: var(--c-ground);
	position: relative;
}
.au-band-alt { background-color: var(--c-ground-2); }
.au-band-flush { padding-top: 0; }

.au-band-statement .au-statement {
	font-family: var(--font-text);
	font-size: var(--fs-lead);
	font-weight: 300;
	line-height: 1.6;
	color: var(--c-ink-soft);
	text-align: center;
	max-width: 62ch;
	margin: 0 auto;
}

.au-principles {
	list-style: none;
	border-top: 1px solid var(--c-line-soft);
}
.au-principles li {
	display: block;
	padding: var(--space-5) 0;
	border-bottom: 1px solid var(--c-line-soft);
}
.au-principle-title {
	display: block;
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	line-height: 1.28;
	color: var(--c-ink);
	margin-bottom: var(--space-3);
}
.au-principle-body {
	display: block;
	font-size: var(--fs-body);
	color: var(--c-ink-soft);
	max-width: 62ch;
}

.au-card {
	border-top: 1px solid var(--c-line-soft);
	padding-top: var(--space-4);
	margin-bottom: var(--space-6);
}

.au-card-media {
	position: relative;
	display: block;
	overflow: hidden;
	border: 1px solid var(--c-line-soft);
}
.au-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 400ms var(--ease-out), transform 600ms var(--ease-in-out);
}
.au-card-tall .au-card-media {
	aspect-ratio: 4 / 5;
}
.au-card-media-wide {
	aspect-ratio: 3 / 2;
}

.au-card-flag {
	position: absolute;
	left: var(--space-4);
	bottom: var(--space-4);
	background: rgba(20, 22, 26, 0.86);
	border: 1px solid var(--c-line);
	color: var(--c-accent);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: var(--space-2) var(--space-3);
}

.au-card-body { padding-top: var(--space-3); }

.au-card-title {
	font-size: var(--fs-h3);
	line-height: 1.28;
	margin-bottom: var(--space-2);
}
.au-card-title a { text-decoration: none; }

.au-card-meta {
	font-size: var(--fs-small);
	color: var(--c-muted);
	margin-bottom: var(--space-3);
}

.au-card-detail {
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
	max-width: 46ch;
	margin-bottom: var(--space-4);
}

.au-card-foot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	flex-wrap: wrap;
	padding-top: var(--space-3);
	border-top: 1px solid var(--c-line-soft);
}

.au-price {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
}

.au-feature-side .au-card:last-child { margin-bottom: 0; }

.au-feature-grid {
	align-items: flex-start;
}
.au-feature-grid > [class*="col-"] { display: flex; }
.au-feature-grid > [class*="col-"] > .au-card,
.au-feature-grid > [class*="col-"] > .au-feature-side {
	width: 100%;
}
.au-feature-grid .au-card-tall { height: 100%; }

@media (hover: hover) and (pointer: fine) {
	.au-card-media:hover img { transform: scale(1.03); }
	.au-card-media:hover { border-color: var(--c-line); }
}

.au-figures {
	border-top: 1px solid var(--c-line-soft);
	margin-top: var(--space-5);
}

.au-figure {
	padding: var(--space-5) var(--space-4) var(--space-5) 0;
	border-bottom: 1px solid var(--c-line-soft);
}
.au-figure-value {
	display: block;
	font-family: var(--font-display);
	font-size: 3.5rem;
	line-height: 1;
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
	margin-bottom: var(--space-3);
}
.au-figure-label {
	display: block;
	font-size: var(--fs-small);
	color: var(--c-muted);
}

.au-record-table {
	margin-top: var(--space-7);
	border-top: 1px solid var(--c-line-soft);
	padding-top: var(--space-5);
}

.au-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--fs-small);
}
.au-table-caption {
	caption-side: top;
	text-align: left;
	font-family: var(--font-text);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--c-accent);
	padding-bottom: var(--space-4);
}
.au-table thead th {
	font-family: var(--font-text);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-muted);
	text-align: left;
	padding: var(--space-3) var(--space-3) var(--space-3) 0;
	border-bottom: 1px solid var(--c-line-soft);
}
.au-table tbody td {
	padding: var(--space-3) var(--space-3) var(--space-3) 0;
	border-bottom: 1px solid var(--c-line-soft);
	color: var(--c-ink-soft);
}
.au-table tbody tr td:first-child { color: var(--c-ink); }
.au-table-num { text-align: right; font-variant-numeric: tabular-nums; }

.au-record-note {
	font-size: var(--fs-small);
	color: var(--c-muted);
	max-width: 42ch;
	margin-top: var(--space-5);
	margin-bottom: var(--space-4);
}

.au-private-note {
	font-size: var(--fs-small);
	color: var(--c-muted);
	max-width: 38ch;
	padding-top: var(--space-4);
	border-top: 1px solid var(--c-line);
	margin-top: var(--space-5);
}

.au-acc {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: var(--gutter);
	align-items: start;
}

.au-acc-media {
	position: relative;
	transform: translateY(calc(-1 * var(--space-7)));
}

.au-acc-figure {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0.4;
	filter: saturate(0.7);
	transition: opacity 500ms var(--ease-out), filter 500ms var(--ease-out);
	pointer-events: none;
}
.au-acc-figure.is-focus {
	opacity: 1;
	filter: none;
	pointer-events: auto;
}
.au-acc-figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid var(--c-line-soft);
}

.au-acc-media::before {
	content: "";
	display: block;
	aspect-ratio: 4 / 5;
}

.au-acc-list {
	border-top: 1px solid var(--c-line-soft);
}

.au-acc-item {
	border-bottom: 1px solid var(--c-line-soft);
}

.au-acc-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	width: 100%;
	padding: var(--space-5) 0;
	background: none;
	border: 0;
	color: var(--c-ink);
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	font-weight: 400;
	line-height: 1.28;
	text-align: left;
	cursor: pointer;
	transition: color 200ms var(--ease-out);
}
.au-acc-trigger:hover { color: var(--c-accent); }
.au-acc-trigger i {
	flex: 0 0 auto;
	font-size: 0.8em;
	color: var(--c-accent);
	transition: transform 250ms var(--ease-out);
}
.au-acc-trigger i.is-minus { transform: rotate(135deg); }

.au-acc-body {
	display: none;
	padding-bottom: var(--space-5);
}
.au-acc-item.is-open .au-acc-body { display: block; }
.au-acc-body p {
	font-size: var(--fs-body);
	color: var(--c-ink-soft);
	max-width: 58ch;
	margin-bottom: var(--space-4);
}

.au-ticks {
	list-style: none;
}
.au-ticks li {
	position: relative;
	padding-left: var(--space-5);
	font-size: var(--fs-small);
	color: var(--c-muted);
	padding-bottom: var(--space-2);
}
.au-ticks li::before {
	content: "\F26E";
	font-family: "bootstrap-icons";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--c-accent);
	font-size: 0.95em;
}

.au-band-journal {
	padding-top: var(--band-compact);
	overflow: visible;
}

.au-swap {
	position: relative;
	margin-top: calc(-1 * var(--space-7));
}

.au-swap-figure {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 500ms var(--ease-out);
	pointer-events: none;
}
.au-swap-figure.is-active {
	opacity: 1;
	pointer-events: auto;
}
.au-swap-figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 1px solid var(--c-line-soft);
}

.au-swap::before {
	content: "";
	display: block;
	aspect-ratio: 4 / 5;
}

.au-journal {
	list-style: none;
	border-top: 1px solid var(--c-line-soft);
	margin-top: var(--space-6);
}
.au-journal li {
	border-bottom: 1px solid var(--c-line-soft);
}
.au-journal a {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	padding: var(--space-5) 0;
	text-decoration: none;
	transition: color 200ms var(--ease-out);
}
.au-journal-title {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	line-height: 1.28;
	color: var(--c-ink);
	transition: color 200ms var(--ease-out);
}
.au-journal-meta {
	font-size: var(--fs-small);
	color: var(--c-muted);
}
.au-journal a:hover .au-journal-title { color: var(--c-accent); }

.au-band-call {
	background-color: var(--c-ground-2);
	border-top: 1px solid var(--c-line);
	border-bottom: 1px solid var(--c-line);
}
.au-band-call .au-h2 { margin-bottom: var(--space-4); }
.au-call-action {
	margin-top: var(--space-5);
	text-align: center;
}

#footer {
	--cnvs-footer-bg: #14161A;
	background-color: #14161A;
	padding-top: var(--space-7);
}
#footer .footer-widgets-wrap a { color: var(--c-ink-soft); }
#footer .footer-widgets-wrap a:hover { color: var(--c-accent); }

.au-wordmark-row {
	border-top: 1px solid var(--c-line);
	padding-top: var(--space-5);
	margin-bottom: var(--space-7);
}
.au-wordmark {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(2.6rem, 7.2vw, 7.5rem);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: 0.06em;
	color: var(--c-ink);
	white-space: normal;
	overflow-wrap: break-word;
}

.au-footer-cols {
	padding-bottom: var(--space-7);
}
.au-footer-cols .widget {
	padding-bottom: var(--space-4);
}
.au-footer-title {
	font-family: var(--font-text);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--c-accent);
	margin-bottom: var(--space-3);
}
.au-footer-text {
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
	margin-bottom: var(--space-3);
}
.au-footer-links ul {
	list-style: none;
}
.au-footer-links li {
	padding-bottom: var(--space-2);
}
.au-footer-links a {
	text-decoration: none;
	font-size: var(--fs-small);
}

.au-seal-wrap { text-align: left; }
.au-seal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	border: 1px solid var(--c-line);
	border-radius: 50%;
}
.au-seal-inner {
	font-family: var(--font-text);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.8;
	text-align: center;
	color: var(--c-accent);
}

#copyrights {
	border-top: 1px solid var(--c-line-soft);
	padding: var(--band-compact) 0;
}
.au-copyright-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	flex-wrap: wrap;
	font-size: var(--fs-small);
	color: var(--c-ink-dim);
}
.au-copyright-row a {
	color: var(--c-accent);
	text-decoration: none;
}
.au-copyright-row a:hover { color: var(--c-ink); }

.au-page-title {
	padding: calc(var(--space-7) + var(--space-6)) 0 var(--space-7);
	border-bottom: 1px solid var(--c-line);
	background-color: var(--c-ground);
}
.au-page-title h1 {
	font-size: var(--fs-h1);
	line-height: 1.06;
	margin-top: var(--space-4);
}
.au-page-title p {
	font-size: var(--fs-lead);
	font-weight: 300;
	color: var(--c-ink-soft);
	max-width: 58ch;
	margin-top: var(--space-4);
}

.au-filters {
	display: grid;
	grid-template-columns: repeat(4, 1fr) auto;
	gap: var(--gutter);
	align-items: end;
	padding: var(--space-6) 0;
	border-bottom: 1px solid var(--c-line-soft);
}
.au-filter label {
	display: block;
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--c-accent);
	margin-bottom: var(--space-2);
}
.au-filter select {
	width: 100%;
	height: 48px;
	padding: 0 var(--space-3);
	background-color: transparent;
	background-image: none;
	border: 1px solid var(--c-line-soft);
	border-radius: var(--radius-s);
	color: var(--c-ink);
	font-family: var(--font-text);
	font-size: var(--fs-small);
	appearance: none;
	cursor: pointer;
}
.au-filter select:focus {
	border-color: var(--c-accent);
	outline: none;
}
.au-filter select option {
	background-color: var(--c-ground-2);
	color: var(--c-ink);
}
.au-filter-count {
	font-size: var(--fs-small);
	color: var(--c-muted);
	white-space: nowrap;
}
.au-filter-count strong {
	color: var(--c-ink);
	font-weight: 500;
}
.au-filter-clear {
	display: block;
	font-size: var(--fs-small);
	color: var(--c-muted);
	text-decoration: none;
	border-bottom: 1px solid var(--c-line-soft);
	padding-bottom: var(--space-1);
	margin-top: var(--space-3);
}
.au-filter-clear:hover { color: var(--c-accent); }

.au-listing-grid {
	margin-top: var(--space-6);
}
.au-listing {
	border-top: 1px solid var(--c-line-soft);
	padding-top: var(--space-4);
	margin-bottom: var(--space-7);
}
.au-listing-media {
	display: block;
	position: relative;
	overflow: hidden;
	border: 1px solid var(--c-line-soft);
	aspect-ratio: 4 / 5;
	margin-bottom: var(--space-4);
}
.au-listing-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms var(--ease-in-out);
}
@media (hover: hover) and (pointer: fine) {
	.au-listing:hover .au-listing-media img { transform: scale(1.03); }
}
.au-listing-flag {
	position: absolute;
	left: var(--space-3);
	top: var(--space-3);
	background: rgba(20, 22, 26, 0.86);
	border: 1px solid var(--c-line);
	color: var(--c-accent);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: var(--space-1) var(--space-3);
}
.au-listing-name {
	font-size: var(--fs-h3);
	line-height: 1.28;
	margin-bottom: var(--space-1);
}
.au-listing-name a { text-decoration: none; }
.au-listing-suburb {
	font-size: var(--fs-small);
	color: var(--c-muted);
	margin-bottom: var(--space-4);
}
.au-listing-facts {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--space-2) var(--space-4);
	padding-top: var(--space-3);
	border-top: 1px solid var(--c-line-soft);
	font-size: var(--fs-small);
	color: var(--c-muted);
}
.au-listing-facts .au-fact-price {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
	text-align: right;
}
.au-listing-facts .au-fact-area { text-align: right; }
.au-listing.is-hidden { display: none; }

.au-gallery {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--space-3);
	padding-top: var(--band-compact);
}
.au-gallery-main {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid var(--c-line-soft);
}
.au-gallery-main img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 180ms var(--ease-out);
}
.au-gallery-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-3);
	margin: 0;
	padding: var(--space-6) var(--space-4) var(--space-3);
	background: linear-gradient(to top, rgba(20, 22, 26, 0.88), rgba(20, 22, 26, 0));
	color: var(--c-ink);
	font-size: var(--fs-small);
	letter-spacing: 0.02em;
}
.au-gallery-caption span:last-child {
	color: var(--c-accent);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.au-gallery-side {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-3);
}
.au-gallery-thumb:first-child {
	grid-column: 1 / -1;
	aspect-ratio: 2 / 1;
}
.au-gallery-thumb:not(:first-child) {
	aspect-ratio: 1 / 1;
}
.au-gallery-thumb {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--c-line-soft);
	background: none;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 220ms var(--ease-out), opacity 220ms var(--ease-out);
}
.au-gallery-thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.au-gallery-thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	border: 1px solid transparent;
	transition: border-color 220ms var(--ease-out);
}
.au-gallery-thumb.is-active::after {
	border-color: var(--c-accent);
}
.au-gallery-thumb:focus-visible {
	outline: 1px solid var(--c-accent);
	outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) {
	.au-gallery-thumb:hover { opacity: 0.82; }
	.au-gallery-thumb:hover::after { border-color: rgba(200, 169, 106, 0.6); }
}

.au-fact-band {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gutter);
	padding: var(--space-6) 0;
	border-top: 1px solid var(--c-line-soft);
	border-bottom: 1px solid var(--c-line-soft);
	margin-top: var(--space-6);
}
.au-fact-band div span:first-child {
	display: block;
	font-family: var(--font-display);
	font-size: 2rem;
	color: var(--c-ink);
	font-variant-numeric: tabular-nums;
}
.au-fact-band div span:last-child {
	display: block;
	font-size: var(--fs-small);
	color: var(--c-muted);
}

.au-prop-title {
	padding: var(--space-7) 0 0;
}
.au-prop-title h1 {
	font-size: var(--fs-h1);
	line-height: 1.06;
}
.au-prop-address {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	font-size: var(--fs-lead);
	font-weight: 300;
	color: var(--c-ink-soft);
	margin-top: var(--space-3);
}
.au-prop-address i { color: var(--c-accent); font-size: 0.85em; }
.au-prop-desc {
	font-size: var(--fs-body);
	color: var(--c-ink-soft);
	max-width: 62ch;
	margin-top: var(--space-5);
}

.au-tabs { margin-top: var(--space-6); }
.au-tabs ul.tabs {
	list-style: none;
	display: flex;
	gap: var(--space-6);
	border-bottom: 1px solid var(--c-line-soft);
}
.au-tabs ul.tabs li a {
	display: inline-block;
	padding: var(--space-3) 0 var(--space-4);
	font-family: var(--font-text);
	font-size: var(--fs-small);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-muted);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	margin-bottom: -1px;
	transition: color 200ms var(--ease-out), border-color 200ms var(--ease-out);
}
.au-tabs ul.tabs li a:hover { color: var(--c-ink); }
.au-tabs ul.tabs li.ui-tabs-active a {
	color: var(--c-accent);
	border-bottom-color: var(--c-accent);
}
.au-tab-panel {
	display: none;
	padding-top: var(--space-6);
}
.au-tab-panel.ui-tabs-panel { display: block; }

.au-floorplan {
	display: grid;
	grid-template-columns: 7fr 5fr;
	gap: var(--gutter);
	align-items: start;
}
.au-floorplan figure {
	margin: 0;
	border: 1px solid var(--c-line-soft);
	overflow: hidden;
	background-color: #EFEAE1;
}
.au-floorplan img {
	display: block;
	width: 100%;
	height: auto;
}
.au-rooms {
	list-style: none;
	border-top: 1px solid var(--c-line-soft);
}
.au-rooms li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--c-line-soft);
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
}
.au-rooms li span:last-child {
	font-variant-numeric: tabular-nums;
	color: var(--c-muted);
}
.au-rooms-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4) 0 0;
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	color: var(--c-ink);
}
.au-rooms-total span:last-child { font-variant-numeric: tabular-nums; }

.au-feature-list {
	list-style: none;
	columns: 2;
	column-gap: var(--gutter);
	border-top: 1px solid var(--c-line-soft);
	margin-top: var(--space-6);
}
.au-feature-list li {
	position: relative;
	padding: var(--space-4) 0 var(--space-4) var(--space-5);
	border-bottom: 1px solid var(--c-line-soft);
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
	break-inside: avoid;
}
.au-feature-list li::before {
	content: "\F26E";
	font-family: "bootstrap-icons";
	position: absolute;
	left: 0;
	top: var(--space-4);
	color: var(--c-accent);
	font-size: 0.95em;
}

.au-hood {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: var(--gutter);
	align-items: start;
}
.au-hood figure {
	margin: 0;
	border: 1px solid var(--c-line-soft);
	overflow: hidden;
}
.au-hood img {
	display: block;
	width: 100%;
	height: auto;
}
.au-hood-caption {
	display: block;
	padding-top: var(--space-3);
	font-size: var(--fs-small);
	color: var(--c-muted);
}
.au-hood-list {
	list-style: none;
	border-top: 1px solid var(--c-line-soft);
	margin-top: var(--space-5);
}
.au-hood-list li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--c-line-soft);
	font-size: var(--fs-small);
}
.au-hood-list li span:first-child { color: var(--c-muted); }
.au-hood-list li span:last-child { color: var(--c-ink-soft); text-align: right; }

.au-story {
	display: grid;
	grid-template-columns: 4fr 8fr;
	gap: var(--gutter);
	align-items: start;
}
.au-story-body p {
	font-size: var(--fs-body);
	color: var(--c-ink-soft);
	max-width: 62ch;
	margin-bottom: var(--space-4);
}

.au-band-photo {
	position: relative;
	padding: var(--space-8) 0;
	overflow: hidden;
}
.au-band-photo-media {
	position: absolute;
	inset: 0;
	background-image: url("images/luxury-property-11.webp");
	background-size: cover;
	background-position: center;
}
.au-band-photo-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 22, 26, 0.92) 0%, rgba(20, 22, 26, 0.72) 55%, rgba(20, 22, 26, 0.35) 100%);
}
.au-band-photo .container {
	position: relative;
	z-index: 2;
}
.au-band-photo p {
	font-family: var(--font-display);
	font-size: 2.25rem;
	line-height: 1.24;
	color: var(--c-ink);
	max-width: 22ch;
}

.au-team {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gutter);
	margin-top: var(--space-6);
}
.au-person {
	border-top: 1px solid var(--c-line-soft);
	padding-top: var(--space-4);
}
.au-person figure {
	margin: 0 0 var(--space-4);
	border: 1px solid var(--c-line-soft);
	overflow: hidden;
	aspect-ratio: 4 / 5;
}
.au-person img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.au-person-name {
	font-size: var(--fs-h3);
	line-height: 1.28;
	margin-bottom: var(--space-1);
}
.au-person-role {
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--c-accent);
	margin-bottom: var(--space-3);
}
.au-person-bio {
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
	margin-bottom: var(--space-3);
}
.au-person-line a {
	font-size: var(--fs-small);
	color: var(--c-muted);
	text-decoration: none;
}
.au-person-line a:hover { color: var(--c-accent); }

.au-practice {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--gutter);
	margin-top: var(--space-6);
	border-top: 1px solid var(--c-line-soft);
}
.au-practice div {
	padding: var(--space-5) 0;
	border-bottom: 1px solid var(--c-line-soft);
}
.au-practice :is(h3, h4) {
	font-family: var(--font-text);
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--c-accent);
	margin-bottom: var(--space-3);
}
.au-practice p {
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
}

.au-contact {
	display: grid;
	grid-template-columns: 5fr 7fr;
	gap: var(--space-7);
	align-items: start;
}

.au-contact > * {
	min-width: 0;
}
.au-form .cnvs-form-group { margin-bottom: var(--space-4); }
.au-form label {
	display: block;
	font-size: var(--fs-small);
	color: var(--c-ink-soft);
	margin-bottom: var(--space-2);
}
.au-form label small { color: var(--c-accent); }
.au-form .form-control:where(:not(.form-select)),
.au-form select.form-control:where(:not(.form-select)),
.au-form textarea.form-control:where(:not(.form-select)) {
	width: 100%;
	min-height: 48px;
	padding: var(--space-3);
	background-color: transparent;
	border: 1px solid var(--c-line-soft);
	border-radius: var(--radius-s);
	color: var(--c-ink);
	font-family: var(--font-text);
	font-size: var(--fs-small);
}
.au-form textarea.form-control:where(:not(.form-select)) { min-height: 150px; }
.au-form .form-control:where(:not(.form-select)) { border-color: rgba(242, 237, 228, 0.24); }
.au-form select.form-control:where(:not(.form-select)) {
	appearance: none;
	-webkit-appearance: none;
	padding-right: var(--space-7);
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23C8A96A'%3E%3Cpath d='M8 11.5 2.5 6h11z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right var(--space-3) center;
	background-size: 12px 12px;
	cursor: pointer;
}
.au-form select.form-control:where(:not(.form-select)) option,
.au-form select.form-control:where(:not(.form-select)) optgroup {
	background-color: var(--c-ground-2);
	color: var(--c-ink);
}
.au-form .form-control:where(:not(.form-select)):focus {
	border-color: var(--c-accent);
	outline: none;
	box-shadow: 0 0 0 2px rgba(var(--cnvs-themecolor-rgb), 0.22);
}
.au-form .form-control:where(:not(.form-select))::placeholder { color: #918B80; }
.au-form select.form-control:where(:not(.form-select)) option {
	background-color: var(--c-ground-2);
	color: var(--c-ink);
}
.au-form .au-btn { width: auto; min-width: 220px; }
.au-form-note {
	font-size: var(--fs-small);
	color: var(--c-muted);
	margin-top: var(--space-3);
	margin-bottom: 0;
}

.au-visit-card {
	border: 1px solid var(--c-line);
	padding: var(--space-6);
	background-color: var(--c-ground-2);
}
.au-visit-card h3 {
	font-size: var(--fs-h3);
	margin-bottom: var(--space-4);
}
.au-visit-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-3) 0;
	border-bottom: 1px solid var(--c-line-soft);
	font-size: var(--fs-small);
}
.au-visit-row span:first-child {
	font-size: var(--fs-label);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-muted);
}
.au-visit-row span:last-child { color: var(--c-ink-soft); text-align: right; }
.au-visit-row a { text-decoration: none; }
.au-visit-row a:hover { color: var(--c-accent); }

.au-visit-row span,
.au-visit-row a {
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
}
.au-visit-note {
	margin-top: var(--space-5);
	padding-top: var(--space-4);
	border-top: 1px solid var(--c-line);
	font-size: var(--fs-small);
	color: var(--c-accent);
}

.au-faq { margin-top: var(--space-6); }
.au-faq .toggle { border-bottom: 1px solid var(--c-line-soft); }
.au-faq .toggle-header {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-4) 0;
	cursor: pointer;
}
.au-faq .toggle-icon {
	flex: 0 0 auto;
	color: var(--c-accent);
	font-size: 1.05rem;
}
.au-faq .toggle-title {
	font-family: var(--font-display);
	font-size: var(--fs-h3);
	line-height: 1.28;
	color: var(--c-ink);
}
.au-faq .toggle-content {
	padding: 0 0 var(--space-5) calc(var(--space-3) + 1.35em);
	font-size: var(--fs-body);
	color: var(--c-ink-soft);
	max-width: 62ch;
}
.au-faq .toggle-content p { margin-bottom: var(--space-3); }

.au-faq .toggle .toggle-open,
.au-faq .toggle-active .toggle-closed { display: none; }
.au-faq .toggle-active .toggle-open { display: inline-block; }
.au-faq .toggle-active .toggle-title { color: var(--c-accent); }

@media (max-width: 1199px) {
	:root {
		--fs-display: 6rem;
		--fs-h1: 3.5rem;
		--fs-h2: 2.5rem;
	}
}

@media (max-width: 991px) {
	:root {
		--fs-display: 4.25rem;
		--fs-h1: 3rem;
		--fs-h2: 2.25rem;
		--band: 72px;
		--band-compact: 44px;
		--gutter: 24px;
	}
	.au-acc,
	.au-story,
	.au-hood,
	.au-floorplan,
	.au-contact {
		grid-template-columns: 1fr;
	}
	.au-acc-media { transform: none; margin-bottom: var(--space-5); }
	.au-swap { margin-top: 0; }
	.au-swap::before { aspect-ratio: 16 / 9; }
	.au-team,
	.au-practice {
		grid-template-columns: 1fr 1fr;
	}
	.au-filters {
		grid-template-columns: 1fr 1fr;
	}
	.au-feature-list { columns: 1; }
	.au-gallery {
		grid-template-columns: 1fr;
	}
	.au-gallery-side {
		grid-template-columns: 1fr 1fr;
	}
	.au-gallery-thumb:first-child { grid-column: auto; aspect-ratio: 1 / 1; }
	.au-fact-band { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 767px) {
	:root {
		--fs-display: 3.4rem;
		--fs-h1: 2.5rem;
		--fs-h2: 2rem;
		--fs-h3: 1.5rem;
		--fs-lead: 1.125rem;
		--band: 56px;
		--band-compact: 36px;
		--gutter: 16px;
	}
	.au-hero { min-height: 92vh; }
	.au-hero-panel { padding-left: var(--space-4); }
	.au-hero .au-btn { width: 100%; }
	.au-hero-mark { max-width: none; }
	.au-team,
	.au-practice,
	.au-filters,
	.au-fact-band {
		grid-template-columns: 1fr;
	}
	.au-gallery-side { grid-template-columns: 1fr; }
	.au-gallery-thumb:first-child { grid-column: auto; aspect-ratio: 2 / 1; }
	.au-visit-card { padding: var(--space-4); max-width: 100%; }
	.au-visit-row {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-2);
	}
	.au-visit-row span:last-child { text-align: left; }
	.au-card-foot { flex-direction: column; align-items: flex-start; }
	.au-copyright-row { flex-direction: column; align-items: flex-start; }
	.au-figure-value { font-size: 2.75rem; }
	.au-tabs ul.tabs { gap: var(--space-5); }
}

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

:where(img[width][height]) {
	height: auto;
}

.content-wrap {
	padding-top: 0;
	padding-bottom: 0;
}

.section {
	margin-top: 0;
	margin-bottom: 0;
}

.au-listing-grid > :has(> .au-listing.is-hidden) {
	display: none;
}

#copyrights a:not(.button) { text-decoration: underline !important; text-underline-offset: 0.2em; }
#header.transparent-header:not(.sticky-header) .au-btn-sm { background-color: rgba(20, 22, 26, 0.55); }
#header.transparent-header:not(.sticky-header) .au-btn-sm:hover,
#header.transparent-header:not(.sticky-header) .au-btn-sm:focus-visible { background-color: var(--c-accent); color: var(--c-ground); }
@media (min-width: 992px) {
	#header.transparent-header:not(.sticky-header) #header-wrap { background: linear-gradient(to bottom, rgba(20, 22, 26, 0.75), rgba(20, 22, 26, 0.35)); }
}
}

