:root{
    --bg:#0a0d14;
    --bg-soft:#0d1119;
    --surface:#12161f;
    --surface-2:#161b26;
    --border:#232939;
    --text:#f2f4f8;
    --text-muted:#8a93a8;
    --text-dim:#5b6479;
    --blue-300:#8ec5ff;
    --blue-400:#57a8ff;
    --blue-500:#2e8fef;
    --blue-700:#155fc4;
    --grad: linear-gradient(135deg,#8ec5ff 0%,#2e8fef 50%,#155fc4 100%);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter',sans-serif;
  }
  ::selection{background:var(--blue-500);color:#fff;}
  h1,h2,h3,h4,.display-font{font-family:'Space Grotesk',sans-serif; letter-spacing:-0.02em;}
  .mono{font-family:'JetBrains Mono',monospace; letter-spacing:.07em; text-transform:uppercase;}
  .text-muted-custom{color:var(--text-muted);}
  .text-dim{color:var(--text-dim);}
  a{text-decoration:none;}

  /* subtle static grid, no motion */
  .grid-bg{
    position:fixed; inset:0; z-index:-1;
    background-image:
      linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
    background-size:64px 64px;
    mask-image: linear-gradient(to bottom, #000 0%, transparent 55%);
  }

  /* ---------- navbar ---------- */
  .navbar-custom{
    position:sticky; top:0; z-index:1000;
    padding:18px 0;
    background:rgba(10,13,20,.9);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .brand-mark{
    font-family:'Space Grotesk',sans-serif;
    font-weight:700; font-size:1.2rem;
    color:var(--text) !important;
    display:flex; align-items:center; gap:10px;
  }
  .brand-mark .arrow-icon{width:24px;height:24px;}
  .nav-link-custom{
    color:var(--text-muted) !important;
    font-size:.92rem; font-weight:500;
    padding:.5rem 1rem !important;
  }
  .nav-link-custom:hover{color:var(--text) !important;}
  .btn-gradient{
    background:var(--grad);
    color:#04101f; font-weight:600;
    border:none; padding:.6rem 1.4rem;
    border-radius:8px; font-size:.92rem;
  }
  .btn-gradient:hover{color:#04101f; opacity:.92;}
  .btn-outline-custom{
    border:1px solid var(--border);
    color:var(--text);
    padding:.6rem 1.4rem;
    border-radius:8px;
    font-size:.92rem; font-weight:500;
    background:transparent;
  }
  .btn-outline-custom:hover{border-color:var(--blue-500); color:var(--text);}

  /* ---------- hero ---------- */
  .hero{padding:110px 0 90px;}
  .eyebrow{
    color:var(--blue-400); font-size:.75rem; font-weight:600;
    display:inline-flex; align-items:center; gap:8px; margin-bottom:22px;
  }
  .eyebrow::before{content:''; width:6px;height:6px;border-radius:50%; background:var(--blue-400);}
  .hero h1{
    font-size:clamp(2.4rem, 5.2vw, 4rem);
    font-weight:700; line-height:1.08;
    margin-bottom:24px;
  }
  .hero h1 .grad-text{
    background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .hero p.lead-custom{color:var(--text-muted); font-size:1.1rem; max-width:540px; line-height:1.7;}
  .hero-stats{margin-top:56px; padding-top:32px; border-top:1px solid var(--border);}
  .stat-num{font-family:'Space Grotesk',sans-serif; font-size:1.9rem; font-weight:700;}
  .stat-label{color:var(--text-dim); font-size:.78rem;}

  .hero-panel{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:16px;
    padding:32px;
  }
  .hero-panel .panel-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 0; border-bottom:1px solid var(--border);
  }
  .hero-panel .panel-row:last-child{border-bottom:none;}
  .hero-panel .panel-label{color:var(--text-muted); font-size:.88rem;}
  .hero-panel .panel-value{font-family:'Space Grotesk',sans-serif; font-weight:600; color:var(--blue-300);}
  .hero-panel .bar-track{
    height:6px; border-radius:4px; background:var(--surface-2); overflow:hidden; width:110px;
  }
  .hero-panel .bar-fill{height:100%; background:var(--grad); border-radius:4px;}

  /* ---------- sections ---------- */
  section{position:relative;}
  .section-pad{padding:100px 0;}
  .section-head{margin-bottom:56px;}
  .section-tag{color:var(--blue-400); font-size:.75rem; font-weight:600; margin-bottom:14px; display:block;}
  .section-title{font-size:clamp(1.8rem,3vw,2.5rem); font-weight:700; max-width:620px;}
  .section-sub{color:var(--text-muted); max-width:520px; font-size:1rem; line-height:1.7;}

  /* ---------- services ---------- */
  .service-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:14px;
    padding:30px 26px;
    height:100%;
    transition:border-color .2s ease;
    position:relative;
  }
  .service-card:hover{border-color:var(--blue-700);}
  .service-icon{
    width:44px;height:44px; border-radius:10px;
    background:var(--surface-2); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem; color:var(--blue-400);
    margin-bottom:20px;
  }
  .service-card h3{font-size:1.12rem; font-weight:600; margin-bottom:10px;}
  .service-card p{color:var(--text-muted); font-size:.9rem; line-height:1.6; margin-bottom:0;}
  .tag-featured{
    position:absolute; top:18px; right:18px;
    font-size:.63rem; padding:3px 9px; border-radius:20px;
    background:rgba(46,143,239,.1); color:var(--blue-400);
    border:1px solid var(--border);
  }

  /* ---------- process ---------- */
  .process-line{
    position:absolute; top:25px; left:0; right:0; height:1px;
    background:var(--border); z-index:0;
  }
  .process-step{position:relative; z-index:1;}
  .process-num{
    width:48px;height:48px; border-radius:50%;
    background:var(--bg); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono',monospace; font-size:.82rem; color:var(--blue-400);
    margin-bottom:22px;
  }
  .process-step h4{font-size:1.05rem; font-weight:600; margin-bottom:10px;}
  .process-step p{color:var(--text-muted); font-size:.88rem; line-height:1.6;}

  /* ---------- stats band ---------- */
  .stats-band{background:var(--surface); border-top:1px solid var(--border); border-bottom:1px solid var(--border);}
  .big-stat{
    font-family:'Space Grotesk',sans-serif; font-size:clamp(2rem,3.6vw,3rem); font-weight:700; color:var(--blue-300);
  }

  /* ---------- testimonials ---------- */
  .testi-card{background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:30px; height:100%;}
  .testi-card .stars{color:var(--blue-400); font-size:.82rem; margin-bottom:16px;}
  .testi-card p{color:var(--text); font-size:.95rem; line-height:1.7; margin-bottom:22px;}
  .testi-person{display:flex; align-items:center; gap:12px;}
  .testi-avatar{
    width:40px;height:40px; border-radius:50%; background:var(--grad);
    display:flex; align-items:center; justify-content:center;
    font-family:'Space Grotesk',sans-serif; font-weight:700; color:#04101f; font-size:.85rem;
  }
  .testi-name{font-weight:600; font-size:.88rem;}
  .testi-role{color:var(--text-dim); font-size:.76rem;}

  /* ---------- CTA ---------- */
  .cta-band{
    background:var(--surface); border:1px solid var(--border);
    border-radius:20px; padding:70px 40px; text-align:center;
  }
  .cta-band h2{font-size:clamp(1.8rem,3.6vw,2.6rem); font-weight:700; max-width:640px; margin:0 auto 18px;}
  .cta-band p{color:var(--text-muted); max-width:460px; margin:0 auto 30px;}

  /* ---------- footer ---------- */
  footer{padding:70px 0 28px; border-top:1px solid var(--border);}
  footer .brand-mark{margin-bottom:16px;}
  footer p.foot-desc{color:var(--text-muted); font-size:.9rem; max-width:280px; line-height:1.7;}
  .foot-heading{font-size:.76rem; color:var(--text-dim); margin-bottom:18px; font-weight:600;}
  .foot-links li{margin-bottom:12px;}
  .foot-links a{color:var(--text-muted); font-size:.88rem;}
  .foot-links a:hover{color:var(--blue-400);}
  .social-icon{
    width:36px;height:36px; border-radius:50%; border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center; color:var(--text-muted);
  }
  .social-icon:hover{border-color:var(--blue-500); color:var(--blue-400);}
  .foot-bottom{border-top:1px solid var(--border); padding-top:24px; margin-top:56px; color:var(--text-dim); font-size:.8rem;}

  :focus-visible{outline:2px solid var(--blue-400); outline-offset:3px;}

  /* ---------- motion: reveal on scroll ---------- */
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}
  .reveal-1{transition-delay:.05s;} .reveal-2{transition-delay:.12s;} .reveal-3{transition-delay:.19s;}
  .reveal-4{transition-delay:.26s;} .reveal-5{transition-delay:.33s;} .reveal-6{transition-delay:.4s;}

  /* ---------- hero motion ---------- */
  .hero-visual-wrap{position:relative; margin-top:6px;}
  .hero-glow{
    position:absolute; width:340px; height:340px; border-radius:50%;
    background:radial-gradient(circle, rgba(46,143,239,.28), transparent 70%);
    filter:blur(10px); z-index:0; pointer-events:none;
  }
  .hero-glow-1{top:-60px; right:-40px;}
  .hero-glow-2{bottom:-70px; left:-60px; width:260px; height:260px; background:radial-gradient(circle, rgba(142,197,255,.16), transparent 70%);}
  .hero-panel{position:relative; z-index:1;}
  .hero-panel .bar-fill{transition:width 1.1s cubic-bezier(.22,1,.36,1);}
  .panel-header{
    display:flex; align-items:flex-start; justify-content:space-between;
    padding-bottom:22px; margin-bottom:22px; border-bottom:1px solid var(--border);
  }
  .panel-title{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:1.05rem; margin-bottom:6px;}
  .panel-sub{
    display:flex; align-items:center; gap:7px;
    color:var(--text-dim); font-size:.78rem;
  }
  .panel-spark{width:120px; height:44px; flex-shrink:0;}
  .live-dot{
    width:7px;height:7px;border-radius:50%; background:#4ade80; display:inline-block;
    box-shadow:0 0 0 0 rgba(74,222,128,.6);
    animation:pulseDot 1.8s ease-in-out infinite;
  }
  .hero-float-tag{
    position:absolute; bottom:-20px; right:18px; z-index:2;
    background:var(--grad); color:#04101f; border-radius:12px;
    padding:12px 16px; font-family:'Space Grotesk',sans-serif;
    box-shadow:0 12px 30px -10px rgba(46,143,239,.55);
    animation:floatY 4.5s ease-in-out infinite 1s;
  }
  .hero-float-tag .tag-num{font-size:1.15rem; font-weight:700; line-height:1;}
  .hero-float-tag .tag-label{font-size:.62rem; text-transform:uppercase; letter-spacing:.06em; opacity:.85;}

  @keyframes floatY{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
  @keyframes pulseDot{
    0%{box-shadow:0 0 0 0 rgba(74,222,128,.55);}
    70%{box-shadow:0 0 0 8px rgba(74,222,128,0);}
    100%{box-shadow:0 0 0 0 rgba(74,222,128,0);}
  }

  /* ---------- why us ---------- */
  .why-card{
    background:var(--surface); border:1px solid var(--border);
    border-radius:14px; padding:28px; height:100%;
    transition:transform .25s ease, border-color .25s ease;
  }
  .why-card:hover{transform:translateY(-4px); border-color:var(--blue-700);}
  .why-icon{
    width:42px;height:42px; border-radius:10px;
    background:var(--surface-2); border:1px solid var(--border);
    display:flex; align-items:center; justify-content:center;
    color:var(--blue-400); font-size:1.1rem; margin-bottom:18px;
  }
  .why-card h4{font-size:1.02rem; font-weight:600; margin-bottom:8px;}
  .why-card p{color:var(--text-muted); font-size:.87rem; line-height:1.6; margin-bottom:0;}

  /* ---------- detailed process timeline ---------- */
  .timeline{position:relative; padding-left:0;}
  .timeline::before{
    content:''; position:absolute; left:29px; top:8px; bottom:8px; width:1px;
    background:linear-gradient(to bottom, transparent, var(--border) 6%, var(--border) 94%, transparent);
  }
  @media (min-width:992px){
    .timeline::before{left:50%; transform:translateX(-1px);}
  }
  .timeline-item{position:relative; margin-bottom:44px;}
  .timeline-item:last-child{margin-bottom:0;}
  .timeline-dot{
    position:absolute; left:14px; top:2px; width:32px; height:32px; border-radius:50%;
    background:var(--bg-soft); border:1px solid var(--blue-700);
    display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono',monospace; font-size:.68rem; color:var(--blue-300);
    z-index:1;
  }
  @media (min-width:992px){
    .timeline-dot{left:50%; transform:translateX(-50%);}
  }
  .timeline-content{
    margin-left:64px;
    background:var(--surface); border:1px solid var(--border);
    border-radius:14px; padding:24px 26px;
  }
  @media (min-width:992px){
    .timeline-row{display:flex; align-items:flex-start;}
    .timeline-row .timeline-content{width:calc(50% - 50px); margin-left:0;}
    .timeline-row.left .timeline-content{margin-right:auto;}
    .timeline-row.right .timeline-content{margin-left:auto;}
  }
  .timeline-content h4{font-size:1.05rem; font-weight:600; margin-bottom:8px; display:flex; align-items:center; gap:10px;}
  .timeline-content h4 i{color:var(--blue-400); font-size:1rem;}
  .timeline-content p{color:var(--text-muted); font-size:.89rem; line-height:1.65; margin-bottom:10px;}
  .timeline-content ul{margin:0; padding-left:18px;}
  .timeline-content ul li{color:var(--text-dim); font-size:.83rem; margin-bottom:4px;}

  /* ---------- industries ---------- */
  .industry-pill{
    background:var(--surface); border:1px solid var(--border);
    border-radius:30px; padding:12px 22px;
    font-size:.88rem; color:var(--text-muted);
    display:inline-flex; align-items:center; gap:8px;
    transition:border-color .2s ease, color .2s ease;
  }
  .industry-pill:hover{border-color:var(--blue-700); color:var(--text);}
  .industry-pill i{color:var(--blue-400);}

  /* ---------- FAQ ---------- */
  .faq-accordion .accordion-item{
    background:var(--surface); border:1px solid var(--border);
    border-radius:12px !important; margin-bottom:14px; overflow:hidden;
  }
  .faq-accordion .accordion-button{
    background:var(--surface); color:var(--text);
    font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:.98rem;
    padding:20px 24px; box-shadow:none;
  }
  .faq-accordion .accordion-button:not(.collapsed){
    background:var(--surface-2); color:var(--blue-300);
  }
  .faq-accordion .accordion-button::after{filter:invert(1) brightness(1.6);}
  .faq-accordion .accordion-button:focus{box-shadow:none;}
  .faq-accordion .accordion-body{
    padding:4px 24px 22px; color:var(--text-muted); font-size:.9rem; line-height:1.7;
  }

  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    .hero-float-tag, .live-dot{animation:none;}
  }

  @media (max-width: 991px){
    .cta-band{padding:50px 22px;}
    .hero{padding:90px 0 50px;}
  }
  
  .brand-mark img
  {
	width:200px;
  }