@font-face{font-family:'Almarai';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/a1/fonts/Almarai-arabic-400.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Almarai';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/a1/fonts/Almarai-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Almarai';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/a1/fonts/Almarai-arabic-700.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Almarai';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/a1/fonts/Almarai-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Almarai';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/a1/fonts/Almarai-arabic-800.woff2) format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Almarai';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/a1/fonts/Almarai-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/a1/fonts/DMSans-latin-400-800.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Layout concept: a dated property ledger on glass, floating over Dubai photographs that turn with the scroll. */
:root{
  color-scheme:dark;
  --ink:#fff; --mute:#e2ddd3; --soft:#b9c2cc; --bg:#05080d;
  --accent:#a8d8ff; --primary:#fff; --on-primary:#0b1420;
  --ok:#9fe3c4; --press:#a8d8ff; --warn:#f2b8b5;
  --line:rgba(255,255,255,.26);
  --glass:linear-gradient(140deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
  --blur:blur(26px) saturate(160%) brightness(.46);
  --font:"DM Sans","Almarai",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:18px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.9 var(--font);word-spacing:.04em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:#05080d}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:800;line-height:1.5;word-spacing:.08em;text-wrap:balance}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}

.stage{position:fixed;inset:0;z-index:-2;perspective:1400px;overflow:hidden;background:#000}
.stage div{position:absolute;inset:-7%;background-size:cover;background-position:center;opacity:0;will-change:transform,opacity}
.stage div:first-child{opacity:1}
.shade{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.58))}

.wrap{width:min(100%,1160px);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:14px;min-height:66px;flex-wrap:wrap;padding-block:6px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{height:44px;width:auto;display:block}
nav.main{display:flex;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
nav.main a{white-space:nowrap;padding:8px 13px;border-radius:12px;text-decoration:none;font-weight:700;font-size:.92rem;color:var(--mute)}
nav.main a[aria-current="page"]{background:rgba(255,255,255,.16);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 1.2em;border:0;border-radius:14px;background:var(--primary);color:var(--on-primary);font:800 1rem/1.2 var(--font);text-decoration:none;cursor:pointer;transition:transform .4s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn-glass{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.5)}
.bar .btn{min-height:44px;font-size:.9rem}

.view{display:none;padding-block:0 40px}
.view.on{display:block}
.hero{padding-block:clamp(44px,8vw,96px) 34px;display:grid;gap:18px;max-width:820px}
.kicker{color:var(--accent);font-weight:700;font-size:.95rem}
h1{font-size:clamp(2.1rem,6vw,3.7rem);line-height:1.35}
.lede{font-size:1.2rem;color:#fff;max-width:640px;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.glass{background:var(--glass);border:1px solid var(--line);border-radius:22px;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:0 24px 50px -24px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.35)}
.pad{padding:clamp(18px,3.4vw,32px)}
.finder{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;margin-top:6px}
label{display:grid;gap:3px;font-size:.9rem;font-weight:700;min-width:0}
select,input{width:100%;min-height:52px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.42);color:#fff;font:400 1rem var(--font)}
select option{background:#0d141c}
.stamp-line{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.92rem;color:var(--mute)}

section.block{margin-top:30px}
.head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
h2{font-size:clamp(1.5rem,3.4vw,2.1rem);text-shadow:0 1px 14px rgba(0,0,0,.65)}
.head a{font-weight:700;color:var(--accent);text-underline-offset:4px}
.sub{color:var(--mute);max-width:680px}

/* Ledger: the site's signature. Each row carries its date, and each claim its confidence. */
.ledger{display:grid}
.row{display:grid;grid-template-columns:96px minmax(0,1.7fr) minmax(0,1.2fr) 150px;gap:6px 18px;padding:15px 0;border-top:1px solid var(--line);align-items:start}
.row:first-child{border-top:0;padding-top:0}
.row:last-child{padding-bottom:0}
.date{font-weight:800;color:var(--accent);line-height:1.5}
.date small{display:block;font-weight:400;color:var(--soft);font-size:.8rem}
.row h3{font-size:1.08rem}
.row .where{color:var(--mute);font-size:.92rem;line-height:1.7}
.price{font-weight:800;line-height:1.5}
.price small{display:block;font-weight:400;font-size:.82rem;color:var(--mute);line-height:1.6}
.warn-line{color:var(--warn);font-size:.84rem;line-height:1.6;margin-top:3px}
.tag{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:9px;font-size:.8rem;font-weight:700;white-space:nowrap;border:1px solid}
.tag.dev{color:var(--ok);border-color:var(--ok)}
.tag.press{color:var(--press);border-color:var(--press)}
.tag.broker{color:var(--warn);border-color:var(--warn);border-style:dashed}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chip{min-height:44px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.4);background:rgba(0,0,0,.34);color:#fff;font:700 .92rem var(--font);cursor:pointer}
.chip[aria-pressed="true"]{background:#fff;color:var(--on-primary);border-color:#fff}
.chip-group{display:grid;gap:2px;margin-bottom:6px}
.chip-group b{font-size:.84rem;color:var(--mute)}
.empty{padding:14px 0;color:var(--mute)}

.ring-wrap{height:330px;perspective:1300px;direction:ltr;display:grid;place-items:center;overflow:hidden;margin-inline:-6px}
.ring{position:relative;width:250px;height:290px;transform-style:preserve-3d;will-change:transform}
.card3d{position:absolute;inset:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);background-size:cover;background-position:center;display:flex;align-items:flex-end;text-decoration:none;color:#fff;backface-visibility:hidden;box-shadow:0 18px 34px -16px #000}
.card3d span{direction:rtl;display:block;width:100%;padding:34px 14px 12px;font-weight:800;font-size:1.12rem;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent)}
.illus{font-size:.8rem;color:var(--mute);margin-top:4px}

.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.area h3{font-size:1.08rem}
.area .em{color:var(--accent);font-size:.84rem;font-weight:700}
.area p{font-size:.92rem;color:var(--mute);line-height:1.75}
.area .sig{margin-top:6px;color:#fff}
.area .sig small{display:block;color:var(--soft);font-size:.8rem}
.area{display:flex;flex-direction:column;gap:3px;padding:16px}
.area .chips-mini{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.mini{font-size:.76rem;padding:0 8px;border-radius:7px;background:rgba(255,255,255,.14);line-height:1.9}

.verdict h3{font-size:1.1rem;margin-bottom:4px}
.verdict ul,.plain{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.verdict li,.plain li{position:relative;padding-inline-start:18px}
.verdict li::before,.plain li::before{content:"";position:absolute;inset-inline-start:0;top:.75em;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.no li::before{background:var(--warn)}
.yes li::before{background:var(--ok)}

.bars{display:flex;align-items:flex-end;gap:16px;height:190px;padding-top:26px;direction:ltr;max-width:330px}
.bars div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;font-weight:800}
.bars i{display:block;width:100%;border-radius:8px 8px 0 0;background:var(--accent);margin-top:4px}
.bars .now i{background:#fff}
.bars-x{display:flex;gap:16px;direction:ltr;max-width:330px;font-size:.8rem;color:var(--mute);text-align:center}
.bars-x span{flex:1}
.fact{border-top:1px solid var(--line);padding-block:11px}
.fact:first-child{border-top:0;padding-top:0}
.fact b{display:block;font-size:1.3rem;line-height:1.5}
.fact small{color:var(--soft);font-size:.82rem;display:block;line-height:1.6}

.me{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:center}
.me img{width:150px;height:180px;object-fit:cover;object-position:top;border-radius:18px;display:block}
.form{display:grid;gap:10px}
.note{font-size:.84rem;color:var(--mute);min-height:1.5em}

.facts{display:grid}
.f{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:4px 14px;padding:11px 0;border-top:1px solid var(--line);align-items:center}
.f:first-child{border-top:0;padding-top:0}
.f span{color:var(--mute);font-size:.92rem}
.f .tag{justify-self:start}
.crumb{font-size:.88rem;color:var(--mute);padding-top:22px}
.crumb a{text-underline-offset:4px}
.pagehead{padding-block:14px 8px;display:grid;gap:6px}
.pagehead h1{font-size:clamp(1.9rem,5vw,3rem)}

.tree{font-size:.92rem;line-height:1.6;display:grid;gap:10px}
.tree b{color:var(--accent);direction:ltr;display:inline-block}
.tree div{border-top:1px solid var(--line);padding-top:10px}
.tree div:first-child{border-top:0;padding-top:0}
.phase b{display:block;color:var(--accent);font-size:1.02rem}
.steps{counter-reset:s;display:grid;gap:9px;margin:0;padding:0;list-style:none}
.steps li{counter-increment:s;display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px}
.steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);border:1px solid var(--line);font-weight:800;font-size:.9rem;margin-top:.15em}

footer{margin-top:34px;padding-block:20px 30px;font-size:.84rem;color:var(--mute);line-height:1.8;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-top:1px solid var(--line)}

@media (max-width:900px){
  .finder{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row{grid-template-columns:82px minmax(0,1fr)}
  .row .pricecol,.row .confcol{grid-column:2}
  .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .me{grid-template-columns:110px minmax(0,1fr)}
  .me img{width:110px;height:136px}
  .me .form{grid-column:1/-1}
}
@media (max-width:620px){
  html{font-size:17px}
  .bar .btn{display:none}
  nav.main{flex-basis:100%;order:3}
  nav.main a{padding:7px 10px;font-size:.86rem}
  .brand img{height:36px}
  .finder,.grid3,.grid2{grid-template-columns:minmax(0,1fr)}
  .f{grid-template-columns:minmax(0,1fr) auto}
  .f span{grid-column:1/-1}
  .ring-wrap{height:300px}
  .ring{width:200px;height:256px}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.main a,.main a:visited{color:var(--mute)}
main a{text-underline-offset:4px}
main{padding-bottom:30px}
.shade{background:rgba(3,6,10,.66)}
.stage div{inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.1);transition:opacity 1.4s var(--ease),transform 2.6s var(--ease)}
.stage div.on{opacity:1;transform:scale(1)}
.head a.btn,.head a.btn:visited{color:var(--on-primary)}
.link{font-weight:700;color:var(--accent);text-underline-offset:4px}
.src{display:inline-block;font-size:.8rem;color:var(--accent)}
.tagsrc{text-decoration:none;justify-self:start}
.confcol{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.pagehead{padding-block:14px 14px}
.credit{font-size:.78rem;color:var(--soft);line-height:1.6}
.block{scroll-margin-top:90px}
section.block{margin-top:44px}

.row.thumbed{grid-template-columns:120px 110px minmax(0,1.5fr) minmax(0,1.2fr) 150px}
.thumb{width:120px;height:84px;object-fit:cover;border-radius:12px;display:block}
.thumb.none{background:rgba(255,255,255,.08);border:1px solid var(--line)}
.area{padding:0 0 16px;overflow:hidden}
.area>*:not(img){margin-inline:16px}
.area>img{width:100%;height:170px;object-fit:cover;display:block;margin-bottom:10px}
.area>.em:first-child{margin-top:16px}
.area h3 a{text-decoration:none}

.herofig{margin:14px 0 0}
.herofig img{width:100%;max-height:440px;object-fit:cover;border-radius:22px;display:block;border:1px solid var(--line)}
.herofig .credit{margin-top:4px;text-shadow:0 1px 8px #000}

.home-hero{padding-block:clamp(48px,8vw,92px) 10px;display:grid;gap:14px;justify-items:start}
.home-hero h1{font-size:clamp(2.2rem,6vw,3.9rem);line-height:1.3;max-width:15em}
.cta-row{display:flex;flex-wrap:wrap;gap:10px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:14px 0 0;width:min(100%,680px)}
.stats div{padding-inline:18px;border-inline-start:1px solid var(--line)}
.stats div:first-child{padding-inline-start:0;border-inline-start:0}
.stats dt{font-size:.86rem;color:var(--mute)}
.stats dd{margin:0;font-weight:800;font-size:1.5rem;line-height:1.5}
.stats.small{margin-block:14px 16px}
.stats.small dd{font-size:1.08rem}

.arrows{display:flex;gap:8px}
.arrow{width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:rgba(0,0,0,.35);color:#fff;font:400 1.6rem/1 var(--font);cursor:pointer}
[dir="rtl"] .arrow{transform:scaleX(-1)}
.show{display:grid;gap:10px}
.show-stage{position:relative;aspect-ratio:2/1;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#000}
.slide{position:absolute;inset:0;visibility:hidden;z-index:1}
.slide.on{visibility:visible;z-index:2}
.slide.out{visibility:visible;z-index:1}
.slide>img{width:100%;height:100%;object-fit:cover;display:block}
.slide.on>img{animation:settle 7s var(--ease) both}
@keyframes settle{from{transform:scale(1.08)}to{transform:none}}
.slide.enter{animation:wipe 1s var(--ease) both}
@keyframes wipe{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
[dir="rtl"] .slide.enter{animation-name:wipe-rtl}
@keyframes wipe-rtl{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
.slide-info{position:absolute;inset-block-end:16px;inset-inline-start:16px;width:min(390px,calc(100% - 32px));padding:18px 20px;border-radius:18px;background:rgba(6,10,15,.74);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);display:grid;gap:3px}
.slide-info h3{font-size:1.45rem}
.slide-info p{line-height:1.7;font-size:.95rem}
.slide-info .where{color:var(--mute);font-size:.88rem}
.slide-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(128px,1fr);gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:2px}
.th{position:relative;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.45);color:#fff;font:700 .78rem/1.4 var(--font);cursor:pointer;text-align:start;opacity:.72;min-height:44px}
.th.on{opacity:1;border-color:#fff}
.th img{width:100%;height:68px;object-fit:cover;display:block}
.th span{display:block;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th i{position:absolute;inset-inline:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left}
[dir="rtl"] .th i{transform-origin:right}
.th.on i{animation:prog 7s linear both}
.show.paused .th.on i,.show.paused .slide.on>img{animation-play-state:paused}
@keyframes prog{to{transform:scaleX(1)}}

.types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.type{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);text-decoration:none;color:#fff;display:block;aspect-ratio:4/3;background:#000}
.type img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .9s var(--ease)}
.type:hover img{transform:scale(1.06)}
.type span{position:absolute;inset:auto 0 0;padding:34px 14px 12px;background:linear-gradient(0deg,rgba(0,0,0,.88),transparent);display:grid}
.type b{font-size:1.15rem;font-weight:800}
.type small{font-size:.82rem;color:var(--mute);line-height:1.5}

.who{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:center}
.who>img{width:230px;height:276px;object-fit:cover;object-position:top;border-radius:18px;display:block}
.about-top{padding-top:18px}
.award{grid-template-columns:160px minmax(0,1fr)}
.award>img{width:160px;height:190px;object-fit:cover}
.howto{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:s}
.howto li{counter-increment:s;display:grid;gap:2px}
.howto li::before{content:counter(s);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--on-primary);font-weight:800}
.howto b{font-size:1.06rem;margin-top:6px}
.howto span{color:var(--mute);font-size:.94rem;line-height:1.7}
.logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.logo{background:#fff;border-radius:12px;display:grid;place-items:center;height:76px;padding:10px}
.logo{overflow:hidden}
.logo.dark{background:#0d141c}
.logo img{max-width:100%;max-height:56px;object-fit:contain;width:auto;height:auto;display:block}

.me{grid-template-columns:150px minmax(0,1fr) auto}
@media (max-width:980px){
  .bar .btn{display:none}
  .row.thumbed{grid-template-columns:96px minmax(0,1fr)}
  .row.thumbed .thumb{width:96px;height:72px;grid-row:span 2}
  .row.thumbed .pricecol,.row.thumbed .confcol{grid-column:2}
  .types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .me{grid-template-columns:110px minmax(0,1fr)}.me .btn{grid-column:1/-1}
}
@media (max-width:720px){
  .show-stage{aspect-ratio:auto;height:auto;display:grid}
  .slide{position:relative;grid-area:1/1;inset:auto}
  .slide>img{aspect-ratio:3/2;height:auto}
  .slide-info{position:static;width:auto;border-radius:0;border:0;background:rgba(6,10,15,.92)}
  .who,.award{grid-template-columns:minmax(0,1fr)}
  .who>img{width:100%;height:300px}
  .howto{grid-template-columns:minmax(0,1fr)}
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats dd{font-size:1.15rem}
  .stats div{padding-inline:10px}
}
@media (prefers-reduced-motion:reduce){.slide.on>img,.slide.enter,.th.on i{animation:none!important}}

/* Map hero: a real tilted map, full width, with the headline on glass */
.maphero{position:relative;height:calc(100vh - 67px);min-height:620px;background:#070d14;overflow:hidden}
.mapgl{position:absolute;inset:0}
.mapfb{position:absolute;inset:0;width:100%;height:100%}
.mapfb .other{fill:rgba(255,255,255,.04)}.mapfb .uae{fill:#17405e}
.mapscrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to left,rgba(4,8,13,.86) 0,rgba(4,8,13,.5) 34%,transparent 62%),linear-gradient(0deg,rgba(4,8,13,.6) 0,transparent 22%);transition:opacity .8s}
[dir="ltr"] .mapscrim{background:linear-gradient(to right,rgba(4,8,13,.86) 0,rgba(4,8,13,.5) 34%,transparent 62%),linear-gradient(0deg,rgba(4,8,13,.6) 0,transparent 22%)}
.maphead{position:absolute;z-index:3;inset-block-start:50%;translate:0 -58%;inset-inline-start:max(24px,calc(50vw - 580px));width:min(560px,calc(100% - 48px));display:grid;gap:14px;justify-items:start;transition:opacity .6s,transform .8s var(--ease)}
.maphead h1{font-size:clamp(2.3rem,4.4vw,3.7rem);line-height:1.3;text-shadow:0 2px 24px rgba(0,0,0,.7)}
.maphead p{font-size:1.15rem;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.8);line-height:1.7}
.maphero.zoomed .maphead{opacity:0;transform:translateY(-16px);pointer-events:none}
.maphero.zoomed .mapscrim{opacity:.35}
.mapdrawer{position:absolute;z-index:3;inset-block:16px 78px;inset-inline-start:max(16px,calc(50vw - 580px));width:min(360px,calc(100% - 32px));padding:14px;display:flex;flex-direction:column;gap:8px;background:rgba(5,9,14,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}
.mapdrawer[hidden]{display:none}
.dr-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dr-title{font-size:1.25rem;font-weight:800}
.dr-back{min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:none;color:var(--accent);font:700 .84rem var(--font);cursor:pointer}
.maplist{flex:1;min-height:0;overflow:auto;border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.3)}
.maplist ul{list-style:none;margin:0;padding:0}
.maplist li[hidden]{display:none}
.maplist a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px;padding:7px 11px;text-decoration:none;border-top:1px solid rgba(255,255,255,.1);line-height:1.45}
.maplist b{font-size:.88rem}.maplist small{grid-column:1;color:var(--mute);font-size:.74rem}.maplist span{grid-row:1/3;grid-column:2;align-self:center;font-size:.76rem;font-weight:700;text-align:end;max-width:130px}
.maplist a:hover,.maplist a.hot{background:rgba(255,255,255,.1)}
.mapchips{position:absolute;z-index:3;inset-block-end:18px;left:50%;translate:-50% 0;max-width:calc(100% - 32px);display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;padding:5px;border-radius:16px;background:rgba(5,9,14,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--line)}
.mapchips .chip{flex:none;background:none;border-color:transparent}
.mapchips .chip[aria-pressed="true"]{background:#fff}
.maplegend{display:none!important;position:absolute;z-index:3;inset-block-start:14px;inset-inline-end:58px;display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 12px;border-radius:12px;background:rgba(5,9,14,.82);font-size:.76rem;border:1px solid var(--line)}
.maplegend span{display:inline-flex;align-items:center;gap:5px}
.lg{display:inline-block}
.lg.pin{width:10px;height:10px;border-radius:50%;background:#fff}
.lg.sight{width:10px;height:10px;border-radius:50%;background:#7ee0c0}
.lg.metro{width:16px;height:3px;background:#ff5a6e}
.lg.metro2{width:16px;height:3px;background:#2fd67b}
.lg.road{width:16px;height:3px;background:#a8d8ff}
.mapcard{position:absolute;z-index:4;inset-block-end:72px;inset-inline-end:16px;width:250px;border-radius:14px;overflow:hidden;background:rgba(6,10,15,.95);border:1px solid var(--line)}
.mapcard img{width:100%;height:120px;object-fit:cover;display:block}
.mapcard div{padding:8px 12px 10px;line-height:1.5}
.mapcard b{display:block;font-size:.98rem}
.mapcard small{display:block;color:var(--mute);font-size:.8rem}
.mk-pin{width:22px;height:22px;cursor:pointer}
.mk-pin i{display:block;width:16px;height:16px;margin:3px;border-radius:50% 50% 50% 0;rotate:-45deg;background:#fff;box-shadow:0 0 0 3px rgba(168,216,255,.45),0 5px 9px rgba(0,0,0,.6);transition:scale .2s}
.mk-pin:hover i,.mk-pin.hot i{scale:1.4;background:var(--accent)}
.mk-em{display:grid;justify-items:center;gap:7px;border:0;background:none;color:#fff;font:inherit;cursor:pointer}
.mk-em b{width:14px;height:14px;border-radius:50%;display:block;background:#fff;box-shadow:0 0 0 6px rgba(168,216,255,.3);animation:pulse 2.6s var(--ease) infinite}
.mk-em span{font-size:.9rem;font-weight:700;text-shadow:0 1px 6px #000,0 0 12px #000;white-space:nowrap}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(168,216,255,.04)}}
.mk-pl{display:flex;align-items:center;gap:5px;font-size:.74rem;font-weight:700;color:#fff;text-shadow:0 1px 4px #000,0 0 8px #000;white-space:nowrap;pointer-events:none}
.mk-pl i{flex:none;width:10px;height:10px;border-radius:50%;background:#7ee0c0;box-shadow:0 0 0 3px rgba(126,224,192,.3)}
.mk-pl.airport i{background:#c9b8ff;box-shadow:0 0 0 3px rgba(201,184,255,.3)}
.mk-pl.island{color:#bfe6ff;font-weight:800;letter-spacing:.02em}
.mk-pl.island i{display:none}
.maplibregl-ctrl-attrib{font-size:10px}
.maplibregl-canvas-container{direction:ltr}

/* 3D developers: a pinned stage driven by the scroll */
.devs3d{--n:8;height:calc(var(--n)*44vh + 100vh);margin-top:44px;position:relative;margin-inline:calc(50% - 50vw);width:100vw}
.dstick{position:sticky;top:0;height:100vh;overflow:hidden;background:#000;display:grid;grid-template-rows:auto 1fr auto;padding-block:84px 18px}
.dbg{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .6s linear,visibility .6s}
.dbg.on{opacity:1;visibility:visible}
.dshade{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 48%,rgba(3,6,10,.45),rgba(3,6,10,.9))}
.dhead,.dstick .wrap{position:relative;z-index:2;width:min(100%,1160px)}
.dhead{text-align:center}
.dhead .sub{margin-inline:auto}
.dworld{position:relative;z-index:2;perspective:1100px;display:grid;place-items:center;min-height:0}
.dcam{transform-style:preserve-3d;will-change:transform}
.dring{position:relative;width:250px;height:150px;transform-style:preserve-3d;will-change:transform}
.plate{position:absolute;inset:0;transform-style:preserve-3d;text-decoration:none;color:#fff}
.plate .face,.plate .edge{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.plate .face{position:absolute;inset:0;display:grid;place-items:center;border-radius:18px;background:linear-gradient(140deg,rgba(40,56,72,.92),rgba(14,22,31,.92));border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.5);padding:24px}
.plate img{max-width:100%;max-height:70px;object-fit:contain}
.plate .word,.dl .word{font-weight:800;font-size:1.7rem;letter-spacing:.16em}
.plate .edge{position:absolute;inset:0;border-radius:18px;background:rgba(168,216,255,.12);border:1px solid rgba(168,216,255,.35)}
.plate .e1{transform:translateZ(-9px)}.plate .e2,.plate .e3{display:none}
.plate.hide{visibility:hidden}
.plate.front .face{border-color:var(--accent);box-shadow:0 0 34px rgba(168,216,255,.45),inset 0 1px 0 rgba(255,255,255,.5)}
.dpanel{padding:12px 18px;display:grid;width:min(100%,640px);margin-inline:auto}
.dinfo{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .5s,transform .6s var(--ease);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 14px;align-items:center}
.dinfo.on{opacity:1;visibility:visible;transform:none}
.dinfo .dn{font-size:1.3rem;font-weight:800}
.dinfo p{grid-column:1;font-size:.9rem;color:var(--mute);line-height:1.6}
.dinfo .dcount{grid-row:1;grid-column:2;font-weight:800;color:var(--accent);white-space:nowrap}
.dinfo .link{grid-row:2;grid-column:2;white-space:nowrap}

.devgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.devcard{display:grid;justify-items:center;gap:4px;padding:18px 14px;text-decoration:none;transition:transform .4s var(--ease)}
.devcard:hover{transform:translateY(-4px)}
.dl{height:64px;display:grid;place-items:center}
.dl img{max-height:56px;max-width:170px;object-fit:contain;filter:brightness(0) invert(1)}
.devcard small{color:var(--mute)}
.devhead{display:grid;grid-template-columns:200px minmax(0,1fr);gap:20px;align-items:center;padding-top:10px}
.noimg{height:170px;background:linear-gradient(140deg,rgba(168,216,255,.2),rgba(255,255,255,.03));margin-bottom:10px}
.area>.noimg{margin-inline:0!important}

/* Lead popup */
.leadpop{position:fixed;z-index:40;inset-block-end:calc(16px + env(safe-area-inset-bottom,0px));inset-inline-end:16px;width:min(350px,calc(100vw - 32px));padding:16px 18px;border-radius:18px;background:rgba(6,10,15,.94);border:1px solid rgba(255,255,255,.4);box-shadow:0 24px 50px rgba(0,0,0,.7);animation:lp .6s var(--ease) both}
@keyframes lp{from{opacity:0;transform:translateY(24px)}}
.lp-h{font-weight:800;font-size:1.15rem}
.lp-s{font-size:.86rem;color:var(--mute);line-height:1.6;margin-bottom:6px}
.leadpop form{display:grid;gap:7px}
.leadpop input:not([type=checkbox]),.leadpop select{min-height:44px}
.leadpop label{font-size:.82rem}
.lp-c{display:grid!important;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:start;font-weight:400!important;line-height:1.5}
.lp-c input{width:20px;height:20px;min-height:0;margin:2px 0 0}
.lp-x{position:absolute;inset-block-start:6px;inset-inline-end:6px;width:44px;height:44px;border:0;background:none;color:#fff;font-size:1.5rem;cursor:pointer}
.lp-msg{font-size:.84rem;min-height:1.2em;color:var(--warn)}
.lp-msg.good{color:var(--ok)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px}
.lp-open{position:fixed;z-index:39;inset-block-end:calc(16px + env(safe-area-inset-bottom,0px));inset-inline-end:16px;min-height:48px;padding:0 18px;border:0;border-radius:24px;background:#fff;color:var(--on-primary);font:800 .95rem var(--font);box-shadow:0 12px 26px rgba(0,0,0,.6);cursor:pointer}

@media (max-width:980px){
  .devgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .devhead{grid-template-columns:minmax(0,1fr)}
  .dl{justify-items:start}
}
@media (max-width:720px){
  .dring{width:190px;height:116px}
  .dworld{perspective:800px}
  .dinfo{grid-template-columns:minmax(0,1fr)}
  .dinfo .dcount{grid-row:auto;grid-column:1}.dinfo .link{grid-row:auto;grid-column:1}
  .dinfo p{font-size:.84rem}
  .leadpop{inset-inline:0;inset-block-end:0;width:auto;border-radius:18px 18px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
@media (prefers-reduced-motion:reduce){
  .mk-em b{animation:none}
  .devs3d{height:auto}.dstick{position:relative;height:auto}
  .dworld{perspective:none}.dring{width:100%;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;transform:none!important}
  .plate{position:relative;height:110px;transform:none!important}
}

.cluster[data-em="rak"]{margin-top:-14px;margin-left:16px}
.cluster[data-em="uaq"]{margin-top:-30px;margin-left:-22px}
.cluster[data-em="sharjah"]{margin-top:30px;margin-left:34px}

.slide-dev{height:34px;display:flex;align-items:center;margin-bottom:4px}
.slide-dev img{max-height:30px;max-width:130px;object-fit:contain;filter:brightness(0) invert(1)}
.slide-dev .word{font-weight:800;letter-spacing:.14em;font-size:1rem}

@media (max-width:860px){
  .maphero{height:auto;min-height:0;overflow:visible;background:none;display:flex;flex-direction:column}
  .mapgl{position:relative;height:calc(100svh - 112px);min-height:480px}
  .mapscrim{height:calc(100svh - 112px);min-height:480px;background:linear-gradient(180deg,rgba(4,8,13,.9) 0,rgba(4,8,13,.55) 34%,transparent 58%),linear-gradient(0deg,rgba(4,8,13,.5) 0,transparent 16%)!important}
  .maphead{inset-block-start:22px;translate:none;inset-inline:16px;width:auto;gap:8px}
  .maphead h1{font-size:2rem}
  .maphead p{font-size:1rem}
  .mapchips{top:calc(100svh - 112px - 92px);bottom:auto}
  .mapdrawer{position:static;width:auto;margin:10px 16px 0;max-height:320px}
  .mapcard{position:fixed;inset-block-end:auto;top:96px;inset-inline-end:12px;width:200px;z-index:30}
}
}

/* Project encyclopedia */
.pgrid .pcard[hidden]{display:none}
.pcard{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:#fff;transition:transform .4s var(--ease)}
.pcard:hover{transform:translateY(-3px)}
.pcard>img,.pcard>.noimg{width:100%;height:190px;object-fit:cover;display:block;margin:0}
.pc{display:grid;gap:1px;padding:12px 14px 13px}
.pc b{font-size:1.05rem;font-weight:800;line-height:1.45}
.pc small{color:var(--mute);font-size:.8rem;line-height:1.5}
.pc strong{font-size:1.02rem;margin-top:5px;color:#fff}
.pcf{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.pcf i{font-style:normal;font-size:.74rem;padding:0 7px;border-radius:7px;background:rgba(255,255,255,.12);line-height:1.8}
.pcf i:empty{display:none}
.dirsearch{margin-bottom:10px;min-height:48px}
.morebtn{display:flex;margin:18px auto 0}
.morebtn[hidden]{display:none}
.pjhead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-block:12px}
.pjhead h1{font-size:clamp(1.9rem,4.4vw,3rem);text-shadow:0 2px 16px #000}
.pjhead .lede{font-size:1rem}
.gallery{display:grid;gap:8px}
.gmain img,.noimg.big{width:100%;height:clamp(240px,46vw,520px);object-fit:cover;border-radius:20px;display:block;border:1px solid var(--line)}
.gths{display:flex;gap:8px}
.gth{flex:0 1 150px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:none;cursor:pointer;min-height:44px}
.gth.on{border-color:#fff}
.gth img{width:100%;height:84px;object-fit:cover;display:block}
.kfs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px}
.kf{display:grid;min-width:0}
.kf span{font-size:.8rem;color:var(--mute)}
.kf b{font-size:1.05rem;font-weight:800;overflow-wrap:anywhere;line-height:1.5}
.tw{overflow-x:auto}
.ut{width:100%;border-collapse:collapse;min-width:440px}
.ut th{font-size:.82rem;color:var(--mute);text-align:start;padding:6px 8px;border-bottom:1px solid var(--line)}
.ut td{padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.1);font-size:.95rem}
.ppbar{display:flex;gap:4px;border-radius:12px;overflow:hidden}
.pp{min-width:0;padding:10px 12px;background:rgba(168,216,255,.16);display:grid}
.pp:nth-child(2){background:rgba(168,216,255,.28)}.pp:nth-child(3){background:rgba(168,216,255,.4)}
.pp b{font-size:1.2rem}.pp span{font-size:.8rem;color:var(--mute);line-height:1.4}
.ams{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ams li{padding:2px 12px;border-radius:9px;background:rgba(255,255,255,.1);font-size:.88rem;line-height:1.9}
.me2{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.lp-project{font-size:.84rem;color:var(--accent);font-weight:700}
@media (max-width:720px){.kfs{grid-template-columns:repeat(2,minmax(0,1fr))}.pcard>img{height:170px}}

/* Scrolling performance: no live blur over the fixed background */
.glass,header.top,footer,.mapdrawer,.mapchips,.slide-info{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.glass{background:rgba(12,18,25,.88)}
header.top{background:rgba(8,13,19,.94)}
footer{background:rgba(8,13,19,.92)}
.stage div{will-change:opacity}
.show:not(.inview) .slide.on>img,.show:not(.inview) .th.on i{animation-play-state:paused}
.pcard,.area{content-visibility:auto;contain-intrinsic-size:auto 340px}
