/* ===== HERO SLIDER ===== */
.hero {
    position: relative;
    min-height: 100vh;
    background: transparent;
    display: flex;
    color: white;
    align-items: center;
    padding-top: 90px;
    padding-bottom: 140px;
    overflow: hidden;
}

/* WRAPPER UTAMA */
.hero-visual {
    position: relative;
    overflow: hidden;
}

/* ===== HERO SLIDER BG ===== */
.hero-bg-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-bg-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 65%;
    opacity: 0;
    transition: opacity 0.8s ease;
    will-change: opacity;
}

.hero-bg-slide.active {
    opacity: 1;
    animation: heroZoom 7s ease forwards;
}

@keyframes heroZoom {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.05);
    }
}

/* pastikan konten di atas */
.hero,
.feature-wrap,
.kreatifitas-section {
    position: relative;
    z-index: 2;
}

/* container slide */
.hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}

/* tiap slide */
.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center 65%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

/* slide aktif */
.hero-slide.active {
    opacity: 1;
}

/* konten di atas */
.hero-content {
    position: relative;
    z-index: 2;
}

/* ===== HERO INDICATOR ===== */
/* wrapper indikator + tombol */
.hero-controls {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 40px;
    z-index: 6;
}

.hero-indicators {
    position: absolute;
    bottom: 1%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 6;
}

/* tombol wrapper */
.hero-nav {
    position: absolute;
    bottom: 1%;
    right: 80px;
    /* sejajar ujung feature */
    display: flex;
    gap: 12px;
    z-index: 7;
}

/* tombol slider */
.hero-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}

/* prev */
.hero-btn.prev {
    background: #fff;
}

/* next */
.hero-btn.next {
    background: #f7931e;
    color: #fff;
}

.hero-dot {
    width: 36px;
    height: 6px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.5);
    transition: all 0.3s ease;
}

.hero-dot.active {
    background: #f7931e;
    width: 60px;
}

.overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;

    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.45) 0%,
        rgba(0, 0, 0, 0.35) 30%,
        rgba(0, 0, 0, 0.18) 60%,
        rgba(0, 0, 0, 0.08) 78%,
        rgba(0, 0, 0, 0) 100%
    );
    z-index: 1;
}
