/* =========================================================
   Base / Reset
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Almarai:wght@400;700;800&display=swap');

*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0;
  font-family:"Almarai", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#f3f6ff;
  background:linear-gradient(135deg, #f1f1f1 0%, #375899 45%) fixed;
  background-size:cover;
}
a{ color:inherit; text-decoration:none }
img{ display:block; max-width:100%; height:auto }
.container{ width:min(100% - 32px, 1120px); margin-inline:auto }
.brand .logo{ height:80px; width:auto; display:block }

/* Utilities */
.text-dark{ color:#ffffff }
.text-muted-dark{ color:#6f6b78 }
.text-light{ color:#f3f6ff }
.text-muted-light{ color:rgba(255,255,255,.85) }

/* Buttons */
.btn{
  background:#3b8ecd; color:#fff; border:0;
  padding:8px 13px; border-radius:999px;
  font-weight:700; cursor:pointer; font-family:"Almarai", sans-serif;
  transition: filter .18s ease, transform .18s ease;
}
.btn:hover{ filter:brightness(1.05); transform: translateY(-1px) }
.btn.secondary{ background:#4e3790; color:#fff }

/* =========================================================
   Navbar — glassy, pill menu (RTL)
   ========================================================= */
.nav{
  position:sticky; top:0; z-index:1000;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.4);
  transition: background .2s ease, box-shadow .2s ease, border-color .2s ease;
  color:#232343;
}
.nav-inner{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px;
  padding:10px 0;
}
.brand .logo{ height:60px }

/* Pill menu centered */
.menu{
  justify-self:center;
  display:flex; align-items:center; gap:6px;
  background:#f8f8ff; border:1px solid #ece8ff;
  border-radius:999px; padding:6px;
}
.menu a{
  padding:8px 14px; border-radius:999px; font-weight:800; font-size:15px;
  color:#4e3790;
  transition: background .15s, color .15s, transform .12s;
}
.menu a:hover, .menu a.active{ background:#8e53ee; color:#fff; transform:translateY(-1px) }

/* CTA / hamb */
.nav-cta{ display:flex; gap:10px; align-items:center }
.nav-cta .btn.secondary{
  padding:10px 16px; border-radius:12px;
  background: linear-gradient(90deg,#8e53ee,#4e3790);
}
.hamb{
  display:none; width:42px; height:42px; border-radius:50%;
  border:1px solid #e8e2ff; background:#fff; cursor:pointer; font-size:20px;
  align-items:center; justify-content:center;
}

/* Drawer (transitioned, no display:none) */
.drawer{
  position: fixed; inset: 66px 0 0 0;
  background: rgba(255,255,255,.98);
  backdrop-filter: blur(8px);
  border:0; box-shadow: 0 8px 24px rgba(0,0,0,.08);
  opacity: 0; transform: translateY(-8px);
  pointer-events: none;
  transition: opacity .28s ease, transform .28s ease;
  z-index: 999; color:#1d1b22;
}
.drawer .container{ display:grid; gap:10px; padding:18px 0 24px }
.drawer a{
  padding:12px 16px; border-radius:14px; border:1px solid #eee;
  background:#fff; font-weight:800; font-size:18px; text-align:center;
}
.drawer.show{ opacity:1; transform:none; pointer-events:auto }

/* Nav responsive */
@media (max-width: 992px){
  .menu{ display:none }
  .hamb{ display:flex }
  .brand .logo{ height:52px }
}

/* =========================================================
   Hero
   ========================================================= */
.hero{ padding:34px 0 24px }
.hero-card{
  border-radius:28px;
  padding:clamp(18px, 3.5vw, 42px);
  backdrop-filter:saturate(180%) blur(10px);
  background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.55));
  display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(18px, 3vw, 38px);
  align-items:center; overflow:hidden; position:relative; isolation:isolate;
}
.hero h1{
  font-size:clamp(28px, 3.6vw, 46px); line-height:1.25;
  margin:0 0 clamp(12px, 2.2vw, 24px);
  font-weight:900; letter-spacing:.2px; color:#2777b9;
}
.hero p.lead{ color:rgba(255,255,255,.85); margin:10px 0 18px; font-size:clamp(14px, 1.3vw, 18px) }
.hero .actions{ display:flex; gap:12px; flex-wrap:wrap; margin-top:clamp(12px, 2.2vw, 24px) }

.hero-art{ position:relative; aspect-ratio:1/1; display:grid; place-items:center }
.person{ position:relative; z-index:1; width:88%; object-fit:cover; border-radius:22px }
.badge{
  position:absolute; inset:auto auto 16px 16px; display:flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px; background:#fff;
  font-weight:700; font-size:13px; color:#1d1b22;
}
.badge.right{ left:auto; right:16px; bottom:auto; top:16px }
@media (max-width:640px){
  .hero-art{ margin-top:12px }
  .badge{ inset:auto auto 10px 10px }
  .badge.right{ right:40px; top:10px }
}

/* =========================================================
   Logos
   ========================================================= */
.logos{
  margin:18px 0 26px; padding:12px 0; border-radius:22px;
  background:rgba(255,255,255,.55);
  backdrop-filter:saturate(180%) blur(10px);
  color:#1d1b22;
}
.logos .row{
  display:grid; grid-template-columns:repeat(6,1fr);
  gap:10px; align-items:center; text-align:center; font-weight:700; opacity:.95
}
.logo-pill{ margin-inline:auto; background:#fff; border-radius:999px; border:1px dashed #e9d9ff; padding:8px 14px; width:min(160px, 90%) }

/* =========================================================
   Search
   ========================================================= */
.search-section{ padding:24px 0 10px }
.search-card{
  background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.55));
  backdrop-filter:saturate(180%) blur(10px);
  border-radius:22px; padding:22px;
  display:grid; gap:14px; justify-items:center; text-align:center; color:#1d1b22;
}
.search{
  width:100%; max-width:680px;
  display:grid; grid-template-columns:1fr auto; gap:10px;
  background:#fff; padding:8px; border-radius:999px;
  box-shadow:inset 0 0 0 1px #f1e8ff;
}
.search input{
  border:0; outline:0; padding:12px 16px;
  font-family:inherit; font-size:16px; border-radius:999px; color:#1d1b22;
}
.results-grid{
  display:grid; gap:16px;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  margin-top:18px;
}
.result-card{
  border:1px solid #eee; border-radius:14px; padding:14px;
  background:#fff; color:#1d1b22;
  transition: transform .2s ease, box-shadow .2s ease;
}
.result-card:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,.08) }
.result-card .thumb{
  width:100%; height:140px; border-radius:10px; background-size:cover; background-position:center; margin-bottom:10px;
}
/* مسافة إضافية بين مربع البحث وقسم من نحن */
.search-card {
  margin-bottom: 40px; /* عدّل الرقم حسب ما يناسب التصميم */
}


/* =========================================================
   ABOUT (من نحن) — ثابت تمامًا وبدون أنيميشن
   ========================================================= */
/* الحاوية: عمودان متساويان، نفس الارتفاع */
#about.two-col{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:20px;
  align-items:stretch;
}
#about.two-col > *{ min-width:0 }

/* صندوق الصور: شبكة 2×2 + قصّ داخلي + منع أي تسرّب */
#about .photo-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.62));
  border:1px solid rgba(255,255,255,.35);
  border-radius:22px;
  padding:16px;
  overflow:hidden;         /* يمنع التداخل */
  height:100%;
}

/* البلاطات: مربعات مضبوطة */
#about .photo{
  position:relative;
  aspect-ratio:1 / 1;      /* مربّع ثابت */
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.05);
}

/* الصور: تغطية تامة، بدون أي حركة */
#about .photo img{
  width:100%; height:100%; display:block;
  object-fit:cover; object-position:center;
  animation:none !important; transform:none !important; transition:none !important;
}

/* تعطيل أي reveal داخل القسم */
#about .reveal{ opacity:1 !important; transform:none !important; }

/* تعطيل أي حركة عامة على شبكات الصور في الموقع (احتياطي) */
.photo-grid .photo img{ animation:none !important; transform:none !important; }

/* عمود النص: يساوي ارتفاع عمود الصور */
#about .feature-list{
  display:flex; flex-direction:column; gap:14px;
  height:100%;
  background:#4a4b9e;
  border-radius:22px;
  padding:22px 22px 16px;
  color:#fff;
  box-shadow:0 10px 24px rgba(59,142,205,.12);
}
#about .feature-list h3{
  margin:6px 0 10px; font-weight:800; font-size:42px; line-height:1.15;
}
#about .about-intro{
  margin:6px 0 8px; padding:12px 14px;
  line-height:1.95; font-size:16.5px; color:#fff;
  text-align:justify; text-wrap:pretty;
}
#about .about-intro strong{
  background:#ede7fa; color:#4e3790; border-radius:8px; padding:0 6px; font-weight:900;
}
#about .bullet{ display:flex; align-items:flex-start; gap:16px; padding:8px 6px }
#about .bullet .icon{
  width:36px; height:36px; border-radius:12px;
  display:grid; place-items:center; color:#fff; font-weight:900;
  background:linear-gradient(135deg, #4b4499, #3c8aca);
}
#about .bullet p{ margin:2px 0 0; color:#e7e7ee }

/* استجابة قسم من نحن */
@media (max-width:992px){
  #about.two-col{ grid-template-columns:1fr }
  #about .photo-grid{ margin-bottom:10px }
  #about .feature-list h3{ font-size:34px }
}
@media (max-width:640px){
  #about .feature-list{ padding:16px 14px; gap:10px }
  #about .feature-list h3{ font-size:28px }
  #about .about-intro{ padding:10px 12px; font-size:15.5px }
}

/* =========================================================
   Section Headings
   ========================================================= */
.section{ margin:34px 0 }
.section h2{
  text-align:center; margin:0 0 8px; font-size:45px;
  color:#f3f6ff; font-family:"Almarai",sans-serif
}
.section p.sub{ text-align:center; color:rgba(255,255,255,.85); margin:0 0 18px }

/* =========================================================
   Cards (Services)
   ========================================================= */
.cards{
  display:grid; gap:24px; grid-template-columns:repeat(4, 1fr);
  padding-block:20px; grid-auto-rows:1fr;
}
@media (max-width:1200px){ .cards{ grid-template-columns:repeat(4,1fr) } }
@media (max-width:900px){  .cards{ grid-template-columns:repeat(3,1fr) } }
@media (max-width:600px){  .cards{ grid-template-columns:repeat(2,1fr) } }

.card{
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0.6));
  backdrop-filter: saturate(180%) blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 20px;
  overflow: hidden;
  display:flex; flex-direction:column;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transition: transform .3s ease, box-shadow .3s ease;
  color:#1d1b22;
}
.card:hover{ transform: translateY(-6px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) }
.card .thumb{ aspect-ratio:4/3; background:#f0f0f0; background-size:cover; background-position:center }
.card .body{ padding:16px 20px 20px; display:flex; flex-direction:column; gap:10px; flex-grow:1 }
.card h4{
  margin:0; font-size:18px; font-weight:800; color:#4b4499;
  text-shadow:0 1px 2px rgba(255,255,255,.5);
  line-height:1.35; min-height:2.7em;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.card p{ font-size:14px; color:#4d4a5f; line-height:1.6 }
.pill{
  background:#f3e9ff; color:#6b47d6; border-radius:999px;
  padding:4px 12px; font-size:12px; font-weight:800; align-self:flex-start;
}
.card .ajax-btn{
  margin-top:auto; padding:10px 14px; background:#4a4b9e; color:#fff;
  border:none; border-radius:12px; cursor:pointer; font-weight:600;
  transition: background .2s ease;
}
.card .ajax-btn:hover{ background:#3c8bcb }

/* =========================================================
   CTA
   ========================================================= */
.cta{
  display:grid; gap:20px; grid-template-columns:1.1fr .9fr; align-items:center;
  padding:clamp(18px, 3.5vw, 42px);
  background:linear-gradient(180deg, rgba(255,255,255,.8), rgba(255,255,255,.55));
  border-radius:28px; margin:40px auto; color:#1d1b22;
}
.cta .art{ position:relative; aspect-ratio:1/1; display:grid; place-items:center }
@media (max-width:768px){ .cta{ margin-bottom:28px } }

/* =========================================================
   Footer
   ========================================================= */
.footer {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding: 20px 0 20px;
  color: #1d1b22;
}

.footer-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  gap: 20px;
}

.footer-section {
  flex: 1;
  min-width: 200px;
}

.footer-right {
  text-align: right;
}

.footer-center {
  text-align: center;
}

.footer-left {
  text-align: left;
}

.footer-logo {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.footer-logo img {
  max-width: 70px;
  height: auto;
}

.footer .social {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 0;
  margin: 6px 0 18px;
}

.footer .social a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f5f7fb;
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: background 0.2s ease, transform 0.15s ease;
}

.footer .social a:hover {
  background: #eef5ff;
  border-color: #d6e6f7;
  transform: translateY(-2px);
}

.footer .social svg {
  width: 22px;
  height: 22px;
  fill: #3b8ecd;
}

.footer small {
  display: block;
  opacity: 0.8;
  color: #6f6b78;
  margin-top: 8px;
}

@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    text-align: center;
  }

  .footer-right,
  .footer-center,
  .footer-left {
    text-align: center;
    justify-content: center;
  }

  .footer-logo {
    justify-content: center;
  }

  .footer .social {
    justify-content: center;
  }
}



/* =========================================================
   Responsive (layout-wide)
   ========================================================= */
@media (max-width: 992px){
  .hero-card, .cta{ grid-template-columns:1fr }
  .logos .row{ grid-template-columns:repeat(3,1fr) }
  .cards{ grid-template-columns:repeat(2,1fr) }
  #about.two-col{ grid-template-columns: 1fr; }
  #about .photo-grid{ margin-bottom: 10px; }
}
@media (max-width: 640px){
  .menu{ display:none }
  .hamb{ display:block }
  .cards{ grid-template-columns:1fr }
  .hero h1{ font-size:26px }
  .logos .row{ grid-template-columns:repeat(2,1fr) }
  .badge{ transform:scale(.95) }
}

/* =========================================================
   Accordion — Attractive Card Style (RTL)
   ========================================================= */
.accordion{ display:grid; gap:16px; width:100%; max-width:920px; margin:10px auto 0 }
.acc-item{
  background:#fff; border:1px solid #ece8ff; border-radius:20px; overflow:hidden;
  box-shadow:0 6px 24px rgba(78,55,144,.08);
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.acc-item:hover{ box-shadow:0 10px 34px rgba(59,142,205,.16); transform: translateY(-2px) }
.acc-trigger{ all:unset; display:flex; align-items:center; gap:12px; width:100%; cursor:pointer; padding:14px 16px; box-sizing:border-box }
.acc-trigger .pill{
  background:#ede7fa; color:#4e3790; border:1px solid #e3dbfb;
  border-radius:999px; padding:6px 14px; font-size:12.5px; font-weight:800;
}
.acc-title{ font-weight:900; font-size:20px; letter-spacing:.2px; color:#232343 }
.chev{ margin-inline-start:auto; width:14px; height:8px; fill:none; stroke:#7a67c7; stroke-width:1.2; transition: transform .28s ease, stroke .18s }
.acc-trigger:hover .chev{ stroke:#4e3790 }
.acc-trigger[aria-expanded="true"] .chev{ transform: rotate(180deg) }
.acc-trigger[aria-expanded="true"] .pill{ background:#8e53ee; color:#fff; border-color:#8e53ee }

/* لوحة الأكورديون: JS يضبط max-height — hidden فعلي */
.acc-panel{ background:#fff; overflow:hidden; transition:max-height .42s cubic-bezier(.4,1.1,.62,.98), padding .24s ease }
.acc-panel[hidden]{ display:none }
.acc-body{ display:grid; gap:10px; padding:12px 16px 16px }
.acc-body .thumb.slim{ height:2px; border-radius:999px; background:#ece8ff; margin:2px 0 10px }
.acc-body p{ margin:0; line-height:1.95; color:#5a5666; font-size:15.5px }
.acc-body .goals{ margin:6px 0 0; padding:0 18px 10px 0; line-height:1.9; color:#5a5666 }
.acc-body .goals li{ margin:.25em 0 }
@media (min-width: 992px){
  .accordion{ grid-template-columns: repeat(3, 1fr); gap:12px; max-width:1120px }
  .acc-item{ border-radius:16px }
}
@media (max-width: 640px){
  .accordion{ max-width: 92vw }
  .acc-title{ font-size:15px }
  .acc-trigger{ padding:8px 10px }
}

/* =========================================================
   Animations (محدودة)
   ========================================================= */
/* ظهور تدريجي عام */
.reveal{
  opacity:0; transform:translateY(24px);
  transition:opacity .6s ease, transform .6s ease; will-change:opacity, transform;
}
.reveal.in{ opacity:1; transform:none }
.reveal.fade-right{ transform:translateX(24px) }
.reveal.fade-left { transform:translateX(-24px) }
.reveal.scale     { transform:scale(.96) }

/* Drawer transition */
.drawer{ opacity:0; transform:translateY(-6px); transition: opacity .28s ease, transform .28s ease }
.drawer.show{ opacity:1; transform:none }

/* حركات لطيفة (أُبقيت في الهيرو/الكروت فقط) */
@keyframes floatY { 0%{transform:translateY(0)} 50%{transform:translateY(-8px)} 100%{transform:translateY(0)} }
.hero .person { animation: floatY 6s ease-in-out infinite }
.badge { animation: floatY 5.5s ease-in-out infinite alternate }

/* Ken Burns العام — أوقفناه في #about */
@keyframes kenburns { 0%{transform:scale(1) translate(0,0)} 50%{transform:scale(1.08) translate(-2%,-2%)} 100%{transform:scale(1) translate(0,0)} }
.photo-grid .photo img { animation: kenburns 12s ease-in-out infinite; will-change: transform }
/* تعطيل تمامًا داخل قسم من نحن */
#about .photo-grid .photo img { animation:none !important; transform:none !important }

/* تنفّس للكروت */
@keyframes breathe {
  0%,100% { transform: translateY(0); box-shadow: 0 6px 20px rgba(0,0,0,.08) }
  50%     { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.10) }
}
.cards .card { animation: breathe 8s ease-in-out infinite }

/* Small extras: منع تداخل البادجات/أيقونات فوق الصور في أجهزة أصغر */
@media (max-width:480px){
  .badge{ padding:6px 10px; font-size:12px }
}
