    /* Base & Typography */
    html {
        scroll-behavior: smooth;
        scroll-padding-top: 80px;
    }

    body {
        font-family: 'Inter', sans-serif;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    h1, h2, h3, h4, h5, h6 {
        font-family: 'Outfit', sans-serif;
    }

    /* Geometric Shapes */
    .geo-shape {
        position: absolute;
        opacity: 0.15;
        pointer-events: none;
    }

    .geo-circle-1 {
        width: 400px;
        height: 400px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(45, 212, 191, 0.4) 0%, transparent 70%);
        top: -100px;
        right: -100px;
        animation: float 8s ease-in-out infinite;
    }

    .geo-circle-2 {
        width: 250px;
        height: 250px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.15) 0%, transparent 70%);
        bottom: 15%;
        left: 5%;
        animation: float 10s ease-in-out infinite reverse;
    }

    .geo-circle-3 {
        width: 150px;
        height: 150px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(45, 212, 191, 0.3) 0%, transparent 70%);
        top: 40%;
        right: 15%;
        animation: float 6s ease-in-out infinite;
    }

    .geo-square-1 {
        width: 120px;
        height: 120px;
        background: rgba(255, 255, 255, 0.08);
        border: 2px solid rgba(255, 255, 255, 0.15);
        top: 20%;
        left: 10%;
        transform: rotate(45deg);
        animation: spin-slow 20s linear infinite;
    }

    .geo-square-2 {
        width: 80px;
        height: 80px;
        background: rgba(45, 212, 191, 0.2);
        border: 2px solid rgba(45, 212, 191, 0.3);
        bottom: 25%;
        right: 8%;
        transform: rotate(30deg);
        animation: spin-slow 15s linear infinite reverse;
    }

    .geo-triangle-1 {
        width: 0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-bottom: 86px solid rgba(255, 255, 255, 0.08);
        top: 60%;
        left: 20%;
        animation: float 7s ease-in-out infinite;
    }

    .geo-dots {
        width: 200px;
        height: 200px;
        background-image: radial-gradient(circle, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
        background-size: 20px 20px;
        top: 30%;
        right: 25%;
        opacity: 0.5;
    }

    .geo-circle-4 {
        width: 500px;
        height: 500px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%);
        top: -200px;
        right: -150px;
        animation: float 12s ease-in-out infinite;
    }

    .geo-square-3 {
        width: 100px;
        height: 100px;
        background: rgba(255, 255, 255, 0.06);
        border: 2px solid rgba(255, 255, 255, 0.1);
        bottom: -30px;
        left: 10%;
        transform: rotate(20deg);
        animation: spin-slow 18s linear infinite;
    }

    /* Animations */
    @keyframes float {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(-20px) rotate(3deg); }
    }

    @keyframes spin-slow {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    /* Scroll Reveal */
    .scroll-reveal {
        opacity: 1;
        transform: translateY(0);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }

    @media (prefers-reduced-motion: no-preference) {
        .scroll-reveal {
            opacity: 0;
            transform: translateY(30px);
        }
        .scroll-reveal.revealed {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Staggered delays for service cards */
    .grid > div:nth-child(1) .scroll-reveal { transition-delay: 0.05s; }
    .grid > div:nth-child(2) .scroll-reveal { transition-delay: 0.1s; }
    .grid > div:nth-child(3) .scroll-reveal { transition-delay: 0.15s; }
    .grid > div:nth-child(4) .scroll-reveal { transition-delay: 0.2s; }
    .grid > div:nth-child(5) .scroll-reveal { transition-delay: 0.25s; }
    .grid > div:nth-child(6) .scroll-reveal { transition-delay: 0.3s; }

    /* Navbar active state */
    nav.scrolled {
        background: rgba(15, 23, 42, 0.95);
        backdrop-filter: blur(12px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    }

    /* Focus styles */
    input:focus, textarea:focus {
        outline: none;
    }

    /* Mobile menu animation */
    #mobile-menu {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }

    #mobile-menu.open {
        max-height: 400px;
    }

    /* Smooth transitions for all interactive elements */
    a, button {
        transition: all 0.2s ease;
    }

    /* Custom scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: #f1f5f9;
    }
    ::-webkit-scrollbar-thumb {
        background: #94a3b8;
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #64748b;
    }
