  html { scroll-behavior: smooth; }
  body { background:#0A1628; }
  .page { display:none; }
  .page.active { display:block; animation: fadeIn .35s ease; }
  @keyframes fadeIn { from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
  .nav-link { position:relative; }
  .nav-link::after{
    content:''; position:absolute; left:0; bottom:-6px; width:0; height:2px;
    background:#12E8A8; transition: width .25s ease;
  }
  .nav-link.active::after, .nav-link:hover::after { width:100%; }
  .nav-link.active { color:#12E8A8; }
  .grid-bg {
    background-image:
      linear-gradient(rgba(18,232,168,.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(18,232,168,.06) 1px, transparent 1px);
    background-size: 34px 34px;
  }
  .pulse-dot { animation: pulseDot 1.8s ease-in-out infinite; }
  @keyframes pulseDot { 0%,100%{opacity:1; box-shadow:0 0 0 0 rgba(18,232,168,.5);} 50%{opacity:.6; box-shadow:0 0 0 6px rgba(18,232,168,0);} }
  .card-hover { transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
  .card-hover:hover { transform: translateY(-4px); border-color:#12E8A8; box-shadow:0 12px 28px -8px rgba(18,232,168,.18); }
  .cta-btn { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
  .cta-btn:hover { transform: translateY(-2px); box-shadow:0 10px 24px -6px rgba(18,232,168,.45); }
  .accordion-content { max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .accordion-icon { transition: transform .25s ease; }
  ::-webkit-scrollbar { width:10px; }
  ::-webkit-scrollbar-track { background:#0A1628; }
  ::-webkit-scrollbar-thumb { background:#233B5C; border-radius:5px; }
  .mono { font-family:'Share Tech Mono', monospace; }
  .fade-item { transition: opacity .25s ease, transform .25s ease; }
  #mobileMenu { max-height:0; overflow:hidden; transition:max-height .3s ease; }
  #mobileMenu.open { max-height:520px; }
  .toast { transition: transform .35s ease, opacity .35s ease; }
