.hero {
    position: relative;
    padding: 120px 20px;
    text-align: center;
    color: #fff;

    background:
        linear-gradient(rgba(0, 0, 0, 0.55),
            rgba(0, 0, 0, 0.55)),
        url("../assets/images/hero.jpg") center / cover no-repeat;

    /* PARALLAX RINGAN */
    background-attachment: fixed;
}



.hero-inner {
    max-width: 720px;
    margin: auto
}

.section {
    padding: 80px 20px;
    max-width: 1100px;
    margin: auto;
    text-align: center
}

.section.soft {
    background: #fafafa
}

.image-grid,
.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 24px;
    margin-top: 40px
}

.cta-final {
    padding: 80px 20px;
    background: #0d47a1;
    color: #fff;
    text-align: center
}

footer {
    padding: 30px;
    text-align: center;
    font-size: 14px;
    color: #666
}