/* ============================================================
   Showcase Sections
   ============================================================ */

.showcase-sections {
    display: block;
}

.showcase-sections__slide {
    position: sticky;
    top: 0;
    display: flex;
    align-items: center;
    height: 100vh;
    background-color: var(--primary-color);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    padding-left: 6rem;
}

.showcase-sections__slide::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.62) 35%,
        rgba(0, 0, 0, 0.2) 100%
    );
    pointer-events: none;
}

.showcase-sections__content {
    position: relative;
    padding: var(--gap-xl) var(--gap-l);
    max-width: calc(300px + (780 - 300) * ((100vw - 320px) / (1920 - 320)));
}

.showcase-sections__counter {
    display: block;
    font-family: var(--primary-font);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.3em;
    color: #fdfdfc80;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.showcase-sections__title {
    font-family: var(--primary-font);
    font-size: calc(30px + (60 - 30) * ((100vw - 320px) / (1920 - 320)));
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -3.5px;
    color:       #fff;
    margin:      0 0 0.6rem;
    padding:     0;
    border:      none;
}

.showcase-sections__subtitle {
    font-family: var(--primary-font);
    font-size:   clamp(0.95rem, 1.4vw, 1.2rem);
    font-weight: 300;
    line-height: 1.55;
    color:       rgba(255, 255, 255, 0.82);
    margin:      0;
}

.alignwide.showcase-sections .showcase-sections__content,
.alignfull.showcase-sections .showcase-sections__content {
    padding-left:  max(var(--gap-l), 5vw);
    padding-right: max(var(--gap-l), 5vw);
}

@media (max-width: 768px) {
    .showcase-sections__slide {
        height: 100svh;
    }

    .showcase-sections__content {
        padding: var(--gap-l) var(--gap-m);
    }
}
