        :root {
            --navy: #19183B;
            --accent-green: #285A48;
            --soft-white: #FFFFFF;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--soft-white);
            color: #1a1a1a;
            overflow-x: hidden;
            scroll-behavior: smooth;
        }

        .text-navy { color: var(--navy); }
        .bg-navy { background-color: var(--navy); }
        .bg-accent { background-color: var(--accent-green); }

        /* Typography */
        .ui-text { text-transform: uppercase; letter-spacing: 0.2em; font-size: 11px; font-weight: 500; }
        h1, h2, h3 { letter-spacing: -0.02em; }

        /* Navigation Animation */
        .nav-link { position: relative; padding-bottom: 4px; }
        .nav-link::after {
            content: '';
            position: absolute;
            bottom: 0; left: 0;
            width: 0; height: 1.5px;
            background: var(--navy);
            transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .nav-link:hover::after { width: 100%; }

        /* Hero Zoom Animation */
        @keyframes heroZoom {
            from { transform: scale(1); }
            to { transform: scale(1.1); }
        }
        .hero-bg { animation: heroZoom 20s ease-in-out infinite alternate; }

        /* Scroll Snap for Horizontal Section */
        .snap-x-container {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            -webkit-overflow-scrolling: touch;
        }
        .snap-item { scroll-snap-align: center; flex-shrink: 0; }
        .no-scrollbar::-webkit-scrollbar { display: none; }

        /* Section Reveals */
        .reveal { opacity: 0; transform: translateY(40px); transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); }
        .reveal.active { opacity: 1; transform: translateY(0); }

        /* Card Hover Effects */
        .zoom-card img { transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
        .zoom-card:hover img { transform: scale(1.08); }
        .zoom-card:hover .label-glow { color: white; text-shadow: 0 0 10px rgba(255,255,255,0.5); }

        /* Header Sticky */
        header.sticky-nav {
            padding-top: 1rem;
            padding-bottom: 1rem;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            box-shadow: 0 4px 30px rgba(0,0,0,0.03);
        }

        /* Mobile Menu */
        #mobile-nav { transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1); }
