:root {
	--mre-ink: #171512;
	--mre-paper: #f8f6f1;
	--mre-paper-deep: #eee9df;
	--mre-mist: #f0f0ec;
	--mre-brown: #5b3d35;
	--mre-yellow: #fdc937;
	--mre-white: #fff;
	--mre-line: rgba(23, 21, 18, .13);
	--mre-line-light: rgba(255, 255, 255, .24);
	--mre-ease: cubic-bezier(.76, 0, .24, 1);
	--mre-display: "Manrope", "Inter", Helvetica, Arial, sans-serif;
	--mre-ui: "Inter", Helvetica, Arial, sans-serif;
	--mre-editorial-title-size: clamp(46px, 5.15vw, 84px);
	--mre-editorial-title-weight: 400;
	--mre-editorial-title-leading: .94;
	--mre-editorial-title-tracking: -.06em;
	--mre-editorial-copy-size: clamp(11px, .82vw, 13px);
	--mre-editorial-copy-leading: 1.56;
	--mre-page-pad: 40px;
}

.mre-catalogue *,
.mre-catalogue-hero *,
.mre-catalogue-categories *,
.mre-house-carousel *,
.mre-house *,
.mre-account *,
.mre-inquiry-form *,
.mre-not-found * { box-sizing: border-box; }

.mre-full-bleed {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none !important;
	margin-inline: -50vw 0 !important;
}

.mre-catalogue-shell {
	position: relative;
	z-index: 2;
	width: 100%;
	margin-inline: auto;
	padding-inline: var(--mre-page-pad);
}

.mre-catalogue :focus-visible,
.mre-catalogue-hero :focus-visible,
.mre-catalogue-categories :focus-visible,
.mre-house-carousel :focus-visible,
.mre-house :focus-visible,
.mre-not-found :focus-visible { outline: 2px solid var(--mre-yellow); outline-offset: 3px; }

.mre-catalogue-kicker {
	margin: 0 0 18px;
	font: 600 clamp(10px, .72vw, 12px)/1.2 var(--mre-ui);
	letter-spacing: .19em;
	text-transform: uppercase;
}

.mre-catalogue-button,
.mre-filter-submit,
.mre-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	border: 1px solid currentColor;
	border-radius: 0;
	text-decoration: none !important;
	font: 600 11px/1 var(--mre-ui);
	letter-spacing: .13em;
	text-transform: uppercase;
	transition: color .35s var(--mre-ease), background-color .35s var(--mre-ease), border-color .35s var(--mre-ease), transform .35s var(--mre-ease);
}

.mre-catalogue-button {
	justify-content: center;
	min-width: 0;
	min-height: 42px;
	padding: 0 18px;
	gap: 13px;
	border-color: var(--mre-yellow);
	color: var(--mre-ink);
	background: var(--mre-yellow);
	font-size: 11px;
	overflow: hidden;
}
.mre-catalogue-button:hover,
.mre-catalogue-button:focus-visible {
	border-color: var(--mre-brown);
	color: var(--mre-paper);
	background: var(--mre-brown);
	transform: none;
}
.mre-catalogue-button--ghost { border-color: var(--mre-yellow); color: var(--mre-ink); background: var(--mre-yellow); }
.mre-catalogue-button__label { display: inline-flex; align-items: center; height: 16px; white-space: nowrap; }
.mre-catalogue-button__letter-mask { display: block; height: 16px; overflow: hidden; }
.mre-catalogue-button__letter-track {
	display: flex;
	flex-direction: column;
	height: 32px;
	line-height: 16px;
	transform: translateY(0);
	transition: transform .58s var(--mre-ease);
	transition-delay: calc(var(--mre-letter-index) * 18ms);
}
.mre-catalogue-button__letter-track > span { display: block; height: 16px; }
.mre-catalogue-button__icon { position: relative; display: block; flex: 0 0 22px; width: 22px; height: 22px; overflow: hidden; }
.mre-catalogue-button__icon svg {
	position: absolute;
	inset: 0;
	width: 22px;
	height: 22px;
	stroke-width: 1.65;
	transition: transform .58s var(--mre-ease);
}
.mre-catalogue-button__icon svg:last-child { transform: translateY(130%); }
.mre-catalogue-button:hover .mre-catalogue-button__letter-track,
.mre-catalogue-button:focus-visible .mre-catalogue-button__letter-track { transform: translateY(-16px); }
.mre-catalogue-button:hover .mre-catalogue-button__icon svg:first-child,
.mre-catalogue-button:focus-visible .mre-catalogue-button__icon svg:first-child { transform: translateY(-130%); }
.mre-catalogue-button:hover .mre-catalogue-button__icon svg:last-child,
.mre-catalogue-button:focus-visible .mre-catalogue-button__icon svg:last-child { transform: translateY(0); }

/* Site-wide not-found page. The numeric error is treated as architecture,
   leaving the message—not a generic status kicker—as the content hierarchy. */
.mre-not-found {
	min-height: 100vh;
	min-height: 100svh;
	background: var(--mre-ink);
	color: var(--mre-white);
	font-family: var(--mre-ui);
}
.mre-not-found__stage {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background:
		linear-gradient(90deg, transparent calc(50% - .5px), rgba(255,255,255,.08) 50%, transparent calc(50% + .5px)),
		linear-gradient(180deg, #1a1815 0%, #12110f 100%);
}
.mre-not-found__number {
	position: absolute;
	inset: clamp(96px, 13vh, 144px) var(--mre-page-pad) var(--mre-page-pad);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	pointer-events: none;
	color: transparent;
	font: 300 clamp(180px, 31vw, 590px)/.72 var(--mre-display);
	letter-spacing: -.12em;
	-webkit-text-stroke: 1px rgba(255,255,255,.095);
}
.mre-not-found__number span { text-align: center; }
.mre-not-found__layout {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(160px, .45fr) minmax(0, 1.2fr) minmax(190px, .55fr);
	align-items: end;
	gap: clamp(32px, 5vw, 88px);
	min-height: 100vh;
	min-height: 100svh;
	padding: clamp(112px, 15vh, 168px) var(--mre-page-pad) var(--mre-page-pad);
}
.mre-not-found__index {
	display: flex;
	align-items: center;
	gap: 16px;
	align-self: center;
	color: rgba(255,255,255,.52);
	font: 600 10px/1 var(--mre-ui);
	letter-spacing: .18em;
	text-transform: uppercase;
	white-space: nowrap;
}
.mre-not-found__index i { display: block; width: min(90px, 7vw); height: 1px; background: rgba(255,255,255,.26); }
.mre-not-found__copy { max-width: 720px; }
.mre-not-found__copy h1 {
	max-width: 680px;
	margin: 0;
	color: inherit;
	font: var(--mre-editorial-title-weight) clamp(48px, 6vw, 98px)/.94 var(--mre-display);
	letter-spacing: var(--mre-editorial-title-tracking);
	text-wrap: balance;
}
.mre-not-found__copy p {
	max-width: 50ch;
	margin: 24px 0 0;
	color: rgba(255,255,255,.67);
	font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui);
}
.mre-not-found__button {
	margin-top: 30px;
	border-color: var(--mre-white);
	color: var(--mre-white);
	background: transparent;
}
.mre-not-found__button:hover,
.mre-not-found__button:focus-visible {
	border-color: var(--mre-yellow);
	color: var(--mre-ink);
	background: var(--mre-yellow);
}
.mre-not-found__note {
	justify-self: end;
	margin: 0;
	color: rgba(255,255,255,.48);
	font: 600 9px/1.3 var(--mre-ui);
	letter-spacing: .17em;
	text-transform: uppercase;
	writing-mode: vertical-rl;
}

/* The catalogue hero keeps yellow as an interaction accent, not a resting fill. */
.mre-catalogue-hero .mre-catalogue-button,
.mre-catalogue-hero .mre-catalogue-button--ghost {
	border-color: var(--mre-white);
	color: var(--mre-white);
	background: transparent;
}
.mre-catalogue-hero .mre-catalogue-button:hover,
.mre-catalogue-hero .mre-catalogue-button:focus-visible,
.mre-catalogue-hero .mre-catalogue-button--ghost:hover,
.mre-catalogue-hero .mre-catalogue-button--ghost:focus-visible {
	border-color: var(--mre-yellow);
	color: var(--mre-ink);
	background: var(--mre-yellow);
}

/* Featured-house hero. */
.mre-catalogue-hero {
	--mre-parallax-y: 0px;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
	background: var(--mre-ink);
	color: var(--mre-white);
	font-family: var(--mre-ui);
}

.mre-catalogue-hero__media,
.mre-catalogue-hero__veil,
.mre-catalogue-grain { position: absolute; inset: 0; }
.mre-catalogue-hero__media { inset: -5%; transform: translate3d(0, var(--mre-parallax-y), 0); will-change: transform; }
.mre-catalogue-hero__media:empty { background: linear-gradient(120deg, var(--mre-brown), var(--mre-ink)); }
.mre-catalogue-hero__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.mre-catalogue-hero__veil { z-index: 1; background: linear-gradient(90deg, rgba(15, 13, 11, .78) 0%, rgba(15, 13, 11, .3) 56%, rgba(15, 13, 11, .2) 100%), linear-gradient(0deg, rgba(15, 13, 11, .62), transparent 48%); }
.mre-catalogue-grain { z-index: 1; pointer-events: none; opacity: .12; background-image: radial-gradient(rgba(255,255,255,.4) .55px, transparent .55px); background-size: 5px 5px; mix-blend-mode: soft-light; }

.mre-catalogue-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
	align-items: end;
	gap: clamp(48px, 7vw, 112px);
	min-height: 100vh;
	min-height: 100svh;
	padding-top: clamp(108px, 14vh, 156px);
	padding-bottom: var(--mre-page-pad);
}

.mre-catalogue-hero__copy { max-width: 780px; }
.mre-catalogue-hero__copy:only-child { grid-column: 1 / -1; }
.mre-catalogue-hero h1 {
	max-width: 780px;
	margin: 0;
	color: inherit;
	font: var(--mre-editorial-title-weight) var(--mre-editorial-title-size)/var(--mre-editorial-title-leading) var(--mre-display);
	letter-spacing: var(--mre-editorial-title-tracking);
	text-wrap: balance;
}
.mre-catalogue-hero__lede { max-width: 54ch; margin: 24px 0 0; color: rgba(255,255,255,.84); font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; }
.mre-catalogue-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.mre-catalogue-hero__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--mre-line-light); border-inline-start: 1px solid var(--mre-line-light); }
.mre-catalogue-hero__facts > div { min-height: 126px; padding: 22px 18px; border-inline-end: 1px solid var(--mre-line-light); border-bottom: 1px solid var(--mre-line-light); }
.mre-catalogue-hero__facts--three { border: 0; }
.mre-catalogue-hero__facts--three > div:nth-child(1) { grid-column: 2; grid-row: 1; border-top: 1px solid var(--mre-line-light); border-inline-start: 1px solid var(--mre-line-light); }
.mre-catalogue-hero__facts--three > div:nth-child(2) { grid-column: 1; grid-row: 2; border-top: 1px solid var(--mre-line-light); border-inline-start: 1px solid var(--mre-line-light); }
.mre-catalogue-hero__facts--three > div:nth-child(3) { grid-column: 2; grid-row: 2; }
.mre-catalogue-hero__facts strong { display: block; margin-bottom: 16px; font: 500 clamp(23px, 2vw, 34px)/1 var(--mre-display); letter-spacing: -.045em; }
.mre-catalogue-hero__facts strong small { font-size: .48em; letter-spacing: 0; }
.mre-catalogue-hero__facts span { display: block; color: rgba(255,255,255,.62); font: 600 9px/1.4 var(--mre-ui); letter-spacing: .15em; text-transform: uppercase; }

/* Full-viewport collection carousel. */
.mre-catalogue-categories {
	--mre-category-gap: clamp(16px, 1.6vw, 26px);
	--mre-visible-items: 2;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	min-height: 90vh;
	height: 90svh;
	overflow: hidden;
	border-bottom: 1px solid var(--mre-line);
	background: var(--mre-mist);
	color: var(--mre-ink);
	font-family: var(--mre-ui);
}
.mre-catalogue-categories__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr); align-items: end; gap: clamp(50px, 10vw, 170px); padding-top: var(--mre-page-pad); padding-bottom: clamp(24px, 3.5vh, 38px); }
.mre-catalogue-categories__header h2 { max-width: 860px; margin: 0; color: inherit; font: var(--mre-editorial-title-weight) var(--mre-editorial-title-size)/var(--mre-editorial-title-leading) var(--mre-display); letter-spacing: var(--mre-editorial-title-tracking); text-wrap: balance; }
.mre-catalogue-categories__aside { display: flex; width: 100%; flex-direction: column; align-items: flex-end; gap: clamp(20px, 3vh, 34px); }
.mre-catalogue-categories__intro { max-width: 46ch; margin: 0; color: rgba(23,21,18,.57); text-align: right; font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; }
.mre-catalogue-carousel-meta { display: flex; align-items: center; width: clamp(140px, 12vw, 190px); gap: 15px; padding-bottom: 6px; color: rgba(23,21,18,.58); font: 600 10px/1 var(--mre-ui); letter-spacing: .14em; }
.mre-catalogue-carousel-meta i { display: block; flex: 1; height: 1px; background: rgba(23,21,18,.2); }
.mre-catalogue-categories__track { display: flex; gap: var(--mre-category-gap); min-width: 0; min-height: 0; padding: 0 var(--mre-page-pad); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-padding-inline: var(--mre-page-pad); scroll-snap-type: x mandatory; scrollbar-width: none; }
.mre-catalogue-categories__track::-webkit-scrollbar { display: none; }
.mre-catalogue-category { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr); flex: 0 0 calc((100vw - (2 * var(--mre-page-pad)) - var(--mre-category-gap)) / 2); min-width: 0; height: 100%; border: 1px solid var(--mre-line); scroll-snap-align: start; background: var(--mre-white); box-shadow: 0 18px 60px rgba(23,21,18,.055); }
.mre-catalogue-category__image-wrap { position: relative; min-height: 300px; overflow: hidden; background: var(--mre-paper-deep); }
.mre-catalogue-category__image { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.86) contrast(.98); transform: scale(1.012); transition: filter .8s var(--mre-ease), transform 1.1s var(--mre-ease); }
.mre-catalogue-category.is-active .mre-catalogue-category__image { filter: saturate(1) contrast(1); transform: scale(1.035); }
.mre-catalogue-category__number { position: absolute; left: 18px; bottom: 18px; display: grid; width: 42px; height: 42px; place-items: center; color: var(--mre-white); background: rgba(23,21,18,.78); backdrop-filter: blur(8px); font: 600 10px/1 var(--mre-ui); letter-spacing: .14em; }
.mre-catalogue-category__body { display: flex; flex-direction: column; justify-content: end; min-width: 0; padding: clamp(24px, 2.2vw, 36px); border-inline-start: 1px solid var(--mre-line); background: rgba(255,255,255,.76); }
.mre-catalogue-category__meta { margin: 0 0 auto !important; color: rgba(23,21,18,.48); font: 600 9px/1.2 var(--mre-ui) !important; letter-spacing: .16em; text-transform: uppercase; }
.mre-catalogue-category h3 { margin: clamp(24px, 4vh, 48px) 0 16px; color: inherit; font: 400 clamp(30px, 2.35vw, 42px)/.96 var(--mre-display); letter-spacing: -.06em; }
.mre-catalogue-category__body > p:not(.mre-catalogue-category__meta) { display: -webkit-box; max-width: 38ch; margin: 0; overflow: hidden; color: rgba(23,21,18,.57); font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.mre-catalogue-category__cta { width: 100%; max-width: 100%; margin-top: 28px; padding-inline: 16px; }
.mre-catalogue-categories__footer { display: flex; align-items: center; gap: 28px; padding-top: clamp(20px, 2.5vh, 30px); padding-bottom: var(--mre-page-pad); }
.mre-catalogue-carousel-progress { height: 1px; flex: 1; overflow: hidden; background: rgba(23,21,18,.16); transform: translateZ(0); }
.mre-catalogue-carousel-progress span { display: block; width: 100%; height: 100%; background: var(--mre-yellow); transform: scaleX(0); transform-origin: left; transition: transform .65s var(--mre-ease); }
.mre-catalogue-carousel-controls { display: flex; }
.mre-catalogue-carousel-controls button,
.mre-carousel-previous,
.mre-carousel-next { display: inline-grid; width: 50px; height: 50px; padding: 0; place-items: center; border: 1px solid var(--mre-line); border-radius: 0; color: var(--mre-ink); background: rgba(255,255,255,.72); cursor: pointer; transition: color .35s var(--mre-ease), background-color .35s var(--mre-ease), border-color .35s var(--mre-ease); }
.mre-catalogue-carousel-controls button svg { width: 20px; height: 20px; stroke-width: 1.65; }
.mre-catalogue-carousel-controls button + button { border-inline-start: 0; }
.mre-catalogue-carousel-controls button:hover,
.mre-catalogue-carousel-controls button:focus-visible { border-color: var(--mre-yellow); color: var(--mre-ink); background: var(--mre-yellow); }
.mre-catalogue-carousel-controls button:disabled { opacity: .34; border-color: var(--mre-line); color: var(--mre-ink); background: rgba(255,255,255,.45); cursor: default; }

/* Catalogue and filters. */
.mre-catalogue { min-height: 100svh; padding: var(--mre-page-pad) 0; background: var(--mre-paper); color: var(--mre-ink); font-family: var(--mre-ui); }
.mre-catalogue__header { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr); align-items: end; gap: clamp(40px, 10vw, 180px); padding-bottom: clamp(54px, 8vw, 110px); }
.mre-catalogue__header h2 { max-width: 920px; margin: 0; color: inherit; font: var(--mre-editorial-title-weight) var(--mre-editorial-title-size)/var(--mre-editorial-title-leading) var(--mre-display); letter-spacing: var(--mre-editorial-title-tracking); text-wrap: balance; }
.mre-catalogue__header > p { max-width: 45ch; margin: 0; color: rgba(23,21,18,.57); font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; }

.mre-house-filters { margin: 0 0 clamp(54px, 7vw, 96px); color: var(--mre-ink); }
.mre-house-filters__fieldset { min-width: 0; margin: 0; padding: 0; border: 0; border-top: 1px solid var(--mre-line); border-inline-start: 1px solid var(--mre-line); }
.mre-house-filters__primary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mre-house-filters__primary label { position: relative; display: flex; min-width: 0; min-height: 88px; padding: 18px 22px 15px; flex-direction: column; justify-content: space-between; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); transition: background-color .3s var(--mre-ease); }
.mre-house-filters__primary label:focus-within { background: rgba(255,255,255,.5); }
.mre-house-filters label > span,
.mre-house-filters__range > p,
.mre-feature-filter legend { display: block; margin: 0 0 10px; color: rgba(23,21,18,.52); font: 600 9px/1.2 var(--mre-ui); letter-spacing: .15em; text-transform: uppercase; }
.mre-house-filters input:not([type="checkbox"]),
.mre-house-filters select,
.mre-house-filters textarea { width: 100%; max-width: 100%; height: 34px; margin: 0; padding: 0 28px 0 0; border: 0; border-radius: 0; outline: 0; color: var(--mre-ink); background: transparent; box-shadow: none; font: 500 15px/1.2 var(--mre-ui); }
.mre-house-filters select { appearance: none; cursor: pointer; }
.mre-filter-select::after { position: absolute; right: 23px; bottom: 27px; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; pointer-events: none; transform: rotate(45deg); transition: transform .3s var(--mre-ease); }
.mre-filter-select:focus-within::after { transform: translateY(2px) rotate(45deg); }
.mre-house-filters input::placeholder { color: rgba(23,21,18,.36); }
.mre-house-filters input[type="number"] { appearance: textfield; }
.mre-house-filters input[type="number"]::-webkit-inner-spin-button,
.mre-house-filters input[type="number"]::-webkit-outer-spin-button { margin: 0; appearance: none; }
.mre-house-filters input:focus,
.mre-house-filters select:focus { box-shadow: inset 0 -1px var(--mre-ink); }
.mre-house-filters__actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mre-house-filters__actions button { display: inline-flex; min-height: 58px; padding: 0 22px; align-items: center; justify-content: center; gap: 14px; border: 0; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); border-radius: 0; color: var(--mre-ink); background: transparent; cursor: pointer; font: 600 10px/1 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease); }
.mre-house-filters__actions button:hover,
.mre-house-filters__actions button:focus-visible { background: var(--mre-paper-deep); }
.mre-house-filters__actions .mre-filter-submit { color: var(--mre-paper); background: var(--mre-ink); }
.mre-house-filters__actions .mre-filter-submit:hover,
.mre-house-filters__actions .mre-filter-submit:focus-visible { color: var(--mre-ink); background: var(--mre-yellow); }
.mre-filter-submit svg { width: 18px; height: 18px; stroke-width: 1.6; transition: transform .35s var(--mre-ease); }
.mre-filter-submit:hover svg,
.mre-filter-submit:focus-visible svg { transform: translateX(3px); }
.mre-filter-toggle { grid-column: span 2; justify-content: flex-start !important; }
.mre-filter-toggle__icon { position: relative; display: block; width: 14px; height: 14px; margin-inline-start: 4px; }
.mre-filter-toggle__icon::before,
.mre-filter-toggle__icon::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 1px; background: currentColor; content: ""; transform: translate(-50%, -50%); transition: transform .35s var(--mre-ease); }
.mre-filter-toggle__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.mre-filter-toggle[aria-expanded="true"] .mre-filter-toggle__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.mre-house-filters__advanced { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); transform-origin: top; }
.mre-house-filters__advanced[hidden] { display: none !important; }
.mre-house-filters__advanced.is-opening { animation: mre-filter-panel-in .45s var(--mre-ease) both; }
@keyframes mre-filter-panel-in { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
.mre-house-filters__range,
.mre-house-filters__numbers,
.mre-house-filters__technology { min-width: 0; min-height: 150px; padding: 24px 22px; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); }
.mre-house-filters__range { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; }
.mre-house-filters__range > p { grid-column: 1 / -1; }
.mre-house-filters__range label + label { border-inline-start: 1px solid var(--mre-line); padding-inline-start: 20px; }
.mre-house-filters__numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mre-house-filters__technology { position: relative; display: flex; flex-direction: column; }
.mre-house-filters__technology select { margin-top: auto; }
.mre-house-filters__technology::after { right: 23px; bottom: 35px; }
.mre-feature-filter { grid-column: 1 / -1; margin: 0; padding: 22px; border: 0; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); }
.mre-feature-filter > div { display: flex; flex-wrap: wrap; gap: 8px; }
.mre-feature-filter label { position: relative; margin: 0; }
.mre-feature-filter input { position: absolute; opacity: 0; pointer-events: none; }
.mre-feature-filter label span { display: block; margin: 0; padding: 11px 14px; border: 1px solid var(--mre-line); color: var(--mre-ink); background: rgba(255,255,255,.2); cursor: pointer; font: 500 11px/1 var(--mre-ui); letter-spacing: .02em; text-transform: none; transition: color .3s var(--mre-ease), border-color .3s var(--mre-ease), background-color .3s var(--mre-ease); }
.mre-feature-filter label span:hover { border-color: rgba(23,21,18,.34); background: rgba(255,255,255,.55); }
.mre-feature-filter input:checked + span { color: var(--mre-ink); border-color: var(--mre-yellow); background: var(--mre-yellow); }
.mre-feature-filter input:focus-visible + span { outline: 2px solid var(--mre-yellow); outline-offset: 2px; }

.mre-catalogue-grid-wrapper { position: relative; scroll-margin-top: 24px; }
.mre-catalogue-grid-wrapper[aria-busy="true"]:not(.is-appending) .mre-house-grid { opacity: .42; pointer-events: none; }
.mre-catalogue-grid-wrapper.is-appending .mre-load-more { cursor: wait; }
.mre-catalogue-grid-wrapper.is-appending .mre-load-more__icon svg { animation: mre-load-more-pulse .8s var(--mre-ease) infinite alternate; }
@keyframes mre-load-more-pulse { to { transform: translateY(4px); } }
.mre-catalogue-grid-bar { display: flex; align-items: baseline; justify-content: space-between; gap: 35px; margin-bottom: 24px; padding-bottom: 13px; border-bottom: 1px solid var(--mre-line); }
.mre-catalogue-grid-bar p { margin: 0; color: rgba(23,21,18,.54); font: 500 10px/1.4 var(--mre-ui); letter-spacing: .08em; }
.mre-catalogue-grid-bar .mre-catalogue-status { color: var(--mre-ink); font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.mre-catalogue-status.is-error,
.mre-form-error,
.mre-form-message.is-error { color: #8b2720; font-weight: 700; }
.mre-house-grid { --mre-columns: 1; display: grid; grid-template-columns: repeat(var(--mre-columns), minmax(0, 1fr)); align-items: stretch; gap: clamp(46px, 5vw, 82px) clamp(16px, 2vw, 34px); transition: opacity .25s; }
.mre-house-grid[data-columns="2"] { --mre-columns: 2; }
.mre-house-grid[data-columns="3"] { --mre-columns: 3; }
.mre-house-grid[data-columns="4"] { --mre-columns: 4; }
.mre-house-grid[data-columns="5"] { --mre-columns: 5; }
.mre-house-grid[data-columns="6"] { --mre-columns: 6; }
.mre-house-card { position: relative; display: flex; min-width: 0; height: 100%; flex-direction: column; color: var(--mre-ink); font-family: var(--mre-ui); }
.mre-house-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--mre-paper-deep); }
.mre-house-card-image-link { display: block; width: 100%; height: 100%; }
.mre-house-card-image { display: block; width: 100%; height: 100% !important; max-width: 100%; object-fit: cover; transform: scale(1.001); transition: transform .9s var(--mre-ease), filter .6s; }
.mre-house-card:hover .mre-house-card-image { filter: saturate(1.05); transform: scale(1.045); }
.mre-house-badges { position: absolute; top: 13px; left: 13px; display: flex; flex-wrap: wrap; gap: 5px; pointer-events: none; }
.mre-house-badge { padding: 8px 10px; color: var(--mre-ink); background: var(--mre-yellow); font: 700 8px/1 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; }
.mre-house-card-actions { position: absolute; top: 13px; right: 13px; display: flex; gap: 5px; }
.mre-house-card-actions button { position: relative; display: grid; width: 40px; height: 40px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.72); border-radius: 0; color: var(--mre-ink); background: rgba(255,255,255,.82); box-shadow: none; backdrop-filter: blur(10px); cursor: pointer; transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease), border-color .3s var(--mre-ease), transform .3s var(--mre-ease); }
.mre-house-card-actions button span { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mre-house-card-actions button svg { width: 19px; height: 19px; stroke-width: 1.55; transition: transform .3s var(--mre-ease), fill .3s var(--mre-ease); }
.mre-house-card-actions .mre-wishlist-button svg { width: 18px; height: 18px; overflow: visible; }
.mre-house-card-actions button:hover,
.mre-house-card-actions button:focus-visible { border-color: var(--mre-yellow); background: var(--mre-yellow); transform: translateY(-2px); }
.mre-house-card-actions button:active { transform: scale(.94); }
.mre-house-card-actions button:disabled { opacity: .6; cursor: wait; }
.mre-house-card-actions .mre-wishlist-button.is-saved { border-color: var(--mre-yellow); background: var(--mre-yellow); }
.mre-house-card-actions .mre-wishlist-button.is-saved svg { fill: currentColor; transform: scale(.92); }
.mre-house-card-actions .mre-compare-button.is-selected { border-color: var(--mre-yellow); background: var(--mre-yellow); }
.mre-house-card-actions .mre-compare-button.is-selected svg { transform: rotate(180deg); }
.mre-house-card__body { display: flex; flex: 1; padding-top: 17px; flex-direction: column; border-top: 1px solid var(--mre-line); }
.mre-house-card__meta { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 15px; color: rgba(23,21,18,.48); font: 600 8px/1.2 var(--mre-ui); letter-spacing: .14em; text-transform: uppercase; }
.mre-house-card__meta span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mre-house-card__heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 82px; align-items: start; gap: 22px; }
.mre-house-card .mre-house-title { margin: 0; color: inherit; font: 400 clamp(22px, 1.75vw, 32px)/1.03 var(--mre-display); letter-spacing: -.045em; }
.mre-house-card .mre-house-title a { display: -webkit-box; overflow: hidden; color: inherit; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.mre-house-card .mre-house-price { flex: 0 0 auto; margin: 4px 0 0; font: 600 11px/1.3 var(--mre-ui); white-space: nowrap; }
.mre-house-card-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; min-height: 62px; margin: auto 0 0; padding-top: 14px; border-top: 1px solid var(--mre-line); }
.mre-house-card-specs > div { min-width: 0; padding-inline: 18px; border-inline-end: 1px solid var(--mre-line); }
.mre-house-card-specs > div:first-child { padding-inline-start: 0; }
.mre-house-card-specs > div:last-child { border: 0; }
.mre-house-card-specs dt { margin: 0 0 6px; color: rgba(23,21,18,.48); font: 600 8px/1 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; }
.mre-house-card-specs dd { margin: 0; font: 550 15px/1 var(--mre-display); }
.mre-house-card-specs dd small { font-size: .72em; }
.mre-load-more-wrap { position: relative; z-index: 4; min-height: 180px; margin-top: clamp(50px, 6vw, 88px); }
.mre-load-more-preview { max-height: clamp(280px, 29vw, 430px); overflow: hidden; opacity: .32; mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.58) 58%, transparent 100%); transition: opacity .5s var(--mre-ease); }
.mre-load-more-preview [data-mre-reveal] { opacity: 1; transform: none; }
.mre-load-more-preview .mre-house-card-actions { display: none; }
.mre-load-more-preview [data-columns="1"] .mre-house-card:nth-child(n + 2),
.mre-load-more-preview [data-columns="2"] .mre-house-card:nth-child(n + 3),
.mre-load-more-preview [data-columns="3"] .mre-house-card:nth-child(n + 4),
.mre-load-more-preview [data-columns="4"] .mre-house-card:nth-child(n + 5),
.mre-load-more-preview [data-columns="5"] .mre-house-card:nth-child(n + 6),
.mre-load-more-preview [data-columns="6"] .mre-house-card:nth-child(n + 7) { display: none; }
.mre-load-more-action { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; pointer-events: none; }
.mre-load-more { min-width: 270px; min-height: 50px; pointer-events: auto; cursor: pointer; }
.mre-load-more__icon { display: grid; width: 22px; height: 22px; place-items: center; overflow: hidden; }
.mre-load-more__icon svg { width: 19px; height: 19px; stroke-width: 1.65; transition: transform .4s var(--mre-ease); }
.mre-load-more:hover .mre-load-more__icon svg,
.mre-load-more:focus-visible .mre-load-more__icon svg { transform: translateY(3px); }
.mre-pagination { margin-top: 70px; }
.mre-pagination ul { display: flex; justify-content: center; gap: 5px; margin: 0; padding: 0; list-style: none; }
.mre-pagination a,
.mre-pagination span { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--mre-line); color: var(--mre-ink); text-decoration: none; font: 600 11px/1 var(--mre-ui); }
.mre-pagination .current { color: var(--mre-paper); background: var(--mre-ink); }
.mre-empty { grid-column: 1 / -1; margin: 0; padding: 60px 20px; border: 1px solid var(--mre-line); text-align: center; font-family: var(--mre-ui); }

/* Structured house detail page. */
.mre-single-house { --mre-page-pad: 40px; color: var(--mre-ink); background: var(--mre-paper); font-family: var(--mre-ui); }
.mre-single-house > .mre-house { margin: 0; }
.mre-house-hero { --mre-parallax-y: 0px; position: relative; height: 100svh; overflow: hidden; color: var(--mre-white); background: var(--mre-ink); }
.mre-house-hero__media,
.mre-house-hero__veil { position: absolute; inset: 0; }
.mre-house-hero__media { inset: -5%; background: linear-gradient(135deg, var(--mre-brown), var(--mre-ink)); transform: translate3d(0, var(--mre-parallax-y), 0); will-change: transform; }
.mre-house-hero__image { display: block; width: 100%; height: 100%; object-fit: cover; }
.mre-house-hero__veil { z-index: 1; background: linear-gradient(90deg, rgba(15,13,11,.82) 0%, rgba(15,13,11,.28) 62%, rgba(15,13,11,.18) 100%), linear-gradient(0deg, rgba(15,13,11,.72), transparent 54%); }
.mre-house-hero__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 430px); height: 100svh; padding: var(--mre-page-pad); align-items: end; gap: clamp(44px, 8vw, 130px); }
.mre-house-hero__copy { max-width: 780px; }
.mre-house-hero h1 { max-width: 780px; margin: 0; color: inherit; font: var(--mre-editorial-title-weight) var(--mre-editorial-title-size)/var(--mre-editorial-title-leading) var(--mre-display); letter-spacing: var(--mre-editorial-title-tracking); text-wrap: balance; }
.mre-house-hero__lede { max-width: 54ch; margin: 24px 0 0; color: rgba(255,255,255,.78); font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; }
.mre-house-hero__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--mre-line-light); border-inline-start: 1px solid var(--mre-line-light); }
.mre-house-hero__facts > div { min-height: 118px; padding: 20px 18px; border-inline-end: 1px solid var(--mre-line-light); border-bottom: 1px solid var(--mre-line-light); }
.mre-house-hero__facts strong { display: block; margin-bottom: 15px; font: 500 clamp(22px, 1.8vw, 31px)/1 var(--mre-display); letter-spacing: -.045em; }
.mre-house-hero__facts strong small { font-size: .5em; }
.mre-house-hero__facts span { display: block; color: rgba(255,255,255,.62); font: 600 9px/1.35 var(--mre-ui); letter-spacing: .14em; text-transform: uppercase; }

.mre-house-overview { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); min-height: 100vh; padding: var(--mre-page-pad); gap: clamp(36px, 5vw, 84px); background: var(--mre-mist); }
.mre-house-overview__gallery { position: relative; min-width: 0; min-height: 620px; overflow: hidden; background: var(--mre-paper-deep); }
.mre-house-overview__gallery-track { display: flex; width: 100%; height: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.mre-house-overview__gallery-track::-webkit-scrollbar { display: none; }
.mre-house-overview__gallery-slide { position: relative; flex: 0 0 100%; width: 100%; height: 100%; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; }
.mre-house-overview__image { display: block; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.1s var(--mre-ease); }
.mre-house-overview__gallery-slide:hover .mre-house-overview__image { transform: scale(1.025); }
.mre-house-overview__gallery-ui { position: absolute; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 12px; color: var(--mre-white); }
.mre-house-overview__gallery-ui > p { display: flex; min-width: 72px; height: 46px; margin: 0; padding-inline: 13px; align-items: center; justify-content: center; gap: 6px; background: rgba(23,21,18,.74); backdrop-filter: blur(10px); font: 600 9px/1 var(--mre-ui); letter-spacing: .12em; }
.mre-house-overview__gallery-ui > div { display: flex; }
.mre-house-overview__gallery-ui button { display: grid; width: 46px; height: 46px; padding: 0; place-items: center; border: 1px solid rgba(255,255,255,.54); border-radius: 0; color: var(--mre-white); background: rgba(23,21,18,.74); backdrop-filter: blur(10px); cursor: pointer; }
.mre-house-overview__gallery-ui button + button { border-inline-start: 0; }
.mre-house-overview__gallery-ui button span { font: 300 28px/1 var(--mre-display); transform: translateY(-1px); }
.mre-house-overview__gallery-ui button:hover,
.mre-house-overview__gallery-ui button:focus-visible { border-color: var(--mre-yellow); color: var(--mre-ink); background: var(--mre-yellow); }
.mre-house-overview__gallery-ui button:disabled { opacity: .42; cursor: default; }
.mre-house-overview__content { min-width: 0; align-self: center; }
.mre-house-overview__content h2 { margin: 0; font: 400 clamp(42px, 4.6vw, 74px)/.95 var(--mre-display); letter-spacing: -.058em; }
.mre-house-overview__price { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-top: 34px; padding: 22px 0; align-items: end; gap: 8px 24px; border-block: 1px solid var(--mre-line); }
.mre-house-overview__price span { color: rgba(23,21,18,.52); font: 600 9px/1.3 var(--mre-ui); letter-spacing: .13em; text-transform: uppercase; }
.mre-house-overview__price strong { grid-row: span 2; font: 500 clamp(24px, 2.1vw, 34px)/1 var(--mre-display); letter-spacing: -.045em; white-space: nowrap; }
.mre-house-overview__price del { color: rgba(23,21,18,.44); font: 500 12px/1 var(--mre-ui); }
.mre-house-overview__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 28px; border-inline-start: 1px solid var(--mre-line); }
.mre-house-overview__specs > div { min-width: 0; min-height: 76px; padding: 14px 13px; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); }
.mre-house-overview__specs dt { margin: 0 0 9px; color: rgba(23,21,18,.52); font: 600 8px/1.25 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; }
.mre-house-overview__specs dd { margin: 0; overflow-wrap: anywhere; font: 550 clamp(15px, 1.2vw, 20px)/1.15 var(--mre-display); letter-spacing: -.025em; }
.mre-house-overview__features { display: flex; margin: 0 0 28px; padding: 0; flex-wrap: wrap; gap: 8px; list-style: none; }
.mre-house-overview__features li { padding: 8px 11px; border: 1px solid var(--mre-line); font: 600 9px/1 var(--mre-ui); letter-spacing: .1em; text-transform: uppercase; }
.mre-house-overview__content > .mre-catalogue-button { width: 100%; min-height: 50px; }

.mre-house-description { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); min-height: 100vh; padding: var(--mre-page-pad); gap: clamp(50px, 11vw, 190px); background: var(--mre-paper); }
.mre-house-description h2,
.mre-house-section__header h2,
.mre-house-resources h2 { max-width: 780px; margin: 0; font: 400 clamp(40px, 4.7vw, 76px)/.96 var(--mre-display); letter-spacing: -.058em; text-wrap: balance; }
.mre-house-description__copy { max-width: 720px; padding-top: 28px; border-top: 1px solid var(--mre-line); color: rgba(23,21,18,.72); font: 400 clamp(15px, 1.15vw, 19px)/1.72 var(--mre-ui); }
.mre-house-description__copy > *:first-child { margin-top: 0; }
.mre-house-description__copy > *:last-child { margin-bottom: 0; }

.mre-house-section { min-height: 100vh; padding: var(--mre-page-pad); }
.mre-house-section--floorplans { background: var(--mre-ink); color: var(--mre-white); }
.mre-house-section--packages { background: #e8e7e2; }
.mre-house-section__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr); margin-bottom: clamp(45px, 6vw, 86px); align-items: end; gap: 50px; }
.mre-house-section__header > p { max-width: 44ch; margin: 0; color: currentColor; opacity: .58; font: 400 13px/1.6 var(--mre-ui); }

.mre-house-floorplans { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1px; background: rgba(255,255,255,.17); border: 1px solid rgba(255,255,255,.17); }
.mre-floorplan { display: grid; grid-template-rows: auto minmax(300px, 1fr) auto; margin: 0; padding: clamp(22px, 2.5vw, 38px); background: var(--mre-ink); }
.mre-floorplan header { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 24px; align-items: end; gap: 6px 20px; }
.mre-floorplan header > span { grid-column: 1 / -1; color: rgba(255,255,255,.48); font: 600 9px/1 var(--mre-ui); letter-spacing: .14em; text-transform: uppercase; }
.mre-floorplan-title { margin: 0; font: 400 clamp(26px, 2.4vw, 39px)/1 var(--mre-display); letter-spacing: -.045em; }
.mre-floorplan-area { margin: 0; color: rgba(255,255,255,.62); font: 600 11px/1 var(--mre-ui); }
.mre-floorplan-image { width: 100%; height: 100% !important; min-height: 300px; object-fit: contain; background: #fff; }
.mre-floorplan-description { margin: 22px 0 0; color: rgba(255,255,255,.64); font: 400 13px/1.6 var(--mre-ui); }

.mre-house-packages__tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); border-top: 1px solid var(--mre-line); border-inline-start: 1px solid var(--mre-line); }
.mre-house-packages__tabs button { display: grid; min-height: 104px; padding: 19px 20px; align-content: space-between; gap: 18px; border: 0; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); border-radius: 0; color: var(--mre-ink); background: transparent; text-align: start; cursor: pointer; }
.mre-house-packages__tabs button span { font: 500 18px/1.1 var(--mre-display); letter-spacing: -.03em; }
.mre-house-packages__tabs button strong { color: rgba(23,21,18,.55); font: 600 10px/1 var(--mre-ui); letter-spacing: .08em; }
.mre-house-packages__tabs button[aria-selected="true"] { color: var(--mre-paper); background: var(--mre-ink); }
.mre-house-packages__tabs button[aria-selected="true"] strong { color: var(--mre-yellow); }
.mre-house-package { border: 1px solid var(--mre-line); border-top: 0; background: var(--mre-paper); }
.mre-house-package__header { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: clamp(28px, 4vw, 58px); align-items: end; gap: 30px; border-bottom: 1px solid var(--mre-line); }
.mre-house-package__header span { display: block; margin-bottom: 12px; color: rgba(23,21,18,.5); font: 600 9px/1 var(--mre-ui); letter-spacing: .14em; text-transform: uppercase; }
.mre-house-package__header h3 { margin: 0; font: 400 clamp(34px, 3.4vw, 56px)/.95 var(--mre-display); letter-spacing: -.055em; }
.mre-house-package__price { text-align: end; }
.mre-house-package__price strong { display: block; font: 500 clamp(24px, 2.1vw, 34px)/1 var(--mre-display); letter-spacing: -.045em; }
.mre-house-package__price del { display: block; margin-top: 8px; color: rgba(23,21,18,.45); font-size: 12px; }
.mre-house-package__description { max-width: 780px; padding: 32px clamp(28px, 4vw, 58px) 0; color: rgba(23,21,18,.65); font-size: 13px; line-height: 1.65; }
.mre-package-specifications { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: clamp(25px, 3vw, 46px); gap: 0 34px; }
.mre-package-spec { border-top: 1px solid var(--mre-line); }
.mre-package-spec summary { display: flex; min-height: 67px; padding: 18px 0; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; font: 550 14px/1.35 var(--mre-display); }
.mre-package-spec summary::-webkit-details-marker { display: none; }
.mre-package-spec summary i { position: relative; flex: 0 0 18px; width: 18px; height: 18px; }
.mre-package-spec summary i::before,
.mre-package-spec summary i::after { content: ""; position: absolute; left: 3px; top: 8px; width: 12px; height: 1px; background: currentColor; transition: transform .3s ease; }
.mre-package-spec summary i::after { transform: rotate(90deg); }
.mre-package-spec[open] summary i::after { transform: rotate(0); }
.mre-package-spec ul { margin: 0; padding: 0 0 25px 18px; color: rgba(23,21,18,.64); font: 400 12px/1.65 var(--mre-ui); }
.mre-package-spec li + li { margin-top: 6px; }
.mre-house-package__notes { margin: 0; padding: 18px clamp(28px, 4vw, 58px); border-top: 1px solid var(--mre-line); color: rgba(23,21,18,.46); font: 400 10px/1.5 var(--mre-ui); }

.mre-house-resources { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 100vh; padding: var(--mre-page-pad); align-items: center; gap: 40px; color: var(--mre-white); background: var(--mre-brown); }
.mre-house-resources > div { display: flex; flex-wrap: wrap; gap: 10px; }
.mre-house-resources a { padding: 16px 18px; border: 1px solid rgba(255,255,255,.4); color: inherit; text-decoration: none; font: 600 10px/1 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; }
.mre-house-resources a:hover,
.mre-house-resources a:focus-visible { border-color: var(--mre-yellow); color: var(--mre-ink); background: var(--mre-yellow); }

.mre-house-related { min-height: 100vh; padding: var(--mre-page-pad); background: var(--mre-paper); }
.mre-house-related__header { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.mre-house-related__header h2 { max-width: 860px; margin: 0; color: inherit; font: var(--mre-editorial-title-weight) var(--mre-editorial-title-size)/var(--mre-editorial-title-leading) var(--mre-display); letter-spacing: var(--mre-editorial-title-tracking); text-wrap: balance; }
.mre-house-related__header .mre-catalogue-button { flex: 0 0 auto; }
.mre-house-related__grid { min-height: 0; margin-top: clamp(35px, 5vw, 70px); gap: clamp(16px, 2vw, 34px); }
.mre-house-related__grid .mre-house-card { min-height: 0; }
.mre-house-related__grid .mre-house-card__media { min-height: 0; flex: 1 1 auto; }
.mre-house-related__grid .mre-house-card__body { flex: 0 0 auto; }
.mre-house-related__grid .mre-house-card__heading { min-height: clamp(62px, 8vh, 82px); }
.mre-house-related__grid .mre-empty { align-self: stretch; }

/* In-page project selection and consultation finalisation. */
.mre-inquiry-cart-dock { --mre-inquiry-dock-handle: 44px; position: fixed; left: 0; bottom: var(--mre-page-pad); z-index: 92; display: flex; padding-left: var(--mre-page-pad); align-items: stretch; filter: drop-shadow(0 16px 30px rgba(23,21,18,.18)); transform: translateX(0); transition: transform .58s var(--mre-ease); will-change: transform; }
.mre-inquiry-cart-dock[hidden] { display: none; }
.mre-inquiry-cart-dock.is-collapsed { transform: translateX(calc(-100% + var(--mre-inquiry-dock-handle))); }
.mre-inquiry-cart-trigger { position: relative; display: inline-flex; min-height: 54px; padding: 0 18px; align-items: center; gap: 16px; border: 1px solid var(--mre-ink); border-radius: 0; color: var(--mre-white); background: var(--mre-ink); cursor: pointer; font: 600 10px/1 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease), transform .3s var(--mre-ease); }
.mre-inquiry-cart-trigger:hover,
.mre-inquiry-cart-trigger:focus-visible { color: var(--mre-ink); background: var(--mre-yellow); transform: translateY(-2px); }
.mre-inquiry-cart-trigger strong { display: grid; width: 28px; height: 28px; place-items: center; color: var(--mre-ink); background: var(--mre-yellow); font: 700 10px/1 var(--mre-ui); }
.mre-inquiry-cart-trigger:hover strong,
.mre-inquiry-cart-trigger:focus-visible strong { background: var(--mre-white); }
.mre-inquiry-cart-dock__toggle { position: relative; display: grid; flex: 0 0 var(--mre-inquiry-dock-handle); width: var(--mre-inquiry-dock-handle); min-height: 54px; padding: 0; place-items: center; border: 1px solid var(--mre-ink); border-inline-start: 1px solid rgba(255,255,255,.2); border-radius: 0; color: var(--mre-white); background: var(--mre-ink); cursor: pointer; transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease), border-color .3s var(--mre-ease); }
.mre-inquiry-cart-dock__toggle span { display: block; width: 9px; height: 9px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(-135deg); transition: transform .48s var(--mre-ease); }
.mre-inquiry-cart-dock.is-collapsed .mre-inquiry-cart-dock__toggle span { transform: rotate(45deg); }
.mre-inquiry-cart-dock__toggle:hover,
.mre-inquiry-cart-dock__toggle:focus-visible { border-color: var(--mre-yellow); color: var(--mre-ink); background: var(--mre-yellow); }
.mre-house-hero__inquiry { cursor: pointer; }
.mre-house-hero__inquiry.is-selected { border-color: var(--mre-yellow); color: var(--mre-ink); background: var(--mre-yellow); }
body.mre-inquiry-cart-open { overflow: hidden; }
.mre-inquiry-cart { width: min(1500px, calc(100vw - (2 * var(--mre-page-pad)))); max-width: none; max-height: calc(100svh - (2 * var(--mre-page-pad))); margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 0; color: var(--mre-ink); background: var(--mre-paper); box-shadow: 0 30px 110px rgba(0,0,0,.34); font-family: var(--mre-ui); }
.mre-inquiry-cart::backdrop { background: rgba(15,13,11,.74); backdrop-filter: blur(9px); }
.mre-inquiry-cart[open] { animation: mre-inquiry-cart-in .48s var(--mre-ease) both; }
@keyframes mre-inquiry-cart-in { from { opacity: 0; transform: translateY(30px) scale(.985); } to { opacity: 1; transform: none; } }
.mre-inquiry-cart__shell { display: grid; grid-template-rows: auto minmax(0, 1fr); max-height: calc(100svh - (2 * var(--mre-page-pad))); }
.mre-inquiry-cart__header { display: flex; padding: clamp(24px, 3vw, 44px); align-items: start; justify-content: space-between; gap: 40px; border-bottom: 1px solid var(--mre-line); }
.mre-inquiry-cart__header h2 { margin: 0 0 12px; font: 400 clamp(32px, 3.2vw, 52px)/.96 var(--mre-display); letter-spacing: -.06em; }
.mre-inquiry-cart__header p { max-width: 68ch; margin: 0; color: rgba(23,21,18,.57); font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; }
.mre-inquiry-cart__close { display: grid; flex: 0 0 48px; width: 48px; height: 48px; padding: 0; place-items: center; border: 1px solid var(--mre-line); border-radius: 0; color: var(--mre-ink); background: transparent; cursor: pointer; font: 300 29px/1 var(--mre-display); transition: background-color .3s var(--mre-ease), border-color .3s var(--mre-ease); }
.mre-inquiry-cart__close:hover,
.mre-inquiry-cart__close:focus-visible { border-color: var(--mre-yellow); background: var(--mre-yellow); }
.mre-inquiry-cart__body { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); min-height: 0; overflow: auto; }
.mre-inquiry-cart__selection,
.mre-inquiry-cart__finalise { min-width: 0; padding: clamp(24px, 3vw, 44px); }
.mre-inquiry-cart__selection { border-inline-end: 1px solid var(--mre-line); background: var(--mre-mist); }
.mre-inquiry-cart__section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.mre-inquiry-cart__section-heading h3,
.mre-inquiry-cart__finalise > h3 { margin: 0; font: 400 clamp(20px, 1.7vw, 28px)/1 var(--mre-display); letter-spacing: -.04em; }
.mre-inquiry-cart__section-heading > span { color: rgba(23,21,18,.52); font: 600 10px/1 var(--mre-ui); letter-spacing: .12em; }
.mre-inquiry-cart__items { display: grid; gap: 10px; }
.mre-inquiry-cart__empty { margin: 0; padding: 34px 20px; border: 1px solid var(--mre-line); color: rgba(23,21,18,.56); text-align: center; font: 400 13px/1.55 var(--mre-ui); }
.mre-inquiry-cart__item { display: grid; grid-template-columns: 96px minmax(0, 1fr) 56px; min-height: 82px; border: 1px solid var(--mre-line); background: var(--mre-paper); }
.mre-inquiry-cart__item img,
.mre-inquiry-cart__item-image { display: block; width: 96px; height: 100%; object-fit: cover; background: var(--mre-paper-deep); }
.mre-inquiry-cart__item-copy { min-width: 0; padding: 15px 14px; }
.mre-inquiry-cart__item-copy h4 { margin: 0 0 7px; font: 400 17px/1.1 var(--mre-display); letter-spacing: -.035em; }
.mre-inquiry-cart__item-copy a { color: inherit; text-decoration: none; }
.mre-inquiry-cart__item-copy p { margin: 0; color: rgba(23,21,18,.52); font: 600 9px/1.3 var(--mre-ui); letter-spacing: .08em; text-transform: uppercase; }
.mre-inquiry-cart__remove { display: grid; width: 36px; height: 36px; margin: 10px; padding: 0; place-self: start center; place-items: center; border: 1px solid var(--mre-line); border-radius: 0; color: var(--mre-ink); background: transparent; cursor: pointer; font: 300 19px/1 var(--mre-display); transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease), border-color .3s var(--mre-ease), transform .3s var(--mre-ease); }
.mre-inquiry-cart__remove:hover,
.mre-inquiry-cart__remove:focus-visible { border-color: var(--mre-yellow); background: var(--mre-yellow); transform: scale(.96); }
.mre-inquiry-cart__catalogue-link { display: inline-block; margin-top: 22px; padding-bottom: 5px; border-bottom: 1px solid currentColor; color: var(--mre-ink); text-decoration: none; font: 600 9px/1 var(--mre-ui); letter-spacing: .13em; text-transform: uppercase; }
.mre-inquiry-cart__finalise > h3 { margin-bottom: 22px; }
.mre-inquiry-cart__form { display: block; }
.mre-inquiry-cart__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--mre-line); border-inline-start: 1px solid var(--mre-line); }
.mre-inquiry-cart__fields > label { display: flex; min-width: 0; min-height: 82px; padding: 15px 17px; flex-direction: column; justify-content: space-between; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); }
.mre-inquiry-cart__fields > label > span,
.mre-inquiry-cart__choice-title { display: block; margin: 0 0 14px; color: rgba(23,21,18,.5); font: 600 8px/1.25 var(--mre-ui); letter-spacing: .13em; text-transform: uppercase; }
.mre-inquiry-cart__fields input:not([type="radio"]),
.mre-inquiry-cart__fields select,
.mre-inquiry-cart__fields textarea { width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; outline: 0; color: var(--mre-ink); background: transparent; box-shadow: none; font: 500 14px/1.35 var(--mre-ui); }
.mre-inquiry-cart__fields input:not([type="radio"]),
.mre-inquiry-cart__fields select { height: 28px; }
.mre-inquiry-cart__fields textarea { min-height: 64px; resize: vertical; }
.mre-inquiry-cart__fields input:focus,
.mre-inquiry-cart__fields select:focus,
.mre-inquiry-cart__fields textarea:focus { box-shadow: inset 0 -1px var(--mre-ink); }
.mre-inquiry-cart__field-wide { grid-column: 1 / -1; }
.mre-inquiry-cart__choice { display: block; min-width: 0; min-height: 118px; margin: 0; padding: 24px 17px 17px; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); }
.mre-inquiry-cart__toggle { display: inline-grid; grid-template-columns: repeat(2, minmax(76px, 1fr)); padding: 3px; gap: 3px; background: rgba(23,21,18,.065); }
.mre-inquiry-cart__toggle label { position: relative; display: block; margin: 0; font: 600 11px/1 var(--mre-ui); cursor: pointer; }
.mre-inquiry-cart__toggle input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; opacity: 0; pointer-events: none; }
.mre-inquiry-cart__toggle span { display: grid; min-height: 36px; padding: 0 20px; place-items: center; border: 1px solid transparent; color: rgba(23,21,18,.62); background: transparent; transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease), border-color .3s var(--mre-ease), transform .3s var(--mre-ease); }
.mre-inquiry-cart__toggle label:hover span { color: var(--mre-ink); background: rgba(255,255,255,.7); }
.mre-inquiry-cart__toggle input:checked + span { border-color: var(--mre-ink); color: var(--mre-white); background: var(--mre-ink); }
.mre-inquiry-cart__toggle input:focus-visible + span { outline: 2px solid var(--mre-yellow); outline-offset: 2px; }
.mre-inquiry-cart__consent { display: flex; margin-top: 18px; align-items: start; gap: 9px; color: rgba(23,21,18,.62); font: 400 11px/1.45 var(--mre-ui); }
.mre-inquiry-cart__submit { width: 100%; min-height: 52px; margin-top: 20px; cursor: pointer; }
.mre-inquiry-cart__submit:disabled { opacity: .42; cursor: not-allowed; }
.mre-inquiry-cart .mre-form-message { min-height: 20px; margin: 0 0 12px; color: #276239; font: 600 11px/1.4 var(--mre-ui); }
.mre-inquiry-cart .mre-form-message:empty { min-height: 0; margin: 0; }
.mre-inquiry-cart .mre-form-message.is-error { color: #8b2720; }

/* Existing catalogue components retain a clean shared base. */
.mre-house-carousel { position: relative; overflow: hidden; font-family: var(--mre-ui); }
.mre-house-carousel-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.mre-house-carousel-track::-webkit-scrollbar { display: none; }
.mre-house-carousel-slide { flex: 0 0 100%; scroll-snap-align: start; }
.mre-house-carousel > .mre-carousel-previous,
.mre-house-carousel > .mre-carousel-next { position: absolute; z-index: 3; bottom: 18px; color: var(--mre-ink); border-color: var(--mre-line); background: var(--mre-paper); font-size: 0; }
.mre-house-carousel > .mre-carousel-previous { right: 70px; }
.mre-house-carousel > .mre-carousel-next { right: 18px; }
.mre-house-carousel > .mre-carousel-previous::before { content: "←"; font-size: 17px; }
.mre-house-carousel > .mre-carousel-next::before { content: "→"; font-size: 17px; }
.mre-house-gallery img,
.mre-floorplan img { max-width: 100%; height: auto; }
.mre-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
[hidden] { display: none !important; }
.mre-inquiry-form input,
.mre-inquiry-form select,
.mre-inquiry-form textarea { max-width: 100%; border-radius: 0; }
.mre-comparison { overflow-x: auto; }
.mre-comparison table,
.mre-account-enquiries { width: 100%; border-collapse: collapse; }
.mre-comparison th,
.mre-comparison td,
.mre-account-enquiries th,
.mre-account-enquiries td { padding: 14px; border: 1px solid var(--mre-line); text-align: start; vertical-align: top; }

/* Catalogue comparison tray and side-by-side modal. */
.mre-comparison-trigger { position: fixed; right: var(--mre-page-pad); bottom: var(--mre-page-pad); z-index: 90; display: inline-flex; min-height: 54px; padding: 0 18px; align-items: center; gap: 16px; border: 1px solid var(--mre-ink); border-radius: 0; color: var(--mre-white); background: var(--mre-ink); box-shadow: 0 16px 48px rgba(23,21,18,.2); cursor: pointer; font: 600 10px/1 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; transition: color .3s var(--mre-ease), background-color .3s var(--mre-ease), transform .3s var(--mre-ease); }
.mre-comparison-trigger:hover,
.mre-comparison-trigger:focus-visible { color: var(--mre-ink); background: var(--mre-yellow); transform: translateY(-2px); }
.mre-comparison-trigger strong { display: grid; width: 28px; height: 28px; place-items: center; color: var(--mre-ink); background: var(--mre-yellow); font: 700 10px/1 var(--mre-ui); }
.mre-comparison-trigger:hover strong,
.mre-comparison-trigger:focus-visible strong { background: var(--mre-white); }
.mre-comparison-trigger[hidden] { display: none; }
body.mre-comparison-open { overflow: hidden; }
.mre-comparison-dialog { width: min(1420px, calc(100vw - (2 * var(--mre-page-pad)))); max-width: none; max-height: calc(100svh - (2 * var(--mre-page-pad))); margin: auto; padding: 0; overflow: hidden; border: 0; border-radius: 0; color: var(--mre-ink); background: var(--mre-paper); box-shadow: 0 30px 100px rgba(0,0,0,.3); font-family: var(--mre-ui); }
.mre-comparison-dialog::backdrop { background: rgba(15,13,11,.72); backdrop-filter: blur(8px); }
.mre-comparison-dialog[open] { animation: mre-comparison-in .45s var(--mre-ease) both; }
@keyframes mre-comparison-in { from { opacity: 0; transform: translateY(28px) scale(.985); } to { opacity: 1; transform: none; } }
.mre-comparison-dialog__shell { display: grid; grid-template-rows: auto minmax(0, 1fr); max-height: calc(100svh - (2 * var(--mre-page-pad))); }
.mre-comparison-dialog__header { display: flex; padding: clamp(24px, 3vw, 44px); align-items: start; justify-content: space-between; gap: 40px; border-bottom: 1px solid var(--mre-line); }
.mre-comparison-dialog__header h2 { margin: 0 0 10px; font: 400 clamp(32px, 3.2vw, 52px)/.96 var(--mre-display); letter-spacing: -.055em; }
.mre-comparison-dialog__header p { max-width: 54ch; margin: 0; color: rgba(23,21,18,.57); font: 400 var(--mre-editorial-copy-size)/var(--mre-editorial-copy-leading) var(--mre-ui); letter-spacing: -.01em; }
.mre-comparison-dialog__close { display: grid; flex: 0 0 48px; width: 48px; height: 48px; padding: 0; place-items: center; border: 1px solid var(--mre-line); border-radius: 0; color: var(--mre-ink); background: transparent; cursor: pointer; font: 300 29px/1 var(--mre-display); transition: color .3s var(--mre-ease), border-color .3s var(--mre-ease), background-color .3s var(--mre-ease); }
.mre-comparison-dialog__close:hover,
.mre-comparison-dialog__close:focus-visible { border-color: var(--mre-yellow); background: var(--mre-yellow); }
.mre-comparison-dialog__content { min-height: 0; padding: clamp(22px, 3vw, 42px); overflow: auto; }
.mre-comparison-dialog__status { margin: 0; padding: 50px 20px; color: rgba(23,21,18,.58); text-align: center; }
.mre-comparison-projects { display: grid; grid-template-columns: repeat(var(--mre-compare-count), minmax(220px, 1fr)); gap: 1px; margin-bottom: 28px; background: var(--mre-line); border: 1px solid var(--mre-line); }
.mre-comparison-project { min-width: 0; background: var(--mre-paper); }
.mre-comparison-project__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--mre-paper-deep); }
.mre-comparison-project__body { padding: 18px; }
.mre-comparison-project h3 { margin: 0 0 10px; font: 400 clamp(20px, 1.7vw, 28px)/1 var(--mre-display); letter-spacing: -.045em; }
.mre-comparison-project h3 a { color: inherit; text-decoration: none; }
.mre-comparison-project p { margin: 0; color: rgba(23,21,18,.62); font: 600 11px/1.3 var(--mre-ui); }
.mre-comparison-metrics { min-width: calc(190px + (var(--mre-compare-count) * 190px)); border-top: 1px solid var(--mre-line); border-inline-start: 1px solid var(--mre-line); }
.mre-comparison-metric { display: grid; grid-template-columns: minmax(170px, .65fr) repeat(var(--mre-compare-count), minmax(190px, 1fr)); }
.mre-comparison-metric > * { min-width: 0; min-height: 58px; margin: 0; padding: 17px 18px; border-inline-end: 1px solid var(--mre-line); border-bottom: 1px solid var(--mre-line); }
.mre-comparison-metric dt { color: rgba(23,21,18,.5); font: 600 9px/1.35 var(--mre-ui); letter-spacing: .12em; text-transform: uppercase; }
.mre-comparison-metric dd { font: 550 clamp(14px, 1.15vw, 18px)/1.3 var(--mre-display); }

[data-mre-reveal] { opacity: 0; transform: translateY(32px); transition: opacity .85s var(--mre-ease), transform .85s var(--mre-ease); }
[data-mre-reveal].is-visible { opacity: 1; transform: none; }
.mre-house-grid [data-mre-reveal]:nth-child(3n + 2) { transition-delay: .08s; }
.mre-house-grid [data-mre-reveal]:nth-child(3n + 3) { transition-delay: .16s; }

@media (max-width: 1180px) {
	.mre-catalogue-categories { --mre-visible-items: 1; }
	.mre-catalogue-category { grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); flex-basis: calc(100vw - (2 * var(--mre-page-pad))); }
	.mre-house-grid { --mre-columns: 2 !important; }
	.mre-catalogue-hero__layout { grid-template-columns: minmax(0, 1fr) 310px; }
	.mre-house-filters__primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mre-house-filters__actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mre-filter-toggle { grid-column: span 1; }
	.mre-house-filters__actions .mre-filter-submit { grid-column: 1 / -1; }
	.mre-house-filters__advanced { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mre-load-more-preview .mre-house-card:nth-child(n + 3) { display: none; }
}

@media (max-width: 900px) {
	.mre-catalogue-hero__layout { grid-template-columns: 1fr; align-content: end; gap: 28px; }
	.mre-catalogue-hero__copy { align-self: end; }
	.mre-catalogue-hero__facts { width: min(100%, 620px); }
	.mre-catalogue-categories { height: auto; min-height: 90svh; }
	.mre-catalogue-categories__track { min-height: 58vh; }
	.mre-catalogue-category { grid-template-columns: 1.15fr minmax(300px, .85fr); flex-basis: calc(100vw - (2 * var(--mre-page-pad))); }
	.mre-catalogue__header { grid-template-columns: 1fr; gap: 30px; }
	.mre-house-hero__layout { grid-template-columns: minmax(0, 1fr) 310px; gap: 35px; }
	.mre-house-overview { grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr); gap: 35px; }
	.mre-house-overview__gallery { min-height: 560px; }
	.mre-house-description { gap: 55px; }
	.mre-house-section__header { grid-template-columns: minmax(0, 1fr) minmax(240px, .45fr); }
	.mre-house-resources { grid-template-columns: 1fr; }
	.mre-inquiry-cart__body { grid-template-columns: 1fr; }
	.mre-inquiry-cart__selection { border-inline-end: 0; border-bottom: 1px solid var(--mre-line); }
	.mre-inquiry-cart__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mre-inquiry-cart__item { grid-template-columns: 1fr 56px; }
	.mre-inquiry-cart__item img,
	.mre-inquiry-cart__item-image { grid-column: 1 / -1; width: 100%; height: 110px; }
}

@media (max-width: 680px) {
	.mre-not-found__number {
		inset: 108px 18px 18px;
		grid-template-columns: repeat(3, 1fr);
		align-content: center;
		font-size: 31vw;
		line-height: .72;
	}
	.mre-not-found__layout {
		grid-template-columns: 1fr;
		align-content: end;
		gap: 22px;
		padding: 112px 18px 22px;
	}
	.mre-not-found__index { align-self: auto; }
	.mre-not-found__index i { width: 54px; }
	.mre-not-found__copy h1 { max-width: 9ch; font-size: clamp(43px, 14vw, 66px); }
	.mre-not-found__copy p { max-width: 38ch; margin-top: 18px; }
	.mre-not-found__button { width: 100%; margin-top: 24px; }
	.mre-not-found__note { display: none; }

	:root {
		--mre-page-pad: 30px;
		--mre-editorial-title-size: clamp(35px, 10.5vw, 49px);
		--mre-editorial-title-leading: .96;
		--mre-editorial-title-tracking: -.058em;
		--mre-editorial-copy-size: 9.5px;
		--mre-editorial-copy-leading: 1.46;
	}
	.mre-full-bleed { left: 50%; width: 100vw; margin-inline-start: -50vw !important; }
	.mre-catalogue-hero__layout { min-height: 100svh; gap: 22px; padding-top: 96px; padding-bottom: var(--mre-page-pad); }
	.mre-catalogue-hero h1 { font-size: var(--mre-editorial-title-size); line-height: var(--mre-editorial-title-leading); }
	.mre-catalogue-hero__lede { margin-top: 18px; font-size: var(--mre-editorial-copy-size); }
	.mre-catalogue-actions { display: grid; grid-template-columns: 1fr; margin-top: 22px; }
	.mre-catalogue-button { width: 100%; min-width: 0; }
	.mre-catalogue-hero__facts { grid-template-columns: repeat(2, 1fr); }
	.mre-catalogue-hero__facts > div { min-height: 82px; padding: 13px 12px; }
	.mre-catalogue-hero__facts strong { margin-bottom: 10px; font-size: clamp(20px, 6vw, 27px); }
	.mre-catalogue-categories__header { grid-template-columns: 1fr; align-items: start; gap: 20px; padding-top: var(--mre-page-pad); padding-bottom: 26px; }
	.mre-catalogue-categories__header h2 { font-size: var(--mre-editorial-title-size); }
	.mre-catalogue-categories__aside { align-items: flex-start; gap: 16px; }
	.mre-catalogue-categories__intro { max-width: 40ch; text-align: left; font-size: var(--mre-editorial-copy-size); }
	.mre-catalogue-carousel-meta { width: 130px; padding-bottom: 0; }
	.mre-catalogue-categories__track { min-height: 0; }
	.mre-catalogue-category { grid-template-columns: 1fr; flex-basis: calc(100vw - (2 * var(--mre-page-pad))); height: auto; }
	.mre-catalogue-category__image-wrap { min-height: 0; aspect-ratio: 4 / 3; }
	.mre-catalogue-category__body { min-height: 280px; padding: 25px 22px; border-inline-start: 0; border-top: 1px solid var(--mre-line); }
	.mre-catalogue-category__meta { margin-bottom: 34px !important; }
	.mre-catalogue-category h3 { margin: 0 0 14px; font-size: clamp(30px, 8.8vw, 40px); }
	.mre-catalogue-category__cta { margin-top: 24px; }
	.mre-catalogue-categories__footer { gap: 20px; }
	.mre-catalogue { padding: var(--mre-page-pad) 0; }
	.mre-catalogue__header h2 { font-size: var(--mre-editorial-title-size); }
	.mre-house-filters__primary,
	.mre-house-filters__advanced { grid-template-columns: 1fr; }
	.mre-house-filters__primary label { min-height: 82px; }
	.mre-house-filters__actions { display: grid; grid-template-columns: 1fr 1fr; }
	.mre-house-filters__actions .mre-filter-toggle { margin: 0; border-inline-start: 0; }
	.mre-house-filters__actions .mre-filter-submit { grid-column: 1 / -1; width: 100%; min-width: 0; }
	.mre-house-filters__range,
	.mre-house-filters__numbers,
	.mre-house-filters__technology { min-height: 132px; border-inline-start: 0; }
	.mre-catalogue-grid-bar { align-items: start; flex-direction: column; gap: 8px; }
	.mre-house-grid { --mre-columns: 1 !important; }
	.mre-house-card__heading { display: block; min-height: 0; }
	.mre-house-card .mre-house-price { margin-top: 12px; }
	.mre-house-card-specs { margin-top: 25px; }
	.mre-load-more-wrap { min-height: 150px; margin-top: 42px; }
	.mre-load-more-preview { max-height: min(330px, 43vh); }
	.mre-load-more-preview .mre-house-card:nth-child(n + 2) { display: none; }
	.mre-house-hero__layout { grid-template-columns: 1fr; align-content: end; gap: 20px; padding: var(--mre-page-pad); }
	.mre-house-hero h1 { font-size: var(--mre-editorial-title-size); line-height: var(--mre-editorial-title-leading); }
	.mre-house-hero__lede { display: -webkit-box; margin-top: 16px; overflow: hidden; font-size: var(--mre-editorial-copy-size); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
	.mre-house-hero__facts { grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); }
	.mre-house-hero__facts > div { min-height: 68px; padding: 11px 8px; }
	.mre-house-hero__facts strong { margin-bottom: 8px; font-size: clamp(15px, 4.2vw, 20px); }
	.mre-house-hero__facts span { font-size: 6px; letter-spacing: .08em; }
	.mre-house-overview { grid-template-columns: 1fr; min-height: 100vh; padding: var(--mre-page-pad); gap: 36px; }
	.mre-house-overview__gallery { min-height: 0; aspect-ratio: 4 / 3; }
	.mre-house-overview__gallery-ui { right: 10px; bottom: 10px; gap: 6px; }
	.mre-house-overview__gallery-ui > p { min-width: 62px; height: 38px; padding-inline: 9px; }
	.mre-house-overview__gallery-ui button { width: 38px; height: 38px; }
	.mre-house-overview__content h2 { font-size: var(--mre-editorial-title-size); }
	.mre-house-overview__price { grid-template-columns: 1fr; align-items: start; }
	.mre-house-overview__price strong { grid-row: auto; white-space: normal; }
	.mre-house-overview__specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mre-house-description { grid-template-columns: 1fr; padding: var(--mre-page-pad); gap: 36px; }
	.mre-house-description h2,
	.mre-house-section__header h2,
	.mre-house-resources h2 { font-size: var(--mre-editorial-title-size); }
	.mre-house-description__copy { padding-top: 24px; font-size: 14px; }
	.mre-house-section { padding: var(--mre-page-pad); }
	.mre-house-section__header { grid-template-columns: 1fr; margin-bottom: 38px; gap: 22px; }
	.mre-house-floorplans { grid-template-columns: 1fr; }
	.mre-floorplan { grid-template-rows: auto minmax(240px, 1fr) auto; padding: 20px; }
	.mre-floorplan-image { min-height: 240px; }
	.mre-house-packages__tabs { grid-template-columns: 1fr; }
	.mre-house-packages__tabs button { min-height: 82px; }
	.mre-house-package__header { grid-template-columns: 1fr; align-items: start; }
	.mre-house-package__price { text-align: start; }
	.mre-package-specifications { grid-template-columns: 1fr; padding: 22px; }
	.mre-house-resources { grid-template-columns: 1fr; padding: var(--mre-page-pad); }
	.mre-house-resources > div { display: grid; }
	.mre-house-related { padding: var(--mre-page-pad); }
	.mre-house-related__header { align-items: start; gap: 15px; }
	.mre-house-related__header h2 { font-size: var(--mre-editorial-title-size); }
	.mre-house-related__header .mre-catalogue-button { display: none; }
	.mre-house-related__grid .mre-house-card:nth-child(n + 2) { display: none; }
	.mre-house-related__grid .mre-house-card__heading { min-height: 0; }
	.mre-house-related__grid .mre-house-card-specs { min-height: 50px; margin-top: 14px; }
	.mre-inquiry-cart-dock { --mre-inquiry-dock-handle: 42px; bottom: 18px; padding-left: 18px; }
	.mre-inquiry-cart-trigger { min-height: 48px; padding-inline: 14px; }
	.mre-inquiry-cart-dock__toggle { min-height: 48px; }
	.mre-inquiry-cart { width: calc(100vw - 24px); max-height: calc(100svh - 24px); }
	.mre-inquiry-cart__shell { max-height: calc(100svh - 24px); }
	.mre-inquiry-cart__header { padding: 22px 18px; }
	.mre-inquiry-cart__header p { font-size: 12px; }
	.mre-inquiry-cart__close { flex-basis: 42px; width: 42px; height: 42px; }
	.mre-inquiry-cart__selection,
	.mre-inquiry-cart__finalise { padding: 22px 18px; }
	.mre-inquiry-cart__items { grid-template-columns: 1fr; }
	.mre-inquiry-cart__item { grid-template-columns: 84px minmax(0, 1fr) 48px; }
	.mre-inquiry-cart__item img,
	.mre-inquiry-cart__item-image { grid-column: auto; width: 84px; height: 100%; }
	.mre-inquiry-cart__remove { width: 32px; height: 32px; margin: 8px; font-size: 17px; }
	.mre-inquiry-cart__fields { grid-template-columns: 1fr; }
	.mre-inquiry-cart__field-wide { grid-column: auto; }
	.mre-inquiry-cart__choice { min-height: 116px; padding: 23px 17px 17px; }
	.mre-inquiry-cart__toggle { display: grid; width: 100%; }
	.mre-comparison-trigger { right: 18px; bottom: 18px; min-height: 48px; padding-inline: 14px; }
	.mre-comparison-dialog { width: calc(100vw - 24px); max-height: calc(100svh - 24px); }
	.mre-comparison-dialog__shell { max-height: calc(100svh - 24px); }
	.mre-comparison-dialog__header { padding: 22px 18px; }
	.mre-comparison-dialog__header p { font-size: 12px; }
	.mre-comparison-dialog__close { flex-basis: 42px; width: 42px; height: 42px; }
	.mre-comparison-dialog__content { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
	.mre-catalogue-hero__media,
	.mre-house-card-image,
	.mre-catalogue-category__image,
	[data-mre-reveal] { transform: none !important; transition: none !important; }
	[data-mre-reveal] { opacity: 1; }
	.mre-catalogue-button__letter-track,
	.mre-catalogue-button__icon svg,
	.mre-inquiry-cart-dock,
	.mre-inquiry-cart-dock__toggle span { transition: none; }
	.mre-house-filters__advanced.is-opening { animation: none; }
	.mre-catalogue-grid-wrapper.is-appending .mre-load-more__icon svg { animation: none; }
	.mre-catalogue-button:hover .mre-catalogue-button__letter-track,
	.mre-catalogue-button:focus-visible .mre-catalogue-button__letter-track,
	.mre-catalogue-button:hover .mre-catalogue-button__icon svg:first-child,
	.mre-catalogue-button:focus-visible .mre-catalogue-button__icon svg:first-child { transform: none; }
	.mre-catalogue-button:hover .mre-catalogue-button__icon svg:last-child,
	.mre-catalogue-button:focus-visible .mre-catalogue-button__icon svg:last-child { transform: translateY(130%); }
	.mre-catalogue-categories__track { scroll-behavior: auto; }
}
