:root{
  --brand:#133A67; --brand-2:#0a2540; --violet:#6c5ce7; --accent:#00A884; --muted:#bcd0ff; --bg:#0b1220;
}
html.lang-ar{direction:rtl}
html.lang-en{direction:ltr}
body{font-family:"Cairo",Inter,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans"; background:var(--bg); color:#e8f0ff}

/* Global AI background layers */
body::before{
  content:""; position:fixed; inset:-15%; z-index:-2; opacity:.35; filter:blur(50px);
  background:
    radial-gradient(800px 400px at 12% 18%, rgba(108,92,231,.35), transparent 55%),
    radial-gradient(900px 500px at 88% 12%, rgba(85,168,255,.30), transparent 60%),
    radial-gradient(700px 420px at 50% 100%, rgba(20,40,90,.65), rgba(10,20,40,.0) 70%);
}

.global-canvas{position:fixed; inset:0; z-index:-1; opacity:.16; pointer-events:none}

.navbar{box-shadow:0 8px 28px rgba(19,58,103,.08)}
.brand-logo{height:56px;width:auto}

.hero{
  background: radial-gradient(1400px 700px at 10% 10%, #2d3e75 0%, #133A67 45%, #1b1350 100%);
  color:#fff; padding:120px 0 88px; position:relative; overflow:hidden
}
.tag{display:inline-block;font-size:.8rem;padding:.3rem .6rem;border-radius:999px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25)}
.btn-cta{background:#fff;color:var(--brand);font-weight:700}
.btn-ghost{border-color:#fff;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--brand)}
.section-title{font-weight:800;background:linear-gradient(90deg,#93b7ff,#c9a6ff); -webkit-background-clip:text; background-clip:text; color:transparent}
.divider{height:4px;width:76px;background:linear-gradient(90deg,var(--brand),#55a8ff);border-radius:4px;margin:.5rem 0 1.25rem}
.muted{color:var(--muted)}
.card-ghost{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px;transition:.25s;color:#e6efff}
.card-ghost:hover{transform:translateY(-4px); box-shadow:0 14px 38px rgba(19,58,103,.18)}
.shadow-soft{box-shadow:0 12px 40px rgba(19,58,103,.12)}
.badge-tech{border:1px solid #2a3f66;background:#0f2340;padding:.25rem .5rem;border-radius:8px;font-size:.8rem;margin:.15rem;color:#d9e7ff}

/* Services */
.service-card{position:relative;overflow:visible; transition:.25s}
.service-card:hover{transform:translateY(-6px)}
.service-card .cover{height:240px;border-radius:18px;overflow:hidden;padding:12px;background:radial-gradient(600px 280px at 10% 10%, #1a2d55 0%, #0f1b34 65%, #0b1426 100%)}
.service-card .cover img{width:100%;height:100%;object-fit:contain;image-rendering:auto}
.service-card .badge-tech{background:#0f2340;border-color:#2a3f66;color:#d9e7ff}

/* Gallery */
.gallery img{width:100%;height:240px;object-fit:cover;border-radius:16px}

/* Footer & Social */
.footer{background:#0e2033;color:#cfe2ff}
.footer a{color:#cfe2ff;text-decoration:none}
.footer a:hover{text-decoration:underline}
.social a{display:inline-flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;background:#162742;color:#e4efff;border:1px solid #2a3f66;transition:.25s}
.social a:hover{transform:translateY(-4px); box-shadow:0 12px 28px rgba(108,92,231,.28)}
.social-lg a{width:56px;height:56px;font-size:22px;background:#162742;border-color:#2a3f66}

/* Utilities */
.whatsapp-float{position:fixed; inset:auto 18px 18px auto; z-index:9999}
.whatsapp-float a{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;background:var(--accent);color:#fff;border-radius:50%;box-shadow:0 12px 30px rgba(0,168,132,.35);font-size:28px}
#backTop{position:fixed; inset:auto 18px 90px auto; width:46px;height:46px;border-radius:50%; background:#133A67;color:#fff;border:0;display:none;align-items:center;justify-content:center;z-index:9998}
#backTop.show{display:flex}

/* Language visibility */
[data-lang]{display:none}
html.lang-en [data-lang="en"]{display:unset}
html.lang-ar [data-lang="ar"]{display:unset}
section{scroll-margin-top:90px}

/* Neon / AI look */
.neon{box-shadow:0 0 30px rgba(108,92,231,.35)}
.glow{box-shadow:0 0 0 rgba(85,168,255,0); animation:glow 3s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 0 30px rgba(108,92,231,.3)}50%{box-shadow:0 0 60px rgba(85,168,255,.45)}}
.float{animation:float 6s ease-in-out infinite}
@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}100%{transform:translateY(0)}}
.pulse{position:relative}
.pulse:after{content:"";position:absolute;inset:-2px; border-radius:20px; animation:pulse 2.2s ease-out infinite; border:2px solid rgba(108,92,231,.35)}
@keyframes pulse{0%{opacity:.7; transform:scale(.98)}100%{opacity:0; transform:scale(1.06)}}
.gradient-anim{background:linear-gradient(135deg,#12345a,#133A67,#3b2a78,#6c5ce7); background-size:300% 300%; animation:grad 14s ease infinite}
@keyframes grad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

.reveal{opacity:0; transform:translateY(18px); transition:.7s ease}
.reveal.show{opacity:1; transform:none}

.hero-canvas{position:absolute; inset:0; pointer-events:none; opacity:.25}

.kpibox{background:#0f2340;color:#e0ecff;border-radius:18px;padding:22px}
.kpibox .num{font-size:2rem;font-weight:800}

.svc-detail{background:#0f1730; border:1px solid #223153; border-radius:20px; padding:24px; color:#d8e6ff}
.svc-chip{display:inline-flex;align-items:center;gap:.4rem; padding:.3rem .6rem; border:1px solid #2a4474; background:#0c1a34; border-radius:999px; font-size:.8rem; margin:.15rem}

.pricing{background:radial-gradient(800px 400px at 10% 10%, #122a48 0%, #0f2340 60%, #0b1c30 100%); color:#cfe2ff; border-radius:22px}
.plan{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); border-radius:18px; padding:22px; position:relative}
.plan.featured{background:linear-gradient(180deg, rgba(108,92,231,.18), rgba(255,255,255,.06)); box-shadow:0 16px 40px rgba(108,92,231,.25)}
.plan .price{font-size:2rem; font-weight:800; color:#fff}
.badge-pop{position:absolute; inset:12px auto auto 12px; background:#6c5ce7; color:#fff; padding:.2rem .5rem; border-radius:999px; font-size:.75rem}

.section-dark{background:transparent}


/* ========== توحيد المقاسات لجميع صور الخدمات والقسم التفصيلي والمعرض ========== */

/* متغير ارتفاع موحّد لبطاقات الخدمات (يمكن تغييره من هنا فقط) */
:root{
  --svc-card-height: 260px;    /* Services grid cards */
  --svc-detail-aspect: 16/9;   /* تفاصيل الخدمة */
  --gallery-aspect: 16/9;      /* المعرض */
}

/* بطاقات الخدمات */
.service-card .cover{
  height: var(--svc-card-height);
  border-radius: 18px;
  overflow: hidden;
  padding: 12px;
  display: flex;               /* لضبط تموضع الصورة وسط الإطار */
  align-items: center;
  justify-content: center;
  background: radial-gradient(600px 280px at 10% 10%, #1a2d55 0%, #0f1b34 65%, #0b1426 100%);
}
.service-card .cover img{
  width: 100%;
  height: 100%;
  object-fit: contain;         /* بدون قصّ */
  image-rendering: auto;
}

/* صور قسم التفاصيل */
.svc-detail img{
  width: 100%;
  height: auto;                /* كي لا تتمدّد عموديًا */
  aspect-ratio: var(--svc-detail-aspect);
  object-fit: contain;         /* بدون قصّ */
  background: radial-gradient(600px 280px at 10% 10%, #172a4f 0%, #0d1a33 70%, #0b1426 100%);
  border-radius: 16px;
  padding: 10px;               /* إطار داخلي بسيط لمنع الالتصاق بالحواف */
}

/* صور المعرض */
.gallery img{
  width: 100%;
  height: auto;
  aspect-ratio: var(--gallery-aspect);
  object-fit: contain;         /* توحيد دون قصّ */
  background: radial-gradient(500px 240px at 20% 10%, #172a4f 0%, #0d1a33 70%, transparent 100%);
  border-radius: 16px;
  padding: 8px;
}

/* لتحسين التوافق في متصفحات قديمة لا تدعم aspect-ratio */
@supports not (aspect-ratio: 1/1) {
  .svc-detail img,
  .gallery img{
    height: 100%;
  }
}




/* ====== Portfolio: صور كاملة بلا قصّ (Contain) مع إطار 16:9 ====== */
.portfolio-card .cover{
  position: relative;
  width: 100%;
  /* إطار 16:9 عبر الحيلة الكلاسيكية (تعمل في كل المتصفحات) */
  padding-top: 56.25%; /* 9/16 * 100 */
  border-radius: 16px;
  overflow: hidden;
  background: radial-gradient(600px 280px at 10% 10%, #172a4f 0%, #0d1a33 70%, #0b1426 100%);
  box-shadow: 0 12px 40px rgba(19,58,103,.18);
}

/* تمركز الصورة ومنع القصّ نهائياً */
.portfolio-card .cover > img{
  position: absolute;
  inset: 0;             /* top/right/bottom/left: 0 */
  margin: auto;         /* وسط الإطار */
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;  /* لا قصّ أبداً */
  display: block;
  image-rendering: auto;
  transform: translateZ(0); /* لتنعيم السحب في بعض المتصفحات */
}

/* تأثير لطيف عند التحويم */
.portfolio-card:hover{ transform: translateY(-6px); transition: .25s ease; }
