/* LumenEX — site styles. Logical properties throughout so AR (rtl) and EN (ltr) mirror. */
@font-face{font-family:Cairo;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/cairo-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:Cairo;font-style:normal;font-weight:400 900;font-display:swap;src:url(/assets/fonts/cairo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --navy:#0b1c2d; --navy-2:#10263c; --navy-3:#17344f; --navy-line:rgba(255,255,255,.12);
  --lime:#b5ba4a; --lime-hi:#cbd05e; --lime-ink:#585c1a; --lime-wash:#eff0d9;
  --paper:#f5f5ef; --white:#fff; --line:#e0e1d6;
  --text:#0b1c2d; --muted:#4c5a68; --on-dark:#eef2f6; --on-dark-muted:#a8b6c5;
  --radius:18px; --radius-sm:12px;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
  --sec:clamp(72px,10vw,136px);
  --font:Cairo,"Segoe UI",Tahoma,"Noto Sans Arabic","Geeza Pro",system-ui,sans-serif;
  --lh:1.65; --lh-head:1.1;
  --mark-a:var(--navy); --mark-b:var(--lime);
  --shadow:0 1px 2px rgba(11,28,45,.05),0 12px 32px -12px rgba(11,28,45,.18);
}
:lang(ar){--lh:1.85; --lh-head:1.3}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--font);font-size:clamp(1rem,.96rem + .2vw,1.075rem);line-height:var(--lh);color:var(--text);background:var(--paper);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:calc(var(--wrap) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.icon{width:1.25em;height:1.25em;flex:none}
[dir=rtl] .flip{transform:scaleX(-1)}
.num{font-feature-settings:"tnum" 1}

:focus-visible{outline:3px solid var(--lime);outline-offset:3px;border-radius:6px}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:100;background:var(--lime);color:var(--navy);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:.7em 1.5em;border-radius:999px;font-weight:700;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn .icon{width:1.1em;height:1.1em;transition:transform .2s}
.btn-primary{background:var(--lime);color:var(--navy)}
.btn-primary:hover{background:var(--lime-hi)}
.btn-primary:hover .icon{transform:translate(2px,-2px)}
[dir=rtl] .btn-primary:hover .icon{transform:scaleX(-1) translate(2px,-2px)}
.btn-ghost{border-color:rgba(255,255,255,.3);color:var(--white)}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.06)}
.btn-sm{min-height:42px;padding:.4em 1.15em;font-size:.95rem}
.btn-block{width:100%}

/* ---------- brand ---------- */
.brand{display:inline-flex;align-items:center;text-decoration:none;color:var(--white);direction:ltr}
.lockup{display:block;height:30px;width:auto;overflow:visible}
.lockup .lk-a{fill:var(--white)}.lockup .lk-b{fill:var(--lime)}
.brand-lg .lockup{height:44px}
/* the logo stays on the left in both languages */
[dir=rtl] .header-in{flex-direction:row-reverse}
.mark{width:34px;height:34px;flex:none}
.wordmark{font-weight:900;font-size:1.5rem;letter-spacing:-.02em;line-height:1;font-family:Cairo,system-ui,sans-serif}
.wordmark span{color:var(--lime)}

/* ---------- header ---------- */
.site-header{position:fixed;inset-inline:0;top:0;z-index:50;color:var(--white);--mark-a:var(--white);transition:background-color .3s,box-shadow .3s,backdrop-filter .3s}
.site-header.is-solid,.site-header.is-open{background:rgba(11,28,45,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--navy-line)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:72px}
.header-actions{display:flex;align-items:center;gap:8px}
.lang{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);text-decoration:none;font-weight:700;font-size:.95rem;transition:border-color .2s,background-color .2s}
.lang:hover{border-color:var(--lime);background:rgba(181,186,74,.1)}
.lang .icon{width:18px;height:18px}
.header-cta{display:none}
.menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);background:none;cursor:pointer}
.menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s,opacity .25s}
.menu-lines{position:relative}
.menu-lines::before,.menu-lines::after{content:"";position:absolute;inset-inline-start:0}
.menu-lines::before{top:-6px}.menu-lines::after{top:6px}
.is-open .menu-lines{background:transparent}
.is-open .menu-lines::before{transform:translateY(6px) rotate(45deg)}
.is-open .menu-lines::after{transform:translateY(-6px) rotate(-45deg)}

.nav{position:fixed;inset-inline:0;top:72px;background:var(--navy);border-top:1px solid var(--navy-line);padding:12px var(--gutter) 28px;display:none;max-height:calc(100dvh - 72px);overflow:auto}
.is-open .nav{display:block}
.no-js .nav{display:block;position:static;background:none;border:0;padding:0}
.no-js .menu-btn{display:none}
.nav a{display:block;padding:14px 4px;font-size:1.15rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--navy-line)}
.nav a:hover,.nav a[aria-current=true]{color:var(--lime)}

@media (min-width:1200px){
  .nav,.no-js .nav{display:block;position:static;background:none;border:0;padding:0;max-height:none;overflow:visible}
  .nav ul{display:flex;gap:4px}
  .nav a{border:0;font-size:.98rem;padding:8px 11px;white-space:nowrap;border-radius:999px;color:var(--on-dark-muted)}
  .nav a:hover,.nav a[aria-current=true]{color:var(--white);background:rgba(255,255,255,.06)}
  .menu-btn{display:none}
  .header-cta{display:inline-flex}
}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;background:var(--navy);color:var(--on-dark);padding-top:112px;overflow:hidden;--mark-a:var(--white)}
.hero-bg{position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(60% 60% at 85% 35%,rgba(181,186,74,.16),transparent 70%),
    radial-gradient(50% 60% at 0% 100%,rgba(38,86,130,.45),transparent 70%),
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/48px 48px;}
[dir=rtl] .hero-bg{transform:scaleX(-1)}
.hero-in{display:grid;gap:24px;align-items:center}
.hero-group{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--lime);padding:6px 14px;border:1px solid rgba(181,186,74,.35);border-radius:999px;background:rgba(181,186,74,.07)}
:lang(ar) .hero-group{letter-spacing:0}
.dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(181,186,74,.2)}
.hero h1{margin-top:22px;font-size:clamp(2.35rem,1.2rem + 5.4vw,5.1rem);font-weight:800;line-height:var(--lh-head);letter-spacing:-.025em;color:var(--white);text-wrap:balance}
:lang(ar) .hero h1{letter-spacing:0}
.hero h1 .accent{color:var(--lime)}
.hero-sub{margin-top:18px;font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:700;color:var(--white)}
.hero-lead{margin-top:10px;max-width:56ch;color:var(--on-dark-muted);font-size:clamp(1rem,.95rem + .25vw,1.12rem)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-tagline{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:28px;font-size:.9rem;font-weight:600;color:var(--on-dark-muted)}
.hero-tagline li{display:flex;align-items:center;gap:10px}
.hero-tagline li+li::before{content:"";width:5px;height:5px;background:var(--lime);transform:rotate(45deg)}
.hero-visual{justify-self:center;width:min(100%,380px);margin-inline:auto}
.hero-art{width:100%;height:auto;overflow:visible}
.hero-art .rings circle{stroke:rgba(255,255,255,.1)}
.hero-art .fiber{stroke:rgba(255,255,255,.14);stroke-width:1.5}
.hero-art .pulse{stroke:var(--lime);stroke-width:2.5;stroke-dasharray:14 86;stroke-dashoffset:100;animation:pulse 4.2s linear infinite;filter:drop-shadow(0 0 4px rgba(181,186,74,.8))}
.hero-art .nodes circle{fill:var(--lime)}
.hero-art .nodes .halo{fill:rgba(181,186,74,.16)}
.hero-art .tags rect{fill:rgba(255,255,255,.06);stroke:rgba(255,255,255,.16)}
.hero-art .tags text{fill:var(--on-dark);font-family:Cairo,system-ui,sans-serif;letter-spacing:.06em}
.hero-art .hub circle{fill:rgba(11,28,45,.75);stroke:rgba(181,186,74,.35);stroke-width:1.5}
.hero-art .hub-mark{animation:breathe 6s ease-in-out infinite;transform-origin:280px 280px}
@keyframes pulse{to{stroke-dashoffset:0}}
@keyframes breathe{50%{transform:scale(1.035)}}

.trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px;border-top:1px solid var(--navy-line)}
.trust-item{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:4px;padding:22px 4px 22px;border-bottom:1px solid var(--navy-line)}
.trust-item:nth-child(odd){padding-inline-end:16px;border-inline-end:1px solid var(--navy-line)}
.trust-item:nth-child(even){padding-inline-start:16px}
.trust dd{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem);font-weight:800;color:var(--white);line-height:1.1;text-align:start}
.trust .unit{font-size:.5em;font-weight:700;color:var(--lime);letter-spacing:.04em}
.trust dt{font-size:.88rem;color:var(--on-dark-muted);line-height:1.5}
.scroll-cue{display:inline-flex;align-items:center;gap:8px;margin-block:28px 36px;font-size:.9rem;font-weight:600;color:var(--on-dark-muted);text-decoration:none}
.scroll-cue:hover{color:var(--lime)}
.scroll-cue .icon{animation:nudge 2s ease-in-out infinite}
@keyframes nudge{50%{transform:translateY(4px)}}

@media (min-width:960px){
  .hero{padding-top:128px}
  .hero-in{grid-template-columns:1.15fr .85fr;gap:48px;min-height:min(640px,calc(100svh - 260px))}
  .hero-visual{width:100%;max-width:540px}
  .trust{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:56px}
  .trust-item,.trust-item:nth-child(odd),.trust-item:nth-child(even){padding:28px 24px;border-bottom:0;border-inline-end:1px solid var(--navy-line)}
  .trust-item:first-child{padding-inline-start:0}
  .trust-item:last-child{border-inline-end:0}
}

/* ---------- sections ---------- */
.section{padding-block:var(--sec)}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--lime-ink)}
:lang(ar) .eyebrow{letter-spacing:0;font-size:.95rem}
.eyebrow-num{font-feature-settings:"tnum" 1}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
.h2{margin-top:14px;font-size:clamp(2rem,1.3rem + 3vw,3.6rem);font-weight:800;line-height:var(--lh-head);letter-spacing:-.02em;text-wrap:balance}
:lang(ar) .h2{letter-spacing:0}
.h2 span{color:var(--muted);font-weight:700}
.h2.on-dark{color:var(--white)}
.h2.on-dark span{color:var(--lime)}
.sec-head{display:grid;gap:18px;margin-bottom:clamp(36px,5vw,64px)}
.sec-lead{max-width:48ch;color:var(--muted);font-size:1.08rem}
@media (min-width:880px){.sec-head{grid-template-columns:1.2fr 1fr;align-items:end;gap:48px}}

/* reveal (only when JS is present & motion allowed) */
@media (prefers-reduced-motion:no-preference){
  .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
  .js .reveal.in{opacity:1;transform:none}
}

/* ---------- about ---------- */
.about{background:var(--paper)}
.about-grid{display:grid;gap:40px}
.legal-name{margin-top:22px;font-size:.85rem;font-weight:800;letter-spacing:.2em;color:var(--muted)}
[dir=rtl] .legal-name{text-align:right}
.pillars{display:grid;gap:10px;margin-top:28px}
.pillars li{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);font-weight:700}
.pillars span{font-size:.8rem;font-weight:800;color:var(--lime-ink);background:var(--lime-wash);border-radius:8px;padding:2px 8px}
.about-body p{color:var(--muted);max-width:62ch}
.about-body p+p{margin-top:16px}
.about-body .lede{font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem);color:var(--text);font-weight:600;line-height:calc(var(--lh) - .1)}
.vm{display:grid;gap:14px;margin-top:36px}
.vm-card{position:relative;padding:28px;border-radius:var(--radius);overflow:hidden}
.vm-card h3{font-size:.9rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
:lang(ar) .vm-card h3{letter-spacing:0;font-size:1rem}
.vm-card p{margin-top:10px;font-size:1.1rem;font-weight:600;line-height:1.6}
:lang(ar) .vm-card p{line-height:1.8}
.vm-vision{background:var(--navy);color:var(--white)}
.vm-vision h3{color:var(--lime)}
.vm-vision p{color:var(--white)!important}
.vm-mission{background:var(--lime)}
.vm-mission h3{color:var(--navy)}
.vm-mission p{color:var(--navy)!important}
@media (min-width:720px){.vm{grid-template-columns:1fr 1fr}}
@media (min-width:960px){.about-grid{grid-template-columns:.9fr 1.1fr;gap:72px}.about-head{position:sticky;top:110px;align-self:start}}

/* ---------- services ---------- */
.services{background:var(--white)}
.cards{display:grid;gap:16px}
.card{position:relative;display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);transition:border-color .25s,box-shadow .25s,transform .25s}
.card::after{content:"";position:absolute;inset-inline:28px;bottom:-1px;height:3px;background:var(--lime);border-radius:3px 3px 0 0;transform:scaleX(0);transition:transform .3s}
.card:hover{border-color:#cfd0c2;box-shadow:var(--shadow)}
.card:hover::after{transform:scaleX(1)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--navy);color:var(--lime)}
.card-icon .icon{width:26px;height:26px}
.card-num{font-size:.85rem;font-weight:800;color:#687480}
.card h3{font-size:1.25rem;font-weight:800;line-height:1.35}
.card p{margin-top:10px;color:var(--muted);flex:1}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-weight:700;color:var(--lime-ink);text-decoration:none;align-self:flex-start;padding-block:4px;border-bottom:1.5px solid transparent}
.card-link:hover{border-color:currentColor}
.card-link .icon{width:1em;height:1em}
@media (min-width:680px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.cards{grid-template-columns:repeat(3,1fr)}}

/* ---------- projects ---------- */
.projects{background:var(--navy);color:var(--on-dark);position:relative;overflow:hidden}
.projects .eyebrow{color:var(--lime)}
.projects .sec-lead{color:var(--on-dark-muted)}
/* current project: Al-Bab */
.current{display:grid;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(181,186,74,.35);background:linear-gradient(160deg,var(--navy-3),var(--navy-2) 60%)}
.current-info{padding:clamp(24px,3.5vw,44px)}
.current-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.current-tag{font-size:.85rem;font-weight:800;color:var(--navy);background:var(--lime);padding:3px 12px;border-radius:999px}
.current-city{margin-top:18px;font-size:clamp(2.4rem,1.6rem + 3.4vw,4rem);font-weight:900;line-height:1.1;color:var(--white)}
.current-region{display:flex;align-items:center;gap:6px;margin-top:6px;font-weight:700;color:var(--on-dark-muted)}
.current-region .icon{width:18px;height:18px;color:var(--lime)}
.current-d{margin-top:16px;color:var(--on-dark-muted);max-width:54ch}
.metric{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:26px;padding:18px 20px;border-radius:var(--radius-sm);background:rgba(181,186,74,.1);border:1px solid rgba(181,186,74,.3)}
.metric-v{font-size:clamp(2.6rem,2rem + 2.6vw,3.6rem);font-weight:900;line-height:1;color:var(--lime);letter-spacing:-.02em}
.metric-u{font-size:.45em;font-weight:800;color:var(--white);letter-spacing:0}
.metric-l{font-weight:700;color:var(--white);max-width:22ch;line-height:1.5}
.current-info .mini-title{margin-top:28px}
.scope{display:grid;gap:8px;margin-top:12px}
.scope li{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--white)}
.scope-n{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:8px;background:var(--navy);border:1px solid var(--navy-line);color:var(--lime);font-size:.78rem;font-weight:900}
.current-map{position:relative;margin:0;min-height:340px;aspect-ratio:1000/948;overflow:hidden;background:#0c1e30;border-top:1px solid var(--navy-line)}
.current-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cm-badge{position:absolute;top:16px;inset-inline-start:16px;display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:999px;background:rgba(11,28,45,.85);border:1px solid rgba(181,186,74,.4);color:var(--white);font-weight:800;backdrop-filter:blur(6px);--mark-a:var(--white)}
[dir=rtl] .cm-badge{padding:6px 8px 6px 14px}
.cm-badge .mark{width:22px;height:22px}
.cm-legend{position:absolute;bottom:40px;inset-inline-start:16px;display:grid;gap:6px;padding:12px 14px;border-radius:12px;background:rgba(11,28,45,.85);border:1px solid var(--navy-line);font-size:.8rem;font-weight:700;color:var(--on-dark);backdrop-filter:blur(6px)}
.cm-legend li{display:flex;align-items:center;gap:10px}
.lgd{width:22px;flex:none}
.lgd-main{height:4px;border-radius:2px;background:var(--lime);box-shadow:0 0 6px rgba(181,186,74,.7)}
.lgd-dist{height:2px;background:rgba(181,186,74,.5)}
.lgd-node{width:12px;height:12px;margin-inline:5px;border-radius:50%;background:var(--navy);border:2.5px solid var(--lime)}
.cm-note{position:absolute;bottom:10px;inset-inline:16px;font-size:.68rem;color:#8093a8}
@media (min-width:960px){.current{grid-template-columns:1fr 1fr}.current-map{aspect-ratio:auto;border-top:0;border-inline-start:1px solid var(--navy-line)}}
.mini-title{font-size:.85rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted)}
:lang(ar) .mini-title{letter-spacing:0;font-size:1rem}
.group-proj{display:flex;flex-direction:column;gap:14px;margin-top:16px;padding:clamp(24px,3vw,32px);border:1px solid var(--navy-line);border-radius:var(--radius);background:var(--navy-2)}
.group-proj ul{display:grid;gap:12px;flex:1}
.gp{padding:22px;border-radius:var(--radius-sm);background:var(--navy-3);border:1px solid var(--navy-line)}
.gp h4{margin-top:12px;font-size:1.2rem;font-weight:800;color:var(--white)}
.gp p{margin-top:6px;color:var(--on-dark-muted)}
.status{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:800;padding:3px 12px;border-radius:999px}
.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}
.status-done{color:var(--navy);background:var(--lime)}
.status-live{color:var(--lime);border:1px solid rgba(181,186,74,.5)}
.status-live .status-dot{animation:blink 1.6s ease-in-out infinite}
@keyframes blink{50%{opacity:.25}}
.future{margin-top:clamp(48px,6vw,80px)}
.future-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;padding-bottom:20px;border-bottom:1px solid var(--navy-line);margin-bottom:24px}
.future-title{font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);font-weight:800;color:var(--white)}
.future-grid{display:grid;gap:16px}
[dir=rtl] .fcard-d{margin-top:8px;color:var(--on-dark-muted)}
.fcard-d{margin-top:10px;color:var(--on-dark-muted);max-width:56ch}
/* Vision 2030 */
.vision{position:relative;overflow:hidden;isolation:isolate;padding:clamp(26px,3.5vw,40px);border-radius:var(--radius);border:1px solid rgba(181,186,74,.35);background:radial-gradient(120% 90% at 50% 120%,rgba(181,186,74,.22),transparent 60%),linear-gradient(165deg,var(--navy-3),var(--navy-2) 70%)}
.vision-art{position:absolute;z-index:-1;inset-inline:0;bottom:-2px;width:100%;height:auto;opacity:.6}
.vision-art path{stroke:rgba(181,186,74,.35)}
.vision-dots circle{fill:var(--lime)}
.vision-kicker{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--lime);font-size:1rem}
.vision-kicker::before{content:"";width:22px;height:2px;background:currentColor}
.vision-year{margin-top:4px;font-size:clamp(4.5rem,3rem + 7vw,7.5rem);font-weight:900;line-height:.9;letter-spacing:-.04em;background:linear-gradient(180deg,#f3f5c9 0%,var(--lime) 55%,rgba(181,186,74,.25) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-align:start}
[dir=rtl] .vision-year{text-align:end}
.vision h4,.barq-name{margin-top:14px;font-size:1.35rem;font-weight:800;color:var(--white);line-height:1.35}
.vision-pillars{display:grid;gap:8px;margin-top:22px}
.vision-pillars li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;background:rgba(11,28,45,.55);border:1px solid var(--navy-line);font-weight:700;color:var(--white);backdrop-filter:blur(4px)}
.vision-pillars .icon{color:var(--lime)}
/* Barq Net */
.barq{position:relative;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;padding:clamp(26px,3.5vw,40px);border-radius:var(--radius);border:1px solid var(--navy-line);background:linear-gradient(200deg,#1a3a58,var(--navy-2) 65%)}
.barq-art{position:absolute;z-index:-1;inset-inline-end:-30px;bottom:-30px;width:240px;height:240px}
.barq-art path{fill:none;stroke:rgba(181,186,74,.18);stroke-width:2;stroke-linejoin:round}
.barq-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.barq-icon{display:grid;place-items:center;width:60px;height:60px;border-radius:16px;background:var(--lime);color:var(--navy);box-shadow:0 0 0 6px rgba(181,186,74,.15),0 0 40px rgba(181,186,74,.35)}
.barq-icon .icon{width:30px;height:30px;fill:var(--navy)}
.barq-tag{font-size:.82rem;font-weight:800;color:var(--lime);padding:4px 12px;border-radius:999px;border:1px solid rgba(181,186,74,.45)}
.barq-name{margin-top:26px;font-size:clamp(2.2rem,1.6rem + 2.6vw,3.4rem);font-weight:900;line-height:1.1;letter-spacing:-.01em}
.barq-latin{margin-top:2px;font-weight:800;color:var(--on-dark-muted);letter-spacing:.06em}
.barq-pillars{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:24px}
.barq-pillars li{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(181,186,74,.12);color:#e3e6a6;font-size:.9rem;font-weight:700}
.barq-pillars .icon{width:16px;height:16px;color:var(--lime)}
/* Project footprint map */
.spread{display:grid;gap:28px;margin-top:16px;padding:clamp(24px,3.5vw,44px);border-radius:var(--radius);border:1px solid var(--navy-line);background:var(--navy-2)}
.spread-title{margin-top:10px;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.2rem);font-weight:800;color:var(--white);line-height:1.25}
.gov-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:24px}
.gov-list li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--navy-line);background:var(--navy-3);color:var(--white);font-weight:700;cursor:default;transition:border-color .2s,background-color .2s}
.gov-list li:hover{border-color:var(--lime);background:rgba(181,186,74,.12)}
.gov-n{font-size:.75rem;font-weight:900;color:var(--navy);background:var(--lime);border-radius:6px;padding:1px 6px}
.legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px;font-size:.85rem;color:var(--on-dark-muted)}
.legend li{display:flex;align-items:center;gap:8px}
.lg{width:14px;height:14px;border-radius:4px}
.lg-primary{background:rgba(181,186,74,.75);border:1.5px solid #d9dd7a}
.lg-active{background:rgba(181,186,74,.18);border:1.5px solid rgba(181,186,74,.55)}
.lg-hq{border-radius:50%;background:var(--white);box-shadow:0 0 0 3px rgba(255,255,255,.2)}
.spread-map{margin:0}
.smap{position:relative;aspect-ratio:1000/853}
.smap img{width:100%;height:100%}
.sp{position:absolute;width:0;height:0}
.sp-dot{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--lime);border:3px solid var(--navy-2);box-shadow:0 0 0 2px var(--lime);transition:transform .2s}
.sp-ring{position:absolute;left:-22px;top:-22px;width:44px;height:44px;border-radius:50%;border:2px solid var(--lime);opacity:0;animation:ring 2.6s ease-out infinite}
.sp:nth-of-type(3) .sp-ring{animation-delay:.4s}.sp:nth-of-type(4) .sp-ring{animation-delay:.8s}.sp:nth-of-type(5) .sp-ring{animation-delay:1.2s}.sp:nth-of-type(6) .sp-ring{animation-delay:1.6s}.sp:nth-of-type(7) .sp-ring{animation-delay:2s}
.sp-lbl{position:absolute;top:0;transform:translateY(-50%);padding:3px 10px;border-radius:999px;background:rgba(11,28,45,.85);border:1px solid var(--navy-line);color:var(--white);font-size:clamp(.68rem,.6rem + .3vw,.85rem);font-weight:800;white-space:nowrap;transition:background-color .2s,color .2s}
.sp-e{left:16px}.sp-w{right:16px}
.sp-hq .sp-dot{left:-15px;top:-15px;width:30px;height:30px;display:grid;place-items:center;background:var(--navy);border:2px solid var(--white);box-shadow:0 0 0 5px rgba(255,255,255,.12);--mark-a:var(--white)}
.sp-hq .sp-dot .mark{width:16px;height:16px}
.sp-hq .sp-lbl{left:24px;background:var(--white);color:var(--navy);border-color:var(--white)}
.sp-hq small{margin-inline-start:6px;font-size:.8em;font-weight:700;color:var(--lime-ink)}
.spread:has(.gov-list li[data-g=aleppo]:hover) .sp[data-g=aleppo] .sp-lbl,
.spread:has(.gov-list li[data-g=raqqa]:hover) .sp[data-g=raqqa] .sp-lbl,
.spread:has(.gov-list li[data-g=latakia]:hover) .sp[data-g=latakia] .sp-lbl,
.spread:has(.gov-list li[data-g=tartus]:hover) .sp[data-g=tartus] .sp-lbl,
.spread:has(.gov-list li[data-g=daraa]:hover) .sp[data-g=daraa] .sp-lbl,
.spread:has(.gov-list li[data-g=sweida]:hover) .sp[data-g=sweida] .sp-lbl{background:var(--lime);color:var(--navy);border-color:var(--lime)}
.spread:has(.gov-list li[data-g=aleppo]:hover) .sp[data-g=aleppo] .sp-dot,
.spread:has(.gov-list li[data-g=raqqa]:hover) .sp[data-g=raqqa] .sp-dot,
.spread:has(.gov-list li[data-g=latakia]:hover) .sp[data-g=latakia] .sp-dot,
.spread:has(.gov-list li[data-g=tartus]:hover) .sp[data-g=tartus] .sp-dot,
.spread:has(.gov-list li[data-g=daraa]:hover) .sp[data-g=daraa] .sp-dot,
.spread:has(.gov-list li[data-g=sweida]:hover) .sp[data-g=sweida] .sp-dot{transform:scale(1.4)}
.map-note{margin-top:10px;font-size:.72rem;color:#6f8399}
.sp-s{left:0;top:16px;transform:translateX(-50%)}
@media (max-width:599px){
  .spread{padding-inline:16px}
  .spread-map{margin-inline:-6px}
  .sp[data-g=latakia] .sp-lbl,.sp[data-g=tartus] .sp-lbl{right:auto;left:12px}
  .sp[data-g=daraa] .sp-lbl{right:auto;left:0;top:14px;transform:translateX(-85%)}
  .map-note{margin-top:26px}
  .sp[data-g=sweida] .sp-lbl{left:0;top:14px;transform:translateX(-5%)}
  .sp-lbl{padding:2px 7px}
  .sp-hq .sp-lbl{left:20px}
}
@media (min-width:960px){.spread{grid-template-columns:.8fr 1.2fr;align-items:center;gap:48px}}


@media (min-width:900px){.future-grid{grid-template-columns:1fr 1fr}.group-proj ul{grid-template-columns:1fr 1fr}}
/* ---------- news ---------- */
.news{background:var(--paper)}
.news-card{display:grid;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow)}
/* white gallery: the photos themselves fill the whole panel, separated only by thin white gaps */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0;background:var(--white)}
.g-item{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:var(--line)}
.g-item[hidden]{display:none}
.g-feature{grid-column:1/-1;aspect-ratio:4/3}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.g-item:hover img{transform:scale(1.03)}
.g-more{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center;gap:2px;background:rgba(11,28,45,.7);color:var(--white);font-size:clamp(1rem,.8rem + 1vw,1.4rem);font-weight:900;line-height:1}
.g-more small{font-size:.62rem;font-weight:700;color:var(--lime)}
.news-body{padding:clamp(22px,3.5vw,40px)}
.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.news-meta time{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.9rem;color:var(--lime-ink)}
.news-meta time .icon{width:18px;height:18px}
.news-source{font-size:.82rem;font-weight:800;color:var(--navy);background:var(--lime-wash);padding:3px 12px;border-radius:999px}
.news-title{margin-top:14px;font-size:clamp(1.35rem,1.1rem + 1vw,1.85rem);font-weight:800;line-height:1.35}
.news-body p{margin-top:14px;color:var(--muted)}
.news-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.news-tags li{font-size:.82rem;font-weight:700;color:var(--lime-ink);background:var(--lime-wash);padding:3px 10px;border-radius:8px}
.news-src{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:1.5px solid var(--lime);padding-bottom:2px}
.news-src .icon{width:1em;height:1em}
.news-src:hover{color:var(--lime-ink)}
.news-sources{margin-top:22px}
.news-sources .mini-label{font-size:.8rem;font-weight:800;color:var(--muted);margin-bottom:8px}
.news-sources ul{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.current-news{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:700;color:var(--lime);text-decoration:none;border-bottom:1px solid rgba(181,186,74,.5);padding-bottom:2px}
.current-news .icon{width:1em;height:1em}
.current-news:hover{color:var(--white)}
@media (min-width:960px){
  /* gallery column never exceeds the photos' 800px source width, so nothing is upscaled */
  .news-card{grid-template-columns:minmax(0,42%) 1fr;align-items:stretch}
  .gallery{grid-template-rows:1fr auto;align-self:stretch}
  .g-feature{aspect-ratio:auto;min-height:280px}
}
/* lightbox */
.lightbox{width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:0;background:rgba(6,14,23,.94);color:var(--white)}
.lightbox::backdrop{background:rgba(6,14,23,.7)}
.lightbox[open]{display:grid;place-items:center}
.lb-open{overflow:hidden}
.lb-fig{margin:0;padding:64px 16px 72px;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(1100px,100%)}
.lb-img{max-width:min(100%,var(--lb-max,800px));max-height:calc(100dvh - 180px);width:auto;height:auto;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.5);user-select:none;-webkit-user-drag:none}
.lb-cap{font-weight:700;text-align:center;color:var(--on-dark);max-width:60ch}
.lb-count{position:absolute;top:22px;inset-inline-start:24px;font-weight:800;color:var(--lime);font-feature-settings:"tnum" 1}
.lb-btn,.lb-close{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(11,28,45,.7);color:var(--white);cursor:pointer;transition:background-color .2s,border-color .2s}
.lb-btn:hover,.lb-close:hover{background:var(--lime);border-color:var(--lime);color:var(--navy)}
.lb-btn{top:50%;transform:translateY(-50%)}
.lb-prev{inset-inline-start:16px}.lb-next{inset-inline-end:16px}
.lb-close{top:12px;inset-inline-end:12px;width:46px;height:46px}
@media (max-width:640px){.lb-btn{top:auto;bottom:14px;transform:none}.lb-fig{padding:60px 8px 84px}}

/* ---------- partners ---------- */
.partners{background:var(--white)}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.partner{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);transition:border-color .25s,box-shadow .25s}
.partner:hover{border-color:#cfd0c2;box-shadow:var(--shadow)}
.partner-logo{display:grid;place-items:center;width:100%;height:96px}
.partner-logo img{max-width:88%;max-height:96px;width:auto;height:auto;object-fit:contain}
.partner-name{font-size:.8rem;font-weight:700;color:var(--muted);text-align:center;line-height:1.4}
.partner-parent{border-color:rgba(181,186,74,.7);background:linear-gradient(180deg,var(--lime-wash),var(--white) 55%)}
.partner-dark{background:var(--navy);border-color:var(--navy)}
.partner-dark .partner-name{color:var(--on-dark-muted)}
.partner-link{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;text-decoration:none;border-radius:var(--radius)}
.partner-link .partner-name{display:inline-flex;align-items:center;gap:6px}
.partner-link .icon{width:.95em;height:.95em;color:var(--lime)}
.partner:has(.partner-link:hover) .partner-name{color:var(--navy)}
.partner-dark:has(.partner-link:hover) .partner-name{color:var(--white)}
.partner-badge{position:absolute;top:10px;inset-inline-start:10px;font-size:.72rem;font-weight:800;color:var(--navy);background:var(--lime);padding:2px 10px;border-radius:999px}
.partner-grid{grid-auto-flow:dense}
@media (max-width:1023px){.partner-wide{grid-column:1/-1}.partner-wide .partner-logo img{max-width:min(80%,340px)}}
@media (min-width:700px){.partner-grid{gap:16px}.partner-logo{height:110px}.partner-logo img{max-height:110px}}
@media (min-width:1024px){.partner-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.partner-parent{grid-column:span 2}.partner-wide .partner-logo img{max-width:92%}}

/* ---------- solutions ---------- */
.solutions{background:var(--paper)}
.sol-grid{display:grid;gap:16px}
.sol{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:clamp(26px,3.5vw,40px);border-radius:var(--radius);background:var(--white);border:1px solid var(--line)}
.sol-top{display:flex;align-items:center;gap:14px}
.sol-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--lime);color:var(--navy)}
.sol-icon .icon{width:26px;height:26px}
.sol h3{font-size:1.6rem;font-weight:900;letter-spacing:-.01em}
.sol-t{margin-top:22px;font-size:1.2rem;font-weight:800}
.sol p:not(.sol-t){margin-top:8px;color:var(--muted);max-width:52ch}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tags li{font-size:.85rem;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--lime-wash);color:var(--lime-ink)}
@media (min-width:820px){.sol-grid{grid-template-columns:1fr 1fr}}

/* ---------- process ---------- */
.process{background:var(--white)}
.steps{display:grid;gap:0;counter-reset:s}
.step{position:relative;padding-block:0 32px;padding-inline-start:68px}
.step::before{content:"";position:absolute;inset-inline-start:23px;top:48px;bottom:0;width:2px;background:linear-gradient(var(--lime),var(--line))}
.step:last-child{padding-bottom:0}
.step:last-child::before{display:none}
.step-num{position:absolute;inset-inline-start:0;top:0;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--lime);font-weight:900}
.step h3{font-size:1.3rem;font-weight:800;padding-top:8px}
.step p{margin-top:8px;color:var(--muted)}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(4,1fr);gap:28px}
  .step{padding:72px 0 0}
  .step::before{inset-inline-start:60px;inset-inline-end:-28px;top:23px;bottom:auto;width:auto;height:2px;background:linear-gradient(to right,var(--lime),var(--line))}
  [dir=rtl] .step::before{background:linear-gradient(to left,var(--lime),var(--line))}
  .step:last-child::before{display:none}
}

/* ---------- contact ---------- */
.contact{background:var(--navy);color:var(--on-dark);position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 70% at 0% 0%,rgba(181,186,74,.12),transparent 70%);pointer-events:none}
[dir=rtl] .contact::before{background:radial-gradient(50% 70% at 100% 0%,rgba(181,186,74,.12),transparent 70%)}
.contact .eyebrow{color:var(--lime)}
.contact-grid{position:relative;display:grid;gap:40px}
.contact-lead{margin-top:20px;color:var(--on-dark-muted);max-width:46ch;font-size:1.08rem}
.via{margin-top:36px;font-size:.9rem;font-weight:700;color:var(--on-dark-muted)}
.contact-links{display:grid;gap:10px;margin-top:12px}
.contact-links a{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--navy-line);border-radius:var(--radius-sm);background:var(--navy-2);text-decoration:none;font-weight:700;color:var(--white);transition:border-color .2s;overflow-wrap:anywhere}
.contact-links a:hover{border-color:var(--lime)}
.contact-links .icon{color:var(--lime)}
.contact-links a span{flex:1}
.contact-links a .icon:last-child:not(:first-child){color:var(--on-dark-muted);width:1em}
.contact-links a small{display:block;font-size:.8rem;font-weight:600;color:var(--on-dark-muted)}

/* map: vector map (map.svg) centred on the pin; the stage always keeps the SVG's aspect so % anchors stay true */
.map{position:relative;margin:0;aspect-ratio:1/1.1;container-type:size;border-radius:var(--radius);overflow:hidden;background:#0c1e30;border:1px solid var(--navy-line);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.map-stage{position:absolute;left:50%;top:50%;width:max(100cqw,100cqh * 1.3483);height:max(100cqh,100cqw / 1.3483);transform:translate(-50%,-50%)}
.map-img{width:100%;height:100%}
.map-place{position:absolute;transform:translate(-50%,-50%);font-size:.78rem;font-weight:700;letter-spacing:.02em;color:#8ea3b8;white-space:nowrap;text-shadow:0 1px 8px #0b1c2d,0 0 2px #0b1c2d;pointer-events:none}
.pin{position:absolute;width:0;height:0}
.pin-ring{position:absolute;left:-60px;top:-60px;width:120px;height:120px;border-radius:50%;border:2px solid var(--lime);opacity:0;animation:ring 2.8s ease-out infinite}
.pin-ring-2{animation-delay:1.4s}
@keyframes ring{0%{transform:scale(.15);opacity:.9}100%{transform:scale(1);opacity:0}}
.pin-shadow{position:absolute;left:-16px;top:-6px;width:32px;height:12px;border-radius:50%;background:radial-gradient(rgba(181,186,74,.9),rgba(181,186,74,0) 70%)}
.pin-head{position:absolute;left:-29px;top:-74px;width:58px;height:58px;display:grid;place-items:center;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);background:var(--navy);border:3px solid var(--lime);box-shadow:0 12px 24px -6px rgba(0,0,0,.6),0 0 0 6px rgba(181,186,74,.18);animation:bob 3s ease-in-out infinite}
.pin-head .mark{width:28px;height:28px;transform:rotate(45deg);--mark-a:var(--white)}
@keyframes bob{50%{translate:0 -5px}}
.pin-tag{position:absolute;left:38px;top:-64px;padding:6px 12px;border-radius:999px;background:var(--lime);color:var(--navy);font-size:.82rem;font-weight:800;white-space:nowrap;box-shadow:0 8px 20px -8px rgba(0,0,0,.6)}
.map-north{position:absolute;top:14px;inset-inline-end:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(11,28,45,.8);border:1px solid var(--navy-line);color:var(--on-dark-muted);font-size:.7rem;font-weight:800;line-height:1}
.map-north svg{width:14px;height:14px;fill:var(--lime);margin-bottom:-6px}
.map-scale{position:absolute;top:24px;inset-inline-start:16px;display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;color:var(--on-dark-muted)}
.map-scale-bar{width:calc(max(100cqw,100cqh * 1.3483) * .0983);height:6px;border:2px solid var(--on-dark-muted);border-top:0}
.map-card{position:absolute;inset-inline:12px;bottom:34px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:14px;border-radius:var(--radius-sm);background:rgba(11,28,45,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--navy-line)}
.map-card-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--navy-3);flex:none;--mark-a:var(--white)}
.map-card-mark .mark{width:24px;height:24px}
.map-card-text{flex:1;min-width:160px;display:flex;flex-direction:column;line-height:1.4}
.map-card-text strong{color:var(--white);font-weight:800}
.map-card-text strong .wordmark{font-size:1em;letter-spacing:0}
.map-card-text>span{font-size:.88rem;color:var(--on-dark-muted)}
.map-card .btn{flex:none}
.map-credit{position:absolute;bottom:8px;inset-inline-start:14px;font-size:.68rem;color:#6f8399}
@media (max-width:479px){.map{aspect-ratio:1/1.62}.map-card .btn{width:100%}.pin-tag{display:none}.map-place{font-size:.7rem}}
@media (min-width:600px) and (max-width:979px){.map{aspect-ratio:4/3}}
@media (min-width:980px){.map{aspect-ratio:1/1}}
@media (min-width:980px){.contact-grid{grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}}

/* ---------- footer ---------- */
.site-footer{background:#07131f;color:var(--on-dark-muted);padding-top:64px;--mark-a:var(--white)}
.footer-grid{display:grid;gap:36px;padding-bottom:48px}
.brand-lg .mark{width:48px;height:48px}
.brand-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.brand-lg .wordmark{font-size:1.9rem}
.brand-sub{font-size:.7rem;font-weight:800;letter-spacing:.42em;color:var(--on-dark-muted)}
.footer-brand p{margin-top:18px;max-width:38ch}
.f-title{font-size:.85rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--white);margin-bottom:14px}
:lang(ar) .f-title{letter-spacing:0;font-size:1rem}
.site-footer ul{display:grid;gap:8px}
.site-footer ul a{text-decoration:none;display:inline-block;padding-block:4px}
.site-footer a:hover{color:var(--lime)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-block:24px;border-top:1px solid var(--navy-line);font-size:.87rem}
.to-top{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;color:var(--white);padding-block:6px}
.to-top .icon{width:1em;height:1em}
@media (min-width:820px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr}[dir=rtl] .footer-grid{grid-template-columns:1fr 1fr 1.6fr}[dir=rtl] .footer-brand{order:3}[dir=rtl] .footer-brand .brand{display:flex;justify-content:flex-start}}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-art .pulse{stroke-dasharray:none;opacity:.35}
}
@media print{.site-header,.hero-visual,.scroll-cue,.form{display:none}.hero,.projects,.contact{background:#fff;color:#000}}
