  html { scroll-behavior: smooth; }
  body {
    font-family: 'Inter', sans-serif;
    background: #0a0a0a;
    color: #fff;
    overflow-x: hidden;
  }
  .font-display { font-family: 'Space Grotesk', sans-serif; }
  ::selection { background: #f5c518; color: #0a0a0a; }

  /* Scrollbar */
  ::-webkit-scrollbar { width: 8px; }
  ::-webkit-scrollbar-track { background: #0a0a0a; }
  ::-webkit-scrollbar-thumb { background: #262626; border-radius: 4px; }
  ::-webkit-scrollbar-thumb:hover { background: #f5c518; }

  /* Text gradient */
  .text-gradient {
    background: linear-gradient(135deg, #f5c518 0%, #ff8a00 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* Grid pattern background */
  .grid-bg {
    background-image:
      linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 60px 60px;
  }

  /* Glow */
  .glow {
    box-shadow: 0 0 60px -10px rgba(245, 197, 24, .5);
  }
  .glow-sm {
    box-shadow: 0 0 30px -8px rgba(245, 197, 24, .35);
  }

  /* Noise texture overlay */
  .noise::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");
    opacity: .06;
    pointer-events: none;
    mix-blend-mode: overlay;
  }

  /* Glass card */
  .glass {
    background: rgba(255, 255, 255, .03);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, .08);
  }
  .glass:hover {
    border-color: rgba(245, 197, 24, .4);
    background: rgba(255, 255, 255, .05);
  }

  /* Nav link underline */
  .nav-link { position: relative; }
  .nav-link::after {
    content: '';
    position: absolute;
    left: 0; bottom: -6px;
    width: 0; height: 2px;
    background: #f5c518;
    transition: width .3s;
  }
  .nav-link:hover::after { width: 100%; }

  /* Image hover zoom */
  .img-zoom img { transition: transform .8s cubic-bezier(.2,.8,.2,1); }
  .img-zoom:hover img { transform: scale(1.08); }

  /* Custom cursor dot */
  .cursor-dot {
    position: fixed;
    width: 8px; height: 8px;
    background: #f5c518;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9999;
    transition: transform .15s;
    mix-blend-mode: difference;
  }

  /* Buttons */
  .btn-primary {
    background: linear-gradient(135deg, #f5c518 0%, #ff8a00 100%);
    color: #0a0a0a;
    transition: all .3s cubic-bezier(.2,.8,.2,1);
  }
  .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px -10px rgba(245, 197, 24, .6);
  }