:root{
  --bg:#ffffff;
  --ink:#0b1220;
  --muted:#5b6475;
  --stroke:rgba(11,18,32,.10);
  --shadow:0 12px 30px rgba(11,18,32,.10);
  --navy:#0a2a66;
  --navy2:#081c4a;
  --teal:#15a6c6;
  --ring:rgba(21,166,198,.18);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Cairo",system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;
  background: radial-gradient(1100px 600px at 85% -10%, rgba(21,166,198,.18), transparent 60%),
              radial-gradient(900px 520px at 15% 0%, rgba(10,42,102,.14), transparent 55%),
              var(--bg);
  color:var(--ink);
  line-height:1.7;
}
a{color:inherit;text-decoration:none}
.container{width:min(1120px, calc(100% - 32px)); margin:0 auto}

/* Header */
.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.84);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--stroke);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0}
.brand{display:flex; align-items:center; gap:12px; min-width:240px}
.brand img{width:44px;height:44px;border-radius:14px; box-shadow:0 10px 22px rgba(10,42,102,.12)}
.brand .t1{font-weight:900; font-size:16px; color:var(--navy2)}
.brand .t2{font-size:12.5px; color:var(--muted)}
.navlinks{display:flex; gap:10px; flex-wrap:wrap; justify-content:center}
.navlinks a{
  padding:10px 12px; border-radius:999px;
  font-weight:800; color:var(--navy2);
  border:1px solid transparent;
}
.navlinks a:hover{border-color:var(--stroke); background:rgba(255,255,255,.70)}
.actions{display:flex; gap:10px; align-items:center; justify-content:flex-end; min-width:240px}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:11px 14px; border-radius:999px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.88);
  box-shadow:0 10px 22px rgba(11,18,32,.06);
  font-weight:900;
  cursor:pointer;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.btn svg{width:18px;height:18px}
.btn:hover{transform:translateY(-1px); border-color:rgba(21,166,198,.35); box-shadow:0 14px 30px rgba(11,18,32,.10)}
.btn.primary{background:linear-gradient(135deg, var(--navy), var(--teal)); color:#fff; border-color:rgba(21,166,198,.40)}
.btn.ghost{background:rgba(255,255,255,.78)}

/* Hero */
.hero{padding:44px 0 18px}
.heroGrid{display:grid; grid-template-columns:1.15fr .85fr; gap:22px; align-items:stretch}
.card{background:rgba(255,255,255,.84); border:1px solid var(--stroke); border-radius:var(--radius); box-shadow:var(--shadow)}
.heroCard{padding:26px}
.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 12px; border-radius:999px;
  border:1px solid rgba(21,166,198,.22);
  background:rgba(21,166,198,.08);
  color:var(--navy2); font-weight:900; font-size:13px;
}
.h1{margin:14px 0 10px; font-size:clamp(26px, 3.6vw, 42px); line-height:1.25; color:var(--navy2); font-weight:900}
.lead{margin:0 0 16px; color:var(--muted); font-size:15.5px; font-weight:650}
.heroCtas{display:flex; flex-wrap:wrap; gap:10px; margin-top:8px}
.miniGrid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:14px}
.mini{padding:14px; border-radius:16px; border:1px solid var(--stroke); background:rgba(255,255,255,.92)}
.mini .label{color:var(--muted); font-size:12.5px; font-weight:800; margin-bottom:6px}
.mini .value{font-weight:900; color:var(--navy2); font-size:14px}
.mini a{display:inline-flex; gap:10px; align-items:center}
.mini svg{width:18px;height:18px; opacity:.9}

.sideCard{padding:18px; position:relative; overflow:hidden}
.sideCard:before{
  content:""; position:absolute; inset:-40% -35% auto auto;
  width:520px; height:520px;
  background: radial-gradient(circle at 30% 30%, rgba(21,166,198,.30), transparent 60%),
              radial-gradient(circle at 60% 70%, rgba(10,42,102,.22), transparent 55%);
  transform: rotate(12deg);
  filter: blur(2px);
}
.sideInner{position:relative; display:flex; flex-direction:column; gap:14px}
.logoBig{display:flex; justify-content:center; min-height:220px; align-items:center}
.logoBig img{width:180px; height:auto; border-radius:24px; padding:12px; background:rgba(255,255,255,.80); border:1px solid var(--stroke); box-shadow:0 18px 40px rgba(11,18,32,.14)}
.badges{display:flex; gap:10px; flex-wrap:wrap; justify-content:center}
.badge{padding:8px 12px; border-radius:999px; border:1px solid rgba(10,42,102,.18); background:rgba(255,255,255,.74); font-weight:900; color:var(--navy2); font-size:12.5px}

section{padding:22px 0}
.sectionTitle{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:12px}
.sectionTitle h2{margin:0; font-size:22px; color:var(--navy2); font-weight:900}
.sectionTitle p{margin:0; color:var(--muted); font-size:13.5px; font-weight:800}
.grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.grid2{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.feature{padding:16px; border-radius:var(--radius); background:rgba(255,255,255,.84); border:1px solid var(--stroke); box-shadow:0 10px 24px rgba(11,18,32,.06)}
.feature .icon{width:42px;height:42px;border-radius:14px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, rgba(10,42,102,.12), rgba(21,166,198,.18)); border:1px solid rgba(21,166,198,.25)}
.feature h3{margin:10px 0 6px; color:var(--navy2); font-weight:900; font-size:16px}
.feature p{margin:0; color:var(--muted); font-size:13.8px; font-weight:650}
.note{padding:16px; border-radius:var(--radius); background:rgba(255,255,255,.88); border:1px solid rgba(10,42,102,.14); box-shadow:0 10px 24px rgba(11,18,32,.06)}
.note h3{margin:0 0 8px; color:var(--navy2); font-weight:900; font-size:16px}
.note p{margin:0; color:var(--muted); font-weight:650; font-size:13.8px}
.note pre{
  margin:0; white-space:pre-wrap; word-break:break-word;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:12.5px; color:#0f2a52
}

/* Contact */
.contactWrap{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.form{padding:18px}
.field{display:flex; flex-direction:column; gap:8px; margin-bottom:12px}
label{font-weight:900; color:var(--navy2); font-size:13px}
input,textarea{
  border:1px solid rgba(11,18,32,.14);
  border-radius:14px;
  padding:12px 12px;
  outline:none;
  background:rgba(255,255,255,.94);
  font-size:14px;
}
input:focus,textarea:focus{border-color:rgba(21,166,198,.55); box-shadow:0 0 0 4px var(--ring)}
textarea{min-height:120px; resize:vertical}
.formActions{display:flex; gap:10px; flex-wrap:wrap}
.alert{
  display:none; margin-top:12px;
  padding:12px 14px; border-radius:14px;
  border:1px solid rgba(21,166,198,.25);
  background:rgba(21,166,198,.10);
  color:var(--navy2);
  font-weight:800; font-size:13.5px;
}
.contactCard{padding:18px}
.stack{display:flex; flex-direction:column; gap:10px}
.row{display:flex; align-items:flex-start; gap:10px; padding:12px; border-radius:16px; border:1px solid var(--stroke); background:rgba(255,255,255,.92)}
.row svg{width:18px;height:18px;margin-top:2px; opacity:.9}
.row .k{font-weight:900; color:var(--navy2); font-size:13px; margin-bottom:3px}
.row .v{color:var(--muted); font-weight:650; font-size:13px}
.row .v a{text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; text-decoration-color:rgba(21,166,198,.35)}
.contact-map{background:#fff; border-radius:var(--radius); overflow:hidden; border:1px solid var(--stroke); box-shadow:0 12px 26px rgba(11,18,32,.08)}
.contact-map iframe{display:block; width:100%; height:360px; border:0}

/* Gallery */
.gallery{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.gitem{display:block; border-radius:var(--radius); overflow:hidden; border:1px solid var(--stroke); background:rgba(255,255,255,.92); box-shadow:0 10px 24px rgba(11,18,32,.06)}
.gitem img{width:100%; height:220px; object-fit:cover; display:block; transition: transform .2s ease}
.gitem:hover img{transform:scale(1.03)}
.lightbox{position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(11,18,32,.78); padding:24px; z-index:999}
.lightbox.open{display:flex}
.lightbox img{max-width:min(980px,100%); max-height:82vh; border-radius:18px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06)}
.lbClose{position:absolute; top:16px; right:16px; width:44px; height:44px; border-radius:999px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.12); color:#fff; font-size:28px; line-height:1; cursor:pointer}

/* Footer */
.footer{padding:18px 0 26px; color:var(--muted)}
.footerInner{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; align-items:center}
.small{font-size:12.5px; font-weight:800}
.pills{display:flex; gap:10px; flex-wrap:wrap}
.pills a{padding:8px 12px; border-radius:999px; border:1px solid var(--stroke); background:rgba(255,255,255,.72); font-weight:900; color:var(--navy2)}

/* Responsive */
@media (max-width:940px){
  .heroGrid{grid-template-columns:1fr}
  .actions{min-width:auto}
  .brand{min-width:auto}
  .contactWrap{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .navlinks{display:none}
  .miniGrid{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .gitem img{height:190px}
}

/* Gallery single row override */
.galleryRow{
  display:flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  overflow-x: auto;
  padding: 10px 6px 14px;
  scroll-snap-type: x mandatory;
  margin: 0 auto;
}
.gthumb{
  flex: 0 0 auto;
  width: 180px;
  height: 120px;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 24px rgba(11,18,32,.06);
  scroll-snap-align: center;
}
.gthumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.galleryRow::-webkit-scrollbar{height:8px}
.galleryRow::-webkit-scrollbar-thumb{background: rgba(11,18,32,.18); border-radius:999px}

/* On desktop, usually 6 thumbs fit, so hide scrollbar */
@media (min-width: 941px){
  .galleryRow{ overflow-x: hidden; }
}
@media (max-width: 940px){
  .gthumb{ width: 160px; height: 108px; }
}
@media (max-width: 640px){
  .gthumb{ width: 132px; height: 92px; }
}

