 html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body { font-family: 'Geist', ui-sans-serif, system-ui, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
    ::selection { background: #0a1733; color: #fff; }

    /* Subtle grid bg */
    .grid-bg {
      background-image:
        linear-gradient(rgba(10,23,51,0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(10,23,51,0.04) 1px, transparent 1px);
      background-size: 48px 48px;
    }
    .grid-bg-dark {
      background-image:
        linear-gradient(rgba(255,255,255,0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.06) 1px, transparent 1px);
      background-size: 60px 60px;
    }

    /* Animated orange shimmer text */
    .shimmer-orange {
      background: linear-gradient(90deg, #ff5b35 0%, #ffb088 50%, #ff5b35 100%);
      background-size: 200% auto;
      -webkit-background-clip: text;
              background-clip: text;
      -webkit-text-fill-color: transparent;
              color: transparent;
    }

    /* Grain noise overlay */
    .noise-overlay {
      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.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }

    /* Reveal-on-scroll */
    .reveal { opacity: 0; transform: translateY(20px); transition: opacity .8s ease-out, transform .8s ease-out; will-change: opacity, transform; }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }

    /* CTA helper */
    .cta-shadow { box-shadow: 0 10px 30px -8px rgba(255,91,53,0.55); }
    .cta-shadow:hover { box-shadow: 0 16px 40px -10px rgba(255,91,53,0.65); }