
:root{
  --primary:#0d47a1;
  --primary-700:#123d90;
  --accent:#f9a825;
  --text:#0f172a;
  --muted:#f5f7fb;
  --card:#ffffff;
  --border:#e6eaf2;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Cairo","Tahoma",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans Arabic","Noto Kufi Arabic",sans-serif;
  background:#fff; color:var(--text); line-height:1.7; direction:rtl; overflow-x:hidden;
}
.container{width:min(1100px,94%);margin-inline:auto}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo-wrap{display:flex;align-items:center;gap:12px}
.logo{width:70px;height:48px;display:block;border:none}
.logo-text{font-weight:800;color:var(--primary);letter-spacing:.2px}
nav ul{display:flex;gap:18px;list-style:none;padding:0;margin:0}
nav a{text-decoration:none;color:#1f2937;font-weight:600;padding:8px 12px;border-radius:10px}
nav a:hover{background:var(--muted)}

.btn{display:inline-block;padding:12px 18px;border-radius:12px;font-weight:800;text-decoration:none;transition:transform .15s, box-shadow .15s;box-shadow:0 4px 14px rgba(13,71,161,.08)}
.btn-primary{background:var(--primary);color:#fff}
.btn-outline{border:1px solid var(--primary);color:var(--primary);background:#fff}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(13,71,161,.15)}

.hero{position:relative;background-size:cover;background-position:center;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,.38) 40%, rgba(0,0,0,.28) 70%, rgba(0,0,0,.18) 100%);pointer-events:none}
.hero .content{position:relative;z-index:1;padding:72px 0 56px}
.kicker{font-weight:800;letter-spacing:.6px;opacity:.95}
.hero h1{margin:8px 0 12px;font-size:clamp(26px,4vw,44px);line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.hero p{margin:0 0 22px;max-width:60ch;opacity:.98;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:28px}
.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);padding:16px;border-radius:14px;backdrop-filter:blur(4px)}
.stat .v{font-size:24px;font-weight:900}
.stat .l{opacity:.9}

.section{padding:64px 0;background:#fff}
.section:nth-of-type(even){background:var(--muted)}
.section h2{margin:0 0 16px;font-size:clamp(22px,3.2vw,32px);color:var(--primary);letter-spacing:.2px}
.section .lead{margin:0 0 24px;color:#334155}

.grid-3{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
@media (max-width:980px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grid-3{grid-template-columns:1fr}}

.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}
.card h3{margin:0 0 8px;font-size:20px}
.card p{margin:0;color:#475569}

.bullets{display:grid;gap:10px}
.bullets li{list-style:none;padding:10px 12px;background:#fff;border:1px solid var(--border);border-radius:12px}

.table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:14px;border:1px solid var(--border);background:#fff}
.table th,.table td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--border)}
.table thead th{background:#f8fafc;color:#0f172a;font-weight:800}
.table tr:last-child td{border-bottom:none}

.contact{display:grid;gap:18px;grid-template-columns:1.2fr .8fr}
@media (max-width:980px){.contact{grid-template-columns:1fr}}

.footer{padding:28px 0;color:#334155;border-top:1px solid var(--border);background:#fff}
.footer a{color:var(--primary);text-decoration:none}
.footer .mini{font-size:13px;color:#64748b}

.gallery-item{transition:transform .15s ease, box-shadow .15s ease}
.gallery-item:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(13,71,161,.18)}

/* ==== Nav improvements & mobile menu ==== */
.nav{min-height:64px}
nav ul{align-items:center}
.nav-toggle{
  display:none; align-items:center; justify-content:center;
  width:44px; height:44px; border-radius:10px;
  border:1px solid var(--border); background:#fff; color:var(--primary);
  font-size:22px; line-height:1; cursor:pointer;
}
.nav-toggle:focus{outline:2px solid var(--primary); outline-offset:2px}

@media (max-width: 860px){
  .nav{gap:10px}
  nav ul{
    position:fixed; inset:64px 0 auto 0;
    background:#fff; border-top:1px solid var(--border);
    padding:12px 16px; display:none; flex-direction:column; gap:8px; z-index:60;
  }
  nav ul.open{display:flex}
  .nav-toggle{display:inline-flex}
}

/* Hero sizing tweaks for phones & desktop */
.hero{min-height:clamp(420px, 70vh, 760px)}
@media (max-width: 640px){
  .hero .content{padding:64px 0 40px}
}
img{max-width:100%; height:auto}

/* ===== Strong mobile nav rules ===== */
@media (max-width: 860px){
  .nav{display:flex; align-items:center; justify-content:space-between; gap:8px}
  .logo-wrap{flex:1 1 auto}
  nav{flex:0 0 auto}
  nav ul{
    position:fixed; top:64px; right:0; left:0;
    background:#ffffff; border-top:1px solid var(--border);
    padding:12px 16px; display:none !important; flex-direction:column; gap:10px; z-index:2000;
    box-shadow:0 10px 24px rgba(0,0,0,.08);
  }
  nav ul.open{display:flex !important}
  .nav-toggle{display:inline-flex; order:-1; margin-inline-start:8px}
}
/* Desktop nav spacing tidy */
@media (min-width: 861px){
  nav ul{display:flex; gap:22px; align-items:center}
  .nav-toggle{display:none !important}
}
