        html {
            overflow-x: clip;
            /* Prevents horizontal scroll without breaking vertical on Chrome Android */
        }

        body {
            background-color: #05080A;
            color: #C8CDD2;
            overscroll-behavior-x: none;
        }

        /* =============================================
           HERO TEXT SLIDER
           ============================================= */
        #hero-text-slider {
            display: block;
        }

        .hero-text-slide {
            position: absolute;
            inset: 0;
            opacity: 0;
            transform: translateY(16px);
            transition: opacity 0.6s ease, transform 0.6s ease;
            pointer-events: none;
            visibility: hidden;
        }

        .hero-text-slide.active {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
            visibility: visible;
        }

        .hero-dot.active {
            width: 2rem;
            background-color: #76A34F;
        }

        /* =============================================
           Glassmorphism Panel */
        .glass-panel {
            background: rgba(255, 255, 255, 0.02);
            backdrop-filter: blur(16px) saturate(180%);
            -webkit-backdrop-filter: blur(16px) saturate(180%);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 20px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
        }

        .glass-panel:hover {
            background: rgba(255, 255, 255, 0.04);
            border-color: rgba(118, 163, 79, 0.3);
            /* Brand Green glow */
            transform: translateY(-5px);
        }

        /* Hexagonal Background Pattern */
        .bg-hex-pattern {
            background-image: url("data:image/svg+xml,%3Csvg width='60' height='103.92304845413264' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 103.92304845413264L0 86.60254037844386V51.96152422706632L30 34.64101615137754L60 51.96152422706632V86.60254037844386zM30 69.28203230275508L0 51.96152422706632V17.320508075688775L30 0L60 17.320508075688775V51.96152422706632z' fill='%2376a34f' fill-opacity='0.02' fill-rule='evenodd'/%3E%3C/svg%3E");
        }

        /* Navbar Effects */
        .nav-scrolled {
            background: rgba(5, 8, 10, 0.85);
            backdrop-filter: blur(20px);
            border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        }

        @media (max-width: 1024px) {
            #navbar {
                background: transparent !important;
                backdrop-filter: none !important;
                border-bottom: none !important;
            }
        }

        /* Mobile Dock */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }

        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        .dock-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-width: 55px;
            gap: 1px;
            color: #4B5563;
            transition: all 0.3s ease;
        }

        .dock-item i {
            font-size: 0.9rem;
        }

        .dock-item span {
            font-size: 7px;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            font-weight: 800;
            opacity: 0.6;
        }

        .dock-item:active {
            transform: scale(0.9);
            color: #76A34F;
        }

        /* Alianzas Infinite Scroll */
        .ticker-wrap {
            width: 100%;
            overflow: hidden;
            position: relative;
            mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
            -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
        }

        .ticker {
            display: flex;
            width: max-content;
            animation: ticker 40s linear infinite;
        }

        .ticker:hover {
            animation-play-state: paused;
        }

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

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

        .ticker-item {
            padding: 0 3rem;
            filter: grayscale(100%) opacity(0.4) brightness(200%);
            transition: all 0.3s ease;
        }

        .ticker-item:hover {
            filter: grayscale(0%) opacity(1) brightness(100%);
        }

        /* Generic Animations */
        .fade-up {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .fade-up.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* Mobile Performance Optimizations */
        .fade-up,
        .animate-bounce-in,
        .tilt-card {
            will-change: transform, opacity;
        }

        @media (max-width: 1024px) {
            [class*="backdrop-blur"] {
                backdrop-filter: blur(4px) !important;
                -webkit-backdrop-filter: blur(4px) !important;
            }

            .tilt-card {
                transform: none !important;
                will-change: auto;
            }
        }

        /* Bounce Animation (subtle) */
        @keyframes slideInBounce {
            0% {
                opacity: 0;
                transform: translateY(30px) scale(0.95);
            }

            70% {
                opacity: 1;
                transform: translateY(-3px) scale(1.005);
            }

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

        .animate-bounce-in {
            opacity: 0;
        }

        .animate-bounce-in.visible {
            animation: slideInBounce 0.7s cubic-bezier(0.25, 1, 0.5, 1) forwards;
        }

        /* Parallax Slider (About Section) */
        .parallax-slider-container {
            position: relative;
            width: 100%;
            height: 500px;
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        .parallax-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: none;
        }

        .parallax-slide.active {
            display: block;
        }

        .parallax-slide-inner {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-size: cover;
            background-position: center;
            transform: scale(1.1);
            /* Slight zoom for parallax */
        }

        @media (max-width: 768px) {
            .parallax-slider-container {
                height: auto;
                aspect-ratio: 1 / 1;
                border-radius: 16px;
                box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
            }
            .parallax-slide-inner {
                transform: scale(1.05); /* Less zoom on mobile to prevent edge cropping */
                background-position: center center;
            }
        }

        /* Parallax Video Scroll Section */
        .scroll-video-container {
            display: none;
            position: relative;
            width: 100%;
            background: #05080A;
            z-index: 40;
        }

        .scroll-video-sticky {
            position: sticky;
            top: 0;
            width: 100%;
            height: 100vh;
            overflow: hidden;
        }

        .scroll-content-layer {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 10;
        }

        .step-panel {
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 5%;
        }

        /* Parallax Modal - Close button always below navbar */
        .modal-close-btn {
            position: fixed;
            top: 24px;
            right: 24px;
            z-index: 9999;
        }

        @media (min-width: 1024px) {
            .modal-close-btn {
                top: calc(64px + 16px);
                right: 32px;
            }
        }

        /* =============================================
           PARALLAX MODAL — fluid layout, no overflow
           Fix: constrain containers so text wraps
           naturally, just like the rest of the page.
           ============================================= */

        /* Prevent the modal itself from overflowing horizontally */
        #infra-modal-parallax,
        #dev-modal-parallax {
            overflow-x: hidden;
        }

        /* The sticky wrapper must clip both axes */
        #infra-modal-parallax .sticky,
        #dev-modal-parallax .sticky {
            overflow: hidden;
        }

        /* The absolute content layer: use box-sizing so padding doesn't add width */
        #infra-modal-parallax .absolute.inset-0.flex,
        #dev-modal-parallax .absolute.inset-0.flex {
            box-sizing: border-box;
            overflow: hidden;
        }

        /* Tailwind container inside modal: never wider than viewport */
        #infra-modal-parallax .container,
        #dev-modal-parallax .container {
            max-width: 100% !important;
            overflow: hidden;
            box-sizing: border-box;
        }

        /* Each slide: must not push outside its parent */
        .step-panel-modal {
            box-sizing: border-box;
            max-width: 100%;
            overflow: hidden;
            /* Absolute panels: constrain to viewport width */
            left: 0 !important;
            right: 0 !important;
        }

        /* The text column: key fix — min-width:0 lets flex children shrink */
        .step-panel-modal>div:first-child {
            min-width: 0;
            max-width: 100%;
            width: 100%;
            box-sizing: border-box;
            overflow: hidden;
        }

        /* Fluid heading — clamp() scales naturally with viewport width */
        .step-panel-modal h3 {
            font-size: clamp(1.5rem, 7vw, 4.5rem) !important;
            line-height: 1.15 !important;
            max-width: 100% !important;
            word-break: break-word !important;
            overflow-wrap: break-word !important;
            white-space: normal !important;
            hyphens: auto !important;
        }

        /* Fluid body text — readable at all sizes, wraps within container */
        .step-panel-modal p {
            font-size: clamp(0.875rem, 3vw, 1.125rem) !important;
            line-height: 1.65 !important;
            max-width: 100% !important;
            word-break: break-word !important;
            overflow-wrap: break-word !important;
            hyphens: auto !important;
            display: -webkit-box;
            -webkit-line-clamp: 5;
            line-clamp: 5;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* Mobile-only layout adjustments */
        @media (max-width: 1023px) {

            #infra-modal-parallax .absolute.inset-0.flex,
            #dev-modal-parallax .absolute.inset-0.flex {
                padding-top: 80px;
                padding-bottom: 16px;
                align-items: flex-start;
            }

            /* Align slides to top on mobile so content is always visible */
            .step-panel-modal {
                align-items: flex-start !important;
                justify-content: flex-start !important;
                max-height: calc(100vh - 96px);
            }

            /* Icon badge: compact on mobile */
            .step-panel-modal .rounded-2xl.backdrop-blur-md {
                width: 36px !important;
                height: 36px !important;
                margin-bottom: 10px !important;
                border-radius: 10px !important;
            }

            .step-panel-modal .rounded-2xl.backdrop-blur-md svg {
                width: 16px !important;
                height: 16px !important;
            }

            /* Pills: legible, compact */
            .step-panel-modal .flex.flex-wrap {
                gap: 6px !important;
            }

            .step-panel-modal .flex.flex-wrap span {
                padding: 4px 10px !important;
                font-size: 9px !important;
                letter-spacing: 0.06em !important;
            }

            /* Swipe hint: compact */
            .step-panel-modal .swipe-hint {
                margin-top: 12px !important;
            }

            .step-panel-modal .swipe-hint .w-7 {
                width: 22px !important;
                height: 34px !important;
            }
        }


        /* =============================================
           CONTACT FORM & MAP — mobile fixes
           ============================================= */
        @media (max-width: 1023px) {

            /* Form panel: reduce padding dramatically */
            #contacto .glass-panel {
                padding: 20px 16px !important;
            }

            /* Map: reduce height on mobile */
            #contacto .min-h-\[400px\] {
                min-height: 220px !important;
                max-height: 260px !important;
                height: 240px !important;
                flex: none !important;
                width: 100% !important;
            }

            /* Section heading scaling */
            #contacto h2 {
                font-size: 1.75rem !important;
                line-height: 1.2 !important;
            }

            /* Form grid: always single column on mobile */
            #contacto .grid.grid-cols-1.md\:grid-cols-2 {
                grid-template-columns: 1fr !important;
            }
        }

        /* Swipe hint animation */
        @keyframes swipe-hint {
            0% {
                transform: translateY(0);
                opacity: 1;
            }

            50% {
                transform: translateY(8px);
                opacity: 0.4;
            }

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

        .swipe-hint {
            animation: swipe-hint 2s ease-in-out infinite;
        }

        /* =============================================
           CTA PARALLAX — Mobile Overrides
           ============================================= */
        @media (max-width: 1023px) {
            #cta-slides-container {
                flex-direction: column !important;
            }

            /* Visual Column as Background */
            #cta-slides-container>div:last-child {
                position: absolute !important;
                inset: 0 !important;
                z-index: 10 !important;
                width: 100% !important;
                height: 100% !important;
            }

            .cta-visual-item video {
                opacity: 0.2 !important;
                filter: grayscale(0.3) brightness(0.8);
            }

            /* Text Column on Top */
            #cta-slides-container>div:first-child {
                position: relative !important;
                z-index: 20 !important;
                width: 100% !important;
                height: 100% !important;
                background: transparent !important;
                border-right: none !important;
            }

            .cta-text-item {
                padding: 0 1.5rem !important;
                text-align: center !important;
                justify-content: center !important;
            }

            .cta-text-item h3 {
                justify-content: center !important;
                font-size: 1.5rem !important;
                margin-bottom: 1rem !important;
                margin-top: 60px;
                /* Space for persistent header */
            }

            .cta-text-item p {
                font-size: 0.95rem !important;
                margin-bottom: 1.5rem !important;
                max-width: 100% !important;
                color: #fff !important;
                /* Brighter on mobile for legibility */
                text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
            }

            .cta-text-item ul {
                grid-template-columns: 1fr 1fr !important;
                gap: 0.5rem !important;
                text-align: left !important;
                max-width: 320px !important;
                margin: 0 auto !important;
            }

            .cta-text-item li {
                font-size: 0.75rem !important;
                color: #fff !important;
                text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
            }

            /* Adjust persistent header on Mobile */
            #cta-header {
                top: 40px !important;
                bottom: auto !important;
                height: auto !important;
                display: flex !important;
                justify-content: center !important;
                align-items: flex-start !important;
            }

            #cta-header .cta-header-content {
                text-align: center !important;
            }

            /* Mobile Legibility Glow */
            .cta-text-item::before {
                content: '';
                position: absolute;
                inset: 0;
                background: radial-gradient(circle at center, rgba(5, 8, 10, 0.9) 0%, transparent 80%);
                z-index: -1;
                pointer-events: none;
                opacity: 0;
                transition: opacity 0.5s ease;
            }

            .cta-text-item {
                position: relative;
            }

            #cta-nav {
                bottom: 5% !important;
                /* Higher precision for mobile edge */
            }
        }

        /* Fade in the glow only when slide is active (managed by GSAP opacity) */
        @media (max-width: 1023px) {
            .cta-text-item::before {
                opacity: 1;
            }
        }

        /* =============================================
           GLOBAL PARALLAX BACKGROUND LAYER
           (attaches to a fixed canvas behind all sections,
            excluding the hero which has its own bg)
           ============================================= */
        #parallax-global-bg {
            position: fixed;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            overflow: hidden;
        }

        #parallax-global-bg .orb {
            position: absolute;
            border-radius: 50%;
            filter: blur(100px);
            opacity: 0;
            transition: opacity 0.6s ease;
        }

        #parallax-global-bg .orb-green {
            width: 600px;
            height: 600px;
            background: radial-gradient(circle, rgba(118, 163, 79, 0.12) 0%, transparent 70%);
        }

        #parallax-global-bg .orb-blue {
            width: 500px;
            height: 500px;
            background: radial-gradient(circle, rgba(27, 67, 93, 0.18) 0%, transparent 70%);
        }

        /* Hex grid overlay — subtle across all sections */
        .global-hex-overlay {
            position: fixed;
            inset: 0;
            z-index: 0;
            pointer-events: none;
            background-image: url("data:image/svg+xml,%3Csvg width='60' height='104' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 104L0 87V52L30 35L60 52V87zM30 69L0 52V17L30 0L60 17V52z' fill='%2376a34f' fill-opacity='0.015'/%3E%3C/svg%3E");
            opacity: 1;
        }

        /* Slide In Right Animation (smooth) */
        @keyframes slideInRight {
            from {
                transform: translateX(60px);
                opacity: 0;
            }

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

        .slide-in-right {
            opacity: 0;
            pointer-events: none;
        }

        .slide-in-right.visible {
            animation-duration: 0.8s;
            animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
            animation-name: slideInRight;
            animation-fill-mode: forwards;
            pointer-events: auto;
        }

        /* Slide In Up Animation (smooth) */
        @keyframes slideInUp {
            from {
                transform: translateY(40px);
                opacity: 0;
            }

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

        .slide-in-up {
            opacity: 0;
            pointer-events: none;
        }

        .slide-in-up.visible {
            animation-duration: 0.8s;
            animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
            animation-name: slideInUp;
            animation-fill-mode: forwards;
            pointer-events: auto;
        }

        /* Hand Hint Animation */
        @keyframes handClick {

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

            50% {
                transform: scale(0.9) translateY(5px);
                opacity: 0.4;
            }
        }

        .hand-hint {
            animation: handClick 2s ease-in-out infinite;
        }

        /* Partners "Pure Brand" - Ultra Minimalist */
        .slider-wrapper-partners {
            position: relative;
            width: 100%;
            height: 100vh;
            overflow: hidden;
            background: #050508;
            border-top: 1px solid rgba(255, 255, 255, 0.03);
            border-bottom: 1px solid rgba(255, 255, 255, 0.03);
        }

        .slide-p {
            position: absolute;
            inset: 0;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.5s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 8%;
        }

        @media (max-width: 768px) {
            .slider-wrapper-partners {
                height: 100vh;
                min-height: 750px;
            }

            .slide-p {
                padding: 120px 5% 130px 5%;
                align-items: flex-start;
                overflow-y: auto;
            }

            .partner-p-title {
                font-size: clamp(1.8rem, 8vw, 2.5rem);
                margin-bottom: 0.75rem;
            }

            /* En mobile: logo más pequeño y menos margen inferior */
            .slide-p .brand-icon-main {
                max-width: 130px !important;
            }

            .slide-p .animate-bounce-in-p.p-delay-1 {
                margin-bottom: 0.75rem;
            }

            /* En mobile: reducir margen del párrafo para que el botón suba */
            .slide-p p.text-gray-400 {
                margin-bottom: 1.25rem;
                font-size: 0.875rem;
            }

            /* En mobile: el botón Saber Más va a ancho completo */
            .slide-p a[href][target="_blank"] {
                display: block;
                text-align: center;
                width: 100%;
                max-width: 280px;
                margin: 0 auto;
            }

            /* Thumbnails: centrar en mobile y separar del contenido */
            .thumbnails-p {
                right: auto;
                left: 50%;
                transform: translateX(-50%);
                bottom: 4%;
                max-width: 90vw;
                overflow-x: auto;
                flex-wrap: nowrap;
            }

            /* Thumb items más pequeños en mobile */
            .thumb-item-p {
                width: 44px;
                height: 34px;
                padding: 7px;
                flex-shrink: 0;
            }
        }

        .slide-p.active {
            opacity: 1;
            visibility: visible;
            z-index: 10;
        }

        /* Accent Colors per Brand */
        .slide-p[data-brand="aws"] {
            --brand-accent: #FF9900;
        }

        .slide-p[data-brand="fortinet"] {
            --brand-accent: #EE3124;
        }

        .slide-p[data-brand="azure"] {
            --brand-accent: #0089D6;
        }

        .slide-p[data-brand="cisco"] {
            --brand-accent: #049FD9;
        }

        .slide-p[data-brand="mikrotik"] {
            --brand-accent: #EF3E36;
        }

        .slide-p[data-brand="ubiquiti"] {
            --brand-accent: #0559C9;
        }

        .slide-p[data-brand="veeam"] {
            --brand-accent: #00B336;
        }

        .slide-p[data-brand="vmware"] {
            --brand-accent: #607078;
        }

        .slide-p[data-brand="proxmox"] {
            --brand-accent: #E57000;
        }

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

            60% {
                transform: scale(1.01) translateY(-2px);
                opacity: 1;
            }

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

        .animate-bounce-in-p {
            opacity: 0;
        }

        .slide-p.active .animate-bounce-in-p {
            animation: elasticBounce 0.7s cubic-bezier(0.25, 1, 0.5, 1) forwards;
        }

        .brand-icon-main {
            width: clamp(80px, 12vw, 120px);
            height: auto;
            filter: grayscale(1) brightness(2);
            transition: all 0.5s ease;
        }

        .slide-p.active .brand-icon-main {
            filter: grayscale(0) brightness(1);
        }

        .partner-p-title {
            font-size: clamp(1.5rem, 4vw, 2.8rem);
            font-weight: 900;
            line-height: 1.1;
            margin-top: 0.5rem;
            color: #fff;
            text-transform: uppercase;
        }

        .nav-ui-p {
            position: absolute;
            bottom: 12%;
            left: 8%;
            display: flex;
            align-items: center;
            gap: 1rem;
            z-index: 50;
        }

        .nav-arrow-p {
            width: 38px;
            height: 38px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s;
            color: rgba(255, 255, 255, 0.4);
        }

        .nav-arrow-p:hover {
            border-color: var(--brand-accent);
            color: var(--brand-accent);
            background: rgba(255, 255, 255, 0.02);
        }

        .thumbnails-p {
            position: absolute;
            right: 8%;
            bottom: 10%;
            display: flex;
            gap: 0.5rem;
            z-index: 50;
            padding: 5px;
            background: rgba(255, 255, 255, 0.02);
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.05);
        }

        .thumb-item-p {
            width: 60px;
            height: 45px;
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 10px;
            cursor: pointer;
            transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
            opacity: 0.3;
            background: transparent;
            border: 1px solid transparent;
        }

        .thumb-item-p.active {
            opacity: 1;
            background: rgba(255, 255, 255, 0.05);
            border-color: rgba(255, 255, 255, 0.1);
            transform: translateY(-3px);
        }

        .thumb-item-p img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            filter: grayscale(1) brightness(2);
        }

        .thumb-item-p.active img {
            filter: grayscale(0) brightness(1);
        }

        .thumb-item-p.active {
            border-color: var(--brand-green);
            opacity: 1;
            transform: translateY(-5px);
            background: rgba(255, 255, 255, 0.1);
        }

        .thumb-item-p img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
            filter: brightness(0) invert(1);
        }

        .thumbnails-p::-webkit-scrollbar {
            height: 4px;
        }

        .thumbnails-p::-webkit-scrollbar-thumb {
            background: rgba(255, 255, 255, 0.1);
            border-radius: 10px;
        }

        /* Hero Infinite Vertical Carousel */
        #hero-carousel-container {
            width: 100%;
            height: 500px;
            position: relative;
            /* Allow slides to be seen coming from the right */
            overflow: visible;
        }

        .hero-carousel-slide {
            position: absolute;
            display: flex;
            align-items: center;
            gap: 1.5rem;
            width: 100%;
            max-width: 450px;
            padding: 1rem;
            /* No backgrounds or borders as requested */
            background: transparent;
            border: none;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            opacity: 0;
            pointer-events: auto;
        }

        .hero-carousel-slide img {
            width: 100px;
            height: 100px;
            flex-shrink: 0;
            filter: drop-shadow(0 0 15px rgba(118, 163, 79, 0.3));
        }

        .hero-carousel-slide .content h3 {
            color: #fff;
            font-weight: 800;
            font-size: 1.2rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 0.2rem;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
        }

        .hero-carousel-slide .content p {
            color: #cbd5e1;
            font-size: 0.9rem;
            line-height: 1.4;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
        }

        @media (min-width: 1024px) {
            .hero-carousel-slide {
                gap: 2rem;
                padding: 2rem;
            }
        }

        .hero-carousel-slide:hover {
            border-color: rgba(118, 163, 79, 0.3);
            background: rgba(255, 255, 255, 0.04);
        }

        .hero-carousel-slide img {
            width: 120px;
            height: 120px;
            flex-shrink: 0;
            filter: drop-shadow(0 0 15px rgba(118, 163, 79, 0.2));
        }

        .hero-carousel-slide .content h3 {
            color: #fff;
            font-weight: 800;
            font-size: 1.1rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 0.5rem;
        }

        .hero-carousel-slide .content p {
            color: #94a3b8;
            font-size: 0.85rem;
            line-height: 1.5;
        }

        /* Enterprise CMS & Networking Section */
        .cms-net-section {
            background-color: #050508;
            color: #e2e8f0;
            overflow: hidden;
        }

        .browser-mockup {
            width: 100%;
            max-width: 900px;
            height: auto;
            min-height: 250px;
            background: rgba(15, 15, 25, 0.7);
            border: 1px solid rgba(0, 242, 255, 0.3);
            border-radius: 12px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            backdrop-filter: blur(10px);
            overflow: hidden;
            position: relative;
        }

        @media (min-width: 1024px) {
            .browser-mockup {
                min-height: 400px;
            }
        }

        .browser-header {
            background: rgba(255, 255, 255, 0.05);
            height: 40px;
            display: flex;
            align-items: center;
            padding: 0 15px;
            gap: 8px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .browser-header .dot {
            width: 10px;
            height: 10px;
            border-radius: 50%;
        }

        .terminal-container {
            font-family: 'Fira Code', monospace, 'Courier New', Courier;
            background: #0d0d0f;
            border: 1px solid #2d2d2d;
            border-radius: 8px;
            width: 100%;
            max-width: 700px;
            margin-top: 2rem;
            padding: 1rem;
            font-size: 0.85rem;
            box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
        }

        .server-node {
            background: #1a1a2e;
            border-left: 4px solid #00f2ff;
            padding: 1rem;
            border-radius: 4px;
            position: relative;
            transition: all 0.3s;
        }

        .server-node:hover {
            box-shadow: 0 0 20px rgba(0, 242, 255, 0.3);
            transform: scale(1.05);
        }

        .status-light {
            width: 6px;
            height: 6px;
            background: #00ff00;
            border-radius: 50%;
            box-shadow: 0 0 5px #00ff00;
            animation: blink 1s infinite;
        }

        .circuit-layer-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            opacity: 0.2;
            pointer-events: none;
        }

        @keyframes blink {

            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0.3;
            }
        }

        .cursor-line {
            display: inline-block;
            width: 8px;
            height: 15px;
            background: #00f2ff;
            animation: blink 0.8s step-end infinite;
            vertical-align: middle;
        }

        /* Data Cable Animation */
        .data-packet {
            stroke-dasharray: 20, 150;
            stroke-dashoffset: 0;
            animation: dataFlow 4s linear infinite;
            stroke: #00f2ff;
            stroke-width: 2;
            filter: drop-shadow(0 0 5px #00f2ff);
        }

        @keyframes dataFlow {
            to {
                stroke-dashoffset: -170;
            }
        }

        .data-packet-alt {
            animation-duration: 6s;
            stroke: #7000ff;
            filter: drop-shadow(0 0 5px #7000ff);
        }