        /* Core Aesthetics */
        body { font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; }
        
        @media (min-width: 768px) {
            body { cursor: none; }
        }
        
        /* Custom Cursor */
        .cursor-dot, .cursor-outline {
            position: fixed; top: 0; left: 0;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            z-index: 9999;
            pointer-events: none;
        }
        .cursor-dot { width: 8px; height: 8px; background-color: #005FD8; }
        .cursor-outline {
            width: 40px; height: 40px;
            border: 1px solid rgba(0, 95, 216, 0.3);
            transition: width 0.2s, height 0.2s, background-color 0.2s;
        }
        /* Cursor Hover State */
        body.hovering .cursor-outline {
            width: 60px; height: 60px;
            background-color: rgba(0, 95, 216, 0.05);
            border-color: #005FD8;
        }

        .eyebrow {
            font-size: 0.7rem; font-weight: 700; color: #FFFFFF; 
            text-transform: uppercase; letter-spacing: 0.2em;
        }

        .eyebrow-dark {
            font-size: 0.7rem; font-weight: 700; color: #005FD8; 
            text-transform: uppercase; letter-spacing: 0.2em;
        }

        /* UPDATED Form Styling (Matched to uploaded file) */
        .form-group { position: relative; margin-bottom: 2rem; } 
        
        .form-input {
            width: 100%; background: transparent;
            border-bottom: 1px solid #CBD5E1; padding: 1rem 0;
            font-family: 'Inter', sans-serif; font-size: 1rem; color: #051C2C;
            transition: all 0.3s ease; border-radius: 0;
        }
        .form-input:focus {
            outline: none; border-bottom-color: #005FD8;
            background: linear-gradient(to bottom, transparent 95%, rgba(0, 95, 216, 0.05) 100%);
        }
        .form-input::placeholder { color: #94A3B8; font-weight: 300; }

        /* Glass Panel Card */
        .glass-card {
            background: rgba(255, 255, 255, 0.03);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        /* Map Filter */
        .map-frame { filter: grayscale(100%) invert(0%) contrast(85%); transition: filter 0.5s ease; }
        .map-frame:hover { filter: grayscale(0%); }
        
        /* Magnetic Buttons */
        .btn-magnetic {
            position: relative; z-index: 2; transition: transform 0.2s ease-out;
        }

        /* Reveal Block Animation */
        .reveal-block {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .reveal-block.is-visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Text Reveal Animation */
        .reveal-text { overflow: hidden; }
        .reveal-text span { 
            display: block; 
            transform: translateY(100%); 
            opacity: 0;
            transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 1s ease; 
        }
        .reveal-text.is-visible span { transform: translateY(0); opacity: 1; }
        
        .delay-100 { transition-delay: 0.1s; }
        .delay-100 span { transition-delay: 0.1s; }
        .delay-200 { transition-delay: 0.2s; }
        .delay-200 span { transition-delay: 0.2s; }
        .delay-300 { transition-delay: 0.3s; }

        /* Film Grain Overlay */
        .bg-grain {
            position: absolute; top: -50%; left: -50%; width: 200%; height: 200%;
            background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");
            pointer-events: none; z-index: 1; opacity: 0.3;
        }
