:root{
  --ayamen-motion-fast:220ms;
  --ayamen-motion-normal:380ms;
  --ayamen-motion-medium:600ms;
  --ayamen-motion-slow:850ms;
  --ayamen-ease:cubic-bezier(.22,1,.36,1);
  --ayamen-ease-standard:cubic-bezier(.4,0,.2,1);
  --ayamen-blue:#0c436a;
  --ayamen-blue-dark:#062f4c;
  --ayamen-orange:#f6921e;
  --ayamen-cream:#f3eee5;
  --ayamen-cream-light:#faf8f3;
  --ayamen-white:#fff;
  --ayamen-muted-blue:#dce6eb;
}

.ayamen-project-locations{
  position:relative;
  width:100%;
  min-height:clamp(680px,90svh,900px);
  overflow:hidden;
  isolation:isolate;
  background:var(--ayamen-cream);
  color:var(--ayamen-blue-dark);
}

.ayamen-project-locations *,
.ayamen-project-locations *::before,
.ayamen-project-locations *::after{box-sizing:border-box}

.ayamen-project-locations__stage{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  background:#e8e4dc;
}

.ayamen-project-locations__map{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%;
  background:#e8e4dc;
}

.ayamen-project-locations__shade{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(243,238,229,.03) 0%,
      rgba(243,238,229,.03) 44%,
      rgba(243,238,229,.32) 61%,
      rgba(243,238,229,.78) 77%,
      rgba(243,238,229,.98) 100%
    );
}

html[dir="rtl"] .ayamen-project-locations__shade{
  background:
    linear-gradient(
      270deg,
      rgba(243,238,229,.03) 0%,
      rgba(243,238,229,.03) 44%,
      rgba(243,238,229,.32) 61%,
      rgba(243,238,229,.78) 77%,
      rgba(243,238,229,.98) 100%
    );
}

.ayamen-project-locations__reveal{
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  background:var(--ayamen-cream);
  transform-origin:50% 0;
}

.ayamen-project-locations.is-motion-ready .ayamen-project-locations__reveal{
  transform:scaleY(1);
}

.ayamen-project-locations.is-entered .ayamen-project-locations__reveal{
  transform:scaleY(0);
  transition:transform var(--ayamen-motion-slow) var(--ayamen-ease) 120ms;
}

.ayamen-project-locations__content{
  position:relative;
  z-index:4;
  width:min(1480px,calc(100vw - 64px));
  min-height:inherit;
  margin-inline:auto;
  display:grid;
  align-content:center;
  justify-items:end;
  padding-block:clamp(64px,7vw,104px);
  pointer-events:none;
}

html[dir="rtl"] .ayamen-project-locations__content{justify-items:start}

.ayamen-project-locations__panel{
  width:clamp(380px,32vw,520px);
  pointer-events:auto;
}
html[dir="rtl"] .ayamen-project-locations__panel{direction:rtl}

.ayamen-project-locations__intro{
  margin-bottom:clamp(24px,3vw,38px);
}

.ayamen-project-locations__eyebrow{
  margin:0 0 15px;
  color:var(--ayamen-orange);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  line-height:1.2;
  text-transform:uppercase;
}

html[lang="ar"] .ayamen-project-locations__eyebrow{
  letter-spacing:0;
  text-transform:none;
}

.ayamen-project-locations__intro h2{
  margin:0;
  max-width:9ch;
  color:var(--ayamen-blue-dark);
  font-family:var(--font-display,AyamenSans,Helvetica,Arial,sans-serif);
  font-size:clamp(50px,5.2vw,84px);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.92;
}

html[lang="ar"] .ayamen-project-locations__intro h2{
  max-width:9ch;
  font-family:var(--ayamen-ar-display,AyamenCamel,Tahoma,Arial,sans-serif);
  font-size:clamp(46px,4.35vw,70px);
  font-weight:500;
  letter-spacing:0;
  line-height:1.03;
}

.ayamen-project-locations__intro>p:last-child{
  margin:20px 0 0;
  max-width:38ch;
  color:#506772;
  font-size:15px;
  line-height:1.55;
}

.ayamen-project-locations__navigation,
.ayamen-project-locations__list{
  margin:0;
  padding:0;
}

.ayamen-project-locations__list{
  list-style:none;
  border-top:1px solid rgba(12,67,106,.22);
}

.ayamen-project-locations__item{
  position:relative;
  border-bottom:1px solid rgba(12,67,106,.2);
  transition:
    opacity var(--ayamen-motion-normal) ease,
    border-color var(--ayamen-motion-normal) ease;
}

.ayamen-project-locations__trigger{
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:17px;
  padding:14px 0 10px;
  border:0;
  background:transparent;
  color:var(--ayamen-blue-dark);
  font:inherit;
  text-align:start;
  cursor:pointer;
}

html[dir="rtl"] .ayamen-project-locations__trigger{
  grid-template-columns:52px minmax(0,1fr) auto;
  text-align:right;
}

.ayamen-project-locations__number{
  align-self:start;
  padding-top:4px;
  color:#82929b;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  transition:
    color var(--ayamen-motion-normal) var(--ayamen-ease),
    transform var(--ayamen-motion-normal) var(--ayamen-ease);
}

.ayamen-project-locations__copy{
  min-width:0;
  display:grid;
  gap:5px;
  padding-block-end:14px;
  transition:transform var(--ayamen-motion-normal) var(--ayamen-ease);
}

.ayamen-project-locations__copy strong{
  color:var(--ayamen-blue-dark);
  font-family:var(--font-display,AyamenSans,Helvetica,Arial,sans-serif);
  font-size:clamp(24px,2vw,34px);
  font-weight:400;
  letter-spacing:-.025em;
  line-height:1;
}

html[lang="ar"] .ayamen-project-locations__copy strong{
  font-family:var(--ayamen-ar-display,AyamenCamel,Tahoma,Arial,sans-serif);
  font-weight:500;
  letter-spacing:0;
  line-height:1.12;
}

.ayamen-project-locations__copy small{
  color:#617681;
  font-size:12px;
  line-height:1.35;
}

.ayamen-project-locations__copy em{
  color:#7c8d95;
  font-size:10px;
  font-style:normal;
  font-weight:700;
  letter-spacing:.055em;
  line-height:1.35;
  text-transform:uppercase;
  transition:color var(--ayamen-motion-normal) ease;
}

html[lang="ar"] .ayamen-project-locations__copy em{
  letter-spacing:0;
  text-transform:none;
}

.ayamen-project-locations__arrow{
  color:var(--ayamen-blue);
  font-size:22px;
  line-height:1;
  transition:
    color var(--ayamen-motion-fast) ease,
    transform var(--ayamen-motion-normal) var(--ayamen-ease);
}

.ayamen-project-locations__view{
  position:absolute;
  inset-inline-start:69px;
  inset-block-end:13px;
  z-index:2;
  color:var(--ayamen-orange);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(6px);
  pointer-events:none;
  transition:
    opacity var(--ayamen-motion-fast) ease,
    transform var(--ayamen-motion-normal) var(--ayamen-ease);
}

html[lang="ar"] .ayamen-project-locations__view{
  letter-spacing:0;
  text-transform:none;
}

.ayamen-project-locations__view span{
  display:inline-block;
  transition:transform var(--ayamen-motion-fast) var(--ayamen-ease);
}

.ayamen-project-locations__item:hover,
.ayamen-project-locations__item:focus-within,
.ayamen-project-locations__item.is-map-active{
  border-bottom-color:var(--ayamen-orange);
}

.ayamen-project-locations__item:hover .ayamen-project-locations__number,
.ayamen-project-locations__item:focus-within .ayamen-project-locations__number,
.ayamen-project-locations__item.is-map-active .ayamen-project-locations__number{
  color:var(--ayamen-orange);
  transform:translateY(-2px);
}

.ayamen-project-locations__item:hover .ayamen-project-locations__copy,
.ayamen-project-locations__item:focus-within .ayamen-project-locations__copy,
.ayamen-project-locations__item.is-map-active .ayamen-project-locations__copy{
  transform:translateX(6px);
}

html[dir="rtl"] .ayamen-project-locations__item:hover .ayamen-project-locations__copy,
html[dir="rtl"] .ayamen-project-locations__item:focus-within .ayamen-project-locations__copy,
html[dir="rtl"] .ayamen-project-locations__item.is-map-active .ayamen-project-locations__copy{
  transform:translateX(-6px);
}

.ayamen-project-locations__item:hover .ayamen-project-locations__copy em,
.ayamen-project-locations__item:focus-within .ayamen-project-locations__copy em,
.ayamen-project-locations__item.is-map-active .ayamen-project-locations__copy em{
  color:var(--ayamen-blue-dark);
}

.ayamen-project-locations__item:hover .ayamen-project-locations__arrow,
.ayamen-project-locations__item:focus-within .ayamen-project-locations__arrow,
.ayamen-project-locations__item.is-map-active .ayamen-project-locations__arrow{
  color:var(--ayamen-orange);
  transform:translateX(5px);
}

html[dir="rtl"] .ayamen-project-locations__item:hover .ayamen-project-locations__arrow,
html[dir="rtl"] .ayamen-project-locations__item:focus-within .ayamen-project-locations__arrow,
html[dir="rtl"] .ayamen-project-locations__item.is-map-active .ayamen-project-locations__arrow{
  transform:translateX(5px);
}

.ayamen-project-locations__item:hover .ayamen-project-locations__view,
.ayamen-project-locations__item:focus-within .ayamen-project-locations__view,
.ayamen-project-locations__item.is-map-active .ayamen-project-locations__view{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

.ayamen-project-locations__view:hover span,
.ayamen-project-locations__view:focus-visible span{
  transform:translate(3px,-3px);
}

html[dir="rtl"] .ayamen-project-locations__view:hover span,
html[dir="rtl"] .ayamen-project-locations__view:focus-visible span{
  transform:translate(-3px,-3px);
}

.ayamen-project-locations__trigger:focus-visible,
.ayamen-project-locations__view:focus-visible{
  outline:3px solid rgba(246,146,30,.72);
  outline-offset:4px;
}

.ayamen-project-locations.has-active-project .ayamen-project-locations__item:not(.is-map-active){
  opacity:.58;
}

.ayamen-project-locations.has-active-project .ayamen-project-locations__item:not(.is-map-active):hover,
.ayamen-project-locations.has-active-project .ayamen-project-locations__item:not(.is-map-active):focus-within{
  opacity:1;
}

/* Progressive entrance */
.ayamen-project-locations.is-motion-ready .ayamen-project-locations__eyebrow,
.ayamen-project-locations.is-motion-ready .ayamen-project-locations__intro h2,
.ayamen-project-locations.is-motion-ready .ayamen-project-locations__intro>p:last-child,
.ayamen-project-locations.is-motion-ready .ayamen-project-locations__item{
  opacity:0;
  transform:translateY(20px);
}

.ayamen-project-locations.is-entered .ayamen-project-locations__eyebrow,
.ayamen-project-locations.is-entered .ayamen-project-locations__intro h2,
.ayamen-project-locations.is-entered .ayamen-project-locations__intro>p:last-child,
.ayamen-project-locations.is-entered .ayamen-project-locations__item{
  opacity:1;
  transform:none;
  transition:
    opacity var(--ayamen-motion-medium) var(--ayamen-ease),
    transform var(--ayamen-motion-medium) var(--ayamen-ease);
}

.ayamen-project-locations.is-entered .ayamen-project-locations__intro h2{transition-delay:80ms}
.ayamen-project-locations.is-entered .ayamen-project-locations__intro>p:last-child{transition-delay:150ms}
.ayamen-project-locations.is-entered .ayamen-project-locations__item{
  transition-delay:calc(210ms + var(--location-item-order,0) * 75ms);
}

/* Markers */
.ayamen-project-marker{
  --marker-scale:1;
  position:relative;
  width:42px;
  height:54px;
  opacity:1;
  transform:translateY(0) scale(var(--marker-scale));
  transform-origin:50% 100%;
  transition:
    opacity 280ms ease,
    filter 320ms ease,
    transform 320ms var(--ayamen-ease);
}

.ayamen-project-marker__button{
  position:absolute;
  inset:0 auto auto 0;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:2px solid rgba(255,255,255,.95);
  border-radius:50%;
  background:var(--ayamen-blue);
  box-shadow:0 9px 22px rgba(6,47,76,.24);
  color:#fff;
  cursor:pointer;
  transition:
    background-color var(--ayamen-motion-normal) ease,
    box-shadow var(--ayamen-motion-normal) ease,
    transform var(--ayamen-motion-normal) var(--ayamen-ease);
}

.ayamen-project-marker__button::after{
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(246,146,30,.85);
  border-radius:50%;
  opacity:.9;
}

.ayamen-project-marker__glyph{
  position:relative;
  z-index:1;
  width:17px;
  height:13px;
}

.ayamen-project-marker__glyph::before,
.ayamen-project-marker__glyph::after{
  content:"";
  position:absolute;
  left:50%;
  width:12px;
  height:3px;
  background:var(--ayamen-orange);
  transform-origin:center;
}

.ayamen-project-marker__glyph::before{
  top:2px;
  transform:translateX(-77%) rotate(-31deg);
}

.ayamen-project-marker__glyph::after{
  top:2px;
  transform:translateX(-23%) rotate(31deg);
}

.ayamen-project-marker__stem{
  position:absolute;
  left:50%;
  bottom:0;
  width:2px;
  height:15px;
  background:var(--ayamen-blue);
  transform:translateX(-50%);
}

.ayamen-project-marker__label{
  position:absolute;
  left:50%;
  bottom:63px;
  z-index:4;
  min-width:190px;
  max-width:240px;
  padding:15px 17px 14px;
  background:rgba(250,248,243,.97);
  color:var(--ayamen-blue-dark);
  box-shadow:0 16px 34px rgba(6,47,76,.16);
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:
    opacity 300ms ease,
    transform 340ms var(--ayamen-ease);
}

.ayamen-project-marker__label::before{
  content:"";
  position:absolute;
  inset-inline-start:17px;
  top:0;
  width:38px;
  height:3px;
  background:var(--ayamen-orange);
}

.ayamen-project-marker__label strong,
.ayamen-project-marker__label small,
.ayamen-project-marker__label a{
  display:block;
}

.ayamen-project-marker__label strong{
  font-family:var(--font-display,AyamenSans,Helvetica,Arial,sans-serif);
  font-size:20px;
  font-weight:400;
  line-height:1.05;
}

html[lang="ar"] .ayamen-project-marker__label{
  direction:rtl;
  text-align:right;
}

html[lang="ar"] .ayamen-project-marker__label strong{
  font-family:var(--ayamen-ar-display,AyamenCamel,Tahoma,Arial,sans-serif);
  font-weight:500;
  line-height:1.15;
}

.ayamen-project-marker__label small{
  margin-top:6px;
  color:#647983;
  font-size:11px;
  line-height:1.35;
}

.ayamen-project-marker__label a{
  margin-top:11px;
  color:var(--ayamen-orange);
  font-size:10px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}

html[lang="ar"] .ayamen-project-marker__label a{
  letter-spacing:0;
  text-transform:none;
}

.ayamen-project-marker.is-active{
  --marker-scale:1.12;
  z-index:20;
}

.ayamen-project-marker.is-active .ayamen-project-marker__button{
  background:var(--ayamen-orange);
  box-shadow:0 13px 28px rgba(246,146,30,.3);
}

.ayamen-project-marker.is-active .ayamen-project-marker__button::after{
  border-color:#fff;
  animation:ayamenMarkerPulse 700ms var(--ayamen-ease) 1;
}

.ayamen-project-marker.is-active .ayamen-project-marker__glyph::before,
.ayamen-project-marker.is-active .ayamen-project-marker__glyph::after{
  background:#fff;
}

.ayamen-project-marker.is-active .ayamen-project-marker__stem{background:var(--ayamen-orange)}
.ayamen-project-marker.is-active .ayamen-project-marker__label{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.ayamen-project-marker.is-dimmed{
  opacity:.46;
  filter:saturate(.58);
}

.ayamen-project-marker.is-clustered{
  opacity:0;
  pointer-events:none;
}

@keyframes ayamenMarkerPulse{
  0%{transform:scale(.7);opacity:.9}
  100%{transform:scale(1.7);opacity:0}
}

.ayamen-project-cluster{
  position:relative;
  width:60px;
  height:72px;
  opacity:1;
  transform:scale(1);
  transform-origin:50% 100%;
  transition:opacity 260ms ease,transform 320ms var(--ayamen-ease);
}

.ayamen-project-cluster[hidden]{display:none}

.ayamen-project-cluster__button{
  width:58px;
  height:58px;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--ayamen-blue-dark);
  color:#fff;
  box-shadow:0 12px 28px rgba(6,47,76,.27);
  font:700 15px/1 AyamenSans,Helvetica,Arial,sans-serif;
  cursor:pointer;
}

.ayamen-project-cluster__button::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:2px;
  height:17px;
  background:var(--ayamen-blue-dark);
  transform:translateX(-50%);
}

.ayamen-project-cluster__button:hover,
.ayamen-project-cluster__button:focus-visible{
  background:var(--ayamen-orange);
  transform:scale(1.06);
}

.ayamen-project-cluster__button:focus-visible,
.ayamen-project-marker__button:focus-visible{
  outline:3px solid rgba(246,146,30,.78);
  outline-offset:4px;
}


.ayamen-project-locations.is-motion-ready .ayamen-project-marker:not(.is-revealed),
.ayamen-project-locations.is-motion-ready .ayamen-project-cluster:not(.is-revealed){
  opacity:0;
  transform:translateY(12px) scale(.86);
}
.ayamen-project-marker.is-revealed{
  opacity:1;
  transform:translateY(0) scale(var(--marker-scale));
}
.ayamen-project-cluster.is-revealed{
  opacity:1;
  transform:translateY(0) scale(1);
}
.ayamen-project-cluster.is-dimmed{
  opacity:.48;
  filter:saturate(.6);
}

/* Fallback */
.ayamen-project-locations__fallback{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  align-content:center;
  justify-items:start;
  gap:18px;
  padding:clamp(30px,6vw,90px);
  background:linear-gradient(135deg,#e8e4dc,#f4efe7);
  color:var(--ayamen-blue-dark);
}

.ayamen-project-locations__fallback[hidden]{display:none}

.ayamen-project-locations__fallback p{
  max-width:36ch;
  margin:0;
  font-size:18px;
  line-height:1.55;
}

.ayamen-project-locations__fallback ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}

.ayamen-project-locations__fallback a{
  color:var(--ayamen-blue-dark);
  text-decoration:underline;
  text-underline-offset:4px;
}

/* MapLibre controls and attribution */
.ayamen-project-locations .maplibregl-ctrl-top-left,
.ayamen-project-locations .maplibregl-ctrl-top-right{
  top:20px;
}

.ayamen-project-locations .maplibregl-ctrl-top-left{left:20px}
.ayamen-project-locations .maplibregl-ctrl-top-right{right:20px}

.ayamen-project-locations .maplibregl-ctrl-group{
  border-radius:0;
  box-shadow:0 8px 24px rgba(6,47,76,.12);
  overflow:hidden;
}

.ayamen-project-locations .maplibregl-ctrl-group button{
  width:38px;
  height:38px;
  background-color:rgba(250,248,243,.94);
}

.ayamen-project-locations .maplibregl-ctrl-attrib{
  color:#324f5f;
  background:rgba(250,248,243,.8);
}

.ayamen-project-locations .maplibregl-ctrl-attrib a{color:#0c436a}

/* Existing card connection */
.ayp-project-card.is-map-active{
  border-color:rgba(246,146,30,.7);
  box-shadow:0 0 0 2px rgba(246,146,30,.42),0 24px 55px rgba(6,47,76,.14);
}

/* Tablet and mobile */
@media(max-width:1100px){
  .ayamen-project-locations__content{
    width:calc(100vw - 48px);
  }
  .ayamen-project-locations__panel{
    width:clamp(350px,39vw,470px);
  }
}

@media(max-width:820px){
  .ayamen-project-locations{
    min-height:0;
    display:flex;
    flex-direction:column;
    overflow:visible;
    background:var(--ayamen-cream);
  }

  .ayamen-project-locations__content{
    order:1;
    position:relative;
    width:calc(100vw - 32px);
    min-height:0;
    padding:72px 0 28px;
    justify-items:stretch;
  }

  .ayamen-project-locations__panel{width:100%}

  .ayamen-project-locations__intro{
    margin-bottom:30px;
  }

  .ayamen-project-locations__intro h2{
    max-width:12ch;
    font-size:clamp(46px,11vw,68px);
  }

  .ayamen-project-locations__list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 24px;
    border-top:0;
  }

  .ayamen-project-locations__item{
    border-top:1px solid rgba(12,67,106,.2);
  }

  .ayamen-project-locations__trigger{
    min-height:112px;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:12px;
  }

  .ayamen-project-locations__view{
    position:static;
    display:inline-flex;
    margin:-8px 0 14px 50px;
    opacity:1;
    transform:none;
    pointer-events:auto;
  }

  html[dir="rtl"] .ayamen-project-locations__view{
    margin:-8px 50px 14px 0;
  }

  .ayamen-project-locations__stage{
    order:2;
    position:relative;
    inset:auto;
    width:100%;
    height:60svh;
    min-height:430px;
  }

  .ayamen-project-locations__shade{
    background:linear-gradient(180deg,rgba(243,238,229,.16),transparent 24%,rgba(243,238,229,.08));
  }

  html[dir="rtl"] .ayamen-project-locations__shade{
    background:linear-gradient(180deg,rgba(243,238,229,.16),transparent 24%,rgba(243,238,229,.08));
  }

  .ayamen-project-locations__reveal{display:none}
}

@media(max-width:600px){
  .ayamen-project-locations__content{
    width:calc(100vw - 28px);
    padding-top:62px;
  }

  .ayamen-project-locations__list{
    grid-template-columns:1fr;
  }

  .ayamen-project-locations__trigger{
    min-height:102px;
  }

  .ayamen-project-locations__copy strong{
    font-size:28px;
  }

  .ayamen-project-locations__stage{
    height:58svh;
    min-height:400px;
  }

  .ayamen-project-marker__label{
    min-width:170px;
    max-width:210px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ayamen-project-locations *,
  .ayamen-project-locations *::before,
  .ayamen-project-locations *::after{
    animation:none!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }

  .ayamen-project-locations__reveal{display:none}
  .ayamen-project-locations.is-motion-ready .ayamen-project-locations__eyebrow,
  .ayamen-project-locations.is-motion-ready .ayamen-project-locations__intro h2,
  .ayamen-project-locations.is-motion-ready .ayamen-project-locations__intro>p:last-child,
  .ayamen-project-locations.is-motion-ready .ayamen-project-locations__item{
    opacity:1;
    transform:none;
  }
}

/* R72 map interaction finalisation */
.ayamen-project-cluster{display:none!important}
.ayamen-project-marker{display:block!important;visibility:visible!important;opacity:1}
.ayamen-project-marker.is-clustered{opacity:1!important;pointer-events:auto!important;transform:none!important}
html[lang="ar"] .ayamen-project-marker,html[dir="rtl"] .ayamen-project-marker{display:block!important;visibility:visible!important}
html[lang="ar"] .ayamen-project-marker__label{direction:rtl;text-align:right;font-family:var(--ayamen-ar-text,AyamenHelvetica,Tahoma,Arial,sans-serif);line-height:1.65}
.ayamen-project-marker__button,.ayamen-project-locations__trigger{transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease,color .4s ease}
.ayamen-project-marker__glyph{transition:transform .55s cubic-bezier(.22,1,.36,1),background-color .35s ease,box-shadow .45s ease}


/* R85 — marker visibility is independent of IntersectionObserver/custom-scroll state. */
.ayamen-project-locations .maplibregl-marker{
  z-index:4;
  visibility:visible!important;
  opacity:1!important;
}
.ayamen-project-locations .ayamen-project-marker,
html[lang="ar"] .ayamen-project-locations .ayamen-project-marker,
html[dir="rtl"] .ayamen-project-locations .ayamen-project-marker{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* R118 — keep MapLibre's geometry in a physical LTR coordinate system on
   Arabic routes. Arabic copy inside labels remains RTL. This avoids inherited
   RTL direction interfering with marker transforms on some browsers. */
html[lang="ar"] #ayamen-project-map,
html[dir="rtl"] #ayamen-project-map,
html[lang="ar"] #ayamen-project-map .maplibregl-map,
html[dir="rtl"] #ayamen-project-map .maplibregl-map,
html[lang="ar"] #ayamen-project-map .maplibregl-canvas-container,
html[dir="rtl"] #ayamen-project-map .maplibregl-canvas-container,
html[lang="ar"] #ayamen-project-map .maplibregl-marker,
html[dir="rtl"] #ayamen-project-map .maplibregl-marker{
  direction:ltr!important;
}
html[lang="ar"] #ayamen-project-map .maplibregl-marker,
html[dir="rtl"] #ayamen-project-map .maplibregl-marker{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:8!important;
}
html[lang="ar"] #ayamen-project-map .ayamen-project-marker__label,
html[dir="rtl"] #ayamen-project-map .ayamen-project-marker__label{
  direction:rtl!important;
  text-align:right!important;
}
\n\n/* R143 — Arabic Projects map root fix.\n   The map is never gated by the legacy reveal animation; MapLibre owns physical\n   geometry in LTR while only the project copy/panel remains RTL. */\nhtml[lang="ar"] .ayamen-project-locations__reveal,\nhtml[dir="rtl"] .ayamen-project-locations__reveal{\n  display:none!important;\n  visibility:hidden!important;\n  opacity:0!important;\n  pointer-events:none!important;\n}\nhtml[lang="ar"] .ayamen-project-locations__stage,\nhtml[dir="rtl"] .ayamen-project-locations__stage{\n  direction:ltr!important;\n  display:block!important;\n  visibility:visible!important;\n  opacity:1!important;\n}\nhtml[lang="ar"] #ayamen-project-map,\nhtml[dir="rtl"] #ayamen-project-map{\n  direction:ltr!important;\n  display:block!important;\n  visibility:visible!important;\n  opacity:1!important;\n  width:100%!important;\n  height:100%!important;\n  min-width:100%!important;\n  min-height:100%!important;\n}\nhtml[lang="ar"] #ayamen-project-map .maplibregl-map,\nhtml[dir="rtl"] #ayamen-project-map .maplibregl-map,\nhtml[lang="ar"] #ayamen-project-map .maplibregl-canvas-container,\nhtml[dir="rtl"] #ayamen-project-map .maplibregl-canvas-container,\nhtml[lang="ar"] #ayamen-project-map canvas,\nhtml[dir="rtl"] #ayamen-project-map canvas,\nhtml[lang="ar"] #ayamen-project-map .maplibregl-marker,\nhtml[dir="rtl"] #ayamen-project-map .maplibregl-marker{\n  direction:ltr!important;\n}\nhtml[lang="ar"] #ayamen-project-map canvas,\nhtml[dir="rtl"] #ayamen-project-map canvas{\n  display:block!important;\n  visibility:visible!important;\n  opacity:1!important;\n}\nhtml[lang="ar"] #ayamen-project-map .maplibregl-marker,\nhtml[dir="rtl"] #ayamen-project-map .maplibregl-marker{\n  display:block!important;\n  visibility:visible!important;\n  opacity:1!important;\n  pointer-events:auto!important;\n}\nhtml[lang="ar"] #ayamen-project-map .ayamen-project-marker__label,\nhtml[dir="rtl"] #ayamen-project-map .ayamen-project-marker__label{\n  direction:rtl!important;\n  text-align:right!important;\n}\nhtml[lang="ar"] .ayamen-project-locations__panel,\nhtml[dir="rtl"] .ayamen-project-locations__panel{direction:rtl!important;text-align:right!important;}\n@media (min-width:821px){\n  html[lang="ar"] .ayamen-project-locations__content,\n  html[dir="rtl"] .ayamen-project-locations__content{justify-items:start!important;}\n}\n