:root {
            --primary-blue: #182239;
            --brand-blue: #2880AF;
            --accent-gold: #FFD319;
            --bg-deep: #070614;
            --bg-card: rgba(11, 17, 32, 0.65);
            --border-color: rgba(39, 128, 175, 0.18);
        }

        html,
        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg-deep);
            color: #f8fafc;
            overflow-x: hidden;
            width: 100%;
            scroll-behavior: smooth;
        }

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

        /* Glassmorphism Styling */
        .glass-card {
            background: var(--bg-card);
            backdrop-filter: blur(16px) saturate(180%);
            -webkit-backdrop-filter: blur(16px) saturate(180%);
            border: 1px solid var(--border-color);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .glass-card:hover {
            border-color: var(--brand-blue);
            box-shadow: 0 15px 35px rgba(24, 34, 57, 0.15), 0 0 0 1px rgba(24, 34, 57, 0.05);
            transform: translateY(-5px);
        }

        /* Techtro Style Service Box */
        .services-box-style {
            position: relative;
            padding: 45px 35px;
            border-radius: 24px;
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            overflow: hidden;
            z-index: 1;
        }

        .services-box-style::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(24, 34, 57, 0.06) 0%, rgba(39, 128, 175, 0.06) 100%);
            opacity: 0;
            transition: all 0.4s ease;
            z-index: -1;
        }

        .services-box-style:hover::before {
            opacity: 1;
        }

        .services-box-style:hover {
            transform: translateY(-8px);
            border-color: var(--brand-blue);
            box-shadow: 0 20px 40px rgba(24, 34, 57, 0.15);
        }

        .services-box-style .icon {
            width: 64px;
            height: 64px;
            background: rgba(24, 34, 57, 0.1);
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 28px;
            color: var(--brand-blue);
            transition: all 0.3s ease;
        }

        .services-box-style:hover .icon {
            background: var(--primary-blue);
            color: #fff;
            transform: scale(1.1) rotate(5deg);
        }

        .services-box-style h3 {
            font-size: 22px;
            font-weight: 700;
            color: #fff;
            margin-bottom: 14px;
        }

        .services-box-style p {
            font-size: 14px;
            color: #94a3b8;
            line-height: 1.6;
            margin-bottom: 24px;
        }

        .services-box-style .link-btn {
            font-size: 14px;
            font-weight: 600;
            color: var(--brand-blue);
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.3s ease;
        }

        .services-box-style .link-btn:hover {
            color: var(--accent-gold);
        }

        .services-box-style .link-btn svg {
            width: 16px;
            height: 16px;
            transition: transform 0.3s ease;
        }

        .services-box-style:hover .link-btn svg {
            transform: translateX(5px);
        }

        .services-box-style .circle {
            position: absolute;
            bottom: -35px;
            right: -35px;
            width: 90px;
            height: 90px;
            background: radial-gradient(circle, rgba(24, 34, 57, 0.2) 0%, transparent 70%);
            border-radius: 50%;
            transition: all 0.4s ease;
        }

        .services-box-style:hover .circle {
            transform: scale(2.5);
        }

        /* Techtro Custom Buttons */
        .theme-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            background: var(--brand-blue);
            color: #fff;
            padding: 16px 36px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 15px;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            font-family: 'Outfit', sans-serif;
            border: 1px solid transparent;
        }

        .theme-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(40, 128, 175, 0.35);
        }

        .theme-btn-outline {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            background: transparent;
            color: #fff;
            padding: 16px 36px;
            border-radius: 50px;
            font-weight: 700;
            font-size: 15px;
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            font-family: 'Outfit', sans-serif;
            border: 1px solid rgba(255, 255, 255, 0.15);
        }

        .theme-btn-outline:hover {
            border-color: var(--brand-blue);
            background: rgba(24, 34, 57, 0.08);
            transform: translateY(-2px);
        }

        /* Counter Box */
        .counter-box {
            border: 1px solid var(--border-color);
            border-radius: 24px;
            background: rgba(11, 17, 32, 0.45);
            padding: 35px 25px;
            transition: all 0.4s ease;
        }

        .counter-box:hover {
            border-color: var(--brand-blue);
            box-shadow: 0 15px 35px rgba(24, 34, 57, 0.12);
            transform: translateY(-6px);
        }

        /* Text gradient */
        .text-blue-gradient {
            color: #2880AF;
            background: none;
            -webkit-text-fill-color: currentColor;
            -webkit-background-clip: initial;
            background-clip: initial;
        }

        /* Background blur glows */
        .hero-glow {
            position: absolute;
            width: 900px;
            height: 900px;
            background: radial-gradient(circle, rgba(0, 103, 255, 0.25) 0%, rgba(39, 128, 175, 0.08) 40%, transparent 70%);
            filter: blur(140px);
            z-index: -1;
            pointer-events: none;
        }

        .hero-glow-2 {
            position: absolute;
            width: 800px;
            height: 800px;
            background: radial-gradient(circle, rgba(56, 189, 248, 0.18) 0%, rgba(39, 128, 175, 0.05) 45%, transparent 70%);
            filter: blur(150px);
            z-index: -1;
            pointer-events: none;
        }

        /* Auto-isolate containers with background glows to render them on top of parent backgrounds */
        section:has(> .hero-glow),
        section:has(> .hero-glow-2),
        div:has(> .hero-glow),
        div:has(> .hero-glow-2),
        footer:has(> .hero-glow) {
            isolation: isolate;
        }

        /* Custom Page transition */
        .page-transition {
            animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(25px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Floating graphics */
        .floating-graphic-card {
            animation: floatCard 6s ease-in-out infinite;
            background: rgba(11, 17, 32, 0.7);
            backdrop-filter: blur(14px);
            border: 1px solid rgba(24, 34, 57, 0.18);
            transition: all 0.4s ease;
        }

        .floating-graphic-card:hover {
            border-color: var(--brand-blue);
            box-shadow: 0 15px 30px rgba(24, 34, 57, 0.25);
            transform: translateY(-8px) scale(1.02);
        }

        @keyframes floatCard {

            0%,
            100% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-12px);
            }
        }

        .flow-connector {
            stroke-dasharray: 8;
            stroke-dashoffset: 0;
            animation: lineFlow 25s linear infinite;
        }

        @keyframes lineFlow {
            to {
                stroke-dashoffset: -1000;
            }
        }

        @keyframes pulseLogo {

            0%,
            100% {
                transform: scale(1);
                box-shadow: 0 0 25px rgba(24, 34, 57, 0.35);
            }

            50% {
                transform: scale(1.06);
                box-shadow: 0 0 45px rgba(24, 34, 57, 0.7);
            }
        }

        /* Process step glowing animation */
        @keyframes processFlow {

            0%,
            15% {
                border-color: rgba(255, 255, 255, 0.08);
                box-shadow: 0 0 0 rgba(0, 0, 0, 0);
            }

            20%,
            35% {
                border-color: var(--brand-blue);
                box-shadow: 0 0 35px rgba(39, 128, 175, 0.45);
            }

            40%,
            100% {
                border-color: rgba(255, 255, 255, 0.08);
                box-shadow: 0 0 0 rgba(0, 0, 0, 0);
            }
        }

        @keyframes processIcon {

            0%,
            15% {
                color: var(--brand-blue);
                filter: none;
            }

            20%,
            35% {
                color: #fff;
                filter: drop-shadow(0 0 8px rgba(39, 128, 175, 0.8));
            }

            40%,
            100% {
                color: var(--brand-blue);
                filter: none;
            }
        }

        .step-active-1 {
            animation: processFlow 8s infinite 0s;
        }

        .icon-active-1 {
            animation: processIcon 8s infinite 0s;
        }

        .step-active-2 {
            animation: processFlow 8s infinite 2s;
        }

        .icon-active-2 {
            animation: processIcon 8s infinite 2s;
        }

        .step-active-3 {
            animation: processFlow 8s infinite 4s;
        }

        .icon-active-3 {
            animation: processIcon 8s infinite 4s;
        }

        .step-active-4 {
            animation: processFlow 8s infinite 6s;
        }

        .icon-active-4 {
            animation: processIcon 8s infinite 6s;
        }

        @keyframes connectingLineFlow {
            0% {
                transform: translateX(-100%);
            }

            100% {
                transform: translateX(400%);
            }
        }

        .line-flow-indicator {
            animation: connectingLineFlow 8s infinite linear;
        }

        /* Floating Navigation Pill Styling */
        .floating-nav {
            position: fixed;
            top: 24px;
            left: 0;
            right: 0;
            margin-left: auto;
            margin-right: auto;
            width: 90%;
            max-width: 1280px;
            height: 72px;
            z-index: 50;
            background: linear-gradient(135deg, rgba(7, 10, 25, 0.85) 0%, rgba(10, 25, 60, 0.8) 50%, rgba(5, 15, 40, 0.75) 100%);
            backdrop-filter: blur(16px) saturate(180%);
            -webkit-backdrop-filter: blur(16px) saturate(180%);
            border: 1px solid rgba(39, 128, 175, 0.22);
            border-radius: 9999px;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.05);
            transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .floating-nav.scrolled {
            top: 12px;
            width: 95%;
            height: 64px;
            border-color: rgba(39, 128, 175, 0.35);
            background: linear-gradient(135deg, rgba(5, 8, 20, 0.95) 0%, rgba(8, 20, 50, 0.9) 50%, rgba(3, 10, 30, 0.85) 100%);
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05);
        }

        /* Navigation links */
        .nav-link-item {
            position: relative;
            color: #94a3b8;
            font-weight: 600;
            font-size: 0.75rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            transition: all 0.3s ease;
            display: inline-flex;
            align-items: center;
            gap: 4px;
        }

        .nav-link-item:hover {
            color: #fff;
        }

        /* Active navigation state */
        .nav-link-item.active {
            color: #2880AF !important;
            text-shadow: 0 0 10px rgba(40, 128, 175, 0.45);
        }

        /* Technical Support Button nav overrides */
        /* Inactive style (white text & white border outline) */
        nav a[href="support.html"]:not(.text-\[\#00d2ff\]):not(.bg-brand-blue\/10) {
            border-color: rgba(255, 255, 255, 0.4) !important;
            color: #ffffff !important;
        }
        /* Inactive hover state (transitions to brand-blue) */
        nav a[href="support.html"]:not(.text-\[\#00d2ff\]):not(.bg-brand-blue\/10):hover {
            border-color: #2880AF !important;
            color: #2880AF !important;
            background: transparent !important;
            box-shadow: 0 0 15px rgba(40, 128, 175, 0.3) !important;
        }
        /* Active style (transparent background, brand-blue text and border) */
        nav a[href="support.html"].text-\[\#00d2ff\],
        nav a[href="support.html"].bg-brand-blue\/10 {
            color: #2880AF !important;
            border-color: #2880AF !important;
            background-color: rgba(40, 128, 175, 0.1) !important;
            box-shadow: 0 0 15px rgba(40, 128, 175, 0.2) !important;
        }
        nav a[href="support.html"].text-\[\#00d2ff\]:hover,
        nav a[href="support.html"].bg-brand-blue\/10:hover {
            color: #2880AF !important;
            border-color: #2880AF !important;
            background-color: rgba(40, 128, 175, 0.15) !important;
            box-shadow: 0 0 20px rgba(40, 128, 175, 0.3) !important;
        }

        /* Contact Pill Button matching reference (Lime Green) */
        .contact-pill-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: #2880AF;
            color: #fff;
            padding: 10px 24px;
            border-radius: 9999px;
            font-weight: 700;
            font-size: 0.75rem;
            letter-spacing: 0.05em;
            text-transform: capitalize;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: 0 4px 12px rgba(40, 128, 175, 0.25);
        }

        .contact-pill-btn:hover {
            transform: translateY(-1px) scale(1.02);
            box-shadow: 0 8px 20px rgba(40, 128, 175, 0.45);
        }

        /* Custom language selector */
        .lang-selector {
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.03);
            border-radius: 9999px;
            padding: 6px 14px;
            font-size: 0.7rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 6px;
            letter-spacing: 0.05em;
            color: #94a3b8;
        }

        /* Custom Glass Toast */
        .toast-notification {
            position: fixed;
            bottom: 24px;
            right: 24px;
            z-index: 100;
            background: rgba(11, 17, 32, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 1px solid rgba(39, 128, 175, 0.3);
            padding: 16px 24px;
            border-radius: 20px;
            color: #fff;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
            transform: translateY(100px);
            opacity: 0;
            transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .toast-notification.show {
            transform: translateY(0);
            opacity: 1;
        }

        /* Tech pill */
        .tech-pill {
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            color: #e2e8f0;
            padding: 8px 18px;
            border-radius: 50px;
            font-size: 13px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .tech-pill:hover {
            background: rgba(24, 34, 57, 0.12);
            border-color: var(--brand-blue);
            color: #fff;
            transform: translateY(-2px);
        }

        /* Timeline Active & Animation Styles */
        .timeline-step {
            transition: transform 0.3s ease;
        }

        .step-dot-container {
            width: 56px;
            height: 56px;
            border-radius: 16px;
            background-color: #0c1322;
            border: 2px solid rgba(255, 255, 255, 0.15);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
            position: relative;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
            z-index: 10;
        }

        .step-inner-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.8);
            transition: all 0.4s ease;
        }

        .step-check-container {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            transform: scale(0);
            opacity: 0;
            transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
        }

        /* Completed Step State */
        .timeline-step.is-completed .step-dot-container {
            background-color: #2880AF !important;
            border-color: #2880AF !important;
            box-shadow: 0 0 25px rgba(40, 128, 175, 0.6);
        }

        .timeline-step.is-completed .step-inner-dot {
            transform: scale(0);
            opacity: 0;
        }

        .timeline-step.is-completed .step-check-container {
            transform: scale(1);
            opacity: 1;
        }

        .timeline-step.is-completed .step-title {
            color: #2880AF !important;
        }

        /* Active Step State */
        .timeline-step.is-active .step-dot-container {
            background-color: #0c1322 !important;
            border-color: #2880AF !important;
            box-shadow: 0 0 30px rgba(40, 128, 175, 0.8), inset 0 0 8px rgba(40, 128, 175, 0.3);
        }

        .timeline-step.is-active .step-inner-dot {
            background-color: #2880AF !important;
            transform: scale(1.3);
            box-shadow: 0 0 10px rgba(40, 128, 175, 0.8);
            animation: pulseDot 1.5s infinite ease-in-out;
        }

        .timeline-step.is-active .step-check-container {
            transform: scale(0);
            opacity: 0;
        }

        .timeline-step.is-active .step-title {
            color: #ffffff !important;
        }

        @keyframes pulseDot {

            0%,
            100% {
                transform: scale(1.1);
                opacity: 1;
            }

            50% {
                transform: scale(1.5);
                opacity: 0.6;
            }
        }

        /* Step Card Styling */
        .timeline-step .step-card {
            opacity: 0.35;
            transform: translateY(15px);
            transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .timeline-step.is-active .step-card,
        .timeline-step.is-completed .step-card {
            opacity: 1;
            transform: translateY(0);
        }

        .step-number {
            font-size: 8rem;
            line-height: 1;
            font-weight: 900;
            color: rgba(255, 255, 255, 0.05);
            transition: all 0.6s ease;
        }

        .timeline-step.is-active .step-number {
            color: rgba(40, 128, 175, 0.06) !important;
        }

        .timeline-step.is-completed .step-number {
            color: rgba(40, 128, 175, 0.06) !important;
        }

        @media (min-width: 768px) {
            .timeline-step {
                position: absolute !important;
                width: 56px !important;
                height: 56px !important;
                display: block !important;
            }

            .timeline-step .step-dot-container {
                position: absolute !important;
                top: 0 !important;
                left: 0 !important;
            }

            .timeline-step .step-card {
                position: absolute !important;
                width: 290px !important;
                min-width: 290px !important;
                max-width: 290px !important;
                white-space: normal !important;
                pointer-events: auto;
            }
        }

        @media (max-width: 767px) {
            .mobile-timeline-container .timeline-step {
                display: flex;
                align-items: flex-start;
                position: relative;
                margin-bottom: 3rem;
            }

            .mobile-timeline-container .step-dot-container {
                width: 48px;
                height: 48px;
                border-radius: 14px;
                flex-shrink: 0;
                margin-right: 1.25rem;
            }

            .mobile-timeline-container .step-card {
                opacity: 1 !important;
                transform: none !important;
                transition: none !important;
                width: 100%;
                text-align: left;
                pointer-events: auto;
            }

            .mobile-timeline-container .timeline-step.is-active .step-card,
            .mobile-timeline-container .timeline-step.is-completed .step-card {
                opacity: 1 !important;
                transform: none !important;
            }
        }

        /* Filter Buttons & Portfolio Cards */
        .filter-btn {
            background: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.08);
            color: #94a3b8;
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .filter-btn:hover {
            background: rgba(255, 255, 255, 0.07);
            border-color: rgba(39, 128, 175, 0.4);
            color: #fff;
            transform: translateY(-2px);
        }

        .filter-btn.active {
            background: var(--brand-blue);
            border-color: var(--brand-blue);
            color: #fff;
            box-shadow: 0 8px 24px rgba(39, 128, 175, 0.35);
        }

        .portfolio-card {
            transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
            opacity: 1;
            transform: scale(1);
        }

        .portfolio-card.is-hidden {
            opacity: 0;
            transform: scale(0.95);
            pointer-events: none;
        }

        /* Infinite Marquee Carousel */
        @keyframes marquee {
            0% {
                transform: translate3d(0, 0, 0);
            }
            100% {
                transform: translate3d(-50%, 0, 0);
            }
        }

        .animate-marquee-track {
            display: flex;
            width: max-content;
            animation: marquee 35s linear infinite;
        }

        .animate-marquee-track:hover {
            animation-play-state: paused;
        }

        .animate-marquee-track-reverse {
            display: flex;
            width: max-content;
            animation: marquee 35s linear infinite reverse;
        }

        .animate-marquee-track-reverse:hover {
            animation-play-state: paused;
        }

        /* Mobile Menu Background Override & Z-Index Layering */
        #menu-overlay {
            z-index: 90 !important;
        }

        #mobile-menu {
            background-color: #070614 !important;
            z-index: 100 !important;
        }

        /* Render performance optimization for below-the-fold content */
        .content-visibility-auto {
            content-visibility: auto;
            contain-intrinsic-size: 600px;
        }

        /* Mobile Animation Performance Override */
        @media (max-width: 767px) {
            .floating-graphic-card {
                animation: none !important;
            }
            .flow-connector {
                animation: none !important;
            }
            [style*="animation: pulseLogo"] {
                animation: none !important;
            }
        }