 :root {
            --primary-color: #0d6efd;
            --success-green: #40a304;
            --secondary-yellow: #ffc107;
        }

        /* --- CAROUSEL CORE --- */
        #hero-carousel {
            height: 100vh;
            background: #000;
            overflow: none;
        }

        .carousel-inner, .carousel-item {
            height: 100vh;
        }

        /* --- NON-STOP CINEMATIC ZOOM --- */
        .carousel-item img {
            height: 100vh;
            width: 100%;
            object-fit: cover;
            /* Prevents mouse hover from pausing the zoom transition */
            pointer-events: none; 
            transition: transform 8000ms linear !important;
        }

        .carousel-item.active img {
            transform: scale(1.2);
        }

        /* --- RESPONSIVE CAPTION --- */
        .carousel-caption {
            top: 70%;
            transform: translateY(-50%);
            bottom: auto;
            text-align: left;
            left: 10%;
            right: 10%;
            z-index: 10;
        }

        .carousel-caption h1 {
            font-size: clamp(2.5rem, 8vw, 3rem);
            font-weight: bold;
            line-height: 1;
            text-transform: ;
            font-family: "Fira Sans", Sans-serif;
        }

        .carousel-caption p {
            font-size: clamp(1rem, 2vw, 1.25rem);
            
        }

        /* --- TAMAYA BUTTON WITH ARROW --- */
        .btn-tamaya {
            display: inline-block;
            position: relative;
            min-width: 220px;
            padding: 15px 30px;
            background: transparent;
            border: px solid var(--success-green);
            color: var(--success-green);
            text-transform: uppercase;
            text-decoration: none;
            font-weight: 700;
            overflow: hidden;
            transition: color 0.3s;
            margin-top: 20px;
        }

        .btn-text-container {
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.3s ease;
        }

        .btn-tamaya i {
            margin-left: 10px;
            transform: translateX(-10px);
            opacity: 0;
            transition: all 0.3s ease;
        }

        .btn-tamaya::before, 
        .btn-tamaya::after {
            content: attr(data-text);
            position: absolute;
            width: 100%;
            height: 50%;
            left: 0;
            background-color: #9c1c25;
            color: #fff;
            transition: transform 0.35s cubic-bezier(0.2, 1, 0.3, 1);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 2;
        }

        .btn-tamaya::before { top: 0; padding-top: 15px; }
        .btn-tamaya::after { bottom: 0; line-height: 0; padding-bottom: 15px; }

        /* Hover States */
        .btn-tamaya:hover::before { transform: translateY(-100%); }
        .btn-tamaya:hover::after { transform: translateY(100%); }
        .btn-tamaya:hover .btn-text-container { transform: translateX(-5px); }
        .btn-tamaya:hover i { opacity: 1; transform: translateX(0); }

        /* --- MOBILE OPTIMIZATION --- */
        @media (max-width: 768px) {
            .carousel-caption {
                left: 5%;
                right: 5%;
                text-align: center;
            }
            .btn-tamaya {
                min-width: 180px;
                padding: 12px 20px;
            }
            .carousel-caption p {
                margin-left: auto;
                margin-right: auto;
            }
        }