 :root{
    --primary:#0B5FFF; --secondary:#6C63FF; --accent:#00C2FF;
    --bg:#F8FAFC; --dark:#0F172A; --slate:#334155;
  }
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',sans-serif; color:var(--slate); background:var(--bg);}
  h1,h2,h3,h4,h5,.font-heading{font-family:'Poppins',sans-serif;}

  ::-webkit-scrollbar{width:10px;}
  ::-webkit-scrollbar-track{background:var(--bg);}
  ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary),var(--secondary));border-radius:10px;}

  .grad-text{
    background:linear-gradient(90deg,var(--primary),var(--secondary) 55%,var(--accent));
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .grad-bg{background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 55%,var(--accent) 100%);}
  .grad-btn{background:linear-gradient(90deg,var(--primary),var(--secondary));transition:all .35s ease;background-size:150% 100%;background-position:0% 0%;}
  .grad-btn:hover{background-position:100% 0%;transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(11,95,255,.55);}

  .glass{
    background:rgba(255,255,255,.06);
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,.14);
  }
  .glass-light{
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.6);
  }
  .card-lift{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;}
  .card-lift:hover{transform:translateY(-8px);box-shadow:0 24px 48px -16px rgba(15,23,42,.18);}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-l{opacity:0;transform:translateX(-32px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal-l.in{opacity:1;transform:translateX(0);}
  .reveal-r{opacity:0;transform:translateX(32px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
  .reveal-r.in{opacity:1;transform:translateX(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal,.reveal-l,.reveal-r{opacity:1!important;transform:none!important;transition:none!important;}
    .horizon-drift, .orb{animation:none!important;}
  }

  .horizon-drift{animation:drift 14s ease-in-out infinite;}
  @keyframes drift{0%,100%{transform:translateX(0) translateY(0);}50%{transform:translateX(14px) translateY(-6px);}}

  .orb{position:absolute;border-radius:9999px;filter:blur(70px);opacity:.55;animation:float 10s ease-in-out infinite;}
  @keyframes float{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(20px,-24px) scale(1.08);}}

  .nav-link{position:relative;}
  .nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .3s ease;}
  .nav-link:hover::after{width:100%;}

  .dropdown{opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease;}
  .group:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0);}

  .counter{font-variant-numeric:tabular-nums;}

  .marquee-track{animation:marquee 26s linear infinite;}
  @keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

  input:focus, textarea:focus, select:focus{outline:none;box-shadow:0 0 0 3px rgba(11,95,255,.25);}

  .accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease;}

  a, button{-webkit-tap-highlight-color:transparent;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}