/* [about_story] — sticky title + scrolling timeline */

.df-about-story {
    background: #f5f5f7;
    padding: 45vh 0 22vh;
    color: var(--df-color-text, #1a1a1a)
}

.df-about-story__layout {
    box-sizing: border-box;
    width: calc(100% - var(--df-container-gutter) - var(--df-container-gutter));
    max-width: var(--df-container-width);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 40.7% 59.3%;
    align-items: start
}

.df-about-story__title {
    position: sticky;
    top: 17vh
}

.df-about-story__title h2 {
    margin: 0;
    font-family: var(--df-font-heading);
    font-weight: 400;
    font-size: clamp(72px, 8.333vw, 160px);
    line-height: .82;
    letter-spacing: -.06em;
    color: rgba(183, 59, 213, 1);
}

.df-about-story__title h2 span {
    display: block
}

.df-about-story__timeline {
    border-left: 1px solid #d0cfd2;
    margin-left: 7px;
    padding: 0 0 0 53px
}

.df-about-story__entry {
    position: relative;
    max-width: 707px;
    min-height: 48vh;
    padding-bottom: 80px;
    font-size: 19px;
    line-height: 32px
}

.df-about-story__entry:last-child {
    min-height: 30vh;
    padding-bottom: 0
}

.df-about-story__entry h3 {
    margin: 0 0 .35em;
    font-size: 19px;
    font-weight: 600;
    line-height: 32px
}

.df-about-story__entry p {
    margin: 0;
    line-height: 32px
}

.df-about-story__marker {
    position: absolute;
    left: -60px;
    top: 9px;
    display: block;
    width: 14px;
    height: 14px;
    overflow: visible
}

@media (max-width: 1100px) {
    .df-about-story__entry {
        font-size: 17px
    }
}

@media (max-width: 900px) {
    .df-about-story {
        padding: 40vh 0 12vh
    }

    .df-about-story__layout {
        grid-template-columns: 31% 69%;
        gap: 0
    }

    .df-about-story__title {
        top: 18vh
    }

    .df-about-story__title h2 {
        font-size: 54px
    }

    .df-about-story__timeline {
        margin-left: 8px;
        padding-left: 22px
    }

    .df-about-story__marker {
        left: -29px;
        width: 12px;
        height: 12px
    }

    .df-about-story__entry {
        font-size: 14px;
        min-height: 66vh;
        padding-bottom: 60px
    }

    .df-about-story__entry p,
    .df-about-story__entry h3 {
        line-height: 24px
    }

    .df-about-story__entry h3 {
        font-size: 14px;
        margin-bottom: 10px
    }
}

@media (max-width: 700px) {
    .df-about-story {
        padding: 80px 0 60px
    }

    .df-about-story__layout {
        grid-template-columns: 1fr;
        gap: 28px
    }

    .df-about-story__title {
        position: static
    }

    .df-about-story__title h2 {
        font-size: clamp(56px, 18vw, 88px)
    }

    .df-about-story__timeline {
        margin-left: 7px;
        padding-left: 28px
    }

    .df-about-story__marker {
        left: -35px
    }

    .df-about-story__entry {
        min-height: 0;
        margin-bottom: 50px;
        padding-bottom: 0
    }

    .df-about-story__entry:last-child {
        margin-bottom: 0
    }
}

@media (prefers-reduced-motion: reduce) {
    .df-about-story {
        padding-top: 100px
    }

    .df-about-story__title {
        position: static
    }

    .df-about-story__entry {
        min-height: 0;
        margin-bottom: 50px;
        padding-bottom: 0
    }
}
