:root{
  --bg:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e5e7eb;

  --gold:#C9A227;
  --gold2:#F0D37A;
  --dark:#0B1220;

  --soft:#f8fafc;
  --shadow: 0 10px 30px rgba(17,24,39,.08);
  --shadow2: 0 18px 55px rgba(17,24,39,.10);

  --radius:16px;
  --radius2:22px;
  --container:1120px;

  --header-h: 78px;
  --fs-10: clamp(10px, .95vw, 13px);
  --fs-12: clamp(12px, .95vw, 13px);
  --fs-13: clamp(13px, 1vw, 14px);
  --fs-14: clamp(14px, 1.05vw, 15px);
  --fs-16: clamp(15px, 1.15vw, 16px);
  --fs-18: clamp(16px, 1.25vw, 18px);
  --fs-28: clamp(22px, 2.2vw, 28px);

  /* Mobile Nav PRO */
  --navW: 320px;
  --overlay: rgba(17,24,39,.45);
}

@media (max-width: 720px){
  :root{ --header-h: 72px; }
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Tajawal", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height:1.75;
  font-size: var(--fs-16);
}

button,input,textarea,select{font: inherit}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(var(--container), calc(100% - 32px));margin-inline:auto}

.small{font-size: var(--fs-12)}
.muted{color:var(--muted)}
.link{color:#0f2a5f;text-decoration:underline;text-underline-offset:4px}
.link:hover{opacity:.9}

/* Skip link (وصولية) */
.skipLink{
  position:fixed;
  top:10px;
  right:10px;
  z-index:9999;
  padding:10px 12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow: var(--shadow2);
  transform: translateY(-140%);
  transition: transform .2s ease;
  font-weight:1000;
  font-size: var(--fs-14);
}
.skipLink:focus{transform: translateY(0)}

/* Focus واضح */
:focus-visible{
  outline: 2px solid rgba(201,162,39,.75);
  outline-offset: 3px;
  border-radius: 12px;
}

/* ================= Header ================= */
.header{
  position:sticky;top:0;z-index:50;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(12px);
  border-bottom:1px solid var(--line);
}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:14px 0;
}

.brand{display:flex;align-items:center;gap:12px}
.brand__logo{width:44px;height:44px;object-fit:contain}
.brand__name{font-weight:1000}
.brand__tag{color:var(--muted);font-size: var(--fs-13);margin-top:2px}

/* Nav (Desktop baseline) */
.nav{display:flex;align-items:center;gap:12px;position:relative}
.nav__toggle{
  display:none;width:44px;height:44px;border-radius:14px;
  border:1px solid var(--line);background:#fff;cursor:pointer;padding:10px;
}
.nav__toggle span{display:block;height:2px;background:#111827;margin:6px 0;border-radius:2px}
.nav__menu{display:flex;align-items:center;gap:16px}

.nav__link{
  font-weight:900;
  font-size: var(--fs-14);
  opacity:.85;
  padding:10px 6px;
  position:relative;
}

.nav__link:hover{opacity:1}

.nav__link::after{
  content:"";
  position:absolute;
  right:6px;
  left:6px;
  bottom:4px;
  height:2px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  opacity:0;
  transform: scaleX(.7);
  transform-origin:center;
  transition: opacity .18s ease, transform .18s ease;
  pointer-events:none;
}

.nav__link:hover::after{
  opacity:1;
  transform: scaleX(1);
}


/* anchors offset with sticky header */
section[id]{scroll-margin-top: calc(var(--header-h) + 16px)}

/* ================= Buttons ================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:12px 16px;border-radius:999px;border:1px solid transparent;
  font-weight:1000;cursor:pointer;
  transition: transform .15s ease, opacity .15s ease, background .15s ease;
  user-select:none;
  font-size: var(--fs-14);
}
.btn:active{transform:translateY(1px)}
.btn--gold{
  background: linear-gradient(135deg, var(--gold), var(--gold2));
  color:#1b1405;border-color: rgba(201,162,39,.35);
  box-shadow: var(--shadow);
}
.btn--soft{
  background: var(--soft);
  border-color: var(--line);
  color: var(--text);
}
.btn--outline{background:#fff;border-color: rgba(201,162,39,.45)}

/* ================= Hero ================= */
.hero{
  position: relative;
  min-height: calc(100vh - var(--header-h));
  min-height: calc(100svh - var(--header-h));
  display:flex;
  align-items:center;
  padding: 34px 0 18px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
  background:#fff;
}

.hero__bgVideo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none;
}

.hero__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.92), rgba(255,255,255,.68)),
    radial-gradient(900px 500px at 15% 10%, rgba(201,162,39,.18), transparent 60%),
    radial-gradient(700px 450px at 85% 15%, rgba(15,42,95,.10), transparent 60%);
}

.hero .container{position:relative;z-index:2}

.hero__grid{
  width:100%;
  display:grid;
  grid-template-columns: 1fr;
  align-items:center;
}

.hero__content{
  max-width: 760px;
  margin-top: -59px;
  margin-inline-end: 36px;
  padding-inline: clamp(12px, 1.2vw, 28px);
}

.kicker{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:999px;border:1px solid var(--line);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  font-weight:900;color:#1f2937;font-size: var(--fs-13);
}
.kicker .dot{width:10px;height:10px;border-radius:50%;background:var(--gold)}

.hero__title{
  margin:14px 0 10px;
  font-size: clamp(32px, 4.2vw, 56px);
  line-height:1.15;
  font-weight:1000;
}
.accent{
  background: linear-gradient(135deg, var(--gold), #8a6b10);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.hero__subtitle{
  margin:0 0 16px;
  color:var(--muted);
  font-size: var(--fs-18);
}

.hero__actions{display:flex;gap:10px;flex-wrap:wrap}

.hero__badges{
  margin-top:16px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:10px;
}

.mini{
  display:flex;gap:10px;align-items:center;
  padding:12px;border-radius: var(--radius);
  border:1px solid var(--line);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  box-shadow: var(--shadow);
}
.mini__t{
  width:40px;height:40px;border-radius: 14px;
  display:grid;place-items:center;background: rgba(201,162,39,.12);
  font-size: 18px;
}
.mini__h{font-weight:1000;font-size: var(--fs-14)}
.mini__p{color:var(--muted);font-size: var(--fs-13);margin-top:2px}

@media (prefers-reduced-motion: reduce){
  .hero__bgVideo{display:none}
}

/* ================= Sections ================= */
.section{padding:52px 0}
.section--alt{
  background: #fbfbfc;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.section__head{margin-bottom:18px}
.section__title{margin:0;font-size: var(--fs-28);font-weight:1000}
.section__subtitle{margin:10px 0 0;color:var(--muted);max-width:760px;font-size: var(--fs-16)}

/* Tabs */
.tabs{display:flex;gap:10px;flex-wrap:wrap}
.tab{
  border:1px solid var(--line);
  background:#fff;border-radius:999px;
  padding:10px 14px;
  font-weight:1000;
  cursor:pointer;
  font-size: var(--fs-14);
}
.tab.is-active{
  border-color: rgba(201,162,39,.45);
  background: rgba(201,162,39,.12);
}
.tabpanes{margin-top:14px}
.pane{display:none}
.pane.is-active{display:block}

/* Grids */
.grid3{display:grid;grid-template-columns: repeat(3, 1fr);gap:12px}
.grid2{display:grid;grid-template-columns: repeat(2, 1fr);gap:12px}

/* Cards */
.card{
  border:1px solid var(--line);
  background:#fff;
  border-radius: var(--radius2);
  padding:16px;
  box-shadow: var(--shadow);
}
.card h3{margin:0 0 8px;font-weight:1000;font-size: var(--fs-18)}

/* Strip */
.strip{
  margin-top:16px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  padding:16px;border-radius: var(--radius2);
  border:1px solid rgba(201,162,39,.35);
  background: linear-gradient(135deg, rgba(201,162,39,.14), #fff);
}
.strip__title{font-weight:1000;font-size: var(--fs-16)}
.strip__text{color:var(--muted);margin-top:4px;font-size: var(--fs-14)}

/* Services cards */
.svcCard{
  border:1px solid var(--line);
  background:#fff;
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.svcCard__media{aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}
.svcCard__media img{
  width:100%;height:100%;object-fit:cover;
  transition: transform .25s ease;
}
.svcCard:hover .svcCard__media img{transform: scale(1.03)}
.svcCard__body{padding:14px 16px 16px}
.svcCard__title{margin:0 0 8px;font-weight:1000;font-size: var(--fs-18)}

/* Steps */
.steps--media{
  margin-top:16px;
  padding:0;
  border:0;
  background: transparent;
  box-shadow:none;
}
.steps__grid{margin-top:12px;display:grid;grid-template-columns: repeat(3, 1fr);gap:10px}

.stepCard{
  border:1px solid var(--line);
  background:#fff;
  border-radius: var(--radius2);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.stepCard__media{position:relative;aspect-ratio:16/9;background:#f3f4f6;overflow:hidden}
.stepCard__media img{
  width:100%;height:100%;object-fit:cover;
  transition: transform .25s ease;
}
.stepCard:hover .stepCard__media img{transform: scale(1.03)}
.stepCard__num{
  position:absolute;top:12px;right:12px;
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;font-weight:1000;
  background: rgba(255,255,255,.92);
  border:1px solid var(--line);
  box-shadow: 0 10px 20px rgba(17,24,39,.12);
  font-size: var(--fs-14);
}
.stepCard__body{padding:14px 16px 16px}
.stepCard__h{font-weight:1000;font-size: var(--fs-16)}
.stepCard__p{color:var(--muted);font-size: var(--fs-14);margin-top:4px}

/* Panels */
.panel{
  display:flex;gap:12px;align-items:flex-start;
  padding:16px;border-radius: var(--radius2);
  background:#fff;border:1px solid var(--line);
  box-shadow: var(--shadow);
}
.panel__icon{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background: rgba(201,162,39,.12);
  font-size: 18px;
}
.panel__h{font-weight:1000;font-size: var(--fs-16)}
.panel__p{color:var(--muted);margin-top:6px;font-size: var(--fs-14)}

/* Logos */
.logos{
  margin-top:16px;
  display:grid;grid-template-columns: repeat(5, 1fr);
  gap:12px;
}
.logos__item{
  height:74px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:16px;border:1px solid var(--line);
  box-shadow: var(--shadow);
  padding:12px;
}
.logos__item img{max-height:60px;max-width:100%;object-fit:contain}

/* Contact */
.contact{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:12px;
  align-items:start;
}
.infoCard{
  border:1px solid var(--line);
  background:#fff;border-radius: var(--radius2);
  box-shadow: var(--shadow);
  padding:16px;
}
.infoCard__title{margin:0 0 12px;font-weight:1000;font-size: var(--fs-18)}
.row{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}
.row__i{
  width:38px;height:38px;border-radius:14px;
  display:grid;place-items:center;
  background: rgba(15,42,95,.06);
  font-size: 18px;
}
.row__l{color:var(--muted);font-size: var(--fs-13);margin-bottom:2px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.mapCard{
  border:1px solid var(--line);
  background:#fff;border-radius: var(--radius2);
  box-shadow: var(--shadow);
  padding:16px;
}
.mapCard__head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.mapCard__title{margin:0;font-weight:1000;font-size: var(--fs-18)}
.mapEmbed{
  margin-top:10px;height:360px;
  border-radius:16px;overflow:hidden;border:1px solid var(--line);
  background:#f3f4f6;
}
.mapEmbed iframe{width:100%;height:100%;border:0;display:block}

/* Footer */
.footer{border-top:1px solid var(--line);padding:18px 0;background:#fff}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.footer__brand{display:flex;align-items:center;gap:10px}
.footer__logo{width:40px;height:40px;object-fit:contain}
.footer__name{font-weight:1000;font-size: var(--fs-16)}
.footer__muted{color:var(--muted);font-size: var(--fs-13)}
.footer__links{display:flex;gap:12px;flex-wrap:wrap}
.footer__links a{opacity:.85;font-size: var(--fs-14)}
.footer__links a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.footer__copy{color:var(--muted);font-size: var(--fs-13)}

/* Back to top */
.toTop{
  position:fixed;bottom:16px;left:16px;
  width:44px;height:44px;border-radius:14px;
  border:1px solid var(--line);
  background:#fff;cursor:pointer;
  opacity:0;transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease;
  box-shadow: var(--shadow);
  font-size: 18px;
  z-index: 70;
}
.toTop.show{opacity:1;transform: translateY(0)}

/* Pills */
.pills{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(201,162,39,.10);
  font-weight:900;
  font-size: var(--fs-13);
  color:#1f2937;
}
.cardActions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* ================= Responsive ================= */
@media (min-width: 1200px){
  .hero__content{
    padding-inline: clamp(16px, 1.6vw, 40px);
  }
  .hero .container{
    width: min(var(--container), calc(100% - 72px));
  }
}

@media (max-width: 980px){
  .hero__content{
    max-width: 100%;
    margin-top: -18px;
    margin-inline-end: 0;
    padding-inline: clamp(10px, 3vw, 20px);
  }

  .hero__badges{grid-template-columns: 1fr}
  .grid3{grid-template-columns: repeat(2, 1fr)}
  .grid2{grid-template-columns: 1fr}
  .logos{grid-template-columns: repeat(3, 1fr)}
  .steps__grid{grid-template-columns: 1fr}
  .contact{grid-template-columns: 1fr}
  .mapEmbed{height:300px}
}

/* ================= Mobile Nav PRO + Mobile Layout ================= */
.navOverlay{
  position: fixed;
  inset: 0;
  background: var(--overlay);
  z-index: 59;
  opacity: 0;
  transition: opacity .2s ease;
} 

/* يمنع سكرول الصفحة لما القائمة مفتوحة */
body.nav-open{overflow:hidden}

@media (max-width: 720px){
  
  .header__inner{
    gap:10px;
    padding:10px 0;
  }

  .brand{
    gap:10px;
    min-width: 0;
  }

  .brand__logo{
    width:40px;
    height:40px;
  }

  .brand__text{min-width:0}

  .brand__name{
    font-size: 15px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 42vw;
  }

  .brand__tag{
    font-size: var(--fs-10);
  }

  .nav{position: static}
 
  .nav__toggle{
    display:flex;                 /* بدل inline-flex */
    flex-direction:column;        /* أهم سطر */
    align-items:center;
    justify-content:center;
    gap:6px;                      /* بدل margin */
    padding:10px;
  }

  .nav__toggle > span{
    display:block;
    width:18px;
    height:2px;
    margin:0;                     /* لأننا نستخدم gap */
    background:#111827;
    border-radius:2px;
  } 


  /* Drawer menu من اليمين */
  .nav__menu{
    position: fixed;
    top: 0;
    right: 0;
    height: 100svh;
    width: min(var(--navW), 86vw);

    background:#fff;
    border-left: 1px solid var(--line);
    box-shadow: var(--shadow2);

    padding: 14px;
    padding-top: calc(var(--header-h) + 12px);

    display: flex;
    flex-direction:column;
    gap:8px;

    transform: translateX(110%);
    transition: transform .22s ease;

    max-height: 100svh;
    overflow:auto;
    -webkit-overflow-scrolling: touch;
    z-index: 60;
  }

  .nav__menu.open{transform: translateX(0)}

 .nav__link{
    font-weight:1000;
    position: relative;          
  }
  
 
  .nav__link::after{
    content:"";
    position:absolute;
    left:12px;
    right:12px;
    bottom:6px;
    height:2px;
    border-radius:999px;
    background: linear-gradient(90deg, var(--gold), var(--gold2));
    opacity:0;
    transform: scaleX(.6);
    transform-origin:center;
    transition: opacity .18s ease, transform .18s ease;
    pointer-events:none;
  }

  .nav__link:hover::after,
  .nav__link:focus-visible::after{
    opacity:1;
    transform: scaleX(1);
  }
  
  .hero{padding: 24px 0 16px}

  .hero__content{
    margin-top: 0;
    margin-inline-end: 0;
    padding-inline: clamp(12px, 4vw, 22px);
  }

  .hero__title{
    font-size: clamp(26px, 7vw, 38px);
    line-height: 1.2;
  }

  .hero__badges{grid-template-columns: 1fr}

  .grid3{grid-template-columns: 1fr}
  .logos{grid-template-columns: repeat(2, 1fr)}
  .mapEmbed{height:260px}
  .kicker{
    font-size: var(--fs-10);
  }
}
