*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { text-decoration:none; color:inherit; }
:root {
  --orange:#F79433; --dark:#111111; --dark2:#181818; --dark3:#202020;
  --white:#FFFFFF; --muted:rgba(255,255,255,0.45); --faint:rgba(255,255,255,0.07);
  --border:rgba(255,255,255,0.08); --font:'IBM Plex Sans Arabic',sans-serif;
  --ease:cubic-bezier(.23,1,.32,1);
}
body { font-family:var(--font); background:var(--dark); color:var(--white); overflow-x:hidden; cursor:none; }

/* CURSOR */
#cur { width:10px;height:10px;background:var(--orange);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transform:translate(-50%,-50%); }
#ring { width:40px;height:40px;border:1px solid rgba(247,148,51,.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .3s,height .3s,border-color .3s; }

/* NAV */
nav { position:fixed;top:0;left:0;right:0;z-index:1000;padding:28px 60px;display:flex;align-items:center;justify-content:space-between;transition:all .5s var(--ease); }
nav.s { padding:16px 60px;background:rgba(17,17,17,.93);backdrop-filter:blur(24px);border-bottom:1px solid var(--border); }
.nlogo { display:flex;align-items:center;gap:12px; }
.nlogo svg { width:38px;height:38px; }
.nwm { display:flex;flex-direction:column;line-height:1.1; }
.nwm b { font-size:17px;font-weight:700;letter-spacing:3px; }
.nwm small { font-size:8px;font-weight:400;color:var(--orange);letter-spacing:4px;text-transform:uppercase; }
.nlinks { display:flex;gap:40px;list-style:none; }
.nlinks a { font-size:13px;color:var(--muted);transition:color .3s; }
.nlinks a:hover { color:var(--white); }
.nright { display:flex;align-items:center;gap:14px; }
.langbtn { font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:2px;color:var(--muted);background:none;border:1px solid var(--border);padding:7px 14px;border-radius:2px;cursor:none;transition:all .3s; }
.langbtn:hover { color:var(--orange);border-color:var(--orange); }
.ncta { font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:var(--orange);color:var(--dark);padding:11px 26px;border-radius:2px;border:none;cursor:none;transition:all .3s; }
.ncta:hover { background:var(--white); }

/* HERO */
.hero { height:100vh;min-height:700px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden; }
.hreel { position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:3px;transform:scale(1.04); }
.hcell { background:var(--dark3);position:relative;overflow:hidden; }
.hcell::after { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(247,148,51,.06),transparent); }
.hcell:nth-child(1) { grid-column:1;grid-row:1/3; }
.hovl { position:absolute;inset:0;background:linear-gradient(to top,rgba(17,17,17,1) 0%,rgba(17,17,17,.65) 35%,rgba(17,17,17,.1) 100%),linear-gradient(to right,rgba(17,17,17,.65) 0%,transparent 55%); }
.hcont { position:relative;z-index:2;padding:0 60px 70px;max-width:800px; }
.heye { display:inline-flex;align-items:center;gap:10px;margin-bottom:24px;font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--orange); }
.heye::before { content:'';width:32px;height:1px;background:var(--orange); }
.hh1 { font-size:clamp(52px,8vw,110px);font-weight:700;line-height:.93;margin-bottom:26px; }
.hh1 em { font-style:normal;color:var(--orange); }
.hsub { font-size:clamp(14px,1.5vw,17px);font-weight:300;color:var(--muted);max-width:480px;line-height:1.8;margin-bottom:44px; }
.hcta { display:flex;align-items:center;gap:18px;flex-wrap:wrap; }
.bfill { display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:var(--dark);font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:15px 34px;border-radius:2px;border:none;cursor:none;transition:all .35s var(--ease); }
.bfill:hover { background:var(--white);transform:translateY(-3px);box-shadow:0 20px 50px rgba(247,148,51,.25); }
.bout { display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--white);font-family:var(--font);font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:15px 34px;border-radius:2px;border:1px solid var(--border);cursor:none;transition:all .35s var(--ease); }
.bout:hover { border-color:var(--orange);color:var(--orange);transform:translateY(-3px); }
.hscroll { position:absolute;bottom:38px;right:60px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:9px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;writing-mode:vertical-rl; }
.hscroll::after { content:'';width:1px;height:60px;background:linear-gradient(to bottom,var(--orange),transparent);animation:ld 2s ease infinite; }
@keyframes ld { 0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}100%{transform:scaleY(0);transform-origin:bottom} }

/* MARQUEE */
.mq { background:var(--orange);overflow:hidden;padding:16px 0; }
.mqt { display:flex;animation:mq 18s linear infinite;white-space:nowrap; }
.mqt span { display:inline-flex;align-items:center;gap:24px;font-size:11px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--dark);padding:0 40px; }
.mqt span::after { content:'◆';opacity:.45; }
@keyframes mq { from{transform:translateX(0)}to{transform:translateX(-50%)} }

/* SHARED */
.sec { padding:130px 60px;position:relative; }
.sec2 { background:var(--dark2); }
.sec3 { background:var(--dark3); }
.lbl { display:inline-flex;align-items:center;gap:12px;font-size:10px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--orange);margin-bottom:18px; }
.lbl::before { content:'';width:28px;height:1px;background:var(--orange); }
h2.hd { font-size:clamp(36px,5vw,70px);font-weight:700;line-height:1.0;margin-bottom:24px; }
h2.hd em { font-style:normal;color:var(--orange); }
.divl { height:2px;background:linear-gradient(90deg,var(--orange),transparent); }

/* ABOUT */
.agrid { display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center; }
.avis { position:relative; }
.abig { width:100%;aspect-ratio:3/4;background:var(--dark3);border-radius:4px;overflow:hidden;border:1px solid var(--border);display:flex;align-items:center;justify-content:center; }
.asm { position:absolute;bottom:-32px;right:-32px;width:55%;aspect-ratio:1;background:var(--dark2);border-radius:4px;border:3px solid var(--dark);overflow:hidden; }
.acorn { position:absolute;top:-14px;left:-14px;width:60px;height:60px;border-top:2px solid var(--orange);border-left:2px solid var(--orange); }
.atxt p { font-size:16px;line-height:1.9;font-weight:300;color:var(--muted);margin-bottom:20px; }
.atxt p strong { color:var(--white);font-weight:600; }
.pills { display:flex;flex-wrap:wrap;gap:10px;margin:32px 0; }
.pill { background:var(--faint);border:1px solid var(--border);color:var(--orange);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:8px 18px;border-radius:2px; }

/* STATS */
.srow { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border); }
.sbox { padding:52px 40px;border-left:1px solid var(--border);transition:background .35s; }
.sbox:first-child { border-left:none; }
.sbox:hover { background:var(--faint); }
.snum { font-size:56px;font-weight:700;color:var(--orange);line-height:1;margin-bottom:8px;display:block; }
.slbl { font-size:11px;font-weight:400;color:var(--muted);letter-spacing:2px;text-transform:uppercase; }

/* SERVICES */
.slist { margin-top:64px; }
.srow2 { display:flex;align-items:center;padding:30px 0;border-bottom:1px solid var(--border);gap:36px;transition:all .35s var(--ease);cursor:none;position:relative;overflow:hidden; }
.srow2::before { content:'';position:absolute;right:0;top:0;width:0;height:100%;background:var(--faint);transition:width .45s var(--ease); }
.srow2:hover::before { width:100%; }
.srow2:first-child { border-top:1px solid var(--border); }
.snum2 { font-size:11px;font-weight:700;color:var(--orange);letter-spacing:2px;min-width:32px; }
.sico { width:48px;height:48px;flex-shrink:0;background:rgba(247,148,51,.08);border-radius:2px;display:flex;align-items:center;justify-content:center;transition:background .35s; }
.srow2:hover .sico { background:var(--orange); }
.sico svg { width:22px;height:22px; }
.srow2:hover .sico svg path,.srow2:hover .sico svg rect,.srow2:hover .sico svg circle,.srow2:hover .sico svg polyline { stroke:var(--dark); }
.sbody { flex:1; }
.stitle { font-size:22px;font-weight:700;color:var(--white);margin-bottom:6px; }
.sdesc { font-size:14px;font-weight:300;color:var(--muted);line-height:1.7;max-width:600px; }
.sarr { font-size:22px;color:var(--border);margin-right:8px;transition:color .3s,transform .3s; }
.srow2:hover .sarr { color:var(--orange);transform:translateX(-6px); }

/* PORTFOLIO */
.pfhdr { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px;flex-wrap:wrap;gap:24px; }
.pffilters { display:flex;gap:8px;flex-wrap:wrap; }
.pff { font-family:var(--font);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;background:transparent;border:1px solid var(--border);color:var(--muted);padding:9px 20px;border-radius:2px;cursor:none;transition:all .3s; }
.pff:hover,.pff.a { background:var(--orange);border-color:var(--orange);color:var(--dark); }
.pfgrid { display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:240px;gap:4px; }
.pfi { position:relative;overflow:hidden;background:var(--dark3);cursor:none; }
.pfi:nth-child(1){grid-column:span 8;grid-row:span 2}
.pfi:nth-child(2){grid-column:span 4}
.pfi:nth-child(3){grid-column:span 4}
.pfi:nth-child(4){grid-column:span 5}
.pfi:nth-child(5){grid-column:span 7}
.pfp { width:100%;height:100%;background:linear-gradient(135deg,rgba(247,148,51,.07),rgba(247,148,51,.01));display:flex;align-items:center;justify-content:center; }
.pfp svg { width:40px;height:40px;opacity:.15; }
.pfo { position:absolute;inset:0;background:linear-gradient(to top,rgba(17,17,17,.95) 0%,transparent 55%);opacity:0;transition:opacity .4s var(--ease);display:flex;align-items:flex-end;padding:24px; }
.pfi:hover .pfo { opacity:1; }
.pfi:hover { z-index:2; }
.pfi .pfp { transition:transform .6s var(--ease); }
.pfi:hover .pfp { transform:scale(1.04); }
.pfinh4 { font-size:17px;font-weight:700;color:var(--white);margin-bottom:4px; }
.pfins { font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orange); }

/* CTA STRIP */
.ctastrip { height:70vh;min-height:460px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center; }
.ctabg { position:absolute;inset:0;background:var(--dark3);display:flex;align-items:center;justify-content:center; }
.ctabg svg { width:500px;height:500px;opacity:.06; }
.ctaovl { position:absolute;inset:0;background:linear-gradient(to right,rgba(17,17,17,.9),rgba(17,17,17,.4)); }
.ctacont { position:relative;z-index:2;text-align:center;padding:0 60px; }
.ctacont h2 { font-size:clamp(36px,5vw,72px);font-weight:700;line-height:1.1;margin-bottom:24px; }
.ctacont h2 em { font-style:normal;color:var(--orange); }
.ctacont p { font-size:16px;font-weight:300;color:var(--muted);max-width:520px;margin:0 auto 40px;line-height:1.8; }

/* TESTIMONIALS */
.ttrack { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:60px; }
.tcard { background:var(--dark3);padding:44px 36px;border:1px solid var(--border);transition:border-color .35s,transform .35s; }
.tcard:hover { border-color:var(--orange);transform:translateY(-6px); }
.tq { font-size:15px;font-weight:300;color:var(--muted);line-height:1.8;margin-bottom:26px;position:relative;padding-top:28px; }
.tq::before { content:'"';position:absolute;top:0;right:0;font-size:64px;line-height:1;color:var(--orange);opacity:.3;font-family:Georgia,serif; }
.tau { display:flex;align-items:center;gap:14px; }
.tav { width:44px;height:44px;border-radius:50%;background:var(--dark2);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--orange);flex-shrink:0; }
.tname { font-size:14px;font-weight:700;color:var(--white); }
.trole { font-size:11px;color:var(--muted);margin-top:2px; }

/* CONTACT */
.cgrid { display:grid;grid-template-columns:1fr 1.5fr;gap:100px;align-items:start;margin-top:64px; }
.cleft h3 { font-size:28px;font-weight:700;margin-bottom:16px; }
.cleft p { font-size:15px;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:44px; }
.citem { display:flex;align-items:center;gap:16px;margin-bottom:22px; }
.cico { width:44px;height:44px;background:rgba(247,148,51,.08);border-radius:2px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.cico svg { width:18px;height:18px; }
.clbl { font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin-bottom:4px; }
.cval { font-size:15px;color:var(--white);font-weight:500; }
.form { display:flex;flex-direction:column;gap:16px; }
.fr { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.fg { display:flex;flex-direction:column;gap:7px; }
.fg label { font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3); }
.fg input,.fg textarea,.fg select { background:var(--faint);border:1px solid var(--border);border-radius:2px;padding:14px 18px;color:var(--white);font-size:14px;font-family:var(--font);outline:none;transition:border-color .3s,background .3s;direction:rtl; }
.fg input:focus,.fg textarea:focus,.fg select:focus { border-color:var(--orange);background:rgba(247,148,51,.04); }
.fg textarea { resize:vertical;min-height:130px; }
.fg select option { background:var(--dark); }
.bsub { width:100%;padding:16px;background:var(--orange);color:var(--dark);font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;border:none;border-radius:2px;cursor:none;transition:all .35s var(--ease); }
.bsub:hover { background:var(--white);transform:translateY(-2px); }

/* FOOTER */
footer { background:#0d0d0d;border-top:1px solid var(--border);padding:64px 60px 36px; }
.ftop { display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:60px;padding-bottom:52px;border-bottom:1px solid var(--border); }
.fbrand p { font-size:14px;font-weight:300;color:var(--muted);margin-top:20px;max-width:260px;line-height:1.8; }
.fcol h6 { font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--orange);margin-bottom:20px; }
.fcol ul { list-style:none;display:flex;flex-direction:column;gap:11px; }
.fcol ul li a { font-size:14px;font-weight:300;color:var(--muted);transition:color .3s; }
.fcol ul li a:hover { color:var(--white); }
.fbot { padding-top:28px;display:flex;align-items:center;justify-content:space-between; }
.fbot p { font-size:12px;color:rgba(255,255,255,.2); }
.fbot p span { color:var(--orange); }
.socs { display:flex;gap:10px; }
.soc { width:36px;height:36px;border-radius:2px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted);transition:all .3s;cursor:none; }
.soc:hover { background:var(--orange);border-color:var(--orange);color:var(--dark); }

/* REVEAL */
.rv { opacity:0;transform:translateY(48px);transition:opacity .9s var(--ease),transform .9s var(--ease); }
.rv.in { opacity:1;transform:none; }
.d1 { transition-delay:.1s; } .d2 { transition-delay:.2s; } .d3 { transition-delay:.3s; }

/* RESPONSIVE */
@media(max-width:1100px){
  .agrid,.cgrid{grid-template-columns:1fr;}
  .ftop{grid-template-columns:1fr 1fr;}
  .ttrack{grid-template-columns:1fr;}
  .pfi:nth-child(1){grid-column:span 12;}
  .pfi:nth-child(2),.pfi:nth-child(3),.pfi:nth-child(4),.pfi:nth-child(5){grid-column:span 6;}
}
@media(max-width:768px){
  nav,.hcont,.sec,footer{padding-left:24px;padding-right:24px;}
  nav{padding-top:18px;padding-bottom:18px;}
  nav.s{padding-top:14px;padding-bottom:14px;}
  .nlinks{display:none;}
  .hh1{font-size:clamp(42px,11vw,72px);}
  .hscroll{display:none;}
  .srow{grid-template-columns:1fr 1fr;}
  .fr{grid-template-columns:1fr;}
  .ftop{grid-template-columns:1fr;gap:36px;}
  footer{padding:48px 24px 28px;}
  .fbot{flex-direction:column;gap:16px;}
  #cur,#ring{display:none;}
  body{cursor:default;}
}
