/* ── TOKENS ── */
:root{
  --primary:#1E4DB7;--primary-dark:#1640A0;--accent:#0EA5E9;--accent2:#38BDF8;
  --dark:#060B27;--dark-2:#0D1540;--dark-3:#111C4E;
  --surface:#F8F9FF;--surface-2:#EEF2FF;
  --text:#0F172A;--text-2:#475569;--text-3:#94A3B8;
  --white:#FFFFFF;--error:#EF4444;--success:#22C55E;
  --card-bg:rgba(255,255,255,0.05);--card-border:rgba(255,255,255,0.09);
  --nav-h:72px;
  --r-sm:8px;--r-md:14px;--r-lg:20px;--r-xl:28px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08);
  --shadow-md:0 4px 16px rgba(0,0,0,.14);
  --shadow-lg:0 12px 40px rgba(0,0,0,.22);
  --transition:200ms cubic-bezier(.4,0,.2,1);
}
/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Inter',sans-serif;background:var(--dark);color:var(--white);line-height:1.6;overflow-x:hidden;-webkit-overflow-scrolling:touch}
html,body{touch-action:pan-y}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,a{touch-action:manipulation;cursor:pointer}
ul{list-style:none}
h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.2}
/* ── SKIP LINK ── */
.skip-link{position:absolute;top:-100px;left:16px;background:var(--primary);color:#fff;padding:8px 16px;border-radius:var(--r-sm);font-weight:600;z-index:9999;transition:top .2s}
.skip-link:focus{top:16px}
/* ── NAVBAR ── */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;padding:0 clamp(16px,4vw,48px);background:rgba(6,11,39,.98);box-shadow:0 1px 0 rgba(255,255,255,.07);}
#navbar.scrolled{background:rgba(6,11,39,.98);}
.nav-inner{width:100%;max-width:1280px;margin:0 auto;display:flex;align-items:center;gap:32px}
.nav-logo{font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--white),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:4px;flex:1}
.nav-links a,.nav-dropdown-btn{font-size:.875rem;font-weight:500;color:rgba(255,255,255,.8);padding:8px 14px;border-radius:var(--r-sm);background:none;border:none;transition:color var(--transition),background var(--transition);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;gap:6px}
.nav-links a:hover,.nav-dropdown-btn:hover,.nav-links a.active{color:#fff;background:rgba(255,255,255,.08)}
.nav-dropdown{position:relative}
.nav-dropdown-btn svg{transition:transform var(--transition)}
.nav-dropdown:hover .nav-dropdown-btn svg,.nav-dropdown.open .nav-dropdown-btn svg{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;background:var(--dark-2);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:8px;min-width:260px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--transition),transform var(--transition),visibility var(--transition);box-shadow:var(--shadow-lg);z-index:100}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nav-dropdown-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);font-size:.85rem;color:rgba(255,255,255,.75);transition:background var(--transition),color var(--transition)}
.nav-dropdown-menu a:hover{background:rgba(255,255,255,.07);color:#fff}
.nav-dropdown-menu a svg{flex-shrink:0;color:var(--accent)}
.nav-cta{margin-left:auto;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:10px 22px;border-radius:50px;font-size:.875rem;font-weight:600;border:none;min-height:44px;transition:opacity var(--transition),transform var(--transition)}
.nav-cta:hover{opacity:.9;transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;min-height:44px;min-width:44px;align-items:center;justify-content:center;border-radius:var(--r-sm)}
.hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:transform var(--transition),opacity var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* mobile-menu drawer styles in MOBILE DRAWER section below */
/* ── PAGES ── */
.page{display:none;padding-top:var(--nav-h)}
.page.active{display:block}
/* ── SECTIONS ── */
.section{padding:clamp(60px,8vw,100px) clamp(16px,4vw,48px)}
.container{max-width:1200px;margin:0 auto}
.section-label{display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.section-title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;margin-bottom:16px}
.section-sub{font-size:clamp(1rem,1.5vw,1.125rem);color:rgba(255,255,255,.65);max-width:600px;line-height:1.7}
/* ── HERO ── */
.hero{min-height:100dvh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:var(--nav-h)}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 50%,#0a1a4a 100%);z-index:0}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.hero-orb-1{width:600px;height:600px;background:rgba(30,77,183,.35);top:-100px;right:-100px}
.hero-orb-2{width:400px;height:400px;background:rgba(14,165,233,.2);bottom:50px;left:-100px}
.hero-content{position:relative;z-index:3;max-width:1200px;margin:0 auto;width:100%;padding:clamp(90px,11vw,130px) clamp(16px,4vw,48px) clamp(80px,10vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-text{max-width:580px;position:relative;z-index:3}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(14,165,233,.15);border:1px solid rgba(14,165,233,.3);border-radius:50px;padding:6px 16px;font-size:.8rem;font-weight:600;color:var(--accent2);margin-bottom:24px}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{font-size:clamp(2.6rem,5.5vw,4.4rem);font-weight:800;line-height:1.08;margin-bottom:22px;letter-spacing:-.02em}
.hero h1 span{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{font-size:clamp(1rem,1.5vw,1.125rem);color:rgba(255,255,255,.7);line-height:1.75;margin-bottom:36px;max-width:480px}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn-primary svg,.btn-secondary svg{flex-shrink:0}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:14px 28px;border-radius:50px;font-weight:600;font-size:.95rem;border:none;min-height:48px;transition:opacity var(--transition),transform var(--transition),box-shadow var(--transition)}
.btn-primary:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 24px rgba(14,165,233,.3)}
.btn-secondary{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;padding:14px 28px;border-radius:50px;font-weight:600;font-size:.95rem;min-height:48px;transition:background var(--transition),transform var(--transition)}
.btn-secondary:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.hero-visual{display:flex;align-items:center;justify-content:center}
.dashboard-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-xl);padding:28px;width:100%;max-width:420px;backdrop-filter:blur(20px)}
.dashboard-card .dc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.dashboard-card .dc-title{font-family:'Sora',sans-serif;font-size:.9rem;font-weight:700;color:rgba(255,255,255,.9)}
.dc-badge{background:rgba(34,197,94,.15);color:#4ade80;font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:50px;border:1px solid rgba(34,197,94,.2)}
.dc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}
.dc-stat{background:rgba(255,255,255,.04);border-radius:var(--r-md);padding:14px 10px;text-align:center}
.dc-stat-val{font-family:'Sora',sans-serif;font-size:1.3rem;font-weight:800;background:linear-gradient(135deg,var(--white),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.dc-stat-lbl{font-size:.65rem;color:rgba(255,255,255,.5);margin-top:2px}
.dc-chart{height:80px;display:flex;align-items:flex-end;gap:6px;margin-bottom:16px}
.dc-bar{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(to top,var(--primary),var(--accent));opacity:.7;transition:opacity var(--transition)}
.dc-bar:hover{opacity:1}
.dc-modules{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dc-module{background:rgba(255,255,255,.04);border-radius:var(--r-sm);padding:10px 12px;display:flex;align-items:center;gap:8px;font-size:.78rem;color:rgba(255,255,255,.8)}
.dc-module svg{color:var(--accent);flex-shrink:0}
.hero-stats{display:flex;align-items:center;gap:0;margin-top:40px;padding-top:36px;border-top:1px solid rgba(255,255,255,.1)}
.hero-stat-item{padding:0 28px}
.hero-stat-item:first-child{padding-left:0}
.hero-stat-divider{width:1px;height:36px;background:rgba(255,255,255,.12)}
.hero-stat-lbl{font-size:.75rem;color:rgba(255,255,255,.5);margin-top:3px;letter-spacing:.04em}
.hero-stat-val{font-family:'Sora',sans-serif;font-size:1.9rem;font-weight:800;background:linear-gradient(135deg,var(--white),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
/* ── CARDS ── */
.card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);padding:28px;transition:background var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}
.card:hover{background:rgba(255,255,255,.07);border-color:rgba(14,165,233,.25);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.25)}
.card-icon{width:48px;height:48px;background:linear-gradient(135deg,rgba(30,77,183,.4),rgba(14,165,233,.2));border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:var(--accent)}
.card-icon svg{width:22px;height:22px}
.card h3{font-size:1.05rem;font-weight:700;margin-bottom:8px}
.card p{font-size:.875rem;color:rgba(255,255,255,.6);line-height:1.65}
.card-link{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--accent);margin-top:14px;transition:gap var(--transition)}
.card-link:hover{gap:10px}
/* ── GRID HELPERS ── */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* ── PILLAR STRIP ── */
.pillars-strip{display:flex;gap:16px;flex-wrap:wrap}
.pillar{flex:1;min-width:180px;background:linear-gradient(135deg,rgba(30,77,183,.2),rgba(14,165,233,.1));border:1px solid rgba(14,165,233,.2);border-radius:var(--r-lg);padding:24px;text-align:center}
.pillar-icon{width:52px;height:52px;background:rgba(14,165,233,.15);border-radius:var(--r-md);margin:0 auto 14px;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.pillar h3{font-size:1rem;font-weight:700}
/* ── FUNNEL (legacy — kept for compat) ── */
.funnel{display:flex;flex-direction:column;align-items:center;gap:0}
.funnel-step{background:linear-gradient(135deg,rgba(30,77,183,.3),rgba(14,165,233,.15));border:1px solid rgba(14,165,233,.2);border-radius:var(--r-md);padding:12px 32px;text-align:center;font-weight:600;font-size:.9rem;width:100%;max-width:280px;position:relative}
.funnel-arrow{color:var(--accent);font-size:1.4rem;line-height:1;padding:4px 0}

/* ── GROWTH ENGINE ── */
.ge-section{padding:100px 6%;background:linear-gradient(180deg,#060b27 0%,#08102e 100%);position:relative;overflow:hidden}
.ge-section::before{content:'';position:absolute;top:-180px;right:-180px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.07),transparent 70%);pointer-events:none}
.ge-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ge-label{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#8b5cf6;display:block;margin-bottom:14px}
.ge-title{font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:800;color:#fff;line-height:1.18;margin-bottom:18px;letter-spacing:-.03em}
.ge-desc{color:rgba(255,255,255,.48);font-size:.92rem;line-height:1.72;margin-bottom:36px}
.ge-active-card{background:rgba(139,92,246,.06);border:1px solid rgba(139,92,246,.18);border-radius:14px;padding:18px 20px;transition:opacity .35s}
.ge-active-tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8b5cf6;margin-bottom:8px}
.ge-active-name{font-size:1rem;font-weight:700;color:#fff;margin-bottom:7px;min-height:24px}
.ge-active-desc{font-size:.86rem;color:rgba(255,255,255,.5);line-height:1.65;min-height:54px}
.ge-dots{display:flex;gap:6px;margin-top:16px}
.ge-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.15);transition:background .4s,transform .4s}
.ge-dot.active{background:#8b5cf6;transform:scale(1.4)}

/* funnel steps */
.ge-funnel{display:flex;flex-direction:column}
.ge-step{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:14px;cursor:default;transition:background .4s,border-color .4s,box-shadow .4s,transform .35s;position:relative;overflow:hidden}
.ge-step::before{content:'';position:absolute;inset:0;border-radius:14px;background:linear-gradient(135deg,rgba(139,92,246,.14),rgba(6,182,212,.07));opacity:0;transition:opacity .4s}
.ge-step.ge-active{border-color:rgba(139,92,246,.5);box-shadow:0 0 0 1px rgba(139,92,246,.18),0 6px 28px rgba(139,92,246,.14);transform:translateX(6px)}
.ge-step.ge-active::before{opacity:1}
.ge-step:last-child.ge-active{border-color:rgba(6,182,212,.5);box-shadow:0 0 0 1px rgba(6,182,212,.18),0 6px 28px rgba(6,182,212,.16)}
.ge-step:last-child.ge-active::before{background:linear-gradient(135deg,rgba(6,182,212,.16),rgba(14,165,233,.09))}
.ge-step-ico{width:38px;height:38px;border-radius:10px;flex-shrink:0;background:rgba(139,92,246,.12);display:flex;align-items:center;justify-content:center;transition:background .4s}
.ge-step.ge-active .ge-step-ico{background:rgba(139,92,246,.26)}
.ge-step:last-child.ge-active .ge-step-ico{background:rgba(6,182,212,.22)}
.ge-step-ico svg{width:18px;height:18px;color:rgba(255,255,255,.55);transition:color .4s}
.ge-step.ge-active .ge-step-ico svg{color:#c4b5fd}
.ge-step:last-child.ge-active .ge-step-ico svg{color:#67e8f9}
.ge-step-name{font-size:.9rem;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:-.01em;transition:color .4s;flex:1}
.ge-step.ge-active .ge-step-name{color:#fff}
.ge-step-num{font-size:.68rem;font-weight:800;color:rgba(255,255,255,.14);letter-spacing:.08em;transition:color .4s;flex-shrink:0}
.ge-step.ge-active .ge-step-num{color:rgba(139,92,246,.65)}
.ge-step:last-child.ge-active .ge-step-num{color:rgba(6,182,212,.75)}

/* connectors */
.ge-connector{height:34px;display:flex;justify-content:center;position:relative;align-items:stretch}
.ge-conn-track{width:2px;background:rgba(255,255,255,.06);border-radius:2px;position:relative;overflow:hidden;flex-shrink:0}
.ge-conn-fill{position:absolute;top:0;left:0;right:0;bottom:0;
  background:linear-gradient(180deg,#8b5cf6 0%,#6366f1 50%,#06b6d4 100%);
  transform:scaleY(0);transform-origin:top;border-radius:2px}
.ge-connector.ge-flowing .ge-conn-fill{animation:geFillDown .55s cubic-bezier(.4,0,.2,1) forwards}
.ge-conn-dot{position:absolute;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%;
  background:#8b5cf6;box-shadow:0 0 12px 3px rgba(139,92,246,.8);
  top:0;opacity:0;z-index:2;margin-left:0}
.ge-connector.ge-flowing .ge-conn-dot{animation:geDotTravel .52s cubic-bezier(.4,0,.2,1) forwards}
@keyframes geFillDown{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes geDotTravel{
  0%  {top:0%;opacity:0}
  10% {opacity:1}
  90% {opacity:1}
  100%{top:100%;opacity:0}
}
@media(max-width:900px){
  .ge-inner{grid-template-columns:1fr;gap:48px}
  .ge-left{order:1}.ge-funnel{order:0}
}
/* ── WHY CARDS ── */
.why-item{display:flex;align-items:flex-start;gap:14px;padding:20px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md)}
.why-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.why-icon svg{width:18px;height:18px}
.why-item h4{font-size:.95rem;font-weight:700;margin-bottom:4px}
.why-item p{font-size:.83rem;color:rgba(255,255,255,.55)}
/* ── INDUSTRIES ── */
.industry-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:50px;padding:10px 20px;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:8px;transition:background var(--transition),border-color var(--transition),color var(--transition);cursor:default}
.industry-chip:hover{background:rgba(14,165,233,.12);border-color:rgba(14,165,233,.35);color:var(--accent2)}
.industry-chip svg{width:16px;height:16px;color:var(--accent)}
.chips-wrap{display:flex;flex-wrap:wrap;gap:10px}
/* ── CTA BAND (kept for home/services pages) ── */
.cta-band{background:linear-gradient(135deg,var(--dark-2),#0a1a4a);border:1px solid rgba(14,165,233,.15);border-radius:var(--r-xl);padding:clamp(40px,6vw,72px) clamp(24px,4vw,64px);text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(14,165,233,.12),transparent 60%);pointer-events:none}
.cta-band h2{font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:800;margin-bottom:16px;position:relative}
.cta-band p{color:rgba(255,255,255,.65);font-size:1.05rem;margin-bottom:32px;position:relative}
/* ── FLOATING CTA WIDGET ── */
#floatingCta{
  position:fixed;
  right:24px;
  bottom:28px;
  z-index:900;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}
/* Circular button */
.fcta-btn{
  width:56px;height:56px;
  border-radius:50%;
  background:linear-gradient(135deg,#7c3aed,#4f46e5);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 24px rgba(124,58,237,.5);
  transition:transform .2s,box-shadow .2s;
  position:relative;
  flex-shrink:0;
}
.fcta-btn:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(124,58,237,.65)}
.fcta-btn svg{width:22px;height:22px;color:#fff;pointer-events:none}
/* Pulse ring */
.fcta-btn::before{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  border:2px solid rgba(124,58,237,.4);
  animation:fctaPulse 2s ease-out infinite;
}
@keyframes fctaPulse{
  0%{transform:scale(1);opacity:.6}
  70%{transform:scale(1.25);opacity:0}
  100%{transform:scale(1.25);opacity:0}
}
/* Panel */
.fcta-panel{
  background:linear-gradient(135deg,#0d0e2a,#13143a);
  border:1px solid rgba(124,58,237,.3);
  border-radius:16px;
  padding:20px 18px;
  width:210px;
  box-shadow:0 12px 48px rgba(0,0,0,.55);
  transform:scale(.85) translateY(10px);
  transform-origin:bottom right;
  opacity:0;
  pointer-events:none;
  transition:transform .28s cubic-bezier(.23,1,.32,1), opacity .22s ease;
}
.fcta-panel.open{
  transform:scale(1) translateY(0);
  opacity:1;
  pointer-events:auto;
}
.fcta-panel-title{font-size:.82rem;font-weight:800;color:#fff;margin-bottom:4px}
.fcta-panel-sub{font-size:.7rem;color:rgba(255,255,255,.45);margin-bottom:16px;line-height:1.5}
.fcta-panel-btn{
  display:block;width:100%;padding:10px 14px;border-radius:10px;font-size:.77rem;font-weight:700;
  text-align:center;cursor:pointer;border:none;font-family:inherit;margin-bottom:8px;
  transition:transform .15s,box-shadow .15s;
}
.fcta-panel-btn:last-child{margin-bottom:0}
.fcta-panel-btn:hover{transform:translateY(-1px)}
.fcta-panel-btn.primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 4px 14px rgba(124,58,237,.4)}
.fcta-panel-btn.secondary{background:rgba(255,255,255,.06);color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.1)}
.fcta-panel-btn.secondary:hover{background:rgba(255,255,255,.1);color:#fff}
@media(max-width:600px){
  #floatingCta{right:16px;bottom:20px}
}
/* ── ABOUT ── */
.about-hero-wrap{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);padding:clamp(80px,10vw,140px) clamp(16px,4vw,48px) clamp(60px,8vw,100px);position:relative;overflow:hidden}
.about-hero-wrap::after{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(30,77,183,.25),transparent 70%);pointer-events:none}
.about-hero-content{max-width:700px;position:relative;z-index:1}
.about-hero-content h1{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;margin-bottom:20px}
.about-hero-content p{font-size:1.125rem;color:rgba(255,255,255,.7);line-height:1.75}
.values-grid{display:flex;gap:12px;flex-wrap:wrap}
.value-badge{background:linear-gradient(135deg,rgba(30,77,183,.25),rgba(14,165,233,.1));border:1px solid rgba(14,165,233,.2);border-radius:50px;padding:10px 20px;font-size:.875rem;font-weight:600;color:var(--accent2)}
.brand-promise-box{background:linear-gradient(135deg,rgba(30,77,183,.2),rgba(14,165,233,.1));border:1px solid rgba(14,165,233,.2);border-radius:var(--r-xl);padding:clamp(32px,5vw,56px);text-align:center}
.brand-promise-box h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;line-height:1.35}
.brand-promise-box h2 span{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
/* ── SERVICES PAGE ── */
.services-hero{padding:clamp(80px,10vw,140px) clamp(16px,4vw,48px) clamp(60px,8vw,100px);background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 60%,#0a1a4a 100%);text-align:center;position:relative;overflow:hidden}
.services-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(14,165,233,.15),transparent 60%);pointer-events:none}
.services-hero h1{font-size:clamp(2rem,4vw,3.25rem);font-weight:800;margin-bottom:16px;position:relative}
.services-hero p{font-size:1.05rem;color:rgba(255,255,255,.65);max-width:600px;margin:0 auto;position:relative}
/* ── SERVICE DETAIL ── */
.svc-hero{padding:clamp(80px,10vw,130px) clamp(16px,4vw,48px) clamp(60px,8vw,80px);background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);position:relative;overflow:hidden}
.svc-hero::after{content:'';position:absolute;top:-150px;right:-150px;width:500px;height:500px;background:radial-gradient(circle,rgba(30,77,183,.22),transparent 70%);pointer-events:none}
.svc-hero-inner{max-width:750px;position:relative;z-index:1}
.svc-hero-inner h1{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:800;margin-bottom:16px}
.svc-hero-inner p{font-size:1.05rem;color:rgba(255,255,255,.68);line-height:1.75}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.tag{background:rgba(14,165,233,.12);border:1px solid rgba(14,165,233,.25);color:var(--accent2);border-radius:50px;padding:5px 14px;font-size:.78rem;font-weight:600}
/* ── FEATURE LIST ── */
.feature-list{display:flex;flex-direction:column;gap:12px}
.feature-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--r-md)}
.feature-item svg{color:var(--accent);flex-shrink:0}
.feature-item span{font-size:.9rem;font-weight:500}
/* ── PLATFORM LOGOS ── */
.platform-row{display:flex;gap:10px;flex-wrap:wrap}
.platform-badge{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);padding:10px 18px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.8)}
/* ── CONTACT EAGLE HERO ── */
/* ── AUTOMATION HERO ── */
.auto-hero{position:relative;min-height:100vh;background:linear-gradient(135deg,#030a1a 0%,#060d24 60%,#030a1a 100%);display:flex;align-items:center;overflow:hidden;padding:0 clamp(28px,6vw,90px);gap:0}
.auto-hero::before{content:'';position:absolute;top:0;right:0;width:55%;height:100%;background:radial-gradient(ellipse at 70% 50%,rgba(30,77,183,.15) 0%,transparent 65%);pointer-events:none}
.auto-hero-left{flex:0 0 46%;max-width:540px;position:relative;z-index:4}
.auto-hero-title{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;line-height:1.18;margin:14px 0 18px;color:#fff}
.auto-hero-title em{font-style:normal;background:linear-gradient(120deg,#3b82f6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.auto-hero-sub{font-size:1.05rem;color:rgba(255,255,255,.62);line-height:1.75;max-width:440px;margin-bottom:22px}
.auto-hero-right{flex:1;position:relative;height:100vh;min-height:600px;z-index:2}
#armCanvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
/* Arm control panel */
/* ── HAND ACTIONS ── */
.hand-actions{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:10;pointer-events:none}
.hand-act-btn{pointer-events:all;display:flex;align-items:center;gap:7px;padding:10px 20px;border-radius:50px;border:1px solid rgba(255,255,255,.13);background:rgba(5,10,28,.82);backdrop-filter:blur(16px);color:rgba(255,255,255,.72);font-size:.74rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:all .22s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.35)}
.hand-act-btn:hover{border-color:rgba(96,165,250,.5);color:#fff;transform:translateY(-3px) scale(1.06);box-shadow:0 8px 28px rgba(59,130,246,.28)}
.hand-act-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.hand-hint{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-size:.68rem;color:rgba(255,255,255,.28);letter-spacing:.06em;pointer-events:none;white-space:nowrap}
@media(max-width:768px){.auto-hero{flex-direction:column;padding:80px 24px 0}.auto-hero-left{flex:none;width:100%;text-align:center}.auto-hero-right{width:100%;height:60vw;min-height:320px;position:relative}}
@media(max-width:768px){.auto-hero{flex-direction:column;padding:80px 24px 0}.auto-hero-left{flex:none;width:100%;text-align:center}.auto-hero-right{width:100%;height:60vw;min-height:320px;position:relative}}
/* ── CONTACT HERO ── */
.ceh{position:relative;height:100vh;min-height:600px;background:#03050e;display:flex;align-items:center;overflow:hidden;padding:0 clamp(28px,6vw,100px);gap:0}
.ceh-left{flex:0 0 48%;max-width:560px;position:relative;z-index:4;text-align:left}
.ceh-left .btn-primary{pointer-events:all;margin-top:4px}
.ceh-right{flex:1;position:relative;height:100%;min-height:100vh;z-index:2}
#eagleCanvas{position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;display:block}
.ceh-title{font-size:clamp(2.2rem,4.5vw,4.4rem);font-weight:800;line-height:1.1;margin:14px 0 18px;color:#fff}
.ceh-title em{font-style:normal;background:linear-gradient(120deg,#3b82f6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ceh-sub{color:rgba(255,255,255,.5);font-size:1rem;margin-bottom:32px;line-height:1.75;max-width:440px}
.ceh-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.22);z-index:4;animation:ceh-bounce 2.2s ease-in-out infinite;white-space:nowrap}
@keyframes ceh-bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}
.ceh-fade{position:absolute;bottom:0;left:0;right:0;height:180px;background:linear-gradient(to bottom,transparent,var(--dark-1));pointer-events:none;z-index:3}
@media(max-width:768px){
  .ceh{flex-direction:column;justify-content:flex-end;padding:0 24px 60px}
  .ceh-left{flex:none;width:100%;max-width:100%;text-align:center;order:2}
  .ceh-left .ceh-sub{max-width:100%;margin-left:auto;margin-right:auto}
  .ceh-right{position:absolute;inset:0;height:60vh;min-height:unset}
}
/* ── CONTACT FORM V2 ── */
.cform-section{background:var(--dark-1)}
.cform-grid{display:grid;grid-template-columns:1fr 1.55fr;gap:40px;align-items:start}
@media(max-width:860px){.cform-grid{grid-template-columns:1fr}}
.cform-info{background:linear-gradient(145deg,rgba(17,35,95,.5) 0%,rgba(6,14,40,.7) 100%);border:1px solid rgba(59,130,246,.18);border-radius:24px;padding:36px;position:sticky;top:100px}
.cform-info h2{font-size:1.5rem;font-weight:800;margin-bottom:8px}
.cform-info>.sub{color:rgba(255,255,255,.52);font-size:.9rem;margin-bottom:22px;line-height:1.65}
.cform-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.22);border-radius:99px;padding:5px 14px;font-size:.74rem;color:#4ade80;font-weight:600;margin-bottom:28px}
.cform-badge-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;flex-shrink:0;animation:cform-pulse 1.8s ease-in-out infinite}
@keyframes cform-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.cform-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:0;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.cform-item:last-child{border-bottom:none;padding-bottom:0}
.cform-item:first-child{padding-top:0}
.cform-icon{width:44px;height:44px;background:linear-gradient(135deg,rgba(37,99,235,.3),rgba(6,182,212,.15));border:1px solid rgba(59,130,246,.22);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#60a5fa}
.cform-icon svg{width:18px;height:18px}
.cform-item-label{font-size:.7rem;font-weight:700;color:rgba(255,255,255,.35);letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.cform-item-val{font-size:.92rem;font-weight:600;color:rgba(255,255,255,.88)}
.cform-item-val a:hover{color:#60a5fa}
.cform-item-small{font-size:.8rem;color:rgba(255,255,255,.4);margin-top:2px}
.cform-card{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:40px}
.cform-card-head{margin-bottom:28px}
.cform-card-head h2{font-size:1.5rem;font-weight:800;margin-bottom:6px}
.cform-card-head p{color:rgba(255,255,255,.48);font-size:.875rem;line-height:1.6}
/* ── CONTACT (legacy kept for form fields) ── */
.contact-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.contact-item-icon{width:42px;height:42px;background:linear-gradient(135deg,rgba(30,77,183,.4),rgba(14,165,233,.2));border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent)}
.contact-item-icon svg{width:18px;height:18px}
.contact-item-text .label{font-size:.72rem;font-weight:600;color:var(--text-3);letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}
.contact-item-text .val{font-size:.925rem;font-weight:500;color:rgba(255,255,255,.9)}
.contact-item-text a:hover{color:var(--accent)}
/* ── FORM ── */
.contact-form{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-xl);padding:36px}
.contact-form h2{font-size:1.5rem;font-weight:800;margin-bottom:24px}
.form-group{margin-bottom:20px;position:relative}
.form-group label{display:block;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:6px}
.form-group label .req{color:var(--error);margin-left:2px}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:12px 16px;font-size:.9rem;color:#fff;font-family:'Inter',sans-serif;transition:border-color var(--transition),background var(--transition);min-height:48px;outline:none}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(255,255,255,.3)}
.form-group select option{background:var(--dark-2);color:#fff}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);background:rgba(255,255,255,.08)}
.form-group input.error-field,.form-group select.error-field,.form-group textarea.error-field{border-color:var(--error)}
.form-group .field-error{display:none;font-size:.76rem;color:var(--error);margin-top:4px}
.form-group .field-error.visible{display:block}
.form-group textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn-submit{width:100%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:16px;border-radius:50px;font-size:1rem;font-weight:700;border:none;min-height:52px;transition:opacity var(--transition),transform var(--transition);display:flex;align-items:center;justify-content:center;gap:8px}
.btn-submit:hover:not(:disabled){opacity:.9;transform:translateY(-2px)}
.btn-submit:disabled{opacity:.6;cursor:not-allowed}
.form-success{display:none;text-align:center;padding:40px 24px}
.form-success.visible{display:block}
.form-success-icon{width:64px;height:64px;background:rgba(34,197,94,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#4ade80}
.form-success-icon svg{width:32px;height:32px}
.form-success h3{font-size:1.25rem;font-weight:700;margin-bottom:8px}
.form-success p{font-size:.9rem;color:rgba(255,255,255,.6)}
#form-error-summary{display:none;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.25);border-radius:var(--r-md);padding:12px 16px;margin-bottom:20px;font-size:.85rem;color:#fca5a5}
#form-error-summary.visible{display:block}
/* ── FOOTER ── */
footer{background:var(--dark-2);border-top:1px solid rgba(255,255,255,.07);padding:clamp(48px,7vw,80px) clamp(16px,4vw,48px) 32px}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand .logo{font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:800;background:linear-gradient(135deg,var(--white),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}
.footer-brand .tagline{font-size:.8rem;font-weight:600;color:var(--accent);margin-bottom:12px;letter-spacing:.05em}
.footer-brand p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.7;max-width:280px}
.footer-col h4{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin-bottom:16px}
.footer-col a{display:block;font-size:.875rem;color:rgba(255,255,255,.6);padding:5px 0;transition:color var(--transition)}
.footer-col a:hover{color:var(--accent2)}
.footer-bottom{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.07);font-size:.8rem;color:rgba(255,255,255,.35);flex-wrap:wrap;gap:12px}
/* ── LIGHT SECTIONS (services overview page) ── */
.section-light{background:var(--surface);padding:clamp(60px,8vw,100px) clamp(16px,4vw,48px)}
.section-light .section-label{color:var(--primary)}
.section-light .section-title{color:var(--text)}
.section-light .section-sub{color:var(--text-2)}
.card-light{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}
.card-light:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:rgba(30,77,183,.2)}
.card-light .card-icon{background:linear-gradient(135deg,rgba(30,77,183,.08),rgba(14,165,233,.06));color:var(--primary)}
.card-light h3{color:var(--text);font-size:1rem;font-weight:700;margin-bottom:6px}
.card-light p{color:var(--text-2);font-size:.85rem;line-height:1.6}
.card-light .card-link{color:var(--primary)}
/* ── ANIMATE ON SCROLL ── */
.anim{opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}
.anim.visible{opacity:1;transform:translateY(0);will-change:auto}
@media(prefers-reduced-motion:reduce){.anim{opacity:1;transform:none;transition:none}}
/* ── SCROLL PERFORMANCE ── */
.card,.card-light{contain:layout style}
#navbar{contain:layout style}
/* ── MOBILE PERFORMANCE ── */
@media(max-width:900px){
  /* Disable video on mobile — use poster image instead */
  .hero-video-wrap video{display:none}
  .hero-video-wrap{background:url('images/HOME-HERO-IMG.webp') center/cover no-repeat}
  /* Remove all backdrop-filter on mobile (GPU killer) */
  *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  /* Reduce animation complexity */
  .anim{transition:opacity .3s ease!important;transform:none!important}
  .anim.visible{opacity:1!important}
  /* Remove card hover transforms on mobile */
  .card:hover,.card-light:hover{transform:none!important}
  /* Stop ALL floating/looping animations on mobile */
  *{animation-play-state:paused!important}
  /* Re-enable only essential one-time animations */
  .spinner,.hero-badge-dot,.cform-badge-dot,.sxc-online-dot,
  .sxPing,.sxDot,.ge-conn-fill,.ge-conn-dot,
  .anim,.anim.visible{animation-play-state:running!important}
}
/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hero-content{grid-template-columns:1fr;gap:40px}
  .hero-visual{justify-content:flex-start}
  .dashboard-card{max-width:100%}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none}
  .hamburger{display:flex}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .hero-stats{flex-wrap:nowrap;gap:0}
  /* Two-col sections → stack: text top, cards bottom */
  .two-col-section{
    grid-template-columns:1fr !important;
    gap:32px !important;
  }
  .two-col-section>*:first-child{order:1}
  .two-col-section>*:last-child{order:2}
}
@media(max-width:480px){
  :root{--nav-h:60px}
  .hero h1{font-size:1.85rem}
  .hero-btns{flex-direction:column}
  .btn-primary,.btn-secondary{width:100%;justify-content:center;text-align:center}
}
/* ── SPINNER ── */
@keyframes spin{to{transform:rotate(360deg)}}
.spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}
/* ── LOGO ── */
.nav-logo-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:10px;flex-shrink:0;padding:2px}
.nav-logo-img{height:42px;width:auto;object-fit:contain;border-radius:8px;background:#fff;padding:3px 8px;display:block;transition:transform var(--transition)}
.nav-logo-btn:hover .nav-logo-img{transform:scale(1.04)}
.nav-logo-text{font-family:'Sora',sans-serif;font-size:1.4rem;font-weight:800;background:linear-gradient(135deg,#fff,#38BDF8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-logo-img{height:56px;width:auto;object-fit:contain;border-radius:10px;background:#fff;padding:4px 10px;margin-bottom:10px;display:block}
/* ══════════════════════════════════════
   HERO VIDEO — FULL WIDTH BACKGROUND
══════════════════════════════════════ */
.hero-video-wrap{
  position:absolute;
  inset:0;
  width:100%; height:100%;
  z-index:1;
  pointer-events:none;
  overflow:hidden;
}
.hero-video-wrap video{
  position:absolute;
  inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center bottom;
  display:block;
  transform-origin:center center;
  will-change:transform;
}
/* Dark gradient overlay so text stays readable */
.hero-video-wrap::after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right,  rgba(6,11,39,.82) 0%, rgba(6,11,39,.45) 55%, rgba(6,11,39,.10) 100%),
    linear-gradient(to bottom, rgba(6,11,39,.20) 0%, transparent 40%, rgba(6,11,39,.55) 100%);
  z-index:2;
}
/* Ambient colour tint that shifts with scroll (set via JS) */
.hero-video-wrap .hvw-glow{
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 50% 100%,
    rgba(14,165,233,.18) 0%,
    rgba(30,77,183,.10) 45%,
    transparent 75%);
  z-index:1;
  pointer-events:none;
  transition:opacity .4s;
}

@media(min-width:901px){.hero .photo-hero-bg{display:block}}
@media(max-width:900px){
  .hero-video-wrap video{object-position:60% bottom;}
}
/* ── PHOTO HERO ── */
.photo-hero-bg{position:absolute;inset:0;z-index:0}
.photo-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.photo-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,11,39,.88) 0%,rgba(6,11,39,.72) 50%,rgba(6,11,39,.82) 100%)}
/* ══ INDUSTRIES v2 ══ */
/* ── Hero Floating Shapes ── */
.ind2-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#05070f}
.ind2-hero-fade-b{position:absolute;bottom:0;left:0;right:0;height:140px;background:linear-gradient(to bottom,transparent,#05070f);pointer-events:none;z-index:5}

/* Grid floor */
.ind2-grid-floor{position:absolute;bottom:0;left:0;right:0;height:45%;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;transform:perspective(600px) rotateX(55deg);transform-origin:bottom center;pointer-events:none;z-index:1}

/* Three.js Canvas */
#ind2Canvas{position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;z-index:2;display:block}

/* Center content */
.ind2-hero-center{position:relative;z-index:4;text-align:center;max-width:720px;padding:0 24px}
.ind2-hero-badge-center{display:inline-block;margin-bottom:20px}
.ind2-hero-title-center{font-size:clamp(2.4rem,5.5vw,4.2rem);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:#fff}
.ind2-hero-accent{background:linear-gradient(90deg,#60a5fa 0%,#a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ind2-hero-sub-center{color:rgba(255,255,255,.55);line-height:1.75;max-width:560px;margin:18px auto 0;font-size:1.05rem}
.ind2-hero-btns{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.btn-ghost{padding:12px 26px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .25s,border-color .25s}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.ind2-stats-center{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:36px;flex-wrap:wrap}
.ind2-stat{display:flex;flex-direction:column;gap:2px;align-items:center}
.ind2-stat-n{font-size:1.5rem;font-weight:800;color:#fff;line-height:1}
.ind2-stat-l{font-size:.7rem;color:rgba(255,255,255,.4);letter-spacing:.07em;text-transform:uppercase}
.ind2-stat-div{width:1px;height:32px;background:rgba(255,255,255,.1)}
.ind2-orbit-hint{position:absolute;bottom:60px;left:50%;transform:translateX(-50%);font-size:.75rem;color:rgba(255,255,255,.35);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:6px 16px;border-radius:999px;z-index:5;pointer-events:none;letter-spacing:.05em}

/* Industry List */
.ind2-cards-section{padding:80px 0 60px}
.ind2-cards-header{margin-bottom:48px}
.ind2-list{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.07)}
.ind2-row{display:grid;grid-template-columns:52px 52px 1fr 200px 44px;align-items:center;gap:0;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.07);cursor:pointer;transition:background .25s;position:relative;overflow:hidden}
@media(max-width:900px){.ind2-row{grid-template-columns:40px 40px 1fr 0 32px}}
@media(max-width:600px){.ind2-row{grid-template-columns:36px 36px 1fr 0 28px;padding:18px 0}}
.ind2-row::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.0);transition:background .3s}
.ind2-row:hover::before{background:rgba(255,255,255,.025)}
.ind2-row-num{font-size:.72rem;color:rgba(255,255,255,.25);font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums;padding-left:4px}
.ind2-row-icon{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:background .3s,color .3s;flex-shrink:0}
.ind2-row:hover .ind2-row-icon{background:rgba(37,99,235,.2);color:var(--accent)}
.ind2-row-body{padding:0 20px}
.ind2-row-title{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:4px;transition:color .25s}
.ind2-row:hover .ind2-row-title{color:var(--accent)}
.ind2-row-desc{font-size:.8rem;color:rgba(255,255,255,.45);line-height:1.65;max-height:0;overflow:hidden;transition:max-height .4s ease,color .3s .05s;margin-bottom:0}
.ind2-row:hover .ind2-row-desc,.ind2-row.open .ind2-row-desc{max-height:80px}
.ind2-row-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;max-height:0;overflow:hidden;transition:max-height .4s ease}
.ind2-row:hover .ind2-row-tags,.ind2-row.open .ind2-row-tags{max-height:60px}
.ind2-row-tags span{font-size:.68rem;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5);background:rgba(255,255,255,.04);white-space:nowrap}
.ind2-row-img{width:180px;height:100px;border-radius:12px;overflow:hidden;opacity:0;transform:translateX(12px);transition:opacity .4s,transform .4s;flex-shrink:0}
@media(max-width:900px){.ind2-row-img{display:none}}
.ind2-row:hover .ind2-row-img{opacity:1;transform:translateX(0)}
.ind2-row-img img{width:100%;height:100%;object-fit:cover}
.ind2-row-arrow{display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.25);transition:color .25s,transform .3s}
.ind2-row:hover .ind2-row-arrow{color:var(--accent);transform:translateX(4px)}
/* ── INDUSTRIES ROBOT HERO ── */
.ind-hero-robot{min-height:100vh;display:flex;align-items:center;background:var(--dark-1);position:relative;overflow:hidden;padding:100px 0 60px}
.ind-hero-robot::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(37,99,235,.08) 0%,transparent 70%)}
.ind-hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media(min-width:768px){.ind-hero-grid{grid-template-columns:1fr 1fr;gap:0}}
.ind-hero-text h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}
.ind-robot-wrap{position:relative;height:520px;display:flex;align-items:center;justify-content:center}
@media(max-width:767px){.ind-robot-wrap{height:340px}}
.ind-spline{width:100%;height:100%;display:block}
/* hide Spline watermark overlay */
.ind-robot-mask{position:absolute;bottom:0;left:0;right:0;height:44px;background:var(--dark-1);pointer-events:none}
/* ── IMAGE ACCORDION ── */
.imacc-section{}
.imacc-wrap{display:grid;grid-template-columns:1fr;gap:48px;align-items:center}
@media(min-width:900px){.imacc-wrap{grid-template-columns:340px 1fr;gap:64px}}
.imacc-text{}
.imacc-accordion{display:flex;flex-direction:row;gap:12px;height:450px}
.imacc-item{position:relative;border-radius:20px;overflow:hidden;cursor:pointer;flex-shrink:0;width:62px;transition:width .7s cubic-bezier(.4,.2,.2,1)}
.imacc-item.active{width:400px}
.imacc-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.imacc-item:hover img{transform:scale(1.05)}
.imacc-overlay{position:absolute;inset:0;background:rgba(0,0,0,.42);transition:background .4s}
.imacc-item.active .imacc-overlay{background:rgba(0,0,0,.25)}
.imacc-label{position:absolute;bottom:24px;left:50%;white-space:nowrap;color:#fff;font-size:.95rem;font-weight:700;letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.7);transition:transform .6s cubic-bezier(.4,.2,.2,1);transform:translateX(-50%) rotate(90deg);transform-origin:center center;pointer-events:none}
.imacc-item.active .imacc-label{transform:translateX(-50%) rotate(0deg)}
@media(max-width:899px){
  .imacc-accordion{height:300px;gap:8px}
  .imacc-item{width:46px;border-radius:14px}
  .imacc-item.active{width:220px}
  .imacc-label{font-size:.8rem}
}
@media(max-width:500px){
  .imacc-accordion{height:220px;gap:6px}
  .imacc-item{width:38px;border-radius:10px}
  .imacc-item.active{width:160px}
  .imacc-label{font-size:.72rem}
}
/* ── CIRCULAR TESTIMONIALS ── */
.circ-testi-section{}
.circ-testi-header{text-align:center;margin-bottom:56px}
.circ-testi-wrap{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;max-width:1040px;margin:0 auto}
@media(min-width:768px){.circ-testi-wrap{grid-template-columns:1fr 1fr;gap:72px}}
.circ-images-container{position:relative;height:360px;perspective:1000px}
.circ-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:22px;box-shadow:0 24px 64px rgba(0,0,0,.55);transition:all .8s cubic-bezier(.4,2,.3,1);opacity:0;pointer-events:none}
.circ-img.is-active{z-index:3;opacity:1;pointer-events:auto;transform:translateX(0) translateY(0) scale(1) rotateY(0deg)}
.circ-img.is-left{z-index:2;opacity:.7;pointer-events:auto;transform:translateX(-48px) translateY(-38px) scale(.8) rotateY(14deg)}
.circ-img.is-right{z-index:2;opacity:.7;pointer-events:auto;transform:translateX(48px) translateY(-38px) scale(.8) rotateY(-14deg)}
.circ-content-side{display:flex;flex-direction:column;gap:20px;padding:8px 0}
.circ-quote-wrap{min-height:200px}
/* client badge */
.circ-client-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.25);border-radius:20px;padding:4px 12px 4px 6px;margin-bottom:14px}
.circ-client-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#818cf8,#7c3aed);flex-shrink:0}
.circ-client-badge span{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a78bfa}
/* name & designation */
.circ-name{font-size:1.5rem;font-weight:800;color:#fff;margin:0 0 5px;letter-spacing:-.02em;line-height:1.2;transition:opacity .3s}
.circ-designation{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.4);margin:0 0 20px;letter-spacing:.03em;transition:opacity .3s}
/* quote */
.circ-quote{font-size:.97rem;color:rgba(255,255,255,.68);line-height:1.9;font-style:italic;word-spacing:.04em;letter-spacing:.01em}
.circ-quote .circ-word{display:inline;opacity:0;filter:blur(6px);transition:opacity .2s ease,filter .2s ease}
.circ-quote .circ-word.visible{opacity:1;filter:blur(0)}
/* arrows */
.circ-arrows{display:flex;gap:12px}
.circ-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);color:#e2e8f0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s,border-color .25s,transform .2s;flex-shrink:0;backdrop-filter:blur(8px)}
.circ-arrow:hover{background:var(--accent);border-color:var(--accent);transform:scale(1.08)}
.circ-dots{display:flex;gap:8px;align-items:center}
.circ-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2);transition:all .3s;cursor:pointer}
.circ-dot.active{width:24px;border-radius:4px;background:var(--accent)}
@media(max-width:767px){
  .circ-images-container{height:240px}
  .circ-img.is-left{transform:translateX(-32px) translateY(-28px) scale(.82) rotateY(12deg)}
  .circ-img.is-right{transform:translateX(32px) translateY(-28px) scale(.82) rotateY(-12deg)}
}
/* ── TESTIMONIALS COLUMNS ── */
.testi-section{overflow:hidden}
.testi-header{text-align:center;margin-bottom:48px}
.testi-badge{display:inline-block;padding:5px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.15);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);background:rgba(255,255,255,.05)}
.testi-columns-wrap{display:flex;gap:20px;justify-content:center;max-height:740px;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent)}
.testi-col{display:flex;flex-direction:column;flex:1;max-width:340px;min-width:0}
.testi-col-2{display:none}
.testi-col-3{display:none}
@media(min-width:768px){.testi-col-2{display:flex}}
@media(min-width:1024px){.testi-col-3{display:flex}}
.testi-track{display:flex;flex-direction:column;gap:20px;animation:testi-scroll-up var(--dur,15s) linear infinite}
.testi-col-1 .testi-track{--dur:16s}
.testi-col-2 .testi-track{--dur:20s}
.testi-col-3 .testi-track{--dur:18s}
@keyframes testi-scroll-up{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.testi-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;transition:border-color .3s,background .3s}
.testi-card:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.testi-stars{color:#f59e0b;font-size:.9rem;letter-spacing:2px}
.testi-text{font-size:.875rem;color:rgba(255,255,255,.7);line-height:1.75;flex:1}
.testi-author{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.testi-author img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}
.testi-name{font-size:.85rem;font-weight:600;color:#fff}
.testi-role{font-size:.75rem;color:rgba(255,255,255,.45);margin-top:2px}
/* ── CONTAINER SCROLL ANIMATION ── */
.cscroll-section{position:relative;overflow:hidden;padding:80px 0 120px}
.cscroll-inner{max-width:1100px;margin:0 auto;padding:0 24px;perspective:1000px}
.cscroll-header{text-align:center;margin-bottom:48px;will-change:transform}
.cscroll-card{max-width:960px;margin:-12px auto 0;will-change:transform;transform-origin:top center;border-radius:28px;border:3px solid rgba(108,108,108,.5);background:#18181b;box-shadow:0 0 #0000004d,0 9px 20px #0000004a,0 37px 37px #00000042,0 84px 50px #00000026,0 149px 60px #0000000a;padding:6px 6px 20px 6px}
.cscroll-card-inner{border-radius:20px;overflow:hidden;background:#18181b}
.cscroll-photo{position:relative;width:100%;height:320px;overflow:hidden}
.cscroll-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.cscroll-photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px 20px;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,transparent 100%)}
.cscroll-bottom{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:220px}
.cscroll-vm{display:flex;flex-direction:column;gap:0;border-right:1px solid rgba(255,255,255,.07)}
/* services strip inside cscroll card */
.cscroll-svc-strip{border-top:1px solid rgba(255,255,255,.07);padding:18px 20px 20px;background:rgba(0,0,0,.18)}
.cscroll-svc-strip-label{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.32);margin-bottom:12px}
.cscroll-svc-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}
.cscroll-svc-row::-webkit-scrollbar{display:none}
.cscroll-svc-chip{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:7px 13px 7px 9px;border-radius:10px;border:1px solid color-mix(in srgb,var(--cc,#3b82f6) 28%,rgba(255,255,255,.06));background:color-mix(in srgb,var(--cc,#3b82f6) 10%,rgba(10,14,32,.7));cursor:pointer;transition:all .22s cubic-bezier(.34,1.56,.64,1);white-space:nowrap}
.cscroll-svc-chip:hover{border-color:var(--cc,#3b82f6);background:color-mix(in srgb,var(--cc,#3b82f6) 22%,rgba(10,14,32,.9));transform:translateY(-2px) scale(1.04);box-shadow:0 6px 18px -4px color-mix(in srgb,var(--cc,#3b82f6) 40%,transparent)}
.cscroll-svc-chip-dot{width:7px;height:7px;border-radius:50%;background:var(--cc,#3b82f6);box-shadow:0 0 6px var(--cc,#3b82f6);flex-shrink:0}
.cscroll-svc-chip span{font-size:.73rem;font-weight:600;color:rgba(255,255,255,.8);letter-spacing:.01em}
.cscroll-vm-card{padding:20px;display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.07)}
.cscroll-vm-card:last-child{border-bottom:none;flex:1}
.cscroll-vm-icon{width:34px;height:34px;border-radius:8px;background:rgba(99,102,241,.15);color:#818cf8;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.cscroll-diff{padding:20px 24px;display:flex;flex-direction:column}
.cscroll-pills{display:flex;flex-wrap:wrap;gap:7px}
.cscroll-pill{font-size:.72rem;padding:5px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.6);background:rgba(255,255,255,.04);letter-spacing:.02em;white-space:nowrap}
/* ── ABOUT SERVICES GRID ── */
.about-svc-section{padding:clamp(70px,9vw,110px) 0;background:var(--dark)}
.about-svc-head{text-align:center;margin-bottom:clamp(40px,6vw,60px)}
.about-svc-head .section-label{display:inline-block;margin-bottom:10px}
.about-svc-head h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;margin-bottom:14px}
.about-svc-head p{color:rgba(255,255,255,.55);max-width:560px;margin:0 auto;line-height:1.75;font-size:.95rem}
.about-svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.about-svc-card{position:relative;border-radius:18px;padding:26px 22px 22px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);overflow:hidden;cursor:pointer;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .25s,box-shadow .25s;display:flex;flex-direction:column;gap:14px}
.about-svc-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 0%,color-mix(in srgb,var(--sc,#3b82f6) 12%,transparent),transparent 65%);opacity:0;transition:opacity .3s}
.about-svc-card:hover{transform:translateY(-6px);border-color:color-mix(in srgb,var(--sc,#3b82f6) 45%,transparent);box-shadow:0 16px 40px -8px color-mix(in srgb,var(--sc,#3b82f6) 25%,transparent),0 0 0 1px color-mix(in srgb,var(--sc,#3b82f6) 18%,transparent)}
.about-svc-card:hover::before{opacity:1}
.about-svc-card:hover .about-svc-icon{box-shadow:0 0 20px color-mix(in srgb,var(--sc,#3b82f6) 50%,transparent)}
.about-svc-icon{width:46px;height:46px;border-radius:13px;background:color-mix(in srgb,var(--sc,#3b82f6) 15%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--sc,#3b82f6) 30%,rgba(255,255,255,.06));display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:box-shadow .3s}
.about-svc-icon svg{width:20px;height:20px;stroke:var(--sc,#3b82f6);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.about-svc-name{font-size:.9rem;font-weight:700;color:#fff;line-height:1.3}
.about-svc-desc{font-size:.78rem;color:rgba(255,255,255,.45);line-height:1.65;flex:1}
.about-svc-tag{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:color-mix(in srgb,var(--sc,#3b82f6) 80%,#fff);padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--sc,#3b82f6) 12%,transparent);border:1px solid color-mix(in srgb,var(--sc,#3b82f6) 25%,transparent);width:fit-content;margin-top:auto}
.about-svc-card:hover .about-svc-tag{background:color-mix(in srgb,var(--sc,#3b82f6) 22%,transparent)}
@media(max-width:600px){.about-svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){
  .cscroll-bottom{grid-template-columns:1fr}
  .cscroll-vm{border-right:none;border-bottom:1px solid rgba(255,255,255,.07)}
  .cscroll-photo{height:160px}
  .cscroll-inner{padding:0 12px}
}
/* ── PHOTO SPLIT ── */
.photo-split{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/3;position:relative}
.photo-split img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.photo-split:hover img{transform:scale(1.03)}
/* ── IMAGE CARD ── */
.img-card{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:16/9}
.img-card img{width:100%;height:100%;object-fit:cover}
.img-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,11,39,.85) 0%,transparent 55%);display:flex;align-items:flex-end;padding:20px}
.img-card-overlay h4{font-size:1rem;font-weight:700;color:#fff}
/* ── INDUSTRY CARD WITH IMAGE ── */
.ind-card{border-radius:var(--r-lg);overflow:hidden;position:relative;aspect-ratio:3/2;cursor:default}
.ind-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ind-card:hover img{transform:scale(1.05)}
.ind-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,11,39,.9) 20%,rgba(6,11,39,.3) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px}
.ind-card-overlay .ind-icon{width:36px;height:36px;background:rgba(14,165,233,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:8px}
.ind-card-overlay h3{font-size:1rem;font-weight:700;color:#fff;margin-bottom:4px}
.ind-card-overlay p{font-size:.78rem;color:rgba(255,255,255,.65);line-height:1.5}
/* ── SERVICE HERO WITH PHOTO ── */
.svc-hero{position:relative;overflow:hidden}
.svc-hero-photo{position:absolute;inset:0;z-index:0}
.svc-hero-photo img{width:100%;height:100%;object-fit:cover}
.svc-hero-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,11,39,.92) 0%,rgba(6,11,39,.78) 60%,rgba(6,11,39,.88) 100%)}
.svc-hero-inner{position:relative;z-index:1}
/* ── GROWTH GALLERY ── */
/* ══════════════════════════════════════
   GROWTH IN ACTION — BENTO GRID
══════════════════════════════════════ */
.growth-gallery{
  display:grid;
  grid-template-columns:1.45fr 1fr;
  grid-template-rows:380px 300px 200px;
  gap:12px;
}
/* ── grid placement ── */
.g-card.gc-featured { grid-column:1; grid-row:1; }
.g-card.gc-social   { grid-column:2; grid-row:1; }
.gc-row2            { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
.g-card.wide        { grid-column:1/-1; grid-row:3; }

/* ── base card ── */
.g-card{
  position:relative;border-radius:20px;overflow:hidden;
  transform-style:preserve-3d;will-change:transform;cursor:pointer;
  border:1px solid rgba(255,255,255,.07);
}
.g-card .g-img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s ease;transform:scale(1.06);
}
.g-card:hover .g-img{ transform:scale(1.1); }
.g-card .g-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,
    rgba(5,8,30,.95) 0%,
    rgba(5,8,30,.55) 45%,
    rgba(5,8,30,.08) 100%);
}
.g-card .g-glare{
  position:absolute;inset:0;pointer-events:none;z-index:5;
  opacity:0;transition:opacity .3s;border-radius:inherit;
}

/* ── body ── */
.g-card .g-body{
  position:absolute;bottom:0;left:0;right:0;
  padding:20px 22px 22px;z-index:3;
}
/* ── tag pill ── */
.g-card .g-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#fff;border-radius:50px;padding:4px 12px;margin-bottom:10px;
  border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);
}
/* tag colours per card */
.g-card.gc-featured .g-tag { background:rgba(124,58,237,.75); }
.g-card.gc-social   .g-tag { background:rgba(219,39,119,.75); }
.g-card.gc-content  .g-tag { background:rgba(124,58,237,.75); }
.g-card.gc-perf     .g-tag { background:rgba(37,99,235,.75);  }
.g-card.gc-crm      .g-tag { background:rgba(13,148,136,.75); }
.g-card.wide        .g-tag { background:rgba(234,88,12,.75);  }

/* ── title & desc ── */
.g-card .g-title{
  font-family:'Sora',sans-serif;font-size:1.2rem;font-weight:800;
  color:#fff;line-height:1.25;margin-bottom:6px;
}
.g-card.gc-featured .g-title{ font-size:1.55rem; }
.g-card.wide        .g-title{ font-size:1.55rem; }
.g-card .g-desc{
  font-size:.8rem;color:rgba(255,255,255,.72);line-height:1.55;
}

/* ── coloured circle arrow ── */
.g-card .g-arrow{
  position:absolute;bottom:20px;right:20px;
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;z-index:4;transition:transform .3s;
}
.g-card:hover .g-arrow{ transform:scale(1.12); }
.g-card.gc-featured .g-arrow{ background:rgba(124,58,237,.9);  }
.g-card.gc-social   .g-arrow{ background:rgba(219,39,119,.9);  }
.g-card.gc-content  .g-arrow{ background:rgba(124,58,237,.9);  }
.g-card.gc-perf     .g-arrow{ background:rgba(37,99,235,.9);   }
.g-card.gc-crm      .g-arrow{ background:rgba(13,148,136,.9);  }
.g-card.wide        .g-arrow{ background:rgba(234,88,12,.9);   }

/* ── wide card orange border glow ── */
.g-card.wide{
  border:1px solid rgba(234,88,12,.45);
  box-shadow:0 0 0 1px rgba(234,88,12,.15), inset 0 0 60px rgba(234,88,12,.06);
}
.g-card.wide .g-body{ padding:24px 28px 28px; }

/* ── wide extras row ── */
.g-wide-extras{
  display:flex;gap:24px;margin-top:14px;flex-wrap:wrap;align-items:center;
}
.g-wide-extra{
  display:flex;align-items:center;gap:8px;
}
.g-wide-extra-icon{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.g-wide-extra-text{ display:flex;flex-direction:column; }
.g-wide-extra-text b{ font-size:.78rem;font-weight:700;color:#fff; }
.g-wide-extra-text span{ font-size:.68rem;color:rgba(255,255,255,.5); }

/* ── responsive ── */
@media(max-width:900px){
  .growth-gallery{ grid-template-columns:1fr; grid-template-rows:auto; }
  .g-card.gc-featured,.g-card.gc-social,.g-card.wide{ grid-column:1; grid-row:auto; height:260px; }
  .gc-row2{ grid-column:1; grid-row:auto; grid-template-columns:1fr; }
  .gc-row2 .g-card{ height:220px; }
}

/* ── INDUSTRY TILT CARDS ── */
.ind-tilt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ind-tilt-card{position:relative;border-radius:var(--r-xl);overflow:hidden;padding:28px 24px;min-height:210px;display:flex;flex-direction:column;transform-style:preserve-3d;will-change:transform;transition:transform .5s cubic-bezier(.23,1,.32,1),box-shadow .5s cubic-bezier(.23,1,.32,1);cursor:default;box-shadow:0 4px 20px rgba(0,0,0,.3)}
.ind-tilt-card:hover{box-shadow:0 20px 60px rgba(0,0,0,.5)}
.ind-tilt-card .itc-bg{position:absolute;inset:0;z-index:0;transition:opacity .3s}
.ind-tilt-card .itc-noise{position:absolute;inset:0;z-index:1;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ind-tilt-card .itc-glare{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;border-radius:inherit;transition:opacity .3s}
.ind-tilt-card:hover .itc-glare{opacity:1}
.ind-tilt-card .itc-content{position:relative;z-index:3;display:flex;flex-direction:column;height:100%}
.ind-tilt-card .itc-icon{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:16px;transition:transform .4s cubic-bezier(.23,1,.32,1),background .3s}
.ind-tilt-card:hover .itc-icon{transform:translateZ(30px) scale(1.12);background:rgba(255,255,255,.25)}
.ind-tilt-card .itc-title{font-family:'Sora',sans-serif;font-size:.98rem;font-weight:700;color:#fff;margin-bottom:6px;transition:transform .3s}
.ind-tilt-card:hover .itc-title{transform:translateZ(15px)}
.ind-tilt-card .itc-desc{font-size:.78rem;color:rgba(255,255,255,.0);line-height:1.65;flex:1;overflow:hidden;max-height:0;transition:max-height .4s ease,color .35s .05s}
.ind-tilt-card:hover .itc-desc{max-height:80px;color:rgba(255,255,255,.78)}
.ind-tilt-card .itc-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px}
.ind-tilt-card .itc-num{font-family:'Sora',sans-serif;font-size:.7rem;font-weight:700;color:rgba(255,255,255,.35);letter-spacing:.08em}
.ind-tilt-card .itc-dot{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:scale(.7);transition:opacity .3s,transform .35s cubic-bezier(.23,1,.32,1)}
.ind-tilt-card:hover .itc-dot{opacity:1;transform:scale(1) translateZ(20px)}
@media(max-width:1024px){.ind-tilt-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.ind-tilt-grid{grid-template-columns:1fr}}

/* ══════════════════════════════════════════
   ENHANCED CARD INTERACTIONS
══════════════════════════════════════════ */

/* ══════════════════════════════════════
   GlowCard Spotlight Effect
   --lx/--ly = local coords inside card
   --xp      = horizontal viewport ratio (0-1) for hue shift
   ══════════════════════════════════════ */
.card{
  --lx:50%; --ly:50%; --xp:0.5;
  --base:220; --spread:200;
  --hue:calc(var(--base) + (var(--xp) * var(--spread)));
}

.card,.card-light,.why-item,.pillar,.contact-info-card,.contact-form,
.funnel-step,.feature-item,.platform-badge,.industry-chip{
  position:relative;overflow:hidden
}
.card>*,.card-light>*,.why-item>*,.pillar>*{position:relative;z-index:1}

/* Spotlight layer — local coords, no fixed attachment */
.card-spotlight{
  position:absolute;inset:0;
  pointer-events:none;z-index:0;
  border-radius:inherit;
  opacity:0;
  transition:opacity .3s ease;
  background:radial-gradient(
    280px 280px at var(--lx) var(--ly),
    hsl(var(--hue) 100% 70% / 0.14) 0%,
    hsl(var(--hue) 80%  55% / 0.06) 50%,
    transparent 75%
  );
}
.card:hover .card-spotlight{ opacity:1 }

/* Border glow on hover */
.card::after{
  content:'';position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px hsl(var(--hue) 80% 65% / 0);
  transition:box-shadow .3s ease;
  pointer-events:none;z-index:2;
}
.card:hover::after{
  box-shadow:inset 0 0 0 1px hsl(var(--hue) 80% 65% / 0.6),
             0 0 24px       hsl(var(--hue) 80% 65% / 0.10);
}

.card,.card-light{
  transition:background var(--transition),border-color var(--transition),
    transform var(--transition),box-shadow var(--transition)
}
.card-light:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:rgba(30,77,183,.2)}

/* Click ripple */
.card-ripple{
  position:absolute;border-radius:50%;
  width:6px;height:6px;
  background:rgba(14,165,233,.35);
  transform:translate(-50%,-50%) scale(0);
  animation:ripple-expand .7s ease-out forwards;
  pointer-events:none;z-index:20
}
@keyframes ripple-expand{
  0%{transform:translate(-50%,-50%) scale(0);opacity:.8}
  100%{transform:translate(-50%,-50%) scale(140);opacity:0}
}
.card-ripple-light{background:rgba(30,77,183,.2)}

/* Feature item hover */
.feature-item{transition:border-color .25s ease,background .25s ease,transform .25s ease}
.feature-item:hover{
  border-color:rgba(14,165,233,.35)!important;
  background:rgba(14,165,233,.07)!important;
  transform:translateX(6px)
}

/* Why item hover */
.why-item{transition:border-color .25s ease,background .25s ease,transform .25s ease}
.why-item:hover{
  border-color:rgba(14,165,233,.3)!important;
  background:rgba(14,165,233,.06)!important;
  transform:translateX(5px)
}

/* Contact item hover */
.contact-item{transition:transform .25s ease}
.contact-item:hover{transform:translateX(5px)}
.contact-item:hover .contact-item-icon{background:linear-gradient(135deg,var(--primary),var(--accent))!important}

/* Platform badge bounce */
.platform-badge{
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),
    background var(--transition),border-color var(--transition);cursor:default
}
.platform-badge:hover{
  transform:translateY(-4px) scale(1.05);
  background:rgba(14,165,233,.15)!important;
  border-color:rgba(14,165,233,.4)!important
}

/* Industry chip bounce */
.industry-chip{
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),
    background var(--transition),border-color var(--transition)
}
.industry-chip:hover{transform:translateY(-3px) scale(1.04)}

/* Value badge bounce */
.value-badge{
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease;cursor:default
}
.value-badge:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 8px 20px rgba(14,165,233,.25)}

/* Tag float */
.tag{
  transition:transform .2s cubic-bezier(.34,1.56,.64,1),
    background var(--transition),border-color var(--transition)
}
.tag:hover{transform:translateY(-2px) scale(1.06);background:rgba(14,165,233,.2)!important}

/* Pillar card */
.pillar{
  transition:transform .35s cubic-bezier(.23,1,.32,1),
    box-shadow .35s ease,border-color var(--transition)
}
.pillar:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 48px rgba(14,165,233,.18);
  border-color:rgba(14,165,233,.4)!important
}
.pillar-icon{transition:transform .35s cubic-bezier(.23,1,.32,1)}
.pillar:hover .pillar-icon{transform:scale(1.18) rotate(-6deg)}

/* Funnel step */
.funnel-step{
  transition:transform .25s cubic-bezier(.34,1.56,.64,1),
    box-shadow .25s ease,border-color .25s ease
}
.funnel-step:hover{
  transform:scaleX(1.03);
  box-shadow:0 8px 28px rgba(14,165,233,.2);
  border-color:rgba(14,165,233,.45)!important
}

/* Magnetic button base */
.btn-primary,.btn-secondary,.nav-cta{transition:transform .1s ease,opacity var(--transition),box-shadow var(--transition)}

/* Counter number */
.count-up{display:inline-block}

/* Stagger fade for grids */
.grid-stagger>.card:nth-child(1),.grid-stagger>.card-light:nth-child(1){transition-delay:.05s}
.grid-stagger>.card:nth-child(2),.grid-stagger>.card-light:nth-child(2){transition-delay:.1s}
.grid-stagger>.card:nth-child(3),.grid-stagger>.card-light:nth-child(3){transition-delay:.15s}
.grid-stagger>.card:nth-child(4),.grid-stagger>.card-light:nth-child(4){transition-delay:.2s}
.grid-stagger>.card:nth-child(5),.grid-stagger>.card-light:nth-child(5){transition-delay:.25s}
.grid-stagger>.card:nth-child(6),.grid-stagger>.card-light:nth-child(6){transition-delay:.3s}

/* Card icon pop */
.card-icon{transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .25s ease}
.card:hover .card-icon,.card-light:hover .card-icon{transform:scale(1.18) rotate(-8deg)}

/* img-card overlay reveal */
.img-card .img-card-overlay{transition:background .35s ease}
.img-card:hover .img-card-overlay{background:linear-gradient(to top,rgba(6,11,39,.95) 0%,rgba(14,165,233,.12) 100%)}
.img-card:hover img{transform:scale(1.06)}
.img-card img{transition:transform .5s ease}


/* Section cursor glow (follows mouse in section) */
.cursor-glow{
  position:fixed;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,165,233,.07) 0%,transparent 70%);
  pointer-events:none;z-index:0;
  transform:translate(-50%,-50%);
  transition:opacity .4s ease;opacity:0
}
/* ── DM Glow Cursor ── */
#dmGlowCursor{
  position:fixed;pointer-events:none;z-index:99999;
  width:52px;height:52px;border-radius:50%;
  background:radial-gradient(circle at 40% 38%,rgba(167,139,250,.55) 0%,rgba(99,102,241,.28) 45%,transparent 72%);
  border:1.5px solid rgba(167,139,250,.7);
  box-shadow:0 0 18px 6px rgba(124,58,237,.45),0 0 40px 12px rgba(99,102,241,.2),inset 0 0 12px rgba(255,255,255,.12);
  transform:translate(-50%,-50%) scale(1);
  transition:width .22s cubic-bezier(.34,1.56,.64,1),
             height .22s cubic-bezier(.34,1.56,.64,1),
             box-shadow .22s ease,
             background .22s ease,
             opacity .3s ease;
  opacity:0;
  display:none;
}
#dmGlowCursor.dm-visible{opacity:1;}
#dmGlowCursor.dm-hover{
  width:80px;height:80px;
  background:radial-gradient(circle at 40% 38%,rgba(196,181,253,.65) 0%,rgba(124,58,237,.35) 45%,transparent 72%);
  box-shadow:0 0 32px 12px rgba(124,58,237,.65),0 0 70px 24px rgba(99,102,241,.3),inset 0 0 20px rgba(255,255,255,.18);
}
/* ── TEXT PARALLAX CONTACT ── */
.tpc-wrap{background:#05070f}
.tpc-panel{padding:0 12px}
.tpc-inner{position:relative;height:150vh}
.tpc-sticky{
  position:sticky;top:12px;
  height:calc(100vh - 24px);
  border-radius:24px;overflow:hidden;
  background-size:cover;background-position:center;
  will-change:transform;transform-origin:center center;
  z-index:0
}
.tpc-base-overlay{position:absolute;inset:0;background:rgba(4,6,16,.62);pointer-events:none}
.tpc-exit-overlay{position:absolute;inset:0;background:#05070f;opacity:0;pointer-events:none;transition:none}
.tpc-copy{
  position:absolute;left:0;top:0;width:100%;height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;text-align:center;pointer-events:none;
  will-change:transform,opacity;z-index:4;
  padding:0 24px;opacity:0
}
.tpc-copy-sub{
  font-size:.85rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.55);margin-bottom:14px
}
@media(min-width:768px){.tpc-copy-sub{font-size:1.1rem;margin-bottom:18px}}
.tpc-copy-head{
  font-size:clamp(2.2rem,6vw,5rem);font-weight:800;
  line-height:1.12;color:#fff;
  text-shadow:0 4px 32px rgba(0,0,0,.5)
}
/* ── RADIAL ORBITAL TIMELINE ── */
.rot-section{padding:clamp(80px,10vw,120px) 0}
.rot-header{text-align:center;margin-bottom:56px}
.rot-wrap{position:relative;width:min(540px,90vw);height:min(540px,90vw);margin:0 auto;flex-shrink:0}
/* Center orb */
.rot-center-orb{position:absolute;top:50%;left:50%;width:72px;height:72px;margin:-36px 0 0 -36px;z-index:10;cursor:pointer}
.rot-orb-ping{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;border:2px solid rgba(99,179,237,.6);animation:rot-ping 2.4s ease-out infinite;pointer-events:none}
@keyframes rot-ping{0%{transform:scale(.85);opacity:.9}100%{transform:scale(2.1);opacity:0}}
.rot-orb-inner{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,#60a5fa,#2563eb,#1e40af);box-shadow:0 0 40px rgba(96,165,250,.7),0 0 80px rgba(37,99,235,.3),0 0 10px rgba(96,165,250,1);display:flex;align-items:center;justify-content:center}
.rot-orb-inner::after{content:'SX';color:#fff;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-shadow:0 0 8px rgba(255,255,255,.8)}
/* Orbit ring */
.rot-ring{position:absolute;top:50%;left:50%;width:78%;height:78%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(59,130,246,.2);box-shadow:0 0 40px rgba(59,130,246,.08),inset 0 0 40px rgba(59,130,246,.04);pointer-events:none}
.rot-ring::before{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px dashed rgba(99,179,237,.3);animation:rot-ring-spin 40s linear infinite}
.rot-ring::after{content:'';position:absolute;inset:12px;border-radius:50%;border:1px solid rgba(139,92,246,.1);animation:rot-ring-spin 25s linear infinite reverse}
@keyframes rot-ring-spin{to{transform:rotate(360deg)}}
/* Nodes */
.rot-nodes{position:absolute;inset:0;pointer-events:none}
.rot-node{position:absolute;width:72px;height:72px;border-radius:50%;border:2px solid color-mix(in srgb,var(--nc,#3b82f6) 40%,transparent);background:color-mix(in srgb,var(--nc,#3b82f6) 14%,rgba(10,15,35,.9));backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;transition:border-color .25s,box-shadow .25s,background .25s;z-index:8;box-shadow:0 0 12px color-mix(in srgb,var(--nc,#3b82f6) 25%,transparent),inset 0 1px 0 rgba(255,255,255,.08);will-change:transform}
.rot-node:hover,.rot-node.active{border-color:var(--nc,#3b82f6);background:color-mix(in srgb,var(--nc,#3b82f6) 28%,rgba(10,15,35,.92));box-shadow:0 0 36px color-mix(in srgb,var(--nc,#3b82f6) 75%,transparent),0 0 10px color-mix(in srgb,var(--nc,#3b82f6) 50%,transparent),inset 0 1px 0 rgba(255,255,255,.2)}
.rot-node svg{width:28px;height:28px;flex-shrink:0;color:var(--nc,#3b82f6);stroke:var(--nc,#3b82f6);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--nc,#3b82f6) 70%,transparent));transition:filter .25s,transform .25s}
.rot-node:hover svg,.rot-node.active svg{filter:drop-shadow(0 0 10px var(--nc,#3b82f6));transform:scale(1.1)}
.rot-node-label{position:absolute;white-space:nowrap;font-size:.72rem;font-weight:700;letter-spacing:.05em;color:color-mix(in srgb,var(--nc,#3b82f6) 80%,#fff);pointer-events:none;transition:color .25s,text-shadow .25s;text-shadow:0 0 8px color-mix(in srgb,var(--nc,#3b82f6) 40%,transparent)}
.rot-node.active .rot-node-label{color:#fff;text-shadow:0 0 10px var(--nc,#3b82f6)}
/* Detail card */
.rot-card{position:absolute;top:50%;left:calc(50% + min(230px,42vw));transform:translateY(-50%);width:220px;background:color-mix(in srgb,var(--nc,#3b82f6) 6%,rgba(8,11,24,.95));border:1px solid color-mix(in srgb,var(--nc,#3b82f6) 35%,transparent);border-radius:20px;padding:20px;backdrop-filter:blur(16px);z-index:20;animation:rot-card-in .3s ease;box-shadow:0 0 30px color-mix(in srgb,var(--nc,#3b82f6) 20%,transparent),inset 0 1px 0 rgba(255,255,255,.06)}
@keyframes rot-card-in{from{opacity:0;transform:translateY(-50%) translateX(16px)}to{opacity:1;transform:translateY(-50%) translateX(0)}}
.rot-card-line{width:32px;height:3px;border-radius:2px;background:var(--nc,#3b82f6);margin-bottom:12px}
.rot-card-badge{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nc,#3b82f6);margin-bottom:8px}
.rot-card-title{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:8px;line-height:1.3}
.rot-card-body{font-size:.8rem;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:14px}
.rot-card-bar-wrap{margin-bottom:14px}
.rot-card-bar-label{display:flex;justify-content:space-between;font-size:.7rem;color:rgba(255,255,255,.5);margin-bottom:6px}
.rot-card-bar-track{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.rot-card-bar-fill{height:100%;background:var(--nc,#3b82f6);border-radius:2px;transition:width .8s ease;width:0}
.rot-card-related{display:flex;flex-wrap:wrap;gap:6px}
.rot-card-rel-btn{font-size:.68rem;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--nc,#3b82f6) 35%,rgba(255,255,255,.1));background:color-mix(in srgb,var(--nc,#3b82f6) 12%,rgba(255,255,255,.04));color:color-mix(in srgb,var(--nc,#3b82f6) 80%,#fff);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.rot-card-rel-btn:hover{background:color-mix(in srgb,var(--nc,#3b82f6) 25%,rgba(255,255,255,.08));border-color:var(--nc,#3b82f6);color:#fff;box-shadow:0 0 8px color-mix(in srgb,var(--nc,#3b82f6) 40%,transparent)}
.rot-hint{position:absolute;bottom:-32px;left:50%;transform:translateX(-50%);font-size:.75rem;color:rgba(255,255,255,.3);letter-spacing:.06em;white-space:nowrap}
/* Responsive: stack card below on small screens */
@media(max-width:860px){
  .rot-card{position:relative;top:auto;left:auto;transform:none;margin:28px auto 0;animation:rot-card-in-mob .3s ease;width:min(320px,90vw)}
  @keyframes rot-card-in-mob{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
}

/* ═══════════ FLOATING PILL NAVBAR ═══════════ */
@keyframes navFloat{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(-3px)}
}
#navbar{
  position:fixed;top:0;left:0;right:0;
  z-index:1000;width:100%;
  padding:0;background:none;border-bottom:none;
  display:flex;justify-content:center;
}
#navbar::before{display:none}
.nav-pill{
  display:flex;align-items:center;gap:4px;
  background:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border:none;
  border-radius:0;padding:14px 24px;
  box-shadow:none;
  white-space:nowrap;
  width:100%;max-width:1200px;
}
.nav-logo-btn{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:50px;cursor:pointer;
  display:flex;align-items:center;gap:10px;
  padding:6px 14px 6px 6px;flex-shrink:0;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
}
.nav-logo-btn:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2);transform:scale(1.04);box-shadow:0 4px 16px rgba(56,189,248,.2)}
.nav-logo-btn:active{transform:scale(.97)}
.nav-logo-img{height:38px;width:auto;transition:filter .2s}
.nav-logo-btn:hover .nav-logo-img{filter:drop-shadow(0 0 8px rgba(56,189,248,.5))}
.nav-logo-text{font-size:1rem;font-weight:800;background:linear-gradient(135deg,#fff 30%,#38BDF8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:none}
.nav-sep{width:1px;height:22px;background:rgba(255,255,255,.1);margin:0 4px;flex-shrink:0}
.nav-links{display:flex;align-items:center;gap:1px;flex:none;padding:0 4px}
.nav-links a,.nav-dropdown-btn{
  position:relative;font-size:.83rem;font-weight:500;
  color:rgba(255,255,255,.65);padding:8px 14px;border-radius:50px;
  background:none;border:none;cursor:pointer;
  transition:color .18s,background .18s,transform .18s;
  white-space:nowrap;height:38px;
  display:inline-flex;align-items:center;gap:5px;
  text-decoration:none;
}
.nav-links a::before{
  content:'';position:absolute;bottom:4px;left:50%;right:50%;
  height:2px;border-radius:2px;
  background:linear-gradient(90deg,#38BDF8,#818CF8);
  transition:left .25s ease,right .25s ease,opacity .25s;opacity:0;
}
.nav-links a:hover,.nav-dropdown-btn:hover{color:#fff;background:rgba(255,255,255,.08);transform:translateY(-1px)}
.nav-links a:hover::before,.nav-links a.active::before{left:20%;right:20%;opacity:1}
.nav-links a.active{color:#fff}
.nav-dropdown{position:relative}
.nav-dropdown-btn svg{transition:transform .22s ease;opacity:.55}
.nav-dropdown:hover .nav-dropdown-btn,.nav-dropdown.open .nav-dropdown-btn{color:#fff;background:rgba(255,255,255,.08);transform:translateY(-1px)}
.nav-dropdown:hover svg,.nav-dropdown.open svg{transform:rotate(180deg);opacity:1}
/* MEGA MENU */
.nav-mega{
  position:absolute;top:calc(100% + 14px);left:50%;
  transform:translateX(-50%) translateY(-10px);
  background:rgba(5,8,24,.96);
  border:1px solid rgba(255,255,255,.1);
  border-radius:20px;padding:20px;width:660px;
  opacity:0;visibility:hidden;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
  box-shadow:0 28px 70px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.05);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);z-index:200;
}
.nav-dropdown:hover .nav-mega,.nav-dropdown.open .nav-mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.nav-mega-item{
  display:flex;align-items:center;gap:12px;
  padding:10px 12px;border-radius:10px;
  color:rgba(255,255,255,.65);font-size:.8rem;font-weight:500;
  cursor:pointer;transition:background .15s,color .15s,transform .15s;
  text-decoration:none;
}
.nav-mega-item:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(3px)}
.nav-mega-item:hover .nav-mega-icon{transform:scale(1.12) rotate(-3deg)}
.nav-mega-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}
.nav-mega-icon svg{width:14px;height:14px;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nav-mega-name{font-weight:600;font-size:.8rem;color:#fff;display:block}
.nav-mega-desc{font-size:.67rem;color:rgba(255,255,255,.3);margin-top:1px;display:block}
.nav-mega-footer{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between}
.nav-mega-all{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:#38BDF8;padding:7px 14px;border-radius:8px;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.16);cursor:pointer;text-decoration:none;transition:background .18s,border-color .18s,gap .18s}
.nav-mega-all:hover{background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.3);gap:10px}
.nav-mega-all svg{width:13px;height:13px;stroke:currentColor;stroke-width:2.5;fill:none}
/* CTA */
.nav-cta{
  display:inline-flex;align-items:center;gap:7px;
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#1a65f0,#38BDF8);
  color:#fff;padding:9px 20px;border-radius:50px;
  font-size:.82rem;font-weight:700;border:none;cursor:pointer;height:40px;
  transition:transform .2s,box-shadow .2s;
  box-shadow:0 4px 18px rgba(56,189,248,.35);flex-shrink:0;
}
.nav-cta:hover{transform:scale(1.06) translateY(-1px);box-shadow:0 8px 28px rgba(56,189,248,.5)}
.nav-cta:active{transform:scale(.97)}
.nav-cta svg{width:13px;height:13px;stroke:#fff;stroke-width:2.5;fill:none;transition:transform .2s}
.nav-cta:hover svg{transform:translateX(3px)}
/* HAMBURGER */
.hamburger{display:none;flex-direction:column;gap:4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:9px;height:40px;width:40px;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background .2s}
.hamburger:hover{background:rgba(255,255,255,.15)}
.hamburger span{display:block;width:18px;height:1.5px;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.hamburger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.page{padding-top:0}
/* MOBILE DRAWER */
#mobile-menu{display:none;position:fixed;inset:0;z-index:9999;pointer-events:none}
#mobile-menu.open{display:block;pointer-events:auto}
.mob-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:1;cursor:pointer}
.mob-drawer{
  position:absolute;top:0;left:0;bottom:0;
  width:88vw;max-width:360px;
  background:rgba(6,9,22,.97);
  border-right:1px solid rgba(255,255,255,.08);
  transform:translateX(-100%);
  transition:transform .38s cubic-bezier(.16,1,.3,1);
  display:flex;flex-direction:column;
  overflow-y:auto;overflow-x:hidden;
  z-index:2;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.mob-drawer::-webkit-scrollbar{display:none}
#mobile-menu.open .mob-drawer{transform:translateX(0)}
@media(min-width:901px){#mobile-menu{display:none!important}}
.mob-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.mob-brand{display:flex;align-items:center;gap:10px}
.mob-brand img{height:32px;width:auto}
.mob-brand-name{font-size:.95rem;font-weight:800;color:#fff}
.mob-close{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.mob-close:hover{background:rgba(255,255,255,.15)}
.mob-close svg{width:16px;height:16px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mob-nav{padding:16px 16px 0;flex:1}
.mob-nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;color:rgba(255,255,255,.7);font-size:.88rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s;margin-bottom:4px;text-decoration:none;width:100%;background:none;border:none;text-align:left}
.mob-nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.mob-nav-link svg{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.mob-section-label{font-size:.65rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);padding:14px 14px 8px;display:block}
.mob-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 0 16px}
.mob-service-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);cursor:pointer;transition:background .2s,border-color .2s;text-align:center}
.mob-service-btn:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.mob-service-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.mob-service-icon svg{width:16px;height:16px;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mob-service-name{font-size:.72rem;font-weight:600;color:rgba(255,255,255,.75);line-height:1.3}
.mob-footer{padding:16px;border-top:1px solid rgba(255,255,255,.07);flex-shrink:0}
.mob-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:linear-gradient(135deg,#1a65f0,#38BDF8);color:#fff;border-radius:14px;font-size:.88rem;font-weight:700;border:none;cursor:pointer;transition:opacity .2s}
.mob-cta:hover{opacity:.9}
.mob-cta svg{width:14px;height:14px;stroke:#fff;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){
  #navbar{width:calc(100% - 28px);top:12px;animation:none}
  .nav-pill{width:100%;border-radius:16px;padding:7px;justify-content:space-between}
  .nav-links,.nav-cta,.nav-sep{display:none}
  .hamburger{display:flex}
}

/* ── INITIALS AVATARS ── */
.testi-avatar{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:var(--av,#1a3a6c);color:#fff;font-weight:700;font-size:13px;
  letter-spacing:.5px;user-select:none;
}
/* ── CIRCULAR TESTIMONIALS ── */
.ct-section{padding:100px 0 110px;background:#080b18}
.ct-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ct-images{position:relative;height:320px;perspective:1000px}
.ct-img-card{position:absolute;inset:0;border-radius:24px;background:linear-gradient(145deg,#0d1228,#141830);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:transform .8s cubic-bezier(.4,2,.3,1),opacity .8s cubic-bezier(.4,2,.3,1)}
.ct-img-glow{position:absolute;inset:0;border-radius:24px;pointer-events:none}
.ct-img-initials{font-size:clamp(3rem,8vw,5rem);font-weight:900;letter-spacing:4px;line-height:1;position:relative;z-index:1}
.ct-img-label{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);position:relative;z-index:1}
.ct-content{display:flex;flex-direction:column;gap:28px}
.ct-quote-wrap{min-height:200px}
.ct-q-animate{opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease}
.ct-q-animate.ct-q-in{opacity:1;transform:translateY(0)}
.ct-q-cat{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px}
.ct-q-name{color:#fff;font-size:1.35rem;font-weight:800;line-height:1.2;margin-bottom:4px}
.ct-q-sub{color:rgba(255,255,255,.38);font-size:.8rem;margin-bottom:20px}
.ct-q-text{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.8;font-style:italic;margin:0 0 20px}
.ct-word{display:inline-block;animation:ct-blur-in .3s ease both}
@keyframes ct-blur-in{from{opacity:0;filter:blur(8px);transform:translateY(4px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
.ct-q-result{display:flex;align-items:center;gap:8px;color:#4ade80;font-size:.78rem;font-weight:700;letter-spacing:.05em}
.ct-arrows{display:flex;gap:12px}
.ct-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.ct-arrow:hover{background:#0ea5e9;border-color:#0ea5e9;color:#fff}
@media(max-width:800px){.ct-wrap{grid-template-columns:1fr;gap:40px}.ct-images{height:240px}}
/* ── TEAM SHOWCASE (photo grid + name list) ── */
.ts-section{padding:100px 0 120px;background:#07091a}
.ts-layout{display:flex;flex-direction:row;align-items:flex-start;gap:56px;max-width:960px;margin:0 auto;user-select:none}
/* Photo columns */
.ts-photos{display:flex;gap:10px;flex-shrink:0}
.ts-col{display:flex;flex-direction:column;gap:10px}
.ts-col-2{margin-top:68px}
.ts-col-3{margin-top:32px}
.ts-photo-card{border-radius:16px;overflow:hidden;cursor:pointer;flex-shrink:0;transition:opacity .3s}
.ts-col-1 .ts-photo-card{width:155px;height:165px}
.ts-col-2 .ts-photo-card{width:172px;height:182px}
.ts-col-3 .ts-photo-card{width:162px;height:172px}
.ts-av{width:100%;height:100%;border-radius:16px;background:linear-gradient(145deg,var(--av,#1a3a8c),color-mix(in srgb,var(--av) 50%,#000));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:4px;transition:filter .4s}
/* Name list */
.ts-names{display:flex;flex-direction:column;gap:20px;padding-top:8px;flex:1}
.ts-row{cursor:pointer;transition:opacity .3s}
.ts-row-top{display:flex;align-items:center;gap:10px}
.ts-indicator{display:block;width:16px;height:12px;border-radius:5px;background:rgba(255,255,255,.2);flex-shrink:0;transition:background .3s,width .3s}
.ts-indicator.ts-ind-active{background:#fff;width:20px}
.ts-name{font-size:1.1rem;font-weight:600;color:rgba(255,255,255,.75);letter-spacing:-.01em;transition:color .3s}
.ts-name.ts-name-active{color:#fff}
.ts-socials{display:flex;gap:4px;opacity:0;transform:translateX(-8px);pointer-events:none;transition:opacity .25s,transform .25s}
.ts-soc-link{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);text-decoration:none;transition:color .15s,background .15s}
.ts-soc-link:hover{color:#fff;background:rgba(255,255,255,.14)}
.ts-role{margin:6px 0 0 26px;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3)}
/* shared header styles (reused from lux) */
.lux-team-header{text-align:center;margin-bottom:72px}
.lux-team-eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;color:#b8a06a;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.lux-eyebrow-line{display:block;width:40px;height:1px;background:linear-gradient(90deg,transparent,#b8a06a)}
.lux-team-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;line-height:1.15;margin:0}
.lux-team-title em{font-style:normal;background:linear-gradient(90deg,#b8a06a,#f0d98e,#b8a06a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.lux-team-sub{color:rgba(255,255,255,.4);font-size:.92rem;line-height:1.75;max-width:440px;margin:16px auto 0}
/* Responsive */
@media(max-width:900px){
  .ts-layout{flex-direction:column;gap:40px}
  .ts-col-1 .ts-photo-card{width:110px;height:120px}
  .ts-col-2 .ts-photo-card{width:122px;height:132px}
  .ts-col-3 .ts-photo-card{width:115px;height:125px}
  .ts-col-2{margin-top:48px}
  .ts-col-3{margin-top:22px}
  .ts-names{display:grid;grid-template-columns:1fr 1fr;gap:16px}
}
/* legacy */
.team-section{background:linear-gradient(180deg,var(--dark-2) 0%,#0a0f1e 100%)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;transition:transform .25s,border-color .25s,box-shadow .25s}
.team-card:hover{transform:translateY(-6px);border-color:rgba(0,212,255,.3);box-shadow:0 16px 48px rgba(0,212,255,.12)}
.team-card-av{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--av,#1a3a8c) 0%,color-mix(in srgb,var(--av,#1a3a8c) 55%,#000) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:1.6rem;letter-spacing:2px;flex-shrink:0;box-shadow:0 8px 24px color-mix(in srgb,var(--av,#1a3a8c) 40%,transparent)}
.team-card-name{color:#fff;font-weight:700;font-size:1.05rem;line-height:1.3}
.team-card-role{color:rgba(255,255,255,.45);font-size:.82rem;line-height:1.5;margin-top:2px}
.team-card-socials{display:flex;gap:8px;margin-top:4px}
.team-soc{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.5);transition:background .2s,color .2s}
.team-soc:hover{background:rgba(0,212,255,.15);color:#00d4ff}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.team-grid{grid-template-columns:1fr}}
.dm-team-showcase{display:flex;gap:32px;align-items:flex-start;flex-wrap:wrap}
.dm-ts-photos{display:flex;gap:12px;flex-shrink:0}
.dm-ts-col{display:flex;flex-direction:column;gap:12px}
.dm-ts-photo{width:160px;height:160px;border-radius:16px;overflow:hidden;flex-shrink:0}
.team-avatar{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;border-radius:16px;
  background:linear-gradient(135deg,var(--av,#1a3a6c) 0%,color-mix(in srgb,var(--av,#1a3a6c) 60%,#000) 100%);
  color:#fff;font-weight:800;font-size:clamp(24px,3vw,40px);
  letter-spacing:2px;user-select:none;
}
@media(max-width:768px){.dm-ts-photo{width:100px;height:100px}}

