/**
 * Mark Oliver Estate Agency — Version 2 styles
 * Premium design refinement pass (pre–Phase 2 Alto).
 */

:root {
	--mo-header-bar-height: 5rem;
	--mo-header-total: var(--mo-header-bar-height);
	--mo-wp-admin-bar: 0px;
	--mo-header-clearance: calc(var(--mo-header-total) + var(--mo-wp-admin-bar));
	/*
	 * Theme 1.14.3 — homepage atmosphere (system default).
	 * Neutral black veil for all future hero photography.
	 * From rendered comparison: 30/40 insufficient for nav-on-sky;
	 * 50% matches OB Private measured treatment — subject to sign-off.
	 * Override only in extremes: style="--mo-hero-veil: 0.40"
	 */
	--mo-hero-veil: 0.50;
	/*
	 * Local 1.24.14 — White Frame palette trial (Board).
	 * Canvas #FFFFFF · Doorway #FBF9F6 · Ivory/stone #F7F4EF ·
	 * Linen/mist #E5DFD6 (structure only) · Champagne Wash #F3EDE3.
	 * Mist must not be used as large background fills.
	 */
	--mo-doorway-tone: #fbf9f6;
}

/* ==========================================================================
   Base & accessibility
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.mo-hero__media img {
		animation: none !important;
	}

	@media (min-width: 768px) {
		.mo-hero__media {
			animation: none !important;
			transform: none !important;
		}
	}
}

.skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 9999;
	padding: 0.75rem 1.25rem;
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: var(--wp--preset--color--white, #ffffff);
	text-decoration: none;
	border-radius: 4px;
}

.skip-link:focus {
	top: 1rem;
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne, #c9a962);
	outline-offset: 3px;
}

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

/*
 * Theme 1.14.9 — typography system lock
 * Loaded faces: Cormorant 400/500/600 (+ italic), Inter 400/500/600 (full glyphs).
 * Texturina 400 loaded separately with text= subset (maker mark only).
 * Disable browser faux-bold / faux-italic so letterforms never synthesise unevenly.
 */
body {
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

strong,
b {
	font-weight: 600;
}

/* ==========================================================================
   Site header — logo + primary nav
   ========================================================================== */

.mo-header-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	transition: box-shadow 0.25s ease, top 0.2s ease;
}

/* Theme 1.14.2 — WordPress admin bar offset (logged-in builders) */
body.admin-bar {
	--mo-wp-admin-bar: 32px;
}

body.admin-bar .mo-header-wrap {
	top: var(--mo-wp-admin-bar);
}

@media screen and (max-width: 782px) {
	body.admin-bar {
		--mo-wp-admin-bar: 46px;
	}

	body.admin-bar .mo-header-wrap {
		top: var(--mo-wp-admin-bar);
	}
}

.mo-header-wrap.is-scrolled {
	box-shadow: 0 4px 24px rgba(11, 31, 46, 0.10);
}

/* Contact icons (phone / email) — footer, contact, mobile CTA */
.mo-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	text-decoration: none;
	color: inherit;
}

.mo-icon {
	display: block;
	flex-shrink: 0;
	width: 1em;
	height: 1em;
}

.mo-btn.mo-contact-link .mo-icon {
	width: 0.95rem;
	height: 0.95rem;
}

@media (max-width: 1023px) {
	.mo-contact-link--phone {
		gap: 0.7rem;
	}
}

.mo-header {
	/* Theme 1.13.0 experiment — white header (was transparent over navy) */
	background: var(--wp--preset--color--white, #ffffff);
	transition: background 0.25s ease, backdrop-filter 0.25s ease;
}

.mo-header-wrap.is-scrolled .mo-header,
.mo-header--solid {
	/* Theme 1.13.0 experiment — was rgba(11, 31, 46, 0.97) */
	background: var(--wp--preset--color--white, #ffffff);
	backdrop-filter: none;
}

.mo-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1rem 1.5rem;
	min-height: var(--mo-header-bar-height);
}

.mo-header-wrap.is-scrolled .mo-header__inner {
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

.mo-logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	/* Theme 1.13.0 experiment — was white */
	color: var(--wp--preset--color--navy, #0b1f2e);
	line-height: 1.1;
	flex-shrink: 0;
}

.mo-logo__text {
	display: flex;
	flex-direction: column;
}

.mo-logo__name {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.125rem, 2vw, 1.5rem);
	font-weight: 500;
	font-style: normal;
	line-height: 1.1;
	letter-spacing: 0.02em;
}

.mo-logo__tagline {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.5625rem;
	font-weight: 500;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.85;
	margin-top: 0.15rem;
}

.mo-nav {
	display: none;
	align-items: center;
}

@media (min-width: 1024px) {
	.mo-nav {
		display: flex;
	}
}

.mo-nav__list {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mo-nav__item {
	position: relative;
}

.mo-nav__link {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.875rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 500;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	/* Theme 1.13.0 experiment — was white */
	color: var(--wp--preset--color--navy, #0b1f2e);
	transition: color 0.2s ease;
	position: relative;
}

.mo-nav__link--label {
	cursor: default;
}

.mo-nav__link::after {
	content: '';
	position: absolute;
	left: 0.875rem;
	right: 0.875rem;
	bottom: 0.25rem;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}

.mo-nav__link:hover::after,
.mo-nav__link:focus-visible::after,
.mo-nav__item:hover > .mo-nav__link::after {
	transform: scaleX(1);
}

.mo-nav__link:hover,
.mo-nav__link:focus-visible,
.mo-nav__item:hover > .mo-nav__link {
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-nav__sub {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	min-width: 11rem;
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	background: rgba(11, 31, 46, 0.98);
	border: 1px solid rgba(201, 169, 98, 0.2);
	border-radius: 4px;
	box-shadow: 0 12px 40px rgba(11, 31, 46, 0.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.mo-nav__item:hover .mo-nav__sub,
.mo-nav__item:focus-within .mo-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.mo-nav__sub a {
	display: block;
	padding: 0.625rem 1.25rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.85);
	transition: color 0.2s ease, background 0.2s ease;
}

.mo-nav__sub a:hover {
	color: var(--wp--preset--color--champagne, #c9a962);
	background: rgba(201, 169, 98, 0.08);
}

.mo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.5rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 4px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.mo-btn--primary {
	background: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-btn--primary:hover {
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-btn--outline {
	background: transparent;
	color: var(--wp--preset--color--white, #ffffff);
	border-color: rgba(255, 255, 255, 0.6);
}

.mo-btn--outline:hover {
	background: var(--wp--preset--color--white, #ffffff);
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-btn--brochure {
	background: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-property-main .mo-btn--brochure {
	padding: 0.625rem 1.15rem;
	font-size: 0.625rem;
	letter-spacing: 0.08em;
}

.mo-btn--brochure:hover {
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: var(--wp--preset--color--white, #ffffff);
}

/* Gold call button — icon + number; stays gold (not navy on hover) */
.mo-btn--call {
	gap: 0.55rem;
	background: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
	border-color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-btn--call:hover,
.mo-btn--call:focus-visible {
	background: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
	border-color: var(--wp--preset--color--champagne, #c9a962);
	filter: brightness(0.94);
}

.mo-btn--call .mo-icon--phone-btn {
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
}

.mo-btn--call-icon-only {
	padding: 0.8rem 1.05rem;
}

.mo-btn--call-icon-only .mo-icon--phone-btn {
	width: 1.35rem;
	height: 1.35rem;
}

.mo-btn--navy {
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-btn--outline-navy {
	background: transparent;
	color: var(--wp--preset--color--navy, #0b1f2e);
	border-color: rgba(11, 31, 46, 0.35);
}

.mo-btn--outline-navy:hover {
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: var(--wp--preset--color--white, #ffffff);
	border-color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-btn--navy:hover {
	background: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-menu-toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
}

@media (min-width: 1024px) {
	.mo-menu-toggle {
		display: none;
	}
}

.mo-menu-toggle__bar {
	display: block;
	width: 22px;
	height: 2px;
	/* Theme 1.13.0 experiment — was white */
	background: var(--wp--preset--color--navy, #0b1f2e);
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.mo-menu-toggle[aria-expanded='true'] .mo-menu-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.mo-menu-toggle[aria-expanded='true'] .mo-menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

.mo-menu-toggle[aria-expanded='true'] .mo-menu-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.mo-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 999;
	background: var(--wp--preset--color--navy, #0b1f2e);
	padding: calc(var(--mo-header-bar-height) + 2rem) 2rem 2rem;
	transform: translateX(100%);
	transition: transform 0.35s ease;
	overflow-y: auto;
}

.mo-mobile-nav.is-open {
	transform: translateX(0);
}

.mo-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mo-mobile-nav__link {
	display: block;
	padding: 1rem 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.75rem;
	font-weight: 400;
	font-style: normal;
	color: var(--wp--preset--color--white, #ffffff);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.mo-mobile-nav__link:hover {
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-mobile-nav__cta {
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* ==========================================================================
   Side CTA — BOOK VALUATION (right edge, brand feature)
   Desktop: physical ~40mm × 10mm (CSS mm undershoots on typical displays;
            sized in px from live ruler calibration: 40mm CSS ≈ 33mm physical)
   Mobile: rotated horizontal button overlay (~10px peek) — do not alter
   ========================================================================== */

:root {
	/*
	 * Physical target: 40mm length × 10mm depth.
	 * Live ruler check showed CSS 40mm×10mm rendering ~33mm×8mm,
	 * so scale length by 40/33 and depth by 10/8.
	 */
	--mo-side-cta-depth: 47px;
	--mo-side-cta-length: 183px;
	--mo-side-cta-tracking: 0.26em;
	--mo-side-cta-end-pad: 12px;
}

.mo-side-cta {
	position: fixed;
	top: 50%;
	right: max(0.4rem, env(safe-area-inset-right, 0px));
	z-index: 950;
	transform: translateY(-50%);
	/*
	 * Homepage chrome reveal — shared curve with floating search.
	 * Starts after a short hero beat; overlaps search fade (see main.js).
	 */
	animation: mo-side-cta-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

.mo-side-cta__button {
	display: block;
	text-decoration: none;
	color: inherit;
}

.mo-side-cta__label {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: var(--mo-side-cta-depth);
	height: var(--mo-side-cta-length);
	padding: var(--mo-side-cta-end-pad) 0;
	overflow: visible;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	background: var(--wp--preset--color--champagne, #c9a962);
	color: #ffffff;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: normal;
	text-indent: 0;
	text-transform: uppercase;
	line-height: 1;
	text-align: center;
	border-radius: 0;
	box-shadow: -1px 3px 14px rgba(11, 31, 46, 0.08);
	transition:
		background 0.4s ease,
		color 0.4s ease,
		width 0.4s cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 0.4s ease;
}

/* Tracking on inner text only — label flexbox handles true centre on both axes */
.mo-side-cta__text {
	display: block;
	letter-spacing: var(--mo-side-cta-tracking);
	margin: 0;
	padding: 0;
	color: #ffffff;
	line-height: 1;
	white-space: nowrap;
}

/* Desktop: subtle depth expand on hover */
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
	.mo-side-cta__button:hover .mo-side-cta__label {
		width: 54px;
		background: var(--wp--preset--color--champagne, #c9a962);
		color: #ffffff;
		box-shadow: -2px 4px 16px rgba(11, 31, 46, 0.09);
		filter: brightness(0.96);
	}

	.mo-side-cta__button:focus-visible {
		outline: none;
	}

	.mo-side-cta__button:focus-visible .mo-side-cta__label {
		width: 54px;
		outline: 2px solid var(--wp--preset--color--champagne, #c9a962);
		outline-offset: 2px;
		background: var(--wp--preset--color--champagne, #c9a962);
		color: #ffffff;
	}
}

@keyframes mo-side-cta-in {
	from {
		opacity: 0;
		transform: translateY(-50%) translateX(100%);
	}

	to {
		opacity: 1;
		transform: translateY(-50%) translateX(0);
	}
}

/*
 * Mobile — new implementation (previous mobile tab discarded).
 * Engineering: fixed flex overlay + horizontal button rotated -90deg,
 * ~50px depth, ~10px outside viewport, full label readable.
 */
@media (max-width: 1023px) {
	.mo-side-cta {
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		pointer-events: none;
		transform: none;
		animation: none;
	}

	.mo-side-cta {
		--mo-side-cta-tracking: 0.34em;
	}

	.mo-side-cta__button {
		--mo-side-cta-btn-height: 56px;
		pointer-events: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		height: var(--mo-side-cta-btn-height);
		padding: 0 1.6rem;
		margin-right: -10px;
		background: var(--wp--preset--color--champagne, #c9a962);
		color: #ffffff;
		font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
		font-size: 0.625rem;
		font-weight: 600;
		letter-spacing: normal;
		text-indent: 0;
		text-transform: uppercase;
		text-decoration: none;
		text-align: center;
		line-height: 1;
		white-space: nowrap;
		border-radius: 4px 0 0 4px;
		box-shadow: -2px 4px 16px rgba(11, 31, 46, 0.09);
		transform: rotate(-90deg) translateX(calc(50% + var(--mo-side-cta-btn-height) / 2));
		transform-origin: right bottom;
		transition: margin 0.4s ease, background 0.35s ease;
		/* Paired with search homepage reveal — same delay window + easing */
		animation: mo-side-cta-in-mobile 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
	}

	.mo-side-cta__label {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		padding: 0;
		margin: 0;
		writing-mode: horizontal-tb;
		transform: none;
		background: transparent;
		color: #ffffff;
		font: inherit;
		letter-spacing: normal;
		text-indent: 0;
		text-transform: inherit;
		text-align: center;
		line-height: 1;
		border-radius: 0;
		box-shadow: none;
		transition: none;
	}

	.mo-side-cta__text {
		letter-spacing: var(--mo-side-cta-tracking);
		margin: 0;
		padding: 0;
		/*
		 * After the button's -90deg rotate, local Y maps to screen X.
		 * Shift toward the page by half the 10px peek so text centres in the visible band.
		 */
		transform: translateY(-5px);
	}

	.mo-side-cta__button:focus-visible {
		outline: none;
		margin-right: 0;
	}

	.mo-side-cta__button:focus-visible .mo-side-cta__label {
		outline: none;
	}

	.mo-side-cta__button:focus-visible {
		box-shadow:
			-2px 4px 16px rgba(11, 31, 46, 0.09),
			0 0 0 2px var(--wp--preset--color--navy, #0b1f2e);
	}
}

@keyframes mo-side-cta-in-mobile {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mo-side-cta,
	.mo-side-cta__button {
		animation: none;
	}

	.mo-side-cta__label,
	.mo-side-cta__button {
		transition: none;
	}
}

/* Hide side CTA while mobile menu is open */
body:has(.mo-mobile-nav.is-open) .mo-side-cta {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

/* ==========================================================================
   Floating property search — one fixed object (expanded ↔ compact morph)
   ========================================================================== */

.mo-property-search {
	--mo-search-bottom: max(30px, env(safe-area-inset-bottom, 0px));
	position: fixed;
	left: 50%;
	bottom: var(--mo-search-bottom);
	z-index: 940;
	width: auto;
	max-width: calc(100% - 2rem);
	transform: translateX(-50%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	/* Match BOOK VALUATION entrance curve — calm, overlapping reveal */
	transition:
		opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.8s cubic-bezier(0.22, 1, 0.36, 1),
		width 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.mo-property-search.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mo-property-search.is-compact {
	width: auto;
	max-width: min(92vw, 42rem);
}

.mo-property-search__bar {
	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 5.85rem;
	padding: 1.1rem 1.35rem;
	border-radius: 4px;
	background: var(--wp--preset--color--white, #ffffff);
	border: 1px solid rgba(11, 31, 46, 0.1);
	color: var(--wp--preset--color--navy, #0b1f2e);
	box-shadow: 0 18px 44px rgba(11, 31, 46, 0.12);
	overflow: hidden;
	transition:
		min-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		padding 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		background 0.35s ease,
		border-color 0.35s ease,
		box-shadow 0.35s ease;
}

.mo-property-search.is-compact .mo-property-search__bar {
	min-height: 3.35rem;
	padding: 0;
	background: var(--wp--preset--color--champagne, #c9a962);
	border: none;
	box-shadow: 0 14px 36px rgba(11, 31, 46, 0.14);
}

.mo-property-search__icon {
	display: block;
	flex-shrink: 0;
}

.mo-property-search__compact {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	width: 100%;
	margin: 0;
	padding: 0.95rem 1.35rem;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--white, #ffffff);
	cursor: pointer;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	position: absolute;
	inset: 0;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mo-property-search.is-compact .mo-property-search__compact {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	position: relative;
}

.mo-property-search__compact:hover {
	background: rgba(255, 255, 255, 0.12);
}

.mo-property-search__compact:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.85);
	outline-offset: -2px;
}

.mo-property-search__compact-label {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.25;
}

.mo-property-search__form {
	display: block;
	width: min(20rem, calc(100vw - 3.5rem));
	min-width: 0;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mo-property-search.is-compact .mo-property-search__form {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.mo-property-search__field {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	min-width: 0;
}

.mo-property-search__label {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	color: rgba(11, 31, 46, 0.5);
	transition: font-size 0.35s ease;
}

.mo-property-search__channel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.45rem;
	width: 100%;
}

/* Channel toggle — selected stays full strength; unselected softens (touch-safe). */
.mo-property-search__channel-btn {
	margin: 0;
	padding: 0.7rem 0.85rem;
	border: 1px solid rgba(11, 31, 46, 0.16);
	border-radius: 3px;
	background: transparent;
	color: rgba(11, 31, 46, 0.42);
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: none;
	transition:
		color 0.2s ease,
		background 0.2s ease,
		border-color 0.2s ease,
		opacity 0.2s ease;
}

.mo-property-search__channel-btn:hover {
	color: rgba(11, 31, 46, 0.72);
	border-color: rgba(201, 169, 98, 0.55);
	background: rgba(201, 169, 98, 0.08);
}

.mo-property-search__channel-btn:focus {
	outline: none;
}

.mo-property-search__channel-btn:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne, #c9a962);
	outline-offset: 2px;
}

.mo-property-search__channel-btn:active {
	color: rgba(11, 31, 46, 0.85);
	border-color: rgba(201, 169, 98, 0.7);
}

.mo-property-search__channel-btn.is-active,
.mo-property-search__channel-btn[aria-pressed='true'] {
	border-color: var(--wp--preset--color--champagne, #c9a962);
	background: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-property-search__channel-btn.is-active:hover,
.mo-property-search__channel-btn[aria-pressed='true']:hover {
	background: var(--wp--preset--color--champagne, #c9a962);
	border-color: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
	filter: brightness(0.96);
}

.mo-property-search__channel-btn.is-active:focus-visible,
.mo-property-search__channel-btn[aria-pressed='true']:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne, #c9a962);
	outline-offset: 2px;
}

.mo-property-empty {
	padding: 3rem 1.5rem;
	text-align: center;
	background: rgba(247, 244, 239, 0.55);
	border: 1px solid rgba(11, 31, 46, 0.06);
}

.mo-property-empty__title {
	margin: 0 0 0.65rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.5rem, 2.5vw, 1.85rem);
	font-weight: 400;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-empty__text {
	margin: 0 0 1.5rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--slate, #2c3e50);
}

body:has(.mo-mobile-nav.is-open) .mo-property-search {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

@media (max-width: 959px) {
	.mo-property-search__channel-btn {
		padding: 0.65rem 0.55rem;
		font-size: 0.6875rem;
	}
}

@media (max-width: 767px) {
	.mo-property-search {
		--mo-search-bottom: max(20px, env(safe-area-inset-bottom, 0px));
		max-width: calc(100% - 1.5rem);
	}

	.mo-property-search.is-compact {
		max-width: min(92vw, 42rem);
	}

	/*
	 * Local 1.24.53 — mobile search panel depth (Board craft trial).
	 * Trim outer bar padding + label gap only; channel buttons unchanged (touch floor).
	 */
	.mo-property-search__bar {
		min-height: 0;
		padding: 0.8rem 0.9rem;
	}

	.mo-property-search.is-compact .mo-property-search__bar {
		min-height: 3.1rem;
	}

	.mo-property-search__field {
		gap: 0.35rem;
	}

	.mo-property-search__form {
		width: min(18.5rem, calc(100vw - 2.75rem));
	}

	.mo-property-search__channel {
		gap: 0.5rem;
	}

	.mo-property-search__channel-btn {
		padding: 0.85rem 0.65rem;
		font-size: 0.75rem;
		letter-spacing: 0.12em;
	}

	.mo-property-search__label {
		font-size: 0.625rem;
		letter-spacing: 0.1em;
	}

	.mo-property-search__compact {
		padding: 0.85rem 1rem;
		gap: 0.6rem;
	}

	.mo-property-search__compact-label {
		font-size: 0.625rem;
		letter-spacing: 0.08em;
		white-space: normal;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mo-property-search,
	.mo-property-search__bar,
	.mo-property-search__compact,
	.mo-property-search__form,
	.mo-property-search__label,
	.mo-property-search__channel-btn {
		transition: none;
	}
}

.mo-header-wrap:has(.mo-header--solid) {
	box-shadow: 0 4px 22px rgba(11, 31, 46, 0.05);
}

/*
 * ==========================================================================
 * Theme 1.14.0 — homepage threshold (atmosphere study)
 * Photography opens the house; paper holds inner pages (1.13.0 unchanged).
 * ==========================================================================
 * Theme 1.14.1 — typography & composition study
 * ==========================================================================
 * Theme 1.14.2 — 20% veil study (not signed off — insufficient)
 * Theme 1.14.3 — system veil --mo-hero-veil: 0.50 (rendered result)
 * Theme 1.15.0 — utility bar removed; header is logo + nav only.
 * Revert: set --mo-hero-veil back; or restore 1.14.1 overlay:none.
 * ==========================================================================
 */

body.home .mo-header-wrap:not(.is-scrolled) {
	box-shadow: none;
}

body.home .mo-header-wrap:not(.is-scrolled) .mo-header {
	background: transparent;
}

body.home .mo-header-wrap:not(.is-scrolled) .mo-logo {
	color: var(--wp--preset--color--white, #ffffff);
}

body.home .mo-header-wrap:not(.is-scrolled) .mo-logo__tagline {
	opacity: 0.78;
}

/* Theme 1.14.9 — colour only on transparent home chrome; size/weight locked to .mo-nav__link */
body.home .mo-header-wrap:not(.is-scrolled) .mo-nav__link {
	color: rgba(255, 255, 255, 0.92);
}

body.home .mo-header-wrap:not(.is-scrolled) .mo-menu-toggle__bar {
	background: var(--wp--preset--color--white, #ffffff);
}

/* ==========================================================================
   Trust strip (homepage)
   ========================================================================== */

.mo-trust-strip {
	background: var(--wp--preset--color--white, #ffffff);
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	padding: 1.25rem 1.5rem;
}

.mo-trust-strip__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.5rem 2.5rem;
	max-width: 1280px;
	margin: 0 auto;
}

.mo-trust-strip__item {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-trust-strip__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--wp--preset--color--stone, #f7f4ef);
	color: var(--wp--preset--color--champagne, #c9a962);
	font-size: 0.875rem;
	flex-shrink: 0;
}

/* ==========================================================================
   Hero
   ========================================================================== */

.mo-hero {
	position: relative;
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	/*
	 * Theme 1.14.1 — type seated lower-left on quieter ground (gate / shadow),
	 * not mid-driveway lavender. House keeps the centre.
	 */
	align-items: flex-end;
	justify-content: flex-start;
	/*
	 * Lift the line clear of search; keep it in the darker left third.
	 */
	--mo-hero-search-clearance: calc(
		max(30px, env(safe-area-inset-bottom, 0px)) + 6.75rem + 5.5rem
	);
	padding:
		5.5rem
		clamp(2.5rem, 6vw, 5rem)
		var(--mo-hero-search-clearance)
		clamp(1.75rem, 4vw, 3.5rem);
	background-color: var(--wp--preset--color--stone, #f7f4ef);
	overflow: hidden;
}

.mo-hero__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.mo-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	animation: mo-hero-kenburns 24s ease-in-out infinite alternate;
}

/*
 * Desktop (≥768px): Working Build 1.24.44 layer model — Ken Burns on the media
 * container, not the <img>. Prevents transform + global img { max-width:100% }
 * from rasterising the bitmap below cover resolution on large viewports.
 * Mobile (≤767px): unchanged — animation stays on img (Board: mobile already sharp).
 */
@media (min-width: 768px) {
	.mo-hero__media {
		transform: scale(1);
		animation: mo-hero-kenburns 24s ease-in-out infinite alternate;
	}

	.mo-hero__media img {
		max-width: none;
		min-width: 100%;
		min-height: 100%;
		transform: none;
		animation: none;
	}
}

/* Hockney's House hero — keep property centred; favour sky + driveway */
.mo-hero__media img.mo-hero__img--test {
	object-position: 50% 42%;
}

@keyframes mo-hero-kenburns {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.06);
	}
}

.mo-hero__overlay {
	/*
	 * Theme 1.14.3 — system atmosphere.
	 * Neutral black, full-bleed. Strength: --mo-hero-veil (default 0.50).
	 * No navy. No gradients. No text shadows on type.
	 */
	position: absolute;
	inset: 0;
	display: block;
	background: #000;
	opacity: var(--mo-hero-veil, 0.50);
	pointer-events: none;
	z-index: 0;
}

.mo-hero__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	width: auto;
	max-width: min(42rem, 56%);
	margin: 0;
	padding: 0;
	text-align: left;
}

/*
 * Local 1.24.19 — hero photographic reveal (Board trial, slower veil).
 * Default / no-JS / reduced-motion: final veiled + readable copy (above).
 * html.mo-hero-reveal-js armed in <head> before paint — no deferred-JS flash.
 * After media-ready: hold clear photo 0.5s, then 3s progressive veil + following type.
 * Easing: cubic-bezier(0.33, 0, 0.20, 1) — gentle entry; darkness emerges gradually.
 */
html.mo-hero-reveal-js .mo-hero[data-mo-hero-reveal]:not(.mo-hero--reveal-ready) .mo-hero__overlay {
	opacity: 0;
	will-change: opacity;
}

html.mo-hero-reveal-js .mo-hero[data-mo-hero-reveal]:not(.mo-hero--reveal-ready) .mo-hero__content {
	opacity: 0;
	transform: translate3d(0, 0.4rem, 0);
	will-change: opacity, transform;
}

html.mo-hero-reveal-js .mo-hero[data-mo-hero-reveal].mo-hero--reveal-ready .mo-hero__overlay {
	opacity: var(--mo-hero-veil, 0.50);
	/* Hold unveiled 0.5s, then 3.0s progressive settle to 0.50 */
	transition: opacity 3s cubic-bezier(0.33, 0, 0.20, 1) 0.5s;
}

html.mo-hero-reveal-js .mo-hero[data-mo-hero-reveal].mo-hero--reveal-ready .mo-hero__content {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	/*
	 * Hidden through clear hold; begins after veil has started establishing contrast.
	 * Delay 1.0s · opacity/move 2.4s · 0.4rem rise · same gentle easing.
	 */
	transition:
		opacity 2.4s cubic-bezier(0.33, 0, 0.20, 1) 1s,
		transform 2.4s cubic-bezier(0.33, 0, 0.20, 1) 1s;
}

	@media (prefers-reduced-motion: reduce) {
	html.mo-hero-reveal-js .mo-hero[data-mo-hero-reveal] .mo-hero__overlay {
		opacity: var(--mo-hero-veil, 0.50) !important;
		transition: none !important;
		will-change: auto !important;
	}

	html.mo-hero-reveal-js .mo-hero[data-mo-hero-reveal] .mo-hero__content {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		will-change: auto !important;
	}
}

/*
 * About coast band — photographic reveal (matches homepage hero timing).
 * Clear photo 0.5s · veil 3s · type from 1.0s over 2.4s.
 */
html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal]:not(.mo-about-figure--reveal-ready) .mo-about-figure__veil--intro {
	opacity: 0;
	will-change: opacity;
}

html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal]:not(.mo-about-figure--reveal-ready) .mo-about-figure__overlay--intro {
	opacity: 0;
	transform: translate3d(0, 0.4rem, 0);
	will-change: opacity, transform;
}

html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__veil--intro {
	opacity: 1;
	transition: opacity 3s cubic-bezier(0.33, 0, 0.20, 1) 0.5s;
}

html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__overlay--intro {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition:
		opacity 2.4s cubic-bezier(0.33, 0, 0.20, 1) 1s,
		transform 2.4s cubic-bezier(0.33, 0, 0.20, 1) 1s;
}

@media (prefers-reduced-motion: reduce) {
	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal] .mo-about-figure__veil--intro {
		opacity: 1 !important;
		transition: none !important;
		will-change: auto !important;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal] .mo-about-figure__overlay--intro {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		will-change: auto !important;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal] .mo-about-figure__overlay--intro .mo-about-figure__open,
	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal] .mo-about-figure__overlay--intro .mo-about-figure__body {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Mobile About reveal — staggered type; slightly quicker than desktop. */
@media (max-width: 767px) {
	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal]:not(.mo-about-figure--reveal-ready) .mo-about-figure__overlay--intro {
		opacity: 1;
		transform: none;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal]:not(.mo-about-figure--reveal-ready) .mo-about-figure__overlay--intro .mo-about-figure__open,
	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal]:not(.mo-about-figure--reveal-ready) .mo-about-figure__overlay--intro .mo-about-figure__body {
		opacity: 0;
		transform: translate3d(0, 0.45rem, 0);
		will-change: opacity, transform;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__veil--intro {
		transition: opacity 2.5s cubic-bezier(0.33, 0, 0.20, 1) 0.35s;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__overlay--intro {
		opacity: 1;
		transform: none;
		transition: none;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__overlay--intro .mo-about-figure__open {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition:
			opacity 2s cubic-bezier(0.33, 0, 0.20, 1) 0.55s,
			transform 2s cubic-bezier(0.33, 0, 0.20, 1) 0.55s;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__overlay--intro .mo-about-figure__body--lead {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition:
			opacity 2.1s cubic-bezier(0.33, 0, 0.20, 1) 0.8s,
			transform 2.1s cubic-bezier(0.33, 0, 0.20, 1) 0.8s;
	}

	html.mo-about-reveal-js .mo-about-figure[data-mo-about-reveal].mo-about-figure--reveal-ready .mo-about-figure__overlay--intro .mo-about-figure__body--continued {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		transition:
			opacity 2.1s cubic-bezier(0.33, 0, 0.20, 1) 1.05s,
			transform 2.1s cubic-bezier(0.33, 0, 0.20, 1) 1.05s;
	}
}

/*
 * Theme 1.14.7 — hero type reverted to pre–1.14.1 (1.14.0 metrics).
 * Veil handles readability; words introduce the house, do not compete.
 * No text-shadow (atmosphere retained). Composition / veil unchanged.
 */
.mo-hero__statement {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.9rem, 1.15rem + 3.8vw, 4rem);
	font-weight: 500;
	font-style: italic;
	letter-spacing: 0.05em;
	line-height: 1.15;
	color: var(--wp--preset--color--white, #ffffff);
	white-space: nowrap;
	text-shadow: none;
}

.mo-hero__statement-sub {
	margin: 1.5rem 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.125rem, 0.85rem + 1.55vw, 1.75rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.07em;
	line-height: 1.3;
	text-transform: none;
	color: var(--wp--preset--color--white, #ffffff);
	white-space: nowrap;
	text-shadow: none;
}

/* Legacy hero copy styles retained for possible reuse */
.mo-hero__label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
	margin-bottom: 1.25rem;
}

.mo-hero__label::before {
	content: '';
	display: block;
	width: 2.5rem;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
}

.mo-hero__title {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(2.5rem, 6vw, 4.25rem);
	font-weight: 400;
	line-height: 1.08;
	color: var(--wp--preset--color--white, #ffffff);
	max-width: 14ch;
	margin: 0 0 1.15rem;
}

.mo-hero__subtitle {
	font-size: clamp(1rem, 2vw, 1.25rem);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
	max-width: 42ch;
	margin: 0 0 1.75rem;
}

.mo-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.875rem;
	max-width: 42ch;
}

@media (max-width: 1023px) and (min-width: 768px) {
	.mo-hero {
		padding-left: clamp(1.5rem, 3.5vw, 2.75rem);
		--mo-hero-search-clearance: calc(
			max(30px, env(safe-area-inset-bottom, 0px)) + 6.75rem + 4.75rem
		);
	}

	.mo-hero__content {
		max-width: min(36rem, 62%);
	}
}

@media (max-width: 767px) {
	.mo-hero {
		/* Composition retained from 1.14.1 — type metrics only reverted */
		padding: 5rem 3rem 28vh 1.25rem;
	}

	.mo-hero__content {
		max-width: min(20rem, 92%);
	}

	.mo-hero__statement {
		font-size: clamp(1.55rem, 6.4vw, 2.35rem);
		letter-spacing: 0.045em;
	}

	.mo-hero__statement-sub {
		margin-top: 1.2rem;
		font-size: clamp(1.05rem, 3.8vw, 1.35rem);
		letter-spacing: 0.06em;
	}
}

/* ==========================================================================
   Homepage inscription — beneath The Art. The Craft.
   Working Build 1.24.41 — three-line Board-approved inscription (forty years).
   ========================================================================== */

.mo-inscription {
	padding: clamp(5.5rem, 12vw, 9.5rem) 1.5rem;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-inscription__inner {
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.mo-inscription__text {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	/* Approved from 1.24.26 trial — modest lift after strip removal */
	font-size: clamp(1.5rem, 1.05rem + 2vw, 2.35rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/*
 * Optical spacing (not equal measures): slightly more breath after the years
 * line so it reads as prelude; craft couplet sits a touch closer as one close.
 */
.mo-inscription__text + .mo-inscription__text {
	margin-top: 0.65rem;
}

.mo-inscription__text:first-child + .mo-inscription__text {
	margin-top: 0.95rem;
}

/* Shared editorial label — gold rule lines (homepage + About) */
.mo-content-label,
.mo-about-practice__label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.75rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-content-label::before,
.mo-content-label::after,
.mo-about-practice__label::before,
.mo-about-practice__label::after {
	content: '';
	display: block;
	width: 2rem;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
}

.mo-content-label--left {
	display: flex;
	width: 100%;
	justify-content: flex-start;
	margin-bottom: 1.35rem;
}

.mo-content-label--left::before {
	width: 2.75rem;
}

.mo-content-label--left::after {
	flex: 1;
	max-width: 5rem;
}

/* ==========================================================================
   Homepage intro — positioning under hero (1.24.58)
   ========================================================================== */

.mo-home-intro {
	padding: clamp(3.25rem, 6.5vw, 4.5rem) 1.5rem;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-home-intro__inner {
	max-width: 48rem;
	margin: 0 auto;
	text-align: center;
}

.mo-home-intro__lines {
	margin-top: clamp(1.5rem, 3vw, 2rem);
	text-align: left;
}

.mo-home-intro__line {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.3125rem, 1.15rem + 0.85vw, 1.6875rem);
	font-weight: 400;
	line-height: 1.66;
	letter-spacing: 0.018em;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-align: left;
}

.mo-home-intro__line--ruled {
	padding-bottom: clamp(0.9rem, 2vw, 1.2rem);
	margin-bottom: clamp(0.9rem, 2vw, 1.2rem);
	border-bottom: 1px solid rgb(201 169 98 / 0.4);
}

.mo-home-intro + .mo-inscription-band {
	padding-top: 0;
}

@media (min-width: 1024px) {
	.mo-home-intro__inner {
		max-width: 46rem;
	}

	.mo-home-intro__line {
		text-wrap: pretty;
	}
}

/* ==========================================================================
   Homepage inscription band — forty years in mist frame (1.24.57)
   ========================================================================== */

.mo-inscription-band,
.mo-positioning {
	padding: clamp(2rem, 4.5vw, 3rem) 0 0;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-inscription-band + .mo-featured-home {
	margin-top: 0;
}

.mo-inscription-band__shell,
.mo-positioning__shell {
	max-width: none;
	width: 100%;
	margin: 0;
}

.mo-inscription-band__frame,
.mo-positioning__frame {
	width: 100%;
	padding: clamp(2rem, 4vw, 2.75rem) clamp(1.5rem, 4vw, 3.5rem);
	background: linear-gradient(
		145deg,
		var(--wp--preset--color--stone, #f7f4ef) 0%,
		var(--wp--preset--color--mist, #e5dfd6) 52%,
		var(--wp--preset--color--stone, #f7f4ef) 100%
	);
	border-block: 1px solid rgb(201 169 98 / 0.22);
	box-shadow: 0 1px 0 rgb(255 255 255 / 0.65) inset;
}

.mo-inscription-band__layout,
.mo-positioning__layout {
	max-width: 68rem;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(1.5rem, 3.5vw, 2.25rem);
	align-items: center;
}

.mo-inscription-band__emblem,
.mo-positioning__emblem {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 0.85rem 1rem;
	background: rgb(255 255 255 / 0.42);
	border: 1px solid rgb(201 169 98 / 0.28);
	text-align: center;
}

.mo-inscription-band__years,
.mo-positioning__years {
	display: block;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.65rem, 1.35rem + 0.9vw, 2.1rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-inscription-band__years-label,
.mo-positioning__years-label {
	display: block;
	margin-top: 0.2rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-inscription-band__copy,
.mo-positioning__inscription {
	text-align: left;
}

.mo-inscription-band__copy .mo-inscription__text,
.mo-positioning__inscription .mo-inscription__text {
	font-size: clamp(1.35rem, 1rem + 1.35vw, 2.05rem);
	line-height: 1.38;
	text-align: left;
}

.mo-inscription-band__copy .mo-inscription__text + .mo-inscription__text,
.mo-positioning__inscription .mo-inscription__text + .mo-inscription__text {
	margin-top: 0.5rem;
}

.mo-inscription-band__copy .mo-inscription__text:first-child + .mo-inscription__text,
.mo-positioning__inscription .mo-inscription__text:first-child + .mo-inscription__text {
	margin-top: 0.72rem;
}

@media (min-width: 768px) {
	.mo-inscription-band__layout,
	.mo-positioning__layout {
		grid-template-columns: minmax(5.5rem, 6.75rem) minmax(0, 1fr);
		gap: clamp(2rem, 3.5vw, 2.75rem);
		align-items: center;
	}

	.mo-inscription-band__emblem,
	.mo-positioning__emblem {
		justify-self: start;
		align-self: center;
	}
}

@media (min-width: 1024px) {
	.mo-inscription-band__frame,
	.mo-positioning__frame {
		padding: clamp(2.25rem, 3vw, 2.85rem) clamp(2.25rem, 5vw, 4rem);
	}

	.mo-inscription-band__copy .mo-inscription__text,
	.mo-positioning__inscription .mo-inscription__text {
		text-wrap: pretty;
	}
}

/* ==========================================================================
   Sections
   ========================================================================== */

.mo-section {
	padding: 5rem 1.5rem;
}

@media (min-width: 768px) {
	.mo-section {
		padding: 7.5rem 1.5rem;
	}
}

.mo-section--stone {
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-section--navy {
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-section__inner {
	max-width: 1280px;
	margin: 0 auto;
}

.mo-section__header {
	max-width: 640px;
	margin-bottom: 3.5rem;
}

.mo-section__label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
	margin-bottom: 1rem;
}

.mo-section__label::before {
	content: '';
	display: block;
	width: 2rem;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
}

.mo-section--navy .mo-section__label {
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-section__title {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 400;
	line-height: 1.15;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1rem;
}

.mo-section--navy .mo-section__title {
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-section__lead {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--wp--preset--color--slate, #2c3e50);
	margin: 0;
}

.mo-section--navy .mo-section__lead {
	color: rgba(255, 255, 255, 0.82);
}

/* ==========================================================================
   Property cards (Alto-ready placeholders)
   ========================================================================== */

.mo-property-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}

@media (min-width: 640px) {
	.mo-property-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mo-property-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mo-property-card {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--white, #ffffff);
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid transparent;
	box-shadow: 0 4px 22px rgba(11, 31, 46, 0.05);
	transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
	text-decoration: none;
	color: inherit;
}

.mo-property-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 40px rgba(11, 31, 46, 0.09);
	border-color: rgba(201, 169, 98, 0.35);
}

.mo-property-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-property-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.mo-property-card:hover .mo-property-card__media img {
	transform: scale(1.05);
}

.mo-property-card__badge {
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: 0.35rem 0.75rem;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background: var(--wp--preset--color--champagne-light, #f3ede3);
	color: var(--wp--preset--color--navy, #0b1f2e);
	border-radius: 2px;
}

.mo-property-card__body {
	padding: 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.mo-property-card__status {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
	margin-bottom: 0.5rem;
}

.mo-property-card__price {
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 0.5rem;
}

.mo-property-card__meta {
	font-size: 0.875rem;
	color: var(--wp--preset--color--slate, #2c3e50);
	margin: 0 0 0.35rem;
}

.mo-property-card__location {
	font-size: 0.875rem;
	color: var(--wp--preset--color--slate, #2c3e50);
	margin: auto 0 0;
	padding-top: 0.75rem;
}

.mo-property-notice {
	margin-top: 2rem;
	padding: 1rem 1.25rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--slate, #2c3e50);
	background: var(--wp--preset--color--stone, #f7f4ef);
	border-left: 3px solid var(--wp--preset--color--champagne, #c9a962);
	border-radius: 0 4px 4px 0;
}

/* ==========================================================================
   Services grid
   ========================================================================== */

.mo-services-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

@media (min-width: 640px) {
	.mo-services-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mo-services-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mo-service-card {
	display: flex;
	flex-direction: column;
	padding: 2rem;
	background: var(--wp--preset--color--white, #ffffff);
	border: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	border-radius: 4px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	min-height: 220px;
}

.mo-service-card:hover {
	border-color: var(--wp--preset--color--champagne, #c9a962);
	box-shadow: 0 8px 28px rgba(11, 31, 46, 0.05);
}

.mo-service-card__number {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 2rem;
	color: var(--wp--preset--color--champagne, #c9a962);
	line-height: 1;
	margin-bottom: 1.25rem;
}

.mo-service-card__title {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.375rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 0.75rem;
}

.mo-service-card__text {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--wp--preset--color--slate, #2c3e50);
	margin: 0 0 1.5rem;
	flex: 1;
}

.mo-service-card__link {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/* ==========================================================================
   Editorial split
   ========================================================================== */

.mo-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}

@media (min-width: 768px) {
	.mo-split {
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
	}
}

.mo-split__image {
	aspect-ratio: 4 / 5;
	border-radius: 4px;
	overflow: hidden;
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-split__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mo-split__quote {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.5rem, 3vw, 2.125rem);
	line-height: 1.35;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1.5rem;
}

.mo-split__cite {
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--slate, #2c3e50);
}

/* ==========================================================================
   Areas strip
   ========================================================================== */

.mo-areas {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 2rem;
}

.mo-areas__link {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.5rem;
	font-weight: 400;
	font-style: normal;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mo-areas__link:hover {
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-section--navy .mo-areas__link {
	color: var(--wp--preset--color--white, #ffffff);
}

/* ==========================================================================
   Homepage threshold — quiet closing invitation
   ========================================================================== */

.mo-threshold {
	padding: clamp(3.25rem, 7vw, 5rem) 1.5rem clamp(4.5rem, 9vw, 6.5rem);
	background: linear-gradient(
		180deg,
		var(--wp--preset--color--stone, #f7f4ef) 0%,
		var(--wp--preset--color--mist, #e5dfd6) 100%
	);
}

.mo-featured-home + .mo-threshold {
	padding-top: clamp(2.75rem, 6vw, 4rem);
}

/* ==========================================================================
   Client testimonials — homepage
   ========================================================================== */

.mo-featured-home + .mo-testimonials {
	padding-top: clamp(4rem, 9vw, 6.5rem);
}

.mo-testimonials {
	padding:
		clamp(3.75rem, 8vw, 5.75rem)
		clamp(1.25rem, 4vw, 3.5rem)
		clamp(4rem, 9vw, 6.25rem);
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-testimonials__inner {
	max-width: 72rem;
	margin: 0 auto;
	text-align: center;
}

.mo-testimonials .mo-content-label {
	display: inline-flex;
	align-items: center;
	gap: clamp(0.85rem, 0.65rem + 0.6vw, 1.15rem);
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	font-size: clamp(0.8125rem, 0.72rem + 0.4vw, 0.9375rem);
	letter-spacing: 0.2em;
}

.mo-testimonials .mo-content-label::before,
.mo-testimonials .mo-content-label::after {
	width: clamp(2.75rem, 2.2rem + 2.5vw, 3.75rem);
	height: 2px;
}

.mo-testimonials__list {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2.25rem, 5vw, 3rem);
	margin-top: 0;
}

@media (min-width: 768px) {
	.mo-testimonials__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(1.75rem, 2.5vw, 2.5rem);
		align-items: stretch;
	}
}

@media (min-width: 1024px) {
	.mo-testimonials__list {
		gap: clamp(2rem, 2.8vw, 2.75rem);
	}
}

.mo-testimonials__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-height: 100%;
	padding: clamp(1.75rem, 3.5vw, 2.25rem) clamp(1.5rem, 3vw, 2rem);
	background: var(--wp--preset--color--stone, #f7f4ef);
	border: 1px solid rgb(201 169 98 / 0.2);
	border-radius: 4px;
	box-shadow: 0 1px 0 rgb(255 255 255 / 0.65) inset;
}

.mo-testimonials__stars {
	display: flex;
	gap: 0.28rem;
	margin-bottom: clamp(0.95rem, 2.5vw, 1.15rem);
}

.mo-testimonials__star {
	display: block;
	width: 0.68rem;
	height: 0.68rem;
	background: var(--wp--preset--color--champagne, #c9a962);
	clip-path: polygon(
		50% 0%,
		61% 35%,
		98% 35%,
		68% 57%,
		79% 91%,
		50% 70%,
		21% 91%,
		32% 57%,
		2% 35%,
		39% 35%
	);
}

.mo-testimonials__quote {
	margin: 0;
	flex: 1 1 auto;
}

.mo-testimonials__quote p {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.125rem, 1rem + 0.42vw, 1.3125rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1.68;
	letter-spacing: 0.018em;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-wrap: pretty;
}

.mo-testimonials__cite {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: clamp(1.15rem, 3vw, 1.45rem);
	border-top: 1px solid rgb(201 169 98 / 0.22);
}

.mo-testimonials__name {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-testimonials__meta {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	line-height: 1.45;
	color: rgba(44, 62, 80, 0.72);
}

.mo-testimonials__sep {
	margin: 0 0.4rem;
}

.mo-testimonials + .mo-threshold {
	padding-top: clamp(3rem, 7vw, 4.5rem);
}

@media (max-width: 767px) {
	.mo-featured-home + .mo-testimonials {
		padding-top: clamp(3.25rem, 10vw, 4.5rem);
	}

	.mo-testimonials__item {
		padding: 1.85rem 1.4rem;
	}

	.mo-testimonials__quote p {
		line-height: 1.72;
	}
}

@media (min-width: 1024px) {
	.mo-testimonials__quote p {
		font-size: clamp(1.1875rem, 0.95rem + 0.45vw, 1.375rem);
		line-height: 1.65;
	}
}

.mo-threshold__inner {
	max-width: 36rem;
	margin: 0 auto;
	text-align: center;
}

.mo-threshold__text {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.5rem, 1rem + 2vw, 2.25rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/* ==========================================================================
   About — inscription of remaining
   ========================================================================== */

.mo-about.mo-about__intro {
	min-height: auto;
	display: block;
	padding: calc(var(--mo-header-total, 7rem) + 2.75rem) 1.5rem clamp(3rem, 7vw, 4.5rem);
	background: var(--wp--preset--color--white, #ffffff);
	box-sizing: border-box;
}

.mo-about {
	min-height: calc(100vh - var(--mo-header-total, 7rem));
	display: flex;
	align-items: center;
	justify-content: center;
	padding: calc(var(--mo-header-total, 7rem) + 3rem) 1.5rem 5rem;
	background: var(--wp--preset--color--white, #ffffff);
	box-sizing: border-box;
}

.mo-about__inner {
	max-width: 34rem;
	margin: 0 auto;
	text-align: center;
}

.mo-about__open {
	margin: 0 0 clamp(1.15rem, 2.5vw, 1.65rem);
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.65rem, 1.05rem + 2.4vw, 2.75rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.35;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-about__body {
	margin: 0;
}

.mo-about__intro .mo-about__body p {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.0625rem, 0.95rem + 0.45vw, 1.25rem);
	font-weight: 400;
	line-height: 1.68;
	letter-spacing: 0.015em;
	color: var(--wp--preset--color--slate, #2c3e50);
}

/* Desktop measure — ODR-039 typographic wrap (Local 1.24.53 review) */
@media (min-width: 1024px) {
	.mo-about__inner {
		max-width: 36rem;
	}

	.mo-about__intro .mo-about__body p {
		text-wrap: pretty;
	}
}

/* About — coast hero with full inscription overlay (1.24.66 trial) */
.mo-about-figure {
	padding: 0;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-about-figure__frame {
	margin: 0;
	max-width: none;
}

.mo-about-figure__media {
	position: relative;
	overflow: hidden;
	min-height: clamp(16rem, 42vw, 28rem);
	background: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-about-figure--intro .mo-about-figure__media {
	min-height: clamp(22rem, 52vw, 30rem);
}

@media (min-width: 1024px) {
	.mo-about-figure--intro {
		padding: 0;
	}

	.mo-about-figure--intro .mo-about-figure__frame {
		max-width: none;
		margin: 0;
	}

	.mo-about-figure--intro .mo-about-figure__media {
		min-height: clamp(24rem, 42vw, 34rem);
		border-radius: 0;
	}

	.mo-about-figure--intro .mo-about-figure__veil--intro {
		background: linear-gradient(
			180deg,
			rgb(11 31 46 / 0.12) 0%,
			rgb(11 31 46 / 0.34) 45%,
			rgb(11 31 46 / 0.72) 100%
		);
	}

	.mo-about-figure--intro .mo-about-figure__overlay--intro {
		padding:
			calc(var(--mo-header-total, 7rem) + 1.5rem)
			clamp(2.5rem, 6vw, 5rem)
			clamp(2.5rem, 4vw, 3.5rem);
	}
}

.mo-about-figure__img,
.mo-about-figure__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
	object-position: 50% 40%;
}

.mo-about-figure__placeholder {
	background: linear-gradient(
		145deg,
		var(--wp--preset--color--mist, #e5dfd6) 0%,
		var(--wp--preset--color--stone, #f7f4ef) 45%,
		var(--wp--preset--color--mist, #e5dfd6) 100%
	);
}

.mo-about-figure__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		180deg,
		rgb(11 31 46 / 0.08) 0%,
		rgb(11 31 46 / 0.22) 42%,
		rgb(11 31 46 / 0.62) 100%
	);
}

.mo-about-figure__veil--intro {
	opacity: 1;
	background: linear-gradient(
		180deg,
		rgb(11 31 46 / 0.28) 0%,
		rgb(11 31 46 / 0.42) 38%,
		rgb(11 31 46 / 0.78) 100%
	);
}

.mo-about-figure__overlay {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: 0;
	padding:
		clamp(2rem, 5vw, 3.25rem)
		clamp(1.5rem, 4vw, 3.5rem)
		clamp(2rem, 4.5vw, 2.75rem);
	max-width: min(40rem, 92%);
	pointer-events: none;
}

.mo-about-figure__overlay--intro {
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	max-width: none;
	padding:
		calc(var(--mo-header-total, 7rem) + clamp(1.5rem, 4vw, 2.5rem))
		clamp(1.5rem, 4vw, 3.5rem)
		clamp(2.25rem, 5vw, 3.5rem);
}

.mo-about-figure__overlay--intro .mo-about-figure__open,
.mo-about-figure__overlay--intro .mo-about-figure__body {
	max-width: 38rem;
}

.mo-about-figure__open {
	margin: 0 0 clamp(1rem, 2.5vw, 1.45rem);
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.75rem, 1.1rem + 2.5vw, 2.85rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.32;
	color: var(--wp--preset--color--white, #ffffff);
	text-shadow: 0 2px 24px rgb(11 31 46 / 0.45);
}

.mo-about-figure__body {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.0625rem, 0.95rem + 0.45vw, 1.25rem);
	font-weight: 400;
	line-height: 1.68;
	letter-spacing: 0.015em;
	color: rgb(255 255 255 / 0.92);
	text-shadow: 0 1px 16px rgb(11 31 46 / 0.4);
}

.mo-about-figure__body--lead {
	text-wrap: pretty;
}

.mo-about-figure__body--continued {
	margin-top: clamp(0.75rem, 2vw, 1rem);
	color: rgb(255 255 255 / 0.9);
	text-wrap: pretty;
}

.mo-about-figure__body--overlay {
	margin-top: 0.35rem;
	font-size: clamp(1.25rem, 0.95rem + 1vw, 1.65rem);
	font-style: italic;
	line-height: 1.35;
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-about-figure__line {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	color: var(--wp--preset--color--white, #ffffff);
	text-shadow: 0 1px 18px rgb(11 31 46 / 0.35);
}

.mo-about-figure__line--primary {
	font-size: clamp(1.65rem, 1.1rem + 2.2vw, 2.75rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.3;
}

.mo-about-figure__line--secondary {
	margin-top: 0.55rem;
	font-size: clamp(1rem, 0.9rem + 0.45vw, 1.2rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.03em;
	line-height: 1.45;
	color: rgb(255 255 255 / 0.88);
}

.mo-about-figure + .mo-about-practice,
.mo-about-figure--intro + .mo-about-practice {
	padding-top: clamp(3rem, 7vw, 4.5rem);
}

@media (min-width: 1024px) {
	.mo-about-figure__overlay--intro .mo-about-figure__open,
	.mo-about-figure__overlay--intro .mo-about-figure__body {
		max-width: 44rem;
		text-wrap: pretty;
	}

	.mo-about-figure--intro .mo-about-figure__open {
		font-size: clamp(2rem, 1.15rem + 1.6vw, 2.85rem);
	}

	.mo-about-figure--intro .mo-about-figure__body {
		font-size: clamp(1.125rem, 0.95rem + 0.4vw, 1.375rem);
		line-height: 1.65;
	}
}

@media (max-width: 767px) {
	.mo-about-figure--intro .mo-about-figure__media {
		position: relative;
		display: block;
		min-height: clamp(34rem, 145vw, 46rem);
		overflow: hidden;
		background: var(--wp--preset--color--navy, #0b1f2e);
	}

	.mo-about-figure--intro .mo-about-figure__img {
		position: absolute;
		inset: 0;
		z-index: 0;
		width: 100%;
		height: 100%;
		min-height: 0;
		object-fit: cover;
		object-position: 50% 38%;
	}

	.mo-about-figure--intro .mo-about-figure__veil--intro {
		z-index: 1;
		background: linear-gradient(
			180deg,
			rgb(11 31 46 / 0.26) 0%,
			rgb(11 31 46 / 0.42) 34%,
			rgb(11 31 46 / 0.82) 100%
		);
	}

	.mo-about-figure--intro .mo-about-figure__overlay--intro {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 2;
		align-self: auto;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		width: 100%;
		max-width: none;
		padding:
			calc(var(--mo-header-total, 7rem) + 0.75rem)
			clamp(1.35rem, 4.5vw, 1.75rem)
			clamp(1.75rem, 5vw, 2.35rem);
	}

	.mo-about-figure--intro .mo-about-figure__overlay--intro .mo-about-figure__open,
	.mo-about-figure--intro .mo-about-figure__overlay--intro .mo-about-figure__body {
		max-width: none;
		width: 100%;
	}

	.mo-about-figure--intro .mo-about-figure__open {
		font-size: clamp(1.55rem, 1.05rem + 2.8vw, 1.95rem);
		margin-bottom: clamp(0.85rem, 2.5vw, 1.1rem);
		line-height: 1.28;
	}

	.mo-about-figure--intro .mo-about-figure__body {
		font-size: clamp(1.1rem, 1rem + 0.55vw, 1.22rem);
		line-height: 1.68;
		letter-spacing: 0.018em;
	}

	.mo-about-figure--intro .mo-about-figure__body--continued {
		margin-top: clamp(0.9rem, 2.8vw, 1.15rem);
		font-size: clamp(1.06rem, 0.98rem + 0.45vw, 1.18rem);
		line-height: 1.64;
		color: rgb(255 255 255 / 0.88);
	}
}

/* About — practice section */
.mo-about-practice {
	padding: clamp(3.5rem, 8vw, 5.5rem) 1.5rem clamp(4.5rem, 9vw, 6.5rem);
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-about-practice__inner {
	max-width: 40rem;
	margin: 0 auto;
	text-align: center;
}

.mo-about-practice__copy {
	margin-top: clamp(1.5rem, 3vw, 2rem);
	text-align: left;
}

.mo-about-practice__text {
	margin: 0 0 clamp(1.35rem, 2.5vw, 1.75rem);
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.0625rem, 0.95rem + 0.45vw, 1.25rem);
	line-height: 1.72;
	letter-spacing: 0.012em;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-about-practice__text--closing {
	margin-bottom: 0;
	margin-top: clamp(1.65rem, 3vw, 2.1rem);
	padding-top: clamp(1.35rem, 2.5vw, 1.65rem);
	border-top: 1px solid rgb(201 169 98 / 0.35);
}

.mo-about-practice__craft {
	margin: clamp(2rem, 4vw, 2.75rem) 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.25rem, 1rem + 1vw, 1.65rem);
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.4;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-about-practice__cta {
	margin: clamp(2rem, 4vw, 2.75rem) 0 0;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: clamp(0.9375rem, 0.85rem + 0.35vw, 1rem);
	line-height: 1.75;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-about-practice__cta a {
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mo-about-practice__cta a:hover {
	color: var(--wp--preset--color--champagne, #c9a962);
}

@media (min-width: 1024px) {
	.mo-about-practice__text,
	.mo-about-practice__text--closing {
		text-wrap: pretty;
	}
}

/* ==========================================================================
   Coin — Landlord Fees (stewardship, not a tariff)
   Door: Landlord Fees. Inscription: Coin.
   ========================================================================== */

.mo-coin {
	min-height: calc(100vh - var(--mo-header-total, 5rem));
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: calc(var(--mo-header-total, 5rem) + 3.5rem) 1.5rem 5.5rem;
	background: var(--wp--preset--color--white, #ffffff);
	box-sizing: border-box;
}

.mo-coin__inner {
	width: 100%;
	max-width: 36rem;
	margin: 0 auto;
}

.mo-coin__header {
	text-align: center;
	margin-bottom: clamp(2.5rem, 6vw, 3.75rem);
}

.mo-coin__overline {
	margin: 0 0 0.85rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.625rem;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	line-height: 1.4;
	color: rgba(11, 31, 46, 0.48);
}

.mo-coin__inscription {
	margin: 0 0 1.75rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.65rem, 1.05rem + 2.4vw, 2.75rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.35;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-coin__lead {
	margin: 0 auto;
	max-width: 32rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.9375rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.7;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-coin__schedule {
	border-top: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-coin__row {
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-coin__row--primary {
	padding-top: 1.75rem;
	padding-bottom: 1.75rem;
}

.mo-coin__row--included,
.mo-coin__row--quoted {
	padding-top: 1.15rem;
	padding-bottom: 1.15rem;
}

.mo-coin__row-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
}

.mo-coin__name {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.4;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-coin__row--primary .mo-coin__name {
	font-size: 0.75rem;
	letter-spacing: 0.14em;
}

.mo-coin__amount {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.125rem;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.02em;
	line-height: 1.35;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-align: right;
	max-width: 18rem;
}

.mo-coin__row--primary .mo-coin__amount {
	font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.45rem);
	max-width: 22rem;
}

.mo-coin__desc {
	margin: 0.55rem 0 0;
	max-width: 28rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.8125rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.6;
	letter-spacing: 0.01em;
	color: rgba(44, 62, 80, 0.78);
}

.mo-coin__schemes {
	margin: 2.25rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-coin__scheme {
	margin: 0 0 0.65rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.75rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.55;
	letter-spacing: 0.02em;
	color: rgba(44, 62, 80, 0.72);
}

.mo-coin__scheme:last-child {
	margin-bottom: 0;
}

.mo-coin__scheme-label {
	display: inline-block;
	margin-right: 0.45rem;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(11, 31, 46, 0.45);
}

.mo-coin__scheme a {
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: none;
	border-bottom: 1px solid rgba(11, 31, 46, 0.22);
	transition: border-color 0.2s ease, color 0.2s ease;
}

.mo-coin__scheme a:hover,
.mo-coin__scheme a:focus-visible {
	border-bottom-color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-coin__note {
	margin: 1.75rem 0 0;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.75rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.65;
	letter-spacing: 0.02em;
	color: rgba(44, 62, 80, 0.62);
}

.mo-coin__note a {
	color: rgba(11, 31, 46, 0.78);
	text-decoration: none;
	border-bottom: 1px solid rgba(11, 31, 46, 0.2);
}

.mo-coin__note a:hover,
.mo-coin__note a:focus-visible {
	border-bottom-color: rgba(11, 31, 46, 0.55);
}

@media (max-width: 600px) {
	.mo-coin__row-main {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	.mo-coin__amount {
		text-align: left;
		max-width: none;
	}
}

/* ==========================================================================
   Page hero (inner pages)
   ========================================================================== */

.mo-page-hero {
	position: relative;
	padding: calc(var(--mo-header-total) + 3.5rem) 1.5rem 4.5rem;
	background: var(--wp--preset--color--stone, #f7f4ef);
	overflow: hidden;
}

.mo-page-hero::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: min(45vw, 520px);
	height: 100%;
	background: linear-gradient(
		135deg,
		transparent 0%,
		rgba(201, 169, 98, 0.06) 50%,
		rgba(11, 31, 46, 0.04) 100%
	);
	pointer-events: none;
}

.mo-page-hero::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 1.5rem;
	right: 1.5rem;
	max-width: 1280px;
	margin: 0 auto;
	height: 1px;
	background: linear-gradient(
		to right,
		var(--wp--preset--color--champagne, #c9a962) 0%,
		rgba(201, 169, 98, 0.2) 40%,
		transparent 100%
	);
}

.mo-page-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 1280px;
	margin: 0 auto;
}

.mo-page-hero__label {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
	margin-bottom: 1rem;
}

.mo-page-hero__label::before {
	content: '';
	display: block;
	width: 2rem;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
}

.mo-page-hero__title {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 400;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1rem;
	max-width: 20ch;
}

.mo-page-hero__title:has(+ .mo-page-hero__brandline) {
	margin-bottom: 0;
}

.mo-page-hero:has(.mo-page-hero__brandline) {
	overflow: visible;
}

.mo-page-hero__brandline {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.125rem, 0.55rem + 2.4vw, 1.7rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.06em;
	line-height: 1.35;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 1.75rem 0 0.5rem;
	max-width: none;
	white-space: nowrap;
}

.mo-page-hero__brandline-action {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--champagne, #c9a962);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
}

.mo-page-hero__lead {
	font-size: 1.125rem;
	line-height: 1.65;
	color: var(--wp--preset--color--slate, #2c3e50);
	max-width: 55ch;
	margin: 0;
}

/* ==========================================================================
   Contact & forms
   ========================================================================== */

.mo-contact-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

@media (min-width: 768px) {
	.mo-contact-grid {
		grid-template-columns: 1.2fr 1fr;
		gap: 4rem;
	}
}

.mo-form-group {
	margin-bottom: 1.25rem;
}

.mo-form-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mo-form-status {
	margin: 0 0 1.25rem;
	padding: 0.875rem 1rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	border-radius: 4px;
}

.mo-form-status--error {
	color: #5c1f1f;
	background: #f8eaea;
	border: 1px solid #e2c4c4;
}

.mo-form-group label {
	display: block;
	font-size: 0.8125rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-form-group input,
.mo-form-group textarea,
.mo-form-group select {
	width: 100%;
	padding: 0.875rem 1rem;
	font-family: inherit;
	font-size: 1rem;
	border: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	border-radius: 4px;
	background: var(--wp--preset--color--white, #ffffff);
	transition: border-color 0.2s ease;
}

.mo-form-group input:focus,
.mo-form-group textarea:focus,
.mo-form-group select:focus {
	outline: none;
	border-color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-office-card {
	padding: 2rem;
	background: var(--wp--preset--color--white, #ffffff);
	border: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	border-radius: 4px;
	margin-bottom: 1.5rem;
}

.mo-office-card__title {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.5rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1rem;
}

.mo-office-card p {
	margin: 0 0 0.5rem;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-office-card a {
	color: var(--wp--preset--color--navy, #0b1f2e);
	font-weight: 500;
}

/* ==========================================================================
   Prose content
   ========================================================================== */

.mo-prose {
	max-width: 720px;
}

.mo-prose p {
	margin: 0 0 1.25rem;
	line-height: 1.75;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-prose h2 {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.75rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 2.5rem 0 1rem;
}

.mo-prose ul {
	margin: 0 0 1.5rem;
	padding-left: 1.25rem;
}

.mo-prose li {
	margin-bottom: 0.5rem;
	line-height: 1.65;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-services-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	margin-top: 2rem;
}

@media (min-width: 640px) {
	.mo-services-list {
		grid-template-columns: 1fr 1fr;
	}
}

.mo-services-list h3 {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.25rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1rem;
}

/* ==========================================================================
   Footer
   ==========================================================================
   Theme 1.14.4 — atmosphere study (reversible)
   Upper footer: warm stone + navy/charcoal ink.
   Copyright strip (.mo-footer__bottom): deep navy seal retained.
   Revert: restore .mo-footer navy + light type; remove bottom seal block.
   ========================================================================== */

.mo-footer {
	/* Theme 1.14.4 — was navy #0b1f2e / light type */
	background: var(--wp--preset--color--stone, #f7f4ef);
	color: rgba(11, 31, 46, 0.78);
	padding: 4rem 0 0;
}

.mo-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	/* Theme 1.14.4 — bottom padding moves onto navy seal */
	padding: 0 1.5rem 0;
}

.mo-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	margin-bottom: 3rem;
}

@media (min-width: 640px) {
	.mo-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1024px) {
	.mo-footer__grid {
		grid-template-columns: 1.4fr repeat(4, 1fr);
		gap: 2.75rem 2rem;
	}

	.mo-footer__grid--doors {
		grid-template-columns: repeat(3, 1fr);
	}
}

.mo-footer__door {
	/*
	 * Theme 1.14.5 — same navy ink as Properties / Contact (was champagne).
	 * Revert: color: var(--wp--preset--color--champagne, #c9a962);
	 */
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mo-footer__door:hover {
	color: rgba(11, 31, 46, 0.72);
}

.mo-footer__brand-name {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.375rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 0.75rem;
}

.mo-footer__brand-text {
	font-size: 0.875rem;
	line-height: 1.65;
	margin: 0;
	max-width: 28ch;
}

.mo-footer__heading {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	/* Theme 1.14.4 — navy ink on stone (was champagne on navy) */
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1.25rem;
}

.mo-footer__heading + .mo-footer__heading {
	margin-top: 1rem;
}

.mo-footer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mo-footer__list li {
	margin-bottom: 0.65rem;
}

.mo-footer__address {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	font-size: 0.875rem;
	line-height: 1.45;
	color: rgba(11, 31, 46, 0.72);
}

.mo-footer__address span {
	display: block;
}

@media (max-width: 767px) {
	.mo-footer__address {
		gap: 0.55rem;
	}
}

.mo-footer__list a {
	font-size: 0.875rem;
	color: rgba(11, 31, 46, 0.72);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mo-footer__list a:hover {
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-footer__compliance-list li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	margin-bottom: 1.35rem;
}

.mo-footer__compliance-list li:last-child {
	margin-bottom: 0;
}

.mo-footer__compliance-name {
	display: block;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.45;
	color: rgba(11, 31, 46, 0.78);
}

.mo-footer__compliance-link {
	/* Theme 1.14.8 — was Inter 300 italic (not loaded → faux). Real Cormorant italic 400. */
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 0.8125rem;
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.01em;
	color: rgba(11, 31, 46, 0.5);
	text-decoration: none;
	transition: color 0.2s ease;
}

.mo-footer__compliance-link:hover {
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/*
 * Theme 1.14.4 — deep navy copyright seal (final bookend).
 * Full-bleed; upper footer remains stone.
 */
.mo-footer__bottom {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	/* Theme 1.14.4 — was padding-top only inside shared navy field */
	padding: 2rem max(1.5rem, calc((100vw - 1280px) / 2 + 1.5rem)) 2.5rem;
	margin-top: 0;
	border-top: none;
	font-size: 0.8125rem;
	background: var(--wp--preset--color--navy, #0b1f2e);
	color: rgba(255, 255, 255, 0.72);
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	box-sizing: border-box;
}

.mo-footer__bottom p {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
}

.mo-footer__seal {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
}

.mo-footer__copyright {
	font-size: 0.8125rem;
	color: rgba(255, 255, 255, 0.72);
}

.mo-footer__maker {
	margin: 0;
	font-size: 0.8125rem;
	color: rgba(255, 255, 255, 0.72);
}

.mo-footer__maker-link {
	color: inherit;
	text-decoration: none;
}

.mo-footer__maker-link:hover,
.mo-footer__maker-link:focus-visible {
	color: rgba(255, 255, 255, 0.85);
}

.mo-footer__legal-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mo-footer__legal-list a {
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
}

.mo-footer__legal-list a:hover {
	color: rgba(255, 255, 255, 0.85);
}

@media (min-width: 768px) {
	.mo-footer__bottom {
		flex-direction: row;
		align-items: baseline;
		justify-content: space-between;
		gap: 1.5rem;
	}
}

/* ==========================================================================
   Legal / compliance documents (quiet utility)
   ========================================================================== */

.mo-legal {
	padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(4rem, 8vw, 6rem);
}

.mo-legal__inner {
	max-width: 40rem;
	margin: 0 auto;
	padding: 0 var(--mo-gutter, 1.25rem);
}

.mo-legal__header {
	margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-legal__title {
	margin: 0 0 0.5rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: clamp(1.375rem, 1.15rem + 0.8vw, 1.75rem);
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--navy, #1a2a3a);
}

.mo-legal__meta {
	margin: 0;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--slate, #5a6570);
}

.mo-legal__body {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-legal__body h2 {
	margin: 2rem 0 0.75rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0;
	color: var(--wp--preset--color--navy, #1a2a3a);
}

.mo-legal__body p,
.mo-legal__body ul {
	margin: 0 0 1rem;
}

.mo-legal__body ul {
	padding-left: 1.25rem;
}

.mo-legal__body li {
	margin-bottom: 0.35rem;
}

.mo-legal__body a {
	color: var(--wp--preset--color--navy, #1a2a3a);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.mo-legal__body a:hover {
	color: var(--wp--preset--color--champagne, #b8956c);
}

.mo-form-note {
	margin: 1rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.55;
	color: var(--wp--preset--color--slate, #5a6570);
}

/* ==========================================================================
   Compliance hub (filing cabinet)
   ========================================================================== */

.mo-compliance__toc {
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	padding: 0 0 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-compliance__toc ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mo-compliance__toc a {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--slate, #5a6570);
	text-decoration: none;
}

.mo-compliance__toc a:hover {
	color: var(--wp--preset--color--navy, #1a2a3a);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.mo-compliance__section {
	padding-top: 0.25rem;
	margin-bottom: 2.5rem;
	scroll-margin-top: 6rem;
}

.mo-compliance__section:last-child {
	margin-bottom: 0;
}

.mo-legal__body h3 {
	margin: 1.5rem 0 0.75rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--wp--preset--color--navy, #1a2a3a);
}

.mo-compliance__logo {
	margin: 0 0 1.25rem;
}

.mo-compliance__logo img {
	display: block;
	max-width: 12rem;
	height: auto;
}

.mo-compliance__pending {
	font-size: 0.875rem;
	color: var(--wp--preset--color--slate, #5a6570);
}

.mo-compliance__cta {
	margin: 1.5rem 0 0;
}

.mo-compliance__doc-link {
	font-weight: 500;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: none;
	border-bottom: 1px solid rgba(11, 31, 46, 0.22);
}

.mo-compliance__doc-link:hover,
.mo-compliance__doc-link:focus-visible {
	border-bottom-color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-compliance__fees {
	margin: 0 0 1.25rem;
	border-top: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-compliance__fee {
	padding: 1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-compliance__fee-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.25rem;
}

.mo-compliance__fee-name {
	font-weight: 500;
	color: var(--wp--preset--color--navy, #1a2a3a);
}

.mo-compliance__fee-amount {
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--navy, #1a2a3a);
}

.mo-compliance__fee-desc {
	margin: 0.4rem 0 0 !important;
	font-size: 0.875rem;
	color: var(--wp--preset--color--slate, #5a6570);
}

.mo-compliance__note {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--slate, #5a6570);
}

.mo-compliance__docs {
	list-style: none !important;
	padding-left: 0 !important;
}

.mo-compliance__docs li {
	margin-bottom: 0.65rem;
}

.mo-compliance__docs a {
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	padding-bottom: 0.1rem;
}

.mo-compliance__docs a:hover {
	border-bottom-color: var(--wp--preset--color--champagne, #b8956c);
}

.mo-compliance__doors {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-compliance__doors li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1.5rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--mist, #e5dfd6);
}

.mo-compliance__door-label {
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-compliance__door-link {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.125rem;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: none;
	border-bottom: 1px solid rgba(11, 31, 46, 0.22);
	transition: border-color 0.2s ease;
}

.mo-compliance__door-link:hover,
.mo-compliance__door-link:focus-visible {
	border-bottom-color: var(--wp--preset--color--navy, #0b1f2e);
}

/* ==========================================================================
   Property archive filters (Phase 2 ready)
   ========================================================================== */

.mo-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--white, #ffffff);
	border: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	border-radius: 4px;
	margin-bottom: 2.5rem;
}

.mo-filters select {
	padding: 0.625rem 1rem;
	font-size: 0.875rem;
	border: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	border-radius: 4px;
	background: var(--wp--preset--color--white, #ffffff);
	min-width: 140px;
}

.mo-results-meta {
	font-size: 0.875rem;
	color: var(--wp--preset--color--slate, #2c3e50);
	margin-bottom: 1.5rem;
}

/* ==========================================================================
   WordPress block editor overrides
   ========================================================================== */

.wp-site-blocks {
	padding-top: 0 !important;
}

main {
	padding-top: 0;
}

/* Offset for fixed header on inner pages */
.mo-main-inner {
	padding-top: 0;
}

/* Scroll reveal */
.mo-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.mo-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ==========================================================================
   Coastal Editorial Portfolio — production property presentation
   ========================================================================== */

.mo-portfolio-meta {
	margin: 0 0 2.5rem;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-portfolio-list {
	display: flex;
	flex-direction: column;
	gap: 3.5rem;
}

.mo-portfolio-card {
	/*
	 * Working Build 1.24.16 — White Frame listings:
	 * Outer card shell transparent (no mist envelope on the page canvas).
	 * Information doorway panels above/below the photograph retain Porcelain fill.
	 */
	--mo-doorway-tone: #fbf9f6;
	display: flex;
	flex-direction: column;
	background: transparent;
	border: 0;
}

.mo-portfolio-card--quiet {
	opacity: 0.92;
}

/* Mobile / tablet: copy unwraps so price → photo → place stack is preserved. */
.mo-portfolio-card__copy {
	display: contents;
}

/* ODR-020 — text panels open the property; photograph does not */

.mo-portfolio-card__panel {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--mo-doorway-tone);
	transition: background-color 0.25s ease, color 0.25s ease;
}

.mo-portfolio-card__panel--top {
	order: 1;
	padding: 1.5rem 1.75rem 1rem;
}

.mo-portfolio-card__panel--bottom {
	order: 3;
	padding: 1.65rem 1.75rem 2rem;
}

.mo-portfolio-card__panel:hover,
.mo-portfolio-card__panel:focus-visible {
	background: #e4dfd6;
}

.mo-portfolio-card__panel:hover .mo-portfolio-card__place,
.mo-portfolio-card__panel:focus-visible .mo-portfolio-card__place,
.mo-portfolio-card__panel:hover .mo-portfolio-card__price-value,
.mo-portfolio-card__panel:focus-visible .mo-portfolio-card__price-value {
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-card__panel:focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne, #c9a962);
	outline-offset: 2px;
}

.mo-portfolio-card__media {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--stone, #f7f4ef);
	aspect-ratio: 4 / 3;
	min-height: 0;
	order: 2;
}

@media (min-width: 900px) and (max-width: 1023px) {
	.mo-portfolio-card__panel--top {
		padding: 1.75rem 2.25rem 1rem;
	}

	.mo-portfolio-card__panel--bottom {
		padding: 1.9rem 2.25rem 2.35rem;
	}
}

/*
 * Board Approved Working Build 1.24.42 — desktop landscape listing cards (≥1024px only).
 * Photo-led ~57/43 (1.32fr | 1fr) · deeper row (26rem / 28.5rem ≥1280px) · list max 78rem.
 * Promoted from Local Trial 1.24.42. Mobile / tablet (≤1023px) unchanged.
 */
@media (min-width: 1024px) {
	.mo-portfolio-list {
		gap: clamp(2.75rem, 5vh, 4.5rem);
		align-items: stretch;
		max-width: min(78rem, 100%);
		margin-inline: auto;
	}

	.mo-portfolio-card {
		display: grid;
		grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr);
		grid-template-rows: minmax(26rem, auto);
		width: 100%;
		max-width: none;
		margin-inline: 0;
		align-items: stretch;
		background: transparent;
		border: 0;
	}

	.mo-portfolio-card__copy {
		display: flex;
		flex-direction: column;
		grid-column: 2;
		grid-row: 1;
		min-height: 100%;
		background: var(--mo-doorway-tone);
	}

	.mo-portfolio-card__media {
		grid-column: 1;
		grid-row: 1;
		order: unset;
		width: 100%;
		height: 100%;
		min-height: 26rem;
		max-width: none;
		margin: 0;
		aspect-ratio: auto;
	}

	.mo-portfolio-card__panel--top,
	.mo-portfolio-card__panel--bottom {
		width: 100%;
		max-width: none;
		margin: 0;
		box-sizing: border-box;
		background: transparent;
	}

	.mo-portfolio-card__panel--top:hover,
	.mo-portfolio-card__panel--top:focus-visible,
	.mo-portfolio-card__panel--bottom:hover,
	.mo-portfolio-card__panel--bottom:focus-visible {
		background: rgba(228, 223, 214, 0.55);
	}

	/* Landscape copy: location + facts first; price settles at the foot. */
	.mo-portfolio-card__panel--bottom {
		order: 1;
		padding: 2rem 2.35rem 1.25rem;
		flex: 1 1 auto;
	}

	.mo-portfolio-card__panel--top {
		order: 2;
		margin-top: auto;
		padding: 1.15rem 2.35rem 2rem;
	}

	.mo-portfolio-card__place {
		font-size: clamp(1.55rem, 1.2rem + 0.85vw, 2.05rem);
		line-height: 1.2;
		letter-spacing: 0.015em;
	}

	.mo-portfolio-card__facts {
		margin-top: 1.85rem;
		gap: 2rem 2.75rem;
	}

	.mo-portfolio-card__panel--top .mo-portfolio-card__price-value {
		font-size: clamp(1.75rem, 1.35rem + 0.9vw, 2.35rem);
		line-height: 1.08;
	}

	.mo-portfolio-card__status {
		margin-bottom: 0.55rem;
	}

	.mo-portfolio-card__fact--beds .mo-fact__bed-icon .mo-icon--bed {
		width: 3.5rem;
	}

	.mo-portfolio-card__fact--beds .mo-fact__bed-count {
		font-size: 1.65rem;
	}

	.mo-portfolio-card__fact-value--type {
		font-size: 1.35rem;
	}
}

@media (min-width: 1280px) {
	.mo-portfolio-card {
		grid-template-rows: minmax(28.5rem, auto);
	}

	.mo-portfolio-card__media {
		min-height: 28.5rem;
	}

	.mo-portfolio-card__panel--bottom {
		padding: 2.35rem 2.75rem 1.35rem;
	}

	.mo-portfolio-card__panel--top {
		padding: 1.25rem 2.75rem 2.35rem;
	}
}

@media (min-width: 1536px) {
	.mo-portfolio-card {
		grid-template-rows: minmax(30rem, auto);
	}

	.mo-portfolio-card__media {
		min-height: 30rem;
	}
}

.mo-portfolio-card__status {
	display: inline-block;
	margin: 0 0 0.65rem;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-portfolio-card__price-value {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.85rem, 2.6vw, 2.5rem);
	font-weight: 400;
	line-height: 1.1;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-card__place {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.4rem, 2.1vw, 1.85rem);
	font-weight: 400;
	line-height: 1.22;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-card__address {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.75rem, 2.4vw, 2.35rem);
	font-weight: 400;
	line-height: 1.15;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-card__locality {
	margin: 0.35rem 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.125rem;
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-portfolio-card__summary {
	margin: 1.25rem 0 0;
	max-width: 38ch;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--wp--preset--color--slate, #2c3e50);
}

/*
 * Local 1.24.34–1.24.35 — king-size bed fact (~50% larger than 1.24.33).
 * Front-facing Champagne bed; Cormorant numeral (1.24.35); #C9A962 icon.
 */
.mo-portfolio-card__facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 2rem 2.5rem;
	list-style: none;
	margin: 1.85rem 0 0;
	padding: 0;
}

.mo-portfolio-card__fact--type {
	padding-bottom: 0.35rem;
}

.mo-portfolio-card__fact-value {
	display: block;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.35rem;
	line-height: 1.15;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-card__fact-value--type {
	font-size: 1.3rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.2;
}

.mo-fact__beds {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-align: center;
}

.mo-fact__bed-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #c9a962;
}

.mo-fact__bed-icon .mo-icon--bed {
	display: block;
	width: 3rem; /* 48px — cards narrow mobile (~50% up from 2rem) */
	height: auto;
	aspect-ratio: 68 / 48;
}

.mo-fact__bed-count {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.55rem; /* ~50% up from 1.05rem */
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	line-height: 1;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/* Listing cards — standard / large mobile */
@media (min-width: 480px) {
	.mo-portfolio-card__fact--beds .mo-fact__bed-icon .mo-icon--bed {
		width: 3.2rem; /* 51px */
	}

	.mo-portfolio-card__fact--beds .mo-fact__bed-count {
		font-size: 1.65rem;
	}

	.mo-portfolio-card__facts {
		gap: 2.15rem 2.85rem;
		margin-top: 2rem;
	}

	.mo-portfolio-card__fact-value--type {
		font-size: 1.35rem;
	}
}

/* Listing cards — tablet */
@media (min-width: 768px) {
	.mo-portfolio-card__fact--beds .mo-fact__bed-icon .mo-icon--bed {
		width: 3.5rem; /* 56px */
	}

	.mo-portfolio-card__fact--beds .mo-fact__beds {
		gap: 0.6rem;
	}

	.mo-portfolio-card__fact--beds .mo-fact__bed-count {
		font-size: 1.7rem;
	}

	.mo-portfolio-card__facts {
		gap: 2.35rem 3.15rem;
		margin-top: 2.15rem;
	}

	.mo-portfolio-card__fact-value--type {
		font-size: 1.4rem;
		letter-spacing: 0.035em;
	}
}

/* Listing cards — desktop */
@media (min-width: 1024px) {
	.mo-portfolio-card__fact--beds .mo-fact__bed-icon .mo-icon--bed {
		width: 3.85rem; /* 62px */
	}

	.mo-portfolio-card__fact--beds .mo-fact__beds {
		gap: 0.65rem;
	}

	.mo-portfolio-card__fact--beds .mo-fact__bed-count {
		font-size: 1.8rem;
	}

	.mo-portfolio-card__facts {
		gap: 2.5rem 3.5rem;
		margin-top: 2.35rem;
	}

	.mo-portfolio-card__fact-value--type {
		font-size: 1.45rem;
	}
}

.mo-portfolio-card__price {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.mo-portfolio-card__price-label {
	display: block;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(44, 62, 80, 0.65);
}

.mo-portfolio-card__panel--top .mo-portfolio-card__price-value {
	display: block;
	margin-top: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.85rem, 2.6vw, 2.5rem);
	font-weight: 400;
	line-height: 1.1;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/* Homepage featured */
.mo-portfolio-home__header {
	max-width: none;
	margin-bottom: 3rem;
	text-align: center;
}

.mo-portfolio-home__heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.75rem, 2.5vw, 2.5rem);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.2;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-home__supporting {
	margin-top: 0;
}

/*
 * Sales / Lettings channel landing — title + complete Featured photograph
 * in the first viewport (scoped; homepage Featured unchanged).
 */
.mo-channel-landing {
	--mo-channel-heading-block: clamp(3.1rem, 6.5vh, 4.25rem);
	display: flex;
	flex-direction: column;
	width: 100%;
}

.mo-channel-landing .mo-page-hero--channel {
	flex: 0 0 auto;
	padding:
		calc(var(--mo-header-clearance) + 0.7rem)
		clamp(1.25rem, 3vw, 1.75rem)
		0.65rem;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-channel-landing .mo-page-hero--channel::before,
.mo-channel-landing .mo-page-hero--channel::after {
	display: none;
}

.mo-channel-landing .mo-page-hero--channel .mo-page-hero__title {
	margin: 0;
	max-width: none;
	font-size: clamp(1.85rem, 2.2vw + 1rem, 2.65rem);
	line-height: 1.15;
	letter-spacing: 0.02em;
}

.mo-channel-landing .mo-featured-home {
	flex: 0 0 auto;
}

.mo-channel-landing .mo-featured-home__link {
	/* Remaining viewport after header + channel heading — full photo frame visible */
	min-height: calc(100dvh - var(--mo-header-clearance) - var(--mo-channel-heading-block) - 1.35rem);
	height: calc(100dvh - var(--mo-header-clearance) - var(--mo-channel-heading-block) - 1.35rem);
	max-height: calc(100dvh - var(--mo-header-clearance) - var(--mo-channel-heading-block) - 1.35rem);
}

@media (max-width: 1023px) {
	.mo-channel-landing {
		--mo-channel-heading-block: clamp(2.85rem, 7svh, 3.75rem);
	}

	.mo-channel-landing .mo-page-hero--channel {
		padding:
			calc(var(--mo-header-clearance) + 0.55rem)
			1.15rem
			0.55rem;
	}

	.mo-channel-landing .mo-page-hero--channel .mo-page-hero__title {
		font-size: clamp(1.7rem, 6vw, 2.15rem);
	}

	/* Height follows natural photograph ratio — Working Build 1.24.25 */
	.mo-channel-landing .mo-featured-home__link {
		min-height: 0;
		height: auto;
		max-height: none;
	}

	.mo-channel-landing .mo-featured-home__content {
		padding: 2.5rem 1.15rem 1.65rem;
	}

	.mo-channel-landing .mo-featured-home__label {
		font-size: clamp(1.55rem, 5.5vw, 2.2rem);
		margin-bottom: 0.85rem;
	}
}

@media (min-width: 1024px) and (max-height: 820px) {
	.mo-channel-landing {
		--mo-channel-heading-block: 3.35rem;
	}

	.mo-channel-landing .mo-page-hero--channel {
		padding-top: calc(var(--mo-header-clearance) + 0.45rem);
		padding-bottom: 0.45rem;
	}

	.mo-channel-landing .mo-page-hero--channel .mo-page-hero__title {
		font-size: clamp(1.7rem, 2vw, 2.15rem);
	}

	.mo-channel-landing .mo-featured-home__content {
		padding-bottom: 1.75rem;
	}

	.mo-channel-landing .mo-featured-home__label {
		font-size: clamp(1.75rem, 2.4vw, 2.75rem);
		margin-bottom: 0.75rem;
	}
}

/* Featured Home / Rental — Quiet Continuum (type ON the photograph) */
.mo-featured-home {
	position: relative;
	overflow: hidden;
	background: #0a0a0a;
}

.mo-featured-home + .mo-featured-home {
	margin-top: 0;
}

.mo-featured-home__link {
	display: block;
	position: relative;
	min-height: clamp(28rem, 78vh, 52rem);
	text-decoration: none;
	color: var(--wp--preset--color--white, #ffffff);
	overflow: hidden;
}

.mo-featured-home__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.mo-featured-home__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

/*
 * Working Build 1.24.25 — mobile / tablet Featured full composition.
 * Reverts 1.24.24 side insets. Full viewport width; natural aspect ratio;
 * no object-fit:cover crop. Desktop (≥1024px) unchanged.
 */
@media (max-width: 1023px) {
	.mo-featured-home {
		padding-inline: 0;
		background: #0a0a0a;
	}

	.mo-featured-home__link {
		min-height: 0;
		height: auto;
		max-height: none;
	}

	.mo-featured-home__media {
		position: relative;
		inset: auto;
		width: 100%;
		overflow: hidden;
	}

	.mo-featured-home__img {
		width: 100%;
		max-width: 100%;
		height: auto;
		object-fit: contain;
		object-position: 50% 50%;
	}
}

/* Lightest practical veil — typography support without draining the photograph */
.mo-featured-home__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #000;
	opacity: 0.18;
	pointer-events: none;
}

/* Caption lives inside the media plane — physically on the photograph */
.mo-featured-home__content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding:
		clamp(2rem, 6vh, 4rem)
		clamp(1.5rem, 4vw, 3.5rem)
		clamp(2rem, 5vh, 3.25rem);
	max-width: min(38rem, 94%);
	pointer-events: none;
}

/*
 * Feature headline — same visual confidence as hero “The Art. The Craft.”
 * Hierarchy: label (1) → place (2) → price (3).
 */
.mo-featured-home__label {
	margin: 0 0 1.15rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.9rem, 1.15rem + 3.8vw, 4rem);
	font-weight: 500;
	font-style: italic;
	letter-spacing: 0.05em;
	line-height: 1.12;
	color: var(--wp--preset--color--white, #ffffff);
	text-shadow: none;
}

.mo-featured-home__place {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.25rem, 0.9rem + 1.35vw, 1.85rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.04em;
	line-height: 1.25;
	color: rgba(255, 255, 255, 0.94);
}

.mo-featured-home__price {
	margin: 0.55rem 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.15rem, 0.85rem + 1.1vw, 1.65rem);
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.25;
	color: rgba(255, 255, 255, 0.92);
}

@media (max-width: 767px) {
	.mo-featured-home__content {
		padding: 3.5rem 1.25rem 2rem;
		max-width: 96%;
	}

	.mo-featured-home__label {
		font-size: clamp(1.65rem, 6.2vw, 2.45rem);
		letter-spacing: 0.045em;
		margin-bottom: 1rem;
	}
}

.mo-portfolio-completed {
	margin-top: 5rem;
	padding-top: 3rem;
	border-top: 1px solid rgba(11, 31, 46, 0.08);
}

.mo-portfolio-completed__title {
	margin: 0 0 2.5rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 400;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 1.5rem;
	margin-top: 3.5rem;
}

.mo-portfolio-pagination__pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.mo-portfolio-pagination__page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.5rem;
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--navy, #0b1f2e);
	border: 1px solid rgba(11, 31, 46, 0.16);
	border-radius: 3px;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.mo-portfolio-pagination__page:hover {
	border-color: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-pagination__page.is-current {
	background: var(--wp--preset--color--champagne, #c9a962);
	border-color: var(--wp--preset--color--champagne, #c9a962);
	color: var(--wp--preset--color--white, #ffffff);
}

.mo-portfolio-pagination__link {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-portfolio-pagination__status {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--slate, #2c3e50);
}

/*
 * ODR-020 — shared photo stage (listing preview + property full gallery).
 * Photography is the hero; controls stay quiet.
 */
.mo-photo-stage {
	position: relative;
	isolation: isolate;
	outline: none;
	touch-action: pan-y;
}

.mo-photo-stage__frame {
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-portfolio-card__media .mo-photo-stage__frame {
	aspect-ratio: unset;
	position: absolute;
	inset: 0;
}

.mo-photo-stage__image {
	display: block;
	width: 100%;
	height: 100%;
	/* Override base `img { max-width:100%; height:auto }` — that pair fights cover fill */
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: 50% 50%;
	transition: opacity 0.28s ease;
	user-select: none;
	-webkit-user-drag: none;
}

/* Listing preview only — keep natural Alto proportions inside the stable frame */
.mo-portfolio-card__media .mo-photo-stage__image {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: 50% 50%;
}

.mo-photo-stage__hit {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	width: 42%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	appearance: none;
}

.mo-photo-stage__hit--prev {
	left: 0;
}

.mo-photo-stage__hit--next {
	right: 0;
}

.mo-photo-stage__hit:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.55);
}

.mo-photo-stage__dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.85rem;
	z-index: 3;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.45rem;
	pointer-events: none;
}

.mo-photo-stage__dot {
	pointer-events: auto;
	width: 0.42rem;
	height: 0.42rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	opacity: 0.45;
	cursor: pointer;
	appearance: none;
	transition: opacity 0.25s ease;
}

.mo-photo-stage__dot.is-current,
.mo-photo-stage__dot[aria-selected='true'] {
	opacity: 1;
}

.mo-photo-stage__dot:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.9);
	outline-offset: 2px;
}

/*
 * ODR-020 — property Adjacent Peek Continuum (right-hand “what’s next”).
 * Header-aware clearance · landing composition through price · no black gutters.
 */
.mo-property-gallery {
	--mo-gallery-gap: clamp(0.4rem, 1vw, 0.75rem);
	--mo-gallery-peek: clamp(3.25rem, 13vw, 8.5rem);
	--mo-gallery-max-h: min(52vh, 28rem);
	padding: calc(var(--mo-header-clearance) + 0.65rem) clamp(0.85rem, 3.5vw, 2.75rem) 0.45rem;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-property-gallery__continuum {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: var(--mo-gallery-gap);
	width: 100%;
	max-width: min(72rem, 100%);
	margin: 0 auto;
	min-height: 0;
}

.mo-property-gallery__continuum--solo {
	justify-content: center;
}

.mo-property-gallery__main {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
}

.mo-property-gallery__continuum--solo .mo-property-gallery__main {
	width: min(100%, 48rem);
	flex: 0 1 auto;
}

.mo-property-gallery__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 3;
	max-height: var(--mo-gallery-max-h);
	overflow: hidden;
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-property-gallery__main .mo-property-gallery__frame {
	height: auto;
	width: min(100%, calc(var(--mo-gallery-max-h) * 4 / 3));
	max-width: 100%;
	margin-inline: auto 0;
}

.mo-property-gallery__continuum--solo .mo-property-gallery__main .mo-property-gallery__frame {
	margin-inline: auto;
}

.mo-property-gallery__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	user-select: none;
	-webkit-user-drag: none;
}

.mo-property-gallery__peek {
	flex: 0 0 var(--mo-gallery-peek);
	width: var(--mo-gallery-peek);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	appearance: none;
	align-self: stretch;
	overflow: hidden;
	max-height: var(--mo-gallery-max-h);
}

.mo-property-gallery__frame--peek {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	aspect-ratio: unset;
}

.mo-property-gallery__image--peek {
	opacity: 0.78;
	transition: opacity 0.28s ease;
}

.mo-property-gallery__peek:hover .mo-property-gallery__image--peek,
.mo-property-gallery__peek:focus-visible .mo-property-gallery__image--peek {
	opacity: 0.92;
}

.mo-property-gallery__peek:focus-visible {
	outline: 2px solid rgba(11, 31, 46, 0.28);
	outline-offset: 3px;
}

.mo-property-gallery .mo-photo-stage__hit--prev {
	width: 38%;
}

.mo-property-gallery .mo-photo-stage__hit--next {
	width: 38%;
	right: 0;
}

.mo-property-hero {
	padding: 1.35rem 1.5rem 1.15rem;
	background: var(--wp--preset--color--white, #ffffff);
}

.mo-property-hero__inner {
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.mo-property-hero__status {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--champagne, #c9a962);
}

/* Area · Outcode — calm place line; photography keeps authority */
.mo-property-hero__place {
	margin: 0.55rem 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.45rem, 2.8vw, 1.85rem);
	font-weight: 400;
	line-height: 1.2;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-hero__price {
	margin-top: 0.75rem;
}

.mo-property-hero__intro {
	margin: 0.85rem 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.05rem, 1.8vw, 1.3rem);
	font-style: italic;
	font-weight: 400;
	line-height: 1.35;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-property-hero__price-label {
	display: block;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(44, 62, 80, 0.65);
}

.mo-property-hero__price-value {
	display: block;
	margin-top: 0.3rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.75rem, 3.2vw, 2.35rem);
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/* ODR-029 Option B — completed invite: Cormorant navy headline (not a tiny label). */
.mo-property-hero__wanted {
	margin: 1.25rem 0 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.45rem, 2.8vw, 1.85rem);
	font-weight: 500;
	font-style: normal;
	letter-spacing: 0.01em;
	line-height: 1.25;
	text-transform: none;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.35rem;
}

/* Completed page — open but premium: lift Location/map, no empty canyon. */
.mo-property--completed .mo-property-hero {
	padding-bottom: 1.35rem;
}

.mo-property--completed .mo-property-hero__actions {
	margin-top: 1.15rem;
}

.mo-property--completed .mo-property-facts__inner {
	padding-top: 1.65rem;
	padding-bottom: 1.65rem;
}

.mo-property--completed .mo-property-section.mo-section {
	padding-top: 2rem;
	padding-bottom: 3rem;
}

.mo-property--completed .mo-property-map {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.mo-property--completed .mo-property-map .mo-content-label {
	margin-bottom: 1rem;
}

/* Mobile / tablet — keep photograph scale; fix header clearance + landing */
@media (max-width: 1023px) {
	.mo-property-gallery {
		--mo-gallery-peek: clamp(2.85rem, 16vw, 5rem);
		--mo-gallery-gap: 0.4rem;
		/* Board: mobile image size already correct — preserve v1 scale */
		--mo-gallery-max-h: min(52vh, 28rem);
		padding: calc(var(--mo-header-clearance) + 0.5rem) 0.85rem 0.35rem;
	}

	.mo-property-gallery__main .mo-property-gallery__frame {
		width: 100%;
		margin-inline: 0;
	}

	.mo-property-hero {
		padding: 1.1rem 1.25rem 0.85rem;
	}

	.mo-property-hero__place {
		margin-top: 0.45rem;
		font-size: clamp(1.35rem, 4.2vw, 1.7rem);
	}

	.mo-property-hero__price {
		margin-top: 0.7rem;
	}

	.mo-property-hero__price-value {
		font-size: clamp(1.65rem, 5vw, 2.05rem);
	}

	.mo-property-hero__intro {
		margin-top: 0.7rem;
		font-size: clamp(1rem, 3.2vw, 1.2rem);
	}

	.mo-property-hero__actions {
		margin-top: 1.15rem;
	}
}

/*
 * Desktop / laptop — gallery ~25% larger than 1.24.6, still header-clear;
 * landing: gallery → Area · Outcode → price (intro/actions below).
 */
@media (min-width: 1024px) {
	.mo-property {
		--mo-landing-text: clamp(6.5rem, 10vh, 8.25rem);
	}

	.mo-property-gallery {
		--mo-gallery-peek: clamp(5.5rem, 14vw, 10.5rem);
		--mo-gallery-gap: clamp(0.5rem, 1vw, 0.85rem);
		/* 1.29.4 — larger desktop photos; keep 4:3 + cover (no stretch / blur). */
		--mo-gallery-max-h: min(
			62dvh,
			40rem,
			calc(100dvh - var(--mo-header-clearance) - var(--mo-landing-text) - 1.25rem)
		);
		padding: calc(var(--mo-header-clearance) + 0.45rem) clamp(1rem, 3.5vw, 2.75rem) 0.3rem;
	}

	.mo-property-gallery__continuum {
		height: var(--mo-gallery-max-h);
		max-width: min(78rem, 100%);
	}

	.mo-property-gallery__main {
		flex: 0 1 auto;
		height: 100%;
		width: auto;
		max-width: calc(100% - var(--mo-gallery-peek) - var(--mo-gallery-gap));
	}

	.mo-property-gallery__main .mo-property-gallery__frame {
		width: auto;
		height: 100%;
		max-height: none;
		aspect-ratio: 4 / 3;
		margin-inline: 0;
	}

	.mo-property-gallery__continuum--solo .mo-property-gallery__main {
		width: auto;
		max-width: 100%;
	}

	.mo-property-gallery__peek {
		height: 100%;
		max-height: none;
	}

	.mo-property-hero {
		padding: 0.95rem 1.5rem 0.85rem;
	}

	.mo-property-hero__place {
		margin-top: 0.4rem;
		font-size: clamp(1.4rem, 1.55vw, 1.75rem);
	}

	.mo-property-hero__price {
		margin-top: 0.65rem;
	}

	.mo-property-hero__price-value {
		font-size: clamp(1.7rem, 2.1vw, 2.2rem);
	}

	.mo-property-hero__intro {
		margin-top: 0.7rem;
		font-size: clamp(1.05rem, 1.25vw, 1.25rem);
	}

	.mo-property-hero__actions {
		margin-top: 1.15rem;
	}
}

@media (min-width: 1024px) and (max-height: 820px) {
	.mo-property {
		--mo-landing-text: 6.25rem;
	}

	.mo-property-gallery {
		--mo-gallery-max-h: min(
			54dvh,
			34rem,
			calc(100dvh - var(--mo-header-clearance) - var(--mo-landing-text) - 1.1rem)
		);
		--mo-gallery-peek: clamp(5rem, 13vw, 9.5rem);
	}

	.mo-property-hero {
		padding-top: 0.75rem;
		padding-bottom: 0.65rem;
	}

	.mo-property-hero__intro {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.mo-property-gallery {
		--mo-gallery-peek: clamp(3.5rem, 14vw, 6rem);
		padding-inline: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mo-photo-stage__image,
	.mo-property-gallery__image--peek {
		transition: none;
	}
}

.mo-property-facts {
	border-top: 1px solid rgba(11, 31, 46, 0.08);
	border-bottom: 1px solid rgba(11, 31, 46, 0.08);
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-property-facts__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2.25rem 3rem;
	max-width: 960px;
	margin: 0 auto;
	padding: 2.25rem 1.5rem;
}

@media (min-width: 768px) {
	.mo-property-facts__inner {
		gap: 2.5rem 3.75rem;
		padding: 2.6rem 1.75rem;
	}
}

@media (min-width: 1024px) {
	.mo-property-facts__inner {
		gap: 2.75rem 4.5rem;
		padding: 2.9rem 2rem;
	}
}

.mo-property-facts__label {
	display: block;
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(44, 62, 80, 0.65);
}

.mo-property-facts__value {
	display: block;
	margin-top: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.35rem;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

/* Detail — type value only (no “TYPE”); beds use stacked .mo-fact__beds. */
.mo-property-facts__item--type .mo-property-facts__value--type {
	margin-top: 0;
	font-size: 1.4rem;
	letter-spacing: 0.035em;
	line-height: 1.2;
}

.mo-property-facts__item--beds {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Detail — ~50% larger than 1.24.33 */
.mo-property-facts__item--beds .mo-fact__bed-icon .mo-icon--bed {
	width: 3.2rem; /* 51px mobile */
}

.mo-property-facts__item--beds .mo-fact__beds {
	gap: 0.6rem;
}

.mo-property-facts__item--beds .mo-fact__bed-count {
	font-size: 1.7rem;
}

@media (min-width: 768px) {
	.mo-property-facts__item--beds .mo-fact__bed-icon .mo-icon--bed {
		width: 3.75rem; /* 60px tablet */
	}

	.mo-property-facts__item--beds .mo-fact__bed-count {
		font-size: 1.8rem;
	}

	.mo-property-facts__item--type .mo-property-facts__value--type {
		font-size: 1.5rem;
	}
}

@media (min-width: 1024px) {
	.mo-property-facts__item--beds .mo-fact__bed-icon .mo-icon--bed {
		width: 4.15rem; /* 66px desktop detail */
	}

	.mo-property-facts__item--beds .mo-fact__beds {
		gap: 0.65rem;
	}

	.mo-property-facts__item--beds .mo-fact__bed-count {
		font-size: 1.9rem;
	}

	.mo-property-facts__item--type .mo-property-facts__value--type {
		font-size: 1.55rem;
	}
}

/* ODR-022 — Council Tax / EPC as calm band lines (no charts) */
.mo-property-bands {
	list-style: none;
	margin: 0 auto;
	padding: 0 1.5rem 1.65rem;
	max-width: 960px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.75rem;
}

.mo-property-bands__item {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

@media (min-width: 960px) {
	.mo-property-layout {
		grid-template-columns: minmax(0, 1.4fr) minmax(18rem, 0.75fr);
		gap: 4rem;
		align-items: start;
	}
}

.mo-property-summary {
	margin: 0 0 2rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.35rem, 2vw, 1.65rem);
	font-style: italic;
	font-weight: 400;
	line-height: 1.45;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-description h2:not(.mo-content-label),
.mo-property-features h2:not(.mo-content-label),
.mo-property-assets h2:not(.mo-content-label),
.mo-property-map h2:not(.mo-content-label) {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.75rem;
	font-weight: 400;
	color: var(--wp--preset--color--navy, #0b1f2e);
	margin: 0 0 1rem;
}

.mo-property-features ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mo-property-features li {
	position: relative;
	padding: 0.65rem 0 0.65rem 1.25rem;
	border-bottom: 1px solid rgba(11, 31, 46, 0.08);
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-property-features li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1.15rem;
	width: 0.4rem;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
}

.mo-property-assets {
	display: grid;
	gap: 2.5rem;
	margin-top: 3rem;
}

.mo-property-asset__figure {
	margin: 0 0 1.5rem;
}

.mo-property-asset__figure:last-child {
	margin-bottom: 0;
}

/* Floorplans: never upscale beyond Alto intrinsic size (F-CRIT-001 lesson; Floorplan/[3] is max). */
.mo-property-asset__figure img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-property-asset__figure figcaption,
.mo-property-asset__note,
.mo-property-asset__empty,
.mo-property-map__area {
	margin: 0 0 0.35rem;
	font-size: 0.9375rem;
	line-height: 1.5;
	color: rgba(11, 31, 46, 0.72);
}

.mo-property-asset__note,
.mo-property-map__area {
	display: none !important;
}

.mo-property-map {
	margin-top: clamp(2.25rem, 5vw, 3.25rem);
}

/* v1.28.9 — gap between brochure button and Location heading */
.mo-property-main .mo-property-assets + .mo-property-map {
	margin-top: clamp(4.5rem, 11vw, 6.5rem) !important;
	padding-top: clamp(1rem, 3vw, 1.75rem);
}

.mo-property-map__canvas {
	margin-top: 1rem;
	height: clamp(16rem, 40vw, 22rem);
	border: 1px solid var(--wp--preset--color--mist, #e5dfd6);
	border-radius: 2px;
	overflow: hidden;
	background: var(--wp--preset--color--stone, #f7f4ef);
}

.mo-property-map__embed {
	position: relative;
}

.mo-property-map__iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: clamp(16rem, 40vw, 22rem);
	border: 0;
}

.mo-property-map__attribution {
	margin: 0.65rem 0 0;
	font-size: 0.6875rem;
	line-height: 1.45;
	color: rgba(11, 31, 46, 0.45);
}

.mo-property-map__open {
	margin: 0.75rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.45;
}

.mo-property-map__open a {
	color: var(--wp--preset--color--navy, #0b1f2e);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mo-property-map__attribution a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.mo-property-epc {
	display: flex;
	align-items: baseline;
	gap: 1rem;
	margin: 0 0 1.25rem;
}

.mo-property-epc__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(44, 62, 80, 0.65);
}

.mo-property-epc__rating {
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(2.75rem, 5vw, 3.5rem);
	line-height: 1;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-epc-cert {
	display: grid;
	gap: 1.25rem 2rem;
	align-items: start;
}

@media (min-width: 640px) {
	.mo-property-epc-cert {
		grid-template-columns: auto minmax(0, 20rem);
	}
}

.mo-property-epc-cert__scores {
	margin: 0.35rem 0 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: var(--wp--preset--color--slate, #2c3e50);
}

.mo-property-epc-cert__chart {
	margin: 0;
	max-width: 20rem;
}

.mo-property-epc-cert__chart img {
	display: block;
	width: 100%;
	max-width: 20rem;
	height: auto;
	background: transparent;
}

.mo-property-enquire {
	padding: 2rem;
	background: var(--wp--preset--color--stone, #f7f4ef);
	border: 1px solid rgba(11, 31, 46, 0.06);
}

@media (min-width: 960px) {
	.mo-property-enquire {
		position: sticky;
		top: calc(var(--mo-header-total) + 1.25rem);
	}
}

.mo-property-enquire__title {
	margin: 0 0 0.75rem;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: 1.75rem;
	font-weight: 400;
	color: var(--wp--preset--color--navy, #0b1f2e);
}

.mo-property-enquire__text {
	margin: 0 0 1.5rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--slate, #2c3e50);
}

/* v1.29.0 — mobile/tablet: hide inline enquiry under map; show only via Book a viewing */
@media (max-width: 959px) {
	.mo-property-aside {
		display: none;
	}

	.mo-property-aside:target {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 950;
		margin: 0;
		padding: calc(var(--mo-header-clearance) + 0.75rem) 1rem calc(5.5rem + env(safe-area-inset-bottom, 0px));
		overflow-y: auto;
		background: rgba(255, 255, 255, 0.98);
		-webkit-overflow-scrolling: touch;
	}

	.mo-property-aside:target .mo-property-enquire {
		max-width: 28rem;
		margin: 0 auto;
	}
}

/* 1.29.4 — property sticky call bar removed; search uses default bottom offset. */
.mo-property-sticky {
	display: none;
}

@media (max-width: 767px) {
	.mo-property {
		padding-bottom: 1.5rem;
	}
}

/* ==========================================================================
   Working Build 1.27.7 — editorial labels, call button, property headings
   ========================================================================== */

.mo-home-intro .mo-content-label,
.mo-about-practice .mo-content-label {
	font-size: clamp(0.8125rem, 0.72rem + 0.4vw, 0.9375rem);
	letter-spacing: 0.2em;
	gap: clamp(0.85rem, 0.65rem + 0.6vw, 1.15rem);
	margin-bottom: clamp(2rem, 3.5vw, 2.35rem);
}

.mo-home-intro .mo-content-label::before,
.mo-home-intro .mo-content-label::after,
.mo-about-practice .mo-content-label::before,
.mo-about-practice .mo-content-label::after {
	width: clamp(2.75rem, 2.2rem + 2.5vw, 3.75rem);
	height: 2px;
}

.mo-property-main h2.mo-content-label {
	display: flex;
	width: 100%;
	justify-content: flex-start;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.35rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	line-height: 1.4;
	color: var(--wp--preset--color--champagne, #c9a962);
}

.mo-property-main h2.mo-content-label::before,
.mo-property-main h2.mo-content-label::after {
	content: '';
	display: block;
	height: 1px;
	background: var(--wp--preset--color--champagne, #c9a962);
}

.mo-property-main h2.mo-content-label::before {
	width: 2.75rem;
	flex-shrink: 0;
}

.mo-property-main h2.mo-content-label::after {
	flex: 1;
	max-width: 5rem;
}

.mo-office-card__title {
	color: var(--wp--preset--color--champagne, #c9a962);
}

body.mo-website-design-page .mo-footer__maker-link:hover,
body.mo-website-design-page .mo-footer__maker-link:focus-visible {
	color: rgba(255, 255, 255, 0.85);
}

.mo-design-enquiry {
	max-width: 40rem;
	margin: 0 auto;
}

.mo-design-enquiry__thanks {
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.7;
	text-align: center;
	color: var(--wp--preset--color--slate, #2c3e50);
}

/* ==========================================================================
   Website design enquiry — Kramo premium (white / orange / black)
   ========================================================================== */

body.mo-website-design-page {
	--mo-kramo-orange: #ff6a00;
	--mo-kramo-orange-soft: #ff8533;
	--mo-kramo-black: #0a0a0a;
	--mo-kramo-charcoal: #141414;
	--mo-kramo-white: #ffffff;
	--mo-kramo-paper: #fafafa;
	--mo-kramo-muted: rgb(10 10 10 / 0.58);
	background: var(--mo-kramo-paper);
}

body.mo-website-design-page .mo-header {
	background: var(--mo-kramo-black);
	border-bottom: 1px solid rgb(255 106 0 / 0.22);
}

body.mo-website-design-page .mo-header-wrap.is-scrolled .mo-header,
body.mo-website-design-page .mo-header--solid {
	background: var(--mo-kramo-black);
}

body.mo-website-design-page .mo-logo,
body.mo-website-design-page .mo-nav__link,
body.mo-website-design-page .mo-menu-toggle__bar {
	color: var(--mo-kramo-white);
}

body.mo-website-design-page .mo-logo__tagline {
	color: rgb(255 255 255 / 0.62);
}

body.mo-website-design-page .mo-nav__link::after {
	background: var(--mo-kramo-orange);
}

body.mo-website-design-page .mo-nav__link:hover,
body.mo-website-design-page .mo-nav__link:focus-visible,
body.mo-website-design-page .mo-nav__item:hover > .mo-nav__link {
	color: var(--mo-kramo-orange-soft);
}

body.mo-website-design-page .mo-menu-toggle__bar {
	background: var(--mo-kramo-white);
}

body.mo-website-design-page .mo-footer__maker-link:hover,
body.mo-website-design-page .mo-footer__maker-link:focus-visible {
	color: var(--mo-kramo-orange-soft);
}

.mo-kramo-hero {
	position: relative;
	padding:
		clamp(3rem, 8vw, 4.5rem)
		clamp(1.5rem, 4vw, 3rem)
		clamp(3.25rem, 8vw, 5rem);
	background: var(--mo-kramo-black);
	overflow: hidden;
}

body.mo-website-design-page .mo-kramo-return,
body.mo-website-design-page .mo-kramo-return:visited,
body.mo-website-design-page .mo-kramo-return .mo-kramo-return__arrow {
	color: #ffffff !important;
}

body.mo-website-design-page .mo-kramo-return {
	position: absolute;
	top: clamp(1.15rem, 3vw, 1.65rem);
	left: clamp(1.25rem, 4vw, 3rem);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.2s ease;
}

body.mo-website-design-page .mo-kramo-return:hover,
body.mo-website-design-page .mo-kramo-return:focus-visible,
body.mo-website-design-page .mo-kramo-return:hover .mo-kramo-return__arrow,
body.mo-website-design-page .mo-kramo-return:focus-visible .mo-kramo-return__arrow {
	color: var(--mo-kramo-orange-soft) !important;
}

body.mo-website-design-page .mo-kramo-return:focus-visible {
	outline: 2px solid var(--mo-kramo-orange);
	outline-offset: 3px;
}

.mo-kramo-return__arrow {
	font-size: 1rem;
	line-height: 1;
	color: inherit;
}

.mo-kramo-hero__veil {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 15% 0%, rgb(255 106 0 / 0.14) 0%, transparent 58%),
		linear-gradient(180deg, rgb(255 255 255 / 0.03) 0%, transparent 42%);
	pointer-events: none;
}

.mo-kramo-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 42rem;
	margin: 0 auto;
	text-align: center;
}

.mo-kramo-label {
	display: inline-flex;
	align-items: center;
	gap: clamp(0.75rem, 2vw, 1rem);
	margin: 0 0 clamp(1.15rem, 3vw, 1.5rem);
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--mo-kramo-orange);
}

.mo-kramo-label::before,
.mo-kramo-label::after {
	content: '';
	display: block;
	width: clamp(2rem, 5vw, 2.75rem);
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--mo-kramo-orange) 50%,
		transparent 100%
	);
}

.mo-kramo-hero__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(2.35rem, 1.5rem + 3.5vw, 3.75rem);
	font-weight: 400;
	font-style: italic;
	letter-spacing: 0.03em;
	line-height: 1.08;
	color: var(--mo-kramo-white);
	text-wrap: balance;
}

.mo-kramo-hero__lead {
	margin: clamp(1rem, 2.5vw, 1.35rem) 0 0;
	max-width: 34rem;
	margin-inline: auto;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: clamp(0.9375rem, 0.88rem + 0.35vw, 1.0625rem);
	font-weight: 400;
	line-height: 1.72;
	letter-spacing: 0.015em;
	color: rgb(255 255 255 / 0.78);
	text-wrap: pretty;
}

.mo-kramo-panel {
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 2rem) clamp(4rem, 9vw, 6rem);
	background:
		linear-gradient(180deg, var(--mo-kramo-charcoal) 0%, var(--mo-kramo-charcoal) 3.5rem, var(--mo-kramo-paper) 3.5rem);
}

.mo-kramo-panel__shell {
	max-width: 40rem;
	margin: calc(clamp(-2.75rem, -5vw, -4rem)) auto 0;
	padding: clamp(2rem, 4.5vw, 2.75rem) clamp(1.65rem, 4vw, 2.35rem) clamp(2.25rem, 5vw, 3rem);
	background: var(--mo-kramo-white);
	border: 1px solid rgb(10 10 10 / 0.07);
	border-top: 3px solid var(--mo-kramo-orange);
	border-radius: 2px;
	box-shadow:
		0 1px 0 rgb(255 255 255 / 0.85) inset,
		0 28px 60px rgb(10 10 10 / 0.1),
		0 8px 24px rgb(10 10 10 / 0.05);
}

.mo-kramo-form__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

@media (min-width: 640px) {
	.mo-kramo-form__grid {
		grid-template-columns: 1fr 1fr;
		gap: 0 1.25rem;
	}
}

body.mo-website-design-page .mo-kramo-form .mo-form-group {
	margin-bottom: clamp(1.15rem, 2.5vw, 1.45rem);
}

body.mo-website-design-page .mo-kramo-form .mo-form-group label {
	display: block;
	margin-bottom: 0.55rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mo-kramo-black);
}

body.mo-website-design-page .mo-kramo-form .mo-form-group input,
body.mo-website-design-page .mo-kramo-form .mo-form-group textarea {
	width: 100%;
	padding: 0.95rem 1rem;
	font-family: var(--wp--preset--font-family--body, 'Inter', sans-serif);
	font-size: 0.9375rem;
	line-height: 1.5;
	color: var(--mo-kramo-black);
	background: var(--mo-kramo-paper);
	border: 1px solid rgb(10 10 10 / 0.1);
	border-radius: 2px;
	transition:
		border-color 0.22s ease,
		background-color 0.22s ease,
		box-shadow 0.22s ease;
}

body.mo-website-design-page .mo-kramo-form .mo-form-group textarea {
	min-height: 6.5rem;
	resize: vertical;
}

body.mo-website-design-page .mo-kramo-form .mo-form-group input:hover,
body.mo-website-design-page .mo-kramo-form .mo-form-group textarea:hover {
	border-color: rgb(10 10 10 / 0.2);
}

body.mo-website-design-page .mo-kramo-form .mo-form-group input:focus,
body.mo-website-design-page .mo-kramo-form .mo-form-group textarea:focus {
	border-color: var(--mo-kramo-orange);
	background: var(--mo-kramo-white);
	outline: none;
	box-shadow: 0 0 0 3px rgb(255 106 0 / 0.14);
}

body.mo-website-design-page .mo-kramo-form .mo-form-group input::placeholder,
body.mo-website-design-page .mo-kramo-form .mo-form-group textarea::placeholder {
	color: var(--mo-kramo-muted);
}

.mo-kramo-form__actions {
	margin-top: clamp(0.35rem, 1.5vw, 0.75rem);
	padding-top: clamp(0.85rem, 2vw, 1.15rem);
	border-top: 1px solid rgb(10 10 10 / 0.08);
}

body.mo-website-design-page .mo-btn--kramo {
	min-width: min(100%, 14rem);
	padding: 1rem 1.75rem;
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	background: var(--mo-kramo-orange);
	color: var(--mo-kramo-white);
	border: 1px solid var(--mo-kramo-orange);
	border-radius: 2px;
	box-shadow: 0 10px 24px rgb(255 106 0 / 0.22);
	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

body.mo-website-design-page .mo-btn--kramo:hover,
body.mo-website-design-page .mo-btn--kramo:focus-visible {
	background: var(--mo-kramo-black);
	border-color: var(--mo-kramo-black);
	color: var(--mo-kramo-white);
	box-shadow: 0 12px 28px rgb(10 10 10 / 0.18);
	transform: translateY(-1px);
}

.mo-kramo-thanks {
	padding: clamp(1rem, 3vw, 1.75rem) 0;
	text-align: center;
}

.mo-kramo-thanks__mark {
	width: 3rem;
	height: 3px;
	margin: 0 auto clamp(1.35rem, 3vw, 1.75rem);
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--mo-kramo-orange) 50%,
		transparent 100%
	);
}

.mo-kramo-thanks__text {
	margin: 0;
	font-family: var(--wp--preset--font-family--display, 'Cormorant Garamond', serif);
	font-size: clamp(1.35rem, 1rem + 1.2vw, 1.85rem);
	font-weight: 400;
	font-style: italic;
	line-height: 1.55;
	letter-spacing: 0.02em;
	color: var(--mo-kramo-black);
	text-wrap: pretty;
}

body.mo-website-design-page .mo-form-status--error {
	color: #5c1f1f;
	background: #fff4ed;
	border: 1px solid rgb(255 106 0 / 0.35);
	border-radius: 2px;
}
