
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:9999;background:linear-gradient(90deg,#c8102e,#f7a400,#0d1282);box-shadow:0 0 18px rgba(247,164,0,.45)}
.network-particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.network-particles .particle{position:absolute;width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#fff 0%,#f7a400 45%,rgba(247,164,0,0) 70%);opacity:.35;filter:blur(.2px);animation:floatParticle linear infinite}
@keyframes floatParticle{from{transform:translate3d(0,0,0) rotate(0deg);opacity:0}15%{opacity:.45}85%{opacity:.35}to{transform:translate3d(0,-120vh,0) rotate(var(--r,90deg));opacity:0}}
#splash-screen{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at top,rgba(247,164,0,.14),transparent 25%),radial-gradient(circle at bottom,rgba(13,18,130,.18),transparent 28%),linear-gradient(180deg,#060b15 0%,#091224 100%);z-index:9998;overflow:hidden}
#splash-screen.hide{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease}
.splash-grid,.splash-orbit,.splash-box,.splash-scan{position:absolute}
.splash-grid{inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 85%);opacity:.18}
.splash-orbit{width:min(60vw,540px);height:min(60vw,540px);border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 30px rgba(255,255,255,.025),0 0 0 65px rgba(255,255,255,.018);animation:spinSplash 18s linear infinite}
.splash-orbit::before,.splash-orbit::after{content:"";position:absolute;border-radius:50%;inset:14%;border:1px solid rgba(255,255,255,.12)}
.splash-orbit::after{inset:30%;border-color:rgba(247,164,0,.22)}
.splash-box{position:relative;isolation:isolate;width:min(92vw,560px);padding:34px 28px;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));backdrop-filter:blur(18px);box-shadow:0 24px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);text-align:center}
.splash-scan{inset:0;border-radius:inherit;background:linear-gradient(180deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);transform:translateY(-100%);animation:scanSplash 2.8s ease-in-out infinite}
.splash-logo-wrap{width:132px;height:132px;margin:0 auto 18px;border-radius:28px;display:grid;place-items:center;background:radial-gradient(circle at top,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.splash-logo{max-width:94px;max-height:94px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.28))}
.splash-title{margin:0;color:#fff;font-size:clamp(28px,4vw,42px);line-height:1.08}
.splash-tagline{margin:10px 0 16px;color:#d6e2ff;font-size:15px;letter-spacing:.04em}
.splash-badges{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.splash-chip{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#eff5ff;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.splash-loader{width:min(320px,100%);height:8px;border-radius:999px;margin:0 auto 12px;background:rgba(255,255,255,.09);overflow:hidden}
.splash-loader::before{content:"";display:block;height:100%;width:40%;border-radius:inherit;background:linear-gradient(90deg,#c8102e,#f7a400,#0d1282);animation:loaderSplash 1.4s ease-in-out infinite}
.splash-status{color:#aebfe3;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.back-to-top{position:fixed;right:18px;bottom:88px;width:48px;height:48px;border:0;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:900;color:#fff;background:linear-gradient(135deg,#c8102e,#f7a400);box-shadow:0 16px 34px rgba(0,0,0,.28);cursor:pointer;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:60}
.back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal.in-view{opacity:1;transform:none}
.brand-logo-img,.footer-brand-final img{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.03));box-shadow:0 10px 24px rgba(0,0,0,.18)}
@keyframes spinSplash{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes scanSplash{0%{transform:translateY(-115%)}55%{transform:translateY(115%)}100%{transform:translateY(115%)}}
@keyframes loaderSplash{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
@media (prefers-reduced-motion: reduce){.network-particles,.splash-orbit,.splash-scan,.splash-loader::before{animation:none !important}.reveal{opacity:1;transform:none}}


/* Upgrade pack: real partner & service imagery */
.partner-logo, .logo-wrap, .service-media, .feature-media {
  position: relative;
  overflow: hidden;
}
.partner-logo::after, .logo-wrap::after, .service-media::after, .feature-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.18) 35%, transparent 62%);
  transform: translateX(-120%);
  animation: cardShine 6.5s linear infinite;
}
.partner-logo img, .logo-wrap img {
  max-width: 180px;
  max-height: 72px;
  object-fit: contain;
  filter: saturate(1.04) contrast(1.02);
}
.service-media {
  min-height: 110px;
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-media img {
  width: 100%;
  max-width: 140px;
  max-height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.22));
}
.feature-media {
  min-height: 150px;
  margin-bottom: 18px;
  padding: 16px;
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
  display: flex;
  align-items: center;
  justify-content: center;
}
.feature-media img {
  width: 100%;
  max-width: 220px;
  max-height: 120px;
  object-fit: contain;
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.24));
}
.partners-real-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@keyframes cardShine { 0% { transform: translateX(-120%);} 22%,100% { transform: translateX(120%);} }
@media (max-width: 900px) { .partners-real-grid {grid-template-columns:1fr 1fr;} }
@media (max-width: 640px) { .partners-real-grid {grid-template-columns:1fr;} }

