       /* ============================================
   COLORES REALES DEL LOGO JACTECHGT
============================================ */
        :root {
            --naranja: #f97216;
            /* naranja del logo */
            --naranja-claro: #fb923c;
            --azul: #4681e9;
            /* azul del logo */
            --azul-claro: #5990ff;
            --hex-dark: #1a202c;
            /* hexágono oscuro */
            --fondo: #0d1320;
            /* fondo oscuro */
            --fondo-deep: #070b14;
            --texto-claro: #dbe4f5;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box
        }

        html,
        body {
            height: 100%;
            overflow: hidden
        }

        body {
            font-family: 'DM Sans', sans-serif;
            background: var(--fondo-deep);
            color: #fff;
            position: relative
        }

        /* ===== FONDO: VIDEO O IMAGEN ===== */
        .intro-bg {
            position: fixed;
            inset: 0;
            z-index: 1;
            overflow: hidden
        }

        .intro-bg video,
        .intro-bg img {
            width: 100%;
            height: 100%;
            object-fit: cover
        }

        .intro-overlay {
            position: fixed;
            inset: 0;
            z-index: 2;
            background: linear-gradient(165deg, rgba(7, 11, 20, 0.90) 0%, rgba(26, 32, 44, 0.80) 45%, rgba(70, 129, 233, 0.35) 100%)
        }

        .intro-grid {
            position: fixed;
            inset: 0;
            z-index: 3;
            background-image: linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
            background-size: 55px 55px;
            pointer-events: none
        }

        .orb {
            position: fixed;
            border-radius: 50%;
            filter: blur(90px);
            z-index: 3;
            pointer-events: none
        }

        .orb1 {
            top: 12%;
            right: 8%;
            width: 380px;
            height: 380px;
            background: rgba(249, 114, 22, 0.16)
        }

        /* orbe naranja */
        .orb2 {
            bottom: 8%;
            left: 10%;
            width: 300px;
            height: 300px;
            background: rgba(70, 129, 233, 0.18)
        }

        /* orbe azul */

        /* ===== CONTENIDO CENTRAL ===== */
        .intro-content {
            position: fixed;
            inset: 0;
            z-index: 10;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 24px;
            overflow-y: auto
        }

        .intro-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 99px;
            padding: 7px 18px;
            margin-bottom: 26px;
            opacity: 0;
            animation: fadeDown 0.8s ease 0.2s forwards
        }

        .intro-badge .dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--naranja);
            animation: pulse 2s ease-in-out infinite
        }

        .intro-badge span {
            font-size: 12px;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--texto-claro);
            font-weight: 500
        }

        .intro-logo {
            max-width: 380px;
            width: 78%;
            margin-bottom: 24px;
            opacity: 0;
            animation: fadeUp 0.9s ease 0.4s forwards;
            filter: drop-shadow(0 8px 30px rgba(0, 0, 0, 0.5))
        }

        .intro-logo-text {
            font-family: 'Syne', sans-serif;
            font-weight: 800;
            font-size: clamp(36px, 8vw, 68px);
            letter-spacing: -0.02em;
            line-height: 1;
            margin-bottom: 18px;
            opacity: 0;
            animation: fadeUp 0.9s ease 0.4s forwards
        }

        .intro-logo-text .jac {
            color: var(--texto-claro)
        }

        .intro-logo-text .tech {
            color: var(--naranja)
        }

        .intro-logo-text .gt {
            color: var(--texto-claro)
        }

        .intro-tagline {
            font-size: clamp(15px, 2.3vw, 21px);
            color: rgba(255, 255, 255, 0.65);
            font-weight: 300;
            max-width: 620px;
            line-height: 1.6;
            margin-bottom: 28px;
            opacity: 0;
            animation: fadeUp 0.9s ease 0.6s forwards
        }

        .intro-tagline strong {
            color: var(--naranja-claro);
            font-weight: 600
        }

        .intro-tagline .azul {
            color: var(--azul-claro)
        }

        /* ===== SERVICIOS (chips) ===== */
        .services-row {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            max-width: 700px;
            margin-bottom: 40px;
            opacity: 0;
            animation: fadeUp 0.9s ease 0.75s forwards
        }

        .service-chip {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            background: rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 12px;
            padding: 9px 16px;
            font-size: 13px;
            font-weight: 500;
            color: rgba(255, 255, 255, 0.82);
            transition: all 0.25s ease
        }

        .service-chip:hover {
            background: rgba(249, 114, 22, 0.15);
            border-color: rgba(249, 114, 22, 0.4);
            transform: translateY(-2px)
        }

        .service-chip svg {
            width: 16px;
            height: 16px
        }

        .service-chip.naranja svg {
            color: var(--naranja)
        }

        .service-chip.azul svg {
            color: var(--azul-claro)
        }

        /* ===== BOTÓN ENTRAR (gradiente naranja-azul del logo) ===== */
        .btn-enter {
            position: relative;
            display: inline-flex;
            align-items: center;
            gap: 12px;
            background: linear-gradient(135deg, var(--naranja), var(--azul));
            color: #fff;
            font-family: 'Syne', sans-serif;
            font-weight: 700;
            font-size: 17px;
            letter-spacing: 0.02em;
            padding: 18px 50px;
            border: none;
            border-radius: 16px;
            cursor: pointer;
            text-decoration: none;
            overflow: hidden;
            opacity: 0;
            animation: fadeUp 0.9s ease 0.9s forwards, glowPulse 3s ease-in-out 2s infinite;
            transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease
        }

        .btn-enter:hover {
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 16px 50px rgba(249, 114, 22, 0.4)
        }

        .btn-enter:active {
            transform: translateY(-1px) scale(1)
        }

        .btn-enter svg {
            width: 20px;
            height: 20px;
            transition: transform 0.3s ease
        }

        .btn-enter:hover svg {
            transform: translateX(5px)
        }

        .btn-enter::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.25), transparent);
            transition: left 0.5s ease
        }

        .btn-enter:hover::before {
            left: 100%
        }

        .skip-intro {
            position: fixed;
            top: 24px;
            right: 24px;
            z-index: 20;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(255, 255, 255, 0.06);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.6);
            font-size: 13px;
            font-weight: 500;
            padding: 8px 16px;
            border-radius: 99px;
            cursor: pointer;
            text-decoration: none;
            transition: all 0.25s ease;
            opacity: 0;
            animation: fadeIn 0.6s ease 1.5s forwards
        }

        .skip-intro:hover {
            background: rgba(255, 255, 255, 0.12);
            color: #fff
        }

        .sound-toggle {
            position: fixed;
            bottom: 24px;
            right: 24px;
            z-index: 20;
            width: 46px;
            height: 46px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.08);
            border: 1px solid rgba(255, 255, 255, 0.12);
            color: rgba(255, 255, 255, 0.7);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.25s ease;
            opacity: 0;
            animation: fadeIn 0.6s ease 1.5s forwards
        }

        .sound-toggle:hover {
            background: rgba(255, 255, 255, 0.15);
            color: #fff
        }

        .sound-toggle svg {
            width: 20px;
            height: 20px
        }

        .intro-progress {
            position: fixed;
            bottom: 0;
            left: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--naranja), var(--azul));
            z-index: 20;
            width: 0%;
            transition: width 0.2s linear
        }

        body.leaving .intro-content {
            animation: fadeOutScale 0.6s ease forwards
        }

        body.leaving .intro-overlay {
            animation: fadeToDark 0.6s ease forwards
        }

        @keyframes fadeUp {
            from {
                opacity: 0;
                transform: translateY(30px)
            }

            to {
                opacity: 1;
                transform: translateY(0)
            }
        }

        @keyframes fadeDown {
            from {
                opacity: 0;
                transform: translateY(-20px)
            }

            to {
                opacity: 1;
                transform: translateY(0)
            }
        }

        @keyframes fadeIn {
            from {
                opacity: 0
            }

            to {
                opacity: 1
            }
        }

        @keyframes fadeOutScale {
            to {
                opacity: 0;
                transform: scale(1.05)
            }
        }

        @keyframes fadeToDark {
            to {
                background: var(--fondo-deep)
            }
        }

        @keyframes pulse {

            0%,
            100% {
                opacity: 1;
                transform: scale(1)
            }

            50% {
                opacity: 0.5;
                transform: scale(0.8)
            }
        }

        @keyframes glowPulse {

            0%,
            100% {
                box-shadow: 0 8px 30px rgba(249, 114, 22, 0.25)
            }

            50% {
                box-shadow: 0 8px 45px rgba(70, 129, 233, 0.45)
            }
        }

        @media(max-width:640px) {
            .btn-enter {
                padding: 16px 42px;
                font-size: 16px
            }

            .skip-intro {
                top: 16px;
                right: 16px
            }

            .sound-toggle {
                bottom: 16px;
                right: 16px;
                width: 42px;
                height: 42px
            }

            .service-chip {
                font-size: 12px;
                padding: 8px 13px
            }

            .intro-tagline {
                margin-bottom: 22px
            }

            .services-row {
                margin-bottom: 32px
            }
        }