/* ═══════════════════════════════════════════════════════
   COBRA CLICKS — DESIGN SYSTEM
   Black + Neon Green | Anton + Orbitron + Space Grotesk
   ═══════════════════════════════════════════════════════ */

  :root {
    --bg: #000000;
    --bg-soft: #0a0a0a;
    --bg-card: #0f0f0f;
    --green: #bff747;
    --green-glow: rgba(191, 247, 71, 0.5);
    --green-soft: rgba(191, 247, 71, 0.1);
    --green-border: rgba(191, 247, 71, 0.3);
    --white: #ffffff;
    --gray-300: #c7c7c7;
    --gray-500: #6b6b6b;
    --border: rgba(255, 255, 255, 0.08);

    --font-display: 'Anton', 'Impact', sans-serif;
    --font-techno: 'Orbitron', 'Space Grotesk', sans-serif;
    --font-body: 'Space Grotesk', system-ui, sans-serif;
    --font-mono: 'JetBrains Mono', 'Courier New', monospace;

    --container: 1280px;
    --pad: 32px;
    --section-pad: 120px;

    --ease: cubic-bezier(.2, .7, .2, 1);
  }

  /* RESET */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
  }

  body {
    background: var(--bg);
    color: var(--white);
    font-family: var(--font-body) !important;
    font-weight: 400;
    line-height: 1.5;
    overflow-x: hidden;
    cursor: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  @media (max-width: 1023px) {
    body {
      cursor: auto;
    }
  }

  img,
  svg {
    display: block;
    max-width: 100%;
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  button {
    font: inherit;
    background: none;
    border: none;
    color: inherit;
    cursor: none;
  }

  @media (max-width: 1023px) {

    button,
    a {
      cursor: pointer;
    }
  }

  input,
  textarea,
  select {
    font: inherit;
    color: inherit;
  }

  ul {
    list-style: none;
  }

  ::selection {
    background: var(--green);
    color: #000;
  }

  .container {
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 var(--pad);
    position: relative;
  }

  /* ═══════════════════════════════════════════════════════
   LOADER
   ═══════════════════════════════════════════════════════ */
  .loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }

  .loader.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .loader__inner {
    text-align: center;
    width: min(420px, 80vw);
  }

  .loader__cobra {
    width: 140px;
    height: 140px;
    margin: 0 auto 30px;
    filter: drop-shadow(0 0 20px var(--green-glow));
  }

  .loader__cobra path {
    stroke-dasharray: 800;
    stroke-dashoffset: 800;
    animation: drawCobra 2.4s ease forwards;
  }

  .loader__head {
    transform-origin: center;
    animation: pulseHead 1.4s ease-in-out infinite;
  }

  @keyframes drawCobra {
    to {
      stroke-dashoffset: 0;
    }
  }

  @keyframes pulseHead {

    0%,
    100% {
      opacity: 1;
    }

    50% {
      opacity: 0.4;
    }
  }

  .loader__counter {
    font-family: var(--font-techno);
    font-weight: 900;
    font-size: clamp(64px, 14vw, 120px);
    color: var(--green);
    letter-spacing: 0.04em;
    line-height: 1;
    text-shadow: 0 0 30px var(--green-glow);
  }

  .loader__bar {
    margin-top: 24px;
    height: 2px;
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
    border-radius: 100px;
  }

  .loader__bar span {
    display: block;
    height: 100%;
    width: 0%;
    background: var(--green);
    box-shadow: 0 0 12px var(--green-glow);
    transition: width 0.18s linear;
  }

  .loader__brand {
    margin-top: 20px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 3px;
    color: var(--gray-500);
  }

  /* ═══════════════════════════════════════════════════════
   CUSTOM CURSOR
   ═══════════════════════════════════════════════════════ */
  .cursor-dot,
  .cursor-ring {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 10000;
    border-radius: 50%;
    mix-blend-mode: difference;
    transform: translate(-50%, -50%);
    will-change: transform, width, height;
  }

  .cursor-dot {
    width: 6px;
    height: 6px;
    background: var(--green);
  }

  .cursor-ring {
    width: 36px;
    height: 36px;
    border: 1.5px solid var(--green);
    transition: width 0.25s var(--ease), height 0.25s var(--ease), background 0.25s var(--ease);
  }

  .cursor-ring.hover {
    width: 64px;
    height: 64px;
    background: rgba(191, 247, 71, 0.15);
  }

  @media (max-width: 1023px) {

    .cursor-dot,
    .cursor-ring {
      display: none;
    }
  }

  /* ═══════════════════════════════════════════════════════
   NOISE OVERLAY
   ═══════════════════════════════════════════════════════ */
  .noise {
    position: fixed;
    inset: 0;
    z-index: 9998;
    pointer-events: none;
    opacity: 0.04;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='1'/></svg>");
  }