/* 2026 enhancements: sharper developer typography and restrained luxury UI. */
/* Small About Jawad button on the photo; biography opens only on click. */
.hero .portrait-stage {
  position: relative;
  overflow: hidden;
}

.hero .portrait-about-trigger {
  position: absolute;
  left: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 17px;
  background: #13232bec;
  border: 1px solid #e5bc7bc7;
  border-radius: 4px;
  color: #eac68c;
  box-shadow: 0 9px 25px #0008;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .17em;
  transition: background .2s ease, transform .2s ease;
}
.hero .portrait-about-trigger svg { width: 16px; height: 16px; }
.hero .portrait-about-trigger:hover { background: #24373eee; transform: translateY(-2px); }
.hero .portrait-about-trigger:focus-visible,
.portrait-bio-modal button:focus-visible,
.portrait-bio-modal a:focus-visible { outline: 2px solid #eac68c; outline-offset: 3px; }

body.portrait-bio-open { overflow: hidden; }
.portrait-bio-modal[hidden] { display: none !important; }
.portrait-bio-modal {
  position: fixed;
  inset: 0;
  z-index: 280;
  display: grid;
  place-items: center;
  padding: 22px;
}
.portrait-bio-backdrop {
  position: absolute;
  inset: 0;
  background: #040b0ed9;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.portrait-bio-dialog {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  width: min(980px, 100%);
  max-height: calc(100dvh - 44px);
  overflow: auto;
  border: 1px solid #d8b57770;
  border-radius: 9px;
  background: #14232a;
  box-shadow: 0 28px 90px #000c;
  color: #f6f5f2;
}
.portrait-bio-photo { min-height: 570px; background: #18272c; overflow: hidden; }
.portrait-bio-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 58% center; }
.portrait-bio-close {
  position: absolute;
  top: 19px;
  right: 20px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border: 1px solid #78909479;
  border-radius: 50%;
  background: #1b2c34;
  color: #f5f4ef;
  font-size: 27px;
  line-height: 1;
}
.portrait-bio-close:hover { border-color: #e0b97b; }
.portrait-bio-content { padding: 48px 48px 40px; }
.portrait-bio-kicker { color: #e1b87a; font-size: 10px; font-weight: 700; letter-spacing: .21em; }
.portrait-bio-content h2 { font: normal clamp(36px, 4vw, 55px)/1.1 Georgia, serif; letter-spacing: -1px; margin: 12px 0 10px; }
.portrait-bio-content h2 em { color: #e1b87a; font-weight: normal; }
.portrait-bio-lead { color: #e1b87a !important; font-weight: 700; }
.portrait-bio-content p { color: #c8d1d0; font-size: 13px; line-height: 1.75; margin: 14px 0; }
.portrait-bio-highlights { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 26px 0 25px; padding-top: 19px; border-top: 1px solid #ffffff2b; }
.portrait-bio-highlights div { min-width: 0; }
.portrait-bio-highlights strong { display: block; font-size: 14px; line-height: 1.25; color: #f8f6f2; }
.portrait-bio-highlights span { display: block; margin-top: 7px; color: #abb8b9; font-size: 10px; line-height: 1.4; }
.portrait-bio-contact { display: inline-flex; align-items: center; gap: 12px; padding: 14px 17px; border-radius: 3px; background: #e0b97b; color: #17232a; font-size: 12px; font-weight: 700; }
.portrait-bio-contact:hover { background: #f0c98d; }
.portrait-bio-contact svg { width: 17px; height: 17px; }

@media (max-width: 760px) {
  .portrait-bio-modal { padding: 10px; }
  .portrait-bio-dialog { grid-template-columns: 1fr; max-height: calc(100dvh - 20px); }
  .portrait-bio-photo { display: none; }
  .portrait-bio-content { padding: 48px 26px 28px; }
  .portrait-bio-highlights { gap: 9px; }
  .portrait-bio-highlights strong { font-size: 12px; }
}
@media (max-width: 480px) {
  .hero .portrait-about-trigger { left: 12px; bottom: 12px; padding: 11px 14px; }
  .portrait-bio-content { padding: 43px 20px 24px; }
  .portrait-bio-content p { font-size: 12px; }
  .portrait-bio-highlights { grid-template-columns: 1fr 1fr; }
}

#developers .developer-grid {
  gap: 14px;
  margin-top: 36px;
}

#developers .developer {
  position: relative;
  overflow: hidden;
  min-height: 142px;
  padding: 24px 12px 17px;
  border: 1px solid #3a4c52;
  border-radius: 7px;
  background: linear-gradient(145deg, #223138 0%, #19262c 100%);
  box-shadow: inset 0 1px 0 #ffffff0d;
  gap: 18px;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

#developers .developer::before {
  content: "";
  width: 30px;
  height: 1px;
  position: absolute;
  top: 21px;
  left: calc(50% - 15px);
  background: #dfb97599;
}

#developers .developer:hover,
#developers .developer:focus-visible {
  border-color: #dfb975;
  transform: translateY(-3px);
  box-shadow: 0 10px 26px #00000029, inset 0 1px 0 #ffffff15;
}

#developers .developer:focus-visible,
.floating-whatsapp:focus-visible,
.social-icon:focus-visible,
.project-card a:focus-visible {
  outline: 2px solid #dfb975;
  outline-offset: 4px;
}

#developers .developer-wordmark {
  color: #f8f6f1;
  display: block;
  width: 100%;
  margin-top: 10px;
  font-size: clamp(16px, 1.7vw, 22px);
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .075em;
  text-transform: uppercase;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
}

#developers .developer[data-brand="EMAAR"] .developer-wordmark,
#developers .developer[data-brand="ALEF"] .developer-wordmark {
  font: normal clamp(23px, 2vw, 30px)/1.1 Georgia, serif;
  letter-spacing: .045em;
}

#developers .developer[data-brand="DANUBE"] .developer-wordmark,
#developers .developer[data-brand="BINGHATTI"] .developer-wordmark {
  font-style: italic;
  letter-spacing: .02em;
}

#developers .developer[data-brand="BEYOND"] .developer-wordmark,
#developers .developer[data-brand="ARADA"] .developer-wordmark {
  letter-spacing: .14em;
}

#developers .developer-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #dfb975;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
}

#developers .developer-action svg {
  width: 13px;
  height: 13px;
}

/* Genuine, local logo artwork replaces the previous blurred card screenshots. */
#developers .developer-logo-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 73px;
  overflow: hidden;
  flex: none;
}

#developers .developer .developer-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 95%;
  max-height: 68px;
  object-fit: contain;
}

#developers .developer[data-brand="EMAAR"] .developer-logo,
#developers .developer[data-brand="ARADA"] .developer-logo {
  filter: brightness(0) invert(1);
}

#developers .developer[data-brand="DANUBE"] .developer-logo-frame,
#developers .developer[data-brand="ALEF"] .developer-logo-frame {
  width: min(185px, 100%);
  margin-inline: auto;
  border-radius: 4px;
  background: #f1eee8;
}

/* These official transparent square assets contain a horizontal logo in the centre. */
#developers .developer[data-brand="DANUBE"] .developer-logo,
#developers .developer[data-brand="AZIZI"] .developer-logo {
  width: 190px;
  height: 190px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  flex: none;
}

#developers .developer[data-brand="ALEF"] .developer-logo {
  max-height: 70px;
  max-width: 94%;
}

/* A restrained, full-width project gallery, with no cropped text in the supplied creatives. */
#properties .feature {
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
  align-items: stretch;
  overflow: hidden;
}

#properties .feature-info { padding: 32px; }

.feature-gallery {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 11px;
  min-width: 0;
  padding: 14px;
  background: #101d24;
}

.gallery-stage {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid #53636c;
  background: #10202a;
}

.gallery-main {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 37px;
  height: 42px;
  border: 1px solid #ffffff75;
  border-radius: 4px;
  background: #06141bc4;
  color: white;
  font: normal 30px/1 Georgia, serif;
  transition: background .2s, border-color .2s;
}

.gallery-arrow:hover { background: #102c3afa; border-color: #dfb975; }
.gallery-prev { left: 10px; }
.gallery-next { right: 10px; }

.gallery-counter {
  position: absolute;
  right: 12px;
  bottom: 10px;
  padding: 3px 9px;
  border-radius: 20px;
  background: #09151dbb;
  color: white;
  font-size: 11px;
  letter-spacing: .05em;
}

.gallery-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }

.gallery-thumb {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 3px;
  background: #1d2d35;
  opacity: .7;
  transition: opacity .2s, border-color .2s;
}

.gallery-thumb img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.gallery-thumb:hover { opacity: 1; }
.gallery-thumb.is-active { opacity: 1; border-color: #dfb975; }
.gallery-thumb:focus-visible,
.gallery-arrow:focus-visible { outline: 2px solid #dfb975; outline-offset: 3px; }

.social-icon {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #59656b;
  border-radius: 50%;
  color: #f8f6f1;
  flex: none;
  transition: color .2s, border-color .2s, background .2s;
}

.social-icon svg { width: 19px; height: 19px; }
.social-icon:hover { color: #dfb975; border-color: #dfb975; background: #ffffff08; }
.links .social-icon { margin-left: 2px; }
.footer-instagram { text-decoration: underline; text-underline-offset: 3px; }
footer .wrap { flex-wrap: wrap; }

.floating-whatsapp {
  position: fixed;
  z-index: 90;
  bottom: 26px;
  right: 26px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 12px 18px 12px 13px;
  border-radius: 100px;
  color: #082418;
  background: #25d366;
  box-shadow: 0 12px 32px #0007, 0 0 0 1px #ffffff30 inset;
  font-weight: 800;
  font-size: 13px;
  line-height: 1;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.floating-whatsapp:hover {
  color: #082418;
  background: #44e57d;
  transform: translateY(-3px);
  box-shadow: 0 16px 38px #0008;
}

.floating-whatsapp svg { width: 25px; height: 25px; flex: none; }

@media (max-width: 800px) {
  #properties .feature { grid-template-columns: 1fr; }
  #properties .feature-info { padding: 28px 22px; }
  .feature-gallery { padding: 10px; }
  .gallery-thumbs { gap: 6px; }
  .gallery-arrow { width: 32px; height: 38px; }
  #developers .developer-grid { gap: 10px; }
  #developers .developer { min-height: 128px; padding: 22px 10px 13px; }
  #developers .developer-wordmark { font-size: 17px; }
  #developers .developer-logo-frame { height: 65px; }
  #developers .developer .developer-logo { max-height: 58px; }
  #developers .developer[data-brand="DANUBE"] .developer-logo,
  #developers .developer[data-brand="AZIZI"] .developer-logo { width: 170px; height: 170px; max-width: none; max-height: none; }
  header .links a.social-icon { display: inline-flex; }
  .links .social-icon { width: 32px; height: 32px; }
  .links .btn { padding: 10px 13px; }
  .floating-whatsapp { right: 14px; bottom: 14px; padding: 12px; }
  .floating-whatsapp span { display: none; }
}

@media (max-width: 450px) {
  .brand { font-size: 16px; }
  nav { gap: 10px; }
  .links { gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  #developers .developer, .floating-whatsapp, .social-icon, .gallery-arrow, .gallery-thumb { transition: none; }
}

/* Emaar project-selector concept: an overlay, not a different website page. */
#developers .developer[data-demo="true"] { border-color: #b59662; box-shadow: 0 0 0 1px #dabb8647; }
body.launch-open { overflow: hidden; }
.launch-overlay[hidden], .launch-choice[hidden], .launch-detail[hidden] { display: none !important; }
.launch-overlay { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: 28px; }
.launch-scrim { position: absolute; inset: 0; background: #050c10da; backdrop-filter: blur(8px); }
.launch-dialog {
  position: relative;
  padding: 0;
  width: min(950px, 100%);
  max-height: min(92vh, 900px);
  overflow-y: auto;
  background: #14242b;
  color: #f4f0e8;
  border: 1px solid #6e6c65;
  border-radius: 10px;
  box-shadow: 0 25px 100px #000a;
}
.launch-dialog .launch-head { position: relative; top: auto; z-index: auto; background: transparent; border: 0; padding: 28px 33px 14px; display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.launch-kicker { font-size: 10px; font-weight: 700; color: #dabb86; letter-spacing: 2.5px; }
.launch-head h2 { margin: 9px 0 0; font: normal clamp(30px, 4vw, 45px)/1.12 Georgia, serif; letter-spacing: -.5px; }
.launch-head em { color: #dfb975; font-weight: normal; }
.launch-close { width: 36px; height: 36px; border: 1px solid #566870; background: #20323a; color: white; border-radius: 50%; font: 26px/1 Arial; }
.launch-close:hover { border-color: #dfb975; }
.launch-intro { margin: 0 33px 22px; color: #aebdc1; font-size: 13px; }
.launch-grid { padding: 0 33px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.launch-card { background: #1e3038; border: 1px solid #40555e; border-radius: 7px; overflow: hidden; }
.launch-card > img { display: block; width: 100%; height: 215px; object-fit: cover; }
.launch-card-copy { padding: 20px 22px 24px; }
.launch-location { color: #dfb975; font-size: 10px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.launch-card h3 { margin: 5px 0 8px; font: normal 30px Georgia, serif; }
.launch-card p { color: #bfcbce; font-size: 12px; margin: 0 0 25px; }
.launch-card-bottom { display: flex; align-items: end; justify-content: space-between; gap: 14px; border-top: 1px solid #455861; padding-top: 18px; }
.launch-card-bottom > span { font-size: 10px; line-height: 1.5; color: #bac5c9; }
.launch-card-bottom strong { display: block; font-size: 20px; color: #f4f0e8; white-space: nowrap; }
.launch-select { display: inline-flex; gap: 8px; align-items: center; border: 1px solid #dfb975; border-radius: 3px; background: #dfb975; color: #1b2428; padding: 11px 15px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.launch-select:hover, .launch-whatsapp:hover { background: #f2d095; }
.launch-select svg, .launch-whatsapp svg, .launch-foot svg { width: 14px; height: 14px; }
.launch-foot { padding: 22px 33px 28px; display: flex; align-items: center; gap: 14px; justify-content: space-between; color: #aebdc1; font-size: 12px; }
.launch-foot a { color: #dfb975; font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.launch-detail { padding: 0 33px 32px; }
.launch-back { padding: 3px 0 19px; border: 0; background: none; color: #dfb975; font-size: 12px; font-weight: 700; }
.launch-detail-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 26px; align-items: stretch; }
.launch-detail-image { width: 100%; height: 100%; min-height: 320px; max-height: 460px; object-fit: cover; border-radius: 5px; }
.launch-detail-info { padding: 8px 0; }
.launch-detail-name { margin: 8px 0 8px; font: normal 42px Georgia, serif; }
.launch-detail-location { color: #dfb975; font-weight: 700; font-size: 14px; margin: 0; }
.launch-detail-type { color: #e1e7e7; font-size: 13px; }
.launch-detail-description { color: #b8c5c9; font-size: 13px; line-height: 1.75; margin: 22px 0; }
.launch-price-label { border-top: 1px solid #445862; padding: 20px 0; color: #aebdc1; font-size: 12px; }
.launch-price-label strong { display: block; color: white; font-size: 25px; margin-top: 5px; }
.launch-whatsapp { display: inline-flex; align-items: center; gap: 12px; background: #dfb975; color: #172126; border-radius: 3px; padding: 13px 16px; font-weight: 700; font-size: 12px; }
.launch-detail-info small { display: block; color: #97a9ae; font-size: 10px; line-height: 1.5; margin-top: 15px; }
.launch-overlay button:focus-visible, .launch-overlay a:focus-visible { outline: 2px solid #f0ca87; outline-offset: 3px; }
@media(max-width: 700px) {
  .launch-overlay { padding: 0; place-items: stretch; }
  .launch-dialog { width: 100%; max-height: 100dvh; border-radius: 0; border: none; }
  .launch-head { padding: 25px 20px 13px; }
  .launch-intro { margin: 0 20px 18px; }
  .launch-grid { padding: 0 20px; grid-template-columns: 1fr; gap: 13px; }
  .launch-card > img { height: 195px; }
  .launch-card-copy { padding: 16px 18px 19px; }
  .launch-card p { margin-bottom: 15px; }
  .launch-foot { padding: 22px 20px 32px; flex-direction: column; align-items: flex-start; }
  .launch-detail { padding: 0 20px 24px; }
  .launch-detail-grid { grid-template-columns: 1fr; gap: 17px; }
  .launch-detail-image { height: 230px; min-height: 0; }
  .launch-detail-name { font-size: 35px; }
}
