:root{--bg:#f7fbff;--panel:#ffffff;--ink:#0f172a;--text:#162033;--muted:#5e6b82;--blue:#1267ea;--blue2:#08a8ff;--line:#dce8f6;--soft:#eef6ff;--shadow:0 24px 70px rgba(15,55,110,.13);--radius:24px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 44px));margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(18,103,234,.1);box-shadow:0 10px 35px rgba(20,80,150,.06)}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:118px;height:auto}.brand small{display:block;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;font-size:10px;margin-top:-6px}.links{display:flex;align-items:center;gap:28px;font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.035em}.links a{opacity:.88;position:relative;color:#132036}.links a:hover,.links a.active{color:var(--blue);opacity:1}.links a.active:after,.links a:hover:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--blue)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--blue);padding:13px 24px;border-radius:9px;font-weight:950;text-transform:uppercase;font-size:13px;letter-spacing:.035em;background:linear-gradient(135deg,var(--blue),#0a8cff);color:#fff;box-shadow:0 16px 35px rgba(18,103,234,.23)}.btn:after{content:"→"}.btn.outline{background:rgba(255,255,255,.68);color:#10203b;box-shadow:none}.menu{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:24px}.hero{position:relative;min-height:650px;display:grid;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.94) 43%,rgba(255,255,255,.58) 68%,rgba(255,255,255,.22) 100%),url('../images/hero-building.jpg') right center/auto 100% no-repeat}.hero:before{content:"";position:absolute;left:0;bottom:0;width:70%;height:55%;background:linear-gradient(0deg,rgba(255,255,255,.2),rgba(255,255,255,.72)),url('../images/hero-skyline.jpg') left bottom/cover no-repeat;opacity:.86;z-index:0}.hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(0deg,#f7fbff,rgba(247,251,255,0))}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.hero-logo{border-right:1px solid rgba(15,23,42,.22);padding-right:42px}.hero-logo img{width:min(450px,100%);filter:drop-shadow(0 18px 35px rgba(20,80,140,.22))}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.22em;font-weight:950;font-size:13px;margin-bottom:12px}.h1{font-size:clamp(42px,5.8vw,74px);line-height:1.04;margin:0 0 20px;font-weight:950;letter-spacing:-.045em;color:#12203a}.h1 span,.blue{color:var(--blue)}.lead{font-size:clamp(17px,1.8vw,23px);color:#27344a;max-width:660px;margin:0 0 30px}.actions{display:flex;gap:16px;flex-wrap:wrap}.stats{position:relative;z-index:3;margin-top:-70px}.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.stat{padding:28px;text-align:center;border-right:1px solid #d5e2f3}.stat:last-child{border-right:0}.stat b{font-size:38px;line-height:1;color:var(--blue);display:block;font-weight:950}.stat span{display:block;font-weight:950;color:#0e47ba}.stat p{margin:6px 0 0;color:#334155;font-size:14px}.section{padding:90px 0;position:relative}.section.alt{background:#fff}.head{max-width:840px;margin-bottom:42px}.head.center{text-align:center;margin-inline:auto}.title{font-size:clamp(30px,3.8vw,52px);line-height:1.1;margin:0 0 16px;font-weight:950;letter-spacing:-.035em;color:#111f39}.subtitle{font-size:18px;color:var(--muted);margin:0}.grid{display:grid;gap:24px}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 18px 50px rgba(30,95,160,.09);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--blue),var(--blue2));opacity:.9}.card h3{font-size:24px;margin:8px 0 10px;color:#14213d}.card p{color:var(--muted);margin:0}.service-list{margin:18px 0 0;padding:0;list-style:none}.service-list li{padding:9px 0;border-top:1px solid var(--line);color:#25324a}.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:0;overflow:hidden;background:#fff;box-shadow:0 18px 55px rgba(15,55,110,.08)}.split-block{min-height:330px;padding:58px;color:#fff;background:linear-gradient(90deg,rgba(8,20,45,.55),rgba(8,20,45,.22)),url('../images/egypt-branch.jpg') center/cover no-repeat}.split-block.web{color:#15223a;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.82)),url('../images/digital-bg.jpg') center/cover no-repeat}.split h2{font-size:34px;line-height:1.15;margin:0 0 12px}.split p{max-width:560px}.badge{display:inline-block;color:#08a8ff;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.2em;margin-bottom:12px}.project{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(7,20,45,.9)),url('../images/hero-building.jpg') center/cover no-repeat;color:#fff}.timeline{display:grid;gap:16px}.step{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:start}.num{height:64px;border-radius:14px;background:linear-gradient(135deg,var(--blue),#0a8cff);display:grid;place-items:center;font-weight:950;font-size:22px;color:#fff}.trusted{padding:28px 0 44px;background:#fff;text-align:center}.trusted .eyebrow{margin-bottom:22px}.trusted-row{display:flex;justify-content:space-between;gap:28px;align-items:center;flex-wrap:wrap;color:#7a8495;font-family:Georgia,serif;font-size:24px;letter-spacing:.03em;opacity:.78}.footer{padding:56px 0;background:#071225;color:#d8e6fb;border-top:1px solid rgba(18,103,234,.18)}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:30px}.footer img{width:150px}.footer h4{margin:0 0 12px;color:#fff}.footer a,.footer p{color:#a9bad1}.bottom{margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:#8ea4c0;font-size:13px}.page-hero{padding:115px 0 72px;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.76)),url('../images/hero-building.jpg') right center/cover no-repeat;border-bottom:1px solid var(--line)}.page-hero .title{max-width:850px}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form input,.form textarea,.form select{width:100%;padding:15px 16px;margin-bottom:14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:#132036}.form textarea{min-height:140px}.splash{position:fixed;inset:0;z-index:999;background:linear-gradient(135deg,#ffffff 0%,#eff7ff 48%,#dfefff 100%);display:grid;place-items:center;transition:.8s ease}.splash.hide{opacity:0;visibility:hidden}.splash-box{text-align:center}.splash img{width:min(380px,78vw);margin:auto;filter:drop-shadow(0 28px 45px rgba(14,90,190,.25));animation:logoIn 1.3s ease both}.splash h1{font-size:clamp(26px,5vw,54px);margin:18px 0 0;color:#12203a}.splash p{color:var(--blue);letter-spacing:.22em;text-transform:uppercase;font-weight:950}@keyframes logoIn{from{opacity:0;transform:scale(.82) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:980px){.menu{display:block}.links{position:absolute;top:88px;left:20px;right:20px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:none;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow)}.links.open{display:flex}.nav .btn{display:none}.hero{min-height:auto;padding:70px 0 130px;background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.78)),url('../images/hero-building.jpg') center bottom/cover no-repeat}.hero-grid,.split,.cols-3,.cols-2,.contact-box,.footer-grid{grid-template-columns:1fr}.hero-logo{border-right:0;border-bottom:1px solid rgba(15,23,42,.18);padding:0 0 28px}.stats{margin-top:-74px}.stats-inner{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat{padding:22px}.footer-grid{gap:24px}.bottom{flex-direction:column}.split-block{padding:34px}.step{grid-template-columns:70px 1fr}}@media(max-width:560px){.brand img{width:95px}.container{width:min(var(--max),calc(100% - 26px))}.stats-inner{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.actions .btn{width:100%}.section{padding:66px 0}.h1{font-size:40px}.trusted-row{justify-content:center;font-size:20px}.split-block{min-height:280px}}

/* ===== VIS Premium Motion Cards - Added by ChatGPT ===== */
.card{
  transition: transform .45s ease, box-shadow .45s ease, border-color .45s ease, background .45s ease;
  isolation:isolate;
}
.card::after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:-70px;
  bottom:-80px;
  background:radial-gradient(circle, rgba(8,168,255,.18), rgba(18,103,234,0) 68%);
  opacity:0;
  transform:scale(.75);
  transition:opacity .45s ease, transform .45s ease;
  z-index:-1;
}
.card:hover{
  transform:translateY(-12px) scale(1.015);
  border-color:rgba(18,103,234,.32);
  box-shadow:0 28px 80px rgba(18,103,234,.18);
}
.card:hover::after{
  opacity:1;
  transform:scale(1);
}
.card h3,
.card p,
.service-list li{
  transition:transform .35s ease, color .35s ease;
}
.card:hover h3{
  color:var(--blue);
  transform:translateX(4px);
}
.card:hover p{
  transform:translateY(-2px);
}
.card:hover .service-list li{
  color:#14213d;
}
.card:nth-child(1){animation:visFloat 6s ease-in-out infinite}
.card:nth-child(2){animation:visFloat 6.5s ease-in-out infinite .35s}
.card:nth-child(3){animation:visFloat 7s ease-in-out infinite .7s}
.grid.cols-2 .card:nth-child(1){animation:visFloat 6.7s ease-in-out infinite .2s}
.grid.cols-2 .card:nth-child(2){animation:visFloat 7.2s ease-in-out infinite .55s}
@keyframes visFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media (prefers-reduced-motion: reduce){
  .card{animation:none!important;transition:none!important}
  .card:hover{transform:none!important}
}

/* ===== VIS Full Website Motion Upgrade ===== */
body::before{content:"";position:fixed;inset:-20%;z-index:-1;background:radial-gradient(circle at 18% 22%,rgba(8,168,255,.11),transparent 30%),radial-gradient(circle at 88% 18%,rgba(18,103,234,.09),transparent 28%),radial-gradient(circle at 60% 90%,rgba(8,168,255,.08),transparent 34%);animation:visBgMove 16s ease-in-out infinite alternate;pointer-events:none}.topbar{animation:topbarDrop .8s ease both}.brand img{transition:transform .45s ease,filter .45s ease}.brand:hover img{transform:scale(1.04);filter:drop-shadow(0 10px 18px rgba(18,103,234,.18))}.hero-logo img{animation:heroLogoFloat 6.5s ease-in-out infinite}.h1,.title{animation:titleSoftIn .9s ease both}.btn{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.btn::before{content:"";position:absolute;top:-60%;left:-35%;width:28%;height:220%;background:rgba(255,255,255,.38);transform:rotate(24deg) translateX(-190%);transition:transform .75s ease}.btn:hover{transform:translateY(-4px);box-shadow:0 22px 45px rgba(18,103,234,.27)}.btn:hover::before{transform:rotate(24deg) translateX(520%)}.stat{transition:transform .4s ease,background .4s ease}.stat:hover{transform:translateY(-8px);background:#fff}.stat b{animation:numberPulse 3.5s ease-in-out infinite}.trusted-row span{transition:transform .35s ease,color .35s ease}.trusted-row span:hover{transform:translateY(-6px);color:var(--blue)}.split-block{transition:transform .5s ease,filter .5s ease}.split:hover .split-block{filter:saturate(1.08)}.links a{transition:color .25s ease,opacity .25s ease}.reveal-init{opacity:.001;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease}.reveal-in{opacity:1;transform:translateY(0)}

/* WhatsApp button with normal WhatsApp logo */
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:90;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 18px 44px rgba(37,211,102,.38);border:3px solid #fff;animation:waBounce 3.2s ease-in-out infinite;transition:transform .3s ease,box-shadow .3s ease}.whatsapp-float svg{width:36px;height:36px}.whatsapp-float:hover{transform:translateY(-6px) scale(1.06);box-shadow:0 24px 58px rgba(37,211,102,.5)}

/* Contact map link */
.map-link{display:inline-flex;align-items:center;gap:8px;margin-top:4px;color:var(--blue);font-weight:900}.map-link:before{content:"📍"}.contact-info-card p{margin:0 0 13px!important}

/* Real-looking project photo cards using the supplied real photo assets */
.project{min-height:330px;isolation:isolate;transition:transform .55s ease,box-shadow .55s ease,filter .55s ease;background-size:cover!important;background-position:center!important}.project:before{height:100%;background:linear-gradient(180deg,rgba(9,22,48,.08),rgba(7,20,45,.88));z-index:-1}.project:hover{transform:translateY(-12px) scale(1.018);filter:saturate(1.08);box-shadow:0 32px 85px rgba(7,20,45,.22)}.project h3,.project p{position:relative;z-index:1}.project-commercial{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(7,20,45,.9)),url('../images/hero-building.jpg') center/cover no-repeat!important}.project-residential{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(7,20,45,.9)),url('../images/hero-skyline.jpg') center/cover no-repeat!important}.project-hospitality{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(7,20,45,.9)),url('../images/egypt-branch.jpg') center/cover no-repeat!important}.project-healthcare{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(7,20,45,.9)),url('../images/digital-bg.jpg') center/cover no-repeat!important}.project-industrial{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(7,20,45,.9)),url('../images/hero-building.jpg') right center/cover no-repeat!important}.project-infrastructure{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(7,20,45,.9)),url('../images/hero-skyline.jpg') left center/cover no-repeat!important}

@keyframes visBgMove{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-2%,2%,0) scale(1.05)}}@keyframes topbarDrop{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes heroLogoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(.4deg)}}@keyframes titleSoftIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes numberPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes waBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:560px){.whatsapp-float{width:56px;height:56px;right:16px;bottom:16px}.whatsapp-float svg{width:32px;height:32px}}

/* ===== VIS Lead Generation Landing Page Upgrade ===== */
.hero .lead{max-width:720px}.hero-trust{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0;padding:0;list-style:none}.hero-trust li{background:rgba(255,255,255,.76);border:1px solid rgba(18,103,234,.14);box-shadow:0 12px 30px rgba(18,103,234,.08);padding:9px 13px;border-radius:999px;color:#17345f;font-size:13px;font-weight:900}.lead-capture{padding:56px 0;background:linear-gradient(135deg,#ffffff,#eef7ff);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lead-box{display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center;background:#fff;border:1px solid rgba(18,103,234,.14);border-radius:30px;padding:34px;box-shadow:0 26px 80px rgba(18,103,234,.12);position:relative;overflow:hidden}.lead-box:before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(8,168,255,.18),transparent 70%)}.lead-box h2{margin:0 0 10px;font-size:clamp(26px,4vw,42px);line-height:1.15;color:#0f172a}.lead-box p{margin:0;color:var(--muted)}.lead-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.trusted{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trusted-row span{background:#f8fbff;border:1px solid #dce8f6;border-radius:16px;padding:14px 18px;font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:950;color:#17345f;box-shadow:0 10px 28px rgba(18,103,234,.06)}.footer{background:#ffffff!important;color:#172033!important;border-top:1px solid var(--line)!important;box-shadow:0 -16px 50px rgba(18,103,234,.06)}.footer h4{color:#10203b!important}.footer a{color:#1267ea!important}.footer p{color:#4b5b72!important}.bottom{border-top:1px solid var(--line)!important;color:#52647c!important}.footer img{filter:none!important;background:#fff;border-radius:12px;padding:6px}.projects-page .project{background:#ffffff!important;color:#132036!important;min-height:260px;justify-content:flex-start;border:1px solid #dce8f6!important}.projects-page .project:before{display:none!important}.projects-page .project h3{color:#1267ea}.projects-page .project p{color:#52647c}.projects-page .project:hover{background:linear-gradient(180deg,#ffffff,#f1f8ff)!important}.vis-brand-title{font-family:Georgia,'Times New Roman',serif!important;font-weight:900!important;letter-spacing:-.02em!important;background:linear-gradient(90deg,#1267ea,#08a8ff,#083b88);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#1267ea;text-shadow:0 14px 38px rgba(18,103,234,.16)}@media(max-width:980px){.lead-box{grid-template-columns:1fr}.lead-actions{justify-content:flex-start}}
