/* My Style theme. Tokens and components from the "My Style" Claude Design site preview. */

/* Fonts (self-hosted, variable woff2) */
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 300 900; font-display: swap; src: url(../fonts/figtree-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 300 900; font-display: swap; src: url(../fonts/figtree-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Urbanist'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/urbanist-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Urbanist'; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/urbanist-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Urbanist'; font-style: italic; font-weight: 100 900; font-display: swap; src: url(../fonts/urbanist-italic-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Urbanist'; font-style: italic; font-weight: 100 900; font-display: swap; src: url(../fonts/urbanist-italic-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* Tokens */
:root {
	--ms-primary: #1E1E1E;
	--ms-primary-dark: #3A3A3A;
	--ms-secondary: #F95507;
	--ms-text: #1E1E1E;
	--ms-muted: #5E6166;
	--ms-background: #FFFFFF;
	--ms-surface: #FFFFFF;
	--ms-tint: #F5F4F1;
	--ms-border: #E7E5E1;
	--ms-border-strong: #9B9893;
	--ms-accent-realestate: #D4AF37;
	--ms-accent-realestate-alt: #1E1E1E;
	--ms-accent-advertising: #F95507;
	--ms-accent-vehicles: #0B2350;
	--ms-accent-recruitment: #6A317F;
	--ms-accent-events: #ADF802;
	--ms-tint-realestate: #FBF6E6;
	--ms-tint-vehicles: #EEF2F7;
	--ms-tint-advertising: #FFF1EA;
	--ms-tint-recruitment: #F3ECF6;
	--ms-tint-events: #F4FDE0;
	--ms-whatsapp: #1C7C45;
	--ms-error: #B3261E;
	--ms-success: #2F6B4F;
	--ms-hero-gradient: linear-gradient(180deg, rgba(255,255,255,0) 55%, #FFFFFF 100%), linear-gradient(105deg, #FFF1EA 0%, #F8F8F8 48%, #EEF0F3 100%);
	--ms-font-heading: 'Urbanist', system-ui, sans-serif;
	--ms-font-body: 'Figtree', system-ui, sans-serif;
	--ms-radius-sm: 8px;
	--ms-radius: 12px;
	--ms-radius-pill: 999px;
	--ms-shadow-sm: 0 1px 2px rgba(20,20,20,.04);
	--ms-shadow-md: 0 8px 24px rgba(20,20,20,.08), 0 2px 6px rgba(20,20,20,.04);
	--ms-placeholder: repeating-linear-gradient(135deg, #F0EFEC 0 14px, #E9E8E4 14px 28px);

	/* Active accent (overridden per division) */
	--accent: var(--ms-primary);
	--accent-alt: var(--accent);
	--accent-tint: var(--ms-tint);
	--accent-on: #fff;               /* text or icon placed on the accent fill */
	--accent-text: var(--accent);    /* the accent used as text on white (readable shade) */

	--sec: 96px;
	--gap: 32px;
	--gap-l: 64px;
}
.ms-division-advertising { --accent: var(--ms-accent-advertising); --accent-on: #1E1E1E; --accent-text: #C43E00; --accent-tint: var(--ms-tint-advertising); }
.ms-division-realestate  { --accent: var(--ms-accent-realestate); --accent-alt: var(--ms-accent-realestate-alt); --accent-on: #1E1E1E; --accent-text: #8A6D12; --accent-tint: var(--ms-tint-realestate); }
.ms-division-vehicles    { --accent: var(--ms-accent-vehicles); --accent-tint: var(--ms-tint-vehicles); }
.ms-division-recruitment { --accent: var(--ms-accent-recruitment); --accent-tint: var(--ms-tint-recruitment); }
.ms-division-events      { --accent: var(--ms-accent-events); --accent-on: #1E1E1E; --accent-text: #4E7A00; --accent-tint: var(--ms-tint-events); }

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--ms-background); color: var(--ms-text); font: 400 16px/1.6 var(--ms-font-body); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, h4, p, figure, blockquote, dl, dd, ul, ol) { margin: 0; }
:where(ul, ol) { padding: 0; }
img, svg, video, iframe { display: block; max-width: 100%; }
img { height: auto; }
a { color: var(--ms-text); }
a:hover { color: var(--ms-primary-dark); }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 3px solid var(--accent, #141414); outline-offset: 3px; }
.ms-icon { flex: none; }
.ms-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; padding: 10px 16px; border-radius: var(--ms-radius-pill); background: var(--ms-primary); color: #fff; text-decoration: none; font-weight: 600; }
.ms-skip:focus { top: 12px; color: #fff; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

.ms-container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.ms-muted { color: var(--ms-muted); }
.ms-small { font-size: 14px; line-height: 1.5; }
.ms-mb-l { margin-bottom: var(--gap-l) !important; }
.ms-mb-m { margin-bottom: 40px !important; }

/* Type */
.ms-h1 { font: 500 54px/1.08 var(--ms-font-heading); letter-spacing: -0.015em; text-wrap: balance; }
.ms-h1--xl { letter-spacing: -0.025em; line-height: 1.05; }
.ms-h2 { font: 500 40px/1.12 var(--ms-font-heading); letter-spacing: -0.02em; text-wrap: balance; }
.ms-h2--sm { font-size: 32px; line-height: 1.2; margin-bottom: 20px; }
.ms-h3 { font: 500 26px/1.2 var(--ms-font-heading); letter-spacing: -0.01em; }
.ms-h4 { font: 500 22px/1.25 var(--ms-font-heading); }
.ms-lead { font: 400 19px/1.6 var(--ms-font-body); text-wrap: pretty; }
.ms-eyebrow { display: inline-block; font: 600 13px/1.2 var(--ms-font-body); letter-spacing: 0.14em; text-transform: uppercase; color: var(--ms-primary); }
.ms-eyebrow--accent { color: var(--accent); }
.ms-eyebrow--muted { color: var(--ms-muted); }

/* Diamond mark */
.ms-diamond { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 2px; transform: rotate(45deg); background: var(--accent); }
.ms-diamond--sm { width: 7px; height: 7px; }
.ms-diamond--ring { width: 9px; height: 9px; background: var(--accent-alt); box-shadow: 0 0 0 1.5px #fff; }
.ms-division-advertising .ms-diamond--ring, .ms-division-vehicles .ms-diamond--ring, .ms-division-recruitment .ms-diamond--ring, .ms-division-events .ms-diamond--ring { background: #fff; }

/* Pills and chips */
.ms-pill { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 32px; padding: 0 14px; border-radius: var(--ms-radius-pill); background: #fff; color: var(--accent); font: 800 13px/1 var(--ms-font-body); letter-spacing: 0.08em; text-transform: uppercase; }
.ms-pill .ms-diamond { background: var(--accent-alt); }
.ms-pill--solid { min-height: 30px; background: var(--accent); color: #fff; font-weight: 700; font-size: 12px; }
.ms-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.ms-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px; border-radius: var(--ms-radius-pill); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.7); color: #fff; font: 600 14px/1 var(--ms-font-body); }
.ms-chip--solid { background: #fff; color: var(--accent); box-shadow: none; font-weight: 700; }

/* Buttons */
.ms-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border: 0; border-radius: var(--ms-radius-pill); font: 600 16px/1 var(--ms-font-body); text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease; }
.ms-btn:active { transform: translateY(1px); }
.ms-btn--md { min-height: 44px; padding: 0 20px; font-size: 15px; gap: 8px; }
.ms-btn--sm { min-height: 44px; padding: 0 20px; font-size: 14px; gap: 6px; flex: none; }
.ms-btn--icon { width: 44px; height: 44px; min-height: 44px; padding: 0; }
.ms-btn--primary { background: var(--ms-primary); color: #fff; }
.ms-btn--primary:hover { background: var(--ms-primary-dark); color: #fff; }
.ms-btn--dark { background: var(--ms-primary); color: #fff; }
.ms-btn--dark:hover { color: #fff; }
.ms-btn--light { background: #fff; color: var(--accent); }
.ms-btn--light:hover { background: #F5F4F1; color: var(--accent); }
.ms-btn--outline-light { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px #fff; }
.ms-btn--outline-light:hover { background: rgba(255,255,255,.12); color: #fff; }
.ms-division-realestate .ms-btn--alt { background: var(--ms-accent-realestate-alt); }
.ms-btn--whatsapp { background: var(--ms-whatsapp); color: #fff; }
.ms-btn--whatsapp:hover { background: #166638; color: #fff; }
.ms-btn--ring { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.6); }
.ms-btn--secondary { background: transparent; color: var(--ms-text); box-shadow: inset 0 0 0 1px var(--ms-border-strong); }
.ms-btn--secondary:hover { background: var(--ms-tint); color: var(--ms-text); }
.ms-btn--ink { box-shadow: inset 0 0 0 1.5px var(--ms-text); }
.ms-btn--accent { background: var(--accent); color: #fff; }
.ms-btn--accent:hover { color: #fff; filter: brightness(1.12); }
.ms-btn--accent-fill { background: var(--accent); color: #fff; }
.ms-btn--accent-fill:hover { background: var(--ms-primary-dark); color: #fff; }
.ms-btn--wa-outline { background: var(--ms-surface); color: var(--ms-whatsapp); box-shadow: inset 0 0 0 1px var(--ms-border-strong); }
.ms-btn--wa-outline:hover { color: var(--ms-whatsapp); background: var(--ms-tint); }
.ms-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }

/* Header */
.ms-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; background: transparent; transition: background-color .2s ease, box-shadow .2s ease; }
.ms-header.is-sticky, .ms-header.is-open { background: var(--ms-surface); }
.ms-header.is-sticky { box-shadow: var(--ms-shadow-md); }
.ms-header__bar { height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; transition: height .2s ease; }
.ms-header.is-sticky .ms-header__bar { height: 64px; }
.ms-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ms-text); }
.ms-logo:hover { color: var(--ms-text); }
.ms-logo__mark { width: 14px; height: 14px; background: var(--ms-secondary); transform: rotate(45deg); border-radius: 2px; }
.ms-logo__wordmark { font: 600 26px/1 var(--ms-font-heading); letter-spacing: -0.02em; white-space: nowrap; }
.ms-logo--lg { gap: 14px; }
.ms-logo--lg .ms-logo__mark { width: 18px; height: 18px; }
.ms-logo--lg .ms-logo__wordmark { font-size: 32px; }
.ms-nav ul { list-style: none; display: flex; align-items: center; gap: 26px; }
.ms-nav__link { display: block; padding: 8px 0; font: 500 15px/1.2 var(--ms-font-body); color: var(--ms-text); text-decoration: none; white-space: nowrap; text-underline-offset: 8px; }
.ms-nav__link:hover { text-decoration: underline; color: var(--ms-text); }
.ms-nav__link.is-current { font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; }
.ms-header__actions { display: flex; align-items: center; gap: 10px; }
.ms-header__mobile { display: none; gap: 8px; }
.ms-header__toggle { background: var(--ms-surface); box-shadow: inset 0 0 0 1px var(--ms-border-strong); color: var(--ms-text); }
.ms-header__toggle-close { display: none; }
.ms-header.is-open .ms-header__toggle-open { display: none; }
.ms-header.is-open .ms-header__toggle-close { display: flex; }
.ms-header__toggle-open { display: flex; }

.ms-divnav { margin-bottom: 14px; }
.ms-header.is-sticky .ms-divnav { margin-bottom: 10px; }
.ms-divnav ul { list-style: none; margin: 0; padding: 6px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; background: var(--ms-surface); border-radius: var(--ms-radius-pill); box-shadow: inset 0 0 0 1px var(--ms-border); }
.ms-divnav__link { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 12px; border-radius: var(--ms-radius-pill); color: var(--c); font: 800 13px/1.1 var(--ms-font-body); letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; white-space: nowrap; transition: background-color .15s ease; }
.ms-divnav__link:hover { background: var(--ms-tint); color: var(--c); }
.ms-divnav__mark { width: 8px; height: 8px; border-radius: 2px; transform: rotate(45deg); background: var(--bg); flex: none; }
.ms-divnav__link.is-current { background: var(--bg); color: #fff; }
.ms-divnav__link.is-current .ms-divnav__mark { background: #fff; }
.ms-header__division-bar { height: 5px; }
.ms-mobile-nav { display: none; }

/* Floating buttons */
.ms-float { position: fixed; right: 32px; bottom: 32px; z-index: 40; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.ms-float__call { width: 52px; height: 52px; border-radius: 99px; background: var(--ms-surface); color: var(--ms-primary); border: 1px solid var(--ms-border); box-shadow: 0 6px 16px rgba(31,36,33,.08), 0 18px 40px rgba(31,36,33,.10); display: flex; align-items: center; justify-content: center; }
.ms-float__whatsapp { display: flex; align-items: center; gap: 10px; height: 60px; padding: 0 22px 0 18px; border-radius: 99px; background: var(--ms-whatsapp); color: #fff; box-shadow: 0 6px 16px rgba(31,36,33,.10), 0 18px 40px rgba(31,36,33,.14); text-decoration: none; font: 600 16px/1 var(--ms-font-body); white-space: nowrap; }
.ms-float__whatsapp:hover { color: #fff; background: #166638; }

/* Sections */
.ms-section { padding: var(--sec) 0; }
.ms-section--flush-top { padding-top: 0; }
.ms-section--tint { background: var(--accent-tint); }
.ms-section--neutral { background: var(--ms-tint); }
.ms-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 32px; }
.ms-section-head__text { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ms-intro { max-width: 640px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ms-gradient-top { background-image: var(--ms-hero-gradient); background-size: 100% 720px; background-repeat: no-repeat; }
.ms-gradient-top--tall { background-size: 100% 820px; }
body:has(.ms-gradient-top) .ms-header:not(.is-sticky):not(.is-open) { background: transparent; }
body:has(.ms-gradient-top) { background-image: var(--ms-hero-gradient); background-size: 100% 720px; background-repeat: no-repeat; }
body:has(.ms-gradient-top--tall) { background-size: 100% 820px; }
body:has(.ms-gradient-top) .ms-gradient-top { background: none; }

/* Grids */
.ms-grid { display: grid; gap: var(--gap); }
.ms-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ms-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ms-grid__span2 { grid-column: span 2; }
.ms-grid--team { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Media */
.ms-media { display: block; position: relative; overflow: hidden; border-radius: var(--ms-radius); background: var(--ms-placeholder); }
.ms-media img { width: 100%; height: 100%; object-fit: cover; }
.ms-media--fill { position: absolute; inset: 0; border-radius: 0; }
.ms-media--3x2 { aspect-ratio: 3 / 2; }
.ms-media--4x3 { aspect-ratio: 4 / 3; }
.ms-media--1x1 { aspect-ratio: 1 / 1; }

/* Home hero */
.ms-hero { padding: 60px 0 96px; }
.ms-hero__stack { display: flex; flex-direction: column; gap: 32px; }
.ms-hero-ad { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--ms-accent-advertising); color: #fff; border-radius: var(--ms-radius); overflow: hidden; }
.ms-hero-ad__text { padding: 56px; display: flex; flex-direction: column; gap: 22px; justify-content: center; }
.ms-hero-ad__text .ms-h1 { color: #fff; }
.ms-hero-ad__text .ms-lead { color: rgba(255,255,255,.92); }
.ms-hero-ad__media { position: relative; min-height: 600px; background: var(--ms-placeholder); }
.ms-hero-ad__card { position: absolute; left: 16px; right: 16px; bottom: 16px; max-width: 340px; background: #fff; color: var(--ms-text); border-radius: var(--ms-radius); padding: 16px 18px; display: flex; gap: 14px; align-items: center; box-shadow: var(--ms-shadow-md); }
.ms-hero-ad__thumb { flex: none; width: 56px; height: 56px; border-radius: 10px; background: repeating-linear-gradient(135deg, #F0EFEC 0 7px, #E6E5E1 7px 14px); }
.ms-hero-ad__card-text { display: flex; flex-direction: column; gap: 3px; font: 600 15px/1.3 var(--ms-font-body); }
.ms-hero-ad__card-text strong { font: 800 11px/1 var(--ms-font-body); letter-spacing: 0.08em; text-transform: uppercase; color: var(--ms-accent-advertising); }

.ms-trust-bar { background: var(--ms-surface); border-radius: var(--ms-radius); padding: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto; gap: 8px; }
.ms-trust-bar__item { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 18px; border-radius: var(--ms-radius-pill); box-shadow: inset 0 0 0 1px var(--ms-border); }
.ms-trust-bar__item > span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ms-trust-bar__item small { font: 400 12px/1.2 var(--ms-font-body); color: var(--ms-muted); }
.ms-trust-bar__item strong { font: 600 15px/1.25 var(--ms-font-body); }
.ms-trust-bar__btn { min-height: 56px; padding: 0 28px; }

/* Division cards */
.ms-division-cards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.ms-division-card { grid-column: span 2; display: flex; flex-direction: column; text-decoration: none; color: #fff; background: var(--accent); border-radius: var(--ms-radius); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.ms-division-card:hover { color: #fff; transform: translateY(-3px); box-shadow: var(--ms-shadow-md); }
.ms-division-card--wide { grid-column: span 3; }
.ms-division-card__media { aspect-ratio: 4 / 3; border-radius: 0; }
.ms-division-card--wide .ms-division-card__media { aspect-ratio: 16 / 9; }
.ms-division-card__body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: 24px; }
.ms-division-card__label { display: flex; align-items: center; gap: 8px; font: 700 13px/1.2 var(--ms-font-body); letter-spacing: 0.08em; text-transform: uppercase; }
.ms-division-card__text { font: 400 16px/1.6 var(--ms-font-body); color: rgba(255,255,255,.92); text-wrap: pretty; }
.ms-division-card__btn { align-self: flex-start; margin-top: auto; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: var(--ms-radius-pill); background: #fff; color: var(--accent); font: 600 14px/1 var(--ms-font-body); }
.ms-division-card .ms-h3 { padding-bottom: 2px; }

/* Figures */
.ms-figure { display: flex; flex-direction: column; gap: 12px; }
.ms-figure figcaption { display: flex; flex-direction: column; gap: 2px; padding: 0 2px; }
.ms-figure strong { font: 600 16px/1.35 var(--ms-font-body); }
.ms-figure span { font: 400 14px/1.4 var(--ms-font-body); color: var(--ms-muted); }

/* Cards */
.ms-card { height: 100%; display: flex; flex-direction: column; gap: 14px; color: var(--ms-text); }
.ms-card__media { display: block; text-decoration: none; }
.ms-card__media .ms-media { aspect-ratio: 4 / 3; transition: transform .25s ease; }
.ms-card--wide .ms-card__media .ms-media { aspect-ratio: 2.78 / 1; }
.ms-card:hover .ms-card__media .ms-media img { transform: scale(1.03); }
.ms-card__media img { transition: transform .35s ease; }
.ms-card__body { display: flex; flex-direction: column; gap: 6px; padding: 0 2px; }
.ms-card__price { font: 600 20px/1.2 var(--ms-font-heading); letter-spacing: -0.01em; }
.ms-card--property .ms-card__price { color: var(--ms-accent-realestate); }
.ms-card__title { font: 500 16px/1.4 var(--ms-font-body); }
.ms-card__title a { color: inherit; text-decoration: none; }
.ms-card__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ms-card__facts { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 16px; font: 400 14px/1.4 var(--ms-font-body); }
.ms-card__type { font-weight: 600; color: var(--ms-accent-realestate-alt); }
.ms-card__muted { font: 400 14px/1.4 var(--ms-font-body); color: var(--ms-muted); }
.ms-card--post { gap: 16px; }
.ms-card__body--post { flex: 1; gap: 10px; }
.ms-card__meta { display: flex; flex-wrap: wrap; gap: 8px; font: 500 13px/1.2 var(--ms-font-body); color: var(--ms-muted); }
.ms-card__title--post { font: 500 23px/1.25 var(--ms-font-heading); letter-spacing: -0.01em; text-wrap: pretty; }
.ms-card__excerpt { font: 400 15px/1.55 var(--ms-font-body); color: var(--ms-muted); text-wrap: pretty; }
.ms-card__read { margin-top: auto; font: 400 13px/1.2 var(--ms-font-body); color: var(--ms-muted); }

.ms-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 40px; background: var(--ms-surface); border: 1px dashed var(--ms-border-strong); border-radius: var(--ms-radius); }
.ms-empty p { color: var(--ms-muted); max-width: 560px; }

/* Contact bar (home) */
.ms-contact-bar__inner { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: stretch; }
.ms-contact-bar__intro { display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.ms-contact-bar__intro > div:first-child { display: flex; flex-direction: column; gap: 12px; }
.ms-contact-bar__links { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.ms-contact-bar__phone { font: 600 24px/1.1 var(--ms-font-heading); text-decoration: none; }
.ms-people { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ms-person { display: flex; flex-direction: column; gap: 14px; padding: 18px; border-radius: var(--ms-radius); box-shadow: inset 0 0 0 1px var(--ms-border); border-top: 5px solid var(--c); }
.ms-person__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ms-person__top .ms-diamond { margin-top: 8px; background: var(--c); }
.ms-person__avatar { width: 64px; height: 64px; border-radius: 99px; background: repeating-linear-gradient(135deg, #F0EFEC 0 8px, #E6E5E1 8px 16px); }
.ms-person__name { display: flex; flex-direction: column; gap: 2px; }
.ms-person__name strong { font: 600 16px/1.3 var(--ms-font-body); }
.ms-person__name span { font: 400 13px/1.4 var(--ms-font-body); color: var(--ms-muted); }
.ms-person__btn { margin-top: auto; display: flex; align-items: center; justify-content: center; min-height: 40px; border-radius: var(--ms-radius-pill); background: var(--c); color: #fff; font: 600 14px/1 var(--ms-font-body); text-decoration: none; }
.ms-person__btn:hover { color: #fff; filter: brightness(1.15); }

/* Division page */
.ms-hero-split { padding: 72px 0; background: var(--accent); color: #fff; }
.ms-hero-split__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--gap-l); align-items: center; }
.ms-hero-split__text { display: flex; flex-direction: column; gap: 20px; }
.ms-hero-split .ms-h1 { color: inherit; }
.ms-hero-split .ms-lead { color: rgba(255,255,255,.92); }
.ms-hero-split__media { box-shadow: var(--ms-shadow-sm); }
.ms-hero-split--plain { background: transparent; color: var(--ms-text); }
.ms-hero-split--plain .ms-lead { color: var(--ms-muted); }

.ms-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.ms-steps li { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 2px solid var(--accent); }
.ms-steps__n { font: 500 48px/1 var(--ms-font-heading); color: var(--accent); }
.ms-steps h3 { font: 600 19px/1.3 var(--ms-font-body); }
.ms-steps p { font: 400 16px/1.6 var(--ms-font-body); color: var(--ms-muted); text-wrap: pretty; }
.ms-countries { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--gap); align-items: start; }
.ms-countries ul { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.ms-countries li { padding: 16px; background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); display: flex; flex-direction: column; gap: 6px; }
.ms-countries strong { font: 600 17px/1.2 var(--ms-font-body); }
.ms-countries span { font: 400 14px/1.4 var(--ms-font-body); color: var(--ms-muted); }

.ms-icon-boxes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
.ms-icon-boxes--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ms-icon-box { display: flex; flex-direction: column; gap: 14px; padding: 28px; background: var(--ms-surface); border: 1px solid var(--ms-border); border-top: 5px solid var(--accent); border-radius: var(--ms-radius); box-shadow: var(--ms-shadow-sm); }
.ms-icon-box__icon { width: 52px; height: 52px; border-radius: var(--ms-radius); background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; }
.ms-icon-box p { font: 400 16px/1.6 var(--ms-font-body); color: var(--ms-muted); text-wrap: pretty; }

.ms-faq { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: var(--gap-l); }
.ms-faq__list { display: flex; flex-direction: column; gap: 12px; }
.ms-faq__item { background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); }
.ms-faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 16px 24px; font: 600 17px/1.35 var(--ms-font-body); cursor: pointer; }
.ms-faq__item summary::-webkit-details-marker { display: none; }
.ms-faq__sym { flex: none; width: 32px; height: 32px; border-radius: 99px; background: var(--accent); color: #fff; display: flex; align-items: center; justify-content: center; font: 500 20px/1 var(--ms-font-body); }
.ms-faq__sym::before { content: '+'; }
.ms-faq__item[open] .ms-faq__sym::before { content: '\2212'; }
.ms-faq__item p { padding: 0 24px 20px; font: 400 16px/1.65 var(--ms-font-body); color: var(--ms-muted); }

.ms-logo-strip { padding: 64px 0; background: var(--ms-surface); border-top: 1px solid var(--ms-border); border-bottom: 1px solid var(--ms-border); }
.ms-logo-strip .ms-container { display: flex; flex-direction: column; gap: 24px; align-items: center; }
.ms-logo-strip__grid { width: 100%; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.ms-logo-strip__logo { aspect-ratio: 200 / 80; border-radius: var(--ms-radius-sm); background: repeating-linear-gradient(135deg, #F3F2EF 0 10px, #ECEBE7 10px 20px); }

.ms-cta { padding: var(--sec) 0; background: var(--accent); color: #fff; }
.ms-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.ms-cta__text { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.ms-cta .ms-h2 { color: #fff; }
.ms-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }

/* Page headers / archives */
.ms-page-header { padding: 80px 0 56px; }
.ms-page-header__inner { display: flex; flex-direction: column; gap: 16px; }
.ms-page-header .ms-h1 { font-size: 56px; }
.ms-page-header .ms-lead { max-width: 640px; color: var(--ms-muted); }
.ms-page-header--band { background: var(--accent); color: #fff; }
.ms-page-header--band .ms-eyebrow { color: rgba(255,255,255,.85); }
.ms-page-header--band .ms-lead { color: rgba(255,255,255,.92); }
.ms-archive:not(.ms-gradient-top) .ms-page-header:not(.ms-page-header--band) .ms-eyebrow { color: var(--accent); }
.ms-section--archive { padding: 64px 0 96px; }

.ms-pagination { margin-top: 56px; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; font: 600 16px/1 var(--ms-font-body); }
.ms-pagination .page-numbers { min-width: 48px; height: 48px; padding: 0 16px; display: flex; align-items: center; justify-content: center; border-radius: var(--ms-radius-pill); border: 1px solid var(--ms-border); background: var(--ms-surface); color: var(--ms-text); text-decoration: none; }
.ms-pagination a.page-numbers:hover { border-color: var(--ms-border-strong); }
.ms-pagination .page-numbers.current { background: var(--accent); border-color: var(--accent); color: #fff; }
.ms-pagination .page-numbers.dots { border: 0; background: none; min-width: 24px; padding: 0; color: var(--ms-muted); }

/* Single listing */
.ms-single { padding: 32px 0 96px; }
.ms-back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font: 600 15px/1 var(--ms-font-body); color: var(--ms-muted); text-decoration: none; }
.ms-back:hover { color: var(--ms-text); }
.ms-single__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin: 16px 0 32px; }
.ms-single__title { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.ms-single__title .ms-h1 { font-size: 52px; }
.ms-single__sub { font: 400 17px/1.4 var(--ms-font-body); color: var(--ms-muted); }
.ms-single__price { display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.ms-single__price strong { font: 700 36px/1.1 var(--ms-font-body); color: var(--accent); }
.ms-gallery { position: relative; display: grid; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: auto auto; gap: 12px; }
.ms-gallery__main { grid-column: 1; grid-row: 1 / span 2; display: block; }
.ms-gallery__main .ms-media { height: 100%; min-height: 360px; }
.ms-gallery__thumb { display: block; }
.ms-gallery__thumb .ms-media { aspect-ratio: 3 / 2; }
.ms-gallery a { cursor: zoom-in; }
.ms-gallery__all { position: absolute; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: var(--ms-radius-pill); border: 0; background: var(--ms-surface); color: var(--ms-text); font: 600 15px/1 var(--ms-font-body); box-shadow: var(--ms-shadow-md); cursor: pointer; }
.ms-single__layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--gap-l); margin-top: var(--gap-l); align-items: start; }
.ms-single__main { display: flex; flex-direction: column; gap: var(--gap-l); }
.ms-single__desc { max-width: 720px; }
.ms-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--ms-border); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); overflow: hidden; }
.ms-facts > div { background: var(--ms-surface); padding: 16px 20px; display: flex; flex-direction: column; gap: 6px; }
.ms-facts dt { font: 500 14px/1.3 var(--ms-font-body); color: var(--ms-muted); }
.ms-facts dd { font: 600 17px/1.3 var(--ms-font-body); }
.ms-spec-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); overflow: hidden; font: 400 16px/1.4 var(--ms-font-body); }
.ms-spec-table th, .ms-spec-table td { padding: 14px 20px; border-bottom: 1px solid var(--ms-border); text-align: left; }
.ms-spec-table tr:last-child th, .ms-spec-table tr:last-child td { border-bottom: 0; }
.ms-spec-table th { width: 42%; font-weight: 500; color: var(--ms-muted); }
.ms-spec-table td { font-weight: 600; }
.ms-enquire { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 140px); background: var(--ms-surface); border: 1px solid var(--ms-border); border-top: 6px solid var(--accent); border-radius: var(--ms-radius); box-shadow: var(--ms-shadow-md); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.ms-enquire .ms-h3 { font-size: 24px; line-height: 1.25; }
.ms-enquire strong { color: var(--ms-text); }
.ms-enquire__hours { border-top: 1px solid var(--ms-border); padding-top: 16px; }

/* Prose */
.ms-prose { display: flex; flex-direction: column; gap: 20px; font: 400 18px/1.75 var(--ms-font-body); }
.ms-prose > * { margin: 0; }
.ms-prose h2 { margin-top: 16px; font: 500 32px/1.2 var(--ms-font-heading); }
.ms-prose h3 { margin-top: 8px; font: 500 24px/1.25 var(--ms-font-heading); }
.ms-prose ul, .ms-prose ol { padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.ms-prose blockquote { margin: 8px 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--ms-primary); font: 500 24px/1.45 var(--ms-font-heading); }
.ms-prose blockquote p { margin: 0; }
.ms-prose a { color: var(--ms-text); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ms-prose img { border-radius: var(--ms-radius); }
.ms-prose figure { margin: 0; }
.ms-prose figcaption { font-size: 14px; color: var(--ms-muted); margin-top: 8px; }
.ms-prose--lg { font-size: 18px; max-width: 720px; }
.ms-prose--page { max-width: 820px; }
.ms-single .ms-prose { font-size: 17px; line-height: 1.7; gap: 16px; }

/* Article (post / page) */
.ms-text-page { padding: 72px 0 96px; }
.ms-article { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.ms-article__header { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.ms-article__header .ms-h1 { font-size: 52px; }
.ms-article__meta { font: 400 15px/1.5 var(--ms-font-body); color: var(--ms-muted); }
.ms-article__image { margin-top: 40px; }
.ms-article .ms-prose { max-width: 720px; margin: 40px auto 0; }
.ms-article__cta { margin-top: 24px; padding: 24px; border-radius: var(--ms-radius); background: var(--ms-tint); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ms-article__cta p { font: 500 17px/1.5 var(--ms-font-body); }

/* About */
.ms-split-360 { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 56px; }
.ms-mission { display: flex; flex-direction: column; gap: 16px; max-width: 880px; }
.ms-mission p { font: 400 34px/1.35 var(--ms-font-heading); text-wrap: balance; }
.ms-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.ms-values > div { display: flex; flex-direction: column; gap: 10px; padding-top: 20px; border-top: 2px solid var(--ms-primary); }
.ms-values h3 { font: 600 19px/1.3 var(--ms-font-body); }
.ms-values p { font: 400 16px/1.6 var(--ms-font-body); color: var(--ms-muted); }
.ms-team-member { display: flex; flex-direction: column; gap: 14px; }
.ms-team-member figcaption { display: flex; flex-direction: column; gap: 4px; }
.ms-team-member strong { font: 500 21px/1.25 var(--ms-font-heading); }
.ms-team-member span { font: 500 14px/1.4 var(--ms-font-body); }
.ms-licenses { padding: 48px; background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: var(--gap); }
.ms-licenses ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; }
.ms-licenses li { display: flex; gap: 14px; align-items: flex-start; }
.ms-licenses li > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.ms-licenses strong { font: 600 16px/1.35 var(--ms-font-body); }
.ms-licenses small { font: 400 14px/1.4 var(--ms-font-body); color: var(--ms-muted); }
.ms-licenses__icon { flex: none; width: 36px; height: 36px; border-radius: 99px; background: var(--ms-tint); color: var(--ms-primary); display: flex; align-items: center; justify-content: center; }

/* Contact */
.ms-page-header + .ms-section--contact { padding-top: 64px; }
.ms-section--contact { padding: 64px 0; }
.ms-contact__layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start; }
.ms-form-card { background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); box-shadow: var(--ms-shadow-sm); padding: 40px; scroll-margin-top: 160px; }
.ms-form { display: flex; flex-direction: column; gap: 20px; }
.ms-form .ms-h3 { font-size: 28px; }
.ms-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ms-field { display: flex; flex-direction: column; gap: 8px; }
.ms-field__label { font: 600 15px/1.3 var(--ms-font-body); }
.ms-req { color: var(--ms-error); }
.ms-field input, .ms-field select, .ms-field textarea { width: 100%; background: var(--ms-surface); border: 1.5px solid var(--ms-border-strong); color: var(--ms-text); font: 400 16px/1 var(--ms-font-body); }
.ms-field input, .ms-field select { height: 52px; padding: 0 20px; border-radius: var(--ms-radius-pill); }
.ms-field textarea { padding: 14px 16px; border-radius: var(--ms-radius-sm); line-height: 1.5; resize: vertical; min-height: 140px; }
.ms-field input:focus, .ms-field select:focus, .ms-field textarea:focus { outline: none; border-color: var(--ms-text); box-shadow: 0 0 0 3px rgba(20,20,20,.12); }
.ms-field [aria-invalid="true"] { border: 2px solid var(--ms-error); }
.ms-field__error { font: 500 14px/1.4 var(--ms-font-body); color: var(--ms-error); }
.ms-select { position: relative; display: block; }
.ms-select select { appearance: none; -webkit-appearance: none; padding-right: 44px; }
.ms-select .ms-icon { position: absolute; right: 16px; top: 17px; pointer-events: none; }
.ms-form__message { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--ms-radius-sm); background: #FBECEA; border: 1px solid #E8B4AE; color: #8A1C15; font: 500 15px/1.5 var(--ms-font-body); }
.ms-form__message .ms-icon { margin-top: 2px; }
.ms-form__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ms-form__foot .ms-btn { padding: 0 32px; }
.ms-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ms-form-success { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 16px 0; }
.ms-form-success__icon { width: 56px; height: 56px; border-radius: 99px; background: #E6F0EA; color: var(--ms-success); display: flex; align-items: center; justify-content: center; }
.ms-form-success p { font-size: 17px; }
.ms-contact__aside { display: flex; flex-direction: column; gap: 24px; }
.ms-contact-list { list-style: none; display: flex; flex-direction: column; background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); }
.ms-contact-list li { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; border-bottom: 1px solid var(--ms-border); }
.ms-contact-list li:last-child { border-bottom: 0; }
.ms-contact-list__icon { flex: none; width: 40px; height: 40px; border-radius: 99px; background: var(--ms-tint); display: flex; align-items: center; justify-content: center; }
.ms-contact-list li > span:last-child { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ms-contact-list small { font: 500 14px/1.3 var(--ms-font-body); color: var(--ms-muted); }
.ms-contact-list a, .ms-contact-list strong { font: 600 17px/1.35 var(--ms-font-body); color: var(--ms-text); text-decoration: none; overflow-wrap: anywhere; }
.ms-contact-list a:hover { text-decoration: underline; }
.ms-hours { background: var(--ms-surface); border: 1px solid var(--ms-border); border-radius: var(--ms-radius); padding: 20px; }
.ms-hours h2 { margin-bottom: 12px; font: 600 17px/1.3 var(--ms-font-body); }
.ms-hours dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 20px; font: 400 16px/1.4 var(--ms-font-body); }
.ms-hours dt { color: var(--ms-muted); }
.ms-map-wrap { padding: 0 0 96px; }
.ms-map { width: 100%; height: 420px; border: 0; border-radius: var(--ms-radius); background: repeating-linear-gradient(135deg, #E3E8E0 0 14px, #DCE2D8 14px 28px); }

/* 404 */
.ms-404 { padding: 120px 0 140px; }
.ms-404__inner { max-width: 920px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.ms-404__big { font: 500 200px/0.9 var(--ms-font-heading); color: var(--ms-primary); letter-spacing: -0.03em; }
.ms-404 .ms-h1 { font-size: 48px; }
.ms-404 .ms-lead { max-width: 560px; }
.ms-404__actions { justify-content: center; }
.ms-404__links { width: 100%; margin-top: 40px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; text-align: left; }
.ms-404__links a { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 64px; padding: 16px 20px; background: var(--ms-surface); border: 1px solid var(--ms-border); border-top: 4px solid var(--c); border-radius: var(--ms-radius); color: var(--ms-text); text-decoration: none; font: 600 16px/1.3 var(--ms-font-body); }
.ms-404__links a span { color: var(--c); }

/* Footer */
.ms-footer { background: var(--ms-surface); border-top: 1px solid var(--ms-border); color: var(--ms-text); padding-top: 72px; }
.ms-footer__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr) minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; }
.ms-footer__brand { display: flex; flex-direction: column; gap: 18px; }
.ms-footer__brand p { font: 400 15px/1.6 var(--ms-font-body); color: var(--ms-muted); max-width: 280px; text-wrap: pretty; }
.ms-footer__col--stack { display: flex; flex-direction: column; gap: 28px; }
.ms-footer__title { margin: 0 0 10px; font: 500 13px/1.2 var(--ms-font-body); color: var(--ms-muted); }
.ms-footer__list { list-style: none; display: grid; gap: 2px; }
.ms-footer__list a { display: flex; align-items: center; gap: 10px; min-height: 34px; color: var(--ms-text); text-decoration: none; font: 500 17px/1.3 var(--ms-font-body); }
.ms-footer__list a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ms-footer__swatch { flex: none; width: 12px; height: 12px; border-radius: 3px; }
.ms-footer__swatch--realestate { background: linear-gradient(135deg, #1A56A8 62%, #2E7D4F 62%) !important; }
.ms-footer__address { font-style: normal; display: grid; gap: 8px; font: 500 17px/1.45 var(--ms-font-body); }
.ms-footer__address a { color: var(--ms-text); text-decoration: none; min-height: 26px; }
.ms-footer__address a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ms-footer__address span { font: 400 15px/1.5 var(--ms-font-body); }
.ms-footer__bottom { margin-top: 56px; padding: 28px 0 36px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font: 400 14px/1.5 var(--ms-font-body); }
.ms-footer__social { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-social { width: 44px; height: 44px; border-radius: 99px; box-shadow: inset 0 0 0 1px var(--ms-border); display: flex; align-items: center; justify-content: center; color: var(--ms-text); }
.ms-social:hover { background: var(--ms-tint); }

/* Lightbox */
.ms-lightbox { position: fixed; inset: 0; z-index: 1000; background: rgba(12,12,12,.92); display: flex; align-items: center; justify-content: center; padding: 64px 72px; }
.ms-lightbox[hidden] { display: none; }
.ms-lightbox img { max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: var(--ms-radius-sm); }
.ms-lightbox button { position: absolute; width: 48px; height: 48px; border: 0; border-radius: 99px; background: rgba(255,255,255,.14); color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.ms-lightbox button:hover { background: rgba(255,255,255,.26); }
.ms-lightbox__close { top: 16px; right: 16px; }
.ms-lightbox__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.ms-lightbox__next { right: 16px; top: 50%; transform: translateY(-50%); }
.ms-lightbox__count { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: rgba(255,255,255,.8); font: 500 14px/1 var(--ms-font-body); }
body.ms-no-scroll { overflow: hidden; }

/* WordPress core bits */
.alignwide { max-width: 1040px; }
.alignfull { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text, .wp-element-caption { font-size: 14px; color: var(--ms-muted); }

/* Tablet */
@media (max-width: 1100px) {
	.ms-nav ul { gap: 18px; }
	.ms-divnav__link { font-size: 12px; letter-spacing: 0.05em; gap: 8px; padding: 0 8px; }
	.ms-404__links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
	:root { --sec: 80px; --gap: 24px; --gap-l: 48px; }
	.ms-header__bar { height: 64px; }
	.ms-nav, .ms-header__actions { display: none; }
	.ms-header__mobile { display: flex; }
	.ms-logo__wordmark { font-size: 22px; }
	.ms-logo__mark { width: 12px; height: 12px; }

	/* Division strip under the header (2 columns, first spans) */
	.ms-divnav { margin: 0; padding: 0 20px 14px; }
	.ms-divnav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 16px; box-shadow: var(--ms-shadow-md); }
	.ms-divnav__item:first-child { grid-column: 1 / -1; }
	.ms-divnav__link { min-height: 46px; padding: 0 10px; font-size: 12px; letter-spacing: 0.06em; text-align: center; white-space: normal; box-shadow: inset 0 0 0 1.5px var(--c); background: var(--ms-surface); }
	.ms-divnav__link .ms-divnav__mark { display: none; }
	.ms-divnav__link.is-current { box-shadow: none; }
	.ms-header.is-sticky .ms-divnav, .ms-header.is-open .ms-divnav { display: none; }

	.ms-mobile-nav { display: block; padding: 8px 20px 28px; background: var(--ms-surface); border-radius: 0 0 12px 12px; max-height: calc(100vh - 64px - var(--wp-admin--admin-bar--height, 0px)); overflow-y: auto; }
	.ms-mobile-nav[hidden] { display: none; }
	.ms-mobile-nav__label { margin: 8px 0; font: 600 12px/1 var(--ms-font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ms-muted); }
	.ms-mobile-nav__divs { list-style: none; display: grid; gap: 8px; }
	.ms-mobile-nav__divs a { display: flex; align-items: center; justify-content: space-between; min-height: 54px; padding: 0 20px; border-radius: 12px; color: #fff; font: 800 15px/1 var(--ms-font-body); letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
	.ms-mobile-nav__company { list-style: none; margin-top: 16px; }
	.ms-mobile-nav__company li { border-bottom: 1px solid var(--ms-border); }
	.ms-mobile-nav__company a { display: flex; align-items: center; min-height: 52px; font: 500 20px/1.2 var(--ms-font-heading); color: var(--ms-text); text-decoration: none; }
	.ms-mobile-nav__company a[aria-current] { font-weight: 700; }
	.ms-mobile-nav__actions { display: grid; gap: 12px; margin-top: 24px; }

	.ms-h1 { font-size: 44px; }
	.ms-h2 { font-size: 34px; }
	.ms-hero-ad { grid-template-columns: minmax(0, 1fr); }
	.ms-hero-ad__text { padding: 40px; }
	.ms-hero-ad__media { min-height: 380px; }
	.ms-trust-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-trust-bar__btn { grid-column: 1 / -1; }
	.ms-division-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-division-card, .ms-division-card--wide { grid-column: auto; }
	.ms-division-card:first-child { grid-column: 1 / -1; }
	.ms-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-grid--team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-contact-bar__inner { grid-template-columns: minmax(0, 1fr); }
	.ms-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-hero-split__inner { grid-template-columns: minmax(0, 1fr); }
	.ms-steps, .ms-icon-boxes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-icon-boxes--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-countries { grid-template-columns: minmax(0, 1fr); }
	.ms-countries ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ms-faq { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.ms-cta__inner { flex-direction: column; align-items: stretch; }
	.ms-single__layout { grid-template-columns: minmax(0, 1fr); }
	.ms-enquire { position: static; }
	.ms-contact__layout { grid-template-columns: minmax(0, 1fr); }
	.ms-split-360, .ms-licenses { grid-template-columns: minmax(0, 1fr); }
	.ms-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
	.ms-float { right: 16px; bottom: 16px; }
	.ms-float__whatsapp { width: 60px; padding: 0; justify-content: center; }
	.ms-float__whatsapp span { display: none; }
}

/* Phone */
@media (max-width: 767px) {
	:root { --sec: 64px; --gap: 20px; --gap-l: 32px; }
	.ms-h1, .ms-page-header .ms-h1, .ms-single__title .ms-h1, .ms-article__header .ms-h1 { font-size: 36px; line-height: 1.12; }
	.ms-h1--xl { font-size: 38px; line-height: 1.08; }
	.ms-h2 { font-size: 30px; line-height: 1.2; }
	.ms-h2--sm { font-size: 26px; }
	.ms-h3 { font-size: 24px; line-height: 1.25; }
	.ms-lead { font-size: 17px; }
	.ms-actions { flex-direction: column; align-items: stretch; }

	.ms-hero { padding: 48px 0 56px; }
	.ms-hero__stack { gap: 20px; }
	.ms-hero-ad__text { padding: 32px 24px; }
	.ms-hero-ad__media { min-height: 300px; }
	.ms-division-cards, .ms-grid--3, .ms-grid--4 { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.ms-division-card:first-child { grid-column: auto; }
	.ms-division-card__media, .ms-division-card--wide .ms-division-card__media { aspect-ratio: 16 / 9; }
	.ms-grid__span2 { grid-column: auto; }
	.ms-card--wide .ms-card__media .ms-media { aspect-ratio: 4 / 3; }
	.ms-section-head { margin-bottom: 24px; }
	.ms-section-head .ms-btn { min-height: 40px; padding: 0 14px; }
	.ms-people { gap: 12px; }
	.ms-steps, .ms-icon-boxes, .ms-icon-boxes--3 { grid-template-columns: minmax(0, 1fr); }
	.ms-countries ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-logo-strip { padding: 48px 0; }
	.ms-logo-strip__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ms-hero-split { padding: 56px 0 48px; }
	.ms-cta__actions { flex-direction: column; }
	.ms-page-header { padding: 56px 0 40px; }
	.ms-section--archive { padding: 48px 0 64px; }

	.ms-single { padding: 24px 0 64px; }
	.ms-single__head { flex-direction: column; align-items: flex-start; }
	.ms-single__price { align-items: flex-start; }
	.ms-single__price strong { font-size: 28px; }
	.ms-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto; }
	.ms-gallery__main { grid-column: 1 / -1; grid-row: auto; }
	.ms-gallery__main .ms-media { aspect-ratio: 3 / 2; min-height: 0; }
	.ms-gallery__thumb .ms-media { border-radius: var(--ms-radius-sm); }
	.ms-gallery__all { right: 10px; bottom: auto; top: 10px; min-height: 40px; font-size: 14px; }
	.ms-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-enquire { padding: 24px 20px; }

	.ms-text-page { padding: 40px 0 64px; }
	.ms-article { padding: 0 20px; }
	.ms-prose { font-size: 17px; line-height: 1.7; }
	.ms-prose h2 { font-size: 26px; }
	.ms-article__cta { flex-direction: column; align-items: stretch; }
	.ms-mission p { font-size: 24px; line-height: 1.4; }
	.ms-values { grid-template-columns: minmax(0, 1fr); }
	.ms-licenses { padding: 28px 20px; }
	.ms-licenses ul { grid-template-columns: minmax(0, 1fr); }

	.ms-section--contact { padding: 40px 0 48px; }
	.ms-form-card { padding: 24px 20px; }
	.ms-form__row { grid-template-columns: minmax(0, 1fr); }
	.ms-form__foot { flex-direction: column; align-items: stretch; }
	.ms-map-wrap { padding: 0; }
	.ms-map-wrap .ms-container { padding: 0; }
	.ms-map { height: 280px; border-radius: 0; }

	.ms-404 { padding: 64px 0 80px; }
	.ms-404__inner { align-items: flex-start; text-align: left; }
	.ms-404__big { font-size: 120px; }
	.ms-404 .ms-h1 { font-size: 32px; }
	.ms-404__actions { width: 100%; }
	.ms-404__links { grid-template-columns: minmax(0, 1fr); }

	.ms-footer { padding-top: 48px; }
	.ms-footer__grid { gap: 36px; }
	.ms-footer__brand { grid-column: 1 / -1; }
	.ms-footer__bottom { margin-top: 36px; flex-direction: column-reverse; align-items: flex-start; }
	.ms-lightbox { padding: 56px 8px; }
}

@media (max-width: 380px) {
	.ms-footer__grid { grid-template-columns: minmax(0, 1fr); }
	.ms-people { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
