/* ================================================================
   Shypher Technologies — PREMIUM ANIMATION SYSTEM v2.0
   ✦ 3D Tilt Cards  ✦ Aurora Background  ✦ Spotlight Cursor
   ✦ Shimmer Text   ✦ Animated Borders   ✦ Button Shine
   ✦ Word Reveal    ✦ Magnetic Buttons   ✦ Glass Morphism
   ✦ Particle Web   ✦ Page Transitions   ✦ Spring Physics
   ================================================================ */

/* ── SMOOTH SCROLL + CUSTOM SCROLLBAR ── */
html { scroll-behavior: smooth; }
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:var(--bg0); }
::-webkit-scrollbar-thumb { background:linear-gradient(180deg,var(--blue),var(--teal)); border-radius:10px; }
::-webkit-scrollbar-thumb:hover { background:linear-gradient(180deg,var(--blue),#7C3AED); }

/* ── SCROLL PROGRESS BAR ── */
#anim-progress {
  position:fixed; top:0; left:0; width:0%; height:3px;
  background:linear-gradient(90deg,var(--blue),var(--teal),#7C3AED);
  z-index:99999; transition:width .06s linear;
  border-radius:0 3px 3px 0; pointer-events:none; will-change:width;
  box-shadow:0 0 14px rgba(37,99,235,.65),0 0 5px rgba(5,150,105,.5);
}

/* ── NAVBAR GLASS ── */
.nav {
  transition: background .5s cubic-bezier(.22,1,.36,1), backdrop-filter .5s ease,
              -webkit-backdrop-filter .5s ease, box-shadow .5s ease,
              border-bottom-color .5s ease !important;
}
.nav.nav-top {
  background:rgba(255,255,255,.02) !important;
  backdrop-filter:blur(0px) !important; -webkit-backdrop-filter:blur(0px) !important;
  border-bottom-color:transparent !important; box-shadow:none !important;
}
body.dark .nav.nav-top { background:rgba(8,13,26,.02) !important; }
.nav.nav-top .nl-btn, .nav.nav-top .logo-sh, .nav.nav-top .logo-in {
  color:rgba(255,255,255,.95) !important; text-shadow:0 1px 8px rgba(0,0,0,.3);
}
.nav.scrolled {
  background:var(--nav-bg) !important;
  backdrop-filter:blur(28px) saturate(2) !important;
  -webkit-backdrop-filter:blur(28px) saturate(2) !important;
  box-shadow:0 4px 40px rgba(37,99,235,.1),0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 var(--border) !important;
}

/* ── AURORA AMBIENT BACKGROUND ── */
body::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(ellipse 80% 60% at 10% 20%, rgba(37,99,235,.045), transparent 65%),
    radial-gradient(ellipse 60% 50% at 90% 80%, rgba(5,150,105,.04),  transparent 65%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(124,58,237,.025),transparent 60%);
  animation:auroraShift 22s ease-in-out infinite alternate;
}
body.dark::before {
  background:
    radial-gradient(ellipse 80% 60% at 10% 20%, rgba(96,165,250,.07),  transparent 65%),
    radial-gradient(ellipse 60% 50% at 90% 80%, rgba(52,211,153,.06),  transparent 65%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(167,139,250,.05), transparent 60%);
}
@keyframes auroraShift {
  0%  {background-position:10% 20%,90% 80%,50% 50%;}
  33% {background-position:20% 40%,70% 60%,40% 60%;}
  66% {background-position:5%  10%,80% 90%,60% 40%;}
  100%{background-position:15% 30%,85% 70%,45% 55%;}
}

/* ── SCROLL REVEAL ── */
[data-r] {
  opacity:0; transform:translateY(32px);
  transition:opacity .72s cubic-bezier(.22,1,.36,1), transform .72s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
[data-r].in { opacity:1; transform:translateY(0); }
[data-r-left] {
  opacity:0; transform:translateX(-36px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
[data-r-left].in { opacity:1; transform:translateX(0); }

/* ── HERO ENTRANCE ── */
.hero-eyebrow { animation:heroUp .8s  cubic-bezier(.22,1,.36,1) .30s both; }
.hero-title   { animation:heroUp .9s  cubic-bezier(.22,1,.36,1) .45s both; }
.hero-sub     { animation:heroUp .8s  cubic-bezier(.22,1,.36,1) .60s both; }
.hero-btns    { animation:heroUp .7s  cubic-bezier(.22,1,.36,1) .74s both; }
.hero-badges  { animation:heroUp .7s  cubic-bezier(.22,1,.36,1) .88s both; }
.hero-right   { animation:heroRight .95s cubic-bezier(.22,1,.36,1) .5s both; }
@keyframes heroUp    { from{opacity:0;transform:translateY(38px);}     to{opacity:1;transform:translateY(0);} }
@keyframes heroRight { from{opacity:0;transform:translateX(52px) scale(.96);} to{opacity:1;transform:translateX(0) scale(1);} }
.hero-left[data-r], .hero-right[data-r] { opacity:1 !important; transform:none !important; transition:none !important; }

/* ── SHIMMER TEXT on accents ── */
.sh h2 .accent, .grad-b { background-size:200% auto; animation:textShimmer 4s linear infinite; }
@keyframes textShimmer { 0%{background-position:0% center;} 50%{background-position:200% center;} 100%{background-position:0% center;} }

/* ── BUTTON — shine sweep + ripple ── */
.btn {
  position:relative; overflow:hidden; isolation:isolate;
  transition:transform .32s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease,
              background .28s ease, border-color .28s ease !important;
  will-change:transform,box-shadow;
}
.btn::before {
  content:''; position:absolute; top:-50%; left:-80%;
  width:60%; height:200%;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);
  transform:skewX(-15deg);
  transition:left .55s cubic-bezier(.22,1,.36,1);
  pointer-events:none; z-index:1;
}
.btn:hover::before { left:120%; }
.btn::after {
  content:''; position:absolute; inset:0; border-radius:inherit;
  background:rgba(255,255,255,.08); opacity:0; transform:scale(.8);
  transition:opacity .3s, transform .3s; pointer-events:none;
}
.btn:hover::after { opacity:1; transform:scale(1); }
.btn-p:hover {
  transform:translateY(-4px) scale(1.02) !important;
  box-shadow:0 16px 40px rgba(37,99,235,.4),0 4px 12px rgba(37,99,235,.25),inset 0 1px 0 rgba(255,255,255,.15) !important;
}
.btn-o:hover {
  transform:translateY(-4px) scale(1.02) !important;
  box-shadow:0 12px 32px rgba(37,99,235,.22) !important;
}
.btn:active { transform:translateY(-1px) scale(.99) !important; }
.cta-band .btn:hover { transform:translateY(-4px) !important; box-shadow:0 14px 36px rgba(0,0,0,.28) !important; }
.btn-ripple-wave {
  position:absolute; border-radius:50%;
  background:rgba(255,255,255,.3); transform:scale(0);
  animation:rippleExpand .6s linear; pointer-events:none; z-index:2;
}
@keyframes rippleExpand { to{transform:scale(4);opacity:0;} }

/* ── 3D TILT BASE ── */
.sc, .why-item, .testi-card, .gcard, .sp-card, .srv-item, .dm-card, .mv-card, .team-card, .stat-box {
  transform-style:preserve-3d; will-change:transform,box-shadow;
}

/* Animated gradient border on hover */
.sc, .why-item, .gcard, .sp-card, .srv-item { position:relative; }
.sc::after, .why-item::after, .gcard::after, .sp-card::after, .srv-item::after {
  content:''; position:absolute; inset:-1px; border-radius:inherit; padding:1px;
  background:linear-gradient(135deg,var(--blue),var(--teal),#7C3AED,var(--blue));
  background-size:300% 300%;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:destination-out; mask-composite:exclude;
  opacity:0; transition:opacity .35s; animation:gradBorder 3s linear infinite paused;
  pointer-events:none; z-index:0;
}
.sc:hover::after, .why-item:hover::after, .gcard:hover::after, .sp-card:hover::after, .srv-item:hover::after {
  opacity:1; animation-play-state:running;
}
@keyframes gradBorder { 0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;} }

/* Card hover shadows */
.sc:hover         { box-shadow:0 24px 60px rgba(37,99,235,.18),0 8px 24px rgba(37,99,235,.1) !important; }
.why-item:hover   { box-shadow:0 22px 54px rgba(37,99,235,.15) !important; }
.gcard:hover      { box-shadow:0 22px 56px rgba(37,99,235,.14) !important; }
.testi-card:hover { box-shadow:0 20px 52px rgba(37,99,235,.14),0 4px 16px rgba(37,99,235,.08) !important; }
.stat-box:hover   { box-shadow:0 0 0 2px rgba(255,255,255,.2),0 16px 40px rgba(255,255,255,.08) !important; }

/* ── CURSOR SPOTLIGHT ── */
#anim-spotlight {
  position:fixed; inset:0; pointer-events:none; z-index:1;
  background:radial-gradient(600px circle at var(--cx,50%) var(--cy,50%),rgba(37,99,235,.065),transparent 50%);
  opacity:0; transition:opacity .4s;
}
body.spotlight-active #anim-spotlight { opacity:1; }

/* ── CUSTOM CURSOR ── */
@media (hover:hover) and (pointer:fine) { body, *, *::before, *::after { cursor:none !important; } }
#anim-cursor-dot {
  position:fixed; width:9px; height:9px; background:var(--blue); border-radius:50%;
  pointer-events:none; z-index:999999; transform:translate(-50%,-50%);
  mix-blend-mode:screen; transition:width .18s,height .18s,background .18s,opacity .2s;
  will-change:left,top; box-shadow:0 0 10px rgba(37,99,235,.8);
}
#anim-cursor-ring {
  position:fixed; width:36px; height:36px; border:1.5px solid rgba(37,99,235,.55);
  border-radius:50%; pointer-events:none; z-index:999998; transform:translate(-50%,-50%);
  transition:width .38s cubic-bezier(.22,1,.36,1),height .38s cubic-bezier(.22,1,.36,1),border-color .3s,opacity .3s;
  will-change:left,top;
}
body.cursor-hover #anim-cursor-dot  { width:14px;height:14px;background:var(--teal);box-shadow:0 0 16px rgba(5,150,105,.9); }
body.cursor-hover #anim-cursor-ring { width:52px;height:52px;border-color:rgba(5,150,105,.4); }
body.cursor-click #anim-cursor-dot  { width:5px;height:5px; }
body.cursor-click #anim-cursor-ring { width:24px;height:24px;border-color:rgba(37,99,235,.8); }
@media (hover:none),(pointer:coarse) {
  #anim-cursor-dot,#anim-cursor-ring { display:none !important; }
  body, *, *::before, *::after { cursor:auto !important; }
  a, button { cursor:pointer !important; }
}

/* ── PARTICLE CANVAS ── */
#anim-particles { position:fixed; inset:0; pointer-events:none; z-index:0; }
#anim-particles canvas { width:100%;height:100%;opacity:.45; }

/* ── PAGE TRANSITION OVERLAY ── */
#anim-overlay {
  position:fixed; inset:0;
  background:linear-gradient(135deg,var(--blue),var(--teal));
  z-index:999990; pointer-events:none; opacity:0;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .55s cubic-bezier(.76,0,.24,1),opacity .2s;
}
#anim-overlay.anim-enter { clip-path:inset(0 0% 0 0); opacity:1; pointer-events:all; }
#anim-overlay.anim-exit  { clip-path:inset(0 0 0 100%); opacity:1; }

/* ── HERO SLIDER FLOAT + GLOW ── */
.hero-slider-wrap {
  animation:heroFloat 7s ease-in-out infinite; will-change:transform;
  filter:drop-shadow(0 32px 48px rgba(37,99,235,.22));
}
@keyframes heroFloat { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-14px);} }
@keyframes slideIn { from{opacity:0;transform:translateX(28px) scale(.97);} to{opacity:1;transform:translateX(0) scale(1);} }

/* ── STATS BAND ── */
.stats-band .stat-box .num {
  text-shadow:0 0 28px rgba(255,255,255,.3);
  display:inline-block; transition:transform .25s cubic-bezier(.34,1.56,.64,1) !important;
}
.stats-band .stat-box:hover .num { transform:scale(1.12) !important; }
.stat-box { transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease !important; overflow:hidden; }
.stat-box::before {
  content:''; position:absolute; top:-50%;left:-80%;
  width:60%;height:200%;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.1) 50%,transparent 70%);
  transform:skewX(-15deg); transition:left .6s ease; pointer-events:none;
}
.stat-box:hover::before { left:130%; }

/* ── PROCESS STEPS ── */
.pico {
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .3s,box-shadow .3s,border-color .3s !important;
}
.pstep:hover .pico {
  transform:scale(1.22) rotate(-6deg) !important;
  background:var(--blue) !important; border-color:var(--blue) !important;
  box-shadow:0 0 0 8px rgba(37,99,235,.12),0 8px 24px rgba(37,99,235,.35) !important;
}
.pnum { transition:color .25s,transform .3s cubic-bezier(.34,1.56,.64,1) !important; }
.pstep:hover .pnum { color:var(--blue) !important; transform:scale(1.18) !important; }
.proc-grid::before {
  background:linear-gradient(90deg,var(--blue),var(--teal),var(--blue)) !important;
  background-size:200% 100% !important; animation:connFlow 3s linear infinite; opacity:.35 !important;
}
@keyframes connFlow { 0%{background-position:0% 0;} 100%{background-position:200% 0;} }

/* ── SERVICE CARD ICONS ── */
.sc-ico { transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s !important; }
.sc:hover .sc-ico.blue   { transform:scale(1.18)!important;box-shadow:0 0 20px rgba(37,99,235,.38)!important; }
.sc:hover .sc-ico.green,
.sc:hover .sc-ico.teal   { transform:scale(1.18)!important;box-shadow:0 0 20px rgba(5,150,105,.38)!important; }
.sc:hover .sc-ico.purple { transform:scale(1.18)!important;box-shadow:0 0 20px rgba(124,58,237,.38)!important; }
.sc:hover .sc-ico.orange { transform:scale(1.18)!important;box-shadow:0 0 20px rgba(249,115,22,.38)!important; }
.sc:hover .sc-ico.cyan   { transform:scale(1.18)!important;box-shadow:0 0 20px rgba(8,145,178,.38)!important; }
.sc-link { display:inline-flex;align-items:center;gap:4px;position:relative;transition:gap .28s ease,color .22s !important; }
.sc-link::after { content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .3s; }
.sc:hover .sc-link::after { width:100%; }
.sc:hover .sc-link { gap:10px; }

/* ── TESTIMONIAL CARDS ── */
.testi-card::before { transition:opacity .3s,transform .3s !important; }
.testi-card:hover::before { opacity:.15 !important;transform:scale(1.12) !important; }
.testi-avatar { transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .3s !important; }
.testi-card:hover .testi-avatar { transform:scale(1.1) rotate(-4deg) !important;box-shadow:0 6px 20px rgba(37,99,235,.3) !important; }

/* ── WHY ITEM ICONS ── */
.why-ico { display:inline-block;transition:transform .35s cubic-bezier(.34,1.56,.64,1) !important; }
.why-item:hover .why-ico { transform:scale(1.32) rotate(-6deg) !important; }

/* ── CTA BAND ANIMATED GRADIENT ── */
.cta-band {
  background-size:200% 200% !important;
  background-image:linear-gradient(135deg,var(--blue) 0%,var(--teal) 30%,#7C3AED 60%,var(--blue) 100%) !important;
  animation:ctaGrad 8s ease infinite; position:relative; overflow:hidden;
}
.cta-band::after {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  pointer-events:none;
}
@keyframes ctaGrad { 0%,100%{background-position:0% 50%;} 50%{background-position:100% 50%;} }

/* ── TICKER EDGE FADES ── */
.ticker { position:relative; overflow:hidden; }
.ticker::before,.ticker::after { content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none; }
.ticker::before { left:0;  background:linear-gradient(90deg, var(--blue),transparent); }
.ticker::after  { right:0; background:linear-gradient(-90deg,var(--blue),transparent); }

/* ── INDUSTRY CARDS ── */
.ind-card { transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s,border-color .28s !important; }
.ind-card:hover { transform:translateY(-8px) scale(1.04)!important;box-shadow:0 16px 40px rgba(37,99,235,.18)!important;border-color:var(--border2)!important; }
.ind-ico { display:inline-block;transition:transform .35s cubic-bezier(.34,1.56,.64,1) !important; }
.ind-card:hover .ind-ico { transform:scale(1.32) rotate(-5deg) !important; }

/* ── LOGO ── */
.logo { transition:transform .32s cubic-bezier(.34,1.56,.64,1) !important; }
.logo:hover { transform:scale(1.05) !important; }
.logo:hover .logo-mk { box-shadow:0 0 0 6px rgba(37,99,235,.15),0 8px 24px rgba(37,99,235,.3) !important; }
.logo-dot { animation:logoDot 2.2s ease-in-out infinite !important; }
@keyframes logoDot { 0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(5,150,105,.5);} 50%{transform:scale(1.4);box-shadow:0 0 0 5px rgba(5,150,105,0);} }

/* ── FORM INPUTS ── */
.fg input,.fg select,.fg textarea { transition:border-color .28s,box-shadow .28s,transform .22s !important; }
.fg input:focus,.fg select:focus,.fg textarea:focus { transform:translateY(-2px) !important;border-color:var(--blue) !important;box-shadow:0 6px 24px rgba(37,99,235,.12),0 0 0 4px rgba(37,99,235,.08) !important; }
.fg:focus-within label { color:var(--blue) !important; }

/* ── FOOTER ── */
.fsoc a { transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,background .25s !important; }
.fsoc a:hover { transform:translateY(-5px) scale(1.12) !important;box-shadow:0 10px 28px rgba(0,0,0,.4) !important; }
.fc a { transition:color .22s,padding-left .22s !important; }
.fc a:hover { color:var(--blue)!important;padding-left:6px!important; }

/* ── NAV LINK UNDERLINE ── */
.nl-btn { position:relative;overflow:hidden;transition:color .22s,background .22s !important; }
.nl-btn::after { content:'';position:absolute;bottom:4px;left:12px;right:12px;height:2px;background:linear-gradient(90deg,var(--blue),var(--teal));border-radius:1px;transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.22,1,.36,1); }
.nl-btn:hover::after,.nl-btn.active::after { transform:scaleX(1); }
.dd-link { transition:background .18s,color .18s,padding-left .2s !important; }
.dd-link:hover { padding-left:20px !important; }

/* ── SECTION SHIMMER DIVIDER ── */
.sec { position:relative; }
.sec::before { content:'';position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.22),rgba(5,150,105,.15),transparent);background-size:200% 100%;animation:shimLine 5s linear infinite;pointer-events:none; }
@keyframes shimLine { 0%{background-position:0% 0;} 100%{background-position:200% 0;} }

/* ── TAG BADGE ── */
.tag { transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .28s !important; }
.tag:hover { transform:scale(1.05) !important;box-shadow:0 4px 18px rgba(5,150,105,.25) !important; }

/* ── BACK TO TOP ── */
.s2t { transition:opacity .35s,transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .3s !important; }
.s2t:hover { transform:translateY(-5px) scale(1.12) !important;box-shadow:0 12px 32px rgba(37,99,235,.4) !important; }

/* ── PRELOADER PREMIUM ── */
#preloader { transition:opacity .65s cubic-bezier(.22,1,.36,1),visibility .65s !important; }
.pl-logo-mk { animation:plPop .8s cubic-bezier(.34,1.56,.64,1) .1s both, plGlow 2s ease 1s infinite !important; }
@keyframes plPop  { from{opacity:0;transform:scale(.4) rotate(-15deg);} to{opacity:1;transform:scale(1) rotate(0);} }
@keyframes plGlow { 0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,.4);} 50%{box-shadow:0 0 0 12px rgba(37,99,235,0);} }
.pl-bar-wrap,.pl-text { animation:plSlide .5s ease both; }
.pl-bar-wrap { animation-delay:.5s; }
.pl-text     { animation-delay:.7s; }
@keyframes plSlide { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }

/* ── HERO EYEBROW SPARKLE ── */
.hero-eyebrow { position:relative;overflow:hidden; }
.hero-eyebrow::after { content:'';position:absolute;top:-50%;left:-80%;width:50%;height:200%;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:skewX(-15deg);animation:eyeShine 4s ease 2s infinite; }
@keyframes eyeShine { 0%,40%,100%{left:-80%;} 70%{left:120%;} }

/* ── HERO BADGE PULSE ── */
.hbadge-dot { animation:dotPulse 2.8s ease-in-out infinite; }
@keyframes dotPulse { 0%,100%{box-shadow:0 0 0 0 rgba(5,150,105,.5);transform:scale(1);} 50%{box-shadow:0 0 0 6px rgba(5,150,105,0);transform:scale(1.2);} }
.hbadge { animation:heroUp .6s cubic-bezier(.22,1,.36,1) both;transition:transform .28s cubic-bezier(.34,1.56,.64,1) !important; }
.hbadge:nth-child(1){animation-delay:.88s;} .hbadge:nth-child(2){animation-delay:1s;} .hbadge:nth-child(3){animation-delay:1.12s;}
.hbadge:hover { transform:translateY(-3px) !important; }

/* ── SCROLL HINT ── */
.scroll-hint { animation:hintIn 1.2s ease 1.8s both; }
@keyframes hintIn { from{opacity:0;transform:translateX(-50%) translateY(14px);} to{opacity:1;transform:translateX(-50%) translateY(0);} }

/* ── VARIOUS CARDS ── */
.sp-card,.dm-card,.srv-item { transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s !important;will-change:transform; }
.sp-card:hover  { transform:translateY(-7px) scale(1.015)!important;box-shadow:0 22px 54px rgba(37,99,235,.15)!important; }
.dm-card:hover  { transform:translateY(-7px) scale(1.015)!important;box-shadow:0 20px 50px rgba(37,99,235,.14)!important; }
.srv-item:hover { transform:translateY(-6px)  scale(1.01)!important; box-shadow:0 18px 48px rgba(37,99,235,.13)!important; }
.team-card,.mv-card,.benefit-item { transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s !important; }
.team-card:hover    { transform:translateY(-7px) scale(1.02)!important; }
.mv-card:hover      { transform:translateY(-6px)!important; }
.benefit-item:hover { transform:translateY(-4px)!important; }
.mod-badge { transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s,border-color .25s !important; }
.mod-badge:hover { transform:translateY(-5px) scale(1.06)!important;box-shadow:0 12px 28px rgba(37,99,235,.15)!important; }
.tbadge { transition:transform .28s cubic-bezier(.34,1.56,.64,1),border-color .22s,color .22s !important; }
.tbadge:hover { transform:translateY(-3px) scale(1.06)!important; }
.cdet { transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s !important; }
.cdet:hover { transform:translateX(5px)!important;box-shadow:0 8px 30px rgba(37,99,235,.1)!important; }
.gcard { transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s,border-color .28s !important; }
.gcard:hover { transform:translateY(-8px) scale(1.01)!important; }
.back-btn { transition:color .22s,border-color .22s,transform .28s cubic-bezier(.34,1.56,.64,1) !important; }
.back-btn:hover { transform:translateX(-4px)!important; }
.ffp-tab { transition:width .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s !important; }
.ffp-tab:hover { transform:translateX(-4px)!important; }

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important; }
  .hero-slider-wrap,body::before,.cta-band { animation:none!important; }
  #anim-cursor-dot,#anim-cursor-ring { display:none!important; }
  body,*,*::before,*::after { cursor:auto!important; }
  a,button { cursor:pointer!important; }
}
