        html { scroll-behavior: auto; }
        body { font-family: 'Inter', sans-serif; background: #FAFAF5; }

        /* Stacking cards effect */
        .stacking-cards { position: relative; }
        .service-card {
            position: sticky;
            will-change: transform, opacity;
            transition: opacity 0.7s ease-out, transform 0.7s ease-out;
        }
        .service-card:nth-child(1) { top: 100px; z-index: 1; }
        .service-card:nth-child(2) { top: 100px; z-index: 2; }
        .service-card:nth-child(3) { top: 100px; z-index: 3; }
        .service-card:nth-child(4) { top: 100px; z-index: 4; }

        @media (max-width: 768px) {
            .service-card { position: relative !important; top: auto !important; }
        }

        /* Scroll reveal for service cards */
        .card-hidden {
            opacity: 0;
            transform: translateY(80px) scale(0.96);
            pointer-events: none;
        }
        .card-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            pointer-events: auto;
        }

        /* Approach accordion cards */
        .approach-card {
            flex: 0 0 auto;
            width: 100%;
            background: #ffdcc9;
            transition: flex 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                        width 0.6s cubic-bezier(0.4, 0, 0.2, 1),
                        background 0.6s ease;
            position: relative;
        }
        @media (min-width: 768px) {
            .approach-card {
                flex: 0 0 186px;
                width: 186px;
            }
            .approach-card.active {
                flex: 1 1 0%;
            }
        }
        .approach-card.active {
            background: linear-gradient(to bottom, #8a1e0b, #f67531);
        }
        /* Expanded / collapsed content crossfade */
        .approach-card .card-expanded,
        .approach-card .card-collapsed {
            position: absolute;
            inset: 0;
            transition: opacity 0.5s ease 0.1s;
        }
        .approach-card .card-expanded {
            opacity: 0;
            pointer-events: none;
        }
        .approach-card .card-collapsed {
            opacity: 1;
            pointer-events: auto;
        }
        .approach-card.active .card-expanded {
            opacity: 1;
            pointer-events: auto;
            transition-delay: 0.15s;
        }
        .approach-card.active .card-collapsed {
            opacity: 0;
            pointer-events: none;
            transition-delay: 0s;
        }

        /* Scroll-linked floating logo that follows a path */
        .floating-logo {
            position: fixed;
            pointer-events: none;
            z-index: -1; /* Sits behind all section content but above body cream bg */
            will-change: transform, opacity;
        }
        #flow-path-svg {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            pointer-events: none;
            z-index: -2;
            opacity: 0;
        }

        /* Trailing smoke/bubble particles */
        .trail-bubble {
            position: fixed;
            pointer-events: none;
            z-index: -1; /* Same layer as floating logo — behind content */
            border-radius: 50%;
            background: radial-gradient(circle at 30% 30%, rgba(238, 79, 52, 0.55), rgba(217, 96, 40, 0.3) 60%, rgba(217, 96, 40, 0.08) 100%);
            will-change: transform, opacity;
            transition: none;
        }

        /* Gradient text */
        .gradient-text-orange {
            background: linear-gradient(to bottom, #90240D, #F1712F);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        /* Step card gradient */
        .step-card-gradient {
            background: linear-gradient(131deg, #7F1607 7%, #FA7832 100%);
        }

        /* Submit button gradient */
        .submit-gradient {
            background: linear-gradient(173deg, #8D210C 0%, #F1712F 100%);
        }

        /* Footer gradient */
        .footer-gradient {
            background: linear-gradient(to bottom, #FAFAF5, #D96028);
        }

        /* Logo hex shape */
        .hex-logo {
            transform: rotate(15deg);
        }

        /* Nav blur */
        .nav-blur {
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        /* Hero image cards stagger */
        .hero-card { border-radius: 18px 18px 0 0; overflow: hidden; }

        /* Expertise card overlay */
        .expertise-card::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.5));
            border-radius: inherit;
        }
        .expertise-card-text { position: relative; z-index: 1; }
