/* Muscat Gates — site shell and homepage (approved cream design). */
:root {
	--mgs-cream: #F7F2E8;
	--mgs-cream-2: #FBF7EF;
	--mgs-card: #FFFDF9;
	--mgs-field: #FCF9F3;
	--mgs-line: #E6DCC9;
	--mgs-line-2: #E1D5BF;
	--mgs-pill: #EFE6D5;
	--mgs-ink: #1D2320;
	--mgs-ink-0: #121815;
	--mgs-ink-2: #433D33;
	--mgs-muted: #665F53;
	--mgs-soft: #948B7B;
	--mgs-green: #0E6B4A;
	--mgs-green-2: #0A4F37;
	--mgs-deep: #10281F;
	--mgs-sea: #C4DDDD;
	--mgs-font: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--mgs-wrap: 1280px;
	--mgs-pad: 48px;
}
body.mgs.mgs-lang-ar { --mgs-font: 'IBM Plex Sans Arabic', Tahoma, sans-serif; }
body.mgs.mgs-lang-fa { --mgs-font: Vazirmatn, Tahoma, sans-serif; }
body.mgs.mgs-lang-hi { --mgs-font: 'Noto Sans Devanagari', 'Plus Jakarta Sans', sans-serif; }

@keyframes mgsUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes mgsPop { 0% { opacity: 0; transform: scale(.6); } 70% { opacity: 1; transform: scale(1.06); } 100% { opacity: 1; transform: scale(1); } }
@keyframes mgsPulse { 0% { box-shadow: 0 0 0 0 rgba(14,107,74,.45); } 100% { box-shadow: 0 0 0 14px rgba(14,107,74,0); } }
@keyframes mgsPan { from { transform: scale(1.02); } to { transform: scale(1.08) translate(-1.6%, -1%); } }
@keyframes mgsMarq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- base ---------- */
html { -webkit-text-size-adjust: 100%; }
body.mgs { background: var(--mgs-cream) !important; color: var(--mgs-ink); font-family: var(--mgs-font); overflow-x: hidden; }
body.mgs .mgs-hdr, body.mgs .mgs-ftr, body.mgs .mgs-main, body.mgs .mgs-mbar { font-family: var(--mgs-font); box-sizing: border-box; }
body.mgs .mgs-hdr *, body.mgs .mgs-ftr *, body.mgs .mgs-main *, body.mgs .mgs-mbar * { box-sizing: border-box; }
body.mgs .mgs-main img, body.mgs .mgs-hdr img, body.mgs .mgs-ftr img { max-width: 100%; height: auto; }
body.mgs .mgs-wrap { width: 100%; max-width: var(--mgs-wrap); margin: 0 auto; padding-inline: var(--mgs-pad); }

/* Old Elementor header/footer and the request banner never show with the new shell. */
body.mgs .elementor-location-header, body.mgs .elementor-location-footer { display: none !important; }

/* ---------- buttons ---------- */
body.mgs .mgs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 20px; border-radius: 999px; background: var(--mgs-green); color: #fff !important; font: 600 14.5px/1 var(--mgs-font); text-decoration: none !important; white-space: nowrap; border: 0; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
body.mgs .mgs-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(14,107,74,.22); background: var(--mgs-green-2); color: #fff !important; }
body.mgs .mgs-btn--line { background: transparent; color: var(--mgs-ink-0) !important; border: 1px solid var(--mgs-ink-0); }
body.mgs .mgs-btn--line:hover { background: var(--mgs-ink-0); color: #fff !important; box-shadow: none; }
body.mgs .mgs-btn--light { background: #fff; color: var(--mgs-ink-0) !important; }
body.mgs .mgs-btn--light:hover { background: #fff; color: var(--mgs-ink-0) !important; }

/* ---------- header ---------- */
body.mgs .mgs-hdr { clear: both; position: relative; z-index: 50; background: var(--mgs-cream-2); border-bottom: 1px solid var(--mgs-line); }
body.mgs .mgs-hdr__in { max-width: 1440px; margin: 0 auto; min-height: 76px; padding: 0 var(--mgs-pad); display: flex; align-items: center; gap: 28px; }
body.mgs .mgs-logo { display: flex; align-items: center; flex-shrink: 0; }
body.mgs .mgs-logo img { height: 44px; width: auto; display: block; }
body.mgs .mgs-nav { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; }
body.mgs .mgs-nav { justify-content: center; }
body.mgs .mgs-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: nowrap; gap: 26px; }
body.mgs .mgs-nav .mgs-nav__home { display: none; }
body.mgs .mgs-nav li { margin: 0; padding: 0; }
body.mgs .mgs-nav a { display: block; padding: 6px 0; color: var(--mgs-ink-2); font: 500 14.5px/1.4 var(--mgs-font); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; transition: color .2s ease, border-color .2s ease; }
body.mgs .mgs-nav a:hover { color: var(--mgs-green); }
body.mgs .mgs-nav a[aria-current="page"] { color: var(--mgs-green); border-bottom-color: var(--mgs-green); }
body.mgs .mgs-nav .mgs-nav__cta { display: none; }
body.mgs .mgs-langs { display: flex; align-items: center; gap: 2px; flex-shrink: 0; background: var(--mgs-pill); border-radius: 999px; padding: 3px; }
body.mgs .mgs-langs a { display: inline-flex; align-items: center; height: 30px; padding: 0 11px; border-radius: 999px; font: 600 12.5px/1 var(--mgs-font); color: #7A7163; text-decoration: none; white-space: nowrap; }
body.mgs .mgs-langs a[lang="ar"] { font-family: 'IBM Plex Sans Arabic', sans-serif; }
body.mgs .mgs-langs a[lang="fa"] { font-family: Vazirmatn, sans-serif; }
body.mgs .mgs-langs a[lang="hi"] { font-family: 'Noto Sans Devanagari', sans-serif; }
body.mgs .mgs-langs a:hover { color: var(--mgs-ink-0); }
body.mgs .mgs-langs a.is-on { background: #fff; color: var(--mgs-ink-0); box-shadow: 0 1px 3px rgba(18,24,21,.15); }
body.mgs .mgs-hdr__cta { flex-shrink: 0; height: 42px; padding: 0 18px; font-size: 14px; }
body.mgs .mgs-burger { display: none; width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--mgs-line-2); background: #fff; color: var(--mgs-ink-0); align-items: center; justify-content: center; padding: 0; cursor: pointer; margin-inline-start: auto; }
body.mgs .mgs-burger:hover, body.mgs .mgs-burger:focus { background: #fff; color: var(--mgs-ink-0); }

/* ---------- hero ---------- */
body.mgs .mgs-main { display: block; float: none !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; color: var(--mgs-ink); }
body.mgs .mgs-hero { max-width: var(--mgs-wrap); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 560px) minmax(0, 1fr); align-items: stretch; }
body.mgs .mgs-hero__text { padding: 40px 24px 40px var(--mgs-pad); display: flex; flex-direction: column; justify-content: center; gap: 20px; min-width: 0; }
body.mgs .mgs-eyebrow { align-self: flex-start; font-size: 13px; font-weight: 600; color: var(--mgs-green); background: #E6EEE2; padding: 7px 14px; border-radius: 999px; line-height: 1.4; }
body.mgs .mgs-h1 { margin: 0; font-family: var(--mgs-font); font-weight: 800; font-size: clamp(32px, 3.6vw, 46px); line-height: 1.2; letter-spacing: -0.02em; color: var(--mgs-ink); text-transform: none; }
body.mgs.mgs-lang-ar .mgs-h1, body.mgs.mgs-lang-fa .mgs-h1, body.mgs.mgs-lang-hi .mgs-h1 { letter-spacing: 0; line-height: 1.3; }
body.mgs .mgs-h1 span { color: var(--mgs-green); }
body.mgs .mgs-lead, body.mgs .mgs-lead p { margin: 0; font-size: 16px; line-height: 1.75; color: var(--mgs-muted); }
body.mgs .mgs-lead p + p { margin-top: 8px; }

body.mgs .mgs-search { margin: 0; background: var(--mgs-card); border: 1px solid var(--mgs-line-2); border-radius: 18px; padding: 16px; box-shadow: 0 18px 40px rgba(18,24,21,.07); display: flex; flex-direction: column; gap: 12px; }
body.mgs .mgs-search__tabs { display: flex; flex-wrap: wrap; gap: 6px; }
body.mgs .mgs-search__tabs button { height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--mgs-line-2); background: #fff; color: var(--mgs-ink-2); font: 600 13.5px/1 var(--mgs-font); cursor: pointer; box-shadow: none; transition: background-color .2s ease, color .2s ease; }
body.mgs .mgs-search__tabs button:hover { border-color: var(--mgs-ink-0); background: #fff; color: var(--mgs-ink-0); }
body.mgs .mgs-search__tabs button[aria-selected="true"] { background: var(--mgs-ink-0); border-color: var(--mgs-ink-0); color: #fff; }
body.mgs .mgs-search__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
body.mgs .mgs-search label { display: flex; flex-direction: column; gap: 5px; margin: 0; font: 600 12px/1.3 var(--mgs-font); color: var(--mgs-muted); min-width: 0; }
body.mgs .mgs-search select { width: 100%; height: 46px; margin: 0; border-radius: 10px; border: 1px solid var(--mgs-line-2); background-color: var(--mgs-field); padding: 0 10px; font: 400 14px/1.2 var(--mgs-font); color: var(--mgs-ink-0); box-shadow: none; }
body.mgs .mgs-search[data-mode="projects"] .mgs-search__row { opacity: .45; pointer-events: none; }
body.mgs .mgs-search__go { height: 50px; border: 0; border-radius: 12px; background: var(--mgs-green); color: #fff; font: 700 15.5px/1 var(--mgs-font); display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
body.mgs .mgs-search__go:hover { background: var(--mgs-green-2); color: #fff; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(14,107,74,.22); }

body.mgs .mgs-code { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0; font-size: 13.5px; color: var(--mgs-muted); }
body.mgs .mgs-code label { font-weight: 600; color: var(--mgs-ink-0); margin: 0; }
body.mgs .mgs-code input { width: 150px; height: 38px; margin: 0; border-radius: 10px; border: 1px solid var(--mgs-line-2); padding: 0 12px; font: 400 13.5px/1 var(--mgs-font); background: #fff; box-shadow: none; color: var(--mgs-ink-0); }
body.mgs .mgs-code button { height: 38px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--mgs-line-2); background: #fff; color: var(--mgs-ink-0); font: 600 13.5px/1 var(--mgs-font); cursor: pointer; }
body.mgs .mgs-code button:hover { border-color: var(--mgs-ink-0); background: #fff; color: var(--mgs-ink-0); }

/* map: the stage keeps the 6:5 shape so the pins stay on their areas at every size and zoom */
body.mgs .mgs-map { position: relative; min-width: 0; overflow: hidden; background: var(--mgs-sea); align-self: stretch; min-height: 100%; }
body.mgs .mgs-map__stage { position: relative; width: 100%; aspect-ratio: 6 / 5; }
body.mgs .mgs-map__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; animation: mgsPan 26s ease-in-out infinite alternate; transform-origin: 40% 45%; }
body.mgs .mgs-pin { position: absolute; width: 0; height: 0; z-index: 2; text-decoration: none !important; animation: mgsPop .6s cubic-bezier(.2,.7,.2,1) both; }
body.mgs .mgs-pin:hover, body.mgs .mgs-pin:focus-visible { z-index: 3; }
body.mgs .mgs-pin__dot { position: absolute; left: -6px; top: -6px; width: 12px; height: 12px; border-radius: 50%; background: var(--mgs-green); border: 2px solid #fff; animation: mgsPulse 2.2s ease-out infinite; }
body.mgs .mgs-pin__box { position: absolute; top: 9px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 3px; }
body.mgs .mgs-pin.is-up .mgs-pin__box { top: auto; bottom: 9px; }
body.mgs .mgs-pin.is-start .mgs-pin__box { left: -8px; transform: none; align-items: flex-start; }
body.mgs .mgs-pin.is-end .mgs-pin__box { left: auto; right: -8px; transform: none; align-items: flex-end; }
body.mgs .mgs-pin__price { background: var(--mgs-green); color: #fff; font: 700 13px/1 var(--mgs-font); padding: 5px 10px; border-radius: 999px; box-shadow: 0 4px 12px rgba(14,107,74,.3); white-space: nowrap; transition: transform .2s ease; }
body.mgs .mgs-pin:hover .mgs-pin__price { transform: translateY(-2px) scale(1.05); }
body.mgs .mgs-pin__name { background: rgba(255,255,255,.92); color: var(--mgs-ink-0); font: 600 11.5px/1.6 var(--mgs-font); padding: 0 7px; border-radius: 6px; white-space: nowrap; }
body.mgs .mgs-map__btn { position: absolute; left: 20px; bottom: 20px; z-index: 4; height: 42px; padding: 0 16px; border-radius: 999px; background: #fff; color: var(--mgs-ink-0) !important; display: inline-flex; align-items: center; gap: 8px; font: 600 13.5px/1 var(--mgs-font); box-shadow: 0 6px 18px rgba(18,24,21,.14); text-decoration: none !important; transition: transform .2s ease; }
body.mgs .mgs-map__btn:hover { transform: translateY(-2px); }
body.mgs .mgs-map__leg { position: absolute; right: 20px; bottom: 26px; z-index: 4; font: 12px/1.4 var(--mgs-font); color: var(--mgs-ink-2); background: rgba(255,255,255,.85); padding: 4px 10px; border-radius: 999px; }
body.mgs .mgs-map__attr { position: absolute; right: 6px; top: 6px; z-index: 4; font: 9.5px/1.2 Arial, sans-serif; color: #7A7163; }

/* ---------- trust + ticker ---------- */
body.mgs .mgs-trust { border-top: 1px solid var(--mgs-line); border-bottom: 1px solid var(--mgs-line); }
body.mgs .mgs-trust__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding-top: 26px; padding-bottom: 26px; }
body.mgs .mgs-trust__row div { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.mgs .mgs-trust__row strong { font-size: 15px; font-weight: 700; color: var(--mgs-ink-0); }
body.mgs .mgs-trust__row span { font-size: 13px; color: var(--mgs-muted); line-height: 1.5; }
body.mgs .mgs-ticker { overflow: hidden; background: var(--mgs-cream-2); border-bottom: 1px solid var(--mgs-line); }
body.mgs .mgs-ticker__run { display: flex; width: max-content; padding: 14px 0; animation: mgsMarq 38s linear infinite; }
body.mgs .mgs-ticker__run span { display: inline-flex; align-items: center; gap: 14px; padding: 0 22px; font-size: 14px; font-weight: 600; color: var(--mgs-ink-2); white-space: nowrap; }
body.mgs .mgs-ticker__run i { width: 6px; height: 6px; border-radius: 50%; background: var(--mgs-green); }

/* ---------- sections ---------- */
body.mgs .mgs-sec { padding-top: 88px; }
body.mgs .mgs-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
body.mgs .mgs-h2 { margin: 0 0 8px; font-family: var(--mgs-font); font-weight: 800; font-size: clamp(24px, 2.5vw, 32px); line-height: 1.25; letter-spacing: -0.015em; color: var(--mgs-ink); text-transform: none; }
body.mgs .mgs-h3 { margin: 0 0 4px; font-family: var(--mgs-font); font-weight: 700; font-size: 20px; line-height: 1.35; color: var(--mgs-ink); }
body.mgs.mgs-lang-ar .mgs-h2, body.mgs.mgs-lang-fa .mgs-h2, body.mgs.mgs-lang-hi .mgs-h2 { letter-spacing: 0; line-height: 1.4; }
body.mgs .mgs-sub { margin: 0; font-size: 15px; line-height: 1.7; color: var(--mgs-muted); max-width: 700px; }
body.mgs .mgs-ey { display: block; font-size: 13px; font-weight: 600; color: var(--mgs-green); }
body.mgs .mgs-more { flex-shrink: 0; font-size: 14px; font-weight: 600; color: var(--mgs-green) !important; text-decoration: none !important; white-space: nowrap; }
body.mgs .mgs-more:hover { color: var(--mgs-green-2) !important; }
[dir="rtl"] .mgs-more span, [dir="rtl"] .mgs-proj__foot a span, [dir="rtl"] .mgs-serv a span, [dir="rtl"] .mgs-serv__contact span { display: inline-block; transform: scaleX(-1); }
body.mgs .mgs-more-btn { display: none; }
body.mgs .mgs-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }

body.mgs .mgs-card { display: flex; flex-direction: column; gap: 14px; min-width: 0; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
body.mgs .mgs-card:hover { transform: translateY(-6px); }
body.mgs .mgs-card__media { position: relative; display: block; aspect-ratio: 16 / 10.5; border-radius: 16px; overflow: hidden; background: #EAE0CD; }
body.mgs .mgs-card__media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
body.mgs .mgs-card:hover .mgs-card__media img { transform: scale(1.05); }
body.mgs .mgs-card__badge { position: absolute; top: 12px; inset-inline-start: 12px; z-index: 2; background: var(--mgs-card); color: var(--mgs-ink-0); font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 999px; }
body.mgs .mgs-card__media .mglt-badge, body.mgs .mgs-card__media .mglt-status-dot { display: none !important; }
body.mgs .mgs-card__media .mg-listing-cover { position: absolute !important; inset: 0 !important; margin: 0 !important; width: auto !important; height: auto !important; }
body.mgs .mgs-card__body { display: flex; flex-direction: column; gap: 6px; }
body.mgs .mgs-card__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
body.mgs .mgs-card__top strong { font-size: 19px; font-weight: 700; color: var(--mgs-ink-0); }
body.mgs .mgs-card__top span { font-size: 12px; color: var(--mgs-soft); }
body.mgs .mgs-card__t { margin: 0; font: 500 15px/1.5 var(--mgs-font); color: var(--mgs-ink-2); letter-spacing: 0; }
body.mgs .mgs-card__t a { color: inherit !important; text-decoration: none !important; }
body.mgs .mgs-card__t a:hover { color: var(--mgs-green) !important; }
body.mgs .mgs-card__meta { font-size: 13px; color: var(--mgs-soft); }

body.mgs .mgs-areas { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
body.mgs .mgs-area { display: flex; flex-direction: column; gap: 8px; min-width: 0; color: var(--mgs-ink-0) !important; text-decoration: none !important; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
body.mgs .mgs-area:hover { transform: translateY(-6px); }
body.mgs .mgs-area__img { position: relative; display: block; aspect-ratio: 10 / 11; border-radius: 14px; overflow: hidden; background: #EAE0CD; }
body.mgs .mgs-area__img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
body.mgs .mgs-area:hover .mgs-area__img img { transform: scale(1.05); }
body.mgs .mgs-area strong { font-size: 15.5px; font-weight: 700; }
body.mgs .mgs-area > span:last-child { font-size: 12.5px; color: var(--mgs-soft); line-height: 1.5; }

body.mgs .mgs-proj { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
body.mgs .mgs-proj__img { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; background: #EAE0CD; }
body.mgs .mgs-proj__img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
body.mgs .mgs-proj:hover .mgs-proj__img img { transform: scale(1.05); }
body.mgs .mgs-proj__loc { font-size: 12px; font-weight: 600; color: var(--mgs-green); text-transform: uppercase; letter-spacing: .05em; }
body.mgs.mgs-lang-ar .mgs-proj__loc, body.mgs.mgs-lang-fa .mgs-proj__loc { letter-spacing: 0; }
body.mgs .mgs-proj__t { margin: 0; font: 700 20px/1.35 var(--mgs-font); color: var(--mgs-ink); }
body.mgs .mgs-proj__t a { color: inherit !important; text-decoration: none !important; }
body.mgs .mgs-proj p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--mgs-muted); }
body.mgs .mgs-proj__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 10px; border-top: 1px solid var(--mgs-line); padding-top: 12px; font-size: 14px; font-weight: 600; color: var(--mgs-ink); }
body.mgs .mgs-proj__foot a { color: var(--mgs-green) !important; text-decoration: none !important; }

body.mgs .mgs-feature { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0; border: 1px solid var(--mgs-line-2); border-radius: 22px; overflow: hidden; background: var(--mgs-card); }
body.mgs .mgs-feature__img { position: relative; min-height: 280px; background: #EAE0CD; }
body.mgs .mgs-feature__img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
body.mgs .mgs-feature__body { padding: 36px 40px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
body.mgs .mgs-feature__body h3 { margin: 6px 0 0; font: 700 18px/1.4 var(--mgs-font); color: var(--mgs-ink); }
body.mgs .mgs-feature__body p { margin: 0; font-size: 15px; line-height: 1.75; color: var(--mgs-muted); }
body.mgs .mgs-feature__lead p:first-child { font-weight: 600; color: var(--mgs-ink-2); }
body.mgs .mgs-feature .mgs-btn { margin-top: 6px; }

body.mgs .mgs-split { display: flex; gap: 48px; align-items: flex-start; }
body.mgs .mgs-split__side { width: 330px; flex-shrink: 0; display: flex; flex-direction: column; gap: 14px; }
body.mgs .mgs-split__side .mgs-h2 { margin: 0; }
body.mgs .mgs-table { flex: 1; min-width: 0; border: 1px solid var(--mgs-line-2); border-radius: 16px; overflow: hidden; background: var(--mgs-card); }
body.mgs .mgs-table__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.mgs .mgs-table table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14.5px; border: 0; background: transparent; }
body.mgs .mgs-table thead th { background: #F2EADB; color: var(--mgs-muted); font-size: 13px; font-weight: 600; text-align: start; padding: 13px 18px; border: 0; white-space: nowrap; }
body.mgs .mgs-table tbody th, body.mgs .mgs-table td { padding: 12px 18px; border: 0; border-top: 1px solid var(--mgs-line); background: transparent; text-align: start; white-space: nowrap; }
body.mgs .mgs-table tbody th { font-weight: 600; color: var(--mgs-ink-0); }
body.mgs .mgs-table td { color: var(--mgs-ink-2); }
body.mgs .mgs-table tbody tr:nth-child(2n) th, body.mgs .mgs-table tbody tr:nth-child(2n) td { background: transparent; }
body.mgs .mgs-table__foot { padding: 10px 18px; font-size: 12px; color: var(--mgs-soft); border-top: 1px solid var(--mgs-line); }

body.mgs .mgs-about { display: flex; gap: 48px; align-items: flex-start; }
body.mgs .mgs-about__main, body.mgs .mgs-about__serv { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
body.mgs .mgs-about__main .mgs-h2 { margin: 0; }
body.mgs .mgs-about__text p { margin: 0 0 12px; font-size: 15px; line-height: 1.8; color: var(--mgs-muted); }
body.mgs .mgs-about__main .mgs-btn { align-self: flex-start; margin-top: 6px; }
body.mgs .mgs-serv { border: 1px solid var(--mgs-line-2); border-radius: 16px; padding: 22px; display: flex; flex-direction: column; gap: 10px; background: transparent; transition: border-color .2s ease, background-color .2s ease; }
body.mgs .mgs-serv:hover { border-color: var(--mgs-green); background: var(--mgs-card); }
body.mgs .mgs-serv h3 { margin: 0; font: 700 18px/1.4 var(--mgs-font); color: var(--mgs-ink); }
body.mgs .mgs-serv p { margin: 0; font-size: 14px; line-height: 1.75; color: var(--mgs-muted); }
body.mgs .mgs-serv a, body.mgs .mgs-serv__contact { font-size: 14px; font-weight: 600; color: var(--mgs-green) !important; text-decoration: none !important; }

body.mgs .mgs-owners { border-radius: 22px; background: var(--mgs-deep); color: #F7F2E8; padding: 44px 48px; display: flex; gap: 40px; align-items: center; }
body.mgs .mgs-owners > div:first-child { flex: 1 1 auto; display: flex; flex-direction: column; gap: 12px; }
body.mgs .mgs-owners .mgs-h2 { color: #F7F2E8; margin: 0; }
body.mgs .mgs-owners p { margin: 0; font-size: 15px; line-height: 1.75; color: #D6CCB8; max-width: 560px; }
body.mgs .mgs-owners__btns { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
body.mgs .mgs-owners__btns .mgs-btn { height: 50px; padding: 0 24px; font-size: 15px; font-weight: 700; }

/* ---------- footer ---------- */
body.mgs .mgs-ftr { clear: both; margin-top: 96px; background: var(--mgs-deep); color: #D6CCB8; padding: 56px 0 30px; }
body.mgs .mgs-ftr__grid { display: grid; grid-template-columns: 1.3fr repeat(3, minmax(0, 1fr)); gap: 30px; }
body.mgs .mgs-ftr__about { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
body.mgs .mgs-ftr__logo { display: inline-flex; background: #fff; border-radius: 10px; padding: 8px 12px; }
body.mgs .mgs-ftr__logo img { height: 36px; width: auto; display: block; }
body.mgs .mgs-ftr p { margin: 0; font-size: 14px; line-height: 1.8; color: #D6CCB8; }
body.mgs .mgs-ftr__col { display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.6; min-width: 0; }
body.mgs .mgs-ftr__col strong { color: #fff; font-size: 14.5px; margin-bottom: 2px; }
body.mgs .mgs-ftr a { color: #D6CCB8 !important; text-decoration: none !important; }
body.mgs .mgs-ftr a:hover { color: #fff !important; }
body.mgs .mgs-ftr__col a[dir="ltr"] { align-self: flex-start; }
body.mgs .mgs-ftr__bar { margin-top: 34px; border-top: 1px solid #2A4237; padding-top: 18px; font-size: 13px; }
body.mgs .mgs-mbar { display: none; }

/* ---------- motion ---------- */
.mgs-up { animation: mgsUp .9s cubic-bezier(.2,.7,.2,1) both; }
.mgs-d1 { animation-delay: .08s; } .mgs-d2 { animation-delay: .18s; } .mgs-d3 { animation-delay: .3s; } .mgs-d4 { animation-delay: .42s; } .mgs-d5 { animation-delay: .56s; }
.mgs-js .mgs-reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.mgs-js .mgs-reveal.is-in { opacity: 1; transform: none; }

/* ---------- request form (plugin): restyled to match the site ---------- */
body.mgs-front #mgrq-banner { display: none !important; }
body.mgs-front #mgrq-embed { display: none !important; }
body.mgs.mgs-rq-open { overflow: hidden !important; }
body.mgs.mgs-rq-open #mgrq-embed { display: block !important; position: fixed !important; inset: 0 !important; z-index: 100000 !important; margin: 0 !important; padding: 4vh 16px 32px !important; overflow-y: auto !important; background: rgba(16,40,31,.45) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.mgs.mgs-rq-open #mgrq-embed > .mgrq { max-width: 720px; margin-inline: auto !important; }
body.mgs.mgs-rq-open #mgrq .mq-card { animation: mgsRq .35s cubic-bezier(.2,.7,.2,1) both; box-shadow: 0 40px 90px rgba(10,30,22,.35); }
@keyframes mgsRq { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
body.mgs .mgs-rq-close { position: fixed; top: 14px; inset-inline-end: 14px; z-index: 100001; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--mgs-line-2); background: #fff; color: var(--mgs-ink-0); display: none; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 8px 22px rgba(0,0,0,.18); padding: 0; transition: transform .2s ease; }
body.mgs .mgs-rq-close:hover { transform: rotate(90deg); background: #fff; color: var(--mgs-ink-0); }
body.mgs.mgs-rq-open .mgs-rq-close { display: inline-flex; }

body.mgs #mgrq { font-family: var(--mgs-font); color: var(--mgs-ink); --brand: #0E6B4A; --gold: #0E6B4A; --cream: #E6EEE2; --line: #E6DCC9; }
body.mgs #mgrq .mq-card { background: #fff; border: 1px solid var(--mgs-line); border-radius: 24px; overflow: hidden; }
body.mgs #mgrq .mq-hero { background: var(--mgs-cream-2); color: var(--mgs-ink); padding: 28px 30px 22px; border-bottom: 1px solid var(--mgs-line); }
body.mgs #mgrq .mq-k { display: inline-block; font-size: 12.5px; letter-spacing: 0; font-weight: 600; color: var(--mgs-green); background: #E6EEE2; padding: 6px 12px; border-radius: 999px; }
body.mgs #mgrq .mq-hero h2 { margin: 14px 0 6px; font-family: var(--mgs-font); font-size: clamp(22px, 3vw, 28px); font-weight: 800; line-height: 1.3; letter-spacing: -0.015em; color: var(--mgs-ink); }
body.mgs.mgs-lang-ar #mgrq .mq-hero h2, body.mgs.mgs-lang-fa #mgrq .mq-hero h2 { letter-spacing: 0; }
body.mgs #mgrq .mq-hero p { color: var(--mgs-muted); font-size: 15px; line-height: 1.7; margin: 0; }
body.mgs #mgrq .mq-lang { top: 24px; inset-inline-end: 24px; background: #fff; border: 1px solid var(--mgs-line-2); color: var(--mgs-ink-0); font-family: var(--mgs-font); font-weight: 600; font-size: 13px; padding: 7px 14px; }
body.mgs #mgrq .mq-lang:hover { border-color: var(--mgs-ink-0); }
body.mgs #mgrq .mq-bar { height: 6px; background: #EFE6D5; margin-top: 20px; }
body.mgs #mgrq .mq-bar i { background: var(--mgs-green); }
body.mgs #mgrq .mq-steps { gap: 8px; margin-top: 14px; }
body.mgs #mgrq .mq-steps span:nth-child(2n) { display: none; }
body.mgs #mgrq .mq-steps span { font-size: 12.5px; font-weight: 600; color: var(--mgs-soft); background: #fff; border: 1px solid var(--mgs-line); border-radius: 999px; padding: 5px 12px; }
body.mgs #mgrq .mq-steps span.mq-on { color: #fff; background: var(--mgs-green); border-color: var(--mgs-green); }
body.mgs #mgrq .mq-body { padding: 26px 30px 0; }
body.mgs #mgrq h3 { font-family: var(--mgs-font); font-size: 15.5px; font-weight: 700; color: var(--mgs-ink); margin: 0 0 12px; }
body.mgs #mgrq .mq-q { margin-bottom: 24px; }
body.mgs #mgrq .mq-tile { font-family: var(--mgs-font); background: var(--mgs-field); border: 1px solid var(--mgs-line-2); border-radius: 14px; padding: 16px 8px 14px; gap: 8px; font-size: 14px; font-weight: 600; color: var(--mgs-ink-2); transition: border-color .2s ease, background-color .2s ease, transform .2s ease, box-shadow .2s ease; position: relative; }
body.mgs #mgrq .mq-tile svg { width: 26px; height: 26px; stroke: var(--mgs-green); }
body.mgs #mgrq .mq-tile:hover { border-color: var(--mgs-green); background: #fff; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(18,24,21,.06); }
body.mgs #mgrq .mq-tile.mq-on { background: #E6EEE2; border-color: var(--mgs-green); color: var(--mgs-ink-0); box-shadow: 0 0 0 3px rgba(14,107,74,.12); }
body.mgs #mgrq .mq-tile.mq-on::after { content: ""; position: absolute; top: 8px; inset-inline-end: 8px; width: 18px; height: 18px; border-radius: 50%; background: var(--mgs-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 12px no-repeat; }
body.mgs #mgrq .mq-deal .mq-tile { padding: 16px; font-size: 15.5px; gap: 10px; }
body.mgs #mgrq .mq-chip { font-family: var(--mgs-font); border: 1px solid var(--mgs-line-2); background: #fff; color: var(--mgs-ink-2); padding: 9px 16px; font-size: 13.5px; font-weight: 600; transition: all .2s ease; }
body.mgs #mgrq .mq-chip:hover { border-color: var(--mgs-ink-0); color: var(--mgs-ink-0); }
body.mgs #mgrq .mq-chip.mq-on { background: var(--mgs-ink-0); border-color: var(--mgs-ink-0); color: #fff; }
body.mgs #mgrq .mq-range input[type=range] { accent-color: var(--mgs-green); }
body.mgs #mgrq .mq-money { font-family: var(--mgs-font); color: var(--mgs-green); font-size: 19px; }
body.mgs #mgrq label.mq-f { font-family: var(--mgs-font); color: var(--mgs-muted); font-size: 12.5px; }
body.mgs #mgrq input.mq-i, body.mgs #mgrq textarea.mq-i { border: 1px solid var(--mgs-line-2); border-radius: 12px; background: var(--mgs-field); font-family: var(--mgs-font); box-shadow: none; }
body.mgs #mgrq input.mq-i:focus, body.mgs #mgrq textarea.mq-i:focus { border-color: var(--mgs-green); background: #fff; box-shadow: 0 0 0 3px rgba(14,107,74,.12); }
body.mgs #mgrq .mq-ph span { border: 1px solid var(--mgs-line-2); background: #F2EADB; font-family: var(--mgs-font); }
body.mgs #mgrq .mq-nav { position: sticky; bottom: 0; z-index: 2; margin: 8px -30px 0; padding: 16px 30px; background: rgba(255,255,255,.96); border-top: 1px solid var(--mgs-line); align-items: center; }
body.mgs #mgrq .mq-btn { font-family: var(--mgs-font); border-radius: 999px; padding: 0 26px; height: 48px; font-size: 15px; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }
body.mgs #mgrq .mq-btn.mq-pri { background: var(--mgs-green); color: #fff; box-shadow: none; }
body.mgs #mgrq .mq-btn.mq-pri:hover { background: var(--mgs-green-2); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(14,107,74,.22); }
body.mgs #mgrq .mq-btn.mq-ghost { background: #fff; border: 1px solid var(--mgs-line-2); color: var(--mgs-ink-0); }
body.mgs #mgrq .mq-trust { margin: 0 -30px; padding: 14px 30px 20px; background: var(--mgs-cream-2); border-top: 1px solid var(--mgs-line); gap: 8px 18px; font-size: 12.5px; color: var(--mgs-muted); }
body.mgs #mgrq .mq-done h3 { font-size: 22px; }
body.mgs #mgrq .mq-ok { background: #E6EEE2; }
body.mgs #mgrq .mq-mx a { border-color: var(--mgs-line); border-radius: 14px; }
body.mgs #mgrq .mq-mx small { color: var(--mgs-green); }
@media (max-width: 640px) {
	body.mgs.mgs-rq-open #mgrq-embed { padding: 0 !important; background: #fff !important; }
	body.mgs.mgs-rq-open #mgrq .mq-card { border-radius: 0; border: 0; min-height: 100vh; box-shadow: none; }
	body.mgs #mgrq .mq-hero { padding: 22px 18px 18px; padding-inline-end: 64px; }
	body.mgs #mgrq .mq-lang { top: 18px; inset-inline-end: 68px; padding: 6px 12px; }
	body.mgs #mgrq .mq-hero { padding-top: 70px; }
	body.mgs #mgrq .mq-body { padding: 20px 18px 0; }
	body.mgs #mgrq .mq-nav { margin: 8px -18px 0; padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); }
	body.mgs #mgrq .mq-trust { margin: 0 -18px; padding: 12px 18px 18px; }
	body.mgs #mgrq .mq-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	body.mgs #mgrq .mq-tile { font-size: 12.5px; padding: 12px 4px; }
	body.mgs .mgs-rq-close { top: 16px; }
}


/* language menu */
body.mgs .mgs-lang { position: relative; flex-shrink: 0; margin: 0; }
body.mgs .mgs-lang summary { list-style: none; display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--mgs-line-2); background: #fff; color: var(--mgs-ink-0); font: 600 13.5px/1 var(--mgs-font); cursor: pointer; user-select: none; white-space: nowrap; }
body.mgs .mgs-lang summary::-webkit-details-marker { display: none; }
body.mgs .mgs-lang summary:hover { border-color: var(--mgs-ink-0); }
body.mgs .mgs-lang__chev { transition: transform .2s ease; }
body.mgs .mgs-lang[open] .mgs-lang__chev { transform: rotate(180deg); }
body.mgs .mgs-lang__list { position: absolute; top: calc(100% + 8px); inset-inline-end: 0; z-index: 60; min-width: 170px; background: #fff; border: 1px solid var(--mgs-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(18,24,21,.12); padding: 6px; display: flex; flex-direction: column; }
body.mgs .mgs-lang__list a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--mgs-ink-2) !important; text-decoration: none !important; font: 500 14px/1.3 var(--mgs-font); }
body.mgs .mgs-lang__list a:hover { background: var(--mgs-cream); color: var(--mgs-ink-0) !important; }
body.mgs .mgs-lang__list a.is-on { background: var(--mgs-cream); color: var(--mgs-green) !important; font-weight: 700; }
body.mgs .mgs-lang [lang="ar"] { font-family: 'IBM Plex Sans Arabic', sans-serif; }
body.mgs .mgs-lang [lang="fa"] { font-family: Vazirmatn, sans-serif; }
body.mgs .mgs-lang [lang="hi"] { font-family: 'Noto Sans Devanagari', sans-serif; }
body.mgs .mgs-langs--mob { display: none; }
@media (max-width: 1320px) {
	body.mgs .mgs-burger { display: inline-flex; }
	body.mgs .mgs-hdr__in { flex-wrap: wrap; row-gap: 0; gap: 12px; }
	body.mgs .mgs-hdr__cta { display: none; }
	body.mgs .mgs-lang { order: 3; }
	body.mgs .mgs-burger { order: 4; margin-inline-start: 0; }
	body.mgs .mgs-logo { margin-inline-end: auto; }
	body.mgs .mgs-nav { order: 5; flex: 1 0 100%; display: none; flex-direction: column; align-items: stretch; gap: 12px; padding: 8px 0 18px; }
	body.mgs .mgs-hdr.is-open .mgs-nav { display: flex; }
	body.mgs .mgs-nav ul { flex-direction: column; gap: 0; }
	body.mgs .mgs-nav .mgs-nav__home { display: block; }
	body.mgs .mgs-nav li + li { border-top: 1px solid var(--mgs-line); }
	body.mgs .mgs-nav a { padding: 13px 2px; font-size: 16px; border-bottom: 0; }
	body.mgs .mgs-nav a[aria-current="page"] { border-bottom: 0; }
	body.mgs .mgs-nav .mgs-nav__cta { display: inline-flex; align-self: stretch; height: 48px; }
}
@media (max-width: 680px) {
	body.mgs .mgs-lang { display: none; }
	body.mgs .mgs-langs--mob { display: flex; width: max-content; max-width: calc(100% - 32px); margin: 0 auto 10px; }
}

/* ---------- responsive ---------- */
@media (max-width: 1240px) {
	:root { --mgs-pad: 32px; }
	body.mgs .mgs-hdr__in { gap: 16px; }
	body.mgs .mgs-nav ul { gap: 16px; }
	body.mgs .mgs-areas { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
	body.mgs .mgs-hero { grid-template-columns: minmax(0, 1fr); }
	body.mgs .mgs-hero__text { padding: 28px var(--mgs-pad) 22px; }
	body.mgs .mgs-map { min-height: 0; }
	body.mgs .mgs-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.mgs .mgs-trust__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.mgs .mgs-split, body.mgs .mgs-about, body.mgs .mgs-owners { flex-direction: column; align-items: stretch; }
	body.mgs .mgs-split__side { width: auto; }
	body.mgs .mgs-owners { padding: 32px 28px; gap: 22px; }
	body.mgs .mgs-feature { grid-template-columns: minmax(0, 1fr); }
	body.mgs .mgs-feature__img { min-height: 220px; }
	body.mgs .mgs-feature__body { padding: 26px 24px; }
	body.mgs .mgs-ftr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.mgs .mgs-sec { padding-top: 64px; }
}
@media (max-width: 680px) {
	:root { --mgs-pad: 16px; }
	body.mgs .mgs-hdr__in { min-height: 62px; }
	body.mgs .mgs-logo img { height: 36px; }
	body.mgs .mgs-h1 { font-size: 30px; line-height: 1.25; }
	body.mgs .mgs-lead, body.mgs .mgs-lead p { font-size: 14.5px; line-height: 1.7; }
	body.mgs .mgs-search { padding: 12px; border-radius: 16px; }
	body.mgs .mgs-search__tabs button { flex: 1 1 auto; padding: 0 8px; font-size: 12.5px; }
	body.mgs .mgs-search__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.mgs .mgs-search__row label:last-child { grid-column: 1 / -1; }
	body.mgs .mgs-pin__name, body.mgs .mgs-pin__cur { display: none; }
	body.mgs .mgs-pin__price { font-size: 10.5px; padding: 3px 7px; }
	body.mgs .mgs-pin__dot { left: -4px; top: -4px; width: 8px; height: 8px; }
	body.mgs .mgs-pin__box { top: 7px; }
	body.mgs .mgs-pin.is-up .mgs-pin__box { bottom: 7px; }
	body.mgs .mgs-map__leg { display: none; }
	body.mgs .mgs-map__btn { position: static; margin: 10px 16px 0; display: flex; justify-content: center; height: 44px; border-radius: 12px; box-shadow: none; border: 1px solid var(--mgs-line-2); background: transparent; }
	body.mgs .mgs-map { background: transparent; overflow: visible; }
	body.mgs .mgs-map__stage { overflow: hidden; background: var(--mgs-sea); }
	body.mgs .mgs-trust__row { gap: 16px; padding-top: 20px; padding-bottom: 20px; }
	body.mgs .mgs-sec { padding-top: 44px; }
	body.mgs .mgs-head { margin-bottom: 18px; }
	body.mgs .mgs-head .mgs-more { display: none; }
	body.mgs .mgs-more-btn { display: flex; align-items: center; justify-content: center; margin-top: 18px; height: 46px; border-radius: 12px; border: 1px solid var(--mgs-ink-0); font-size: 14px; font-weight: 600; color: var(--mgs-ink-0) !important; text-decoration: none !important; }
	body.mgs .mgs-grid3 { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body.mgs .mgs-areas { gap: 10px; }
	body.mgs .mgs-area strong { font-size: 13px; }
	body.mgs .mgs-area > span:last-child { display: none; }
	body.mgs .mgs-table table { font-size: 13px; }
	body.mgs .mgs-table thead th, body.mgs .mgs-table tbody th, body.mgs .mgs-table td { padding: 11px 12px; }
	body.mgs .mgs-owners { padding: 22px 18px; border-radius: 18px; }
	body.mgs .mgs-owners__btns .mgs-btn { flex: 1 1 auto; height: 46px; }
	body.mgs .mgs-ftr { margin-top: 44px; padding: 32px 0 96px; }
	body.mgs .mgs-ftr__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body.mgs .mgs-mbar { display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff; border-top: 1px solid var(--mgs-line); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); }
	body.mgs .mgs-mbar a { flex: 1 1 0; height: 46px; border-radius: 999px; display: flex; align-items: center; justify-content: center; gap: 8px; font: 600 15px/1 var(--mgs-font); color: #fff !important; text-decoration: none !important; }
	body.mgs .mgs-mbar__call { background: var(--mgs-ink-0); }
	body.mgs .mgs-mbar__wa { background: #1FA855; }
}
@media (prefers-reduced-motion: reduce) {
	.mgs-up, body.mgs .mgs-map__img, body.mgs .mgs-pin, body.mgs .mgs-pin__dot, body.mgs .mgs-ticker__run { animation: none !important; }
	.mgs-js .mgs-reveal { opacity: 1; transform: none; transition: none; }
	body.mgs .mgs-card, body.mgs .mgs-area, body.mgs .mgs-card__media img, body.mgs .mgs-area__img img, body.mgs .mgs-proj__img img { transition: none !important; }
}

/* ================= v8 — Listing archives: full-width grid + tidy cards ================= */
body.mgs:not(#mgsx) .elementor-location-archive .e-con-full:has(> .elementor-widget-loop-grid) {
	--width: 100% !important; width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important;
	padding: 0 !important; margin-top: 22px !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .elementor-loop-container {
	grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)) !important;
	gap: 24px !important; align-items: stretch !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item { height: auto !important; min-width: 0; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item > .e-con {
	height: 100% !important; padding: 12px 12px 14px !important; margin: 0 !important;
	background: var(--mgs-card, #FFFDF9) !important; border: 1px solid var(--mgs-line, #E6DCC9) !important;
	border-radius: 20px !important; box-shadow: 0 10px 26px rgba(40, 25, 10, .06) !important;
	transition: transform .25s ease, box-shadow .25s ease;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item > .e-con:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(40, 25, 10, .10) !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item > .e-con > .e-con-inner {
	width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important;
	display: flex !important; flex-direction: column !important; gap: 6px !important; height: 100%;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > * { width: 100% !important; max-width: 100% !important; margin: 0 !important; }

/* Photo: same size on every card */
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-widget-theme-post-featured-image { margin-bottom: 8px !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .mg-listing-cover--card,
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-widget-theme-post-featured-image > a {
	position: relative; display: block; width: 100% !important; aspect-ratio: 4 / 3; height: auto !important;
	border-radius: 14px !important; overflow: hidden !important; background: var(--mgs-pill, #EFE6D5);
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .mg-listing-cover--card > a { position: absolute; inset: 0; display: block; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .mg-listing-cover--card img,
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-widget-theme-post-featured-image img {
	position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: cover !important; border-radius: 0 !important; display: block;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .mglt-badge { font: 700 12px/1 var(--mgs-font) !important; }

/* Text */
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-heading-title {
	font-family: var(--mgs-font) !important; letter-spacing: 0 !important; padding: 0 4px !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .elementor-widget-heading:nth-child(2) .elementor-heading-title {
	font-size: 16.5px !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--mgs-ink, #1D2320) !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.8em;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .elementor-widget-heading:nth-child(2) a { color: inherit !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .elementor-widget-heading:nth-child(3) .elementor-heading-title,
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .elementor-widget-heading:nth-child(3) a {
	font-size: 19px !important; font-weight: 800 !important; line-height: 1.3 !important; color: var(--mgs-green, #0E6B4A) !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .elementor-widget-heading:nth-child(4) .elementor-heading-title {
	font-size: 13.5px !important; font-weight: 500 !important; line-height: 1.4 !important; color: var(--mgs-muted, #665F53) !important;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Beds / baths row */
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .e-flex.e-con-full:not(.e-grid) {
	display: flex !important; flex-direction: row !important; align-items: center; gap: 18px !important;
	padding: 10px 12px !important; margin-top: 4px !important; border-radius: 12px !important; background: var(--mgs-field, #FCF9F3) !important;
	border: 1px solid var(--mgs-line, #E6DCC9) !important; min-height: 0 !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .e-flex.e-con-full:not(.e-grid) > * { width: auto !important; margin: 0 !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-widget-icon-box:not(:has(.elementor-icon-box-title)) { display: none !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-icon-box-title { font: 700 14px/1 var(--mgs-font) !important; margin: 0 !important; }

/* Buttons pinned to the bottom, same size everywhere */
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-con-inner > .e-grid {
	margin-top: auto !important; padding-top: 10px !important;
	display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-grid > * { width: 100% !important; margin: 0 !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-grid .elementor-button {
	width: 100% !important; height: 44px !important; padding: 0 10px !important; border-radius: 12px !important;
	display: inline-flex !important; align-items: center; justify-content: center;
	font: 700 14px/1 var(--mgs-font) !important; letter-spacing: 0 !important; text-transform: none !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-grid .elementor-button * { font: inherit !important; }
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-grid > button {
	grid-column: 1 / -1; width: 100% !important; min-height: 40px; height: auto !important; margin: 0 !important; padding: 8px 10px !important;
	font: 600 13px/1.3 var(--mgs-font) !important; color: var(--mgs-green, #0E6B4A) !important; text-align: center !important;
	background: transparent !important; border: 1px dashed var(--mgs-line, #E6DCC9) !important; border-radius: 12px !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-loop-item .e-grid > button:hover { background: var(--mgs-field, #FCF9F3) !important; }

/* Fa / Ar fonts */
body.mgs-lang-fa:not(#mgsx) .elementor-location-archive .e-loop-item *, body.mgs-lang-ar:not(#mgsx) .elementor-location-archive .e-loop-item * { font-family: inherit; }
body.mgs-lang-fa:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-heading-title,
body.mgs-lang-fa:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-button { font-family: 'Vazirmatn', Tahoma, sans-serif !important; }
body.mgs-lang-ar:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-heading-title,
body.mgs-lang-ar:not(#mgsx) .elementor-location-archive .e-loop-item .elementor-button { font-family: 'IBM Plex Sans Arabic', Tahoma, sans-serif !important; }

@media (max-width: 600px) {
	body.mgs:not(#mgsx) .elementor-location-archive .elementor-loop-container { grid-template-columns: 1fr !important; gap: 18px !important; }
}

body.mgs:not(#mgsx) .elementor-location-archive .elementor-loop-container > .e-loop-item { margin: 0 !important; }

/* ================= v10 — Rent + Sale archives share one layout ================= */
body.mgs:not(#mgsx) .elementor-location-archive:has(.mg-archive-heading)::before { display: none !important; content: none !important; }
body.mgs:not(#mgsx) .elementor-location-archive:has(.mg-archive-heading) .elementor-element-a2242c3 > .e-con-inner {
	display: block !important; max-width: 1240px !important; margin-inline: auto !important; padding-inline: 0 !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .e-con-full:has(> .e-con-full > .mg-archive-heading),
body.mgs:not(#mgsx) .elementor-location-archive .e-con-full:has(> .mg-archive-heading) {
	--width: 100% !important; width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important;
	padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
	position: static !important; height: auto !important; min-height: 0 !important;
}

/* Page title — calm, centred, on the cream background */
body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading {
	display: block !important; margin: 8px auto 30px !important; padding: 0 !important; max-width: 900px;
	background: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	color: var(--mgs-ink, #1D2320) !important; text-align: center !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading::before,
body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading::after { display: none !important; }
body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading__kicker {
	display: inline-block !important; margin: 0 0 12px !important; padding: 6px 14px !important; border-radius: 999px !important;
	background: #E6EEE2 !important; color: var(--mgs-green, #0E6B4A) !important;
	font: 700 12px/1.2 var(--mgs-font) !important; letter-spacing: .08em !important; text-transform: uppercase !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading h1 {
	margin: 0 0 12px !important; color: var(--mgs-ink, #1D2320) !important; font-family: var(--mgs-font) !important;
	font-size: clamp(32px, 4.4vw, 56px) !important; font-weight: 800 !important; line-height: 1.1 !important; letter-spacing: -0.02em !important;
}
body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading p {
	max-width: 640px; margin: 0 auto !important; color: var(--mgs-muted, #665F53) !important;
	font: 400 16.5px/1.7 var(--mgs-font) !important;
}
body.mgs-lang-fa:not(#mgsx) .elementor-location-archive .mg-archive-heading *,
body.mgs-lang-ar:not(#mgsx) .elementor-location-archive .mg-archive-heading * { letter-spacing: 0 !important; font-family: inherit !important; }

/* Search bar — full width, one row (same on rent and sale) */
body.mgs:not(#mgsx) .elementor-location-archive .mgrd-fbar-host { width: 100% !important; max-width: 100% !important; margin: 0 !important; }

@media (max-width: 767px) {
	body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading { margin: 0 auto 20px !important; }
	body.mgs:not(#mgsx) .elementor-location-archive .mg-archive-heading p { font-size: 15px !important; }
}

/* The request form lives in the popup only — not at the bottom of pages */
body.mgs #mgrq-banner, body.mgs #mgrq-embed { display: none !important; }
body.mgs.mgs-rq-open #mgrq-embed { display: block !important; }
body.mgs:not(#mgsx) .elementor-location-archive .mgrd-fbar-host:not(.is-fixed) { top: auto !important; }

/* ================= v11 — Inner pages follow the homepage look ================= */
/* Palette used here = homepage: cream ground, ink text, green accent, deep green bands. */

/* ---- Light page heroes (were dark teal) ---- */
body.mgs:not(#mgsx) .mg-about__hero,
body.mgs:not(#mgsx) .mgp-archive-hero {
	background: var(--mgs-cream-2) !important; background-image: none !important; color: var(--mgs-ink) !important;
	border-bottom: 1px solid var(--mgs-line) !important; box-shadow: none !important;
}
body.mgs:not(#mgsx) .mg-about__hero::before, body.mgs:not(#mgsx) .mg-about__hero::after,
body.mgs:not(#mgsx) .mgp-archive-hero::before, body.mgs:not(#mgsx) .mgp-archive-hero::after { display: none !important; }
body.mgs:not(#mgsx) .mg-about__hero h1, body.mgs:not(#mgsx) .mgp-archive-hero h1 {
	color: var(--mgs-ink) !important; font-family: var(--mgs-font) !important; font-weight: 800 !important;
	font-size: clamp(32px, 4.4vw, 56px) !important; line-height: 1.1 !important; letter-spacing: -0.02em !important; text-shadow: none !important;
}
body.mgs:not(#mgsx) .mg-about__hero p, body.mgs:not(#mgsx) .mgp-archive-hero p { color: var(--mgs-muted) !important; font-family: var(--mgs-font) !important; }
body.mgs:not(#mgsx) .mg-about__eyebrow, body.mgs:not(#mgsx) .mgp-eyebrow, body.mgs:not(#mgsx) .mggeo-area__eyebrow {
	display: inline-block !important; padding: 6px 14px !important; border-radius: 999px !important; background: #E6EEE2 !important;
	color: var(--mgs-green) !important; font: 700 12px/1.3 var(--mgs-font) !important; letter-spacing: .06em !important;
}
body.mgs:not(#mgsx) .mg-about__eyebrow::before, body.mgs:not(#mgsx) .mgp-eyebrow::before { display: none !important; }

/* ---- Call-to-action bands: deep green like the homepage "owners" band ---- */
body.mgs:not(#mgsx) .mg-about__cta-box, body.mgs:not(#mgsx) .mg-shc-cta, body.mgs:not(#mgsx) .mg-news-feature {
	background: var(--mgs-deep) !important; background-image: none !important; color: #F7F2E8 !important;
	border-radius: 22px !important; border: 0 !important; box-shadow: none !important;
}
body.mgs:not(#mgsx) .mg-about__cta-box h2, body.mgs:not(#mgsx) .mg-shc-cta h2, body.mgs:not(#mgsx) .mg-news-feature h2,
body.mgs:not(#mgsx) .mg-news-feature h2 a {
	color: #F7F2E8 !important; font-family: var(--mgs-font) !important; font-weight: 800 !important; letter-spacing: -0.01em;
}
body.mgs:not(#mgsx) .mg-about__cta-box p, body.mgs:not(#mgsx) .mg-shc-cta p, body.mgs:not(#mgsx) .mg-news-feature p { color: rgba(247,242,232,.82) !important; }
body.mgs:not(#mgsx) .mg-about__cta-box a, body.mgs:not(#mgsx) .mg-shc-cta a, body.mgs:not(#mgsx) .mg-shc-button {
	display: inline-flex !important; align-items: center; justify-content: center; height: 48px; padding: 0 24px !important;
	border-radius: 999px !important; background: #fff !important; color: var(--mgs-ink-0) !important; border: 0 !important;
	font: 700 15px/1 var(--mgs-font) !important; text-decoration: none !important; box-shadow: none !important;
}
body.mgs:not(#mgsx) .mg-news-feature p a { color: #F7F2E8 !important; text-decoration: underline !important; }
body.mgs:not(#mgsx) .mg-news-kicker { background: rgba(255,255,255,.12) !important; color: #F7F2E8 !important; font-family: var(--mgs-font) !important; }
body.mgs:not(#mgsx) .mg-news, body.mgs:not(#mgsx) .mg-news * { font-family: var(--mgs-font) !important; }

/* ---- About page: team card + sections ---- */
body.mgs:not(#mgsx) .mg-about, body.mgs:not(#mgsx) .mg-about__cta, body.mgs:not(#mgsx) .mgp-page { background: transparent !important; }
body.mgs:not(#mgsx) .mg-about__team { background: var(--mgs-cream-2) !important; background-image: none !important; }
body.mgs:not(#mgsx) .mg-about__card, body.mgs:not(#mgsx) .mg-team-lead, body.mgs:not(#mgsx) .mg-dept, body.mgs:not(#mgsx) .mg-team-note {
	background: var(--mgs-card) !important; border: 1px solid var(--mgs-line) !important; box-shadow: none !important;
}
body.mgs:not(#mgsx) .mg-about__card-icon { background: #E6EEE2 !important; color: var(--mgs-green) !important; }
body.mgs:not(#mgsx) .mg-team-lead__visual { background: var(--mgs-deep) !important; background-image: none !important; }
body.mgs:not(#mgsx) .mg-team-lead__initials { color: #F7F2E8 !important; border-color: rgba(247,242,232,.3) !important; }
body.mgs:not(#mgsx) .mg-team-lead__role { color: var(--mgs-green) !important; }
body.mgs:not(#mgsx) .mg-about__signature, body.mgs:not(#mgsx) .mg-shc-intro { background: #E6EEE2 !important; border-color: var(--mgs-green) !important; color: var(--mgs-ink) !important; }
body.mgs:not(#mgsx) .mg-about__section-title, body.mgs:not(#mgsx) .mg-about h2, body.mgs:not(#mgsx) .mg-about h3 { color: var(--mgs-ink) !important; font-family: var(--mgs-font) !important; }
body.mgs:not(#mgsx) .mg-dept { color: var(--mgs-ink) !important; }

/* ---- Sultan Haitham + guides: soft boxes on cream ---- */
body.mgs:not(#mgsx) .mg-shc-benefit, body.mgs:not(#mgsx) .mg-shc-step, body.mgs:not(#mgsx) .mggeo-guide, body.mgs:not(#mgsx) .mggeo-area {
	background: var(--mgs-card) !important; border: 1px solid var(--mgs-line) !important; box-shadow: none !important;
}
body.mgs:not(#mgsx) .mg-shc-eyebrow { background: #E6EEE2 !important; color: var(--mgs-green) !important; }
body.mgs:not(#mgsx) .mg-shc-hero { background: transparent !important; }

/* ---- Single posts & pages: one typeface, homepage colours ---- */
body.mgs:not(#mgsx):not(.mgs-front) .entry-title,
body.mgs:not(#mgsx):not(.mgs-front) .entry-content h1, body.mgs:not(#mgsx):not(.mgs-front) .entry-content h2,
body.mgs:not(#mgsx):not(.mgs-front) .entry-content h3, body.mgs:not(#mgsx):not(.mgs-front) .entry-content h4,
body.mgs:not(#mgsx):not(.mgs-front) .elementor-location-single h1, body.mgs:not(#mgsx):not(.mgs-front) .elementor-location-single h2,
body.mgs:not(#mgsx):not(.mgs-front) .elementor-location-single h3 {
	font-family: var(--mgs-font) !important; color: var(--mgs-ink) !important; font-weight: 800 !important; letter-spacing: -0.01em;
}
body.mgs-lang-fa:not(#mgsx) .entry-content h2, body.mgs-lang-ar:not(#mgsx) .entry-content h2, body.mgs-lang-hi:not(#mgsx) .entry-content h2 { letter-spacing: 0 !important; }
body.mgs:not(#mgsx):not(.mgs-front) .entry-content h2 { border-bottom-color: var(--mgs-line) !important; }
body.mgs:not(#mgsx):not(.mgs-front) .entry-content li::marker { color: var(--mgs-green) !important; }
body.mgs:not(#mgsx):not(.mgs-front) .entry-content a:not([class*="btn"]):not([class*="button"]) { color: var(--mgs-green) !important; }
body.mgs:not(#mgsx):not(.mgs-front) .entry-content blockquote { border-inline-start-color: var(--mgs-green) !important; background: var(--mgs-cream-2) !important; }
body.mgs:not(#mgsx) .elementor-button, body.mgs:not(#mgsx) .mgl-btn, body.mgs:not(#mgsx) .mg-rental-return { font-family: var(--mgs-font) !important; }

/* Articles are not listings: no "Book a viewing / Ask for details" bar */
body.mgs.single-post:not(.mg-listing-trust-single):not(.mg-rental-single) .mgl-btns { display: none !important; }

/* Listing details: homepage colours */
body.mgs:not(#mgsx) .mg-rental-details__item, body.mgs:not(#mgsx) .mglt-trust-bar { background: var(--mgs-cream-2) !important; border-color: var(--mgs-line) !important; }
body.mgs:not(#mgsx) .mg-rental-details { border-color: var(--mgs-line) !important; }

/* ---- Sultan Haitham City guide (all languages) ---- */
body.mgs .hentry:has(.mg-shc-hub) .entry-header { display: none !important; }
body.mgs .mg-shc-hub { max-width: 1120px; margin: 0 auto; color: var(--mgs-ink); font-family: var(--mgs-font); line-height: 1.8; }
body.mgs .mg-shc-hub * { box-sizing: border-box; }
body.mgs .mg-shc-hub .mg-shc-hero { margin: 0 0 30px; border-radius: 22px; overflow: hidden; }
body.mgs .mg-shc-hub .mg-shc-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 8; object-fit: cover; }
body.mgs .mg-shc-hub .mg-shc-eyebrow { display: inline-block; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; font: 700 12.5px/1.4 var(--mgs-font); }
body.mgs .mg-shc-hub h1 { margin: 0 0 12px; color: var(--mgs-ink); font: 800 clamp(30px, 4.4vw, 54px)/1.12 var(--mgs-font); letter-spacing: -0.02em; }
body.mgs .mg-shc-hub h2 { margin: 48px 0 14px; color: var(--mgs-ink); font: 800 clamp(22px, 2.6vw, 30px)/1.3 var(--mgs-font); }
body.mgs:is(.mgs-lang-fa, .mgs-lang-ar, .mgs-lang-hi) .mg-shc-hub h1, body.mgs:is(.mgs-lang-fa, .mgs-lang-ar, .mgs-lang-hi) .mg-shc-hub h2 { letter-spacing: 0; line-height: 1.45; }
body.mgs .mg-shc-hub p { margin: 0 0 16px; font-size: 16.5px; color: var(--mgs-ink-2); }
body.mgs .mg-shc-hub .mg-shc-lead { font-size: 19px; color: var(--mgs-muted); }
body.mgs .mg-shc-hub .mg-shc-intro { padding: 26px 28px; border: 0; border-inline-start: 4px solid var(--mgs-green); border-radius: 16px; }
body.mgs .mg-shc-hub .mg-shc-intro p { margin: 0; }
body.mgs .mg-shc-hub .mg-shc-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0 8px; padding: 0; list-style: none; counter-reset: shc; }
body.mgs .mg-shc-hub .mg-shc-grid li { counter-increment: shc; min-height: 140px; padding: 22px 20px; border: 1px solid var(--mgs-line); border-radius: 18px; background: var(--mgs-card); transition: transform .25s ease, box-shadow .25s ease; }
body.mgs .mg-shc-hub .mg-shc-grid li:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(40, 25, 10, .08); }
body.mgs .mg-shc-hub .mg-shc-grid li::before { content: "0" counter(shc); display: block; margin-bottom: 14px; color: var(--mgs-green); font-weight: 800; font-size: 13px; }
body.mgs .mg-shc-hub .mg-shc-grid a { color: var(--mgs-ink-0) !important; text-decoration: none !important; font-weight: 700; font-size: 16.5px; line-height: 1.45; }
body.mgs .mg-shc-hub .mg-shc-grid a::after { content: " →"; color: var(--mgs-green); }
body.mgs.mgs-lang-fa .mg-shc-hub .mg-shc-grid a::after, body.mgs.mgs-lang-ar .mg-shc-hub .mg-shc-grid a::after { content: " ←"; }
body.mgs .mg-shc-hub .mg-shc-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 20px 0 0; }
body.mgs .mg-shc-hub .mg-shc-benefit { padding: 22px; border-radius: 18px; font-size: 15.5px; line-height: 1.7; color: var(--mgs-ink-2); }
body.mgs .mg-shc-hub .mg-shc-benefit strong { display: block; margin-bottom: 8px; color: var(--mgs-ink); font-size: 17px; }
body.mgs .mg-shc-hub .mg-shc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
body.mgs .mg-shc-hub .mg-shc-step { padding: 18px; border-radius: 14px; border-top: 3px solid var(--mgs-green) !important; }
body.mgs .mg-shc-hub .mg-shc-step span { display: block; color: var(--mgs-green); font-size: 12.5px; font-weight: 800; }
body.mgs .mg-shc-hub .mg-shc-cta { margin: 48px 0 20px; padding: 40px 44px; }
body.mgs .mg-shc-hub .mg-shc-cta h2 { margin: 0 0 10px; }
body.mgs .mg-shc-hub .mg-shc-note { font-size: 13.5px; color: var(--mgs-soft); }
@media (max-width: 760px) {
	body.mgs .mg-shc-hub .mg-shc-grid, body.mgs .mg-shc-hub .mg-shc-benefits, body.mgs .mg-shc-hub .mg-shc-steps { grid-template-columns: 1fr; }
	body.mgs .mg-shc-hub .mg-shc-intro, body.mgs .mg-shc-hub .mg-shc-cta { padding: 22px 20px; }
}

/* ---- Page hero (neighbourhoods page and other new pages) ---- */
body.mgs .mgs-phero { padding: 56px 0 44px; background: var(--mgs-cream-2); border-bottom: 1px solid var(--mgs-line); text-align: center; }
body.mgs .mgs-phero .mgs-eyebrow { display: inline-block; margin-bottom: 14px; }
body.mgs .mgs-phero h1 { max-width: 920px; margin: 0 auto 16px; color: var(--mgs-ink); font: 800 clamp(30px, 4.2vw, 52px)/1.12 var(--mgs-font); letter-spacing: -0.02em; }
body.mgs:is(.mgs-lang-fa, .mgs-lang-ar, .mgs-lang-hi) .mgs-phero h1 { letter-spacing: 0; line-height: 1.4; }
body.mgs .mgs-phero__intro { max-width: 760px; margin: 0 auto; }
body.mgs .mgs-phero__intro p { margin: 0 0 12px; color: var(--mgs-muted); font-size: 16.5px; line-height: 1.8; }

/* Neighbourhood cards */
body.mgs .mgs-agrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
body.mgs .mgs-acard { display: flex; flex-direction: column; background: var(--mgs-card); border: 1px solid var(--mgs-line); border-radius: 20px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
body.mgs .mgs-acard:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(40, 25, 10, .08); }
body.mgs .mgs-acard__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #EAE0CD; }
body.mgs .mgs-acard__img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
body.mgs .mgs-acard__body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px 20px 20px; }
body.mgs .mgs-acard h3 { margin: 0; font: 800 20px/1.3 var(--mgs-font); }
body.mgs .mgs-acard h3 a { color: var(--mgs-ink-0) !important; text-decoration: none !important; }
body.mgs .mgs-acard p { margin: 0; color: var(--mgs-muted); font-size: 14.5px; line-height: 1.6; }
body.mgs .mgs-acard .mgs-acard__price { color: var(--mgs-green); font-weight: 700; }
body.mgs .mgs-acard__links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: auto; padding-top: 12px; }
body.mgs .mgs-acard__links .mgs-btn { height: 40px; padding: 0 16px; font-size: 13.5px; }
body.mgs .mgs-acard__guide { font-size: 13.5px; font-weight: 700; color: var(--mgs-green) !important; text-decoration: none !important; }
body.mgs .mgs-chips { display: flex; flex-wrap: wrap; gap: 10px; }
body.mgs .mgs-chips a { display: inline-flex; align-items: center; height: 42px; padding: 0 18px; border-radius: 999px; background: var(--mgs-card); border: 1px solid var(--mgs-line-2); color: var(--mgs-ink-0) !important; font-weight: 600; font-size: 14px; text-decoration: none !important; transition: border-color .2s ease, background-color .2s ease; }
body.mgs .mgs-chips a:hover { border-color: var(--mgs-green); background: #fff; }
body.mgs .mgs-faq { max-width: 900px; }
body.mgs .mgs-faq details { background: var(--mgs-card); border: 1px solid var(--mgs-line); border-radius: 16px; padding: 0 22px; margin-top: 12px; }
body.mgs .mgs-faq summary { cursor: pointer; padding: 18px 0; font-weight: 700; font-size: 16px; color: var(--mgs-ink-0); list-style: none; }
body.mgs .mgs-faq summary::-webkit-details-marker { display: none; }
body.mgs .mgs-faq summary::after { content: "+"; float: inline-end; color: var(--mgs-green); font-size: 20px; line-height: 1; }
body.mgs .mgs-faq details[open] summary::after { content: "–"; }
body.mgs .mgs-faq details p { margin: 0 0 18px; color: var(--mgs-muted); line-height: 1.8; }
@media (max-width: 1000px) { body.mgs .mgs-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { body.mgs .mgs-agrid { grid-template-columns: 1fr; } body.mgs .mgs-phero { padding: 36px 0 28px; } }

/* ---- Team (About page) ---- */
body.mgs .mgs-team { margin: 40px 0 10px; font-family: var(--mgs-font); }
body.mgs .mgs-team__head { text-align: center; max-width: 720px; margin: 0 auto 24px; }
body.mgs .mgs-team__head .mgs-sub { margin: 0 auto; }
body.mgs .mgs-team__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
body.mgs .mgs-team__card { background: var(--mgs-card); border: 1px solid var(--mgs-line); border-radius: 20px; overflow: hidden; text-align: center; transition: transform .3s ease, box-shadow .3s ease; }
body.mgs .mgs-team__card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(40, 25, 10, .08); }
body.mgs .mgs-team__img { position: relative; aspect-ratio: 4 / 4.4; background: #EAE0CD; overflow: hidden; }
body.mgs .mgs-team__img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; }
body.mgs .mgs-team__ini { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: var(--mgs-deep); color: #F7F2E8; font: 800 56px/1 var(--mgs-font); }
body.mgs .mgs-team__body { padding: 16px 18px 20px; }
body.mgs .mgs-team__body h3 { margin: 0 0 4px; font: 800 18px/1.35 var(--mgs-font); color: var(--mgs-ink-0); }
body.mgs .mgs-team__role { margin: 0 0 8px; color: var(--mgs-green); font-weight: 700; font-size: 14px; }
body.mgs .mgs-team__bio { margin: 0 0 10px; color: var(--mgs-muted); font-size: 14px; line-height: 1.6; }
body.mgs .mgs-team__links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 14px; margin: 0; font-size: 13.5px; }
body.mgs .mgs-team__links a { color: var(--mgs-green) !important; font-weight: 600; text-decoration: none !important; }
body.mgs .mg-team-lead__photo { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Plain pages & posts: centred column with side space (no Storefront wrapper) ---- */
body.mgs:not(.mgs-front):not(.elementor-page) > #primary.content-area:not(.mgs-main) {
	float: none !important; width: auto !important; max-width: 1200px; margin: 0 auto !important; padding: 40px 24px 0 !important; box-sizing: border-box;
}
@media (max-width: 640px) { body.mgs:not(.mgs-front):not(.elementor-page) > #primary.content-area:not(.mgs-main) { padding: 24px 16px 0 !important; } }

/* Dark bands keep light headings inside post content too */
body.mgs:not(#mgsx):not(.mgs-front) .entry-content :is(.mg-shc-cta, .mg-about__cta-box, .mg-news-feature) h2,
body.mgs:not(#mgsx):not(.mgs-front) .entry-content :is(.mg-shc-cta, .mg-about__cta-box, .mg-news-feature) h2 a { color: #F7F2E8 !important; }
body.mgs:not(#mgsx):not(.mgs-front) .entry-content .mg-shc-cta a.mg-shc-button, body.mgs:not(#mgsx):not(.mgs-front) .entry-content .mg-about__cta-box a { color: var(--mgs-ink-0) !important; }
/* Articles: no author username under the title */
body.mgs.single-post .entry-header .byline, body.mgs.single-post .entry-header .posted-on .byline { display: none !important; }

/* ---- List / Map switch on rent & sale pages ---- */
body.mgs .mgs-mapbar { display: inline-flex; gap: 4px; margin: 22px 0 0; padding: 4px; border-radius: 999px; background: var(--mgs-card); border: 1px solid var(--mgs-line-2); }
body.mgs .mgs-mapbar button { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--mgs-ink-2); font: 700 14px/1 var(--mgs-font); cursor: pointer; transition: background-color .2s ease, color .2s ease; }
body.mgs .mgs-mapbar button.is-on { background: var(--mgs-green); color: #fff; }
body.mgs .mgs-mapbar button:not(.is-on):hover { background: var(--mgs-cream-2); }
body.mgs .elementor-location-archive [hidden] { display: none !important; }
body.mgs .mgs-mappanel { margin-top: 18px; }
body.mgs .mgs-mapbox { position: relative; height: min(70vh, 620px); min-height: 380px; border-radius: 20px; overflow: hidden; border: 1px solid var(--mgs-line); background: #E7E2D6; z-index: 1; }
body.mgs .mgs-mapempty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; margin: 0; color: var(--mgs-muted); z-index: 500; }
body.mgs .mgs-maplegend { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 10px; font-size: 13px; color: var(--mgs-muted); }
body.mgs .mgs-maplegend i { display: inline-block; width: 12px; height: 12px; margin-inline-end: 6px; border-radius: 50%; background: #C58B3A; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--mgs-line-2); vertical-align: -1px; }
body.mgs .mgs-maplegend i.is-x { background: #0E6B4A; }
body.mgs .mgs-mappop { display: block; width: 210px; color: var(--mgs-ink) !important; text-decoration: none !important; font-family: var(--mgs-font); }
body.mgs .mgs-mappop img { display: block; width: 100%; height: 118px; object-fit: cover; border-radius: 10px; margin-bottom: 8px; }
body.mgs .mgs-mappop strong { display: block; color: var(--mgs-green); font-size: 15px; }
body.mgs .mgs-mappop span { display: block; margin: 2px 0 4px; font-size: 13px; line-height: 1.45; }
body.mgs .mgs-mappop em { font-style: normal; font-size: 12px; color: var(--mgs-soft); }
body.mgs .leaflet-popup-content-wrapper { border-radius: 14px; }
