:root {
            --bg-primary: #ffffff;
            --bg-secondary: #f4f5f8;
            --text-primary: #1b263b; /* Deep blue / Navy */
            --text-secondary: #555555;
            --accent-gold: #c5a059;
            --slash-color: rgba(27, 38, 59, 0.2);

            /* Liquid Glass Chromatic Dispersion (Tunable 0-100%) */
            --dispersion: 65;
            --dispersion-coef: calc(4px * var(--dispersion, 65) / 100);
            --dispersion-offset: calc(0.5px + 1.0px * (var(--dispersion, 65) / 100));
        }

        html {
            overflow-x: hidden;
            width: 100%;
            -webkit-text-size-adjust: 100%;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        }

        body {
            background-color: var(--bg-primary);
            color: var(--text-primary);
            line-height: 1.6;
            overflow-x: hidden;
            width: 100%;
            max-width: 100vw;
            position: relative;
        }

        h1, h2, h3, h4 {
            font-weight: 300;
            letter-spacing: 2px;
            text-transform: uppercase;
        }

        .sub-heading {
            font-size: 1.2rem;
            color: var(--accent-gold);
            letter-spacing: 4px;
            margin-bottom: 1.5rem;
            display: inline-block;
        }

        /* Ticker Tape */
        .ticker-wrap {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            max-width: 100vw;
            overflow: hidden;
            background-color: var(--bg-primary);
            border-bottom: 1px solid var(--text-primary);
            box-sizing: border-box;
            z-index: 1001;
        }

        .ticker {
            display: inline-flex;
            height: 35px;
            line-height: 35px;
            white-space: nowrap;
            box-sizing: border-box;
            animation: ticker 35s linear infinite;
        }

        .ticker-item {
            display: inline-block;
            padding: 0 3rem;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--text-primary);
            letter-spacing: 1.5px;
            text-transform: uppercase;
        }

        @keyframes ticker {
            0% { transform: translate3d(0, 0, 0); }
            100% { transform: translate3d(-50%, 0, 0); }
        }

        /* Desktop Top-Docked Notch Navbar (Replicating Screenshot with Inverted Fillets & Target Palette) */
        header {
            position: fixed;
            top: 35px; /* Directly below ticker */
            left: 0;
            width: 100%;
            display: flex;
            justify-content: center;
            z-index: 1000;
            pointer-events: none;
            transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
            will-change: transform, opacity;
        }

        .desktop-notch-nav {
            position: relative;
            display: flex;
            align-items: center;
            gap: 2rem;
            background: #ffffff;
            color: #1b263b;
            height: 52px;
            padding: 0 1rem 0 0.85rem;
            border-bottom-left-radius: 20px;
            border-bottom-right-radius: 20px;
            border-bottom: 1px solid rgba(27, 38, 59, 0.08);
            border-left: 1px solid rgba(27, 38, 59, 0.05);
            border-right: 1px solid rgba(27, 38, 59, 0.05);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08), 0 2px 8px rgba(27, 38, 59, 0.05);
            pointer-events: auto;
            max-width: 900px;
        }

        /* Continuous Inverse Fillet Curves flaring smoothly outward into the top viewport edge */
        .desktop-notch-nav::before,
        .desktop-notch-nav::after {
            content: '';
            position: absolute;
            top: 0;
            width: 18px;
            height: 18px;
            pointer-events: none;
        }

        /* Left ear: rounded outer curve connecting top edge to vertical wall */
        .desktop-notch-nav::before {
            left: -18px;
            border-top-right-radius: 18px;
            box-shadow: 6px -6px 0 6px #ffffff;
        }

        /* Right ear: rounded outer curve connecting top edge to vertical wall */
        .desktop-notch-nav::after {
            right: -18px;
            border-top-left-radius: 18px;
            box-shadow: -6px -6px 0 6px #ffffff;
        }

        /* Brand Left: Pure Logo + Brand Name */
        .notch-brand {
            display: inline-flex;
            align-items: center;
            gap: 0.65rem;
            text-decoration: none;
            color: #1b263b;
            line-height: 1;
        }

        .desktop-logo-img {
            height: 28px;
            width: auto;
            object-fit: contain;
            display: block;
            flex-shrink: 0;
            background: transparent;
            border: none;
            box-shadow: none;
            border-radius: 0;
        }

        .mobile-logo-img {
            display: none;
        }

        .notch-brand-name {
            font-size: 0.95rem;
            font-weight: 600;
            letter-spacing: -0.2px;
            color: #1b263b;
            white-space: nowrap;
            line-height: 1;
            display: inline-flex;
            align-items: center;
            transform: translateY(-0.75px); /* Optical adjustment to align perfectly with cap-height and centerline of nav links */
        }

        /* Nav Links */
        .nav-links {
            display: flex;
            align-items: center;
            gap: 1.4rem;
            list-style: none;
            margin: 0;
            padding: 0;
            line-height: 1;
        }

        .nav-links a {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            color: #64748b;
            font-size: 0.85rem;
            font-weight: 500;
            letter-spacing: 0;
            text-transform: none;
            padding: 0 2px;
            line-height: 1;
            height: 100%;
            transition: color 0.2s ease;
            white-space: nowrap;
            background: transparent;
            border: none;
            border-radius: 0;
        }

        .nav-links a:hover {
            color: #1b263b;
            background: transparent;
        }

        .nav-links a.active {
            color: #1b263b;
            font-weight: 600;
            background: transparent;
        }

        /* CTA Button (White background with Navy border and text) */
        .notch-cta-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ffffff;
            color: #1b263b;
            text-decoration: none;
            font-size: 0.88rem;
            font-weight: 600;
            letter-spacing: -0.1px;
            padding: 0 14px 0 10px;
            height: 38px;
            border-radius: 9px;
            border: 1.5px solid #1b263b;
            margin-left: 0.5rem;
            white-space: nowrap;
            transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease, box-shadow 0.2s ease;
            box-shadow: 0 2px 6px rgba(27, 38, 59, 0.08);
            flex-shrink: 0;
            overflow: hidden;
            cursor: pointer;
            box-sizing: border-box;
        }

        .notch-cta-btn:hover {
            background-color: #f8fafc;
            transform: scale(1.03);
            box-shadow: 0 4px 14px rgba(27, 38, 59, 0.14);
        }

        .notch-cta-btn:active {
            transform: scale(0.97);
        }

        .notch-cta-btn img.notch-cta-icon {
            width: 27px;
            height: 27px;
            object-fit: contain;
            display: block;
            flex-shrink: 0;
        }

        .notch-cta-btn .cta-text-wrap {
            display: inline-flex;
            align-items: center;
            overflow: hidden;
            white-space: nowrap;
            line-height: 1;
            margin-left: 7px;
        }

        .notch-cta-btn .cta-text {
            display: inline-block;
            white-space: nowrap;
        }

        /* Hero CTA Morphing Container */
        .hero-cta-wrapper {
            position: absolute;
            left: 5%;
            bottom: max(100px, 11vh);
            width: 176px;
            height: 52px;
            z-index: 50;
        }

        /* 
           The morphing box is anchored to top: 50%, left: 0 with transform: translateY(-50%).
           Its left side stays strictly flush with the left alignment line of the hero content,
           while it expands equally in the vertical (up and down) directions like the button organically grew to that size.
           The generous static clearance above ensures zero overlap with the hero description text, which remains 100% static.
        */
        .hero-cta-box,
        .hero-cta-box * {
            box-sizing: border-box;
        }

        .hero-cta-box {
            position: absolute;
            top: 50%;
            left: 0;
            transform: translateY(-50%);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #ffffff;
            border-radius: 9999px; /* Initial pill squircle */
            box-shadow: 
                0 14px 34px -6px rgba(0, 0, 0, 0.22),
                0 2px 8px rgba(0, 0, 0, 0.08),
                inset 0 1px 1.5px 0 rgba(255, 255, 255, 1),
                inset 0 0 0 1px rgba(27, 38, 59, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.85);
            cursor: pointer;
            overflow: hidden;
            isolation: isolate;
            width: 176px;
            height: 52px;
            padding: 0 26px 0 22px;
            transform-origin: left center;
            user-select: none;
            -webkit-user-select: none;
        }

        .hero-cta-box:hover:not(.is-open) {
            box-shadow: 
                0 18px 40px -6px rgba(0, 0, 0, 0.28),
                0 4px 12px rgba(0, 0, 0, 0.1),
                inset 0 1px 1.5px 0 rgba(255, 255, 255, 1),
                inset 0 0 0 1px rgba(27, 38, 59, 0.12);
        }

        /* Collapsed button trigger content */
        .hero-cta-trigger {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.65rem;
            color: #1b263b;
            font-size: 1.02rem;
            font-weight: 500;
            letter-spacing: -0.1px;
            white-space: nowrap;
            width: 100%;
            height: 100%;
            pointer-events: auto;
        }

        .hero-cta-trigger .cta-icon-plus {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 18px;
            height: 18px;
            color: #1b263b;
            flex-shrink: 0;
        }

        .hero-cta-trigger .cta-icon-plus svg {
            width: 16px;
            height: 16px;
            stroke: currentColor;
            stroke-width: 2.2;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        /* Expanded State: morphs to luxury white dropdown */
        .hero-cta-box.is-open {
            cursor: default;
            border-color: rgba(27, 38, 59, 0.08);
        }

        /* White Dropdown Menu Content inside the morphed button */
        .hero-cta-menu {
            position: absolute;
            inset: 8px;
            display: flex;
            flex-direction: column;
            gap: 2px;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            z-index: 10;
        }

        /* White Menu Items */
        .hero-menu-item {
            display: flex;
            align-items: center;
            flex: 1 1 0%;
            min-height: 0;
            gap: 13px;
            padding: 10px 14px;
            text-decoration: none;
            color: #1b263b;
            font-size: 0.94rem;
            line-height: 1.25;
            font-weight: 500;
            letter-spacing: -0.1px;
            border-radius: 12px;
            transition: background-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
            cursor: pointer;
            box-sizing: border-box;
        }

        .hero-menu-item:hover {
            background-color: #f1f5f9;
            color: #0f172a;
        }

        .hero-menu-item:active {
            transform: scale(0.98);
        }

        .hero-menu-item .menu-item-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 22px;
            height: 22px;
            color: #64748b;
            flex-shrink: 0;
            transition: color 0.16s ease;
        }

        .hero-menu-item:hover .menu-item-icon {
            color: #1b263b;
        }

        .hero-menu-item .menu-item-icon svg {
            width: 18px;
            height: 18px;
            stroke: currentColor;
            stroke-width: 1.85;
            fill: none;
            stroke-linecap: round;
            stroke-linejoin: round;
        }


        /* Liquid Glass Capsule Tab Bar — Precise Art Direction */
        .mobile-nav-pill-wrapper {
            display: none;
        }

        @media (max-width: 768px) {
            .mobile-nav-pill-wrapper {
                display: flex;
                position: fixed;
                bottom: calc(14px + env(safe-area-inset-bottom, 0px)); /* Hovering above bottom safe area */
                left: 0;
                right: 0;
                width: 100%;
                justify-content: center;
                align-items: center;
                z-index: 99999;
                pointer-events: none;
                padding: 0 12px;
                -webkit-transform: translateZ(0);
                transform: translateZ(0);
                isolation: isolate;
            }

            .mobile-nav-dock {
                pointer-events: auto;
                position: relative;
                display: flex;
                align-items: center;
                height: 70px; /* Comfortable touch targets */
                padding: 6px 8px;
                border-radius: 9999px; /* Fully rounded capsule */
                width: 100%;
                max-width: 430px;
                justify-content: space-between;

                /* Material: thick optical glass */
                background: rgba(255, 255, 255, 0.08); /* 6–10% white fill by default */
                backdrop-filter: blur(40px) saturate(180%) brightness(105%);
                -webkit-backdrop-filter: blur(40px) saturate(180%) brightness(105%);

                /* 1px inner white rim + top specular highlight + soft black ambient shadow */
                box-shadow: 
                    0 20px 42px -8px rgba(0, 0, 0, 0.22),
                    0 6px 18px -3px rgba(0, 0, 0, 0.1),
                    inset 0 1px 1px 0 rgba(255, 255, 255, 0.8),
                    inset 0 0 0 1px rgba(255, 255, 255, 0.28),
                    inset 0 -1px 2px 0 rgba(0, 0, 0, 0.06);
                border: 1px solid rgba(255, 255, 255, 0.35);
                isolation: isolate;
                user-select: none;
                -webkit-user-select: none;
                touch-action: pan-y;
                overflow: visible; /* Allows slider to expand beyond navbar vertically like a bubble */
                cursor: grab;
                transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.32s cubic-bezier(0.16, 1, 0.3, 1);
            }

            /* Luminous Aura Glow on Dark / Navy Surfaces (Prevents optical drowning) */
            .mobile-nav-pill-wrapper::before {
                content: '';
                position: absolute;
                width: calc(100% - 16px);
                max-width: 446px;
                height: 84px;
                border-radius: 9999px;
                background: radial-gradient(ellipse 90% 80% at 50% 50%, rgba(255, 255, 255, 0.22) 0%, rgba(130, 185, 255, 0.12) 45%, transparent 72%);
                opacity: 0;
                transform: scale(0.96);
                pointer-events: none;
                z-index: 0;
                filter: blur(12px);
                transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
            }

            .mobile-nav-pill-wrapper.is-on-dark::before {
                opacity: 1;
                transform: scale(1);
            }

            /* Dynamic Contrast Adaptation — Liquid Frost on Navy / Dark Surfaces */
            .mobile-nav-dock.is-on-dark {
                background: rgba(255, 255, 255, 0.22); /* Ultra-pure bright frosted optical liquid layer */
                backdrop-filter: blur(48px) saturate(220%) brightness(130%) contrast(115%);
                -webkit-backdrop-filter: blur(48px) saturate(220%) brightness(130%) contrast(115%);
                border: 1px solid rgba(255, 255, 255, 0.72);
                box-shadow: 
                    0 24px 48px -6px rgba(0, 0, 0, 0.45),
                    0 8px 24px -2px rgba(0, 0, 0, 0.25),
                    0 0 28px 0 rgba(255, 255, 255, 0.28), /* Soft specular exterior halo */
                    inset 0 1.5px 2px 0 rgba(255, 255, 255, 0.95),
                    inset 0 0 0 1px rgba(255, 255, 255, 0.45),
                    inset 0 -1.5px 2px 0 rgba(0, 0, 0, 0.12);
            }

            /* When held/dragged: navbar lifts itself up slightly and converts liquid glass to white */
            .mobile-nav-dock.is-lifted,
            .mobile-nav-dock:active {
                cursor: grabbing;
                transform: translateY(-5px); /* Lifts up slightly */
                background: #ffffff; /* Converts to white */
                box-shadow: 
                    0 28px 58px -10px rgba(0, 0, 0, 0.28),
                    0 10px 24px -4px rgba(0, 0, 0, 0.14),
                    inset 0 1px 1.5px 0 rgba(255, 255, 255, 1),
                    inset 0 0 0 1px rgba(27, 38, 59, 0.08);
            }

            /* 2% micro-grain overlay for wet optical glass lens realism */
            .mobile-nav-dock::before {
                content: '';
                position: absolute;
                inset: 0;
                border-radius: 9999px;
                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.85' 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");
                opacity: 0.22;
                mix-blend-mode: overlay;
                pointer-events: none;
                z-index: 1;
                transition: opacity 0.25s ease;
            }

            .mobile-nav-dock.is-lifted::before {
                opacity: 0.05;
            }

            /* Chromatic Dispersion fringe on capsule rim */
            .mobile-nav-dock::after {
                content: '';
                position: absolute;
                inset: 0;
                border-radius: 9999px;
                pointer-events: none;
                z-index: 1;
                box-shadow: 
                    inset calc(-1 * var(--dispersion-offset)) 0 calc(var(--dispersion-offset) * 1.2) rgba(255, 45, 85, calc(0.35 * var(--dispersion) / 100)),
                    inset var(--dispersion-offset) 0 calc(var(--dispersion-offset) * 1.2) rgba(0, 225, 255, calc(0.4 * var(--dispersion) / 100)),
                    inset 0 1.2px calc(var(--dispersion-offset)) rgba(255, 255, 255, 0.7);
                -webkit-mask-image: radial-gradient(ellipse 96% 90% at 50% 50%, transparent 68%, black 100%);
                mask-image: radial-gradient(ellipse 96% 90% at 50% 50%, transparent 68%, black 100%);
                transition: opacity 0.25s ease;
            }

            .mobile-nav-dock.is-on-dark::after {
                box-shadow: 
                    inset calc(-1 * var(--dispersion-offset)) 0 calc(var(--dispersion-offset) * 1.4) rgba(255, 75, 115, calc(0.45 * var(--dispersion) / 100)),
                    inset var(--dispersion-offset) 0 calc(var(--dispersion-offset) * 1.4) rgba(60, 235, 255, calc(0.55 * var(--dispersion) / 100)),
                    inset 0 1.5px calc(var(--dispersion-offset)) rgba(255, 255, 255, 0.95);
            }

            .mobile-nav-dock.is-lifted::after {
                opacity: 0.25;
            }

            /* Active Tab Slider — Bubble & Magnification Glass */
            .mobile-nav-slider {
                --fringe-opacity: 0;
                --slider-blur: 0px;
                --slider-speed: 0;
                position: absolute;
                top: 7px;
                bottom: 7px;
                left: 0;
                height: 58px;
                border-radius: 9999px;
                pointer-events: none;
                z-index: 2;
                transform-origin: 50% 50%;
                will-change: transform, filter;
                
                /* Crystal-clear optical liquid lens */
                background: linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 0.65) 0%,
                    rgba(240, 246, 255, 0.42) 100%
                );
                backdrop-filter: blur(calc(4px + 5px * var(--slider-speed, 0))) saturate(180%) brightness(108%) contrast(108%);
                -webkit-backdrop-filter: blur(calc(4px + 5px * var(--slider-speed, 0))) saturate(180%) brightness(108%) contrast(108%);
                
                /* Subtle optical motion blur on slider body during transit */
                filter: blur(var(--slider-blur, 0px));
                
                /* Clean optical lens box shadow */
                box-shadow: 
                    0 10px 24px -4px rgba(27, 38, 59, 0.18),
                    0 4px 10px -2px rgba(27, 38, 59, 0.1),
                    inset 0 1.5px 2px 0 rgba(255, 255, 255, 0.95),
                    inset 0 -1.5px 2px 0 rgba(1, 38, 92, 0.12);
                border: 1.5px solid rgba(255, 255, 255, 0.88);
                overflow: hidden;
                transition: background 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.32s cubic-bezier(0.16, 1, 0.3, 1);
            }

            /* Adaptive Luminous Slider Pill on Dark Surfaces */
            .mobile-nav-dock.is-on-dark .mobile-nav-slider {
                background: linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 0.95) 0%,
                    rgba(235, 245, 255, 0.88) 100%
                );
                box-shadow: 
                    0 12px 28px -4px rgba(0, 0, 0, 0.35),
                    0 4px 12px -2px rgba(0, 0, 0, 0.2),
                    0 0 16px 0 rgba(255, 255, 255, 0.35),
                    inset 0 1.5px 2px 0 rgba(255, 255, 255, 1),
                    inset 0 -1.5px 2px 0 rgba(0, 50, 140, 0.15);
                border: 1.5px solid rgba(255, 255, 255, 0.95);
            }

            /* Optical Refraction Chamber: hidden */
            .slider-fringe-chamber {
                display: none !important;
            }

            /* Lens Edge Meniscus Refraction */
            .mobile-nav-slider::before {
                content: '';
                position: absolute;
                inset: 0;
                border-radius: 9999px;
                pointer-events: none;
                box-shadow: 
                    inset 0 1.5px 2px 0 rgba(255, 255, 255, 0.95),
                    inset 0 -1.5px 2px 0 rgba(27, 38, 59, 0.12);
                -webkit-mask-image: radial-gradient(ellipse 94% 88% at 50% 50%, transparent 60%, black 100%);
                mask-image: radial-gradient(ellipse 94% 88% at 50% 50%, transparent 60%, black 100%);
            }

            /* Lens top specular convex bubble sheen */
            .mobile-nav-slider::after {
                content: '';
                position: absolute;
                top: 2px;
                left: 12px;
                right: 12px;
                height: 44%;
                border-radius: 9999px;
                background: linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 0.9) 0%,
                    rgba(255, 255, 255, 0) 100%
                );
                pointer-events: none;
            }

            /* Tab items: Constant size icons */
            .mobile-tab-item {
                position: relative;
                flex: 1;
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                height: 58px;
                padding: 3px 2px;
                text-decoration: none;
                color: #637286;
                z-index: 3;
                border-radius: 9999px;
                cursor: pointer;
                opacity: 0.52;
                filter: grayscale(85%) contrast(90%);
                will-change: transform, opacity, color;
                transition: opacity 0.2s ease, filter 0.2s ease, color 0.2s ease;
                -webkit-tap-highlight-color: transparent;
            }

            /* Inactive tabs on dark / navy surfaces: Ultra crisp, legible silver-white */
            .mobile-nav-dock.is-on-dark .mobile-tab-item {
                color: rgba(255, 255, 255, 0.72);
                opacity: 0.78;
                filter: none;
                text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
            }

            /* When lifted/held on dark surfaces, dock converts to white, so inactive tabs remain dark slate */
            .mobile-nav-dock.is-on-dark.is-lifted .mobile-tab-item:not(.active) {
                color: #637286 !important;
                opacity: 0.65 !important;
                text-shadow: none !important;
            }

            .mobile-tab-item.active {
                color: #0055ff !important;
                opacity: 1 !important;
                filter: grayscale(0%) contrast(100%) !important;
            }

            .mobile-nav-dock.is-on-dark .mobile-tab-item.active {
                color: #0047e0 !important;
                opacity: 1 !important;
                text-shadow: none;
            }

            /* Continuous Unified Icons: Never sliced into strips */
            .mobile-tab-icon {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 22px;
                height: 22px;
                margin-bottom: 2px;
                position: relative;
                will-change: transform;
                pointer-events: none;
            }

            .mobile-tab-icon svg {
                width: 22px !important;
                height: 22px !important;
                stroke: currentColor;
                fill: none;
                stroke-width: 1.85;
                stroke-linecap: round;
                stroke-linejoin: round;
                display: block;
                transition: stroke-width 0.2s cubic-bezier(0.32, 0.72, 0, 1), stroke 0.2s ease;
            }

            .mobile-nav-dock.is-on-dark .mobile-tab-item:not(.active) .mobile-tab-icon svg {
                stroke: rgba(255, 255, 255, 0.88);
                filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
            }

            .mobile-nav-dock.is-on-dark.is-lifted .mobile-tab-item:not(.active) .mobile-tab-icon svg {
                stroke: #637286 !important;
                filter: none !important;
            }

            /* Active Tab Luminous Royal Blue State - Razor Sharp, ZERO Outer Spread */
            .mobile-tab-item.active .mobile-tab-icon svg {
                stroke: #0055ff !important;
                stroke-width: 2.2 !important;
                filter: none !important; /* Zero blue spread outside icon */
            }

            .mobile-nav-dock.is-on-dark .mobile-tab-item.active .mobile-tab-icon svg {
                stroke: #0047e0 !important;
                stroke-width: 2.3 !important;
                filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.6)) !important;
            }

            /* Clearer & Larger Label with Character Segments */
            .mobile-tab-label {
                font-size: 0.65rem;
                font-weight: 500;
                line-height: 1.1;
                letter-spacing: 0.1px;
                white-space: nowrap;
                transition: font-weight 0.25s ease, color 0.2s ease;
                display: inline-flex;
                align-items: center;
                text-align: center;
                max-width: 100%;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .mobile-tab-item.active .mobile-tab-label {
                color: #0055ff !important;
                font-weight: 700 !important;
                text-shadow: none !important; /* Zero blue spread outside text */
            }

            .mobile-nav-dock.is-on-dark .mobile-tab-item.active .mobile-tab-label {
                color: #0047e0 !important;
                font-weight: 700 !important;
                text-shadow: none !important;
            }

            @media (max-width: 360px) {
                .mobile-nav-dock {
                    height: 66px;
                    padding: 5px 6px;
                }
                .mobile-tab-item {
                    height: 54px;
                }
                .mobile-tab-icon {
                    width: 20px;
                    height: 20px;
                }
                .mobile-tab-icon svg {
                    width: 20px !important;
                    height: 20px !important;
                }
                .mobile-tab-label {
                    font-size: 0.58rem;
                }
            }

            .char-segment {
                display: inline-block;
                position: relative;
                will-change: transform, color, opacity;
                pointer-events: none;
                color: inherit;
                transition: color 0.12s ease, opacity 0.12s ease;
            }

            .mobile-tab-item.active .char-segment {
                color: #0055ff !important;
                font-weight: 700 !important;
                filter: none !important;
            }

            .mobile-nav-dock.is-on-dark .mobile-tab-item.active .char-segment {
                color: #0047e0 !important;
                font-weight: 700 !important;
                filter: none !important;
            }

            .char-space {
                width: 0.26em;
            }

            /* Reduced Transparency & Reduced Motion Fallbacks */
            @media (prefers-reduced-transparency: reduce) {
                .mobile-nav-dock {
                    background: #ffffff !important;
                    backdrop-filter: none !important;
                    -webkit-backdrop-filter: none !important;
                    border: 1px solid rgba(27, 38, 59, 0.2) !important;
                    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
                }
                .mobile-nav-dock::before,
                .mobile-nav-dock::after,
                .mobile-nav-slider::before {
                    display: none !important;
                }
                .mobile-nav-slider {
                    background: #f0f4f8 !important;
                    backdrop-filter: none !important;
                    -webkit-backdrop-filter: none !important;
                    border: 1px solid rgba(27, 38, 59, 0.3) !important;
                    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
                }
            }

            @media (prefers-reduced-motion: reduce) {
                .mobile-nav-slider,
                .mobile-tab-item,
                .mobile-tab-icon {
                    transition-duration: 0.01ms !important;
                    animation-duration: 0.01ms !important;
                }
            }
        }

        /* Hero */
        .hero {
            height: 100vh;
            display: flex;
            align-items: flex-end;
            padding: 0 5% max(100px, 11vh) 5%;
            background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.02)), url('../assets/hero.png') center center/cover no-repeat;
            background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.02)), -webkit-image-set(url('../assets/hero.webp') type('image/webp'), url('../assets/hero.png') type('image/png'));
            background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.02)), image-set(url('../assets/hero.webp') type('image/webp'), url('../assets/hero.png') type('image/png'));
            position: relative;
        }

        
        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 650px;
            padding-bottom: calc(52px + 1.25rem + 68px);
        }

        .hero h1 {
            font-size: 4.5rem;
            line-height: 1.1;
            margin-bottom: 1.5rem;
            color: var(--bg-primary);
            text-shadow: 0 4px 12px rgba(0,0,0,0.5), 0 1px 3px rgba(0,0,0,0.8);
        }

        .hero p {
            font-size: 1.2rem;
            color: rgba(255, 255, 255, 0.95);
            text-shadow: 0 2px 8px rgba(0,0,0,0.6);
            margin-bottom: 0;
        }

        /* Narrative Intro */
        .narrative-intro {
            padding: 8rem 10%;
            text-align: center;
            background: var(--bg-primary);
        }

        .narrative-intro h2 {
            font-size: 3rem;
            margin-bottom: 2rem;
        }

        .narrative-intro p {
            font-size: 1.5rem;
            max-width: 900px;
            margin: 0 auto;
            color: var(--text-secondary);
            font-weight: 300;
        }

        /* Services / Solutions */
        .solutions {
            padding: 6rem 5%;
            background-color: var(--bg-secondary);
        }

        .solution-item {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            margin-bottom: 8rem;
            align-items: center;
        }

        .solution-item:last-child {
            margin-bottom: 0;
        }

        .solution-item:nth-child(even) .solution-text {
            order: 2;
        }
        .solution-item:nth-child(even) .solution-img {
            order: 1;
        }

        .solution-text h2 {
            font-size: 2.5rem;
            margin-bottom: 1.5rem;
        }

        .solution-text p {
            font-size: 1.1rem;
            color: var(--text-secondary);
        }

        .solution-img img {
            width: 100%;
            height: auto;
            border-radius: 8px; /* Slight rounding for Emil polish */
            box-shadow: 0 24px 48px -12px rgba(0,0,0,0.1), 0 0 0 1px rgba(0,0,0,0.02);
        }

        /* 
           PINNED TIMELINE SCROLLYTELLING
        */
        .timeline-section {
            height: 100vh;
            height: 100dvh;
            display: flex;
            flex-direction: column;
            background: var(--bg-primary);
            overflow: hidden;
            position: relative;
        }

        .timeline-header {
            margin-top: 15vh;
            text-align: center;
            flex-shrink: 0;
            z-index: 10;
            position: relative;
        }

        .timeline-header h2 {
            font-size: 3rem;
        }

        .timeline-container {
            position: relative;
            flex-grow: 1;
            width: 100%;
            /* Hide items above/below the central viewport focus */
            mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
            -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 20%, black 80%, transparent 100%);
        }

        .timeline {
            position: absolute;
            top: 50%; /* Start vertically centered in the container */
            left: 0;
            right: 0;
            margin: 0 auto;
            width: 100%;
            max-width: 800px;
            will-change: transform;
        }

        /* GSAP animated lines */
        .timeline-line {
            position: absolute;
            top: 0; left: 50%; 
            width: 2px; height: 100%;
            background: var(--slash-color);
            z-index: 1;
            transform: translateX(-50%);
        }

        .timeline-line-active {
            position: absolute;
            top: 0; left: 50%; 
            width: 2px; height: 100%;
            background: var(--accent-gold);
            z-index: 1;
            transform-origin: top;
            transform: translateX(-50%) scaleY(0); /* animated via GSAP */
            will-change: transform;
        }

        .timeline-item {
            display: flex;
            justify-content: space-between;
            align-items: center; /* Center horizontally with dot */
            position: relative;
            z-index: 2;
            margin-bottom: 20vh; /* Large gap sets the scroll distance */
        }
        
        .timeline-item:last-child {
            margin-bottom: 0; /* Important so height calculation is exact */
        }

        .timeline-dot {
            position: absolute;
            top: 50%; left: 50%; transform: translate(-50%, -50%);
            width: 16px; height: 16px;
            background: var(--accent-gold);
            border-radius: 50%;
            box-shadow: 0 0 0 8px var(--bg-primary); /* cuts out the line underneath */
            will-change: transform, opacity;
        }

        .timeline-year {
            width: 45%;
            text-align: right;
            padding-right: 4rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .timeline-year span:first-child {
            font-size: 3.5rem;
            color: var(--text-primary);
            font-weight: 300;
            line-height: 1;
            letter-spacing: -1px;
            font-variant-numeric: tabular-nums;
        }

        .timeline-year .year-sub {
            font-size: 0.85rem;
            font-weight: 400;
            font-style: italic;
            color: var(--text-primary);
            letter-spacing: 2px;
            text-transform: uppercase;
            margin-top: 0.4rem;
            opacity: 0.7;
        }

        .timeline-content {
            width: 45%;
            padding-left: 4rem;
        }

        /* Emil Kowalski Inspired Structured Card */
        .timeline-card {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(27, 38, 59, 0.08);
            border-radius: 16px;
            padding: 1.75rem 2rem;
            box-shadow: 0 16px 36px -12px rgba(27, 38, 59, 0.06), 0 0 0 1px rgba(255, 255, 255, 0.8) inset;
            text-align: left;
            position: relative;
            transition: transform 0.4s cubic-bezier(0.32, 0.72, 0, 1), box-shadow 0.4s cubic-bezier(0.32, 0.72, 0, 1);
        }

        .card-title {
            font-size: 1.25rem;
            font-weight: 500;
            color: var(--text-primary);
            letter-spacing: 0.5px;
            margin-bottom: 0.65rem;
            line-height: 1.3;
            text-transform: uppercase;
        }

        .card-desc {
            color: var(--text-secondary);
            font-size: 0.95rem;
            line-height: 1.65;
            font-weight: 400;
        }

        .timeline-item:nth-child(even) .timeline-year {
            order: 2;
            text-align: left;
            padding-right: 0;
            padding-left: 4rem;
        }

        .timeline-item:nth-child(even) .timeline-content {
            order: 1;
            padding-left: 0;
            padding-right: 4rem;
        }

        /* Highlight box for "Beating Heart" */
        .highlight-box {
            background: var(--text-primary);
            color: var(--bg-primary);
            padding: 6rem 10%;
            text-align: center;
        }

        .highlight-box h4 {
            font-size: 2rem;
            line-height: 1.4;
            max-width: 900px;
            margin: 0 auto;
        }
        .highlight-box h4 span {
            color: var(--accent-gold);
        }

        /* Footer */
        footer {
            background: linear-gradient(to right, #ffffff 0%, #ffffff 33.33%, var(--text-primary) 33.33%, var(--text-primary) 100%);
            color: var(--bg-primary);
            padding: 6rem 5% 3rem;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 4rem;
            max-width: 1200px;
            margin: 0 auto;
            border-bottom: 1px solid rgba(255,255,255,0.1);
            padding-bottom: 4rem;
            margin-bottom: 2rem;
        }

        .footer-logo-img {
            max-width: 150px;
            height: auto;
            margin-bottom: 1rem;
        }

        .footer-brand p {
            color: var(--text-primary);
            line-height: 1.8;
            max-width: 300px;
        }

        .footer-address {
            margin-top: 1.75rem;
            max-width: 320px;
        }

        .footer-address .address-label {
            display: block;
            font-size: 0.72rem;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--text-primary);
            margin-bottom: 0.4rem;
        }

        .footer-address p {
            font-size: 0.88rem;
            line-height: 1.6;
            color: var(--text-secondary);
        }

        .footer-links h4 {
            font-size: 1.2rem;
            margin-bottom: 2rem;
            letter-spacing: 2px;
        }

        .footer-links ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .footer-links li {
            margin-bottom: 1rem;
        }

        .footer-links a {
            color: rgba(255,255,255,0.6);
            text-decoration: none;
            transition: color 0.3s ease;
            font-size: 0.9rem;
        }

        .footer-links a:hover {
            color: white;
        }

        .footer-bottom {
            font-size: 0.8rem;
            color: rgba(255, 255, 255, 0.7);
            letter-spacing: 1px;
        }

        .footer-bottom-flex {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
            flex-wrap: wrap;
            gap: 1rem;
        }

        .footer-bottom-flex > span {
            color: rgba(255, 255, 255, 0.7);
            font-weight: 400;
            letter-spacing: 1px;
        }

        .footer-legal {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .footer-legal a {
            color: rgba(255, 255, 255, 0.7);
            text-decoration: none;
            transition: color 0.2s ease;
            font-size: 0.78rem;
            letter-spacing: 0.5px;
        }

        .footer-legal a:hover {
            color: #ffffff;
        }

        .footer-legal .legal-sep {
            color: rgba(255, 255, 255, 0.35);
            font-size: 0.75rem;
        }

        /* Responsive Design */
        @media (max-width: 900px) {
            .solution-item {
                grid-template-columns: 1fr;
                gap: 2.5rem;
                margin-bottom: 5rem;
            }
            .solution-item:nth-child(even) .solution-text,
            .solution-item:nth-child(odd) .solution-text {
                order: 1;
            }
            .solution-item:nth-child(even) .solution-img,
            .solution-item:nth-child(odd) .solution-img {
                order: 2;
            }
        }

        @media (max-width: 768px) {
            header {
                width: 100%;
                top: 35px;
                left: 0;
                transform: translateY(0);
                pointer-events: none;
                transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
                will-change: transform, opacity;
                justify-content: flex-start;
            }
            header.is-hidden {
                transform: translateY(-120%);
                opacity: 0;
                pointer-events: none;
            }
            .desktop-notch-nav {
                padding: 0.85rem 1.25rem;
                justify-content: flex-start;
                align-items: center;
                background: transparent;
                border: none;
                border-radius: 0;
                box-shadow: none;
                pointer-events: auto;
                height: auto;
                max-width: 100%;
                gap: 0;
            }
            .desktop-notch-nav::before,
            .desktop-notch-nav::after {
                display: none !important;
            }
            .desktop-logo-img {
                display: none !important;
            }
            .notch-brand-name {
                display: none !important;
            }
            .mobile-logo-img {
                display: block !important;
                height: 38px;
                width: auto;
                object-fit: contain;
                filter: none !important;
                box-shadow: none !important;
                border: none !important;
                background: transparent !important;
            }
            .nav-links {
                display: none;
            }
            .notch-cta-btn {
                display: none;
            }
            .hero {
                align-items: flex-end;
                padding: 0 6% calc(140px + 10px) 6%;
                min-height: 100vh;
                height: 100svh;
                position: relative;
            }
            .hero-content {
                padding-bottom: 0px;
                position: relative;
                z-index: 2;
            }
            .hero h1 {
                font-size: 2.75rem;
                line-height: 1.1;
                margin-bottom: 1rem;
            }
            .hero p {
                font-size: 0.95rem;
                line-height: 1.5;
                max-width: 90%;
                margin-bottom: 0;
            }
            /* Position CTA Button in the top right portion of the hero across from the logo */
            .hero .hero-cta-wrapper {
                position: fixed !important;
                top: calc(35px + 10px) !important; /* Aligned across from the top mobile logo */
                right: 6% !important;
                left: auto !important;
                bottom: auto !important;
                margin-top: 0 !important;
                width: 154px;
                height: 42px;
                z-index: 1002 !important;
                transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
                will-change: transform, opacity;
            }
            .hero .hero-cta-wrapper.is-hidden {
                transform: translateY(-120%) !important;
                opacity: 0 !important;
                pointer-events: none !important;
            }
            .hero .hero-cta-box {
                position: absolute !important;
                top: 0 !important;
                left: auto !important;
                right: 0 !important;
                bottom: auto !important;
                transform: none !important;
                transform-origin: top right !important;
                width: 154px;
                height: 42px;
                padding: 0 16px 0 14px;
                font-size: 0.86rem;
                box-shadow: 
                    0 10px 24px -4px rgba(0, 0, 0, 0.28),
                    0 2px 6px rgba(0, 0, 0, 0.1),
                    inset 0 1px 1px 0 rgba(255, 255, 255, 0.9),
                    inset 0 0 0 1px rgba(27, 38, 59, 0.08);
            }
            .hero .hero-cta-trigger {
                font-size: 0.86rem;
                gap: 0.45rem;
            }
            .hero .hero-cta-trigger .cta-icon-plus {
                width: 15px;
                height: 15px;
            }
            .hero .hero-cta-trigger .cta-icon-plus svg {
                width: 14px;
                height: 14px;
            }
            .hero-cta-menu {
                gap: 3px;
            }
            .hero .hero-menu-item {
                padding: 9px 12px;
                gap: 11px;
                font-size: 0.90rem;
                flex: 1 1 0%;
                min-height: 0;
            }
            .narrative-intro {
                padding: 5rem 5%;
            }
            .narrative-intro h2 {
                font-size: 2rem;
            }
            .narrative-intro p {
                font-size: 1.1rem;
            }
            .highlight-box {
                padding: 4rem 5%;
            }
            .highlight-box h4 {
                font-size: 1.5rem;
            }
            .solution-text h2, .timeline-header h2 {
                font-size: 2rem;
            }
            .footer-grid {
                grid-template-columns: 1fr 1fr;
            }
            .timeline-container {
                mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
                -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%, black 90%, transparent 100%);
            }
            .timeline-header {
                margin-top: 75px;
            }
            .timeline-item {
                margin-bottom: 22vh;
                width: 100%;
                box-sizing: border-box;
            }
            .timeline-year {
                font-size: 1.5rem;
                padding-right: 1rem;
            }
            .timeline-year span:first-child {
                font-size: 1.5rem;
            }
            .timeline-year .year-sub {
                font-size: 0.68rem;
                margin-top: 0.2rem;
                letter-spacing: 1.5px;
            }
            .timeline-content {
                padding-left: 1rem;
            }
            .timeline-card {
                padding: 1.1rem 0.9rem;
                border-radius: 12px;
                word-break: break-word;
                overflow-wrap: break-word;
            }
            .card-title {
                font-size: 0.92rem;
                margin-bottom: 0.35rem;
                line-height: 1.25;
                word-break: break-word;
                overflow-wrap: break-word;
            }
            .card-desc {
                font-size: 0.78rem;
                line-height: 1.45;
                word-break: break-word;
                overflow-wrap: break-word;
            }
            .timeline-item:nth-child(even) .timeline-year {
                order: 2;
                text-align: left;
                padding-left: 1rem;
                padding-right: 0;
            }
            .timeline-item:nth-child(even) .timeline-content {
                order: 1;
                padding-right: 1rem;
                padding-left: 0;
            }
        }
        @media (max-width: 768px) {
            .timeline-section {
                position: relative;
                z-index: 1;
            }
            /* Mobile Footer matching AMRUT format */
            footer {
                padding: 0;
                background: var(--text-primary);
                position: relative;
                z-index: 10;
                margin-top: -120px;
                border-top: 1px solid rgba(255, 255, 255, 0.08);
            }
            .footer-grid {
                grid-template-columns: 1fr;
                gap: 0;
                padding-bottom: 0;
                border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            }
            .footer-brand {
                background: #ffffff;
                padding: 4rem 2rem;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                text-align: left;
                border-bottom: 1px solid rgba(27, 38, 59, 0.08);
            }
            .footer-logo-img {
                max-width: 150px;
                height: auto;
                margin: 0 0 1rem 0;
                display: block;
                background: transparent;
                padding: 0;
                border-radius: 0;
                box-shadow: none;
                border: none;
            }
            .footer-brand p {
                color: var(--text-primary); /* Dark text on white ground matching AMRUT */
                margin: 0;
                max-width: 320px;
                font-size: 0.95rem;
                line-height: 1.7;
            }
            .footer-address {
                margin: 1.5rem 0 0 0;
                text-align: left;
            }
            .footer-address .address-label {
                color: var(--text-primary);
            }
            .footer-address p {
                color: var(--text-secondary);
            }
            .footer-links {
                padding: 2rem 2rem 0;
                text-align: left;
            }
            .footer-links h4 {
                margin-bottom: 1.25rem;
            }
            .footer-bottom {
                padding: 2rem 2rem calc(2rem + 80px + env(safe-area-inset-bottom, 0px));
            }
            .footer-bottom-flex {
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                text-align: left;
                gap: 0.75rem;
            }
        }
