/* district-dubai.com — design system. No framework, no build step for the browser.
   A cartographer's guide: warm paper, deep ink, a terracotta accent and one colour per zone of the city.
   DM Serif Display + DM Sans, self-hosted. Pages are generated by _src/build.py; behaviour in /site.js and /lp-core.js. */

@font-face{font-family:"DM Serif Display";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Serif Display";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-serif-display-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-latin-600-normal.woff2) format("woff2")}

:root{
  --paper:#f6f1e7;--paper-2:#eee6d6;--paper-3:#e2d6c0;--white:#fffdf9;
  --ink:#1b2433;--ink-2:#2b3850;--night:#121a26;
  --terra:#c4553a;--terra-2:#e3876c;--terra-lt:#f6dfd6;
  --teal:#1f6f6b;--sand:#d9b98a;--sea:#cfe2e4;
  --t80:rgba(27,36,51,.82);--t65:rgba(27,36,51,.66);--t50:rgba(27,36,51,.52);
  --l90:rgba(246,241,231,.93);--l70:rgba(246,241,231,.74);--l50:rgba(246,241,231,.55);
  --line:rgba(27,36,51,.13);--line-lt:rgba(246,241,231,.18);
  --serif:"DM Serif Display",Georgia,"Times New Roman",serif;
  --sans:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);
  --max:1320px;--gut:18px;--sec:72px;--hdr:66px;--r:14px;
  --z1:#1f7a8c;--z2:#c4553a;--z3:#b8862b;--z4:#6d5c9e;--z5:#3f8a4f;--z6:#2f5d9e;--z7:#b33f62;
}
@media(min-width:768px){:root{--gut:36px;--sec:112px}}
.z-coast{--zc:var(--z1)}.z-central{--zc:var(--z2)}.z-old-dubai{--zc:var(--z3)}.z-east{--zc:var(--z4)}.z-dubailand{--zc:var(--z5)}.z-south-west{--zc:var(--z6)}.z-south{--zc:var(--z7)}

*,*:before,*:after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
p a,dd a,li a,.fnote a,.lede a,.lede-s a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:rgba(196,85,58,.5)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p,dl,dd,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.08}
h1{font-size:clamp(2.4rem,6vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-size:1.08rem;font-weight:600;line-height:1.35}
h1 em,h2 em{font-style:italic;color:var(--terra)}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:4px}
section[id]{scroll-margin-top:calc(var(--hdr) + 10px)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.n,.kf b,table{font-variant-numeric:tabular-nums}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.wrap.narrow{max-width:900px}
.sec{padding:var(--sec) 0}
.sec.tight{padding:calc(var(--sec)*.55) 0}
.sec.top0{padding-top:0}
.bg-2{background:var(--paper-2)}
.bg-ink{background:var(--ink);color:var(--l90)}
.bg-ink h2{color:var(--white)}
.g2{display:grid;gap:44px}
@media(min-width:1000px){.g2{grid-template-columns:1fr 1fr;gap:72px}.g2.top{align-items:start}}
.kick{font:600 .72rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.kick.lt{color:var(--terra-2)}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;color:var(--t80);max-width:62ch;margin-top:18px}
.lede-s{margin-top:14px;color:var(--t65);max-width:64ch}
.lede-s.lt,.bg-ink .lede-s{color:var(--l70)}
.fnote{margin-top:14px;font-size:.8rem;color:var(--t50);line-height:1.55}
.fnote.lt{color:var(--l50)}
.muted{color:var(--t50);font-size:.92rem}
.sh{margin-bottom:40px;max-width:760px}
.sh.row{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.h2s{font-size:1.6rem;margin:0 0 18px}
.h3s{margin-top:30px;font-size:1rem}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.zdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--zc,var(--terra))}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font:600 .9rem/1 var(--sans);text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease);white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn .arr{transition:transform .3s var(--ease)}.btn:hover .arr{transform:translateX(3px)}
.btn.sm{padding:10px 16px;font-size:.82rem}
.btn-terra{background:var(--terra);color:#fff}.btn-terra:hover{background:#ad4630}
.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:var(--ink-2)}
.btn-light{background:var(--paper);color:var(--ink)}.btn-light:hover{background:#fff}
.btn-line{border:1.5px solid rgba(27,36,51,.35);color:var(--ink)}.btn-line:hover{border-color:var(--ink)}
.btn-line.lt{border-color:var(--line-lt);color:var(--paper)}.btn-line.lt:hover{border-color:var(--paper)}
.clink{text-decoration:underline;text-underline-offset:3px;font-size:inherit}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(246,241,231,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);transition:background .3s,border-color .3s}
.hdr .wrap{height:var(--hdr);display:flex;align-items:center;gap:24px}
.hdr.on-dark{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:var(--paper)}
.hdr.on-dark.is-scrolled,.hdr.on-dark.menu-open{background:rgba(27,36,51,.94);border-color:var(--line-lt)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand svg{width:34px;height:34px}
.brand b{display:block;font:400 1.3rem/1 var(--serif)}.brand b i{font-style:italic;color:var(--terra)}
.brand small{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-top:3px}
nav.main{display:none;gap:22px;margin-left:auto}
nav.main a{font-size:.88rem;font-weight:500;text-decoration:none;opacity:.85;padding:6px 0;border-bottom:1.5px solid transparent}
nav.main a:hover,nav.main a[aria-current]{opacity:1;border-color:var(--terra)}
.hdr .right{display:flex;align-items:center;gap:12px;margin-left:auto}
@media(min-width:1100px){nav.main{display:flex}.hdr .right{margin-left:0}}
.burger{width:40px;height:40px;display:grid;place-content:center;gap:6px}
.burger i{display:block;width:22px;height:1.6px;background:currentColor;transition:transform .3s}
.menu-open .burger i:first-child{transform:translateY(3.8px) rotate(45deg)}.menu-open .burger i:last-child{transform:translateY(-3.8px) rotate(-45deg)}
@media(min-width:1100px){.burger{display:none}}
@media(max-width:560px){.hdr .cta{display:none}}
.mmenu{display:none;background:var(--ink);color:var(--paper)}
.menu-open .mmenu{display:block}
.mmenu nav{display:flex;flex-direction:column;padding:12px var(--gut) 26px}
.mmenu a{padding:13px 0;border-bottom:1px solid var(--line-lt);text-decoration:none;font-size:1.05rem}
.mmenu .go{color:var(--terra-2);border:0}

/* home hero */
.hero-h{position:relative;min-height:min(92vh,860px);display:flex;align-items:flex-end;color:var(--paper);background:var(--night);overflow:hidden}
.hfig{position:absolute;inset:0}
.hfig img{width:100%;height:100%;object-fit:cover}
.hfig:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,26,38,.78) 0%,rgba(18,26,38,.45) 45%,rgba(18,26,38,0) 75%),linear-gradient(180deg,rgba(18,26,38,.55) 0%,rgba(18,26,38,0) 30%,rgba(18,26,38,.6) 100%)}
.hfig .badge{z-index:2}
.hh-in{position:relative;z-index:2;padding-top:140px;padding-bottom:64px;width:100%}
.hero-h h1{color:#fff;max-width:14ch}
.hero-h h1 em{color:var(--terra-2)}
.hero-h .lede{color:var(--l90)}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:620px}
.jump select{flex:1 1 260px;min-width:0;padding:15px 18px;border-radius:999px;border:0;background:var(--paper);color:var(--ink);font:500 .95rem var(--sans)}
.hstats{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:34px;font-size:.88rem;color:var(--l70)}
.hstats b{font:400 1.5rem/1 var(--serif);color:#fff;margin-right:6px}

/* figures */
.fig,.dh-fig{position:relative;border-radius:var(--r);overflow:hidden;background:var(--paper-3)}
.dh-fig img{width:100%;aspect-ratio:3/2;object-fit:cover}
.badge{position:absolute;left:12px;bottom:12px;background:rgba(18,26,38,.72);color:#fff;font:600 .62rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:6px 9px;border-radius:999px}
.ph{display:flex;align-items:flex-end;padding:18px;aspect-ratio:3/2;background:linear-gradient(135deg,var(--zc,var(--teal)),color-mix(in srgb,var(--zc,var(--teal)) 45%,#000));color:#fff;font:400 1.4rem var(--serif)}
.hfig.ph{aspect-ratio:auto;background:radial-gradient(120% 90% at 20% 10%,#1f6f78,#121a26)}
.hfig.ph span{display:none}

/* explorer */
.explorer{background:var(--white);border-bottom:1px solid var(--line)}
.ex-head{max-width:760px;margin-bottom:34px}
.ex-grid{display:grid;gap:24px}
@media(min-width:1100px){.ex-grid{grid-template-columns:240px minmax(0,1fr) 270px;align-items:start}.ex-list{grid-template-columns:1fr!important;max-height:var(--exh,640px);overflow:auto;padding-right:4px;align-content:start}}
.flab{font:600 .72rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--t50);margin-bottom:10px;display:flex;justify-content:space-between}
.flab output{color:var(--terra);letter-spacing:0;text-transform:none;font-size:.85rem}
.fgroup+.fgroup{margin-top:24px}
.fchips{display:flex;flex-wrap:wrap;gap:7px}
.fchip{padding:8px 13px;border-radius:999px;border:1px solid var(--line);font-size:.82rem;font-weight:500;background:var(--paper);transition:all .2s}
.fchip:hover{border-color:var(--ink)}
.fchip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
input[type=range]{width:100%;accent-color:var(--terra)}
.fnote{margin-top:6px}
.zlegend{display:flex;flex-direction:column;gap:4px}
.zl{display:flex;align-items:center;gap:9px;font-size:.86rem;padding:5px 8px;border-radius:8px;text-align:left}
.zl i{width:11px;height:11px;border-radius:50%;background:var(--zc);flex:none}
.zl:hover{background:var(--paper)}
.zl[aria-pressed=true]{background:var(--paper-2);font-weight:600}
.fcount{margin-top:22px;font-size:.9rem;display:flex;gap:10px;align-items:baseline}
.fcount b{font:400 1.6rem/1 var(--serif);color:var(--terra)}
.ex-map{position:relative;border-radius:var(--r);overflow:hidden;background:var(--sea);border:1px solid var(--line);aspect-ratio:570/552;touch-action:pan-y}
.ex-map svg{width:100%;height:100%;display:block;transition:all .5s var(--ease)}
.ex-zoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px}
.ex-zoom button{width:36px;height:36px;border-radius:10px;background:var(--white);border:1px solid var(--line);font-size:1.2rem;line-height:1}
.ex-note{position:absolute;left:12px;bottom:8px;font-size:.68rem;color:var(--t50)}
.ex-card{position:absolute;left:12px;right:12px;bottom:30px;max-width:380px;background:var(--white);border-radius:12px;box-shadow:0 16px 40px rgba(18,26,38,.22);padding:16px 18px;border-top:4px solid var(--zc,var(--terra))}
.ex-card h3{font:400 1.45rem/1.1 var(--serif)}
.ex-card p{font-size:.86rem;color:var(--t65);margin-top:4px}
.ex-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.ex-card dt{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--t50)}
.ex-card dd{font-weight:600;font-size:.9rem}
.ex-card .x{position:absolute;right:10px;top:8px;font-size:1.3rem;color:var(--t50)}
.ex-card a.btn{margin-top:14px}
.ex-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.ex-list .more{border-left:0;justify-content:center;font-weight:600;color:var(--terra)}
@media(max-width:1099px){.ex-list{max-height:420px;overflow:auto}}
.ex-list a{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:10px;background:var(--paper);text-decoration:none;font-size:.88rem;border-left:3px solid var(--zc)}
.ex-list a:hover{background:var(--paper-2)}
.ex-list small{color:var(--t50);white-space:nowrap}

/* map svg */
.m-sea{fill:var(--sea)}
.m-land{fill:#f3ede2}
.m-green{fill:#dde8d3}
.m-water{fill:#bcd8dc}
.m-canal{fill:none;stroke:#bcd8dc;stroke-width:1.6}
.m-road{fill:none;stroke:#dcc298;stroke-width:1.3}
.m-sea.m-sea,.m-sea{}
text.m-sea{fill:#6f959b;font:italic 13px var(--serif);letter-spacing:.08em;fill-opacity:.9}
text.m-sea.m-small{font-size:6px}
.m-lm path{fill:var(--t50)}
.m-lm text{font:600 5.2px var(--sans);fill:var(--t65)}
.m-pin{cursor:pointer}
.m-pin .dot{fill:var(--zc);stroke:#fff;stroke-width:1.4;transition:r .2s}
.m-pin .halo{fill:var(--zc);opacity:0;transition:opacity .2s}
.m-pin .lbl{font:600 5.6px var(--sans);fill:var(--ink);paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:2px;opacity:0;pointer-events:none;transition:opacity .2s}
.dmap-svg.zoomed .m-pin .lbl,.m-pin:hover .lbl,.m-pin:focus .lbl,.m-pin.sel .lbl{opacity:1}
.m-pin:hover .halo,.m-pin.sel .halo{opacity:.25}
.m-pin.off{opacity:.16;pointer-events:none}
.m-pin.on .dot{r:6}.m-pin.on .halo{opacity:.3}.m-pin.on .lbl{opacity:1;font-size:6.5px}
.minimap{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--sea)}
.mini-svg{display:block;width:100%;height:auto;aspect-ratio:3/2}
.mini-svg .m-pin .lbl{opacity:1;font-size:3.3px;stroke-width:.9px;transform:translate(-4.2px,-.6px)}
.mini-svg .m-pin .dot{r:1.5;stroke-width:.5}.mini-svg .m-pin .halo{r:3}
.mini-svg .m-pin.on .dot{r:2.4}.mini-svg .m-pin.on .halo{r:5}.mini-svg .m-pin.on .lbl{font-size:4.4px;transform:translate(-3.5px,-.4px)}

/* zones & cards */
.zones{display:grid;gap:16px}
@media(min-width:760px){.zones{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1150px){.zones{grid-template-columns:repeat(3,1fr)}}
.zone{background:var(--white);border-radius:var(--r);padding:24px;border-top:4px solid var(--zc)}
.zone h3{font:400 1.45rem/1.15 var(--serif);display:flex;align-items:center;gap:10px}
.zone h3 i{width:12px;height:12px;border-radius:50%;background:var(--zc)}
.zone h3 small{font:600 .72rem var(--sans);color:var(--t50);margin-left:auto}
.zone p{font-size:.9rem;color:var(--t65);margin-top:8px}
.zlinks{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:14px}
.zlinks a{font-size:.88rem;text-decoration:none;border-bottom:1px solid var(--line)}
.zlinks a:hover{border-color:var(--zc);color:var(--zc)}
.dgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.dgrid.two{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.dcard{display:block;text-decoration:none;background:var(--white);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s}
.dcard:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(18,26,38,.12)}
.dcard .im{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--paper-3)}
.dcard .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.dcard:hover .im img{transform:scale(1.04)}
.dcard .im .ph{position:absolute;inset:0}
.zt{position:absolute;left:10px;top:10px;background:var(--zc);color:#fff;font:600 .6rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;padding:5px 8px;border-radius:999px;font-style:normal}
.dcard .tx{padding:16px 18px 18px}
.dcard h3{font:400 1.35rem/1.15 var(--serif)}
.dcard p{font-size:.85rem;color:var(--t65);margin-top:4px}
.dcard .st{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:10px;font-size:.8rem;color:var(--t65)}
.dcard .st b{color:var(--ink)}
.pgrid,.sgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pcard,.scard{display:block;text-decoration:none;padding:24px;border-radius:var(--r);background:var(--white);border:1px solid var(--line);transition:border-color .2s,transform .3s var(--ease)}
.pcard:hover,.scard:hover{border-color:var(--terra);transform:translateY(-2px)}
.pcard h3,.scard h3{font:400 1.4rem/1.2 var(--serif)}
.pcard p,.scard p{font-size:.9rem;color:var(--t65);margin:8px 0 14px}
.pcard .arr,.scard .arr{color:var(--terra)}

/* mini tables */
.tables{display:grid;gap:20px}
@media(min-width:640px){.tables{grid-template-columns:1fr 1fr}.tables .fnote{grid-column:1/-1}}
table.mini{width:100%;border-collapse:collapse;font-size:.9rem}
table.mini caption{text-align:left;font:600 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--terra-2);padding-bottom:10px}
table.mini td{padding:9px 0;border-bottom:1px solid var(--line-lt)}
table.mini a{text-decoration:none}
td.n,th.n{text-align:right;white-space:nowrap}

/* page head */
.phead{padding:56px 0 40px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:var(--t50);margin-bottom:22px}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--terra)}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.toc a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:.86rem}
.toc a:hover{border-color:var(--terra);color:var(--terra)}

/* district hero */
.dhero{padding:40px 0 56px;background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 100%)}
.dh-grid{display:grid;gap:34px;align-items:center}
@media(min-width:1000px){.dh-grid{grid-template-columns:1.05fr 1fr;gap:60px}}
.dhero h1 small{display:block;font:600 .8rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--t50);margin-top:10px}
.dhero .kick{color:var(--zc)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}
.tags li{font-size:.76rem;font-weight:500;padding:5px 11px;border-radius:999px;background:var(--white);border:1px solid var(--line)}
.kfs{background:var(--ink);color:var(--paper);padding:30px 0}
.kfl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}
.kf dt{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--l50)}
.kf b{display:block;font:400 1.7rem/1.1 var(--serif);color:#fff;margin-top:6px}
.kf small{font-size:.76rem;color:var(--l50)}
.kfs .fnote{color:var(--l50)}
.ticks li,.crosses li{position:relative;padding:10px 0 10px 30px;border-bottom:1px solid var(--line)}
.ticks li:before{content:"";position:absolute;left:2px;top:17px;width:14px;height:8px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.crosses li:before{content:"!";position:absolute;left:4px;top:10px;font-weight:600;color:var(--terra)}
.ticks{margin-top:22px}.crosses{margin-top:10px}
.facts{background:var(--white);border-radius:var(--r);padding:8px 24px;border:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.facts div:last-child{border:0}
.facts dt{color:var(--t50);font-size:.8rem;padding-top:2px}
.nets{margin-top:30px;display:grid;gap:10px}
.net{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:center;padding:16px 18px;border-radius:12px;background:var(--terra-lt);text-decoration:none;border:1px solid rgba(196,85,58,.25)}
.net:hover{border-color:var(--terra)}
.net .nd{font-weight:600;color:var(--terra)}
.net .nt{grid-column:1;font-size:.88rem;color:var(--t80)}
.net .arr{grid-row:1/3;grid-column:2;color:var(--terra)}
.rb{display:grid;gap:20px}
@media(min-width:900px){.rb{grid-template-columns:1fr 1fr}}
.rbc{background:var(--white);border-radius:var(--r);padding:28px;border:1px solid var(--line)}
.rbc h3{font:400 1.7rem/1.1 var(--serif)}
.rbc>p{color:var(--t65);margin-top:10px;font-size:.95rem}
table.kv{width:100%;border-collapse:collapse;margin-top:18px}
table.kv th{text-align:left;font-weight:400;color:var(--t65);padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem}
table.kv td{padding:10px 0;border-bottom:1px solid var(--line);font-weight:600}
.rbc .btn{margin-top:20px}.rbc .cta-row{margin-top:20px}.rbc .cta-row .btn{margin-top:0}
.how{margin-top:22px;font-size:.84rem;color:var(--t65)}
.how summary{cursor:pointer;font-weight:600;color:var(--ink)}
.how p,.srcs{margin-top:10px}
.srcs li{padding:4px 0}
.leis{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.leis li{padding:20px;border-radius:var(--r);background:var(--white);border:1px solid var(--line)}
.leis b{font:400 1.2rem/1.2 var(--serif);display:block}
.lk{display:inline-block;font:600 .64rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-top:6px}
.leis p{font-size:.88rem;color:var(--t65);margin-top:8px}
.tour{margin-top:12px;color:var(--t65)}
.svc-band{margin-top:30px;padding:24px 28px;border-radius:var(--r);background:var(--ink);color:var(--paper);display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;justify-content:space-between}
.svc-band .cta-row{margin:0}.svc-band .btn-line{border-color:var(--line-lt);color:var(--paper)}
.projs{display:flex;flex-wrap:wrap;gap:8px}
.projs li{padding:8px 14px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:.88rem}

/* dubai south */
.subs{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.sub{background:var(--white);border-radius:var(--r);padding:22px;border-left:4px solid var(--z7)}
.sub h3{font:400 1.3rem/1.2 var(--serif)}
.sub p{font-size:.88rem;color:var(--t65);margin-top:8px}
.tl{display:grid;gap:0;border-left:2px solid var(--paper-3);margin-left:6px}
.tl li{position:relative;padding:0 0 26px 26px}
.tl li:before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--z7);border:2px solid var(--paper)}
.tl h3{margin-top:4px}
.tl p{font-size:.92rem;color:var(--t80);margin-top:4px;max-width:80ch}
.tl .lk{margin:0}

/* data tables */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r);border:1px solid var(--line);background:var(--white)}
table.dt{width:100%;border-collapse:collapse;font-size:.9rem;min-width:640px}
table.dt th{text-align:left;font:600 .7rem/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--t50);padding:14px 14px;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0}
table.dt th button{font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
table.dt th button:after{content:" ↕";opacity:.4}
table.dt th[aria-sort=ascending] button:after{content:" ↑";opacity:1}table.dt th[aria-sort=descending] button:after{content:" ↓";opacity:1}
table.dt td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.dt td small{display:block;font-size:.72rem;color:var(--t50)}
table.dt td a{font-weight:600;text-decoration:none}
table.dt td a:hover{color:var(--terra)}
table.dt tr[hidden]{display:none}
.zf{margin-bottom:18px}
.rules div{padding:14px 0;border-bottom:1px solid var(--line)}
.rules dt{font-weight:600}
.rules dd{font-size:.92rem;color:var(--t80);margin-top:4px}
.dos{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.dz{background:var(--white);border-radius:var(--r);padding:20px;border:1px solid var(--line)}
.dz h3{font:400 1.3rem var(--serif)}
.dz h3 a{text-decoration:none}
.dz li{font-size:.88rem;color:var(--t80);padding:6px 0;border-bottom:1px solid var(--line)}
.dz li:last-child{border:0}
.blist{columns:2 280px;gap:30px}
.blist li{padding:6px 0;font-size:.92rem;break-inside:avoid}
.svcs{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.svc{background:var(--white);border-radius:var(--r);padding:28px;border:1px solid var(--line)}
.svc h2{font-size:1.7rem}
.svc p{color:var(--t65);margin:10px 0 20px}
.prose p{margin-top:16px;max-width:72ch;color:var(--t80)}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{display:flex;width:100%;justify-content:space-between;gap:20px;text-align:left;padding:20px 0}
.faq-q h3{font:400 1.25rem/1.3 var(--serif)}
.faq-q .ic{font-size:1.4rem;color:var(--terra);transition:transform .3s}
.faq-item[data-open=true] .ic{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.faq-item[data-open=true] .faq-a{grid-template-rows:1fr}
.faq-a>div{overflow:hidden}
.faq-a p{padding-bottom:22px;color:var(--t80);max-width:74ch}

/* enquiry */
.enq{padding:var(--sec) 0;background:var(--ink)}
.enq-card{display:grid;border-radius:20px;overflow:hidden;background:var(--ink-2);color:var(--paper)}
@media(min-width:1000px){.enq-card{grid-template-columns:1.5fr 1fr}}
.enq-form{padding:36px 24px}
@media(min-width:768px){.enq-form{padding:52px}}
.enq h2{color:#fff}
.enq .intro-t{color:var(--l70);margin-top:12px;max-width:56ch}
.enq .kick{color:var(--terra-2)}
.lf{margin-top:26px;display:grid;gap:12px}
.lf .row{display:grid;gap:12px}
@media(min-width:640px){.lf .row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
.lf input[type=text],.lf input[type=email],.lf input[type=tel],.lf select,.lf textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--line-lt);background:rgba(246,241,231,.07);color:var(--paper);font:400 .95rem var(--sans)}
.lf select option,.lf select optgroup{color:var(--ink);background:#fff}
.lf input::placeholder,.lf textarea::placeholder{color:var(--l50)}
.lf input:focus,.lf select:focus,.lf textarea:focus{outline:none;border-color:var(--terra-2)}
.chips{border:0;padding:0;margin:0 0 6px;display:flex;flex-wrap:wrap;gap:8px}
.chips label{cursor:pointer}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips span{display:inline-block;padding:9px 15px;border-radius:999px;border:1px solid var(--line-lt);font-size:.86rem;transition:all .2s}
.chips input:checked+span{background:var(--terra);border-color:var(--terra);color:#fff}
.chips input:focus-visible+span{outline:2px solid var(--terra-2);outline-offset:2px}
.consent{font-size:.78rem;line-height:1.55;color:var(--l70);display:flex;gap:10px;align-items:flex-start}
.consent input{margin-top:3px;accent-color:var(--terra);flex:none}
.consent a{color:inherit}
.note{font-size:.76rem;color:var(--l50)}
.hp{position:absolute;left:-9999px}
.invalid input{border-color:#f0a58f!important}
.fielderr{margin-top:6px;font-size:.76rem;color:#f5b6a3}
.fielderr:empty{display:none}
.errmsg{display:none;font-size:.86rem;color:#f5b6a3}
.okmsg{display:none;margin-top:28px;border-radius:14px;background:rgba(227,135,108,.12);border:1px solid rgba(227,135,108,.4);padding:28px}
.okmsg .t{font:400 1.8rem/1.2 var(--serif);color:#fff}
.okmsg p{margin-top:10px;color:var(--l70)}
.okmsg .btn{margin-top:20px}
.enq-desk{padding:36px 24px;background:rgba(0,0,0,.18);display:flex;flex-direction:column;justify-content:space-between;gap:30px}
@media(min-width:768px){.enq-desk{padding:52px 44px}}
.enq-desk .k{font:600 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--terra-2)}
.enq-desk .who{font:400 1.6rem/1.25 var(--serif);color:#fff;margin-top:14px}
.enq-desk .who span{display:block;font:400 .92rem/1.6 var(--sans);color:var(--l70);margin-top:10px}
.enq-desk dl{margin-top:26px}
.enq-desk dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line-lt);font-size:.88rem}
.enq-desk dt{color:var(--l50)}
.iti{display:block;width:100%}
.iti__selected-country{border-radius:12px 0 0 12px}
.lf .iti__selected-dial-code{color:var(--paper)}
.iti--container,.iti__dropdown-content{z-index:1200}
.iti__dropdown-content{font:400 .9rem/1.4 var(--sans);color:var(--ink);border-radius:12px}

/* WhatsApp */
.wafab{position:fixed;right:18px;bottom:18px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;display:none;place-content:center;box-shadow:0 10px 26px rgba(0,0,0,.25)}
.wafab svg{width:28px;height:28px;fill:#fff}
@media(min-width:900px){.wafab{display:grid}}
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;background:var(--ink);border-top:1px solid var(--line-lt)}
.mbar a,.mbar button{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px;color:var(--paper);font-weight:600;font-size:.92rem;text-decoration:none}
.mbar a{background:var(--terra)}
.mbar svg{width:20px;height:20px;fill:#25d366}
@media(min-width:900px){.mbar{display:none}}
@media(max-width:899px){body{padding-bottom:52px}}
.wamodal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:16px}
.wabackdrop{position:absolute;inset:0;background:rgba(18,26,38,.6)}
.wabox{position:relative;background:var(--white);color:var(--ink);border-radius:18px;padding:28px;max-width:480px;width:100%;max-height:92vh;overflow:auto}
.wahead{display:flex;justify-content:space-between;align-items:start;gap:16px}
.wahead h2{font-size:1.7rem}
.waclose{font-size:1.8rem;line-height:1;color:var(--t50)}
.wabox .intro-t{font-size:.9rem;color:var(--t65);margin-top:8px}
.lf.light input[type=text],.lf.light input[type=tel],.lf.light textarea{background:var(--paper);border-color:var(--line);color:var(--ink)}
.lf.light input::placeholder,.lf.light textarea::placeholder{color:var(--t50)}
.lf.light .consent{color:var(--t65)}
.lf.light .iti__selected-dial-code{color:var(--ink)}
.errmsg,.lf.light .fielderr{color:#b0412e}
.enq .errmsg{color:#f5b6a3}

/* consent banner */
.cbanner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(18,26,38,.25);padding:20px;max-width:460px}
.cbanner p{font-size:.8rem;line-height:1.6;color:var(--t80)}
.cbanner .cbtns{margin-top:14px;display:flex;gap:10px;justify-content:flex-end}
.cbanner button{padding:10px 18px;border-radius:999px;font:600 .78rem/1 var(--sans)}
.cbanner .cno{border:1px solid rgba(27,36,51,.3)}
.cbanner .cyes{background:var(--ink);color:var(--paper)}
@media(max-width:899px){.cbanner{bottom:70px}}

/* footer */
.foot{background:var(--night);color:var(--l70);padding:72px 0 30px;font-size:.86rem}
.foot .top{display:grid;gap:40px}
@media(min-width:1100px){.foot .top{grid-template-columns:300px 1fr;gap:60px}}
.foot .brand{color:var(--paper)}
.tag-l{margin-top:16px;max-width:34ch}
.fguides{margin-top:26px;display:flex;flex-direction:column;gap:4px}
.foot h4{font:600 .68rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--paper);margin-bottom:10px}
.foot .cols{display:grid;gap:26px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.foot .cols a,.fguides a{display:block;padding:3px 0;text-decoration:none;color:var(--l70)}
.foot a:hover{color:var(--paper)}
.disclaimer{margin-top:44px;padding-top:24px;border-top:1px solid var(--line-lt);font-size:.74rem;line-height:1.7;color:var(--l50);max-width:120ch}
.foot .bottom{margin-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:.76rem;color:var(--l50)}

/* motion */
.js [data-fade]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js [data-fade].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.js [data-fade]{opacity:1;transform:none}}

/* answer-first blocks (guides, articles: GEO) */
.upd{margin-top:14px;font-size:.82rem;color:var(--t50)}
.answer{margin-top:24px;padding:22px 24px;border-radius:var(--r);background:var(--white);border-left:4px solid var(--terra);box-shadow:0 1px 0 var(--line);max-width:860px}
.answer p{font-size:1.04rem;line-height:1.7;color:var(--t80)}
.keys{margin-top:22px}
.ticks.sm li{padding:7px 0 7px 26px;font-size:.92rem}
.ticks.sm li:before{top:13px;width:11px;height:6px}
.finder-band{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;padding:18px 22px;border-radius:var(--r);background:var(--ink);color:var(--paper)}
.finder-band p{font-size:.95rem}
.phead.art h1{font-size:clamp(2.1rem,5vw,3.6rem)}
.crit{margin-top:10px;padding-left:18px;list-style:disc}
.crit li{padding:3px 0}
.alist{margin-top:34px;display:grid;gap:26px;counter-reset:none}
.ai{display:grid;gap:20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;scroll-margin-top:calc(var(--hdr) + 10px)}
@media(min-width:760px){.ai{grid-template-columns:300px 1fr}}
.ai-im{position:relative;min-height:200px;background:var(--paper-3)}
.ai-im img,.ai-im .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ai-im .badge{font-style:normal}
.rk{position:absolute;left:12px;top:12px;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--zc,var(--terra));color:#fff;display:grid;place-content:center;font:400 1.3rem var(--serif)}
.ai-tx{padding:22px 24px 24px}
@media(min-width:760px){.ai-tx{padding:26px 28px 26px 4px}}
.ai-tx .kick{color:var(--zc);margin-bottom:8px}
.ai-tx h2{font-size:1.8rem}
.why{margin-top:8px;color:var(--t80)}
.ai-m{display:flex;flex-wrap:wrap;gap:8px 28px;margin:14px 0 6px}
.ai-m dt{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t50)}
.ai-m dd{font-weight:600}
.warn{font-size:.86rem;color:var(--t65);margin-top:8px}
.ai .cta-row{margin-top:16px}

/* finder */
.fd-hero{padding:48px 0 10px;background:linear-gradient(180deg,var(--paper),var(--paper-2))}
.fd-hero h1 em{color:var(--terra)}
.finder{background:var(--paper-2);padding:26px 0 var(--sec)}
.fd-card{max-width:860px;margin:0 auto;background:var(--white);border-radius:20px;border:1px solid var(--line);box-shadow:0 20px 50px rgba(18,26,38,.08);padding:28px 22px}
@media(min-width:768px){.fd-card{padding:42px 48px}}
.fd-top{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.fd-bar{flex:1;height:6px;border-radius:99px;background:var(--paper-2);overflow:hidden}
.fd-bar i{display:block;height:100%;width:0;background:var(--terra);transition:width .5s var(--ease)}
.fd-step{font-size:.78rem;color:var(--t50);white-space:nowrap}
.fd-h{font:400 clamp(1.6rem,3.2vw,2.3rem)/1.15 var(--serif)}
.fd-sub{margin-top:10px;color:var(--t65)}
.fd-opts{display:grid;gap:10px;margin-top:22px}
@media(min-width:640px){.fd-opts{grid-template-columns:1fr 1fr}.fd-opts.multi{grid-template-columns:repeat(3,1fr)}}
.fd-opt{text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper);font-weight:500;transition:all .2s}
.fd-opt:hover{border-color:var(--ink)}
.fd-opt[aria-pressed=true]{border-color:var(--terra);background:var(--terra-lt)}
.fd-hint{margin-top:12px;font-size:.84rem;color:var(--t50)}
.fd-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;min-height:20px}
#fd-form .lf{margin-top:20px}
.fd-res{margin-top:34px}
.fd-list{display:grid;gap:16px;margin-top:22px}
.fd-r{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--paper)}
@media(min-width:680px){.fd-r{grid-template-columns:220px 1fr}}
.fd-im{position:relative;min-height:150px;background:var(--paper-3)}
.fd-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fd-tx{padding:18px 20px}
.fd-tx h3{font:400 1.5rem var(--serif)}
.fd-sc{display:flex;align-items:center;gap:10px;margin-top:6px}
.fd-sc i{display:block;height:6px;border-radius:99px;background:var(--zc,var(--terra));max-width:160px;flex:none}
.fd-sc b{font-size:.84rem}
.fd-c{margin-top:6px;color:var(--t65);font-size:.9rem}
.fd-tx .cta-row{margin-top:14px}
.home-finder{background:var(--terra);color:#fff}
.home-finder .wrap{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.home-finder .wrap{grid-template-columns:1.3fr 1fr}}
.home-finder h2{color:#fff}
.home-finder .kick{color:#ffe1d6}
.home-finder p.lede-s{color:rgba(255,255,255,.88)}
.hf-steps{display:flex;flex-wrap:wrap;gap:8px}
.hf-steps li{padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.86rem}
#fd-form .okmsg{background:var(--terra-lt);border-color:rgba(196,85,58,.3)}
#fd-form .okmsg .t{color:var(--ink)}
#fd-form .okmsg p{color:var(--t65)}
.fd-done #fd-form>.kick,.fd-done #fd-form>.fd-h,.fd-done #fd-teaser,.fd-done .fd-nav,.fd-done .fd-top{display:none}
