:root{
  --navy:#0b1f3b;
  --blue:#133a6b;
  --gold:#f5b301;
  --text:#0f172a;
  --muted:#64748b;
  --card:#ffffff;
  --shadow: 0 10px 30px rgba(2,6,23,.12);
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Tajawal", "Cairo", "Noto Sans Arabic", sans-serif;
  color:var(--text);
  background:#f6f7fb;
}
.container{max-width:1180px;margin:0 auto;padding:0 18px}

/* Topbar */
.topbar{background:linear-gradient(90deg,var(--navy),var(--blue)); color:#fff; font-size:14px}
.topbar .row{display:flex; gap:14px; align-items:center; justify-content:space-between; padding:8px 0; flex-wrap:wrap}
.topbar a{color:#fff; text-decoration:none; opacity:.92}
.topbar a:hover{opacity:1}

/* Navbar */
.nav{position:sticky; top:0; z-index:999; background:rgba(255,255,255,.9); backdrop-filter: blur(12px); border-bottom:1px solid rgba(15,23,42,.06)}
.nav .row{display:flex; align-items:center; justify-content:space-between; padding:12px 0; gap:12px}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit}
.brand img{width:52px;height:52px; object-fit:contain}
.brand .name{font-weight:900; letter-spacing:.2px; line-height:1.1}
.brand .tag{font-size:12px; color:var(--muted); font-weight:700}

.menu{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.menu a{color:var(--text); text-decoration:none; font-weight:800; font-size:14px; padding:10px 10px; border-radius:12px}
.menu a:hover,.menu a.active{background:rgba(245,179,1,.16); color:var(--navy)}

.lang{display:flex; gap:8px; align-items:center; padding:6px; border:1px solid rgba(15,23,42,.10); border-radius:14px; background:#fff}
.lang button{border:0; background:transparent; font-weight:900; cursor:pointer; padding:8px 10px; border-radius:12px; color:var(--muted)}
.lang button.active{background:rgba(19,58,107,.10); color:var(--navy)}

.btn{display:inline-flex; align-items:center; justify-content:center; padding:12px 16px; border-radius:14px; text-decoration:none; font-weight:900; font-size:14px; border:1px solid rgba(15,23,42,.08); box-shadow: 0 6px 18px rgba(2,6,23,.08)}
.btn.primary{background:var(--gold); color:#1b2a3f; border-color: rgba(245,179,1,.5)}
.btn.primary:hover{filter:brightness(.98)}
.btn.ghost{background:#fff; color:var(--navy)}

/* Mobile */
.burger{display:none; border:1px solid rgba(15,23,42,.12); background:#fff; padding:10px 12px; border-radius:12px; cursor:pointer}
.burger span{display:block; width:22px; height:2px; background:var(--navy); margin:4px 0}
@media (max-width: 920px){
  .burger{display:block}
  .menu{display:none; position:absolute; left:18px; right:18px; top:78px; background:#fff; padding:14px; border-radius:16px; box-shadow: var(--shadow); flex-direction:column; align-items:stretch}
  .menu.open{display:flex}
  .menu .right{display:flex; gap:10px; flex-wrap:wrap}
}

/* Hero */
.hero{
  background:
    radial-gradient(1200px 450px at 20% 20%, rgba(245,179,1,.26), transparent 55%),
    radial-gradient(900px 420px at 80% 30%, rgba(19,58,107,.18), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f6f7fb 90%);
  padding:64px 0 44px;
}
.hero .grid{display:grid; grid-template-columns: 1.2fr .8fr; gap:28px; align-items:center}
.hero h1{margin:0; font-size:44px; line-height:1.08; letter-spacing:-.8px; white-space:pre-line}
.hero p{margin:14px 0 0; color:var(--muted); font-size:16px; line-height:1.7}
.hero .cta{margin-top:18px; display:flex; gap:12px; flex-wrap:wrap}

.badge{display:inline-flex; align-items:center; gap:8px; font-weight:900; font-size:12px; padding:7px 10px; border-radius:999px; background:rgba(245,179,1,.14); border:1px solid rgba(245,179,1,.32)}

.hero-card{background:#fff; border:1px solid rgba(15,23,42,.06); border-radius: var(--radius); box-shadow: var(--shadow); padding:18px}
.hero-card .kpi{display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:10px}
.kpi .item{background:rgba(11,31,59,.04); border:1px solid rgba(11,31,59,.08); border-radius:14px; padding:12px}
.kpi .num{font-weight:1000; font-size:20px}
.kpi .lbl{font-weight:800; color:var(--muted); font-size:12px; margin-top:4px}

@media (max-width: 920px){
  .hero .grid{grid-template-columns:1fr}
  .hero h1{font-size:36px}
}

/* Sections */
.section{padding:54px 0}
.section h2{margin:0 0 10px; font-size:28px; letter-spacing:-.4px}
.section .lead{margin:0; color:var(--muted); line-height:1.7}

.cards{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px}
.card{background:#fff; border:1px solid rgba(15,23,42,.06); border-radius:16px; box-shadow: var(--shadow); padding:16px}
.card h3{margin:6px 0 8px; font-size:16px}
.card p{margin:0; color:var(--muted); line-height:1.6; font-size:14px}
@media (max-width: 1020px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 520px){ .cards{grid-template-columns:1fr} }

.split{display:grid; grid-template-columns: 1fr 1fr; gap:18px; margin-top:18px}
@media (max-width: 920px){ .split{grid-template-columns:1fr} }

.list{padding-left:18px; margin:10px 0 0}
[dir="rtl"] .list{padding-left:0; padding-right:18px}
.list li{margin:8px 0}

/* Clients marquee (right-to-left) */
.clients{padding:22px 0 8px}
.marquee{position:relative; overflow:hidden; border-radius:18px; border:1px solid rgba(15,23,42,.06); background:#fff; box-shadow: var(--shadow)}
.track{display:flex; gap:14px; width:max-content; padding:16px; animation: scroll 26s linear infinite}
.track img{height:62px; width:auto; flex:0 0 auto; opacity:.96; filter: drop-shadow(0 6px 12px rgba(2,6,23,.08))}
@keyframes scroll{from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* Page header */
.pagehead{padding:34px 0 10px}
.pagehead .crumb{color:var(--muted); font-weight:800; font-size:13px}
.pagehead h1{margin:10px 0 0; font-size:34px}

/* Form */
form{display:grid; gap:12px}
input, textarea{width:100%; padding:12px 14px; border-radius:14px; border:1px solid rgba(15,23,42,.12); outline:none; font-size:14px; background:#fff}
textarea{min-height:130px; resize:vertical}
input:focus, textarea:focus{border-color: rgba(245,179,1,.7); box-shadow: 0 0 0 4px rgba(245,179,1,.18)}

.notice{background:rgba(19,58,107,.06); border:1px solid rgba(19,58,107,.12); border-radius:16px; padding:14px; color:var(--muted); font-size:14px; line-height:1.7}

/* Footer */
.footer{background:linear-gradient(180deg,#0b1220,#070c16); color:#dbe3f2; padding:34px 0 18px; margin-top:30px}
.footer a{color:#dbe3f2; text-decoration:none; opacity:.92}
.footer a:hover{opacity:1}
.footer .grid{display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:18px}
.footer .small{color:rgba(219,227,242,.72); font-size:13px; line-height:1.7}
.footer .title{font-weight:1000; margin:0 0 10px}
.footer ul{list-style:none; padding:0; margin:0}
.footer li{margin:8px 0}
.footer .bottom{border-top:1px solid rgba(219,227,242,.12); margin-top:18px; padding-top:14px; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; font-size:13px; color:rgba(219,227,242,.75)}

/* RTL tweaks */
[dir="rtl"] body{font-family: "Tajawal", "Cairo", "Noto Sans Arabic", Arial, sans-serif}
[dir="rtl"] .topbar .row{flex-direction:row-reverse}
[dir="rtl"] .nav .row{flex-direction:row-reverse}
[dir="rtl"] .menu{justify-content:flex-start}
[dir="rtl"] .brand{flex-direction:row-reverse; text-align:right}
[dir="rtl"] .hero .cta{justify-content:flex-start}

/* ===== Additions: Background hero image + overlay ===== */
.hero{position:relative; color:#fff; background:url('../img/hero/hero-we-build.webp') center/cover no-repeat;}
.hero:before{content:''; position:absolute; inset:0; background:rgba(0,0,0,.45);} 
.hero .container{position:relative; z-index:1;}
.hero p{color:rgba(255,255,255,.88);} 
.hero .badge{background:rgba(245,179,1,.18); border-color:rgba(245,179,1,.45); color:#fff;}
.hero-card{background:rgba(255,255,255,.92);} 

/* KPI cards with icons */
.kpi .item{display:flex; gap:10px; align-items:flex-start;}
.kpi .item img{width:42px; height:42px; border-radius:12px; object-fit:cover; flex:0 0 auto; border:1px solid rgba(11,31,59,.10);} 
.kpi .item .txt{display:block;}

/* Card images */
.card-img{width:100%; height:160px; border-radius:14px; object-fit:cover; margin-bottom:10px; border:1px solid rgba(15,23,42,.06);} 

/* Split blocks for mission/vision */
.split-card{display:grid; grid-template-columns: .9fr 1.1fr; gap:14px; align-items:center;}
.split-card img{width:100%; border-radius:14px; height:220px; object-fit:cover; border:1px solid rgba(15,23,42,.06);} 
@media (max-width: 920px){.split-card{grid-template-columns:1fr;} .split-card img{height:200px;}}

/* Services dropdown using <details> */
.dropdown{position:relative;}
.dropdown > summary{list-style:none; cursor:pointer; padding:10px 10px; border-radius:12px; font-weight:800; font-size:14px; color:var(--text);} 
.dropdown > summary::-webkit-details-marker{display:none;}
.dropdown[open] > summary{background:rgba(245,179,1,.16); color:var(--navy);} 
.dropdown-menu{position:absolute; top:44px; left:0; min-width:240px; background:#fff; border-radius:16px; box-shadow:var(--shadow); border:1px solid rgba(15,23,42,.08); padding:10px; display:flex; flex-direction:column; gap:6px;}
.dropdown-menu a{padding:10px 10px; border-radius:12px; font-weight:800; font-size:14px; text-decoration:none; color:var(--text);} 
.dropdown-menu a:hover{background:rgba(245,179,1,.16);}
@media (max-width: 920px){ .dropdown-menu{position:static; box-shadow:none; border:none; padding:8px 0 0; min-width:auto;} }

/* Page hero header */
.hero-page{position:relative; padding:58px 0 46px; color:#fff; background:center/cover no-repeat;}
.hero-page:before{content:''; position:absolute; inset:0; background:rgba(0,0,0,.55);} 
.hero-page .container{position:relative; z-index:1;}
.hero-page h1{margin:0; font-size:42px; letter-spacing:-.7px;}
.hero-page p{margin:12px 0 0; color:rgba(255,255,255,.88); max-width:70ch; line-height:1.7;}

/* Image gallery grid */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:18px;}
.gallery-item{border-radius:14px; overflow:hidden; background:#111; box-shadow:var(--shadow); border:1px solid rgba(15,23,42,.06); cursor:pointer;}
.gallery-item img{width:100%; height:220px; object-fit:cover; display:block; transition:transform .35s ease;}
.gallery-item:hover img{transform:scale(1.06);} 
@media (max-width: 1020px){.gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width: 768px){.gallery-grid{grid-template-columns:repeat(2,1fr);} .gallery-item img{height:200px;}}
@media (max-width: 420px){.gallery-grid{grid-template-columns:1fr;}}

/* Lightbox */
.lightbox{display:none; position:fixed; inset:0; background:rgba(0,0,0,.86); z-index:9999; align-items:center; justify-content:center; padding:18px;}
.lightbox.active{display:flex;}
.lightbox img{max-width:96vw; max-height:86vh; border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.35);} 
.lb-close{position:absolute; top:18px; right:18px; width:44px; height:44px; border-radius:50%; border:0; background:#fff; cursor:pointer; font-size:24px; font-weight:900;}

.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25D366;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
}
.whatsapp-float svg{ width:28px; height:28px; }