/* ================================================================
   DESIGN TOKENS
================================================================ */
:root{
  --navy:       #0a1628;
  --navy-2:     #0d1e38;
  --navy-3:     #112244;
  --blue:       #1565c0;
  --blue-light: #1e88e5;
  --blue-pale:  #e3f0fd;
  --gold:       #f59e0b;
  --gold-light: #fbbf24;
  --gold-pale:  #fef3c7;
  --white:      #ffffff;
  --off-white:  #f7f9fc;
  --text-dark:  #0d1e38;
  --text-mid:   #374151;
  --text-muted: #6b7280;
  --border:     #e5e9ef;
  --border-dark:rgba(255,255,255,0.1);
  --shadow-sm:  0 1px 4px rgba(0,0,0,0.06);
  --shadow-md:  0 4px 20px rgba(0,0,0,0.08);
  --shadow-lg:  0 12px 48px rgba(0,0,0,0.12);
  --shadow-blue:0 8px 32px rgba(21,101,192,0.22);
  --radius-sm:  8px;
  --radius-md:  14px;
  --radius-lg:  20px;
  --radius-xl:  28px;
  --font-head:  'Plus Jakarta Sans', sans-serif;
  --font-body:  'Inter', sans-serif;
}

/* ================================================================
   RESET & BASE
================================================================ */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--font-body);
  background:var(--white);
  color:var(--text-dark);
  overflow-x:hidden;
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{text-decoration:none;}

/* ================================================================
   SCROLL REVEAL ANIMATIONS
================================================================ */
.sr{opacity:0;transform:translateY(32px);transition:opacity 0.65s ease,transform 0.65s ease;}
.sr.in{opacity:1;transform:translateY(0);}
.sr-l{opacity:0;transform:translateX(-36px);transition:opacity 0.65s ease,transform 0.65s ease;}
.sr-l.in{opacity:1;transform:translateX(0);}
.sr-r{opacity:0;transform:translateX(36px);transition:opacity 0.65s ease,transform 0.65s ease;}
.sr-r.in{opacity:1;transform:translateX(0);}
.sr-scale{opacity:0;transform:scale(0.94);transition:opacity 0.6s ease,transform 0.6s ease;}
.sr-scale.in{opacity:1;transform:scale(1);}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}
.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}
.d5{transition-delay:.40s;}.d6{transition-delay:.48s;}

/* ================================================================
   NAVBAR
================================================================ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:0 5%;
  transition:background 0.38s ease, box-shadow 0.38s ease, border-color 0.38s ease;
  border-bottom:1px solid transparent;
}
#nav.t{background:transparent;}
#nav.s{
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(12px);
  border-bottom-color:var(--border);
  box-shadow:var(--shadow-md);
}
.ni{
  max-width:1280px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:68px;
}

/* Logo */
.logo{display:flex;align-items:center;gap:10px;}
.logo-mark{
  width:38px;height:38px;border-radius:9px;flex-shrink:0;
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 3px 12px rgba(21,101,192,0.35);
}
.logo-mark svg{width:20px;height:20px;}
.logo-words{line-height:1.15;}
.logo-name{
  font-family:var(--font-head);font-weight:800;font-size:17px;
  letter-spacing:-0.3px;
}
.logo-sub{font-size:9px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;opacity:0.55;}
#nav.t .logo-name,#nav.t .logo-sub{color:#fff;}
#nav.s .logo-name{color:var(--navy);}
#nav.s .logo-sub{color:var(--text-muted);}

/* Nav links */
.nl{display:flex;align-items:center;list-style:none;gap:2px;}
.nl>li{position:relative;}
.nl>li>a{
  font-family:var(--font-body);font-size:13.5px;font-weight:500;
  padding:7px 13px;border-radius:7px;
  display:flex;align-items:center;gap:4px;
  transition:all 0.2s;letter-spacing:0.1px;
}
#nav.t .nl>li>a{color:rgba(255,255,255,0.85);}
#nav.t .nl>li>a:hover{background:rgba(255,255,255,0.12);color:#fff;}
#nav.s .nl>li>a{color:var(--text-mid);}
#nav.s .nl>li>a:hover{background:var(--blue-pale);color:var(--blue);}
.ca{font-size:9px;opacity:0.6;transition:transform 0.2s;display:inline-block;}
.nl>li:hover .ca{transform:rotate(180deg);}

/* Dropdown */
.dd{
  display:none;position:absolute;top:calc(100% + 8px);left:0;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);
  min-width:215px;padding:6px;
  box-shadow:var(--shadow-lg);z-index:999;
}
.nl>li:hover .dd{display:block;}
.dd a{
  display:flex;align-items:center;gap:9px;
  padding:8px 12px;border-radius:8px;
  font-size:13px;color:var(--text-mid);
  transition:all 0.18s;
}
.dd a:hover{background:var(--blue-pale);color:var(--blue);padding-left:16px;}
.di{
  width:26px;height:26px;border-radius:6px;
  background:var(--blue-pale);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;flex-shrink:0;color:var(--blue);
}

/* Nav CTA */
.ncta{
  margin-left:8px;
  background:var(--blue)!important;
  color:#fff!important;padding:9px 20px!important;
  border-radius:var(--radius-sm)!important;font-weight:600!important;
  letter-spacing:0.2px!important;
  box-shadow:0 3px 12px rgba(21,101,192,0.3);
  transition:all 0.22s!important;
}
.ncta:hover{background:var(--blue-light)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-blue)!important;}

/* Hamburger */
.hbg{
  display:none;flex-direction:column;gap:5px;
  cursor:pointer;padding:6px;border:none;background:transparent;
  z-index:1001;position:relative;
}
.hbg span{width:22px;height:2px;border-radius:2px;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}
#nav.t .hbg span{background:#fff;}
#nav.s .hbg span{background:var(--navy);}
.hbg.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hbg.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hbg.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* Mobile menu — left drawer, half screen */
.mob{
  position:fixed;top:0;left:0;bottom:0;
  width:72vw;max-width:320px;
  background:linear-gradient(160deg,#fff 80%,var(--blue-pale) 100%);
  z-index:999;overflow-y:auto;
  padding:80px 24px 40px 22px;
  box-shadow:6px 0 40px rgba(10,22,40,0.18);
  transform:translateX(-110%);
  transition:transform 0.42s cubic-bezier(0.4,0,0.2,1);
  border-right:1px solid var(--border);
}
.mob.open{transform:translateX(0);}

/* Overlay behind drawer */
.mob-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(10,22,40,0.38);
  z-index:997;
  backdrop-filter:blur(2px);
  opacity:0;transition:opacity 0.38s ease;
}
.mob-overlay.open{display:block;opacity:1;}

/* Drawer header logo area */
.mob-brand{
  display:flex;align-items:center;gap:9px;
  padding-bottom:18px;margin-bottom:4px;
  border-bottom:1px solid var(--border);
}
.mob-brand .logo-mark{width:32px;height:32px;border-radius:7px;}
.mob-brand .logo-name{font-family:var(--font-head);font-weight:800;font-size:15px;color:var(--navy);}
.mob-brand .logo-sub{font-size:8px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);}

.mob-sec{
  font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  color:#9ca3af;padding:18px 0 8px;
}
.mob a{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:9px;
  font-size:14.5px;font-weight:500;
  color:var(--text-dark);
  margin-bottom:2px;
  transition:all 0.18s;
}
.mob a i{
  width:18px;text-align:center;color:var(--blue);font-size:14px;flex-shrink:0;
}
.mob a:hover{background:var(--blue-pale);color:var(--blue);padding-left:16px;}
.mob .mob-cta{
  margin-top:18px;display:block;text-align:center;
  background:var(--blue);color:#fff!important;
  border-radius:var(--radius-sm);padding:12px 16px!important;
  font-weight:600!important;font-size:14px!important;
  box-shadow:0 3px 14px rgba(21,101,192,0.3);
}
.mob .mob-cta:hover{background:var(--blue-light)!important;padding-left:16px!important;}

/* ================================================================
   HERO SLIDER — FULLY FIXED MOBILE + LAPTOP
================================================================ */
.hero{
  position:relative;
  /* Use dvh for dynamic viewport — handles mobile browser bars */
  height:100dvh;
  /* Fallback */
  height:100vh;
  min-height:600px;
  overflow:hidden;
}

/* Slides track */
.track{
  display:flex;
  width:100%;
  height:100%;
  /* Smooth slide with cubic ease */
  transition:transform 0.75s cubic-bezier(0.645,0.045,0.355,1.000);
  will-change:transform;
}

/* Individual slide */
.slide{
  /* Each slide = exact 100% of hero width */
  min-width:100%;
  width:100%;
  height:100%;
  position:relative;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

/* Slide backgrounds — image + dark overlay for readability */
.s1{
  background:
    linear-gradient(145deg,rgba(226, 236, 255, 0.72) 0%,rgba(10,22,40,0.80) 60%,rgba(83, 112, 161, 0.72) 100%),
    url('Assests/web.jpeg') center/cover no-repeat;
}
.s2{
  background:
    linear-gradient(145deg,rgba(226, 236, 255, 0.72) 0%,rgba(10,22,40,0.80) 60%,rgba(18,43,87,0.72) 100%),
    url('Assests/cybersecurity.jpeg') center/cover no-repeat;
}
.s3{
  background:
    linear-gradient(145deg,rgba(226, 236, 255, 0.72) 0%,rgba(10,22,40,0.80) 60%,rgba(18,43,87,0.72) 100%),
    url('Assests/custome.jpeg') center/cover no-repeat;
}

/* Subtle grid */
.slide::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(21,101,192,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,101,192,0.06) 1px,transparent 1px);
  background-size:56px 56px;
}

/* Glow */
.sg{
  position:absolute;pointer-events:none;z-index:0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(21,101,192,0.18) 0%,transparent 65%);
  width:min(800px,100vw);
  height:min(800px,100vw);
  top:50%;left:50%;transform:translate(-50%,-50%);
}
/* Gold accent glow */
.sg2{
  position:absolute;pointer-events:none;z-index:0;
  border-radius:50%;
  background:radial-gradient(circle,rgba(245,158,11,0.07) 0%,transparent 60%);
  width:min(500px,80vw);height:min(500px,80vw);
  bottom:-20%;right:-10%;
}

/* Large faint bg icon — desktop only, hidden mobile */
.sicon{
  position:absolute;
  right:-2%;bottom:-6%;
  font-size:clamp(160px,22vw,300px);
  opacity:0.06;
  filter:blur(2px);
  user-select:none;pointer-events:none;
  line-height:1;z-index:0;
  color:#fff;
}

/* Slide content box */
.sc{
  position:relative;z-index:1;
  text-align:center;
  color:#fff;
  width:100%;
  max-width:860px;
  padding:clamp(16px,4vh,28px) clamp(20px,6vw,40px);
  margin-top: 50px;
  margin-bottom: 30px;
  /* vertically centered via flex on .slide */
  display:flex;flex-direction:column;align-items:center;
  border-radius:var(--radius-lg);
  /* animation: slides in from bottom */
  animation:slideUp 0.9s cubic-bezier(0.23,1,0.32,1) both;
}
@keyframes slideUp{
  from{opacity:0;transform:translateY(28px);}
  to{opacity:1;transform:translateY(0);}
}

/* Badge */
.sbadge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(21,101,192,0.22);
  border:1px solid rgba(58, 149, 228, 0.4);
  border-radius:100px;padding:5px 16px;
  font-family:var(--font-body);font-size:11.5px;font-weight:600;
  color:rgba(255,255,255,0.88);letter-spacing:1.2px;text-transform:uppercase;
  margin-bottom:clamp(14px,3vh,22px);
}
.sbadge::before{
  content:'';width:6px;height:6px;border-radius:50%;
  background:var(--gold-light);
  box-shadow:0 0 6px var(--gold);
  animation:blink 2s ease-in-out infinite;
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.4;}}

/* Brand name */
.sbrand{
  font-family:var(--font-head);font-weight:800;
  letter-spacing:-2px;line-height:0.95;
  font-size:clamp(44px,8vw,94px);
  background:linear-gradient(135deg,#ffffff 30%,rgba(255,255,255,0.65) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:clamp(4px,1vh,8px);
}

/* Tagline */
.stagline{
  font-family:var(--font-body);font-size:clamp(9px,1.2vw,11.5px);
  font-weight:600;letter-spacing:clamp(2px,0.8vw,5px);text-transform:uppercase;
  color:rgba(255,255,255,0.38);margin-bottom:clamp(10px,2.5vh,18px);
}

/* Headline */
.shead{
  font-family:var(--font-head);font-weight:700;
  line-height:1.18;color:#fff;
  letter-spacing:-0.4px;
  margin-bottom:clamp(10px,2vh,14px);
  font-size:clamp(18px,3vw,36px);
}

/* Sub */
.ssub{
  color:rgba(255,255,255,0.52);font-weight:400;line-height:1.76;
  max-width:min(500px,88%);margin:0 auto clamp(22px,4vh,32px);
  font-size:clamp(13px,1.6vw,15.5px);
}

/* Buttons */
.sbtns{
  display:flex;gap:12px;justify-content:center;
  flex-wrap:wrap;width:100%;
  /* prevent buttons from ever exceeding content box */
  max-width:520px;
}
.sb1{
  background:var(--blue);color:#fff;
  padding:clamp(11px,1.5vh,14px) clamp(18px,3vw,30px);border-radius:var(--radius-sm);
  font-family:var(--font-head);font-weight:600;font-size:clamp(12.5px,1.4vw,14.5px);
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  white-space:nowrap;flex:1 1 auto;min-width:0;
  box-shadow:0 4px 18px rgba(21,101,192,0.4);transition:all 0.22s;
  border:none;cursor:pointer;
}
.sb1:hover{background:var(--blue-light);transform:translateY(-2px);box-shadow:var(--shadow-blue);}
.sb2{
  border:1.5px solid rgba(255,255,255,0.28);color:#fff;
  padding:clamp(11px,1.5vh,14px) clamp(18px,3vw,30px);border-radius:var(--radius-sm);
  font-family:var(--font-head);font-weight:600;font-size:clamp(12.5px,1.4vw,14.5px);
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  white-space:nowrap;flex:1 1 auto;min-width:0;
  transition:all 0.22s;backdrop-filter:blur(6px);cursor:pointer;
  background:rgba(255,255,255,0.06);
}
.sb2:hover{border-color:rgba(255,255,255,0.65);background:rgba(255,255,255,0.12);}

/* Partner strip at bottom of each slide */
.spartner{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  display:flex;align-items:center;justify-content:center;gap:10px;
  padding:clamp(9px,1.5vh,13px) 20px;
  background:rgba(0,0,0,0.32);backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,0.06);
}
.sp-logo{
  font-family:var(--font-head);font-weight:800;color:#fff;
  letter-spacing:-0.5px;font-size:clamp(16px,2.5vw,26px);
}
.sp-tag{
  font-family:var(--font-body);font-size:clamp(9px,1vw,11px);
  font-weight:500;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,0.4);
}
/* Gold divider dot */
.sp-dot{
  width:4px;height:4px;border-radius:50%;
  background:var(--gold);opacity:0.7;
}

/* Slider arrows */
.sarr{
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;
  width:clamp(40px,5vw,50px);height:clamp(40px,5vw,50px);border-radius:50%;
  background:rgba(255,255,255,0.08);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.15);color:#fff;
  font-size:clamp(18px,2vw,22px);line-height:1;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all 0.22s;user-select:none;
}
.sarr:hover{background:rgba(21,101,192,0.5);border-color:rgba(30,136,229,0.7);}
.sal{left:clamp(12px,2.5vw,22px);}
.sar{right:clamp(12px,2.5vw,22px);}

/* Dots */
.sdots{
  position:absolute;bottom:clamp(52px,7vh,64px);
  left:50%;transform:translateX(-50%);
  display:flex;gap:8px;z-index:10;
}
.dot{
  margin-top: 30px;
  width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,0.28);cursor:pointer;
  transition:all 0.3s;
}
.dot.on{width:24px;border-radius:4px;background:var(--gold);}

/* Progress bar */
.sprogress{
  position:absolute;bottom:0;left:0;z-index:11;
  height:2px;background:var(--blue-light);
  animation:progress 5s linear infinite;
  transform-origin:left;
}
@keyframes progress{from{width:0;}to{width:100%;}}

/* ================================================================
   LAYOUT HELPERS
================================================================ */
.wrap{max-width:1200px;margin:0 auto;padding:0 5%;}
section{padding:clamp(64px,8vh,100px) 0;}
.sec-label{
  font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--blue);margin-bottom:12px;display:block;
}
.sec-title{
  font-family:var(--font-head);font-weight:800;
  letter-spacing:-1.5px;line-height:1.06;
  font-size:clamp(28px,4vw,50px);
  color:var(--navy);margin-bottom:14px;
}
.sec-sub{
  font-size:clamp(14px,1.5vw,16px);color:var(--text-muted);
  line-height:1.74;max-width:540px;
}
.btn-blue{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--blue);color:#fff;
  padding:12px 28px;border-radius:var(--radius-sm);
  font-family:var(--font-head);font-weight:600;font-size:14.5px;
  box-shadow:0 3px 14px rgba(21,101,192,0.28);transition:all 0.22s;
}
.btn-blue:hover{background:var(--blue-light);transform:translateY(-2px);box-shadow:var(--shadow-blue);}
.btn-line{
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid var(--blue);color:var(--blue);
  padding:12px 28px;border-radius:var(--radius-sm);
  font-family:var(--font-head);font-weight:600;font-size:14.5px;
  transition:all 0.22s;
}
.btn-line:hover{background:var(--blue);color:#fff;}

/* ================================================================
   ABOUT
================================================================ */
#about{background:var(--off-white);}
.about-g{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:72px;align-items:center;
}
.at .sec-sub{margin-bottom:28px;}
.ap{font-size:15px;color:var(--text-mid);line-height:1.82;margin-bottom:14px;text-align:justify;}
.ar{
  background:#fff;border-radius:var(--radius-xl);padding:40px 36px;
  box-shadow:var(--shadow-md);border:1px solid var(--border);
}
.asg{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:28px;}
.as-num{
  font-family:var(--font-head);font-weight:800;font-size:clamp(34px,4vw,46px);
  letter-spacing:-2px;
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.as-lbl{font-size:12.5px;color:var(--text-muted);margin-top:3px;font-weight:500;}
.aq{
  background:var(--blue-pale);border-left:3px solid var(--blue);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  padding:16px 18px;
  font-size:14px;color:var(--text-mid);line-height:1.74;font-style:italic;
}

/* ================================================================
   SERVICES
================================================================ */
#services{background:#fff;}
.srv-g{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:22px;margin-top:4px;
}
.srv{
  border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--border);
  background:#fff;
  transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;
}
.srv:hover{
  transform:translateY(-7px);
  box-shadow:0 20px 60px rgba(21,101,192,0.12);
  border-color:#b3d4f5;
}
/* Service image area */
.srv-img{
  height:178px;position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.s1bg{background:linear-gradient(135deg,#e3f0fd,#bbdefb);}
.s2bg{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);}
.s3bg{background:linear-gradient(135deg,#fff8e1,#ffecb3);}
.s4bg{background:linear-gradient(135deg,#fce4ec,#f8bbd0);}
.s5bg{background:linear-gradient(135deg,#ede7f6,#d1c4e9);}
.s6bg{background:linear-gradient(135deg,#e0f7fa,#b2ebf2);}
.srv-em{
  font-size:72px;
  filter:drop-shadow(0 4px 16px rgba(0,0,0,0.1));
  transition:transform 0.3s;
}
.srv:hover .srv-em{transform:scale(1.12);}
.srv-strip{
  position:absolute;bottom:0;left:0;right:0;
  height:3px;background:linear-gradient(90deg,var(--blue),var(--blue-light));
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.35s ease;
}
.srv:hover .srv-strip{transform:scaleX(1);}
/* card body */
.srv-bd{padding:24px 26px 26px;flex:1;display:flex;flex-direction:column;}
.srv-tag{
  display:inline-block;
  background:var(--blue-pale);color:var(--blue);
  font-family:var(--font-body);font-size:10.5px;font-weight:700;
  letter-spacing:1.2px;text-transform:uppercase;
  padding:4px 11px;border-radius:100px;
  margin-bottom:11px;border:1px solid #bbdefb;
}
.srv-bd h3{
  font-family:var(--font-head);font-weight:700;font-size:17px;
  letter-spacing:-0.3px;color:var(--navy);margin-bottom:9px;
}
.srv-bd p{font-size:13.5px;color:var(--text-muted);line-height:1.72;flex:1;margin-bottom:18px;text-align:justify;}
.srv-lnk{
  display:inline-flex;align-items:center;gap:5px;
  font-size:13px;font-weight:600;color:#fff;
  background:var(--blue);
  padding:10px 18px;
  border-radius:8px;
  transition:all 0.3s ease;
  text-decoration:none;
}
.srv-lnk:hover{
  background:var(--blue-light);
  gap:9px;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(21,101,192,0.3);
}

/* ================================================================
   WHY CHOOSE US
================================================================ */
#why{background:var(--navy);}
#why .sec-label{color:#60a5fa;}
#why .sec-title{color:#fff;}
#why .sec-sub{color:rgba(255,255,255,0.48);}
.why-g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.wc{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--radius-md);padding:34px 24px 30px;
  text-align:center;transition:all 0.3s;
  position:relative;overflow:hidden;
}
.wc::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  transform:scaleX(0);transform-origin:left;transition:transform 0.35s;
}
.wc:hover{
  background:rgba(21,101,192,0.08);
  border-color:rgba(21,101,192,0.3);
  transform:translateY(-5px);
}
.wc:hover::after{transform:scaleX(1);}
.wi{
  width:60px;height:60px;border-radius:14px;margin:0 auto 18px;
  background:rgba(21,101,192,0.15);
  border:1px solid rgba(21,101,192,0.25);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;color:#90caf9;transition:transform 0.3s;
}
.wc:hover .wi{transform:scale(1.1) rotate(-4deg);}
.wc h3{
  font-family:var(--font-head);font-size:15.5px;font-weight:700;
  color:#fff;margin-bottom:9px;letter-spacing:-0.2px;
}
.wc p{font-size:13px;color:rgba(255,255,255,0.46);line-height:1.68;text-align:justify;}

/* ================================================================
   PARTNERS
================================================================ */
#partners{background:var(--off-white);}
.ptxt{text-align:center;margin-bottom:44px;}
.ptxt .sec-sub{margin:0 auto;}
.pg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.pc{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);
  padding:28px 18px;display:flex;align-items:center;justify-content:center;
  transition:all 0.26s;
}
.pc:hover{
  border-color:#bbdefb;
  box-shadow:0 6px 24px rgba(21,101,192,0.1);
  transform:translateY(-3px);
}
.pname{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(18px,2.2vw,26px);letter-spacing:-0.3px;
  color:#c5d8f0;transition:color 0.24s;
}
.pc:hover .pname{color:var(--blue);}

/* ================================================================
   CONTACT CTA
================================================================ */
#cta{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 50%,#0c2348 100%);
  position:relative;overflow:hidden;
}
#cta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(21,101,192,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,101,192,0.06) 1px,transparent 1px);
  background-size:52px 52px;
}
.cta-glow{
  position:absolute;width:700px;height:700px;border-radius:50%;
  background:radial-gradient(circle,rgba(21,101,192,0.12) 0%,transparent 65%);
  top:-200px;right:-200px;pointer-events:none;
}
.cta-gold{
  position:absolute;width:400px;height:400px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,158,11,0.07) 0%,transparent 65%);
  bottom:-150px;left:-100px;pointer-events:none;
}
.cta-in{
  position:relative;z-index:1;text-align:center;max-width:660px;margin:0 auto;
  padding:0 5%;
}
.cta-in .sec-label{color:rgba(255,255,255,0.5);}
.cta-in .sec-title{color:#fff;margin-bottom:16px;}
.cta-in p{font-size:clamp(14px,1.6vw,16px);color:rgba(255,255,255,0.58);line-height:1.76;margin-bottom:40px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.btn-gold{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gold);color:var(--navy);
  padding:13px 30px;border-radius:var(--radius-sm);
  font-family:var(--font-head);font-weight:700;font-size:14.5px;
  box-shadow:0 4px 20px rgba(245,158,11,0.32);transition:all 0.22s;
}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 28px rgba(245,158,11,0.4);}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  border:1.5px solid rgba(255,255,255,0.3);color:#fff;
  padding:13px 30px;border-radius:var(--radius-sm);
  font-family:var(--font-head);font-weight:600;font-size:14.5px;
  transition:all 0.22s;
}
.btn-ghost:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.65);}

/* ================================================================
   MODAL
================================================================ */
.mov{
  display:none;position:fixed;inset:0;z-index:2000;
  background:rgba(10,22,40,0.6);backdrop-filter:blur(5px);
  align-items:center;justify-content:center;padding:20px;
}
.mov.open{display:flex;animation:fadeIn 0.22s ease;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.mox{
  background:#fff;border-radius:var(--radius-xl);padding:clamp(28px,5vw,44px);
  width:100%;max-width:500px;position:relative;
  animation:popIn 0.32s cubic-bezier(0.34,1.56,0.64,1);
  max-height:90vh;overflow-y:auto;
}
@keyframes popIn{from{opacity:0;transform:scale(0.92) translateY(18px);}to{opacity:1;transform:scale(1) translateY(0);}}
.mcl{
  position:absolute;top:16px;right:16px;
  width:30px;height:30px;border-radius:50%;
  background:#f3f4f6;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--text-muted);transition:all 0.18s;
}
.mcl:hover{background:var(--blue-pale);color:var(--blue);}
.mox h3{font-family:var(--font-head);font-size:21px;font-weight:800;letter-spacing:-0.5px;color:var(--navy);margin-bottom:5px;}
.mox>p{font-size:13.5px;color:var(--text-muted);margin-bottom:24px;}
.fg{margin-bottom:14px;}
.fg label{display:block;font-size:11.5px;font-weight:600;letter-spacing:0.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
.fg input,.fg select,.fg textarea{
  width:100%;padding:10px 13px;
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  font-size:14px;font-family:var(--font-body);color:var(--text-dark);
  background:#fff;outline:none;transition:border-color 0.2s;
}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--blue);}
.fg textarea{resize:vertical;min-height:90px;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.fsub{
  width:100%;padding:13px;border-radius:var(--radius-sm);border:none;
  cursor:pointer;background:var(--blue);color:#fff;
  font-family:var(--font-head);font-size:15px;font-weight:600;
  box-shadow:0 3px 14px rgba(21,101,192,0.28);transition:all 0.22s;margin-top:6px;
}
.fsub:hover{background:var(--blue-light);transform:translateY(-1px);box-shadow:var(--shadow-blue);}
.fsuc{
  display:none;flex-direction:column;align-items:center;
  text-align:center;padding:24px 10px 10px;
  animation:none;
}
.fsuc.pop{animation:sucPop 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;}
@keyframes sucPop{
  from{opacity:0;transform:scale(0.88) translateY(16px);}
  to{opacity:1;transform:scale(1) translateY(0);}
}
.suc-icon{
  width:76px;height:76px;margin-bottom:20px;
}
.suc-icon svg{width:100%;height:100%;}
.suc-check{
  stroke-dasharray:32;stroke-dashoffset:32;
  animation:drawCheck 0.55s 0.3s ease forwards;
}
@keyframes drawCheck{to{stroke-dashoffset:0;}}
.fsuc h4{
  font-family:var(--font-head);font-size:20px;font-weight:800;
  color:var(--navy);margin-bottom:10px;letter-spacing:-0.3px;
}
.fsuc p{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:18px;}
.fsuc p strong{color:var(--navy);}
.suc-meta{
  background:var(--blue-pale);border:1px solid rgba(21,101,192,0.15);
  border-radius:var(--radius-sm);padding:10px 18px;
  font-size:13px;color:var(--blue);font-weight:500;
  margin-bottom:22px;
}
.suc-close{
  padding:11px 32px;border-radius:var(--radius-sm);border:none;
  cursor:pointer;background:var(--blue);color:#fff;
  font-family:var(--font-head);font-size:14px;font-weight:600;
  box-shadow:0 3px 14px rgba(21,101,192,0.28);
  transition:all 0.22s;
}
.suc-close:hover{background:var(--blue-light);transform:translateY(-1px);box-shadow:var(--shadow-blue);}

/* ================================================================
   CEO
================================================================ */
#ceo{background:#fff;}
.ceo-g{
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:80px;align-items:center;
}
.ceo-img{display:flex;justify-content:center;}
.ceo-ring{
  width:min(300px,78vw);height:min(300px,78vw);border-radius:50%;
  background:conic-gradient(from 0deg,var(--blue),var(--blue-light),var(--gold),var(--blue));
  padding:4px;
  box-shadow:0 12px 50px rgba(21,101,192,0.22);
  /* animation removed - no rotation */
}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
.ceo-inner{
  width:100%;height:100%;border-radius:50%;
  background:linear-gradient(135deg,var(--blue-pale),#dbeafe);
  display:flex;align-items:center;justify-content:center;
  /* animation removed - no rotation */
}
.ceo-photo{
  overflow:hidden;
  background:none;
}
.ceo-photo-img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  border-radius:50%;
  /* animation removed - no rotation */
  display:block;
}
.ceo-init{
  font-family:var(--font-head);font-size:clamp(48px,9vw,76px);font-weight:800;
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.ceo-tx .sec-title{margin-bottom:20px;}
.ceo-q{border-left:3px solid var(--blue);padding-left:22px;margin-bottom:26px;}
.ceo-q p{font-size:15px;color:var(--text-mid);line-height:1.84;font-style:italic;margin-bottom:10px;text-align:justify;}
.ceo-name{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--navy);}
.ceo-role{font-size:13px;color:var(--text-muted);margin-top:3px;}

/* ================================================================
   FOOTER
================================================================ */
footer{background:var(--navy);padding:clamp(48px,7vh,68px) 0 26px;}
.fg2{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:48px;}
.fb .logo-name{color:#fff;font-size:17px;}
.fb .logo-sub{color:rgba(255,255,255,0.4);}
.fb p{font-size:13.5px;color:rgba(255,255,255,0.38);line-height:1.74;margin:14px 0 20px;max-width:260px;}
.sc-row{display:flex;gap:9px;}
.sc-btn{
  width:34px;height:34px;border-radius:7px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:rgba(255,255,255,0.45);
  transition:all 0.2s;
}
.sc-btn:hover{background:rgba(21,101,192,0.28);border-color:rgba(21,101,192,0.5);color:#90caf9;}
.fc h4{
  font-size:10.5px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;
  color:rgba(255,255,255,0.3);margin-bottom:16px;
}
.fc ul{list-style:none;}
.fc ul li{margin-bottom:9px;}
.fc ul li a{font-size:13.5px;color:rgba(255,255,255,0.48);transition:color 0.18s;}
.fc ul li a:hover{color:#90caf9;}
.fbot{
  border-top:1px solid rgba(255,255,255,0.06);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
}
.fbot p{font-size:12.5px;color:rgba(255,255,255,0.25);}
.flinks{display:flex;gap:20px;}
.flinks a{font-size:12.5px;color:rgba(255,255,255,0.25);transition:color 0.18s;}
.flinks a:hover{color:#90caf9;}

/* ================================================================
   SCROLL TO TOP
================================================================ */
#stt{
  position:fixed;bottom:26px;right:26px;z-index:900;
  width:44px;height:44px;border-radius:50%;
  background:var(--blue);color:#fff;font-size:18px;
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 18px rgba(21,101,192,0.35);
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:all 0.26s;
}
#stt.show{opacity:1;transform:translateY(0);pointer-events:auto;}
#stt:hover{background:var(--blue-light);transform:translateY(-3px);}

/* WhatsApp Button */
#wa-btn{
  position:fixed;bottom:80px;right:22px;z-index:900;
  width:50px;height:50px;border-radius:50%;
  background:#25D366;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,0.45);
  cursor:pointer;text-decoration:none;
  transition:all 0.28s cubic-bezier(0.4,0,0.2,1);
  animation:wa-pulse 2.5s ease-in-out infinite;
}
#wa-btn:hover{background:#20b858;transform:translateY(-3px) scale(1.08);box-shadow:0 8px 28px rgba(37,211,102,0.55);animation:none;}
#wa-btn svg{width:26px;height:26px;}
@keyframes wa-pulse{
  0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.45),0 0 0 0 rgba(37,211,102,0.35);}
  50%{box-shadow:0 4px 20px rgba(37,211,102,0.45),0 0 0 10px rgba(37,211,102,0);}
}

/* ================================================================
   RESPONSIVE
================================================================ */
@media(max-width:1024px){
  .srv-g{grid-template-columns:repeat(2,1fr);}
  .why-g{grid-template-columns:repeat(2,1fr);}
  .pg{grid-template-columns:repeat(4,1fr);}
  .fg2{grid-template-columns:1fr 1fr;gap:30px;}
}
@media(max-width:900px){
  .nl{display:none;}.hbg{display:flex;}
  .about-g{grid-template-columns:1fr;gap:36px;}
  .ceo-g{grid-template-columns:1fr;gap:40px;}
  .ceo-img{order:-1;}
  .ceo-ring{width:200px;height:200px;}

  /* ── Mobile navbar: hamburger LEFT · logo PERFECTLY CENTERED ── */
  #nav{
    padding:0 16px;
  }
  .ni{
    display:grid;
    grid-template-columns:48px 1fr 48px;
    align-items:center;
    height:60px;
  }
  .hbg{
    order:1;
    justify-self:start;
    align-self:center;
  }
  /* Logo sits in the middle column, perfectly centred */
  .logo{
    order:2;
    justify-self:center;
    align-self:center;
    display:flex;
    align-items:center;
    gap:6px;
  }
  /* Override the 130px inline style on the <img> tag */
  .logo img{
    height:120px !important;
    margin-bottom: -40px;
    width:auto !important;
    margin-top:-20px !important;
    display:block;
  }

  /* ── Scroll: make sure scrolled header is fully solid ── */
  #nav.s{
    background:rgba(255,255,255,0.98) !important;
    backdrop-filter:blur(14px);
    box-shadow:0 2px 16px rgba(0,0,0,0.10);
    border-bottom:1px solid var(--border);
  }
  /* Hamburger bars colour when header is transparent vs scrolled */
  #nav.t .hbg span{background:#fff;}
  #nav.s .hbg span{background:var(--navy);}
}
@media(max-width:640px){
  .srv-g{grid-template-columns:1fr;}
  .why-g{grid-template-columns:repeat(2,1fr);gap:14px;}
  .pg{grid-template-columns:repeat(2,1fr);}
  .fg2{grid-template-columns:1fr;}
  .fbot{flex-direction:column;text-align:center;}
  .fr{grid-template-columns:1fr;}
  .cta-btns{flex-direction:column;align-items:center;}
  .btn-gold,.btn-ghost{width:100%;max-width:300px;justify-content:center;}
  .wc{padding:24px 16px;}

  /* Mobile slider fixes */
  .hero{height:75dvh;min-height:480px;max-height:none;}
  .slide{height:75dvh;min-height:580px;}
  /* content box: full width with comfortable padding, no border-radius on very small */
  .sc{
    padding:20px 16px;
    border-radius:var(--radius-md);
    background:rgba(6,20,38,0.55);
    max-width:calc(100% - 32px);
  }
  .sbrand{font-size:clamp(38px,11vw,56px);letter-spacing:-1.5px;}
  .shead{font-size:clamp(15px,4.8vw,21px);line-height:1.22;}
  .ssub{font-size:13px;margin-bottom:18px;max-width:100%;}
  /* buttons: stack vertically on small mobile, side-by-side if space allows */
  .sbtns{flex-direction:column;align-items:stretch;gap:10px;max-width:280px;}
  .sb1,.sb2{
    width:100%;flex:none;
    padding:13px 16px;
    font-size:13.5px;
    justify-content:center;
  }
  .sicon{display:none;}
  .sal{left:8px;}.sar{right:8px;}
  .sarr{width:36px;height:36px;font-size:17px;}
  .sdots{bottom:48px;}
  .sp-tag{display:none;}
  .sp-logo{font-size:18px;}
}
/* ================================================================
   SERVICE DETAIL PAGES
================================================================ */

/* Page hero banner */
.srv-hero{
  padding:clamp(100px,14vh,140px) 0 clamp(50px,7vh,80px);
  background:linear-gradient(145deg,var(--navy) 0%,var(--navy-3) 60%,#0c2348 100%);
  position:relative;overflow:hidden;
}
.srv-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(21,101,192,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,101,192,0.06) 1px,transparent 1px);
  background-size:52px 52px;
}
.srv-hero-glow{
  position:absolute;width:600px;height:600px;border-radius:50%;
  background:radial-gradient(circle,rgba(21,101,192,0.15) 0%,transparent 65%);
  top:-150px;right:-150px;pointer-events:none;
}
.srv-hero-inner{position:relative;z-index:1;}
.srv-hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(21,101,192,0.22);
  border:1px solid rgba(58,149,228,0.4);
  border-radius:100px;padding:6px 18px;
  font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
  color:rgba(255,255,255,0.85);margin-bottom:20px;
}
.srv-hero-tag .dot-pulse{
  width:6px;height:6px;border-radius:50%;
  background:var(--gold-light);box-shadow:0 0 6px var(--gold);
  animation:blink 2s ease-in-out infinite;
}
.srv-hero h1{
  font-family:var(--font-head);font-weight:800;
  font-size:clamp(32px,5vw,58px);
  letter-spacing:-2px;line-height:1.06;color:#fff;
  margin-bottom:18px;
}
.srv-hero p{
  font-size:clamp(15px,1.8vw,18px);color:rgba(255,255,255,0.60);
  line-height:1.76;max-width:580px;margin-bottom:34px;
}
.srv-hero-btns{display:flex;gap:14px;flex-wrap:wrap;}

/* Breadcrumb */
.breadcrumb{
  display:flex;align-items:center;gap:7px;margin-bottom:22px;
  font-size:12.5px;color:rgba(255,255,255,0.38);
}
.breadcrumb a{color:rgba(255,255,255,0.5);transition:color 0.18s;}
.breadcrumb a:hover{color:#90caf9;}
.breadcrumb span{color:rgba(255,255,255,0.25);}

/* Overview section */
.srv-overview{background:var(--off-white);}
.srv-overview-g{
  display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center;
}
.srv-overview-img{
  border-radius:var(--radius-xl);overflow:hidden;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border);
}
.srv-overview-img img{width:100%;height:340px;object-fit:cover;display:block;}
.srv-overview-txt .sec-title{margin-bottom:16px;}
.srv-overview-txt p{
  font-size:15.5px;color:var(--text-mid);line-height:1.82;margin-bottom:14px;
}

/* Features grid */
.srv-features{background:#fff;}
.srv-feat-g{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;
}
.feat-card{
  background:var(--off-white);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:28px 24px;
  transition:all 0.3s;position:relative;overflow:hidden;
}
.feat-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--blue),var(--blue-light));
  transform:scaleX(0);transform-origin:left;transition:transform 0.35s;
}
.feat-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:#bbdefb;}
.feat-card:hover::after{transform:scaleX(1);}
.feat-icon{
  width:52px;height:52px;border-radius:12px;
  background:var(--blue-pale);border:1px solid #bbdefb;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;margin-bottom:16px;
  transition:transform 0.3s;
}
.feat-card:hover .feat-icon{transform:scale(1.1) rotate(-4deg);}
.feat-card h4{
  font-family:var(--font-head);font-size:15px;font-weight:700;
  color:var(--navy);margin-bottom:8px;letter-spacing:-0.2px;
}
.feat-card p{font-size:13.5px;color:var(--text-muted);line-height:1.7;}

/* Process / Steps */
.srv-process{background:var(--navy);}
.srv-process .sec-title{color:#fff;}
.srv-process .sec-sub{color:rgba(255,255,255,0.48);}
.steps-g{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;position:relative;}
.steps-g::before{
  content:'';position:absolute;top:32px;left:10%;right:10%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(21,101,192,0.4),transparent);
}
.step-card{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--radius-md);padding:28px 20px;text-align:center;
  transition:all 0.3s;position:relative;
}
.step-card:hover{background:rgba(21,101,192,0.1);border-color:rgba(21,101,192,0.35);transform:translateY(-5px);}
.step-num{
  width:54px;height:54px;border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--blue-light));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-head);font-weight:800;font-size:18px;color:#fff;
  margin:0 auto 16px;
  box-shadow:0 4px 18px rgba(21,101,192,0.4);
}
.step-card h4{
  font-family:var(--font-head);font-size:14.5px;font-weight:700;
  color:#fff;margin-bottom:8px;
}
.step-card p{font-size:13px;color:rgba(255,255,255,0.46);line-height:1.66;}

/* Technologies / Tech stack */
.srv-tech{background:var(--off-white);}
.tech-g{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;}
.tech-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;border:1.5px solid var(--border);
  border-radius:100px;padding:8px 18px;
  font-family:var(--font-head);font-size:13.5px;font-weight:600;
  color:var(--text-mid);transition:all 0.22s;
}
.tech-pill:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-pale);}
.tech-pill span{font-size:16px;}

/* Page service CTA */
.srv-page-cta{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 60%,#0c2348 100%);
  text-align:center;position:relative;overflow:hidden;
}
.srv-page-cta::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(21,101,192,0.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(21,101,192,0.06) 1px,transparent 1px);
  background-size:52px 52px;
}
.srv-page-cta-inner{position:relative;z-index:1;max-width:600px;margin:0 auto;padding:0 5%;}
.srv-page-cta .sec-label{color:rgba(255,255,255,0.45);}
.srv-page-cta .sec-title{color:#fff;margin-bottom:14px;}
.srv-page-cta p{font-size:clamp(14px,1.6vw,16px);color:rgba(255,255,255,0.55);line-height:1.76;margin-bottom:38px;}

/* Related services */
.related-srv{background:#fff;}
.related-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;}
.rel-card{
  background:var(--off-white);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:24px;
  display:flex;align-items:flex-start;gap:16px;
  transition:all 0.26s;text-decoration:none;
}
.rel-card:hover{border-color:#bbdefb;box-shadow:var(--shadow-md);transform:translateY(-3px);}
.rel-icon{
  width:46px;height:46px;border-radius:10px;flex-shrink:0;
  background:var(--blue-pale);display:flex;align-items:center;justify-content:center;
  font-size:20px;
}
.rel-card h4{
  font-family:var(--font-head);font-size:14.5px;font-weight:700;
  color:var(--navy);margin-bottom:6px;
}
.rel-card p{font-size:12.5px;color:var(--text-muted);line-height:1.6;}
.rel-link{
  display:inline-flex;align-items:center;gap:4px;
  font-size:12.5px;font-weight:600;color:var(--blue);margin-top:8px;
  transition:gap 0.2s;
}
.rel-card:hover .rel-link{gap:8px;}

/* Responsive service pages */
@media(max-width:900px){
  .srv-overview-g{grid-template-columns:1fr;gap:36px;}
  .srv-feat-g{grid-template-columns:1fr 1fr;}
  .steps-g{grid-template-columns:1fr 1fr;gap:16px;}
  .steps-g::before{display:none;}
  .related-g{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .srv-feat-g{grid-template-columns:1fr;}
  .steps-g{grid-template-columns:1fr;}
  .related-g{grid-template-columns:1fr;}
  .srv-hero h1{letter-spacing:-1px;}
}
