/* Global section alignment — content = 90vw, max 1400px, same L/R edges */

:root {
  --pm-content-max: 1400px;
  --pm-content-width: min(90vw, 1400px);
  /* Side gutter: 5vw each (=90% content), or center a 1400px shell on large screens */
  --pm-side-pad: max(5vw, calc((100vw - 1400px) / 2));
  /* Mobile type scale — same sizes sitewide */
  --pm-m-tag: 12px;
  --pm-m-title: 32px;
  --pm-m-body: 15px;
}

body .elementor,
body .pm-root,
.elementor-kit-4 {
  --content-width: var(--pm-content-width) !important;
  --container-max-width: var(--pm-content-width) !important;
}

/*
  Full-bleed Elementor sections have NO .e-con-inner.
  Pad the section itself so every child aligns to the same 90%/1400 shell.
*/
body .elementor .pm-section-studio,
body .elementor .pm-section-story,
body .elementor .pm-section-ateliers,
body .elementor .pm-section-collection,
body .elementor .pm-section-projects,
body .elementor .pm-section-approvals,
body .elementor .pm-section-why,
body .elementor #manifesto,
body .elementor #story,
body .elementor #ateliers,
body .elementor #collection,
body .elementor #projects,
body .elementor #approvals,
body .elementor .pm-section-approvals,
body .elementor .pm-section-contact,
body .pm-root section:not(#top):not(#contact),
.pm-site-footer .elementor > .e-con.e-parent,
.pm-site-footer .pm-footer-section {
  padding-left: var(--pm-side-pad) !important;
  padding-right: var(--pm-side-pad) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

/* Inside padded sections: fill the shell (kill Elementor 1140 boxed width) */
body .elementor .pm-section-studio > .e-con,
body .elementor .pm-section-studio > .e-con > .e-con-inner,
body .elementor .pm-section-story > .e-con,
body .elementor .pm-section-story > .e-con > .e-con-inner,
body .elementor .pm-section-ateliers > .e-con,
body .elementor .pm-section-ateliers > .e-con > .e-con-inner,
body .elementor .pm-section-collection > .e-con,
body .elementor .pm-section-collection > .e-con > .e-con-inner,
body .elementor .pm-section-projects > .e-con,
body .elementor .pm-section-projects > .e-con > .e-con-inner,
body .elementor .pm-section-why > .e-con,
body .elementor .pm-section-why > .e-con > .e-con-inner,
body .elementor #manifesto > .e-con,
body .elementor #manifesto > .e-con > .e-con-inner,
body .elementor #story > .e-con,
body .elementor #story > .e-con > .e-con-inner,
body .elementor #ateliers > .e-con,
body .elementor #ateliers > .e-con > .e-con-inner,
body .elementor #collection > .e-con,
body .elementor #collection > .e-con > .e-con-inner,
body .elementor #collection > .elementor-widget,
body .elementor #projects > .e-con,
body .elementor #projects > .e-con > .e-con-inner,
body .elementor .pm-section-why > .elementor-widget,
.pm-site-footer .pm-footer-grid,
.pm-site-footer .pm-footer-grid > .e-con-inner,
.pm-site-footer .pm-footer-legal {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  --width: 100% !important;
  --container-max-width: 100% !important;
}

/* Footer: 4 columns across the full content shell */
body .pm-site-footer .elementor .pm-footer-grid.e-con,
body .pm-site-footer .elementor .pm-footer-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1.15fr !important;
  gap: 60px !important;
  align-items: start !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  --flex-direction: row !important;
  --flex-wrap: nowrap !important;
}
body .pm-site-footer .elementor .pm-footer-grid > .e-con-inner > .e-con,
body .pm-site-footer .elementor .pm-footer-col {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  --width: 100% !important;
  --container-max-width: 100% !important;
}
body .pm-site-footer .elementor .pm-footer-col > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body .pm-site-footer .elementor .pm-footer-legal,
body .pm-site-footer .elementor .pm-footer-legal .elementor-widget-container,
body .pm-site-footer .elementor .pm-footer-legal p {
  width: 100% !important;
  max-width: 100% !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 28px !important;
  margin: 0 !important;
}
body .pm-site-footer .elementor .pm-footer-legal,
body .pm-site-footer .elementor .pm-footer-legal .elementor-widget-container,
body .pm-site-footer .elementor .pm-footer-legal p,
body .pm-site-footer .elementor-element-139829d,
body .pm-site-footer .elementor-element-139829d .elementor-widget-container,
body .pm-site-footer .elementor-element-139829d p {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}
body:not(.rtl) .pm-site-footer .elementor .pm-footer-legal,
body:not(.rtl) .pm-site-footer .elementor .pm-footer-legal .elementor-widget-container,
body:not(.rtl) .pm-site-footer .elementor .pm-footer-legal p,
body:not(.rtl) .pm-site-footer .elementor .pm-footer-legal .pm-footer-copy,
body:not(.rtl) .pm-site-footer .elementor .pm-footer-legal .pm-footer-partners,
body:not(.rtl) .pm-site-footer .elementor-element-139829d,
body:not(.rtl) .pm-site-footer .elementor-element-139829d p {
  text-align: center !important;
  justify-content: center !important;
}
/* Arabic footer: mirror columns + right-align copy */
body.rtl .pm-site-footer,
body.rtl .pm-site-footer .pm-footer-section,
body.rtl .pm-site-footer .pm-footer-grid,
body.rtl .pm-site-footer .pm-footer-grid > .e-con-inner,
body.rtl .pm-site-footer .pm-footer-col,
body.rtl .pm-site-footer .pm-footer-col > .e-con-inner {
  direction: rtl !important;
  text-align: right !important;
}
body.rtl .pm-site-footer .elementor-heading-title,
body.rtl .pm-site-footer .elementor-widget-heading .elementor-heading-title,
body.rtl .pm-site-footer .elementor-widget-text-editor,
body.rtl .pm-site-footer .elementor-widget-text-editor p,
body.rtl .pm-site-footer .elementor-widget-text-editor a,
body.rtl .pm-site-footer .elementor-widget-image,
body.rtl .pm-site-footer .elementor-widget-image .elementor-widget-container {
  text-align: right !important;
  justify-content: flex-end !important;
}
body.rtl .pm-site-footer .elementor .pm-footer-legal .elementor-widget-container,
body.rtl .pm-site-footer .elementor .pm-footer-legal p {
  direction: rtl !important;
  text-align: center !important;
  justify-content: center !important;
}
body.rtl .pm-site-footer .pm-footer-copy,
body.rtl .pm-site-footer .pm-footer-partners {
  text-align: right;
  letter-spacing: 0.04em;
}

body .pm-site-footer .pm-footer-copy,
body .pm-site-footer .pm-footer-partners {
  display: inline-block;
  color: rgba(255, 255, 255, 0.35);
  font-size: 12.5px;
  letter-spacing: 0.1em;
}
/* Mobile footer: accordion selects (title + chevron, toggle links)
   Note: footer cols are e-con-full — widgets are DIRECT children (no .e-con-inner). */
@media (max-width: 900px) {
  body .pm-site-footer .pm-footer-grid.e-con,
  body .pm-site-footer .elementor .pm-footer-grid.e-con,
  body .pm-site-footer .pm-footer-grid > .e-con-inner,
  body .pm-site-footer .elementor .pm-footer-grid > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    align-items: stretch !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Tighten space between accordion cols and copyright */
  body .pm-site-footer .pm-footer-section,
  body .pm-site-footer .elementor .pm-footer-section,
  body .pm-site-footer .pm-footer-section.e-con {
    gap: 8px !important;
    --gap: 8px !important;
    row-gap: 8px !important;
    padding-bottom: 24px !important;
  }

  body .pm-site-footer .pm-footer-legal,
  body .pm-site-footer .elementor .pm-footer-legal,
  body .pm-site-footer .pm-footer-legal.elementor-widget-text-editor {
    margin-top: 0 !important;
    padding-top: 16px !important;
  }

  body .pm-site-footer .pm-footer-brand,
  body .pm-site-footer .elementor .pm-footer-brand {
    padding-bottom: 20px !important;
    margin-bottom: 4px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand),
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand) {
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  /* Hide links by default (direct child OR inside optional .e-con-inner) */
  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand):not(.is-open) > .elementor-widget-text-editor,
  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand):not(.is-open) > .e-con-inner > .elementor-widget-text-editor,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand):not(.is-open) > .elementor-widget-text-editor,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand):not(.is-open) > .e-con-inner > .elementor-widget-text-editor {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand).is-open > .elementor-widget-text-editor,
  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand).is-open > .e-con-inner > .elementor-widget-text-editor,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand).is-open > .elementor-widget-text-editor,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand).is-open > .e-con-inner > .elementor-widget-text-editor {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 0 14px !important;
    margin: 0 !important;
  }

  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand).is-open .elementor-widget-text-editor a,
  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand).is-open .elementor-widget-text-editor p {
    margin: 0 0 10px !important;
  }

  /* Title row = select control */
  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand) .elementor-widget-heading,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand) .elementor-widget-heading {
    width: 100% !important;
    margin: 0 !important;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand) .elementor-widget-heading .elementor-widget-container,
  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand) .elementor-heading-title,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand) .elementor-widget-heading .elementor-widget-container,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand) .elementor-heading-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 14px 0 !important;
    color: #e8432f !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.28em !important;
    text-transform: uppercase !important;
    line-height: 1.2 !important;
  }

  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand) .elementor-heading-title::after,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand) .elementor-heading-title::after {
    content: "▾";
    flex-shrink: 0;
    color: #e8432f;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
    transition: transform 0.22s ease;
  }

  body .pm-site-footer .pm-footer-col:not(.pm-footer-brand).is-open .elementor-heading-title::after,
  body .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand).is-open .elementor-heading-title::after {
    transform: rotate(180deg);
  }

  body .pm-site-footer .pm-footer-legal .elementor-widget-container,
  body .pm-site-footer .pm-footer-legal p,
  body .pm-site-footer .elementor .pm-footer-legal .elementor-widget-container,
  body .pm-site-footer .elementor .pm-footer-legal p {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  body.rtl .pm-site-footer .pm-footer-legal .elementor-widget-container,
  body.rtl .pm-site-footer .pm-footer-legal p,
  body.rtl .pm-site-footer .elementor .pm-footer-legal .elementor-widget-container,
  body.rtl .pm-site-footer .elementor .pm-footer-legal p {
    align-items: flex-end !important;
  }

  /* Accordion: title on the right, chevron on the left */
  body.rtl .pm-site-footer .pm-footer-col:not(.pm-footer-brand) .elementor-heading-title,
  body.rtl .pm-site-footer .elementor .pm-footer-col:not(.pm-footer-brand) .elementor-heading-title {
    flex-direction: row !important;
    letter-spacing: 0.08em !important;
  }
}

/* Hero: full-bleed background, constrain content only */
body .elementor .pm-hero-section,
body .elementor #top {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body .elementor .pm-hero-content {
  width: var(--pm-content-width) !important;
  max-width: var(--pm-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
/* CTA: same side gutters as other sections (pm-side-pad) */
body.elementor-page .elementor .pm-section-contact,
body.elementor-page .elementor #contact,
body .elementor .pm-section-contact,
body .elementor #contact {
  padding-left: var(--pm-side-pad) !important;
  padding-right: var(--pm-side-pad) !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}
body .elementor .pm-section-contact > .elementor-widget:not(.elementor-widget-button),
body .elementor .pm-section-contact > .e-con,
body .elementor #contact > .elementor-widget:not(.elementor-widget-button),
body .elementor #contact > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
body.elementor-page .elementor .pm-section-contact > .elementor-widget-button,
body.elementor-page .elementor #contact > .elementor-widget-button {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 8px !important;
}
body .elementor .pm-hero-content > .e-con-inner {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hero stats: full-bleed bg, content inset 90% / max 1400 (no e-con-inner — e-con-full) */
body .elementor .pm-hero-stats {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: var(--pm-side-pad) !important;
  padding-right: var(--pm-side-pad) !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  --width: 100% !important;
  --container-max-width: 100% !important;
  --content-width: 100% !important;
}
body .elementor .pm-hero-stats > .e-con-inner {
  display: contents !important;
}
body .elementor .pm-hero-stats > .e-con,
body .elementor .pm-hero-stats > .pm-stat-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

/* Header pill — same shell (desktop only; mobile is full-bleed) */
.pm-site-header .pm-header-pill {
  width: var(--pm-content-width) !important;
  max-width: var(--pm-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Desktop / tablet scrolled: full-bleed footer bg, content 90%/1400 */
@media (min-width: 901px) {
  .pm-site-header.pm-nav--scrolled {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    background: #16181d !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
  .pm-site-header.pm-nav--scrolled .elementor,
  .pm-site-header.pm-nav--scrolled .pm-header-outer,
  .pm-site-header.pm-nav--scrolled .pm-header-outer > .e-con-inner,
  .pm-site-header.pm-nav--scrolled .pm-header-pill {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: #16181d !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --border-radius: 0 !important;
    --content-width: 100% !important;
  }
  .pm-site-header.pm-nav--scrolled .pm-header-pill > .e-con-inner {
    width: var(--pm-content-width) !important;
    max-width: var(--pm-content-max) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    --padding-top: 12px !important;
    --padding-bottom: 12px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --content-width: var(--pm-content-width) !important;
  }
}

@media (max-width: 900px) {
  .pm-site-header,
  .pm-site-header .elementor,
  .pm-site-header .pm-header-outer,
  .pm-site-header .pm-header-outer > .e-con-inner,
  .pm-site-header .pm-header-pill,
  .pm-site-header .pm-header-pill > .e-con-inner {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .pm-site-header .pm-header-outer,
  .pm-site-header .pm-header-pill {
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    --border-radius: 0 !important;
    --content-width: 100% !important;
  }
}

/* Marquee / clients: full-bleed (no side pad) */
body .elementor .pm-marquee,
body .elementor .pm-section-clients,
body .elementor > .e-con.pm-marquee,
body .elementor > .e-con.pm-section-clients {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Story carousel uses same content width for 3-card math */
body .elementor .pm-story-scroll.e-con,
body .elementor .pm-story-scroll {
  --story-side: var(--pm-side-pad);
  --story-view: var(--pm-content-width);
}

/* HTML fallback shells */
body .pm-root section > div:not([style*="position: absolute"]),
body .pm-root footer > div {
  width: var(--pm-content-width) !important;
  max-width: var(--pm-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* 05 — project lines: [dot + title] LEFT · place tag FAR RIGHT */
body .elementor .pm-project-line.e-con {
  --display: block !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
body .elementor .pm-project-line > .e-con-inner {
  --display: grid !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  --flex-wrap-mobile: nowrap !important;
  --container-widget-flex-grow: 0 !important;
  --container-widget-width: auto !important;
}
body .elementor .pm-project-line > .e-con-inner > .elementor-element {
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  --container-widget-flex-grow: 0 !important;
  --container-widget-width: auto !important;
  --container-widget-height: auto !important;
}
/* 1) Dot */
body .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:first-child {
  grid-column: 1 !important;
  justify-self: start !important;
  width: 12px !important;
  min-width: 12px !important;
}
/* 2) Title — left, beside dot */
body .elementor .pm-project-line > .e-con-inner > .elementor-widget-heading {
  grid-column: 2 !important;
  justify-self: start !important;
  width: auto !important;
  max-width: 100% !important;
  text-align: left !important;
}
body .elementor .pm-project-line .elementor-heading-title {
  text-align: left !important;
  margin: 0 !important;
  color: #1a1e24 !important;
}
/* 3) Place tag — FAR RIGHT */
body .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child {
  grid-column: 3 !important;
  justify-self: end !important;
  width: max-content !important;
  text-align: right !important;
}
body .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child,
body .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child .elementor-widget-container,
body .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child p {
  text-align: right !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: #8a8375 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* 05 — PROJECTS gallery: editorial bento (1 featured + 4) */
body .elementor .pm-projects-gallery,
body .elementor .pm-projects-gallery > .e-con-inner {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr !important;
  grid-template-rows: minmax(240px, 1fr) minmax(240px, 1fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 520px !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
body .elementor .pm-projects-gallery > .e-con,
body .elementor .pm-projects-gallery > .e-con-inner > .e-con,
body .elementor .pm-projects-gallery > .pm-project-card,
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  height: auto !important;
  min-height: 0 !important;
  grid-column: auto !important;
  grid-row: auto !important;
}
/* Card 1 — featured tall left */
body .elementor .pm-projects-gallery > .pm-project-card:nth-child(1),
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(1),
body .elementor .pm-projects-gallery > .e-con:nth-child(1),
body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(1) {
  grid-column: 1 / 2 !important;
  grid-row: 1 / 3 !important;
  min-height: 520px !important;
}
/* Cards 2–5 — 2×2 mosaic on the right */
body .elementor .pm-projects-gallery > .pm-project-card:nth-child(2),
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(2),
body .elementor .pm-projects-gallery > .e-con:nth-child(2),
body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(2) {
  grid-column: 2 / 3 !important;
  grid-row: 1 / 2 !important;
}
body .elementor .pm-projects-gallery > .pm-project-card:nth-child(3),
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(3),
body .elementor .pm-projects-gallery > .e-con:nth-child(3),
body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(3) {
  grid-column: 3 / 4 !important;
  grid-row: 1 / 2 !important;
}
body .elementor .pm-projects-gallery > .pm-project-card:nth-child(4),
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(4),
body .elementor .pm-projects-gallery > .e-con:nth-child(4),
body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(4) {
  grid-column: 2 / 3 !important;
  grid-row: 2 / 3 !important;
}
body .elementor .pm-projects-gallery > .pm-project-card:nth-child(5),
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(5),
body .elementor .pm-projects-gallery > .e-con:nth-child(5),
body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(5) {
  grid-column: 3 / 4 !important;
  grid-row: 2 / 3 !important;
}
body .elementor .pm-projects-gallery .pm-project-eyebrow {
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #e8432f !important;
  margin: 0 0 6px !important;
  font-weight: 600 !important;
}
body.rtl .elementor .pm-projects-gallery .pm-project-eyebrow {
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-family: "Amiri", "Space Grotesk", serif !important;
  font-size: 12px !important;
}
body .elementor .pm-projects-gallery .pm-project-name {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}
body .elementor .pm-projects-gallery > .pm-project-card:nth-child(1) .pm-project-name,
body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(1) .pm-project-name {
  font-size: 26px !important;
  letter-spacing: -0.02em !important;
}
body.rtl .elementor .pm-projects-gallery .pm-project-name {
  font-family: "Amiri", "Space Grotesk", serif !important;
  font-size: 17px !important;
  letter-spacing: 0 !important;
}
body.rtl .elementor .pm-projects-gallery > .pm-project-card:nth-child(1) .pm-project-name,
body.rtl .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(1) .pm-project-name {
  font-size: 28px !important;
}
@media (max-width: 1100px) {
  body .elementor .pm-projects-gallery,
  body .elementor .pm-projects-gallery > .e-con-inner {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: 320px 200px 200px !important;
    min-height: 0 !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(1),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(1),
  body .elementor .pm-projects-gallery > .e-con:nth-child(1),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(1) {
    grid-column: 1 / -1 !important;
    grid-row: 1 / 2 !important;
    min-height: 320px !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(2),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(2),
  body .elementor .pm-projects-gallery > .e-con:nth-child(2),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(2) {
    grid-column: 1 / 2 !important;
    grid-row: 2 / 3 !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(3),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(3),
  body .elementor .pm-projects-gallery > .e-con:nth-child(3),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(3) {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 3 !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(4),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(4),
  body .elementor .pm-projects-gallery > .e-con:nth-child(4),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(4) {
    grid-column: 1 / 2 !important;
    grid-row: 3 / 4 !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(5),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(5),
  body .elementor .pm-projects-gallery > .e-con:nth-child(5),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(5) {
    grid-column: 2 / 3 !important;
    grid-row: 3 / 4 !important;
  }
}
@media (max-width: 900px) {
  /* Must restate :nth-child rules — otherwise tablet/desktop placements win on specificity and push cards into a clipped 2nd column */
  body .elementor .pm-projects-gallery,
  body .elementor .pm-projects-gallery > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    gap: 12px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card,
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card,
  body .elementor .pm-projects-gallery > .e-con,
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con,
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(n),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(n),
  body .elementor .pm-projects-gallery > .e-con:nth-child(n),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(n) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 220px !important;
    height: 220px !important;
    overflow: hidden !important;
  }
  body .elementor .pm-projects-gallery > .pm-project-card:nth-child(1),
  body .elementor .pm-projects-gallery > .e-con-inner > .pm-project-card:nth-child(1),
  body .elementor .pm-projects-gallery > .e-con:nth-child(1),
  body .elementor .pm-projects-gallery > .e-con-inner > .e-con:nth-child(1) {
    min-height: 280px !important;
    height: 280px !important;
  }
}

/* Project cards — cover + gradient + zoom hover */
body .elementor .pm-project-card,
body .elementor .pm-project-card > .e-con-inner {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 20px !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  transition: transform 0.45s cubic-bezier(0.16, 0.68, 0.3, 1),
    box-shadow 0.45s ease;
}
body .elementor .pm-projects-gallery .pm-project-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 50px -28px rgba(14, 15, 18, 0.55) !important;
}
body .elementor .pm-project-card > .e-con-inner {
  height: 100% !important;
  min-height: inherit !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body .elementor .pm-project-card > .e-con-inner::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1;
  pointer-events: none !important;
  background: linear-gradient(
    180deg,
    rgba(14, 15, 18, 0) 35%,
    rgba(14, 15, 18, 0.72) 100%
  ) !important;
  transition: opacity 0.35s ease;
}
body .elementor .pm-project-card .elementor-widget-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  z-index: 0;
}
body .elementor .pm-project-card .elementor-widget-image .elementor-widget-container,
body .elementor .pm-project-card .elementor-widget-image a,
body .elementor .pm-project-card .elementor-widget-image picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}
body .elementor .pm-project-card .elementor-widget-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: scale(1.02);
  transition: transform 0.7s cubic-bezier(0.16, 0.68, 0.3, 1);
}
body .elementor .pm-projects-gallery .pm-project-card:hover .elementor-widget-image img {
  transform: scale(1.08);
}
body .elementor .pm-project-card .elementor-widget-text-editor {
  position: absolute !important;
  z-index: 2;
  left: 18px !important;
  right: 18px !important;
  bottom: 16px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none;
}
body.rtl .elementor .pm-project-card .elementor-widget-text-editor {
  text-align: right !important;
}
body .elementor .pm-projects-gallery .pm-project-glass {
  background: transparent !important;
  backdrop-filter: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}
body .elementor .pm-projects-main .elementor-widget-text-editor {
  left: 28px !important;
  right: 28px !important;
  bottom: 26px !important;
  max-width: none !important;
  width: auto !important;
}
body .elementor .pm-project-caption-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  pointer-events: none;
}
body .elementor .pm-project-glass {
  background: rgba(14, 15, 18, 0.55);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 18px 24px;
  width: fit-content;
  max-width: 100%;
}
body .elementor .pm-projects-side .pm-project-glass {
  border-radius: 14px;
  padding: 14px 20px;
}
body .elementor .pm-project-pill {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(14, 15, 18, 0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 10px 16px;
  border-radius: 100px;
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 900px) {
  :root {
    --pm-content-width: min(92vw, 1400px);
    --pm-side-pad: max(4vw, calc((100vw - 1400px) / 2));
  }

  /* 5-card gallery: keep all cards visible on tablet/mobile (grid rules above) */
  body .elementor .pm-project-caption-bar {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* 06 — WHY PLACEMAKERS: 4 equal cards like Next.js */
body .elementor .pm-why-grid,
body .elementor .pm-why-grid > .e-con-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-wrap: nowrap !important;
}
body .elementor .pm-why-grid > .e-con,
body .elementor .pm-why-grid > .e-con-inner > .e-con {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  height: 100% !important;
}
body .elementor .pm-why-card,
body .elementor .pm-why-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 70px !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 280px !important;
  box-sizing: border-box !important;
  border-radius: 20px !important;
  transition:
    transform 0.45s cubic-bezier(0.16, 0.68, 0.3, 1),
    background 0.45s;
}
body .elementor .pm-why-card {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  padding: 36px 30px !important;
}
body .elementor .pm-why-card > .e-con-inner {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}
body .elementor .pm-why-card:hover {
  transform: translateY(-10px);
  background: rgba(255, 255, 255, 0.09) !important;
}
body .elementor .pm-why-letter-wrap,
body .elementor .pm-why-letter-wrap .elementor-widget-container,
body .elementor .pm-why-letter-wrap p,
body .elementor .pm-why-card > .elementor-widget-text-editor,
body .elementor .pm-why-card > .elementor-widget-text-editor .elementor-widget-container,
body .elementor .pm-why-card > .elementor-widget-text-editor p {
  margin: 0 !important;
  padding: 0 !important;
}
body .elementor .pm-why-letter {
  display: inline-block;
  font-family: "Instrument Serif", serif !important;
  font-style: italic !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  color: #e8432f !important;
  letter-spacing: 0 !important;
}
body .elementor .pm-why-copy,
body .elementor .pm-why-copy > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: auto !important;
  padding: 0 !important;
}
body .elementor .pm-why-copy .elementor-heading-title {
  color: #fff !important;
  margin: 0 0 10px !important;
}
body .elementor .pm-why-copy .elementor-widget-text-editor,
body .elementor .pm-why-copy .elementor-widget-text-editor p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* Arabic: section 06 content right-aligned */
body.rtl .elementor .pm-section-why,
body.rtl .elementor .pm-section-why .pm-content-shell,
body.rtl .elementor .pm-section-why .pm-why-grid,
body.rtl .elementor .pm-section-why .pm-why-grid > .e-con-inner,
body.rtl .elementor .pm-section-why .pm-why-card,
body.rtl .elementor .pm-section-why .pm-why-card > .e-con-inner,
body.rtl .elementor .pm-section-why .pm-why-copy,
body.rtl .elementor .pm-section-why .pm-why-copy > .e-con-inner {
  direction: rtl !important;
  text-align: right !important;
}
body.rtl .elementor .pm-section-why .elementor-heading-title,
body.rtl .elementor .pm-section-why .elementor-widget-heading .elementor-heading-title,
body.rtl .elementor .pm-section-why .elementor-widget-text-editor,
body.rtl .elementor .pm-section-why .elementor-widget-text-editor p,
body.rtl .elementor .pm-section-why .pm-why-letter-wrap,
body.rtl .elementor .pm-section-why .pm-why-letter-wrap .elementor-widget-container,
body.rtl .elementor .pm-section-why .pm-why-letter-wrap p,
body.rtl .elementor .pm-section-why .pm-why-letter,
body.rtl .elementor .pm-section-why .pm-why-copy .elementor-heading-title,
body.rtl .elementor .pm-section-why .pm-why-copy .elementor-widget-text-editor,
body.rtl .elementor .pm-section-why .pm-why-copy .elementor-widget-text-editor p {
  text-align: right !important;
}

@media (max-width: 1100px) {
  body .elementor .pm-why-grid,
  body .elementor .pm-why-grid > .e-con-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 600px) {
  body .elementor .pm-why-grid,
  body .elementor .pm-why-grid > .e-con-inner {
    grid-template-columns: 1fr !important;
  }
  body .elementor .pm-why-card,
  body .elementor .pm-why-card > .e-con-inner {
    gap: 40px !important;
    min-height: 0 !important;
  }
}

/* ── Mobile: soft size fallbacks (no !important — Elementor responsive typography wins) ── */
@media (max-width: 900px) {
  body .elementor .pm-section-studio .pm-manifesto-body > .elementor-widget-heading .elementor-heading-title,
  body .elementor .pm-section-story .pm-story-titles .elementor-heading-title,
  body .elementor .pm-section-collection > .elementor-widget-heading .elementor-heading-title,
  body .elementor .pm-section-projects .pm-projects-copy > .elementor-widget-heading .elementor-heading-title,
  body .elementor .pm-section-projects .pm-projects-top > .e-con-inner > .pm-projects-copy .elementor-heading-title,
  body .elementor .pm-section-why > .elementor-widget-heading .elementor-heading-title,
  body .elementor .pm-section-why > .e-con > .elementor-widget-heading .elementor-heading-title,
  body .elementor .pm-section-clients .elementor-heading-title,
  body .elementor .pm-section-contact .elementor-heading-title,
  body .elementor #manifesto .elementor-heading-title,
  body .elementor #story .pm-story-titles .elementor-heading-title,
  body .elementor #collection > .elementor-widget-heading .elementor-heading-title,
  body .elementor #contact .elementor-heading-title,
  body .elementor .pm-section-title .elementor-heading-title {
    font-size: var(--pm-m-title);
    line-height: 1.1;
  }

  body .elementor .pm-section-ateliers .pm-ateliers-header .elementor-heading-title,
  body .elementor .pm-ateliers-h .elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.12 !important;
  }

  /* Partners rows — readable scale on tablet/mobile (beat #ateliers h2 clamp) */
  body .elementor .pm-atelier-row .pm-atelier-num .elementor-heading-title,
  body .elementor .pm-atelier-row > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title {
    font-size: 18px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }
  body .elementor .pm-atelier-row .pm-atelier-name .elementor-heading-title,
  body .elementor .pm-atelier-row > .e-con-inner > .e-con .elementor-heading-title {
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  body .elementor .pm-atelier-row .elementor-widget-text-editor,
  body .elementor .pm-atelier-row .elementor-widget-text-editor p {
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: 0.08em !important;
  }
}

@media (max-width: 767px) {
  body .elementor .pm-atelier-row .pm-atelier-num .elementor-heading-title,
  body .elementor .pm-atelier-row > .e-con-inner > .elementor-widget-heading:first-child .elementor-heading-title {
    font-size: 15px !important;
  }
  body .elementor .pm-atelier-row .pm-atelier-name .elementor-heading-title,
  body .elementor .pm-atelier-row > .e-con-inner > .e-con .elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  body .elementor .pm-atelier-row .elementor-widget-text-editor,
  body .elementor .pm-atelier-row .elementor-widget-text-editor p {
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
  }
  body .elementor .pm-section-ateliers .pm-ateliers-header .elementor-heading-title,
  body .elementor .pm-ateliers-h .elementor-heading-title {
    font-size: 24px !important;
  }
  body .elementor .pm-ateliers-header .pm-ateliers-lead,
  body .elementor .pm-ateliers-header .pm-ateliers-lead p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  body .elementor .pm-section-tag,
  body .elementor .pm-section-tag p,
  body .elementor .pm-manifesto-label .elementor-widget-text-editor p,
  body .elementor .pm-story-label .elementor-widget-text-editor p,
  body .elementor .pm-section-why > .elementor-widget-text-editor:first-of-type p,
  body .elementor .pm-section-contact > .elementor-widget-text-editor:first-of-type p {
    font-size: var(--pm-m-tag);
  }
}

/* ── Arabic: all sections wrap RTL (new lines start on the right) ── */
html[lang="ar"] body,
body.rtl {
  direction: rtl !important;
}

body.rtl .elementor .elementor-heading-title,
body.rtl .elementor .elementor-widget-heading .elementor-heading-title,
body.rtl .elementor .elementor-widget-text-editor,
body.rtl .elementor .elementor-widget-text-editor .elementor-widget-container,
body.rtl .elementor .elementor-widget-text-editor p,
body.rtl .elementor .elementor-widget-text-editor span,
body.rtl .elementor .elementor-button-text {
  direction: rtl !important;
  text-align: right !important;
  unicode-bidi: plaintext;
}

body.rtl .elementor .pm-section-studio,
body.rtl .elementor #manifesto,
body.rtl .elementor .pm-section-story,
body.rtl .elementor #story,
body.rtl .elementor .pm-section-ateliers,
body.rtl .elementor #ateliers,
body.rtl .elementor .pm-section-projects,
body.rtl .elementor #projects,
body.rtl .elementor .pm-section-why,
body.rtl .elementor .pm-atelier-row,
body.rtl .elementor .pm-atelier-row > .e-con-inner,
body.rtl .elementor .pm-project-line,
body.rtl .elementor .pm-project-line > .e-con-inner,
body.rtl .elementor .pm-ateliers-header,
body.rtl .elementor .pm-projects-top,
body.rtl .elementor .pm-why-grid,
body.rtl .elementor .pm-why-card,
body.rtl .elementor .pm-why-copy {
  direction: rtl !important;
  text-align: right !important;
}

/* Beat LTR left locks inside projects / ateliers */
body.rtl .elementor .pm-atelier-row .elementor-heading-title,
body.rtl .elementor .pm-atelier-row .elementor-widget-text-editor,
body.rtl .elementor .pm-atelier-row .elementor-widget-text-editor p,
body.rtl .elementor .pm-section-projects .elementor-heading-title,
body.rtl .elementor .pm-section-projects .elementor-widget-text-editor,
body.rtl .elementor .pm-section-projects .elementor-widget-text-editor p,
body.rtl .elementor .pm-section-why .elementor-heading-title,
body.rtl .elementor .pm-section-why .elementor-widget-text-editor,
body.rtl .elementor .pm-section-why .elementor-widget-text-editor p {
  text-align: right !important;
  direction: rtl !important;
}

/* Collection / Contact / Quality / Approvals stay centered (AR) */
body.rtl .elementor .pm-section-collection,
body.rtl .elementor #collection,
body.rtl .elementor .pm-section-contact,
body.rtl .elementor #contact,
body.rtl .elementor .pm-section-clients,
body.rtl .elementor .pm-section-quality,
body.rtl .elementor #quality,
body.rtl .elementor .pm-section-approvals,
body.rtl .elementor #approvals {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
  --align-items: center !important;
  --justify-content: center !important;
}
body.rtl .elementor .pm-section-collection .elementor-heading-title,
body.rtl .elementor .pm-section-collection .elementor-widget-text-editor,
body.rtl .elementor .pm-section-collection .elementor-widget-text-editor p,
body.rtl .elementor #collection .elementor-heading-title,
body.rtl .elementor .pm-section-contact .elementor-heading-title,
body.rtl .elementor .pm-section-contact .elementor-widget-text-editor,
body.rtl .elementor .pm-section-contact .elementor-widget-text-editor p,
body.rtl .elementor #contact .elementor-heading-title,
body.rtl .elementor .pm-section-clients .elementor-heading-title,
body.rtl .elementor .pm-section-quality .elementor-heading-title,
body.rtl .elementor .pm-section-quality .elementor-widget-text-editor,
body.rtl .elementor .pm-section-quality .elementor-widget-text-editor p,
body.rtl .elementor .pm-section-quality .elementor-widget-container,
body.rtl .elementor #quality .elementor-heading-title,
body.rtl .elementor .pm-section-approvals .elementor-heading-title,
body.rtl .elementor .pm-section-approvals .elementor-widget-text-editor,
body.rtl .elementor .pm-section-approvals .elementor-widget-text-editor p,
body.rtl .elementor .pm-section-approvals .elementor-widget-container,
body.rtl .elementor #approvals .elementor-heading-title,
body.rtl .elementor #approvals .elementor-widget-text-editor,
body.rtl .elementor #approvals .elementor-widget-text-editor p,
body.rtl .elementor .elementor-align-center .elementor-heading-title {
  text-align: center !important;
}

/* Arabic mobile scale tokens (fallback only — Elementor typography wins when set) */
body.rtl {
  --pm-m-title: 34px;
  --pm-m-body: 15px;
  --pm-m-tag: 13px;
}

/* Soft AR default font (no !important — Elementor Style > Typography overrides this) */
body.rtl .elementor .elementor-heading-title,
body.rtl .elementor .elementor-widget-heading .elementor-heading-title {
  font-family: "Amiri", "Space Grotesk", serif;
  letter-spacing: 0;
}

body.rtl .elementor .pm-project-name .elementor-heading-title,
body.rtl .elementor .pm-project-line .pm-project-name .elementor-heading-title,
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-heading .elementor-heading-title,
body.rtl .elementor #projects .pm-project-name .elementor-heading-title {
  text-align: right !important;
  color: #1a1e24 !important;
}

/* 05 — project lines AR: title next to dot (right), place tag with proper left margin */
body.rtl .elementor .pm-project-line,
body.rtl .elementor .pm-project-line > .e-con-inner {
  direction: rtl !important;
}
body.rtl .elementor .pm-project-line > .e-con-inner {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  column-gap: 18px !important;
  width: 100% !important;
  padding-left: 8px !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:first-child {
  grid-column: 1 !important;
  justify-self: start !important;
}
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-heading {
  grid-column: 2 !important;
  justify-self: start !important;
  text-align: right !important;
  margin: 0 !important;
  max-width: 100% !important;
}
/* List names — alignment/color only; size/weight from Elementor */
body.rtl .elementor #projects .pm-project-line .elementor-heading-title,
body.rtl .elementor .pm-section-projects .pm-project-line .elementor-heading-title,
body.rtl .elementor .pm-project-line .elementor-heading-title,
body.rtl .elementor .pm-project-line .pm-project-name .elementor-heading-title {
  text-align: right !important;
  margin: 0 !important;
  color: #1a1e24 !important;
}
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child {
  grid-column: 3 !important;
  justify-self: end !important;
  margin: 0 0 0 4px !important;
  padding: 0 0 0 4px !important;
  min-width: 4.5em !important;
}
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child,
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child .elementor-widget-container,
body.rtl .elementor .pm-project-line > .e-con-inner > .elementor-widget-text-editor:last-child p {
  text-align: left !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

/* EN §03 — description under section title, left */
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header,
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header > .e-con-inner,
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header > .e-con-inner > .e-con {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100% !important;
}
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header .pm-ateliers-h .elementor-heading-title,
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header .pm-ateliers-lead,
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header .pm-ateliers-lead p {
  text-align: left !important;
}
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header .pm-ateliers-lead,
body.elementor-page:not(.rtl) .elementor .pm-ateliers-header .pm-ateliers-lead p {
  margin-top: 18px !important;
  max-width: 640px !important;
  color: #6b6455 !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;
  white-space: normal !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* ── AFTER Elementor: Projects = 2 columns (1 titles/list · 2 image/map) ── */
body.elementor-page .elementor .pm-section-projects,
body.elementor-page .elementor #projects {
  overflow: visible !important;
}
body.elementor-page .elementor .pm-projects-top,
body.elementor-page .elementor .pm-projects-top.e-con,
body.elementor-page .elementor .pm-projects-top > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) !important;
  gap: 56px !important;
  align-items: center !important;
  align-content: center !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  --display: grid !important;
  --flex-direction: row !important;
  --align-items: center !important;
  --container-widget-height: auto !important;
  --container-widget-flex-grow: 0 !important;
}
/* Col 1 — titles + project list */
body.elementor-page .elementor .pm-projects-top > .e-con-inner > .pm-projects-copy,
body.elementor-page .elementor .pm-projects-copy,
body.elementor-page .elementor .pm-projects-copy.e-con {
  grid-column: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  align-self: start !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  --display: flex !important;
  --flex-direction: column !important;
  --align-items: stretch !important;
  --container-widget-height: auto !important;
  --container-widget-flex-grow: 0 !important;
}
body.elementor-page .elementor .pm-projects-copy > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  --display: flex !important;
  --flex-direction: column !important;
  --container-widget-height: auto !important;
}
body.elementor-page .elementor .pm-project-line,
body.elementor-page .elementor .pm-project-line.e-con {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
  --container-widget-height: auto !important;
}
/* AR projects types — beat Elementor cache / widget clamps */
body.elementor-page .elementor .pm-projects-lead,
body.elementor-page.rtl .elementor .pm-projects-lead,
body.elementor-page .elementor .pm-projects-types,
body.elementor-page.rtl .elementor .pm-projects-types {
  display: flex !important;
  flex-direction: column !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.elementor-page .elementor .pm-projects-lead {
  display: block !important;
}
body.elementor-page .elementor .pm-projects-types__item,
body.elementor-page.rtl .elementor .pm-projects-types__item {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #6b6455 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
  padding-inline-start: 1.15em !important;
  position: relative !important;
}
body.elementor-page .elementor .pm-projects-types__item::before {
  content: "•" !important;
  position: absolute !important;
  inset-inline-start: 0 !important;
  color: #e8432f !important;
}
/* Col 2 — image / map */
body.elementor-page .elementor .pm-projects-top > .e-con-inner > .pm-kingdom-map,
body.elementor-page .elementor .pm-projects-top > .e-con-inner > .kingdom-map,
body.elementor-page .elementor .pm-projects-top > .e-con-inner > #kingdom-map,
body.elementor-page .elementor .pm-kingdom-map,
body.elementor-page .elementor #kingdom-map {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  position: sticky !important;
  top: 100px !important;
  width: 100% !important;
  height: min(640px, 70vh) !important;
  min-height: 420px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  background: #16181d !important;
  --container-widget-height: auto !important;
}
body.elementor-page .elementor .pm-kingdom-map .elementor-widget-text-editor,
body.elementor-page .elementor #kingdom-map .elementor-widget-text-editor,
body.elementor-page .elementor .pm-kingdom-map > .e-con-inner > .elementor-widget-text-editor {
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}
/* Tablet + mobile: 1 column (copy) then 2 (map/image) full screen width */
@media (max-width: 1024px) {
  body.elementor-page .elementor .pm-projects-top,
  body.elementor-page .elementor .pm-projects-top.e-con,
  body.elementor-page .elementor .pm-projects-top > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    --display: flex !important;
    --flex-direction: column !important;
  }
  body.elementor-page .elementor .pm-projects-top > .e-con-inner > .pm-projects-copy,
  body.elementor-page .elementor .pm-projects-copy,
  body.elementor-page .elementor .pm-projects-copy.e-con {
    order: 1 !important;
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
  }
  body.elementor-page .elementor .pm-projects-top > .e-con-inner > .pm-kingdom-map,
  body.elementor-page .elementor .pm-projects-top > .e-con-inner > .kingdom-map,
  body.elementor-page .elementor .pm-projects-top > .e-con-inner > #kingdom-map,
  body.elementor-page .elementor .pm-kingdom-map,
  body.elementor-page .elementor #kingdom-map,
  body.elementor-page .elementor .pm-kingdom-map.elementor-hidden-mobile,
  body.elementor-page .elementor #kingdom-map.elementor-hidden-mobile {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    order: 2 !important;
    grid-column: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    align-self: stretch !important;
    height: min(52vw, 360px) !important;
    min-height: 280px !important;
  }
}

/* 07 — QUALITY luxury editorial (after Elementor) */
body.elementor-page .elementor .pm-section-quality,
body.elementor-page .elementor .pm-section-clients.pm-section-quality {
  background-color: #faf8f5 !important;
  padding-top: 140px !important;
  padding-bottom: 140px !important;
  padding-left: var(--pm-side-pad) !important;
  padding-right: var(--pm-side-pad) !important;
  text-align: center !important;
}
/* Quality typography: defaults in globals.css via :where() — Elementor Style wins */
body.elementor-page .elementor .pm-section-quality .pm-quality-iso {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid rgba(26, 30, 36, 0.1) !important;
  border-bottom: 1px solid rgba(26, 30, 36, 0.1) !important;
  background: transparent !important;
}
body.elementor-page .elementor .pm-section-quality .pm-quality-iso__card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  border-right: 1px solid rgba(26, 30, 36, 0.1) !important;
  padding: 40px 36px 44px !important;
  text-align: left !important;
}
body.elementor-page .elementor .pm-section-quality .pm-quality-iso__card:last-child {
  border-right: none !important;
}
body.elementor-page .elementor .pm-section-quality .pm-quality-iso__code {
  font-family: "Instrument Serif", serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  color: #1a1e24 !important;
}
@media (max-width: 900px) {
  body.elementor-page .elementor .pm-section-quality .pm-quality-iso {
    grid-template-columns: 1fr !important;
  }
  body.elementor-page .elementor .pm-section-quality .pm-quality-iso__card {
    border-right: none !important;
    border-bottom: 1px solid rgba(26, 30, 36, 0.1) !important;
    padding: 28px 8px !important;
  }
  body.elementor-page .elementor .pm-section-quality .pm-quality-iso__card:last-child {
    border-bottom: none !important;
  }
}

/* 08 — APPROVALS */
body.elementor-page .elementor .pm-section-approvals,
body.elementor-page .elementor #approvals {
  background-color: #ffffff !important;
  padding-left: var(--pm-side-pad) !important;
  padding-right: var(--pm-side-pad) !important;
  text-align: center !important;
}
/* Desktop locked (unchanged) */
@media (min-width: 1025px) {
  body.elementor-page .elementor .pm-section-approvals,
  body.elementor-page .elementor #approvals {
    --padding-top: 120px !important;
    --padding-bottom: 120px !important;
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    padding-block-start: 120px !important;
    padding-block-end: 120px !important;
  }
}
/* Tablet only */
@media (max-width: 1024px) and (min-width: 768px) {
  body.elementor-page .elementor .pm-section-approvals,
  body.elementor-page .elementor #approvals {
    --padding-top: 48px !important;
    --padding-bottom: 56px !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
    padding-block-start: 48px !important;
    padding-block-end: 56px !important;
  }
}
/* Mobile only */
@media (max-width: 767px) {
  body.elementor-page .elementor .pm-section-approvals,
  body.elementor-page .elementor #approvals {
    --padding-top: 40px !important;
    --padding-bottom: 44px !important;
    padding-top: 40px !important;
    padding-bottom: 44px !important;
    padding-block-start: 40px !important;
    padding-block-end: 44px !important;
  }
}
/* Approvals — layout only; typography via :where() in globals (Elementor Style wins) */
body.elementor-page .elementor .pm-section-approvals,
body.elementor-page .elementor #approvals {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
body.elementor-page .elementor .pm-section-approvals > .elementor-widget,
body.elementor-page .elementor #approvals > .elementor-widget {
  width: 100% !important;
  max-width: min(90vw, 820px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
body.elementor-page .elementor .pm-section-approvals .pm-approvals__lead,
body.elementor-page .elementor .pm-section-approvals .pm-approvals__lead .elementor-widget-container,
body.elementor-page .elementor .pm-section-approvals .pm-approvals__lead p {
  max-width: 640px;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
/* AR Approvals: soft Amiri defaults (no !important on font — Elementor can override) */
body.rtl .elementor .pm-section-approvals .pm-approvals__title .elementor-heading-title,
body.rtl .elementor #approvals .pm-approvals__title .elementor-heading-title {
  font-family: "Amiri", "Space Grotesk", serif;
  text-align: center !important;
}
body.rtl .elementor .pm-section-approvals .pm-approvals__lead,
body.rtl .elementor .pm-section-approvals .pm-approvals__lead p,
body.rtl .elementor #approvals .pm-approvals__lead p {
  font-family: "Amiri", "Space Grotesk", serif;
  text-align: center !important;
}

/* -- Contact page: force homepage shell / alignment after Elementor -- */
body.elementor-page .elementor .pm-contact-page__hero,
body.elementor-page .elementor .pm-contact-page__form-section {
  padding-left: var(--pm-side-pad) !important;
  padding-right: var(--pm-side-pad) !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}
body.elementor-page .elementor .pm-contact-page__hero > .elementor-widget,
body.elementor-page .elementor .pm-contact-page__form-section > .elementor-widget {
  width: 100% !important;
  max-width: var(--pm-content-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.elementor-page .elementor .pm-contact-page__lead {
  max-width: 720px !important;
}
body.elementor-page .elementor .pm-contact-page__form,
body.elementor-page .elementor .pm-contact-page__form .wpcf7,
body.elementor-page .elementor .pm-contact-page__form-label-wrap,
body.elementor-page .elementor .pm-contact-page__form-title {
  max-width: 980px !important;
  width: 100% !important;
}
body.elementor-page .elementor .pm-contact-page__info {
  max-width: var(--pm-content-max) !important;
}
body.rtl.elementor-page .elementor .pm-contact-page__hero,
body.rtl.elementor-page .elementor .pm-contact-page__form-section,
body.elementor-page .elementor .pm-contact-page__title,
body.elementor-page .elementor .pm-contact-page__title .elementor-heading-title,
body.elementor-page .elementor .pm-contact-page__form-title,
body.elementor-page .elementor .pm-contact-page__form-title .elementor-heading-title,
body.elementor-page .elementor .pm-contact-page__meta-title,
body.elementor-page .elementor .pm-contact-page__meta-title .elementor-heading-title,
body.elementor-page .elementor .pm-contact-page__label-wrap,
body.elementor-page .elementor .pm-contact-page__form-label-wrap,
body.elementor-page .elementor .pm-contact-page__form-label-wrap p,
body.rtl.elementor-page .elementor .pm-contact-page__lead,
body.rtl.elementor-page .elementor .pm-contact-page__lead p {
  text-align: center !important;
}
/* Contact meta: layout only — colors/fonts/padding come from :where() defaults or Elementor Style */
body.elementor-page .elementor .pm-contact-page__meta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 18px !important;
  max-width: 980px !important;
  width: 100% !important;
  margin-top: 48px !important;
}
body.elementor-page .elementor .pm-contact-page__meta-card {
  flex: 1 1 280px !important;
  max-width: 320px !important;
  text-align: center !important;
}
@media (max-width: 900px) {
  body.elementor-page .elementor .pm-contact-page__meta {
    flex-direction: column !important;
    max-width: 420px !important;
  }
  body.elementor-page .elementor .pm-contact-page__meta-card {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Contact form submit = homepage pill buttons */
body .wpcf7 input[type="submit"],
body .wpcf7 .pm-cf7-submit,
body.elementor-page .wpcf7 input[type="submit"] {
  border-radius: 100px !important;
  padding: 22px 46px !important;
}
body .wpcf7 input[type="text"],
body .wpcf7 input[type="email"],
body .wpcf7 input[type="tel"],
body .wpcf7 textarea {
  border-radius: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 58px !important;
  box-sizing: border-box !important;
}
body .wpcf7 textarea {
  height: auto !important;
  min-height: 168px !important;
}
body .pm-cf7-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap: 28px !important;
  row-gap: 26px !important;
  width: 100% !important;
  max-width: 980px !important;
}
body .pm-cf7-grid > p {
  display: contents !important;
}
body .pm-cf7-grid br {
  display: none !important;
}
body .pm-cf7-field,
body .wpcf7-form-control-wrap {
  width: 100% !important;
  max-width: 100% !important;
}
