.catalog-filters { padding: clamp(1rem,3vw,1.6rem); margin-block-end: 1.75rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); }
.measurement-consent { position: fixed; z-index: 80; inset-inline: 1rem; inset-block-end: 1rem; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.25rem; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow); max-block-size: calc(100dvh - 2rem); overflow: auto; }
.measurement-consent[hidden] { display: none; }
.measurement-consent > div:first-child { flex: 1 1 30rem; }
.measurement-consent h2 { margin: 0 0 .5rem; font-size: 1.1rem; }
.measurement-consent p { margin: 0; max-inline-size: 60rem; font-size: .9rem; line-height: 1.8; }
.measurement-consent a { color: var(--blue-600); text-decoration: underline; }
.measurement-consent-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.measurement-consent-actions button { min-block-size: 2.75rem; padding: .65rem 1rem; font: inherit; font-size: .9rem; color: var(--navy-900); background: #fff; border: 1px solid #98aeb8; border-radius: .6rem; cursor: pointer; }
.measurement-consent-actions button:hover { background: var(--sand-100); }
.measurement-settings { border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; padding: .5rem; }
.consent-copy { display: block; min-inline-size: 0; }
.consent.has-error .field-error { display: block; margin-block-start: .35rem; color: var(--danger); line-height: 1.8; }
.consent.has-error input { outline: 2px solid var(--danger); outline-offset: 2px; }
.form-status.form-status--error { background: #fff0f0; color: var(--danger); }
/* Shared header: keep the office mark clear and the controls consistent. */
.site-header { background: rgba(255,255,255,.97); border-block-end-color: #e4ebed; }
.site-header .nav-inner { min-block-size: 5rem; }
.site-header .brand { direction: ltr; flex-shrink: 0; gap: .65rem; }
.site-header .official-mark { inline-size: 2.65rem; block-size: 3.1rem; background: transparent; border-radius: 0; overflow: visible; }
.site-header .official-mark img { padding: 0; }
.site-header .brand-copy { color: #033550; font-size: 1.35rem; font-weight: 750; letter-spacing: -.035em; }
.site-header .brand-sky { color: #00a99b; }
.site-header .brand-copy small { margin-block-start: .3rem; color: #55717e; font-size: .58rem; font-weight: 600; letter-spacing: .18em; }
.site-header .nav-actions { gap: .6rem; }
.site-header .language-button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-block-size: 2.75rem; padding-inline: .8rem; border-radius: .75rem; background: #fff; color: #173b50; font: inherit; font-size: .85rem; font-weight: 600; }
.language-icon { inline-size: 1.05rem; block-size: 1.05rem; flex: 0 0 auto; color: #5a7683; }
.site-header .whatsapp-button { inline-size: auto; block-size: 2.75rem; flex-basis: auto; padding-inline: .8rem; gap: .4rem; color: #147950; background: #f1faf5; border: 1px solid #cfe7da; border-radius: .75rem; box-shadow: none; }
.site-header .whatsapp-button:hover { background: #e4f5ec; transform: none; }
.header-whatsapp-label { font-size: .85rem; font-weight: 600; }
.site-header .menu-button { min-inline-size: 2.75rem; min-block-size: 2.75rem; border-radius: .75rem; }
.floating-whatsapp { position: fixed; z-index: 56; right: max(1.25rem,env(safe-area-inset-right)); bottom: max(1.5rem,env(safe-area-inset-bottom)); display: grid; place-items: center; inline-size: 3.65rem; block-size: 3.65rem; color: #fff; background: #16885d; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 5px 18px rgba(10,52,39,.22); transition: background .2s ease,box-shadow .2s ease; }
.floating-whatsapp > .whatsapp-icon { inline-size: 1.9rem; block-size: 1.9rem; }
.floating-whatsapp:hover { background: #106e4a; box-shadow: 0 7px 24px rgba(10,52,39,.28); }
.floating-whatsapp:focus-visible { outline: 3px solid var(--navy-900); outline-offset: 4px; }
.floating-whatsapp-label { position: absolute; right: calc(100% + .65rem); padding: .5rem .75rem; border-radius: .6rem; color: #fff; background: var(--navy-900); white-space: nowrap; font-size: .85rem; opacity: 0; visibility: hidden; pointer-events: none; }
.floating-whatsapp:hover .floating-whatsapp-label,.floating-whatsapp:focus-visible .floating-whatsapp-label { opacity: 1; visibility: visible; }
@media (max-width:1099px) {
  .header-whatsapp-label { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
}
@media (max-width:899px) {
  .site-header .nav-inner { gap: .6rem; min-block-size: 4.6rem; }
  .site-header .brand-copy { font-size: 1.2rem; }
  .site-header .official-mark { inline-size: 2.3rem; block-size: 2.7rem; }
  .site-header .nav-actions { gap: .45rem; }
  .site-header .language-button { padding-inline: .65rem; }
  .floating-whatsapp { right: max(.9rem,env(safe-area-inset-right)); bottom: calc(5.7rem + env(safe-area-inset-bottom)); inline-size: 3.35rem; block-size: 3.35rem; }
  body:has([data-comparison-launcher]:not([hidden])) .floating-whatsapp { bottom: calc(15.5rem + env(safe-area-inset-bottom)); }
}
.search-fields { display: grid; grid-template-columns: minmax(0,1fr); gap: .85rem; }
.search-fields .field { min-inline-size: 0; }
.search-fields .field > span { font-size: .9rem; font-weight: 600; }
.search-fields input, .search-fields select, .search-toolbar select { max-inline-size: 100%; font: inherit; }
.search-advanced { margin-block-start: 1rem; }
.search-advanced summary, .project-faq summary { cursor: pointer; padding-block: .75rem; font-weight: 600; }
.search-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-block-start: 1rem; }
.search-toolbar label { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.search-toolbar select { padding: .55rem; background: var(--white); border: 1px solid var(--line); border-radius: .5rem; }
.search-toolbar [data-result-count] { margin: 0; font-weight: 600; }
.catalog-empty { padding: 2rem; background: var(--sand-100); border-radius: var(--radius-md); }
.catalog-card { display: flex; flex-direction: column; min-inline-size: 0; }
.catalog-card .property-body { flex: 1; display: flex; flex-direction: column; }
.catalog-card .property-media { flex-shrink: 0; }
.card-facts { display: grid; gap: .65rem; margin-block: 1rem; }
.card-facts > div { display: grid; gap: .15rem; }
.card-facts dt { color: var(--muted); font-size: .85rem; }
.card-facts dd { margin: 0; font-weight: 600; line-height: 1.7; }
.catalog-card .card-date { font-size: .8rem; line-height: 1.8; }
.card-actions { display: grid; gap: .7rem; margin-block-start: auto; padding-block-start: 1rem; }
.card-actions .button { font-size: .9rem; padding-inline: .8rem; }
.compare-toggle { display: flex; align-items: center; gap: .5rem; min-block-size: 2.75rem; font-size: .9rem; }
.compare-toggle input { inline-size: 1.15rem; block-size: 1.15rem; accent-color: var(--blue-600); }
.project-tabs { width: var(--container); margin: 1rem auto; display: flex; gap: .6rem; overflow-x: auto; padding: .5rem 0; }
.project-tabs a { flex: 0 0 auto; min-block-size: 2.75rem; padding: .65rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
[data-project-section] { scroll-margin-block-start: 8rem; }
.project-faq { margin-block-start: 1.5rem; }
.area-guide-grid { display: grid; gap: 1.5rem; }
.area-guide-section { padding: 1.5rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); min-inline-size: 0; }
.area-guide-section h2 { margin: 0 0 .75rem; font-size: 1.3rem; line-height: 1.6; }
.area-guide-section p { margin: 0; line-height: 1.95; color: var(--muted); }
.seo-reading-links { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin-block-start: 1.5rem; }
.seo-reading-links a { padding-block: .5rem; }
.guide-hero .breadcrumb { flex-wrap: wrap; }
.breadcrumb { flex-wrap: wrap; line-height: 1.8; }
@media (min-width:900px) { .area-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
.project-lifestyle { background: #f0f5f4; }
.lifestyle-intro { display: grid; gap: 1.75rem; align-items: center; }
.lifestyle-intro > *, .lifestyle-groups > * { min-inline-size: 0; }
.lifestyle-subtitle { margin: 1rem 0 .75rem; font-size: clamp(1.1rem,2vw,1.4rem); line-height: 1.7; font-weight: 600; }
.lifestyle-photo { margin: 0; }
.lifestyle-photo img { inline-size: 100%; block-size: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 1.25rem; }
.lifestyle-photo figcaption { margin-block-start: .5rem; color: var(--muted); font-size: .78rem; }
/* Show the complete image; HTML height attributes must not force a tall crop. */
.project-detail-media img, .project-community-image img { inline-size: 100%; block-size: auto; aspect-ratio: auto; object-fit: contain; }
.project-gallery { align-items: start; }
.project-gallery img { inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #f3f5f5; }
.lifestyle-photo img { block-size: auto; aspect-ratio: 16 / 10; object-fit: contain; background: #eaf0ef; }
.property-media img { object-fit: contain; }
.property-card:hover .property-media img { transform: none; }
.hero-visual--photo > img { inline-size: 100%; block-size: auto; object-fit: contain; }
.project-detail-media img[style] { object-position: center; }
.lifestyle-groups { display: grid; gap: 1rem; margin-block-start: 2rem; align-items: start; }
.lifestyle-group { background: var(--white); border: 1px solid var(--line); border-radius: 1.25rem; padding: 1.25rem; }
.lifestyle-group h3 { margin: 0 0 1rem; padding-block-end: .75rem; border-block-end: 1px solid var(--line); font-size: 1.05rem; font-weight: 650; }
.lifestyle-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem; }
.lifestyle-list li, .location-highlights li { display: flex; align-items: center; gap: .75rem; }
.lifestyle-list li { font-size: .94rem; line-height: 1.8; }
.lifestyle-icon { inline-size: 1.5rem; block-size: 1.5rem; flex: 0 0 1.5rem; color: #087b76; }
.lifestyle-more { margin-block-start: 1rem; }
.lifestyle-more summary { color: #076a68; cursor: pointer; font-size: .9rem; font-weight: 600; min-block-size: 2.75rem; padding-block: .5rem; }
.lifestyle-more[open] summary { margin-block-end: .5rem; }
.lifestyle-note { max-inline-size: 70ch; color: var(--muted); font-size: .85rem; line-height: 1.9; margin: 1.5rem 0 0; }
.location-address { color: var(--blue-600); font-size: 1.2rem; font-weight: 600; margin: 1rem 0; }
.location-highlights { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: .75rem; grid-template-columns: minmax(0,1fr); }
.location-highlights li { border: 1px solid var(--line); border-radius: .9rem; background: var(--white); padding: 1rem; line-height: 1.8; font-size: .94rem; }
@media (min-width:640px) {
  .lifestyle-intro { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 2rem; }
  .lifestyle-groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .location-highlights { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px) {
  .lifestyle-groups { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .location-highlights { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
.project-faq details { border-block-end: 1px solid var(--line); padding: .4rem 0; }
.project-faq p { margin: .5rem 0 1rem; line-height: 1.9; }
.related-projects { margin-block-start: 1.5rem; }
.comparison-section .availability-table td { white-space: normal; min-inline-size: 12rem; }
.comparison-section .availability-table th { white-space: normal; min-inline-size: 8rem; }
.comparison-section .availability-table { table-layout: fixed; }
.comparison-section .availability-table th:first-child { inline-size: 8rem; }
.comparison-section .availability-table th a { color: inherit; text-decoration: underline; }
.comparison-section .button { margin-block-start: 1rem; }
.comparison-section { scroll-margin-block-start: 9rem; }
.comparison-unit-picker { display: grid; gap: .5rem; max-inline-size: 30rem; margin-block: 1.25rem; font-weight: 600; }
.comparison-unit-picker select { inline-size: 100%; min-inline-size: 0; min-block-size: 3rem; padding: .6rem; font: inherit; background: var(--white); color: var(--navy-900); border: 1px solid var(--line); border-radius: .5rem; }
.comparison-section .availability-table small { display: block; margin-block-start: .4rem; color: var(--muted); font-size: .8rem; line-height: 1.7; }
.comparison-section [data-clear-comparison] { padding: .5rem 0; border: 0; background: transparent; color: var(--blue-600); font: inherit; cursor: pointer; text-decoration: underline; }
.comparison-launcher { position: fixed; z-index: 55; inset-inline-end: 1rem; inset-block-end: 1rem; inline-size: min(30rem,calc(100% - 2rem)); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; padding: .85rem; background: var(--white); border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow); }
.comparison-launcher[hidden] { display: none; }
@media (min-width:900px) {
  .comparison-launcher { inset-inline: auto; left: 50%; right: auto; transform: translateX(-50%); }
}
.comparison-selection { display: grid; gap: .3rem; margin: 0; font-size: .9rem; }
.comparison-selection small { color: var(--muted); font-size: .8rem; }
.comparison-launcher .button { flex-shrink: 0; min-block-size: 2.75rem; padding: .65rem 1rem; }
.comparison-launcher .button:disabled { opacity: .55; cursor: default; }
body.has-comparison { padding-block-end: 8rem; }
@media (max-width:899px) {
  .comparison-launcher { inset-block-end: calc(5.5rem + env(safe-area-inset-bottom)); }
  body.has-comparison { padding-block-end: 14rem; }
}
.office-support { margin-block-start: 2rem; padding: 1.5rem; background: var(--sand-100); border-radius: var(--radius-md); }
.editorial-grid { grid-template-columns: minmax(0,1fr); }
@media (min-width:640px) {
  .search-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .search-query { grid-column: 1 / -1; }
  .editorial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px) {
  .search-fields { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .search-query { grid-column: span 2; }
  .editorial-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:639px) {
  .section { padding-block: 3rem; }
  .page-hero { padding-block: 2.75rem; }
  .project-detail-hero { padding-block: 2.75rem; }
  .project-stat-grid { gap: 1rem .65rem; }
  .availability-table[data-mobile-cards] { display: block; min-inline-size: 0; }
  .availability-table[data-mobile-cards] thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
  .availability-table[data-mobile-cards] tbody { display: block; }
  .availability-table[data-mobile-cards] tr { display: block; padding: .75rem; border-block-end: 1px solid var(--line); }
  .availability-table[data-mobile-cards] td { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); align-items: baseline; gap: .75rem; white-space: normal; border: 0; padding: .5rem; font-size: .9rem; }
  .availability-table[data-mobile-cards] td::before { content: attr(data-label); color: var(--muted); font-size: .85rem; }
  .availability-table[data-mobile-cards] td bdi { overflow-wrap: anywhere; }
  .mobile-cta-bar { padding-block-end: max(.45rem,env(safe-area-inset-bottom)); }
  body { padding-block-end: 5rem; }
}

/* Shared Arabic type scale: all components use the same family, weights and rhythm. */
html[lang="ar"] {
  --ar-body: 1rem;
  --ar-small: .875rem;
  --ar-control: .9375rem;
  --ar-card-title: 1.125rem;
  --ar-lead: clamp(1rem, .95rem + .25vw, 1.125rem);
  --ar-title: clamp(2rem, 1.5rem + 2vw, 3.5rem);
  --ar-section-title: clamp(1.625rem, 1.25rem + 1.3vw, 2.5rem);
  --ar-reading-line: 1.9;
  --ar-heading-line: 1.55;
  --ar-ui-line: 1.75;
}
html[lang="ar"] body {
  font-family: var(--font-ar);
  font-size: var(--ar-body);
  font-weight: 400;
  line-height: var(--ar-reading-line);
  font-synthesis: none;
}
html[lang="ar"] :is(h1,h2,h3,h4,h5,h6) {
  font-family: var(--font-ar);
  font-weight: 600;
  line-height: var(--ar-heading-line);
  letter-spacing: normal;
  text-wrap: pretty;
}
html[lang="ar"] .display {
  font-size: var(--ar-title);
  font-weight: 650;
  line-height: 1.4;
}
html[lang="ar"] .section-title {
  font-size: var(--ar-section-title);
  font-weight: 650;
  line-height: var(--ar-heading-line);
}
html[lang="ar"] :is(.hero-lead,.section-copy) {
  font-size: var(--ar-lead);
  font-weight: 400;
  line-height: var(--ar-reading-line);
}
html[lang="ar"] :is(.property-body h3,.content-card h2,.content-card h3,.article-card h2,.payment-plan-card h3,.conversion-card h3,.contact-card h2,.developer-item h3,.lifestyle-group h3,.lifestyle-subtitle,.office-support h3,.guide-takeaway h3) {
  font-size: var(--ar-card-title);
  font-weight: 600;
  line-height: 1.65;
}
html[lang="ar"] :is(.property-body p,.payment-plan-card p,.conversion-card p,.content-card p,.developer-body p,.developer-item p,.guide-takeaway p,.office-support p,.project-faq p,.legal-prose p,.legal-prose li,.calculator-heading p,.finder-result p) {
  font-size: var(--ar-body);
  font-weight: 400;
  line-height: var(--ar-reading-line);
}
html[lang="ar"] :is(.eyebrow,.kicker,.demo-label,.footer-group h2) { letter-spacing: normal; }
html[lang="ar"] :is(.eyebrow,.kicker,.demo-label,.badge,.status-pill,.project-tags span,.payment-plan-card > span,.article-category,.article-card time,.developer-location) {
  font-size: var(--ar-small);
  font-weight: 600;
  line-height: var(--ar-ui-line);
}
html[lang="ar"] :is(.nav-links,.nav-dropdown-toggle,.project-tabs a,.search-toolbar,.compare-toggle,.lifestyle-list li,.location-highlights li,.amenity-list span) {
  font-size: var(--ar-control);
  line-height: var(--ar-ui-line);
}
html[lang="ar"] :is(.nav-links,.mobile-menu a) { font-weight: 500; }
html[lang="ar"] .mobile-menu a { font-size: var(--ar-body); line-height: var(--ar-ui-line); }
html[lang="ar"] :is(.button,.card-actions .button,.mobile-cta-bar a,.text-link,.language-button,.lifestyle-more summary,.search-advanced summary,.project-faq summary,.measurement-consent-actions button) {
  font-family: var(--font-ar);
  font-size: var(--ar-control);
  font-weight: 600;
  line-height: var(--ar-ui-line);
  letter-spacing: normal;
}
html[lang="ar"] .project-faq summary { font-size: var(--ar-body); }
html[lang="ar"] :is(input,select,textarea) {
  font-family: var(--font-ar);
  font-size: var(--ar-body);
  font-weight: 400;
  line-height: var(--ar-ui-line);
}
html[lang="ar"] :is(.field label,.field > span,.field-error,.card-facts dt,.property-meta,.property-price span,.project-stat-grid span,.project-fact-grid span,.trust-grid span,.result-card span) {
  font-size: var(--ar-small);
  line-height: var(--ar-ui-line);
  font-weight: 500;
}
html[lang="ar"] :is(.data-note,.project-update,.developer-note,.project-detail-media figcaption,.project-community-image figcaption,.project-gallery figcaption,.floorplan-grid figcaption,.calculator-note p,.lifestyle-photo figcaption,.lifestyle-note,.property-body .card-date,.consent,.form-status,.comparison-selection small) {
  font-size: var(--ar-small);
  font-weight: 400;
  line-height: 1.85;
}
html[lang="ar"] :is(.availability-table th,.availability-table td,.comparison-section .availability-table small) {
  font-size: var(--ar-control);
  line-height: 1.8;
}
html[lang="ar"] .availability-table th { font-weight: 600; }
html[lang="ar"] .availability-table td { font-weight: 400; }
html[lang="ar"] .comparison-section .availability-table small { font-size: var(--ar-small); }
html[lang="ar"] :is(.card-facts dd,.project-stat-grid strong,.result-card strong,.availability-table bdi) {
  font-weight: 600;
  line-height: var(--ar-ui-line);
  font-variant-numeric: tabular-nums;
}
html[lang="ar"] .guide-body { font-size: var(--ar-lead); line-height: 2; }
html[lang="ar"] :is(.guide-body h2,.legal-prose h2) { font-size: 1.375rem; font-weight: 600; line-height: 1.65; }
html[lang="ar"] .area-feature h3 { font-family: var(--font-ar); font-size: var(--ar-section-title); line-height: var(--ar-heading-line); }
html[lang="ar"] .calculator-heading h2 { font-size: var(--ar-section-title); }
html[lang="ar"] .tool-tab strong { font-size: var(--ar-control); font-weight: 600; line-height: var(--ar-ui-line); }
html[lang="ar"] .property-input-group legend { font-size: var(--ar-body); font-weight: 600; }
html[lang="ar"] :is(.footer-brand p,.footer-group nav) { font-size: var(--ar-control); line-height: 1.85; }
html[lang="ar"] .footer-group h2 { font-size: var(--ar-body); font-weight: 600; line-height: var(--ar-ui-line); }
html[lang="ar"] .footer-bottom { font-size: var(--ar-small); line-height: var(--ar-ui-line); }
html[lang="ar"] .measurement-consent h2 { font-size: var(--ar-card-title); }
html[lang="ar"] .measurement-consent p { font-size: var(--ar-control); line-height: 1.85; }
@media (max-width:639px) {
  html[lang="ar"] .availability-table[data-mobile-cards] td { font-size: var(--ar-control); }
  html[lang="ar"] .availability-table[data-mobile-cards] td::before { font-size: var(--ar-small); line-height: var(--ar-ui-line); }
}

/* Confirmed office identity, directions and UAE working hours. */
.office-details-grid { display:grid; grid-template-columns:1.4fr 1fr; align-items:start; gap:2rem; }
.office-details address { font-style:normal; line-height:1.9; margin-block:1rem 1.5rem; overflow-wrap:anywhere; }
.office-hours-card { padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.office-hours-card h3 { margin-block:0 1rem; }
.office-hours-card p { line-height:1.9; }
.footer-office { margin-block-start:1rem; font-size:.85rem; line-height:1.8; }
.footer-office a { display:block; text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
.footer-office p { margin-block:.5rem; }
@media(max-width:700px) { .office-details-grid { grid-template-columns:1fr; gap:1.5rem; } }

.form-trap { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.lead-form[aria-busy="true"] { cursor:progress; }
.lead-form button:disabled { cursor:wait; opacity:.7; }

/* One featured card per available emirate; fill the row with the actual count. */
.editorial-grid--featured { grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }

.cms-prose { white-space:pre-line; line-height:1.95; max-inline-size:80ch; }
