        /* This makes the font work on your whole page */
        body {
            font-family: "Plus Jakarta Sans", "Noto Sans", sans-serif;
            /* You can change this background color to match your project */
            background-color: #0A0A0A;
            color: #E0E0E0;
        }

        /* This class creates the glassy, blurred background effect */
        .glassy-effect {
            background: rgba(13, 13, 13, 0.6);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);

        }

        /* Make the header's background more transparent to see the hero behind it */
        header.glassy-effect {
            background: rgba(10, 10, 10, 0.5);
        }

        /* Additional page-specific styles */
        #page-content {
            position: relative;
            z-index: 2;
            background: linear-gradient(to bottom,
                    #0A0A0A 0%,
                    #111111 50%,
                    #0A0A0A 100%);
        }

        #parallax-footer {
            position: -webkit-sticky;
            /* For Safari */
            position: sticky;
            bottom: 0;
            z-index: 1;
        }

        #page-content {
            position: relative;
            z-index: 2;
            background: linear-gradient(to bottom,
                    #0A0A0A 0%,
                    #111111 50%,
                    #0A0A0A 100%);
        }

        #parallax-footer {
            position: -webkit-sticky;
            /* For Safari */
            position: sticky;
            bottom: 0;
            z-index: 1;
        }

        /* Hide parallax footer on mobile devices to improve performance */
        @media (max-width: 767px) {
            #parallax-footer {
                display: none;
            }
        }

        .content-card {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg,
                    rgba(0, 196, 180, 0.1) 0%,
                    rgba(15, 15, 15, 0.75) 25%,
                    rgba(25, 25, 25, 0.65) 50%,
                    rgba(15, 15, 15, 0.75) 75%,
                    rgba(20, 20, 20, 0.85) 100%);
            border: 1px solid rgba(0, 196, 180, 0.2);
            backdrop-filter: blur(20px) saturate(1.4);
            -webkit-backdrop-filter: blur(20px) saturate(1.4);
            box-shadow:
                0 8px 32px rgba(0, 196, 180, 0.1),
                0 4px 16px rgba(0, 0, 0, 0.3);
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        .content-card:hover {
            border-color: rgba(255, 255, 255, 0.2);
            box-shadow:
                0 30px 60px rgba(0, 196, 180, 0.08),
                0 20px 40px rgba(0, 196, 180, 0.06),
                0 8px 20px rgba(0, 0, 0, 0.4),
                0 0 30px rgba(0, 196, 180, 0.05);
        }

        .content-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 1px;
            background: linear-gradient(90deg,
                    transparent 0%,
                    rgba(0, 196, 180, 0.3) 50%,
                    transparent 100%);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .content-card:hover::before {
            opacity: 1;
        }



        .hero-gradient {
            background: linear-gradient(to bottom, rgba(43, 133, 129, 0.6), #0A0A0A);
        }

        .hero-video-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: 1;
        }

        .hero-video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            transform: translate(-50%, -50%);
            opacity: 0.3;
            filter: blur(1px);
        }

        .hero-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(57, 150, 143, 0.45) 0%, rgba(10, 10, 10, 0.85) 50%, rgba(133, 209, 207, 0.2) 100%);
            z-index: 2;
        }

        .floating-animation {
            animation: gentleFloat 8s ease-in-out infinite;
        }

        .floating-animation-delayed {
            animation: gentleFloat 8s ease-in-out infinite 4s;
        }

        .floating-animation-slow {
            animation: gentleFloat 12s ease-in-out infinite 2s;
        }

        .fade-in-up {
            animation: smoothFadeInUp 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
            opacity: 1;
            transform: translateY(0px);
            animation-play-state: running;
        }

        .fade-in-up-delay-1 {
            animation: smoothFadeInUp 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s forwards;
            opacity: 1;
            transform: translateY(0px);
        }

        .fade-in-up-delay-2 {
            animation: smoothFadeInUp 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s forwards;
            opacity: 1;
            transform: translateY(0px);
        }

        /* Comprehensive tablet-specific responsive styles for newsletter signup */
        .newsletter-signup-container {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
        }

        .newsletter-subscribe-btn {
            width: 100%;
            min-height: 48px;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* Desktop and laptops (1024px+) */
        @media (min-width: 1024px) {
            .newsletter-signup-container {
                flex-direction: row;
                gap: 0.75rem;
            }

            .newsletter-subscribe-btn {
                width: auto;
                min-width: 120px;
                flex-shrink: 0;
                white-space: nowrap;
            }
        }

        /* Tablets only (768px - 1023px) */
        @media (min-width: 768px) and (max-width: 1023px) {
            .newsletter-signup-container {
                flex-direction: column;
            }

            .newsletter-subscribe-btn {
                width: 100%;
                min-width: unset;
            }
        }

        /* Medium tablets landscape (768px - 1023px) - iPad Air, iPad mini landscape */
        @media (min-width: 768px) and (max-width: 1023px) {
            .newsletter-signup-container {
                flex-direction: column;
                gap: 1rem;
            }

            .newsletter-subscribe-btn {
                width: 100%;
                min-width: unset;
                padding: 0.875rem 2rem;
            }
        }

        /* Small tablets and large phones (640px - 767px) */
        @media (min-width: 640px) and (max-width: 767px) {
            .newsletter-signup-container {
                flex-direction: column;
                gap: 0.875rem;
            }

            .newsletter-subscribe-btn {
                width: 100%;
                min-width: unset;
                padding: 0.75rem 1.5rem;
            }
        }

        /* Mobile devices (below 640px) */
        @media (max-width: 639px) {
            .newsletter-signup-container {
                flex-direction: column;
                gap: 0.75rem;
            }

            .newsletter-subscribe-btn {
                width: 100%;
                min-width: unset;
                padding: 0.75rem 1rem;
            }
        }

        .fade-in-up-delay-3 {
            animation: smoothFadeInUp 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s forwards;
            opacity: 1;
            transform: translateY(0px);
        }

        .scale-on-hover {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        .scale-on-hover:hover {
            box-shadow:
                0 0 30px rgba(0, 196, 180, 0.3),
                0 0 60px rgba(0, 196, 180, 0.15);
        }

        .glow-effect {
            box-shadow: 0 0 30px rgba(0, 196, 180, 0.4), 0 0 60px rgba(0, 196, 180, 0.2);
        }

        .text-glow {
            text-shadow: 0 0 15px rgba(0, 196, 180, 0.4), 0 0 30px rgba(0, 196, 180, 0.2);
        }

        .pulse-glow {
            animation: subtlePulseGlow 4s ease-in-out infinite alternate;
        }

        .morphing-bg {
            animation: morphBackground 10s ease-in-out infinite;
        }

        .typewriter {
            overflow: hidden;
            border-right: 3px solid #00C4B4;
            white-space: nowrap;
            animation: typing 3.5s steps(40, end), blink-caret 0.75s step-end infinite;
        }

        .slide-in-left {
            animation: smoothSlideInLeft 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
            opacity: 0;
            transform: translateX(-30px);
        }

        .slide-in-right {
            animation: smoothSlideInRight 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
            opacity: 0;
            transform: translateX(30px);
        }

        .bounce-in {
            animation: gentleBounceIn 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
            opacity: 0;
            transform: scale(0.8);
        }

        .rotate-in {
            animation: smoothRotateIn 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
            opacity: 0;
            transform: rotate(-30deg) scale(0.8);
        }

        @keyframes gentleFloat {

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

            25% {
                transform: translateY(-5px) rotate(0.3deg);
            }

            50% {
                transform: translateY(-10px) rotate(0deg);
            }

            75% {
                transform: translateY(-5px) rotate(-0.3deg);
            }
        }

        @keyframes smoothFadeInUp {
            0% {
                opacity: 0;
                transform: translateY(20px) scale(0.95);
            }

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

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

        @keyframes cinematicSlideLeft {
            0% {
                opacity: 0;
                transform: translateX(-100px) rotateY(-15deg) scale(0.8);
                filter: blur(5px);
            }

            70% {
                opacity: 1;
                transform: translateX(10px) rotateY(2deg) scale(1.02);
                filter: blur(0px);
            }

            100% {
                opacity: 1;
                transform: translateX(0) rotateY(0deg) scale(1);
                filter: blur(0px);
            }
        }

        @keyframes cinematicSlideRight {
            0% {
                opacity: 0;
                transform: translateX(100px) rotateY(15deg) scale(0.8);
                filter: blur(5px);
            }

            70% {
                opacity: 1;
                transform: translateX(-10px) rotateY(-2deg) scale(1.02);
                filter: blur(0px);
            }

            100% {
                opacity: 1;
                transform: translateX(0) rotateY(0deg) scale(1);
                filter: blur(0px);
            }
        }

        @keyframes elasticBounce {
            0% {
                opacity: 0;
                transform: scale(0.3) rotate(180deg);
            }

            50% {
                opacity: 0.8;
                transform: scale(1.1) rotate(0deg);
            }

            70% {
                opacity: 1;
                transform: scale(0.95) rotate(-5deg);
            }

            85% {
                transform: scale(1.02) rotate(2deg);
            }

            100% {
                opacity: 1;
                transform: scale(1) rotate(0deg);
            }
        }

        @keyframes spiralReveal {
            0% {
                opacity: 0;
                transform: rotate(720deg) scale(0.1);
            }

            60% {
                opacity: 0.8;
                transform: rotate(0deg) scale(1.05);
            }

            100% {
                opacity: 1;
                transform: rotate(0deg) scale(1);
            }
        }

        @keyframes slideInLeft {
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes smoothSlideInLeft {
            0% {
                opacity: 0;
                transform: translateX(-30px) scale(0.95);
            }

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

        @keyframes slideInRight {
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes bounceIn {
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        @keyframes rotateIn {
            to {
                opacity: 1;
                transform: rotate(0deg) scale(1);
            }
        }

        @keyframes quantumPulse {

            0%,
            100% {
                box-shadow:
                    0 0 20px rgba(0, 196, 180, 0.4),
                    0 0 40px rgba(0, 196, 180, 0.2),
                    0 0 80px rgba(0, 196, 180, 0.1);
                transform: scale(1);
            }

            50% {
                box-shadow:
                    0 0 30px rgba(0, 196, 180, 0.6),
                    0 0 60px rgba(0, 196, 180, 0.4),
                    0 0 120px rgba(0, 196, 180, 0.2);
                transform: scale(1.02);
            }
        }

        @keyframes holographicShift {

            0%,
            100% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }
        }

        @keyframes energyPulse {

            0%,
            100% {
                transform: scale(1);
                filter: brightness(1);
            }

            50% {
                transform: scale(1.05);
                filter: brightness(1.2);
            }
        }

        @keyframes energyRing {
            0% {
                transform: scale(0.8) rotate(0deg);
                opacity: 1;
            }

            50% {
                transform: scale(1.1) rotate(180deg);
                opacity: 0.5;
            }

            100% {
                transform: scale(1.3) rotate(360deg);
                opacity: 0;
            }
        }

        @keyframes pulseGlow {
            0% {
                box-shadow: 0 0 20px rgba(0, 196, 180, 0.3), 0 0 40px rgba(0, 196, 180, 0.1);
            }

            100% {
                box-shadow: 0 0 40px rgba(0, 196, 180, 0.6), 0 0 80px rgba(0, 196, 180, 0.3);
            }
        }

        @keyframes morphBackground {

            0%,
            100% {
                border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
            }

            50% {
                border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
            }
        }

        @keyframes typing {
            from {
                width: 0;
            }

            to {
                width: 100%;
            }
        }

        @keyframes blink-caret {

            from,
            to {
                border-color: transparent;
            }

            50% {
                border-color: #00C4B4;
            }
        }

        .gradient-text {
            background: linear-gradient(135deg, #00C4B4, #E0E0E0, #00C4B4);
            background-size: 200% 200%;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            animation: gradientShift 3s ease-in-out infinite;
            display: inline-block;
            padding-bottom: 0.15em;
            margin-bottom: -0.15em;
        }

        @keyframes gradientShift {

            0%,
            100% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }
        }

        .stats-counter {
            animation: countUp 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
        }

        @keyframes countUp {
            from {
                opacity: 0;
                transform: scale(0.3) rotate(-10deg);
            }

            to {
                opacity: 1;
                transform: scale(1) rotate(0deg);
            }
        }

        .particle {
            position: absolute;
            background: #00C4B4;
            border-radius: 50%;
            pointer-events: none;
            animation: particleFloat 6s linear infinite;
        }

        @keyframes particleFloat {
            0% {
                transform: translateY(100vh) scale(0);
                opacity: 1;
            }

            10% {
                opacity: 1;
                transform: translateY(90vh) scale(1);
            }

            90% {
                opacity: 1;
                transform: translateY(10vh) scale(1);
            }

            100% {
                transform: translateY(0vh) scale(0);
                opacity: 0;
            }
        }

        /* Interactive Dots Grid Styles */
        .interactive-grid {
            padding: 2em;
            justify-content: center;
            align-items: center;
            height: 50vh;
            display: flex;
            position: relative;
            background-color: #2b8581;
            color: #efeeec;
            font-size: 1vw;
            overscroll-behavior: none;
            cursor: url("https://cdn.prod.website-files.com/6708f85ff3d3cba6aff436fb/671251b239d7aeb290a31ac5_cursor-default%402x.svg") 2 0, auto;
        }

        .interactive-grid a,
        .interactive-grid button {
            cursor: url("https://cdn.prod.website-files.com/6708f85ff3d3cba6aff436fb/671251b212e6b71494aa67ff_cursor-pointer%402x.svg") 12 0, pointer;
        }

        .dots-wrap {
            width: 100%;
            height: 100%;
            position: relative;
        }

        .dots-container {
            grid-column-gap: 2em;
            grid-row-gap: 2em;
            pointer-events: none;
            flex-flow: wrap;
            grid-template-rows: auto;
            grid-template-columns: 1fr;
            grid-auto-columns: 1fr;
            justify-content: center;
            align-items: center;
            display: flex;
            position: absolute;
            inset: 0em;
        }

        .dot {
            will-change: transform, background-color, box-shadow;
            transform-origin: center;
            background-color: #2a7a73;
            border-radius: 50%;
            width: 1em;
            height: 1em;
            position: relative;
            transform: translate(0);
            box-shadow: 0 0 8px rgba(42, 122, 115, 0.4), 0 0 16px rgba(42, 122, 115, 0.2);
            transition: box-shadow 0.3s ease, background-color 0.3s ease;
        }

        .dot:hover {
            box-shadow: 0 0 16px rgba(0, 255, 255, 0.8), 0 0 32px rgba(0, 255, 255, 0.4), 0 0 48px rgba(0, 255, 255, 0.2);
        }

        .logo {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 10;
            max-width: 70vw;
            max-height: 52vh;
            width: auto;
            height: auto;
            opacity: 0.9;
            pointer-events: none;
        }

        .footer-content {
            position: relative;
            z-index: 15;
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }

        /* Modern Glowing Background Animations */
        .flowing-gradient-1 {
            animation: flowingGradient1 20s ease-in-out infinite;
        }

        .flowing-gradient-2 {
            animation: flowingGradient2 25s ease-in-out infinite;
        }

        .flowing-gradient-3 {
            animation: flowingGradient3 30s ease-in-out infinite;
        }

        .floating-particle-1 {
            animation: floatingParticle1 8s ease-in-out infinite;
        }

        .floating-particle-2 {
            animation: floatingParticle2 12s ease-in-out infinite;
        }

        .floating-particle-3 {
            animation: floatingParticle3 10s ease-in-out infinite;
        }

        .floating-particle-4 {
            animation: floatingParticle4 15s ease-in-out infinite;
        }

        .floating-particle-5 {
            animation: floatingParticle5 9s ease-in-out infinite;
        }

        .floating-particle-6 {
            animation: floatingParticle6 11s ease-in-out infinite;
        }

        .light-ray-1 {
            animation: lightRay1 18s ease-in-out infinite;
        }

        .light-ray-2 {
            animation: lightRay2 22s ease-in-out infinite;
        }

        .light-ray-3 {
            animation: lightRay3 16s ease-in-out infinite;
        }

        .energy-core-1 {
            animation: energyCore1 6s ease-in-out infinite;
        }

        .energy-core-2 {
            animation: energyCore2 8s ease-in-out infinite;
        }

        .energy-core-3 {
            animation: energyCore3 7s ease-in-out infinite;
        }

        @keyframes flowingGradient1 {

            0%,
            100% {
                transform: translate(0px, 0px) scale(1);
                opacity: 0.2;
            }

            33% {
                transform: translate(20px, -15px) scale(1.1);
                opacity: 0.15;
            }

            66% {
                transform: translate(-10px, 10px) scale(0.9);
                opacity: 0.25;
            }
        }

        @keyframes flowingGradient2 {

            0%,
            100% {
                transform: translate(0px, 0px) scale(1);
                opacity: 0.15;
            }

            50% {
                transform: translate(-25px, 20px) scale(1.2);
                opacity: 0.1;
            }
        }

        @keyframes flowingGradient3 {

            0%,
            100% {
                transform: translate(-50%, -50%) scale(1);
                opacity: 0.25;
            }

            25% {
                transform: translate(-45%, -55%) scale(1.05);
                opacity: 0.2;
            }

            50% {
                transform: translate(-55%, -45%) scale(0.95);
                opacity: 0.3;
            }

            75% {
                transform: translate(-50%, -50%) scale(1.1);
                opacity: 0.15;
            }
        }

        @keyframes floatingParticle1 {

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

            50% {
                transform: translateY(-30px) translateX(15px);
                opacity: 0.8;
            }
        }

        @keyframes floatingParticle2 {

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

            33% {
                transform: translateY(20px) translateX(-10px);
                opacity: 0.5;
            }

            66% {
                transform: translateY(-15px) translateX(20px);
                opacity: 0.9;
            }
        }

        @keyframes floatingParticle3 {

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

            50% {
                transform: translateY(25px) translateX(-20px);
                opacity: 0.7;
            }
        }

        @keyframes floatingParticle4 {

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

            25% {
                transform: translateY(-10px) translateX(5px);
                opacity: 0.6;
            }

            75% {
                transform: translateY(15px) translateX(-8px);
                opacity: 1;
            }
        }

        @keyframes floatingParticle5 {

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

            50% {
                transform: translateY(-20px) translateX(12px);
                opacity: 0.85;
            }
        }

        @keyframes floatingParticle6 {

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

            33% {
                transform: translateY(18px) translateX(-15px);
                opacity: 0.55;
            }

            66% {
                transform: translateY(-12px) translateX(8px);
                opacity: 0.95;
            }
        }

        @keyframes lightRay1 {

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

            50% {
                opacity: 0.08;
                transform: scale(1.1);
            }
        }

        @keyframes lightRay2 {

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

            33% {
                opacity: 0.06;
                transform: scale(0.9);
            }

            66% {
                opacity: 0.05;
                transform: scale(1.05);
            }
        }

        @keyframes lightRay3 {

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

            50% {
                opacity: 0.08;
                transform: scale(1.1);
            }
        }

        @keyframes energyCore1 {

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

            50% {
                transform: scale(1.2);
                opacity: 0.5;
            }
        }

        @keyframes energyCore2 {

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

            33% {
                transform: scale(1.1);
                opacity: 0.4;
            }

            66% {
                transform: scale(1.3);
                opacity: 0.15;
            }
        }

        @keyframes energyCore3 {

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

            50% {
                transform: scale(1.15);
                opacity: 0.55;
            }
        }

        @keyframes morphingWave {
            0% {
                transform: scale(1) rotate(0deg) skewX(0deg);
                border-radius: 50% 20% 80% 30% / 60% 40% 70% 50%;
                background-position: 0% 0%, 100% 100%, 50% 50%;
                filter: hue-rotate(0deg) brightness(1) contrast(1);
            }

            20% {
                transform: scale(1.05) rotate(72deg) skewX(5deg);
                border-radius: 30% 70% 40% 60% / 80% 20% 50% 90%;
                background-position: 20% 80%, 80% 20%, 60% 40%;
                filter: hue-rotate(30deg) brightness(1.1) contrast(1.1);
            }

            40% {
                transform: scale(0.95) rotate(144deg) skewX(-3deg);
                border-radius: 70% 30% 60% 40% / 40% 80% 30% 70%;
                background-position: 40% 60%, 60% 40%, 30% 70%;
                filter: hue-rotate(60deg) brightness(0.9) contrast(1.2);
            }

            60% {
                transform: scale(1.1) rotate(216deg) skewX(8deg);
                border-radius: 20% 80% 30% 70% / 90% 10% 60% 40%;
                background-position: 60% 40%, 40% 60%, 80% 20%;
                filter: hue-rotate(90deg) brightness(1.2) contrast(0.9);
            }

            80% {
                transform: scale(0.9) rotate(288deg) skewX(-6deg);
                border-radius: 80% 20% 70% 30% / 30% 70% 40% 60%;
                background-position: 80% 20%, 20% 80%, 40% 60%;
                filter: hue-rotate(120deg) brightness(0.8) contrast(1.3);
            }

            100% {
                transform: scale(1) rotate(360deg) skewX(0deg);
                border-radius: 50% 20% 80% 30% / 60% 40% 70% 50%;
                background-position: 100% 100%, 0% 0%, 50% 50%;
                filter: hue-rotate(150deg) brightness(1) contrast(1);
            }
        }

        @keyframes liquidFlow {

            0%,
            100% {
                clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 85% 100%, 0% 100%);
                transform: translateX(0) translateY(0) scale(1);
            }

            25% {
                clip-path: polygon(0% 15%, 100% 0%, 100% 100%, 70% 85%, 0% 100%);
                transform: translateX(5px) translateY(-3px) scale(1.02);
            }

            50% {
                clip-path: polygon(15% 0%, 100% 20%, 85% 100%, 0% 100%, 0% 70%);
                transform: translateX(-3px) translateY(5px) scale(0.98);
            }

            75% {
                clip-path: polygon(0% 0%, 85% 15%, 100% 100%, 20% 85%, 0% 70%);
                transform: translateX(-5px) translateY(-2px) scale(1.01);
            }
        }

        @keyframes energyPulse {

            0%,
            100% {
                box-shadow:
                    0 0 20px rgba(0, 196, 180, 0.3),
                    0 0 40px rgba(0, 196, 180, 0.2),
                    0 0 60px rgba(0, 196, 180, 0.1),
                    inset 0 0 20px rgba(0, 196, 180, 0.1);
                opacity: 0.8;
            }

            33% {
                box-shadow:
                    0 0 30px rgba(255, 0, 150, 0.4),
                    0 0 60px rgba(255, 0, 150, 0.3),
                    0 0 90px rgba(255, 0, 150, 0.2),
                    inset 0 0 30px rgba(255, 0, 150, 0.15);
                opacity: 0.9;
            }

            66% {
                box-shadow:
                    0 0 25px rgba(0, 255, 100, 0.35),
                    0 0 50px rgba(0, 255, 100, 0.25),
                    0 0 75px rgba(0, 255, 100, 0.15),
                    inset 0 0 25px rgba(0, 255, 100, 0.12);
                opacity: 0.85;
            }
        }

        .pulse-scale {
            animation: gentlePulse 3s ease-in-out infinite;
        }

        @keyframes gentlePulse {

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

            50% {
                transform: scale(1.02);
            }
        }

        /* Scroll Indicator Animations */


        .scroll-indicator.fade-in-up-delay-3 {
            animation: smoothFadeInUp 1.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s forwards;
        }

        .scroll-mouse {
            animation: scrollMouseGlow 3s ease-in-out infinite;
        }

        .scroll-wheel {
            animation: scrollWheelMove 2s ease-in-out infinite;
        }

        .scroll-text {
            animation: scrollTextFade 3s ease-in-out infinite;
        }

        @keyframes scrollBounce {

            0%,
            20%,
            50%,
            80%,
            100% {
                transform: translateY(0);
            }

            40% {
                transform: translateY(-8px);
            }

            60% {
                transform: translateY(-4px);
            }
        }

        @keyframes scrollMouseGlow {

            0%,
            100% {
                border-color: rgba(0, 196, 180, 0.6);
                box-shadow: 0 0 10px rgba(0, 196, 180, 0.3);
            }

            50% {
                border-color: rgba(0, 196, 180, 1);
                box-shadow: 0 0 20px rgba(0, 196, 180, 0.6);
            }
        }

        @keyframes scrollWheelMove {
            0% {
                transform: translateY(0);
                opacity: 1;
            }

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

            100% {
                transform: translateY(0);
                opacity: 1;
            }
        }

        @keyframes scrollTextFade {

            0%,
            100% {
                opacity: 0.7;
            }

            50% {
                opacity: 1;
            }
        }

        .smooth-hover {
            transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        .smooth-hover:hover {
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 15px 35px rgba(0, 196, 180, 0.15);
        }

        /* Advanced 3D Effects */
        .card-3d {
            perspective: 1000px;
            transform-style: preserve-3d;
        }

        .card-3d:hover {
            transform: rotateY(5deg) rotateX(5deg) translateZ(20px);
        }

        /* Advanced Particle System */
        .advanced-particle {
            position: absolute;
            width: 4px;
            height: 4px;
            background: linear-gradient(45deg, #00C4B4, #00A693);
            border-radius: 50%;
            animation: advancedParticle 8s infinite linear;
        }

        @keyframes advancedParticle {
            0% {
                transform: translateY(100vh) translateX(0) rotate(0deg) scale(0);
                opacity: 0;
            }

            10% {
                opacity: 1;
                transform: scale(1);
            }

            50% {
                transform: translateY(50vh) translateX(100px) rotate(180deg) scale(1.5);
            }

            90% {
                opacity: 1;
            }

            100% {
                transform: translateY(-100vh) translateX(-50px) rotate(360deg) scale(0);
                opacity: 0;
            }
        }

        /* Holographic Effect */
        .holographic {
            background: linear-gradient(45deg,
                    rgba(0, 196, 180, 0.1) 0%,
                    rgba(0, 196, 180, 0.3) 25%,
                    rgba(255, 255, 255, 0.1) 50%,
                    rgba(0, 196, 180, 0.3) 75%,
                    rgba(0, 196, 180, 0.1) 100%);
            background-size: 200% 200%;
            animation: holographicShift 3s ease-in-out infinite;
        }

        @keyframes holographicShift {

            0%,
            100% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }
        }

        /* Refined Neon Glow Effect */
        .neon-glow {
            text-shadow:
                0 0 3px rgba(0, 196, 180, 0.6),
                0 0 6px rgba(0, 196, 180, 0.4),
                0 0 9px rgba(0, 196, 180, 0.3);
            animation: refinedNeonPulse 4s ease-in-out infinite alternate;
        }

        @keyframes refinedNeonPulse {
            from {
                text-shadow:
                    0 0 3px rgba(0, 196, 180, 0.6),
                    0 0 6px rgba(0, 196, 180, 0.4),
                    0 0 9px rgba(0, 196, 180, 0.3);
            }

            to {
                text-shadow:
                    0 0 5px rgba(0, 196, 180, 0.8),
                    0 0 10px rgba(0, 196, 180, 0.5),
                    0 0 15px rgba(0, 196, 180, 0.3);
            }
        }

        /* Matrix Rain Effect */
        .matrix-rain {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            overflow: hidden;
        }

        .matrix-char {
            position: absolute;
            color: #00C4B4;
            font-family: 'Courier New', monospace;
            font-size: 14px;
            animation: matrixFall 3s linear infinite;
        }

        @keyframes matrixFall {
            0% {
                transform: translateY(-100vh);
                opacity: 1;
            }

            100% {
                transform: translateY(100vh);
                opacity: 0;
            }
        }

        /* Liquid Morphing */
        .liquid-morph {
            border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
            animation: liquidMorph 8s ease-in-out infinite;
        }

        @keyframes liquidMorph {

            0%,
            100% {
                border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
            }

            25% {
                border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
            }

            50% {
                border-radius: 70% 30% 40% 60% / 40% 70% 60% 30%;
            }

            75% {
                border-radius: 40% 70% 60% 30% / 70% 40% 50% 70%;
            }
        }

        /* Cyberpunk Grid */
        .cyber-grid {
            background-image:
                linear-gradient(rgba(0, 196, 180, 0.1) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 196, 180, 0.1) 1px, transparent 1px);
            background-size: 50px 50px;
            animation: gridMove 20s linear infinite;
        }

        @keyframes gridMove {
            0% {
                background-position: 0 0;
            }

            100% {
                background-position: 50px 50px;
            }
        }

        /* Elegant Hero Grid Animation */
        .hero-grid {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image:
                linear-gradient(rgba(0, 196, 180, 0.08) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 196, 180, 0.08) 1px, transparent 1px);
            background-size: 80px 80px;
            animation: elegantGridMove 40s ease-in-out infinite;
            z-index: 1;
            opacity: 0.8;
        }

        .hero-grid::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image:
                linear-gradient(rgba(0, 196, 180, 0.05) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 196, 180, 0.05) 1px, transparent 1px);
            background-size: 160px 160px;
            animation: elegantGridMove 60s ease-in-out infinite reverse;
        }

        @keyframes elegantGridMove {

            0%,
            100% {
                background-position: 0 0;
                opacity: 0.6;
            }

            25% {
                opacity: 0.9;
            }

            50% {
                background-position: 40px 40px;
                opacity: 0.7;
            }

            75% {
                opacity: 1.0;
            }
        }

        /* Enhanced Grid Nodes */
        .grid-node {
            position: absolute;
            width: 3px;
            height: 3px;
            background: rgba(0, 196, 180, 0.8);
            border-radius: 50%;
            animation: enhancedGlow 4s ease-in-out infinite;
        }

        @keyframes enhancedGlow {

            0%,
            100% {
                transform: scale(1);
                opacity: 0.5;
                box-shadow: 0 0 6px rgba(0, 196, 180, 0.5), 0 0 12px rgba(0, 196, 180, 0.3);
            }

            50% {
                transform: scale(2);
                opacity: 1;
                box-shadow: 0 0 16px rgba(0, 196, 180, 0.8), 0 0 24px rgba(0, 196, 180, 0.5);
            }
        }

        /* Flowing Grid Lines */
        .grid-flow {
            position: absolute;
            width: 100%;
            height: 2px;
            background: linear-gradient(90deg,
                    transparent 0%,
                    rgba(0, 196, 180, 0.8) 50%,
                    transparent 100%);
            animation: flowLine 8s ease-in-out infinite;
            box-shadow: 0 0 8px rgba(0, 196, 180, 0.4);
        }

        .grid-flow.vertical {
            width: 2px;
            height: 100%;
            background: linear-gradient(0deg,
                    transparent 0%,
                    rgba(0, 196, 180, 0.8) 50%,
                    transparent 100%);
            box-shadow: 0 0 8px rgba(0, 196, 180, 0.4);
        }

        @keyframes flowLine {

            0%,
            100% {
                opacity: 0;
                transform: translateX(-100%);
            }

            25% {
                opacity: 0.6;
                transform: translateX(-50%);
            }

            50% {
                opacity: 1;
                transform: translateX(0);
            }

            75% {
                opacity: 0.6;
                transform: translateX(50%);
            }
        }

        /* Glitch Effect */
        .glitch {
            position: relative;
        }

        .glitch::before,
        .glitch::after {
            content: attr(data-text);
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .glitch::before {
            animation: glitch1 2s infinite;
            color: #ff0000;
            z-index: -1;
        }

        .glitch::after {
            animation: glitch2 2s infinite;
            color: #00ff00;
            z-index: -2;
        }

        @keyframes glitch1 {

            0%,
            100% {
                transform: translate(0);
            }

            20% {
                transform: translate(-2px, 2px);
            }

            40% {
                transform: translate(-2px, -2px);
            }

            60% {
                transform: translate(2px, 2px);
            }

            80% {
                transform: translate(2px, -2px);
            }
        }

        @keyframes glitch2 {

            0%,
            100% {
                transform: translate(0);
            }

            20% {
                transform: translate(2px, -2px);
            }

            40% {
                transform: translate(2px, 2px);
            }

            60% {
                transform: translate(-2px, -2px);
            }

            80% {
                transform: translate(-2px, 2px);
            }
        }

        /* Section Background Effects */
        .section-bg {
            position: relative;
            overflow: hidden;
            background-color: #0D0D0D;
            z-index: 1;
        }

        .section-bg::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(0, 196, 180, 0.05) 0%, rgba(13, 13, 13, 0.95) 50%, rgba(0, 196, 180, 0.03) 100%);
            z-index: -1;
        }

        .section-bg::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100px;
            background: linear-gradient(to bottom,
                    transparent 0%,
                    rgba(13, 13, 13, 0.9) 100%);
            z-index: -1;
            pointer-events: none;
        }

        /* CTA Section Glow */
        .cta-glow {
            position: relative;
            overflow: hidden;
            z-index: 2;
        }

        .cta-glow::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(0, 196, 180, 0.2) 0%, transparent 70%);
            animation: ctaPulse 8s ease-in-out infinite;
            z-index: 0;
        }

        @keyframes ctaPulse {

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

            50% {
                transform: scale(1.2);
                opacity: 0.5;
            }
        }

        /* Section transition effects */
        .section-transition {
            position: relative;
        }

        .section-transition::before,
        .section-transition::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            height: 80px;
            z-index: 2;
            pointer-events: none;
        }

        .section-transition::before {
            top: 0;
            background: linear-gradient(to bottom,
                    rgba(13, 13, 13, 1) 0%,
                    rgba(13, 13, 13, 0) 100%);
        }

        .section-transition::after {
            bottom: 0;
            background: linear-gradient(to top,
                    rgba(13, 13, 13, 1) 0%,
                    rgba(13, 13, 13, 0) 100%);
        }

        /* Adjust for CTA section which has different background */
        .cta-glow.section-transition::before,
        .cta-glow.section-transition::after {
            background: linear-gradient(to bottom,
                    rgba(13, 13, 13, 1) 0%,
                    rgba(13, 13, 13, 0) 100%);
        }

        .cta-glow.section-transition::after {
            background: linear-gradient(to top,
                    rgba(13, 13, 13, 1) 0%,
                    rgba(13, 13, 13, 0) 100%);
        }

        /* Hero section doesn't need top fade */
        .hero-section.section-transition::before {
            display: none;
        }

        /* Footer doesn't need bottom fade */
        footer.section-transition::after {
            display: none;
        }

        /* Mobile-specific improvements */
        @media (max-width: 768px) {
            a {
                min-height: 44px;
                display: flex;
                align-items: center;
            }
        }

        /* Mobile Menu Styles */
        .mobile-menu {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            height: 100dvh;
            /* Use dynamic viewport height for better mobile support */
            background: rgba(10, 10, 10, 0.95);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            z-index: 9999;
            transform: translateX(-100%);
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            display: flex;
            flex-direction: column;
            padding: 1rem;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
        }

        .mobile-menu.active {
            transform: translateX(0);
        }

        .mobile-menu-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2rem;
            padding: 1rem 0.5rem 1rem 0.5rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            flex-shrink: 0;
        }

        .mobile-menu-close {
            background: none;
            border: none;
            color: #E0E0E0;
            font-size: 1.5rem;
            cursor: pointer;
            padding: 0.5rem;
            border-radius: 0.5rem;
            transition: all 0.2s ease;
        }

        .mobile-menu-close:hover {
            background: rgba(255, 255, 255, 0.1);
            color: #00C4B4;
        }

        .mobile-menu-nav {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            margin-bottom: 2rem;
            padding: 0 0.5rem;
            flex: 1;
        }

        .mobile-menu-nav a {
            color: #B0B0B0;
            text-decoration: none;
            font-size: 1.125rem;
            font-weight: 500;
            padding: 0.875rem 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
            transition: all 0.3s ease;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .mobile-menu-nav a:hover {
            color: #00C4B4;
            transform: translateX(0.5rem);
        }

        .mobile-menu-nav a.active {
            color: #00C4B4;
            font-weight: 700;
        }

        .mobile-menu-cta {
            padding: 0 0.5rem 1rem 0.5rem;
        }

        .mobile-menu-cta button {
            width: 100%;
            background: #00C4B4;
            color: #0A0A0A;
            border: none;
            padding: 1rem 1.5rem;
            border-radius: 9999px;
            font-size: 1.125rem;
            font-weight: 700;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }

        .mobile-menu-cta button:hover {
            background: #00B0A0;
        }

        :root {
            --background-color: #18181B;
            --text-color: #A1A1AA;
            --card-background-color: rgba(13, 13, 13, 0.6);
            --card-border-color: rgba(255, 255, 255, 0.1);
            --card-label-color: #FFFFFF;
            --card-icon-color: #D4D4D8;
            --card-icon-background-color: rgba(255, 255, 255, 0.08);
            --card-icon-border-color: rgba(255, 255, 255, 0.12);
            --card-shine-opacity: .1;
            --card-shine-gradient: conic-gradient(from 205deg at 50% 50%, rgba(43, 133, 129, 0) 0deg, #2B8581 25deg, rgba(43, 133, 129, 0.18) 295deg, rgba(43, 133, 129, 0) 360deg);
            --card-line-color: #2A2B2C;
            --card-tile-color: rgba(43, 133, 129, 0.05);

            /* --- SIMPLIFIED SHADOWS --- */
            /* We combined 12 variables into these 2 for clarity */
            --card-shadow: 0px 3px 6px rgba(0, 0, 0, 0.05),
                0px 8px 15px rgba(0, 0, 0, 0.1),
                0 0 0 0.5px var(--card-border-color);

            --card-hover-shadow: 0px 3px 6px rgba(0, 0, 0, 0.04),
                0px 15px 25px rgba(0, 0, 0, 0.3),
                0 0 0 1px var(--card-hover-border-color);

            /* --- Original hover variables (kept for reference) --- */
            --card-hover-border-color: rgba(255, 255, 255, 0.2);
            --card-hover-icon-color: #2B8581;
            --card-hover-icon-background-color: rgba(43, 133, 129, 0.1);
            --card-hover-icon-border-color: rgba(43, 133, 129, 0.2);

            --blur-opacity: .01;
        }

        .card {
            background: rgba(13, 13, 13, 0.6);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            /* SIMPLIFICATION: Using the single composite shadow variable */
            box-shadow: var(--card-shadow);
            padding: 2rem;
            border-radius: 15px;
            cursor: pointer;
            position: relative;
            z-index: 1;
            /* Added z-index for stacking context */
            transition: box-shadow .25s;
        }

        .card:before {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: 15px;
            background-color: var(--card-background-color);
        }

        .card .icon {
            z-index: 2;
            position: relative;
            display: table;
            padding: 8px;
        }

        .card .icon:after {
            content: '';
            position: absolute;
            inset: 4.5px;
            border-radius: 50%;
            background-color: var(--card-icon-background-color);
            border: 1px solid var(--card-icon-border-color);
            backdrop-filter: blur(2px);
            transition: background-color .25s, border-color .25s;
        }

        .card .icon svg {
            position: relative;
            z-index: 1;
            display: block;
            width: 24px;
            height: 24px;
            transform: translateZ(0);
            color: var(--card-icon-color);
            transition: color .25s;
        }

        .card h4 {
            z-index: 2;
            position: relative;
            margin: 12px 0 4px 0;
            font-family: inherit;
            font-weight: 600;
            font-size: 14px;
            line-height: 2;
            color: var(--card-label-color);
        }

        .card p {
            z-index: 2;
            position: relative;
            margin: 0;
            font-size: 14px;
            line-height: 1.7;
            color: var(--text-color);
        }

        .card-content {
            border-radius: 24px !important;
            overflow: hidden !important;
            background: rgba(43, 133, 129, 0.8);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border: 0.5px solid rgba(255, 255, 255, 0.1);
            transition: background 0.3s ease-in-out;
        }

        .card-content:hover {
            background: rgba(13, 13, 13, 0.7);
        }

        /* Hover Effects: Shine */
        .card .shine {
            border-radius: inherit;
            position: absolute;
            inset: 0;
            z-index: 1;
            overflow: hidden;
            opacity: 0;
            transition: opacity .5s;
        }

        .card .shine:before {
            content: '';
            width: 150%;
            padding-bottom: 150%;
            border-radius: 50%;
            position: absolute;
            left: 50%;
            bottom: 55%;
            filter: blur(35px);
            opacity: var(--card-shine-opacity);
            transform: translateX(-50%);
            background-image: var(--card-shine-gradient);
        }

        /* Hover Effects: Background Tiles and Lines */
        .card .background {
            border-radius: inherit;
            position: absolute;
            inset: 0;
            overflow: hidden;
            -webkit-mask-image: radial-gradient(circle at 60% 5%, black 0%, black 15%, transparent 60%);
            mask-image: radial-gradient(circle at 60% 5%, black 0%, black 15%, transparent 60%);
        }

        .card .background .tiles {
            opacity: 0;
            transition: opacity .25s;
        }

        .card .background .tile {
            position: absolute;
            background-color: var(--card-tile-color);
            animation-duration: 8s;
            animation-iteration-count: infinite;
            opacity: 0;
        }

        .card .background .tile.tile-4,
        .card .background .tile.tile-6,
        .card .background .tile.tile-10 {
            animation-delay: -2s;
        }

        .card .background .tile.tile-3,
        .card .background .tile.tile-5,
        .card .background .tile.tile-8 {
            animation-delay: -4s;
        }

        .card .background .tile.tile-2,
        .card .background .tile.tile-9 {
            animation-delay: -6s;
        }

        .card .background .tile.tile-1 {
            top: 0;
            left: 0;
            height: 10%;
            width: 22.5%;
        }

        .card .background .tile.tile-2 {
            top: 0;
            left: 22.5%;
            height: 10%;
            width: 27.5%;
        }

        .card .background .tile.tile-3 {
            top: 0;
            left: 50%;
            height: 10%;
            width: 27.5%;
        }

        .card .background .tile.tile-4 {
            top: 0;
            left: 77.5%;
            height: 10%;
            width: 22.5%;
        }

        .card .background .tile.tile-5 {
            top: 10%;
            left: 0;
            height: 22.5%;
            width: 22.5%;
        }

        .card .background .tile.tile-6 {
            top: 10%;
            left: 22.5%;
            height: 22.5%;
            width: 27.5%;
        }

        .card .background .tile.tile-7 {
            top: 10%;
            left: 50%;
            height: 22.5%;
            width: 27.5%;
        }

        .card .background .tile.tile-8 {
            top: 10%;
            left: 77.5%;
            height: 22.5%;
            width: 22.5%;
        }

        .card .background .tile.tile-9 {
            top: 32.5%;
            left: 50%;
            height: 22.5%;
            width: 27.5%;
        }

        .card .background .tile.tile-10 {
            top: 32.5%;
            left: 77.5%;
            height: 22.5%;
            width: 22.5%;
        }

        @keyframes tile {

            0%,
            12.5%,
            100% {
                opacity: 1;
            }

            25%,
            82.5% {
                opacity: 0;
            }
        }

        .card .background .line {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity .35s;
        }

        .card .background .line:before,
        .card .background .line:after {
            content: '';
            position: absolute;
            background-color: var(--card-line-color);
            transition: transform .35s;
        }

        .card .background .line:before {
            left: 0;
            right: 0;
            height: 1px;
            transform-origin: 0 50%;
            transform: scaleX(0);
        }

        .card .background .line:after {
            top: 0;
            bottom: 0;
            width: 1px;
            transform-origin: 50% 0;
            transform: scaleY(0);
        }

        .card .background .line.line-1:before {
            top: 10%;
        }

        .card .background .line.line-1:after {
            left: 22.5%;
        }

        .card .background .line.line-1:before,
        .card .background .line.line-1:after {
            transition-delay: .3s;
        }

        .card .background .line.line-2:before {
            top: 32.5%;
        }

        .card .background .line.line-2:after {
            left: 50%;
        }

        .card .background .line.line-2:before,
        .card .background .line.line-2:after {
            transition-delay: .15s;
        }

        .card .background .line.line-3:before {
            top: 55%;
        }

        .card .background .line.line-3:after {
            right: 22.5%;
        }

        /* --- HOVER STATES --- */

        .card:hover {
            /* SIMPLIFICATION: Using the single composite hover shadow variable */
            box-shadow: var(--card-hover-shadow);
        }

        .card:hover .icon:after {
            background-color: var(--card-hover-icon-background-color);
            border-color: var(--card-hover-icon-border-color);
        }

        .card:hover .icon svg {
            color: var(--card-hover-icon-color);
        }

        .card:hover .shine {
            opacity: 1;
            transition-duration: .5s;
            transition-delay: 0s;
        }

        .card:hover .background .tiles {
            opacity: 1;
            transition-delay: .25s;
        }

        .card:hover .background .tile {
            animation-name: tile;
        }

        .card:hover .background .line {
            opacity: 1;
            transition-duration: .15s;
        }

        .card:hover .background .line:before {
            transform: scaleX(1);
        }

        .card:hover .background .line:after {
            transform: scaleY(1);
        }

        .card:hover .background .line.line-1:before,
        .card:hover .background .line.line-1:after {
            transition-delay: .0s;
        }

        .card:hover .background .line.line-2:before,
        .card:hover .background .line.line-2:after {
            transition-delay: .15s;
        }

        .card:hover .background .line.line-3:before,
        .card:hover .background .line.line-3:after {
            transition-delay: .3s;
        }

        /* New styles for stacked card background */
        .card-content .background {
            position: absolute;
            inset: 0;
            border-radius: inherit;
            overflow: hidden;
            transform: rotate(45deg) scale(1.5);
        }

        .card-content .background .tiles {
            opacity: 0;
            transition: opacity .25s;
        }

        .card-content .background .tile {
            position: absolute;
            background-color: var(--card-tile-color);
            animation-duration: 8s;
            animation-iteration-count: infinite;
            opacity: 0;
        }

        .card-content .background .tile.tile-4,
        .card-content .background .tile.tile-6,
        .card-content .background .tile.tile-10 {
            animation-delay: -2s;
        }

        .card-content .background .tile.tile-3,
        .card-content .background .tile.tile-5,
        .card-content .background .tile.tile-8 {
            animation-delay: -4s;
        }

        .card-content .background .tile.tile-2,
        .card-content .background .tile.tile-9 {
            animation-delay: -6s;
        }

        .card-content .background .tile.tile-1 {
            top: 0;
            left: 0;
            height: 10%;
            width: 22.5%;
        }

        .card-content .background .tile.tile-2 {
            top: 0;
            left: 22.5%;
            height: 10%;
            width: 27.5%;
        }

        .card-content .background .tile.tile-3 {
            top: 0;
            left: 50%;
            height: 10%;
            width: 27.5%;
        }

        .card-content .background .tile.tile-4 {
            top: 0;
            left: 77.5%;
            height: 10%;
            width: 22.5%;
        }

        .card-content .background .tile.tile-5 {
            top: 10%;
            left: 0;
            height: 22.5%;
            width: 22.5%;
        }

        .card-content .background .tile.tile-6 {
            top: 10%;
            left: 22.5%;
            height: 22.5%;
            width: 27.5%;
        }

        .card-content .background .tile.tile-7 {
            top: 10%;
            left: 50%;
            height: 22.5%;
            width: 27.5%;
        }

        .card-content .background .tile.tile-8 {
            top: 10%;
            left: 77.5%;
            height: 22.5%;
            width: 22.5%;
        }

        .card-content .background .tile.tile-9 {
            top: 32.5%;
            left: 50%;
            height: 22.5%;
            width: 27.5%;
        }

        .card-content .background .tile.tile-10 {
            top: 32.5%;
            left: 77.5%;
            height: 22.5%;
            width: 22.5%;
        }

        .card-content .background .line {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: opacity .35s;
        }

        .card-content .background .line:before,
        .card-content .background .line:after {
            content: '';
            position: absolute;
            background-color: var(--card-line-color);
            transition: transform .35s;
        }

        .card-content .background .line:before {
            left: 0;
            right: 0;
            height: 1px;
            transform-origin: 0 50%;
            transform: scaleX(0);
        }

        .card-content .background .line:after {
            top: 0;
            bottom: 0;
            width: 1px;
            transform-origin: 50% 0;
            transform: scaleY(0);
        }

        .card-content .background .line.line-1:before {
            top: 10%;
        }

        .card-content .background .line.line-1:after {
            left: 22.5%;
        }

        .card-content .background .line.line-1:before,
        .card-content .background .line.line-1:after {
            transition-delay: .3s;
        }

        .card-content .background .line.line-2:before {
            top: 32.5%;
        }

        .card-content .background .line.line-2:after {
            left: 50%;
        }

        .card-content .background .line.line-2:before,
        .card-content .background .line.line-2:after {
            transition-delay: .15s;
        }

        .card-content .background .line.line-3:before {
            top: 55%;
        }

        .card-content .background .line.line-3:after {
            right: 22.5%;
        }

        .card-content:hover .background .tiles {
            opacity: 1;
            transition-delay: .25s;
        }

        .card-content:hover .background .tile {
            animation-name: tile;
        }

        .card-content:hover .background .line {
            opacity: 1;
            transition-duration: .15s;
        }

        .card-content:hover .background .line:before {
            transform: scaleX(1);
        }

        .card-content:hover .background .line:after {
            transform: scaleY(1);
        }

        .card-content:hover .background .line.line-1:before,
        .card-content:hover .background .line.line-1:after {
            transition-delay: .0s;
        }

        .card-content:hover .background .line.line-2:before,
        .card-content:hover .background .line.line-2:after {
            transition-delay: .15s;
        }

        .card-content:hover .background .line.line-3:before,
        .card-content:hover .background .line.line-3:after {
            transition-delay: .3s;
        }

        .animate-on-scroll {
            transition: all 0.7s cubic-bezier(0.17, 0.55, 0.55, 1);
        }

        .anim-letters .letter {
            display: inline-block;
            opacity: 0;
            filter: blur(4px);
            transform: translateY(20px);
            transition: all 0.2s ease;
        }

        .anim-letters.is-visible .letter {
            opacity: 1;
            filter: blur(0px);
            transform: translateY(0);
        }

        .anim-fade-blur-up {
            opacity: 0;
            filter: blur(10px);
            transform: translateY(20px);
        }

        .anim-fade-blur-up.is-visible {
            opacity: 1;
            filter: blur(0px);
            transform: translateY(0);
        }

        /* Responsive Card Headers */
        @media (max-width: 1024px) {
            #card-section-container .text-8xl {
                font-size: 4.5rem !important;
                /* Tailwind's text-7xl */
                line-height: 1.1 !important;
            }
        }

        @media (max-width: 768px) {
            #card-section-container .text-8xl {
                font-size: 3.75rem !important;
                /* Tailwind's text-6xl */
                line-height: 1.1 !important;
            }
        }

        @media (max-width: 640px) {
            #card-section-container .text-8xl {
                font-size: 3rem !important;
                /* sm:text-5xl */
                line-height: 1.2 !important;
            }
        }

        p[dir="rtl"] {
            word-spacing: 2px;
        }

        /* New Hero Styles */
        :root {
            --dots-light-default: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='16' height='16' fill='none'%3E%3Ccircle fill='%23d4d4d4' id='pattern-circle' cx='10' cy='10' r='2.5'%3E%3C/circle%3E%3C/svg%3E");
            /* Using a light teal (teal-500) for light mode hover */
            --dots-light-hover: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='16' height='16' fill='none'%3E%3Ccircle fill='%2314b8a6' id='pattern-circle' cx='10' cy='10' r='2.5'%3E%3C/circle%3E%3C/svg%3E");
            --dots-dark-default: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='16' height='16' fill='none'%3E%3Ccircle fill='%23404040' id='pattern-circle' cx='10' cy='10' r='2.5'%3E%3C/circle%3E%3C/svg%3E");
            /* Using a lighter teal (teal-400) for dark mode hover */
            --dots-dark-hover: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='16' height='16' fill='none'%3E%3Ccircle fill='%232dd4bf' id='pattern-circle' cx='10' cy='10' r='2.5'%3E%3C/circle%3E%3C/svg%3E");
        }

        /* Spotlight Effect */
        .spotlight-mask {
            -webkit-mask-image: radial-gradient(200px circle at var(--mouse-x, -999px) var(--mouse-y, -999px),
                    black 0%,
                    transparent 100%);
            mask-image: radial-gradient(200px circle at var(--mouse-x, -999px) var(--mouse-y, -999px),
                    black 0%,
                    transparent 100%);
        }

        /* Animation for Highlight Effect */
        @keyframes highlight-wipe {
            from {
                background-size: 0% 100%;
            }

            to {
                background-size: 100% 100%;
            }
        }

        .highlight-animated {
            animation: highlight-wipe 2s linear 0.5s forwards;
            background-repeat: no-repeat;
            background-position: left center;
            display: inline;
        }

        #grid-canvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 2;
        }