/*
Theme Name: ZEDAK
Theme URI: https://zedak.net
Author: ZEDAK
Description: ثيم موقع ZEDAK للأصول التجارية (عربي/إنجليزي، فاتح/داكن). يعمل مع إضافة ZEDAK Core التي تحمل البيانات ولوحة التحكم والخريطة ومود الصيانة.
Version: 1.0.0
Requires PHP: 7.4
Text Domain: zedak
Tags: rtl-language-support, custom-menu, featured-images, translation-ready
*/
/* LAYOUT: sticky two-tier header; full-bleed hero slider with overlapping finder; page views switched by hash;
   imagery everywhere via ART (procedural architectural scenes). Palette: white + deep emerald + antique gold. */
:root{
 --bg:#fbfcf8;--surface:#ffffff;--surface-2:#f1f5ee;--line:#dce5d8;
 --ink:#0c2a20;--ink-2:#4a6258;--brand:#0f4a37;--brand-2:#1b6b50;--on-brand:#f6f1e1;
 --gold:#c29a3c;--gold-text:#845e0c;--on-gold:#1a1405;--deep:#08271d;--deep-2:#0c3326;
 --ok:#1f8f66;--warn:#b86a2c;--bad:#b4493a;--shadow:0 10px 30px -12px rgba(12,42,32,.28);--pat:none;--glow1:transparent;--glow2:transparent;--gline:color-mix(in srgb,var(--gold) 62%,transparent);--map-sea:#d8eae6;--map-land:#f5f0e3;--map-edge:#c9c3ae;--map-river:#8fc3c9;
 --f-ar:'El Messiri','Cormorant Garamond',serif;--f-en:'Cormorant Garamond','El Messiri',serif;
 --f-body:'Readex Pro','Manrope',system-ui,sans-serif;--f-num:'Manrope','Readex Pro',system-ui,sans-serif;
 --r:14px;--r-s:9px;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0d2b21;--surface:#143a2d;--surface-2:#1a4636;--line:#2f5f4d;--ink:#ecf0e6;--ink-2:#9db4a8;--brand:#e0bd62;--brand-2:#f0d487;--on-brand:#1a1405;--gold:#d9b968;--gold-text:#e3c57a;--on-gold:#1a1405;--deep:#06211a;--deep-2:#0a2a20;--ok:#4fc79a;--warn:#e2a06a;--bad:#e5806f;--shadow:0 10px 34px -12px rgba(0,0,0,.6);--pat:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2780%27 height=%2780%27 viewBox=%270 0 80 80%27%3E%3Cpath d=%27M40 4 L76 40 L40 76 L4 40Z M40 22 L58 40 L40 58 L22 40Z%27 fill=%27none%27 stroke=%27%23d9b968%27 stroke-opacity=%27.11%27 stroke-width=%271.2%27/%3E%3C/svg%3E");--glow1:rgba(224,189,98,.13);--glow2:rgba(63,174,134,.16);--map-sea:#0e3b3a;--map-land:#21493a;--map-edge:#3b7a62;--map-river:#2f8e90;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0d2b21;--surface:#143a2d;--surface-2:#1a4636;--line:#2f5f4d;--ink:#ecf0e6;--ink-2:#9db4a8;--brand:#e0bd62;--brand-2:#f0d487;--on-brand:#1a1405;--gold:#d9b968;--gold-text:#e3c57a;--on-gold:#1a1405;--deep:#06211a;--deep-2:#0a2a20;--ok:#4fc79a;--warn:#e2a06a;--bad:#e5806f;--shadow:0 10px 34px -12px rgba(0,0,0,.6);--pat:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2780%27 height=%2780%27 viewBox=%270 0 80 80%27%3E%3Cpath d=%27M40 4 L76 40 L40 76 L4 40Z M40 22 L58 40 L40 58 L22 40Z%27 fill=%27none%27 stroke=%27%23d9b968%27 stroke-opacity=%27.11%27 stroke-width=%271.2%27/%3E%3C/svg%3E");--glow1:rgba(224,189,98,.13);--glow2:rgba(63,174,134,.16);--map-sea:#0e3b3a;--map-land:#21493a;--map-edge:#3b7a62;--map-river:#2f8e90;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.7;margin:0;-webkit-font-smoothing:antialiased}
html[lang=ar] .e,html[lang=en] .a{display:none!important}
html[lang=en] body{line-height:1.6}
h1,h2,h3,h4{font-family:var(--f-ar);font-weight:700;line-height:1.25;margin:0;text-wrap:balance;letter-spacing:0}
html[lang=en] h1,html[lang=en] h2,html[lang=en] h3,html[lang=en] h4{font-family:var(--f-en);font-weight:700}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
img.art{display:block;width:100%;height:100%;object-fit:cover}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.wrap{max-width:1260px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-text);font-weight:600}
html[lang=ar] .eyebrow{letter-spacing:0;font-size:13px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:10px 22px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;background:var(--brand);color:var(--on-brand);transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px);background:var(--brand-2)}
.btn.gold{background:var(--gold);color:var(--on-gold)}
.btn.gold:hover{background:var(--gold);filter:brightness(1.08)}
.btn.ghost{background:transparent;border-color:currentColor}
.btn.ghost:hover{background:rgba(127,127,127,.12)}
.btn.sm{padding:7px 16px;font-size:13px}
.btn.wa{background:#1fa855;color:#fff}
.btn svg{width:18px;height:18px;flex:none}
.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:5px 14px;font-size:13px;cursor:pointer}
.chip[aria-pressed=true],.chip.on{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.tag{display:inline-block;font-size:11.5px;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--gold-text);font-weight:600;border:1px solid var(--line)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 10px;border-radius:999px;font-weight:600}
.pill i{width:7px;height:7px;border-radius:50%;background:currentColor;display:block}
.pill.ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.pill.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}
.pill.bad{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,transparent)}
.pill.api{color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 12%,transparent)}
.pill.man{color:var(--gold-text);background:color-mix(in srgb,var(--gold) 16%,transparent)}
/* header */
.util{background:var(--deep);color:#d8e3da;font-size:12.5px}
.util .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:6px;flex-wrap:wrap}
.util a{text-decoration:none;opacity:.9}
.util .l{display:flex;gap:18px;flex-wrap:wrap}
.util .r{display:flex;gap:6px;align-items:center}
.ubtn{background:transparent;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:999px;padding:2px 12px;font-size:12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.ubtn:hover{border-color:var(--gold)}
.ubtn svg{width:14px;height:14px}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:41;background:var(--deep)}
header.top .wrap{display:flex;align-items:center;gap:20px;padding-block:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo svg{width:40px;height:40px}
.logo b{font-family:var(--f-en);font-size:25px;letter-spacing:.14em;font-weight:700;color:var(--ink);line-height:1}
.logo small{display:block;font-size:10.5px;color:var(--ink-2);letter-spacing:.12em;text-transform:uppercase;margin-top:3px;font-weight:500}
html[lang=ar] .logo small{letter-spacing:0;font-size:11.5px}
nav.main{display:flex;gap:2px;flex:1;justify-content:center;flex-wrap:wrap}
nav.main a{padding:8px 13px;border-radius:999px;text-decoration:none;font-size:14px;font-weight:500;color:var(--ink-2);white-space:nowrap}
nav.main a:hover{color:var(--ink);background:var(--surface-2)}
nav.main a[aria-current=page]{color:var(--brand);background:var(--surface-2);font-weight:600}
:root[data-theme=dark] nav.main a[aria-current=page]{color:var(--gold-text)}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:42px;height:42px;cursor:pointer}
.burger svg{width:22px;height:22px;stroke:var(--ink)}
.top .cta{flex:none}
/* hero slider */
.hero{position:relative;background:var(--deep);color:#fff;overflow:hidden;min-height:clamp(520px,74vh,700px)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide .bg{position:absolute;inset:0}
.slide .bg img{transform:scale(1.06);transition:transform 7s ease-out}
.slide.on .bg img{transform:scale(1)}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,14,.88) 0%,rgba(5,20,14,.55) 45%,rgba(5,20,14,.05) 85%)}
html[dir=rtl] .slide::after{background:linear-gradient(270deg,rgba(5,20,14,.88) 0%,rgba(5,20,14,.55) 45%,rgba(5,20,14,.05) 85%)}
.slide .txt{position:absolute;inset:0;z-index:2;display:flex;align-items:center}
.slide .txt .wrap{width:100%}
.slide .box{max-width:560px;padding-bottom:70px}
.slide h1{font-size:clamp(30px,4.6vw,56px);color:#fff}
.slide h1 em{font-style:normal;color:var(--gold)}
.slide p{margin-top:16px;color:#dbe6de;font-size:clamp(14.5px,1.5vw,17px);max-width:46ch}
.slide .acts{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}
.slide .btn.ghost{color:#fff}
.hero .eyebrow{color:var(--gold)}
.hdots{position:absolute;z-index:4;bottom:22px;display:flex;gap:8px;align-items:center;inset-inline-start:max(16px,calc((100% - 1260px)/2 + 16px))}
.hdots button{width:34px;height:4px;border-radius:3px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;position:relative;overflow:hidden}
.hdots button.on{background:rgba(255,255,255,.35)}
.hdots button.on::after{content:"";position:absolute;inset:0;background:var(--gold);transform-origin:left;animation:fill var(--dur,6s) linear forwards}
html[dir=rtl] .hdots button.on::after{transform-origin:right}
.hero.paused .hdots button.on::after{animation-play-state:paused}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.harr{position:absolute;z-index:4;bottom:14px;inset-inline-end:max(16px,calc((100% - 1260px)/2 + 16px));display:flex;gap:8px}
.harr button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(5,20,14,.4);color:#fff;cursor:pointer;display:grid;place-items:center}
.harr button:hover{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.harr svg{width:18px;height:18px}
html[dir=rtl] .harr svg{transform:scaleX(-1)}
/* finder */
.finder{position:relative;z-index:6;margin-top:-44px}
.finder .card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:16px 18px;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr)) auto;gap:12px;align-items:end}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.fld label{font-size:12px;color:var(--ink-2);font-weight:500}
.fld select,.fld input,.fld textarea{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:14px;width:100%;min-width:0}
.fld textarea{resize:vertical;min-height:84px}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--gold);outline:none}
/* sections */
.sec{padding-block:clamp(40px,6vw,76px)}
.sec.alt{background:var(--surface-2)}
.sec-h{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.sec-h h2{font-size:clamp(24px,3.2vw,38px);margin-top:6px}
.sec-h p{color:var(--ink-2);max-width:56ch;margin-top:8px}
.lnk{color:var(--brand);font-weight:600;text-decoration:none;font-size:14px;white-space:nowrap}
:root[data-theme=dark] .lnk{color:var(--gold-text)}
.lnk:hover{text-decoration:underline}
.pagehead{position:relative;background:var(--deep);color:#fff;overflow:hidden}
.pagehead .bg{position:absolute;inset:0;opacity:.55}
.pagehead::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,14,.55),rgba(5,20,14,.85))}
.pagehead .wrap{position:relative;z-index:2;padding-block:clamp(36px,6vw,64px)}
.pagehead h1{font-size:clamp(28px,4vw,46px)}
.pagehead p{color:#d3e0d6;margin-top:10px;max-width:60ch}
.pagehead .eyebrow{color:var(--gold)}
/* need cards */
.needs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.need{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;color:#fff;text-decoration:none;display:flex;align-items:flex-end;border:0;padding:0;cursor:pointer;text-align:start;background:var(--deep)}
.need .bg{position:absolute;inset:0;transition:transform .6s}
.need:hover .bg{transform:scale(1.05)}
.need::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,14,0) 30%,rgba(5,20,14,.92))}
.need .in{position:relative;z-index:2;padding:20px;display:flex;flex-direction:column;gap:8px}
.need h3{font-size:21px;color:#fff}
.need p{font-size:13.5px;color:#d3e0d6;line-height:1.55}
.need .go{color:var(--gold);font-weight:600;font-size:13px}
/* indicators */
.inds{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ind{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ind .v{font-family:var(--f-num);font-size:30px;font-weight:700;color:var(--brand);line-height:1.1}
:root[data-theme=dark] .ind .v{color:var(--gold-text)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ind .v{color:var(--gold-text)}}
.ind .l{font-size:13px;color:var(--ink)}
.ind .m{font-size:11.5px;color:var(--ink-2);display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:auto}
.ind.pend .v{color:var(--ink-2);opacity:.6}
.srcnote{margin-top:14px;font-size:12.5px;color:var(--ink-2)}
/* cards general */
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0}
.ucard{display:flex;flex-direction:column;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:start;padding:0;width:100%}
.ucard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ucard .im{aspect-ratio:16/10;position:relative;overflow:hidden}
.ucard .im .pill{position:absolute;top:10px;inset-inline-start:10px;background:rgba(5,20,14,.7);color:#fff;backdrop-filter:blur(4px)}
.ucard .im .pill.ok{color:#7fe3b9}.ucard .im .pill.warn{color:#f0b98a}
.ucard .bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.ucard h3{font-size:18px}
.ucard .sub{font-size:13px;color:var(--ink-2)}
.ucard .row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;padding-top:10px;border-top:1px solid var(--line)}
.ucard .pr{font-family:var(--f-num);font-weight:700;color:var(--brand);font-size:17px}
:root[data-theme=dark] .ucard .pr{color:var(--gold-text)}
.specs{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2)}
.specs b{font-family:var(--f-num);color:var(--ink)}
/* area strip */
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:14px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x proximity}
.acard{scroll-snap-align:start;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;color:#fff;cursor:pointer;border:0;padding:0;text-align:start;background:var(--deep)}
.acard .bg{position:absolute;inset:0;transition:transform .6s}
.acard:hover .bg{transform:scale(1.06)}
.acard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,14,0) 40%,rgba(5,20,14,.9))}
.acard .in{position:absolute;inset:auto 0 0;z-index:2;padding:16px;display:flex;flex-direction:column;gap:2px}
.acard h3{font-size:19px;color:#fff}
.acard small{color:#cfe0d5;font-size:12px}
.acard .code{font-family:var(--f-num);font-size:11px;color:var(--gold);letter-spacing:.06em;direction:ltr;text-align:start}
/* services */
.svcs{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.svc{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0}
.svc:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.svc .im{aspect-ratio:4/3;position:relative;background:var(--deep)}
.svc .ic{position:absolute;inset-inline-start:14px;bottom:-20px;width:44px;height:44px;border-radius:12px;background:var(--gold);color:var(--on-gold);display:grid;place-items:center;box-shadow:var(--shadow)}
.svc .ic svg{width:22px;height:22px}
.svc .bd{padding:30px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc h3{font-size:17px}
.svc p{font-size:13px;color:var(--ink-2);line-height:1.6}
.svc ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px;font-size:12.5px}
.svc li{display:flex;gap:7px;align-items:flex-start}
.svc li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none;margin-top:8px}
.svc .earn{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;color:var(--gold-text);font-weight:600}
.svcs.big{grid-template-columns:repeat(3,1fr)}
/* news */
.ncard{display:flex;flex-direction:column;text-decoration:none}
.ncard .im{aspect-ratio:16/9}
.ncard .bd{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ncard h3{font-size:18px;line-height:1.35}
.ncard p{font-size:13.5px;color:var(--ink-2)}
.ncard .meta{margin-top:auto;font-size:12px;color:var(--ink-2);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
/* band / cta */
.band{position:relative;background:var(--deep);color:#fff;overflow:hidden}
.band .bg{position:absolute;inset:0;opacity:.35}
.band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,20,14,.92),rgba(5,20,14,.7))}
html[dir=rtl] .band::after{background:linear-gradient(270deg,rgba(5,20,14,.92),rgba(5,20,14,.7))}
.band .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;padding-block:clamp(40px,6vw,70px)}
.band h2{font-size:clamp(26px,3.4vw,40px)}
.band p{color:#d3e0d6;margin-top:12px;max-width:50ch}
.band .perks{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:8px;font-size:14px}
.band .perks li{display:flex;gap:10px;align-items:center}
.band .perks svg{width:18px;height:18px;color:var(--gold);flex:none}
.formcard{background:var(--surface);color:var(--ink);border-radius:18px;padding:22px;display:grid;gap:12px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6)}
.formcard h3{font-size:20px}
.formcard .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fine{font-size:11.5px;color:var(--ink-2);line-height:1.55}
.chk{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--ink-2)}
.chk input{margin-top:4px;accent-color:var(--brand)}
.err{color:var(--bad);font-size:12.5px;min-height:1.2em}
/* rent explorer */
.rbar{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:var(--shadow);margin-top:-28px;position:relative;z-index:5}
.mtabs{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;margin-top:22px}
.mtab{flex:none;width:208px;border-radius:12px;overflow:hidden;border:2px solid var(--line);background:var(--surface);cursor:pointer;padding:0;text-align:start}
.mtab[aria-pressed=true]{border-color:var(--gold);box-shadow:var(--shadow)}
.mtab .im{height:84px}
.mtab .t{padding:8px 10px;font-size:13px;font-weight:600;line-height:1.35}
.mtab .t small{display:block;font-weight:400;color:var(--ink-2);font-size:11.5px}
.viewer{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:18px;margin-top:6px}
.vpanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}
.vpanel h4{font-size:15px;margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.iso{height:360px;perspective:1100px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 70%),var(--surface-2);border-radius:12px}
.iso .scene{position:absolute;left:50%;top:56%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(60deg) rotateZ(-38deg)}
.slab{position:absolute;width:250px;height:150px;margin:-75px 0 0 -125px;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .3s;cursor:pointer;border:0;padding:0;background:transparent}
.slab .face{position:absolute;inset:0;background:var(--surface);border:2px solid var(--line);border-radius:6px;box-shadow:0 14px 24px -8px rgba(0,0,0,.35)}
.slab svg{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px)}
.slab[aria-pressed=true] .face{border-color:var(--gold);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 35%,transparent),0 20px 30px -8px rgba(0,0,0,.45)}
.slab .lab{position:absolute;inset-inline-start:-52px;top:50%;transform:translateZ(1px) rotateZ(38deg) rotateX(-60deg);font-size:12px;font-weight:700;background:var(--deep);color:#fff;padding:2px 9px;border-radius:999px;white-space:nowrap}
.slab[aria-pressed=true] .lab{background:var(--gold);color:var(--on-gold)}
.slab:hover .face{border-color:var(--gold)}
.isohint{font-size:12px;color:var(--ink-2);margin-top:8px}
.plan{width:100%;height:auto;display:block;border-radius:10px;background:var(--surface-2)}
.plan .u{cursor:pointer;transition:opacity .2s}
.plan .u:hover rect{stroke:var(--gold);stroke-width:4}
.plan .u.dim{opacity:.18}
.plan .u.sel rect{stroke:var(--gold);stroke-width:6}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-top:10px;align-items:center}
.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-inline-end:5px;vertical-align:-1px}
.st-av{background:var(--ok)}.st-rs{background:var(--warn)}.st-ls{background:var(--ink-2);opacity:.55}
.ucount{font-size:13px;color:var(--ink-2)}
/* modal */
.ov{position:fixed;inset:0;z-index:80;background:rgba(3,12,8,.7);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px}
.dlg{background:var(--surface);color:var(--ink);border-radius:20px;max-width:760px;width:100%;max-height:calc(100% - 20px);overflow:auto;position:relative;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.dlg.sm{max-width:480px}
.dlg .x{position:absolute;top:12px;inset-inline-end:12px;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(5,20,14,.6);color:#fff;cursor:pointer;font-size:18px}
.dlg .hd{aspect-ratio:21/8;position:relative}
.dlg .bd{padding:20px 24px 24px;display:flex;flex-direction:column;gap:14px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fact{background:var(--surface-2);border-radius:10px;padding:10px 12px}
.fact span{display:block;font-size:11.5px;color:var(--ink-2)}
.fact b{font-family:var(--f-num);font-size:17px}
.locks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.lock{position:relative;border:1px dashed color-mix(in srgb,var(--gold) 70%,transparent);border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--gold) 6%,var(--surface));min-height:74px}
.lock span{font-size:12px;color:var(--ink-2);display:block}
.lock b{display:block;font-family:var(--f-num);font-size:18px;margin-top:2px}
.lock.closed b{letter-spacing:.2em;color:var(--ink-2);filter:blur(3px);user-select:none}
.lock .k{position:absolute;top:10px;inset-inline-end:12px;width:16px;height:16px;color:var(--gold-text)}
.unlockrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between;background:var(--deep);color:#fff;border-radius:12px;padding:12px 16px}
.unlockrow p{font-size:13px;color:#d3e0d6;max-width:46ch}
/* areas */
.areas{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}
.alist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px;position:sticky;top:calc(80px + env(safe-area-inset-top,0px));max-height:calc(100vh - 110px);display:flex;flex-direction:column;gap:10px}
.alist .scroll{overflow-y:auto;display:flex;flex-direction:column;gap:2px;padding-inline-end:4px}
.agrp{font-size:11.5px;color:var(--gold-text);font-weight:700;margin:10px 6px 2px;letter-spacing:.06em;text-transform:uppercase}
html[lang=ar] .agrp{letter-spacing:0;font-size:12.5px}
.aitem{display:flex;justify-content:space-between;align-items:center;gap:8px;background:transparent;border:0;border-radius:9px;padding:7px 10px;cursor:pointer;text-align:start;font-size:14px}
.aitem:hover{background:var(--surface-2)}
.aitem[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}
.aitem.sub{padding-inline-start:26px;font-size:13px;color:var(--ink-2)}
.aitem.sub[aria-pressed=true]{color:var(--on-brand)}
.aitem small{font-family:var(--f-num);font-size:10.5px;opacity:.7;direction:ltr}
.adet{display:flex;flex-direction:column;gap:18px;min-width:0}
.ahero{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:21/8;color:#fff;background:var(--deep)}
.ahero .bg{position:absolute;inset:0}
.ahero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,14,.1) 20%,rgba(5,20,14,.88))}
.ahero .in{position:absolute;inset:auto 0 0;z-index:2;padding:20px 22px;display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.ahero h2{font-size:clamp(24px,3vw,36px);color:#fff}
.code{font-family:var(--f-num);font-size:12px;direction:ltr;display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:2px 10px;border-radius:6px}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kpi span{font-size:12px;color:var(--ink-2);display:block}
.kpi b{font-family:var(--f-num);font-size:22px;display:block;margin-top:2px}
.kpi small{font-size:11.5px;color:var(--ink-2)}
.kpi.lk{position:relative;border:1px dashed color-mix(in srgb,var(--gold) 70%,transparent);background:color-mix(in srgb,var(--gold) 6%,var(--surface));cursor:pointer;text-align:start}
.kpi.lk b{filter:blur(4px);color:var(--ink-2);user-select:none;letter-spacing:.15em}
.kpi.lk .k{position:absolute;top:12px;inset-inline-end:12px;width:16px;height:16px;color:var(--gold-text)}
.ybars{display:flex;flex-direction:column;gap:7px}
.yrow{display:grid;grid-template-columns:130px 1fr 54px;gap:10px;align-items:center;font-size:13px}
.ytrack{height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden;position:relative}
.yfill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--brand-2),var(--gold));border-radius:6px}
html[dir=rtl] .yfill{inset:0 0 0 auto}
.yrow.lkd .ytrack{filter:blur(2.5px);opacity:.7}
.yrow.lkd .yv{filter:blur(4px)}
.note{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border-inline-start:3px solid var(--gold);padding:10px 14px;border-radius:8px;line-height:1.65}
.apibox{font-family:var(--f-num);font-size:12px;direction:ltr;text-align:left;background:var(--deep);color:#bfe9d5;border-radius:10px;padding:10px 14px;overflow-x:auto;white-space:pre}
.apibox b{color:var(--gold);font-weight:600}
/* tools */
.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;grid-template-columns:150px 1fr;min-width:0}
.tool .im{position:relative;min-height:100%}
.tool .im::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,20,14,.55),rgba(5,20,14,.1))}
.tool .bd{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tool h3{font-size:17px}
.tool .d{font-size:12.5px;color:var(--ink-2);line-height:1.55}
.tool .f{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.tool .f .fld select,.tool .f .fld input{padding:6px 10px;font-size:13px}
.tool .f .fld label{font-size:11.5px}
.tool .f .wide{grid-column:1/-1}
.tres{border-top:1px dashed var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}
.tres .row{display:flex;gap:8px;flex-wrap:wrap}
.tres .big{flex:1;min-width:110px;background:var(--surface-2);border-radius:10px;padding:8px 12px}
.tres .big span{font-size:11.5px;color:var(--ink-2);display:block}
.tres .big b{font-family:var(--f-num);font-size:21px;display:block;line-height:1.2}
.tres .big.lk{border:1px dashed color-mix(in srgb,var(--gold) 70%,transparent);background:color-mix(in srgb,var(--gold) 6%,var(--surface));cursor:pointer;position:relative}
.tres .big.lk b{filter:blur(4px);color:var(--ink-2);user-select:none}
.tres .big.lk .k{position:absolute;top:8px;inset-inline-end:8px;width:14px;height:14px;color:var(--gold-text)}
.tool .runs{font-size:11.5px;color:var(--ink-2)}
.qrow{display:flex;gap:8px;align-items:center;font-size:12.5px}
.qrow select{width:auto;padding:4px 8px}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cinfo{display:flex;flex-direction:column;gap:14px}
.cbox{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.cbox .ic{width:42px;height:42px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--brand);flex:none}
:root[data-theme=dark] .cbox .ic{color:var(--gold-text)}
.cbox .ic svg{width:20px;height:20px}
.cbox b{display:block;font-size:14px}.cbox span{font-size:13px;color:var(--ink-2)}
.cform{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;gap:12px;box-shadow:var(--shadow)}
.cmap{border-radius:var(--r);overflow:hidden;aspect-ratio:16/9}
/* footer */
footer{background:var(--deep);color:#cfdcd3;position:relative;overflow:hidden;margin-top:0}
footer .pattern{position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><path d='M40 4 L76 40 L40 76 L4 40Z M40 22 L58 40 L40 58 L22 40Z' fill='none' stroke='%23d9b968' stroke-width='1.2'/></svg>");background-size:80px 80px}
footer .goldline{height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
footer .nl{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding-block:34px;border-bottom:1px solid rgba(255,255,255,.12)}
footer .nl h3{color:#fff;font-size:22px}
footer .nl form{display:flex;gap:8px;flex-wrap:wrap}
footer .nl input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:10px 18px;color:#fff;min-width:240px}
footer .cols{position:relative;z-index:2;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:32px;padding-block:40px}
footer h5{margin:0 0 14px;color:#fff;font-family:var(--f-body);font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
html[lang=ar] footer h5{letter-spacing:0;font-size:14px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:13.5px}
footer a{text-decoration:none;color:#cfdcd3}
footer a:hover{color:var(--gold)}
footer .brand b{font-family:var(--f-en);font-size:30px;letter-spacing:.16em;color:#fff;display:block}
footer .brand p{margin-top:12px;font-size:13.5px;max-width:34ch;line-height:1.7}
footer .soc{display:flex;gap:8px;margin-top:18px}
.sico{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;transition:.2s;text-decoration:none}
.sico:hover{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.sico svg{width:17px;height:17px}
footer .bot{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.12);padding-block:16px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12.5px;color:#9fb5a8}
/* floating rails */
.rail{position:fixed;z-index:60;inset-inline-start:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;background:var(--deep);border-radius:0 12px 12px 0;overflow:hidden;box-shadow:var(--shadow);padding-left:env(safe-area-inset-left,0px)}
html[dir=rtl] .rail{border-radius:12px 0 0 12px}
.rail a{width:44px;height:44px;display:grid;place-items:center;color:#fff;transition:.2s}
.rail a:hover{background:var(--gold);color:var(--on-gold)}
.rail a svg{width:19px;height:19px}
.fwa{position:fixed;z-index:60;inset-inline-end:max(16px,env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:#1fa855;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px -6px rgba(31,168,85,.7);text-decoration:none}
.fwa svg{width:30px;height:30px}
.fwa::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #1fa855;opacity:.5;animation:ping 2.4s ease-out infinite}
@keyframes ping{from{transform:scale(.9);opacity:.6}to{transform:scale(1.35);opacity:0}}
/* responsive */
@media (max-width:1100px){
 nav.main{display:none;position:absolute;top:100%;inset-inline:0;background:var(--surface);flex-direction:column;padding:10px 16px 16px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
 nav.main.open{display:flex}
 .burger{display:block;margin-inline-start:auto}
 header.top .wrap{position:relative}
 .svcs{grid-template-columns:repeat(3,1fr)}
 .areas{grid-template-columns:1fr}
 .alist{position:static;max-height:360px}
 .viewer{grid-template-columns:1fr}
 .rbar{grid-template-columns:repeat(3,1fr)}
 .finder .card{grid-template-columns:repeat(2,1fr)}
 .finder .card .btn{grid-column:1/-1}
 .needs,.g4{grid-template-columns:repeat(2,1fr)}
 .tools{grid-template-columns:1fr}
}
@media (max-width:760px){
 .g3,.g2,.band .wrap,.contact,.admin .bd{grid-template-columns:1fr}
 .svcs,.svcs.big{grid-template-columns:repeat(2,1fr)}
 .kpis{grid-template-columns:1fr}
 .facts{grid-template-columns:repeat(2,1fr)}
 .locks{grid-template-columns:1fr}
 footer .cols{grid-template-columns:1fr 1fr}
 footer .nl{grid-template-columns:1fr}
 footer .nl input{min-width:0;flex:1}
 .flow{grid-template-columns:1fr}
 .rail{display:none}
 .tool{grid-template-columns:1fr}
 .tool .im{height:120px}
 .slide .box{padding-bottom:90px}
 .top .cta{display:none}
 .util .l a:nth-child(n+3){display:none}
 .yrow{grid-template-columns:96px 1fr 46px}
 .ahero{aspect-ratio:16/10}
 .rbar{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){.needs,.g4,.svcs,.svcs.big{grid-template-columns:1fr 1fr}.need{aspect-ratio:4/5}.svc .bd{padding-inline:12px}.finder .card{grid-template-columns:1fr}.logo small{display:none}footer .cols{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.slide .bg img{transform:none!important}}
button.lock{display:block;width:100%;text-align:start;cursor:pointer;color:var(--ink)}
button.lock:hover{border-style:solid}
.plan .u rect{stroke:var(--surface);stroke-width:3;rx:6}
.plan .u text{fill:var(--ink);font-family:var(--f-num);pointer-events:none}
.s-available rect{fill:color-mix(in srgb,var(--ok) 50%,var(--surface))}
.s-reserved rect{fill:color-mix(in srgb,var(--warn) 50%,var(--surface))}
.s-leased rect{fill:color-mix(in srgb,var(--ink-2) 28%,var(--surface))}
.slab svg rect{stroke:var(--surface);stroke-width:5}
.slab svg .void{fill:var(--surface-2);stroke:var(--gold);stroke-width:4;stroke-dasharray:14 10}
.slab svg .dim{opacity:.2}
.moreb{display:flex;justify-content:center;margin-top:20px}
.empty{padding:40px 16px;text-align:center;color:var(--ink-2);border:1px dashed var(--line);border-radius:var(--r)}
.toast{position:fixed;z-index:90;inset-inline:0;bottom:calc(24px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;pointer-events:none}
.toast div{background:var(--deep);color:#fff;border:1px solid var(--gold);padding:10px 20px;border-radius:999px;font-size:14px;box-shadow:var(--shadow)}
.mini4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mt{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;color:#fff;border:0;padding:0;cursor:pointer;text-align:start;background:var(--deep)}
.mt .bg{position:absolute;inset:0}.mt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,20,14,.15),rgba(5,20,14,.9))}
.mt .in{position:absolute;inset:auto 0 0;padding:14px 16px;z-index:2}
.mt h3{font-size:17px;color:#fff}.mt p{font-size:12.5px;color:#cfe0d5;margin-top:2px}
@media (max-width:1100px){.mini4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.mini4{grid-template-columns:1fr}}
.ar-only{direction:rtl;text-align:right}
.ar-only .tbl th,.ar-only .tbl td{text-align:right}
.hl{color:var(--gold-text);font-weight:600}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:900px){.cols2{grid-template-columns:1fr}}
.ph{font-size:11px;background:var(--gold);color:var(--on-gold);border-radius:4px;padding:1px 6px;font-weight:700;margin-inline-start:6px}
.util svg{width:14px;height:14px;vertical-align:-2px}
.util a{display:inline-flex;align-items:center;gap:6px}
.hdots{bottom:64px}.harr{bottom:56px}
@media (max-width:760px){.hdots{bottom:62px}.harr{display:none}}
.inds{grid-template-columns:repeat(3,1fr)}
.inds.six{grid-template-columns:repeat(6,1fr)}
@media (max-width:1100px){.inds.six{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.inds,.inds.six{grid-template-columns:repeat(2,1fr)}.ind .v{font-size:24px}}
@media (max-width:420px){.inds,.inds.six{grid-template-columns:1fr}}
.acard .code{background:none;border:0;padding:0;color:var(--gold);font-size:11.5px}
.band .formcard p{color:var(--ink-2);margin:0}
.band .formcard h3{color:var(--ink)}
.isolabs{position:absolute;inset-inline-end:10px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:3}
.isolabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600;cursor:pointer}
.isolabs button[aria-pressed=true]{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.slab{width:230px;height:138px;margin:-69px 0 0 -115px}
.iso .scene{top:60%}
.slab .lab{display:none}
.harr [data-sprev] svg{transform:scaleX(-1)}
html[dir=rtl] .harr [data-sprev] svg{transform:none}
html[dir=rtl] .harr [data-snext] svg{transform:scaleX(-1)}
@media (max-width:760px){.util .l span{display:none}}
.pagehead .ar-only{display:block}
/* body glow + pattern (dark mode gets decorative texture) */
body{background-image:var(--pat),radial-gradient(900px 520px at 88% -4%,var(--glow1),transparent 62%),radial-gradient(820px 560px at 2% 38%,var(--glow2),transparent 62%);background-size:80px 80px,auto,auto;background-repeat:repeat,no-repeat,no-repeat}
/* mobile util bar: phone icon + theme + language only */
.t-m{display:none}
@media (max-width:760px){
 .util .t-d{display:none}
 .util .t-m{display:inline;font-size:11px;font-weight:700;letter-spacing:.02em}
 .util .wrap{flex-wrap:nowrap;padding-block:5px}
 .util .l{gap:0}
 .ubtn,.ucall{width:34px;height:34px;padding:0;justify-content:center;border-radius:50%}
 .ucall{border:1px solid rgba(255,255,255,.25);display:inline-flex;align-items:center}
 [data-lang-toggle] svg{display:none}
 .ubtn svg,.ucall svg{width:16px;height:16px}
}
/* developer logo + project cards */
.dlogo{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--c);color:#fff;font-family:var(--f-en);font-weight:700;font-size:24px;flex:none;box-shadow:0 4px 12px -4px rgba(0,0,0,.5);border:2px solid rgba(255,255,255,.85)}
.pcard .dwrap-old{position:absolute;bottom:10px;inset-inline-start:10px;display:flex;align-items:center;gap:8px;background:rgba(5,20,14,.74);color:#fff;padding:4px 14px 4px 4px;border-radius:999px;backdrop-filter:blur(4px);font-size:12.5px}
html[dir=rtl] .pcard .dwrap-old{padding:4px 4px 4px 14px}
.pcard .dwrap em{font-style:normal}
.pcard .dlogo{width:30px;height:30px;font-size:15px;border-radius:50%}
.pcard .specs{margin-top:2px}
/* map */
.mapbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.maptools{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border-bottom:1px solid var(--line)}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.mapbody{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(250px,1fr)}
.m-sea{fill:var(--map-sea)}
.mk{cursor:pointer;outline:none}
.mk:hover .mkc,.mk:focus-visible .mkc{filter:brightness(1.18)}
.m-off{fill:var(--gold);stroke:var(--deep);stroke-width:2}
.mappop{border-inline-start:1px solid var(--line);padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px;max-height:470px}
.mappop .phd{font-weight:600;font-size:14px;color:var(--ink-2)}
.mrow{display:flex;gap:10px;align-items:center;background:var(--surface-2);border:1px solid transparent;border-radius:10px;padding:8px 10px;text-align:start;cursor:pointer}
.mrow:hover{border-color:var(--gold)}
.mrow b{display:block;font-size:14px}.mrow small{color:var(--ink-2);font-size:12px}
.dot{width:12px;height:12px;border-radius:50%;flex:none}.dot.rent{background:var(--ok)}.dot.sale{background:var(--gold);border-radius:3px;transform:rotate(45deg)}
.mappop .pim{aspect-ratio:16/10;border-radius:10px;overflow:hidden}
.mappop h4{font-size:19px}
.mback{background:none;border:0;color:var(--brand);font-weight:600;cursor:pointer;text-align:start;padding:0}
:root[data-theme=dark] .mback{color:var(--gold-text)}
.maplegend{display:flex;gap:18px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-2);align-items:center}
.maplegend i{display:inline-block;width:12px;height:12px;margin-inline-end:6px;vertical-align:-1px}
.mk-rent{background:var(--ok);border-radius:50%}.mk-sale{background:var(--gold);transform:rotate(45deg);border-radius:2px}.mk-off{background:var(--gold);clip-path:polygon(50% 0,62% 36%,100% 38%,70% 60%,80% 100%,50% 76%,20% 100%,30% 60%,0 38%,38% 36%)}
.mapnote{margin-inline-start:auto}
@media (max-width:900px){.mapbody{grid-template-columns:1fr}.mappop{border-inline-start:0;border-top:1px solid var(--line);max-height:300px}}
.cinfo .mapbox{box-shadow:none}
.cinfo .mapbody{grid-template-columns:1fr}.cinfo .mappop{border-inline-start:0;border-top:1px solid var(--line);max-height:220px}
@media (min-width:901px){.mappop{height:0;min-height:100%;max-height:none}.cinfo .mappop{height:auto;min-height:0;max-height:220px}}
/* ===== v4 ===== */
/* gold borders, same elevation */
.card,.ind,.svc,.mapbox,.rbar,.vpanel,.alist,.kpi,.tool,.cbox,.cform,.finder .card{border-color:var(--gline);box-shadow:var(--shadow)}
.chip,.tag{border-color:var(--gline)}
.sec.alt{background:color-mix(in srgb,var(--surface-2) 78%,transparent);border-block:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold),transparent) 1}
/* horizontal cards: image beside text */
.g2c{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ucard{flex-direction:row;align-items:stretch}
.ucard:hover{transform:translateY(-2px)}
.ucard .im{flex:0 0 36%;aspect-ratio:auto;min-height:150px}
.ucard .im img,.ucard .im svg{width:100%;height:100%;object-fit:cover;display:block}
.ucard .im .pill{top:8px;font-size:10.5px;padding:2px 8px}
.ucard .bd{flex:1;min-width:0;padding:12px 14px;gap:3px;justify-content:center}
.ucard h3{font-size:16px}
.ucard .sub{font-size:12.5px}
.ucard .specs{font-size:12px;gap:4px 12px}
.ucard .row{margin-top:4px;padding-top:7px;flex-wrap:wrap}
.ucard .pr{font-size:15px}
.pcard .im{min-height:176px}
.pcard .dev{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink-2);margin-bottom:1px}
.pcard .dev .dlogo{width:22px;height:22px;font-size:12px;border-radius:50%;border-width:1.5px;box-shadow:none}
@media (max-width:900px){.g2c{grid-template-columns:1fr}}
@media (max-width:520px){.ucard .im{flex-basis:34%;min-height:136px}.ucard .bd{padding:10px 11px}.ucard h3{font-size:15px}.pcard .im{min-height:164px}}
/* indicators and tools: two per row on phones */
@media (max-width:760px){.ind{padding:12px}.ind .v{font-size:22px}.ind .l{font-size:12px}}
@media (max-width:420px){.inds,.inds.six{grid-template-columns:repeat(2,1fr);gap:9px}.ind .m{font-size:10.5px}}
@media (max-width:480px){.mini4{grid-template-columns:repeat(2,1fr);gap:9px}.mt{aspect-ratio:4/3}.mt .in{padding:10px 11px}.mt h3{font-size:14px}.mt p{font-size:11px}}
/* carousels */
.carw{position:relative}
.carw .strip{scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth}
.carw .strip::-webkit-scrollbar{display:none}
.carw .carb{position:absolute;top:50%;translate:0 -50%;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--gline);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow)}
.carw .carb svg{width:16px;height:16px}
.carw .carb.n{inset-inline-end:-8px}.carw .carb.p{inset-inline-start:-8px}
html[dir=rtl] .carw .carb.n svg{transform:scaleX(-1)}
html[dir=ltr] .carw .carb.p svg{transform:scaleX(-1)}
.carw .carb:hover{border-color:var(--gold)}
@media (max-width:760px){.carw .carb{display:none}}
.strip.nw{grid-auto-columns:minmax(280px,31%)}
.strip.nw .ncard{scroll-snap-align:start;height:100%}
.strip.nw .ncard .im{aspect-ratio:16/9}
@media (max-width:760px){.strip.nw{grid-auto-columns:82%}}
/* zoomable map */
.mapcv{position:relative;aspect-ratio:1000/520;overflow:hidden;background:var(--map-sea);min-width:0;align-self:start;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.mapcv.zoomed{touch-action:none}
.mapcv.grab{cursor:grabbing}
.mapsvgwrap{position:absolute;inset:0}
.mapsvg{display:block;width:100%;height:100%}
.m-land{fill:var(--map-land);stroke:var(--map-edge);stroke-width:1.5px;vector-effect:non-scaling-stroke}
.m-river{fill:none;stroke:var(--map-river);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;vector-effect:non-scaling-stroke}
.m-river.wide{stroke-width:7px}
.m-canal{fill:none;stroke:var(--map-river);stroke-width:2px;stroke-dasharray:2 5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.m-ring{fill:none;stroke:var(--map-edge);stroke-width:2px;stroke-dasharray:7 6;vector-effect:non-scaling-stroke;opacity:.9}
.m-road{fill:none;stroke:var(--map-edge);stroke-width:2px;vector-effect:non-scaling-stroke;opacity:.8}
.m-lb{fill:var(--ink-2);font-size:11.5px;font-family:var(--f-body);opacity:.85;pointer-events:none}
.m-lb tspan.sea{font-style:italic;opacity:.8}
.m-lb tspan.road{font-size:10.5px;opacity:.9}
.m-lb.strong{fill:var(--ink);font-weight:700;font-size:12.5px;opacity:1}
.mkc.rent{fill:var(--ok);stroke:#fff;stroke-width:2.4px}
.mkc.sale{fill:var(--gold);stroke:#fff;stroke-width:2.4px}
.m-cl{fill:var(--brand);stroke:#fff;stroke-width:2.6px}
.m-cn{fill:var(--on-brand);font-weight:700;font-size:15px;font-family:var(--f-num);pointer-events:none}
.m-off{fill:var(--gold);stroke:var(--deep);stroke-width:1.6px}
.zone{cursor:pointer;outline:none}
.zr{fill:color-mix(in srgb,var(--gold) 13%,transparent);stroke:var(--gold);stroke-width:1.3px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}
.zone.has .zr{fill:color-mix(in srgb,var(--gold) 22%,transparent)}
.zone:hover .zr,.zone:focus-visible .zr,.zone.sel .zr{fill:color-mix(in srgb,var(--gold) 38%,transparent);stroke-width:2px}
.zt{font-size:11px;font-weight:600;fill:var(--ink);paint-order:stroke;stroke:var(--map-land);stroke-width:3.4px;stroke-linejoin:round;font-family:var(--f-body)}
.mapcv[data-zl="1"] [data-min="2"],.mapcv[data-zl="1"] [data-min="3"],.mapcv[data-zl="2"] [data-min="3"],.mapcv:not([data-zl="1"]) [data-max="1"]{display:none}
.zbar{position:absolute;top:10px;inset-inline-end:10px;display:flex;flex-direction:column;gap:6px;z-index:3}
.zbar button{width:36px;height:36px;border-radius:10px;border:1px solid var(--gline);background:var(--surface);color:var(--ink);font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow)}
.zbar button:disabled{opacity:.4;cursor:default}
.zbar button:not(:disabled):hover{border-color:var(--gold)}
.zhint{position:absolute;bottom:8px;inset-inline-start:10px;font-size:11px;color:var(--ink-2);background:color-mix(in srgb,var(--surface) 82%,transparent);padding:2px 9px;border-radius:999px;pointer-events:none}
.mk-zone{border:1.5px dashed var(--gold);border-radius:50%;background:color-mix(in srgb,var(--gold) 25%,transparent)}
.mappop .code{color:var(--gold-text);font-size:12px;letter-spacing:.06em}
@media (max-width:600px){.zbar button{width:32px;height:32px;font-size:18px}.zhint{display:none}}
.cinfo .mapcv{aspect-ratio:1000/620}
.mapcv[data-zl="2"] .zone:not(.has):not(.sel) .zt{display:none}
.mapcv[data-zl="1"] .zone:not(.has):not(.sel) .zt{font-size:10.5px}
.carw .carb{top:32%}
.zhint{bottom:auto;top:10px}
@media (max-width:480px){.need .in{padding:12px}.need h3{font-size:15px;line-height:1.35}.need p{font-size:11.5px;line-height:1.5}.need .go{font-size:12px}}


/* ===================== WordPress theme additions ===================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body.admin-bar header.top{top:32px}@media(max-width:782px){body.admin-bar header.top{top:46px}}
.pg{display:block}
nav.main ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;flex-wrap:wrap;justify-content:center}
nav.main li{margin:0}
nav.main li.current-menu-item>a,nav.main li.current_page_item>a,nav.main li.current-menu-ancestor>a{color:var(--brand);background:var(--surface-2);font-weight:600}
:root[data-theme=dark] nav.main li.current-menu-item>a{color:var(--gold-text)}
nav.main .sub-menu{display:none}
.logo img{height:42px;width:auto;display:block}
footer .cols ul.menu{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.logo-wrap{display:flex}
.entry{max-width:78ch}
.entry>*+*{margin-top:1em}.entry h2{font-size:28px;margin-top:1.6em}.entry h3{font-size:22px;margin-top:1.4em}
.entry a{color:var(--brand-2);text-decoration:underline}.entry img{max-width:100%;height:auto;border-radius:12px}
.entry ul,.entry ol{padding-inline-start:22px}.entry blockquote{border-inline-start:4px solid var(--gold);margin-inline:0;padding:4px 18px;color:var(--ink-2)}
.entry table{border-collapse:collapse;width:100%}.entry td,.entry th{border:1px solid var(--line);padding:8px 10px}
.alignleft{float:left;margin:0 1em 1em 0}.alignright{float:right;margin:0 0 1em 1em}.aligncenter{display:block;margin-inline:auto}
/* leaflet inside the prototype's map card */
.mapcv .zdm{position:absolute;inset:0;height:100%!important;border-radius:0}
.mapcv{cursor:default;touch-action:auto}
.zdm{--r-lg:0}
.mapcv .zdm .leaflet-control-zoom{margin:10px}
/* articles */
.ahead-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.art-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start}
.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.art-layout.nosb{grid-template-columns:1fr}
.arcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--gline);border-radius:var(--r);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform .2s}
.arcard:hover{transform:translateY(-3px)}
.arcard .im{aspect-ratio:16/10;overflow:hidden;background:var(--surface-2)}
.arcard .im img{width:100%;height:100%;object-fit:cover;display:block}
.arcard .bd{padding:14px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.arcard h3{font-size:18px;line-height:1.4}.arcard p{color:var(--ink-2);font-size:13.5px}
.arcard .meta{margin-top:auto;display:flex;gap:8px;font-size:12px;color:var(--ink-2);flex-wrap:wrap}
.moreb{display:flex;justify-content:center;margin-top:26px}
.sbar{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.sbox{background:var(--surface);border:1px solid var(--gline);border-radius:var(--r);padding:16px;box-shadow:var(--shadow)}
.sbox h4{font-size:17px;margin-bottom:12px}
.sbox form{display:flex;gap:8px}.sbox form input[type=search]{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
.tagc{display:flex;gap:8px;flex-wrap:wrap}
.tagc a{font-size:12.5px;padding:3px 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);text-decoration:none;color:var(--ink-2)}
.tagc a:hover,.tagc a.on{border-color:var(--gold);color:var(--ink)}
.poplist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.poplist li a{display:grid;grid-template-columns:64px 1fr;gap:10px;text-decoration:none;align-items:center}
.poplist .th{width:64px;height:48px;border-radius:8px;overflow:hidden;background:var(--surface-2)}.poplist .th img{width:100%;height:100%;object-fit:cover;display:block}
.poplist b{font-size:13.5px;line-height:1.4;font-weight:600}.poplist small{display:block;color:var(--ink-2);font-size:11.5px}
.ctac{display:grid;gap:10px}
.ctac a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--deep);color:#fff;text-decoration:none;position:relative;overflow:hidden}
.ctac a:nth-child(2){background:var(--brand)}.ctac a:nth-child(3){background:var(--deep-2)}.ctac a:nth-child(4){background:linear-gradient(135deg,#8a6a1c,var(--gold));color:var(--on-gold)}
.ctac a svg{width:22px;height:22px;flex:none;color:var(--gold)}.ctac a:nth-child(4) svg{color:var(--on-gold)}
.ctac b{display:block;font-size:14.5px}.ctac small{opacity:.8;font-size:12px}
.single-head .meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;color:#d3e0d6;font-size:13px}
.single-cover{border-radius:var(--r);overflow:hidden;margin-bottom:24px;aspect-ratio:16/8}.single-cover img{width:100%;height:100%;object-fit:cover}
.post-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.related{margin-top:44px}
.pager{display:flex;gap:6px;justify-content:center;margin-top:28px;flex-wrap:wrap}.pager a,.pager span{padding:6px 14px;border-radius:10px;border:1px solid var(--line);text-decoration:none}.pager .current{background:var(--brand);color:var(--on-brand)}
/* contact + generic forms */
.cform-wrap .formcard{box-shadow:var(--shadow)}
.fld.wide{grid-column:1/-1}
.toast{position:fixed;inset-inline:0;bottom:24px;display:flex;justify-content:center;z-index:200;pointer-events:none}
.toast div{background:var(--deep);color:#fff;padding:10px 20px;border-radius:999px;box-shadow:var(--shadow)}
.skip{position:absolute;top:0;inset-inline-start:0;transform:translateY(-120%);z-index:999}.skip:focus{transform:none;margin:8px;background:#fff;color:#000;padding:8px 12px}
.hp{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none}
.fld input[type=checkbox]{width:auto}
.unitgal{display:flex;gap:6px;overflow:auto;margin-top:8px}.unitgal img{height:70px;border-radius:8px}
@media(max-width:1000px){.art-layout{grid-template-columns:1fr}.sbar{position:static}.art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.art-grid{grid-template-columns:1fr}}
/* custom logo images */
.logo-dark{display:none}
html[data-theme=dark] .logo-dark+.x,html[data-theme=dark] .logo:has(.logo-dark) .logo-light{display:none}
html[data-theme=dark] .logo-dark{display:block}
@media(prefers-color-scheme:dark){html:not([data-theme=light]) .logo:has(.logo-dark) .logo-light{display:none}html:not([data-theme=light]) .logo-dark{display:block}}
.artph{display:block;width:100%;height:100%;min-height:1px;background:var(--surface-2)}
.artph img,.im>.artph>img,.bg .artph>img{width:100%;height:100%;object-fit:cover;display:block}
.uhours{opacity:.85}
.nav-open nav.main{display:block}
.art-grid{grid-template-columns:repeat(var(--cols,3),minmax(0,1fr))}
.art-layout.sb-start{grid-template-columns:320px minmax(0,1fr)}.art-layout.sb-start .sbar{order:-1}
@media(max-width:1000px){.art-layout.sb-start{grid-template-columns:1fr}.art-layout.sb-start .sbar{order:0}.art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.art-grid{grid-template-columns:1fr}}
.zdt-article .meta time{white-space:nowrap}

/* explorer additions */
.plan .nu rect,.slab .nu rect{fill:var(--surface-2);stroke:var(--line);stroke-width:2}
.dlogo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.zdm-host{position:absolute;inset:0}
.mrow .dot,.dot.rent,.dot.sale{width:10px;height:10px;border-radius:50%;flex:none}
.dot.rent{background:var(--rent-c,#1f8f66)}.dot.sale{background:var(--sale-c,#c29a3c)}
.yrow.lkd .yfill{filter:blur(3px);opacity:.6}
.plan g.u:focus-visible rect{stroke:var(--gold);stroke-width:6}
.pill.man{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold-text)}
