/* ===== UNIQTRIX – MAIN STYLESHEET (CLEAN BUILD) ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700;800&family=Inter:wght@300;400;500;600&display=swap');

/* ── Variables ── */
:root {
  --primary:#7B6CF6; --primary-dark:#5A4FD6;
  --secondary:#38BDF8; --accent:#F472B6;
  --gold:#D4AF37; --gold-light:#F5E27A;
  --bg-dark:#04060F; --bg-card:rgba(255,255,255,0.03);
  --text-primary:#F0EEFF; --text-secondary:rgba(240,238,255,0.62); --text-muted:rgba(240,238,255,0.35);
  --border:rgba(123,108,246,0.12); --border-glow:rgba(123,108,246,0.55);
  --gradient:linear-gradient(135deg,#7B6CF6 0%,#38BDF8 100%);
  --gradient-gold:linear-gradient(135deg,#D4AF37 0%,#F5E27A 60%,#D4AF37 100%);
  --gradient-royal:linear-gradient(135deg,#7B6CF6 0%,#A855F7 50%,#38BDF8 100%);
  --gradient-accent:linear-gradient(135deg,#F472B6 0%,#FB7185 100%);
  --shadow-glow:0 0 50px rgba(123,108,246,0.3); --shadow-card:0 24px 64px rgba(0,0,0,0.5);
  --radius:16px; --radius-sm:8px;
  --transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg-dark);color:var(--text-primary);overflow-x:hidden;line-height:1.6;background-image:radial-gradient(ellipse at 20% 0%,rgba(123,108,246,0.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(56,189,248,0.05) 0%,transparent 60%)}
h1,h2,h3,h4,h5{font-family:'Space Grotesk',sans-serif;line-height:1.2}
a{text-decoration:none;color:inherit} img{max-width:100%;height:auto} ul{list-style:none}
::-webkit-scrollbar{width:4px} ::-webkit-scrollbar-track{background:var(--bg-dark)} ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7B6CF6,#38BDF8);border-radius:2px}

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

/* ── Preloader ── */
#preloader{position:fixed;inset:0;background:var(--bg-dark);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity 0.6s ease}
#preloader.hide{opacity:0;pointer-events:none}
.preloader-inner{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}
.preloader-logo-text{font-family:'Space Grotesk',sans-serif;font-size:3.2rem;font-weight:800;background:linear-gradient(135deg,#fff 0%,#c4b5fd 25%,#7B6CF6 50%,#38BDF8 75%,#c4b5fd 100%);background-size:300% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:preloaderPulse 1.6s ease-in-out infinite,preloaderShimmer 2.5s linear infinite;line-height:1;letter-spacing:-1px}
@keyframes preloaderPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.82;transform:scale(0.97)}}
@keyframes preloaderShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.preloader-logo-img-wrap{display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.preloader-logo-img-wrap img{max-height:80px;max-width:220px;object-fit:contain;animation:preloaderPulse 1.6s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(108,99,255,0.5))}
.preloader-sub{font-size:0.76rem;background:linear-gradient(90deg,rgba(123,108,246,0.6),rgba(56,189,248,0.6));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:4px;text-transform:uppercase;margin-top:10px;animation:preloaderShimmer 3s linear infinite;background-size:200% 100%}
.preloader-bar{width:200px;height:3px;background:rgba(255,255,255,0.06);border-radius:3px;overflow:hidden;margin-bottom:20px}
.preloader-fill{height:100%;background:var(--gradient);border-radius:3px;animation:preload 2s ease-in-out forwards}
@keyframes preload{from{width:0}to{width:100%}}
.preloader-dots{display:flex;gap:8px}
.preloader-dot{width:8px;height:8px;border-radius:50%;animation:dotBounce 1.2s ease-in-out infinite}
.preloader-dot:nth-child(1){background:var(--primary)}
.preloader-dot:nth-child(2){background:var(--secondary);animation-delay:0.2s}
.preloader-dot:nth-child(3){background:var(--accent);animation-delay:0.4s}
@keyframes dotBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ── Header Top ── */
.header-top{background:rgba(4,6,15,0.98);border-bottom:1px solid rgba(123,108,246,0.15);padding:7px 0;position:relative;z-index:1}
.header-top .container{display:flex;justify-content:space-between;align-items:center}
.header-top-links{display:flex;gap:20px}
.header-top-links a{color:var(--text-muted);font-size:0.78rem;transition:var(--transition);letter-spacing:0.5px}
.header-top-links a:hover{color:var(--secondary)}
.header-social{display:flex;gap:10px}
.header-social a{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);font-size:0.7rem;transition:var(--transition)}
.header-social a:hover{background:var(--primary);border-color:var(--primary);color:white;transform:translateY(-2px)}

/* ── Main Header ── */
.header-main{background:rgba(4,6,15,0.92);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border-bottom:1px solid rgba(123,108,246,0.15);position:sticky;top:0;z-index:200;transition:var(--transition)}
.header-main.scrolled{box-shadow:0 4px 40px rgba(123,108,246,0.2);border-bottom-color:rgba(123,108,246,0.3);background:rgba(4,6,15,0.97)}
.header-main .container{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:14px;font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:800;letter-spacing:-0.5px}
.logo-icon{width:56px;height:56px;background:var(--gradient-royal);border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.45rem;color:white;flex-shrink:0;box-shadow:0 6px 20px rgba(123,108,246,0.45)}
.logo-icon-wrap{display:flex;align-items:center}
.logo-img-wrap{display:flex;align-items:center;height:60px}
.logo-img-wrap img{height:56px;max-width:200px;width:auto;object-fit:contain;display:block}
.logo-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ── Navigation ── */
/* NAV RULES MOVED TO BOTTOM */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:101}
.hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Container & Sections ── */
.container{max-width:1280px;margin:0 auto;padding:0 24px}
.section{position:relative;z-index:1;padding:100px 0}
.section-header{text-align:center;margin-bottom:60px}
.section-eyebrow{display:inline-block;background:rgba(108,99,255,0.15);border:1px solid rgba(108,99,255,0.3);color:var(--secondary);font-size:0.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:20px;margin-bottom:16px}
.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:16px}
.section-title span{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.section-desc{color:var(--text-secondary);font-size:1.05rem;max-width:600px;margin:0 auto}
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}
.view-all-wrap{text-align:center;margin-top:40px}

/* ── Hero ── */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:100px 0 80px}
.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(108,99,255,0.1);border:1px solid rgba(108,99,255,0.25);color:var(--secondary);font-size:0.82rem;font-weight:500;padding:8px 16px;border-radius:20px;margin-bottom:24px}
.hero-eyebrow::before{content:'';width:8px;height:8px;background:var(--secondary);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(1.4)}}
.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1.1;margin-bottom:24px;background:linear-gradient(135deg,#fff 0%,#b8b4ff 40%,#00D4FF 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-title .gradient-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{color:var(--text-secondary);font-size:1.1rem;margin-bottom:36px;line-height:1.7}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:50px;font-weight:600;font-size:0.9rem;cursor:pointer;transition:var(--transition);border:none;font-family:inherit}
.btn-primary{background:var(--gradient-royal);color:white;box-shadow:0 4px 24px rgba(123,108,246,0.45)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 40px rgba(123,108,246,0.6)}
.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border);backdrop-filter:blur(10px)}
.btn-outline:hover{border-color:var(--primary);transform:translateY(-3px)}
.btn-sm{padding:10px 20px;font-size:0.82rem}
.hero-visual{position:relative;display:flex;align-items:center;justify-content:center}

/* ── Hero 3D Scene ── */
.hero-3d-scene{position:relative;width:100%;max-width:520px;height:520px;margin:0 auto}
#heroCanvas{width:100%!important;height:100%!important;border-radius:50%;filter:drop-shadow(0 0 60px rgba(108,99,255,0.45))}
.tech-float{position:absolute;display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:40px;backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,0.12);background:rgba(8,10,28,0.75);color:#fff;font-size:0.78rem;font-weight:600;font-family:'Space Grotesk',sans-serif;white-space:nowrap;box-shadow:0 8px 28px rgba(0,0,0,0.4),inset 0 1px 0 rgba(255,255,255,0.06);pointer-events:none;z-index:10;letter-spacing:0.3px}
.tech-float i{font-size:1rem;flex-shrink:0}
.tech-float-1{top:6%;left:-12%;border-color:rgba(108,99,255,0.5);animation:tf1 4.2s ease-in-out infinite}.tech-float-1 i{color:#6C63FF}
.tech-float-2{top:6%;right:-12%;border-color:rgba(0,212,255,0.5);animation:tf2 3.8s ease-in-out infinite}.tech-float-2 i{color:#00D4FF}
.tech-float-3{top:40%;left:-18%;border-color:rgba(255,107,107,0.5);animation:tf3 5s ease-in-out infinite}.tech-float-3 i{color:#FF6B6B}
.tech-float-4{top:40%;right:-18%;border-color:rgba(40,200,120,0.5);animation:tf4 4.5s ease-in-out infinite}.tech-float-4 i{color:#28C878}
.tech-float-5{bottom:12%;left:-10%;border-color:rgba(255,184,0,0.5);animation:tf5 3.6s ease-in-out infinite}.tech-float-5 i{color:#FFB800}
.tech-float-6{bottom:12%;right:-10%;border-color:rgba(155,89,182,0.5);animation:tf6 4.8s ease-in-out infinite}.tech-float-6 i{color:#9B59B6}
@keyframes tf1{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}
@keyframes tf2{0%,100%{transform:translateY(-6px) rotate(1deg)}50%{transform:translateY(8px) rotate(-1deg)}}
@keyframes tf3{0%,100%{transform:translateY(4px) rotate(1deg)}50%{transform:translateY(-14px) rotate(-1deg)}}
@keyframes tf4{0%,100%{transform:translateY(-4px) rotate(-1deg)}50%{transform:translateY(10px) rotate(1deg)}}
@keyframes tf5{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes tf6{0%,100%{transform:translateY(-8px) rotate(-2deg)}50%{transform:translateY(4px)}}

/* ── Stats ── */
.stats-section{padding:60px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(108,99,255,0.03)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:center}
.stat-value{font-family:'Space Grotesk',sans-serif;font-size:3.5rem;font-weight:900;background:linear-gradient(135deg,#fff 0%,#c4b5fd 40%,#7B6CF6 70%,#38BDF8 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1;margin-bottom:8px}
.stat-label{color:var(--text-secondary);font-size:0.9rem;font-weight:500}
.stat-icon{font-size:1.5rem;margin-bottom:12px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* ── Services ── */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 28px;transition:var(--transition);position:relative;overflow:hidden}
.service-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--gradient);transform:scaleX(0);transition:var(--transition)}
.service-card:hover{border-color:var(--border-glow);transform:translateY(-8px);box-shadow:var(--shadow-glow)}
.service-card:hover::after{transform:scaleX(1)}
.service-icon-wrap{width:64px;height:64px;background:rgba(108,99,255,0.12);border:1px solid rgba(108,99,255,0.25);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin-bottom:20px;transition:var(--transition)}
.service-icon-wrap i{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;transition:var(--transition)}
.service-card:hover .service-icon-wrap{background:var(--gradient);border-color:transparent;box-shadow:0 8px 24px rgba(108,99,255,0.5)}
.service-card:hover .service-icon-wrap i{background:white;-webkit-background-clip:text;-webkit-text-fill-color:white}
.service-card h3{font-size:1.15rem;font-weight:700;margin-bottom:10px}
.service-card p{color:var(--text-secondary);font-size:0.88rem;line-height:1.6}
.learn-more{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:0.82rem;font-weight:600;margin-top:16px;transition:var(--transition)}
.service-card:hover .learn-more{gap:10px}

/* ── Portfolio ── */
.portfolio-filter{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.filter-btn{padding:8px 20px;border-radius:25px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-family:inherit;font-size:0.82rem;font-weight:500;cursor:pointer;transition:var(--transition)}
.filter-btn.active,.filter-btn:hover{background:var(--gradient);border-color:transparent;color:white}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.portfolio-card{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg-card);transition:var(--transition);cursor:pointer}
.portfolio-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-glow);border-color:var(--border-glow)}
.portfolio-img{position:relative;height:220px;overflow:hidden;background:linear-gradient(135deg,rgba(108,99,255,0.2),rgba(0,212,255,0.1))}
.portfolio-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.portfolio-card:hover .portfolio-img img{transform:scale(1.08)}
.portfolio-overlay{position:absolute;inset:0;background:rgba(5,8,20,0.8);display:flex;align-items:center;justify-content:center;opacity:0;transition:var(--transition)}
.portfolio-card:hover .portfolio-overlay{opacity:1}
.portfolio-overlay-btn{background:var(--gradient);color:white;padding:10px 24px;border-radius:25px;font-weight:600;font-size:0.85rem;transform:translateY(20px);transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.portfolio-card:hover .portfolio-overlay-btn{transform:translateY(0)}
.portfolio-body{padding:24px}
.portfolio-cat{display:inline-block;background:rgba(108,99,255,0.12);color:var(--secondary);font-size:0.72rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:12px;margin-bottom:10px}
.portfolio-body h3{font-size:1.05rem;margin-bottom:8px}
.portfolio-body p{color:var(--text-secondary);font-size:0.85rem;line-height:1.5;margin-bottom:14px}
.portfolio-tech{display:flex;gap:6px;flex-wrap:wrap}
.tech-tag{background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--text-muted);font-size:0.72rem;padding:3px 10px;border-radius:10px}

/* ── Blog ── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:var(--transition);cursor:pointer;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-glow);border-color:var(--border-glow)}
.blog-img{height:200px;overflow:hidden;background:linear-gradient(135deg,rgba(108,99,255,0.2),rgba(255,107,107,0.1))}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.blog-card:hover .blog-img img{transform:scale(1.08)}
.blog-body{padding:24px}
.blog-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.blog-cat{background:rgba(108,99,255,0.12);color:var(--secondary);font-size:0.72rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;padding:4px 12px;border-radius:12px}
.blog-date{color:var(--text-muted);font-size:0.78rem}
.blog-body h3{font-size:1.05rem;margin-bottom:10px;line-height:1.4}
.blog-body p{color:var(--text-secondary);font-size:0.85rem;line-height:1.6;margin-bottom:16px}
.blog-author{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:0.78rem}
.blog-author-avatar{width:28px;height:28px;background:var(--gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:white;font-weight:700}
.read-more{color:var(--primary);font-size:0.82rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:var(--transition);margin-top:12px;cursor:pointer}
.read-more:hover{gap:10px}

/* ── Team ── */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.team-card{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,0.07);background:#0a0c1e;transition:transform 0.35s ease,box-shadow 0.35s ease,border-color 0.35s ease;position:relative}
.team-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 28px 60px rgba(0,0,0,0.55),0 0 0 1px rgba(108,99,255,0.35);border-color:rgba(108,99,255,0.35)}
.team-img-full{position:relative;width:100%;height:360px;overflow:hidden}
.team-img-full img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform 0.5s ease}
.team-card:hover .team-img-full img{transform:scale(1.06)}
.team-img-initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:'Space Grotesk',sans-serif;font-size:4.5rem;font-weight:800;color:white;text-shadow:0 4px 20px rgba(0,0,0,0.4)}
.team-img-overlay{position:absolute;inset:0;pointer-events:none}
.team-info-over{position:absolute;bottom:0;left:0;right:0;padding:20px 22px 22px;z-index:2}
.team-role-chip{display:inline-block;padding:3px 10px;border-radius:20px;font-size:0.66rem;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:8px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.team-name-over{font-family:'Space Grotesk',sans-serif;font-size:1.12rem;font-weight:800;color:#fff;margin-bottom:6px;text-shadow:0 2px 16px rgba(0,0,0,0.8);letter-spacing:0.2px;line-height:1.2}

.team-socials-over{display:flex;gap:8px;flex-wrap:wrap;transform:translateY(6px);opacity:0;transition:transform 0.3s ease,opacity 0.3s ease}
.team-card:hover .team-socials-over{transform:translateY(0);opacity:1}
.team-soc-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;border:1px solid var(--pc,rgba(123,108,246,0.5));color:var(--pc,#A78BFA);font-size:0.73rem;font-weight:600;text-decoration:none;background:rgba(4,6,20,0.65);backdrop-filter:blur(8px);transition:all 0.2s ease;white-space:nowrap}
.team-soc-pill:hover{background:rgba(4,6,20,0.9);transform:translateY(-2px)}

/* ── About ── */
.about-content{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-visual{position:relative}
.about-img-wrap{border-radius:24px;overflow:hidden;position:relative;min-height:450px;background:linear-gradient(135deg,rgba(108,99,255,0.2),rgba(0,212,255,0.08));display:flex;align-items:center;justify-content:center}
.about-img-wrap img{width:100%;height:450px;object-fit:cover;object-position:center top;display:block;border-radius:24px}
.about-img-placeholder{display:flex;align-items:center;justify-content:center;font-size:6rem;opacity:0.3;width:100%;height:450px}
.about-badge{position:absolute;bottom:-20px;right:-20px;background:var(--gradient);border-radius:var(--radius);padding:20px 24px;text-align:center;box-shadow:var(--shadow-card)}
.about-badge .number{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:800;color:white;line-height:1}
.about-badge .label{font-size:0.75rem;color:rgba(255,255,255,0.8);margin-top:4px}
.about-eyebrow{display:inline-block;background:rgba(108,99,255,0.12);border:1px solid rgba(108,99,255,0.25);color:var(--secondary);font-size:0.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;border-radius:20px;margin-bottom:16px}
.about-text h2{font-size:2.2rem;font-weight:800;margin-bottom:20px}
.about-text p{color:var(--text-secondary);line-height:1.7;margin-bottom:16px;font-size:0.95rem}
.about-values{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.value-tag{background:rgba(108,99,255,0.1);border:1px solid rgba(108,99,255,0.2);color:var(--text-secondary);font-size:0.82rem;padding:6px 14px;border-radius:20px;display:flex;align-items:center;gap:6px}
.value-tag::before{content:'✓';color:var(--secondary);font-weight:700}

/* ── Mission/Vision ── */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mv-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:40px;position:relative;overflow:hidden}
.mv-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px}
.mv-card.mission::before{background:var(--gradient)}
.mv-card.vision::before{background:var(--gradient-accent)}
.mv-icon{font-size:2.5rem;margin-bottom:16px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.mv-card.vision .mv-icon{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.mv-card h3{font-size:1.3rem;margin-bottom:12px}
.mv-card p{color:var(--text-secondary);line-height:1.7}

/* ── Values ── */
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.value-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;transition:var(--transition)}
.value-card:hover{border-color:var(--border-glow);transform:translateY(-4px)}
.value-card-icon{font-size:2rem;margin-bottom:12px;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.value-card h4{font-size:1rem;margin-bottom:8px}
.value-card p{color:var(--text-secondary);font-size:0.82rem;line-height:1.6}

/* ── Contact ── */
.contact-content{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}
.contact-info{display:flex;flex-direction:column;gap:20px}
.contact-info-item{display:flex;align-items:flex-start;gap:16px;padding:18px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition)}
.contact-info-item:hover{border-color:var(--border-glow)}
.contact-info-icon{width:44px;height:44px;background:rgba(108,99,255,0.12);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.contact-info-icon i{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.contact-info-text h4{font-size:0.88rem;margin-bottom:4px}
.contact-info-text p{color:var(--text-secondary);font-size:0.83rem;line-height:1.5}
.contact-map{height:220px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.contact-map iframe{width:100%;height:100%;border:none}

/* ── Forms ── */
.form-group{margin-bottom:20px}
.form-label{display:block;color:var(--text-secondary);font-size:0.82rem;font-weight:500;margin-bottom:8px}
.form-control{width:100%;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;color:var(--text-primary);font-family:inherit;font-size:0.9rem;transition:var(--transition);outline:none}
.form-control:focus{border-color:var(--primary);background:rgba(108,99,255,0.06);box-shadow:0 0 0 3px rgba(108,99,255,0.1)}
.form-control::placeholder{color:var(--text-muted)}
textarea.form-control{resize:vertical;min-height:120px}
select.form-control{cursor:pointer}
select.form-control option{background:#1a1d2e}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn-center-wrap{display:flex;justify-content:center;margin-top:8px}

/* ── Card 3D ── */
.card-3d{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;transition:var(--transition);position:relative;overflow:hidden}
.card-3d:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow)}

/* ── Subscribe ── */
.subscribe-section{background:transparent;border-top:1px solid rgba(108,99,255,0.25);border-bottom:1px solid rgba(108,99,255,0.25);padding:80px 0;text-align:center;position:relative;z-index:1;backdrop-filter:none}
.subscribe-section h2{font-size:2rem;margin-bottom:12px}
.subscribe-section p{color:var(--text-secondary);margin-bottom:32px}
.subscribe-form{display:flex;gap:12px;max-width:480px;margin:0 auto}
.subscribe-form input{flex:1;background:rgba(255,255,255,0.06);border:1px solid var(--border);border-radius:50px;padding:13px 24px;color:var(--text-primary);font-family:inherit;font-size:0.9rem;outline:none;transition:var(--transition)}
.subscribe-form input:focus{border-color:var(--primary)}
.subscribe-form input::placeholder{color:var(--text-muted)}

/* ── Footer ── */
footer{background:rgba(5,8,20,0.15);border-top:1px solid rgba(108,99,255,0.25);position:relative;z-index:1;backdrop-filter:blur(2px)}
.footer-top{padding:60px 0 40px;background:transparent}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-desc{color:var(--text-muted);font-size:0.85rem;line-height:1.7;margin-bottom:0}
.footer-logo-icon-wrap{display:flex;align-items:center}
.footer-logo-img-wrap{display:flex;align-items:center;height:58px}
.footer-logo-img-wrap img{height:54px;max-width:180px;width:auto;object-fit:contain}
.footer-col h4{font-size:0.9rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.footer-col ul li{margin-bottom:8px}
.footer-col ul li a{color:var(--text-muted);font-size:0.83rem;transition:var(--transition);display:flex;align-items:center;gap:6px}
.footer-col ul li a:hover{color:var(--secondary);padding-left:4px}
.footer-col ul li a::before{content:'›';color:var(--primary)}
.footer-bottom{padding:20px 0;border-top:1px solid rgba(108,99,255,0.2);display:flex;justify-content:space-between;align-items:center}
.footer-copy{color:var(--text-muted);font-size:0.82rem}
.footer-social{display:flex;gap:10px}
.footer-social a{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:0.75rem;transition:var(--transition)}
.footer-social a:hover{background:var(--gradient);border-color:transparent;color:white;transform:translateY(-2px)}

/* ── Page Hero ── */
.page-hero{padding:100px 0 60px;text-align:center;position:relative;z-index:1}
.page-hero h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:12px}
.page-hero p{color:var(--text-secondary);font-size:1rem}
.breadcrumb{display:flex;align-items:center;gap:8px;justify-content:center;color:var(--text-muted);font-size:0.82rem;margin-top:12px}
.breadcrumb a{color:var(--primary)}
.breadcrumb span::before{content:'/';margin-right:8px}

/* ── Legal ── */
.legal-content{max-width:800px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:48px;line-height:1.8;color:var(--text-secondary);font-size:0.95rem}
.legal-content h3{color:var(--text-primary);font-size:1.1rem;margin:24px 0 12px}

/* ── Appointment ── */
.appointment-wrap{max-width:700px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:48px}
.careers-wrap{max-width:700px;margin:0 auto}

/* ── Notification ── */
.notification{position:fixed;top:24px;right:24px;z-index:10000;background:rgba(13,16,37,0.97);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px;max-width:320px;box-shadow:var(--shadow-card);backdrop-filter:blur(20px);display:flex;align-items:center;gap:12px;transform:translateX(400px);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}
.notification.show{transform:translateX(0)}
.notification.success{border-color:rgba(40,200,120,0.4)}
.notification.error{border-color:rgba(255,107,107,0.4)}
.notification-icon{font-size:1.2rem}
.notification.success .notification-icon{color:#28C878}
.notification.error .notification-icon{color:#FF6B6B}
.notification-text{font-size:0.85rem;color:var(--text-secondary)}

/* ── Glow Dots ── */
.glow-dot{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.glow-dot-1{width:400px;height:400px;background:rgba(108,99,255,0.15);top:-100px;left:-100px}
.glow-dot-2{width:300px;height:300px;background:rgba(0,212,255,0.1);bottom:-50px;right:-50px}

/* ── Scroll Animations ── */
.fade-up{opacity:1;transform:none;transition:none}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-up:nth-child(2){transition-delay:0.1s}
.fade-up:nth-child(3){transition-delay:0.2s}
.fade-up:nth-child(4){transition-delay:0.3s}
.fade-up:nth-child(5){transition-delay:0.4s}
.fade-up:nth-child(6){transition-delay:0.5s}

/* ── Preloader Type Selector (admin) ── */
.preloader-type-opt{display:flex;align-items:center;cursor:pointer}
.preloader-type-opt input{display:none}
.preloader-type-opt span{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;border:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.5);font-size:0.8rem;transition:all 0.2s;cursor:pointer}
.preloader-type-opt input:checked + span{background:linear-gradient(135deg,rgba(108,99,255,0.2),rgba(0,212,255,0.1));border-color:#6C63FF;color:#fff}

/* ── Responsive ── */
@media (max-width:1024px){
  .services-grid,.portfolio-grid,.blog-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .hero-content{gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .about-content{gap:40px}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .contact-content{grid-template-columns:1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .header-top .container{flex-direction:column;gap:8px;text-align:center}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(14,17,35,0.99);padding:20px;flex-direction:column;gap:8px;border-bottom:1px solid var(--border)}
  .nav.mobile-open{display:flex}
  .nav a{width:100%;text-align:center;padding:12px}
  .btn-appointment{width:100%;justify-content:center}
  .hamburger{display:flex}
  .hero-content{grid-template-columns:1fr;gap:40px;text-align:center}
  .hero-visual{order:-1}
  .hero-3d-scene{height:360px;max-width:360px}
  .hero-actions{justify-content:center}
  .tech-float-1{top:0%;left:2%;font-size:0.68rem;padding:6px 10px}
  .tech-float-2{top:0%;right:2%;font-size:0.68rem;padding:6px 10px}
  .tech-float-3{top:32%;left:2%;font-size:0.68rem;padding:6px 10px}
  .tech-float-4{top:32%;right:2%;font-size:0.68rem;padding:6px 10px}
  .tech-float-5{bottom:8%;left:2%;font-size:0.68rem;padding:6px 10px}
  .tech-float-6{bottom:8%;right:2%;font-size:0.68rem;padding:6px 10px}
  .services-grid,.portfolio-grid,.blog-grid,.team-grid{grid-template-columns:1fr}
  .about-content,.mv-grid{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:16px;text-align:center}
  .section{padding:60px 0}
  .appointment-wrap{padding:28px 20px}
  .about-badge{right:0;bottom:0}
  .values-grid{grid-template-columns:1fr}
  .team-img-full{height:300px}
}
@media (max-width:480px){
  .stats-grid{grid-template-columns:1fr 1fr}
  .subscribe-form{flex-direction:column}
  .container{padding:0 16px}
  .hero-3d-scene{height:300px;max-width:300px}
  /* tech-float-3,4 now visible on mobile */
}

/* ── Footer license ── */
.footer-copy-wrap { display:flex; flex-direction:column; gap:2px; }
.footer-license {
  color: rgba(255,255,255,0.28);
  font-size: 0.73rem;
  line-height: 1.4;
}

/* ===== PAGE TRANSITIONS ===== */
/* ===== 3D PAGE TRANSITION ===== */
.pt-scene {
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  perspective: 1200px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0s 0.7s, visibility 0s 0.7s;
}
.pt-scene.enter {
  opacity: 1;
  visibility: visible;
  transition: none;
}
.pt-curtain {
  position: absolute;
  inset: 0;
  transform-origin: top center;
  transform: rotateX(-90deg);
  transition: transform 0.55s cubic-bezier(0.77,0,0.175,1);
  background: #04060F;
  backface-visibility: hidden;
}
.pt-curtain-inner {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #0d0820 0%, #120832 30%, #0a1628 60%, #04060F 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
/* Animated grid lines */
.pt-curtain-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(123,108,246,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123,108,246,0.06) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: ptGrid 0.8s ease-out;
}
@keyframes ptGrid {
  from { opacity:0; transform: scale(1.1); }
  to   { opacity:1; transform: scale(1); }
}
.pt-logo-wrap {
  position: relative;
  z-index: 1;
  text-align: center;
  opacity: 0;
  transform: scale(0.7) translateY(20px);
  transition: opacity 0.35s ease 0.25s, transform 0.45s cubic-bezier(0.34,1.56,0.64,1) 0.2s;
}
.pt-logo-icon {
  width: 72px; height: 72px;
  background: linear-gradient(135deg,#7B6CF6,#A855F7,#38BDF8);
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #fff;
  margin: 0 auto 14px;
  box-shadow: 0 0 40px rgba(123,108,246,0.6), 0 0 80px rgba(123,108,246,0.2);
  animation: ptIconPulse 1.2s ease-in-out infinite;
}
@keyframes ptIconPulse {
  0%,100%{box-shadow:0 0 40px rgba(123,108,246,0.6),0 0 80px rgba(123,108,246,0.2)}
  50%{box-shadow:0 0 60px rgba(168,85,247,0.7),0 0 100px rgba(56,189,248,0.3)}
}
.pt-logo-text {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  background: linear-gradient(135deg,#fff 0%,#c4b5fd 50%,#7dd3fc 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: 3px;
}
.pt-logo-sub {
  font-size: 0.72rem;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(240,238,255,0.35);
  margin-top: 6px;
}
/* Orbit rings */
.pt-rings {
  position: absolute;
  width: 320px; height: 320px;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  z-index: 0;
}
.pt-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(123,108,246,0.15);
  animation: ptSpin 6s linear infinite;
}
.pt-ring:nth-child(1){animation-duration:4s;border-color:rgba(123,108,246,0.2)}
.pt-ring:nth-child(2){inset:30px;animation-duration:6s;animation-direction:reverse;border-color:rgba(168,85,247,0.15)}
.pt-ring:nth-child(3){inset:60px;animation-duration:8s;border-color:rgba(56,189,248,0.12)}
@keyframes ptSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
/* Ring dot */
.pt-ring::before {
  content: '';
  position: absolute;
  width: 6px; height: 6px;
  background: var(--gradient,#7B6CF6);
  border-radius: 50%;
  top: 50%; left: -3px;
  margin-top: -3px;
  box-shadow: 0 0 8px rgba(123,108,246,0.8);
}

/* States */
.pt-scene.enter .pt-curtain {
  transform: rotateX(0deg);
  transition: transform 0.5s cubic-bezier(0.77,0,0.175,1);
}
.pt-scene.enter .pt-logo-wrap {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.pt-scene.exit .pt-curtain {
  transform: rotateX(90deg);
  transform-origin: bottom center;
  transition: transform 0.5s cubic-bezier(0.77,0,0.175,1);
}
.pt-scene.exit .pt-logo-wrap {
  opacity: 0;
  transition-delay: 0s;
}

/* ===== CUSTOM CURSOR ===== */
/* Only hide native cursor when custom cursor is active */
body.custom-cursor *, body.custom-cursor *::before, body.custom-cursor *::after { cursor: none !important; }
#customCursor {
  position: fixed;
  pointer-events: none;
  z-index: 99999;
  mix-blend-mode: screen;
}
.cursor-dot {
  position: fixed;
  width: 8px; height: 8px;
  background: #fff;
  border-radius: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  z-index: 99999;
  transition: transform 0.1s ease, background 0.2s ease, width 0.2s ease, height 0.2s ease;
}
.cursor-ring {
  position: fixed;
  width: 36px; height: 36px;
  border: 2px solid rgba(108,99,255,0.7);
  border-radius: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  z-index: 99998;
  transition: width 0.25s ease, height 0.25s ease, border-color 0.25s ease, transform 0.08s ease;
  box-shadow: 0 0 12px rgba(108,99,255,0.4), 0 0 24px rgba(0,212,255,0.2);
}
.cursor-ring.hover {
  width: 60px; height: 60px;
  border-color: rgba(0,212,255,0.8);
  box-shadow: 0 0 20px rgba(0,212,255,0.5), 0 0 40px rgba(108,99,255,0.3);
}
/* Cursor trail particles */
.cursor-trail {
  position: fixed;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: linear-gradient(135deg,#6C63FF,#00D4FF);
  pointer-events: none;
  z-index: 99997;
  transform: translate(-50%,-50%);
  opacity: 0;
  transition: opacity 0.1s ease;
}

/* ===== FIX 6: LICENSE in footer-brand (1st column) ===== */
.footer-license-block {
  margin-top: 14px;
  padding: 10px 14px;
  background: rgba(108,99,255,0.08);
  border: 1px solid rgba(108,99,255,0.15);
  border-radius: 10px;
  display: none;
}
.footer-license-block.show { display: block; }
.footer-license-label {
  font-size: 0.66rem;
  color: rgba(255,255,255,0.3);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 4px;
}
.footer-license-name {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.7);
  font-weight: 600;
}
.footer-license-num {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.4);
  margin-top: 2px;
}

/* ===== HOW WE WORK (FIX 8) ===== */
.how-we-work-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 28px;
  position: relative;
}
.how-we-work-grid::before {
  content: '';
  position: absolute;
  top: 40px; left: calc(12.5% + 20px); right: calc(12.5% + 20px);
  height: 2px;
  background: linear-gradient(90deg, #6C63FF, #00D4FF, #6C63FF);
  z-index: 0;
  opacity: 0.4;
}
/* ===== TEAM CEO SPOTLIGHT (FIX 7) ===== */
.ceo-spotlight {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 80px;
  padding: 48px;
  background: rgba(108,99,255,0.04);
  border: 1px solid rgba(108,99,255,0.15);
  border-radius: 28px;
  position: relative;
  overflow: hidden;
}
.ceo-spotlight::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gradient);
}
.ceo-img-wrap {
  position: relative;
  border-radius: 20px;
  height: 480px;
  width: 100%;
  overflow: hidden;
}
.ceo-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  border-radius: 20px;
  transition: transform 0.6s ease;
}
.ceo-spotlight:hover .ceo-img-wrap img { transform: scale(1.04); }
.ceo-img-placeholder {
  width: 100%;
  height: 100%;
  min-height: 480px;
  background: linear-gradient(135deg,rgba(123,108,246,0.25),rgba(56,189,248,0.12));
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 5rem;
  font-weight: 800;
  color: rgba(240,238,255,0.8);
  border-radius: 20px;
}
.ceo-ring {
  position: absolute;
  inset: -2px;
  border-radius: 22px;
  background: linear-gradient(135deg,#7B6CF6,#A855F7,#38BDF8);
  z-index: -1;
  opacity: 0.7;
}
.ceo-badge {
  position: absolute;
  bottom: 20px; right: 20px;
  background: var(--gradient);
  border-radius: 12px;
  padding: 10px 18px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.ceo-badge-title { font-size: 0.7rem; color: rgba(255,255,255,0.8); }
.ceo-badge-name  { font-size: 0.9rem; font-weight:700; color:#fff; font-family:'Space Grotesk',sans-serif; }
.ceo-quote-mark {
  font-size: 5rem;
  line-height: 0.8;
  color: rgba(108,99,255,0.25);
  font-family: Georgia, serif;
  margin-bottom: 12px;
  display: block;
}
.ceo-message {
  font-size: 1.05rem;
  line-height: 1.85;
  color: rgba(255,255,255,0.78);
  font-style: italic;
  margin-bottom: 28px;
  border-left: 3px solid transparent;
  border-image: var(--gradient) 1;
  padding-left: 20px;
}
.ceo-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  background: var(--gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 4px;
}
.ceo-role {
  font-size: 0.82rem;
  color: var(--text-muted);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.ceo-socials { display: flex; gap: 10px; }
.ceo-soc-btn {
  width: 36px; height: 36px;
  border: 1px solid rgba(108,99,255,0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  font-size: 0.82rem;
  transition: all 0.2s ease;
  text-decoration: none;
}
.ceo-soc-btn:hover { background: var(--gradient); border-color: transparent; color: #fff; transform: translateY(-2px); }

/* ===== CV UPLOAD STYLING ===== */
.cv-upload-wrap {
  border: 2px dashed rgba(108,99,255,0.35);
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  transition: all 0.2s ease;
  cursor: pointer;
  position: relative;
}
.cv-upload-wrap:hover { border-color: var(--primary); background: rgba(108,99,255,0.05); }
.cv-upload-wrap input[type="file"] {
  position: absolute; inset: 0;
  opacity: 0; cursor: pointer;
  width: 100%; height: 100%;
}
.cv-upload-icon { font-size: 2rem; margin-bottom: 10px; background: var(--gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.cv-upload-text { color: var(--text-secondary); font-size: 0.88rem; }
.cv-upload-hint { color: var(--text-muted); font-size: 0.75rem; margin-top: 4px; }
.cv-file-name { color: var(--secondary); font-size: 0.82rem; margin-top: 8px; font-weight: 500; display: none; }

@media (max-width: 900px) {
  .how-we-work-grid { grid-template-columns: repeat(2,1fr); }
  .how-we-work-grid::before { display: none; }
  .ceo-spotlight { grid-template-columns: 1fr; gap: 30px; padding: 28px; }
}
@media (max-width: 600px) {
  .how-we-work-grid { grid-template-columns: 1fr; }
  .cursor-dot, .cursor-ring { display: none; }
}

/* ===== TESTIMONIALS ===== */
.testi-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
  margin-bottom: 60px;
}
.testi-card {
  background: rgba(123,108,246,0.04);
  border: 1px solid rgba(123,108,246,0.15);
  border-radius: 20px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  overflow: hidden;
}
.testi-card::before {
  content: '"';
  position: absolute;
  top: 14px; right: 20px;
  font-size: 5rem;
  line-height: 1;
  font-family: Georgia, serif;
  color: rgba(123,108,246,0.1);
  pointer-events: none;
}
.testi-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,0.3);
  border-color: rgba(123,108,246,0.35);
}
.testi-stars { display: flex; gap: 3px; font-size: 0.88rem; }
.testi-comment {
  color: rgba(240,238,255,0.75);
  font-size: 0.9rem;
  line-height: 1.75;
  flex: 1;
  font-style: italic;
}
.testi-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 14px;
  border-top: 1px solid rgba(123,108,246,0.1);
}
.testi-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: linear-gradient(135deg,#7B6CF6,#38BDF8);
  display: flex; align-items: center; justify-content: center;
  font-size: 0.85rem; font-weight: 700; color: #fff;
  font-family: 'Space Grotesk', sans-serif;
}
.testi-avatar img { width:100%;height:100%;object-fit:cover;display:block; }
.testi-info { flex: 1; min-width: 0; }
.testi-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.9rem; font-weight: 700;
  color: #F0EEFF;
}
a.testi-name { color: #7B6CF6; }
.testi-role { font-size: 0.75rem; color: rgba(240,238,255,0.4); margin-top: 2px; }
.testi-date { font-size: 0.68rem; color: rgba(240,238,255,0.25); flex-shrink: 0; }

/* Submit form */
.testi-submit-wrap {
  max-width: 720px;
  margin: 0 auto;
  background: rgba(123,108,246,0.04);
  border: 1px solid rgba(123,108,246,0.15);
  border-radius: 24px;
  padding: 48px;
}
.testi-submit-header { text-align: center; margin-bottom: 36px; }
.testi-form { display: flex; flex-direction: column; gap: 0; }

/* Star picker */
.testi-star-picker {
  display: flex;
  gap: 6px;
  padding: 10px 0;
}
.tstar {
  font-size: 1.6rem;
  cursor: pointer;
  transition: transform 0.15s ease, color 0.15s ease;
  color: rgba(212,175,55,0.25);
}
.tstar.active, .tstar.hover { color: #D4AF37; transform: scale(1.15); }

/* ===== FULL RESPONSIVE OVERRIDES ===== */

/* Large screens (TV/4K) */
@media (min-width: 1600px) {
  .container { max-width: 1440px; }
  .section-title { font-size: 3.2rem; }
  .hero-title { font-size: 4.5rem; }
  .services-grid { grid-template-columns: repeat(4,1fr); }
  .testi-grid { grid-template-columns: repeat(4,1fr); }
}

/* Desktop 1280-1599 */
@media (max-width: 1280px) {
  .services-grid { grid-template-columns: repeat(3,1fr); }
  .hero-3d-scene { height: 460px; max-width: 460px; }
}

/* Laptop / Tablet Landscape 1024-1279 */
@media (max-width: 1024px) {
  .services-grid, .portfolio-grid, .blog-grid { grid-template-columns: repeat(2,1fr); }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .how-we-work-grid { grid-template-columns: repeat(2,1fr); }
  .how-we-work-grid::before { display: none; }
  .hero-content { gap: 32px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .about-content { gap: 40px; }
  .contact-content { grid-template-columns: 1fr; }
  .mv-grid { gap: 20px; }
  .ceo-spotlight { gap: 40px; padding: 36px; }
  .testi-grid { grid-template-columns: repeat(2,1fr); }
  .admin-chat-layout { height: auto; min-height: 600px; }
}

/* Tablet Portrait 768-1023 */
@media (max-width: 1023px) {
  .hero-content { grid-template-columns: 1fr; text-align: center; gap: 40px; }
  .hero-visual { order: -1; }
  .hero-3d-scene { max-width: 360px; height: 360px; margin: 0 auto; }
  .hero-actions { justify-content: center; }
  .hero-desc { max-width: 520px; margin: 0 auto 36px; }
  .services-grid { grid-template-columns: repeat(2,1fr); }
  .portfolio-grid { grid-template-columns: repeat(2,1fr); }
  .blog-grid { grid-template-columns: repeat(2,1fr); }
  .team-grid { grid-template-columns: repeat(2,1fr); }
  .team-img-full { height: 300px; }
  .ceo-spotlight { grid-template-columns: 1fr; text-align: center; }
  .ceo-spotlight { padding: 28px; gap: 28px; }
  .ceo-img-wrap { height: 360px; max-width: 340px; margin: 0 auto; }
  .ceo-socials { justify-content: center; }
  .values-grid { grid-template-columns: repeat(2,1fr); }
  .how-we-work-grid { grid-template-columns: repeat(2,1fr); }
  .about-content { grid-template-columns: 1fr; gap: 40px; }
  .mv-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2,1fr); gap: 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .testi-grid { grid-template-columns: repeat(2,1fr); }
  .testi-submit-wrap { padding: 28px 20px; }
  .subscribe-form { flex-direction: column; }
  .appointment-wrap, .careers-wrap { padding: 28px 20px; }
  .legal-content { padding: 28px 20px; }
  .hamburger { display: flex; }
  .nav { display: none; }
  .nav.mobile-open { display: flex; }
}

/* Mobile 480-767 */
@media (max-width: 767px) {
  html { font-size: 15px; }
  .container { padding: 0 16px; }
  .section { padding: 60px 0; }
  .hero-title { font-size: 2.4rem; }
  .section-title { font-size: 1.8rem; }
  .hero-3d-scene { max-width: 300px; height: 300px; }
  .services-grid,
  .portfolio-grid,
  .blog-grid,
  .team-grid,
  .testi-grid,
  .how-we-work-grid,
  .values-grid,
  .mv-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; gap: 14px; text-align: center; }
  .footer-logo-img-wrap img { max-height: 42px; }
  .hero-actions { flex-direction: column; align-items: center; }
  .hero-actions .btn { width: 100%; max-width: 280px; justify-content: center; }
  .page-hero h1 { font-size: 2rem; }
  .about-badge { right: 0; bottom: -10px; }
  .ceo-img-wrap { height: 280px; }
  .appointment-wrap, .careers-wrap, .legal-content, .testi-submit-wrap { padding: 20px 16px; border-radius: 16px; }
  .admin-chat-layout { grid-template-columns: 1fr; min-height: 400px; }
  .chat-sessions-panel { height: 180px; }
  .btn { padding: 12px 22px; font-size: 0.87rem; }
  .btn-appointment { padding: 8px 16px !important; font-size: 0.82rem !important; }
  /* tech-float-3,4 visible on mobile */
  .testi-submit-wrap { border-radius: 16px; }
  .tstar { font-size: 1.4rem; }
  #chatWindow { width: calc(100vw - 12px); right: 6px; border-radius: 14px; }
}

/* Small mobile < 480 */
@media (max-width: 479px) {
  .hero-title { font-size: 2rem; }
  .section-title { font-size: 1.6rem; }
  .section { padding: 48px 0; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .stat-value { font-size: 2.2rem; }
  .hero-3d-scene { max-width: 260px; height: 260px; }
  .portfolio-overlay-btn { font-size: 0.78rem; padding: 8px 16px; }
  .subscribe-form input, .subscribe-form button { width: 100%; border-radius: 12px !important; }
  /* Smaller tech pills on tiny screens */
  .tech-float { font-size: 0.62rem !important; padding: 5px 8px !important; gap: 5px !important; }
  .tech-float i { font-size: 0.82rem !important; }
  .tech-float-1 { top: 0%; left: 0%; }
  .tech-float-2 { top: 0%; right: 0%; }
  .tech-float-3 { top: 35%; left: 0%; }
  .tech-float-4 { top: 35%; right: 0%; }
  .tech-float-5 { bottom: 5%; left: 0%; }
  .tech-float-6 { bottom: 5%; right: 0%; }
  .nav a { font-size: 0.9rem; }
  .ceo-spotlight { padding: 18px; }
  .cursor-dot, .cursor-ring, .cursor-trail { display: none !important; }
}

/* ===== DAY / NIGHT MODE ===== */

/* Day mode (light) overrides */
body.day-mode {
  --primary: #6B5FE0;
  --primary-dark: #4A3FC5;
  --secondary: #0EA5E9;
  --accent: #E8396B;
  --gold: #C4900A;
  --gold-light: #E0A820;
  --bg-dark: #F0F2FF;
  --bg-card: rgba(255,255,255,0.85);
  --text-primary: #0F0D2E;
  --text-secondary: rgba(15,13,46,0.68);
  --text-muted: rgba(15,13,46,0.42);
  --border: rgba(107,95,224,0.15);
  --border-glow: rgba(107,95,224,0.45);
  --gradient: linear-gradient(135deg,#6B5FE0,#0EA5E9);
  --gradient-gold: linear-gradient(135deg,#C4900A,#E0A820);
  --gradient-royal: linear-gradient(135deg,#6B5FE0,#9333EA,#0EA5E9);
  --gradient-accent: linear-gradient(135deg,#E8396B,#F97316);
  --shadow-glow: 0 0 50px rgba(107,95,224,0.2);
  --shadow-card: 0 12px 40px rgba(107,95,224,0.12);
  background-image: radial-gradient(ellipse at 20% 0%, rgba(107,95,224,0.07) 0%, transparent 60%),
                    radial-gradient(ellipse at 80% 100%, rgba(14,165,233,0.05) 0%, transparent 60%);
}

/* Day mode body */
body.day-mode { background:#F0F2FF; color:#0F0D2E; }

/* Day mode scrollbar */
body.day-mode::-webkit-scrollbar-track { background: #E8EAF6; }

/* Day headers */
body.day-mode .header-top {
  background: rgba(240,242,255,0.97);
  border-bottom-color: rgba(107,95,224,0.15);
}
body.day-mode .header-main {
  background: rgba(240,242,255,0.94);
  border-bottom-color: rgba(107,95,224,0.15);
}
body.day-mode .header-main.scrolled {
  background: rgba(240,242,255,0.98);
  box-shadow: 0 4px 30px rgba(107,95,224,0.12);
}
body.day-mode .logo-text { color: #0F0D2E; }
body.day-mode .logo-icon { background: var(--gradient); }

/* Day nav */
body.day-mode .nav a { color: rgba(15,13,46,0.62); }

/* Day hero */
body.day-mode .hero-title {
  background: linear-gradient(135deg,#0F0D2E 0%,#6B5FE0 50%,#0EA5E9 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.day-mode .hero-desc { color: rgba(15,13,46,0.65); }
body.day-mode .hero-eyebrow { background: rgba(107,95,224,0.1); border-color: rgba(107,95,224,0.25); }

/* Day cards */
body.day-mode .service-card,
body.day-mode .portfolio-card,
body.day-mode .blog-card,
body.day-mode .mv-card,
body.day-mode .value-card,
body.day-mode .card-3d {
  background: #fff;
  border-color: rgba(107,95,224,0.12);
  box-shadow: 0 4px 20px rgba(107,95,224,0.08);
}
body.day-mode .service-card h3,
body.day-mode .portfolio-body h3,
body.day-mode .blog-body h3,
body.day-mode .mv-card h3,
body.day-mode .value-card h4 { color: #0F0D2E; }
body.day-mode .service-card p,
body.day-mode .blog-body p,
body.day-mode .value-card p { color: rgba(15,13,46,0.62); }

/* Day section eyebrow */
body.day-mode .section-eyebrow {
  background: rgba(107,95,224,0.1);
  border-color: rgba(107,95,224,0.25);
  color: #6B5FE0;
}
body.day-mode .section-desc { color: rgba(15,13,46,0.62); }

/* Day blog/portfolio meta */
body.day-mode .blog-cat,
body.day-mode .portfolio-cat { background: rgba(107,95,224,0.1); color: #0EA5E9; }
body.day-mode .blog-date { color: rgba(15,13,46,0.42); }
body.day-mode .blog-author { color: rgba(15,13,46,0.5); }
body.day-mode .tech-tag { background: rgba(107,95,224,0.06); border-color: rgba(107,95,224,0.15); color: rgba(15,13,46,0.55); }

/* Day forms */
body.day-mode .form-control {
  background: #fff;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}
body.day-mode .form-control:focus { border-color: #6B5FE0; box-shadow: 0 0 0 3px rgba(107,95,224,0.1); }
body.day-mode .form-control::placeholder { color: rgba(15,13,46,0.35); }
body.day-mode .form-label { color: rgba(15,13,46,0.68); }
body.day-mode textarea.form-control { background: #fff; }

/* Day contact items */
body.day-mode .contact-info-item { background: #fff; border-color: rgba(107,95,224,0.12); }
body.day-mode .contact-info-text h4 { color: #0F0D2E; }
body.day-mode .contact-info-text p { color: rgba(15,13,46,0.62); }

/* Day stats */
body.day-mode .stats-section { background: rgba(107,95,224,0.04); border-color: rgba(107,95,224,0.12); }
body.day-mode .stat-label { color: rgba(15,13,46,0.6); }

/* Day about */
body.day-mode .about-text h2 { color: #0F0D2E; }
body.day-mode .about-text p { color: rgba(15,13,46,0.65); }
body.day-mode .value-tag { background: rgba(107,95,224,0.08); border-color: rgba(107,95,224,0.18); color: rgba(15,13,46,0.7); }

/* Day breadcrumb */
body.day-mode .breadcrumb { color: rgba(15,13,46,0.45); }
body.day-mode .page-hero h1 { color: #0F0D2E; }
body.day-mode .page-hero p { color: rgba(15,13,46,0.62); }

/* Day subscribe */
body.day-mode .subscribe-section { border-color: rgba(107,95,224,0.2); }
body.day-mode .subscribe-section h2,
body.day-mode .subscribe-section p { color: #0F0D2E; }
body.day-mode .subscribe-form input {
  background: #fff;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}

/* Day footer */
body.day-mode footer { background: rgba(230,232,250,0.6); border-top-color: rgba(107,95,224,0.18); }
body.day-mode .footer-desc { color: rgba(15,13,46,0.55); }
body.day-mode .footer-col h4 { color: #0F0D2E; border-bottom-color: rgba(107,95,224,0.12); }
body.day-mode .footer-col ul li a { color: rgba(15,13,46,0.5); }
body.day-mode .footer-col ul li a:hover { color: #6B5FE0; }
body.day-mode .footer-copy { color: rgba(15,13,46,0.45); }
body.day-mode .footer-bottom { border-top-color: rgba(107,95,224,0.12); }
body.day-mode .footer-social a { border-color: rgba(107,95,224,0.2); color: rgba(15,13,46,0.5); }
body.day-mode .footer-license-block { background: rgba(107,95,224,0.06); border-color: rgba(107,95,224,0.15); }
body.day-mode .footer-license-name { color: rgba(15,13,46,0.75); }
body.day-mode .footer-license-num { color: rgba(15,13,46,0.45); }

/* Day team cards */
body.day-mode .team-card { background: #f8f8ff; border-color: rgba(107,95,224,0.15); }

/* Day preloader */
body.day-mode #preloader { background: #F0F2FF; }


/* Day testimonials */
body.day-mode .testi-card { background: #fff; border-color: rgba(107,95,224,0.14); box-shadow: 0 4px 20px rgba(107,95,224,0.08); }
body.day-mode .testi-comment { color: rgba(15,13,46,0.68); }
body.day-mode .testi-name { color: #0F0D2E; }
body.day-mode .testi-role { color: rgba(15,13,46,0.45); }
body.day-mode .testi-date { color: rgba(15,13,46,0.35); }
body.day-mode .testi-footer { border-top-color: rgba(107,95,224,0.1); }
body.day-mode .testi-submit-wrap { background: #fff; border-color: rgba(107,95,224,0.15); box-shadow: 0 8px 40px rgba(107,95,224,0.08); }

/* Day CEO spotlight */
body.day-mode .ceo-spotlight { background: rgba(107,95,224,0.04); border-color: rgba(107,95,224,0.15); }
body.day-mode .ceo-message { color: rgba(15,13,46,0.7); }
body.day-mode .ceo-role { color: rgba(15,13,46,0.45); }

/* Day mobile nav */
body.day-mode .nav.mobile-open { background: rgba(240,242,255,0.99); border-bottom-color: rgba(107,95,224,0.15); }
body.day-mode .nav.mobile-open a { color: rgba(15,13,46,0.7); }

/* Day header top links */
body.day-mode .header-top-links a { color: rgba(15,13,46,0.55); }
body.day-mode .header-social a { background: rgba(107,95,224,0.06); border-color: rgba(107,95,224,0.15); color: rgba(15,13,46,0.5); }

/* ===== DAY MODE – PRELOADER ===== */
body.day-mode #preloader {
  background: #F0F2FF;
}
body.day-mode .preloader-sub { color: rgba(15,13,46,0.45); }
body.day-mode .preloader-bar { background: rgba(107,95,224,0.12); }
body.day-mode .preloader-logo-img-wrap img {
  filter: drop-shadow(0 0 20px rgba(107,95,224,0.35));
}

/* ===== DAY MODE – PAGE TRANSITION ===== */
body.day-mode .pt-scene .pt-curtain { background: #F0F2FF; }
body.day-mode .pt-scene .pt-curtain-inner {
  background: linear-gradient(160deg, #E8ECFF 0%, #EDF0FF 50%, #F0F2FF 100%);
}
body.day-mode .pt-scene .pt-curtain-inner::before {
  background-image:
    linear-gradient(rgba(107,95,224,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(107,95,224,0.05) 1px, transparent 1px);
}
body.day-mode .pt-logo-text {
  background: linear-gradient(135deg,#0F0D2E 0%,#6B5FE0 50%,#0EA5E9 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.day-mode .pt-logo-sub { color: rgba(15,13,46,0.38); }
body.day-mode .pt-logo-icon { background: linear-gradient(135deg,#6B5FE0,#9333EA,#0EA5E9); }
body.day-mode .pt-ring { border-color: rgba(107,95,224,0.12); }

/* ===== DAY MODE – CHAT WIDGET ===== */
body.day-mode #chatWindow {
  background: #ffffff;
  border-color: rgba(107,95,224,0.2);
  box-shadow: 0 20px 60px rgba(107,95,224,0.15);
}
body.day-mode #chatMessages { background: #ffffff; }
body.day-mode .chat-empty { color: rgba(15,13,46,0.25); }
body.day-mode .chat-pre-title { color: #0F0D2E; }
body.day-mode .chat-pre-sub { color: rgba(15,13,46,0.45); }
body.day-mode .chat-pre-input {
  background: #F5F5FF;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}
body.day-mode .chat-pre-input::placeholder { color: rgba(15,13,46,0.3); }
body.day-mode .chat-pre-input:focus { background: #EEEEFF; border-color: #6B5FE0; }
body.day-mode .from-agent .chat-msg-bubble {
  background: #F0F0FF;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}
body.day-mode .chat-msg-time { color: rgba(15,13,46,0.35); }
body.day-mode .chat-input-area { background: #F8F8FF; border-top-color: rgba(107,95,224,0.12); }
body.day-mode #chatInput {
  background: #F5F5FF;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}
body.day-mode #chatInput::placeholder { color: rgba(15,13,46,0.3); }
body.day-mode #chatInput:focus { border-color: #6B5FE0; }
body.day-mode .chat-offline-bar {
  background: rgba(196,144,10,0.06);
  border-color: rgba(196,144,10,0.2);
  color: rgba(140,100,0,0.9);
}
body.day-mode .typing-bubble {
  background: #F0F0FF;
  border-color: rgba(107,95,224,0.18);
}
body.day-mode .typing-dot { background: rgba(107,95,224,0.6); }

/* ===== DAY MODE – NOTIFICATIONS / POPUPS ===== */
body.day-mode .notification {
  background: #ffffff;
  border-color: rgba(107,95,224,0.25);
  box-shadow: 0 12px 40px rgba(107,95,224,0.15);
  color: #0F0D2E;
}
body.day-mode .notification.success { border-color: rgba(22,163,74,0.4); }
body.day-mode .notification.error   { border-color: rgba(220,38,38,0.35); }
body.day-mode .notification-text { color: #0F0D2E; }
body.day-mode .notification-icon { color: #0F0D2E; }
body.day-mode .notification.success .notification-icon { color: #16a34a; }
body.day-mode .notification.error   .notification-icon { color: #dc2626; }

/* ===== DAY MODE – ALL FORMS ===== */
body.day-mode .form-control,
body.day-mode .form-control:not(:focus) {
  background: #ffffff;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}
body.day-mode .form-control:focus {
  background: #F8F8FF;
  border-color: #6B5FE0;
  box-shadow: 0 0 0 3px rgba(107,95,224,0.1);
}
body.day-mode .form-control::placeholder { color: rgba(15,13,46,0.32); }
body.day-mode select.form-control { color: #0F0D2E; }
body.day-mode select.form-control option { background: #ffffff; color: #0F0D2E; }
body.day-mode textarea.form-control {
  background: #ffffff;
  color: #0F0D2E;
}
body.day-mode .form-label { color: rgba(15,13,46,0.7); }

/* CV/photo upload in day mode */
body.day-mode .cv-upload-wrap {
  border-color: rgba(107,95,224,0.25);
  background: #F8F8FF;
}
body.day-mode .cv-upload-wrap:hover { border-color: #6B5FE0; background: #F0F0FF; }
body.day-mode .cv-upload-text { color: rgba(15,13,46,0.65); }
body.day-mode .cv-upload-hint { color: rgba(15,13,46,0.4); }
body.day-mode .cv-file-name { color: #6B5FE0; }

/* Appointment + careers wrap */
body.day-mode .appointment-wrap,
body.day-mode .careers-wrap { background: #ffffff; border-color: rgba(107,95,224,0.15); }
body.day-mode .legal-content {
  background: #ffffff;
  border-color: rgba(107,95,224,0.15);
  color: rgba(15,13,46,0.72);
}
body.day-mode .legal-content h3 { color: #0F0D2E; }

/* ===== DAY MODE – MORE COMPLETE COVERAGE ===== */

/* Section dividers */
body.day-mode .section-divider { background: linear-gradient(90deg,transparent,rgba(107,95,224,0.2),transparent); }

/* Page hero */
body.day-mode .page-hero { background: transparent; }

/* Breadcrumb */
body.day-mode .breadcrumb a { color: #6B5FE0; }
body.day-mode .breadcrumb span { color: rgba(15,13,46,0.4); }

/* How We Work */
/* Blog modal */
body.day-mode #blogModalOverlay {
  background: rgba(240,242,255,0.92);
  backdrop-filter: blur(12px);
}
body.day-mode #blogModalBox {
  background: #ffffff;
  border-color: rgba(107,95,224,0.2);
}
body.day-mode #blogModalTitle { color: #0F0D2E; }
body.day-mode #blogModalContent { color: rgba(15,13,46,0.72); }

/* Stats */
body.day-mode .stat-icon { color: #6B5FE0; -webkit-text-fill-color: #6B5FE0; }

/* Services */
body.day-mode .service-card:hover { border-color: rgba(107,95,224,0.4); box-shadow: 0 16px 48px rgba(107,95,224,0.12); }
body.day-mode .learn-more { color: #6B5FE0; }

/* Portfolio */
body.day-mode .filter-btn { background: #fff; border-color: rgba(107,95,224,0.2); color: rgba(15,13,46,0.6); }
body.day-mode .filter-btn.active,
body.day-mode .filter-btn:hover { background: var(--gradient); color: #fff; border-color: transparent; }
body.day-mode .portfolio-body p { color: rgba(15,13,46,0.62); }

/* Team */
body.day-mode .team-card { background: #fff; }
body.day-mode .team-img-initials { color: #fff; }

/* Subscribe */
body.day-mode .subscribe-section h2 { color: #0F0D2E; }
body.day-mode .subscribe-section p { color: rgba(15,13,46,0.6); }
body.day-mode .subscribe-form input {
  background: #fff;
  border-color: rgba(107,95,224,0.2);
  color: #0F0D2E;
}
body.day-mode .subscribe-form input::placeholder { color: rgba(15,13,46,0.3); }

/* Testimonials */
body.day-mode .testi-submit-wrap { background: #fff; border-color: rgba(107,95,224,0.15); }
body.day-mode .tstar { color: rgba(196,144,10,0.25); }
body.day-mode .tstar.active,
body.day-mode .tstar.hover { color: #C4900A; }

/* About */
body.day-mode .about-img-placeholder { color: rgba(107,95,224,0.4); }
body.day-mode .about-badge { box-shadow: 0 8px 30px rgba(107,95,224,0.25); }

/* Btn outline */
body.day-mode .btn-outline {
  background: transparent;
  border-color: rgba(107,95,224,0.35);
  color: #6B5FE0;
}
body.day-mode .btn-outline:hover {
  border-color: #6B5FE0;
  background: rgba(107,95,224,0.06);
  color: #6B5FE0;
}

/* Header top links */
body.day-mode .header-top-links a:hover { color: #6B5FE0; }
body.day-mode .header-social a:hover { background: var(--gradient); color: #fff; }

/* CEO Spotlight */
body.day-mode .ceo-badge { box-shadow: 0 8px 24px rgba(107,95,224,0.3); }
body.day-mode .ceo-soc-btn { border-color: rgba(107,95,224,0.3); color: #6B5FE0; background: #fff; }
body.day-mode .ceo-soc-btn:hover { background: var(--gradient); color: #fff; }

/* Section eyebrow in day */
body.day-mode .section-eyebrow { color: #6B5FE0; }

/* Nav pill container in day */
body.day-mode .nav a:not(.btn-appointment) { color: rgba(15,13,46,0.62); }

/* Glow dots in hero */
body.day-mode .glow-dot-1 { background: rgba(107,95,224,0.08); }
body.day-mode .glow-dot-2 { background: rgba(14,165,233,0.06); }

/* Footer social */
body.day-mode .footer-social a:hover { background: var(--gradient); color: #fff; border-color: transparent; }

/* Hamburger in day mode */

/* Theme toggle in day mode */
body.day-mode 
body.day-mode 

/* ================================================================
   UNIFIED NAVIGATION + DAY/NIGHT MODE + COMPLETE DAY OVERRIDES
   (Single source of truth — no duplicates)
   ================================================================ */

/* ── Navigation – pill container (desktop) ── */
.nav {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 5px;
  background: rgba(123,108,246,0.06);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 50px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  list-style: none;
}
.nav a {
  padding: 7px 14px;
  font-size: 0.84rem;
  font-weight: 500;
  color: rgba(240,238,255,0.65);
  border-radius: 40px;
  transition: all 0.22s ease;
  position: relative;
  letter-spacing: 0.2px;
  white-space: nowrap;
  border: 1.5px solid transparent;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.nav a::after, .nav a::before { display: none !important; }
.nav a:not(.btn-appointment):hover {
  color: #F0EEFF;
  background: rgba(123,108,246,0.12);
}
/* Active = border only, NO fill */
.nav a.active:not(.btn-appointment) {
  color: #A78BFA;
  background: transparent;
  font-weight: 600;
  border-color: #7B6CF6;
  box-shadow: 0 0 10px rgba(123,108,246,0.2);
}
/* Appointment button */
.btn-appointment {
  background: linear-gradient(135deg,#7B6CF6,#A855F7,#38BDF8) !important;
  color: #fff !important;
  padding: 8px 18px !important;
  border-radius: 40px !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  box-shadow: 0 4px 16px rgba(123,108,246,0.4) !important;
  border: none !important;
  margin-left: 4px;
  white-space: nowrap;
}
.btn-appointment:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 26px rgba(123,108,246,0.55) !important;
}
.btn-appointment::after, .btn-appointment::before { display: none !important; }

/* Day mode nav */
body.day-mode .nav { background: rgba(107,95,224,0.07); border-color: rgba(107,95,224,0.15); }
body.day-mode .nav a { color: rgba(15,13,46,0.62); }
body.day-mode .nav a:not(.btn-appointment):hover { color: #0F0D2E; background: rgba(107,95,224,0.09); }
body.day-mode .nav a.active:not(.btn-appointment) { color: #6B5FE0; background: transparent; border-color: #6B5FE0; box-shadow: 0 0 8px rgba(107,95,224,0.15); }

/* ── Hamburger ── */
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 8px; z-index: 102; }
.hamburger span { display: block; width: 24px; height: 2px; background: var(--text-primary); border-radius: 2px; transition: var(--transition); }
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
body.day-mode .hamburger span { background: #0F0D2E; }
body.day-mode .hamburger.open span { background: #6B5FE0; }

/* ── MOBILE NAV (≤1023px) ── */
@media (max-width: 1023px) {
  .hamburger { display: flex !important; }
  .nav {
    display: none !important;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100vw; height: 100vh;
    background: rgba(6,4,20,0.97);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: none !important;
    border-radius: 0 !important;
    padding: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    z-index: 9999;
    overflow-y: auto;
  }
  .nav.mobile-open {
    display: flex !important;
  }
  /* Nav links on mobile */
  .nav a {
    width: 80vw;
    max-width: 300px;
    text-align: center;
    justify-content: center;
    border-radius: 12px;
    padding: 14px 20px;
    font-size: 1.05rem;
    font-weight: 500;
    color: rgba(240,238,255,0.82);
    letter-spacing: 0.3px;
    border: 1px solid transparent;
  }
  .nav a:not(.btn-appointment):hover,
  .nav a:not(.btn-appointment):active {
    background: rgba(123,108,246,0.15);
    color: #fff;
  }
  .nav a.active:not(.btn-appointment) {
    border-color: rgba(123,108,246,0.5);
    color: #A78BFA;
    background: rgba(123,108,246,0.08);
  }
  /* Appointment button on mobile */
  .btn-appointment {
    width: 80vw !important;
    max-width: 300px !important;
    justify-content: center !important;
    margin-left: 0 !important;
    margin-top: 10px !important;
    padding: 14px 20px !important;
    font-size: 1rem !important;
    border-radius: 12px !important;
  }
  /* Day mode mobile nav */
  body.day-mode .nav {
    background: rgba(238,240,255,0.98);
    backdrop-filter: blur(28px);
  }
  body.day-mode .nav a { color: rgba(15,13,46,0.75); }
  body.day-mode .nav a:not(.btn-appointment):hover { background: rgba(107,95,224,0.1); color: #0F0D2E; }
}

/* ── MOBILE GENERAL (≤767px) ── */
@media (max-width: 767px) {
  html { font-size: 15px; }
  .container { padding: 0 16px; }
  .section { padding: 52px 0; }
  .hero { padding-top: 80px !important; }
  .page-hero { padding: 80px 0 40px !important; }
  .hero-content { grid-template-columns: 1fr !important; text-align: center; gap: 32px; }
  .hero-visual { order: -1; }
  .hero-3d-scene { max-width: 280px !important; height: 280px !important; margin: 0 auto; }
  .hero-title { font-size: clamp(1.8rem, 7vw, 2.4rem) !important; }
  .hero-desc { font-size: 0.92rem; margin: 0 auto 28px; }
  .hero-actions { flex-direction: column; align-items: center; gap: 12px; }
  .hero-actions .btn { width: 100%; max-width: 260px; justify-content: center; }
  .section-title { font-size: clamp(1.5rem, 5vw, 1.9rem); }
  .section-desc { font-size: 0.88rem; }
  .services-grid, .portfolio-grid, .blog-grid,
  .team-grid, .testi-grid, .how-we-work-grid,
  .values-grid, .mv-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .footer-logo-img-wrap img { max-height: 42px; }
  .logo-img-wrap img { height: 44px !important; max-width: 150px !important; }
  .logo-icon { width: 40px !important; height: 40px !important; }
  .logo { font-size: 1.4rem !important; gap: 10px !important; }
  .page-hero h1 { font-size: clamp(1.6rem, 6vw, 2rem); }
  .page-hero p { font-size: 0.88rem; }
  .ceo-spotlight { grid-template-columns: 1fr !important; gap: 24px; padding: 20px !important; }
  .ceo-img-wrap { height: 260px !important; max-width: 300px; margin: 0 auto; }
  .ceo-socials { justify-content: center; }
  .about-content { grid-template-columns: 1fr !important; gap: 32px; }
  .about-badge { right: 0; bottom: -8px; }
  .contact-content { grid-template-columns: 1fr; }
  .appointment-wrap, .careers-wrap, .legal-content, .testi-submit-wrap { padding: 20px 16px; border-radius: 16px; }
  .form-grid { grid-template-columns: 1fr !important; }
  .testi-submit-wrap { max-width: 100%; }
  .tstar { font-size: 1.3rem; }
  .btn { padding: 12px 20px; font-size: 0.86rem; }
  .btn-appointment { padding: 8px 14px !important; font-size: 0.8rem !important; }
  #chatWindow { width: calc(100vw - 10px); right: 5px; border-radius: 12px; bottom: 80px; }
  #chatLauncher { right: 12px; bottom: 12px; width: 52px; height: 52px; }
  /* all tech-floats visible on mobile */
  .header-top { display: none; }
  .theme-toggle-btn { width: 46px; height: 25px; margin-left: 6px; }
  .theme-toggle-knob { width: 17px; height: 17px; }
  body.day-mode .theme-toggle-knob { transform: translateX(21px); }
}

/* ── SMALL MOBILE (≤479px) ── */
@media (max-width: 479px) {
  html { font-size: 14.5px; }
  .container { padding: 0 14px; }
  .section { padding: 44px 0; }
  .hero-3d-scene { max-width: 240px !important; height: 240px !important; }
  .hero-title { font-size: 1.75rem !important; }
  .section-title { font-size: 1.42rem; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat-value { font-size: 2rem; }
  .footer-col h4 { font-size: 0.88rem; }
  .subscribe-form { flex-direction: column; }
  .subscribe-form input { border-radius: 12px !important; }
  .subscribe-form button { border-radius: 12px !important; width: 100%; }
  .cursor-dot, .cursor-ring, .cursor-trail { display: none !important; }
  .testi-card { padding: 18px; }
  .how-we-work-grid::before { display: none; }
}

/* ── TOUCH DEVICES ── */
@media (hover: none) and (pointer: coarse) {
  .cursor-dot, .cursor-ring, .cursor-trail { display: none !important; }
  .form-control, select.form-control, textarea.form-control { font-size: 16px !important; }
  .nav a { padding: 12px 18px; min-height: 44px; }
  .btn { min-height: 44px; }
  .sidebar-link { padding: 13px 16px; min-height: 44px; }
  .filter-btn { padding: 11px 22px; min-height: 44px; }
}

/* ── TV / 4K ── */
@media (min-width: 2560px) {
  .container { max-width: 1800px; }
  .hero-title { font-size: 5.5rem; }
  .section-title { font-size: 3.8rem; }
  .services-grid, .testi-grid { grid-template-columns: repeat(4,1fr); }
  .nav a { font-size: 0.95rem; padding: 9px 18px; }
}

/* ── PRINT ── */
@media print {
  #three-canvas, #chatLauncher, #chatWindow, .cursor-dot, .cursor-ring,
  .pt-scene, .subscribe-section, .header-top, .hamburger,
  .theme-toggle-btn { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  .header-main { position: static !important; }
  .container { max-width: 100%; }
}

/* ── Day mode complete colorful backgrounds ── */
body.day-mode .service-card               { background: #F3F0FF !important; border-color: rgba(107,95,224,0.12) !important; }
body.day-mode .service-card:nth-child(2n) { background: #EFF6FF !important; }
body.day-mode .service-card:nth-child(3n) { background: #F0FDF4 !important; }
body.day-mode .portfolio-card             { background: #EFF6FF !important; }
body.day-mode .portfolio-card:nth-child(2n){ background: #F3F0FF !important; }
body.day-mode .blog-card                  { background: #F3F0FF !important; }
body.day-mode .blog-card:nth-child(2n)    { background: #EFF6FF !important; }
body.day-mode .testi-card                 { background: #F3F0FF !important; border-color: rgba(107,95,224,0.12) !important; }
body.day-mode .testi-card:nth-child(2n)   { background: #EFF6FF !important; }
body.day-mode .value-card                 { background: #F0FDF4 !important; }
body.day-mode .value-card:nth-child(2n)   { background: #EFF6FF !important; }
body.day-mode .mv-card                    { background: #F3F0FF !important; }
body.day-mode .card-3d                    { background: #F3F0FF !important; }
body.day-mode .contact-info-item          { background: #EFF6FF !important; }
body.day-mode .appointment-wrap           { background: #F3F0FF !important; }
body.day-mode .testi-submit-wrap          { background: #F3F0FF !important; }
body.day-mode .legal-content              { background: #EFF6FF !important; }
body.day-mode .filter-btn                 { background: #EFF6FF !important; }
body.day-mode .cv-upload-wrap             { background: #EFF6FF !important; }
body.day-mode #chatWindow                 { background: #F3F0FF !important; }
body.day-mode #chatMessages               { background: #F3F0FF !important; }
body.day-mode .from-agent .chat-msg-bubble{ background: #DBEAFE !important; color: #1e3a5f !important; }
body.day-mode .stats-section              { background: linear-gradient(135deg,rgba(107,95,224,0.06),rgba(14,165,233,0.04)) !important; }
body.day-mode .subscribe-section          { background: linear-gradient(135deg,rgba(107,95,224,0.07),rgba(14,165,233,0.04)) !important; }
body.day-mode footer                      { background: linear-gradient(135deg,rgba(243,240,255,0.9),rgba(239,246,255,0.85)) !important; }
body.day-mode .ceo-spotlight              { background: linear-gradient(135deg,#F3F0FF,#EFF6FF) !important; }
body.day-mode .notification               { background: #F3F0FF !important; border-color: rgba(107,95,224,0.2) !important; }
body.day-mode .notification.success       { border-color: rgba(22,163,74,0.4) !important; }
body.day-mode .notification.error         { border-color: rgba(220,38,38,0.35) !important; }
body.day-mode .notification-text          { color: #0F0D2E !important; }
body.day-mode #preloader                  { background: #F0F2FF !important; }
body.day-mode .pt-scene .pt-curtain       { background: #F0F2FF !important; }
body.day-mode .pt-logo-text               { background: linear-gradient(135deg,#0F0D2E,#6B5FE0,#0EA5E9); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
body.day-mode .form-control,
body.day-mode input.form-control,
body.day-mode select.form-control,
body.day-mode textarea.form-control       { background: #F8F6FF !important; border-color: rgba(107,95,224,0.22) !important; color: #0F0D2E !important; }
body.day-mode .form-control:focus,
body.day-mode input.form-control:focus,
body.day-mode select.form-control:focus,
body.day-mode textarea.form-control:focus { background: #EEEEFF !important; border-color: #6B5FE0 !important; }
body.day-mode .form-control::placeholder  { color: rgba(15,13,46,0.32) !important; }
body.day-mode select.form-control option  { background: #F8F6FF; color: #0F0D2E; }

/* ===== DAY/NIGHT TOGGLE SWITCH ===== */
.theme-toggle-btn {
  position: relative; width: 52px; height: 28px; border-radius: 14px;
  background: #12082e; border: 1px solid rgba(123,108,246,0.5);
  cursor: pointer; display: flex; align-items: center; padding: 3px;
  flex-shrink: 0; margin-left: 10px;
  transition: all 0.38s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow: 0 2px 14px rgba(123,108,246,0.35); overflow: hidden;
}
.theme-toggle-btn:hover { transform: scale(1.08); }
.theme-toggle-knob {
  width: 20px; height: 20px; border-radius: 50%;
  background: linear-gradient(135deg,#c4b5fd,#a78bfa);
  box-shadow: 0 2px 8px rgba(123,108,246,0.7);
  transition: transform 0.38s cubic-bezier(0.34,1.56,0.64,1), background 0.3s ease;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; position: relative; z-index: 1;
}
.theme-toggle-knob::after {
  content: ''; width: 10px; height: 10px; border-radius: 50%;
  background: transparent; border: 2.5px solid rgba(240,230,255,0.9);
  border-right-color: transparent; border-bottom-color: transparent;
  transform: rotate(-45deg); display: block;
}
.theme-toggle-btn::after {
  content: ''; position: absolute; right: 7px; top: 50%; transform: translateY(-50%);
  width: 3px; height: 3px; border-radius: 50%; background: rgba(196,181,253,0.7);
  box-shadow: 0 -5px 0 1px rgba(196,181,253,0.4), 0 5px 0 0.5px rgba(196,181,253,0.3);
}
body.day-mode .theme-toggle-btn {
  background: linear-gradient(135deg,#BFDBFE,#DDD6FE);
  border-color: rgba(107,95,224,0.3);
  box-shadow: 0 2px 10px rgba(107,95,224,0.18);
}
body.day-mode .theme-toggle-btn::after {
  right: auto; left: 7px; background: rgba(251,191,36,0.55);
  box-shadow: 0 -5px 0 1px rgba(251,191,36,0.3), 0 5px 0 0.5px rgba(251,191,36,0.2);
}
body.day-mode .theme-toggle-knob {
  transform: translateX(24px);
  background: linear-gradient(135deg,#FDE68A,#F59E0B);
  box-shadow: 0 2px 14px rgba(245,158,11,0.65);
}
body.day-mode .theme-toggle-knob::after {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,0.9); border: none; transform: none;
  box-shadow: 0 0 0 3px rgba(255,255,255,0.3), 0 0 10px rgba(255,255,255,0.7);
}


/* ── Mobile nav close button (X) inside the overlay ── */
.mobile-nav-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(123,108,246,0.15);
  border: 1px solid rgba(123,108,246,0.3);
  color: rgba(240,238,255,0.9);
  font-size: 1.1rem;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10000;
  transition: background 0.2s ease;
}
.mobile-nav-close:hover { background: rgba(123,108,246,0.35); }
body.day-mode .mobile-nav-close { color: rgba(15,13,46,0.8); border-color: rgba(107,95,224,0.3); }

@media (max-width: 1023px) {
  .mobile-nav-close { display: flex; }
  /* Keep hamburger above the overlay */
  .hamburger {
    position: relative;
    z-index: 10000;
  }
}

/* ===== #1 TRUSTED BY MARQUEE ===== */
.trusted-section {
  padding: 28px 0;
  border-top: 1px solid rgba(123,108,246,0.1);
  border-bottom: 1px solid rgba(123,108,246,0.1);
  overflow: hidden;
  background: rgba(123,108,246,0.02);
}
.trusted-label {
  text-align: center;
  font-size: 0.72rem;
  color: rgba(240,238,255,0.35);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.trusted-track-wrap { overflow: hidden; }
.trusted-track {
  display: flex;
  gap: 0;
  width: max-content;
  animation: marquee 30s linear infinite;
}
.trusted-track:hover { animation-play-state: paused; }
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.trusted-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 48px;
  border-right: 1px solid rgba(123,108,246,0.12);
  white-space: nowrap;
  font-size: 1.05rem;
  font-weight: 700;
  color: rgba(240,238,255,0.55);
  transition: all 0.25s ease;
  letter-spacing: 0.3px;
}
.trusted-item:hover { color: rgba(240,238,255,0.95); transform: scale(1.06); }
.trusted-item i { font-size: 1.8rem; }
body.day-mode .trusted-section { background: rgba(107,95,224,0.03); border-color: rgba(107,95,224,0.12); }
body.day-mode .trusted-item { color: rgba(15,13,46,0.45); }
body.day-mode .trusted-item:hover { color: rgba(15,13,46,0.85); }

/* ===== #4 WHY CHOOSE US ===== */
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.why-card {
  background: rgba(123,108,246,0.04);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 20px;
  padding: 32px 28px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.why-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gradient-royal);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}
.why-card:hover { transform: translateY(-6px); box-shadow: 0 16px 48px rgba(123,108,246,0.15); border-color: rgba(123,108,246,0.3); }
.why-card:hover::before { transform: scaleX(1); }
.why-icon {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(123,108,246,0.1);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  color: var(--primary);
  margin-bottom: 20px;
  transition: all 0.3s ease;
}
.why-card:hover .why-icon { background: var(--gradient-royal); color: #fff; }
.why-title { font-family: 'Space Grotesk',sans-serif; font-size: 1.05rem; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }
.why-desc { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.7; }
@media (max-width: 767px) { .why-grid { grid-template-columns: 1fr; } }
@media (max-width: 1023px) and (min-width: 768px) { .why-grid { grid-template-columns: repeat(2, 1fr); } }
body.day-mode .why-card { background: #F3F0FF !important; }

/* ===== #5 HOW WE WORK ANIMATED TIMELINE ===== */
@media (max-width: 767px) {
}

/* ===== #7 TESTIMONIALS COMING SOON ===== */
.testi-coming-soon {
  grid-column: 1 / -1;
  text-align: center;
  padding: 64px 32px;
  background: rgba(123,108,246,0.04);
  border: 1px dashed rgba(123,108,246,0.2);
  border-radius: 24px;
}
.testi-coming-icon {
  width: 72px; height: 72px;
  background: linear-gradient(135deg,rgba(123,108,246,0.1),rgba(56,189,248,0.08));
  border: 1px solid rgba(123,108,246,0.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  font-size: 1.8rem;
  color: #D4AF37;
}
.testi-coming-soon h3 { font-family: 'Space Grotesk',sans-serif; font-size: 1.3rem; font-weight: 700; color: var(--text-primary); margin-bottom: 12px; }
.testi-coming-soon p { color: var(--text-secondary); font-size: 0.9rem; line-height: 1.7; max-width: 440px; margin: 0 auto; }

/* ===== #9 FREE AUDIT SECTION ===== */
.audit-section {
  padding: 80px 0;
  background: rgba(123,108,246,0.03);
  border-top: 1px solid rgba(123,108,246,0.15);
  border-bottom: 1px solid rgba(123,108,246,0.15);
  position: relative;
  overflow: hidden;
}
.audit-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(123,108,246,0.08) 0%, transparent 70%);
  pointer-events: none;
}
.audit-inner { text-align: center; position: relative; z-index: 1; max-width: 680px; margin: 0 auto; }
.audit-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(123,108,246,0.12);
  border: 1px solid rgba(123,108,246,0.25);
  border-radius: 20px;
  padding: 6px 16px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 20px;
}
.audit-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 14px;
  line-height: 1.2;
}
.audit-title span {
  background: var(--gradient-royal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.audit-desc { color: var(--text-secondary); font-size: 0.95rem; line-height: 1.7; margin-bottom: 32px; }
.audit-form { display: flex; gap: 12px; max-width: 560px; margin: 0 auto 16px; }
.audit-input-wrap {
  flex: 1;
  position: relative;
}
.audit-input-icon {
  position: absolute;
  left: 16px; top: 50%;
  transform: translateY(-50%);
  color: rgba(240,238,255,0.35);
  font-size: 0.9rem;
}
.audit-input {
  width: 100%;
  background: rgba(240,238,255,0.05);
  border: 1px solid rgba(123,108,246,0.25);
  border-radius: 50px;
  padding: 14px 16px 14px 42px;
  color: var(--text-primary);
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
  font-family: 'Inter', sans-serif;
}
.audit-input:focus { border-color: var(--primary); background: rgba(123,108,246,0.06); }
.audit-input::placeholder { color: rgba(240,238,255,0.3); }
.audit-btn { border-radius: 50px !important; white-space: nowrap; padding: 14px 28px; }
.audit-note { font-size: 0.78rem; color: rgba(240,238,255,0.4); }
.audit-note i { margin: 0 2px; }
@media (max-width: 600px) {
  .audit-form { flex-direction: column; }
  .audit-btn { border-radius: 50px !important; }
}
body.day-mode .audit-section { background: linear-gradient(135deg,rgba(243,240,255,0.6),rgba(239,246,255,0.4)) !important; }
body.day-mode .audit-input { background: #fff; border-color: rgba(107,95,224,0.22); color: #0F0D2E; }
body.day-mode .audit-input::placeholder { color: rgba(15,13,46,0.32); }
body.day-mode .audit-input-icon { color: rgba(15,13,46,0.35); }
body.day-mode .audit-note { color: rgba(15,13,46,0.45); }

/* ===== #2 COUNTUP STAT ANIMATION ===== */
.stat-value { transition: none; }

/* ===== #14 GLASS NAVBAR SHRINK ON SCROLL ===== */
.header-main.scrolled {
  padding: 0 !important;
  backdrop-filter: blur(32px);
  -webkit-backdrop-filter: blur(32px);
  box-shadow: 0 4px 32px rgba(0,0,0,0.25), 0 0 0 1px rgba(123,108,246,0.15);
  background: rgba(4,6,15,0.88) !important;
}
.header-main .header-inner {
  transition: padding 0.3s ease;
}
.header-main.scrolled .header-inner {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* ===== #3 SERVICE CARD ENHANCEMENTS ===== */
.svc-tech-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 14px 0 12px;
}
.svc-tech-tag {
  background: rgba(123,108,246,0.1);
  border: 1px solid rgba(123,108,246,0.2);
  border-radius: 20px;
  padding: 3px 10px;
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--primary);
  font-family: 'Space Grotesk', sans-serif;
}
.svc-meta {
  display: flex;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid rgba(123,108,246,0.08);
  border-bottom: 1px solid rgba(123,108,246,0.08);
  margin-bottom: 4px;
}
.svc-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  color: var(--text-secondary);
}
.svc-meta-item i { color: var(--primary); font-size: 0.75rem; }
.svc-price { color: #28C878; font-weight: 600; }
.svc-price i { color: #28C878; }
.svc-cta { font-size: 0.84rem !important; padding: 10px 20px !important; }
body.day-mode .svc-tech-tag { background: rgba(107,95,224,0.08); color: #6B5FE0; }

/* ===== #8 TEAM HOVER PANEL ===== */
.team-hover-panel {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(4,6,15,0.92) 0%, rgba(var(--gc1, 123,108,246),0.15) 100%);
  backdrop-filter: blur(8px);
  border-radius: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
  z-index: 3;
}
.team-img-wrap {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  background: #0a0c1e;
}
.team-img-wrap:hover .team-hover-panel {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
}
.team-img-wrap:hover .team-info-over { opacity: 0; transform: translateY(10px); }
.thp-row { display: flex; align-items: center; gap: 8px; font-size: 0.8rem; color: rgba(240,238,255,0.8); margin-bottom: 10px; }
.thp-row i { color: var(--primary); font-size: 0.82rem; }
.thp-skills { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.thp-skill {
  background: rgba(123,108,246,0.2);
  border: 1px solid rgba(123,108,246,0.3);
  border-radius: 12px;
  padding: 3px 9px;
  font-size: 0.68rem;
  color: #c4b5fd;
  font-weight: 600;
}
.thp-certs { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.thp-cert { display: flex; align-items: center; gap: 6px; font-size: 0.72rem; color: #D4AF37; }
.thp-cert i { font-size: 0.7rem; }
.thp-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--gradient-royal);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 20px;
  text-decoration: none;
  margin-top: 4px;
  width: fit-content;
  transition: transform 0.2s ease;
}
.thp-cta:hover { transform: translateX(4px); }
@media (hover: none) {
  .team-hover-panel { display: none; }
}

/* ===== #11 COMPANY TIMELINE ===== */
.company-timeline {
  position: relative;
  padding-left: 80px;
  margin-top: 20px;
}
.company-timeline::before {
  content: '';
  position: absolute;
  left: 28px;
  top: 12px;
  bottom: 12px;
  width: 2px;
  background: linear-gradient(180deg,#7B6CF6,#38BDF8,#7B6CF6);
  border-radius: 2px;
}
.ctl-item {
  position: relative;
  display: flex;
  gap: 28px;
  align-items: flex-start;
  padding: 0 0 48px 0;
}
.ctl-year {
  position: absolute;
  left: -80px;
  top: 4px;
  font-family: 'Space Grotesk',sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--primary);
  letter-spacing: 1px;
  width: 52px;
  text-align: right;
}
.ctl-dot {
  position: absolute;
  left: -39px;
  top: 8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--gradient-royal);
  border: 3px solid var(--bg-dark);
  box-shadow: 0 0 0 2px rgba(123,108,246,0.4), 0 0 16px rgba(123,108,246,0.3);
  flex-shrink: 0;
}
.ctl-body { flex: 1; }
.ctl-title {
  font-family: 'Space Grotesk',sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 8px;
}
.ctl-desc {
  color: var(--text-secondary);
  font-size: 0.88rem;
  line-height: 1.7;
  margin-bottom: 12px;
}
.ctl-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(123,108,246,0.1);
  border: 1px solid rgba(123,108,246,0.2);
  border-radius: 20px;
  padding: 4px 14px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--primary);
}
.gradient-badge {
  background: var(--gradient-royal);
  border: none;
  color: #fff;
}
@media (max-width: 600px) {
  .company-timeline { padding-left: 50px; }
  .company-timeline::before { left: 16px; }
  .ctl-dot { left: -27px; width: 16px; height: 16px; }
  .ctl-year { left: -50px; font-size: 0.72rem; width: 40px; }
}

/* ===== #12 CONTACT QUICK CHANNELS ===== */
.quick-contact-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 16px;
  margin-bottom: 32px;
}
.qc-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  border-radius: 16px;
  text-decoration: none;
  transition: all 0.25s ease;
  border: 1px solid;
}
.qc-card:hover { transform: translateY(-4px); }
.qc-whatsapp { background: rgba(37,211,102,0.07); border-color: rgba(37,211,102,0.25); }
.qc-whatsapp .qc-icon { color: #25D366; }
.qc-whatsapp:hover { background: rgba(37,211,102,0.14); box-shadow: 0 8px 24px rgba(37,211,102,0.15); }
.qc-telegram { background: rgba(0,136,204,0.07); border-color: rgba(0,136,204,0.25); }
.qc-telegram .qc-icon { color: #0088CC; }
.qc-telegram:hover { background: rgba(0,136,204,0.14); box-shadow: 0 8px 24px rgba(0,136,204,0.15); }
.qc-messenger { background: rgba(0,132,255,0.07); border-color: rgba(0,132,255,0.25); }
.qc-messenger .qc-icon { color: #0084FF; }
.qc-messenger:hover { background: rgba(0,132,255,0.14); }
.qc-calendly { background: rgba(0,105,255,0.07); border-color: rgba(0,105,255,0.25); }
.qc-calendly .qc-icon { color: #006BFF; }
.qc-calendly:hover { background: rgba(0,105,255,0.14); }
.qc-icon { font-size: 1.6rem; flex-shrink: 0; }
.qc-name { font-family:'Space Grotesk',sans-serif; font-size:0.9rem; font-weight:700; color:var(--text-primary); }
.qc-sub { font-size:0.75rem; color:var(--text-muted); margin-top:2px; }
.qc-arrow { margin-left:auto; color:var(--text-muted); font-size:0.75rem; }
.biz-hours {
  background: rgba(123,108,246,0.04);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 16px;
  padding: 24px 28px;
}
.biz-hours-title {
  font-family:'Space Grotesk',sans-serif;
  font-size:0.95rem;
  font-weight:700;
  color:var(--text-primary);
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:8px;
}
.biz-hours-title i { color:var(--primary); }
.biz-hours-grid { display:flex; flex-direction:column; gap:10px; }
.biz-hours-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.86rem;
  color:var(--text-secondary);
  padding-bottom:10px;
  border-bottom:1px solid rgba(123,108,246,0.06);
}
.biz-hours-row:last-child { border-bottom:none; padding-bottom:0; }
.biz-time { font-weight:600; color:var(--text-primary); }
.biz-time.closed { color:rgba(244,114,182,0.8); }
.biz-time.online { color:#28C878; }
@media (max-width:767px) { .quick-contact-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:479px) { .quick-contact-grid { grid-template-columns:1fr; } }

/* ===== #13 CAREERS EXTRAS ===== */
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
}
.benefit-card {
  background: rgba(123,108,246,0.04);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 16px;
  padding: 24px;
  transition: all 0.25s ease;
}
.benefit-card:hover { transform: translateY(-4px); border-color: rgba(123,108,246,0.3); }
.benefit-icon { font-size:1.6rem; color:var(--primary); margin-bottom:12px; }
.benefit-card h4 { font-family:'Space Grotesk',sans-serif; font-size:0.95rem; font-weight:700; color:var(--text-primary); margin-bottom:8px; }
.benefit-card p { font-size:0.82rem; color:var(--text-secondary); line-height:1.6; }
.hiring-steps {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: nowrap;
}
.hs-step {
  flex: 1;
  text-align: center;
  padding: 24px 16px;
  background: rgba(123,108,246,0.04);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 16px;
}
.hs-num {
  font-family:'Space Grotesk',sans-serif;
  font-size:2rem;
  font-weight:800;
  background:var(--gradient-royal);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  margin-bottom:10px;
}
.hs-step h4 { font-size:0.9rem; font-weight:700; color:var(--text-primary); margin-bottom:6px; }
.hs-step p { font-size:0.78rem; color:var(--text-secondary); line-height:1.6; }
.hs-arrow { color:var(--text-muted); font-size:1rem; margin-top:40px; flex-shrink:0; }
.emp-testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.emp-testi-card {
  background: rgba(123,108,246,0.04);
  border:1px solid rgba(123,108,246,0.12);
  border-radius:16px;
  padding:24px;
}
.emp-quote { font-style:italic; color:var(--text-secondary); font-size:0.87rem; line-height:1.75; margin-bottom:20px; }
.emp-testi-footer { display:flex; align-items:center; gap:12px; }
.emp-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; color:#fff; font-size:0.8rem; flex-shrink:0; }
.emp-name { font-weight:700; font-size:0.88rem; color:var(--text-primary); }
.emp-role { font-size:0.75rem; color:var(--text-muted); }
@media (max-width:767px) { .benefits-grid { grid-template-columns:1fr; } .hiring-steps { flex-direction:column; } .hs-arrow { display:none; } .emp-testi-grid { grid-template-columns:1fr; } }
@media (max-width:1023px) and (min-width:768px) { .benefits-grid { grid-template-columns:repeat(2,1fr); } .emp-testi-grid { grid-template-columns:repeat(2,1fr); } }


/* ── Mobile nav: header behind overlay when open ── */
body.nav-open .header-main {
  z-index: 100 !important;
}
body.day-mode.nav-open .header-main {
  z-index: 100 !important;
}

/* ── Page transition: simple fade+slide (more reliable than 3D rotateX) ── */
.pt-scene {
  position: fixed;
  inset: 0;
  z-index: 99998;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0s 0.6s, visibility 0s 0.6s;
}
.pt-scene.enter {
  opacity: 1;
  visibility: visible;
  transition: none;
}
.pt-curtain {
  position: absolute;
  inset: 0;
  background: #04060F;
  transform: translateY(-100%);
  transition: transform 0.45s cubic-bezier(0.77,0,0.175,1);
}
.pt-curtain-inner {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, #0d0820 0%, #0a0d28 50%, #04060F 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
}
.pt-curtain-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(123,108,246,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(123,108,246,0.05) 1px, transparent 1px);
  background-size: 60px 60px;
}
.pt-logo-wrap {
  position: relative;
  z-index: 1;
  text-align: center;
  opacity: 0;
  transform: translateY(20px) scale(0.9);
  transition: opacity 0.3s ease 0.2s, transform 0.4s ease 0.15s;
}
.pt-logo-icon {
  width: 64px; height: 64px;
  background: linear-gradient(135deg,#7B6CF6,#A855F7,#38BDF8);
  border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; color: #fff;
  margin: 0 auto 12px;
  box-shadow: 0 0 40px rgba(123,108,246,0.5);
}
.pt-logo-text {
  font-family: 'Space Grotesk',sans-serif;
  font-size: 1.8rem; font-weight: 800;
  background: linear-gradient(135deg,#fff,#c4b5fd,#7dd3fc);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  letter-spacing: 2px;
}
.pt-logo-sub { font-size: 0.7rem; letter-spacing: 3px; text-transform: uppercase; color: rgba(240,238,255,0.3); margin-top: 4px; }
.pt-rings { position: absolute; width: 280px; height: 280px; top: 50%; left: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.pt-ring { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(123,108,246,0.12); }
.pt-ring:nth-child(1) { animation: ptSpin 5s linear infinite; border-color: rgba(123,108,246,0.2); }
.pt-ring:nth-child(2) { inset: 30px; animation: ptSpin 7s linear infinite reverse; border-color: rgba(168,85,247,0.15); }
.pt-ring:nth-child(3) { inset: 60px; animation: ptSpin 9s linear infinite; border-color: rgba(56,189,248,0.1); }
@keyframes ptSpin { from { transform:rotate(0deg) } to { transform:rotate(360deg) } }

/* Enter: curtain slides DOWN into view */
.pt-scene.enter .pt-curtain { transform: translateY(0); }
.pt-scene.enter .pt-logo-wrap { opacity: 1; transform: translateY(0) scale(1); }
/* Exit: curtain slides DOWN out of view */
.pt-scene.exit .pt-curtain { transform: translateY(100%); transition: transform 0.45s cubic-bezier(0.77,0,0.175,1); }
.pt-scene.exit .pt-logo-wrap { opacity: 0; transition-delay: 0s; }

/* Day mode transition */
body.day-mode .pt-scene .pt-curtain { background: #F0F2FF; }
body.day-mode .pt-scene .pt-curtain-inner { background: linear-gradient(160deg,#E8ECFF,#EDF0FF,#F0F2FF); }
body.day-mode .pt-logo-text { background: linear-gradient(135deg,#0F0D2E,#6B5FE0,#0EA5E9); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* ── Fix #6 Blog: Views + Share ── */
.blog-meta-row { display:flex; align-items:center; gap:14px; margin-top:8px; }
.blog-meta-item { display:flex; align-items:center; gap:4px; font-size:0.72rem; color:var(--text-muted); }
.blog-meta-item i { font-size:0.68rem; }
.blog-share-btn {
  display:inline-flex; align-items:center; gap:5px;
  font-size:0.72rem; color:var(--primary);
  background:rgba(123,108,246,0.08);
  border:1px solid rgba(123,108,246,0.2);
  border-radius:12px; padding:3px 10px;
  cursor:pointer; transition:all 0.2s ease;
  margin-left:auto;
}
.blog-share-btn:hover { background:rgba(123,108,246,0.15); }

/* ===== CLIENT PORTAL NAV BUTTON ===== */
.nav-portal-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  background: rgba(123,108,246,0.1) !important;
  border: 1px solid rgba(123,108,246,0.3) !important;
  border-radius: 40px !important;
  color: #A78BFA !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  padding: 7px 14px !important;
  transition: all 0.2s ease !important;
  margin-right: 4px;
}
.nav-portal-btn:hover {
  background: rgba(123,108,246,0.2) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
}
.nav-portal-btn i { font-size: 0.78rem; }
body.day-mode .nav-portal-btn {
  background: rgba(107,95,224,0.08) !important;
  border-color: rgba(107,95,224,0.25) !important;
  color: #6B5FE0 !important;
}
body.day-mode .nav-portal-btn:hover {
  background: rgba(107,95,224,0.16) !important;
  color: #4338ca !important;
}

/* Mobile: portal button full width */
@media (max-width: 1023px) {
  .nav-portal-btn {
    width: 80vw !important;
    max-width: 300px !important;
    justify-content: center !important;
    border-radius: 12px !important;
    padding: 14px 20px !important;
    margin-right: 0 !important;
    font-size: 1rem !important;
    margin-top: 4px !important;
  }
}

/* ===== COMPREHENSIVE MOBILE FIXES ===== */

/* Fix stats grid on small mobile */
@media (max-width: 400px) {
  .stats-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .stat-value { font-size: 1.8rem !important; }
  .stat-label { font-size: 0.72rem !important; }
}

/* Fix why-grid on mobile */
@media (max-width: 767px) {
  .why-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .why-card { padding: 22px 18px !important; }

  

  /* Fix trusted marquee */
  .trusted-item { padding: 8px 20px !important; font-size: 0.82rem !important; }

  /* Fix audit form */
  .audit-form { flex-direction: column !important; }
  .audit-input { border-radius: 12px !important; }
  .audit-btn { border-radius: 12px !important; width: 100% !important; }

  /* Company timeline */
  .company-timeline { padding-left: 52px !important; }
  .company-timeline::before { left: 16px !important; }
  .ctl-dot { left: -27px !important; width: 14px !important; height: 14px !important; }
  .ctl-year { left: -52px !important; width: 38px !important; font-size: 0.72rem !important; }

  /* Contact channels */
  .quick-contact-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .qc-card { padding: 14px !important; }
  .qc-icon { font-size: 1.3rem !important; }

  /* Benefits grid */
  .benefits-grid { grid-template-columns: 1fr !important; gap: 12px !important; }

  /* Hiring steps */
  .hiring-steps { flex-direction: column !important; }
  .hs-arrow { display: none !important; }
  .hs-step { padding: 18px !important; }

  /* Employee testimonials */
  .emp-testi-grid { grid-template-columns: 1fr !important; }

  /* Portal stats */
  .portal-stats { grid-template-columns: 1fr 1fr !important; }
  .portal-tabs { gap: 2px !important; }
  .portal-tab { font-size: 0.74rem !important; padding: 8px 10px !important; }
  .portal-tab i { display: none !important; }

  /* SEO checker */
  .seo-input-row { flex-direction: column !important; }
  .seo-checks-grid { grid-template-columns: 1fr !important; }
  .seo-score-header { flex-direction: column !important; text-align: center !important; }
}

@media (max-width: 479px) {
  .quick-contact-grid { grid-template-columns: 1fr !important; }
  .portal-stats { grid-template-columns: 1fr !important; }
  .biz-hours { padding: 16px !important; }
  .biz-hours-row { flex-direction: column !important; gap: 2px !important; }
  .testi-coming-soon { padding: 36px 16px !important; }
}

/* ============================================================
   ===== REDESIGNED FOOTER =====
   ============================================================ */
.site-footer-wrap { position: relative; z-index: 2; margin-top: 0; }

/* ── CTA Banner ── */
.footer-cta-banner {
  background: linear-gradient(135deg, rgba(123,108,246,0.12) 0%, rgba(56,189,248,0.08) 100%);
  border-top: 1px solid rgba(123,108,246,0.2);
  border-bottom: 1px solid rgba(123,108,246,0.15);
  padding: 40px 0;
}
.footer-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  flex-wrap: wrap;
}
.footer-cta-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  font-weight: 800;
  color: var(--text-primary);
  margin-bottom: 6px;
}
.footer-cta-title span {
  background: var(--gradient-royal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.footer-cta-sub { font-size: 0.9rem; color: var(--text-secondary); }
.footer-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; flex-shrink: 0; }
.footer-cta-btn { white-space: nowrap; }

/* ── Main footer body ── */
.footer-main {
  padding: 64px 0 40px;
  background: linear-gradient(180deg, rgba(4,6,20,0.98) 0%, rgba(6,4,25,1) 100%);
  border-top: 1px solid rgba(123,108,246,0.1);
  position: relative;
  overflow: hidden;
}
.footer-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  opacity: 0.12;
}
.footer-glow-1 {
  width: 400px; height: 400px;
  background: #7B6CF6;
  top: -150px; left: -100px;
}
.footer-glow-2 {
  width: 300px; height: 300px;
  background: #38BDF8;
  bottom: -100px; right: -80px;
}
.footer-grid-new {
  display: grid;
  grid-template-columns: 1.8fr 1fr 1fr 1fr 1.4fr;
  gap: 36px;
  position: relative;
  z-index: 1;
}

/* ── Brand column ── */
.footer-brand-col { }
.footer-logo-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  margin-bottom: 18px;
}
.footer-logo-icon { width: 46px !important; height: 46px !important; font-size: 1.1rem !important; flex-shrink: 0; }
.footer-brand-name {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  background: linear-gradient(135deg,#fff,#c4b5fd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.footer-brand-desc {
  font-size: 0.83rem;
  color: rgba(240,238,255,0.42);
  line-height: 1.75;
  margin-bottom: 22px;
  max-width: 280px;
}
.footer-mini-stats {
  display: flex;
  gap: 20px;
  margin-bottom: 22px;
  padding: 14px 0;
  border-top: 1px solid rgba(123,108,246,0.1);
  border-bottom: 1px solid rgba(123,108,246,0.1);
}
.footer-mini-stat { text-align: center; }
.fms-val {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  background: var(--gradient-royal);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.fms-label { font-size: 0.7rem; color: rgba(240,238,255,0.35); letter-spacing: 0.5px; }
.footer-social-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.footer-social-row a {
  width: 36px; height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(123,108,246,0.2);
  background: rgba(123,108,246,0.06);
  display: flex; align-items: center; justify-content: center;
  color: rgba(240,238,255,0.5);
  font-size: 0.82rem;
  text-decoration: none;
  transition: all 0.25s ease;
}
.footer-social-row a:hover {
  background: var(--gradient-royal);
  border-color: transparent;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(123,108,246,0.35);
}

/* ── Link columns ── */
.footer-col-new { }
.footer-col-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: rgba(240,238,255,0.9);
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(123,108,246,0.15);
}
.footer-col-icon {
  width: 28px; height: 28px;
  background: rgba(123,108,246,0.12);
  border-radius: 7px;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.72rem;
  color: var(--primary);
  flex-shrink: 0;
}
.footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.footer-links li a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(240,238,255,0.42);
  font-size: 0.82rem;
  text-decoration: none;
  transition: all 0.22s ease;
  padding: 2px 0;
}
.footer-links li a i {
  width: 14px;
  font-size: 0.72rem;
  color: rgba(123,108,246,0.5);
  flex-shrink: 0;
  transition: color 0.22s ease;
}
.footer-links li a:hover {
  color: #A78BFA;
  padding-left: 4px;
}
.footer-links li a:hover i { color: var(--primary); }

/* ── Contact column ── */
.footer-contact-items { display: flex; flex-direction: column; gap: 12px; }
.footer-contact-item {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  transition: all 0.22s ease;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid transparent;
}
.footer-contact-item:hover {
  background: rgba(123,108,246,0.06);
  border-color: rgba(123,108,246,0.15);
  transform: translateX(4px);
}
.fci-icon {
  width: 34px; height: 34px;
  background: rgba(123,108,246,0.1);
  border-radius: 9px;
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 0.9rem;
  flex-shrink: 0;
}
.fci-text { display: flex; flex-direction: column; }
.fci-text span { font-size: 0.68rem; color: rgba(240,238,255,0.35); letter-spacing: 0.5px; }
.fci-text { font-size: 0.8rem; color: rgba(240,238,255,0.7); font-weight: 500; }

/* ── Bottom bar ── */
.footer-bottom-bar {
  background: rgba(0,0,0,0.5);
  border-top: 1px solid rgba(123,108,246,0.1);
  padding: 16px 0;
}
.footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.78rem;
  color: rgba(240,238,255,0.3);
}
.footer-bottom-left strong { color: var(--primary); }
.footer-made-with { color: rgba(240,238,255,0.3); }
.footer-made-with i { animation: heartbeat 1.4s ease-in-out infinite; }
@keyframes heartbeat { 0%,100%{transform:scale(1)} 50%{transform:scale(1.3)} }
.footer-bottom-right { display: flex; align-items: center; gap: 8px; }
.footer-bottom-right a { color: rgba(240,238,255,0.35); text-decoration:none; transition:color 0.2s; }
.footer-bottom-right a:hover { color: var(--primary); }

/* ── Day mode footer ── */
body.day-mode .footer-cta-banner { background: linear-gradient(135deg,rgba(107,95,224,0.07),rgba(14,165,233,0.04)); border-color:rgba(107,95,224,0.15); }
body.day-mode .footer-main { background: linear-gradient(180deg,rgba(240,238,255,0.95),rgba(235,232,255,0.98)); }
body.day-mode .footer-brand-name { background:linear-gradient(135deg,#0F0D2E,#6B5FE0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
body.day-mode .footer-brand-desc { color: rgba(15,13,46,0.48); }
body.day-mode .footer-col-title { color: rgba(15,13,46,0.85); border-bottom-color: rgba(107,95,224,0.12); }
body.day-mode .footer-links li a { color: rgba(15,13,46,0.5); }
body.day-mode .footer-links li a:hover { color: #6B5FE0; }
body.day-mode .footer-links li a i { color: rgba(107,95,224,0.4); }
body.day-mode .footer-social-row a { border-color:rgba(107,95,224,0.18); background:rgba(107,95,224,0.05); color:rgba(15,13,46,0.4); }
body.day-mode .footer-contact-item .fci-text { color: rgba(15,13,46,0.65); }
body.day-mode .footer-contact-item .fci-text span { color: rgba(15,13,46,0.38); }
body.day-mode .footer-bottom-bar { background: rgba(107,95,224,0.06); border-top-color: rgba(107,95,224,0.12); }
body.day-mode .footer-bottom-inner { color: rgba(15,13,46,0.38); }
body.day-mode .footer-made-with { color: rgba(15,13,46,0.38); }
body.day-mode .footer-bottom-right a { color: rgba(15,13,46,0.4); }
body.day-mode .footer-glow-1 { background: #a78bfa; }
body.day-mode .footer-glow-2 { background: #7dd3fc; }

/* ── Footer responsive ── */
@media (max-width: 1279px) {
  .footer-grid-new { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 28px; }
  .footer-contact-col { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: start; }
}
@media (max-width: 1023px) {
  .footer-grid-new { grid-template-columns: 1fr 1fr 1fr; gap: 28px; }
  .footer-contact-col { grid-column: span 2; display: block; }
  .footer-contact-items { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .footer-brand-col { grid-column: 1 / -1; }
  .footer-brand-desc { max-width: 100%; }
  .footer-mini-stats { justify-content: flex-start; }
  .footer-cta-inner { flex-direction: column; text-align: center; }
  .footer-cta-actions { justify-content: center; }
}
@media (max-width: 767px) {
  .footer-grid-new {
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
  }
  .footer-brand-col {
    grid-column: 1 / -1;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .footer-logo-link { justify-content: center; }
  .footer-mini-stats { justify-content: center; }
  .footer-social-row { justify-content: center; }
  .footer-contact-col { grid-column: 1 / -1; }
  .footer-contact-items { grid-template-columns: 1fr; gap: 8px; }
  .footer-bottom-inner { flex-direction: column; text-align: center; gap: 8px; }
  .footer-main { padding: 40px 0 28px; }
  .footer-cta-banner { padding: 28px 0; }
  /* Make link columns readable on mobile */
  .footer-col-new { min-width: 0; }
  .footer-col-title { font-size: 0.8rem !important; margin-bottom: 10px; }
  .footer-links li a { font-size: 0.78rem !important; padding: 3px 0; }
  .footer-links { gap: 4px; }
  /* Footer bottom */
  .footer-bottom-right { justify-content: center; display: flex; gap: 8px; flex-wrap: wrap; }
  .footer-bottom-left, .footer-bottom-center, .footer-bottom-right { font-size: 0.76rem; }
}
@media (max-width: 479px) {
  .footer-grid-new { grid-template-columns: 1fr !important; gap: 20px !important; }
  .footer-mini-stats { justify-content: center; gap: 16px; }
  .footer-col-new { text-align: center; }
  .footer-links li a { justify-content: center; }
  .footer-cta-title { font-size: 1.3rem; }
  .footer-cta-btn { width: 100%; justify-content: center; }
}

/* ============================================================
   ===== MOTION ANIMATIONS SYSTEM =====
   ============================================================ */

/* ── Slide in from left ── */
.slide-in-left {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.7s ease;
}

/* ── Slide in from right ── */
.slide-in-right {
  opacity: 1;
  transform: translateX(0);
  transition: transform 0.7s ease;
}

/* ── Scale in ── */
.scale-in {
  opacity: 1;
  transform: scale(1);
  transition: transform 0.6s cubic-bezier(0.34,1.56,0.64,1);
}

/* ── Stagger children ── */
.stagger-children > * { opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease, transform 0.5s ease; }
.stagger-children.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0.05s; }
.stagger-children.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:0.12s; }
.stagger-children.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:0.19s; }
.stagger-children.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:0.26s; }
.stagger-children.visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:0.33s; }
.stagger-children.visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:0.40s; }

/* ── Glow pulse on hover ── */
.glow-on-hover {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.glow-on-hover:hover {
  box-shadow: 0 0 24px rgba(123,108,246,0.45), 0 8px 32px rgba(123,108,246,0.2);
  transform: translateY(-4px);
}

/* ── Number count shimmer ── */
.count-shimmer {
  position: relative;
  overflow: hidden;
}
.count-shimmer::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: shimmerPass 2.5s ease-in-out infinite;
}
@keyframes shimmerPass { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Section header reveal ── */
.section-header { position: relative; }
/* Section header: visible by default, animate when .anim class is added by JS */
.section-header.anim .section-eyebrow { opacity:0; transform:translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.section-header.anim .section-title   { opacity:0; transform:translateY(18px); transition: opacity 0.6s ease 0.1s, transform 0.6s ease 0.1s; }
.section-header.anim .section-desc    { opacity:0; transform:translateY(14px); transition: opacity 0.6s ease 0.2s, transform 0.6s ease 0.2s; }
.section-header.anim.visible .section-eyebrow,
.section-header.anim.visible .section-title,
.section-header.anim.visible .section-desc { opacity:1; transform:translateY(0); }

/* ── Card hover lift ── */
.card-hover-lift {
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}
.card-hover-lift:hover {
  transform: translateY(-8px) scale(1.01);
  box-shadow: 0 20px 50px rgba(123,108,246,0.18);
}

/* ── Ripple click effect ── */
.ripple-btn { position: relative; overflow: hidden; }
.ripple-btn::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(255,255,255,0.25);
  transform: scale(0);
  width: 100px; height: 100px;
  margin-left: -50px; margin-top: -50px;
  opacity: 0;
  transition: transform 0.5s ease, opacity 0.4s ease;
  pointer-events: none;
}
.ripple-btn:active::after { transform: scale(4); opacity: 0; transition: 0s; }

/* ── Floating badge animation ── */
.hero-eyebrow {
  animation: floatBadge 3s ease-in-out infinite;
}
@keyframes floatBadge { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }

/* ── Gradient border animation ── */
@keyframes gradientBorder {
  0%   { border-color: #7B6CF6; }
  33%  { border-color: #38BDF8; }
  66%  { border-color: #A855F7; }
  100% { border-color: #7B6CF6; }
}
.animated-border { animation: gradientBorder 3s linear infinite; }

/* ── Why-card icon pulse ── */
.why-card:hover .why-icon { animation: iconPop 0.4s cubic-bezier(0.34,1.56,0.64,1); }
@keyframes iconPop { 0%{transform:scale(1)} 50%{transform:scale(1.25)} 100%{transform:scale(1)} }

/* ── Stat number pop ── */
.stat-item { transition: transform 0.3s ease; }
.stat-item:hover { transform: scale(1.05); }
.stat-item:hover .stat-icon { animation: iconPop 0.4s cubic-bezier(0.34,1.56,0.64,1); }


 50%{box-shadow:0 0 32px rgba(123,108,246,0.7)} }

/* ── Trusted marquee item hover pop ── */
.trusted-item { transition: transform 0.2s ease, color 0.2s ease; }
.trusted-item:hover { transform: scale(1.08); }

/* ── Testi card entrance ── */
.testi-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.testi-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(123,108,246,0.15); }

/* ── Blog card hover ── */
.blog-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.blog-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(123,108,246,0.12); }

/* ── Portfolio card reveal ── */
.portfolio-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.portfolio-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(123,108,246,0.15); }

/* ── Glow dots floating in background ── */
.glow-dot {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  pointer-events: none;
  opacity: 0.08;
  animation: glowFloat 8s ease-in-out infinite;
}
.glow-dot-1 { width: 400px; height: 400px; background: #7B6CF6; top: 10%; left: -10%; animation-delay: 0s; }
.glow-dot-2 { width: 300px; height: 300px; background: #38BDF8; bottom: 5%; right: -5%; animation-delay: 4s; }
@keyframes glowFloat { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-30px) scale(1.05)} }

/* ── Ripple on all primary buttons ── */
.btn-primary, .btn-outline { position: relative; overflow: hidden; }
.btn-primary::after, .btn-outline::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0);
  transition: background 0.3s ease;
  pointer-events: none;
}
.btn-primary:active::after, .btn-outline:active::after {
  background: rgba(255,255,255,0.12);
}

/* ===== CARD ANIMATION - starts visible, plays in on creation ===== */
@keyframes cardSlideIn {
  from { transform: translateY(20px) scale(0.98); }
  to   { transform: translateY(0) scale(1); }
}
.card-anim {
  animation: cardSlideIn 0.55s cubic-bezier(0.34,1.2,0.64,1) both;
}
.card-anim:nth-child(1) { animation-delay: 0.04s; }
.card-anim:nth-child(2) { animation-delay: 0.10s; }
.card-anim:nth-child(3) { animation-delay: 0.16s; }
.card-anim:nth-child(4) { animation-delay: 0.22s; }
.card-anim:nth-child(5) { animation-delay: 0.28s; }
.card-anim:nth-child(6) { animation-delay: 0.34s; }

/* ===== STATS COUNTER ENHANCED ===== */
@keyframes statPulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
.stat-item.counting .stat-value { animation: statPulse 0.3s ease; }
.stat-item { cursor: default; }
.stat-label {
  font-size: 0.8rem;
  color: rgba(240,238,255,0.45);
  letter-spacing: 0.5px;
  margin-top: 6px;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 1px;
}

/* ===== AUDIT POPUP ===== */
.audit-popup-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(4,6,20,0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: fadeInBackdrop 0.3s ease;
}
@keyframes fadeInBackdrop { from{opacity:0} to{opacity:1} }
.audit-popup-box {
  background: linear-gradient(160deg, #0d0820 0%, #06041a 100%);
  border: 1px solid rgba(123,108,246,0.3);
  border-radius: 24px;
  padding: 40px 36px;
  max-width: 480px;
  width: 100%;
  position: relative;
  box-shadow: 0 32px 80px rgba(0,0,0,0.6), 0 0 0 1px rgba(123,108,246,0.15);
  animation: popupSlideUp 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes popupSlideUp { from{opacity:0;transform:translateY(40px) scale(0.93)} to{opacity:1;transform:none} }
.audit-popup-close {
  position: absolute;
  top: 16px; right: 16px;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: rgba(123,108,246,0.1);
  border: 1px solid rgba(123,108,246,0.2);
  color: rgba(240,238,255,0.6);
  font-size: 0.8rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.audit-popup-close:hover { background: rgba(123,108,246,0.25); color: #fff; }
.audit-popup-icon {
  width: 64px; height: 64px;
  background: linear-gradient(135deg, rgba(123,108,246,0.2), rgba(56,189,248,0.12));
  border: 1px solid rgba(123,108,246,0.3);
  border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  color: var(--primary);
  margin: 0 auto 20px;
}
.audit-popup-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--text-primary);
  text-align: center;
  margin-bottom: 10px;
}
.audit-popup-sub {
  font-size: 0.86rem;
  color: var(--text-secondary);
  text-align: center;
  margin-bottom: 24px;
  line-height: 1.65;
}
.audit-popup-sub strong { color: var(--primary); }
body.day-mode .audit-popup-box { background: #F3F0FF; border-color: rgba(107,95,224,0.25); }
@media (max-width:480px) { .audit-popup-box { padding: 28px 20px; } }

/* ===== STATS FINAL OVERRIDE ===== */
.stat-item {
  text-align: center;
  padding: 36px 24px;
  background: rgba(123,108,246,0.05);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 24px;
  transition: all 0.35s cubic-bezier(0.34,1.56,0.64,1);
  position: relative;
  overflow: hidden;
  cursor: default;
}
.stat-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(123,108,246,0.14) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.stat-item:hover { transform: translateY(-8px) scale(1.02); border-color: rgba(123,108,246,0.4); box-shadow: 0 20px 60px rgba(123,108,246,0.2); }
.stat-item:hover::before { opacity: 1; }
.stat-value {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 3.5rem;
  font-weight: 900;
  background: linear-gradient(135deg, #fff 0%, #c4b5fd 40%, #7B6CF6 70%, #38BDF8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 8px;
  display: block;
}
.stat-icon {
  width: 64px; height: 64px;
  background: linear-gradient(135deg,rgba(123,108,246,0.15),rgba(56,189,248,0.1));
  border: 1px solid rgba(123,108,246,0.25);
  border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  color: var(--primary);
  margin: 0 auto 20px;
  box-shadow: 0 4px 20px rgba(123,108,246,0.15);
}

/* ===== SERVICE ICON FINAL OVERRIDE ===== */
.service-icon {
  width: 60px; height: 60px;
  background: linear-gradient(135deg,rgba(123,108,246,0.15),rgba(56,189,248,0.08));
  border: 1px solid rgba(123,108,246,0.25);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  color: var(--primary);
  margin-bottom: 20px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(123,108,246,0.12);
}
.service-card:hover .service-icon {
  background: var(--gradient-royal, linear-gradient(135deg,#7B6CF6,#38BDF8));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 8px 28px rgba(123,108,246,0.4);
  transform: scale(1.1) rotate(-3deg);
}
body.day-mode .service-icon { background: rgba(107,95,224,0.08); border-color: rgba(107,95,224,0.2); }


/* ===== HOW WE WORK — HORIZONTAL ANIMATED ===== */

@keyframes hwwNumPop {
  0%   { transform: scale(0) rotate(-180deg); opacity: 0; }
  70%  { transform: scale(1.2) rotate(10deg); }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}
/* Connector arrows between steps */


@media (max-width: 767px) {
}
@media (max-width: 479px) {
}

/* ===== AUDIT SECTION REDESIGN ===== */
.audit-section { padding: 80px 0; background: linear-gradient(160deg, rgba(123,108,246,0.06) 0%, rgba(56,189,248,0.04) 100%); border-top:1px solid rgba(123,108,246,0.1); border-bottom:1px solid rgba(123,108,246,0.1); }
.audit-inner { max-width:680px; margin:0 auto; text-align:center; }
.audit-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(123,108,246,0.1); border:1px solid rgba(123,108,246,0.25); border-radius:30px; padding:6px 16px; font-size:0.78rem; font-weight:700; color:var(--primary); margin-bottom:18px; letter-spacing:0.5px; text-transform:uppercase; }
.audit-title { font-family:'Space Grotesk',sans-serif; font-size:clamp(1.6rem,3.5vw,2.2rem); font-weight:800; color:var(--text-primary); margin-bottom:12px; }
.audit-title-highlight { background:var(--gradient-royal,linear-gradient(135deg,#7B6CF6,#38BDF8)); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.audit-desc { font-size:0.92rem; color:var(--text-secondary); margin-bottom:28px; line-height:1.7; }
.audit-form { display:flex; gap:10px; max-width:560px; margin:0 auto 16px; }
.audit-input-wrap { position:relative; flex:1; }
.audit-input-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--text-muted,rgba(240,238,255,0.35)); font-size:0.9rem; pointer-events:none; z-index:1; }
.audit-input { width:100%; padding:15px 15px 15px 44px; background:rgba(240,238,255,0.04); border:1.5px solid rgba(123,108,246,0.2); border-radius:14px; color:var(--text-primary); font-size:0.95rem; outline:none; transition:all 0.25s ease; }
.audit-input:focus { border-color:var(--primary,#7B6CF6); background:rgba(123,108,246,0.06); box-shadow:0 0 0 4px rgba(123,108,246,0.1); }
.audit-input::placeholder { color:var(--text-muted,rgba(240,238,255,0.3)); }
.audit-btn { padding:15px 28px; border-radius:14px; white-space:nowrap; font-size:0.92rem; display:flex; align-items:center; gap:8px; flex-shrink:0; }
.audit-note { font-size:0.78rem; color:var(--text-muted,rgba(240,238,255,0.4)); display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.audit-note i { font-size:0.72rem; }

/* Day mode audit */
body.day-mode .audit-section { background:linear-gradient(160deg,rgba(107,95,224,0.05),rgba(14,165,233,0.03)); border-color:rgba(107,95,224,0.1); }
body.day-mode .audit-input { background:rgba(15,13,46,0.04); border-color:rgba(107,95,224,0.2); color:#0F0D2E; }
body.day-mode .audit-input:focus { background:rgba(107,95,224,0.06); }
body.day-mode .audit-input::placeholder { color:rgba(15,13,46,0.3); }

/* ===== AUDIT POPUP REDESIGN ===== */
.audit-popup-backdrop { position:fixed; inset:0; background:rgba(4,6,20,0.88); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px; animation:fadeInBackdrop 0.3s ease; }
@keyframes fadeInBackdrop { from{opacity:0} to{opacity:1} }
.audit-popup-box { background:linear-gradient(160deg,#0d0820 0%,#06041a 100%); border:1px solid rgba(123,108,246,0.3); border-radius:28px; padding:44px 40px; max-width:500px; width:100%; position:relative; box-shadow:0 40px 100px rgba(0,0,0,0.7), inset 0 1px 0 rgba(123,108,246,0.2); animation:popupSlideUp 0.45s cubic-bezier(0.34,1.3,0.64,1) both; }
@keyframes popupSlideUp { from{opacity:0;transform:translateY(50px) scale(0.92)} to{opacity:1;transform:none} }
.audit-popup-close { position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%; background:rgba(123,108,246,0.08); border:1px solid rgba(123,108,246,0.2); color:rgba(240,238,255,0.5); font-size:0.8rem; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all 0.2s ease; }
.audit-popup-close:hover { background:rgba(244,114,182,0.12); border-color:rgba(244,114,182,0.3); color:#F472B6; transform:rotate(90deg); }
.audit-popup-icon { width:72px; height:72px; border-radius:20px; background:linear-gradient(135deg,rgba(123,108,246,0.15),rgba(56,189,248,0.1)); border:1px solid rgba(123,108,246,0.3); display:flex; align-items:center; justify-content:center; font-size:1.8rem; color:var(--primary,#7B6CF6); margin:0 auto 22px; position:relative; box-shadow:0 8px 32px rgba(123,108,246,0.2); }
.audit-popup-icon-ring { position:absolute; inset:-8px; border-radius:28px; border:1px solid rgba(123,108,246,0.15); animation:ringPulse 2.5s ease-in-out infinite; }
@keyframes ringPulse { 0%,100%{transform:scale(1);opacity:0.6} 50%{transform:scale(1.08);opacity:0.2} }
.audit-popup-title { font-family:'Space Grotesk',sans-serif; font-size:1.5rem; font-weight:800; color:#fff; text-align:center; margin-bottom:10px; }
.audit-popup-sub { font-size:0.88rem; color:rgba(240,238,255,0.6); text-align:center; margin-bottom:6px; }
.audit-popup-sub2 { font-size:0.88rem; color:rgba(240,238,255,0.5); text-align:center; margin-bottom:24px; }
.audit-url-pill { display:inline-block; background:rgba(123,108,246,0.12); border:1px solid rgba(123,108,246,0.25); border-radius:20px; padding:2px 12px; font-size:0.82rem; color:var(--primary,#7B6CF6); max-width:240px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; vertical-align:middle; }
.audit-popup-form { display:flex; flex-direction:column; gap:12px; }
.audit-popup-field { position:relative; display:flex; align-items:center; }
.audit-popup-field i { position:absolute; left:14px; color:rgba(240,238,255,0.3); font-size:0.85rem; pointer-events:none; }
.audit-popup-field input { width:100%; padding:13px 14px 13px 40px; background:rgba(240,238,255,0.04); border:1.5px solid rgba(123,108,246,0.2); border-radius:14px; color:#fff; font-size:0.9rem; font-family:inherit; outline:none; transition:all 0.25s ease; }
.audit-popup-field input:focus { border-color:var(--primary,#7B6CF6); background:rgba(123,108,246,0.08); box-shadow:0 0 0 4px rgba(123,108,246,0.1); }
.audit-popup-field input::placeholder { color:rgba(240,238,255,0.25); }
.audit-popup-submit { width:100%; justify-content:center; padding:15px; border-radius:14px; font-size:0.95rem; margin-top:4px; }
.audit-popup-privacy { font-size:0.73rem; color:rgba(240,238,255,0.3); text-align:center; margin-top:14px; }
.audit-popup-privacy i { color:rgba(40,200,120,0.6); margin-right:4px; }

/* Day mode popup */
body.day-mode .audit-popup-box { background:linear-gradient(160deg,#F3F0FF,#EDF0FF); border-color:rgba(107,95,224,0.2); }
body.day-mode .audit-popup-title { color:#0F0D2E; }
body.day-mode .audit-popup-sub, body.day-mode .audit-popup-sub2 { color:rgba(15,13,46,0.55); }
body.day-mode .audit-popup-field input { background:rgba(107,95,224,0.05); border-color:rgba(107,95,224,0.2); color:#0F0D2E; }
body.day-mode .audit-popup-field input:focus { border-color:#6B5FE0; background:rgba(107,95,224,0.08); }
body.day-mode .audit-popup-field i { color:rgba(15,13,46,0.3); }
body.day-mode .audit-popup-privacy { color:rgba(15,13,46,0.35); }
body.day-mode .audit-popup-backdrop { background:rgba(15,13,46,0.7); }

@media (max-width:767px) { .audit-form { flex-direction:column; } .audit-btn { border-radius:14px; justify-content:center; } .audit-popup-box { padding:32px 22px; } }

/* Header scrolled — dark glass effect in day mode */
body.day-mode .header-main.scrolled {
  background: rgba(240,238,255,0.97) !important;
  box-shadow: 0 4px 32px rgba(107,95,224,0.18) !important;
  border-bottom-color: rgba(107,95,224,0.25) !important;
  backdrop-filter: blur(32px) !important;
}
/* Night mode scrolled already dark */
.header-main.scrolled {
  background: rgba(4,6,15,0.97) !important;
  box-shadow: 0 4px 40px rgba(123,108,246,0.2) !important;
  border-bottom-color: rgba(123,108,246,0.3) !important;
  backdrop-filter: blur(32px) !important;
}

/* Stat icon night mode fix - gradient clip doesn't show on dark bg */
.stat-icon {
  font-size: 1.5rem !important;
  margin-bottom: 12px !important;
  color: var(--primary) !important;
  background: rgba(123,108,246,0.12) !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
  width: 60px !important; height: 60px !important;
  border-radius: 16px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin: 0 auto 16px !important;
  border: 1px solid rgba(123,108,246,0.2) !important;
}
body.day-mode .stat-icon {
  background: rgba(107,95,224,0.1) !important;
  color: #6B5FE0 !important;
  border-color: rgba(107,95,224,0.2) !important;
}

/* Blog card complete fix */
.blog-card { display:flex; flex-direction:column; background:var(--bg-card,rgba(123,108,246,0.05)); border:1px solid var(--border,rgba(123,108,246,0.12)); border-radius:var(--radius,16px); overflow:hidden; cursor:pointer; transition:all 0.3s ease; }
.blog-card:hover { transform:translateY(-6px); box-shadow:0 16px 48px rgba(123,108,246,0.15); border-color:rgba(123,108,246,0.3); }
.blog-img { height:200px; overflow:hidden; background:linear-gradient(135deg,rgba(123,108,246,0.15),rgba(56,189,248,0.1)); flex-shrink:0; }
.blog-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.blog-card:hover .blog-img img { transform:scale(1.05); }
.blog-body { padding:20px; flex:1; display:flex; flex-direction:column; gap:10px; }
.blog-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.blog-cat  { background:rgba(123,108,246,0.12); border:1px solid rgba(123,108,246,0.2); border-radius:20px; padding:3px 12px; font-size:0.72rem; font-weight:700; color:var(--primary); }
.blog-date { font-size:0.75rem; color:var(--text-secondary,rgba(240,238,255,0.5)); }
.blog-body h3 { font-family:'Space Grotesk',sans-serif; font-size:1rem; font-weight:700; color:var(--text-primary); line-height:1.4; }
.blog-body p  { font-size:0.83rem; color:var(--text-secondary); line-height:1.65; flex:1; }
.blog-author  { display:flex; align-items:center; gap:8px; font-size:0.78rem; color:var(--text-secondary); }
.blog-author-avatar { width:28px; height:28px; border-radius:50%; background:var(--gradient-royal,linear-gradient(135deg,#7B6CF6,#38BDF8)); display:flex; align-items:center; justify-content:center; font-size:0.65rem; font-weight:700; color:#fff; flex-shrink:0; }
.blog-meta-row { display:flex; align-items:center; justify-content:space-between; margin-top:auto; }
.blog-meta-item { display:flex; align-items:center; gap:5px; font-size:0.74rem; color:var(--text-muted,rgba(240,238,255,0.35)); }
.blog-share-btn { display:inline-flex; align-items:center; gap:5px; font-size:0.74rem; color:var(--primary); background:rgba(123,108,246,0.08); border:1px solid rgba(123,108,246,0.2); border-radius:12px; padding:4px 10px; cursor:pointer; transition:all 0.2s; }
.blog-share-btn:hover { background:rgba(123,108,246,0.15); }
.read-more { font-size:0.82rem; color:var(--primary); font-weight:600; display:flex; align-items:center; gap:6px; margin-top:6px; }

/* Day mode blog */
body.day-mode .blog-card { background:#fff; border-color:rgba(107,95,224,0.1); }
body.day-mode .blog-body h3 { color:#0F0D2E; }
body.day-mode .blog-body p  { color:rgba(15,13,46,0.6); }
body.day-mode .blog-date    { color:rgba(15,13,46,0.5); }
body.day-mode .blog-author  { color:rgba(15,13,46,0.5); }
body.day-mode .blog-meta-item { color:rgba(15,13,46,0.4); }

/* Company timeline - animated */
.company-timeline { position:relative; padding-left:80px; }
.company-timeline::before { content:''; position:absolute; left:32px; top:0; bottom:0; width:2px; background:linear-gradient(180deg,var(--primary,#7B6CF6),rgba(123,108,246,0.1)); }
.ctl-item { position:relative; padding-bottom:48px; opacity:1; transform:none; transition:opacity 0.6s ease, transform 0.6s cubic-bezier(0.34,1.2,0.64,1); }
.ctl-item.visible { opacity:1; transform:translateX(0); }
.ctl-item:nth-child(2) { transition-delay:0.1s; }
.ctl-item:nth-child(3) { transition-delay:0.2s; }
.ctl-item:nth-child(4) { transition-delay:0.3s; }
.ctl-item:nth-child(5) { transition-delay:0.4s; }
.ctl-dot { position:absolute; left:-56px; top:4px; width:20px; height:20px; border-radius:50%; background:var(--primary,#7B6CF6); border:3px solid var(--bg-dark,#04060F); box-shadow:0 0 0 4px rgba(123,108,246,0.25), 0 0 20px rgba(123,108,246,0.4); z-index:1; transition:all 0.4s ease; }
.ctl-item.visible .ctl-dot { animation:dotGlow2 2.5s ease-in-out infinite; }
@keyframes dotGlow2 { 0%,100%{box-shadow:0 0 0 4px rgba(123,108,246,0.2),0 0 16px rgba(123,108,246,0.3)} 50%{box-shadow:0 0 0 8px rgba(123,108,246,0.15),0 0 32px rgba(123,108,246,0.5)} }
.ctl-year { position:absolute; left:-80px; top:0; width:52px; text-align:right; font-family:'Space Grotesk',sans-serif; font-size:0.78rem; font-weight:800; color:var(--primary,#7B6CF6); }
.ctl-content { background:var(--card,rgba(123,108,246,0.05)); border:1px solid var(--border,rgba(123,108,246,0.12)); border-radius:16px; padding:20px 22px; transition:all 0.3s ease; }
.ctl-content:hover { border-color:rgba(123,108,246,0.3); box-shadow:0 8px 32px rgba(123,108,246,0.12); transform:translateX(4px); }
.ctl-title { font-family:'Space Grotesk',sans-serif; font-size:1.05rem; font-weight:700; color:var(--text-primary); margin-bottom:6px; }
.ctl-desc  { font-size:0.84rem; color:var(--text-secondary); line-height:1.65; margin-bottom:10px; }
.ctl-tag   { display:inline-flex; align-items:center; gap:6px; background:rgba(123,108,246,0.1); border:1px solid rgba(123,108,246,0.2); border-radius:20px; padding:4px 12px; font-size:0.74rem; color:var(--primary); }

body.day-mode .ctl-content { background:#fff; border-color:rgba(107,95,224,0.1); }
body.day-mode .ctl-dot { border-color:#F0F2FF; }
body.day-mode .ctl-title { color:#0F0D2E; }
body.day-mode .ctl-desc  { color:rgba(15,13,46,0.6); }

@media (max-width:767px) {
  .company-timeline { padding-left:60px; }
  .company-timeline::before { left:22px; }
  .ctl-dot  { left:-38px; width:16px; height:16px; }
  .ctl-year { left:-60px; width:38px; font-size:0.68rem; }
}

/* ===== TOOLS DROPDOWN NAV ===== */
.nav-dropdown { position: relative; display: inline-flex; align-items: center; }
.nav-dropdown-toggle {
  display: flex; align-items: center; gap: 6px;
  color: var(--text-nav, rgba(240,238,255,0.75));
  font-size: 0.88rem; font-weight: 500;
  padding: 6px 4px; cursor: pointer;
  transition: color 0.2s ease;
  white-space: nowrap;
}
.nav-dropdown-toggle:hover { color: #fff; }
.nav-dd-icon { font-size: 0.65rem; transition: transform 0.25s ease; }
.nav-dropdown:hover .nav-dd-icon { transform: rotate(180deg); }

.nav-dropdown-menu {
  position: absolute; top: calc(100% + 12px); left: 50%;
  transform: translateX(-50%) translateY(-8px);
  background: rgba(10,8,30,0.97);
  border: 1px solid rgba(123,108,246,0.2);
  border-radius: 14px; padding: 8px;
  min-width: 200px; z-index: 500;
  opacity: 0; pointer-events: none;
  transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.34,1.2,0.64,1);
  box-shadow: 0 16px 48px rgba(0,0,0,0.5);
  backdrop-filter: blur(20px);
}
.nav-dropdown:hover .nav-dropdown-menu {
  opacity: 1; pointer-events: all;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown-menu a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 10px;
  color: rgba(240,238,255,0.7); font-size: 0.85rem; font-weight: 500;
  transition: all 0.2s ease;
}
.nav-dropdown-menu a:hover {
  background: rgba(123,108,246,0.1);
  color: #fff;
}
.nav-dropdown-menu a i { width: 16px; color: var(--primary, #7B6CF6); font-size: 0.8rem; }

/* Day mode dropdown */
body.day-mode .nav-dropdown-menu {
  background: rgba(255,255,255,0.98);
  border-color: rgba(107,95,224,0.15);
  box-shadow: 0 16px 48px rgba(107,95,224,0.15);
}
body.day-mode .nav-dropdown-menu a { color: rgba(15,13,46,0.7); }
body.day-mode .nav-dropdown-menu a:hover { background: rgba(107,95,224,0.07); color: #0F0D2E; }
body.day-mode .nav-dropdown-toggle { color: rgba(15,13,46,0.7); }
body.day-mode .nav-dropdown-toggle:hover { color: #0F0D2E; }

/* Mobile tools section title */
.nav-mobile-section-title {
  font-size: 0.65rem; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: rgba(240,238,255,0.3);
  padding: 14px 16px 4px; margin-top: 8px;
  border-top: 1px solid rgba(123,108,246,0.1);
}

/* Audit form fix - prevent action="" reload */
.audit-form { position: relative; }

/* card-anim failsafe — always visible after 0.6s regardless */
.card-anim {
  animation: cardSlideIn 0.55s cubic-bezier(0.34,1.2,0.64,1) both;
  /* Ensure always visible after animation */
  animation-fill-mode: both;
}
/* If JS adds .visible class, show immediately */
.card-anim.visible {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
/* portfolio-card, blog-card, team-card, service-card always rendered */
.portfolio-card, .blog-card, .team-card, .service-card {
  opacity: 1;
}

/* ================================================================
   HEADER NAV — COMPLETE CLEAN FIX
   ================================================================ */

/* Desktop nav: always flex, items centered */
.header-main .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 70px !important;
  gap: 12px !important;
}

/* Nav base — desktop: horizontal flex row */
.nav {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
}

/* Nav links */
.nav > a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 10px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: rgba(240,238,255,0.75) !important;
  white-space: nowrap !important;
  border-radius: 8px !important;
  transition: color 0.2s ease, background 0.2s ease !important;
  text-decoration: none !important;
  width: auto !important;
  text-align: left !important;
}
.nav > a:hover, .nav > a.active-link {
  color: #fff !important;
  background: rgba(123,108,246,0.08) !important;
}

/* Appointment button in nav */
.nav .btn-appointment {
  background: linear-gradient(135deg,#7B6CF6,#A855F7) !important;
  color: #fff !important;
  border-radius: 40px !important;
  padding: 8px 18px !important;
  font-weight: 700 !important;
  font-size: 0.83rem !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(123,108,246,0.35) !important;
  white-space: nowrap !important;
}
.nav .btn-appointment:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(123,108,246,0.5) !important;
  background: rgba(123,108,246,0.08) !important;
  color: #fff !important;
}

/* Client Login pill */
.nav .nav-portal-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 14px !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: #A78BFA !important;
  background: rgba(123,108,246,0.1) !important;
  border: 1px solid rgba(123,108,246,0.25) !important;
  border-radius: 40px !important;
  white-space: nowrap !important;
  transition: all 0.2s ease !important;
}
.nav .nav-portal-btn:hover {
  background: rgba(123,108,246,0.2) !important;
  color: #fff !important;
}

/* Tools dropdown in nav */
.nav .nav-dropdown {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}
.nav .nav-dropdown-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 7px 10px !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  color: rgba(240,238,255,0.75) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  border-radius: 8px !important;
  transition: color 0.2s ease, background 0.2s ease !important;
  width: auto !important;
  text-align: left !important;
}
.nav .nav-dropdown-toggle:hover { color: #fff !important; background: rgba(123,108,246,0.08) !important; }
.nav .nav-dd-icon { font-size: 0.65rem !important; transition: transform 0.25s ease !important; }
.nav .nav-dropdown:hover .nav-dd-icon { transform: rotate(180deg) !important; }
.nav .nav-dropdown-menu {
  position: absolute !important;
  top: calc(100% + 10px) !important;
  left: 50% !important;
  transform: translateX(-50%) translateY(-6px) !important;
  background: rgba(10,8,30,0.97) !important;
  border: 1px solid rgba(123,108,246,0.2) !important;
  border-radius: 14px !important;
  padding: 8px !important;
  min-width: 200px !important;
  z-index: 600 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.2s ease, transform 0.25s ease !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.5) !important;
}
.nav .nav-dropdown:hover .nav-dropdown-menu {
  opacity: 1 !important;
  pointer-events: all !important;
  transform: translateX(-50%) translateY(0) !important;
}
.nav .nav-dropdown-menu a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  color: rgba(240,238,255,0.7) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  width: 100% !important;
  text-align: left !important;
  background: transparent !important;
  border: none !important;
  white-space: nowrap !important;
}
.nav .nav-dropdown-menu a:hover { background: rgba(123,108,246,0.12) !important; color: #fff !important; }

/* Mobile: hide dropdown, show full list */
@media (max-width: 768px) {
  .nav {
    display: none !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: rgba(4,6,15,0.98) !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    z-index: 9999 !important;
    padding: 60px 20px 40px !important;
  }
  .nav.mobile-open { display: flex !important; }
  .nav > a {
    width: 80vw !important; max-width: 320px !important;
    text-align: center !important; justify-content: center !important;
    padding: 14px 20px !important; font-size: 1rem !important;
    border-radius: 12px !important;
  }
  .nav .nav-portal-btn { width: 80vw !important; max-width: 320px !important; justify-content: center !important; }
  .nav .btn-appointment { width: 80vw !important; max-width: 320px !important; justify-content: center !important; }
  .nav .nav-dropdown { width: 80vw !important; max-width: 320px !important; flex-direction: column !important; }
  .nav .nav-dropdown-toggle { width: 100% !important; justify-content: center !important; padding: 14px !important; }
  .nav .nav-dropdown-menu {
    position: static !important; opacity: 1 !important; pointer-events: all !important;
    transform: none !important; box-shadow: none !important;
    background: rgba(123,108,246,0.06) !important;
    border: 1px solid rgba(123,108,246,0.12) !important;
    width: 100% !important; margin-top: 4px !important;
  }
  .nav .nav-dropdown-menu a { justify-content: center !important; }
}

/* Day mode nav */
body.day-mode .nav > a { color: rgba(15,13,46,0.65) !important; }
body.day-mode .nav > a:hover, body.day-mode .nav > a.active-link { color: #0F0D2E !important; background: rgba(107,95,224,0.07) !important; }
body.day-mode .nav .btn-appointment { color: #fff !important; }
body.day-mode .nav .nav-portal-btn { color: #6B5FE0 !important; background: rgba(107,95,224,0.08) !important; border-color: rgba(107,95,224,0.2) !important; }
body.day-mode .nav .nav-portal-btn:hover { background: rgba(107,95,224,0.16) !important; color: #4338ca !important; }
body.day-mode .nav .nav-dropdown-toggle { color: rgba(15,13,46,0.65) !important; }
body.day-mode .nav .nav-dropdown-toggle:hover { color: #0F0D2E !important; background: rgba(107,95,224,0.07) !important; }
body.day-mode .nav .nav-dropdown-menu { background: rgba(255,255,255,0.99) !important; border-color: rgba(107,95,224,0.15) !important; box-shadow: 0 16px 48px rgba(107,95,224,0.15) !important; }
body.day-mode .nav .nav-dropdown-menu a { color: rgba(15,13,46,0.7) !important; }
body.day-mode .nav .nav-dropdown-menu a:hover { background: rgba(107,95,224,0.08) !important; color: #0F0D2E !important; }
@media (max-width: 768px) {
  body.day-mode .nav { background: rgba(240,242,255,0.99) !important; }
  body.day-mode .nav > a { color: rgba(15,13,46,0.75) !important; }
  body.day-mode .nav .nav-dropdown-menu { background: rgba(107,95,224,0.05) !important; }
}

/* ================================================================
   CARD VISIBILITY — DEFINITIVE FIX
   Cards are ALWAYS opacity:1. Only transform animates.
   ================================================================ */
@keyframes cardSlideInSafe {
  from { transform: translateY(20px); }
  to   { transform: translateY(0); }
}

.card-anim,
.card-anim:nth-child(1),
.card-anim:nth-child(2),
.card-anim:nth-child(3),
.card-anim:nth-child(4),
.card-anim:nth-child(5),
.card-anim:nth-child(6) {
  opacity: 1 !important;
  animation: cardSlideInSafe 0.45s ease both !important;
}
.card-anim:nth-child(1) { animation-delay: 0.04s !important; }
.card-anim:nth-child(2) { animation-delay: 0.10s !important; }
.card-anim:nth-child(3) { animation-delay: 0.16s !important; }
.card-anim:nth-child(4) { animation-delay: 0.22s !important; }
.card-anim:nth-child(5) { animation-delay: 0.28s !important; }
.card-anim:nth-child(6) { animation-delay: 0.34s !important; }

/* ALL dynamic cards — always visible */
.service-card,
.portfolio-card,
.blog-card,
.team-card,
.testi-card {
  opacity: 1 !important;
  transform: none;
}

/* fade-up — also always visible, just animate transform */
.fade-up {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
.fade-up.visible {
  opacity: 1 !important;
  transform: none !important;
}

/* slide-in — visible always */
.slide-in-left  { opacity: 1 !important; }
.slide-in-right { opacity: 1 !important; }
.scale-in       { opacity: 1 !important; }


/* ================================================================
   FINAL VISIBILITY OVERRIDE — PREVENTS ALL INVISIBLE CARDS
   No opacity:0 anywhere on rendered content
   ================================================================ */
.service-card, .portfolio-card, .blog-card, .team-card,
.testi-card, .why-card, .ov-project-card, .stat-item,
.fade-up, .card-anim, .slide-in-left, .slide-in-right, .scale-in,
.project-card, .portfolio-card, .blog-card, .team-card {
  opacity: 1 !important;
}
@keyframes cardSlideIn {
  from { transform: translateY(18px); opacity: 1; }
  to   { transform: translateY(0);    opacity: 1; }
}
@keyframes cardSlideInSafe {
  from { transform: translateY(18px); }
  to   { transform: translateY(0); }
}

/* ================================================================
   AUDIT SECTION — CLEAN REDESIGN
   ================================================================ */
.audit-section {
  padding: 80px 0;
  background: var(--bg-dark, #04060F);
  position: relative;
  overflow: hidden;
}
.audit-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 50%, rgba(123,108,246,0.08) 0%, transparent 60%),
              radial-gradient(ellipse at 70% 50%, rgba(56,189,248,0.06) 0%, transparent 60%);
  pointer-events: none;
}
.audit-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 1;
}
/* Left column */
.audit-left { }
.audit-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(123,108,246,0.1);
  border: 1px solid rgba(123,108,246,0.25);
  border-radius: 30px; padding: 6px 16px;
  font-size: 0.75rem; font-weight: 700;
  color: var(--primary, #7B6CF6);
  text-transform: uppercase; letter-spacing: 0.8px;
  margin-bottom: 20px;
}
.audit-heading {
  font-family: 'Space Grotesk', sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: var(--text-primary, #F0EEFF);
  line-height: 1.15;
  margin-bottom: 18px;
}
.audit-heading-gradient {
  background: linear-gradient(135deg, #7B6CF6, #A855F7, #38BDF8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.audit-subtext {
  font-size: 0.95rem;
  color: var(--text-secondary, rgba(240,238,255,0.6));
  line-height: 1.75;
  margin-bottom: 28px;
  max-width: 440px;
}
.audit-checks {
  display: flex; gap: 20px; flex-wrap: wrap;
}
.audit-checks span {
  display: flex; align-items: center; gap: 7px;
  font-size: 0.83rem; font-weight: 600;
  color: var(--text-secondary, rgba(240,238,255,0.6));
}
.audit-checks i { color: #28C878; font-size: 0.85rem; }

/* Right card */
.audit-right { }
.audit-card {
  background: rgba(123,108,246,0.06);
  border: 1px solid rgba(123,108,246,0.18);
  border-radius: 24px;
  padding: 36px 32px;
  backdrop-filter: blur(12px);
  position: relative;
  overflow: hidden;
}
.audit-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, #7B6CF6, #A855F7, #38BDF8);
  border-radius: 24px 24px 0 0;
}
.audit-card-icon {
  width: 56px; height: 56px;
  background: linear-gradient(135deg, rgba(123,108,246,0.2), rgba(56,189,248,0.12));
  border: 1px solid rgba(123,108,246,0.3);
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem; color: var(--primary, #7B6CF6);
  margin-bottom: 16px;
}
.audit-card-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.2rem; font-weight: 800;
  color: var(--text-primary, #F0EEFF);
  margin-bottom: 4px;
}
.audit-card-sub {
  font-size: 0.83rem;
  color: var(--text-secondary, rgba(240,238,255,0.5));
  margin-bottom: 22px;
}

/* Audit form inside card */
.audit-field {
  position: relative;
  display: flex; align-items: center;
  margin-bottom: 14px;
}
.audit-field > i {
  position: absolute; left: 14px;
  color: var(--text-muted, rgba(240,238,255,0.3));
  font-size: 0.88rem; pointer-events: none;
}
.audit-field input {
  width: 100%;
  padding: 13px 14px 13px 40px;
  background: rgba(240,238,255,0.04);
  border: 1.5px solid rgba(123,108,246,0.2);
  border-radius: 12px;
  color: var(--text-primary, #F0EEFF);
  font-size: 0.92rem; font-family: inherit;
  outline: none;
  transition: border-color 0.25s ease, background 0.25s ease;
}
.audit-field input:focus {
  border-color: var(--primary, #7B6CF6);
  background: rgba(123,108,246,0.07);
}
.audit-field input::placeholder { color: var(--text-muted, rgba(240,238,255,0.3)); }

.audit-submit-btn {
  width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px;
  background: linear-gradient(135deg, #7B6CF6, #A855F7, #38BDF8);
  color: #fff; border: none; border-radius: 12px;
  font-size: 0.95rem; font-weight: 700; font-family: inherit;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(123,108,246,0.4);
  transition: all 0.3s ease;
  margin-bottom: 22px;
}
.audit-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(123,108,246,0.55);
}
.audit-stats {
  display: flex; align-items: center; justify-content: center; gap: 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(123,108,246,0.1);
}
.audit-stat { text-align: center; flex: 1; }
.audit-stat-num {
  display: block;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.2rem; font-weight: 800;
  background: linear-gradient(135deg, #7B6CF6, #38BDF8);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.audit-stat-lbl { font-size: 0.7rem; color: var(--text-muted, rgba(240,238,255,0.4)); }
.audit-stat-div { width: 1px; height: 32px; background: rgba(123,108,246,0.15); }

/* Day mode audit */
body.day-mode .audit-section { background: #F0F2FF; }
body.day-mode .audit-heading  { color: #0F0D2E; }
body.day-mode .audit-subtext  { color: rgba(15,13,46,0.6); }
body.day-mode .audit-checks span { color: rgba(15,13,46,0.6); }
body.day-mode .audit-card {
  background: rgba(255,255,255,0.9);
  border-color: rgba(107,95,224,0.15);
  box-shadow: 0 8px 40px rgba(107,95,224,0.1);
}
body.day-mode .audit-card-title { color: #0F0D2E; }
body.day-mode .audit-field input { background: rgba(107,95,224,0.04); border-color: rgba(107,95,224,0.2); color: #0F0D2E; }
body.day-mode .audit-field input::placeholder { color: rgba(15,13,46,0.3); }
body.day-mode .audit-field input:focus { border-color: #6B5FE0; background: rgba(107,95,224,0.06); }
body.day-mode .audit-field > i { color: rgba(15,13,46,0.3); }
body.day-mode .audit-stats { border-top-color: rgba(107,95,224,0.1); }
body.day-mode .audit-stat-div { background: rgba(107,95,224,0.12); }

/* Responsive audit */
@media (max-width: 900px) {
  .audit-wrap { grid-template-columns: 1fr; gap: 40px; }
  .audit-left { text-align: center; }
  .audit-subtext { margin-left: auto; margin-right: auto; }
  .audit-checks { justify-content: center; }
}
@media (max-width: 480px) {
  .audit-card { padding: 24px 18px; }
}

/* ================================================================
   AUDIT POPUP — CLEAN REDESIGN
   ================================================================ */
.audit-popup-backdrop {
  position: fixed; inset: 0;
  background: rgba(4,6,20,0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  animation: auditFadeIn 0.3s ease;
}
@keyframes auditFadeIn { from{opacity:0} to{opacity:1} }

.audit-popup-box {
  background: #0d0820;
  border: 1px solid rgba(123,108,246,0.25);
  border-radius: 24px;
  padding: 36px 32px;
  max-width: 460px; width: 100%;
  position: relative;
  box-shadow: 0 32px 80px rgba(0,0,0,0.6), inset 0 1px 0 rgba(123,108,246,0.15);
  animation: auditPopIn 0.4s cubic-bezier(0.34,1.3,0.64,1) both;
}
@keyframes auditPopIn {
  from { opacity: 0; transform: translateY(40px) scale(0.93); }
  to   { opacity: 1; transform: none; }
}

.audit-popup-close {
  position: absolute; top: 14px; right: 14px;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(244,114,182,0.1);
  border: 1px solid rgba(244,114,182,0.2);
  color: rgba(240,238,255,0.7); font-size: 0.82rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.audit-popup-close:hover {
  background: rgba(244,114,182,0.2);
  border-color: rgba(244,114,182,0.4);
  color: #F472B6;
  transform: rotate(90deg) scale(1.1);
}

.audit-popup-top {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 20px;
}
.audit-popup-icon {
  width: 52px; height: 52px; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(123,108,246,0.2), rgba(56,189,248,0.12));
  border: 1px solid rgba(123,108,246,0.3);
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.3rem; color: var(--primary, #7B6CF6);
}
.audit-popup-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.3rem; font-weight: 800;
  color: #fff; margin-bottom: 4px;
}
.audit-popup-url {
  font-size: 0.8rem; color: rgba(240,238,255,0.5);
}
.audit-popup-url strong {
  color: var(--primary, #7B6CF6); font-size: 0.78rem;
  max-width: 220px; display: inline-block;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  vertical-align: bottom;
}
.audit-popup-sub {
  font-size: 0.87rem; color: rgba(240,238,255,0.55);
  margin-bottom: 20px; line-height: 1.6;
}
/* Popup form fields */
.audit-popup-field {
  position: relative; display: flex; align-items: center;
  margin-bottom: 12px;
}
.audit-popup-field > i {
  position: absolute; left: 13px;
  color: rgba(240,238,255,0.3); font-size: 0.83rem; pointer-events: none;
}
.audit-popup-field input {
  width: 100%; padding: 12px 12px 12px 38px;
  background: rgba(240,238,255,0.05);
  border: 1.5px solid rgba(123,108,246,0.2);
  border-radius: 11px;
  color: #fff; font-size: 0.88rem; font-family: inherit;
  outline: none; transition: border-color 0.25s ease, background 0.25s ease;
}
.audit-popup-field input:focus {
  border-color: var(--primary, #7B6CF6);
  background: rgba(123,108,246,0.08);
}
.audit-popup-field input::placeholder { color: rgba(240,238,255,0.25); }
.audit-popup-submit {
  width: 100%;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 13px;
  background: linear-gradient(135deg, #7B6CF6, #A855F7, #38BDF8);
  color: #fff; border: none; border-radius: 11px;
  font-size: 0.92rem; font-weight: 700; font-family: inherit;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(123,108,246,0.4);
  transition: all 0.25s ease; margin-bottom: 14px;
}
.audit-popup-submit:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(123,108,246,0.55); }
.audit-popup-submit:disabled { opacity: 0.6; cursor: wait; transform: none; }
.audit-popup-privacy {
  font-size: 0.72rem; color: rgba(240,238,255,0.3);
  text-align: center; display: flex; align-items: center; justify-content: center; gap: 5px;
}
.audit-popup-privacy i { color: #28C878; }

/* Day mode popup */
body.day-mode .audit-popup-backdrop { background: rgba(15,13,46,0.7); }
body.day-mode .audit-popup-box { background: #fff; border-color: rgba(107,95,224,0.2); box-shadow: 0 32px 80px rgba(107,95,224,0.2); }
body.day-mode .audit-popup-title { color: #0F0D2E; }
body.day-mode .audit-popup-url { color: rgba(15,13,46,0.5); }
body.day-mode .audit-popup-sub { color: rgba(15,13,46,0.6); }
body.day-mode .audit-popup-field input { background: rgba(107,95,224,0.04); border-color: rgba(107,95,224,0.2); color: #0F0D2E; }
body.day-mode .audit-popup-field input::placeholder { color: rgba(15,13,46,0.3); }
body.day-mode .audit-popup-field > i { color: rgba(15,13,46,0.3); }
body.day-mode .audit-popup-privacy { color: rgba(15,13,46,0.35); }
@media (max-width:480px) { .audit-popup-box { padding: 24px 18px; } }




/* The horizontal connecting line — ONLY ONE, positioned correctly */
/* 4-column grid for steps */
/* Each step */
/* Dot */


/* Step number badge */
/* Step text */
/* Connector arrows between dots */
/* Day mode */
/* Mobile */
@media (max-width: 767px) {
}
@media (max-width: 479px) {
}

/* ================================================================
   COMPANY TIMELINE — YEAR POSITIONING FIX
   ================================================================ */
.company-timeline {
  position: relative;
  padding-left: 100px;  /* enough space for year + dot */
}
.company-timeline::before {
  content: '';
  position: absolute;
  left: 46px;           /* align with center of dot */
  top: 8px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--primary,#7B6CF6) 0%, rgba(123,108,246,0.1) 100%);
}
.ctl-item {
  position: relative;
  padding-bottom: 44px;
  opacity: 1;
  transform: none;
}
.ctl-dot {
  position: absolute;
  left: -58px;          /* sits on the vertical line */
  top: 4px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--primary, #7B6CF6);
  border: 3px solid var(--bg-dark, #04060F);
  box-shadow: 0 0 0 4px rgba(123,108,246,0.2), 0 0 16px rgba(123,108,246,0.35);
  z-index: 2;
}
.ctl-year {
  position: absolute;
  left: -100px;         /* LEFT of the dot, with enough space */
  top: 0;
  width: 42px;
  text-align: right;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--primary, #7B6CF6);
  line-height: 1.4;
  white-space: nowrap;
}
.ctl-content {
  background: rgba(123,108,246,0.05);
  border: 1px solid rgba(123,108,246,0.12);
  border-radius: 16px;
  padding: 20px 22px;
  transition: all 0.3s ease;
}
.ctl-content:hover {
  border-color: rgba(123,108,246,0.3);
  box-shadow: 0 8px 32px rgba(123,108,246,0.12);
  transform: translateX(4px);
}
.ctl-title {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.05rem; font-weight: 700;
  color: var(--text-primary, #F0EEFF);
  margin-bottom: 6px;
}
.ctl-desc {
  font-size: 0.84rem;
  color: var(--text-secondary, rgba(240,238,255,0.6));
  line-height: 1.65;
  margin-bottom: 12px;
}
.ctl-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(123,108,246,0.1);
  border: 1px solid rgba(123,108,246,0.2);
  border-radius: 20px; padding: 4px 12px;
  font-size: 0.74rem;
  color: var(--primary, #7B6CF6);
}

/* Day mode timeline */
body.day-mode .company-timeline::before { background: linear-gradient(180deg,#6B5FE0,rgba(107,95,224,0.1)); }
body.day-mode .ctl-dot { border-color: #F0F2FF; }
body.day-mode .ctl-content { background: #fff; border-color: rgba(107,95,224,0.1); }
body.day-mode .ctl-content:hover { box-shadow: 0 8px 32px rgba(107,95,224,0.1); }
body.day-mode .ctl-title { color: #0F0D2E; }
body.day-mode .ctl-desc  { color: rgba(15,13,46,0.6); }

/* Mobile timeline */
@media (max-width: 767px) {
  .company-timeline { padding-left: 72px; }
  .company-timeline::before { left: 28px; }
  .ctl-dot  { left: -38px; width: 16px; height: 16px; }
  .ctl-year { left: -72px; width: 32px; font-size: 0.68rem; }
}




/* THE line — a single element, spans between dot centers */

/* 4-column grid */

/* Each step */

/* Remove ANY pseudo-element lines — absolutely none */

/* Dot */


/* Step number */

/* Text */

/* Day mode */

/* Mobile */
@media (max-width: 767px) {
}
@media (max-width: 479px) {
}

/* ================================================================
   HOW WE WORK — SINGLE DEFINITIVE BLOCK
   ================================================================ */
.hww-timeline { position:relative; padding:24px 0 48px; }

.hww-line {
  position:absolute;
  left:calc(12.5% + 36px);
  right:calc(12.5% + 36px);
  top:60px;
  height:2px;
  background:rgba(123,108,246,0.12);
  z-index:0;
  overflow:hidden;
}
.hww-line-fill {
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#7B6CF6,#A855F7,#38BDF8);
  border-radius:2px;
  transition:width 1.8s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 0 10px rgba(123,108,246,0.5);
}
.hww-line-fill.animated { width:100%; }

.hww-steps {
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:0 !important;
  position:relative;
  z-index:2;
}

.hww-step-item {
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center;
  padding:0 16px;
  transition:transform 0.3s ease;
}
.hww-step-item:hover { transform:translateY(-6px); }

/* Kill ALL pseudo-elements on hww items */
.hww-step-item::before,.hww-step-item::after,
.hww-step-item:not(:last-child)::before,.hww-step-item:not(:last-child)::after,
.hww-step-dot::before,.hww-step-dot::after,
.hww-step-item:not(:last-child) .hww-step-dot::before,
.hww-step-item:not(:last-child) .hww-step-dot::after {
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  background:none !important;
  border:none !important;
}

.hww-step-dot {
  width:72px !important;
  height:72px !important;
  border-radius:50%;
  background:rgba(4,6,15,0.9);
  border:2px solid rgba(123,108,246,0.3);
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  color:#7B6CF6;
  position:relative;
  z-index:3;
  margin-bottom:20px;
  flex-shrink:0;
  transition:all 0.4s cubic-bezier(0.34,1.2,0.64,1);
  box-shadow:0 0 0 6px rgba(123,108,246,0.05);
}
.hww-step-item:hover .hww-step-dot {
  background:rgba(123,108,246,0.12);
  border-color:#7B6CF6;
  box-shadow:0 0 0 10px rgba(123,108,246,0.08),0 0 32px rgba(123,108,246,0.4);
  transform:scale(1.1);
  color:#fff;
}
.hww-step-item.in-view .hww-step-dot {
  border-color:#7B6CF6;
  box-shadow:0 0 0 8px rgba(123,108,246,0.07),0 0 24px rgba(123,108,246,0.3);
  animation:hwwDotGlow 2.5s ease-in-out infinite;
}
@keyframes hwwDotGlow {
  0%,100% { box-shadow:0 0 0 8px rgba(123,108,246,0.06),0 0 20px rgba(123,108,246,0.25); }
  50%      { box-shadow:0 0 0 14px rgba(123,108,246,0.1),0 0 36px rgba(123,108,246,0.5); }
}

.hww-step-dot .hww-num {
  position:absolute;
  top:-10px; right:-6px;
  width:24px; height:24px;
  border-radius:50%;
  background:linear-gradient(135deg,#7B6CF6,#38BDF8);
  color:#fff;
  font-size:0.65rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  font-family:'Space Grotesk',sans-serif;
  box-shadow:0 2px 8px rgba(123,108,246,0.5);
  transition:transform 0.3s ease;
  z-index:4;
}
.hww-step-item:hover .hww-step-dot .hww-num { transform:scale(1.2) rotate(-10deg); }

.hww-step-body { width:100%; }
.hww-step-body .hww-title {
  font-family:'Space Grotesk',sans-serif;
  font-size:1rem; font-weight:700;
  color:#7B6CF6;
  margin-bottom:8px;
  transition:color 0.25s ease;
}
.hww-step-item:hover .hww-step-body .hww-title { color:#A78BFA; }
.hww-step-body .hww-desc {
  font-size:0.83rem;
  color:rgba(240,238,255,0.55);
  line-height:1.65;
  transition:color 0.25s ease;
}
.hww-step-item:hover .hww-step-body .hww-desc { color:rgba(240,238,255,0.8); }

/* Day mode */
body.day-mode .hww-step-dot { background:#F3F0FF; border-color:rgba(107,95,224,0.25); }
body.day-mode .hww-step-item:hover .hww-step-dot { background:rgba(107,95,224,0.1); border-color:#6B5FE0; }
body.day-mode .hww-line { background:rgba(107,95,224,0.1); }
body.day-mode .hww-step-body .hww-title { color:#6B5FE0; }
body.day-mode .hww-step-body .hww-desc { color:rgba(15,13,46,0.6); }

/* Responsive */
@media (max-width:900px) {
  .hww-steps { grid-template-columns:repeat(2,1fr) !important; gap:32px !important; }
  .hww-line { display:none; }
}
@media (max-width:479px) {
  .hww-steps { grid-template-columns:1fr !important; }
}

/* ================================================================
   NAV DROPDOWN — FIXED WITH HOVER DELAY
   ================================================================ */
.nav > .nav-dropdown { position:relative; display:inline-flex; align-items:center; }
.nav > .nav-dropdown-toggle,
.nav .nav-dropdown > .nav-dropdown-toggle {
  display:inline-flex !important; align-items:center; gap:5px;
  padding:7px 10px !important; font-size:0.85rem; font-weight:500;
  color:rgba(240,238,255,0.75) !important; white-space:nowrap;
  cursor:pointer; border-radius:8px;
  transition:color 0.2s ease,background 0.2s ease;
  text-decoration:none;
}
.nav .nav-dropdown:hover > .nav-dropdown-toggle,
.nav .nav-dropdown-toggle:hover { color:#fff !important; background:rgba(123,108,246,0.08) !important; }
.nav-dd-icon { font-size:0.65rem; transition:transform 0.25s ease; }
.nav .nav-dropdown:hover .nav-dd-icon { transform:rotate(180deg); }

.nav .nav-dropdown-menu {
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  background:rgba(10,8,30,0.98);
  border:1px solid rgba(123,108,246,0.2);
  border-radius:14px;
  padding:8px;
  min-width:180px;
  z-index:9999;
  /* Hidden by default */
  opacity:0;
  pointer-events:none;
  visibility:hidden;
  /* Delayed hide - stays visible 0.3s after hover leaves */
  transition:opacity 0.15s ease 0s, visibility 0s linear 0.15s, transform 0.2s ease;
  transform:translateX(-50%) translateY(8px);
  box-shadow:0 16px 48px rgba(0,0,0,0.5);
}
/* Invisible bridge between toggle and menu to prevent gap-closing */
.nav .nav-dropdown-menu::before {
  content:'';
  position:absolute;
  top:-12px;
  left:0; right:0;
  height:12px;
  background:transparent;
}
/* Show on hover with NO delay for showing, 0.4s delay for hiding */
.nav .nav-dropdown:hover .nav-dropdown-menu,
.nav .nav-dropdown-menu:hover {
  opacity:1 !important;
  pointer-events:all !important;
  visibility:visible !important;
  transform:translateX(-50%) translateY(0) !important;
  transition:opacity 0.15s ease 0s, visibility 0s linear 0s, transform 0.2s ease !important;
}
.nav .nav-dropdown-menu a {
  display:flex !important; align-items:center; gap:9px;
  padding:10px 14px; border-radius:9px;
  color:rgba(240,238,255,0.75) !important;
  font-size:0.85rem; font-weight:500;
  text-decoration:none; width:100%;
  transition:all 0.18s ease;
  white-space:nowrap;
}
.nav .nav-dropdown-menu a:hover { background:rgba(123,108,246,0.12) !important; color:#fff !important; }
.nav .nav-dropdown-menu a i { color:#7B6CF6; font-size:0.82rem; width:16px; }

/* Day mode dropdown */
body.day-mode .nav .nav-dropdown-menu { background:rgba(255,255,255,0.99); border-color:rgba(107,95,224,0.15); box-shadow:0 16px 48px rgba(107,95,224,0.15); }
body.day-mode .nav .nav-dropdown-menu a { color:rgba(15,13,46,0.7) !important; }
body.day-mode .nav .nav-dropdown-menu a:hover { background:rgba(107,95,224,0.08) !important; color:#0F0D2E !important; }
body.day-mode .nav .nav-dropdown > .nav-dropdown-toggle { color:rgba(15,13,46,0.7) !important; }
body.day-mode .nav .nav-dropdown:hover > .nav-dropdown-toggle { color:#0F0D2E !important; background:rgba(107,95,224,0.07) !important; }

/* Mobile dropdown */
@media (max-width:768px) {
  .nav .nav-dropdown { flex-direction:column; width:80vw; max-width:320px; }
  .nav .nav-dropdown > .nav-dropdown-toggle { width:100% !important; justify-content:center; padding:14px !important; font-size:1rem !important; }
  .nav .nav-dropdown-menu {
    position:static !important; opacity:1 !important; visibility:visible !important;
    pointer-events:all !important; transform:none !important;
    box-shadow:none !important; width:100%;
    background:rgba(123,108,246,0.06) !important;
    border:1px solid rgba(123,108,246,0.12) !important;
    margin-top:4px !important; border-radius:12px !important;
  }
  .nav .nav-dropdown-menu::before { display:none; }
  .nav .nav-dropdown-menu a { justify-content:center; }
}

/* ================================================================
   MOBILE NAV — CLEAN FULL-SCREEN OVERLAY (SINGLE SOURCE)
   ================================================================ */
@media (max-width: 768px) {
  /* Full-screen overlay nav */
  .nav {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(4,6,15,0.97) !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    z-index: 9999 !important;
    padding: 72px 24px 32px !important;
    overflow-y: auto !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
  }
  .nav.mobile-open { display: flex !important; }

  /* Close button inside nav */
  .mobile-nav-close {
    display: flex !important;
    position: absolute !important;
    top: 16px !important; right: 16px !important;
    width: 40px !important; height: 40px !important;
    border-radius: 50% !important;
    background: rgba(123,108,246,0.12) !important;
    border: 1px solid rgba(123,108,246,0.25) !important;
    color: rgba(240,238,255,0.8) !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
    cursor: pointer !important;
  }

  /* Nav links */
  .nav > a {
    width: 82vw !important;
    max-width: 340px !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 13px 20px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    color: rgba(240,238,255,0.8) !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    transition: all 0.2s ease !important;
  }
  .nav > a:hover, .nav > a.active-link {
    background: rgba(123,108,246,0.1) !important;
    border-color: rgba(123,108,246,0.2) !important;
    color: #fff !important;
  }
  .nav .btn-appointment {
    background: linear-gradient(135deg,#7B6CF6,#A855F7) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 16px rgba(123,108,246,0.4) !important;
    margin-top: 4px !important;
  }
  .nav .btn-appointment:hover {
    background: linear-gradient(135deg,#7B6CF6,#A855F7) !important;
    box-shadow: 0 8px 24px rgba(123,108,246,0.55) !important;
    transform: translateY(-1px) !important;
  }
  .nav .nav-portal-btn {
    background: rgba(123,108,246,0.08) !important;
    border: 1px solid rgba(123,108,246,0.2) !important;
    color: #A78BFA !important;
    width: 82vw !important;
    max-width: 340px !important;
    justify-content: center !important;
    padding: 12px 20px !important;
    border-radius: 12px !important;
  }

  /* Tools dropdown in mobile nav */
  .nav .nav-dropdown {
    flex-direction: column !important;
    width: 82vw !important;
    max-width: 340px !important;
    align-items: stretch !important;
  }
  .nav .nav-dropdown > .nav-dropdown-toggle {
    width: 100% !important;
    justify-content: center !important;
    padding: 13px 20px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    color: rgba(240,238,255,0.8) !important;
  }
  .nav .nav-dropdown > .nav-dropdown-toggle:hover {
    background: rgba(123,108,246,0.1) !important;
    border-color: rgba(123,108,246,0.2) !important;
    color: #fff !important;
  }
  .nav .nav-dropdown-menu {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: all !important;
    transform: none !important;
    box-shadow: none !important;
    background: rgba(123,108,246,0.06) !important;
    border: 1px solid rgba(123,108,246,0.15) !important;
    border-radius: 12px !important;
    width: 100% !important;
    margin-top: 4px !important;
    padding: 6px !important;
    transition: none !important;
  }
  .nav .nav-dropdown-menu::before { display: none !important; }
  .nav .nav-dropdown-menu a {
    justify-content: center !important;
    font-size: 0.88rem !important;
    padding: 10px 14px !important;
    color: rgba(240,238,255,0.75) !important;
  }

  /* Day mode mobile nav */
  body.day-mode .nav { background: rgba(248,248,255,0.98) !important; }
  body.day-mode .nav > a { color: rgba(15,13,46,0.75) !important; }
  body.day-mode .nav > a:hover { background: rgba(107,95,224,0.08) !important; color: #0F0D2E !important; }
  body.day-mode .nav .nav-portal-btn { color: #6B5FE0 !important; }
  body.day-mode .nav .nav-dropdown-menu { background: rgba(107,95,224,0.05) !important; border-color: rgba(107,95,224,0.15) !important; }
  body.day-mode .nav .nav-dropdown-menu a { color: rgba(15,13,46,0.7) !important; }
  body.day-mode .mobile-nav-close { background: rgba(107,95,224,0.08) !important; border-color: rgba(107,95,224,0.2) !important; color: rgba(15,13,46,0.7) !important; }
}

/* ================================================================
   FOOTER MOBILE — CLEAN LAYOUT
   ================================================================ */
@media (max-width: 767px) {
  /* CTA Banner */
  .footer-cta-inner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 20px !important;
  }
  .footer-cta-actions {
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .footer-cta-btn { width: 100% !important; justify-content: center !important; max-width: 280px !important; }

  /* Footer grid: brand full width, then 2 col */
  .footer-grid-new {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 20px !important;
  }
  .footer-brand-col {
    grid-column: 1 / -1 !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .footer-logo-link { justify-content: center !important; }
  .footer-mini-stats { justify-content: center !important; }
  .footer-social-row { justify-content: center !important; }

  /* Contact col spans full width */
  .footer-contact-col {
    grid-column: 1 / -1 !important;
  }
  .footer-contact-items {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  /* Footer columns */
  .footer-col-new { }
  .footer-col-title { font-size: 0.82rem !important; margin-bottom: 12px !important; }
  .footer-links { gap: 8px !important; }
  .footer-links li a { font-size: 0.8rem !important; }

  /* Footer bottom */
  .footer-bottom-inner {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }
  .footer-bottom-left, .footer-bottom-center, .footer-bottom-right { font-size: 0.78rem !important; }
  .footer-bottom-right { display: flex !important; justify-content: center !important; gap: 8px !important; }
}

@media (max-width: 479px) {
  /* Single column footer */
  .footer-grid-new {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .footer-contact-items {
    grid-template-columns: 1fr !important;
  }
  .footer-cta-title { font-size: 1.4rem !important; }
  .footer-cta-btn { max-width: 100% !important; }

  /* Footer col titles centered on mobile */
  .footer-col-new { text-align: center !important; }
  .footer-col-title { justify-content: center !important; }
  .footer-links li a { justify-content: center !important; }

  /* Mini stats spacing */
  .footer-mini-stats { gap: 20px !important; }
}

/* ================================================================
   ANIMATION SYSTEM — HOVER EFFECTS + ENTRANCE + PARALLAX + LOADER
   ================================================================ */

/* Preloader CSS is in the original section above */

/* ── 2. ENTRANCE REVEAL ANIMATIONS ── */

/* Section headers */
.section-header { overflow: visible; }
.section-header.anim .section-eyebrow {
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.55s ease 0.1s, transform 0.55s cubic-bezier(0.34,1.2,0.64,1) 0.1s;
}
.section-header.anim .section-title {
  opacity: 0; transform: translateY(20px);
  transition: opacity 0.6s ease 0.22s, transform 0.6s cubic-bezier(0.34,1.2,0.64,1) 0.22s;
}
.section-header.anim .section-desc {
  opacity: 0; transform: translateY(16px);
  transition: opacity 0.55s ease 0.35s, transform 0.55s ease 0.35s;
}
.section-header.anim.visible .section-eyebrow,
.section-header.anim.visible .section-title,
.section-header.anim.visible .section-desc {
  opacity: 1; transform: none;
}

/* Stagger child cards */
.stagger-children > * {
  opacity: 0; transform: translateY(24px);
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.34,1.2,0.64,1);
}
.stagger-children.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0.06s; }
.stagger-children.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:0.13s; }
.stagger-children.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:0.20s; }
.stagger-children.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:0.27s; }
.stagger-children.visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:0.34s; }
.stagger-children.visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:0.41s; }
.stagger-children.visible > *:nth-child(7) { opacity:1; transform:none; transition-delay:0.48s; }
.stagger-children.visible > *:nth-child(8) { opacity:1; transform:none; transition-delay:0.55s; }

/* Reveal from left */
.reveal-left {
  opacity: 0; transform: translateX(-40px);
  transition: opacity 0.65s ease, transform 0.65s cubic-bezier(0.34,1.1,0.64,1);
}
.reveal-left.visible { opacity: 1; transform: none; }

/* Reveal from right */
.reveal-right {
  opacity: 0; transform: translateX(40px);
  transition: opacity 0.65s ease, transform 0.65s cubic-bezier(0.34,1.1,0.64,1);
}
.reveal-right.visible { opacity: 1; transform: none; }

/* Reveal scale */
.reveal-scale {
  opacity: 0; transform: scale(0.9);
  transition: opacity 0.55s ease, transform 0.55s cubic-bezier(0.34,1.3,0.64,1);
}
.reveal-scale.visible { opacity: 1; transform: scale(1); }

/* Counter numbers pop */
@keyframes numPop {
  0%   { transform: scale(0.6); opacity: 0; }
  70%  { transform: scale(1.1); }
  100% { transform: scale(1);   opacity: 1; }
}
.stat-value.animated { animation: numPop 0.5s cubic-bezier(0.34,1.3,0.64,1) both; }

/* ── 3. HOVER EFFECTS & ANIMATIONS ── */

/* Service cards */
.service-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease,
              border-color 0.3s ease !important;
}
.service-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 48px rgba(123,108,246,0.2) !important;
  border-color: rgba(123,108,246,0.4) !important;
}
.service-card:hover .service-icon {
  transform: scale(1.15) rotate(-5deg);
  box-shadow: 0 8px 24px rgba(123,108,246,0.35);
}
.service-icon {
  transition: transform 0.4s cubic-bezier(0.34,1.3,0.64,1), box-shadow 0.3s ease !important;
}

/* Portfolio cards */
.portfolio-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease,
              border-color 0.3s ease !important;
}
.portfolio-card:hover {
  transform: translateY(-10px) scale(1.01) !important;
  box-shadow: 0 24px 56px rgba(123,108,246,0.2) !important;
  border-color: rgba(123,108,246,0.4) !important;
}
.portfolio-card:hover .portfolio-img img {
  transform: scale(1.08) !important;
}
.portfolio-img img {
  transition: transform 0.6s cubic-bezier(0.4,0,0.2,1) !important;
}

/* Blog cards */
.blog-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease,
              border-color 0.3s ease !important;
}
.blog-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 48px rgba(123,108,246,0.18) !important;
  border-color: rgba(123,108,246,0.35) !important;
}

/* Team cards */
.team-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease !important;
}
.team-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 48px rgba(123,108,246,0.2) !important;
}

/* Why-choose cards */
.why-card, .value-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease,
              border-color 0.3s ease !important;
}
.why-card:hover, .value-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(123,108,246,0.18) !important;
  border-color: rgba(123,108,246,0.35) !important;
}

/* Stat cards */
.stat-item {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease !important;
}
.stat-item:hover {
  transform: translateY(-6px) scale(1.02) !important;
  box-shadow: 0 16px 40px rgba(123,108,246,0.2) !important;
}

/* Buttons */
.btn {
  transition: transform 0.25s cubic-bezier(0.34,1.2,0.64,1),
              box-shadow 0.25s ease,
              background 0.25s ease !important;
  position: relative; overflow: hidden;
}
.btn::after {
  content: '';
  position: absolute; inset: 0;
  background: rgba(255,255,255,0.12);
  opacity: 0;
  transition: opacity 0.2s ease;
}
.btn:hover::after { opacity: 1; }
.btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(123,108,246,0.45) !important;
}
.btn:active { transform: translateY(-1px) !important; }

/* Nav links hover underline */
.nav > a {
  position: relative;
}
.nav > a::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 50%; right: 50%;
  height: 2px;
  background: linear-gradient(90deg,#7B6CF6,#38BDF8);
  border-radius: 2px;
  transition: left 0.25s ease, right 0.25s ease;
}
.nav > a:hover::after,
.nav > a.active-link::after { left: 10%; right: 10%; }

/* Footer links */
.footer-links li a {
  transition: color 0.2s ease, transform 0.2s ease !important;
  display: inline-flex; align-items: center; gap: 6px;
}
.footer-links li a:hover {
  transform: translateX(4px) !important;
}
.footer-links li a::before {
  content: '→';
  opacity: 0;
  width: 0;
  overflow: hidden;
  transition: opacity 0.2s ease, width 0.2s ease;
  font-size: 0.75rem;
  color: var(--primary);
}
.footer-links li a:hover::before {
  opacity: 1;
  width: 12px;
}

/* Social icon hover */
.social-link, .footer-social-link {
  transition: transform 0.3s cubic-bezier(0.34,1.3,0.64,1),
              background 0.25s ease,
              box-shadow 0.25s ease !important;
}
.social-link:hover, .footer-social-link:hover {
  transform: translateY(-4px) scale(1.12) !important;
  box-shadow: 0 8px 20px rgba(123,108,246,0.4) !important;
}

/* Testimonial cards */
.testi-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease,
              border-color 0.3s ease !important;
}
.testi-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(123,108,246,0.18) !important;
  border-color: rgba(123,108,246,0.3) !important;
}

/* Logo pulse on hover */
.header-logo-link:hover .logo-icon,
.header-logo-link:hover .site-logo-img {
  animation: logoPulse 0.5s cubic-bezier(0.34,1.3,0.64,1);
}
@keyframes logoPulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.1) rotate(-5deg); }
  100% { transform: scale(1) rotate(0); }
}

/* Appointment button shimmer */
.btn-appointment {
  position: relative; overflow: hidden;
}
.btn-appointment::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  animation: btnShimmer 2.5s ease infinite;
}
@keyframes btnShimmer {
  0%   { left: -100%; }
  60%  { left: 150%; }
  100% { left: 150%; }
}

/* Audit card hover */
.audit-card {
  transition: transform 0.35s cubic-bezier(0.34,1.1,0.64,1),
              box-shadow 0.35s ease,
              border-color 0.3s ease !important;
}
.audit-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 20px 50px rgba(123,108,246,0.2) !important;
  border-color: rgba(123,108,246,0.35) !important;
}

/* Trusted logo hover */
.trusted-logo {
  transition: transform 0.3s cubic-bezier(0.34,1.3,0.64,1),
              opacity 0.3s ease !important;
}
.trusted-logo:hover {
  transform: scale(1.12) translateY(-3px) !important;
  opacity: 1 !important;
}

/* ── 4. PARALLAX ELEMENTS ── */
.parallax-slow { will-change: transform; }
.parallax-med  { will-change: transform; }
.parallax-fast { will-change: transform; }

/* Floating orbs / shapes in hero */
.hero-float-el {
  animation: heroFloat 6s ease-in-out infinite;
}
.hero-float-el:nth-child(2) { animation-delay: 2s; animation-duration: 8s; }
.hero-float-el:nth-child(3) { animation-delay: 4s; animation-duration: 7s; }
@keyframes heroFloat {
  0%,100% { transform: translateY(0) rotate(0deg); }
  33%      { transform: translateY(-14px) rotate(3deg); }
  66%      { transform: translateY(8px) rotate(-2deg); }
}

/* Section decorative blobs */
.blob-float {
  animation: blobFloat 8s ease-in-out infinite;
}
@keyframes blobFloat {
  0%,100% { transform: translate(0,0) scale(1); }
  33%      { transform: translate(10px,-12px) scale(1.04); }
  66%      { transform: translate(-8px,6px) scale(0.97); }
}

/* Page transition handled by .pt-scene system in main.js */

/* ── 6. SECTION REVEAL FADE-IN ── */
.section-reveal {
  opacity: 0; transform: translateY(30px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.34,1.1,0.64,1);
}
.section-reveal.visible { opacity: 1; transform: none; }

/* ── 7. GLOW ON HOVER ── */
.glow-hover {
  transition: box-shadow 0.3s ease !important;
}
.glow-hover:hover {
  box-shadow: 0 0 0 3px rgba(123,108,246,0.25), 0 8px 32px rgba(123,108,246,0.25) !important;
}

/* cursor handled by initCustomCursor CSS */
body.day-mode .btn-appointment::before { background: linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent); }

/* Footer accordion mobile */
.footer-acc-icon{margin-left:auto;font-size:.68rem;color:rgba(240,238,255,.35);transition:transform .3s ease;display:none}
.footer-col-title{display:flex;align-items:center;gap:8px}
@media(max-width:767px){
  .footer-acc-icon{display:block}
  .footer-acc-title{cursor:pointer;padding:12px 0;border-bottom:1px solid rgba(123,108,246,.1);user-select:none}
  .footer-col-new .footer-links,.footer-contact-col .footer-contact-items{max-height:0!important;opacity:0!important;overflow:hidden!important;transition:max-height .38s cubic-bezier(.4,0,.2,1),opacity .3s ease!important;padding-top:0}
  .footer-col-new.footer-acc-open .footer-links,.footer-contact-col.footer-acc-open .footer-contact-items{max-height:500px!important;opacity:1!important;padding-top:10px}
  .footer-col-new.footer-acc-open .footer-acc-icon,.footer-contact-col.footer-acc-open .footer-acc-icon{transform:rotate(180deg)}
  .footer-grid-new{grid-template-columns:1fr!important;gap:0!important}
  .footer-brand-col{text-align:center;padding-bottom:24px;border-bottom:1px solid rgba(123,108,246,.1);margin-bottom:8px}
  .footer-logo-link,.footer-mini-stats,.footer-social-row{justify-content:center}
  .footer-col-new,.footer-contact-col{border-bottom:1px solid rgba(123,108,246,.07)}
  .footer-bottom-inner{flex-direction:column!important;text-align:center!important;gap:6px!important}
  .footer-bottom-right{justify-content:center!important;display:flex!important;gap:12px!important}
  .footer-bottom-left,.footer-bottom-center,.footer-bottom-right{font-size:.75rem!important}
}

/* Tools dropdown inside the mobile full-screen nav: tap-to-open instead of
   hover, laid out in-flow (not floating) so it pushes content down like a
   normal accordion instead of overlaying it. */
.nav.mobile-open .nav-dropdown{display:block!important;width:100%}
.nav.mobile-open .nav-dropdown-toggle{width:100%!important;justify-content:space-between!important}
.nav.mobile-open .nav-dropdown.open .nav-dd-icon{transform:rotate(180deg)!important}
.nav.mobile-open .nav-dropdown-menu{
  position:static!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:all!important;
  box-shadow:none!important;
  border:none!important;
  border-radius:10px!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  max-height:0!important;
  overflow:hidden!important;
  transition:max-height .3s ease,padding .3s ease!important;
}
.nav.mobile-open .nav-dropdown.open .nav-dropdown-menu{
  max-height:260px!important;
  padding:6px 0 6px 12px!important;
}
