/* ── RESET & ROOT ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

:root{
  --bg:#060810;
  --bg2:#080c18;
  --bg3:#0a0e1a;
  --cyan:#22d3ee;
  --cyan2:#06b6d4;
  --blue:#3b82f6;
  --blue2:#2563eb;
  --blue3:#1d4ed8;
  --white:#f0f6ff;
  --muted:#5a6a8a;
  --muted2:#3a4a68;
  --border:rgba(255,255,255,0.04);
  --border2:rgba(34,211,238,0.15);
  --glass:rgba(255,255,255,0.02);
  --glass2:rgba(34,211,238,0.05);
}

/* ── REUSABLE UTILITIES ── */
.fade-up{
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.7s ease, transform 0.7s ease;
}
.fade-up.visible{
  opacity:1;
  transform:translateY(0);
}

.card{
  border-radius:18px;
  border:1px solid var(--border);
  background:var(--glass);
  transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1),
             box-shadow 0.4s ease;
}
.card:hover{
  transform:translateY(-10px);
  box-shadow:0 20px 60px rgba(0,0,0,0.4),
             0 0 30px rgba(34,211,238,0.1);
}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 28px;border-radius:12px;
  font-size:15px;font-weight:700;
  font-family:'Inter',sans-serif;
  border:none;cursor:pointer;
  transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1),
             box-shadow 0.3s ease;
}
.btn:hover{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 8px 30px rgba(34,211,238,0.35);
}

.tilt{
  transform-style:preserve-3d;
  transition:transform 0.1s ease;
}

html{scroll-behavior:smooth;}

body{
  background:var(--bg);
  color:var(--white);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  max-width:100vw;
  position:relative;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--blue3);border-radius:2px;}

/* ── CURSOR ── */
* { cursor: default; }
a, button { cursor: pointer; }

/* ── BG CANVAS ── */
#bg-canvas{
  position:fixed;top:0;left:0;width:100%;height:100%;
  pointer-events:none;z-index:0;
}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 6%;height:72px;
  background:rgba(11,15,26,0.8);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition:all 0.3s;
}

nav.scrolled{
  background:rgba(11,15,26,0.95);
  box-shadow:0 4px 40px rgba(0,0,0,0.4);
}

.logo{
  display:flex;align-items:center;gap:10px;
  text-decoration:none;
}

.logo-img{
  width:52px;
  height:52px;
  object-fit:contain;
  mix-blend-mode:screen;
}

.logo-name{
  font-size:18px;font-weight:900;letter-spacing:0.04em;
  color:#ffffff;
  text-transform:uppercase;
  line-height:1;
}
.logo-name span{
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.logo-text-group{
  display:flex;flex-direction:column;gap:1px;
}
.logo-tagline{
  font-size:10px;font-weight:500;
  color:var(--muted);letter-spacing:0.12em;
  text-transform:uppercase;
}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{
  color:var(--muted);font-size:14px;font-weight:500;
  text-decoration:none;transition:color 0.2s;position:relative;
}

.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:2px;
  background:linear-gradient(90deg, var(--cyan), var(--blue));
  transform:scaleX(0);
  transform-origin: left;
  transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1),
             box-shadow 0.3s ease,
             opacity 0.3s ease;
  border-radius:2px;
  opacity:0.9;
}
.nav-links a:hover::after,
.nav-links a.nav-active::after{
  transform:scaleX(1);
  box-shadow: 0 0 8px rgba(34,211,238,0.7),
              0 0 20px rgba(34,211,238,0.3);
}
.nav-links a:hover{color:var(--white);}
.nav-links a:hover::after{transform:scaleX(1);}

.nav-cta{
  display:flex;align-items:center;gap:6px;
  padding:10px 22px;
  background:linear-gradient(135deg,var(--blue2),var(--blue3));
  color:#fff;border:none;border-radius:10px;
  font-size:14px;font-weight:600;font-family:'Inter',sans-serif;
  text-decoration:none;
  box-shadow:0 0 20px rgba(37,99,235,0.3);
  transition:all 0.25s;
}
.nav-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 0 30px rgba(37,99,235,0.5);
}

/* ── HERO ── */
#hero{
  min-height:100vh;
  display:flex;align-items:center;
  padding:100px 6% 60px;
  position:relative;z-index:1;
  overflow:hidden;
}

.hero-inner{
  width:100%;max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
}

.hero-left{position:relative;}

.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(34,211,238,0.08);
  border:1px solid rgba(34,211,238,0.2);
  color:var(--cyan);
  padding:8px 16px;border-radius:999px;
  font-size:12px;font-weight:600;letter-spacing:0.08em;
  text-transform:uppercase;margin-bottom:28px;
  opacity:0;transform:translateY(20px);
  animation:fadeUp 0.6s 0.1s forwards;
}

.hero-badge-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--cyan);
  animation:blink 1.8s infinite;
}

.hero-title{
  font-size:clamp(32px,3.5vw,52px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-0.02em;
  margin-bottom:24px;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:0;transform:translateY(20px);
  animation:fadeUp 0.6s 0.25s forwards;
}

.hero-title .grad{
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent !important;
  display:inline;
}

.hero-desc{
  color: #b0c4de; font-size:17px;line-height:1.7;
  max-width:460px;margin-bottom:40px;
  opacity:0;transform:translateY(20px);
  animation:fadeUp 0.6s 0.4s forwards;
}

.hero-btns{
  display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px;
  opacity:0;transform:translateY(20px);
  animation:fadeUp 0.6s 0.55s forwards;
}

.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,var(--cyan2),var(--blue2));
  color:#fff;padding:15px 30px;border-radius:12px;
  font-size:15px;font-weight:700;font-family:'Inter',sans-serif;
  text-decoration:none;border:none;
  box-shadow:0 0 30px rgba(6,182,212,0.25);
  transition:all 0.3s;position:relative;overflow:hidden;
}

.btn-primary::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.15),transparent);
  opacity:0;transition:opacity 0.3s;
}

.btn-primary:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 8px 40px rgba(6,182,212,0.55), 0 0 0 1px rgba(34,211,238,0.3);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.btn-primary:hover::before{opacity:1;}

.btn-secondary{
  display:inline-flex;align-items:center;gap:10px;
  border:1px solid rgba(34,211,238,0.25);
  background:rgba(255,255,255,0.04);
  color:var(--cyan);padding:15px 30px;border-radius:12px;
  font-size:15px;font-weight:600;font-family:'Inter',sans-serif;
  text-decoration:none;
  backdrop-filter:blur(10px);
  transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
}
.btn-secondary:hover{
  border-color:rgba(34,211,238,0.5);
  background:rgba(34,211,238,0.08);
  box-shadow:0 8px 32px rgba(34,211,238,0.15);
  transform:translateY(-3px);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}

.play-icon{
  width:32px;height:32px;border-radius:50%;
  border:1.5px solid rgba(255,255,255,0.3);
  display:flex;align-items:center;justify-content:center;
}

.hero-tags{
  display:flex;gap:24px;flex-wrap:wrap;
  opacity:0;transform:translateY(20px);
  animation:fadeUp 0.6s 0.7s forwards;
}

.hero-tag{
  display:flex;align-items:center;gap:8px;
   color: #a0b8d8;font-size:13.5px;font-weight:500;
}

.check-icon{
  width:18px;height:18px;border-radius:50%;
  border:1.5px solid rgba(34,211,238,0.5);
  display:flex;align-items:center;justify-content:center;
  font-size:9px;color:var(--cyan);
}

/* ── HERO RIGHT — GLOBE WRAPPER ── */
.hero-right{
  display:flex;justify-content:center;align-items:center;
  position:relative;
  opacity:0;
  animation:fadeIn 0.8s 0.6s forwards;
}

/* ── GLOBE CANVAS ── */
#hero-3d-wrapper{
  position:relative;
  width:100%;
  height:480px;
  display:flex;
  align-items:center;
  justify-content:center;
}

#globe-canvas{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
}

/* ── ABOUT ── */
#about{
  padding:100px 6%;
  position:relative;
  z-index:1;
}

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  max-width:1280px;
  margin:0 auto;
}

/* ── LEFT VISUAL ── */
.about-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  height:480px;
}

.about-glow{
  position:absolute;
  inset:-60px;
  background:radial-gradient(ellipse at center,
    rgba(34,211,238,0.13) 0%,
    rgba(168,85,247,0.07) 40%,
    transparent 70%);
  border-radius:50%;
  animation:glowPulse 3s ease-in-out infinite;
  pointer-events:none;
  z-index:0;
}

/* ── ORBIT RINGS ── */
.abt-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.06);
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:1;
}

.abt-ring1{
  width:300px;height:300px;
  border-color:rgba(34,211,238,0.15);
  animation:abtOrbit1 10s linear infinite;
}

.abt-ring2{
  width:430px;height:430px;
  border-color:rgba(168,85,247,0.12);
  animation:abtOrbit2 16s linear infinite;
}

@keyframes abtOrbit1{
  from{ transform:translate(-50%,-50%) rotate(0deg); }
  to{   transform:translate(-50%,-50%) rotate(360deg); }
}

@keyframes abtOrbit2{
  from{ transform:translate(-50%,-50%) rotate(0deg); }
  to{   transform:translate(-50%,-50%) rotate(-360deg); }
}

.abt-orbiter{
  position:absolute;
  top:50%; left:50%;
}

.ao1{ transform:translate(-50%,-50%) rotate(0deg)   translateY(-150px) rotate(0deg); }
.ao2{ transform:translate(-50%,-50%) rotate(180deg) translateY(-150px) rotate(-180deg); }

.ao3{ transform:translate(-50%,-50%) rotate(0deg)   translateY(-215px) rotate(0deg); }
.ao4{ transform:translate(-50%,-50%) rotate(120deg) translateY(-215px) rotate(-120deg); }
.ao5{ transform:translate(-50%,-50%) rotate(240deg) translateY(-215px) rotate(-240deg); }

.abt-orb-dot{
  width:14px;height:14px;
  border-radius:50%;
  background:var(--oc);
  box-shadow:0 0 14px var(--oc), 0 0 28px var(--oc);
  animation:dotPulse 2s ease-in-out infinite;
}

@keyframes dotPulse{
  0%,100%{ transform:scale(1); opacity:0.9; }
  50%{ transform:scale(1.5); opacity:1; }
}

.abt-orb-badge{
  display:flex;
  align-items:center;
  gap:6px;
  background:rgba(6,8,16,0.92);
  border:1px solid color-mix(in srgb, var(--oc) 40%, transparent);
  border-radius:999px;
  padding:8px 14px;
  font-size:11.5px;
  font-weight:700;
  color:#ffffff;
  white-space:nowrap;
  backdrop-filter:blur(12px);
  box-shadow:
    0 8px 24px rgba(0,0,0,0.5),
    0 0 20px color-mix(in srgb, var(--oc) 25%, transparent);
  letter-spacing:0.04em;
  text-transform:uppercase;
}

.abt-orb-badge svg{
  width:13px;height:13px;
  stroke:var(--oc);
  flex-shrink:0;
}

/* ── CENTER CARD ── */
.about-card{
  position:relative;
  z-index:5;
  width:210px;
  background:linear-gradient(145deg,
    rgba(13,21,42,0.98),
    rgba(8,12,24,0.96));
  border:1px solid rgba(34,211,238,0.2);
  border-radius:28px;
  padding:36px 28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  backdrop-filter:blur(24px);
  box-shadow:
    0 0 0 1px rgba(34,211,238,0.06),
    0 30px 80px rgba(0,0,0,0.7),
    0 0 80px rgba(34,211,238,0.1),
    0 0 160px rgba(168,85,247,0.06),
    inset 0 1px 0 rgba(255,255,255,0.07);
  animation:cardBreath 4s ease-in-out infinite;
}

@keyframes cardBreath{
  0%,100%{
    box-shadow:
      0 0 0 1px rgba(34,211,238,0.06),
      0 30px 80px rgba(0,0,0,0.7),
      0 0 80px rgba(34,211,238,0.1),
      0 0 160px rgba(168,85,247,0.06),
      inset 0 1px 0 rgba(255,255,255,0.07);
  }
  50%{
    box-shadow:
      0 0 0 2px rgba(34,211,238,0.12),
      0 30px 80px rgba(0,0,0,0.7),
      0 0 120px rgba(34,211,238,0.18),
      0 0 200px rgba(168,85,247,0.1),
      inset 0 1px 0 rgba(255,255,255,0.1);
  }
}

.about-card-top-line{
  position:absolute;
  top:0;left:20%;right:20%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,
    transparent,
    var(--cyan),
    var(--blue),
    transparent);
  animation:topLineShimmer 3s ease-in-out infinite;
}

@keyframes topLineShimmer{
  0%,100%{ opacity:0.7; left:20%; right:20%; }
  50%{ opacity:1; left:10%; right:10%; }
}

.about-avatar{
  width:72px;height:72px;
  border-radius:50%;
  background:linear-gradient(135deg,
    rgba(34,211,238,0.12),
    rgba(168,85,247,0.08));
  border:2px solid rgba(34,211,238,0.35);
  display:flex;align-items:center;justify-content:center;
  box-shadow:
    0 0 30px rgba(34,211,238,0.25),
    0 0 60px rgba(34,211,238,0.1);
  animation:avatarSpin 8s ease-in-out infinite;
}

@keyframes avatarSpin{
  0%,100%{ transform:rotate(-6deg) scale(1); }
  50%{ transform:rotate(6deg) scale(1.06); }
}

.about-avatar svg{
  width:32px;height:32px;
  stroke:var(--cyan);
  filter:drop-shadow(0 0 10px rgba(34,211,238,0.8));
}

.about-card-title{
  font-size:19px;
  font-weight:900;
  letter-spacing:0.06em;
  text-transform:uppercase;
  background:linear-gradient(135deg,#ffffff,#a0c0e0);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.about-card-sub{
  font-size:11px;
  color:#5a6a8a;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  margin-top:-6px;
}

.about-stats{
  display:flex;
  align-items:center;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.07);
  border-radius:14px;
  padding:14px 8px;
  width:100%;
  margin-top:6px;
  justify-content:space-around;
}

.about-stat{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}

.about-stat-num{
  font-size:20px;
  font-weight:900;
  letter-spacing:-0.03em;
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.about-stat-label{
  font-size:9.5px;
  font-weight:600;
  color:#5a6a8a;
  letter-spacing:0.06em;
  text-transform:uppercase;
}

.about-stat-divider{
  width:1px;
  height:32px;
  background:rgba(255,255,255,0.07);
}

/* ── RIGHT CONTENT ── */
.about-content{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  perspective:800px;
}

.about-para{
 color: #a0b4cc;
  font-size:15.5px;
  line-height:1.8;
  margin-bottom:18px;
  opacity:0;
  min-height:52px;
  transition:opacity 0.3s ease;
}

.about-values{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:10px;
  width:100%;
}

.about-value{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
  font-weight:500;
  color:#a0b8d8;
  cursor:default;
  transition:color 0.3s ease, transform 0.3s ease;
}

.about-value:hover{
  color:#ffffff;
  transform:translateX(4px);
}

.about-value-icon{
  width:22px;height:22px;
  border-radius:50%;
  border:1.5px solid rgba(34,211,238,0.5);
  display:flex;align-items:center;justify-content:center;
  font-size:10px;
  color:var(--cyan);
  flex-shrink:0;
}

.about-value:hover .about-value-icon{
  background:rgba(34,211,238,0.18);
  box-shadow:0 0 16px rgba(34,211,238,0.6),
             0 0 32px rgba(34,211,238,0.25);
  transform:scale(1.25) rotate(10deg);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}

/* ── ABOUT TEXT ANIMATIONS ── */
.abt-fade{
  opacity:0;
  transform:translateY(18px);
  transition:opacity 0.6s ease var(--d, 0s),
             transform 0.6s ease var(--d, 0s);
}

.abt-slide3d{
  opacity:0;
  transform:translateX(70px) rotateY(15deg) scale(0.94);
  transform-origin:left center;
  transition:opacity 0.8s cubic-bezier(0.25,0.46,0.45,0.94) var(--d, 0s),
             transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94) var(--d, 0s);
}

.abt-pop{
  opacity:0;
  transform:translateX(-20px) scale(0.9);
  transition:opacity 0.5s ease var(--d, 0s),
             transform 0.5s cubic-bezier(0.34,1.56,0.64,1) var(--d, 0s);
}

.about-grid.visible .abt-fade{ opacity:1; transform:translateY(0); }
.about-grid.visible .abt-slide3d{ opacity:1; transform:translateX(0) rotateY(0deg) scale(1); }
.about-grid.visible .abt-pop{ opacity:1; transform:translateX(0) scale(1); }
.about-grid.visible .about-para{ opacity:1; }

/* ── HIGHLIGHT MARKS ── */
mark{ background:none; font-weight:700; padding:0 2px; border-radius:4px; }
.hl-cyan{ color:#22d3ee; text-shadow:0 0 20px rgba(34,211,238,0.5),0 0 40px rgba(34,211,238,0.2); }
.hl-blue{ color:#60a5fa; text-shadow:0 0 20px rgba(96,165,250,0.5),0 0 40px rgba(96,165,250,0.2); }
.hl-purple{ color:#c084fc; text-shadow:0 0 20px rgba(192,132,252,0.5),0 0 40px rgba(192,132,252,0.2); }
.hl-gold{ color:#fbbf24; text-shadow:0 0 20px rgba(251,191,36,0.5),0 0 40px rgba(251,191,36,0.2); }

/* CTA glow pulse */
@keyframes ctaGlowPulse{
  0%,100%{ box-shadow:0 0 20px rgba(6,182,212,0.25),0 0 40px rgba(37,99,235,0.1); }
  50%{ box-shadow:0 0 50px rgba(6,182,212,0.55),0 0 100px rgba(37,99,235,0.25),0 0 140px rgba(34,211,238,0.1); }
}
.about-grid.visible .btn-primary{
  animation:ctaGlowPulse 2.5s ease-in-out infinite;
  animation-delay:1.5s;
}

/* heading shimmer */
.about-content .section-title .grad{
  background:linear-gradient(100deg,var(--cyan) 0%,var(--blue) 40%,#ffffff 50%,var(--blue) 60%,var(--cyan) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  animation:shimmerSweep 3s linear infinite;
  animation-delay:1s;
}
@keyframes shimmerSweep{
  from{ background-position:200% center; }
  to{   background-position:-200% center; }
}

/* ── RESPONSIVE ABOUT ── */
@media(max-width:1024px){
  .about-grid{ grid-template-columns:1fr; gap:60px; }
  .about-visual{ display:none; }
  .about-content{ order:1; }
}
@media(max-width:768px){
  .about-grid{ gap:40px; }
  .about-values{ grid-template-columns:1fr; }
}

/* ── SECTION SHARED ── */
.section-inner{max-width:1280px;margin:0 auto;}

.section-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--cyan);
  background:rgba(34,211,238,0.07);
  border:1px solid rgba(34,211,238,0.18);
  padding:6px 14px;border-radius:999px;
  margin-bottom:20px;
}

.section-title{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff !important;
  font-size:clamp(30px,3vw,46px);
  font-weight:900;letter-spacing:-0.03em;
  line-height:1.1;margin-bottom:16px;
}
.section-title .grad{
  background:linear-gradient(135deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}

.section-sub{
  color:#8a9bbf;font-size:16px;
  max-width:480px;line-height:1.7;margin-bottom:56px;
}

/* ── SERVICES ── */
#services{ padding:100px 6%; position:relative;z-index:1; }

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  perspective:1200px;
}

.srv-card:nth-child(1){ --card-color:#22d3ee; --card-color2:#3b82f6; }
.srv-card:nth-child(2){ --card-color:#a855f7; --card-color2:#ec4899; }
.srv-card:nth-child(3){ --card-color:#10b981; --card-color2:#06b6d4; }
.srv-card:nth-child(4){ --card-color:#f59e0b; --card-color2:#ef4444; }
.srv-card:nth-child(5){ --card-color:#6366f1; --card-color2:#8b5cf6; }
.srv-card:nth-child(6){ --card-color:#f43f5e; --card-color2:#fb923c; }

.srv-card{
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:22px;
  padding:36px 30px;
  position:relative;
  overflow:visible;
  cursor:pointer;
  transform-style:preserve-3d;
  opacity:0;
  transform:translateX(-100vw) rotateY(-25deg);
  transition:
    opacity 1s cubic-bezier(0.16,1,0.3,1),
    transform 1s cubic-bezier(0.16,1,0.3,1),
    box-shadow 0.4s ease,
    border-color 0.4s ease,
    background 0.4s ease;
}

.srv-card.in-view{ opacity:1; transform:translateX(0) rotateY(0deg); }

.srv-card.floating{ animation:srvFloat 3.5s ease-in-out infinite; }
.srv-card.floating:nth-child(1){ animation-delay:0s; }
.srv-card.floating:nth-child(2){ animation-delay:0.3s; }
.srv-card.floating:nth-child(3){ animation-delay:0.6s; }
.srv-card.floating:nth-child(4){ animation-delay:0.9s; }
.srv-card.floating:nth-child(5){ animation-delay:1.2s; }
.srv-card.floating:nth-child(6){ animation-delay:1.5s; }

@keyframes srvFloat{
  0%,100%{ transform:translateY(0px) rotateX(0deg); }
  50%{ transform:translateY(-10px) rotateX(1.5deg); }
}

.srv-card::before{
  content:'';position:absolute;top:0;right:0;
  width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle, var(--card-color), transparent 70%);
  opacity:0.07;
  transition:opacity 0.4s ease, transform 0.5s ease;
  pointer-events:none;
}
.srv-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;
  height:2px;border-radius:0 0 22px 22px;
  background:linear-gradient(90deg, var(--card-color), var(--card-color2));
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
}

.srv-card:hover{
  animation-play-state:paused;
  transform:translateY(-14px) scale(1.04) rotateX(2deg) !important;
  border-color:color-mix(in srgb, var(--card-color) 45%, transparent);
  background:color-mix(in srgb, var(--card-color) 05%, transparent);
  box-shadow:
    0 28px 70px rgba(0,0,0,0.6),
    0 0 60px color-mix(in srgb, var(--card-color) 22%, transparent),
    0 0 120px color-mix(in srgb, var(--card-color) 08%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--card-color) 15%, transparent);
}
.srv-card:hover::before{ opacity:0.2; transform:scale(1.5) translate(10px,-10px); }
.srv-card:hover::after{ transform:scaleX(1); }

.srv-popup{
  position:absolute;bottom:calc(100% + 16px);left:50%;
  transform:translateX(-50%) translateY(10px) scale(0.92);
  width:260px;
  background:linear-gradient(135deg,rgba(6,8,16,0.98),rgba(10,16,32,0.96));
  border:1px solid color-mix(in srgb, var(--card-color) 40%, transparent);
  border-radius:18px;padding:18px 20px;
  pointer-events:none;opacity:0;z-index:100;
  backdrop-filter:blur(24px);
  box-shadow:0 20px 60px rgba(0,0,0,0.8),0 0 40px color-mix(in srgb, var(--card-color) 20%, transparent),inset 0 1px 0 color-mix(in srgb, var(--card-color) 20%, transparent);
  transition:opacity 0.35s ease,transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.srv-popup::before{
  content:'';position:absolute;top:0;left:15%;right:15%;
  height:1.5px;border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--card-color),transparent);
}
.srv-popup::after{
  content:'';position:absolute;bottom:-7px;left:50%;
  width:14px;height:14px;
  background:rgba(10,16,32,0.98);
  border-right:1px solid color-mix(in srgb, var(--card-color) 35%, transparent);
  border-bottom:1px solid color-mix(in srgb, var(--card-color) 35%, transparent);
  transform:translateX(-50%) rotate(45deg);
}
.srv-popup-title{
  font-size:13px;font-weight:800;color:var(--card-color);
  letter-spacing:0.06em;text-transform:uppercase;margin-bottom:8px;
  filter:drop-shadow(0 0 8px color-mix(in srgb, var(--card-color) 60%, transparent));
}
.srv-popup-desc{ font-size:12.5px; color:#8a9bbf; line-height:1.7; }
.srv-card:hover .srv-popup{ opacity:1; transform:translateX(-50%) translateY(0) scale(1); }

.srv-icon{
  width:56px;height:56px;border-radius:16px;
  background:color-mix(in srgb, var(--card-color) 12%, transparent);
  border:1px solid color-mix(in srgb, var(--card-color) 25%, transparent);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;
  transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1),background 0.3s ease,box-shadow 0.3s ease;
}
.srv-icon svg{
  width:26px;height:26px;stroke:var(--card-color);
  filter:drop-shadow(0 0 6px color-mix(in srgb, var(--card-color) 50%, transparent));
  transition:filter 0.3s ease,transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
}
.srv-card:hover .srv-icon{
  transform:translateY(-5px) scale(1.18) rotate(-8deg);
  background:color-mix(in srgb, var(--card-color) 22%, transparent);
  box-shadow:0 10px 30px color-mix(in srgb, var(--card-color) 30%, transparent);
}
.srv-card:hover .srv-icon svg{
  filter:drop-shadow(0 0 14px color-mix(in srgb, var(--card-color) 80%, transparent));
  transform:scale(1.1) rotate(-8deg);
}

.srv-title{
  font-size:19px;font-weight:700;letter-spacing:-0.02em;margin-bottom:12px;
  color:var(--white);transition:color 0.3s ease,text-shadow 0.3s ease;
}
.srv-card:hover .srv-title{
  color:var(--card-color);
  text-shadow:0 0 20px color-mix(in srgb, var(--card-color) 40%, transparent);
}

.srv-desc{  color: #8a9bbf;  font-size:14px; line-height:1.7; margin-bottom:24px; }

.srv-divider{
  width:100%;height:1px;
  background:linear-gradient(90deg,color-mix(in srgb, var(--card-color) 30%, transparent),transparent);
  margin-bottom:20px;transform:scaleX(0);transform-origin:left;
  transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1) 0.1s;
}
.srv-card:hover .srv-divider{ transform:scaleX(1); }

.srv-tags{ display:flex;gap:8px;flex-wrap:wrap; }
.srv-tag{
  font-size:11px;font-weight:600;color:var(--card-color);
  background:color-mix(in srgb, var(--card-color) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--card-color) 22%, transparent);
  padding:5px 12px;border-radius:8px;letter-spacing:0.03em;
  transition:background 0.3s ease,transform 0.3s ease;
}
.srv-card:hover .srv-tag{
  background:color-mix(in srgb, var(--card-color) 18%, transparent);
  transform:translateY(-1px);
}

@media(max-width:1024px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:768px){ .services-grid{ grid-template-columns:1fr; } .srv-card{ padding:28px 22px; } .srv-popup{ width:220px; } }

/* ── PORTFOLIO ── */
#portfolio{
  padding:100px 6%;
  background:linear-gradient(180deg,transparent,rgba(15,21,38,0.5),transparent);
  position:relative;z-index:1;
}

.accordion-portfolio{
  display:flex;flex-direction:row;gap:20px;
  align-items:stretch;min-height:440px;perspective:1200px;
}

.acc-item:nth-child(1){ --acc-color:#22d3ee; }
.acc-item:nth-child(2){ --acc-color:#a855f7; }
.acc-item:nth-child(3){ --acc-color:#10b981; }

.acc-item{
  flex:1;border:1px solid rgba(255,255,255,0.07);
  border-radius:22px;overflow:hidden;
  background:rgba(255,255,255,0.02);
  position:relative;cursor:pointer;transform-style:preserve-3d;
  transition:flex 0.65s cubic-bezier(0.25,0.46,0.45,0.94),border-color 0.4s ease,background 0.4s ease,box-shadow 0.4s ease,transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
  animation:accFloat 4s ease-in-out infinite;
}
.acc-item:nth-child(1){ animation-delay:0s; }
.acc-item:nth-child(2){ animation-delay:0.4s; }
.acc-item:nth-child(3){ animation-delay:0.8s; }

@keyframes accFloat{
  0%,100%{ transform:translateY(0px) rotateX(0deg); }
  50%{ transform:translateY(-10px) rotateX(1deg); }
}

.acc-item::after{
  content:'';position:absolute;inset:-2px;border-radius:24px;
  background:linear-gradient(135deg,var(--acc-color),transparent 50%,var(--acc-color));
  opacity:0;z-index:-1;transition:opacity 0.4s ease;filter:blur(8px);
}
.acc-item:hover::after,.acc-item.open::after{ opacity:0.15; }

.acc-item.open{
  flex:2.2 ;animation-play-state:paused;
  transform:translateY(-14px) rotateX(1deg) scale(1.01);
  border-color:color-mix(in srgb, var(--acc-color) 50%, transparent);
  background:color-mix(in srgb, var(--acc-color) 05%, transparent);
  box-shadow:0 30px 80px rgba(0,0,0,0.6),0 0 60px color-mix(in srgb, var(--acc-color) 22%, transparent),0 0 120px color-mix(in srgb, var(--acc-color) 08%, transparent),inset 0 1px 0 color-mix(in srgb, var(--acc-color) 20%, transparent);
}

.acc-item::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--acc-color),transparent);
  opacity:0;transition:opacity 0.4s ease;z-index:2;
}
.acc-item.open::before{ opacity:1; }

.acc-item:not(.open){
  animation:accFloat 4s ease-in-out infinite,idleGlow 3s ease-in-out infinite;
}
@keyframes idleGlow{
  0%,100%{ box-shadow:0 8px 30px rgba(0,0,0,0.3),0 0 20px color-mix(in srgb, var(--acc-color) 5%, transparent); }
  50%{ box-shadow:0 12px 40px rgba(0,0,0,0.4),0 0 35px color-mix(in srgb, var(--acc-color) 12%, transparent); }
}

.acc-header{ padding:28px 24px 20px; position:relative; z-index:2; }
.acc-left{ display:flex; align-items:flex-start; gap:16px; margin-bottom:16px; }

.acc-num{
  font-size:38px;font-weight:900;letter-spacing:-0.04em;line-height:1;
  color:color-mix(in srgb, var(--acc-color) 22%, transparent);
  transition:color 0.4s ease,transform 0.5s cubic-bezier(0.34,1.56,0.64,1),text-shadow 0.4s ease;
  flex-shrink:0;
}
.acc-item.open .acc-num{
  color:var(--acc-color);transform:scale(1.15) translateY(-2px);
  text-shadow:0 0 30px color-mix(in srgb, var(--acc-color) 60%, transparent);
}

.acc-title{ font-size:16px;font-weight:700;color:#c0d0e8;letter-spacing:-0.01em;margin-bottom:4px;transition:color 0.3s ease,text-shadow 0.3s ease; }
.acc-item.open .acc-title{ color:#ffffff; text-shadow:0 0 20px color-mix(in srgb, var(--acc-color) 40%, transparent); }

.acc-sub{ font-size:11px;color:#5a6a8a;font-weight:500;line-height:1.4;transition:color 0.3s ease; }
.acc-item.open .acc-sub{ color:color-mix(in srgb, var(--acc-color) 70%, white); }

.acc-btn{
  display:inline-flex;align-items:center;gap:6px;padding:10px 20px;
  border:1px solid color-mix(in srgb, var(--acc-color) 35%, transparent);
  border-radius:999px;color:#ffffff;font-size:12px;font-weight:700;
  text-decoration:none;background:color-mix(in srgb, var(--acc-color) 15%, transparent);
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
  opacity:0;transform:translateY(10px);pointer-events:none;white-space:nowrap;
  box-shadow:0 4px 20px color-mix(in srgb, var(--acc-color) 20%, transparent);
}
.acc-item.open .acc-btn{ opacity:1;transform:translateY(0);pointer-events:all;transition-delay:0.25s; }
.acc-btn:hover{
  background:color-mix(in srgb, var(--acc-color) 30%, transparent);
  border-color:color-mix(in srgb, var(--acc-color) 70%, transparent);
  box-shadow:0 6px 28px color-mix(in srgb, var(--acc-color) 35%, transparent);
  transform:translateY(-3px) scale(1.04) !important;color:#ffffff;
}

.acc-body{
  padding:0 24px;opacity:0;max-height:0;overflow:hidden;
  transition:opacity 0.5s ease 0.15s,max-height 0.6s cubic-bezier(0.25,0.46,0.45,0.94),padding 0.4s ease;
}
.acc-item.open .acc-body { opacity:1;max-height:500px;padding:0 24px 26px; }

.acc-images{ display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px; }

.acc-img{
  height:160px;border-radius:12px;background-size:cover;background-position:center;
  opacity:0;transform:translateY(16px) scale(0.96);
  transition:opacity 0.5s ease,transform 0.5s ease,box-shadow 0.3s ease;
  border:1px solid rgba(255,255,255,0.06);
}
.acc-item.open .acc-img:nth-child(1){ opacity:1;transform:translateY(0) scale(1);transition-delay:0.2s; }
.acc-item.open .acc-img:nth-child(2){ opacity:1;transform:translateY(0) scale(1);transition-delay:0.32s; }
.acc-img:hover{ transform:scale(1.05) translateY(-3px) !important; box-shadow:0 12px 36px rgba(0,0,0,0.5),0 0 20px color-mix(in srgb, var(--acc-color) 20%, transparent); }

.acc-img1{ background:linear-gradient(135deg,#060e24,#1a3a6e 50%,#0ea5e9); }
.acc-img2{ background:linear-gradient(135deg,#0e0618,#4c1d7a 50%,#8b5cf6); }
.acc-img3{ background:linear-gradient(135deg,#070e14,#0c4a2e 50%,#10b981); }
.acc-img4{ background:linear-gradient(135deg,#160a04,#7c3d0c 50%,#f59e0b); }
.acc-img5{ background:linear-gradient(135deg,#060f1c,#0c3d5a 50%,#22d3ee); }

.acc-detail{ opacity:0;transform:translateY(12px);transition:opacity 0.5s ease 0.35s,transform 0.5s ease 0.35s; }
.acc-item.open .acc-detail{ opacity:1;transform:translateY(0); }

.acc-typewriter {
  font-size:13.5px;color:#a0b8d8;line-height:1.75;margin-bottom:14px;min-height:48px;font-weight:400;
  white-space:normal;word-break:break-word;overflow:visible;
}

.acc-tags{ display:flex;gap:7px;flex-wrap:wrap; }
.acc-tags span{
  font-size:11px;font-weight:700;color:#ffffff;
  background:color-mix(in srgb, var(--acc-color) 20%, transparent);
  border:1px solid color-mix(in srgb, var(--acc-color) 35%, transparent);
  padding:5px 12px;border-radius:6px;opacity:0;transform:translateY(8px);
  transition:opacity 0.3s ease,transform 0.3s ease;
  box-shadow:0 2px 10px color-mix(in srgb, var(--acc-color) 15%, transparent);
}
.acc-item.open .acc-tags span:nth-child(1){ opacity:1;transform:translateY(0);transition-delay:0.45s; }
.acc-item.open .acc-tags span:nth-child(2){ opacity:1;transform:translateY(0);transition-delay:0.55s; }
.acc-item.open .acc-tags span:nth-child(3){ opacity:1;transform:translateY(0);transition-delay:0.65s; }

@media(max-width:768px){
  .accordion-portfolio{ flex-direction:column;min-height:unset;perspective:none; }
  .acc-item.open{ flex:unset; }
  .acc-item.open .acc-body{ max-height:420px; }
  .acc-header{ padding:22px 20px 16px; }
  .acc-item.open .acc-body{ padding:0 20px 22px; }
  .acc-num{ font-size:28px; }
  .acc-title{ font-size:15px; }
}

/* ── PROCESS ── */
#process{ padding:100px 6%; position:relative; z-index:1; }

.stepper{ position:relative;display:flex;flex-direction:column;max-width:860px;margin:0 auto; }

.stepper-line{
  position:absolute;left:39px;top:40px;bottom:40px;width:2px;
  background:linear-gradient(180deg,#22d3ee 0%,#3b82f6 60%,rgba(59,130,246,0.08) 100%);
  border-radius:2px;
}
.stepper-line-glow{
  position:absolute;left:35px;top:40px;bottom:40px;width:10px;
  background:linear-gradient(180deg,rgba(34,211,238,0.2) 0%,rgba(59,130,246,0.12) 60%,transparent 100%);
  border-radius:5px;filter:blur(4px);
}

.step-row{
  display:flex;gap:32px;align-items:flex-start;padding:24px 0;
  perspective:900px;opacity:0;transform:translateX(-28px);
  transition:opacity 0.6s ease,transform 0.6s ease;
}
.step-row.visible{ opacity:1;transform:translateX(0); }

.step-node{ width:80px;flex-shrink:0;display:flex;align-items:flex-start;justify-content:center;padding-top:4px;position:relative;z-index:2; }

.step-circle{
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;border:2px solid;position:relative;
  transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.step-circle::after{ content:'';position:absolute;inset:-6px;border-radius:50%;opacity:0;transition:opacity 0.4s ease; }
.step-row:hover .step-circle::after{ opacity:1; }

.s1 .step-circle{ background:rgba(34,211,238,0.1);border-color:rgba(34,211,238,0.45);color:#22d3ee; }
.s1 .step-circle::after{ background:radial-gradient(circle,rgba(34,211,238,0.18),transparent 70%); }
.s1:hover .step-circle{ box-shadow:0 0 0 4px rgba(34,211,238,0.1),0 0 20px rgba(34,211,238,0.3);transform:scale(1.1); }

.s2 .step-circle{ background:rgba(168,85,247,0.1);border-color:rgba(168,85,247,0.45);color:#a855f7; }
.s2 .step-circle::after{ background:radial-gradient(circle,rgba(168,85,247,0.18),transparent 70%); }
.s2:hover .step-circle{ box-shadow:0 0 0 4px rgba(168,85,247,0.1),0 0 20px rgba(168,85,247,0.3);transform:scale(1.1); }

.s3 .step-circle{ background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.45);color:#10b981; }
.s3 .step-circle::after{ background:radial-gradient(circle,rgba(16,185,129,0.18),transparent 70%); }
.s3:hover .step-circle{ box-shadow:0 0 0 4px rgba(16,185,129,0.1),0 0 20px rgba(16,185,129,0.3);transform:scale(1.1); }

.s4 .step-circle{ background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.45);color:#f59e0b; }
.s4 .step-circle::after{ background:radial-gradient(circle,rgba(245,158,11,0.18),transparent 70%); }
.s4:hover .step-circle{ box-shadow:0 0 0 4px rgba(245,158,11,0.1),0 0 20px rgba(245,158,11,0.3);transform:scale(1.1); }

.step-body{
  flex:1;background:rgba(255,255,255,0.025);border:1px solid rgba(255,255,255,0.07);
  border-radius:18px;padding:24px 28px;
  transform:perspective(900px) rotateX(0deg) rotateY(0deg) translateZ(0px);
  transition:transform 0.15s ease,box-shadow 0.3s ease,border-color 0.3s ease,background 0.3s ease;
  will-change:transform;position:relative;overflow:hidden;
}
.step-body::before{
  content:'';position:absolute;top:0;left:15%;right:15%;height:1.5px;
  border-radius:999px;opacity:0;
  transition:opacity 0.4s ease,left 0.4s ease,right 0.4s ease;
}
.step-row:hover .step-body::before{ opacity:1;left:8%;right:8%; }
.step-body::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  border-radius:0 0 18px 18px;transform:scaleX(0);transform-origin:left;
  transition:transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
}
.step-row:hover .step-body::after{ transform:scaleX(1); }

.s1:hover .step-body{ border-color:rgba(34,211,238,0.25);background:rgba(34,211,238,0.03);box-shadow:0 24px 60px rgba(0,0,0,0.5),0 0 50px rgba(34,211,238,0.08),inset 0 1px 0 rgba(34,211,238,0.1); }
.s1 .step-body::before{ background:linear-gradient(90deg,transparent,#22d3ee,transparent); }
.s1 .step-body::after{ background:linear-gradient(90deg,#22d3ee,#06b6d4); }

.s2:hover .step-body{ border-color:rgba(168,85,247,0.25);background:rgba(168,85,247,0.03);box-shadow:0 24px 60px rgba(0,0,0,0.5),0 0 50px rgba(168,85,247,0.08),inset 0 1px 0 rgba(168,85,247,0.1); }
.s2 .step-body::before{ background:linear-gradient(90deg,transparent,#a855f7,transparent); }
.s2 .step-body::after{ background:linear-gradient(90deg,#a855f7,#9333ea); }

.s3:hover .step-body{ border-color:rgba(16,185,129,0.25);background:rgba(16,185,129,0.03);box-shadow:0 24px 60px rgba(0,0,0,0.5),0 0 50px rgba(16,185,129,0.08),inset 0 1px 0 rgba(16,185,129,0.1); }
.s3 .step-body::before{ background:linear-gradient(90deg,transparent,#10b981,transparent); }
.s3 .step-body::after{ background:linear-gradient(90deg,#10b981,#059669); }

.s4:hover .step-body{ border-color:rgba(245,158,11,0.25);background:rgba(245,158,11,0.03);box-shadow:0 24px 60px rgba(0,0,0,0.5),0 0 50px rgba(245,158,11,0.08),inset 0 1px 0 rgba(245,158,11,0.1); }
.s4 .step-body::before{ background:linear-gradient(90deg,transparent,#f59e0b,transparent); }
.s4 .step-body::after{ background:linear-gradient(90deg,#f59e0b,#d97706); }

.step-num{ font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:#3a4a68;margin-bottom:5px; }
.step-title{ font-size:19px;font-weight:800;color:#f0f6ff;letter-spacing:-0.02em;margin-bottom:10px; }
.step-desc{ font-size:14px;color:#8a9bbf;line-height:1.7;margin-bottom:16px;min-height:68px; }

.step-desc::after{ content:'|';color:#22d3ee;opacity:0;animation:stepCursorBlink 0.8s ease-in-out infinite;margin-left:1px; }
.step-desc.typing::after{ opacity:1; }
.step-desc.done::after{ opacity:0;animation:none; }
@keyframes stepCursorBlink{ 0%,100%{opacity:1} 50%{opacity:0} }

.step-tags{ display:flex;gap:8px;flex-wrap:wrap; }
.step-tag{ font-size:11px;font-weight:600;padding:4px 11px;border-radius:6px;opacity:0;transform:translateY(6px);transition:opacity 0.3s ease,transform 0.3s ease; }
.step-tag.show{ opacity:1;transform:translateY(0); }

.s1 .step-tag{ color:#22d3ee;background:rgba(34,211,238,0.1);border:1px solid rgba(34,211,238,0.2); }
.s2 .step-tag{ color:#a855f7;background:rgba(168,85,247,0.1);border:1px solid rgba(168,85,247,0.2); }
.s3 .step-tag{ color:#10b981;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2); }
.s4 .step-tag{ color:#f59e0b;background:rgba(245,158,11,0.1);border:1px solid rgba(245,158,11,0.2); }

@media(max-width:768px){
  .step-row{ gap:20px; }
  .step-node{ width:60px; }
  .step-circle{ width:44px;height:44px;font-size:11px; }
  .stepper-line,.stepper-line-glow{ left:29px; }
  .step-body{ padding:18px 20px; }
  .step-desc{ min-height:unset; }
}

/* ── TESTIMONIALS ── */
#testimonials{
  padding:100px 6%;
  position:relative;
  z-index:1;
}

.testi-featured{
  display:flex;
  justify-content:center;
  max-width:760px;
  margin:0 auto;
}

.testi-card{
  width:100%;
  padding:56px 52px;
  background:linear-gradient(180deg,
    rgba(20,30,55,0.95),
    rgba(8,12,24,0.98));
  border:1px solid rgba(34,211,238,0.15);
  border-radius:28px;
  position:relative;
  overflow:hidden;
  backdrop-filter:blur(24px);
  box-shadow:
    0 40px 100px rgba(0,0,0,0.6),
    0 0 60px rgba(34,211,238,0.06),
    inset 0 1px 0 rgba(255,255,255,0.06);
  transition:box-shadow 0.4s ease, border-color 0.4s ease;
}

.testi-card:hover{
  border-color:rgba(34,211,238,0.3);
  box-shadow:
    0 40px 100px rgba(0,0,0,0.7),
    0 0 80px rgba(34,211,238,0.12),
    inset 0 1px 0 rgba(255,255,255,0.08);
}

/* spotlight radial glow from top */
.testi-spotlight{
  position:absolute;
  top:-80px;
  left:50%;
  transform:translateX(-50%);
  width:500px;
  height:300px;
  background:radial-gradient(ellipse at center top,
    rgba(34,211,238,0.12) 0%,
    rgba(59,130,246,0.06) 40%,
    transparent 70%);
  pointer-events:none;
  z-index:0;
  animation:spotlightPulse 4s ease-in-out infinite;
}

@keyframes spotlightPulse{
  0%,100%{ opacity:0.7; transform:translateX(-50%) scaleX(1); }
  50%{ opacity:1; transform:translateX(-50%) scaleX(1.1); }
}

/* top shimmer line */
.testi-card::before{
  content:'';
  position:absolute;
  top:0;left:20%;right:20%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,
    transparent,
    var(--cyan),
    var(--blue),
    transparent);
  animation:topLineShimmer 3s ease-in-out infinite;
}

/* stars row */
.testi-stars{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:28px;
  position:relative;
  z-index:1;
}

.star{
  width:18px;height:18px;
  background:linear-gradient(135deg,#fbbf24,#f59e0b);
  clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
  filter:drop-shadow(0 0 6px rgba(251,191,36,0.6));
}

.testi-rating{
  font-size:13px;
  font-weight:800;
  color:#fbbf24;
  margin-left:6px;
  letter-spacing:0.04em;
  text-shadow:0 0 12px rgba(251,191,36,0.5);
}

/* quote text */
.testi-text{
  font-size:19px;
  line-height:1.85;
  color:rgba(240,246,255,0.92);
  font-style:italic;
  font-weight:400;
  margin-bottom:36px;
  position:relative;
  z-index:1;
  letter-spacing:0.01em;
}

/* glowing divider */
.testi-divider{
  width:100%;
  height:1px;
  background:linear-gradient(90deg,
    transparent,
    rgba(34,211,238,0.4),
    rgba(59,130,246,0.3),
    transparent);
  margin-bottom:32px;
  position:relative;
  z-index:1;
}

/* author row */
.testi-author{
  display:flex;
  align-items:center;
  gap:16px;
  position:relative;
  z-index:1;
}

.author-av{
  width:52px;height:52px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--cyan2),var(--blue2));
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:16px;color:#fff;
  flex-shrink:0;
  box-shadow:
    0 0 20px rgba(34,211,238,0.3),
    0 0 40px rgba(34,211,238,0.1);
}

.author-info{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.author-name{
  font-weight:800;
  font-size:15px;
  color:#ffffff;
  letter-spacing:-0.01em;
}

.author-role{
  color:#5a6a8a;
  font-size:12.5px;
  font-weight:500;
}

.testi-link{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:700;
  color:var(--cyan);
  text-decoration:none;
  border:1px solid rgba(34,211,238,0.25);
  padding:10px 20px;
  border-radius:999px;
  background:rgba(34,211,238,0.04);
  transition:all 0.35s cubic-bezier(0.34,1.56,0.64,1);
  white-space:nowrap;
}

.testi-link:hover{
  background:rgba(34,211,238,0.12);
  border-color:rgba(34,211,238,0.6);
  box-shadow:0 0 20px rgba(34,211,238,0.2),
             0 0 40px rgba(34,211,238,0.08);
  transform:translateX(4px);
}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .testi-card{
    padding:36px 24px;
  }
  .testi-text{
    font-size:16px;
  }
  .testi-author{
    flex-wrap:wrap;
    gap:12px;
  }
  .testi-link{
    margin-left:0;
    width:100%;
    justify-content:center;
  }
  .testi-spotlight{
    width:300px;
  }
}
/* ── CONTACT ── */
#contact{ padding:100px 6%;position:relative;z-index:1;text-align:center; }

.contact-card{
  max-width:720px;margin:0 auto;
  background:linear-gradient(135deg,rgba(34,211,238,0.05),rgba(37,99,235,0.05));
  border:1px solid rgba(34,211,238,0.12);border-radius:28px;padding:64px 56px;
  position:relative;overflow:hidden;backdrop-filter:blur(20px);
}
.contact-card::before{
  content:'';position:absolute;top:-100px;left:50%;transform:translateX(-50%);
  width:400px;height:200px;
  background:radial-gradient(ellipse,rgba(34,211,238,0.1),transparent 70%);
  pointer-events:none;
}

.contact-form{ display:flex;flex-direction:column;gap:14px;margin-top:36px;text-align:left; }
.form-row{ display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.form-group{ display:flex;flex-direction:column;gap:6px; }
.form-label{ font-size:12.5px;font-weight:600;color:#8a9bbf;letter-spacing:0.04em; }

.form-input,.form-textarea{
  background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;padding:13px 16px;color:var(--white);
  font-size:14px;font-family:'Inter',sans-serif;
  transition:all 0.25s;outline:none;resize:none;
}
.form-input::placeholder,.form-textarea::placeholder{ color:var(--muted2); }
.form-input:focus,.form-textarea:focus{
  border-color:rgba(34,211,238,0.4);background:rgba(34,211,238,0.04);
  box-shadow:0 0 0 3px rgba(34,211,238,0.06);
}
.form-textarea{ min-height:120px; }

.btn-submit{
  background:linear-gradient(135deg,var(--cyan2),var(--blue2));
  color:#fff;border:none;padding:15px 30px;border-radius:12px;
  font-size:15px;font-weight:700;font-family:'Inter',sans-serif;
  transition:all 0.3s;margin-top:4px;position:relative;overflow:hidden;
  box-shadow:0 0 30px rgba(34,211,238,0.2);
}
.btn-submit::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,0.15),transparent);
  opacity:0;transition:opacity 0.3s;
}
.btn-submit:hover{ transform:translateY(-3px) scale(1.02);box-shadow:0 8px 40px rgba(34,211,238,0.5);transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1); }
.btn-submit:hover::before{ opacity:1; }

/* ── FOOTER ── */
footer{
  padding:40px 6%;border-top:1px solid var(--border);
  background:rgba(255,255,255,0.01);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:20px;position:relative;z-index:1;
}
.footer-logo-name{ font-size:18px;font-weight:800;letter-spacing:-0.02em; }
.footer-logo-name span{
  background:linear-gradient(90deg,var(--cyan),var(--blue));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
}
.footer-links{ display:flex;gap:24px;flex-wrap:wrap; }
.footer-links a{ color:var(--muted);font-size:13.5px;text-decoration:none;transition:color 0.2s; }
.footer-links a:hover{ color:var(--white); }
.footer-copy{ color:#5a6a8a;font-size:12.5px; }

/* ── REVEAL ANIMATIONS ── */
.reveal{ opacity:0;transform:translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease; }
.reveal.visible{ opacity:1;transform:translateY(0); }

/* ── KEYFRAMES ── */
@keyframes blink{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:0.4;transform:scale(1.4);}
}
@keyframes fadeUp{ to{opacity:1;transform:translateY(0);} }
@keyframes fadeIn{ to{opacity:1;} }
@keyframes glowPulse{
  0%,100%{opacity:0.7;transform:scale(1);}
  50%{opacity:1;transform:scale(1.05);}
}

/* ── GLOBAL RESPONSIVE ── */
@media(max-width:1024px){
  .hero-inner{ grid-template-columns:1fr;gap:40px; }
  .hero-right{ display:none; }
  .testi-grid{ grid-template-columns:1fr; }
}
@media(max-width:768px){
  nav{
    padding:0 5%;
    height:64px;
  }
  .nav-links{ display:none; }
  #hero{
    padding:80px 5% 60px;
    min-height:100vh;
  }
  .hero-inner{
    grid-template-columns:1fr;
    gap:30px;
    padding:0;
    width:100%;
  }
  .hero-left{
    width:100%;
    padding:0;
  }
  .hero-title{
    font-size:clamp(28px,8vw,40px);
    word-break:break-word;
  }
  .hero-desc{
    font-size:15px;
    max-width:100%;
  }
  .hero-btns{
    flex-direction:column;
    gap:10px;
    width:100%;
  }
  .btn-primary{
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .btn-secondary{
    width:100%;
    justify-content:center;
  }
  .hero-tags{
    gap:14px;
  }
  .hero-badge{
    font-size:10px;
    padding:6px 12px;
    max-width:100%;
  }
  section{ padding:60px 5%; }
  .form-row{ grid-template-columns:1fr; }
  .contact-card{ padding:32px 20px; }
  footer{
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:32px 5% 100px;
}

.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
  width:100%;
}

.footer-links a{
  font-size:14px;
}

.footer-logo-name{
  font-size:20px;
}

.footer-copy{
  font-size:12px;
  text-align:center;
  width:100%;
}
  .testi-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
  .srv-card{ padding:24px 18px; }
  .srv-popup{ display:none; }
  .about-values{ grid-template-columns:1fr; }
  .accordion-portfolio{
    flex-direction:column;
    min-height:unset;
  }
}
/* checkbox in form  */
/* ── SERVICE PILLS ── */
.service-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}

.service-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 16px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  color:#8a9bbf;
  font-size:13px;
  font-weight:600;
  font-family:'Inter',sans-serif;
  cursor:pointer;
  transition:all 0.3s cubic-bezier(0.34,1.56,0.64,1);
  user-select:none;
  white-space:nowrap;
}

/* hide the actual checkbox */
.service-pill input[type="checkbox"]{
  display:none;
}

.service-pill svg{
  width:14px;
  height:14px;
  stroke:#8a9bbf;
  flex-shrink:0;
  transition:stroke 0.3s ease, transform 0.3s ease;
}

.service-pill:hover{
  border-color:rgba(34,211,238,0.35);
  background:rgba(34,211,238,0.05);
  color:#e0f0ff;
  transform:translateY(-2px);
}

.service-pill:hover svg{
  stroke:#22d3ee;
  transform:scale(1.15) rotate(-5deg);
}

/* selected state using :has */
.service-pill:has(input:checked){
  border-color:rgba(34,211,238,0.65);
  background:rgba(34,211,238,0.1);
  color:#22d3ee;
  box-shadow:
    0 0 16px rgba(34,211,238,0.2),
    0 0 32px rgba(34,211,238,0.06),
    inset 0 1px 0 rgba(34,211,238,0.15);
  transform:translateY(-2px) scale(1.03);
}

.service-pill:has(input:checked) svg{
  stroke:#22d3ee;
  filter:drop-shadow(0 0 5px rgba(34,211,238,0.7));
}

/* explicit unselected reset */
.service-pill:has(input:not(:checked)){
  border-color:rgba(255,255,255,0.08);
  background:rgba(255,255,255,0.03);
  color:#8a9bbf;
  box-shadow:none;
  transform:translateY(0) scale(1);
}

.service-pill:has(input:not(:checked)) svg{
  stroke:#8a9bbf;
  filter:none;
}

@media(max-width:768px){
  .service-pill{
    font-size:12px;
    padding:8px 12px;
  }
  .service-pill svg{
    width:13px;
    height:13px;
  }
}
/* ── HAMBURGER BUTTON ── */
.hamburger-btn {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  z-index: 101;
}

.hamburger-btn span {
  display: block;
  width: 22px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
  transition: all 0.3s ease;
}

/* X animation when open */
.hamburger-btn.open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger-btn.open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.hamburger-btn.open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ── MOBILE DROPDOWN MENU ── */
.mobile-menu {
  display: flex;
  pointer-events: none;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94),
              opacity 0.3s ease;
  position: fixed;
  top: 72px;
  left: 0;
  right: 0;
  background: rgba(8,12,24,0.98);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(20px);
  z-index: 99;
  flex-direction: column;
  padding: 8px 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
}

.mobile-menu.open {
  pointer-events: all;
  opacity: 1;
  max-height: 400px;
}

.mobile-menu a {
  display: block;
  padding: 14px 6%;
  font-size: 14px;
  font-weight: 600;
  color: #8a9bbf;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: all 0.2s ease;
  letter-spacing: 0.02em;
}

.mobile-menu a:hover {
  color: #22d3ee;
  background: rgba(34,211,238,0.05);
  padding-left: calc(6% + 6px);
}

.mobile-menu a:last-child {
  border-bottom: none;
  color: #22d3ee;
  font-weight: 700;
}

/* Show on mobile */
@media(max-width: 768px) {
  .hamburger-btn { display: flex; }
  .nav-cta { display: none; }
}
/* ── MOBILE OVERRIDE — paste at very bottom ── */
@media(max-width:768px){

  /* NAV */
  nav{
    padding:0 5% !important;
    height:64px !important;
    overflow:visible !important;
  }

  .hamburger-btn{
    display:flex !important;
    position:relative !important;
    right:0 !important;
    margin-left:auto !important;
  }

  .nav-cta{ display:none !important; }

  /* HERO */
  #hero{
    padding:80px 5% 50px !important;
    overflow:hidden !important;
  }

  .hero-inner{
    display:flex !important;
    flex-direction:column !important;
    gap:30px !important;
    width:100% !important;
    max-width:100% !important;
  }

  .hero-left{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 !important;
  }

  .hero-right{ display:none !important; }

  .hero-title{
    font-size:clamp(26px,7vw,38px) !important;
    word-break:break-word !important;
    white-space:normal !important;
  }

  .hero-desc{
    font-size:14px !important;
    max-width:100% !important;
  }

  .hero-badge{
    font-size:10px !important;
    padding:6px 10px !important;
    max-width:90% !important;
    white-space:normal !important;
  }

  .hero-btns{
    flex-direction:column !important;
    gap:10px !important;
    width:100% !important;
  }

  .btn-primary,
  .btn-secondary{
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .hero-tags{
    gap:12px !important;
    flex-wrap:wrap !important;
  }

  /* SECTIONS */
  section{ padding:60px 5% !important; }

}
@media(max-width:768px){
  .hero-inner{
    grid-template-columns:1fr !important;
    display:grid !important;
    max-width:100% !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    gap:20px !important;
  }
  
  #hero{
    padding-left:5% !important;
    padding-right:5% !important;
    overflow-x:hidden !important;
  }

  .hero-left{
    grid-column:1 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .hero-title{
    font-size:28px !important;
    white-space:normal !important;
    word-wrap:break-word !important;
    overflow-wrap:break-word !important;
    width:100% !important;
  }
}
@media(max-width:480px){
  html, body{
    overflow-x:hidden !important;
    max-width:100% !important;
    width:100% !important;
  }

  nav{
    width:100% !important;
    max-width:100vw !important;
    left:0 !important;
    right:0 !important;
    padding:0 16px !important;
    box-sizing:border-box !important;
  }

  #hero{
    width:100% !important;
    max-width:100vw !important;
    padding:80px 16px 50px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .hero-inner{
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
    box-sizing:border-box !important;
    min-width:0 !important;
  }

  .hero-left{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  .hero-title{
    font-size:26px !important;
    width:100% !important;
    white-space:normal !important;
    word-break:break-word !important;
  }

  .hero-badge{
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
    font-size:9px !important;
  }
}
/* ── ENTRANCE ANIMATION ── */
.logo-letter {
  display: inline-block;
  will-change: transform, opacity;
}

.hero-word {
  display: inline-block;
  will-change: transform, opacity;
}
/* ── ACCORDION CTA BOX ── */
.acc-cta-box{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:20px 10px;
  border:1px dashed rgba(168,85,247,0.3);
  border-radius:16px;
  background:rgba(168,85,247,0.04);
}

.acc-cta-icon{
  width:48px;height:48px;
  border-radius:50%;
  border:1.5px dashed rgba(168,85,247,0.5);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;font-weight:300;
  color:#a855f7;
  margin-bottom:14px;
  animation:ctaPulse 2s ease-in-out infinite;
}

@keyframes ctaPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(168,85,247,0.3); }
  50%{ box-shadow:0 0 0 8px rgba(168,85,247,0); }
}

.acc-cta-title{
  font-size:16px;
  font-weight:800;
  color:#ffffff;
  margin-bottom:8px;
  letter-spacing:-0.01em;
}

.acc-cta-desc{
  font-size:12.5px;
  color:#8a9bbf;
  line-height:1.7;
  margin-bottom:18px;
}

.acc-cta-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 20px;
  border:1px solid rgba(168,85,247,0.4);
  border-radius:999px;
  color:#a855f7;
  font-size:12px;
  font-weight:700;
  text-decoration:none;
  background:rgba(168,85,247,0.08);
  transition:all 0.3s ease;
}

.acc-cta-btn:hover{
  background:rgba(168,85,247,0.18);
  border-color:rgba(168,85,247,0.7);
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(168,85,247,0.25);
}
/* ── ACTIVE NAV LINK — glowing pill highlight ── */
.nav-links a.nav-active {
  color: #ffffff !important;
}

.nav-links a.nav-active::after {
  transform: scaleX(1) !important;
  background: var(--cyan) !important;
  height: 2px !important;
  box-shadow: 0 0 8px rgba(34,211,238,0.8),
              0 0 16px rgba(34,211,238,0.4) !important;
  border-radius: 2px !important;
  opacity: 1 !important;
}

/* mobile active */
.mobile-menu a.nav-active {
  color: #22d3ee !important;
  background: rgba(34,211,238,0.07) !important;
  padding-left: calc(6% + 8px) !important;
  border-left: 2px solid #22d3ee !important;
  box-shadow: inset 3px 0 12px rgba(34,211,238,0.15) !important;
}

/* footer active */
.footer-links a.nav-active {
  color: var(--white) !important;
}
.footer-links a.nav-active::after {
  transform: scaleX(1) !important;
  box-shadow: 0 0 8px rgba(34,211,238,0.8) !important;
}
/* mobile active */
.mobile-menu a.nav-active {
  color: #22d3ee !important;
  background: rgba(34,211,238,0.05) !important;
  padding-left: calc(6% + 6px) !important;
  border-left: 2px solid #22d3ee;
}