/*
Theme Name: Mas Property 2027
Theme URI: https://masproperty.com
Author: Mas Property
Description: The Mas Property 2027 website: a luxury editorial design over live Meklara data, built on the Meklara Luxe architecture.
Version: 0.4.8
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: masproperty-2027
Tags: full-site-editing, block-patterns, real-estate, editorial
*/

/*
 * Block themes take their design tokens from theme.json. This file carries only
 * what theme.json cannot express: the handful of components the Meklara plugin
 * renders server-side, and the editorial details that make the site feel like a
 * brokerage rather than a plugin demo.
 *
 * ⛔ The plugin must never depend on a class defined here. These are styles for
 * markup the plugin emits, not behaviour the plugin needs.
 */

/* ── The navigation overlay ──────────────────────────────────────────────── */
/*
 * ⛔ THIS LIVES IN THE THEME, NOT THE PLUGIN.
 * It paints WordPress's own navigation block, which is the THEME's furniture.
 * The plugin must adapt to whatever theme a brokerage installs (Patrick,
 * 2026-09-22), so it may style its own sections and nothing else. When the
 * Meklara plugin runs on Kadence or Twenty Twenty-Five, that theme's menu stays
 * that theme's menu.
 */
/*
 * The menu is part of the site, not a browser artefact. Ink, not white; the
 * display face at a size worth tapping; and it arrives rather than appearing.
 */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--mk-charcoal) !important;
	color: #fff;
	padding: clamp(1.5rem, 6vw, 3rem) var(--mk-gutter);
	animation: mk-menu-in 260ms cubic-bezier(0.2, 0, 0, 1) both;
}
.wp-block-navigation__responsive-container.is-menu-open a { color: #fff; text-decoration: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--mk-display);
	font-size: clamp(1.6rem, 7vw, 2.4rem);
	line-height: 1.22;
	letter-spacing: -0.01em;
	padding-block: 0.35rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { max-width: var(--mk-max); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: #fff; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { background: transparent; border: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.05rem; font-family: var(--mk-body); color: rgba(255,255,255,.75); }
@keyframes mk-menu-in {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-navigation__responsive-container.is-menu-open { animation: none; }
}
/*
 * The Mas Property site map puts 81 links in the menu. Open, the drawer was
 * seven phone screens long, so there each section folds: its name is still a
 * link to its page, and the chevron beside it (a button assets/site.js adds,
 * .mk-sub-toggle) opens and closes its list.
 */
/* Parent items were black on ink: core's two-class .wp-block-navigation-item__content
   rule outranked the white above. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content.wp-block-navigation-item__content { color: #fff; }
.mk-sub-toggle { display: none; }
/* Name and chevron on one centred line, the list below at full width. The
   name carries a chevron-wide margin on its left so it stays on the centre. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.has-child {
	display: flex;
	/* Core stacks drawer items in a column; a section's row runs across. */
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-item__content { order: 0; margin-left: 44px; width: auto; flex: 0 1 auto; }
.wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation-submenu__toggle { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .has-child > .mk-sub-toggle {
	display: grid;
	order: 1;
	flex: 0 0 44px;
	place-items: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
}
.mk-sub-toggle svg { transition: transform 200ms ease; }
.mk-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.wp-block-navigation__responsive-container.is-menu-open .has-child > .wp-block-navigation__submenu-container {
	display: none !important;
	order: 2;
	flex-basis: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .has-child.mk-sub-open > .wp-block-navigation__submenu-container { display: flex !important; }

/* A finger-sized control, whatever the viewport. */
@media (max-width: 900px) {
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: grid; place-items: center; }
}

/* ── This theme's own voice ──────────────────────────────────────────────── */
/*
 * The Meklara plugin asks the ACTIVE THEME for its typography, palette and
 * measures before falling back to its own. That is what lets the connector sit
 * on Kadence or Twenty Twenty-Five without repainting them — and it means this
 * theme must state its voice, rather than relying on the plugin to carry it.
 */
:root {
	/* Mas Property's brand faces, self-hosted in assets/fonts: Bw Vivant for
	   display, Gotham for text. Inter stays behind Gotham to draw the few
	   characters Gotham lacks (€, ², →). Georgia remains in theme.json as an
	   alternative heading face ("serif"). */
	--meklara-display: "Bw Vivant", Georgia, "Times New Roman", serif;
	--meklara-body: "Gotham", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	/* Measured from the Mas Property build, 2026-09-22. */
	--meklara-ink: #1D2F3E;        /* navy text */
	--meklara-canvas: #FAF8F4;     /* ivory paper band */
	--meklara-paper: #ffffff;
	--meklara-graphite: #1D2F3E;   /* ink navy band */
	--meklara-muted: #6A7783;
	--meklara-rule: #E6E0D6;
	--meklara-accent: #A88A5C;     /* champagne */
	--meklara-charcoal: #1D2F3E;
	
	
	
}

/* ═══════════════════════════════════════════════════════════════════════════
 * THE MAS PROPERTY DESIGN SYSTEM — tokens
 *
 * One scale for type, one ladder for space, one set of ratios for photographs,
 * one restrained palette. Every component reads from here; no component is
 * allowed to invent a size. That is the whole point: a future page generated by
 * Meklara composes these primitives and needs nobody to redesign the site.
 *
 * Read with docs/implementation/maswp.md. The grammar is drawn from the
 * reference builds; the values are ours.
 * ═══════════════════════════════════════════════════════════════════════════ */
:root {
	/* ── Type. Fluid, so there are no breakpoint stacks for text. ───────── */
	--mas-face-display: var(--meklara-display);
	--mas-face-text: var(--meklara-body);

	--mas-type-display-xl: clamp(2.9rem, 7vw, 5.6rem);
	--mas-type-display-l: clamp(2.3rem, 4.6vw, 3.8rem);
	--mas-type-display-m: clamp(1.8rem, 3vw, 2.6rem);
	--mas-type-title: clamp(1.1rem, 1.6vw, 1.35rem);
	--mas-type-body-l: clamp(1.02rem, 1.2vw, 1.15rem);
	--mas-type-body: 1rem;
	--mas-type-meta: 0.85rem;
	--mas-type-label: 0.625rem;          /* 10px, the micro-label */

	--mas-leading-display: 1.04;
	--mas-leading-heading: 1.14;
	--mas-leading-text: 1.7;
	--mas-tracking-display: -0.022em;
	--mas-tracking-label: 0.22em;

	/* ── Space. One ladder; sections use the three band steps. ─────────── */
	--mas-sp-1: 0.25rem;
	--mas-sp-2: 0.5rem;
	--mas-sp-3: 0.75rem;
	--mas-sp-4: 1rem;
	--mas-sp-5: 1.5rem;
	--mas-sp-6: 2rem;
	--mas-sp-7: 3rem;
	--mas-band-tight: clamp(3rem, 6vw, 4.5rem);
	--mas-band: clamp(4.5rem, 9vw, 7.5rem);
	--mas-band-loose: clamp(5.5rem, 12vw, 10rem);

	/* ── Measure. Reading stays narrow; pictures take the width. ───────── */
	--mas-read: 68ch;
	--mas-wide: 1600px;
	--mas-gutter: clamp(1.25rem, 4vw, 3rem);

	/* ── Colour. Restrained: two grounds, one ink, one accent. ─────────── */
	--mas-ink: #1D2F3E;
	--mas-ink-soft: #1D2F3E;
	--mas-text: #16232C;
	--mas-muted: #6A7783;
	--mas-rule: #E6E0D6;
	--mas-paper: #FFFFFF;
	--mas-paper-warm: #FAF8F4;
	--mas-sand: #E1D5CC;
	--mas-accent: #A88A5C;              /* champagne, for hairlines and focus */
	--mas-on-ink: rgba(255, 255, 255, 0.92);
	--mas-on-ink-muted: rgba(255, 255, 255, 0.64);

	/* ── Photographs. A ratio per kind, so cards cannot vary in height. ── */
	--mas-ratio-property: 3 / 2;
	--mas-ratio-development: 4 / 3;
	--mas-ratio-editorial: 16 / 10;
	--mas-ratio-portrait: 4 / 5;
	--mas-ratio-thumb: 1 / 1;

	/* ── Motion. Two curves and three durations, used everywhere. ──────── */
	--mas-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--mas-ease-out: cubic-bezier(0, 0, 0.2, 1);
	--mas-quick: 180ms;
	--mas-calm: 300ms;
	--mas-slow: 900ms;

	/* One shadow in the whole system, for the thing that floats on a photograph. */
	--mas-lift: 0 18px 50px rgba(29, 47, 62, 0.18);
}

/* The plugin's own bridge reads these, so its components inherit the system. */
:root {
	--meklara-max: var(--mas-wide);
	--meklara-read: var(--mas-read);
	--meklara-sect: var(--mas-band);
}

/* ── Bands ───────────────────────────────────────────────────────────────── */
/*
 * A band is the unit of the page: full width, one ground, one idea, one rhythm.
 * Three grounds and three rhythms is the whole vocabulary — enough for pacing
 * (large / quiet / dense / quiet / large) and few enough that a page cannot
 * become a wall of boxes.
 */
.mk-band { padding-block: var(--mas-band); }
.mk-band--tight { padding-block: var(--mas-band-tight); }
.mk-band--loose { padding-block: var(--mas-band-loose); }
.mk-band--ink,
.mk-market.alignfull,
.mk-close.alignfull {
	background: var(--mas-ink);
	color: var(--mas-on-ink);
	padding-block: var(--mas-band-tight);
}
.mk-band--paper { background: var(--mas-paper-warm); padding-block: var(--mas-band); }
.mk-band--white { background: var(--mas-paper); padding-block: var(--mas-band); }
.mk-band--sand { background: var(--mas-sand); }

/*
 * ⛔ BANDS MEET. WordPress puts one block gap between every top-level group, so
 * each full-width band was separated from the next by a 24px strip of paper —
 * invisible between two paper bands, and a bright line across the page between
 * a photograph and an ink band. Every band carries its own vertical padding, so
 * the gap between them is not spacing, it is a seam.
 */
main > .wp-block-group.alignfull + .wp-block-group.alignfull,
main > .wp-block-group.alignfull + .wp-block-group,
main > .wp-block-group + .wp-block-group.alignfull { margin-top: 0; }

/* A heading that only assistive technology reads. An archive that jumps from
   its h1 straight to the h3 on a card leaves a hole in the ladder. */
.mk-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* ── The story page ──────────────────────────────────────────────────────
 * ⛔ NOT .mk-story: the connector already owns that class for a development
 * story card, and it is a two-column grid. Reusing the name laid this page's
 * sections out side by side, 800px off the screen.
 * ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 * A brokerage's own page about itself. Its prose is the tenant's and is not
 * touched here; what this does is give it a measure a person can read, let its
 * photographs take the width, and set its principles side by side.
 * ───────────────────────────────────────────────────────────────────────── */
.mk-about-open { margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.mk-about-open .mk-h1 { margin: 0.35rem 0 0; }
.mk-about-body > * + * { margin-top: 1.25rem; }
/* Photographs escape the reading column to the page's wide measure. */
.mk-about-body .mk-about-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	width: min(var(--mas-wide, 1600px), 100vw - 2 * var(--wp--style--root--padding-left, var(--mas-gutter)));
	max-width: none;
	margin-inline: calc(50% - min(var(--mas-wide, 1600px), 100vw - 2 * var(--wp--style--root--padding-left, var(--mas-gutter))) / 2);
	margin-block: clamp(2.5rem, 5vw, 4rem);
}
.mk-about-body .mk-about-pair figure { margin: 0; }
.mk-about-body .mk-about-pair img { width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
/* The principles, in the tenant's own words, read across rather than down. */
.mk-about-body .mk-principles {
	display: grid;
	/* The blocks arrive as heading, paragraph, heading, paragraph… Filling by
	   column keeps each heading above its own text; filling by row put the
	   first heading over the second one's prose. */
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: auto auto;
	grid-auto-flow: column;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	width: min(1200px, 100vw - 2 * var(--wp--style--root--padding-left, var(--mas-gutter)));
	max-width: none;
	margin-inline: calc(50% - min(1200px, 100vw - 2 * var(--wp--style--root--padding-left, var(--mas-gutter))) / 2);
	margin-block: clamp(2.5rem, 5vw, 3.5rem);
	padding-block: clamp(1.5rem, 3vw, 2rem);
	border-top: 1px solid var(--mas-rule);
	border-bottom: 1px solid var(--mas-rule);
}
.mk-about-body .mk-principles > * { margin: 0; }
.mk-about-body .mk-principles h2, .mk-about-body .mk-principles h3 {
	font-size: var(--mas-type-h4, 1.15rem); line-height: 1.2; margin: 0 0 0.5rem;
}
.mk-about-body .mk-principles p { font-size: 0.95rem; line-height: 1.6; }
.mk-about-close { margin-top: clamp(3rem, 6vw, 5rem); }

/* A lede is a sentence to read, not a band to fill. On the wide templates it
   was running the full 1344px, which is roughly 170 characters a line. */
/* !important because WordPress's constrained layout centres every child with
   margin-left/right: auto !important; a narrower lede would otherwise drift
   304px to the right of the h1 above it. */
.wp-block-post-content > .mk-lede { max-width: 46rem; margin-inline: 0 !important; }
@media (max-width: 860px) {
	.mk-about-body .mk-about-pair, .mk-about-body .mk-principles { grid-template-columns: minmax(0, 1fr); }
	.mk-about-body .mk-principles { grid-auto-flow: row; grid-template-rows: none; gap: 0.35rem 0; }
	.mk-about-body .mk-principles > h2, .mk-about-body .mk-principles > h3,
	.mk-about-body .mk-principles > h4, .mk-about-body .mk-principles > h5 { margin-top: 1.5rem; }
}

/* ── The micro-label ─────────────────────────────────────────────────────── */
/* It opens a band and names a card. One size, one tracking, everywhere. */
.mk-eyebrow {
	font-family: var(--mas-face-text);
	font-size: var(--mas-type-label);
	font-weight: 600;
	letter-spacing: var(--mas-tracking-label);
	text-transform: uppercase;
	color: var(--mas-muted);
}
.mk-band--ink .mk-eyebrow, .mk-market .mk-eyebrow, .mk-eyebrow--light { color: var(--mas-on-ink-muted); }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
/* Square, micro-label, three variants. Geometry moves only on press. */
.mk-button, .wp-block-button__link, .mk-more--button {
	border-radius: 0;
	font-size: var(--mas-type-label);
	font-weight: 600;
	letter-spacing: var(--mas-tracking-label);
	text-transform: uppercase;
	padding: var(--mas-sp-4) var(--mas-sp-5);
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background-color var(--mas-calm) var(--mas-ease-out), border-color var(--mas-calm) var(--mas-ease-out), color var(--mas-calm) var(--mas-ease-out);
}
.mk-button:active, .wp-block-button__link:active { transform: scale(0.985); }

/* ── Headings ────────────────────────────────────────────────────────────── */
.mk-hero-heading.meklara-hero-heading {
	font-family: var(--mas-face-display);
	font-weight: 400;
	font-size: var(--mas-type-display-xl);
	line-height: var(--mas-leading-display);
	letter-spacing: var(--mas-tracking-display);
}
.mk-h2, .mk-market-heading, .mk-explore-heading, .mk-close-heading, .mk-team-heading,
.mk-locations-heading, .mk-devstrip-heading {
	font-family: var(--mas-face-display);
	font-weight: 400;
	font-size: var(--mas-type-display-m);
	line-height: var(--mas-leading-heading);
	letter-spacing: -0.008em;
}
.mk-sect-head .mk-h2 { font-size: var(--mas-type-display-l); }

/* ── Controls ────────────────────────────────────────────────────────────── */
/*
 * Patrick, 2026-09-22: "all dropdowns, boxes etc can be different but not
 * standard like we have now."
 *
 * A native <select> paints itself: system chrome, a system chevron, a system
 * focus ring, and a rounded rectangle nobody chose. Underneath it is still a
 * native select — which is what makes it work with a keyboard, with VoiceOver
 * and with the iOS wheel — but everything you can see is ours: the label above
 * it as a micro-label, the value set in the reading face, one hairline between
 * cells, and a chevron we draw.
 */
.meklara-field,
.mk-herobar .meklara-field {
	position: relative;
	display: grid;
	gap: 0.35rem;
	padding: 0.9rem 1.15rem;
	background: #fff;
	border: 0;
	border-right: 1px solid var(--meklara-rule);
	border-radius: 0;
}
.meklara-field:last-of-type { border-right: 0; }
.meklara-field > span,
.meklara-field > label,
.mk-herobar .meklara-field-label {
	font-size: var(--mas-type-label);
	font-weight: 600;
	letter-spacing: var(--mas-tracking-label);
	text-transform: uppercase;
	color: color-mix(in srgb, var(--meklara-ink) 55%, transparent);
}
.meklara-field select,
.meklara-field input,
.meklara-input,
.mk-herobar select,
.mk-herobar input {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0 1.6rem 0 0;
	margin: 0;
	width: 100%;
	font-family: var(--meklara-body);
	font-size: max(16px, 1rem);
	line-height: 1.3;
	color: var(--meklara-ink);
	box-shadow: none;
	cursor: pointer;
}
/* Our chevron, not the system's: a 1px stroke, sized to the type, never a glyph. */
.meklara-field:has(select)::after {
	content: "";
	position: absolute;
	right: 1.15rem;
	bottom: 1.35rem;
	width: 9px;
	height: 9px;
	border-right: 1px solid color-mix(in srgb, var(--meklara-ink) 55%, transparent);
	border-bottom: 1px solid color-mix(in srgb, var(--meklara-ink) 55%, transparent);
	transform: rotate(45deg) translateY(-2px);
	pointer-events: none;
}
/* Focus is a line under the cell, in the accent — never a browser halo. */
.meklara-field select:focus-visible,
.meklara-field input:focus-visible,
.meklara-input:focus-visible {
	outline: none;
	box-shadow: 0 2px 0 0 var(--meklara-accent);
}
.meklara-field:focus-within { background: #fff; }

/*
 * THE BAR FLOATS. Patrick, 2026-09-22: "could this search bar be like floating
 * on top, looking more modern, slim… so that it sits 2 cm above and we see
 * little of the image also below".
 *
 * It was white, square and welded to the bottom edge of the photograph, which
 * is the one detail that makes a hero look like a template. Now it is lifted
 * off the edge (the connector owns that offset), narrower than the page,
 * rounded, and on glass so the photograph carries on behind it.
 *
 * ⛔ THE CELLS MUST BE TRANSPARENT. A white cell background inside a
 * translucent bar puts the opaque slab back one level down, and the glass does
 * nothing at all.
 */
.mk-herobar {
	background: rgba(255, 255, 255, 0.94);
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 24px 60px -26px rgba(18, 31, 42, 0.6), 0 2px 8px -4px rgba(18, 31, 42, 0.25);
}
@supports (backdrop-filter: blur(8px)) {
	.mk-herobar { background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(20px) saturate(1.25); }
}
/* Slimmer, and see-through: 60px of bar instead of 71, with the hairline
   between cells drawn short so it reads as a divider and not as a frame. */
.mk-herobar .meklara-field {
	background: transparent;
	border-right: 0;
	padding: 0.6rem 1.1rem 0.65rem;
	gap: 0.1rem;
}
.mk-herobar .meklara-field:focus-within { background: rgba(255, 255, 255, 0.55); }
.mk-herobar-submit.mk-button,
.mk-button--primary,
.meklara-button--primary {
	background: var(--mas-ink);
	color: #fff;
	border: 0;
	border-radius: 0;
	font-size: var(--mas-type-label);
	font-weight: 600;
	letter-spacing: var(--mas-tracking-label);
	text-transform: uppercase;
	padding-inline: 2rem;
	transition: background-color var(--mas-calm) var(--mas-ease-out);
}
.mk-herobar-submit.mk-button:hover,
.mk-button--primary:hover { background: #16303f; }
.mk-herobar-submit.mk-button:active { transform: scale(0.985); }

/* Every other box: square, hairline, no system rounding. */
.meklara-card, .mk-dev-card, .mk-person-media, .meklara-panel, .meklara-box,
input[type="text"], input[type="email"], input[type="search"], input[type="tel"], textarea {
	border-radius: 0;
}
textarea, input[type="text"], input[type="email"], input[type="search"], input[type="tel"] {
	border: 1px solid var(--meklara-rule);
	background: #fff;
	padding: 0.95rem 1.1rem;
	font-size: max(16px, 1rem);
}
textarea:focus-visible, input:focus-visible { outline: none; border-color: var(--meklara-accent); }

/*
 * A page that opens on a photograph opens ON the photograph.
 *
 * The hero began 24px down the page, so a strip of warm paper sat above it and
 * the white wordmark straddled the seam (Patrick's iPhone, 2026-09-22). The
 * header is fixed and transparent over a hero; the hero itself must start at
 * the very top, and nothing above it may reserve space.
 */
body.mk-has-hero .mk-page,
body.mk-has-hero main.mk-page { padding-top: 0; margin-top: 0; }
body.mk-has-hero .mk-page > *:first-child { margin-top: 0; }
body.mk-has-hero .mk-hero.meklara-hero-panel { margin-top: 0; }

/*
 * The wordmark over a photograph is a mark, not a paragraph: theirs sits in a
 * hairline box at the top-left corner. Ours keeps the display face but takes
 * the same scale and the same corner, so the header reads as part of the
 * picture rather than as a strip laid over it.
 */
.mk-header--over:not(.is-scrolled) .mk-wordmark a {
	font-size: 1.15rem;
	line-height: 1.15;
	letter-spacing: 0.01em;
}
@media (max-width: 900px) {
	.mk-header { padding-block: 0.85rem; }
	.mk-header--over:not(.is-scrolled) .mk-wordmark a { font-size: 1.05rem; }
}

/* ── The property card, their shape ──────────────────────────────────────── */
.meklara-card { background: transparent; border: 0; }
.meklara-card-link { text-decoration: none; color: inherit; display: grid; gap: 0.75rem; }
.meklara-card-frame { aspect-ratio: var(--mas-ratio-editorial); overflow: hidden; background: var(--mas-paper-warm); }
.meklara-card-place { font-size: var(--mas-type-label); font-weight: 600; letter-spacing: var(--mas-tracking-label); text-transform: uppercase; color: color-mix(in srgb, var(--meklara-ink) 55%, transparent); }
.meklara-card-title { font-family: var(--meklara-display); font-weight: 400; font-size: var(--mas-type-title); line-height: 1.2; margin: 0.1rem 0 0; }
.meklara-card-price { font-size: var(--mas-type-body); font-weight: 500; }
/* The meta row: hairline-separated facts, the way a listing sheet sets them. */
.meklara-card-facts { display: flex; flex-wrap: wrap; gap: 0.75rem; font-size: var(--mas-type-meta); color: color-mix(in srgb, var(--meklara-ink) 68%, transparent); }
.meklara-card-facts > span + span { padding-left: 0.75rem; border-left: 1px solid var(--meklara-rule); }

/* ── The numbered standard ───────────────────────────────────────────────── */
.mk-numbered { display: grid; gap: 0; }
.mk-numbered-item {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 0 clamp(1rem, 2vw, 2rem);
	padding: clamp(1.25rem, 2.4vw, 1.75rem) 0;
	border-top: 1px solid var(--meklara-rule);
}
.mk-numbered-item:last-child { border-bottom: 1px solid var(--meklara-rule); }
.mk-numbered-figure {
	grid-row: span 2;
	margin: 0;
	font-family: var(--meklara-display);
	font-size: clamp(1.9rem, 3vw, 2.4rem);
	line-height: 1;
	color: color-mix(in srgb, var(--meklara-ink) 38%, transparent);
}
.mk-numbered-title { margin: 0 0 0.3rem; font-size: var(--mas-type-label); font-weight: 600; letter-spacing: var(--mas-tracking-label); text-transform: uppercase; }
.mk-numbered-text { margin: 0; font-size: 0.92rem; line-height: 1.6; color: color-mix(in srgb, var(--meklara-ink) 72%, transparent); }
.mk-standard { align-items: start; gap: clamp(2rem, 5vw, 5rem); }

/* A band's own heading block: label, then the line. */
.mk-sect-head { display: grid; gap: 0.6rem; margin-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.mk-sect-head .mk-h2 { margin: 0; font-family: var(--meklara-display); font-weight: 400; font-size: var(--mas-type-display-l); line-height: 1.14; }

/* ── The header ──────────────────────────────────────────────────────────── */
/*
 * Light over a photograph, paper once you scroll, condensed while you read, and
 * out of the way when you scroll down — one gesture up brings it back. The
 * height is a token so the hero and the drawer can both reason about it.
 */
:root { --mas-header-h: 88px; --mas-header-h-condensed: 56px; }
@media (max-width: 900px) { :root { --mas-header-h: 68px; --mas-header-h-condensed: 52px; } }

.mk-header {
	/*
	 * FIXED, NOT STICKY. Sticky depends on every ancestor's overflow, and in a
	 * block theme the header sits inside a group: measured on /properties/ it
	 * scrolled away at -457px while the home page behaved. Fixed is the same
	 * behaviour everywhere, and the page reserves the height below.
	 */
	position: fixed;
	inset-inline: 0;
	top: 0;
	z-index: 120;
	display: flex;
	align-items: center;
	min-height: var(--mas-header-h);
	padding-block: 0;
	background: var(--mas-paper-warm);
	border-bottom: 1px solid transparent;
	transition:
		min-height 420ms var(--mas-ease),
		transform 320ms var(--mas-ease),
		background-color var(--mas-calm) var(--mas-ease-out),
		border-color var(--mas-calm) var(--mas-ease-out),
		color var(--mas-calm) var(--mas-ease-out);
}
.mk-header.is-scrolled { min-height: var(--mas-header-h-condensed); border-bottom-color: var(--mas-rule); }
/* Scrolling down: gone. Scrolling up: back, at the condensed height. */
.mk-header.is-away { transform: translateY(-101%); }

/* A page without a hero reserves the header's height; a hero page runs under it. */
body:not(.mk-has-hero) { padding-top: var(--mas-header-h); }

/* Over a hero the header is the photograph's own furniture until you scroll. */
.mk-header--over:not(.is-scrolled) {
	background: transparent;
	border-bottom-color: transparent;
	color: #fff;
}
.mk-header--over:not(.is-scrolled) .mk-wordmark a,
.mk-header--over:not(.is-scrolled) .mk-nav a,
.mk-header--over:not(.is-scrolled) .mk-header-link { color: #fff; }
/* A hairline of shade under the type, so white stays legible over a pale photograph. */
.mk-header--over:not(.is-scrolled)::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: calc(var(--mas-header-h) * 1.8);
	background: linear-gradient(to bottom, rgba(18, 31, 42, 0.42), rgba(18, 31, 42, 0));
	pointer-events: none;
	z-index: -1;
}

.mk-header .mk-wordmark a {
	font-family: var(--mas-face-display);
	font-size: clamp(1.05rem, 1.5vw, 1.35rem);
	font-weight: 500;
	letter-spacing: 0.005em;
	text-decoration: none;
}
.mk-nav a {
	font-family: var(--mas-face-text);
	font-size: var(--mas-type-meta);
	letter-spacing: 0.01em;
	text-decoration: none;
}
/* The one call to action in the header is a button, not another link. */
.mk-header-actions .mk-header-link {
	display: inline-flex;
	align-items: center;
	/* 44px, measured: it was 40 — four pixels short of what a thumb reliably hits. */
	min-height: 44px;
	padding: 0 var(--mas-sp-4);
	border: 1px solid currentColor;
	font-size: var(--mas-type-label);
	font-weight: 600;
	letter-spacing: var(--mas-tracking-label);
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--mas-calm) var(--mas-ease-out), color var(--mas-calm) var(--mas-ease-out);
}
.mk-header-actions .mk-header-link:hover { background: var(--mas-ink); border-color: var(--mas-ink); color: #fff; }
.mk-header--over:not(.is-scrolled) .mk-header-actions .mk-header-link:hover { background: #fff; border-color: #fff; color: var(--mas-ink); }
/* The second action stays quiet: one button per header. */
.mk-header-actions .mk-header-link--quiet {
	border-color: transparent;
	padding-inline: var(--mas-sp-2);
	font-size: var(--mas-type-meta);
	font-weight: 400;
	letter-spacing: 0.01em;
	text-transform: none;
}
.mk-header-actions .mk-header-link--quiet:hover { background: transparent; color: inherit; text-decoration: underline; text-underline-offset: 0.35em; }
@media (max-width: 900px) {
	.mk-header-actions .mk-header-link--quiet { display: none; }
}

/* ── The tablet gap ──────────────────────────────────────────────────────── */
/*
 * MEASURED at 768: the desktop navigation overran its own row by 12–22px
 * because it only collapses at the block editor's "mobile" breakpoint. A
 * brokerage's visitors are on tablets too. The drawer takes over below 1200:
 * the Mas Property site map puts its top-level items in the row, which stops
 * fitting well above 1024.
 */
@media (max-width: 1200px) {
	.mk-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.mk-header .wp-block-navigation__responsive-container-open { display: flex; }
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
/* Measured: 35×15 links. The words stay the same size; the hit area grows. */
.mk-footer a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.mk-footer-list li { margin: 0; }
.mk-footer-label {
	font-family: var(--mas-face-text);
	font-size: var(--mas-type-label);
	font-weight: 600;
	letter-spacing: var(--mas-tracking-label);
	text-transform: uppercase;
	color: var(--mas-muted);
	margin: 0 0 var(--mas-sp-2);
}
/* The legal row is small print, and small print may be small — but still tappable. */
.mk-footer-legal a { min-height: 44px; }




/* ═══════════════════════════════════════════════════════════════════════════
 * MAS PROPERTY 2027
 *
 * Set to the MAS Property reference screens: quiet, editorial, architectural.
 * A 1240px measure; Bw Vivant for display in regular weight, Gotham for text;
 * navy bands between ivory and white; photographs square-cut with their
 * labels on the picture; hairlines, no shadows, no rounding; navigation and
 * labels in small, widely tracked capitals. Motion is short and stops for
 * reduced motion.
 *
 * mk27-* classes belong to the 2027 sections (patterns/mas-*.php). Meklara
 * blocks are restyled through their own classes; nothing they do is rebuilt.
 * ═══════════════════════════════════════════════════════════════════════════ */
:root {
	--mk27-ink: #1D2F3E;          /* the navy of the bands */
	--mk27-black: #060809;        /* the footer */
	--mk27-ivory: #F7F6F3;
	--mk27-white: #FFFFFF;
	--mk27-text: #1D2F3E;
	--mk27-muted: #7C868E;
	--mk27-rule: #E4E0DA;
	--mk27-on-ink: rgba(255, 255, 255, 0.9);
	--mk27-on-ink-muted: rgba(255, 255, 255, 0.58);
	--mk27-on-ink-line: rgba(255, 255, 255, 0.14);
	--mk27-max: 1240px;
	--mk27-gutter: var(--wp--style--root--padding-left, clamp(1.25rem, 4vw, 3rem));
	--mk27-track: 0.24em;         /* the tracking of every small capital */
	--mas-ivory: var(--mk27-ivory);
	--mas-rule: var(--mk27-rule);
}
body { background: var(--mk27-ivory); color: var(--mk27-text); }

/* ── Type ────────────────────────────────────────────────────────────────── */
.mk27-h2,
.mk-devstrip-heading,
.mk27-contact .mk-close-heading {
	font-family: var(--mas-face-display);
	font-weight: 400;
	font-size: clamp(1.75rem, 2.3vw, 2.35rem);
	line-height: 1.12;
	letter-spacing: -0.005em;
	text-transform: none;
	color: var(--mk27-ink);
	margin: 0;
}
.mk27-eyebrow,
.mk-devstrip .mk-eyebrow {
	font-family: var(--mas-face-text);
	font-size: 0.5625rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--mk27-muted);
	margin: 0 0 1.1rem;
}
.mk27-text { font-size: 0.8125rem; line-height: 1.75; color: var(--mk27-muted); max-width: 34ch; margin: 0; }
.mk27-more a {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 44px;
	font-family: var(--mas-face-text);
	font-size: 0.5625rem;
	font-weight: 500;
	letter-spacing: var(--mk27-track);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mk27-ink);
}
.mk27-more a span { transition: transform 240ms var(--mas-ease); }
.mk27-more a:hover span { transform: translateX(4px); }
/* Underlined, as the reference; the line sits under the words and the tap
   area stays 44px tall around them. */
.mk27-more--underline a { min-height: 44px; padding: 0; background: linear-gradient(currentColor, currentColor) left calc(50% + 0.75em) / 100% 1px no-repeat; }
/* One outlined button, used on the navy bands. */
.mk27-button,
.mk-devstrip .mk-button--ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 1.4rem;
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-family: var(--mas-face-text);
	font-size: 0.5625rem;
	font-weight: 500;
	letter-spacing: var(--mk27-track);
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 240ms var(--mas-ease-out), color 240ms var(--mas-ease-out);
}
.mk27-button:hover,
.mk-devstrip .mk-button--ghost:hover { background: #fff; border-color: #fff; color: var(--mk27-ink); }
.mk27-placeholder { margin: 0; font-size: 0.5625rem; font-weight: 500; letter-spacing: var(--mk27-track); text-transform: uppercase; color: var(--mk27-on-ink-muted); }

/* ── Bands ───────────────────────────────────────────────────────────────── */
.mk27-band--ink { background: var(--mk27-ink); color: var(--mk27-on-ink); }
.mk27-band--ink .mk27-h2 { color: #fff; }
.mk27-band--ivory { background: var(--mk27-ivory); }
.mk27-band--white { background: var(--mk27-white); }
main.mk27-home > .alignfull + .alignfull,
main.mk27-home > * + * { margin-block-start: 0; }
/* Every 2027 band keeps the 1240px measure itself, whatever layout width an
   editor gives the group around it. */
.mk27-locations-grid, .mk27-head, .mk27-featured .meklara-collection, .mk27-standard-grid { max-width: var(--mk27-max); margin-inline: auto !important; }

/* ── Header ──────────────────────────────────────────────────────────────── */
.mk-header > .mk-header-row { width: 100%; max-width: 1440px; margin-inline: auto; }
/* The mark: MAS over PROPERTY inside a hairline square. */
.mk-logo { margin: 0; }
.mk-logo a,
.mk-header .mk-logo a,
.mk-header--over:not(.is-scrolled) .mk-logo a {
	display: inline-grid;
	place-content: center;
	justify-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid currentColor;
	line-height: 1;
	font-size: 1rem;
	color: inherit;
	text-decoration: none;
}
.mk-logo-mas { font-family: var(--mas-face-display); font-weight: 400; font-size: 1.05rem; letter-spacing: 0.01em; }
.mk-logo-property { font-family: var(--mas-face-text); font-size: 0.25rem; letter-spacing: 0.3em; margin-top: 0.2rem; margin-right: -0.3em; }
@media (max-width: 1200px) { .mk-logo a, .mk-header .mk-logo a { width: 46px; height: 46px; } }
.mk-nav .wp-block-navigation__container { gap: 2.4rem; }
.mk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--mas-face-text);
	font-size: 0.625rem;
	font-weight: 400;
	letter-spacing: var(--mk27-track);
	text-transform: uppercase;
}
/* The reference menu has no chevrons; the panel opens on hover and focus. */
@media (min-width: 1201px) {
	.mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle { margin-left: 0.3rem; opacity: 0.6; }
	.mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle svg { width: 8px; height: 8px; }
}
.mk-header-actions { gap: 2rem; }
.mk-lang { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.5625rem; font-weight: 500; letter-spacing: 0.2em; }
.mk-lang-chev { opacity: 0.7; }
@media (max-width: 1200px) { .mk-lang { display: none; } }
.mk-header-actions .mk-header-link--solid,
.mk-header--over:not(.is-scrolled) .mk-header-actions .mk-header-link--solid {
	min-height: 40px;
	padding: 0 1.25rem;
	background: #fff;
	border: 1px solid #fff;
	color: var(--mk27-ink);
	font-size: 0.5625rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
.mk-header-actions .mk-header-link--solid:hover,
.mk-header--over:not(.is-scrolled) .mk-header-actions .mk-header-link--solid:hover { background: transparent; color: #fff; }
/* Once the header takes paper, the button takes ink. */
.mk-header.is-scrolled .mk-header-actions .mk-header-link--solid,
.mk-header:not(.mk-header--over) .mk-header-actions .mk-header-link--solid { background: var(--mk27-ink); border-color: var(--mk27-ink); color: #fff; }
.mk-header.is-scrolled .mk-header-actions .mk-header-link--solid:hover,
.mk-header:not(.mk-header--over) .mk-header-actions .mk-header-link--solid:hover { background: transparent; color: var(--mk27-ink); }
@media (max-width: 900px) {
	.mk-header-actions .mk-header-link--solid,
	.mk-header--over:not(.is-scrolled) .mk-header-actions .mk-header-link--solid { min-height: 44px; }
}

/* The mega menus: Properties, Markets and Insights open as one wide panel
   under the header, their groups set out in columns. Desktop only; the drawer
   below 1200px keeps its folding sections. */
@media (min-width: 1201px) {
	/* The panel measures from the fixed header, so everything between them,
	   including the drawer's wrappers that WordPress keeps on desktop, stays
	   out of positioning. */
	.mk-header .mk-nav,
	.mk-header .mk-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.mk-header .mk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-close,
	.mk-header .mk-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-dialog,
	.mk-header .mk-nav .wp-block-navigation__container,
	/* li only: WordPress also puts the submenu's class on its panel <ul>,
	   and a static panel sits inside the menu row and widens every item. */
	.mk-header .mk-nav li.mk-mega { position: static; }
	.mk-header .mk-nav .mk-mega > .wp-block-navigation__submenu-container {
		left: 0 !important;
		right: 0;
		top: 100%;
		width: auto !important;
		min-width: 0 !important;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
		align-items: start;
		gap: 1.75rem 3rem;
		padding: 2.5rem max(var(--mas-gutter), calc((100% - var(--mk27-max)) / 2)) 3rem;
		background: var(--mas-ivory);
		color: var(--mas-ink);
		border: 0;
		border-top: 1px solid var(--mas-rule);
		border-bottom: 1px solid var(--mas-rule);
		box-shadow: 0 30px 60px -40px rgba(18, 31, 42, 0.35);
	}
	/* A bridge over the gap between the menu item and the panel, so the
	   pointer can cross it without the panel closing. */
	.mk-header .mk-nav .mk-mega > .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 28px;
	}
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 0.35rem 0;
		font-family: var(--mas-face-text);
		font-size: 0.875rem;
		letter-spacing: 0;
		text-transform: none;
		color: var(--mas-ink);
		min-height: 0;
	}
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 0.3em; }
	/* A group inside the panel is a column: its name a micro-label, its
	   links listed beneath it, always open. */
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child { display: block; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content {
		display: block;
		margin-bottom: 0.6rem;
		padding-bottom: 0.6rem;
		border-bottom: 1px solid var(--mas-rule);
		font-size: 0.6875rem;
		font-weight: 500;
		letter-spacing: var(--mas-tracking-label);
		text-transform: uppercase;
	}
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-submenu__toggle { display: none; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		position: static;
		visibility: visible;
		opacity: 1;
		width: auto;
		height: auto;
		min-width: 0;
		overflow: visible;
		display: block;
		padding: 0;
		border: 0;
		background: none;
		box-shadow: none;
		columns: 1;
	}
	/* A long group (Madrid, Costa del Sol) runs in two columns and spans two. */
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child:has(> .wp-block-navigation__submenu-container > :nth-child(9)) { grid-column: span 2; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container:has(> :nth-child(9)) { columns: 2; column-gap: 2.5rem; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container > li { break-inside: avoid; }
}

/* ── Hero ────────────────────────────────────────────────────────────────── */
/* About 640px on a laptop, not the full screen: the first band shows below it. */
.mk27-home .mk-hero.meklara-hero-panel {
	min-height: clamp(560px, 60vh, 700px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mk27-home .mk-hero.has-image::after {
	background: linear-gradient(to bottom, rgba(18, 31, 42, 0.5) 0%, rgba(18, 31, 42, 0.34) 30%, rgba(18, 31, 42, 0.34) 70%, rgba(18, 31, 42, 0.5) 100%);
}
.mk27-home .mk-hero-inner {
	max-width: calc(var(--mk27-max) + 2 * var(--mk27-gutter));
	padding: calc(var(--mas-header-h) + 3rem) var(--mk27-gutter) 2.25rem;
	gap: 0;
}
.mk27-home .mk-hero-copy { max-width: 48rem; padding-left: clamp(0rem, 2.5vw, 2rem); }
.mk27-home .mk-hero .mk-eyebrow,
.mk27-home .mk-hero-cta { display: none; }
.mk27-home .mk-hero-heading.meklara-hero-heading {
	font-family: var(--mas-face-display);
	font-weight: 400;
	font-size: clamp(2.5rem, 4.3vw, 3.85rem);
	line-height: 1.04;
	letter-spacing: -0.01em;
	text-transform: none;
	max-width: none;
	margin: 0 0 1.5rem;
}
.mk27-home .mk-hero-lede.meklara-hero-lede {
	font-family: var(--mas-face-text);
	font-weight: 300;
	font-size: 0.8125rem;
	line-height: 1.65;
	text-transform: none;
	max-width: 42ch;
	margin: 0;
	color: rgba(255, 255, 255, 0.86);
}
.mk27-home .mk-hero-credit.meklara-hero-credit { font-size: 0.5rem; letter-spacing: 0.2em; opacity: 0.6; }
/* The search: one long white bar, hairline divisions, a navy button. */
.mk27-home .mk-hero-bar {
	max-width: calc(var(--mk27-max) + 2 * var(--mk27-gutter));
	margin: 0 auto 4rem;
	padding: 0 var(--mk27-gutter);
}
.mk27-home .mk-herobar,
.mk27-home .mk-herobar.mk-herobar {
	max-width: 61rem;
	margin-left: clamp(0rem, 2.5vw, 2rem);
	background: #fff;
	border-radius: 0;
	backdrop-filter: none;
	box-shadow: none;
}
@supports (backdrop-filter: blur(8px)) {
	.mk27-home .mk-herobar.mk-herobar { background: #fff; backdrop-filter: none; }
}
.mk27-home .mk-herobar .meklara-field { padding: 0.55rem 1.1rem 0.6rem; gap: 0.15rem; background: transparent; }
.mk27-home .mk-herobar .meklara-field + .meklara-field::before,
.mk27-home .mk-herobar-fields + .mk-herobar-submit::before { top: 0; bottom: 0; background: var(--mk27-rule); }
.mk27-home .mk-herobar .meklara-field-label { font-size: 0.5rem; font-weight: 500; letter-spacing: 0.22em; color: var(--mk27-muted); }
.mk27-home .mk-herobar select {
	font-family: var(--mas-face-text);
	font-size: 0.625rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--mk27-ink);
}
.mk27-home .mk-herobar .mk-herobar-submit.mk-button {
	min-width: 7.5rem;
	padding-inline: 1.5rem;
	background: var(--mk27-ink);
	border: 1px solid var(--mk27-ink);
	border-radius: 0;
	color: #fff;
	font-size: 0.5625rem;
	font-weight: 500;
	letter-spacing: var(--mk27-track);
	text-transform: uppercase;
}
.mk27-home .mk-herobar .mk-herobar-submit.mk-button:hover { background: #2A4256; }
.mk27-home .mk-herobar .mk-herobar-submit.mk-button:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

/* ── Locations ───────────────────────────────────────────────────────────── */
.mk27-locations { padding-block: 2.75rem; }
.mk27-locations-grid { display: grid; grid-template-columns: 12.75rem minmax(0, 1fr); align-items: start; }
.mk27-locations-grid > * { margin: 0 !important; }
.mk27-locations-heading { font-size: clamp(1.6rem, 2vw, 2rem); color: #fff; padding-top: 0.1rem; }
/* Three to a row, as the reference: a third market fills the space, a fourth
   starts the next row, and no card ever changes shape. */
.mk27-markets-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.mk27-markets-row > * { margin: 0 !important; }
.mk27-market { position: relative; overflow: hidden; margin: 0; background: #1D2F3E; color: #fff; }
.mk27-market-media { margin: 0; aspect-ratio: 34 / 33; overflow: hidden; }
.mk27-market-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1400ms var(--mas-ease-out); }
@media (hover: hover) { .mk27-market:hover .mk27-market-media img { transform: scale(1.03); } }
.mk27-market-media--empty { display: grid; place-items: center; background: linear-gradient(170deg, #2A4256, #1D2F3E); }
.mk27-market-body {
	position: absolute;
	inset: auto 0 0;
	display: grid;
	gap: 0.2rem;
	padding: 3rem 1rem 0.6rem;
	background: linear-gradient(to top, rgba(18, 31, 42, 0.78) 0%, rgba(18, 31, 42, 0.3) 60%, rgba(18, 31, 42, 0) 100%);
}
.mk27-market-body > * { margin: 0; }
.mk27-market-name { font-family: var(--mas-face-text); font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.mk27-market-name a { color: #fff; text-decoration: none; }
.mk27-market-name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mk27-market-name a:focus-visible { outline: none; }
.mk27-market-name a:focus-visible::after { outline: 2px solid #fff; outline-offset: -6px; }
.mk27-market-country { font-size: 0.625rem; color: var(--mk27-on-ink-muted); }
.mk27-market-go { position: relative; z-index: 2; margin-top: 0.35rem !important; }
.mk27-market-go a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; font-size: 0.5rem; font-weight: 500; letter-spacing: var(--mk27-track); text-transform: uppercase; color: var(--mk27-on-ink-muted); text-decoration: none; }
.mk27-market-go a:hover { color: #fff; }

/* ── Featured properties: photographs on ivory, no card ──────────────────── */
.mk27-featured { padding-block: 3.75rem 4.25rem; }
.mk27-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 1.5rem; margin-bottom: 2.4rem; }
.mk27-head > * { margin: 0; }
.mk27-featured .meklara-collection { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.75rem 1.25rem; }
.mk27-featured .meklara-card { background: transparent; border: 0; }
.mk27-featured .meklara-card-link { display: flex; flex-direction: column; gap: 0; color: var(--mk27-ink); }
.mk27-featured .meklara-card-frame { aspect-ratio: 3 / 2; background: var(--mk27-rule); }
.mk27-featured .meklara-card-image { transition: transform 1400ms var(--mas-ease-out); }
@media (hover: hover) { .mk27-featured .meklara-card-link:hover .meklara-card-image { transform: scale(1.03); } }
.mk27-featured .meklara-card-body { display: flex; flex-direction: column; gap: 0; padding: 1.25rem 0 0; }
.mk27-featured .meklara-card-place { order: 1; font-size: 0.5rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-featured .meklara-card-title { order: 2; margin: 0.5rem 0 0; font-family: var(--mas-face-display); font-weight: 400; font-size: 1rem; line-height: 1.35; }
.mk27-featured .meklara-card-facts { order: 3; margin-top: 1.1rem; gap: 0.9rem; font-size: 0.625rem; color: var(--mk27-muted); }
.mk27-featured .meklara-card-facts > span + span { padding-left: 0; border-left: 0; }
.mk27-featured .meklara-card-price { order: 4; margin-top: 0.4rem; font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.02em; }
@media (hover: hover) { .mk27-featured .meklara-card-link:hover .meklara-card-title { text-decoration: underline; text-underline-offset: 0.25em; text-decoration-thickness: 1px; } }

/* ── New developments: the Meklara strip, set to the reference ───────────── */
.mk-devstrip { background: var(--mk27-ink); }
.mk-devstrip-inner {
	max-width: calc(var(--mk27-max) + 2 * var(--mk27-gutter));
	padding: 2.75rem var(--mk27-gutter);
}
@media (min-width: 1025px) {
	.mk-devstrip-inner { grid-template-columns: 16.25rem minmax(0, 1fr); align-items: start; gap: 0; }
}
.mk-devstrip-copy { padding-top: 0.25rem; padding-right: 2rem; }
.mk-devstrip-heading { color: #fff; margin: 0 0 1.4rem; max-width: 11ch; }
.mk-devstrip-text { font-size: 0.6875rem; line-height: 1.75; color: var(--mk27-on-ink-muted); margin: 0 0 2rem; max-width: 30ch; }
.mk-devstrip-tiles { gap: 6px; }
.mk-devtile-media { aspect-ratio: 19 / 33; }
.mk-devtile-body { gap: 0.3rem; padding: 3rem 1rem 1.25rem; background: linear-gradient(to top, rgba(18, 31, 42, 0.82) 0%, rgba(18, 31, 42, 0.32) 60%, rgba(18, 31, 42, 0) 100%); }
.mk-devtile-place { font-size: 0.5rem; font-weight: 500; letter-spacing: 0.22em; color: var(--mk27-on-ink-muted); }
.mk-devtile-name { font-family: var(--mas-face-display); font-weight: 400; font-size: 1rem; line-height: 1.2; text-transform: none; letter-spacing: 0; }
.mk-devtile-from { margin-top: 0.3rem; font-size: 0.625rem; font-weight: 500; color: #fff; }

/* ── The MAS Standard ────────────────────────────────────────────────────── */
.mk27-standard { padding-block: clamp(4.5rem, 7vw, 7rem); }
.mk27-standard-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: start; }
.mk27-standard-grid > * { margin: 0 !important; }
.mk27-standard-copy > * { margin: 0; }
.mk27-standard .mk27-h2 { font-size: clamp(1.9rem, 2.6vw, 2.5rem); }
.mk27-rule.wp-block-separator { width: 50px; max-width: 50px; margin: 1.6rem 0 1.75rem !important; border: 0; border-top: 1px solid var(--mk27-ink); opacity: 1; background: none; }
.mk27-standard .mk27-text { margin-bottom: 1.5rem; }
.mk27-steps { display: grid; }
.mk27-steps > * { margin: 0 !important; }
.mk27-step { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); align-items: center; padding: 1.9rem 0; border-bottom: 1px solid var(--mk27-rule); }
.mk27-step:first-child { padding-top: 0; }
.mk27-step:last-child { border-bottom: 0; }
.mk27-step > * { margin: 0; }
.mk27-step-figure { font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(2.25rem, 3vw, 2.75rem); line-height: 1; color: var(--mk27-ink); }
.mk27-step-body { padding-left: 1.6rem; border-left: 1px solid var(--mk27-rule); }
.mk27-step-body > * { margin: 0; }
.mk27-step-title.wp-block-heading { font-family: var(--mas-face-text); font-size: 0.8125rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-step-text { margin-top: 0.6rem !important; font-size: 0.6875rem; line-height: 1.7; color: var(--mk27-muted); max-width: 32ch; }

/* ── The closing line: Meklara's call to action, kept minimal ────────────── */
.mk27-contact .mk-close,
.mk27-contact .mk-close.mk-close--dark {
	margin-top: 0;
	padding: clamp(2.5rem, 4vw, 3.25rem) var(--mk27-gutter);
	background: var(--mk27-ivory);
	color: var(--mk27-ink);
	border-top: 1px solid var(--mk27-rule);
}
.mk27-contact .mk-close-inner { max-width: var(--mk27-max); grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) auto; align-items: center; gap: 1.25rem 3rem; }
.mk27-contact .mk-close-heading,
.mk27-contact .mk-close--dark .mk-close-heading { font-size: clamp(1.4rem, 1.9vw, 1.75rem); color: var(--mk27-ink); max-width: none; }
.mk27-contact .mk-close-text,
.mk27-contact .mk-close--dark .mk-close-text { font-size: 0.75rem; line-height: 1.7; color: var(--mk27-muted); max-width: 48ch; }
.mk27-contact .mk-close p:last-child { margin: 0; }
.mk27-contact .mk-close .mk-more {
	display: inline-flex; align-items: center; gap: 0.7rem;
	padding: 0.75rem 0 0.35rem;
	box-shadow: inset 0 -1px 0 currentColor;
	color: var(--mk27-ink);
	font-size: 0.5625rem; font-weight: 500; letter-spacing: var(--mk27-track); text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
@media (max-width: 900px) { .mk27-contact .mk-close-inner { grid-template-columns: minmax(0, 1fr); } }

/* ── Footer ──────────────────────────────────────────────────────────────── */
.mk27-footer { background: var(--mk27-black); color: var(--mk27-on-ink-muted); padding-block: clamp(3.5rem, 6vw, 5rem) 2.25rem; }
.mk27-footer > * { margin-block: 0; }
.mk27-footer a { display: inline-flex; align-items: center; min-height: 32px; color: rgba(255, 255, 255, 0.6); font-size: 0.6875rem; text-decoration: none; }
.mk27-footer a:hover { color: #fff; }
.mk27-footer-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 2.4fr) auto; gap: 2.5rem; align-items: start; padding-bottom: 3rem; }
.mk27-footer-top > * { margin: 0 !important; }
.mk27-footer-brand > * { margin: 0; }
.mk27-footer-wordmark a { min-height: 0; font-family: var(--mas-face-display); font-size: 1.4rem; color: #fff; }
.mk27-footer-note { margin-top: 1.4rem !important; font-size: 0.6875rem; line-height: 1.7; max-width: 30ch; }
.mk27-footer-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 2rem; }
.mk27-footer-cols > * { margin: 0 !important; }
.mk27-footer .mk-footer-label { margin: 0 0 0.9rem; font-size: 0.5rem; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.mk27-footer .mk-footer-list { list-style: none; margin: 0; padding: 0; }
.mk27-footer .mk-footer-list li { margin: 0; }
/* Social icons: hairline circles. A link without an address renders nothing,
   so the row appears by itself once the addresses are filled in. */
.mk27-footer-social { gap: 0.6rem !important; margin: 0 !important; }
.mk27-footer-social .wp-social-link { background: transparent !important; color: rgba(255, 255, 255, 0.8) !important; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 50%; }
.mk27-footer-social .wp-social-link a { min-height: 0; padding: 0.55rem; }
.mk27-footer-social .wp-social-link svg { width: 14px; height: 14px; }
.mk27-footer-contact { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; padding: 1.75rem 0; border-top: 1px solid var(--mk27-on-ink-line); font-size: 0.6875rem; }
.mk27-footer-contact > * { margin: 0 !important; }
.mk27-footer-contact span + span { margin-left: 1.25rem; }
.mk27-footer-reach { display: flex; gap: 1.5rem; }
.mk27-footer-reach a { color: #fff; font-weight: 500; }
.mk27-footer-legal { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; font-size: 0.5625rem; }
.mk27-footer-legal > * { margin: 0 !important; }
.mk27-footer-markets { letter-spacing: 0.3em; text-transform: uppercase; }
.mk27-footer-policies { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 0 1.25rem; }
.mk27-footer-policies a { font-size: 0.5625rem; letter-spacing: 0.1em; min-height: 44px; }
.mk27-footer .mk-footer-demo { opacity: 0.7; }
@media (max-width: 1024px) {
	.mk27-footer-top { grid-template-columns: minmax(0, 1fr); }
	.mk27-footer-legal { grid-template-columns: minmax(0, 1fr); }
	.mk27-footer-policies { justify-content: flex-start; }
}
@media (max-width: 781px) {
	.mk27-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk27-footer a { min-height: 44px; }
	.mk27-footer-contact span + span { margin-left: 0; display: block; }
}

/* ── Tablet ──────────────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.mk27-locations-grid { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	.mk27-featured .meklara-collection { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk-devstrip-copy { padding-right: 0; }
}
@media (max-width: 900px) {
	.mk27-standard-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ── Phones ──────────────────────────────────────────────────────────────── */
@media (max-width: 781px) {
	.mk27-home .mk-hero.meklara-hero-panel { min-height: 100svh; justify-content: flex-end; }
	.mk27-home .mk-hero-copy, .mk27-home .mk-herobar, .mk27-home .mk-herobar.mk-herobar { padding-left: 0; margin-left: 0; }
	.mk27-home .mk-hero-bar { margin-bottom: 2rem; }
	.mk27-home .mk-herobar .mk-herobar-submit.mk-button { min-width: 0; min-height: 48px; }
	.mk27-home .mk-herobar .meklara-field { padding: 0.75rem 1rem; }
	/* Markets swipe sideways: large photographs, the next card at the edge. */
	.mk27-markets-row {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 82%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: calc(-1 * var(--mk27-gutter));
		padding-inline: var(--mk27-gutter);
		scroll-padding-inline: var(--mk27-gutter);
	}
	.mk27-markets-row::-webkit-scrollbar { display: none; }
	.mk27-market { scroll-snap-align: start; }
	.mk27-market-media { aspect-ratio: 4 / 5; }
	.mk27-featured .meklara-collection { grid-template-columns: minmax(0, 1fr); }
	.mk27-step { grid-template-columns: 4.5rem minmax(0, 1fr); }
	.mk27-step-body { padding-left: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
	.mk27-market-media img, .mk27-featured .meklara-card-image, .mk27-more a span { transition: none; }
}

/* ── Reference details ───────────────────────────────────────────────────── */
/* Georgia has no light weight and needs no tightening; keep it regular and
   at its own spacing everywhere a 2027 heading appears. */
.mk27-h2, .mk-devstrip-heading, .mk27-contact .mk-close-heading,
.mk27-home .mk-hero-heading.meklara-hero-heading, .mk27-step-figure,
.mk27-featured .meklara-card-title, .mk-devtile-name, .mk27-footer-wordmark a, .mk-logo-mas {
	font-weight: 400;
	letter-spacing: 0;
}
.mk27-featured .mk27-h2, .mk-devstrip-heading { font-size: clamp(1.75rem, 2.1vw, 2.15rem); line-height: 1.1; }
.mk27-home .mk-hero-heading.meklara-hero-heading { line-height: 1.02; }
.mk27-step-title.wp-block-heading, .mk27-market-name { font-weight: 600; }
.mk27-eyebrow, .mk-devstrip .mk-eyebrow { font-weight: 500; }

/* The menu shows words only. The submenu button stays for keyboards and
   screen readers, out of sight until it takes focus. */
@media (min-width: 1201px) {
	.mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle:not(:focus-visible) {
		position: absolute; width: 1px; height: 1px; margin: 0; padding: 0;
		overflow: hidden; clip-path: inset(50%); white-space: nowrap;
	}
}

/* The search bar as the reference draws it: one line per field, the field's
   name in small capitals where nothing is chosen yet, the choice itself once
   there is one. The name stays the field's label for assistive technology. */
.mk27-home .mk-herobar-fields { grid-template-columns: 1.45fr 1.2fr 1fr 1fr; }
.mk27-home .mk-herobar .meklara-field {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 2rem 0 1.1rem;
}
.mk27-home .mk-herobar .meklara-field-label {
	position: absolute;
	left: 1.1rem;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: var(--mk27-ink);
	pointer-events: none;
	transition: opacity 160ms ease;
}
.mk27-home .mk-herobar select {
	width: 100%;
	min-height: 44px;
	padding: 0;
	background-image: none;
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	cursor: pointer;
}
.mk27-home .mk-herobar option { color: var(--mk27-ink); }
.mk27-home .mk-herobar .meklara-field:has(option[value=""]:checked) select { color: transparent; }
.mk27-home .mk-herobar .meklara-field:not(:has(option[value=""]:checked)) .meklara-field-label { opacity: 0; }
/* One small chevron at the right of every field. */
.mk27-home .mk-herobar .meklara-field::after {
	content: "";
	position: absolute;
	right: 1.1rem;
	top: 50%;
	bottom: auto;
	width: 5px;
	height: 5px;
	border-right: 1px solid var(--mk27-ink);
	border-bottom: 1px solid var(--mk27-ink);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}
.mk27-home .mk-herobar .mk-herobar-submit.mk-button { min-height: 44px; }
/* The reference hero carries no photo credit line. */
.mk27-home .mk-hero-credit { display: none; }
@media (max-width: 781px) {
	.mk27-home .mk-herobar-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk27-home .mk-herobar .meklara-field { min-height: 52px; }
}

/* ── The logo ────────────────────────────────────────────────────────────── */
/* Mas Property's own mark (assets/logo/mas-property-logo-white.png): the
   lettering is cut from it and drawn as a mask, so it takes the header's
   colour, white over a photograph and ink on paper. The frame is drawn here
   as a 1px line: at 54px the file's own frame would be half a pixel. */
.mk-header .mk-logo a,
.mk-header--over:not(.is-scrolled) .mk-logo a { border: 1px solid currentColor; }
.mk-logo-mark {
	display: block;
	width: 33px;   /* the lettering's share of the 54px frame in the original */
	height: 18px;
	background: currentColor;
	-webkit-mask: url("assets/logo/mas-property-lettering-white.png") center / contain no-repeat;
	mask: url("assets/logo/mas-property-lettering-white.png") center / contain no-repeat;
}
@media (max-width: 1200px) { .mk-logo-mark { width: 28px; height: 16px; } }

/* ── The WordPress toolbar ───────────────────────────────────────────────── */
/* Logged-in editors see WordPress's black toolbar across the top. The header
   is fixed, so it moves down by the toolbar's height instead of sliding under
   it; on a phone the toolbar is pinned too, or it would scroll away and leave
   a gap above the header. Visitors never see the toolbar. */
body.admin-bar .mk-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .mk-header { top: 46px; }
}
@media (max-width: 600px) {
	body.admin-bar #wpadminbar { position: fixed; }
}


/* ── Readability ─────────────────────────────────────────────────────────── */
/* The reference sets its small capitals at 8-9px. Here nothing a visitor has
   to read is smaller than 11px, reading text is 13-16px, and the grey on
   light grounds is dark enough for small text (#5E6973 on ivory, 5.4:1). The
   proportions of every section stay as they were. */
:root { --mk27-muted: #5E6973; }
/* Menu, language, header button */
.mk-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 0.6875rem; letter-spacing: 0.2em; }
.mk-lang { font-size: 0.6875rem; }
.mk-header-actions .mk-header-link--solid,
.mk-header--over:not(.is-scrolled) .mk-header-actions .mk-header-link--solid { font-size: 0.6875rem; letter-spacing: 0.16em; min-height: 44px; }
@media (min-width: 1201px) {
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 0.9375rem; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content { font-size: 0.6875rem; }
}
/* Labels, links and buttons in small capitals */
.mk27-eyebrow, .mk-devstrip .mk-eyebrow { font-size: 0.6875rem; letter-spacing: 0.24em; }
.mk27-more a, .mk27-button, .mk-devstrip .mk-button--ghost { font-size: 0.6875rem; letter-spacing: 0.2em; }
.mk27-placeholder { font-size: 0.6875rem; }
/* Reading text */
.mk27-text { font-size: 0.9375rem; line-height: 1.7; }
.mk27-home .mk-hero-lede.meklara-hero-lede { font-size: 1rem; line-height: 1.6; max-width: 44ch; }
.mk-devstrip-text { font-size: 0.875rem; line-height: 1.7; }
/* The search bar */
.mk27-home .mk-herobar .meklara-field-label,
.mk27-home .mk-herobar select { font-size: 0.6875rem; letter-spacing: 0.14em; }
.mk27-home .mk-herobar .mk-herobar-submit.mk-button { font-size: 0.6875rem; letter-spacing: 0.18em; min-width: 9.5rem; }
/* Market cards */
.mk27-market-name { font-size: 0.875rem; }
.mk27-market-country { font-size: 0.8125rem; }
.mk27-market-go a { font-size: 0.6875rem; letter-spacing: 0.18em; }
/* Property cards */
.mk27-featured .meklara-card-place { font-size: 0.6875rem; letter-spacing: 0.18em; }
.mk27-featured .meklara-card-title { font-size: 1.125rem; line-height: 1.35; }
.mk27-featured .meklara-card-facts { font-size: 0.8125rem; }
.mk27-featured .meklara-card-price { font-size: 0.9375rem; }
/* Development cards */
.mk-devtile-place { font-size: 0.6875rem; letter-spacing: 0.16em; }
.mk-devtile-name { font-size: 1.125rem; }
.mk-devtile-from { font-size: 0.8125rem; }
/* The MAS Standard */
.mk27-step-title.wp-block-heading { font-size: 0.875rem; }
.mk27-step-text { font-size: 0.875rem; max-width: 36ch; }
/* Footer */
.mk27-footer a { font-size: 0.8125rem; }
.mk27-footer .mk-footer-label { font-size: 0.6875rem; letter-spacing: 0.24em; }
.mk27-footer-note, .mk27-footer-contact { font-size: 0.8125rem; }
.mk27-footer-legal, .mk27-footer-policies a { font-size: 0.75rem; }

/* ── The header below 1200px ─────────────────────────────────────────────── */
/* Logo on the left, everything else on the right: on a tablet, Contact us
   then the menu button; on a phone, the menu button alone (Contact is in the
   menu and the footer). The mark shrinks to a 44px square so it sits inside
   the header rather than filling it. */
@media (max-width: 1200px) {
	.mk-header-row { gap: 0.75rem; }
	.mk-header-row > .mk-logo { order: 1; margin-right: auto; }
	.mk-header-row > .mk-header-actions { order: 2; }
	.mk-header-row > .mk-nav { order: 3; flex: 0 0 auto; }
	.mk-header .mk-logo a,
	.mk-header--over:not(.is-scrolled) .mk-logo a { width: 46px; height: 46px; }
	.mk-logo-mark { width: 28px; height: 16px; }
}
@media (max-width: 600px) {
	.mk-header-row > .mk-header-actions { display: none; }
	.mk-header .mk-logo a,
	.mk-header--over:not(.is-scrolled) .mk-logo a { width: 44px; height: 44px; }
	.mk-logo-mark { width: 26px; height: 15px; }
}

/* ── The full-screen menu ────────────────────────────────────────────────── */
/* The header's small capitals are for the bar; inside the open drawer the
   sections are set in the display serif at a size worth tapping, their
   links beneath in the text face. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	font-family: var(--mas-face-display);
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--mas-face-text);
	font-size: 1rem;
	letter-spacing: 0;
	text-transform: none;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}

/* ── Footer with the full secondary site map ─────────────────────────────── */
/* Six columns (Properties, Markets, Company, Guides, Services, Contact) set
   under the brand line rather than beside it, so no column is squeezed. */
.mk27-footer-top { grid-template-columns: minmax(0, 1fr) auto; }
.mk27-footer-brand { grid-column: 1; grid-row: 1; }
.mk27-footer-social { grid-column: 2; grid-row: 1; align-self: start; }
.mk27-footer-cols { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 2rem 1.75rem; margin-top: 1rem !important; }
.mk27-footer .mk-footer-list a { line-height: 1.4; }
@media (max-width: 1100px) { .mk27-footer-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mk27-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ── Mega panels with the full site map ──────────────────────────────────── */
/* Markets now lists every area and neighbourhood (nine groups), so the panel
   sets them in narrower single columns with tighter lines, and never grows
   past the screen: if a small laptop cannot hold it, it scrolls inside. */
@media (min-width: 1201px) {
	.mk-header .mk-nav li.mk-mega > .wp-block-navigation__submenu-container {
		grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
		gap: 1.5rem 2rem;
		padding-top: 2rem;
		padding-bottom: 2.25rem;
		max-height: calc(100vh - var(--mas-header-h) - 32px);
		overflow-y: auto !important;
		overscroll-behavior: contain;
	}
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child:has(> .wp-block-navigation__submenu-container > :nth-child(9)) { grid-column: auto; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container:has(> :nth-child(9)) { columns: 1; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 0.2rem 0;
		font-size: 0.875rem;
		line-height: 1.35;
	}
}
@media (min-width: 1201px) {
	.mk-header .mk-nav li.mk-mega > .wp-block-navigation__submenu-container { gap: 1.25rem 2rem; padding-top: 1.6rem; padding-bottom: 1.75rem; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content { margin-bottom: 0.45rem; padding-bottom: 0.45rem; }
	.mk-header .mk-nav .mk-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.15rem 0; line-height: 1.3; }
}

/* ── New developments as a scroll panel ──────────────────────────────────── */
/* The strip shows up to twelve developments in one row that scrolls sideways
   at every size, with snap points for touch and trackpads. On a laptop about
   three and a half tiles show, so the row reads as more to come; the arrows
   under "View all developments" move it for a mouse (assets/site.js). */
@media (min-width: 1025px) {
	.mk-devstrip-tiles {
		grid-auto-flow: column;
		grid-template-columns: none;
		grid-auto-columns: calc((100% - 3 * 6px) / 3.5);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		margin-inline: 0;
		padding-inline: 0;
	}
	.mk-devstrip-tiles::-webkit-scrollbar { display: none; }
}
.mk-devtile { scroll-snap-align: start; }
.mk27-rail-controls { display: flex; gap: 0.5rem; margin-top: 2rem; }
.mk27-rail-controls[hidden] { display: none; }
.mk27-rail-btn {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	transition: background-color 240ms var(--mas-ease-out), color 240ms var(--mas-ease-out), opacity 240ms ease;
}
.mk27-rail-btn:hover:not(:disabled) { background: #fff; color: var(--mk27-ink); }
.mk27-rail-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.mk27-rail-btn:disabled { opacity: 0.3; cursor: default; }
@media (max-width: 1024px) { .mk27-rail-controls { display: none; } }
/* The developments copy, easier to read. */
.mk-devstrip-text { font-size: 0.9375rem; line-height: 1.7; color: rgba(255, 255, 255, 0.72); max-width: 30ch; }

/* The Madrid photograph: keep the Metropolis dome in the card's crop. */
.mk27-market-media--madrid img { object-position: 22% 55%; }

/* ── Readability across the whole site ───────────────────────────────────── */
/* Measured on every page type (properties, a property, developments, a
   development, an area guide, a property type, about, insights, an article,
   contact, 404): these labels were drawn at 9.9-10.9px by the luxe and
   Meklara styles. On this theme nothing a visitor reads is under 11px. */
.mk-eyebrow,
.meklara-field-label,
.meklara-card-place,
.mk-button,
.wp-block-button__link,
.mk-devcat-tab,
.mk-devcat-count-line,
.mk-pill,
.mk-mag-cat-count,
.mk-destination-count,
.meklara-source-demo,
.mk-provenance-summary > span,
.meklara-count,
.meklara-filters-open,
.meklara-search-title,
.mk-hero-credit.meklara-hero-credit,
.mk-hero-credit a {
	font-size: max(0.6875rem, 11px) !important;
}
.mk-eyebrow { letter-spacing: 0.22em; color: var(--mk27-muted); }
/* Filters and sort: finger- and mouse-sized at every width, not only on
   touch screens. */
.meklara-search select,
.meklara-search input[type="text"],
.meklara-sort select,
.meklara-sort .meklara-button,
.meklara-sort button { min-height: 44px; }
/* Archive titles come from the data ("villa"); set them as titles. */
.mk27-archive-title::first-letter { text-transform: uppercase; }
.mk27-archive-title { font-family: var(--mas-face-display); font-weight: 400; letter-spacing: 0; }
/* Development names in the catalogue are links inside headings; give them a
   44px tap area without changing how they read. */
.mk-dev-card-title a,
.mk-cat-title a,
.mk-mag-title a { display: inline-flex; align-items: center; min-height: 44px; }

/* ── A steady page ───────────────────────────────────────────────────────── */
/* The header stays where it is. The luxe header slid away on every scroll
   down and back on every scroll up; here it condenses and keeps its place. */
.mk-header.is-away { transform: none !important; }
/* Sections appear with a short fade and nothing else: no slide, no zoom on
   the photographs, no staggered delays. Moving content while a reader
   scrolls feels unsteady, and Safari can paint text mid-move (a line of the
   developments copy was caught half-drawn). */
.mk-js .mk-reveal { transform: none !important; }
.mk-reveal.is-revealed { transition: opacity 450ms ease !important; transition-delay: 0s !important; }
.mk-js .mk-reveal img,
.mk-reveal.is-revealed img { transform: none !important; opacity: 1 !important; transition: none !important; }
@media (prefers-reduced-motion: reduce) {
	.mk-js .mk-reveal { opacity: 1 !important; }
}
/* "View all developments" on one line, centred in its frame. */
.mk-devstrip .mk-button--ghost { white-space: nowrap; justify-content: center; text-align: center; letter-spacing: 0.16em; padding-inline: 1.25rem; }

/* Button labels are centred by the font itself: Gotham's files shipped with
   no hhea ascent or descent (0/0), which macOS and Safari read, so labels sat
   high and Safari could clip the tops of a line of text when it repainted.
   assets/fonts now carry the font's own Windows metrics in hhea. */
/* The filter bar's Search button had no minimum height of its own. */
.meklara-search .meklara-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }

/* ── The hero search: label above, choice below ──────────────────────────── */
/* The one-line version hid the select's text (color: transparent) until a
   choice was made. Safari draws a select's open list in the select's own
   colour, so every list opened empty. Each field now shows its name as a
   small label with the current choice under it, in ink, and the lists open
   normally in every browser. */
.mk27-home .mk-herobar .meklara-field {
	display: grid;
	align-content: center;
	gap: 0.15rem;
	min-height: 58px;
	padding: 0.55rem 2.1rem 0.55rem 1.1rem;
}
.mk27-home .mk-herobar .meklara-field-label {
	position: static;
	transform: none;
	opacity: 1 !important;
	font-size: max(0.6875rem, 11px);
	font-weight: 500;
	letter-spacing: 0.16em;
	color: var(--mk27-muted);
	pointer-events: none;
}
.mk27-home .mk-herobar select,
.mk27-home .mk-herobar .meklara-field:has(option[value=""]:checked) select {
	color: var(--mk27-ink);
	min-height: 0;
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: none;
}
.mk27-home .mk-herobar option { color: #1D2F3E; background: #fff; }
.mk27-home .mk-herobar .meklara-field::after { top: auto; bottom: 1.15rem; transform: rotate(45deg); }
.mk27-home .mk-herobar .mk-herobar-submit.mk-button { min-height: 58px; }
.mk27-home .mk-herobar .meklara-field-label,
.mk27-home .mk-herobar select { line-height: 1.25; }
.mk27-home .mk-herobar .meklara-field { padding-block: 0.5rem; }
/* The button set the bar's height through the luxe button padding (74px);
   the fields and the button now share one 58px height. */
.mk27-home .mk-herobar .mk-herobar-submit.mk-button { padding-block: 0; line-height: 1.2; }
.mk27-home .mk-herobar .mk-herobar-submit.mk-button { height: 58px; min-height: 58px; }
@media (max-width: 781px) { .mk27-home .mk-herobar .mk-herobar-submit.mk-button { height: 52px; min-height: 52px; } }
/* The 58px includes the field's padding (the fields measured content-box,
   which made them 74px). */
.mk27-home .mk-herobar .meklara-field { box-sizing: border-box; }

/* ── The logo, exactly as designed ───────────────────────────────────────── */
/* The whole of Mas Property's logo file (frame, lettering and spacing) is
   drawn as one mask, so it keeps its own proportions: the lettering sits
   slightly below the middle and the frame is a fine line. An earlier version
   rebuilt it from a cut-out of the lettering and a CSS border, which centred
   the lettering and doubled the frame's weight. It still takes the header's
   colour: white over a photograph, ink on paper. */
.mk-header .mk-logo a,
.mk-header--over:not(.is-scrolled) .mk-logo a {
	width: 64px;
	height: 64px;
	padding: 0;
	border: 0;
	display: block;
}
.mk-header .mk-logo-mark {
	width: 100%;
	height: 100%;
	-webkit-mask-image: url("assets/logo/mas-property-logo-white.png");
	mask-image: url("assets/logo/mas-property-logo-white.png");
	-webkit-mask-size: contain;
	mask-size: contain;
}
@media (max-width: 1200px) {
	.mk-header .mk-logo a,
	.mk-header--over:not(.is-scrolled) .mk-logo a { width: 56px; height: 56px; }
	.mk-header .mk-logo-mark { width: 100%; height: 100%; }
}
@media (max-width: 600px) {
	.mk-header .mk-logo a,
	.mk-header--over:not(.is-scrolled) .mk-logo a { width: 52px; height: 52px; }
	.mk-header .mk-logo-mark { width: 100%; height: 100%; }
}

/* ── The ordinary drop-downs ─────────────────────────────────────────────── */
/* New developments, Sell and About MAS open as a short list rather than a
   panel. Over the photograph the header sets every link in it white, and
   that reached these lists too: white links on a white list, so they opened
   empty. They now match the mega panels: ivory, a hairline, ink links. */
@media (min-width: 1201px) {
	.mk-header .mk-nav .wp-block-navigation__container > .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container {
		min-width: 15.5rem;
		padding: 0.75rem 0;
		background: var(--mk27-ivory);
		border: 1px solid var(--mk27-rule);
		border-radius: 0;
		box-shadow: 0 24px 50px -30px rgba(18, 31, 42, 0.35);
	}
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.mk-header--over:not(.is-scrolled) .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		min-height: 40px;
		padding: 0.45rem 1.4rem;
		color: var(--mk27-ink);
		font-family: var(--mas-face-text);
		font-size: 0.875rem;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
		text-decoration: none;
		white-space: nowrap;
		transition: background-color 160ms ease;
	}
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
		background: var(--mk27-sand, #EFEBE6);
		color: var(--mk27-ink);
	}
	/* Every panel, mega or short, keeps ink text however the header is set. */
	.mk-header--over:not(.is-scrolled) .mk-nav .wp-block-navigation__submenu-container a { color: var(--mk27-ink); }
}
@media (min-width: 1201px) {
	/* The menu's gap between top-level items was also spacing the links inside
	   each short list (about 54px a line); inside a list they sit 40px apart. */
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container { gap: 0 !important; row-gap: 0 !important; }
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container > li { margin: 0; }
}
@media (min-width: 1201px) {
	/* Each line of a short list is exactly 40px, text centred in it. */
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	.mk-header--over:not(.is-scrolled) .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		box-sizing: border-box;
		height: 40px;
		padding-block: 0;
		line-height: 1.2;
	}
	.mk-header .mk-nav .has-child:not(.mk-mega) > .wp-block-navigation__submenu-container .wp-block-navigation-item__label { line-height: 1.2; display: block; }
}

/* ── Headlines 25% smaller (page titles and the large section headings; small
   card and article titles keep their size). On a phone they stop at a floor so
   they still read as headlines. ─────────────────────────────────────────── */
main .mk-h1, main h1.wp-block-post-title, main h1.wp-block-query-title { font-size: clamp(2.0625rem, 1.5054rem + 2.286vw, 3.5625rem) !important; }
main h1.wp-block-post-title.has-3-xl-font-size { font-size: clamp(1.875rem, 1.5651rem + 1.271vw, 2.7094rem) !important; }
.mk-hero-heading.meklara-hero-heading { font-size: clamp(2.175rem, 1.4229rem + 3.086vw, 4.2rem) !important; }
.mk27-home .mk-hero-heading.meklara-hero-heading { font-size: clamp(1.875rem, 1.4989rem + 1.543vw, 2.8875rem) !important; }
main .mk-detail-title { font-size: clamp(2.25rem, 1.5814rem + 2.743vw, 4.05rem) !important; }
main .mk-listing-title { font-size: clamp(1.625rem, 1.4207rem + 0.838vw, 2.175rem) !important; }
main .mk-h2, main .mk-advisory-heading, main .mk-close-heading { font-size: clamp(1.5rem, 1.3329rem + 0.686vw, 1.95rem) !important; }
main .mk-sect-head .mk-h2, main h2.wp-block-heading.mk-h2:not(.mk-sect > .mk-h2) { font-size: clamp(1.725rem, 1.3071rem + 1.714vw, 2.85rem) !important; }
main .mk-sect > h2.mk-h2 { font-size: clamp(1.5rem, 1.3329rem + 0.686vw, 1.95rem) !important; }
main .mk-cat-title { font-size: clamp(1.5rem, 1.2214rem + 1.143vw, 2.25rem) !important; }
main .mk-section > h2:not([class]), main .mk-dev-enquire .meklara-enquiry > h2 { font-size: clamp(1.5rem, 1.305rem + 0.800vw, 2.025rem) !important; }
main .mk-advisory-form .meklara-enquiry > h2, main .mk-enquiry-band .meklara-enquiry > h2 { font-size: clamp(1.5rem, 1.3607rem + 0.571vw, 1.875rem) !important; }

/* ── Drop-downs stay open while the cursor travels into them ───────────────
   The big panels open below the header, a gap away from the menu word. An
   invisible bridge fills that gap, and closing waits a moment, so a slightly
   wandering cursor does not shut the menu. */
@media (min-width:1201px) {
	.mk-header .mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before {
		content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 40px; background: transparent;
	}
	.mk-header .mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		transition: opacity .15s ease .25s, visibility 0s linear .4s !important;
	}
	.mk-header .mk-nav .wp-block-navigation__container > .has-child:hover > .wp-block-navigation__submenu-container,
	.mk-header .mk-nav .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation__submenu-container {
		transition: opacity .15s ease 0s, visibility 0s linear 0s !important; z-index: 30;
	}
}

/* ── More space, quieter names ─────────────────────────────────────────────
   Residence cards everywhere: wider gaps between cards, more air under the
   photo, a smaller and lighter name, and the price and facts set apart.
   Sections across the site get roomier top and bottom spacing. */
:root {
	--mas-band-tight: clamp(3.75rem, 7.5vw, 5.75rem);
	--mas-band: clamp(5.5rem, 11vw, 9.5rem);
	--mas-band-loose: clamp(6.5rem, 14vw, 12rem);
}
.mk-sect-head { margin-bottom: clamp(2rem, 4vw, 3.5rem); }

/* The grids the cards sit in */
.wp-block-post-template.is-layout-grid:has(.meklara-card),
.meklara-collection,
.mk27-featured .meklara-collection {
	column-gap: clamp(1.5rem, 3vw, 2.75rem) !important;
	row-gap: clamp(3rem, 5.5vw, 5rem) !important;
}

/* Inside a card */
.meklara-card .meklara-card-body,
.mk27-featured .meklara-card-body { padding-top: 1.35rem !important; }
.meklara-card .meklara-card-place { letter-spacing: 0.22em; }
.meklara-card .meklara-card-title,
.mk27-featured .meklara-card-title {
	margin-top: 0.7rem !important;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.125rem) !important;
	font-weight: 300;
	line-height: 1.45;
	letter-spacing: 0.01em;
}
.meklara-card .meklara-card-price {
	margin-top: 0.85rem;
	font-size: 0.9375rem;
	font-weight: 500;
	letter-spacing: 0.04em;
}
.meklara-card .meklara-card-facts {
	margin-top: 0.85rem;
	gap: 1.1rem;
	font-size: 0.8125rem;
	letter-spacing: 0.02em;
}
.meklara-card .meklara-card-facts > span + span { padding-left: 1.1rem; }

/* ── Page tops: a photograph behind the title ──────────────────────────────
   The photograph is set by functions.php as --mk27-hero. A dark wash from the
   left keeps the white type readable whatever the picture; the header sits
   over it, as on the home page. */
main:has(> .mk27-pagehero:first-child) { padding-top: 0 !important; }
main > .mk27-pagehero:first-child { margin-top: 0 !important; }
.mk27-pagehero {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(27rem, 62vh, 38rem);
	padding-top: calc(var(--mas-header-h) + clamp(3rem, 7vw, 6rem)) !important;
	padding-bottom: clamp(2.75rem, 5.5vw, 5rem) !important;
	background: var(--mk27-ink) var(--mk27-hero, none) center / cover no-repeat;
	color: #fff;
}
.mk27-pagehero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(18, 31, 42, 0.84) 0%, rgba(18, 31, 42, 0.6) 36%, rgba(18, 31, 42, 0.14) 70%, rgba(18, 31, 42, 0) 100%),
		linear-gradient(0deg, rgba(18, 31, 42, 0.5) 0%, rgba(18, 31, 42, 0) 45%),
		linear-gradient(180deg, rgba(18, 31, 42, 0.45) 0%, rgba(18, 31, 42, 0) 28%);
}
.mk27-pagehero .mk27-pagehero-copy { width: 100%; }
.mk27-pagehero .mk-eyebrow { color: rgba(255, 255, 255, 0.86) !important; margin: 0 0 1rem; }
.mk27-pagehero h1, .mk27-pagehero .mk-h1 { color: #fff !important; margin: 0; max-width: 22ch; text-wrap: balance; }
.mk27-pagehero .mk-lede,
.mk27-pagehero .wp-block-term-description {
	color: rgba(255, 255, 255, 0.9) !important;
	max-width: 38rem;
	margin: 1.25rem 0 0;
	font-size: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
	line-height: 1.6;
	text-wrap: pretty;
}
.mk27-pagehero .wp-block-term-description p { margin: 0; color: inherit; }
@media (max-width: 781px) {
	.mk27-pagehero { min-height: clamp(24rem, 72vh, 32rem); }
	.mk27-pagehero::before {
		background:
			linear-gradient(0deg, rgba(18, 31, 42, 0.88) 0%, rgba(18, 31, 42, 0.55) 55%, rgba(18, 31, 42, 0.35) 100%);
	}
}

/* The search, on a navy band straight under the photograph. */
.mk27-searchband {
	background: var(--mk27-ink);
	margin-top: 0 !important;
	padding-block: clamp(1.25rem, 2.5vw, 2rem) clamp(1.5rem, 3vw, 2.5rem);
}

.mk27-searchband .meklara-search-actions .meklara-button {
	background: var(--mk27-ink) !important;
	border-color: var(--mk27-ink) !important;
	color: #fff !important;
	min-height: 52px;
}
.mk27-searchband .meklara-filters-open {
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.55) !important;
	color: #fff !important;
	min-height: 44px;
}
/* Line the photograph's text and the search up with the logo and the page. */
.mk27-pagehero,
.mk27-searchband {
	padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--wp--style--global--wide-size, 1600px)) / 2)) !important;
}
.mk27-pagehero > .mk27-pagehero-copy { max-width: 820px !important; margin-inline: 0 auto !important; }
.mk27-searchband > * { max-width: none !important; }
.mk27-searchband + * { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.mk27-pagehero + :not(.mk27-searchband) { margin-top: clamp(3rem, 6vw, 5rem) !important; }

/* ── The property search, refined ───────────────────────────────────────────
   On a computer it is one slim ivory bar: Location · Type · Bedrooms · Price
   range, then "Search properties" built into its end. The reference number
   waits behind "More filters". Phones and tablets keep the plugin's own
   Filters sheet, restyled to match. */
@media (min-width: 1025px) {
	.mk27-searchband .meklara-search {
		display: grid !important;
		grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 0.8fr) minmax(0, 1.25fr) auto;
		align-items: stretch;
		max-width: var(--wp--style--global--wide-size, 1600px) !important;
		margin: 0 !important;
		padding: 0 !important;
		background: var(--mk27-ivory);
		box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.6);
	}
	.mk27-searchband .meklara-search-head { display: none !important; }
	.mk27-searchband .meklara-search-fields { display: contents !important; }
	.mk27-searchband .meklara-search .mk27-cell {
		position: relative;
		height: 84px;
		margin: 0 !important;
		padding: 0 1.6rem !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		display: flex !important;
		flex-direction: column;
		justify-content: center;
		gap: 0.45rem;
		min-width: 0;
	}
	.mk27-searchband .meklara-search .mk27-cell + .mk27-cell::before {
		content: ""; position: absolute; left: 0; top: 1.2rem; bottom: 1.2rem; width: 1px; background: var(--mk27-rule);
	}
	.mk27-searchband .meklara-search .meklara-field-label,
	.mk27-searchband .mk27-price-label {
		margin: 0 !important;
		font-size: 0.6875rem !important;
		line-height: 1.2;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: var(--mk27-muted);
	}
	.mk27-searchband .meklara-search select,
	.mk27-searchband .meklara-search input {
		width: 100%;
		height: 1.6rem !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 1.5rem 0 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background-color: transparent !important;
		background-position: right 0 center !important;
		box-shadow: none !important;
		font-size: 0.9375rem !important;
		line-height: 1.6rem !important;
		color: var(--mk27-ink) !important;
	}
	.mk27-searchband .meklara-search input { padding-right: 0 !important; }
	.mk27-searchband .meklara-search input::placeholder { color: var(--mk27-muted); opacity: 1; }
	/* Price range: min – max in one cell */
	.mk27-searchband .mk27-price-row { display: flex; align-items: center; gap: 0.75rem; }
	.mk27-searchband .mk27-price-row > .meklara-field { flex: 1 1 0; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
	.mk27-searchband .mk27-price-row .meklara-field-label {
		position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
	}
	.mk27-searchband .mk27-price-dash { color: var(--mk27-muted); flex: 0 0 auto; }
	/* The reference number, only after "More filters": a second row */
	.mk27-searchband .meklara-search:not(.mk27-more-open) .mk27-ref { display: none !important; }
	.mk27-searchband .meklara-search .mk27-ref { grid-row: 2; grid-column: 1 / -1; border-top: 1px solid var(--mk27-rule) !important; }
	.mk27-searchband .meklara-search .mk27-ref > * { max-width: 22rem; }
	.mk27-searchband .meklara-search .mk27-ref::before { display: none; }
	.mk27-searchband .meklara-search-actions {
		grid-row: 1; grid-column: 5;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		display: flex;
	}
	.mk27-searchband .meklara-search-actions .meklara-button {
		width: 100%;
		height: 84px !important;
		min-width: 13.5rem;
		margin: 0 !important;
		padding: 0 2.25rem !important;
		background: var(--mk27-ink) !important;
		border: 0 !important;
		border-radius: 0 !important;
		color: #fff !important;
		font-size: 0.75rem !important;
		letter-spacing: 0.2em;
		text-transform: uppercase;
	}
	.mk27-searchband .meklara-search-actions .meklara-button:hover { background: #2A4256 !important; }
}
/* "More filters" — a quiet line of text under the bar. */
.mk27-more-filters {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 44px;
	margin-top: 0.85rem;
	padding: 0;
	background: none;
	border: 0;
	color: rgba(255, 255, 255, 0.86);
	font: inherit;
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
}
.mk27-more-filters::after { content: "+"; font-size: 1rem; letter-spacing: 0; line-height: 1; }
.mk27-more-filters[aria-expanded="true"]::after { content: "–"; }
.mk27-more-filters:hover { color: #fff; text-decoration: underline; text-underline-offset: 0.4em; }
@media (max-width: 1024px) { .mk27-more-filters { display: none; } }

/* In the phone and tablet Filters sheet the plugin's own Min and Max fields stay as they are. */
@media (max-width: 1024px) {
	.mk27-searchband .mk27-price,
	.mk27-searchband .mk27-price-row { display: contents; }
	.mk27-searchband .mk27-price-label,
	.mk27-searchband .mk27-price-dash { display: none; }
}

/* Sort: a quiet line instead of a box; it sorts as soon as you choose. */
.meklara-sort .meklara-field {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--mk27-ink) !important;
	box-shadow: none !important;
	padding: 0 0 0.35rem !important;
	min-height: 0 !important;
	display: flex !important;
	align-items: baseline;
	gap: 0.75rem;
}
.meklara-sort .meklara-field-label { margin: 0 !important; }
.meklara-sort select {
	border: 0 !important;
	background-color: transparent !important;
	padding: 0 1.75rem 0 0 !important;
	min-height: 44px !important;
	height: 44px !important;
	font-size: 0.9375rem !important;
	color: var(--mk27-ink) !important;
	background-position: right 0 center !important;
}
.mk27-sort-auto .meklara-sort-apply {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* ══ Area pages: the destination guide ══════════════════════════════════════
   Hero + introduction → featured residences → new developments → why invest →
   market report → lifestyle → explore. Each section has its own composition so
   the page reads like a magazine, not a stack of the same cards. */
.mk27-area { padding-block: clamp(4.5rem, 9vw, 8.5rem); margin-block: 0 !important; }
.mk27-area + .mk27-area { margin-top: 0 !important; }
.mk27-display {
	font-family: var(--mas-face-display);
	font-weight: 300;
	font-size: clamp(2rem, 1.35rem + 2.2vw, 3.25rem);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--mk27-ink);
	margin: 0;
	text-wrap: balance;
}
.mk27-display--xl { font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.5rem); line-height: 1.02; }
.mk27-area .mk-eyebrow { margin: 0 0 1.25rem; color: var(--mk27-muted); }

/* Introduction: words beside a tall photograph */
.mk27-split { display: grid; gap: clamp(2.5rem, 6vw, 7rem); align-items: center; }
@media (min-width: 900px) { .mk27-split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.mk27-split-copy > p:not(.mk-eyebrow) { max-width: 34rem; font-size: 1.0625rem; line-height: 1.75; color: #2a3640; margin: 1.5rem 0 0; }
.mk27-split-copy .mk27-display + p { margin-top: 2.25rem !important; }
.mk27-split-media { margin: 0 !important; }
.mk27-split-media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 899px) { .mk27-split-media img { aspect-ratio: 4 / 3; } }

/* A section head: title on the left, a quiet link or line on the right, a hairline under */
.mk27-head {
	display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1.5rem 3rem;
	padding-bottom: clamp(1.5rem, 3vw, 2.25rem); margin-bottom: clamp(2.5rem, 5vw, 4rem);
	border-bottom: 1px solid var(--mk27-rule);
}
.mk27-head-copy { max-width: 46rem; }
.mk27-head-link { margin: 0 !important; }
.mk27-head-link a {
	display: inline-flex; align-items: center; gap: 0.75rem; min-height: 44px;
	font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none;
}
.mk27-head-link a::after { content: "→"; letter-spacing: 0; transition: transform 0.3s ease; }
.mk27-head-link a:hover::after { transform: translateX(4px); }
.mk27-head-lede { max-width: 26rem; margin: 0 !important; color: var(--mk27-muted); line-height: 1.7; }

/* Featured residences: two large photographs to a row, very little text */
.mk27-area-homes .meklara-collection { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(3rem, 5vw, 5rem) clamp(1.5rem, 3vw, 3rem) !important; }
@media (max-width: 781px) { .mk27-area-homes .meklara-collection { grid-template-columns: minmax(0, 1fr); } }
.mk27-area-homes .meklara-card-frame { aspect-ratio: 3 / 2; overflow: hidden; }
.mk27-area-homes .meklara-card-frame img { transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (hover: hover) { .mk27-area-homes .meklara-card-link:hover .meklara-card-frame img { transform: scale(1.035); } }
.mk27-area-homes .meklara-card-title { font-size: clamp(1.05rem, 0.95rem + 0.35vw, 1.3rem) !important; }

/* New developments: the scroll panel on ink, edge to edge */
.mk27-area-devs { padding: 0 !important; background: var(--mk27-ink); }
.mk27-area-devs > .mk-devstrip { margin: 0 auto !important; }

/* Why invest: an oversized statement, then photographs and words that alternate */
.mk27-area-invest { background: #fff; }
.mk27-statement { max-width: 62rem; margin-bottom: clamp(3.5rem, 7vw, 6.5rem); }
.mk27-statement-lede { max-width: 36rem; margin: 2rem 0 0 !important; font-size: 1.125rem; line-height: 1.7; color: var(--mk27-muted); }
.mk27-alt { display: grid; gap: clamp(2rem, 4vw, 3rem) clamp(2.5rem, 7vw, 8rem); align-items: center; }
.mk27-alt + .mk27-alt { margin-top: clamp(4rem, 8vw, 7.5rem) !important; }
@media (min-width: 900px) {
	.mk27-alt { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.mk27-alt:nth-of-type(even) { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.mk27-alt:nth-of-type(even) > .mk27-alt-media { order: 2; }
}
.mk27-alt-media { margin: 0 !important; }
.mk27-alt-media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.mk27-alt-copy { max-width: 30rem; border-top: 1px solid var(--mk27-ink); padding-top: 1.75rem; }
.mk27-alt-num { margin: 0 0 1.25rem !important; font-family: var(--mas-face-display); font-weight: 300; font-size: 1rem; letter-spacing: 0.2em; color: var(--mk27-muted); }
.mk27-alt-title { margin: 0 0 1.1rem !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.4rem, 1.15rem + 0.8vw, 1.9rem); line-height: 1.2; color: var(--mk27-ink); }
.mk27-alt-copy > p:last-child { margin: 0; line-height: 1.75; color: #2a3640; }

/* Market report: market intelligence on ink */
.mk27-area-report { background: var(--mk27-ink); color: #fff; }
.mk27-report { display: grid; gap: clamp(3rem, 6vw, 6rem); align-items: start; }
@media (min-width: 900px) { .mk27-report { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.mk27-area-report .mk-eyebrow { color: rgba(255, 255, 255, 0.7) !important; }
.mk27-area-report .mk27-display { color: #fff; }
.mk27-report-copy > p:not(.mk-eyebrow) { max-width: 30rem; margin: 1.75rem 0 2.25rem; line-height: 1.75; color: rgba(255, 255, 255, 0.82); }
.mk27-area-report .mk-areamarket { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }
.mk27-area-report .mk-areamarket > .mk-eyebrow { display: none; }
.mk27-area-report .mk-metrics { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 !important; border-top: 1px solid rgba(255, 255, 255, 0.28); }
@media (max-width: 599px) { .mk27-area-report .mk-metrics { grid-template-columns: minmax(0, 1fr); } }
.mk27-area-report .meklara-metric {
	display: flex !important; flex-direction: column-reverse; justify-content: flex-end; gap: 1rem;
	padding: 2rem 2rem 2.25rem 0 !important; margin: 0 !important; background: none !important; border: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}
.mk27-area-report .meklara-metric + .meklara-metric { padding-left: 2rem !important; border-left: 1px solid rgba(255, 255, 255, 0.18) !important; }
@media (max-width: 599px) { .mk27-area-report .meklara-metric + .meklara-metric { padding-left: 0 !important; border-left: 0 !important; } }
.mk27-area-report .meklara-metric-value {
	font-family: var(--mas-face-display) !important; font-weight: 300 !important;
	font-size: clamp(2.2rem, 1.6rem + 2vw, 3.6rem) !important; line-height: 1 !important; letter-spacing: -0.01em; color: #fff !important;
}
.mk27-area-report .meklara-metric-value sup a { color: rgba(255, 255, 255, 0.6) !important; font-size: 0.75rem; margin-left: 0.25rem; }
.mk27-area-report .meklara-metric-label { font-size: 0.6875rem !important; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(255, 255, 255, 0.7) !important; }
.mk27-area-report .meklara-legend { margin: 1.25rem 0 0 !important; font-size: 0.75rem !important; color: rgba(255, 255, 255, 0.6) !important; }
.mk27-report-note { margin: 1.75rem 0 0 !important; max-width: 34rem; font-size: 0.875rem; line-height: 1.7; color: rgba(255, 255, 255, 0.6); }
.mk27-area-report .wp-block-button.is-style-outline .wp-block-button__link,
.mk27-explore .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.7) !important;
}
.mk27-area-report .wp-block-button.is-style-outline .wp-block-button__link:hover,
.mk27-explore .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff !important; color: var(--mk27-ink) !important; }

/* Lifestyle: a mosaic of moments, captions laid on the photographs */
.mk27-mosaic { display: grid; gap: clamp(0.5rem, 1vw, 0.875rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) {
	.mk27-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(2, clamp(15rem, 22vw, 21rem)); }
	.mk27-tile--1 { grid-column: 1 / 3; grid-row: 1 / 3; }
}
.mk27-tile { position: relative; margin: 0 !important; overflow: hidden; min-height: 14rem; }
@media (max-width: 899px) { .mk27-tile--1 { grid-column: 1 / -1; min-height: 20rem; } }
.mk27-tile img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform 1.4s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (hover: hover) { .mk27-tile:hover img { transform: scale(1.04); } }
.mk27-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18, 31, 42, 0.72) 0%, rgba(18, 31, 42, 0) 55%); pointer-events: none; }
.mk27-tile figcaption {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; margin: 0 !important;
	padding: clamp(1rem, 2vw, 1.75rem); color: rgba(255, 255, 255, 0.86); font-size: 0.875rem; line-height: 1.5; text-align: left;
}
.mk27-tile figcaption strong {
	display: block; margin-bottom: 0.3rem; font-family: var(--mas-face-display); font-weight: 400;
	font-size: clamp(1.15rem, 1rem + 0.5vw, 1.5rem); color: #fff;
}
.mk27-tile--1 figcaption strong { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.2rem); }

/* Explore: one last full-width photograph */
.mk27-explore { padding-block: clamp(5rem, 10vw, 9rem) !important; margin-block: 0 !important; }
.mk27-explore .wp-block-cover__background { background: linear-gradient(90deg, rgba(18, 31, 42, 0.85) 0%, rgba(18, 31, 42, 0.5) 50%, rgba(18, 31, 42, 0.2) 100%) !important; opacity: 1 !important; }
.mk27-explore .wp-block-cover__inner-container { padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100% - 1600px) / 2)); }
.mk27-explore .wp-block-cover__inner-container > * { max-width: 44rem; margin-left: 0 !important; }
.mk27-explore .mk-eyebrow { color: rgba(255, 255, 255, 0.8) !important; }
.mk27-explore .mk27-display { color: #fff; }
.mk27-explore-lede { margin: 1.75rem 0 2.5rem !important; font-size: 1.0625rem; line-height: 1.7; color: rgba(255, 255, 255, 0.86); }
.mk27-explore .wp-block-buttons { gap: 1rem; }
.mk27-explore .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff !important; color: var(--mk27-ink) !important; border: 1px solid #fff !important; }
.mk27-explore .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: transparent !important; color: #fff !important; }
.mk27-area-sources { padding-block: clamp(2.5rem, 5vw, 4rem); }

/* Area guides: full-width bands really run to the screen edges. */
body.page-template-page-guide .wp-block-post-content > .alignfull,
body.page-template-page-guide .wp-block-post-content > .meklara-hero-panel,
body.page-template-page-guide .wp-block-post-content > .mk-hero {
	margin-left: calc(var(--wp--style--root--padding-left, 3rem) * -1) !important;
	margin-right: calc(var(--wp--style--root--padding-right, 3rem) * -1) !important;
	max-width: none !important;
	width: auto !important;
}
body.page-template-page-guide .wp-block-post-content > :first-child { margin-top: 0 !important; }
.mk27-area-sources { padding-block: 0 clamp(2rem, 4vw, 3rem) !important; }
/* Area guides: every section shares the site's 1240px measure. */
.mk27-area > * { max-width: var(--mk27-max, 1240px) !important; margin-left: auto !important; margin-right: auto !important; }
.mk27-statement > * { max-width: 62rem; }
.mk27-explore .wp-block-cover__inner-container { padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; width: 100%; max-width: none !important; }
body.page-template-page-guide .meklara-hero-panel .meklara-hero-heading,
body.page-template-page-guide .meklara-hero-panel .meklara-hero-lede,
body.page-template-page-guide .meklara-hero-panel .mk-eyebrow { }
.mk27-area-devs > * { max-width: none !important; }
.mk27-explore.wp-block-cover { padding-inline: 0 !important; }

/* ── Homepage Locations: a row of places that swipes sideways ───────────────
   Swipe on a phone or trackpad, arrows on a computer. About three and a half
   cards show at once, so the next one always peeks in from the edge. */
.mk27-locations-side { display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 782px) {
	.mk27-locations .mk27-markets-row {
		display: grid;
		grid-template-columns: none !important;
		grid-auto-flow: column;
		grid-auto-columns: calc((100% - 3 * 6px) / 3.4);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	.mk27-locations .mk27-markets-row::-webkit-scrollbar { display: none; }
	.mk27-locations .mk27-market { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) { .mk27-locations .mk27-markets-row { scroll-behavior: auto; } }
.mk27-locations .mk27-rail-controls { display: flex; gap: 0.5rem; margin-top: 0.5rem; }
@media (max-width: 781px) { .mk27-locations .mk27-rail-controls { display: none; } }
/* A town with no neighbourhoods listed by the plugin shows no empty section. */
.mk27-area-places:not(:has(a)) { display: none !important; }
@media (max-width: 781px) { .mk27-locations .mk27-markets-row { margin-inline: 0 !important; padding-inline: 0 !important; scroll-padding-inline: 0 !important; } }

/* ── Search, refined again ──────────────────────────────────────────────────
   The plugin's "Clear" link sits under the bar, opposite More filters, so the
   bar keeps one clean row whatever is chosen. */
@media (min-width: 1025px) {
	.mk27-searchband .meklara-search { position: relative; }
	.mk27-searchband .meklara-search-actions { position: static !important; }
	.mk27-searchband .meklara-search-reset {
		position: absolute; right: 0; top: 100%; margin-top: 0.85rem;
		display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px;
		font-size: 0.75rem !important; letter-spacing: 0.2em; text-transform: uppercase;
		color: rgba(255, 255, 255, 0.86) !important; text-decoration: none;
	}
	.mk27-searchband .meklara-search-reset::after { content: "×"; font-size: 1rem; letter-spacing: 0; }
	.mk27-searchband .meklara-search-reset:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 0.4em; }
	.mk27-searchband .meklara-search .mk27-cell { height: 80px; padding: 0 1.75rem !important; gap: 0.5rem; }
	.mk27-searchband .meklara-search .meklara-field-label,
	.mk27-searchband .mk27-price-label { font-size: 0.625rem !important; letter-spacing: 0.24em; color: #7d8790; }
	.mk27-searchband .meklara-search select,
	.mk27-searchband .meklara-search input { font-size: 1rem !important; letter-spacing: 0.01em; }
	.mk27-searchband .meklara-search-actions .meklara-button { height: 80px !important; min-width: 15rem; gap: 0.9rem; display: inline-flex !important; align-items: center; justify-content: center; }
	.mk27-searchband .meklara-search-actions .meklara-button::after { content: "→"; font-size: 1rem; letter-spacing: 0; transition: transform 0.3s ease; }
	.mk27-searchband .meklara-search-actions .meklara-button:hover::after { transform: translateX(4px); }
	.mk27-searchband .meklara-search .mk27-cell:focus-within { background: #fff !important; }
}
.mk27-searchband { padding-bottom: clamp(1.25rem, 2.5vw, 2rem); }

/* What is chosen, as quiet tags, with the count on its own line above. */
.wp-block-group:has(> .meklara-count) { row-gap: 1.25rem; }
.wp-block-group:has(> .meklara-count) > .meklara-count { order: -1; flex-basis: 100%; margin: 0 !important; }
.meklara-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.meklara-chip, .meklara-chips a {
	display: inline-flex; align-items: center; gap: 0.6rem; min-height: 40px; padding: 0 1rem !important;
	background: transparent !important; border: 1px solid color-mix(in srgb, var(--mk27-ink) 22%, transparent) !important; border-radius: 999px !important;
	font-size: 0.8125rem !important; color: var(--mk27-ink) !important; text-decoration: none;
}
.meklara-chip:hover, .meklara-chips a:hover { border-color: var(--mk27-ink) !important; }
@media (min-width: 1025px) {
	.mk27-searchband .meklara-search { padding: 0.5rem !important; align-items: center; }
	.mk27-searchband .meklara-search .mk27-cell { height: 66px; }
	.mk27-searchband .meklara-search-actions { align-self: stretch; }
	.mk27-searchband .meklara-search-actions .meklara-button { height: 100% !important; min-height: 66px; }
	.mk27-searchband .meklara-search-reset { border: 0 !important; box-shadow: none !important; }
}
@media (min-width: 1025px) and (max-width: 1279px) {
	.mk27-searchband .meklara-search .mk27-cell { padding: 0 1.1rem !important; }
	.mk27-searchband .meklara-search-actions .meklara-button { min-width: 0; padding: 0 1.5rem !important; }
	.mk27-searchband .meklara-search .meklara-field-label,
	.mk27-searchband .mk27-price-label { letter-spacing: 0.14em; white-space: nowrap; }
	.mk27-searchband .meklara-search { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 0.9fr) minmax(0, 1.25fr) auto; }
}

/* Area market report: notarial figures for the municipality, then live figures. */
.mk27-report-kicker { margin: 0 0 1rem !important; font-size: 0.6875rem; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255, 255, 255, 0.62); }
.mk27-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(255, 255, 255, 0.28); margin: 0 0 1.25rem !important; }
.mk27-stats > .mk27-stat { margin: 0 !important; padding: 1.75rem 1.5rem 1.9rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.mk27-stats > .mk27-stat:nth-child(even) { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, 0.18); }
.mk27-stat-value { margin: 0 0 0.85rem !important; font-family: var(--mas-face-display); font-weight: 300; font-size: clamp(2rem, 1.5rem + 1.8vw, 3.25rem); line-height: 1; letter-spacing: -0.01em; color: #fff; }
.mk27-stat-label { margin: 0 !important; max-width: 17rem; font-size: 0.6875rem; line-height: 1.55; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72); }
.mk27-report-source { margin: 0 0 3rem !important; max-width: 36rem; font-size: 0.75rem; line-height: 1.6; color: rgba(255, 255, 255, 0.55); }
@media (max-width: 599px) { .mk27-stats > .mk27-stat { padding-right: 0.75rem; } .mk27-stats > .mk27-stat:nth-child(even) { padding-left: 0.75rem; } }

/* Area developments: the town's own projects, large and calm. */
.mk27-area-devs2 { background: #fff; }
.mk27-area-devs2 .wp-block-post-template { gap: clamp(2.5rem, 4vw, 3.5rem) clamp(1.25rem, 2.5vw, 2.5rem) !important; }
@media (max-width: 899px) { .mk27-area-devs2 .wp-block-post-template { grid-template-columns: minmax(0, 1fr) !important; } }
.mk27-devs-empty { margin: 0 !important; max-width: 38rem; font-size: 1.0625rem; line-height: 1.7; color: var(--mk27-muted); }
.mk27-devs-empty a { color: var(--mk27-ink); text-underline-offset: 0.3em; }

/* Text only for screen readers, such as "(opens in a new tab)". */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ── Our guides: the Buyer's Guide and Sell With Us brochures ─────────────── */
.mk27-guides { padding-block: clamp(4.5rem, 9vw, 8rem); background: var(--mk27-ivory); margin-block: 0 !important; }
.mk27-guides > * { max-width: var(--mk27-max, 1240px) !important; margin-inline: auto !important; }
.mk27-guides-row { display: grid; gap: clamp(1.25rem, 2.5vw, 2.5rem); }
@media (min-width: 900px) { .mk27-guides-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mk27-guide { position: relative; margin: 0 !important; background: #fff; display: grid; }
@media (min-width: 600px) { .mk27-guide { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.mk27-guide-media { margin: 0 !important; overflow: hidden; }
.mk27-guide-media img { display: block; width: 100%; height: 100%; min-height: 15rem; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (hover: hover) { .mk27-guide:hover .mk27-guide-media img { transform: scale(1.04); } }
.mk27-guide-body { padding: clamp(1.75rem, 3vw, 2.75rem); display: flex; flex-direction: column; }
.mk27-guide-body > * { margin: 0 !important; }
.mk27-guide-kicker { font-size: 0.6875rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-guide-title { margin-top: 1rem !important; font-family: var(--mas-face-display); font-weight: 300; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.25rem); line-height: 1.1; color: var(--mk27-ink); }
.mk27-guide-text { margin-top: 1rem !important; line-height: 1.7; color: #2a3640; }
.mk27-guide-go { margin-top: auto !important; padding-top: 1.75rem; }
.mk27-guide-go a {
	display: inline-flex; align-items: center; gap: 0.75rem; min-height: 48px; padding: 0 1.6rem;
	background: var(--mk27-ink); color: #fff !important; text-decoration: none !important;
	font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase;
}
.mk27-guide-go a::after { content: ""; position: absolute; inset: 0; }
.mk27-guide-go a:hover { background: #2A4256; }
.mk27-guide-go a:focus-visible { outline: 2px solid var(--mk27-ink); outline-offset: 3px; }

/* ══ Area pages, laid out after the reference ════════════════════════════════
   Photograph with the search → a strip of figures → about + why invest →
   prime areas → featured properties → new developments → market report →
   trusted partner. Every row that holds cards swipes sideways. */
.mk27-areapage { position: relative; }
.mk27-areapage .wp-block-post-content > * + * { margin-top: 0 !important; }

/* Breadcrumb over the photograph */
.mk27-areapage .mk27-crumbs {
	position: absolute; z-index: 5; left: 0; right: 0;
	top: calc(var(--mas-header-h) + clamp(1rem, 2.5vw, 2rem));
	max-width: calc(var(--mk27-max) + 2 * var(--mk27-gutter)); margin: 0 auto; padding: 0 var(--mk27-gutter);
	display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center;
	font-size: 0.75rem; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.8);
}
body.admin-bar .mk27-areapage .mk27-crumbs { top: calc(var(--mas-header-h) + 32px + clamp(1rem, 2.5vw, 2rem)); }
.mk27-areapage .mk27-crumbs a { color: #fff; text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.mk27-areapage .mk27-crumbs a:hover { text-decoration: underline; text-underline-offset: 0.3em; }
.mk27-areapage .mk27-crumbs [aria-current] { color: rgba(255, 255, 255, 0.75); }

/* The name, large and in capitals; the line under it a little larger than body text */
.mk27-areapage .mk-hero-heading.meklara-hero-heading {
	text-transform: uppercase !important; letter-spacing: 0.02em !important;
	font-size: clamp(2.1rem, 1.3rem + 2.8vw, 3.75rem) !important; line-height: 1.02 !important; margin-bottom: 1.25rem !important;
}
.mk27-areapage .mk-hero-lede.meklara-hero-lede { font-size: clamp(1rem, 0.95rem + 0.35vw, 1.25rem) !important; line-height: 1.5 !important; max-width: 34rem !important; }
.mk27-areapage .mk-hero.meklara-hero-panel { min-height: clamp(560px, 72vh, 760px); justify-content: flex-end; }
.mk27-areapage .mk-hero-bar { margin-bottom: 2.5rem !important; }

/* The strip under the photograph */
.mk27-strip { background: var(--mk27-ink); color: #fff; padding-block: clamp(1.5rem, 3vw, 2.25rem) !important; }
.mk27-strip > * { max-width: var(--mk27-max) !important; margin-inline: auto !important; }
.mk27-strip { display: block; }
.mk27-strip .mk-areamarket, .mk27-strip-points { display: contents; }
.mk27-strip > .wp-block-html, .mk27-strip > .mk-areamarket { margin: 0 !important; }
.mk27-strip { --cols: 5; }
@media (min-width: 900px) {
	.mk27-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); align-items: center; padding-inline: var(--mk27-side) !important; }
	.mk27-strip > * { max-width: none !important; margin: 0 !important; }
}
.mk27-strip .mk-areamarket > .mk-eyebrow, .mk27-strip .meklara-legend { display: none !important; }
.mk27-strip .mk-metrics { display: contents !important; }
.mk27-strip .meklara-metric:nth-child(n+3) { display: none !important; }
.mk27-strip .meklara-metric, .mk27-strip-item {
	display: grid !important; grid-template-columns: 30px minmax(0, 1fr); column-gap: 0.9rem; align-items: center;
	margin: 0 !important; padding: 0.5rem clamp(0.75rem, 1.5vw, 1.5rem) !important; background: none !important; border: 0 !important;
	border-left: 1px solid rgba(255, 255, 255, 0.18) !important; min-height: 64px;
}
.mk27-strip .meklara-metric:first-child { border-left: 0 !important; padding-left: 0 !important; }
.mk27-strip .meklara-metric::before {
	content: ""; grid-row: 1 / 3; width: 28px; height: 28px; background: currentColor; opacity: 0.9;
	-webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat;
	--ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linejoin='round'%3E%3Cpath d='M4 21V5l8-3v19M12 21V9l8 3v9M2 21h20M7 8h2M7 12h2M7 16h2M15 13h2M15 17h2'/%3E%3C/svg%3E");
}
.mk27-strip .meklara-metric:nth-child(2)::before { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.2' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l10 10-8 8z'/%3E%3Ccircle cx='7.5' cy='8.5' r='1.5'/%3E%3C/svg%3E"); }
.mk27-strip .meklara-metric-value { grid-column: 2; font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem) !important; line-height: 1.1 !important; color: #fff !important; }
.mk27-strip .meklara-metric-value sup { display: none; }
.mk27-strip .meklara-metric-label { grid-column: 2; font-size: 0.625rem !important; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(255, 255, 255, 0.72) !important; }
.mk27-strip-item .mk27-icon { width: 28px; height: 28px; color: #fff; opacity: 0.9; }
.mk27-strip-item p { margin: 0; font-size: 0.6875rem; line-height: 1.45; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; }
@media (max-width: 899px) {
	.mk27-strip { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 0.75rem; padding-inline: var(--mk27-gutter) !important; }
	.mk27-strip .meklara-metric, .mk27-strip-item { border-left: 0 !important; padding-left: 0 !important; }
}

/* About + why invest */
.mk27-about { padding-block: clamp(4rem, 8vw, 7rem) !important; background: var(--mk27-ivory); }
.mk27-about { display: grid; gap: clamp(2.5rem, 5vw, 4rem); }
@media (min-width: 1100px) { .mk27-about { grid-template-columns: minmax(0, 4fr) minmax(0, 9fr); padding-inline: var(--mk27-side) !important; } }
.mk27-about > * { max-width: none !important; margin: 0 !important; }
.mk27-about-copy > p:not(.mk-eyebrow) { margin: 1.5rem 0 0; line-height: 1.75; color: #2a3640; font-size: 0.9375rem; }
.mk27-checks { list-style: none; margin: 1.75rem 0 2rem !important; padding: 0 !important; display: grid; gap: 0.7rem; }
.mk27-checks li { position: relative; padding-left: 1.9rem; font-size: 0.875rem; line-height: 1.5; color: var(--mk27-ink); }
.mk27-checks li::before {
	content: ""; position: absolute; left: 0; top: 0.1em; width: 18px; height: 18px; border: 1px solid var(--mk27-ink); border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E1A24' stroke-width='2'%3E%3Cpath d='m7 12.5 3.2 3.2L17 9'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.mk27-about-why > .mk-eyebrow { margin-bottom: 1.25rem; }
.mk27-why-row { display: grid; gap: clamp(1rem, 1.6vw, 1.5rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1100px) { .mk27-why-row { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 599px) { .mk27-why-row { grid-template-columns: minmax(0, 1fr); } }
.mk27-why-card { margin: 0 !important; }
.mk27-why-media { margin: 0 0 1.1rem !important; overflow: hidden; }
.mk27-why-media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.mk27-why-title { margin: 0 0 0.6rem !important; font-family: var(--mas-face-text) !important; font-weight: 500 !important; font-size: 0.75rem !important; line-height: 1.4; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-why-text { margin: 0 !important; font-size: 0.875rem; line-height: 1.6; color: #2a3640; }

/* Dark bands with words on the left and a swiping row on the right */
.mk27-band2 { background: var(--mk27-ink); color: #fff; padding-block: clamp(3rem, 6vw, 4.5rem) !important; display: grid; gap: 2rem; }
@media (min-width: 1100px) { .mk27-band2 { grid-template-columns: minmax(0, 3fr) minmax(0, 10fr); align-items: center; padding-inline: var(--mk27-side) !important; } }
.mk27-band2 > * { max-width: none !important; margin: 0 !important; min-width: 0; }
.mk27-band2 .mk-eyebrow { color: rgba(255, 255, 255, 0.7) !important; }
.mk27-band2 .mk27-display { color: #fff; font-size: clamp(1.7rem, 1.3rem + 1.2vw, 2.4rem); }
.mk27-band2-copy > p:not(.mk-eyebrow) { margin: 1rem 0 0; font-size: 0.875rem; line-height: 1.65; color: rgba(255, 255, 255, 0.8); }
.mk27-band2 .wp-block-buttons { margin-top: 1.75rem; }
.mk27-band2 .wp-block-button.is-style-outline .wp-block-button__link,
.mk27-partner .wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.7) !important; }
.mk27-band2 .wp-block-button.is-style-outline .wp-block-button__link:hover,
.mk27-partner .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff !important; color: var(--mk27-ink) !important; }
.mk27-places-row .mk27-market-media { aspect-ratio: 4 / 5; }

/* Rows that swipe: the script adds .mk27-rail-track to the row and arrows beside it */
.mk27-rail-wrap { position: relative; min-width: 0; }
.mk27-rail-track {
	display: grid !important; grid-auto-flow: column; grid-template-columns: none !important;
	grid-auto-columns: var(--rail-col, calc((100% - 3 * 1.25rem) / 4.2)); gap: 1.25rem !important;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none;
	margin: 0 !important; padding: 0 !important; list-style: none;
}
.mk27-rail-track::-webkit-scrollbar { display: none; }
.mk27-rail-track > * { scroll-snap-align: start; margin: 0 !important; min-width: 0; }
.mk27-places .mk27-rail-track { --rail-col: calc((100% - 3 * 6px) / 3.6); gap: 6px !important; }
.mk27-devband .mk27-rail-track { --rail-col: calc((100% - 3 * 1rem) / 3.3); gap: 1rem !important; }
@media (max-width: 899px) { .mk27-rail-track, .mk27-places .mk27-rail-track, .mk27-devband .mk27-rail-track { --rail-col: 78%; } }
@media (prefers-reduced-motion: reduce) { .mk27-rail-track { scroll-behavior: auto; } }
.mk27-rail-round {
	position: absolute; z-index: 3; top: 38%; transform: translateY(-50%);
	width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
	background: #fff; color: var(--mk27-ink); border: 1px solid rgba(29, 47, 62, 0.12); box-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.45);
}
.mk27-rail-round--prev { left: -24px; } .mk27-rail-round--next { right: -24px; }
.mk27-rail-round[hidden] { display: none; }
.mk27-band2 .mk27-rail-round { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.6); box-shadow: none; backdrop-filter: blur(6px); background: rgba(29, 47, 62, 0.4); }
@media (max-width: 899px) { .mk27-rail-round { display: none !important; } }

/* Featured properties */
.mk27-feat { padding-block: clamp(3.5rem, 7vw, 5.5rem) !important; background: #fff; }
.mk27-feat > * { max-width: var(--mk27-max) !important; margin-inline: auto !important; }
.mk27-feat .mk27-head { padding-bottom: 1.25rem; margin-bottom: 2rem; align-items: center; }
.mk27-feat-title { margin: 0 !important; color: var(--mk27-ink) !important; }
.mk27-feat .meklara-card-frame { aspect-ratio: 4 / 3; }
.mk27-feat .meklara-card-title { font-size: 0.9375rem !important; }

/* New developments in the dark band */
.mk27-devband .mk-dev-card { background: transparent !important; color: #fff; border: 0 !important; }
.mk27-devband .mk-dev-card-media { display: block; overflow: hidden; }
.mk27-devband .mk-dev-card-media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.mk27-devband .mk-dev-card-body { padding: 1rem 0 0 !important; }
.mk27-devband .mk-dev-card-title, .mk27-devband .mk-dev-card-title a { color: #fff !important; font-size: 1.05rem !important; }
.mk27-devband .mk-dev-card-place, .mk27-devband .mk-dataline dt { color: rgba(255, 255, 255, 0.7) !important; }
.mk27-devband .mk-dataline dd { color: #fff !important; }
.mk27-devband .mk-pill { color: #fff !important; border-color: rgba(255, 255, 255, 0.5) !important; background: transparent !important; }
.mk27-devband .mk-more { color: #fff !important; border-color: rgba(255, 255, 255, 0.5) !important; }
.mk27-devband .mk27-devs-empty { color: rgba(255, 255, 255, 0.8); }
.mk27-devband .mk27-devs-empty a { color: #fff; }
.mk27-devq { min-width: 0; }

/* Market report, light */
.mk27-report--light { background: var(--mk27-ivory) !important; color: var(--mk27-ink) !important; }
.mk27-report--light .mk-eyebrow { color: var(--mk27-muted) !important; }
.mk27-report--light .mk27-display { color: var(--mk27-ink) !important; }
.mk27-report--light .mk27-report-copy > p:not(.mk-eyebrow) { color: #2a3640 !important; }
.mk27-report--light .mk27-report-kicker { color: var(--mk27-muted) !important; }
.mk27-report--light .mk27-stats { border-top-color: rgba(29, 47, 62, 0.3) !important; }
.mk27-report--light .mk27-stats > .mk27-stat { border-bottom-color: rgba(29, 47, 62, 0.14) !important; }
.mk27-report--light .mk27-stats > .mk27-stat:nth-child(even) { border-left-color: rgba(29, 47, 62, 0.14) !important; }
.mk27-report--light .mk27-stat-value { color: var(--mk27-ink) !important; }
.mk27-report--light .mk27-stat-label { color: var(--mk27-muted) !important; }
.mk27-report--light .mk27-report-source { color: var(--mk27-muted) !important; margin-bottom: 0 !important; }
.mk27-report--light .wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--mk27-ink) !important; border: 1px solid var(--mk27-ink) !important; }
.mk27-report--light .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--mk27-ink) !important; color: #fff !important; }

/* Your trusted partner */
.mk27-partner { min-height: 0 !important; padding: clamp(3rem, 6vw, 4.5rem) 0 !important; margin: 0 !important; }
.mk27-partner .wp-block-cover__inner-container { padding-inline: var(--mk27-side) !important; width: 100%; max-width: none !important; }
.mk27-partner-row { display: flex; flex-wrap: wrap; gap: 1.5rem 3rem; align-items: center; justify-content: space-between; max-width: none !important; }
.mk27-partner .mk-eyebrow { color: rgba(255, 255, 255, 0.72) !important; margin-bottom: 0.75rem; }
.mk27-partner .mk27-display { color: #fff; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem); }
.mk27-partner-copy > p:not(.mk-eyebrow) { margin: 0.75rem 0 0; color: rgba(255, 255, 255, 0.8); }

/* The side margin of full-width area bands, measured on the screen so every
   section starts on the same line as the header and the photograph's text. */
:root { --mk27-side: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max)) / 2)); }
.mk27-areapage .mk27-crumbs { max-width: none !important; padding: 0 var(--mk27-side) !important; }
.mk27-areapage .mk-hero-inner { max-width: none !important; padding-left: var(--mk27-side) !important; padding-right: var(--mk27-side) !important; }
.mk27-areapage .mk-hero-copy, .mk27-areapage .mk-herobar { padding-left: 0 !important; margin-left: 0 !important; }
.mk27-areapage .mk-hero-bar { max-width: none !important; padding-inline: var(--mk27-side) !important; }
@media (max-width: 1099px) { .mk27-about, .mk27-band2, .mk27-strip { padding-inline: var(--mk27-side) !important; } }
.mk27-places-row .mk27-market-media { aspect-ratio: 1 / 1.05 !important; }
.mk27-areapage .mk27-area-sources { padding-block: clamp(1.5rem, 3vw, 2.5rem) !important; }
.mk27-areapage { padding-bottom: 0 !important; }
/* The strip shows only the plugin's real counts: anything after its first row of
   figures (the "Market context" scenarios, which are illustrative) stays out. */
.mk27-strip .mk-areamarket > .mk-metrics ~ * { display: none !important; }

/* Area guides run edge to edge at every width: no outer container, so each
   band is the full screen and its own side margin centres the content. */
body.page-template-page-guide .wp-block-post-content > *,
body.page-template-page-guide .wp-block-post-content > .alignfull,
body.page-template-page-guide .wp-block-post-content > .meklara-hero-panel,
body.page-template-page-guide .wp-block-post-content > .mk-hero,
body.page-template-page-guide main > * {
	margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; width: auto !important;
}
body.page-template-page-guide main, body.page-template-page-guide .wp-block-post-content { padding-left: 0 !important; padding-right: 0 !important; }
/* Area photograph: a deeper shade behind the words, so white text reads on any picture. */
.mk27-areapage .mk-hero.has-image::after {
	background: linear-gradient(to top, rgba(18, 31, 42, 0.86) 0%, rgba(18, 31, 42, 0.55) 38%, rgba(18, 31, 42, 0.28) 70%, rgba(18, 31, 42, 0.45) 100%) !important;
}
.mk27-areapage .mk-hero-heading, .mk27-areapage .mk-hero-lede, .mk27-areapage .mk27-crumbs { text-shadow: 0 1px 18px rgba(0, 0, 0, 0.35); }
/* About: the title sized for its column */
.mk27-about .mk27-display { font-size: clamp(1.8rem, 1.3rem + 1.3vw, 2.6rem) !important; }
/* Why-invest cards: two to a row on a phone, square pictures */
@media (max-width: 599px) {
	.mk27-why-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1.25rem 0.875rem; }
	.mk27-why-media img { aspect-ratio: 1 / 1; }
	.mk27-why-title { font-size: 0.6875rem !important; letter-spacing: 0.1em; }
	.mk27-why-text { font-size: 0.8125rem; line-height: 1.55; }
}

/* ── Prices, quieter: no bold, a little air between the figures ─────────────── */
.meklara-card-price,
.mk27-featured .meklara-card-price,
.meklara-card .meklara-card-price {
	font-family: var(--mas-face-text) !important;
	font-weight: 300 !important;
	font-size: 1rem !important;
	letter-spacing: 0.06em !important;
	color: var(--mk27-ink) !important;
}
.mk-listing-price { font-weight: 300 !important; letter-spacing: 0.04em; }
.mk-dataline dd, .mk-dev-card .mk-dataline dd { font-weight: 300 !important; letter-spacing: 0.03em; }

/* ── Readable everywhere: nothing under 11px ───────────────────────────────── */
.mk27-strip .meklara-metric-label,
.mk27-searchband .meklara-search .meklara-field-label,
.mk27-searchband .mk27-price-label,
.mk-location-name, .mk-location-go, .mk-location-go a {
	font-size: max(0.6875rem, 11px) !important;
}

/* ── The brochures run full width on any page, even inside a reading column ── */
html, body { overflow-x: clip; }
.mk27-guides {
	width: 100vw !important; max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	box-sizing: border-box;
	padding-inline: var(--mk27-side) !important;
}
.mk27-guides > * { max-width: var(--mk27-max, 1240px) !important; margin-inline: auto !important; }
/* Sources on a phone: the number above the entry, the entry at full width. */
@media (max-width: 599px) {
	.meklara-source { display: block !important; }
	.meklara-source > * { width: auto !important; max-width: none !important; }
	.meklara-source-n { display: inline-block; margin-bottom: 0.4rem; }
}
.mk27-stat-unit { font-size: 0.45em; margin-left: 0.15em; letter-spacing: 0.02em; vertical-align: 0.15em; }
.mk27-card-link { cursor: pointer; }

/* ── A property's page, below the details: "More homes" and the enquiry ───────
   "More homes" sits on ivory so the cards read; both bands keep the 1240px
   measure at any screen width, and the form keeps a comfortable line length. */
.mk-listing-tail .mk-band.mk-related,
.mk-listing-tail .mk-band.mk-enquiry-band {
	padding-left: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) !important;
	padding-right: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) !important;
	padding-block: clamp(4rem, 8vw, 6.5rem) !important;
	margin-top: 0 !important; margin-bottom: 0 !important;
}
.mk-listing-tail .mk-band.mk-related { background: var(--mk27-ivory) !important; color: var(--mk27-ink) !important; }
.mk-listing-tail .mk-related .mk-eyebrow { color: var(--mk27-muted) !important; }
.mk-listing-tail .mk-related .mk-h2 { color: var(--mk27-ink) !important; }
.mk-listing-tail .mk-related .meklara-card-title,
.mk-listing-tail .mk-related .meklara-card-price { color: var(--mk27-ink) !important; }
.mk-listing-tail .mk-related .meklara-card-place,
.mk-listing-tail .mk-related .meklara-card-facts { color: var(--mk27-muted) !important; }
.mk-listing-tail .mk-related .meklara-card-facts > span + span { border-left-color: var(--mk27-rule) !important; }
.mk-listing-tail .mk-related .meklara-collection { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2.5rem, 4vw, 3.5rem) clamp(1.25rem, 2.5vw, 2.5rem) !important; }
@media (max-width: 900px) { .mk-listing-tail .mk-related .meklara-collection { grid-template-columns: minmax(0, 1fr); } }
.mk-listing-tail .mk-band.mk-enquiry-band > .meklara-enquiry { max-width: 52rem; margin: 0 !important; }
.mk-listing-tail .mk-enquiry-band .meklara-enquiry h2 { color: #fff !important; }
.mk-listing-tail .mk-enquiry-band label > span { color: rgba(255, 255, 255, 0.8) !important; }
.mk-listing-tail .mk-enquiry-band .meklara-consent, .mk-listing-tail .mk-enquiry-band .meklara-consent * { color: rgba(255, 255, 255, 0.85) !important; }
.mk-listing-tail .mk-enquiry-band button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 2.25rem !important;
	background: #fff !important; color: var(--mk27-ink) !important; border: 1px solid #fff !important; border-radius: 0 !important;
	font-size: 0.75rem !important; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer;
}
.mk-listing-tail .mk-enquiry-band button[type="submit"]:hover { background: transparent !important; color: #fff !important; }
.mk-listing-tail { gap: 0 !important; row-gap: 0 !important; }
.mk-listing-tail > * { margin-top: 0 !important; margin-bottom: 0 !important; }
/* An inactive "Newer / Older" link: visibly there, clearly not available. */
.mk-pager-link.is-off { color: #8c959d !important; cursor: default; }

/* ══ New developments page, after the reference ═════════════════════════════
   Photograph with Register your interest → the stage filter on a navy band →
   the count → three large cards to a row → a closing band. */
.mk27-devpage { padding: 0 !important; }
.mk27-devpage > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.mk27-pagehero .mk27-crumbs--hero {
	position: absolute; z-index: 2; left: 0; right: 0; top: calc(var(--mas-header-h) + clamp(1rem, 2.5vw, 2rem));
	padding: 0 max(clamp(1.25rem, 5vw, 3rem), calc((100% - 1600px) / 2)) !important;
	display: flex; gap: 0.6rem; font-size: 0.75rem; color: rgba(255, 255, 255, 0.78); max-width: none !important; margin: 0 !important;
}
body.admin-bar .mk27-pagehero .mk27-crumbs--hero { top: calc(var(--mas-header-h) + 32px + clamp(1rem, 2.5vw, 2rem)); }
.mk27-pagehero .mk27-crumbs--hero a { color: #fff; text-decoration: none; }
.mk27-pagehero .mk27-crumbs--hero a:hover { text-decoration: underline; text-underline-offset: 0.3em; }
.mk27-pagehero-cta { margin: 2rem 0 0 !important; }
.mk27-pagehero-cta .wp-block-button__link { background: transparent !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.75) !important; }
.mk27-pagehero-cta .wp-block-button__link:hover { background: #fff !important; color: var(--mk27-ink) !important; }
@media (min-width: 1025px) {
	.mk27-devpage .mk27-pagehero { position: relative; }
	.mk27-pagehero-cta { position: absolute; right: max(clamp(1.25rem, 5vw, 3rem), calc((100% - 1600px) / 2)); bottom: clamp(2.75rem, 5.5vw, 5rem); margin: 0 !important; }
}

/* The stage filter: a navy band with one quiet bar */
.mk27-devpage .mk-devcat { padding: 0 0 clamp(4rem, 8vw, 6rem); }
.mk27-devpage .mk-devcat > * { max-width: var(--mk27-max, 1240px); margin-left: auto !important; margin-right: auto !important; }
.mk27-devpage .mk-devcat-tabs {
	max-width: none !important; display: flex; flex-wrap: wrap; gap: 0;
	background: var(--mk27-ink); padding: clamp(1.25rem, 2.5vw, 2rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important;
	border: 0 !important;
}
.mk27-devpage .mk-devcat-tab {
	display: inline-flex; align-items: center; gap: 0.75rem; min-height: 56px; padding: 0 1.75rem !important; margin: 0 !important;
	background: transparent !important; color: rgba(255, 255, 255, 0.86) !important; border: 1px solid rgba(255, 255, 255, 0.28) !important; border-right-width: 0 !important;
	font-size: 0.75rem !important; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none !important;
}
.mk27-devpage .mk-devcat-tab:last-child { border-right-width: 1px !important; }
.mk27-devpage .mk-devcat-tab:hover { color: #fff !important; background: rgba(255, 255, 255, 0.06) !important; }
.mk27-devpage .mk-devcat-tab.is-current { background: var(--mk27-ivory) !important; color: var(--mk27-ink) !important; border-color: var(--mk27-ivory) !important; }
.mk27-devpage .mk-devcat-count { opacity: 0.7; letter-spacing: 0.05em; }
.mk27-devpage .mk-devcat-count-line { margin: clamp(2.5rem, 5vw, 3.5rem) auto 1.5rem !important; padding-inline: clamp(1.25rem, 5vw, 3rem); font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); box-sizing: content-box; }
@media (max-width: 599px) { .mk27-devpage .mk-devcat-tab { flex: 1 1 100%; border-right-width: 1px !important; border-bottom-width: 0 !important; } .mk27-devpage .mk-devcat-tab:last-child { border-bottom-width: 1px !important; } }

/* Three large cards to a row */
.mk27-devpage .mk-dev-grid {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 2.5vw, 2rem) !important;
	padding-inline: clamp(1.25rem, 5vw, 3rem); box-sizing: content-box;
}
@media (max-width: 1100px) { .mk27-devpage .mk-dev-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .mk27-devpage .mk-dev-grid { grid-template-columns: minmax(0, 1fr); } }
.mk27-devpage .mk-dev-card { position: relative; display: flex !important; flex-direction: column; background: #fff !important; border: 0 !important; margin: 0 !important; box-shadow: 0 1px 0 rgba(29, 47, 62, 0.06); }
.mk27-devpage .mk-dev-card-media { display: block; overflow: hidden; }
.mk27-devpage .mk-dev-card-media img { display: block; width: 100%; aspect-ratio: 16 / 11; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (hover: hover) { .mk27-devpage .mk-dev-card:hover .mk-dev-card-media img { transform: scale(1.035); } }
.mk27-devpage .mk-dev-card-body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem 1.6rem 0 !important; }
.mk27-devpage .mk-dev-card-head { display: block !important; margin: 0 !important; }
.mk27-devpage .mk-dev-card-head .mk-pill {
	position: absolute; top: 1rem; left: 1rem; z-index: 2; margin: 0 !important;
	background: #fff !important; color: var(--mk27-ink) !important; border: 0 !important; border-radius: 0 !important;
	padding: 0.45rem 0.7rem !important; font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.16em; text-transform: uppercase;
}
.mk27-devpage .mk-dev-card-title { margin: 0 !important; font-family: var(--mas-face-display) !important; font-weight: 400 !important; font-size: clamp(1.3rem, 1.15rem + 0.45vw, 1.6rem) !important; line-height: 1.2 !important; }
.mk27-devpage .mk-dev-card-title a { color: var(--mk27-ink) !important; text-decoration: none !important; }
.mk27-devpage .mk-dev-card-place { margin: 0.5rem 0 0 !important; font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-muted) !important; }
.mk27-devpage .mk-dataline { display: flex !important; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin: 1rem 0 0 !important; padding: 0 0 1.25rem !important; border: 0 !important; }
.mk27-devpage .mk-dataline-cell { display: inline-flex !important; flex-direction: row-reverse; justify-content: flex-end; gap: 0.35rem; align-items: baseline; padding: 0 !important; margin: 0 !important; border: 0 !important; }
.mk27-devpage .mk-dataline-cell:first-child { flex-basis: 100%; }
.mk27-devpage .mk-dataline-cell:first-child dd { font-size: 1.0625rem !important; }
.mk27-devpage .mk-dataline dd { margin: 0 !important; font-size: 0.875rem !important; font-weight: 300 !important; color: var(--mk27-ink) !important; }
.mk27-devpage .mk-dataline dt { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.08em; text-transform: none; color: var(--mk27-muted) !important; }
.mk27-devpage .mk-dataline-cell:first-child dt { text-transform: none; font-size: 0.875rem !important; letter-spacing: 0; color: var(--mk27-ink) !important; }
/* View development | Register interest */
.mk27-devpage .mk27-dev-actions { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--mk27-rule); }
.mk27-devpage .mk27-dev-actions a, .mk27-devpage .mk-dev-card .mk-more {
	display: flex !important; align-items: center; justify-content: flex-start; min-height: 56px; margin: 0 !important; padding: 0 !important;
	font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mk27-ink) !important; text-decoration: none !important; border: 0 !important;
}
.mk27-devpage .mk27-dev-actions a + a { border-left: 1px solid var(--mk27-rule) !important; padding-left: 1.25rem !important; }
.mk27-devpage .mk27-dev-actions a:hover { text-decoration: underline !important; text-underline-offset: 0.35em; }
.mk27-devpage .mk-dev-card .mk-more span { display: none; }

/* Closing band */
.mk27-devcta { background: var(--mk27-sand, #ece6dc); padding: clamp(3rem, 6vw, 4.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; }
.mk27-devcta-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; }
.mk27-devcta .mk27-display { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); max-width: 34ch; }
.mk27-devcta-copy > p { margin: 0.75rem 0 0; color: #2a3640; }
.mk27-devcta .wp-block-button__link { background: var(--mk27-ink) !important; color: #fff !important; padding: 1.1rem 2rem !important; letter-spacing: 0.18em; }
.mk27-devsources { padding: clamp(1.5rem, 3vw, 2.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; }
/* On this page the photograph's text lines up with the cards (1240px), not 1600px. */
.mk27-devpage .mk27-pagehero { padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; }
.mk27-devpage .mk27-pagehero .mk27-crumbs--hero { padding: 0 max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; }
@media (min-width: 1025px) { .mk27-devpage .mk27-pagehero-cta { right: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)); } }
.mk27-devpage .mk-devcat { display: block !important; margin: 0 !important; }
.mk27-devpage .mk-devcat-tabs { width: auto !important; margin: 0 !important; justify-content: flex-start; box-sizing: border-box; }
.mk27-devpage .mk-devcat-count-line { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; margin-bottom: 1.5rem !important; }

/* ══ A development's page ═══════════════════════════════════════════════════
   Everything on the site's 1240px measure; the introduction beside an
   "At a glance" panel (figures, reservation, payment plan, brochure); the
   payment terms as a timeline; the map in the house palette. */
body.single-meklara_development .mk-detail-head,
body.single-meklara_development .mk-detail .mk-chap,
body.single-meklara_development .mk-detail .mk-band-inner,
body.single-meklara_development .mk-detail .mk-provenance,
body.single-meklara_development .mk27-devintro {
	max-width: var(--mk27-max, 1240px) !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; width: 100%;
}
body.single-meklara_development .mk-detail .mk-chap { display: grid !important; grid-template-columns: 11rem minmax(0, 1fr); gap: 0 clamp(2rem, 5vw, 4.5rem); }
body.single-meklara_development .mk-detail .mk-chap-body { max-width: 52rem !important; margin: 0 !important; }
@media (max-width: 781px) { body.single-meklara_development .mk-detail .mk-chap { grid-template-columns: minmax(0, 1fr); } }

/* Introduction + At a glance */
.mk27-devintro { display: grid; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(3rem, 6vw, 5rem) clamp(3rem, 6vw, 5rem); }
@media (min-width: 1025px) { .mk27-devintro { grid-template-columns: minmax(0, 1fr) 24rem; align-items: start; } }
.mk27-devintro > .mk27-devintro-main > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding-top: 0 !important; }
.mk27-devintro .mk-detail-head { padding: 0 !important; }
.mk27-devintro .mk-detail-head .mk-place { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-devintro .mk-detail-title { font-weight: 300 !important; margin: 0.75rem 0 1.5rem !important; }
.mk27-devintro .mk-dataline--lg { display: none !important; }
.mk27-devintro .mk-chap { grid-template-columns: minmax(0, 1fr) !important; margin-top: 2.5rem !important; }
.mk27-devintro .mk-chap .mk-chap-mark { display: none; }
.mk27-devintro .mk-detail-overview p { font-size: 1.0625rem; line-height: 1.8; color: #2a3640; }

.mk27-glance { background: #fff; border-top: 2px solid var(--mk27-ink); padding: 1.75rem 1.75rem 2rem; box-shadow: 0 30px 60px -45px rgba(29, 47, 62, 0.45); }
@media (min-width: 1025px) { .mk27-glance { position: sticky; top: calc(var(--mas-header-h-condensed, 56px) + 1.5rem); } }
.mk27-glance-kicker { margin: 0 0 1.25rem; font-size: max(0.6875rem, 11px); letter-spacing: 0.22em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-glance-price { margin: 0; font-family: var(--mas-face-display); font-weight: 300; font-size: 2.25rem; line-height: 1; color: var(--mk27-ink); }
.mk27-glance-price small { font-family: var(--mas-face-text); font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-muted); margin-right: 0.5rem; }
.mk27-glance-facts { list-style: none; margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--mk27-rule); }
.mk27-glance-facts li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--mk27-rule); font-size: 0.9375rem; }
.mk27-glance-facts li span:first-child { color: var(--mk27-muted); font-size: 0.8125rem; letter-spacing: 0.04em; }
.mk27-glance-facts li span:last-child { color: var(--mk27-ink); text-align: right; }
.mk27-glance-sub { margin: 1.75rem 0 0.75rem; font-size: max(0.6875rem, 11px); letter-spacing: 0.22em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-glance-note { margin: 0.5rem 0 0; font-size: 0.8125rem; line-height: 1.6; color: var(--mk27-muted); }
.mk27-glance-btns { display: grid; gap: 0.6rem; margin-top: 1.75rem; }
.mk27-glance-btns a {
	display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 1rem;
	font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; text-decoration: none !important;
	border: 1px solid var(--mk27-ink); color: var(--mk27-ink) !important; background: transparent;
}
.mk27-glance-btns a.is-primary { background: var(--mk27-ink); color: #fff !important; }
.mk27-glance-btns a:hover { background: var(--mk27-ink); color: #fff !important; }
.mk27-glance-btns a.is-primary:hover { background: #2A4256; }

/* Payment plan as a timeline (in the panel and in its chapter) */
.mk-stages { list-style: none !important; padding: 0 !important; margin: 1.5rem 0 0 !important; display: grid !important; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 0 !important; border: 0 !important; }
.mk-stages li { position: relative; display: flex !important; flex-direction: column; gap: 0.4rem; padding: 1.4rem 1rem 0 0 !important; margin: 0 !important; border: 0 !important; border-top: 1px solid var(--mk27-rule) !important; }
.mk-stages li::before { content: ""; position: absolute; top: -1px; left: 0; height: 2px; width: calc(var(--pct, 25) * 1%); min-width: 14px; background: var(--mk27-ink); }
.mk-stages li::after { content: ""; position: absolute; top: -5px; left: 0; width: 9px; height: 9px; border-radius: 50%; background: var(--mk27-ink); }
.mk-stages .mk-stage-pct { font-family: var(--mas-face-display); font-weight: 300; font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.6rem) !important; line-height: 1; color: var(--mk27-ink); }
.mk-stages li > span:last-child { font-size: 0.8125rem; line-height: 1.45; color: #2a3640; }
@media (max-width: 599px) { .mk-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.5rem !important; } }
.mk27-glance .mk-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.25rem !important; margin-top: 0.5rem !important; }
.mk27-glance .mk-stages .mk-stage-pct { font-size: 1.6rem !important; }

/* The map: on the measure, in the house palette */
body.single-meklara_development .mk-detail-map {
	max-width: var(--mk27-max, 1240px); margin: 0 auto clamp(3rem, 6vw, 5rem) !important; padding-inline: clamp(1.25rem, 5vw, 3rem); box-sizing: content-box;
}
@media (min-width: 1340px) { body.single-meklara_development .mk-detail-map { padding-inline: 0; } }
body.single-meklara_development .mk-detail-map .meklara-map { margin: 0 !important; position: relative; }
body.single-meklara_development .mk-detail-map .meklara-map-canvas { height: clamp(320px, 42vw, 540px) !important; width: 100% !important; border: 1px solid var(--mk27-rule); }
.meklara-map .leaflet-tile-pane, .meklara-map canvas { filter: saturate(0.35) sepia(0.18) contrast(0.96) brightness(1.03); }
.meklara-map figcaption { margin-top: 0.85rem !important; font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-map-open {
	position: absolute; z-index: 500; right: 1rem; top: 1rem; display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0 1.1rem;
	background: #fff; color: var(--mk27-ink) !important; border: 1px solid rgba(29, 47, 62, 0.15); text-decoration: none !important;
	font-size: max(0.6875rem, 11px); letter-spacing: 0.18em; text-transform: uppercase; box-shadow: 0 10px 30px -15px rgba(0,0,0,.4);
}
.mk27-map-open:hover { background: var(--mk27-ink); color: #fff !important; }

/* Enquiry, a little wider and calmer */
body.single-meklara_development .mk-dev-enquire .meklara-enquiry { max-width: 46rem; }
body.single-meklara_development .meklara-enquiry button[type="submit"] { min-height: 52px; padding: 0 2.25rem !important; letter-spacing: 0.2em; text-transform: uppercase; font-size: 0.75rem !important; }
body.single-meklara_development .mk-detail-map { box-sizing: border-box; max-width: calc(var(--mk27-max, 1240px) + 2 * clamp(1.25rem, 5vw, 3rem)); margin-top: clamp(2.5rem, 5vw, 4rem) !important; }
body.single-meklara_development .mk-detail-map:empty { display: none !important; }
body.single-meklara_development .mk-detail-map figcaption { padding: 0 !important; margin-left: 0 !important; }
body.single-meklara_development .mk-detail-map .leaflet-control-attribution { font-size: 10px; }
body.single-meklara_development .mk-detail-map {
	width: 100vw !important; max-width: 100vw !important; box-sizing: border-box !important;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) !important;
}
body.single-meklara_development .mk-detail-map .meklara-map-canvas { box-sizing: border-box; }

/* ══ A development's page, refined ═════════════════════════════════════════
   Quieter type, framed photographs set beside the text instead of edge-to-edge
   slabs, facts on hairlines, and a compact investor band. */
body.single-meklara_development .mk-detail .mk-section h2,
body.single-meklara_development .mk-detail .mk-chap-body > h2 {
	font-family: var(--mas-face-display) !important; font-weight: 300 !important;
	font-size: clamp(1.45rem, 1.25rem + 0.6vw, 1.85rem) !important; line-height: 1.2 !important; letter-spacing: 0 !important;
	margin: 0 0 1.25rem !important; color: var(--mk27-ink);
}
body.single-meklara_development .mk-detail .mk-section h3 { font-family: var(--mas-face-display) !important; font-weight: 400 !important; font-size: 1.15rem !important; margin: 0 0 0.5rem !important; }
body.single-meklara_development .mk-detail .mk-section p,
body.single-meklara_development .mk-detail .mk-section li { font-size: 0.9375rem; line-height: 1.7; }
body.single-meklara_development .mk-detail .mk-chap-no { font-family: var(--mas-face-display); font-size: 0.875rem !important; color: var(--mk27-muted) !important; }
body.single-meklara_development .mk-detail .mk-chap-name { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.2em !important; color: var(--mk27-muted) !important; }
body.single-meklara_development .mk-detail .mk-chap-mark { border-top: 1px solid var(--mk27-ink) !important; padding-top: 1rem !important; }
body.single-meklara_development .mk-ground { padding-block: clamp(3.5rem, 7vw, 5.5rem) !important; }
body.single-meklara_development .mk-ground-inner { padding-block: 0 !important; }
body.single-meklara_development .mk-ground-inner > .mk-chap + .mk-chap { margin-top: clamp(3rem, 6vw, 4.5rem) !important; }

/* Hero photograph: a little shorter */
body.single-meklara_development .mk-detail-stage { height: clamp(380px, 62vh, 640px) !important; overflow: hidden; margin: 0 !important; }
body.single-meklara_development .mk-detail-stage img { width: 100%; height: 100% !important; object-fit: cover; }

/* Chapters that carry a photograph: mark | words | picture */
@media (min-width: 1025px) {
	body.single-meklara_development .mk-chap.mk27-has-media { grid-template-columns: 11rem minmax(0, 1fr) minmax(0, 0.75fr) !important; align-items: start; }
	body.single-meklara_development .mk-chap.mk27-has-media .mk-chap-body { max-width: 34rem !important; }
}
.mk27-chap-media { margin: 0 !important; position: relative; }
.mk27-chap-media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 1024px) { .mk27-chap-media { grid-column: 1 / -1; margin-top: 2rem !important; } .mk27-chap-media img { aspect-ratio: 3 / 2; } }

/* The paired photographs: a framed strip on the measure */
body.single-meklara_development .mk-pair {
	max-width: var(--mk27-max, 1240px); margin: 0 auto !important; padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 5vw, 3rem) !important; box-sizing: content-box;
	display: grid !important; grid-template-columns: 1.4fr 1fr; gap: clamp(0.75rem, 1.5vw, 1.25rem) !important;
}
@media (min-width: 1340px) { body.single-meklara_development .mk-pair { padding-inline: 0 !important; } }
body.single-meklara_development .mk-pair-item { margin: 0 !important; }
body.single-meklara_development .mk-pair-image { display: block; width: 100%; height: clamp(220px, 28vw, 380px) !important; object-fit: cover; }
@media (max-width: 599px) { body.single-meklara_development .mk-pair { grid-template-columns: 1fr 1fr; } body.single-meklara_development .mk-pair-image { height: 180px !important; } }

/* Facts on hairlines */
body.single-meklara_development .mk-facts { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem !important; margin: 0 !important; border-top: 1px solid var(--mk27-rule); }
body.single-meklara_development .mk-fact { padding: 1rem 0 !important; border-bottom: 1px solid var(--mk27-rule); margin: 0 !important; }
body.single-meklara_development .mk-fact dt { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-muted) !important; margin-bottom: 0.35rem; }
body.single-meklara_development .mk-fact dd { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 300; font-size: 1.15rem !important; color: var(--mk27-ink); }
body.single-meklara_development .meklara-cite { font-size: 0.6em; opacity: 0.6; }
@media (max-width: 599px) { body.single-meklara_development .mk-facts { grid-template-columns: minmax(0, 1fr); } }
/* Amenities: a calm two-column list */
body.single-meklara_development .mk-amenities, body.single-meklara_development .mk-section ul:not(.mk-stages) { columns: 2; column-gap: 2rem; list-style: none; padding: 0 !important; margin: 0 !important; border-top: 1px solid var(--mk27-rule); }
body.single-meklara_development .mk-section ul:not(.mk-stages) li { break-inside: avoid; padding: 0.7rem 0 0.7rem 1.25rem; border-bottom: 1px solid var(--mk27-rule); position: relative; }
body.single-meklara_development .mk-section ul:not(.mk-stages) li::before { content: ""; position: absolute; left: 0; top: 1.25rem; width: 6px; height: 1px; background: var(--mk27-ink); }
@media (max-width: 599px) { body.single-meklara_development .mk-section ul:not(.mk-stages) { columns: 1; } }
body.single-meklara_development .mk-area-cta { margin-top: 2rem !important; padding-top: 1.5rem !important; border-top: 1px solid var(--mk27-rule) !important; }

/* Investor band: compact and aligned */
body.single-meklara_development .mk-band { padding-block: clamp(3.5rem, 7vw, 5rem) !important; }
body.single-meklara_development .mk-investor h2 { color: #fff !important; }
body.single-meklara_development .mk-investor .mk-metrics { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; margin: 1.5rem 0 2rem !important; border-top: 1px solid rgba(255,255,255,.22); }
@media (max-width: 900px) { body.single-meklara_development .mk-investor .mk-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.single-meklara_development .mk-investor .meklara-metric { padding: 1.25rem 1.25rem 1.25rem 0 !important; margin: 0 !important; border-bottom: 1px solid rgba(255,255,255,.14); display: flex !important; flex-direction: column; gap: 0.5rem; }
body.single-meklara_development .mk-investor .meklara-metric-value { font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.85rem) !important; line-height: 1.15 !important; color: #fff !important; }
body.single-meklara_development .mk-investor .meklara-metric-label { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,.66) !important; line-height: 1.45; }
body.single-meklara_development .mk-investor .mk-eyebrow, body.single-meklara_development .mk-investor h3, body.single-meklara_development .mk-investor h4 { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.22em !important; color: rgba(255,255,255,.7) !important; font-family: var(--mas-face-text) !important; font-weight: 500 !important; text-transform: uppercase; }
body.single-meklara_development .mk-investor .meklara-legend, body.single-meklara_development .mk-investor .meklara-legend * { font-size: max(0.6875rem, 11px) !important; color: rgba(255,255,255,.55) !important; }
body.single-meklara_development .mk-investor ul { columns: 2; column-gap: 3rem; max-width: none !important; }
body.single-meklara_development .mk-investor li { font-size: 0.875rem !important; line-height: 1.6; color: rgba(255,255,255,.82); break-inside: avoid; margin-bottom: 0.6rem; }
@media (max-width: 781px) { body.single-meklara_development .mk-investor ul { columns: 1; } }
body.single-meklara_development .mk-investor > p:last-child { font-size: 0.75rem !important; color: rgba(255,255,255,.55) !important; }
body.single-meklara_development .mk-detail-stage { width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
body.single-meklara_development .meklara-map { overflow: hidden; }
body.single-meklara_development .mk-provenance { margin-top: 0 !important; padding-top: clamp(2rem, 4vw, 3rem) !important; border-top: 0 !important; }
body.single-meklara_development .mk-band { margin-top: 0 !important; }
/* Investor band: small headings, plain list */
body.single-meklara_development .mk-detail .mk-investor h3,
body.single-meklara_development .mk-detail .mk-investor h4 {
	font-family: var(--mas-face-text) !important; font-weight: 500 !important; font-size: max(0.6875rem, 11px) !important;
	letter-spacing: 0.22em !important; text-transform: uppercase; color: rgba(255,255,255,.7) !important; margin: 2.25rem 0 0.75rem !important;
}
body.single-meklara_development .mk-detail .mk-investor ul { border-top: 0 !important; columns: 2; }
body.single-meklara_development .mk-detail .mk-investor ul li { border-bottom: 0 !important; padding: 0 0 0 1.1rem !important; margin-bottom: 0.75rem; }
body.single-meklara_development .mk-detail .mk-investor ul li::before { background: rgba(255,255,255,.5) !important; top: 0.8em !important; }
body.single-meklara_development .mk-investor .meklara-legend { margin-bottom: 0.5rem; }
@media (max-width: 781px) { body.single-meklara_development .mk-detail .mk-investor ul { columns: 1; } }
.mk27-unit { font-family: var(--mas-face-text); font-weight: 300; font-size: 0.55em; letter-spacing: 0.02em; margin-left: 0.1em; }
.mk27-unit { font-size: max(0.55em, 11px); }
.mk-doc-kind { font-size: max(0.6875rem, 11px) !important; }
@media (max-width: 1339px) { body.single-meklara_development .mk-pair { box-sizing: border-box !important; max-width: none !important; width: auto !important; margin-left: 0 !important; margin-right: 0 !important; } }

/* Area figures strip, quieter: smaller figures on one line, finer labels, lighter icons */
.mk27-strip { padding-block: clamp(1.25rem, 2.4vw, 1.75rem) !important; }
.mk27-strip .meklara-metric-value {
	font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem) !important; font-weight: 300 !important;
	letter-spacing: 0.01em !important; white-space: nowrap; margin-bottom: 0.2rem;
}
.mk27-strip .meklara-metric-label,
.mk27-strip-item p {
	font-size: max(0.625rem, 11px) !important; font-weight: 300 !important;
	letter-spacing: 0.18em !important; line-height: 1.6 !important; color: rgba(255, 255, 255, 0.62) !important;
}
.mk27-strip-item p { color: rgba(255, 255, 255, 0.8) !important; }
.mk27-strip .meklara-metric::before,
.mk27-strip-item .mk27-icon { width: 22px !important; height: 22px !important; opacity: 0.55 !important; }
.mk27-strip .meklara-metric, .mk27-strip-item { grid-template-columns: 22px minmax(0, 1fr) !important; column-gap: 0.85rem !important; min-height: 52px !important; border-left-color: rgba(255, 255, 255, 0.12) !important; }

/* ── Search dropdowns in the house style (computers) ─────────────────────── */
.mk27-dd-native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; overflow: hidden; }
.mk27-dd { position: relative; width: 100%; }
.meklara-field:has(.mk27-dd)::after { display: none !important; }
.mk27-dd-btn {
	display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; width: 100%; min-height: 1.6rem;
	margin: 0; padding: 0; background: none; border: 0; cursor: pointer; text-align: left;
	font: inherit; font-size: 0.9375rem; font-weight: 400; letter-spacing: 0.01em; color: var(--mk27-ink);
}
.mk-herobar .mk27-dd-btn { font-size: 0.875rem; font-weight: 500; }
.mk27-dd-btn::after {
	content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin-top: -4px;
	border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); opacity: 0.7; transition: transform 0.25s ease;
}
.mk27-dd.is-open .mk27-dd-btn::after { transform: rotate(-135deg); margin-top: 4px; }
.mk27-dd-btn:focus-visible { outline: none; box-shadow: 0 2px 0 0 var(--mk27-ink); }
.mk27-dd-value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mk27-dd-list {
	position: absolute; z-index: 60; left: -1.1rem; top: calc(100% + 0.9rem); min-width: calc(100% + 2.2rem); max-height: 320px; overflow-y: auto;
	margin: 0; padding: 0.5rem 0; list-style: none; background: var(--mk27-ivory, #F7F6F3);
	border: 1px solid var(--mk27-rule); box-shadow: 0 30px 60px -30px rgba(18, 31, 42, 0.45);
	opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}
.mk27-dd.is-open .mk27-dd-list { opacity: 1; visibility: visible; transform: none; transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s; }
.mk27-dd-list li {
	position: relative; padding: 0.7rem 2.5rem 0.7rem 1.1rem; cursor: pointer; white-space: nowrap;
	font-size: 0.875rem; font-weight: 400; letter-spacing: 0.01em; line-height: 1.3; color: var(--mk27-ink); text-transform: none;
}
.mk27-dd-list li.is-active { background: #ece6dc; }
.mk27-dd-list li[aria-selected="true"]::after {
	content: ""; position: absolute; right: 1.1rem; top: 50%; width: 5px; height: 10px; margin-top: -7px;
	border-right: 1px solid var(--mk27-ink); border-bottom: 1px solid var(--mk27-ink); transform: rotate(45deg);
}
.mk27-dd-list li:first-child { color: var(--mk27-muted); }
.mk27-dd-list::-webkit-scrollbar { width: 6px; }
.mk27-dd-list::-webkit-scrollbar-thumb { background: rgba(29, 47, 62, 0.2); }
.meklara-sort .mk27-dd { min-width: 12rem; }
.meklara-sort .mk27-dd-list { left: auto; right: 0; min-width: 100%; }
.mk-herobar, .mk27-searchband .meklara-search, .mk-herobar .meklara-field, .mk27-searchband .meklara-search .mk27-cell { overflow: visible !important; }
/* The dropdown field is text, not a button, wherever it sits */
.mk27-dd .mk27-dd-btn, .mk27-dd .mk27-dd-btn:hover, .mk27-dd .mk27-dd-btn:focus, .mk27-dd .mk27-dd-btn:active, .mk27-dd.is-open .mk27-dd-btn {
	background: none !important; color: var(--mk27-ink) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	padding: 0 !important; margin: 0 !important; width: 100% !important; min-width: 0 !important; height: auto !important; min-height: 1.6rem !important;
	justify-content: space-between !important; text-transform: none !important; letter-spacing: 0.01em !important; transform: none !important;
	font-family: var(--mas-face-text) !important; font-size: 0.9375rem !important; font-weight: 400 !important; line-height: 1.4 !important;
}
.mk-herobar .mk27-dd .mk27-dd-btn { font-size: 0.875rem !important; font-weight: 500 !important; }
.mk27-dd .mk27-dd-btn:focus-visible { box-shadow: 0 2px 0 0 var(--mk27-ink) !important; }
/* The homepage photograph lets the list open past its lower edge */
.mk27-home .mk27-hero, .mk27-home .mk-hero.meklara-hero-panel { overflow: visible !important; position: relative; z-index: 6; }
.mk27-home .mk-hero .meklara-hero-media { overflow: hidden; }

/* Madrid guides: "Our selection" while the Madrid portfolio is being built */
.mk27-madsel { background: #fff; padding-block: clamp(3.5rem, 7vw, 5.5rem) !important; }
.mk27-madsel > * { max-width: var(--mk27-max, 1240px) !important; margin-inline: auto !important; }
.mk27-madsel .mk27-head { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; align-items: center; }
.mk27-madsel .mk27-head-lede { max-width: 40rem; margin-top: 1rem !important; font-size: 1rem; }
.mk27-madsel .wp-block-buttons { gap: 0.75rem; }
.mk27-madsel .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--mk27-ink) !important; color: #fff !important; }
.mk27-madsel .wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--mk27-ink) !important; border: 1px solid var(--mk27-ink) !important; }
.mk27-photo-credit { margin: 0 auto !important; max-width: var(--mk27-max, 1240px); font-size: max(0.6875rem, 11px); letter-spacing: 0.06em; color: var(--mk27-muted); }

/* New developments: quieter names; photographs with a soft gradient that settle as they scroll in */
.mk27-devpage .mk-dev-card-title { font-weight: 300 !important; font-size: clamp(1.1rem, 1rem + 0.35vw, 1.3rem) !important; letter-spacing: 0.01em !important; }
.mk27-devpage .mk-dev-card-media { position: relative; }
.mk27-devpage .mk-dev-card-media::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(18, 31, 42, 0.28) 0%, rgba(18, 31, 42, 0) 30%, rgba(18, 31, 42, 0) 55%, rgba(18, 31, 42, 0.45) 100%);
	transition: opacity 0.6s ease; opacity: 0.85;
}
@media (hover: hover) { .mk27-devpage .mk-dev-card:hover .mk-dev-card-media::after { opacity: 1; } }
.mk27-devpage .mk-dev-card-media img { transform: scale(1.08); transition: transform 1.6s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 1s ease; opacity: 0.4; }
.mk27-devpage .mk-dev-card.is-in .mk-dev-card-media img { transform: scale(1); opacity: 1; }
@media (hover: hover) { .mk27-devpage .mk-dev-card.is-in:hover .mk-dev-card-media img { transform: scale(1.035); } }
.mk27-devpage .mk-dev-card { opacity: 0; transform: translateY(18px); transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1); }
.mk27-devpage .mk-dev-card.is-in { opacity: 1; transform: none; }
html:not(.mk-js) .mk27-devpage .mk-dev-card, html:not(.mk-js) .mk27-devpage .mk-dev-card-media img { opacity: 1 !important; transform: none !important; }
@media (prefers-reduced-motion: reduce) {
	.mk27-devpage .mk-dev-card, .mk27-devpage .mk-dev-card-media img { opacity: 1 !important; transform: none !important; transition: none !important; }
}
.mk27-stat-unit { font-family: var(--mas-face-text) !important; font-weight: 300; }
/* Area guides: the enquiry band on the same 1240px measure */
.mk27-areapage .mk-advisory { padding-left: var(--mk27-side) !important; padding-right: var(--mk27-side) !important; margin: 0 !important; max-width: none !important; box-sizing: border-box; }
.mk27-areapage .mk-advisory > * { max-width: none !important; }
.mk27-areapage .mk-advisory > * { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }

/* ══ A residence's page: lighter title, more air, a refined description ════ */
body.single-meklara_property .mk-listing-head { padding-block: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 2vw, 1.5rem) !important; }
body.single-meklara_property .mk-listing-place { margin: 0 0 1.25rem !important; font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.24em !important; color: var(--mk27-muted) !important; }
body.single-meklara_property .mk-listing-title {
	font-family: var(--mas-face-display) !important; font-weight: 300 !important; letter-spacing: 0.005em !important;
	line-height: 1.18 !important; max-width: 24ch; margin: 0 0 1.5rem !important; text-wrap: balance;
	font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2.6rem) !important;
}
body.single-meklara_property .mk-listing-price {
	font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.6rem) !important;
	letter-spacing: 0.04em !important; margin: 0 0 1.5rem !important; color: var(--mk27-ink);
}
body.single-meklara_property .mk-factstrip { margin: 0 0 2.25rem !important; padding: 1rem 0 !important; border-top: 1px solid var(--mk27-rule); border-bottom: 1px solid var(--mk27-rule); display: flex; flex-wrap: wrap; gap: 0.5rem 0; }
body.single-meklara_property .mk-factstrip li { font-size: 0.875rem !important; letter-spacing: 0.04em; color: var(--mk27-ink) !important; padding: 0 1.5rem !important; border-left: 1px solid var(--mk27-rule) !important; }
body.single-meklara_property .mk-factstrip li:first-child { padding-left: 0 !important; border-left: 0 !important; }
body.single-meklara_property .mk-listing-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0 !important; }
body.single-meklara_property .mk-listing-actions .mk-button { min-height: 52px; padding: 0 2rem !important; font-size: 0.75rem !important; letter-spacing: 0.2em !important; font-weight: 500 !important; }

/* The description: a label on the left, a calm reading column, the first paragraph as a lede */
.mk27-desc {
	display: grid; gap: 1.5rem clamp(2rem, 6vw, 6rem); align-items: start;
	max-width: var(--mk27-max, 1240px); margin: clamp(2.5rem, 6vw, 5rem) auto clamp(4rem, 8vw, 6rem) !important; box-sizing: border-box;
}
@media (min-width: 900px) { .mk27-desc { grid-template-columns: 14rem minmax(0, 42rem); } }
.mk27-desc-label { margin: 0 !important; padding-top: 1rem; border-top: 1px solid var(--mk27-ink); font-size: max(0.6875rem, 11px); letter-spacing: 0.24em; text-transform: uppercase; color: var(--mk27-ink); }
@media (min-width: 900px) { .mk27-desc-label { position: sticky; top: calc(var(--mas-header-h-condensed, 56px) + 2rem); } }
.mk27-desc-body p { margin: 0 0 1.6rem !important; max-width: none !important; font-size: 1rem !important; font-weight: 300 !important; line-height: 1.9 !important; letter-spacing: 0.01em; color: #2a3640 !important; }
.mk27-desc-body p:first-child {
	font-family: var(--mas-face-display); font-weight: 300 !important; font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem) !important;
	line-height: 1.6 !important; color: var(--mk27-ink) !important; margin-bottom: 2.25rem !important;
}
.mk27-desc-body strong, .mk27-desc-body b { font-weight: 400; }
.mk27-desc-more { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; margin-top: 0.5rem; padding: 0; background: none; border: 0; border-bottom: 1px solid var(--mk27-ink); cursor: pointer; font: inherit; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-desc.is-collapsed .mk27-desc-body p:nth-child(n+3) { display: none; }
body.single-meklara_property .mk-listing-head { max-width: var(--mk27-max, 1240px) !important; width: 100%; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; padding-inline: 0 !important; }
body.single-meklara_property .mk-factstrip { max-width: 42rem; }
.mk27-desc-body p:first-child { font-size: clamp(1.1rem, 1rem + 0.35vw, 1.3rem) !important; line-height: 1.65 !important; }

/* ── Page tops: the plugin's listing photographs, changing slowly ─────────── */
.mk27-pagehero > .meklara-hero-media { position: absolute; inset: 0; z-index: -2; overflow: hidden; display: block; margin: 0 !important; max-width: none !important; }
.mk27-pagehero .mk-hero-frame { position: absolute; inset: 0; opacity: 0; transition: opacity 1.8s ease; }
.mk27-pagehero .mk-hero-frame.is-active { opacity: 1; }
.mk27-pagehero .mk-hero-frame img, .mk27-pagehero .mk-hero-frame video { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.02); transition: transform 9s ease-out; }
.mk27-pagehero .mk-hero-frame.is-active img { transform: scale(1.08); }
@media (prefers-reduced-motion: reduce) { .mk27-pagehero .mk-hero-frame img { transition: none; transform: none; } }
.mk27-pagehero > .meklara-hero-credit {
	position: absolute; z-index: 2; right: max(clamp(1.25rem, 5vw, 3rem), calc((100% - 1600px) / 2)); bottom: 1.25rem; margin: 0 !important; max-width: none !important;
	font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.18em; text-transform: uppercase; opacity: 1 !important;
}
.mk27-pagehero > .meklara-hero-credit a { color: rgba(255, 255, 255, 0.82) !important; text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.mk27-pagehero > .meklara-hero-credit a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 0.3em; }
.mk27-devpage .mk27-pagehero > .meklara-hero-credit { right: auto; left: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)); bottom: 0.75rem; }
.mk27-pagehero > .meklara-hero-credit { left: auto !important; top: auto !important; transform: none !important; writing-mode: horizontal-tb !important; rotate: none !important; text-align: right; padding: 0 !important; width: auto !important; }
.mk27-devpage .mk27-pagehero > .meklara-hero-credit { right: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; left: auto !important; bottom: 0.75rem !important; }
@media (max-width: 781px) { .mk27-pagehero > .meklara-hero-credit { bottom: 0.5rem !important; } }

/* ══ All areas index (/markets/costa-del-sol/) ═════════════════════════════ */
.mk27-hub-intro, .mk27-hub-group { padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; margin-block: 0 !important; }
.mk27-hub-intro > *, .mk27-hub-group > * { max-width: none !important; margin-inline: 0 !important; }
.mk27-hub-intro { padding-block: clamp(3.5rem, 7vw, 5.5rem) clamp(1rem, 2vw, 1.5rem) !important; }
.mk27-hub-intro-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 2rem 4rem; }
.mk27-hub-intro-copy { max-width: 46rem; }
.mk27-hub-intro-copy > p:not(.mk-eyebrow) { margin: 1.5rem 0 0; font-size: 1rem; font-weight: 300; line-height: 1.85; color: #2a3640; }
.mk27-hub-intro .wp-block-buttons { gap: 0.75rem; }
.mk27-hub-intro .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--mk27-ink) !important; color: #fff !important; }
.mk27-hub-intro .wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--mk27-ink) !important; border: 1px solid var(--mk27-ink) !important; }
.mk27-hub-group { padding-block: clamp(3rem, 6vw, 4.5rem) !important; }
.mk27-hub-group:nth-of-type(odd) { background: #fff; }
.mk27-hub-group--madrid { background: var(--mk27-ink) !important; }
.mk27-hub-group--madrid .mk27-display, .mk27-hub-group--madrid .mk27-head-link a { color: #fff !important; }
.mk27-hub-group--madrid .mk-eyebrow { color: rgba(255,255,255,.7) !important; }
.mk27-hub-group--madrid .mk27-head { border-bottom-color: rgba(255,255,255,.2); }
.mk27-acards { display: grid; gap: clamp(1.75rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.5rem); grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .mk27-acards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 781px) { .mk27-acards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mk27-acard { position: relative; margin: 0 !important; }
.mk27-acard-media { margin: 0 0 1rem !important; overflow: hidden; }
.mk27-acard-media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
@media (hover: hover) { .mk27-acard:hover .mk27-acard-media img { transform: scale(1.04); } }
.mk27-acard-name { margin: 0 !important; font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: clamp(1.1rem, 1rem + 0.3vw, 1.3rem) !important; line-height: 1.25; }
.mk27-acard-name a { color: inherit; text-decoration: none; }
.mk27-acard-name a::after { content: ""; position: absolute; inset: 0; }
.mk27-acard-tag { margin: 0.35rem 0 0 !important; font-size: max(0.6875rem, 11px); letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-acard-links { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 0.25rem 1.25rem; margin: 0.75rem 0 0 !important; }
.mk27-acard-links a { display: inline-flex; align-items: center; min-height: 36px; font-size: max(0.6875rem, 11px); letter-spacing: 0.18em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid transparent; }
.mk27-acard-links a:hover { border-bottom-color: currentColor; }
.mk27-hub-group--madrid .mk27-acard-name, .mk27-hub-group--madrid .mk27-acard-links a { color: #fff !important; }
.mk27-hub-group--madrid .mk27-acard-tag { color: rgba(255,255,255,.62); }

/* ══ Market reports ═══════════════════════════════════════════════════════ */
.mk27-mr { padding: clamp(3.5rem, 7vw, 5.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; margin: 0 !important; }
.mk27-mr > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.mk27-mr:nth-of-type(even) { background: #fff; }
.mk27-mr-lede { max-width: 42rem; margin: 1.25rem 0 0 !important; font-size: 1rem; font-weight: 300; line-height: 1.8; color: #2a3640; }
.mk27-mr .mk27-display { margin-top: 0 !important; }
.mk27-mr .wp-block-html { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.mk27-up { color: #1f6b4f; } .mk27-down { color: #9a3b2e; } .mk27-na { color: var(--mk27-muted); }
/* Key figures */
.mk27-mr-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--mk27-ink); }
@media (max-width: 900px) { .mk27-mr-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mk27-mr-tile { padding: 1.75rem 1.5rem 1.75rem 0; border-bottom: 1px solid var(--mk27-rule); }
.mk27-mr-tile + .mk27-mr-tile { padding-left: 1.5rem; border-left: 1px solid var(--mk27-rule); }
@media (max-width: 900px) { .mk27-mr-tile:nth-child(odd) { padding-left: 0; border-left: 0; } }
.mk27-mr-tile p { margin: 0; }
.mk27-mr-tile-v { font-family: var(--mas-face-display); font-weight: 300; font-size: clamp(1.9rem, 1.4rem + 1.6vw, 3rem); line-height: 1; color: var(--mk27-ink); }
.mk27-mr-tile-v span { font-family: var(--mas-face-text); font-size: 0.4em; margin-left: 0.1em; }
.mk27-mr-tile-v .mk27-up, .mk27-mr-tile-v .mk27-down { font-size: 1em; font-family: var(--mas-face-display); margin: 0; }
.mk27-mr-tile-l { margin-top: 0.9rem !important; font-size: max(0.6875rem, 11px); letter-spacing: 0.16em; text-transform: uppercase; color: var(--mk27-muted); line-height: 1.5; }
.mk27-mr-tile-s { margin-top: 0.5rem !important; font-size: 0.875rem; color: #2a3640; }
/* Table */
.mk27-mr-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mk27-mr-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 0.9375rem; font-variant-numeric: tabular-nums; }
.mk27-mr-table th, .mk27-mr-table td { padding: 1rem 1rem; text-align: right; border-bottom: 1px solid var(--mk27-rule); font-weight: 300; }
.mk27-mr-table th:first-child { text-align: left; padding-left: 0; }
.mk27-mr-table thead th { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mk27-ink); border-bottom: 1px solid var(--mk27-ink); vertical-align: bottom; line-height: 1.5; }
.mk27-mr-table thead small, .mk27-mr-table th small { display: block; font-size: max(0.625rem, 11px); letter-spacing: 0.08em; color: var(--mk27-muted); text-transform: none; font-weight: 300; }
.mk27-mr-table tbody th { font-family: var(--mas-face-display); font-size: 1.1rem; }
.mk27-mr-table tbody th a { color: var(--mk27-ink); text-decoration: none; }
.mk27-mr-table tbody th a:hover { text-decoration: underline; text-underline-offset: 0.3em; }
.mk27-mr-table tbody tr:not(.mk27-mr-group):hover { background: rgba(29, 47, 62, 0.03); }
.mk27-mr-table .mk27-mr-group th { padding-top: 2rem; font-family: var(--mas-face-text); font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mk27-muted); }
/* Small multiples */
.mk27-sms { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.75rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.5rem); }
@media (max-width: 1000px) { .mk27-sms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mk27-sms { grid-template-columns: minmax(0, 1fr); } }
.mk27-sms--one { margin-top: clamp(2rem, 4vw, 3rem); grid-template-columns: minmax(0, 1fr); max-width: 32rem; }
.mk27-sm { margin: 0; padding-top: 1rem; border-top: 1px solid var(--mk27-ink); }
.mk27-sm figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: 0.5rem; }
.mk27-sm-name { font-family: var(--mas-face-display); font-size: 1.1rem; color: var(--mk27-ink); }
.mk27-sm-val { font-size: 0.8125rem; color: #2a3640; text-align: right; }
.mk27-sm-val em { font-style: normal; display: block; font-size: max(0.6875rem, 11px); }
.mk27-sm svg { display: block; width: 100%; height: auto; overflow: visible; }
.mk27-sm .g { stroke: var(--mk27-rule); stroke-width: 1; }
.mk27-sm .ax { font-family: var(--mas-face-text); font-size: 11px; fill: var(--mk27-muted); text-anchor: end; }
.mk27-sm .ax-x { text-anchor: middle; }
.mk27-sm .l { fill: none; stroke: var(--mk27-ink); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.mk27-sm .a { fill: rgba(29, 47, 62, 0.06); }
.mk27-sm .end { fill: var(--mk27-ink); stroke: #fff; stroke-width: 2; }
.mk27-sm .hit { fill: transparent; cursor: crosshair; }
.mk27-sm .hit:hover { fill: var(--mk27-ink); }
.mk27-sm .b { fill: #9aa5ae; } .mk27-sm .b-last { fill: var(--mk27-ink); }
.mk27-sm .b:hover { fill: var(--mk27-ink); }
.mk27-mr:nth-of-type(even) .mk27-sm .end { stroke: #fff; }
.mk27-mr-src-p { max-width: 52rem; margin: 0 !important; font-size: 0.8125rem; line-height: 1.75; color: var(--mk27-muted); }
.mk27-mr-src { padding-block: clamp(2rem, 4vw, 3rem) !important; }
/* Market reports and All areas: every band edge to edge, content on the 1240px measure */
.mk27-mr, .mk27-hub-intro, .mk27-hub-group {
	width: 100vw !important; max-width: 100vw !important; box-sizing: border-box !important;
	margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;
	padding-left: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) !important;
	padding-right: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) !important;
}

/* ══ Costa del Sol (split-hero market page) ════════════════════════════════ */
.mk27-k { margin: 0 0 1.25rem; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: #8a6d45; }
.mk27-sh, .mk27-gl, .mk27-ov, .mk27-kis, .mk27-wl, .mk27-tr, .mk27-ls { box-sizing: border-box; }
.mk27-sh { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(520px, 72vh, 760px); background: var(--mk27-ivory); }
.mk27-sh-media { margin: 0; position: relative; overflow: hidden; }
.mk27-sh-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mk27-sh-copy { padding: clamp(2.5rem, 5vw, 4.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 5vw, 5rem); display: flex; flex-direction: column; justify-content: center; }
.mk27-sh-crumbs { display: flex; gap: 0.6rem; margin-bottom: clamp(1.5rem, 4vw, 3rem); font-size: 0.75rem; color: var(--mk27-muted); }
.mk27-sh-crumbs a { color: var(--mk27-ink); text-decoration: none; }
.mk27-sh-eyebrow { margin: 0; font-size: max(0.6875rem, 11px); letter-spacing: 0.24em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-sh-title { margin: 0.75rem 0 0 !important; font-family: var(--mas-face-display) !important; font-weight: 300 !important; text-transform: uppercase; letter-spacing: 0.02em; font-size: clamp(2.4rem, 1.6rem + 3vw, 4.4rem) !important; line-height: 1 !important; color: var(--mk27-ink); }
.mk27-sh-sub { margin: 1.25rem 0 1.75rem; font-size: 0.8125rem; letter-spacing: 0.2em; text-transform: uppercase; color: #8a6d45; }
.mk27-sh-copy > p:not([class]) { margin: 0 0 1rem; max-width: 34rem; font-size: 0.9375rem; font-weight: 300; line-height: 1.8; color: #2a3640; }
.mk27-sh-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin: 1.25rem 0 0; }
.mk27-btn-line { display: inline-flex; align-items: center; gap: 0.75rem; min-height: 50px; padding: 0 1.6rem; border: 1px solid #8a6d45; color: #6f5533 !important; text-decoration: none !important; font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; }
.mk27-btn-line:hover { background: #8a6d45; color: #fff !important; }
.mk27-btn-line--light { border-color: rgba(255,255,255,.6); color: #fff !important; }
.mk27-btn-line--light:hover { background: #fff; color: var(--mk27-ink) !important; }
.mk27-btn-text { font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid currentColor; padding: 0.4rem 0; }
@media (max-width: 900px) { .mk27-sh { grid-template-columns: minmax(0, 1fr); } .mk27-sh-media { min-height: 56vw; } .mk27-sh-copy { padding: 2rem clamp(1.25rem, 5vw, 3rem) 2.5rem; } }
/* At a glance */
.mk27-gl { background: var(--mk27-ink); color: #fff; padding: clamp(1.75rem, 3.5vw, 2.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)); }
.mk27-gl .mk27-gl-k { margin: 0 0 1.25rem; font-size: max(0.6875rem, 11px); letter-spacing: 0.22em; text-transform: uppercase; color: #c9ab7c; }
.mk27-gl-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1100px) { .mk27-gl-row { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.5rem; } }
@media (max-width: 600px) { .mk27-gl-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mk27-gl-item { display: flex; gap: 0.8rem; padding: 0 1.1rem; border-left: 1px solid rgba(255,255,255,.14); }
.mk27-gl-item:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 1100px) { .mk27-gl-item { border-left: 0; padding-left: 0; } }
.mk27-gl-item .mk27-icon { flex: 0 0 auto; width: 26px; height: 26px; color: #c9ab7c; margin-top: 0.15rem; }
.mk27-gl-item p { margin: 0; }
.mk27-gl-v { font-family: var(--mas-face-display); font-weight: 300; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.55rem); line-height: 1.15; color: #fff; }
.mk27-gl-l { margin-top: 0.45rem !important; font-size: max(0.625rem, 11px); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,.75); line-height: 1.45; }
.mk27-gl-s { margin-top: 0.3rem !important; font-size: max(0.625rem, 11px); color: rgba(255,255,255,.55); line-height: 1.45; }
/* Overview */
.mk27-ov { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; padding: clamp(3.5rem, 7vw, 5.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)); }
@media (max-width: 900px) { .mk27-ov { grid-template-columns: minmax(0, 1fr); } }
.mk27-ov-h { margin: 0 0 1.25rem !important; font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: clamp(1.6rem, 1.25rem + 1.2vw, 2.3rem) !important; line-height: 1.2 !important; color: var(--mk27-ink); }
.mk27-ov-copy > p { margin: 0 0 1.5rem; font-size: 0.9375rem; font-weight: 300; line-height: 1.8; color: #2a3640; }
.mk27-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.mk27-ticks li { position: relative; padding-left: 1.75rem; font-size: 0.875rem; line-height: 1.5; color: var(--mk27-ink); }
.mk27-ticks li::before { content: ""; position: absolute; left: 0.2rem; top: 0.2rem; width: 5px; height: 10px; border-right: 1.5px solid #8a6d45; border-bottom: 1.5px solid #8a6d45; transform: rotate(45deg); }
.mk27-ov-media { margin: 0; }
.mk27-ov-media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
/* Key indicators */
.mk27-kis { padding: clamp(3rem, 6vw, 4.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)); background: #fff; }
.mk27-ki-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
@media (max-width: 1100px) { .mk27-ki-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mk27-ki-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } }
.mk27-ki { border: 1px solid var(--mk27-rule); padding: 1.25rem 1.1rem 1rem; background: var(--mk27-ivory); }
.mk27-ki p { margin: 0; }
.mk27-ki-l { font-size: max(0.6875rem, 11px); letter-spacing: 0.14em; text-transform: uppercase; color: var(--mk27-muted); min-height: 2.6em; }
.mk27-ki-v { margin-top: 0.75rem !important; font-family: var(--mas-face-display); font-weight: 300; font-size: clamp(1.4rem, 1.2rem + 0.7vw, 1.9rem); line-height: 1; color: var(--mk27-ink); }
.mk27-ki-v span { font-family: var(--mas-face-text); font-size: 0.5em; }
.mk27-ki-s { margin-top: 0.35rem !important; font-size: max(0.6875rem, 11px); color: var(--mk27-muted); }
.mk27-ki-f { display: flex; align-items: flex-end; justify-content: space-between; gap: 0.5rem; margin-top: 1rem; }
.mk27-ki-f p { font-size: max(0.6875rem, 11px); line-height: 1.6; color: var(--mk27-muted); }
.mk27-ki-f b { font-weight: 500; }
.mk27-spark { width: 46%; height: auto; overflow: visible; }
.mk27-spark polyline { fill: none; stroke: #8a6d45; stroke-width: 1.5; stroke-linejoin: round; }
.mk27-spark circle { fill: #8a6d45; }
.mk27-src { margin: 1.25rem 0 0; font-size: 0.75rem; color: var(--mk27-muted); }
.mk27-src a { color: var(--mk27-ink); }
/* Why invest + top locations */
.mk27-wl { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3.2fr); gap: clamp(1.75rem, 3.5vw, 3rem); padding: clamp(3.5rem, 7vw, 5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)); align-items: start; }
@media (max-width: 1100px) { .mk27-wl { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .mk27-wl-map { grid-column: 1 / -1; order: 3; } }
@media (max-width: 700px) { .mk27-wl { grid-template-columns: minmax(0, 1fr); } }
.mk27-wl-i, .mk27-tr-i { display: flex; gap: 1rem; margin-bottom: 1.5rem; }
.mk27-wl-i .mk27-icon, .mk27-tr-i .mk27-icon { flex: 0 0 auto; width: 28px; height: 28px; color: var(--mk27-ink); }
.mk27-wl-i h3, .mk27-tr-i h3, .mk27-wl-loc h3 { margin: 0 0 0.35rem !important; font-family: var(--mas-face-text) !important; font-weight: 500 !important; font-size: 0.75rem !important; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-wl-i p, .mk27-tr-i p, .mk27-wl-loc p { margin: 0; font-size: 0.8125rem; line-height: 1.6; color: #2a3640; }
.mk27-wl-map .meklara-map { margin: 0 !important; }
.mk27-wl-map .meklara-map-canvas { height: clamp(320px, 34vw, 440px) !important; border: 1px solid var(--mk27-rule); }
.mk27-wl-map figcaption { margin-top: 0.6rem !important; font-size: max(0.6875rem, 11px) !important; color: var(--mk27-muted); }
.mk27-wl-loc { padding: 0 0 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--mk27-rule); }
.mk27-wl-loc h3 a { color: var(--mk27-ink); text-decoration: none; }
.mk27-wl-loc h3 a:hover { text-decoration: underline; text-underline-offset: 0.3em; }
.mk27-wl-all a { font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
/* Trends */
.mk27-tr { padding: clamp(2.5rem, 5vw, 3.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)); border-top: 1px solid var(--mk27-rule); }
.mk27-tr-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 1100px) { .mk27-tr-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mk27-tr-row { grid-template-columns: minmax(0, 1fr); } }
.mk27-tr-i { margin: 0; padding-left: 1.25rem; border-left: 1px solid var(--mk27-rule); }
/* Lifestyle */
.mk27-ls { display: grid; grid-template-columns: minmax(14rem, 1fr) minmax(0, 4fr); background: var(--mk27-ink); color: #fff; }
@media (max-width: 900px) { .mk27-ls { grid-template-columns: minmax(0, 1fr); } }
.mk27-ls-copy { padding: 2.5rem clamp(1.25rem, 3vw, 2.5rem) 2.5rem max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)); }
.mk27-ls-copy .mk27-k { color: #c9ab7c; }
.mk27-ls-copy p:not(.mk27-k) { margin: 0 0 1.5rem; font-size: 0.875rem; line-height: 1.7; color: rgba(255,255,255,.8); }
.mk27-ls-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 900px) { .mk27-ls-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mk27-ls-t { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; }
.mk27-ls-t img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
.mk27-ls-t::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(18, 31, 42,.75), rgba(18, 31, 42,0) 55%); }
.mk27-ls-t span { position: absolute; z-index: 1; left: 1rem; right: 1rem; bottom: 1rem; font-size: max(0.6875rem, 11px); letter-spacing: 0.18em; text-transform: uppercase; color: #fff; }
@media (hover: hover) { .mk27-ls-t:hover img { transform: scale(1.05); } }
/* The enquiry on this page sits on navy */
.mk27-areapage #mk27-cds-ask + .mk-advisory, .mk27-areapage #mk27-cds-ask ~ .mk-advisory { background: #1D2F3E !important; color: #fff; }
.mk27-areapage #mk27-cds-ask ~ .mk-advisory .mk-eyebrow { color: #c9ab7c !important; }
.mk27-areapage #mk27-cds-ask ~ .mk-advisory h2, .mk27-areapage #mk27-cds-ask ~ .mk-advisory > * > p, .mk27-areapage #mk27-cds-ask ~ .mk-advisory a { color: #fff !important; }
.mk27-ov-copy > .mk27-k, .mk27-kis > .mk27-k { font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.22em !important; font-weight: 500 !important; color: #8a6d45 !important; font-family: var(--mas-face-text) !important; line-height: 1.4 !important; }
.mk27-gl-item:last-child .mk27-gl-v { font-size: 0.9375rem; font-family: var(--mas-face-text); line-height: 1.45; }
.mk27-ki-f { flex-direction: column; align-items: stretch; }
.mk27-ki-f p { white-space: normal; }
.mk27-spark { width: 100%; margin-top: 0.5rem; }
.mk27-ls-copy .mk27-btn-line { white-space: nowrap; padding: 0 1.1rem; }
.mk27-ls { grid-template-columns: minmax(15rem, 1.1fr) minmax(0, 4fr); }
.mk27-ls-row { min-width: 0; }
@media (min-width: 901px) { .mk27-ls-t { aspect-ratio: auto; min-height: 100%; } }
.mk27-wl-map .meklara-map-canvas { overflow: hidden; }

/* Rental yields: ranked bars and the three notes */
.mk27-hbs { max-width: 52rem; }
.mk27-hb { display: grid; grid-template-columns: 13rem minmax(0, 1fr) 3.5rem; align-items: center; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px solid var(--mk27-rule); }
@media (max-width: 600px) { .mk27-hb { grid-template-columns: 8.5rem minmax(0, 1fr) 3rem; gap: 0.6rem; } }
.mk27-hb-n { font-family: var(--mas-face-display); font-size: 1rem; color: var(--mk27-ink); }
.mk27-hb-t { height: 10px; background: rgba(29, 47, 62, 0.06); border-radius: 0 4px 4px 0; overflow: hidden; }
.mk27-hb-b, .mk27-hb-b\ is-madrid { display: block; height: 100%; }
.mk27-hb-t > span { display: block; height: 100%; background: #8a6d45; border-radius: 0 4px 4px 0; }
.mk27-hb-t > span.is-madrid, .mk27-hb-b.is-madrid { background: var(--mk27-ink); }
.mk27-hb-v { text-align: right; font-variant-numeric: tabular-nums; font-size: 0.9375rem; color: var(--mk27-ink); }
.mk27-hb-key { display: flex; align-items: center; gap: 0.5rem 1rem; margin: 1rem 0 0; font-size: 0.8125rem; color: var(--mk27-muted); }
.mk27-hb-key span { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: #8a6d45; }
.mk27-hb-key .k2 { background: var(--mk27-ink); margin-left: 0.75rem; }
.mk27-mr-table td b { font-weight: 500; color: var(--mk27-ink); }
.mk27-how { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
@media (max-width: 800px) { .mk27-how { grid-template-columns: minmax(0, 1fr); } }
.mk27-how > div { border-top: 1px solid var(--mk27-ink); padding-top: 1.25rem; }
.mk27-how-n { margin: 0 0 0.75rem; font-family: var(--mas-face-display); color: #8a6d45; }
.mk27-how h3 { margin: 0 0 0.6rem !important; font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: 1.35rem !important; }
.mk27-how p:not(.mk27-how-n) { margin: 0; font-size: 0.9375rem; font-weight: 300; line-height: 1.75; color: #2a3640; }

/* ── The advisory enquiry, everywhere: a full-width band, words left, form right ── */
.wp-block-post-content > .mk-advisory {
	width: 100vw !important; max-width: 100vw !important; box-sizing: border-box !important;
	margin: clamp(3rem, 6vw, 5rem) calc(50% - 50vw) 0 !important;
	padding: clamp(3.5rem, 7vw, 5.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - var(--mk27-max, 1240px)) / 2)) !important;
	background: var(--mk27-ink) !important; color: #fff;
}
.wp-block-post-content > .mk-advisory .mk-advisory-inner {
	display: grid !important; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: start;
	max-width: none !important; margin: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important;
}
@media (max-width: 900px) { .wp-block-post-content > .mk-advisory .mk-advisory-inner { grid-template-columns: minmax(0, 1fr); } }
.wp-block-post-content > .mk-advisory .mk-eyebrow { color: #c9ab7c !important; }
.wp-block-post-content > .mk-advisory .mk-advisory-heading { color: #fff !important; font-weight: 300 !important; font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.5rem) !important; margin: 0 0 1rem !important; }
.wp-block-post-content > .mk-advisory .mk-advisory-text { color: rgba(255,255,255,.82) !important; font-weight: 300; line-height: 1.75; max-width: 26rem; }
.wp-block-post-content > .mk-advisory .mk-advisory-contact { list-style: none; padding: 0; margin: 1.75rem 0 0; display: grid; gap: 0.5rem; }
.wp-block-post-content > .mk-advisory .mk-advisory-contact a { color: #fff !important; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); }
.wp-block-post-content > .mk-advisory .mk-advisory-form { max-width: none !important; margin: 0 !important; }
.wp-block-post-content > .mk-advisory .meklara-enquiry { background: #fff !important; padding: clamp(1.75rem, 3.5vw, 2.75rem) !important; margin: 0 !important; max-width: none !important; color: var(--mk27-ink); }
.wp-block-post-content > .mk-advisory .meklara-enquiry > h2 { font-family: var(--mas-face-display) !important; font-weight: 300 !important; font-size: 1.5rem !important; margin: 0 0 1.25rem !important; color: var(--mk27-ink) !important; }
/* Fields two to a row, the long ones across */
.mk-advisory .meklara-enquiry-form fieldset, .mk-advisory .meklara-enquiry-form .meklara-group {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.25rem; border: 0; border-top: 1px solid var(--mk27-rule); margin: 0; padding: 1.25rem 0;
}
.mk-advisory .meklara-enquiry-form legend { grid-column: 1 / -1; float: left; width: 100%; padding: 0; margin: 0 0 0.25rem; font-size: max(0.6875rem, 11px); letter-spacing: 0.2em; text-transform: uppercase; color: #8a6d45; }
.mk-advisory .meklara-enquiry-form label:has(textarea), .mk-advisory .meklara-enquiry-form .meklara-consent { grid-column: 1 / -1; }
@media (max-width: 600px) { .mk-advisory .meklara-enquiry-form fieldset, .mk-advisory .meklara-enquiry-form .meklara-group { grid-template-columns: minmax(0, 1fr); } }
.mk-advisory .meklara-enquiry-form input:not([type="checkbox"]), .mk-advisory .meklara-enquiry-form select, .mk-advisory .meklara-enquiry-form textarea { width: 100%; box-sizing: border-box; min-height: 48px; }
.mk-advisory .meklara-enquiry-form button[type="submit"] {
	min-height: 52px; padding: 0 2.25rem !important; background: var(--mk27-ink) !important; color: #fff !important; border: 0 !important; border-radius: 0 !important;
	font-size: 0.75rem !important; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; margin-top: 0.5rem;
}
main:has(.wp-block-post-content > .mk-advisory:last-child) { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.wp-block-post-content:has(> .mk-advisory:last-child) { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.mk-advisory .meklara-enquiry-form fieldset { min-width: 0; }
/* The house blue everywhere, including dark overlays saved inside pages */
.wp-block-cover__background[style*="#0E1A24"], .wp-block-cover__background[style*="#0e1a24"], .mk27-partner .wp-block-cover__background, .mk27-explore .wp-block-cover__background:not([style*="gradient"]) { background-color: #1D2F3E !important; }
.mk-devtile-media, .mk27-market { background-color: #1D2F3E !important; }

/* ══ One page top everywhere: a tall photograph, the same type ══════════════
   Small spaced label, a large Bw Vivant headline in sentence case, and a
   comfortable line of text under it, in white on the photograph. */
.mk27-pagehero { min-height: clamp(560px, 82vh, 920px) !important; padding-bottom: clamp(3rem, 7vh, 5.5rem) !important; }
.mk27-areapage .mk-hero.meklara-hero-panel,
.mk27-home .mk-hero.meklara-hero-panel { min-height: clamp(600px, 88vh, 980px) !important; }
.mk27-sh { min-height: clamp(560px, 82vh, 920px) !important; }
@media (max-width: 781px) {
	.mk27-pagehero { min-height: clamp(480px, 78svh, 720px) !important; }
	.mk27-areapage .mk-hero.meklara-hero-panel, .mk27-home .mk-hero.meklara-hero-panel { min-height: clamp(560px, 92svh, 820px) !important; }
}
/* Headline */
.mk27-pagehero h1, .mk27-pagehero .mk-h1,
.mk27-areapage .mk-hero-heading.meklara-hero-heading,
.mk27-home .mk-hero-heading.meklara-hero-heading {
	font-family: var(--mas-face-display) !important; font-weight: 500 !important; text-transform: none !important;
	font-size: clamp(2.5rem, 1.4rem + 3.6vw, 4.6rem) !important; line-height: 1.04 !important; letter-spacing: -0.005em !important;
	max-width: 20ch !important; margin: 0 0 1.5rem !important; color: #fff !important; text-wrap: balance;
}
/* Label above */
.mk27-pagehero .mk-eyebrow, .mk27-areapage .mk-hero .mk-eyebrow {
	display: block !important; font-size: max(0.75rem, 12px) !important; font-weight: 500 !important; letter-spacing: 0.26em !important;
	color: rgba(255, 255, 255, 0.92) !important; margin: 0 0 1.25rem !important;
}
/* The line under it */
.mk27-pagehero .mk-lede, .mk27-pagehero .wp-block-term-description,
.mk27-areapage .mk-hero-lede.meklara-hero-lede,
.mk27-home .mk-hero-lede.meklara-hero-lede {
	font-family: var(--mas-face-text) !important; font-weight: 400 !important;
	font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.3rem) !important; line-height: 1.6 !important; letter-spacing: 0.005em !important;
	max-width: 40rem !important; color: rgba(255, 255, 255, 0.92) !important; margin: 0 !important;
}
.mk27-home .mk-hero-copy { max-width: 56rem !important; }
/* A deeper, even shade so white type always reads */
.mk27-pagehero::before { background: linear-gradient(90deg, rgba(18,31,42,.78) 0%, rgba(18,31,42,.5) 45%, rgba(18,31,42,.18) 80%), linear-gradient(0deg, rgba(18,31,42,.55) 0%, rgba(18,31,42,0) 50%), linear-gradient(180deg, rgba(18,31,42,.45) 0%, rgba(18,31,42,0) 25%) !important; }
.mk27-pagehero h1, .mk27-pagehero .mk-h1, .mk27-areapage .mk-hero-heading, .mk27-home .mk-hero-heading, .mk27-sh-title { hyphens: manual !important; -webkit-hyphens: manual !important; overflow-wrap: normal !important; word-break: normal !important; }
@media (max-width: 420px) { .mk27-pagehero h1, .mk27-pagehero .mk-h1, .mk27-areapage .mk-hero-heading.meklara-hero-heading, .mk27-home .mk-hero-heading.meklara-hero-heading { font-size: 2.35rem !important; } }

/* Homepage Locations: words on the left, the row with round arrows on the right */
.mk27-locations { padding-block: clamp(3.5rem, 7vw, 5.5rem) !important; }
.mk27-locations-grid { grid-template-columns: minmax(16rem, 3.2fr) minmax(0, 9fr) !important; gap: clamp(2rem, 4vw, 3.5rem) !important; align-items: center !important; }
@media (max-width: 1212px) { .mk27-locations-grid { grid-template-columns: minmax(0, 1fr) !important; } }
.mk27-locations-side { gap: 0 !important; }
.mk27-locations-intro > * { margin: 0 !important; }
.mk27-locations-kicker { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #DFD6CD; margin-bottom: 1rem !important; }
.mk27-locations-heading { font-weight: 300 !important; font-size: clamp(2rem, 1.5rem + 1.6vw, 3rem) !important; line-height: 1.05 !important; }
.mk27-locations-text { margin-top: 1.25rem !important; max-width: 22rem; font-size: 0.9375rem; font-weight: 300; line-height: 1.75; color: rgba(255, 255, 255, 0.8); }
.mk27-locations-all { margin-top: 1.75rem !important; }
.mk27-locations-all a { display: inline-flex; gap: 0.6rem; align-items: center; min-height: 44px; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.45); }
.mk27-locations-all a:hover { border-bottom-color: #fff; }
.mk27-locations .mk27-rail-controls { display: none !important; }
.mk27-loc-wrap { min-width: 0; }
.mk27-loc-wrap .mk27-rail-round { top: 42%; background: rgba(29, 47, 62, 0.55); color: #fff; border: 1px solid rgba(255,255,255,.6); box-shadow: none; backdrop-filter: blur(6px); }
.mk27-loc-wrap .mk27-rail-round--next { right: -22px; } .mk27-loc-wrap .mk27-rail-round--prev { left: -22px; }
@media (max-width: 1212px) { .mk27-loc-wrap .mk27-rail-round--next { right: 8px; } .mk27-loc-wrap .mk27-rail-round--prev { left: 8px; } }

/* Homepage Locations: six places, taller photographs */
.mk27-locations .mk27-market-media { aspect-ratio: 3 / 4 !important; }
@media (min-width: 782px) { .mk27-locations .mk27-markets-row { grid-auto-columns: calc((100% - 3 * 6px) / 3.3) !important; } }

/* New developments: search above the stage tabs, on the navy band */
.mk27-devpage .mk-devcat > .mk27-devsearch {
	display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) auto; align-items: stretch; gap: 0;
	max-width: none !important; margin: 0 !important; background: var(--mk27-ink);
	padding: clamp(1.5rem, 3vw, 2.25rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) 0 !important;
}
.mk27-devsearch-f { display: flex; flex-direction: column; justify-content: center; gap: 0.4rem; min-height: 76px; padding: 0 1.5rem; background: var(--mk27-ivory); }
.mk27-devsearch-f + .mk27-devsearch-f { border-left: 1px solid var(--mk27-rule); }
.mk27-devsearch-f span { font-size: max(0.6875rem, 11px); letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-muted); }
.mk27-devsearch-f input, .mk27-devsearch-f select { border: 0 !important; background-color: transparent !important; padding: 0 !important; font: inherit; font-size: 1rem !important; color: var(--mk27-ink); min-height: 28px; box-shadow: none !important; }
.mk27-devsearch-f input::placeholder { color: var(--mk27-muted); }
.mk27-devsearch button { min-height: 76px; padding: 0 2rem; border: 0; background: #8a6d45; color: #fff; font: inherit; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; }
.mk27-devsearch button:hover { background: #765c39; }
@media (max-width: 781px) {
	.mk27-devpage .mk-devcat > .mk27-devsearch { grid-template-columns: minmax(0, 1fr); padding-top: 1.25rem !important; }
	.mk27-devsearch-f { min-height: 64px; }
	.mk27-devsearch-f + .mk27-devsearch-f { border-left: 0; border-top: 1px solid var(--mk27-rule); }
	.mk27-devsearch button { min-height: 54px; }
}
.mk27-devpage .mk-devcat-tabs { padding-top: 1.25rem !important; }
.mk27-devsearch-empty { max-width: var(--mk27-max, 1240px); margin: 0 auto !important; padding: 2rem clamp(1.25rem, 5vw, 3rem); font-size: 1.0625rem; color: var(--mk27-muted); box-sizing: content-box; }
.mk27-devsearch-empty a { color: var(--mk27-ink); }
.mk27-devpage .mk-dev-card[hidden] { display: none !important; }
.mk27-devsearch-f select { -webkit-appearance: none; appearance: none; padding-right: 1.5rem !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231D2F3E' stroke-width='1.2'/%3E%3C/svg%3E") right center / 11px no-repeat !important; cursor: pointer; }

/* Area "homes" pages: the listings under the photograph */
.mk27-alist { padding: clamp(3rem, 6vw, 4.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; margin: 0 !important; background: var(--mk27-ivory); }
.mk27-alist > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.mk27-alist .meklara-collection { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2.5rem, 4vw, 3.5rem) clamp(1.25rem, 2.5vw, 2.5rem) !important; }
@media (max-width: 1000px) { .mk27-alist .meklara-collection { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mk27-alist .meklara-collection { grid-template-columns: minmax(0, 1fr); } }
.mk27-alist .meklara-card-frame { aspect-ratio: 4 / 3; overflow: hidden; }
.mk27-alist .wp-block-buttons { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; gap: 0.75rem; }
.mk27-alist .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--mk27-ink) !important; color: #fff !important; }
.mk27-alist .wp-block-button.is-style-outline .wp-block-button__link { background: transparent !important; color: var(--mk27-ink) !important; border: 1px solid var(--mk27-ink) !important; }

/* Markets menu: four short columns and one link to every area */
@media (min-width: 1001px) {
	.mk-header .mk-nav li.mk-mega--markets > .wp-block-navigation__submenu-container {
		grid-template-columns: repeat(4, minmax(0, 13rem)) !important;
		justify-content: center;
		gap: 1.5rem clamp(2rem, 4vw, 4rem) !important;
	}
	.mk-header .mk-nav li.mk-mega--markets > .wp-block-navigation__submenu-container > li:not(.has-child) {
		grid-column: 1 / -1;
		padding-top: 1.1rem;
		border-top: 1px solid var(--mas-rule);
		text-align: center;
	}
	.mk-header .mk-nav li.mk-mega--markets > .wp-block-navigation__submenu-container > li:not(.has-child) > .wp-block-navigation-item__content {
		display: inline-block;
		font-size: 0.6875rem !important;
		font-weight: 500;
		letter-spacing: var(--mas-tracking-label);
		text-transform: uppercase;
	}
}
@media (min-width: 1001px) {
	.mk-header .mk-nav li.mk-mega--markets .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 0 !important; padding-right: 0 !important; }
}

/* New developments strip: beige band, house-blue words and controls */
.mk-devstrip { background: #DFD6CD !important; }
.mk-devstrip .mk-devstrip-heading { color: var(--mk27-ink) !important; }
.mk-devstrip .mk-eyebrow { color: rgba(29, 47, 62, 0.62) !important; }
.mk-devstrip .mk-devstrip-text { color: rgba(29, 47, 62, 0.78) !important; }
.mk-devstrip .mk-button--ghost { border-color: var(--mk27-ink) !important; color: var(--mk27-ink) !important; }
.mk-devstrip .mk-button--ghost:hover { background: var(--mk27-ink) !important; color: #fff !important; }
.mk-devstrip .mk27-rail-btn { border-color: rgba(29, 47, 62, 0.45); color: var(--mk27-ink); }
.mk-devstrip .mk27-rail-btn:hover:not(:disabled) { background: var(--mk27-ink); color: #fff; }
.mk-devstrip .mk27-rail-btn:focus-visible { outline-color: var(--mk27-ink); }

/* Footer: grey, five short columns, round social icons, one quiet last line */
.mk27-footer { background: #000 !important; color: rgba(255, 255, 255, 0.72); }
.mk27-footer-cols { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .mk27-footer-cols { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .mk27-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.mk27-footer-social .wp-social-link { width: 44px; height: 44px; aspect-ratio: 1; padding: 0 !important; display: grid !important; place-items: center; border-radius: 50% !important; flex: 0 0 44px; }
.mk27-footer-social .wp-social-link a { display: grid !important; place-items: center; width: 100%; height: 100%; padding: 0 !important; }
.mk27-footer-social .wp-social-link:hover { background: rgba(255, 255, 255, 0.12) !important; }
.mk27-footer-legal { grid-template-columns: 1fr auto !important; }
@media (max-width: 700px) { .mk27-footer-legal { grid-template-columns: minmax(0, 1fr) !important; } }
.mk27-footer-policies { display: flex; flex-wrap: wrap; gap: 0 1.5rem; justify-content: flex-end; }
@media (max-width: 700px) { .mk27-footer-policies { justify-content: flex-start; } }
.mk27-footer-policies a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 600px) {
	.mk27-footer-brand { grid-column: 1 / -1 !important; }
	.mk27-footer-social { grid-column: 1 / -1 !important; grid-row: 2 !important; justify-self: start; margin-top: 1.25rem !important; }
	.mk27-footer-cols { grid-row: 3 !important; }
}

/* ── Map search page ─────────────────────────────────────────────────────── */
.mk27-mapsearch-bar { margin: 0 !important; padding: clamp(2rem, 4vw, 3rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) !important; max-width: none !important; background: var(--mk27-ivory); }
@media (min-width: 1001px) { .mk27-mapsearch-bar .meklara-filters-open { display: none !important; } .mk27-mapsearch-bar .meklara-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 0; background: #fff; border: 1px solid rgba(29, 47, 62, 0.14); } }
.mk27-mapsearch-bar .meklara-search-head { display: none; }
.mk27-mapsearch-bar .meklara-search-fields { display: grid !important; grid-template-columns: 1.3fr 1.2fr 1fr 1fr 1fr 1.2fr; gap: 0 !important; margin: 0 !important; }
.mk27-mapsearch-bar .meklara-field { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; margin: 0 !important; padding: 0.85rem 1.1rem; border-right: 1px solid rgba(29, 47, 62, 0.12); background: none !important; box-shadow: none !important; }
.mk27-mapsearch-bar .meklara-field-label { font-size: max(0.625rem, 10px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); white-space: nowrap; }
.mk27-mapsearch-bar .meklara-field select,
.mk27-mapsearch-bar .meklara-field input { width: 100%; min-width: 0; min-height: 30px; padding: 0 !important; border: 0 !important; background-color: transparent !important; box-shadow: none !important; font-size: 0.9375rem; color: var(--mk27-ink); }
.mk27-mapsearch-bar .meklara-search-actions { margin: 0 !important; padding: 0 !important; border: 0 !important; height: 100%; }
.mk27-mapsearch-bar .meklara-button { height: 100%; min-height: 64px; padding: 0 2.25rem; border: 0; border-radius: 0; background: var(--mk27-ink); color: #fff; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 1000px) {
	.mk27-mapsearch-bar .meklara-search-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk27-mapsearch-bar .meklara-field { border-bottom: 1px solid rgba(29, 47, 62, 0.12); }
	.mk27-mapsearch-bar .meklara-button { width: 100%; min-height: 52px; }
}
.mk27-mapsearch { margin: 0 !important; max-width: none !important; }
.mk27-mapsearch .mk-explore-head { padding: clamp(2.5rem, 5vw, 4rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) clamp(1.5rem, 3vw, 2.25rem); max-width: none; margin: 0; }
.mk27-mapsearch .area-map-label { pointer-events: auto !important; cursor: pointer; padding: 0.55rem 0.9rem; transition: background-color 200ms ease, color 200ms ease; }
.mk27-mapsearch .area-map-label:hover,
.mk27-mapsearch .area-map-label:focus-visible { background: var(--mk27-ink) !important; color: #fff !important; opacity: 1 !important; outline: none; }
.mk27-mapsearch .mk-dests { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem) !important; padding: clamp(2.5rem, 5vw, 4rem) max(clamp(1.25rem, 5vw, 3rem), calc((100% - var(--mk27-max, 1240px)) / 2)) clamp(3.5rem, 7vw, 5.5rem); max-width: none !important; margin: 0 !important; }
@media (max-width: 1000px) { .mk27-mapsearch .mk-dests { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mk27-mapsearch .mk-dest-media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.mk27-mapsearch .mk-dest-name { margin: 1rem 0 0.25rem !important; font-size: clamp(1.25rem, 1.6vw, 1.5rem) !important; font-weight: 400; }
.mk27-mapsearch .mk-dest-name a { color: var(--mk27-ink); text-decoration: none; }
.mk27-mapsearch .mk-dest-facts { margin: 0 !important; font-size: 0.875rem; color: rgba(29, 47, 62, 0.65); }
.mk27-mapsearch .mk-dest-facts::after { content: "  ·  View homes →"; color: var(--mk27-ink); }

/* New developments strip: the round arrows on the photographs, as Locations */
.mk-devstrip .mk27-rail-controls { display: none !important; }
.mk-devstrip .mk27-loc-wrap { position: relative; }
.mk-devstrip .mk27-loc-wrap .mk27-rail-round { top: 50%; }

/* Map search: the bar and the map run the full width of the page */
.mk27-mapsearch-bar, .mk27-mapsearch { width: 100vw; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; box-sizing: border-box; }
.mk27-mapsearch .mk-explore-head > * { max-width: 46rem; }
.mk27-mapsearch-bar { padding-inline: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1240px) / 2)) !important; }
.mk27-mapsearch .mk-explore-head, .mk27-mapsearch .mk-dests, .mk27-mapsearch figcaption { padding-left: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1240px) / 2)) !important; padding-right: max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1240px) / 2)) !important; }
.mk27-mapsearch .mk-explore-head { padding-top: clamp(1.5rem, 3vw, 2.5rem) !important; }

/* Phones: the closed filter sheet left a sliver and its shadow at the foot
   of the screen. Closed, it is now fully out of sight. */
@media (max-width: 1000px) {
	.meklara-filters-open[aria-expanded="false"] + .meklara-search { visibility: hidden; box-shadow: none; transition: transform 0.3s ease, visibility 0s 0.3s; }
}

/* New developments menu: where (all, Costa del Sol, Madrid), a fine line,
   then when (just launched, ready to move in). The first link is the strongest. */
.mk-header .mk-nav li.mk-menu-devs > .wp-block-navigation__submenu-container > li:first-child .wp-block-navigation-item__content { font-weight: 500; }
.mk-header .mk-nav li.mk-menu-devs > .wp-block-navigation__submenu-container > li:nth-child(4) { margin-top: 0.6rem !important; padding-top: 0.6rem; border-top: 1px solid rgba(29, 47, 62, 0.12); }
@media (min-width: 1001px) {
	.mk-header .mk-nav li.mk-mega--insights > .wp-block-navigation__submenu-container { grid-template-columns: repeat(3, minmax(0, 13rem)) !important; }
}

/* About MAS menu: four short links, a fine line, then Contact us */
.mk-header .mk-nav li.mk-menu-about > .wp-block-navigation__submenu-container > li:last-child { margin-top: 0.6rem !important; padding-top: 0.6rem; border-top: 1px solid rgba(29, 47, 62, 0.12); }
.mk-header .mk-nav li.mk-menu-about > .wp-block-navigation__submenu-container > li:last-child .wp-block-navigation-item__content { font-weight: 500; }

/* Card rows come to rest on a whole card */
.mk-devstrip-tiles > *, .mk27-markets-row > * { scroll-snap-align: start; }

/* ── Our marketing (sell) page ───────────────────────────────────────────── */
.mk27-sp { width: 100vw; max-width: 100vw !important; margin: 0 calc(50% - 50vw) !important; box-sizing: border-box; padding: clamp(4rem, 8vw, 6.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1240px) / 2)) !important; }
.mk27-sp > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.mk27-sp-k { margin: 0 0 1rem !important; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); }
.mk27-sp-h { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(2rem, 1.3rem + 2.2vw, 3.1rem); line-height: 1.08; letter-spacing: -0.01em; color: var(--mk27-ink); text-wrap: balance; }
.mk27-sp p:not(.mk27-sp-k) { font-size: 1.0625rem; line-height: 1.75; color: rgba(29, 47, 62, 0.82); }
.mk27-sp-link a { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 44px; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
/* intro */
.mk27-sp-intro { display: grid !important; grid-template-columns: 1.15fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.mk27-sp-intro .mk27-sp-h { font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem); }
.mk27-sp-intro-r > p:first-child { margin-top: 0; }
/* steps */
.mk27-sp-steps { background: #fff; border-block: 1px solid rgba(29, 47, 62, 0.08); }
.mk27-sp-list { list-style: none; margin: clamp(2.5rem, 5vw, 3.75rem) 0 0 !important; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; counter-reset: none; }
.mk27-sp-list li { padding: 1.75rem clamp(1rem, 2vw, 1.75rem) 0 0; border-top: 1px solid var(--mk27-ink); margin-right: clamp(1rem, 2vw, 1.75rem); }
.mk27-sp-n { display: block; font-family: var(--mas-face-display); font-size: 2.4rem; line-height: 1; color: var(--mk27-ink); }
.mk27-sp-list h3 { margin: 1.25rem 0 0.6rem; font-family: var(--mas-face-text); font-size: max(0.75rem, 12px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-sp-list p { margin: 0; font-size: 0.9375rem !important; line-height: 1.65 !important; }
/* splits */
.mk27-sp-split { display: grid !important; grid-template-columns: 1.1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.mk27-sp-split--rev .mk27-sp-photo { order: 2; }
.mk27-sp-split + .mk27-sp-split { padding-top: 0 !important; }
.mk27-sp-photo { margin: 0 !important; }
.mk27-sp-photo img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.mk27-sp-copy > * + * { margin-top: 1.5rem !important; }
.mk27-sp-ticks { list-style: none; margin: 2rem 0 0; padding: 0; }
.mk27-sp-ticks li { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(29, 47, 62, 0.12); font-size: 1.0625rem; color: var(--mk27-ink); }
.mk27-sp-ticks li::before { content: ""; flex: 0 0 auto; width: 18px; height: 1px; margin-top: 0.8em; background: var(--mk27-ink); }
/* brochure band */
.mk27-sp-band { background: #DFD6CD; }
.mk27-sp-band-in { display: flex !important; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 2rem; }
.mk27-sp-band-r { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.mk27-sp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 52px; padding: 0 1.75rem; background: var(--mk27-ink); color: #fff !important; border: 1px solid var(--mk27-ink); font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; text-decoration: none; transition: background-color 200ms ease, color 200ms ease; }
.mk27-sp-btn:hover { background: transparent; color: var(--mk27-ink) !important; }
.mk27-sp-btn--ghost { background: transparent; color: var(--mk27-ink) !important; }
.mk27-sp-btn--ghost:hover { background: var(--mk27-ink); color: #fff !important; }
@media (max-width: 1000px) {
	.mk27-sp-intro, .mk27-sp-split { grid-template-columns: minmax(0, 1fr); }
	.mk27-sp-split--rev .mk27-sp-photo { order: 0; }
	.mk27-sp-list { grid-template-columns: minmax(0, 1fr); }
	.mk27-sp-list li { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); column-gap: 1rem; margin-right: 0; padding: 1.5rem 0; }
	.mk27-sp-n { grid-row: span 2; font-size: 2rem; }
	.mk27-sp-list h3 { margin-top: 0.2rem; }
	.mk27-sp-photo img { aspect-ratio: 4 / 3; }
}
.mk27-sp-band + .mk-advisory, .mk27-sp-band + * { margin-top: 0 !important; }
.wp-block-post-content:has(.mk27-sp) { padding-top: 0 !important; }
.wp-block-post-content > .mk27-sp:first-child { margin-top: 0 !important; }

/* ── Property news page: an editorial news desk ──────────────────────────── */
.mk27-nw { width: 100vw; max-width: 100vw !important; margin: 0 calc(50% - 50vw) !important; box-sizing: border-box; padding: clamp(3.5rem, 7vw, 6rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1240px) / 2)) !important; }
.mk27-nw > *, .mk27-nw .wp-block-query, .mk27-nw .wp-block-post-template { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.mk27-nw .wp-block-post-template { list-style: none; padding: 0; margin-top: 0; margin-bottom: 0; }
.mk27-nw-k { margin: 0 0 1rem !important; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); }
.mk27-nw-h { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.8rem); line-height: 1.1; color: var(--mk27-ink); }
.mk27-nw-date { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); }
.mk27-nw a { color: var(--mk27-ink); text-decoration: none; }
/* lead + also */
.mk27-nw-top { display: grid !important; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); background: #DFD6CD; }
.mk27-nw-lead .wp-block-post { display: flex; flex-direction: column; gap: 1.25rem; }
.mk27-nw-lead .mk27-nw-k { margin-bottom: 0 !important; }
.mk27-nw-leadtitle { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(2.2rem, 1.2rem + 3.2vw, 4.2rem); line-height: 1.04; letter-spacing: -0.015em; text-wrap: balance; }
.mk27-nw-leadtitle a:hover, .mk27-nw-alsotitle a:hover, .mk27-nw-rowtitle a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.mk27-nw-leadex { margin: 0 !important; max-width: 40rem; }
.mk27-nw-leadex p { font-size: 1.125rem; line-height: 1.7; color: rgba(29, 47, 62, 0.85); margin: 0 0 1.5rem; }
.mk27-nw .wp-block-post-excerpt__more-link { display: inline-flex; align-items: center; min-height: 44px; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.mk27-nw .wp-block-post-excerpt__more-link::after { content: " →"; white-space: pre; }
.mk27-nw-also { border-left: 1px solid rgba(29, 47, 62, 0.2); padding-left: clamp(1.5rem, 3vw, 3rem); }
.mk27-nw-alsoq .wp-block-post { padding: 1.1rem 0; border-bottom: 1px solid rgba(29, 47, 62, 0.15); }
.mk27-nw-alsoq .wp-block-post:first-child { padding-top: 0.25rem; }
.mk27-nw-alsotitle { margin: 0.45rem 0 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: 1.3rem; line-height: 1.25; }
/* the list */
.mk27-nw-head { margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.mk27-nw-listq .wp-block-post { display: grid; grid-template-columns: 11rem minmax(0, 1fr) minmax(0, 1fr); gap: 0.5rem clamp(1.5rem, 3vw, 3rem); align-items: baseline; padding: 1.75rem 0; border-top: 1px solid rgba(29, 47, 62, 0.15); }
.mk27-nw-listq .wp-block-post:last-child { border-bottom: 1px solid rgba(29, 47, 62, 0.15); }
.mk27-nw-rowtitle { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.25rem, 1rem + 0.6vw, 1.6rem); line-height: 1.22; }
.mk27-nw-rowex { margin: 0 !important; }
.mk27-nw-rowex p { margin: 0; font-size: 0.9375rem; line-height: 1.65; color: rgba(29, 47, 62, 0.72); }
.mk27-nw .wp-block-query-pagination { margin-top: 2.5rem !important; font-size: max(0.75rem, 12px); letter-spacing: 0.16em; text-transform: uppercase; }
.mk27-nw .wp-block-query-pagination a, .mk27-nw .wp-block-query-pagination .current { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.mk27-nw .wp-block-query-pagination .current { background: var(--mk27-ink); color: #fff; }
/* data band */
.mk27-nw-data { background: var(--mk27-ink); }
.mk27-nw-data .mk27-nw-k { color: #DFD6CD; }
.mk27-nw-data .mk27-nw-h { color: #fff; }
.mk27-nw-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(2rem, 4vw, 3rem); background: rgba(255, 255, 255, 0.15); border: 1px solid rgba(255, 255, 255, 0.15); }
.mk27-nw-card { position: relative; display: flex; flex-direction: column; gap: 0.75rem; min-height: 13rem; padding: 2rem 2rem 4rem; background: var(--mk27-ink); color: #fff !important; transition: background-color 220ms ease; }
.mk27-nw-card:hover { background: #24394b; }
.mk27-nw-card-t { font-family: var(--mas-face-display); font-size: 1.6rem; line-height: 1.15; }
.mk27-nw-card-d { font-size: 0.9375rem; line-height: 1.6; color: rgba(255, 255, 255, 0.75); }
.mk27-nw-card-a { position: absolute; left: 2rem; bottom: 1.6rem; font-size: 1.1rem; transition: transform 220ms ease; }
.mk27-nw-card:hover .mk27-nw-card-a { transform: translateX(6px); }
@media (max-width: 1000px) {
	.mk27-nw-top { grid-template-columns: minmax(0, 1fr); }
	.mk27-nw-also { border-left: 0; padding-left: 0; border-top: 1px solid rgba(29, 47, 62, 0.2); padding-top: 2rem; }
	.mk27-nw-listq .wp-block-post { grid-template-columns: minmax(0, 1fr); }
	.mk27-nw-cards { grid-template-columns: minmax(0, 1fr); }
	.mk27-nw-card { min-height: 0; }
}
.wp-block-post-content > .mk27-nw:first-child { margin-top: 0 !important; }
.mk27-nw .wp-block-post > * { margin-block: 0 !important; }
.mk27-nw-listq .wp-block-post { align-items: start; }
.mk27-nw-listq .mk27-nw-date { padding-top: 0.45rem; }
.mk27-nw-lead .wp-block-post { gap: 1.25rem !important; }
.mk27-nw-alsoq .mk27-nw-alsotitle { margin-top: 0.45rem !important; }
@media (max-width: 1000px) { .mk27-nw-listq .wp-block-post { gap: 0.6rem; } .mk27-nw-listq .mk27-nw-date { padding-top: 0; } }
main:has(.mk27-nw), .wp-block-post-content:has(.mk27-nw) { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-post-content > .mk27-nw:last-child { margin-bottom: 0 !important; }

/* Property news: photographs */
.mk27-nw .wp-block-post-featured-image { margin: 0 !important; overflow: hidden; background: rgba(29, 47, 62, 0.08); }
.mk27-nw .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 900ms cubic-bezier(.2, .7, .2, 1); }
.mk27-nw .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.mk27-nw-leadimg { margin-bottom: 0.75rem !important; }
.mk27-nw-leadtitle { font-size: clamp(2rem, 1.2rem + 2.4vw, 3.4rem); }
.mk27-nw-alsoq .wp-block-post { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 1.1rem; align-items: center; }
.mk27-nw-thumb { width: 96px; }
.mk27-nw-alsotitle { font-size: 1.15rem; }
.mk27-nw-listq .wp-block-post { grid-template-columns: 15rem minmax(0, 1fr) minmax(0, 0.9fr); grid-template-areas: "img date ex" "img title ex"; grid-template-rows: auto 1fr; row-gap: 0.6rem; }
.mk27-nw-rowimg { grid-area: img; }
.mk27-nw-listq .mk27-nw-date { grid-area: date; padding-top: 0.2rem; }
.mk27-nw-rowtitle { grid-area: title; }
.mk27-nw-rowex { grid-area: ex; padding-top: 0.2rem; }
@media (max-width: 1000px) {
	.mk27-nw-listq .wp-block-post { grid-template-columns: 7.5rem minmax(0, 1fr); grid-template-areas: "img date" "img title" "ex ex"; }
	.mk27-nw-rowex { padding-top: 0.4rem; }
}
@media (max-width: 520px) {
	.mk27-nw-listq .wp-block-post { grid-template-columns: minmax(0, 1fr); grid-template-areas: "img" "date" "title" "ex"; }
	.mk27-nw-rowimg img { aspect-ratio: 16 / 10 !important; }
}

/* ── Costa del Sol market, simplified ─────────────────────────────────────── */
.mk27-cm-verdict { margin: 1.75rem 0 2.5rem !important; font-family: var(--mas-face-display); font-size: clamp(1.4rem, 1.1rem + 1vw, 2rem); line-height: 1.25; color: var(--mk27-ink); max-width: 36ch; }
.mk27-cm-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mk27-cm-tiles .mk27-mr-tile-v .mk27-down, .mk27-cm-tiles .mk27-mr-tile-v .mk27-up { color: inherit; }
.mk27-cm-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(29, 47, 62, 0.12); border: 1px solid rgba(29, 47, 62, 0.12); }
.mk27-cm-card { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.5rem 1.4rem 1.25rem; background: var(--mk27-ivory); color: var(--mk27-ink) !important; text-decoration: none; transition: background-color 220ms ease; }
.mk27-cm-card:hover { background: #fff; }
.mk27-cm-name { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; }
.mk27-cm-big { font-family: var(--mas-face-display); font-size: clamp(1.7rem, 1.3rem + 0.9vw, 2.2rem); line-height: 1.05; }
.mk27-cm-big span { font-size: 0.5em; margin-left: 0.15em; color: rgba(29, 47, 62, 0.6); }
.mk27-cm-mid { font-size: 0.8125rem; color: rgba(29, 47, 62, 0.75); }
.mk27-cm-chart { display: block; margin: 0.5rem 0 0.25rem; min-height: 6.5rem; }
.mk27-cm-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.mk27-cm-chart .g { stroke: rgba(29, 47, 62, 0.1); stroke-width: 1; }
.mk27-cm-chart .ax { font-family: var(--mas-face-text); font-size: 11px; fill: rgba(29, 47, 62, 0.5); text-anchor: end; }
.mk27-cm-chart .ax-x { text-anchor: middle; }
.mk27-cm-chart .l { fill: none; stroke: var(--mk27-ink); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.mk27-cm-chart .a { fill: rgba(29, 47, 62, 0.07); }
.mk27-cm-chart .end { fill: var(--mk27-ink); stroke: #fff; stroke-width: 2; }
.mk27-cm-chart .hit { fill: transparent; }
.mk27-cm-nochart { display: flex; align-items: center; height: 100%; min-height: 6.5rem; margin: 0; font-size: 0.8125rem; font-style: italic; color: rgba(29, 47, 62, 0.55); }
.mk27-cm-foot { margin-top: auto; padding-top: 0.75rem; border-top: 1px solid rgba(29, 47, 62, 0.12); font-size: 0.8125rem; color: rgba(29, 47, 62, 0.75); }
.mk27-cm-means { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.mk27-cm-means > div { padding-top: 1.25rem; border-top: 1px solid var(--mk27-ink); }
.mk27-cm-who { margin: 0 0 0.75rem !important; font-family: var(--mas-face-display); font-size: 1.6rem; color: var(--mk27-ink); }
.mk27-cm-means p:not(.mk27-cm-who) { margin: 0; font-size: 1rem; line-height: 1.7; color: rgba(29, 47, 62, 0.82); }
.mk27-cm-more { margin: 0 0 2rem; border-block: 1px solid rgba(29, 47, 62, 0.15); }
.mk27-cm-more summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-size: max(0.75rem, 12px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-cm-more summary::-webkit-details-marker { display: none; }
.mk27-cm-more summary::after { content: "+"; font-size: 1.4rem; font-weight: 300; letter-spacing: 0; }
.mk27-cm-more[open] summary::after { content: "–"; }
.mk27-cm-more .mk27-mr-tablewrap { padding-bottom: 1.5rem; }
@media (max-width: 1100px) { .mk27-cm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 780px) { .mk27-cm-tiles, .mk27-cm-means { grid-template-columns: minmax(0, 1fr) !important; } }
@media (max-width: 520px) { .mk27-cm-cards { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 780px) {
	.mk27-cm-tiles .mk27-mr-tile { border: 0 !important; border-bottom: 1px solid rgba(29, 47, 62, 0.12) !important; padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 520px) {
	.mk27-cm-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk27-cm-card { padding: 1.1rem 1rem; }
	.mk27-cm-chart { display: none; }
	.mk27-cm-big { font-size: 1.5rem; }
	.mk27-cm-name { letter-spacing: 0.14em; }
}

/* ── Development pages: investor snapshot ─────────────────────────────────── */
.mk27-inv .mk-metrics { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; margin: 2.25rem 0 0 !important; border-top: 1px solid rgba(255, 255, 255, 0.22); }
.mk27-inv .meklara-metric { padding: 1.5rem 1.5rem 1.5rem 0 !important; border: 0 !important; }
.mk27-inv .meklara-metric + .meklara-metric { padding-left: 1.5rem !important; border-left: 1px solid rgba(255, 255, 255, 0.14) !important; }
.mk27-inv .meklara-metric:nth-child(4n + 1) { padding-left: 0 !important; border-left: 0 !important; }
.mk27-inv .meklara-metric-value { font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.3rem) !important; line-height: 1.1; color: #fff; }
.mk27-inv .meklara-metric-value sup a { color: #DFD6CD; font-size: 0.45em; text-decoration: none; }
.mk27-inv .meklara-metric-label { display: block; margin-top: 0.6rem; font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6) !important; }
.mk27-inv .mk27-inv-dup, .mk27-inv .mk27-inv-askgrp { display: none !important; }
.mk27-inv .mk-investor-sub { margin: 3rem 0 0 !important; font-size: max(0.6875rem, 11px) !important; font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #DFD6CD !important; }
.mk27-inv .mk-investor-sub + .mk-metrics { margin-top: 1rem !important; }
.mk27-inv .mk-investor-sub + .mk-metrics .meklara-metric-value { font-size: clamp(1.3rem, 1.1rem + 0.6vw, 1.7rem) !important; color: rgba(255, 255, 255, 0.92); }
/* price position line */
.mk27-pos { margin: 3rem 0 0.5rem; padding: 2rem clamp(1.25rem, 3vw, 2.5rem) 1.75rem; border: 1px solid rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.03); }
.mk27-pos-k { margin: 0 0 3.75rem !important; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #DFD6CD; }
.mk27-pos-k span { color: rgba(255, 255, 255, 0.5); letter-spacing: 0.18em; }
.mk27-pos-bar { position: relative; height: 6px; }
.mk27-pos-range { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(223, 214, 205, 0.35), #DFD6CD); }
.mk27-pos-mark { position: absolute; top: 50%; width: 16px; height: 16px; margin-left: -8px; transform: translateY(-50%); border-radius: 50%; background: #fff; box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.15); }
.mk27-pos-mark > span { position: absolute; bottom: calc(100% + 14px); left: 50%; transform: translateX(-50%); white-space: nowrap; text-align: center; font-size: 0.75rem; line-height: 1.35; color: rgba(255, 255, 255, 0.75); }
.mk27-pos-mark strong { font-family: var(--mas-face-display); font-weight: 400; font-size: 1.15rem; color: #fff; }
.mk27-pos-ends { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.1rem; font-size: 0.8125rem; color: rgba(255, 255, 255, 0.6); }
.mk27-pos-ends strong { display: block; font-family: var(--mas-face-display); font-weight: 400; font-size: 1.15rem; color: #fff; }
.mk27-pos-ends span:last-child { text-align: right; }
/* notes fold away */
.mk27-inv-notes { margin-top: 2.5rem; border-block: 1px solid rgba(255, 255, 255, 0.16); }
.mk27-inv-notes summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255, 255, 255, 0.85); }
.mk27-inv-notes summary::-webkit-details-marker { display: none; }
.mk27-inv-notes summary::after { content: "+"; font-size: 1.4rem; font-weight: 300; }
.mk27-inv-notes[open] summary::after { content: "–"; }
.mk27-inv-notes > :not(summary) { margin-bottom: 1.25rem !important; }
.mk27-inv-notes .mk-investor-sub { margin-top: 0.5rem !important; }
@media (max-width: 780px) {
	.mk27-inv .mk-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.mk27-inv .meklara-metric:nth-child(odd) { padding-left: 0 !important; border-left: 0 !important; }
	.mk27-inv .meklara-metric:nth-child(even) { padding-left: 1.25rem !important; border-left: 1px solid rgba(255, 255, 255, 0.14) !important; }
	.mk27-inv .meklara-metric { border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important; }
}
/* the photograph pair: both frames the same height, no empty band under either */
body.single-meklara_development .mk-pair { align-items: start !important; }
body.single-meklara_development .mk-pair-item { height: clamp(220px, 28vw, 380px) !important; min-height: 0 !important; aspect-ratio: auto !important; overflow: hidden; background: none !important; }
@media (max-width: 599px) { body.single-meklara_development .mk-pair-item { height: 180px !important; } }

/* ── Lifestyle page: a bright guide to living here ────────────────────────── */
.mk27-lf { width: 100vw; max-width: 100vw !important; margin: 0 calc(50% - 50vw) !important; box-sizing: border-box; padding: clamp(4rem, 8vw, 6.5rem) max(clamp(1.25rem, 5vw, 3rem), calc((100vw - 1240px) / 2)) !important; background: #fff; }
.mk27-lf > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }
.mk27-lf-k { margin: 0 0 1rem; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #9a7b5b; }
.mk27-lf-h { margin: 0; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(2rem, 1.3rem + 2.2vw, 3.2rem); line-height: 1.08; color: var(--mk27-ink); text-wrap: balance; }
.mk27-lf-lede { margin: 1.25rem 0 0; max-width: 40rem; font-size: 1.125rem; line-height: 1.7; color: rgba(29, 47, 62, 0.8); }
.mk27-lf-anchor { position: relative; top: -120px; }
/* topic tiles */
.mk27-lf-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.mk27-lf-tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(14rem, 22vw, 19rem); padding: 1.5rem; overflow: hidden; color: #fff !important; text-decoration: none; background: var(--mk27-ink); }
.mk27-lf-tile-img { position: absolute; inset: 0; margin: 0; }
.mk27-lf-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.2, .7, .2, 1); }
.mk27-lf-tile:hover .mk27-lf-tile-img img { transform: scale(1.05); }
.mk27-lf-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 31, 42, 0) 35%, rgba(18, 31, 42, 0.72)); }
.mk27-lf-tile > span { position: relative; z-index: 1; }
.mk27-lf-tile-t { font-family: var(--mas-face-display); font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem); line-height: 1.1; }
.mk27-lf-tile-d { margin-top: 0.35rem; font-size: 0.875rem; color: rgba(255, 255, 255, 0.85); }
.mk27-lf-tile--text { background: #DFD6CD; color: var(--mk27-ink) !important; }
.mk27-lf-tile--text::after { display: none; }
.mk27-lf-tile--text .mk27-lf-tile-d { color: rgba(29, 47, 62, 0.75); }
/* schools */
.mk27-lf-schools { background: #DFD6CD; }
.mk27-lf-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(2.5rem, 5vw, 3.25rem); }
.mk27-lf-sub { margin: 0 0 0.5rem; font-family: var(--mas-face-display); font-size: 1.5rem; color: var(--mk27-ink); }
.mk27-lf-list { list-style: none; margin: 0; padding: 0; }
.mk27-lf-list li { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(29, 47, 62, 0.18); }
.mk27-lf-sn { font-size: 1.0625rem; color: var(--mk27-ink); }
.mk27-lf-sp { font-size: 0.875rem; color: rgba(29, 47, 62, 0.65); text-align: right; }
.mk27-lf-more { margin: 2rem 0 0; }
.mk27-lf-more a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
/* splits */
.mk27-lf-split { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.mk27-lf-split:nth-of-type(odd) { background: var(--mk27-ivory); }
.mk27-lf-split--rev .mk27-lf-photo { order: 2; }
.mk27-lf-split .mk27-lf-anchor { position: absolute; }
.mk27-lf-photo { margin: 0; overflow: hidden; }
.mk27-lf-photo img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; display: block; }
.mk27-lf-txt { margin: 1.25rem 0 0; font-size: 1.0625rem; line-height: 1.75; color: rgba(29, 47, 62, 0.82); }
.mk27-lf-ticks { list-style: none; margin: 1.75rem 0 0; padding: 0; }
.mk27-lf-ticks li { display: flex; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid rgba(29, 47, 62, 0.12); font-size: 1rem; color: var(--mk27-ink); }
.mk27-lf-ticks li::before { content: ""; flex: 0 0 auto; width: 18px; height: 1px; margin-top: 0.75em; background: #9a7b5b; }
@media (max-width: 1000px) {
	.mk27-lf-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mk27-lf-split { grid-template-columns: minmax(0, 1fr); }
	.mk27-lf-split--rev .mk27-lf-photo { order: 0; }
}
@media (max-width: 640px) {
	.mk27-lf-tiles { grid-template-columns: minmax(0, 1fr); }
	.mk27-lf-tile { min-height: 12rem; }
	.mk27-lf-cols { grid-template-columns: minmax(0, 1fr); }
	.mk27-lf-list li { flex-direction: column; gap: 0.2rem; }
	.mk27-lf-sp { text-align: left; }
}
.wp-block-post-content > .mk27-lf:first-child { margin-top: 0 !important; }
.wp-block-post-content:has(.mk27-lf) { padding-top: 0 !important; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
main:has(.mk27-lf), main:has(.mk27-sp) { padding-top: 0 !important; padding-bottom: 0 !important; }
.wp-block-post-content > .mk27-lf:last-child, .wp-block-post-content > .mk-advisory:last-child { margin-bottom: 0 !important; }

/* Lifestyle: the switch and the two halves */
.mk27-lf-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: clamp(2rem, 4vw, 3rem); }
.mk27-lf-sw { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(14rem, 24vw, 20rem); padding: clamp(1.25rem, 2.5vw, 2rem); overflow: hidden; color: #fff !important; text-decoration: none; background: var(--mk27-ink); outline-offset: 4px; }
.mk27-lf-sw-img { position: absolute; inset: 0; margin: 0; }
.mk27-lf-sw-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms cubic-bezier(.2, .7, .2, 1), filter 300ms ease; }
.mk27-lf-sw::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 31, 42, 0.05) 30%, rgba(18, 31, 42, 0.75)); }
.mk27-lf-sw > span { position: relative; z-index: 1; }
.mk27-lf-sw-t { font-family: var(--mas-face-display); font-size: clamp(1.9rem, 1.4rem + 1.6vw, 2.9rem); line-height: 1.05; }
.mk27-lf-sw-d { margin-top: 0.4rem; font-size: 0.9375rem; color: rgba(255, 255, 255, 0.88); }
.mk27-lf-sw:hover .mk27-lf-sw-img img { transform: scale(1.04); }
.mk27-lf-sw > .mk27-lf-sw-t::after { content: ""; display: block; width: 0; height: 2px; margin-top: 0.6rem; background: #DFD6CD; transition: width 300ms ease; }
.mk27-lf-sw.is-on > .mk27-lf-sw-t::after { width: 3rem; }
.mk27-lf-js .mk27-lf-sw:not(.is-on) .mk27-lf-sw-img img { filter: grayscale(0.55) brightness(0.85); }
.mk27-lf-part { margin: 0 !important; max-width: none !important; }
.mk27-lf-part[hidden] { display: none !important; }
/* chapter opening */
.mk27-lf-chap { position: relative; display: flex; align-items: flex-end; min-height: clamp(22rem, 46vw, 34rem); padding-top: 0 !important; padding-bottom: clamp(2.5rem, 5vw, 4rem) !important; overflow: hidden; background: var(--mk27-ink); color: #fff; }
.mk27-lf-chap-img { position: absolute; inset: 0; margin: 0; }
.mk27-lf-chap-img img { width: 100%; height: 100%; object-fit: cover; }
.mk27-lf-chap::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18, 31, 42, 0.1) 30%, rgba(18, 31, 42, 0.7)); }
.mk27-lf-chap-copy { position: relative; z-index: 1; max-width: 40rem; }
.mk27-lf-chap .mk27-lf-k { color: #DFD6CD; }
.mk27-lf-chap-h { margin: 0; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(2.6rem, 1.6rem + 3.6vw, 4.6rem); line-height: 1; color: #fff; }
.mk27-lf-chap-copy > p:last-child { margin: 1rem 0 0; font-size: 1.125rem; line-height: 1.6; color: rgba(255, 255, 255, 0.9); }
.mk27-lf-tilesec { padding-top: clamp(2rem, 4vw, 3rem) !important; padding-bottom: clamp(2rem, 4vw, 3rem) !important; }
.mk27-lf-tilesec .mk27-lf-tiles { margin-top: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.mk27-lf-tilesec .mk27-lf-tile { min-height: clamp(11rem, 16vw, 14rem); padding: 1.1rem; }
.mk27-lf-tilesec .mk27-lf-tile-t { font-size: clamp(1.2rem, 1rem + 0.6vw, 1.5rem); }
.mk27-lf-tilesec .mk27-lf-tile-d { font-size: 0.8125rem; }
.mk27-lf-list--cols { columns: 2; column-gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(2rem, 4vw, 2.75rem) !important; }
.mk27-lf-list--cols li { break-inside: avoid; }
@media (max-width: 1000px) { .mk27-lf-tilesec .mk27-lf-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.mk27-lf-switch { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.6rem; }
	.mk27-lf-sw { min-height: 11rem; padding: 1rem; }
	.mk27-lf-sw-t { font-size: 1.5rem; }
	.mk27-lf-sw-d { font-size: 0.75rem; }
	.mk27-lf-tilesec .mk27-lf-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
	.mk27-lf-tilesec .mk27-lf-tile { min-height: 9rem; }
	.mk27-lf-tilesec .mk27-lf-tile-d { display: none; }
	.mk27-lf-list--cols { columns: 1; }
}
/* Insights menu: news, the three market pages, a fine line, then Lifestyle */
.mk-header .mk-nav li.mk-menu-ins > .wp-block-navigation__submenu-container > li:first-child { margin-bottom: 0.6rem !important; padding-bottom: 0.6rem; border-bottom: 1px solid rgba(29, 47, 62, 0.12); }

/* The logo once the page scrolls: a solid dark square with white lettering,
   small enough to sit inside the condensed bar, like the Contact us button. */
.mk-header .mk-logo a { transition: width 320ms var(--mas-ease), height 320ms var(--mas-ease), background-color 320ms var(--mas-ease); }
.mk-header.is-scrolled .mk-logo a,
.mk-header:not(.mk-header--over) .mk-logo a {
	width: 44px !important;
	height: 44px !important;
	background: var(--mk27-ink);
	color: #fff !important;
	display: grid !important;
	place-items: center;
}
.mk-header.is-scrolled .mk-logo-mark,
.mk-header:not(.mk-header--over) .mk-logo-mark {
	width: 30px !important;
	height: 16px !important;
	-webkit-mask-image: url("assets/logo/mas-property-lettering-white.png");
	mask-image: url("assets/logo/mas-property-lettering-white.png");
	-webkit-mask-size: contain;
	mask-size: contain;
	background: #fff;
}
.mk-header.is-scrolled .mk-logo a:hover { background: #000; }
/* The scrolled logo is Mas Property's own black logo file, shown exactly as supplied. */
.mk-header.is-scrolled .mk-logo a,
.mk-header:not(.mk-header--over) .mk-logo a {
	width: 46px !important;
	height: 46px !important;
	background: #000 url("assets/logo/mas-property-logo-black.png") center / 100% 100% no-repeat !important;
}
.mk-header.is-scrolled .mk-logo-mark,
.mk-header:not(.mk-header--over) .mk-logo-mark { visibility: hidden; }
.mk-header.is-scrolled .mk-logo a:hover { opacity: 0.85; background-color: #000 !important; }

/* New developments search: the location list, readable everywhere */
.mk27-devsearch-f select option { color: #1D2F3E; background: #fff; }
.mk27-devsearch .mk27-dd-btn { min-height: 28px; padding: 0 !important; background: transparent !important; border: 0 !important; font-size: 1rem !important; color: var(--mk27-ink) !important; text-align: left; width: 100%; }
.mk27-devsearch .mk27-dd-list { top: calc(100% + 22px); left: -1.5rem; right: -1.5rem; z-index: 30; }
.mk27-devsearch-f:has(.mk27-dd) { position: relative; }
.mk27-devsearch .mk27-dd-value { font-size: 1rem !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--mk27-ink) !important; }

/* Prices: Gotham Book. Gotham has no euro sign, so the € comes from Inter at
   the matching weight; at Book the two read as one figure. */
.meklara-card-price,
.mk27-featured .meklara-card-price,
.meklara-card .meklara-card-price,
.mk-listing-price,
.mk-dataline dd, .mk-dev-card .mk-dataline dd { font-weight: 400 !important; }
.meklara-card-price,
.mk27-featured .meklara-card-price,
.meklara-card .meklara-card-price,
.mk-listing-price,
.mk-dataline dd, .mk-dev-card .mk-dataline dd { font-variation-settings: "wght" 330; }

/* ── Our areas: two markets, compact ──────────────────────────────────────── */
.mk27-oa-intro { padding-bottom: clamp(2rem, 4vw, 3rem) !important; }
.mk27-oa-sec { padding-top: clamp(2.5rem, 5vw, 4rem) !important; background: var(--mk27-ivory); }
.mk27-oa-head { margin-bottom: clamp(1.75rem, 3.5vw, 2.5rem); }
.mk27-oa-towns { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 21rem), 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
.mk27-oa-town { display: flex; flex-direction: column; background: #fff; }
.mk27-oa-town-media { display: block; overflow: hidden; }
.mk27-oa-town-img { margin: 0; }
.mk27-oa-town-img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; transition: transform 900ms cubic-bezier(.2, .7, .2, 1); }
.mk27-oa-town:hover .mk27-oa-town-img img, .mk27-oa-madrid:hover .mk27-oa-town-img img { transform: scale(1.04); }
.mk27-oa-town-body { display: flex; flex-direction: column; flex: 1; padding: 1.4rem 1.5rem 1.6rem; }
.mk27-oa-town-h { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: 1.9rem; line-height: 1.1; }
.mk27-oa-town-h a, .mk27-oa-town-links a { color: var(--mk27-ink); text-decoration: none; }
.mk27-oa-town-line { margin: 0.5rem 0 0 !important; font-size: 0.9375rem; line-height: 1.6; color: rgba(29, 47, 62, 0.75); }
.mk27-oa-town-links { display: flex; gap: 1.5rem; margin: 1rem 0 0 !important; }
.mk27-oa-town-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.mk27-oa-chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid rgba(29, 47, 62, 0.1); }
.mk27-oa-chips a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 0.85rem; border: 1px solid rgba(29, 47, 62, 0.18); font-size: 0.8125rem; color: var(--mk27-ink); text-decoration: none; transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; }
.mk27-oa-chips a:hover { background: var(--mk27-ink); border-color: var(--mk27-ink); color: #fff; }
.mk27-oa-more { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; margin: clamp(1.75rem, 3vw, 2.5rem) 0 0 !important; }
.mk27-oa-more span, .mk27-oa-datal span, .mk27-oa-sub { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); }
.mk27-oa-more a, .mk27-oa-datal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid rgba(29, 47, 62, 0.3); }
.mk27-oa-madrid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); background: #fff; }
.mk27-oa-madrid .mk27-oa-town-img, .mk27-oa-madrid .mk27-oa-town-img img { height: 100%; }
.mk27-oa-madrid .mk27-oa-town-img img { aspect-ratio: auto; min-height: 22rem; }
.mk27-oa-madrid-body { padding: clamp(1.5rem, 3vw, 2.5rem); }
.mk27-oa-sub { margin: 1.5rem 0 0 !important; }
.mk27-oa-sub + .mk27-oa-chips { margin-top: 0.6rem; padding-top: 0; border-top: 0; }
.mk27-oa-data { padding-top: clamp(2rem, 4vw, 3rem) !important; padding-bottom: clamp(2rem, 4vw, 3rem) !important; background: #fff; border-top: 1px solid rgba(29, 47, 62, 0.08); }
.mk27-oa-datal { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.75rem; margin: 0 !important; }
@media (max-width: 800px) {
	.mk27-oa-madrid { grid-template-columns: minmax(0, 1fr); }
	.mk27-oa-madrid .mk27-oa-town-img img { min-height: 0; aspect-ratio: 16 / 10; }
}

/* ── About page ──────────────────────────────────────────────────────────── */
.mk27-ab-intro { display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.mk27-ab-intro .mk27-lf-h { font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem); }
.mk27-ab-intro-r p:not(.mk27-lf-more) { margin: 0; font-size: 1.125rem; line-height: 1.75; color: rgba(29, 47, 62, 0.82); }
.mk27-ab-quote { background: #DFD6CD; }
.mk27-ab-q { margin: 0 auto; max-width: 54rem; text-align: center; }
.mk27-ab-q blockquote { margin: 0; padding: 0; border: 0; }
.mk27-ab-q blockquote p { margin: 0; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.3; color: var(--mk27-ink); text-wrap: balance; }
.mk27-ab-q figcaption { display: flex; flex-direction: column; gap: 0.3rem; margin-top: 2rem; }
.mk27-ab-q figcaption strong { font-weight: 500; font-size: max(0.75rem, 12px); letter-spacing: 0.22em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-ab-q figcaption span { font-size: 0.875rem; color: rgba(29, 47, 62, 0.7); }
.mk27-ab-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); margin-top: clamp(2rem, 4vw, 3rem); }
.mk27-ab-grid > div { padding-top: 1.5rem; border-top: 1px solid var(--mk27-ink); }
.mk27-ab-grid h3 { margin: 1rem 0 0.5rem; font-family: var(--mas-face-display); font-weight: 400; font-size: 1.5rem; color: var(--mk27-ink); }
.mk27-ab-grid p { margin: 0; font-size: 1rem; line-height: 1.7; color: rgba(29, 47, 62, 0.8); }
.mk27-ab-story { display: grid !important; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; background: var(--mk27-ivory); }
.mk27-ab-ph { margin: 0; overflow: hidden; }
.mk27-ab-ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mk27-ab-story-ph img { aspect-ratio: 4 / 3; }
.mk27-ab-story-copy p:not(.mk27-lf-k) { margin: 1.25rem 0 0; font-size: 1.0625rem; line-height: 1.75; color: rgba(29, 47, 62, 0.82); }
.mk27-ab-office { display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.mk27-ab-mosaic { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 0.75rem; height: clamp(22rem, 36vw, 30rem); }
.mk27-ab-mosaic .mk27-ab-ph:first-child { grid-row: span 2; }
.mk27-ab-visit address { margin: 1.5rem 0 0; font-style: normal; font-size: 1.0625rem; line-height: 1.7; color: var(--mk27-ink); }
.mk27-ab-reach { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; margin: 1rem 0 0; }
.mk27-ab-reach a { display: inline-flex; align-items: center; min-height: 44px; font-size: 1rem; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid rgba(29, 47, 62, 0.3); }
.mk27-ab-more { padding-top: clamp(1.75rem, 3vw, 2.5rem) !important; padding-bottom: clamp(1.75rem, 3vw, 2.5rem) !important; border-top: 1px solid rgba(29, 47, 62, 0.08); }
@media (max-width: 900px) {
	.mk27-ab-intro, .mk27-ab-story, .mk27-ab-office { grid-template-columns: minmax(0, 1fr); }
	.mk27-ab-grid { grid-template-columns: minmax(0, 1fr); }
	.mk27-ab-mosaic { height: 20rem; }
}
main:has(.mk27-ab-intro) { padding-top: 0 !important; }
.mk-about .mk27-lf-h, .mk-prose .mk27-lf-h { font-family: var(--mas-face-display) !important; font-weight: 400 !important; font-size: clamp(2rem, 1.3rem + 2.2vw, 3.2rem) !important; line-height: 1.08 !important; margin: 0 !important; letter-spacing: 0 !important; }
.mk-about .mk27-ab-intro .mk27-lf-h { font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem) !important; }
.mk-about .mk27-lf-k { font-size: max(0.6875rem, 11px) !important; margin: 0 0 1rem !important; }
.mk-about .mk27-ab-grid h3 { font-size: 1.5rem !important; font-weight: 400 !important; }
.mk27-ab-mosaic > .mk27-ab-ph { height: 100%; min-height: 0; }
.mk27-ab-mosaic > .mk27-ab-ph img { height: 100% !important; }
.mk-about .mk27-ab-mosaic figure { margin: 0 !important; }

/* Homepage Locations: a deeper, darker fade under the names */
.mk27-locations .mk27-market-body {
	padding-top: clamp(7rem, 12vw, 10rem) !important;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.62) 32%, rgba(0, 0, 0, 0.28) 64%, rgba(0, 0, 0, 0) 100%) !important;
}

/* "View properties": white, and it lifts and grows a little under the pointer */
.mk27-market-go a { color: #fff !important; transform-origin: left center; transition: transform 260ms cubic-bezier(.2, .7, .2, 1), letter-spacing 260ms ease; }
.mk27-market-go a span { display: inline-block; transition: transform 260ms cubic-bezier(.2, .7, .2, 1); }
.mk27-market-go a:hover, .mk27-market-go a:focus-visible { color: #fff !important; transform: translateY(-3px) scale(1.12); }
.mk27-market-go a:hover span, .mk27-market-go a:focus-visible span { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) { .mk27-market-go a, .mk27-market-go a span { transition: none; } }
/* Locations: the fade is the band's own house blue */
.mk27-locations .mk27-market-body {
	background: linear-gradient(to top, rgba(29, 47, 62, 0.95) 0%, rgba(29, 47, 62, 0.7) 32%, rgba(29, 47, 62, 0.3) 64%, rgba(29, 47, 62, 0) 100%) !important;
}
/* Locations: back to a black fade, softer */
.mk27-locations .mk27-market-body {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.66) 0%, rgba(0, 0, 0, 0.42) 32%, rgba(0, 0, 0, 0.16) 64%, rgba(0, 0, 0, 0) 100%) !important;
}

/* ── Contact page ────────────────────────────────────────────────────────── */
.mk27-ct-intro .mk27-lf-h { font-size: clamp(2.2rem, 1.4rem + 2.6vw, 3.6rem); }
.mk27-ct-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: clamp(2.5rem, 5vw, 3.5rem); background: rgba(29, 47, 62, 0.14); border: 1px solid rgba(29, 47, 62, 0.14); }
.mk27-ct-way { display: flex; flex-direction: column; gap: 0.6rem; padding: clamp(1.5rem, 3vw, 2.25rem); background: #fff; color: var(--mk27-ink) !important; text-decoration: none; transition: background-color 220ms ease, color 220ms ease; }
.mk27-ct-way:hover { background: var(--mk27-ink); color: #fff !important; }
.mk27-ct-way-k { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; color: #9a7b5b; }
.mk27-ct-way:hover .mk27-ct-way-k { color: #DFD6CD; }
.mk27-ct-way-v { font-family: var(--mas-face-display); font-size: clamp(1.4rem, 1.1rem + 0.9vw, 1.9rem); line-height: 1.15; overflow-wrap: anywhere; }
.mk27-ct-way-d { font-size: 0.875rem; opacity: 0.7; }
.mk27-ct-visit { display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; background: var(--mk27-ivory); }
.mk27-ct-visit .mk27-lf-anchor { position: absolute; }
.mk27-ct-ph img { aspect-ratio: 4 / 3; }
.mk27-ct-visit address { margin: 1.5rem 0 0; font-style: normal; font-size: 1.125rem; line-height: 1.75; color: var(--mk27-ink); }
@media (max-width: 900px) {
	.mk27-ct-ways, .mk27-ct-visit { grid-template-columns: minmax(0, 1fr); }
}
.wp-block-post-content > .mk27-ct-intro:first-child { margin-top: 0 !important; }
main:has(.mk27-ct-intro) { padding-top: 0 !important; }
.mk27-ct-way-v { font-size: clamp(1.25rem, 0.95rem + 0.75vw, 1.6rem) !important; overflow-wrap: normal; white-space: nowrap; }
@media (max-width: 360px) { .mk27-ct-way-v { white-space: normal; overflow-wrap: anywhere; } }
@media (max-width: 1100px) { .mk27-ct-ways { grid-template-columns: minmax(0, 1fr); } }
/* Location list: group headings */
.mk27-dd-list li.mk27-dd-group { padding-top: 0.9rem !important; padding-bottom: 0.35rem !important; font-size: max(0.625rem, 10px) !important; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: #9a7b5b !important; cursor: default; background: none !important; pointer-events: none; }
.mk27-dd-list li.mk27-dd-group::after { display: none !important; }
.mk27-dd-list li.mk27-dd-group + li { color: var(--mk27-ink) !important; }

/* Footer, simplest: three short columns */
.mk27-footer-cols { grid-template-columns: repeat(3, minmax(0, 14rem)) !important; gap: 2rem clamp(2rem, 6vw, 6rem) !important; }
@media (max-width: 600px) { .mk27-footer-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; } .mk27-footer-reachcol { grid-column: 1 / -1; } }
.mk27-footer .mk-footer-list a, .mk27-footer .mk-footer-list span { font-size: 0.9375rem; }
.mk27-footer-reachcol .mk-footer-list span { color: rgba(255, 255, 255, 0.6); }

/* ── Top menus: one calm open and close, driven by .mk-open (assets/site.js) ── */
@media (min-width: 1001px) {
	.mk-header.mk-calm-menus .mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translateY(-6px);
		pointer-events: none;
		transition: opacity 320ms cubic-bezier(.2, .7, .2, 1), transform 420ms cubic-bezier(.2, .7, .2, 1), visibility 0s linear 420ms !important;
	}
	.mk-header.mk-calm-menus .mk-nav .wp-block-navigation__container > .has-child.mk-open > .wp-block-navigation__submenu-container {
		opacity: 1 !important;
		visibility: visible !important;
		transform: none;
		pointer-events: auto;
		width: auto !important;
		height: auto !important;
		overflow: visible;
		z-index: 30;
		transition: opacity 320ms cubic-bezier(.2, .7, .2, 1), transform 420ms cubic-bezier(.2, .7, .2, 1), visibility 0s linear 0s !important;
	}
	.mk-header.mk-calm-menus .mk-nav li.mk-mega.mk-open > .wp-block-navigation__submenu-container { overflow-y: auto; }
	/* The short lists keep their own width */
	.mk-header.mk-calm-menus .mk-nav .wp-block-navigation__container > .has-child:not(.mk-mega).mk-open > .wp-block-navigation__submenu-container { min-width: 15rem !important; }
	/* the open menu's word is underlined, so it is clear which one is open */
	.mk-header.mk-calm-menus .mk-nav .has-child.mk-open > .wp-block-navigation-item__content { text-decoration: underline; text-underline-offset: 0.55em; text-decoration-thickness: 1px; }
	/* the invisible bridge between the word and its panel */
	.mk-header.mk-calm-menus .mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 40px; background: transparent; }
}
@media (prefers-reduced-motion: reduce) {
	.mk-header.mk-calm-menus .mk-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { transform: none !important; transition: none !important; }
}

/* About: Margareta, portrait beside her words */
.mk27-ab-quote { display: grid !important; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.mk27-ab-portrait { position: relative; margin: 0; }
.mk27-ab-portrait::before { content: ""; position: absolute; inset: 1.25rem -1.25rem -1.25rem 1.25rem; border: 1px solid rgba(29, 47, 62, 0.35); pointer-events: none; }
.mk27-ab-portrait img { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; }
.mk27-ab-qmark { display: block; width: 44px; height: 33px; margin: 0.5rem 0 1.25rem; color: #9a7b5b; }
.mk27-ab-qcopy blockquote { margin: 0; padding: 0; border: 0; }
.mk27-ab-qcopy blockquote p { margin: 0; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.5rem, 1.05rem + 1.4vw, 2.3rem); line-height: 1.3; color: var(--mk27-ink); text-wrap: pretty; }
.mk27-ab-sign { display: flex; flex-direction: column; gap: 0.35rem; margin: 2rem 0 0 !important; padding-top: 1.25rem; border-top: 1px solid rgba(29, 47, 62, 0.25); max-width: 18rem; }
.mk27-ab-sign-n { font-family: var(--mas-face-display); font-style: italic; font-size: 1.6rem; color: var(--mk27-ink); }
.mk27-ab-sign-r { font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(29, 47, 62, 0.65); }
/* promises with line icons */
.mk27-ab-ico { display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid rgba(29, 47, 62, 0.25); border-radius: 50%; color: #9a7b5b; }
.mk27-ab-ico svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.mk27-ab-grid > div { border-top: 0 !important; padding-top: 0 !important; }
@media (max-width: 900px) {
	.mk27-ab-quote { grid-template-columns: minmax(0, 1fr); }
	.mk27-ab-portrait { max-width: 22rem; margin-right: 1.25rem; }
}
@media (max-width: 900px) {
	.mk27-ab-portrait { max-width: 17rem; }
	.mk27-ab-portrait img { aspect-ratio: 1 / 1; }
	.mk27-ab-portrait::before { inset: 0.9rem -0.9rem -0.9rem 0.9rem; }
}
@media (max-width: 900px) {
	.mk-about .mk27-ab-quote .mk27-ab-portrait { max-width: 17rem !important; width: 17rem; }
	.mk-about .mk27-ab-quote .mk27-ab-portrait img { aspect-ratio: 1 / 1 !important; height: auto !important; }
}

/* ── Sell page ───────────────────────────────────────────────────────────── */
.mk27-sl-intro { background: #fff; }
.mk27-sl-ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.75rem 0 0 !important; }
.mk27-sl-why { background: var(--mk27-ivory); }
.mk27-sl-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 3vw, 3rem); margin-top: clamp(2.5rem, 5vw, 3.5rem); }
.mk27-sl-grid h3 { margin: 1.1rem 0 0.45rem !important; font-family: var(--mas-face-display); font-weight: 400; font-size: 1.4rem; color: var(--mk27-ink); }
.mk27-sl-grid p { margin: 0; font-size: 1rem; line-height: 1.65; color: rgba(29, 47, 62, 0.78); }
.mk27-sp-steps .mk27-lf-h { max-width: 22ch; }
@media (max-width: 900px) { .mk27-sl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .mk27-sl-grid { grid-template-columns: minmax(0, 1fr); } }
main:has(.mk27-sl-intro) { padding-top: 0 !important; }
.wp-block-post-content > .mk27-sl-intro:first-child { margin-top: 0 !important; }
.mk27-lf.mk27-sp-band { background: #DFD6CD; }

/* About: Margareta's portrait smaller, her words given the room */
@media (min-width: 901px) {
	.mk-about .mk27-ab-quote { grid-template-columns: minmax(0, 20rem) minmax(0, 1fr) !important; gap: clamp(3rem, 7vw, 7rem) !important; max-width: none; }
	.mk-about .mk27-ab-quote .mk27-ab-portrait { justify-self: end; width: 100%; max-width: 20rem; }
	.mk-about .mk27-ab-quote .mk27-ab-portrait img { aspect-ratio: 4 / 5 !important; }
	.mk-about .mk27-ab-quote .mk27-ab-portrait::before { inset: 0.9rem -0.9rem -0.9rem 0.9rem; }
	.mk-about .mk27-ab-qcopy { max-width: 40rem; }
}
.mk-about .mk27-ab-quote { padding-top: clamp(4rem, 7vw, 5.5rem) !important; padding-bottom: clamp(4rem, 7vw, 5.5rem) !important; }
@media (max-width: 900px) {
	.mk-about .mk27-ab-quote .mk27-ab-portrait { max-width: 13rem !important; width: 13rem; }
}
.mk-about .mk27-ab-quote .mk27-ab-portrait img { height: auto !important; }
.mk-about .mk27-ab-quote .mk27-ab-portrait { align-self: center; height: fit-content !important; line-height: 0; }
.mk-about .mk27-ab-quote .mk27-ab-portrait img { margin: 0 !important; }

/* ── Phone pass: every tap target at least 44px, no text under 11px ────────── */
/* Location cards: the whole card is the link to its town */
.mk27-market { position: relative; }
.mk27-market-name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mk27-market-go { position: relative; z-index: 2; }
/* Small inline links keep their look; their touch area grows invisibly */
.mk27-crumbs a, .meklara-source-credits a, .mk27-mr-src-p a, .mk27-mr-table th a, .meklara-cite a, .leaflet-control-attribution a {
	display: inline-block; padding: 12px 6px; margin: -12px -6px;
}
.meklara-cite, .meklara-cite a { font-size: max(0.6875rem, 11px) !important; }
.leaflet-control-attribution { font-size: 11px !important; }
@media (max-width: 1000px) {
	.mk-herobar .meklara-field select { min-height: 32px; }
	.mk-herobar .meklara-field { cursor: pointer; }
}
@media (max-width: 1000px) {
	.mk-herobar .meklara-field select { min-height: 34px !important; padding-top: 6px !important; padding-bottom: 6px !important; }
	.mk-herobar .meklara-field { padding-top: 0.5rem !important; padding-bottom: 0.35rem !important; }
}
.mk27-nw-top { position: relative; } .mk27-nw-top > .mk27-lf-anchor { position: absolute; top: -120px; left: 0; width: 1px; height: 1px; }
/* Costa del Sol guide: the two listing rows, like the town pages */
.mk27-cdsdevs { background: #fff; }
.mk27-alist .mk27-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.mk27-alist .mk27-head-link a { display: inline-flex; align-items: center; min-height: 44px; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid currentColor; }
/* Madrid's residences section dressed like the coast's */
.mk27-madsel { background: var(--mk27-ivory) !important; padding-block: clamp(3rem, 6vw, 4.5rem) !important; }

/* Town "for sale" pages: the written introduction beside the area links */
.mk27-fs-intro { display: grid !important; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.mk27-fs-intro-r p:not(.mk27-lf-more) { margin: 0 0 1.1rem; font-size: 1.0625rem; line-height: 1.75; color: rgba(29, 47, 62, 0.82); }
.mk27-fs-intro .mk27-oa-chips { border-top: 0; padding-top: 0; margin-top: 1.75rem; }
@media (max-width: 900px) { .mk27-fs-intro { grid-template-columns: minmax(0, 1fr); } }
/* A small label that is also the section's heading for search */
h2.mk27-eyebrow-h { font-family: var(--mas-face-text) !important; font-size: max(0.6875rem, 11px) !important; font-weight: 500 !important; letter-spacing: 0.24em !important; text-transform: uppercase !important; line-height: 1.4 !important; color: var(--mk27-muted) !important; margin: 0 0 1.1rem !important; }
p.mk27-h2 { font-family: var(--mas-face-display); font-weight: 400; color: var(--mk27-ink); margin: 0; }
/* Out-of-scope demo markets are not shown until they launch */
a[href*="/development/azure-crown-residences-demo/"], a[href*="/development/mercedes-benz-places-miami/"] { display: none !important; }
.mk-dev-card:has(a[href*="/development/azure-crown-residences-demo/"]), .mk-dev-card:has(a[href*="/development/mercedes-benz-places-miami/"]),
.mk-devtile:has(a[href*="azure-crown-residences-demo"]), .mk-devstrip-tiles > *:has(a[href*="azure-crown-residences-demo"]), .mk-devstrip-tiles > *:has(a[href*="mercedes-benz-places-miami"]),
article:has(> a[href*="azure-crown-residences-demo"]), article:has(> a[href*="mercedes-benz-places-miami"]) { display: none !important; }
/* Listing breadcrumb: quiet, above the photographs */
.mk27-crumbs--listing { max-width: var(--mk27-max, 1240px); margin: 0 auto 1rem !important; padding: 1rem clamp(1.25rem, 5vw, 3rem) 0; font-size: max(0.6875rem, 11px); letter-spacing: 0.16em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); display: flex; flex-wrap: wrap; gap: 0.25rem 0.6rem; align-items: center; box-sizing: content-box; }
.mk27-crumbs--listing a { color: var(--mk27-ink); text-decoration: none; }
.mk27-crumbs--listing a:hover { text-decoration: underline; text-underline-offset: 0.25em; }
@media (min-width: 1340px) { .mk27-crumbs--listing { padding-inline: 0; } }
.mk27-guide-next { margin-top: 2.5rem !important; padding-top: 1.25rem; border-top: 1px solid rgba(29, 47, 62, 0.15); font-size: 1.0625rem; line-height: 1.7; }
.mk27-guide-next a { color: var(--mk27-ink); text-underline-offset: 0.25em; }
/* A town with no published development yet shows no empty band */
.mk27-devband:not(:has(.mk-dev-card)), .mk27-cdsdevs:not(:has(.mk-dev-card)) { display: none !important; }

/* ── The MAS Standard: "Pure brokers. Nothing else." on white ───────────── */
.mk27-pb { background: #fff !important; color: var(--mk27-ink); padding-block: clamp(4.5rem, 9vw, 7.5rem) !important; }
.mk27-pb-in { max-width: 1240px; margin: 0 auto; }
.mk27-pb-k { margin: 0 0 clamp(1.5rem, 3vw, 2.25rem); font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(29, 47, 62, 0.65); }
.mk27-pb-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.mk27-pb-h { margin: 0 !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(2.6rem, 1.2rem + 5.2vw, 5.6rem); line-height: 1.02; letter-spacing: 0.01em; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-pb-lede { margin: 0; font-size: clamp(1.0625rem, 0.95rem + 0.4vw, 1.3rem); font-weight: 500; line-height: 1.6; color: var(--mk27-ink); }
.mk27-pb-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.75rem); margin-top: clamp(3rem, 6vw, 5rem); }
.mk27-pb-col { padding-top: 1.75rem; border-top: 1px solid rgba(29, 47, 62, 0.25); }
.mk27-pb-n { margin: 0 0 1rem; font-size: max(0.75rem, 12px); letter-spacing: 0.2em; color: rgba(29, 47, 62, 0.6); }
.mk27-pb-t { margin: 0 0 1rem !important; font-family: var(--mas-face-display); font-weight: 400; font-size: clamp(1.25rem, 1rem + 0.7vw, 1.6rem); line-height: 1.2; text-transform: uppercase; color: var(--mk27-ink); }
.mk27-pb-d { margin: 0; font-size: 1rem; line-height: 1.75; color: rgba(29, 47, 62, 0.8); }
.mk27-pb-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1.5rem; margin-top: clamp(3rem, 6vw, 4.5rem); padding-top: clamp(2rem, 4vw, 2.75rem); border-top: 1px solid rgba(29, 47, 62, 0.25); }
.mk27-pb-line { margin: 0; font-family: var(--mas-face-display); font-size: clamp(1.3rem, 1.1rem + 0.6vw, 1.7rem); color: var(--mk27-ink); }
.mk27-pb-btn { display: inline-flex; align-items: center; gap: 1rem; min-height: 56px; padding: 0 2.25rem; border: 1px solid var(--mk27-ink); color: var(--mk27-ink) !important; text-decoration: none; font-size: max(0.75rem, 12px); font-weight: 500; letter-spacing: 0.24em; text-transform: uppercase; transition: background-color 220ms ease, color 220ms ease; }
.mk27-pb-btn:hover { background: var(--mk27-ink); color: #fff !important; }
@media (max-width: 1000px) { .mk27-pb-top { grid-template-columns: minmax(0, 1fr); } .mk27-pb-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mk27-pb-cols { grid-template-columns: minmax(0, 1fr); } .mk27-pb-btn { width: 100%; justify-content: center; } }
/* The MAS Standard in the site's own type: same heading size and case as every
   other section, regular-weight text, quieter column titles. */
.mk27-pb { padding-block: clamp(4rem, 8vw, 6rem) !important; }
.mk27-pb-k { margin-bottom: 1rem !important; letter-spacing: 0.24em !important; color: #9a7b5b !important; }
.mk27-pb-h { font-size: clamp(2rem, 1.3rem + 2.2vw, 3.2rem) !important; line-height: 1.08 !important; letter-spacing: 0 !important; text-transform: none !important; }
.mk27-pb-lede { font-size: 1.0625rem !important; font-weight: 400 !important; line-height: 1.75 !important; color: rgba(29, 47, 62, 0.82) !important; }
.mk27-pb-cols { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; }
.mk27-pb-col { padding-top: 1.25rem !important; }
.mk27-pb-n { margin-bottom: 0.6rem !important; }
.mk27-pb-t { font-size: 1.4rem !important; text-transform: none !important; margin-bottom: 0.6rem !important; }
.mk27-pb-d { font-size: 0.9375rem !important; line-height: 1.7 !important; }
.mk27-pb-foot { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; padding-top: 1.75rem !important; }
.mk27-pb-line { font-size: 1.4rem !important; }
.mk27-pb-btn { min-height: 48px !important; padding: 0 1.75rem !important; font-size: max(0.6875rem, 11px) !important; letter-spacing: 0.2em !important; }

/* ── Seller's and buyer's guides ─────────────────────────────────────────── */
.mk27-gd-sec { background: #fff; }
.mk27-gd-sec--ivory { background: var(--mk27-ivory); }
.mk27-gd-cols { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); margin-top: clamp(2rem, 4vw, 3rem); }
.mk27-gd-cols .mk27-pb-col { padding-top: 1.25rem; border-top: 1px solid rgba(29, 47, 62, 0.25); }
.mk27-gd-cols .mk27-pb-n { margin: 0 0 0.6rem; font-size: max(0.75rem, 12px); letter-spacing: 0.2em; color: rgba(29, 47, 62, 0.6); }
.mk27-gd-cols .mk27-pb-t { margin: 0 0 0.6rem !important; font-family: var(--mas-face-display); font-weight: 400; font-size: 1.4rem; line-height: 1.2; color: var(--mk27-ink); }
.mk27-gd-cols .mk27-pb-t a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(29, 47, 62, 0.3); }
.mk27-gd-cols .mk27-pb-d { margin: 0; font-size: 0.9375rem; line-height: 1.7; color: rgba(29, 47, 62, 0.8); }
.mk27-sp-list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.mk27-sp-list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; row-gap: 2.5rem !important; }
.mk27-gd-sales { list-style: none; margin: clamp(2rem, 4vw, 3rem) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(2rem, 5vw, 5rem); }
.mk27-gd-sales li { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n v" "p v"; padding: 1.1rem 0; border-bottom: 1px solid rgba(29, 47, 62, 0.15); }
.mk27-gd-sn { grid-area: n; font-family: var(--mas-face-display); font-size: 1.3rem; color: var(--mk27-ink); }
.mk27-gd-sp { grid-area: p; font-size: max(0.6875rem, 11px); letter-spacing: 0.2em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); margin-top: 0.25rem; }
.mk27-gd-sv { grid-area: v; align-self: center; font-family: var(--mas-face-display); font-size: 1.3rem; color: var(--mk27-ink); }
.mk27-gd-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(2rem, 4vw, 3rem); border-block: 1px solid rgba(29, 47, 62, 0.2); }
.mk27-gd-figs > div { padding: 1.5rem 1.5rem 1.5rem 0; }
.mk27-gd-figs > div + div { padding-left: 1.5rem; border-left: 1px solid rgba(29, 47, 62, 0.2); }
.mk27-gd-fv { margin: 0; font-family: var(--mas-face-display); font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); color: var(--mk27-ink); }
.mk27-gd-fl { margin: 0.4rem 0 0; font-size: max(0.6875rem, 11px); letter-spacing: 0.2em; text-transform: uppercase; color: rgba(29, 47, 62, 0.6); }
.mk27-gd-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 5rem); margin-top: clamp(2rem, 4vw, 3rem); }
.mk27-gd-sub { margin: 0 0 0.75rem; font-family: var(--mas-face-display); font-size: 1.4rem; color: var(--mk27-ink); }
.mk27-gd-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mk27-ink); }
.mk27-gd-rows li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid rgba(29, 47, 62, 0.15); font-size: 1rem; color: var(--mk27-ink); }
.mk27-gd-rows li span:last-child { text-align: right; color: rgba(29, 47, 62, 0.7); }
.mk27-gd-note { margin: 1.5rem 0 0; font-size: 0.875rem; line-height: 1.6; color: rgba(29, 47, 62, 0.65); }
@media (max-width: 1000px) { .mk27-sp-list--4, .mk27-sp-list--3 { grid-template-columns: minmax(0, 1fr) !important; } .mk27-gd-two, .mk27-gd-sales { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .mk27-gd-figs { grid-template-columns: minmax(0, 1fr); } .mk27-gd-figs > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(29, 47, 62, 0.2); } }
main:has(.mk27-sl-intro) { padding-top: 0 !important; }
/* Enquiry forms: the choices in a list are always dark on white */
.meklara-enquiry select, .mk-advisory select, .meklara-enquiry select option, .mk-advisory select option, .meklara-enquiry select optgroup, .mk-advisory select optgroup { color: #1D2F3E !important; background-color: #fff; }
/* Enquiry bands: one heading. The band's own heading leads; the form's
   repeated title is kept for screen readers only. */
.mk-advisory .meklara-enquiry > h2:first-child, .mk-advisory .meklara-enquiry-form > h2:first-child, .mk-advisory form > h2:first-child { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* The scrolled logo: Mas Property's black logo on a transparent ground */
.mk-header.is-scrolled .mk-logo a,
.mk-header:not(.mk-header--over) .mk-logo a {
	background: transparent url("assets/logo/mas-property-logo-black-transparent.png") center / 100% 100% no-repeat !important;
}
.mk-header.is-scrolled .mk-logo a:hover { background-color: transparent !important; opacity: 0.7; }
.mk27-footer-wordmark a.mk27-footer-logo { display: inline-block; width: 88px; height: 88px; }
.mk27-footer-logo img { display: block; width: 100%; height: 100%; }
.mk27-footer-wordmark a.mk27-footer-logo { width: 64px !important; height: 64px !important; }
/* System menus (phones, and any list left native) use a system font they can always draw */
select option, select optgroup { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif !important; color: #1D2F3E !important; background: #fff !important; }
/* The site's drop-down inside enquiry forms: looks like the form's other boxes */
.meklara-enquiry .mk27-dd, .mk-advisory .mk27-dd { position: relative; }
.meklara-enquiry .mk27-dd-btn, .mk-advisory .mk27-dd-btn { width: 100%; min-height: 54px; padding: 0 2.5rem 0 1rem !important; border: 1px solid rgba(154, 123, 91, 0.35) !important; background: #fff !important; color: #1D2F3E !important; font-size: 15px !important; text-align: left; letter-spacing: 0 !important; text-transform: none !important; }
.meklara-enquiry .mk27-dd-value, .mk-advisory .mk27-dd-value { font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; color: #1D2F3E !important; }
.meklara-enquiry .mk27-dd-btn::after, .mk-advisory .mk27-dd-btn::after { right: 1rem !important; }
.meklara-enquiry .mk27-dd-list, .mk-advisory .mk27-dd-list { left: 0; right: 0; top: calc(100% + 4px); z-index: 40; }
/* Careers */
.mk27-cr-photos { padding-top: 0 !important; background: var(--mk27-ivory); }
.mk27-cr-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; }
.mk27-cr-mosaic .mk27-ab-ph img { aspect-ratio: 4 / 3; }
@media (max-width: 700px) { .mk27-cr-mosaic { grid-template-columns: minmax(0, 1fr); } }
.mk27-sl-why + .mk27-cr-photos { background: var(--mk27-ivory); }
@media (min-width: 1001px) { .mk27-sl-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ── Phones: round arrows on every sliding row, and the rows aligned ─────── */
@media (max-width: 899px) {
	.mk27-rail-wrap { position: relative; }
	.mk27-rail-round { display: grid !important; place-items: center; width: 44px !important; height: 44px !important; top: 50% !important; transform: translateY(-50%); background: rgba(29, 47, 62, 0.55) !important; color: #fff !important; border: 1px solid rgba(255, 255, 255, 0.65) !important; backdrop-filter: blur(6px); z-index: 3; }
	.mk27-rail-round[hidden] { display: none !important; }
	.mk27-rail-round--prev { left: 8px !important; right: auto !important; }
	.mk27-rail-round--next { right: 8px !important; left: auto !important; }
	/* the New developments row starts on the same line as the text above it */
	.mk-devstrip .mk27-loc-wrap { margin-left: 0; margin-right: 0; }
	.mk-devstrip .mk-devstrip-tiles { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
}
@media (max-width: 600px) {
	.mk-devstrip .mk-devstrip-heading { font-size: 1.9rem !important; line-height: 1.12 !important; max-width: none !important; }
	/* "The numbers" line: the label above, the links stacked */
	.mk27-oa-datal { flex-direction: column; align-items: flex-start; gap: 0.25rem; }
	.mk27-oa-datal span { margin-bottom: 0.5rem; }
}

/* Scrolled header: black bar, white logo and words */
.mk-header.is-scrolled { background: #000 !important; border-bottom-color: #000 !important; }
.mk-header.is-scrolled .mk-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content,
.mk-header.is-scrolled .mk-header-actions .mk-header-link:not(.mk-header-link--solid),
.mk-header.is-scrolled .mk-header-actions button,
.mk-header.is-scrolled .wp-block-navigation__responsive-container-open { color: #fff !important; }
.mk-header.is-scrolled .mk-logo a {
	background: transparent url("assets/logo/mas-property-logo-white-transparent.png") center / 100% 100% no-repeat !important;
}
.mk-header.is-scrolled .mk-header-actions .mk-header-link--solid { background: #fff !important; color: #000 !important; border-color: #fff !important; }
.mk-header.is-scrolled .mk-header-actions .mk-header-link--solid:hover { background: transparent !important; color: #fff !important; }
.mk-header.is-scrolled .mk-header-actions, .mk-header.is-scrolled .mk-header-actions * { color: #fff; }
.mk-header.is-scrolled .mk-header-actions .mk-header-link--solid, .mk-header.is-scrolled .mk-header-actions .mk-header-link--solid * { color: #000 !important; }
.mk-header.is-scrolled .mk-header-actions svg { stroke: currentColor; }

/* ── Enquiry forms, shorter: only what an advisor needs to reply ─────────── */
.mk-advisory form label:has(> [name="bedrooms"]),
.mk-advisory form label:has(> [name="phone"]),
.mk-advisory form fieldset:has([name="budget_max"]),
.mk-advisory form fieldset > legend { display: none !important; }
.mk-advisory form fieldset { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.mk-advisory form fieldset:has([name="location"]) { margin-bottom: 0 !important; }
/* Where + what kind of home on one line, name + email on the next */
.mk-advisory form:has([name="location"]) fieldset:has([name="location"]),
.mk-advisory form:has([name="location"]) fieldset:has([name="property_type"]) { display: block; }
@media (min-width: 700px) {
	.mk-advisory form:has([name="location"]) > fieldset:has([name="location"]) { float: left; width: calc(50% - 0.6rem); }
	.mk-advisory form:has([name="location"]) > fieldset:has([name="property_type"]) { float: right; width: calc(50% - 0.6rem); }
	.mk-advisory form:has([name="location"]) > fieldset:has([name="property_type"]) + * { clear: both; }
	.mk-advisory form fieldset:has([name="property_type"]) label { width: 100% !important; max-width: none !important; }
}
.mk-advisory form textarea { min-height: 6.5rem !important; height: 6.5rem; }
/* the site's drop-down fills its box like the text fields */
.mk-advisory form .mk27-dd { display: block; width: 100%; }
.mk-advisory form .mk27-dd-btn { min-height: 52px !important; }
@media (min-width: 700px) {
	.mk-advisory form:has(> fieldset > label > [name="location"]) { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 1.2rem; align-items: start; }
	.mk-advisory form:has(> fieldset > label > [name="location"]) > * { grid-column: 1 / -1; float: none !important; width: auto !important; }
	.mk-advisory form:has(> fieldset > label > [name="location"]) > fieldset:has([name="location"]) { grid-column: 1; }
	.mk-advisory form:has(> fieldset > label > [name="location"]) > fieldset:has([name="property_type"]) { grid-column: 2; }
	.mk-advisory form fieldset:has([name="location"]) label, .mk-advisory form fieldset:has([name="property_type"]) label { width: 100% !important; max-width: none !important; display: block; }
}

/* ── Phones: the search filter sheet fits the screen ────────────────────────
   Header at the top, the fields scroll in the middle, Search stays at the
   bottom; fields are compact and the two prices share one line. */
@media (max-width: 1000px) {
	.meklara-filters-open[aria-expanded="true"] + .meklara-search,
	#meklara-filters-panel.is-open, #meklara-filters-panel[aria-hidden="false"] { }
	#meklara-filters-panel { display: flex !important; flex-direction: column; max-height: calc(100dvh - 50px); overflow: hidden !important; }
	#meklara-filters-panel .meklara-search-head { flex: 0 0 auto; }
	#meklara-filters-panel .meklara-search-fields { flex: 1 1 auto; min-height: 0; overflow-y: auto !important; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 1rem !important; padding-bottom: 1rem !important; }
	#meklara-filters-panel .meklara-search-fields > * { grid-column: 1 / -1; }
	#meklara-filters-panel .meklara-field:has([name="mk_min_price"]) { grid-column: 1; }
	#meklara-filters-panel .meklara-field:has([name="mk_max_price"]) { grid-column: 2; }
	#meklara-filters-panel .meklara-field { min-height: 0 !important; padding: 0.75rem 0 !important; margin: 0 !important; }
	#meklara-filters-panel .meklara-field-label { margin-bottom: 0.3rem !important; }
	#meklara-filters-panel .meklara-field select, #meklara-filters-panel .meklara-field input { min-height: 44px !important; font-size: 16px !important; }
	#meklara-filters-panel .meklara-search-actions { flex: 0 0 auto; position: static !important; padding: 0.75rem 0 calc(0.75rem + env(safe-area-inset-bottom)) !important; margin: 0 !important; background: inherit; border-top: 1px solid rgba(29, 47, 62, 0.12); }
	/* every text box on a phone at 16px, so iPhone does not zoom in on tap */
	input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="search"], select, textarea { font-size: 16px !important; }
}
@media (max-width: 1000px) { #meklara-filters-panel .meklara-field { border-right: 0 !important; border-left: 0 !important; } #meklara-filters-panel .meklara-search-fields { border: 0 !important; } }
@media (max-width: 1000px) { .meklara-sort select, select[name="mk_sort"] { font-size: 16px !important; } }
.mk27-cm-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } @media (max-width: 1000px) { .mk27-cm-cards--3 { grid-template-columns: minmax(0, 1fr); } }
/* Guides band: the two markets each guide covers */
.mk27-guide-where { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; margin: 0 0 1.5rem !important; font-size: max(0.6875rem, 11px); font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(29, 47, 62, 0.5); }
.mk27-guide-where a { display: inline-flex; align-items: center; min-height: 44px; color: var(--mk27-ink); text-decoration: none; border-bottom: 1px solid rgba(29, 47, 62, 0.3); line-height: 1; }
.mk27-guide-broch { margin: 1rem 0 0 !important; }
.mk27-guide-broch a { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; font-size: max(0.6875rem, 11px); letter-spacing: 0.2em; text-transform: uppercase; color: rgba(29, 47, 62, 0.7); text-decoration: none; }
.mk27-guide-where, .mk27-guide-broch { position: relative; z-index: 3; } .mk27-guide-where { margin-top: 0.5rem !important; }
/* Footer: two offices */
.mk27-footer-cols { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1100px) { .mk27-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { .mk27-footer-reachcol { grid-column: auto !important; } .mk27-footer-cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; } }
.mk27-footer .mk27-footer-reachcol .mk-footer-list a, .mk27-footer .mk27-footer-reachcol .mk-footer-list span { overflow-wrap: anywhere; }
/* Footer offices: one line per item, the same lines side by side */
.mk27-footer .mk27-footer-reachcol .mk-footer-list a, .mk27-footer .mk27-footer-reachcol .mk-footer-list span { overflow-wrap: normal !important; word-break: normal !important; white-space: nowrap; }
.mk27-footer .mk27-footer-reachcol .mk-footer-list li { line-height: 1.4; }
@media (min-width: 1101px) { .mk27-footer-cols { grid-template-columns: minmax(0, 0.8fr) minmax(0, 0.8fr) minmax(0, 1.2fr) minmax(0, 1.2fr) !important; } }
@media (max-width: 600px) {
	.mk27-footer-reachcol { grid-column: 1 / -1 !important; }
	.mk27-footer .mk27-footer-reachcol .mk-footer-list a, .mk27-footer .mk27-footer-reachcol .mk-footer-list span { white-space: normal; }
}
/* About: the Madrid office, text left and photograph right */
.mk27-ab-office--madrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) !important; background: var(--mk27-ivory); }
.mk27-ab-madrid-ph img { aspect-ratio: 16 / 10; }
@media (max-width: 900px) { .mk27-ab-office--madrid { grid-template-columns: minmax(0, 1fr) !important; } }
.mk27-ab-office:not(.mk27-ab-office--madrid) .mk27-lf-k::after { content: " · Marbella"; }
.mk27-dd-list li.mk27-dd-group { font-size: 11px !important; }

/* The plugin's illustrative (fictional) demo figures are not shown anywhere;
   only live inventory and official figures appear. */
.meklara-metric--demo, body .mk-investor .meklara-metric.meklara-metric--demo, body.single-meklara_development .mk-investor .meklara-metric.meklara-metric--demo { display: none !important; }
.meklara-sources-demo { display: none !important; }
.meklara-source--demo_fixture { display: none !important; }
body .mk-metrics.mk27-all-demo, body .mk-investor .mk-metrics.mk27-all-demo, body.single-meklara_development .mk-investor .mk-metrics.mk27-all-demo, .mk-investor-sub.mk27-all-demo, .meklara-legend.mk27-all-demo { display: none !important; }
/* Contact: the Madrid office, photograph on the right, on white */
.mk27-ct-visit--madrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); background: var(--mk27-paper, #fff); }
.mk27-ct-visit--madrid .mk27-ct-reach { margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 0; font-size: 1.125rem; }
.mk27-ct-visit--madrid .mk27-ct-reach a { color: var(--mk27-ink); display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 900px) {
	.mk27-ct-visit--madrid { grid-template-columns: minmax(0, 1fr); }
	.mk27-ct-visit--madrid .mk27-ct-ph { order: -1; }
}
