@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;600;700;800&family=Tajawal:wght@300;400;500;700;800&family=Montserrat:wght@700;800;900&display=swap');

:root {
  --bg:       #08090b;
  --bg2:      #0d1017;
  --bg3:      #12151c;
  --text:     #eeeeed;
  --muted:    #8a9099;
  --line:     rgba(255,255,255,0.08);
  --blue:     #4f7fd4;
  --bdim:     rgba(79,127,212,0.14);
  --bglow:    rgba(79,127,212,0.28);
  --r:        18px;
  --nav-h:    60px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Barlow',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
body.lang-ar{font-family:'Tajawal',sans-serif;direction:rtl;}
a{color:inherit;text-decoration:none;}
img{display:block;}
button{cursor:pointer;font:inherit;border:none;background:none;}
input,textarea,select{font:inherit;}

/* ── NAVBAR ── */
.navbar{
  position:fixed;top:0;left:0;right:0;
  height:var(--nav-h);z-index:100;
  display:flex;align-items:center;
  padding:0 48px;gap:28px;
  background:rgba(8,9,11,0.9);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--line);
}

/* brand */
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;text-decoration:none;}
.brand-icon{
  width:40px;height:40px;border-radius:9px;
  background:transparent;display:flex;
  align-items:center;justify-content:center;flex-shrink:0;
  overflow:hidden;
}
.brand-icon svg{width:18px;height:18px;fill:#fff;}
.brand-icon img{width:40px;height:40px;object-fit:contain;}
.brand-texts{display:flex;flex-direction:column;gap:1px;}
.brand-name{
  font-family:'Montserrat',sans-serif;
  font-weight:900;font-size:1rem;
  letter-spacing:0.05em;line-height:1;
  color:var(--text);
}
.brand-name .i,.brand-name .p{color:var(--blue);}
.brand-tag{
  font-size:0.6rem;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--muted);
  font-weight:500;
}

/* nav links */
.nav-links{display:flex;align-items:center;gap:2px;flex:1;justify-content:center;}
.nav-links a{
  padding:6px 15px;border-radius:999px;
  font-size:0.86rem;font-weight:500;
  color:var(--muted);border:1px solid transparent;
  transition:all .18s ease;white-space:nowrap;
}
.nav-links a:hover{color:var(--text);background:rgba(255,255,255,0.05);}
.nav-links a.active{color:#7aaef8;background:var(--bdim);border-color:rgba(79,127,212,0.3);}

.nav-end{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.lang-btn{
  padding:6px 13px;border-radius:999px;
  border:1px solid var(--line);color:var(--muted);
  font-size:0.82rem;transition:all .18s;
}
.lang-btn:hover{color:var(--text);border-color:rgba(255,255,255,0.2);}
.rfq-btn{
  padding:7px 18px;border-radius:999px;
  background:var(--blue);color:#fff;
  font-size:0.84rem;font-weight:700;
  transition:all .18s;
}
.rfq-btn:hover{background:#5f8ee0;transform:translateY(-1px);}

/* ── BG GRID ── */
.bg-grid{
  position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.022) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,black 20%,transparent 100%);
}

/* ── PAGE SHELL ── */
.page{min-height:100vh;padding-top:var(--nav-h);}
.shell{max-width:1360px;margin:0 auto;padding:72px 56px;}

/* ── SECTION LABELS ── */
.sec-label{
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--blue);margin-bottom:12px;
  display:flex;align-items:center;gap:10px;
}
.sec-label::before{content:'';display:block;width:20px;height:1px;background:var(--blue);}
.sec-h2{
  font-family:'Montserrat',sans-serif;
  font-weight:800;
  font-size:clamp(1.65rem,2.6vw,2.5rem);
  letter-spacing:-0.03em;line-height:1.15;
  color:var(--text);max-width:680px;margin-bottom:44px;
}

/* ── BUTTONS ── */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 28px;border-radius:999px;
  background:var(--blue);color:#fff;
  font-weight:700;font-size:0.92rem;
  border:1px solid transparent;
  transition:all .18s;
}
.btn-primary:hover{background:#5f8ee0;transform:translateY(-1px);}
.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 28px;border-radius:999px;
  background:transparent;color:var(--text);
  font-weight:600;font-size:0.92rem;
  border:1px solid var(--line);transition:all .18s;
}
.btn-ghost:hover{border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.04);}

/* ── SIGNAL BAND ── */
.signal-band{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);}
.signal-track{
  display:flex;gap:52px;padding:13px 0;
  white-space:nowrap;
  animation:marquee 22s linear infinite;
}
.signal-track span{
  font-size:0.7rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--muted);display:flex;align-items:center;gap:12px;
}
.signal-track span::before{
  content:'';display:inline-block;
  width:5px;height:5px;border-radius:50%;
  background:var(--blue);flex-shrink:0;
}

/* ── HERO ── */
.hero-wrap{
  min-height:calc(100vh - var(--nav-h));
  display:grid;grid-template-columns:1.1fr 0.9fr;
  position:relative;overflow:hidden;
}
.hero-left{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 64px 80px 80px;position:relative;z-index:2;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.7rem;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--blue);margin-bottom:22px;
}
.hero-eyebrow::before{content:'';display:block;width:22px;height:1px;background:var(--blue);}
.hero-h1{
  font-family:'Montserrat',sans-serif;
  font-weight:900;
  font-size:clamp(2.5rem,3.8vw,4.2rem);
  line-height:1.04;letter-spacing:-0.03em;
  color:var(--text);margin-bottom:22px;
}
.hero-h1 em{font-style:normal;color:var(--blue);}
.hero-p{font-size:1rem;line-height:1.85;color:var(--muted);max-width:52ch;margin-bottom:36px;}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;}
.hero-stats{
  display:flex;margin-top:52px;
  border-top:1px solid var(--line);padding-top:30px;
  gap:0;
}
.hero-stat{flex:1;padding-right:24px;border-right:1px solid var(--line);margin-right:24px;}
.hero-stat:last-child{border-right:none;margin-right:0;padding-right:0;}
.stat-val{
  font-family:'Montserrat',sans-serif;
  font-size:1.55rem;font-weight:800;
  color:var(--text);margin-bottom:4px;
}
.stat-label{font-size:0.76rem;color:var(--muted);line-height:1.5;}

.hero-right{
  position:relative;background:var(--bg2);
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  justify-content:center;padding:56px 48px;
  gap:14px;z-index:2;overflow:hidden;
}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;}

.priority-card{
  position:relative;z-index:1;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:20px 22px;
  transition:border-color .2s,background .2s;
}
.priority-card:hover{border-color:rgba(79,127,212,0.35);background:var(--bdim);}
.p-card-head{display:flex;align-items:center;gap:11px;margin-bottom:7px;}
.p-icon{
  width:34px;height:34px;border-radius:9px;
  background:var(--bdim);display:flex;
  align-items:center;justify-content:center;flex-shrink:0;
}
.p-icon svg{width:17px;height:17px;stroke:var(--blue);fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.p-title{font-size:0.92rem;font-weight:700;color:var(--text);}
.p-desc{font-size:0.82rem;color:var(--muted);line-height:1.65;}

.markets-card{
  position:relative;z-index:1;
  background:var(--bdim);
  border:1px solid rgba(79,127,212,0.22);
  border-radius:var(--r);padding:18px 22px;
}
.markets-kicker{
  font-size:0.66rem;letter-spacing:0.16em;
  text-transform:uppercase;color:#7aaef8;
  font-weight:700;margin-bottom:7px;
}
.markets-text{font-size:0.83rem;color:var(--muted);line-height:1.65;}

/* ── SERVICES ── */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;margin-bottom:56px;
}
.svc-card{
  background:var(--bg2);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:30px 26px;
  transition:border-color .2s,transform .2s;
  position:relative;overflow:hidden;
}
.svc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--blue);transform:scaleX(0);transform-origin:left;
  transition:transform .3s ease;
}
.svc-card:hover{border-color:rgba(79,127,212,0.38);transform:translateY(-4px);}
.svc-card:hover::before{transform:scaleX(1);}
.svc-icon{
  width:50px;height:50px;border-radius:13px;
  background:var(--bdim);display:flex;
  align-items:center;justify-content:center;
  margin-bottom:20px;
}
.svc-icon svg{width:25px;height:25px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.svc-num{
  position:absolute;top:20px;right:22px;
  font-family:'Montserrat',sans-serif;font-size:3rem;
  font-weight:900;color:rgba(255,255,255,0.03);
  line-height:1;user-select:none;
}
.svc-card h3{font-size:1.1rem;font-weight:700;margin-bottom:11px;color:var(--text);}
.svc-card p{font-size:0.88rem;color:var(--muted);line-height:1.78;}

.cat-block{border-top:1px solid var(--line);padding-top:44px;margin-top:44px;}
.cat-h{
  font-size:0.68rem;font-weight:700;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--muted);margin-bottom:18px;
  display:flex;align-items:center;gap:10px;
}
.cat-h::before{content:'';display:block;width:16px;height:1px;background:var(--muted);}
.cat-pills{display:flex;flex-wrap:wrap;gap:9px;}
.pill{
  padding:7px 17px;border-radius:999px;
  border:1px solid var(--line);background:var(--bg3);
  font-size:0.83rem;color:var(--text);
  transition:all .15s;
}
.pill:hover{border-color:rgba(79,127,212,0.4);color:#7aaef8;background:var(--bdim);}

.process-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px;}
.p-step{
  background:var(--bg2);border:1px solid var(--line);
  border-radius:var(--r);padding:26px 22px;
}
.step-badge{
  width:46px;height:46px;border-radius:12px;
  background:var(--bdim);border:1px solid rgba(79,127,212,0.25);
  display:flex;align-items:center;justify-content:center;
  font-family:'Montserrat',sans-serif;font-size:1rem;
  font-weight:800;color:var(--blue);margin-bottom:16px;
}
.p-step h4{font-size:0.96rem;font-weight:700;margin-bottom:9px;color:var(--text);}
.p-step p{font-size:0.85rem;color:var(--muted);line-height:1.72;}

/* ── BRANDS ── */
.brand-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.f-btn{
  padding:6px 16px;border-radius:999px;
  border:1px solid var(--line);background:transparent;
  color:var(--muted);font-size:0.8rem;font-weight:600;
  letter-spacing:0.05em;transition:all .18s;
}
.f-btn:hover{border-color:rgba(79,127,212,0.4);color:#7aaef8;}
.f-btn.active{border-color:rgba(79,127,212,0.5);background:var(--bdim);color:#a0c4ff;}

.brands-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:13px;}
.b-card{
  background:var(--bg2);border:1px solid var(--line);
  border-radius:var(--r);padding:22px 14px 16px;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  transition:border-color .2s,transform .2s,background .2s;
}
.b-card:hover{border-color:rgba(79,127,212,0.38);background:var(--bg3);transform:translateY(-3px);}
.b-card[data-hidden="true"]{display:none;}
.b-logo{height:50px;width:100%;display:flex;align-items:center;justify-content:center;}
.b-logo img{
  max-height:42px;max-width:128px;object-fit:contain;
  mix-blend-mode:screen;
  filter:brightness(1.1) contrast(0.88) saturate(0.85);
  transition:filter .2s;
}
.b-card:hover .b-logo img{filter:brightness(1.35) contrast(1) saturate(1);}
.b-logo.text-logo{
  font-family:'Montserrat',sans-serif;font-weight:800;
  font-size:0.9rem;color:var(--text);
  letter-spacing:0.04em;text-align:center;
}
.b-sub{font-size:0.66rem;color:var(--muted);letter-spacing:0.05em;text-align:center;text-transform:uppercase;line-height:1.45;}
.b-cat{font-size:0.58rem;color:rgba(79,127,212,0.8);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:28px;align-items:start;}
.info-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;}
.info-card h3{font-size:1.05rem;font-weight:700;margin-bottom:26px;color:var(--text);}
.c-item{padding:14px 0;border-bottom:1px solid var(--line);}
.c-item:last-child{border-bottom:none;}
.c-label{font-size:0.66rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--blue);font-weight:700;margin-bottom:5px;}
.c-val{font-size:0.92rem;color:var(--text);line-height:1.6;}
.c-val a{color:var(--text);transition:color .15s;}
.c-val a:hover{color:#7aaef8;}

.iso-row{display:flex;gap:9px;margin-top:26px;}
.iso-b{
  flex:1;background:var(--bdim);
  border:1px solid rgba(79,127,212,0.22);
  border-radius:13px;padding:13px 10px;text-align:center;
}
.iso-b-top{font-size:0.6rem;color:#7aaef8;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.iso-b-num{font-family:'Montserrat',sans-serif;font-size:0.92rem;font-weight:800;color:var(--text);margin-top:3px;}

.form-card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;}
.form-card h3{font-size:1.05rem;font-weight:700;margin-bottom:6px;color:var(--text);}
.form-sub{font-size:0.85rem;color:var(--muted);margin-bottom:26px;line-height:1.6;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.f-group{display:flex;flex-direction:column;gap:6px;}
.f-group.full{grid-column:1/-1;}
.f-group label{font-size:0.74rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.f-group input,.f-group textarea,.f-group select{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:11px;color:var(--text);
  font-size:0.9rem;padding:10px 13px;
  transition:border-color .18s;width:100%;resize:none;
}
.f-group input:focus,.f-group textarea:focus,.f-group select:focus{
  outline:none;border-color:rgba(79,127,212,0.5);
  background:rgba(79,127,212,0.05);
}
.f-group select option{background:var(--bg2);color:var(--text);}
.form-note{font-size:0.76rem;color:var(--muted);margin-top:10px;line-height:1.6;}

/* ── WHATSAPP ── */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:200;display:flex;align-items:center;}
.wa-label{
  background:#1db954;color:#fff;
  font-size:0.8rem;font-weight:700;
  padding:9px 16px 9px 18px;
  border-radius:999px 0 0 999px;
  white-space:nowrap;
  transform:translateX(8px);opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
}
.wa-float:hover .wa-label{opacity:1;transform:translateX(0);}
.wa-btn{
  width:54px;height:54px;border-radius:50%;
  background:#25d366;display:flex;
  align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,0.4);
  transition:transform .2s,box-shadow .2s;
  position:relative;z-index:1;flex-shrink:0;
}
.wa-btn::before{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  background:rgba(37,211,102,0.22);
  animation:waPulse 2.4s ease-out infinite;
}
.wa-btn svg{width:26px;height:26px;fill:#fff;}
.wa-float:hover .wa-btn{transform:scale(1.08);box-shadow:0 6px 26px rgba(37,211,102,0.55);}

/* ── FOOTER ── */
.footer{
  border-top:1px solid var(--line);background:var(--bg2);
  padding:20px 56px;display:flex;
  align-items:center;justify-content:space-between;gap:20px;
}
.footer-text{font-size:0.8rem;color:var(--muted);line-height:1.6;}
.footer-link{font-size:0.8rem;color:var(--blue);font-weight:600;transition:color .15s;}
.footer-link:hover{color:#7aaef8;}

/* ── REVEAL ── */
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease;}
[data-reveal].visible{opacity:1;transform:none;}

/* ── KEYFRAMES ── */
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes waPulse{0%{transform:scale(1);opacity:.6;}70%,100%{transform:scale(1.5);opacity:0;}}

/* ── RTL ── */
body.lang-ar .navbar,body.lang-ar .footer{flex-direction:row-reverse;}
body.lang-ar .hero-left,body.lang-ar .sec-h2,body.lang-ar .svc-card,body.lang-ar .p-step{text-align:right;}
body.lang-ar .hero-eyebrow,body.lang-ar .sec-label,body.lang-ar .cat-h{flex-direction:row-reverse;}
body.lang-ar .wa-float{left:26px;right:auto;flex-direction:row-reverse;}
body.lang-ar .wa-label{border-radius:0 999px 999px 0;}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .hero-wrap{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .hero-left{padding:60px 40px;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .process-row{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .shell{padding:56px 30px;}
}
/* ── HAMBURGER BUTTON ── */
.hamburger{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;
  width:36px;height:36px;gap:5px;
  background:none;border:1px solid var(--line);
  border-radius:8px;cursor:pointer;
  flex-shrink:0;transition:border-color .2s;
  margin-left:auto;
}
.hamburger:hover{border-color:rgba(79,127,212,0.5);}
.hamburger span{
  display:block;width:16px;height:1.5px;
  background:var(--text);border-radius:2px;
  transition:transform .28s ease, opacity .2s ease, width .2s ease;
  transform-origin:center;
}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;width:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* ── MOBILE DRAWER ── */
.mobile-drawer{
  display:none;
  position:fixed;top:var(--nav-h);left:0;right:0;
  background:rgba(8,9,11,0.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--line);
  z-index:99;
  padding:16px 20px 24px;
  flex-direction:column;gap:4px;
  transform:translateY(-12px);opacity:0;
  transition:transform .25s ease, opacity .25s ease;
}
.mobile-drawer.open{
  transform:translateY(0);opacity:1;
}
.mobile-drawer a{
  display:block;padding:12px 14px;
  border-radius:10px;font-size:0.95rem;
  font-weight:500;color:var(--muted);
  border:1px solid transparent;
  transition:all .15s;
}
.mobile-drawer a:hover{color:var(--text);background:rgba(255,255,255,0.04);}
.mobile-drawer a.active{color:#7aaef8;background:var(--bdim);border-color:rgba(79,127,212,0.3);}
.mobile-drawer .drawer-divider{
  height:1px;background:var(--line);margin:10px 0;
}
.mobile-drawer .drawer-rfq{
  display:block;text-align:center;
  padding:12px;border-radius:10px;
  background:var(--blue);color:#fff;
  font-weight:700;font-size:0.9rem;
  margin-top:6px;
}

@media(max-width:720px){
  .navbar{padding:0 18px;gap:10px;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
  .mobile-drawer{display:flex;}
  .nav-end .rfq-btn{display:none;}
  .nav-end .lang-btn{font-size:0.78rem;padding:5px 10px;}
  .services-grid,.process-row{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .hero-left{padding:40px 22px;}
  .shell{padding:40px 18px;}
  .footer{padding:18px 22px;flex-direction:column;align-items:flex-start;}
  /* RTL mobile */
  body.lang-ar .hamburger{margin-left:0;margin-right:auto;}
}
