:root{
    --navy:#051628;
    --navy-2:#0c2338;
    --navy-3:#123049;
    --teal:#17a6b7;
    --teal-light:#7fe3dc;
    --sand:#f6f2e8;
    --sand-2:#eee7d8;
    --ink:#0e2028;
    --ink-soft:#3c5462;
    --white:#ffffff;
    --line: rgba(255,255,255,0.12);
    --line-dark: rgba(14,32,40,0.1);
    --shadow: 0 20px 60px rgba(5,22,40,0.18);
    --ease: cubic-bezier(.19,1,.22,1);
  }

  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Tajawal', sans-serif;
    background:var(--sand);
    color:var(--ink);
    overflow-x:hidden;
    line-height:1.75;
  }
  h1,h2,h3,h4{font-family:'Cairo', sans-serif;}
  .num, .eyebrow, .stat-num, .lang-en{font-family:'Space Grotesk', sans-serif;}
  a{color:inherit; text-decoration:none;}
  ul{list-style:none;}
  img{max-width:100%; display:block;}
  section{position:relative;}
  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 32px;
  }
  ::selection{background:var(--teal); color:var(--navy);}

  /* reveal */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease), transform .9s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  .stagger > *{transition-delay:calc(var(--i, 0) * 90ms);}

  /* ---------- NAV ---------- */
  header.nav{
    position:fixed; inset:0 0 auto 0; z-index:200;
    padding:20px 0;
    transition:padding .4s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
  }
  header.nav .wrap{display:flex; align-items:center; justify-content:space-between;}
  header.nav.scrolled{
    padding:12px 0;
    background:rgba(10,34,51,0.92);
    backdrop-filter:blur(14px);
    box-shadow:0 10px 30px rgba(0,0,0,0.18);
  }
  .brand{display:flex; align-items:center; gap:12px;}
  .brand-mark{width:42px; height:42px; flex-shrink:0;}
  .brand-text{display:flex; flex-direction:column; line-height:1.1;}
  .brand-text b{font-family:'Cairo',sans-serif; font-weight:800; font-size:16px; color:var(--white); letter-spacing:.2px;}
  .brand-text span{font-family:'Space Grotesk',sans-serif; font-size:10px; letter-spacing:3px; color:var(--teal-light); margin-top:3px;}

  nav.links{display:flex; align-items:center; gap:36px;}
  nav.links a{
    font-size:14.5px; color:rgba(255,255,255,0.82); position:relative; padding:6px 0;
    transition:color .3s;
  }
  nav.links a::after{
    content:""; position:absolute; right:0; bottom:0; height:1px; width:0; background:var(--teal-light);
    transition:width .35s var(--ease);
  }
  nav.links a:hover{color:#fff;}
  nav.links a:hover::after{width:100%;}
  .nav-cta{
    background:var(--teal); color:var(--navy)!important; padding:10px 22px; border-radius:100px;
    font-weight:700; font-size:14px!important;
  }
  .nav-cta::after{display:none;}
  .nav-cta:hover{background:var(--teal-light); color:var(--navy)!important;}

  .lang-toggle{
    display:flex; align-items:center; gap:7px;
    background:transparent; border:1px solid rgba(255,255,255,0.28); color:#fff;
    padding:8px 14px; border-radius:100px; font-family:'Space Grotesk',sans-serif; font-size:13px; font-weight:600;
    cursor:pointer; letter-spacing:.5px; transition:.3s var(--ease);
  }
  .lang-toggle:hover{border-color:var(--teal-light); color:var(--teal-light);}
  .lang-toggle svg{flex-shrink:0;}

  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:210;}
  .burger span{width:26px; height:2px; background:#fff; transition:.3s;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100svh;
    background:
      radial-gradient(ellipse 900px 500px at 85% 8%, rgba(30,167,184,0.22), transparent 60%),
      linear-gradient(180deg, var(--navy) 0%, #0c2338 60%, var(--navy) 100%);
    color:#fff;
    display:flex; align-items:center;
    padding-top:120px;
    padding-bottom:60px;
    overflow:hidden;
  }
  .hero .wrap{position:relative; z-index:3; width:100%;}
  .hero-grid{
    display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center;
  }
  .stars-field{position:absolute; inset:0; z-index:1; pointer-events:none;}
  .spark{position:absolute; opacity:0; animation:spark-in 2.4s var(--ease) forwards, spark-float 7s ease-in-out infinite;}
  @keyframes spark-in{to{opacity:var(--o,.55);}}
  @keyframes spark-float{
    0%,100%{transform:translateY(0) rotate(0deg);}
    50%{transform:translateY(-18px) rotate(8deg);}
  }
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:12.5px; letter-spacing:3.5px; color:var(--teal-light);
    margin-bottom:26px; text-transform:uppercase;
  }
  .eyebrow::before{content:""; width:26px; height:1px; background:var(--teal-light);}
  .hero h1{
    font-size:clamp(34px, 5vw, 62px); font-weight:800; line-height:1.28; letter-spacing:-.5px;
    max-width:720px;
  }
  .hero h1 em{
    font-style:normal; color:var(--teal-light);
    background:linear-gradient(180deg, transparent 62%, rgba(127,227,220,.28) 62%);
  }
  .hero p.lead{
    margin-top:26px; font-size:17.5px; color:rgba(255,255,255,0.72); max-width:560px; font-weight:300;
  }
  .hero-actions{display:flex; gap:16px; margin-top:42px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--teal); color:var(--navy); padding:15px 30px; border-radius:100px; font-weight:700; font-size:15px;
    display:inline-flex; align-items:center; gap:10px;
    transition:transform .35s var(--ease), background .35s;
  }
  .btn-primary:hover{transform:translateY(-3px); background:var(--teal-light);}
  .btn-ghost{
    border:1px solid rgba(255,255,255,0.3); padding:15px 30px; border-radius:100px; font-weight:600; font-size:15px; color:#fff;
    transition:.35s var(--ease);
  }
  .btn-ghost:hover{background:rgba(255,255,255,0.08); border-color:rgba(255,255,255,0.6);}

  .hero-figure{position:relative;}
  .hero-card{
    background:rgba(255,255,255,0.045);
    border:1px solid var(--line);
    border-radius:22px;
    padding:34px 30px;
    backdrop-filter:blur(6px);
  }
  .hero-card .row{display:flex; justify-content:space-between; align-items:center; padding:16px 0; border-bottom:1px solid var(--line);}
  .hero-card .row:last-child{border-bottom:none;}
  .hero-card .row b{font-family:'Space Grotesk',sans-serif; font-size:26px; color:var(--teal-light); font-weight:600;}
  .hero-card .row span{font-size:13.5px; color:rgba(255,255,255,0.65);}

  .scroll-cue{
    position:absolute; bottom:34px; right:50%; transform:translateX(50%); z-index:3;
    display:flex; flex-direction:column; align-items:center; gap:10px; color:rgba(255,255,255,0.55); font-size:11px; letter-spacing:2px;
  }
  .scroll-cue .line{width:1px; height:34px; background:linear-gradient(180deg, rgba(255,255,255,.7), transparent); animation:cue 2s ease-in-out infinite;}
  @keyframes cue{0%{opacity:.2; transform:scaleY(.3); transform-origin:top;} 50%{opacity:1; transform:scaleY(1); transform-origin:top;} 100%{opacity:.2; transform:scaleY(.3); transform-origin:top;}}

  /* wave divider — absolutely positioned so it's pulled OUT of the hero's
     flex layout entirely and always sits pinned to the bottom edge */
  .wave-divider{
    display:block; width:100%; height:auto;
    position:absolute; left:0; right:0; bottom:-2px; z-index:2;
    line-height:0; pointer-events:none;
  }

  /* ---------- SECTION HEADERS ---------- */
  .section-head{max-width:640px; margin-bottom:60px;}
  .section-head .eyebrow{color:var(--teal); }
  .section-head .eyebrow::before{background:var(--teal);}
  .section-head h2{font-size:clamp(26px,3.4vw,40px); font-weight:800; letter-spacing:-.4px;}
  .section-head p{margin-top:16px; color:var(--ink-soft); font-size:16px; max-width:540px;}
  .light .section-head h2{color:var(--ink);}
  .dark .section-head h2{color:#fff;}
  .dark .section-head p{color:rgba(255,255,255,0.68);}

  /* ---------- ABOUT ---------- */
  .about{background:var(--sand); padding:120px 0 100px;}
  .about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:70px; align-items:start;}
  .about-copy p{color:var(--ink-soft); font-size:16.5px; margin-bottom:18px;}
  .about-copy p b{color:var(--ink); font-weight:700;}
  .stat-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .stat-card{
    background:var(--white); border:1px solid var(--line-dark); border-radius:18px; padding:26px 22px;
    box-shadow:0 10px 30px rgba(14,32,40,0.05);
    transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  }
  .stat-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .stat-num{
    font-size:34px; font-weight:700; color:var(--teal); display:flex; align-items:baseline; gap:2px;
    direction:ltr; unicode-bidi:isolate; justify-content:flex-start;
  }
  .stat-card p{font-size:13.5px; color:var(--ink-soft); margin-top:8px;}

  /* ---------- VISION / MISSION ---------- */
  .vm{background:var(--navy); color:#fff; padding:110px 0;}
  .vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  .vm-card{
    border:1px solid var(--line); border-radius:22px; padding:44px 36px;
    background:linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
    position:relative; overflow:hidden;
  }
  .vm-card .mark{
    width:52px; height:52px; margin-bottom:26px;
  }
  .vm-card h3{font-size:22px; margin-bottom:16px; color:var(--teal-light);}
  .vm-card p{color:rgba(255,255,255,0.75); font-size:16px;}

  /* ---------- VALUES ---------- */
  .values{background:var(--sand); padding:110px 0;}
  .values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .value-card{
    background:var(--white); border-radius:18px; padding:30px 26px; border:1px solid var(--line-dark);
    transition:transform .4s var(--ease), border-color .4s;
  }
  .value-card:hover{transform:translateY(-6px); border-color:var(--teal);}
  .value-card .vicon{width:40px; height:40px; color:var(--teal); margin-bottom:18px;}
  .value-card h4{font-size:18px; margin-bottom:10px;}
  .value-card p{font-size:14.5px; color:var(--ink-soft);}

  /* ---------- SECTORS ---------- */
  .sectors{background:var(--navy-2); color:#fff; padding:120px 0; position:relative;}
  .sector-list{display:flex; flex-direction:column;}
  .sector-row{
    display:grid; grid-template-columns:110px 1.5fr 2fr; gap:36px; align-items:start;
    padding:38px 0; border-top:1px solid var(--line);
  }
  .sector-row:last-child{border-bottom:1px solid var(--line);}
  .sector-row .num{font-size:44px; font-weight:700; color:var(--teal); opacity:.85;}
  .sector-row h3{font-size:21px; color:#fff; margin-bottom:6px;}
  .sector-row .sub-tag{display:inline-block; font-size:12px; color:var(--teal-light); border:1px solid rgba(127,227,220,.35); padding:4px 12px; border-radius:100px; margin-top:6px;}
  .sector-row p{color:rgba(255,255,255,0.68); font-size:15.5px;}

  /* ---------- WHY US ---------- */
  .why{background:var(--sand); padding:120px 0;}
  .why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  .why-card{
    background:var(--white); border-radius:16px; padding:26px 22px; border:1px solid var(--line-dark);
    display:flex; flex-direction:column; gap:14px;
    transition:transform .4s var(--ease), box-shadow .4s;
  }
  .why-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
  .why-card .num{font-size:14px; color:var(--teal); font-weight:600;}
  .why-card p{font-size:14.5px; color:var(--ink); line-height:1.6;}

  /* ---------- MAP ---------- */
  .geo{background:var(--white); padding:120px 0;}
  .geo-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .geo-copy p{color:var(--ink-soft); font-size:16.5px; margin-bottom:26px;}
  .city-tags{display:flex; flex-wrap:wrap; gap:12px;}
  .city-tag{
    display:flex; align-items:center; gap:8px;
    background:var(--sand-2); padding:10px 18px; border-radius:100px; font-size:14.5px; font-weight:500;
  }
  .city-tag .dot{width:7px; height:7px; border-radius:50%; background:var(--teal);}
  .map-holder{position:relative;}
  .map-holder svg{width:100%; height:auto;}
  .map-pin{transform-box:fill-box; transform-origin:center; animation:pin-pulse 2.6s ease-in-out infinite;}
  @keyframes pin-pulse{0%,100%{transform:scale(1); opacity:1;} 50%{transform:scale(1.35); opacity:.55;}}

  /* ---------- PARTNERSHIPS ---------- */
  .partners{background:var(--navy); color:#fff; padding:110px 0;}
  .partners-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  .partner-card{
    border:1px solid var(--line); border-radius:22px; padding:40px 34px;
    background:rgba(255,255,255,0.03);
  }
  .partner-card h3{color:var(--teal-light); font-size:20px; margin-bottom:16px;}
  .partner-card p{color:rgba(255,255,255,0.72); font-size:15.5px;}
  .badge-row{display:flex; gap:10px; margin-top:22px; flex-wrap:wrap;}
  .badge{
    font-size:12px; letter-spacing:1px; border:1px solid rgba(127,227,220,.3); color:var(--teal-light);
    padding:6px 14px; border-radius:100px;
  }

  /* ---------- CONTACT / FOOTER ---------- */
  .contact{
    background:linear-gradient(180deg, var(--navy) 0%, #071722 100%); color:#fff; padding:130px 0 60px; position:relative; overflow:hidden;
  }
  .contact-inner{text-align:center; max-width:640px; margin:0 auto 80px;}
  .contact-inner h2{font-size:clamp(28px,4vw,44px); margin-bottom:20px;}
  .contact-inner p{color:rgba(255,255,255,0.7); font-size:16.5px; margin-bottom:36px;}
  .footer-grid{
    display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px; padding-top:50px; border-top:1px solid var(--line);
  }
  .footer-brand .brand-text b{font-size:19px;}
  .footer-brand p{color:rgba(255,255,255,0.55); font-size:14px; margin-top:18px; max-width:320px;}
  .footer-col h5{font-size:13px; letter-spacing:2px; color:var(--teal-light); margin-bottom:18px; text-transform:uppercase;}
  .footer-col li{margin-bottom:12px; font-size:14.5px; color:rgba(255,255,255,0.75);}
  .footer-col li a:hover{color:var(--teal-light);}
  .footer-bottom{
    margin-top:70px; padding-top:26px; border-top:1px solid var(--line);
    display:flex; justify-content:space-between; align-items:center; font-size:13px; color:rgba(255,255,255,0.45); flex-wrap:wrap; gap:10px;
  }

  /* focus visibility */
  a:focus-visible, button:focus-visible{outline:2px solid var(--teal-light); outline-offset:3px;}

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }

  /* ---------- RESPONSIVE ---------- */

  /* Nav switches to the mobile menu earlier than the rest of the layout,
     so the six links + CTA never get squeezed against the logo on tablets. */
  @media (max-width:900px){
    nav.links{
      position:fixed; inset:0 0 0 auto; width:78%; max-width:320px; background:var(--navy);
      flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:26px;
      padding:110px 32px; transform:translateX(100%); transition:transform .5s var(--ease); box-shadow:-20px 0 60px rgba(0,0,0,.35);
      z-index:205;
    }
    nav.links.open{transform:translateX(0);}
    .burger{display:flex;}
    .nav-cta{margin-top:10px;}
  }

  @media (max-width:1020px){
    .hero-grid{grid-template-columns:1fr;}
    .hero-figure{display:none;}
    .about-grid{grid-template-columns:1fr; gap:50px;}
    .vm-grid{grid-template-columns:1fr;}
    .values-grid{grid-template-columns:repeat(2,1fr);}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .geo-grid{grid-template-columns:1fr; gap:40px;}
    .partners-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;}
  }
  @media (max-width:720px){
    .wrap{padding:0 20px;}
    .sector-row{grid-template-columns:1fr; gap:10px;}
    .sector-row .num{font-size:32px;}
    .footer-grid{grid-template-columns:1fr;}
    .footer-bottom{flex-direction:column; align-items:flex-start;}
    .values-grid, .why-grid{grid-template-columns:1fr;}
  }

/* WordPress integration */
.admin-bar header.nav{top:32px;}
@media(max-width:782px){.admin-bar header.nav{top:46px;}}
body.menu-open{overflow:hidden;}
.burger{background:none;border:0;padding:6px;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
