
        /* --- Core Design System --- */
        :root {
            --color-base-white: #FFFFFF;
            --color-base-off-white: #F4F4F4;
            --color-base-light-grey: #EAEAEA;
            --color-base-medium-grey: #A0A0A0; 
            --color-base-dark-grey: #1A1A1A;
            --color-base-black: #000000;
            --color-brand-orange: #DB482E;
            --color-accent-blue: #0066FF;
            --color-accent-green: #00FF88;
            --color-accent-pink: #FF0066;
            
            --background-color: var(--color-base-dark-grey);
            --text-color: var(--color-base-light-grey);
            --heading-color: var(--color-base-off-white);
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--background-color);
            color: var(--text-color);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            cursor: none; /* Hide default cursor */
            
            /* Animated Gradient Background */
            background: linear-gradient(-45deg, #1A1A1A, #2c2c2c, #1A1A1A, #101010);
            background-size: 400% 400%;
            animation: gradientBG 15s ease infinite;
        }

        @keyframes gradientBG {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        /* --- Glass Cursor --- */
        #glass-cursor {
            position: fixed;
            top: 0;
            left: 0;
            width: 35px;
            height: 35px;
            background-color: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 50%;
            backdrop-filter: blur(5px);
            -webkit-backdrop-filter: blur(5px);
            box-shadow: inset 0px 1px 1px rgba(255, 255, 255, 0.15), 
                        0px 2px 3px rgba(0, 0, 0, 0.2); 
            pointer-events: none;
            z-index: 9999;
            transform: translate(-50%, -50%);
            transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
                        height 0.4s cubic-bezier(0.25, 1, 0.5, 1), 
                        border-radius 0.4s cubic-bezier(0.25, 1, 0.5, 1),
                        background-color 0.4s ease;
        }
        
        /* --- Typography --- */
        .fluid-text-xl {
            font-size: clamp(3rem, 10vw, 8rem);
            line-height: 1.05;
            letter-spacing: -0.04em;
        }
        .fluid-text-lg {
            font-size: clamp(1.25rem, 3vw, 1.75rem);
            line-height: 1.4;
        }
        
        /* --- Text Marquee Animation --- */
        .marquee {
            overflow: hidden;
            position: relative;
            white-space: nowrap;
        }
        .marquee-content {
            display: inline-block;
            animation: marquee-text 30s linear infinite;
        }
        @keyframes marquee-text {
            0% { transform: translateX(0%); }
            100% { transform: translateX(-50%); }
        }
        .marquee-content span:hover {
            color: var(--color-base-off-white);
            transition: color 0.3s;
        }

        /* --- Work/Portfolio Section --- */
        .portfolio-card {
            background-color: var(--color-base-black);
            border-radius: 1.5rem;
            padding: 2rem;
            transition: transform 0.6s ease, box-shadow 0.6s ease;
        }
        
        .portfolio-card .arrow-icon {
            transition: transform 0.3s ease;
        }
        .arrow-trigger:hover .arrow-icon {
            transform: rotate(-45deg);
        }
        .portfolio-image {
            overflow: hidden;
            border-radius: 0.75rem;
            border: 1px solid #2a2a2a;
            background-color: #111;
        }
        .portfolio-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: top;
            transition: transform 0.5s ease;
        }
        .portfolio-card:hover .portfolio-image img {
            transform: scale(1.05);
        }
        .project-logo-bg {
            background-color: var(--color-brand-orange);
        }

        /* --- Floating Orb --- */
        #floating-orb {
            position: fixed;
            width: 350px;
            height: 350px;
            background-color: var(--color-brand-orange);
            border-radius: 50%;
            filter: blur(120px);
            pointer-events: none;
            z-index: -1;
            top: -150px;
            left: -150px;
            animation: 
                float 30s infinite ease-in-out,
                colorize 20s infinite linear,
                pulse-opacity 10s infinite ease-in-out;
        }

        @keyframes float {
            0% { transform: translate(0, 0); }
            25% { transform: translate(100vw, 40vh); }
            50% { transform: translate(80vw, -20vh); }
            75% { transform: translate(20vw, 90vh); }
            100% { transform: translate(0, 0); }
        }

        @keyframes colorize {
            0% { background-color: #DB482E; }
            33% { background-color: #E85A4F; }
            66% { background-color: #F07C6A; }
            100% { background-color: #DB482E; }
        }
        
        @keyframes pulse-opacity {
            0% { opacity: 0.2; }
            50% { opacity: 0.5; }
            100% { opacity: 0.2; }
        }

        /* --- Scroll-triggered animations --- */
        .animate-on-scroll {
            opacity: 0;
            transition: opacity 1s ease-out, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
        }
        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: none !important;
        }
        
        /* --- Cookie Bar --- */
        #cookie-bar-wrapper {
            transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
        }
        #cookie-bar-wrapper.hidden {
            transform: translateY(100%);
            opacity: 0;
        }

        /* --- Playful Animations --- */
        @keyframes word-in {
            from { transform: translateY(100%); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .animate-word-in .word {
            display: inline-block;
            overflow: hidden;
        }
        .animate-word-in .word > span {
            display: inline-block;
            transform: translateY(100%);
            opacity: 0;
            animation: word-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        }

        @keyframes nav-link-in {
            from { transform: translateY(20px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }
        .nav-link-animate {
            animation: nav-link-in 0.6s ease-out backwards;
        }

        .service-card-icon {
            transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }
        .service-card:hover .service-card-icon {
            transform: scale(1.1) rotate(-10deg);
        }
        
        /* --- Process Section --- */
        .process-number {
            font-size: clamp(5rem, 15vw, 10rem);
            font-weight: 900;
            line-height: 1;
            color: rgba(160, 160, 160, 0.5);
            transition: transform 0.5s ease, color 0.5s ease;
        }
        .process-step:hover .process-number {
            transform: scale(1.05) rotate(-2deg);
            color: var(--color-brand-orange);
        }
        
        /* --- Back to Top Button --- */
        #back-to-top {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 50px;
            height: 50px;
            background-color: var(--color-base-black);
            border: 1px solid #333;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 1000;
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.3s, transform 0.3s, background-color 0.3s;
            pointer-events: none;
        }
        #back-to-top.visible {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }
        #back-to-top:hover {
            background-color: var(--color-brand-orange);
        }

        /* --- AI Project Kick-Starter --- */
        #ai-kickstarter-container {
            transition: opacity 0.5s ease-in-out;
        }
        .spinner {
            border: 4px solid rgba(255, 255, 255, 0.2);
            border-left-color: var(--color-brand-orange);
            border-radius: 50%;
            width: 24px;
            height: 24px;
            animation: spin 1s linear infinite;
        }
        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        /* --- Logo Carousel --- */
        .logo-carousel {
            overflow: hidden;
            position: relative;
            width: 100%;
            -webkit-mask-image: linear-gradient(to right, transparent, white 10%, white 90%, transparent);
            mask-image: linear-gradient(to right, transparent, white 10%, white 90%, transparent);
        }
        .logo-carousel-track {
            display: flex;
            width: fit-content;
            animation: scroll 40s linear infinite;
        }
        .logo-carousel:hover .logo-carousel-track {
            animation-play-state: paused;
        }
        .logo-carousel-track .logo-item {
            flex-shrink: 0;
            width: 260px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 2rem;
        }
        .logo-carousel-track svg {
            height: 135px;
    max-height: 135px;
            width: auto;
            transition: color 0.3s ease;
        }
        @keyframes scroll {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* --- Funders Section: Traditional Grid --- */
        .funder-logo-container {
            background-color: var(--color-base-black);
            border: 1px solid #2a2a2a;
            border-radius: 1rem;
            padding: 2rem;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
        .funder-logo-container:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.2);
        }
        .funder-logo-container svg {
            height: 48px;
            width: auto;
            color: var(--color-base-off-white);
        }

        /* Mobile cursor fix */
        @media (max-width: 768px) {
            body {
                cursor: auto;
            }
            #glass-cursor {
                display: none;
            }
        }
    

/* ── Funders section override: remove background & border, add SVG hover color ── */
#funders .funder-logo-container {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

#funders .funder-logo-container svg {
  height: 48px;
  width: auto;
  color: var(--color-base-off-white);
  transition: color 0.3s ease;
}

#funders .funder-logo-container:hover svg {
  color: var(--color-brand-orange);
}


/* ── Funders section: constant fade in/out animation ── */
@keyframes fadeLogo {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.3; }
}

#funders .funder-logo-container svg {
  animation: fadeLogo 5s ease-in-out infinite;
}
