/* ════════════════════════════════════════
   DESIGN DIRECTION: "Editorial Luxury"
   — ورق أبيض نظيف + حبر غامق + ذهبي حاد
   — لا gradient مبتذل، لا أزرق تقليدي
   — أسلوب المجلات التقنية الراقية
════════════════════════════════════════ */
:root {
  /* Palette — فنون المسلم Brand System */
  --ink:      #0F214A;
  --ink2:     #1E3A8A;
  --ink3:     #2353D8;
  --gold:     #F39C12;
  --gold2:    #F5AB1F;
  --gold3:    #F7C55A;
  --paper:    #F8F9FA;
  --paper2:   #EAF0FF;
  --paper3:   #C7D8FF;
  --green:    #0A7A59;
  --red:      #C0392B;
  --body:     #333333;
  --mid:      #4B5563;
  --soft:     #6B7280;
  --rule:     rgba(35,83,216,.08);
  --rule2:    rgba(255,255,255,.09);

  /* Shadows */
  --s1: 0 2px 12px -3px rgba(15,33,74,.10);
  --s2: 0 8px 32px -8px rgba(15,33,74,.16);
  --s3: 0 24px 60px -16px rgba(15,33,74,.28);
  --sg: 0 8px 28px -6px rgba(243,156,18,.36);

  /* Radii */
  --r1: 8px;  --r2: 14px;  --r3: 22px;  --r4: 32px;
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth; font-size:16px }
body {
  font-family:'Noto Kufi Arabic','Tajawal',sans-serif;
  background:var(--paper);
  color:var(--body);
  line-height:1.78;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit }
img { display:block; max-width:100% }
.w { max-width:1240px; margin:0 auto; padding:0 24px }
h1,h2,h3,h4 { font-family:'Tajawal',sans-serif; font-weight:900; line-height:1.15; letter-spacing:-.025em }

/* ── Reveal ── */
.rv { opacity:0; transform:translateY(22px); transition:opacity .6s cubic-bezier(.2,.7,0,1.1), transform .6s cubic-bezier(.2,.7,0,1.1) }
.rv.on { opacity:1; transform:none }
.rv.d1{transition-delay:.07s} .rv.d2{transition-delay:.14s} .rv.d3{transition-delay:.21s} .rv.d4{transition-delay:.28s}

/* ════════════════════════════════════════
   NAV
════════════════════════════════════════ */
.nav {
  position:fixed; inset:0 0 auto; z-index:900;
  background:#ffffff;
  box-shadow:0 2px 16px -4px rgba(15,33,74,.12);
  transition:all .32s ease;
}
.nav.scrolled {
  background:#ffffff;
  backdrop-filter:none;
  box-shadow:0 2px 20px -4px rgba(15,33,74,.15);
}
.nav-in { display:flex; align-items:center; justify-content:space-between; height:70px }
.logo { display:flex; align-items:center; gap:11px }
.logo-sq {
  width:38px; height:38px; border-radius:9px;
  background:linear-gradient(138deg,var(--gold),var(--gold2));
  display:flex; align-items:center; justify-content:center;
  color:var(--ink); font-family:'Tajawal'; font-weight:900; font-size:18px;
  box-shadow:var(--sg);
}
.logo-txt strong { display:block; color:#fff; font-size:15.5px; font-weight:700; line-height:1.1 }
.logo-txt small { color:rgba(255,255,255,.38); font-size:10.5px }
.nav-links { display:flex; align-items:center; gap:26px; list-style:none }
.nav-links a {
  color:#1E3A8A; font-size:14px; font-weight:600;
  transition:color .2s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-3px; right:0;
  width:0; height:1.5px; background:#2353D8; transition:width .28s;
}
.nav-links a:hover { color:#2353D8 }
.nav-links a:hover::after { width:100% }
.nav-cta {
  background:linear-gradient(130deg,var(--gold),var(--gold2)) !important;
  color:var(--ink) !important; padding:9px 22px; border-radius:var(--r1);
  font-weight:700 !important; box-shadow:var(--sg);
  transition:transform .22s, box-shadow .22s !important;
}
.nav-cta::after { display:none !important }
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 14px 36px -6px rgba(243,156,18,.55) !important }

/* ════════════════════════════════════════
   [1] HERO — اللحظة الأولى
   المشكلة القديمة: Hero بلا H1 واضح، صورة كبيرة بدون نص SEO،
   عنوان "تصميم مواقع جمعيات" في أول ما يراه الزائر!
   الحل: H1 قوي + كلمات مفتاحية رئيسية + أرقام ثقة + CTA فوري
════════════════════════════════════════ */
.hero {
  min-height:100vh;
  background:
    radial-gradient(ellipse 60% 55% at 85% 15%, rgba(243,156,18,.10) 0%, transparent 55%),
    radial-gradient(ellipse 40% 35% at 15% 85%, rgba(35,83,216,.08) 0%, transparent 50%),
    linear-gradient(158deg, var(--ink) 0%, var(--ink2) 55%, var(--ink3) 100%);
  color:var(--paper);
  display:flex; align-items:center;
  padding:140px 0 80px;
  position:relative; overflow:hidden;
}
/* grid lines — editorial feel */
.hero::before {
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:64px 64px;
  pointer-events:none;
}
.hero::after {
  content:'';position:absolute;
  width:800px;height:800px;border-radius:50%;
  background:radial-gradient(circle,rgba(243,156,18,.07) 0%,transparent 65%);
  top:-200px;left:-200px;pointer-events:none;
}
.hero-wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:center; position:relative; z-index:2 }

/* eyebrow badge */
.h-badge {
  display:inline-flex;align-items:center;gap:9px;
  padding:8px 18px;border-radius:100px;
  border:1px solid rgba(243,156,18,.3);
  background:rgba(243,156,18,.07);
  color:var(--gold3);font-size:13px;font-weight:700;
  margin-bottom:24px;
  letter-spacing:.04em;
}
.h-badge-dot {
  width:7px;height:7px;border-radius:50%;
  background:var(--gold2);
  animation:pulse 2.4s ease-in-out infinite;
  box-shadow:0 0 0 3px rgba(243,156,18,.2);
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(243,156,18,.2)}50%{box-shadow:0 0 0 7px rgba(243,156,18,.04)}}

/* H1 — الأهم في الصفحة */
.hero h1 {
  font-size:clamp(36px,4.8vw,66px);
  margin-bottom:22px; line-height:1.06;
}
.hero h1 em {
  font-style:normal; color:var(--gold2);
  border-bottom:3px solid rgba(243,156,18,.35);
  padding-bottom:2px;
}

.hero-sub {
  font-size:17.5px;color:rgba(250,250,248,.72);
  line-height:1.88;margin-bottom:40px;max-width:540px;
}
.hero-sub strong { color:var(--gold3) }

/* Stats */
.hero-nums {
  display:grid;grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r2);
  background:rgba(255,255,255,.03);
  backdrop-filter:blur(12px);
  margin-bottom:38px;overflow:hidden;
}
.hn-cell {
  padding:18px 12px;text-align:center;
  border-left:1px solid rgba(255,255,255,.07);
}
.hn-cell:last-child { border-left:none }
.hn-v { font-size:34px;font-weight:900;font-family:'Tajawal';color:var(--gold3);line-height:1;margin-bottom:4px }
.hn-l { font-size:12px;color:rgba(250,250,248,.48);line-height:1.45 }

/* Buttons */
.btn-row { display:flex;gap:12px;flex-wrap:wrap }
.btn {
  display:inline-flex;align-items:center;gap:9px;
  padding:15px 30px;border-radius:var(--r1);
  font-weight:700;font-size:15px;cursor:pointer;
  font-family:'Tajawal';transition:all .26s cubic-bezier(.2,.7,0,1.2);
  border:none;
}
.btn-gold {
  background:linear-gradient(130deg,var(--gold),var(--gold2));
  color:var(--ink);box-shadow:var(--sg);
}
.btn-gold:hover { transform:translateY(-3px);box-shadow:0 16px 42px -8px rgba(243,156,18,.55) }
.btn-ghost {
  background:transparent;color:var(--paper);
  border:1.5px solid rgba(255,255,255,.2);
}
.btn-ghost:hover { background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.4) }
.arr { width:20px;height:20px;border-radius:50%;background:rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;font-size:11px;transition:transform .22s }
.btn-gold:hover .arr { transform:translateX(-4px) }

/* Hero Visual — browser window mockup */
.hero-vis { position:relative;height:560px;display:flex;align-items:center;justify-content:center }
.browser {
  width:100%;max-width:480px;
  background:var(--paper);border-radius:16px;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);
  overflow:hidden;
  animation:float 8s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-18px) rotate(.6deg)}}
.browser-bar {
  background:#0F214A;padding:12px 16px;
  display:flex;align-items:center;gap:12px;
}
.b-dots { display:flex;gap:6px }
.b-dot { width:11px;height:11px;border-radius:50% }
.b-dot:nth-child(1){background:#FF5F57}
.b-dot:nth-child(2){background:#FFBD2E}
.b-dot:nth-child(3){background:#28C840}
.b-url {
  flex:1;background:rgba(255,255,255,.06);border-radius:6px;
  padding:5px 12px;font-size:11px;color:rgba(255,255,255,.4);
}
.browser-body { padding:24px }
/* mini site preview */
.mini-nav { display:flex;align-items:center;justify-content:space-between;margin-bottom:18px }
.mini-logo { width:80px;height:14px;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:4px }
.mini-links { display:flex;gap:8px }
.mini-link { height:8px;border-radius:4px;background:var(--paper3) }
.mini-hero { background:var(--ink);border-radius:12px;padding:24px 20px;margin-bottom:16px }
.mini-h1 { height:16px;width:70%;background:rgba(255,255,255,.25);border-radius:4px;margin-bottom:10px }
.mini-sub { height:8px;width:90%;background:rgba(255,255,255,.12);border-radius:3px;margin-bottom:6px }
.mini-sub2 { height:8px;width:60%;background:rgba(255,255,255,.12);border-radius:3px;margin-bottom:16px }
.mini-btns { display:flex;gap:8px }
.mini-btn { height:26px;border-radius:6px;background:var(--gold);flex:1 }
.mini-btn2 { height:26px;border-radius:6px;border:1.5px solid rgba(255,255,255,.2);flex:1 }
.mini-cards { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px }
.mini-card { background:var(--paper2);border-radius:8px;padding:12px;border:1px solid var(--rule) }
.mc-icon { width:24px;height:24px;border-radius:6px;background:var(--ink);margin-bottom:8px }
.mc-title { height:8px;width:80%;background:var(--paper3);border-radius:3px;margin-bottom:5px }
.mc-text { height:6px;width:100%;background:var(--paper3);border-radius:3px;opacity:.6 }
.mini-img { height:80px;background:linear-gradient(135deg,var(--ink2),var(--ink3));border-radius:10px }

/* floating chips */
.chip {
  position:absolute;background:white;
  border-radius:var(--r2);padding:11px 15px;
  display:flex;align-items:center;gap:10px;
  box-shadow:var(--s3);
  animation:drift 7s ease-in-out infinite;
}
.chip-a{top:12%;right:-6%;animation-delay:0s}
.chip-b{bottom:18%;left:-8%;animation-delay:3.2s}
.chip-c{top:56%;right:-14%;animation-delay:1.7s}
@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.chip-ico{width:34px;height:34px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;flex-shrink:0}
.ico-g{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--ink)}
.ico-gr{background:linear-gradient(135deg,var(--green),#0A7A59);color:#fff}
.ico-d{background:var(--ink);color:var(--gold3)}
.chip-t small{display:block;font-size:10px;color:var(--soft)}
.chip-t strong{display:block;font-size:13px;color:var(--ink);font-weight:700}

/* ════════════════════════════════════════
   [2] DIAGNOSIS BAR — تشخيص مشاكل الموقع القديم
   (هذا البلوك يُرسّخ الثقة ويُظهر الخبرة — E-E-A-T)
════════════════════════════════════════ */
.diag-bar {
  background:var(--ink);color:var(--paper);
  padding:44px 0;border-bottom:2px solid var(--gold);
}
.diag-inner {
  display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center;
}
.diag-label { display:flex;align-items:center;gap:14px }
.diag-icon {
  width:52px;height:52px;border-radius:14px;
  background:rgba(243,156,18,.12);border:1.5px solid rgba(243,156,18,.25);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;flex-shrink:0;
}
.diag-label-txt strong { display:block;color:var(--gold2);font-size:17px;font-weight:700;margin-bottom:2px }
.diag-label-txt p { color:rgba(250,250,248,.55);font-size:13px }
.diag-facts {
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
.df {
  padding:0 20px;border-left:1px solid rgba(255,255,255,.07);text-align:center;
}
.df:last-child{border-left:none}
.df-n{font-size:36px;font-weight:900;font-family:'Tajawal';color:var(--gold3);line-height:1;margin-bottom:5px}
.df-n span{font-size:18px;color:var(--gold2)}
.df-l{font-size:12px;color:rgba(250,250,248,.45);line-height:1.5}

/* ════════════════════════════════════════
   SECTION UTILS
════════════════════════════════════════ */
.sec{padding:108px 0}
.sec-w{background:#fff}
.sec-p{background:var(--paper)}
.sec-p2{background:linear-gradient(180deg,var(--paper) 0%,var(--paper2) 100%)}
.sec-d{background:var(--ink);color:#fff}

.eyebrow {
  display:inline-flex;align-items:center;gap:8px;
  color:var(--gold);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;margin-bottom:11px;
}
.eyebrow::before{content:'';width:18px;height:2px;background:var(--gold);border-radius:2px}
.hd{margin-bottom:56px}
.hd.c{text-align:center}
.hd.c .eyebrow{justify-content:center}.hd.c .eyebrow::before{display:none}
.hd.c .sec-sub{margin:0 auto}
.sec-title{font-size:clamp(27px,3.3vw,44px);color:var(--ink);margin-bottom:13px}
.sec-title.wh{color:#fff}
.sec-sub{font-size:16.5px;color:var(--mid);line-height:1.88;max-width:640px}
.sec-sub.wh{color:rgba(255,255,255,.58)}

/* ════════════════════════════════════════
   [3] ABOUT — من نحن
   المشكلة القديمة: نص طويل مكرر بدون أرقام ولا بنية
   الحل: فقرتان مركّزتان + أرقام حقيقية + شهادات الموثوقية
════════════════════════════════════════ */
.about-g{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-txt p{font-size:15.5px;color:var(--mid);line-height:1.95;margin-bottom:18px}
.about-txt p strong{color:var(--ink)}
.tick-lst{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.tick{display:flex;gap:13px;align-items:flex-start}
.tick-ic{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:rgba(19,107,77,.1);border:1.5px solid rgba(19,107,77,.22);
  color:var(--green);font-size:11px;font-weight:900;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.tick b{display:block;color:var(--ink);font-size:15px;margin-bottom:2px}
.tick p{color:var(--mid);font-size:13.5px;margin:0;line-height:1.7}

/* trust panel */
.trust-panel{
  background:var(--ink);border-radius:var(--r3);padding:40px;box-shadow:var(--s3);
  position:relative;overflow:hidden;
}
.trust-panel::before{
  content:'';position:absolute;top:-70px;right:-70px;width:220px;height:220px;
  border-radius:50%;background:radial-gradient(circle,rgba(243,156,18,.11),transparent 68%);
}
.tp-head{display:flex;align-items:center;gap:10px;padding-bottom:22px;margin-bottom:30px;border-bottom:1px solid var(--rule2)}
.live{width:8px;height:8px;border-radius:50%;background:#3EDE8C;box-shadow:0 0 0 3px rgba(62,222,140,.2);animation:pulse 2s ease-in-out infinite}
.tp-head span{font-size:13px;color:rgba(255,255,255,.42)}
.tp-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.tp-item .tv{font-size:44px;font-weight:900;font-family:'Tajawal';color:var(--gold3);line-height:1;margin-bottom:6px}
.tp-item .tv sup{font-size:18px;color:var(--gold2)}
.tp-item .tl{font-size:12.5px;color:rgba(255,255,255,.48);line-height:1.5}
.tp-bar{height:2.5px;border-radius:2px;background:rgba(255,255,255,.07);margin-top:10px;overflow:hidden}
.tp-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.cert-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--rule2)}
.cert{padding:5px 13px;border-radius:100px;border:1px solid rgba(255,255,255,.1);font-size:11.5px;color:rgba(255,255,255,.55);font-weight:600}

/* ════════════════════════════════════════
   [4] PROBLEMS — تشخيص مشاكل موقع العميل
   (بلوك E-E-A-T قوي جداً — نُظهر خبرتنا بتشخيص واقعي)
   المشكلة القديمة: لا يوجد مثل هذا القسم
════════════════════════════════════════ */
.prob-sec{
  background:var(--paper2);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  padding:90px 0;
}
.prob-intro{text-align:center;margin-bottom:52px}
.prob-intro h2{font-size:clamp(26px,3vw,40px);color:var(--ink);margin-bottom:12px}
.prob-intro p{font-size:16px;color:var(--mid);max-width:620px;margin:0 auto}

.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:36px}
.prob-card{
  background:#fff;border-radius:var(--r2);padding:28px 24px;
  border:1px solid var(--rule);
  position:relative;overflow:hidden;
}
.prob-card::before{
  content:'';position:absolute;top:0;right:0;
  width:3px;height:100%;background:var(--red);
}
.prob-num{
  position:absolute;top:20px;left:20px;
  font-size:42px;font-weight:900;font-family:'Tajawal';
  color:rgba(181,48,48,.07);line-height:1;
}
.prob-ic{
  width:44px;height:44px;border-radius:11px;
  background:rgba(181,48,48,.07);border:1.5px solid rgba(181,48,48,.15);
  display:flex;align-items:center;justify-content:center;
  color:var(--red);font-size:18px;margin-bottom:16px;
}
.prob-card h3{font-size:17px;color:var(--ink);margin-bottom:8px}
.prob-card p{font-size:13.5px;color:var(--mid);line-height:1.75}
.prob-sol{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:12px;font-size:12.5px;color:var(--green);font-weight:700;
  background:rgba(19,107,77,.07);padding:5px 12px;border-radius:100px;
  border:1px solid rgba(19,107,77,.15);
}

/* ════════════════════════════════════════
   [5] SERVICES
   المشكلة القديمة: 4 خدمات بنص مكرر وأيقونات صور ثقيلة
   الحل: 6 خدمات واضحة + كلمات مفتاحية متنوعة + نص حقيقي
════════════════════════════════════════ */
.srv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sc{
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r2);
  padding:34px 26px 26px;position:relative;overflow:hidden;
  transition:all .34s cubic-bezier(.2,.7,0,1.2);cursor:default;
}
.sc::after{
  content:'';position:absolute;top:0;right:0;
  width:100%;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold2));
  transform:scaleX(0);transform-origin:right;
  transition:transform .38s cubic-bezier(.2,.7,0,1.2);
}
.sc:hover{background:#fff;transform:translateY(-9px);box-shadow:var(--s2);border-color:transparent}
.sc:hover::after{transform:scaleX(1)}
.sc-n{position:absolute;top:18px;left:22px;font-size:11.5px;font-weight:700;color:var(--paper3);font-family:'Tajawal'}
.sc-ico{
  width:52px;height:52px;border-radius:12px;background:var(--ink);
  color:var(--gold2);font-size:19px;font-weight:900;font-family:'Tajawal';
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  box-shadow:0 6px 16px -4px rgba(12,15,26,.26);
}
.sc h3{font-size:18.5px;color:var(--ink);margin-bottom:8px}
.sc p{font-size:13.5px;color:var(--mid);line-height:1.82;margin-bottom:18px}
.sc-lnk{color:var(--gold);font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:gap .28s}
.sc:hover .sc-lnk{gap:12px}

/* ════════════════════════════════════════
   [6] WHY US — لماذا نحن
   المشكلة القديمة: قائمة نقطية بدون عمق ولا أرقام
════════════════════════════════════════ */
.why-g{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.wc{
  background:#fff;border:1px solid var(--rule);border-radius:var(--r2);
  padding:34px 28px;display:flex;gap:18px;align-items:flex-start;
  transition:all .3s;
}
.wc:hover{transform:translateY(-5px);box-shadow:var(--s2);border-color:rgba(243,156,18,.18)}
.wc-n{
  flex-shrink:0;width:48px;height:48px;border-radius:11px;
  background:var(--ink);color:var(--gold3);font-size:18px;font-weight:900;
  font-family:'Tajawal';display:flex;align-items:center;justify-content:center;
}
.wc h3{font-size:17.5px;color:var(--ink);margin-bottom:6px}
.wc p{font-size:13.5px;color:var(--mid);line-height:1.82}
.wc p strong{color:var(--ink)}

/* ════════════════════════════════════════
   [7] PORTFOLIO — الأعمال
   المشكلة القديمة: صور فقط بدون وصف SEO ولا case studies
   الحل: بطاقات بوصف + نوع الموقع + التقنية المستخدمة
════════════════════════════════════════ */
.port-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pc{border-radius:var(--r3);overflow:hidden;border:1px solid var(--rule);transition:all .38s cubic-bezier(.2,.7,0,1.2)}
.pc:hover{transform:translateY(-10px);box-shadow:var(--s3);border-color:transparent}
.pc-img{height:200px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.pc-bg{position:absolute;inset:0;transition:transform .5s ease}
.pc:hover .pc-bg{transform:scale(1.06)}
.bg-a{background:linear-gradient(140deg,var(--ink) 0%,#1E2A4A 100%)}
.bg-b{background:linear-gradient(140deg,#5A3800 0%,var(--gold) 100%)}
.bg-c{background:linear-gradient(140deg,#0D3D2A 0%,var(--green) 100%)}
.bg-d{background:linear-gradient(140deg,#3A0D3A 0%,#8B2E8B 100%)}
.bg-e{background:linear-gradient(140deg,#1A0D00 0%,#8B4513 100%)}
.bg-f{background:linear-gradient(140deg,#001A3A 0%,#1A5276 100%)}
.pc-letter{position:relative;z-index:2;font-size:64px;font-weight:900;font-family:'Tajawal';opacity:.75}
.pc-over{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.3),transparent 55%);z-index:1}
.pc-tags{position:absolute;bottom:10px;right:10px;z-index:3;display:flex;gap:5px}
.pt{font-size:10.5px;padding:3px 9px;border-radius:100px;background:rgba(255,255,255,.13);backdrop-filter:blur(6px);color:#fff;font-weight:600;border:1px solid rgba(255,255,255,.18)}
.pc-body{padding:22px 22px 16px;background:var(--paper)}
.pc-body h3{font-size:17px;color:var(--ink);margin-bottom:6px}
.pc-body>p{font-size:13px;color:var(--mid);line-height:1.75;margin-bottom:14px}
.pc-facts{display:flex;flex-direction:column;gap:7px;padding-top:14px;border-top:1px solid var(--rule)}
.pf{display:flex;align-items:center;gap:8px;font-size:13px}
.pf-ic{width:20px;height:20px;border-radius:5px;background:rgba(243,156,18,.1);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:10px;flex-shrink:0}
.pf span{color:var(--mid)}.pf strong{color:var(--ink)}

/* ════════════════════════════════════════
   [8] PROCESS — مراحل العمل
   المشكلة القديمة: 6 مراحل بأيقونات ثقيلة وأرقام منفصلة
   الحل: 5 خطوات في dark section مع وصف عملي
════════════════════════════════════════ */
.proc-g{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;position:relative;margin-top:60px}
.proc-line{position:absolute;top:42px;right:9%;left:9%;height:1px;background:linear-gradient(90deg,transparent,rgba(243,156,18,.35),rgba(243,156,18,.35),transparent);z-index:1}
.step{position:relative;z-index:2;text-align:center;padding:0 6px}
.step-ring{width:84px;height:84px;border-radius:50%;background:var(--ink2);border:2px solid rgba(243,156,18,.26);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:all .3s}
.step:hover .step-ring{border-color:var(--gold2);box-shadow:0 0 0 8px rgba(243,156,18,.07)}
.step-n{font-size:26px;font-weight:900;color:var(--gold3);font-family:'Tajawal'}
.step h3{font-size:15.5px;color:#fff;margin-bottom:7px;font-weight:700}
.step p{font-size:12.5px;color:rgba(255,255,255,.48);line-height:1.72}

/* ════════════════════════════════════════
   [9] PRICING — باقات الأسعار
   المشكلة القديمة: لا يوجد عرض واضح للأسعار في الصفحة الرئيسية
   (Google يكافئ الشفافية في الأسعار — E-E-A-T)
════════════════════════════════════════ */
.price-g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.price-card{
  background:var(--paper);border:1.5px solid var(--rule);
  border-radius:var(--r3);padding:36px 28px;
  position:relative;overflow:hidden;transition:all .34s;
}
.price-card.featured{
  background:var(--ink);border-color:var(--gold);
  color:#fff;transform:scale(1.03);
  box-shadow:var(--s3);
}
.price-card:not(.featured):hover{transform:translateY(-6px);box-shadow:var(--s2)}
.price-best{
  position:absolute;top:18px;left:18px;
  background:var(--gold);color:var(--ink);
  font-size:11px;font-weight:700;padding:4px 11px;border-radius:100px;
}
.price-type{font-size:13px;font-weight:700;color:var(--gold);margin-bottom:8px;letter-spacing:.06em;text-transform:uppercase}
.price-name{font-size:22px;font-weight:900;color:var(--ink);margin-bottom:16px}
.featured .price-name{color:#fff}
.price-amount{margin-bottom:22px}
.price-amount .from{font-size:12px;color:var(--mid);display:block;margin-bottom:2px}
.featured .price-amount .from{color:rgba(255,255,255,.5)}
.price-amount .val{font-size:42px;font-weight:900;font-family:'Tajawal';color:var(--ink);line-height:1}
.featured .price-amount .val{color:var(--gold3)}
.price-amount .cur{font-size:18px;color:var(--mid)}
.featured .price-amount .cur{color:var(--gold2)}
.price-items{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.price-items li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--body)}
.featured .price-items li{color:rgba(255,255,255,.78)}
.price-items li::before{content:'✓';color:var(--green);font-weight:900;font-size:13px;flex-shrink:0}
.featured .price-items li::before{color:var(--gold2)}
.price-cta{
  display:block;text-align:center;padding:13px;border-radius:var(--r1);
  font-weight:700;font-size:15px;transition:all .24s;
  background:var(--paper2);border:1.5px solid var(--rule);color:var(--ink);
}
.price-cta:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.featured .price-cta{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.featured .price-cta:hover{background:var(--gold2);box-shadow:var(--sg)}

/* ════════════════════════════════════════
   [10] TESTIMONIALS
════════════════════════════════════════ */
.tst-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tst{
  background:var(--paper);border:1px solid var(--rule);border-radius:var(--r2);
  padding:30px 26px 24px;position:relative;transition:all .3s;
}
.tst:hover{transform:translateY(-5px);box-shadow:var(--s2);background:#fff}
.tst-qm{
  position:absolute;top:-15px;right:22px;width:42px;height:42px;border-radius:10px;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  display:flex;align-items:center;justify-content:center;
  color:var(--ink);font-size:26px;font-family:Georgia,serif;font-weight:900;line-height:.9;
  box-shadow:var(--sg);
}
.stars{color:var(--gold);font-size:15px;letter-spacing:2px;margin:12px 0 14px}
.tst-txt{font-size:14.5px;color:var(--body);line-height:1.9;font-style:italic;margin-bottom:20px}
.tst-aut{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--rule)}
.av{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--gold3);font-size:16px;font-weight:900;font-family:'Tajawal';display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--paper3)}
.an{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.ar{font-size:12px;color:var(--soft)}

/* ════════════════════════════════════════
   [11] FAQ
   المشكلة القديمة: أسئلة بدون Schema ولا إجابات تفصيلية
════════════════════════════════════════ */
.faq-col{max-width:820px;margin:52px auto 0}
.fi{border-radius:var(--r1);margin-bottom:11px;border:1px solid var(--rule);background:var(--paper);overflow:hidden;transition:border-color .25s}
.fi:hover{border-color:rgba(243,156,18,.28)}
.fi.open{border-color:rgba(243,156,18,.4);background:#fff}
.fq{display:flex;justify-content:space-between;align-items:center;padding:19px 24px;cursor:pointer;font-size:15.5px;font-weight:700;color:var(--ink);user-select:none;gap:14px}
.fq-ico{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--paper2);border:1.5px solid var(--rule);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:14px;font-weight:900;transition:all .28s}
.fi.open .fq-ico{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:rotate(45deg)}
.fa{max-height:0;overflow:hidden;transition:max-height .4s ease}
.fi.open .fa{max-height:600px}
.fa-in{padding:0 24px 22px;font-size:14.5px;color:var(--mid);line-height:1.92}
.fa-in strong{color:var(--ink)}
.fa-in ul{margin-top:10px;display:flex;flex-direction:column;gap:7px;list-style:none}
.fa-in ul li{display:flex;gap:9px;align-items:baseline}
.fa-in ul li::before{content:'◆';color:var(--gold);font-size:7px;flex-shrink:0;line-height:2.2}

/* ════════════════════════════════════════
   [12] CTA FINAL
════════════════════════════════════════ */
.cta-final{
  padding:96px 0;
  background:
    radial-gradient(ellipse 50% 60% at 50% 50%,rgba(243,156,18,.11) 0%,transparent 65%),
    linear-gradient(148deg,var(--ink) 0%,var(--ink3) 100%);
  text-align:center;color:#fff;position:relative;overflow:hidden;
}
.cta-final::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:56px 56px}
.cta-final>*{position:relative;z-index:2}
.cta-seal{display:inline-flex;align-items:center;gap:9px;background:rgba(243,156,18,.09);border:1px solid rgba(243,156,18,.28);color:var(--gold3);padding:8px 18px;border-radius:100px;font-size:12.5px;font-weight:600;margin-bottom:24px}
.cta-final h2{font-size:clamp(28px,3.8vw,52px);color:#fff;margin-bottom:18px}
.cta-final h2 em{font-style:normal;color:var(--gold2)}
.cta-final>p{font-size:17px;color:rgba(250,250,248,.66);margin-bottom:34px;max-width:570px;margin-left:auto;margin-right:auto}
.cta-meta{display:flex;justify-content:center;gap:30px;margin-top:34px;flex-wrap:wrap}
.cta-m{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(255,255,255,.5)}
.cta-m strong{color:#fff}

/* ════ FOOTER ════ */
footer{background:#ffffff;color:#4B5563;padding:56px 0 0;border-top:3px solid #2353D8}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid var(--rule2)}
.ft-logo-r{display:flex;align-items:center;gap:11px;margin-bottom:16px}
.ft-gem{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,var(--gold),var(--gold2));display:flex;align-items:center;justify-content:center;color:var(--ink);font-weight:900;font-size:16px;font-family:'Tajawal'}
.ft-nm strong{display:block;color:#fff;font-size:14.5px}
.ft-nm small{font-size:10.5px;opacity:.38}
.ft-about{font-size:13px;line-height:1.85;margin-bottom:16px;max-width:280px;color:#334155}
.soc-r{display:flex;gap:8px}
.soc{width:32px;height:32px;border-radius:7px;background:#EAF0FF;border:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;transition:all .22s;cursor:pointer;color:rgba(255,255,255,.45)}
.soc:hover{background:#2353D8;color:#fff;border-color:#2353D8}
.ft-col h4{color:#0F214A;font-size:13.5px;margin-bottom:14px;font-weight:800;padding-bottom:8px;border-bottom:2px solid #EAF0FF}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.ft-col ul a{font-size:13px;color:#334155;font-weight:500;transition:color .2s}
.ft-col ul a:hover{color:#2353D8}
.ft-bottom{padding:18px 0;display:flex;justify-content:space-between;font-size:12px;flex-wrap:wrap;gap:10px;color:#475569;border-top:1px solid #E2E8F0}

/* WA sticky */
.wa{position:fixed;bottom:24px;left:24px;z-index:800;width:54px;height:54px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 28px -4px rgba(37,211,102,.5);transition:transform .28s;animation:wap 3.2s ease-in-out infinite}
.wa:hover{transform:scale(1.1)}
@keyframes wap{0%,100%{box-shadow:0 6px 28px -4px rgba(37,211,102,.5)}50%{box-shadow:0 6px 40px 0 rgba(37,211,102,.28),0 0 0 10px rgba(37,211,102,.05)}}

/* ════ RESPONSIVE ════ */
@media(max-width:1024px){
  .hero-wrap,.about-g{grid-template-columns:1fr;gap:0}
  .hero-vis{display:none}
  .hero{min-height:auto;padding:130px 0 80px}
  .diag-inner{grid-template-columns:1fr}
  .diag-facts{grid-template-columns:repeat(2,1fr);gap:0}
  .df{padding:16px;border-bottom:1px solid rgba(255,255,255,.06)}
  .df:nth-child(2n){border-left:none}
  .prob-grid,.srv-g,.port-g,.tst-g{grid-template-columns:repeat(2,1fr)}
  .proc-g{grid-template-columns:repeat(2,1fr);gap:28px}
  .proc-line{display:none}
  .price-g{grid-template-columns:1fr}
  .price-card.featured{transform:none}
  .why-g{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr 1fr;gap:28px}
  .tp-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .w{padding:0 16px}
  .hero{padding:115px 0 65px}
  .hero-nums{grid-template-columns:1fr}
  .hn-cell{border-left:none;border-bottom:1px solid rgba(255,255,255,.07)}
  .hn-cell:last-child{border-bottom:none}
  .btn-row{flex-direction:column}
  .prob-grid,.srv-g,.port-g,.tst-g{grid-template-columns:1fr}
  .proc-g{grid-template-columns:1fr}
  .why-g{grid-template-columns:1fr}
  .ft-g{grid-template-columns:1fr}
  .cta-meta{flex-direction:column;gap:14px}
  .nav-links{display:none}
}

/* Al-Tawil portfolio screenshot hover */
.pc-img img { transition: transform .5s ease }
.pc:hover .pc-img img { transform: scale(1.05) }

/* ── Offer banner ── */
.offer-sec{padding:28px 0 8px}
.offer-banner{display:block;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(35,83,216,.12);transition:transform .25s,box-shadow .25s;line-height:0}
.offer-banner:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(35,83,216,.18)}
.offer-banner img{width:100%;height:auto;display:block}
@media(max-width:700px){.offer-sec{padding:20px 0 4px}.offer-banner{border-radius:12px}}
