        :root {
            --bg: #E0D9D9;
            --primary: #CD2C58;
            --accent: #DD0302;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Bebas Neue', cursive;
            letter-spacing: 0.15em;
            text-transform: uppercase;
        }

        body {
            background-color: var(--bg);
            color: var(--primary);
            overflow-x: hidden;
            line-height: 1.2;
        }

        /* SCROLLBAR */
        ::-webkit-scrollbar { width: 12px; }
        ::-webkit-scrollbar-track { background: var(--bg); }
        ::-webkit-scrollbar-thumb { background: var(--accent); }

        /* HEADER & MARQUEE */
        .header-command {
            border-bottom: 8px solid var(--primary);
            background: var(--bg);
            position: sticky;
            top: 0;
            z-index: 1000;
        }

        .marquee-strip {
            background: var(--accent);
            color: var(--primary);
            overflow: hidden;
            white-space: nowrap;
            padding: 10px 0;
            border-bottom: 4px solid var(--primary);
        }

        .marquee-content {
            display: inline-block;
            animation: marquee 30s linear infinite;
            font-size: 1.8rem;
        }

        @keyframes marquee {
            0% { transform: translateX(0); }
            100% { transform: translateX(-50%); }
        }

        /* ELEVATOR ANIMATION */
        .elevator-frame {
            height: 600px;
            width: 400px;
            overflow: hidden;
            border: 10px solid var(--accent);
            position: relative;
        }

        .elevator-img {
            height: 300%;
            width: 100%;
            background-size: cover;
            background-position: center;
            position: absolute;
            animation: elevatorLoop 20s ease-in-out infinite;
            filter: sepia(0.5) contrast(1.2);
        }

        @keyframes elevatorLoop {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-66%); }
        }

        /* UI BLOCKS */
        .btn-institutional {
            background: var(--accent);
            color: var(--bg);
            padding: 15px 40px;
            font-size: 1rem;
            border: none;
            cursor: pointer;
            transition: all 0.1s steps(2);
            display: inline-flex;
            align-items: center;
            gap: 10px;
        }

        .btn-institutional:hover {
            transform: scale(1.05);
            background: var(--primary);
        }

        .btn-outline {
            border: 4px solid var(--accent);
            color: var(--primary);
            padding: 12px 35px;
            font-size: 1.6rem;
            transition: 0.2s;
        }

        .btn-outline:hover {
            background: var(--accent);
            color: var(--bg);
        }

        .card-institutional {
            background: var(--accent);
            color: var(--bg);
            padding: 40px;
            border: 0px solid transparent;
            transition: 0.2s;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .card-institutional:hover {
            outline: 6px solid var(--primary);
            transform: translateY(-5px);
        }

        .input-sys {
            background: transparent;
            border: 6px solid var(--accent);
            padding: 20px;
            color: var(--primary);
            font-size: 2.5rem;
            width: 100%;
            outline: none;
        }

        .input-sys::placeholder { color: var(--primary); opacity: 0.5; }

        /* MODAL */
        .sys-modal {
            position: fixed;
            inset: 0;
            background: rgba(205, 44, 136, 0.9);
            z-index: 2000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
        }

        .sys-modal-content {
            background: var(--bg);
            border: 12px solid var(--accent);
            width: 100%;
            max-width: 800px;
            max-height: 80vh;
            overflow-y: auto;
            padding: 60px;
            position: relative;
        }

        /* ANIMATIONS */
        .fade-in { animation: fadeIn 0.4s ease-out forwards; }
        @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

        .scanning-line {
            position: absolute;
            width: 100%;
            height: 2px;
            background: var(--primary);
            top: 0;
            animation: scan 3s linear infinite;
            opacity: 0.4;
        }
        @keyframes scan { 0% { top: 0%; } 100% { top: 100%; } }

        /* UTILITIES */
        .section-title { font-size: 8rem; margin-bottom: 2rem; border-bottom: 12px solid var(--accent); display: inline-block; }
        .body-large { font-size: 2rem; letter-spacing: 0.1em; }
        .elevator-frame {
    width: 420px;
    height: 560px;
    border: 2px solid #DD0302;
    overflow: hidden;
}

@media (min-width: 1024px) {
    .elevator-frame {
        width: 480px;
        height: 620px;
    }
}

.elevator-img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}


.hero-elevator {
    position: relative;
    background: black;
}

/* BACKGROUND CONTAINER */
.elevator-img {
    object-fit: contain;
    background: black;
}
@media (min-width: 1024px) {
    .elevator-img {
        object-position: center top;
    }
}

/* IMAGES */
.elevator-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;

    object-fit: cover;        /* fill screen */
    object-position: center;  /* keep center visible */

    opacity: 0;
    transition: opacity 0.8s ease;
}

.elevator-img.active {
    opacity: 1;
}

/* DOORS */
.elevator-door {
    position: absolute;
    left: 0;
    width: 100%;
    height: 50%;
    background: #0b0b0b;
    z-index: 5;
}

.elevator-door.top { top: 0; }
.elevator-door.bottom { bottom: 0; }

/* DOOR MOTION */
.elevator-bg.animate .top {
    animation: doorUp 2.5s ease forwards;
}

.elevator-bg.animate .bottom {
    animation: doorDown 2.5s ease forwards;
}

/* KEYFRAMES */
@keyframes doorUp {
    from { transform: translateY(0); }
    to   { transform: translateY(-100%); }
}

@keyframes doorDown {
    from { transform: translateY(0); }
    to   { transform: translateY(100%); }
}

@keyframes imageReveal {
    from { transform: scale(1.08); }
    to   { transform: scale(1); }
}
