:root{
  --bg: #0b1020;
  --gradient:
    radial-gradient(1200px 800px at 10% -10%, rgba(64,124,255,.25), transparent 60%),
    radial-gradient(900px 600px at 90% 0%, rgba(168,85,247,.22), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
  --glass-bg: rgba(255,255,255,.08);
  --glass-border: rgba(255,255,255,.2);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius: 12px;
  --gradient-accent: linear-gradient(120deg,#407cff 0%, #6d5afc 35%, #a855f7 70%, #f472b6 100%);
  --gradient-soft: linear-gradient(140deg, rgba(64,124,255,.18), rgba(168,85,247,.15));
  --surface: #ffffff;
  --surface-alt: #f7f9fc;
  --text-strong: #0f172a;
  --text-soft: #64748b;
  --border-subtle: rgba(15,23,42,.08);
}

html, body { height: 100%; }

body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: #0f172a;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Spacing utilities */
.py-6{ padding-top: 4.5rem; padding-bottom: 4.5rem; }

/* Effects */
.nw-blur{
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
}
.nw-hover{ transition: transform .2s ease, box-shadow .2s ease; }
.nw-hover:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;
}

/* Brand mark */
.brand-mark{
  display:inline-grid; place-items:center;
  width:32px; height:32px; border-radius:10px;
  background: linear-gradient(135deg,#407cff, #a855f7);
  color:#fff; font-weight:700; letter-spacing:.5px; font-size:.9rem;
}
.brand-mark--invert{ background:#fff; color:#0b1020; }

/* Navbar */
.navbar{ box-shadow: 0 0 0 rgba(0,0,0,0); transition: box-shadow .2s ease; }
.navbar.scrolled{ box-shadow: 0 4px 24px rgba(0,0,0,.06); }
.nav-link{ font-weight: 500; }
.main-nav-list .nav-link{position:relative; padding:.5rem 1rem;}
.main-nav-list .nav-link:after{content:""; position:absolute; left:1rem; right:1rem; bottom:.4rem; height:2px; background:var(--gradient-accent); transform:scaleX(0); transform-origin:left; transition:.4s cubic-bezier(.4,.2,.2,1); border-radius:2px;}
.main-nav-list .nav-link:hover:after,.main-nav-list .nav-link.active:after{transform:scaleX(1);} 
.btn-gradient{background:var(--gradient-accent); color:#fff; border:0; box-shadow:0 4px 14px -4px rgba(64,124,255,.4);}
.btn-gradient:hover{filter:brightness(1.05); color:#fff;}
.navbar{background:rgba(255,255,255,.75)!important; backdrop-filter:saturate(140%) blur(14px); -webkit-backdrop-filter:saturate(140%) blur(14px);}
.navbar .btn-outline-primary{border-radius:999px;}
.navbar .btn-gradient{border-radius:999px; padding:.55rem 1.15rem; font-weight:600; font-size:.8rem; letter-spacing:.5px; text-transform:uppercase;}

/* Hero */
.hero{ position:relative; padding: 6rem 0; background: #fff; }
/* New hero redesign */
.hero{padding: clamp(5rem,10vh,8rem) 0 6rem; background: linear-gradient(180deg,#0b1020 0%,#121b33 100%); color:#fff;}
.hero-title{letter-spacing:-.02em; line-height:1.05;}
.text-hero-sub{color:rgba(255,255,255,.75)!important; max-width:640px;}
.hero-media{position:absolute; inset:0; background:
  radial-gradient(circle at 20% 30%, rgba(64,124,255,.35), transparent 60%),
  radial-gradient(circle at 80% 40%, rgba(168,85,247,.32), transparent 60%),
  url('https://images.unsplash.com/photo-1677442136019-21780ecad995?auto=format&fit=crop&w=1600&q=60');
  background-size: cover, cover, cover; background-blend-mode: screen, screen, overlay; filter: brightness(.9) saturate(1.1); opacity:.55;}
.hero-overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,16,32,.6),rgba(11,16,32,.9));}
.hero-cta{background-image:var(--gradient-accent); border:0;}
.hero-cta:hover{filter:brightness(1.05);}
.hero-secondary{backdrop-filter:blur(6px);}
.hero-trust .bullet{display:inline-block; width:6px; height:6px; border-radius:50%; background:#407cff; box-shadow:0 0 0 4px rgba(64,124,255,.2);} 

/* Glass / panel */
.glass{background:linear-gradient(140deg,rgba(255,255,255,.12),rgba(255,255,255,.04)); backdrop-filter:blur(22px) saturate(140%); -webkit-backdrop-filter:blur(22px) saturate(140%); border:1px solid rgba(255,255,255,.25); border-radius:var(--radius-xl); position:relative; overflow:hidden;}
.border-gradient{border:1px solid transparent; background:
  linear-gradient(#182539,#182539) padding-box,
  linear-gradient(120deg,rgba(64,124,255,.7),rgba(168,85,247,.7),rgba(244,114,182,.5)) border-box;}
.hero-panel{padding:2rem 2.2rem; box-shadow:0 10px 40px -8px rgba(0,0,0,.5);}
.mini-heading{letter-spacing:.08em; font-size:.7rem;}
.text-gradient{background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent;}
.hero-code{font-family:ui-monospace, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace; line-height:1.4; background:rgba(0,0,0,.3); padding:1.1rem 1rem 1.4rem; border-radius:16px; border:1px solid rgba(255,255,255,.15); max-height:230px; overflow:auto; position:relative;}
.hero-code code{color:#e2e8f0; font-size:.8rem; font-weight:400;}
.code-fade{position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 70%,rgba(11,16,32,.9)); backdrop-filter:blur(1px); border-radius:inherit;}

/* Partners marquee */
.track-section{background:linear-gradient(180deg,#f7f9fc 0%,#ffffff 100%); padding:3.5rem 0; position:relative;}
.tracking-label{letter-spacing:.12em; font-weight:600;}
.brand-track-wrapper{overflow:hidden;}
.brand-track{--track-speed:36s; display:flex; width:max-content; animation:scrollBrands var(--track-speed) linear infinite;}
.brand-track .track-group{display:flex;}
@keyframes scrollBrands{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.brand-track .logo-pill{background:#fff;}
.gradient-edge{position:absolute; top:0; bottom:0; width:120px; pointer-events:none; z-index:2;}
.gradient-edge.start{left:0; background:linear-gradient(90deg,#f7f9fc,transparent);} 
.gradient-edge.end{right:0; background:linear-gradient(-90deg,#f7f9fc,transparent);} 

/* Services redesign */
.services-section{background:#fff;}
.service-card{padding:2rem 1.75rem 2.25rem; border-radius:24px; position:relative; transition:.35s cubic-bezier(.4,.2,.2,1); background:#ffffff; border:1px solid var(--border-subtle);}
.service-card .icon-wrap{font-size:1.9rem; margin-bottom:1rem; filter:drop-shadow(0 4px 8px rgba(0,0,0,.08));}
.service-card p{color:var(--text-soft); font-size:.95rem; margin-bottom:0;}
.service-card:hover{transform:translateY(-6px); box-shadow:0 14px 40px -6px rgba(15,23,42,.12); border-color:rgba(64,124,255,.35);} 
.service-card:hover .service-line{width:70%;}
.service-line{position:absolute; left:1.75rem; bottom:1.1rem; height:3px; width:46%; background:var(--gradient-accent); border-radius:4px; transition:width .5s ease;}

/* Footer refinement */
footer{background:#0b1020;}
footer .small{letter-spacing:.02em;}
footer.footer-enhanced{background:radial-gradient(circle at 20% 10%,rgba(64,124,255,.15),transparent 60%), radial-gradient(circle at 80% 20%,rgba(168,85,247,.12),transparent 55%), #0b1020; position:relative; overflow:hidden;}
footer.footer-enhanced:before{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,16,32,.2),rgba(11,16,32,.9)); pointer-events:none;}
.footer-links a{color:rgba(255,255,255,.7); text-decoration:none; position:relative; display:inline-block; padding:.2rem 0;}
.footer-links a:after{content:""; position:absolute; left:0; bottom:0; height:2px; width:0; background:var(--gradient-accent); transition:.35s; border-radius:2px;}
.footer-links a:hover{color:#fff;}
.footer-links a:hover:after{width:100%;}
.footer-email{font-weight:600; background:var(--gradient-accent); -webkit-background-clip:text; background-clip:text; color:transparent; text-decoration:none;}
.footer-email:hover{filter:brightness(1.1);}

/* Contact page specifics */
.contact-page .contact-main{background:linear-gradient(180deg,#f7f9fc 0%, #ffffff 100%);}
.contact-box{border:1px solid var(--border-subtle)!important;}

/* Utilities */
.letter-space{letter-spacing:.15em;}

/* Responsive tweaks */
@media (max-width: 991.98px){
  .hero{padding:5.5rem 0 5rem;}
  .hero-title{font-size:clamp(2.4rem,6.2vw,3.2rem);} 
  .hero-panel{margin-top:3rem;}
  .brand-track{animation-duration:40s;}
}
@media (prefers-reduced-motion: reduce){
  .brand-track{animation:none;}
  .service-card, .nw-hover{transition:none;}
}

/* “Works with” logos */
.logo-pill{
  padding: .45rem .8rem;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  font-weight: 600; font-size: .9rem;
}

/* Services */
.service .icon-wrap{ font-size: 1.6rem; }

/* Footer */
footer{
  background-image: linear-gradient(180deg,#0b1020, #0d1326);
  color: #e5e7eb;
}
footer .brand-mark{ box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); }

/* Forms */
.form-control:focus{
  box-shadow: 0 0 0 .25rem rgba(64,124,255,.15);
  border-color:#407cff;
}

/* Light section */
.bg-body-tertiary{ background-color: #f7f9fc !important; }