html,
body {
    margin: 0;
    padding: 0;
    overflow: hidden;
    overscroll-behavior: none;
    background: #000;
    font-family: sans-serif;
    scroll-behavior: auto !important;
    height: 100%;
}

.scroll-container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    cursor: grab;
}

.scroll-container:active {
    cursor: grabbing;
}

.sticky-wrapper {
    position: sticky;
    top: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

.parallax-track {
    position: absolute;
    top: 0;
    left: 0;
    height: 100vh;
    will-change: transform;
}

.bg-image-wrapper {
     position: absolute;
     inset: 0;
     width: 100%;
     height: 100%;
     overflow: hidden;
 }

.preview-image {
    filter: blur(6px);
    transform: scale(1.02);
}

.bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: 100vh;
    max-width: none;
    object-fit: contain;
    pointer-events: none;
}

.content-block {
    position: absolute;
    width: 225px;
    box-sizing: border-box;
    color: white;
    z-index: 10;
}

.content-block h2 {
    margin: 0 0 1rem;
    line-height: 1;
    font-weight: 700;
}

.content-block h2:first-child {
    font-size: 4rem;
}

.content-block p {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

@media (max-width: 768px) {

    .logo-floating {
        top: 1rem;
        left: 1rem;
        width: 160px;
    }

    .content-block {
        width: calc(80vw - 2rem);
        padding: 1.5rem;
    }

    .content-block h2:first-child {
        font-size: 2.5rem;
    }

    .content-block p {
        font-size: 1rem;
    }

    .placeholder-img {
        height: 140px;
    }
}

.progress-bar {
    background-color: hsla(0,0%,100%,.2);
    border-radius: .5rem;
    bottom: 1rem;
    height: .5rem;
    overflow: hidden;
    position: absolute;
    transition: opacity .35s;
    width: 30vw;
}
.progress-bar .progress-item {
    background-color: hsla(0,0%,100%,.8);
    border-radius: .5rem;
    height: 100%;
    position: absolute;
    width: 30%;
}
.track-wrapper {
     touch-action: none;
 }