/* ==========================================================
   ST-RGB — Premium bilingual one-page website
   Approved visual direction: graphite black + cyan + violet
   ========================================================== */
:root{
  --bg:#03050a;
  --bg-soft:#070b12;
  --panel:#0a0f18;
  --panel-2:#0e1420;
  --text:#f4f8ff;
  --muted:#8d99ab;
  --line:rgba(255,255,255,.10);
  --line-strong:rgba(255,255,255,.18);
  --cyan:#11dffc;
  --cyan-2:#52f1ff;
  --blue:#2376ff;
  --violet:#9634ff;
  --magenta:#dc35f6;
  --green:#35e88a;
  --radius:26px;
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Tajawal",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:hidden;line-height:1.5
}
body.menu-open{overflow:hidden}
body.en{font-family:"Montserrat",system-ui,sans-serif}
body.en [dir]{direction:ltr}
::selection{background:rgba(17,223,252,.28);color:#fff}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{color:inherit}
canvas{display:block}
.page-noise{
  position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")
}
.ambient{position:fixed;border-radius:50%;filter:blur(130px);pointer-events:none;z-index:-1;opacity:.11}
.ambient-1{width:530px;height:530px;right:-220px;top:25%;background:var(--cyan)}
.ambient-2{width:560px;height:560px;left:-260px;top:58%;background:var(--violet)}
.cursor-glow{
  width:360px;height:360px;border-radius:50%;position:fixed;z-index:-1;
  background:radial-gradient(circle,rgba(37,119,255,.10),rgba(150,52,255,.04) 40%,transparent 70%);
  transform:translate(-50%,-50%);pointer-events:none;transition:opacity .2s
}

/* Preloader */
.preloader{
  position:fixed;inset:0;z-index:9999;background:#010205;display:flex;
  flex-direction:column;align-items:center;justify-content:center;overflow:hidden;
  transition:opacity .8s var(--ease),visibility .8s
}
.preloader.hide{opacity:0;visibility:hidden}
.preloader-logo{
  width:min(40vw,270px);aspect-ratio:1;border-radius:28px;object-fit:cover;
  position:relative;z-index:3;filter:brightness(.4) saturate(.8);
  animation:logoAwake 2.4s var(--ease) forwards;
  box-shadow:0 0 0 transparent
}
.preloader-name{
  margin-top:22px;font-family:"Montserrat",sans-serif;font-weight:900;
  letter-spacing:.22em;font-size:clamp(22px,3vw,38px);opacity:0;
  animation:fadeUp .8s 1.2s forwards
}
.preloader-caption{font-family:"Montserrat";font-size:8px;letter-spacing:.45em;color:#657184;margin-top:13px;opacity:0;animation:fadeUp .8s 1.45s forwards}
.preloader-line{width:min(260px,60vw);height:1px;background:#1b2230;margin-top:26px;overflow:hidden}
.preloader-line span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));box-shadow:0 0 14px var(--cyan);animation:loadingLine 2.2s .25s var(--ease) forwards}
.preloader-orbit{position:absolute;border-radius:50%;border:1px solid rgba(17,223,252,.12)}
.orbit-one{width:500px;height:500px;animation:orbitSpin 12s linear infinite}
.orbit-two{width:720px;height:720px;border-color:rgba(150,52,255,.09);animation:orbitSpin 17s linear infinite reverse}
.orbit-one::after,.orbit-two::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan);top:49%;left:-4px}
.orbit-two::after{background:var(--violet);box-shadow:0 0 18px var(--violet);left:auto;right:-4px}

/* Header */
.site-header{
  position:fixed;z-index:80;top:0;left:0;right:0;height:92px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 clamp(20px,5vw,78px);border-bottom:1px solid transparent;
  transition:.35s var(--ease)
}
.site-header.scrolled{
  height:76px;background:rgba(3,5,10,.78);backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);border-color:var(--line)
}
.brand{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.brand img{width:50px;height:50px;border-radius:12px;object-fit:cover;box-shadow:0 0 24px rgba(17,223,252,.08)}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand strong{font-family:"Montserrat";font-weight:900;letter-spacing:.08em;font-size:17px}
.brand small{color:var(--muted);font-size:10px;margin-top:7px;white-space:nowrap}
.desktop-nav{display:flex;gap:30px;align-items:center}
.desktop-nav a{font-size:13px;color:#bbc3d0;position:relative;padding:12px 0}
.desktop-nav a::after{content:"";position:absolute;right:0;bottom:5px;width:0;height:1px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);transition:.25s}
body.en .desktop-nav a::after{right:auto;left:0}
.desktop-nav a:hover{color:#fff}.desktop-nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:12px}
.language-switch{border:0;background:transparent;color:#6f7a8d;display:flex;align-items:center;gap:7px;font-family:"Montserrat";font-size:10px;font-weight:800;cursor:pointer}
.language-switch span.active{color:#fff}
.language-switch i{width:18px;height:1px;background:#354052}
.header-cta{font-size:12px;font-weight:800;padding:12px 18px;border-radius:999px;background:#fff;color:#05070b;transition:.25s}
.header-cta:hover{background:var(--cyan);box-shadow:0 0 28px rgba(17,223,252,.25)}
.menu-button{display:none;border:1px solid var(--line);width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.03);position:relative;z-index:90}
.menu-button span{position:absolute;width:17px;height:1px;background:#fff;left:14px;transition:.25s}
.menu-button span:first-child{top:18px}.menu-button span:last-child{top:26px}
.menu-button.open span:first-child{top:22px;transform:rotate(45deg)}
.menu-button.open span:last-child{top:22px;transform:rotate(-45deg)}
.mobile-menu{display:none}

/* Hero */
.hero{
  min-height:100vh;position:relative;display:grid;grid-template-columns:1.05fr .95fr;
  align-items:center;gap:30px;padding:148px clamp(22px,6vw,96px) 90px;isolation:isolate;overflow:hidden
}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:-4;opacity:.7}
.hero-grid{
  position:absolute;inset:0;z-index:-3;opacity:.18;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:72px 72px;mask-image:linear-gradient(to bottom,black 0%,transparent 85%)
}
.hero::after{content:"";position:absolute;inset:auto 5% 0;height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent)}
.hero-beam{position:absolute;width:45vw;height:3px;filter:blur(2px);opacity:.25;z-index:-2;transform:rotate(-30deg)}
.beam-a{background:linear-gradient(90deg,transparent,var(--cyan),transparent);right:-10%;top:30%}
.beam-b{background:linear-gradient(90deg,transparent,var(--violet),transparent);left:-15%;bottom:24%;transform:rotate(25deg)}
.hero-content{max-width:760px;z-index:3}
.hero-badge{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);background:rgba(255,255,255,.025);border-radius:999px;padding:9px 14px;color:#aeb8c7;font-size:11px}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:statusPulse 2s infinite}
.hero h1{font-size:clamp(60px,7.6vw,118px);line-height:.87;letter-spacing:-.065em;margin:34px 0 30px;font-weight:900}
body.en .hero h1{font-family:"Montserrat";font-size:clamp(52px,6.9vw,108px);letter-spacing:-.075em}
.hero h1 span,.hero h1 em{display:block}
.hero h1 em{font-style:normal;background:linear-gradient(96deg,var(--cyan),#4e8cff 44%,var(--violet) 78%,var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 35px rgba(17,223,252,.08))}
.hero-content>p{max-width:680px;color:var(--muted);font-size:clamp(16px,1.45vw,20px);line-height:1.9;margin:0}
.hero-actions{display:flex;align-items:center;gap:24px;margin-top:35px;flex-wrap:wrap}
.primary-button{
  min-height:58px;padding:0 25px;border-radius:999px;background:linear-gradient(105deg,var(--cyan),#52b8ff 48%,#8d55ff);
  color:#031018;font-weight:900;display:inline-flex;align-items:center;gap:26px;border:0;cursor:pointer;
  box-shadow:0 13px 40px rgba(17,223,252,.15);transition:.28s var(--ease)
}
.primary-button:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(17,223,252,.23)}
.primary-button i{font-style:normal;font-size:18px}
.text-button{display:inline-flex;align-items:center;gap:11px;color:#d8dee8;font-size:13px;font-weight:700}
.play-icon{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);display:grid;place-items:center;font-size:9px;padding-left:2px;transition:.25s}
.text-button:hover .play-icon{background:#fff;color:#000;border-color:#fff}
.hero-metrics{display:flex;gap:40px;margin-top:50px}
.hero-metrics>div{position:relative;display:grid;grid-template-columns:auto auto;align-items:start}
.hero-metrics strong{font-family:"Montserrat";font-size:25px;line-height:1;font-weight:800}
.hero-metrics sup{font-family:"Montserrat";font-size:11px;color:var(--cyan);margin:0 3px}
.hero-metrics span{grid-column:1/-1;color:#798597;font-size:10px;margin-top:8px}
.hero-logo-wrap{position:relative;min-height:620px;display:grid;place-items:center;z-index:2}
.hero-logo{
  width:min(90%,680px);border-radius:34px;object-fit:cover;position:relative;z-index:2;
  filter:saturate(1.08) contrast(1.05);mix-blend-mode:screen;
  -webkit-mask-image:radial-gradient(ellipse at center,black 56%,transparent 82%);
  mask-image:radial-gradient(ellipse at center,black 56%,transparent 82%);
  animation:logoFloat 7s ease-in-out infinite;
}
.logo-halo{position:absolute;border-radius:50%;filter:blur(55px);opacity:.22}
.halo-one{width:380px;height:380px;background:var(--cyan);right:18%;top:18%}
.halo-two{width:360px;height:360px;background:var(--violet);left:15%;bottom:12%}
.logo-platform{position:absolute;width:76%;height:16%;bottom:9%;border-radius:50%;background:radial-gradient(ellipse,var(--cyan),rgba(36,90,255,.3) 25%,transparent 68%);filter:blur(28px);opacity:.22;transform:perspective(600px) rotateX(70deg)}
.floating-label{
  position:absolute;z-index:5;border:1px solid var(--line);background:rgba(5,8,14,.56);
  backdrop-filter:blur(14px);padding:10px 14px;border-radius:999px;
  font-family:"Montserrat";font-size:9px;letter-spacing:.12em;color:#c7d3e4;box-shadow:0 16px 35px rgba(0,0,0,.28)
}
.floating-label i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan);margin-inline-end:8px}
.label-one{top:18%;left:5%;animation:labelFloat 5s ease-in-out infinite}
.label-two{right:2%;top:48%;animation:labelFloat 6s .5s ease-in-out infinite reverse}
.label-three{left:10%;bottom:14%;animation:labelFloat 5.5s 1s ease-in-out infinite}
.scroll-cue{position:absolute;bottom:27px;right:50%;transform:translateX(50%);display:flex;align-items:center;gap:10px;color:#6f7a8b;font-size:9px;letter-spacing:.15em}
.scroll-cue i{width:1px;height:30px;background:linear-gradient(var(--cyan),transparent);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;width:1px;height:10px;background:#fff;top:-10px;animation:scrollDrop 1.8s infinite}

/* Marquee */
.marquee{height:96px;border-bottom:1px solid var(--line);overflow:hidden;display:flex;align-items:center;direction:ltr}
.marquee>div{display:flex;align-items:center;gap:28px;white-space:nowrap;min-width:max-content;animation:marquee 28s linear infinite}
.marquee span{font-family:"Montserrat";font-size:12px;letter-spacing:.18em;color:#7c8798}
.marquee i{width:5px;height:5px;border-radius:50%;background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 10px var(--cyan)}

/* Sections */
.section{padding:135px clamp(22px,6vw,96px)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:64px}
.section-index{font-family:"Montserrat";font-size:9px;letter-spacing:.22em;color:var(--cyan);display:block;margin-bottom:19px}
.section-heading h2,.process-intro h2,.about-copy h2,.contact-copy h2,.designer-copy h2{
  margin:0;font-size:clamp(43px,5.9vw,82px);line-height:.98;letter-spacing:-.055em;font-weight:900
}
body.en .section-heading h2,body.en .process-intro h2,body.en .about-copy h2,body.en .contact-copy h2,body.en .designer-copy h2{font-family:"Montserrat"}
.section-heading>p{max-width:510px;color:var(--muted);line-height:1.9;font-size:15px;margin:0}

/* Services */
.services{position:relative}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{
  min-height:470px;padding:27px;border:1px solid var(--line);border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(255,255,255,.036),rgba(255,255,255,.012));
  position:relative;overflow:hidden;display:flex;flex-direction:column;transform-style:preserve-3d;transition:border-color .3s,box-shadow .3s
}
.service-card::after{content:"";position:absolute;inset:auto -30% -60% -30%;height:70%;background:radial-gradient(circle,rgba(17,223,252,.13),transparent 65%);opacity:0;transition:.35s}
.service-card:hover{border-color:rgba(17,223,252,.3);box-shadow:0 28px 80px rgba(0,0,0,.3)}
.service-card:hover::after{opacity:1}
.service-featured{background:linear-gradient(145deg,rgba(17,223,252,.08),rgba(150,52,255,.045))}
.service-number{font-family:"Montserrat";font-size:10px;color:#6e798b;letter-spacing:.15em}
.service-visual{height:210px;position:relative;display:grid;place-items:center;margin:17px 0 4px;transform:translateZ(26px)}
.letter-visual{direction:ltr}
.letter-visual b{font-family:"Montserrat";font-size:103px;line-height:1;letter-spacing:-.18em;color:#090d14;-webkit-text-stroke:1px #bdf9ff;text-shadow:0 0 8px var(--cyan),0 0 32px rgba(17,223,252,.65),0 0 70px rgba(150,52,255,.38)}
.letter-visual b:last-child{color:#10182b;text-shadow:0 0 8px #706cff,0 0 32px var(--violet)}
.pixel-visual{grid-template-columns:repeat(5,13px);grid-template-rows:repeat(3,13px);gap:18px}
.pixel-visual span{width:13px;height:13px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan),0 0 26px var(--cyan);animation:pixelWave 2.4s infinite alternate}
.pixel-visual span:nth-child(3n){background:var(--violet);box-shadow:0 0 10px var(--violet),0 0 26px var(--violet)}
.pixel-visual span:nth-child(2n){animation-delay:.4s}.pixel-visual span:nth-child(4n){animation-delay:.8s}
.facade-visual::before{content:"";position:absolute;width:92%;height:116px;bottom:25px;background:linear-gradient(160deg,#141b26,#080b10);border:1px solid #253044;transform:perspective(500px) rotateX(-8deg);box-shadow:0 25px 35px rgba(0,0,0,.45)}
.facade-visual div{position:relative;z-index:2;font-family:"Montserrat";font-weight:900;letter-spacing:.08em;font-size:28px;color:white;text-shadow:0 0 8px white,0 0 22px var(--cyan),0 0 44px var(--blue)}
.neon-visual b{font-family:"Montserrat";font-style:italic;font-size:54px;font-weight:600;color:#fff5ff;text-shadow:0 0 5px #fff,0 0 12px var(--magenta),0 0 35px var(--magenta),0 0 70px var(--violet);transform:rotate(-7deg)}
.service-card h3{font-size:23px;margin:auto 0 11px;position:relative;z-index:2}
.service-card p{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 26px;position:relative;z-index:2}
.service-card a{display:flex;align-items:center;justify-content:space-between;padding-top:17px;border-top:1px solid var(--line);font-size:11px;font-weight:800;position:relative;z-index:2}
.service-card a i{font-style:normal;color:var(--cyan);font-size:17px}

/* Projects */
.projects{background:linear-gradient(180deg,transparent,rgba(255,255,255,.012),transparent)}
.project-filter{display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:999px}
.project-filter button{border:0;background:transparent;color:#7f8a9a;padding:8px 14px;border-radius:999px;font-size:10px;cursor:pointer}
.project-filter button.active{background:#fff;color:#03050a}
.projects-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.project-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;transition:.35s var(--ease)}
.project-card:hover{transform:translateY(-7px);border-color:var(--line-strong)}
.project-wide{grid-row:span 2}
.project-media{height:320px;position:relative;display:grid;place-items:center;overflow:hidden}
.project-wide .project-media{height:680px}
.project-tag{position:absolute;top:20px;left:20px;direction:ltr;font-family:"Montserrat";font-size:8px;letter-spacing:.17em;color:#9ca7b6;border:1px solid var(--line);background:rgba(4,6,10,.5);backdrop-filter:blur(12px);padding:8px 10px;border-radius:999px}
.media-rgb{background:radial-gradient(circle at center,rgba(17,223,252,.13),transparent 34%),linear-gradient(145deg,#101722,#04060a)}
.pixel-rain{position:absolute;inset:0;opacity:.3;background-image:radial-gradient(circle,var(--cyan) 1px,transparent 1.5px);background-size:31px 31px;mask-image:linear-gradient(black,transparent 85%);animation:gridMove 13s linear infinite}
.project-sign{text-align:center;position:relative;z-index:2;transform:rotate(-4deg)}
.project-sign span{display:block;font-family:"Montserrat";font-weight:900;font-size:clamp(60px,8vw,116px);line-height:.75;text-shadow:0 0 7px white,0 0 18px var(--cyan),0 0 45px var(--blue);letter-spacing:-.07em}
.project-sign b{display:block;font-family:"Montserrat";font-size:clamp(30px,4vw,58px);letter-spacing:.28em;color:#9df7ff;text-shadow:0 0 14px var(--cyan),0 0 38px var(--violet)}
.media-gold{background:radial-gradient(circle at center,rgba(255,198,92,.15),transparent 35%),linear-gradient(145deg,#1c1710,#070707)}
.gold-sign{font-family:"Montserrat";font-size:74px;font-weight:500;letter-spacing:.04em;color:#fff4c8;text-shadow:0 0 5px white,0 0 13px #ffc66f,0 0 36px #ff9d2e;transform:perspective(400px) rotateY(-12deg)}
.media-facade{background:linear-gradient(155deg,#191d25,#080a0e)}
.storefront{width:78%;height:145px;background:#0d1015;border:1px solid #343d4b;box-shadow:0 35px 40px rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:perspective(600px) rotateY(8deg)}
.storefront span{font-family:"Montserrat";font-size:35px;font-weight:800;letter-spacing:.13em;text-shadow:0 0 8px white,0 0 22px var(--cyan)}
.storefront i{width:60%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);margin:10px}
.storefront small{font-family:"Montserrat";font-size:7px;letter-spacing:.35em;color:#7d8999}
.project-info{padding:24px 25px;display:grid;grid-template-columns:1fr auto;gap:13px;align-items:end}
.project-info>div{display:flex;gap:12px;align-items:baseline}
.project-info>div span{font-family:"Montserrat";font-size:9px;color:var(--cyan)}
.project-info h3{margin:0;font-size:20px}
.project-info p{grid-column:1;color:var(--muted);font-size:12px;margin:0}
.project-open{grid-column:2;grid-row:1/3;width:45px;height:45px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;font-size:17px;transition:.25s}
.project-open:hover{background:#fff;color:#000;transform:rotate(45deg)}
.project-card.hidden{display:none}
.demo-note{text-align:center;color:#667184;font-size:11px;margin-top:25px}

/* Process */
.process{display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:start}
.process-intro{position:sticky;top:130px}
.process-intro p{max-width:500px;color:var(--muted);line-height:1.9;margin-top:28px;font-size:15px}
.process-timeline{border-top:1px solid var(--line)}
.process-step{display:grid;grid-template-columns:62px 1fr 40px;gap:22px;padding:38px 0;border-bottom:1px solid var(--line);align-items:start;transition:.25s}
.process-step:hover{padding-inline:12px;background:linear-gradient(90deg,transparent,rgba(17,223,252,.025),transparent)}
.process-step>span{font-family:"Montserrat";font-size:10px;color:var(--cyan);padding-top:8px}
.process-step h3{margin:0 0 9px;font-size:25px}
.process-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.process-step>i{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;position:relative}
.process-step>i::before,.process-step>i::after{content:"";position:absolute;background:#8190a4}
.process-step>i::before{width:12px;height:1px;top:17px;left:11px}
.process-step>i::after{width:1px;height:12px;top:11px;left:17px}
.process-step:hover>i{border-color:var(--cyan);box-shadow:0 0 20px rgba(17,223,252,.12)}

/* About */
.about-card{border:1px solid var(--line);border-radius:36px;min-height:600px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;padding:60px;background:radial-gradient(circle at 20% 45%,rgba(17,223,252,.07),transparent 30%),radial-gradient(circle at 90% 20%,rgba(150,52,255,.06),transparent 25%),var(--panel)}
.about-logo{position:relative;display:grid;place-items:center;min-height:420px}
.about-logo img{width:min(90%,430px);border-radius:38px;mix-blend-mode:screen;-webkit-mask-image:radial-gradient(circle,black 56%,transparent 80%);mask-image:radial-gradient(circle,black 56%,transparent 80%);position:relative;z-index:2}
.about-orbit{position:absolute;width:390px;height:390px;border:1px solid rgba(17,223,252,.12);border-radius:50%;animation:orbitSpin 13s linear infinite}
.about-orbit::before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan);top:50%;left:-5px}
.about-copy p{color:var(--muted);line-height:1.9;font-size:15px;max-width:650px}
.about-values{display:flex;gap:24px;flex-wrap:wrap;margin-top:32px}
.about-values span{display:flex;align-items:center;gap:9px;color:#d6dce6;font-size:12px}
.about-values i{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.about-values b{font-weight:700}

/* Designer teaser */
.designer-teaser{margin:20px clamp(22px,6vw,96px) 0;border:1px solid var(--line);border-radius:38px;min-height:690px;padding:70px;position:relative;overflow:hidden;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px;background:#070a10}
.designer-teaser::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:55px 55px;opacity:.14;mask-image:linear-gradient(90deg,transparent,black)}
.designer-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:linear-gradient(var(--cyan),var(--violet));filter:blur(150px);opacity:.13;right:15%;top:10%}
.designer-copy,.designer-demo{position:relative;z-index:2}
.designer-copy h2 em,.contact-copy h2 em{font-style:normal;background:linear-gradient(95deg,var(--cyan),var(--violet));-webkit-background-clip:text;color:transparent}
.designer-copy p{color:var(--muted);line-height:1.9;max-width:520px;margin:28px 0}
.outline-button{display:inline-flex;align-items:center;gap:24px;border:1px solid var(--line-strong);border-radius:999px;padding:14px 20px;font-size:12px;font-weight:800;transition:.25s}
.outline-button:hover{background:#fff;color:#000}
.designer-window{border:1px solid rgba(255,255,255,.15);border-radius:24px;background:rgba(8,12,19,.88);box-shadow:0 35px 90px rgba(0,0,0,.48);overflow:hidden;transform:perspective(1200px) rotateY(-7deg) rotateX(4deg)}
body.en .designer-window{transform:perspective(1200px) rotateY(7deg) rotateX(4deg)}
.window-top{height:48px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;padding:0 18px;direction:ltr}
.window-top i{width:7px;height:7px;border-radius:50%;background:#2c3441}.window-top i:first-child{background:#fa5b65}.window-top i:nth-child(2){background:#ffbf47}.window-top i:nth-child(3){background:#36d079}
.window-top span{margin-left:auto;font-family:"Montserrat";font-size:7px;letter-spacing:.18em;color:#5f6b7d}
.window-body{height:410px;display:grid;grid-template-columns:95px 1fr;direction:ltr}
.designer-controls{border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:15px}
.designer-controls span{height:38px;border-radius:8px;background:linear-gradient(120deg,#111722,#202a3a);border:1px solid rgba(255,255,255,.06)}
.designer-preview{display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 48%,rgba(17,223,252,.12),transparent 32%)}
.designer-preview b{font-family:"Montserrat";font-size:clamp(48px,6vw,85px);letter-spacing:-.07em;text-shadow:0 0 6px white,0 0 16px var(--cyan),0 0 40px var(--blue),0 0 70px var(--violet);position:relative;z-index:2}
.preview-floor{position:absolute;width:70%;height:17%;bottom:16%;border-radius:50%;background:radial-gradient(ellipse,var(--cyan),transparent 68%);filter:blur(22px);opacity:.18;transform:rotateX(70deg)}

/* Contact */
.contact-shell{border:1px solid var(--line);border-radius:38px;padding:65px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;background:radial-gradient(circle at 5% 10%,rgba(150,52,255,.07),transparent 26%),radial-gradient(circle at 95% 85%,rgba(17,223,252,.07),transparent 25%),var(--panel)}
.contact-copy p{color:var(--muted);line-height:1.9;max-width:520px}
.contact-details{margin-top:34px;border-top:1px solid var(--line)}
.contact-details a{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:15px;padding:18px 0;border-bottom:1px solid var(--line);direction:ltr}
.contact-details span{font-family:"Montserrat";font-size:8px;letter-spacing:.15em;color:#768295}.contact-details b{font-family:"Montserrat";font-size:14px;text-align:left}.contact-details i{font-style:normal}
.contact-copy small{display:block;color:#616c7d;font-size:10px;margin-top:17px}
.quote-form{display:flex;flex-direction:column;gap:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-form label{display:flex;flex-direction:column;gap:9px;color:#c5cedb;font-size:11px;font-weight:600}
.quote-form input,.quote-form textarea,.quote-form select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#fff;border-radius:13px;padding:14px 15px;outline:0;transition:.2s}
.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:rgba(17,223,252,.55);box-shadow:0 0 0 4px rgba(17,223,252,.05)}
.quote-form textarea{resize:vertical}.quote-form select option{background:#0b1018}
.submit-button{justify-content:space-between;margin-top:4px;width:100%}
.form-status{margin:0;font-size:11px;color:var(--cyan);min-height:16px}

/* Footer */
footer{padding:65px clamp(22px,6vw,96px) 28px;border-top:1px solid var(--line)}
.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:55px;border-bottom:1px solid var(--line)}
.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand img{width:72px;height:72px;border-radius:16px}.footer-brand div{display:flex;flex-direction:column}.footer-brand strong{font-family:"Montserrat";font-size:21px;letter-spacing:.09em}.footer-brand span{color:var(--muted);font-size:11px;margin-top:7px}
.footer-top h3{font-size:clamp(28px,4vw,58px);line-height:1;margin:0;max-width:650px;text-align:left;letter-spacing:-.045em}
body.en .footer-top h3{font-family:"Montserrat"}
.footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding-top:27px;color:#687486;font-size:10px}
.footer-bottom>div{display:flex;gap:20px}.footer-bottom a:hover{color:#fff}.back-top{justify-self:end}

.whatsapp-buttons{
  position:fixed;
  z-index:70;
  left:22px;
  bottom:22px;
  display:flex;
  flex-direction:column;
  gap:12px
}
.whatsapp-button{
  position:relative;
  min-width:156px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 12px 11px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  text-decoration:none;
  color:#fff;
  overflow:hidden;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 16px 42px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.06);
  transition:transform .25s ease, box-shadow .25s ease
}
.whatsapp-button::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:1;
  z-index:0
}
.whatsapp-button-hazem{
  background:linear-gradient(135deg,#101812,#14291d);
}
.whatsapp-button-hazem::before{
  background:linear-gradient(100deg,rgba(37,211,102,.24),rgba(17,223,252,.08));
}
.whatsapp-button-feras{
  background:linear-gradient(135deg,#0f1318,#18212c);
}
.whatsapp-button-feras::before{
  background:linear-gradient(100deg,rgba(37,211,102,.18),rgba(150,52,255,.16));
}
.whatsapp-button:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(0,0,0,.46),0 0 24px rgba(37,211,102,.14)
}
.whatsapp-name{
  position:relative;
  z-index:1;
  font-size:14px;
  font-weight:900;
  letter-spacing:.02em
}
.wa-icon{
  position:relative;
  z-index:1;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#25d366,#16b957);
  box-shadow:0 0 0 3px rgba(255,255,255,.05),0 10px 22px rgba(37,211,102,.25)
}
.wa-icon svg{display:block}
@media(max-width:820px){
  .whatsapp-buttons{left:14px;bottom:14px}
  .whatsapp-button{min-width:142px;padding:10px 11px 10px 14px}
  .whatsapp-name{font-size:13px}
  .wa-icon{width:34px;height:34px;flex-basis:34px}
}

.project-modal{width:min(760px,calc(100% - 30px));border:1px solid var(--line-strong);border-radius:30px;background:#080c13;color:#fff;padding:0;box-shadow:0 40px 120px rgba(0,0,0,.65)}
.project-modal::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(12px)}
.modal-close{position:absolute;top:18px;left:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:25px;cursor:pointer;z-index:2}
.modal-content{padding:70px 38px 38px}.modal-content>span{font-family:"Montserrat";font-size:9px;letter-spacing:.17em;color:var(--cyan)}.modal-content h2{font-family:"Montserrat";font-size:clamp(40px,7vw,82px);margin:16px 0 10px;letter-spacing:-.06em}.modal-content p{color:var(--muted)}
.modal-demo{height:280px;border:1px solid var(--line);border-radius:20px;margin-top:28px;background:radial-gradient(circle,rgba(17,223,252,.16),transparent 38%),linear-gradient(145deg,#101722,#05070b);position:relative;overflow:hidden}
.modal-demo::after{content:"ST-RGB";position:absolute;inset:0;display:grid;place-items:center;font-family:"Montserrat";font-size:70px;font-weight:900;text-shadow:0 0 8px white,0 0 23px var(--cyan),0 0 60px var(--violet)}

/* Reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* Animations */
@keyframes logoAwake{0%{filter:brightness(.15) saturate(.3);transform:scale(.86)}55%{filter:brightness(.65) saturate(1.1);box-shadow:0 0 25px rgba(17,223,252,.12)}100%{filter:brightness(1.04) saturate(1.15);transform:scale(1);box-shadow:0 0 70px rgba(17,223,252,.13),0 0 120px rgba(150,52,255,.09)}}
@keyframes loadingLine{to{width:100%}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
@keyframes logoFloat{50%{transform:translateY(-14px) scale(1.015)}}
@keyframes labelFloat{50%{transform:translateY(-12px)}}
@keyframes scrollDrop{to{top:35px}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes statusPulse{50%{opacity:.4}}
@keyframes pixelWave{to{opacity:.25;transform:scale(.6)}}
@keyframes gridMove{to{background-position:0 100px}}

/* Responsive */
@media(max-width:1180px){
  .desktop-nav{display:none}.menu-button{display:block}.header-cta{display:none}
  .mobile-menu{display:block;position:fixed;inset:0;z-index:75;background:rgba(3,5,10,.98);visibility:hidden;opacity:0;transition:.35s var(--ease);padding:120px 35px 40px}
  .mobile-menu.open{visibility:visible;opacity:1}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{display:grid;grid-template-columns:55px 1fr;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.mobile-menu nav span{font-family:"Montserrat";font-size:9px;color:var(--cyan)}.mobile-menu nav b{font-size:clamp(28px,6vw,52px)}
  .hero{grid-template-columns:1fr;padding-top:135px}.hero-content{max-width:900px}.hero-logo-wrap{min-height:570px}
  .services-grid{grid-template-columns:1fr 1fr}.projects-grid{grid-template-columns:1fr 1fr}.project-wide{grid-column:1/-1;grid-row:auto}.project-wide .project-media{height:570px}
}
@media(max-width:820px){
  .site-header{height:76px;padding:0 18px}.brand img{width:44px;height:44px}.brand small{display:none}
  .language-switch{display:none}
  .hero{padding:112px 20px 76px;gap:0}.hero h1{margin-top:25px}.hero-content>p{font-size:15px}.hero-logo-wrap{min-height:430px;margin-top:20px}.hero-logo{width:100%}
  .floating-label{font-size:7px;padding:8px 10px}.label-one{left:0}.label-two{right:0}.label-three{left:5%}
  .hero-metrics{gap:18px;justify-content:space-between}.hero-metrics strong{font-size:21px}.hero-metrics span{font-size:8px}
  .scroll-cue{display:none}
  .section{padding:95px 20px}.section-heading{display:block;margin-bottom:42px}.section-heading>p{margin-top:22px}
  .services-grid,.projects-grid,.process,.about-card,.designer-teaser,.contact-shell{grid-template-columns:1fr}
  .service-card{min-height:430px}
  .projects-grid{gap:16px}.project-wide .project-media{height:440px}.project-media{height:300px}
  .process{gap:45px}.process-intro{position:static}
  .about-card{padding:26px;gap:20px}.about-logo{min-height:330px}.about-orbit{width:290px;height:290px}
  .designer-teaser{margin:10px 15px 0;padding:35px 24px;gap:45px;min-height:0}.designer-window{transform:none}.window-body{height:320px;grid-template-columns:65px 1fr}
  .contact-shell{padding:27px;gap:45px}.form-row{grid-template-columns:1fr}
  .footer-top{display:block}.footer-top h3{text-align:right;margin-top:35px}.footer-bottom{grid-template-columns:1fr;text-align:center}.footer-bottom>div{justify-content:center}.back-top{justify-self:center}
  .whatsapp-buttons{left:14px;bottom:14px}
}
@media(max-width:520px){
  .hero h1{font-size:53px}.hero-actions{gap:17px}.primary-button{min-height:54px;padding:0 20px}.text-button{font-size:11px}
  .hero-logo-wrap{min-height:360px}.hero-logo{border-radius:24px}
  .services-grid{grid-template-columns:1fr}.service-card{min-height:450px}
  .project-filter{margin-top:24px;overflow-x:auto;max-width:100%}.project-filter button{white-space:nowrap}
  .project-wide .project-media{height:360px}.project-sign span{font-size:57px}.project-sign b{font-size:29px}
  .process-step{grid-template-columns:42px 1fr}.process-step>i{display:none}
  .about-card{border-radius:26px}.contact-shell{border-radius:26px}
  .contact-details a{grid-template-columns:70px 1fr auto}.contact-details b{font-size:11px}
  .footer-brand img{width:58px;height:58px}.footer-brand span{max-width:210px}
}
@media(pointer:coarse){.cursor-glow{display:none}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .preloader{display:none}.reveal{opacity:1;transform:none}
}
