.samwoo-company-timeline {
    position: relative;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--stl-bg, #efefef);
    padding: var(--stl-padding-y, 26px) var(--stl-padding-x, 24px);
    overflow: hidden;
    --stl-year-col: clamp(132px, 16vw, 178px);
    --stl-rail-col: 18px;
    --stl-month-col: clamp(54px, 7vw, 76px);
    --stl-progress-height: 0px;
    --stl-year-size: 58px;
    --stl-month-size: 21px;
    --stl-text-size: 15px;
}

.samwoo-company-timeline *,
.samwoo-company-timeline *::before,
.samwoo-company-timeline *::after {
    box-sizing: border-box;
}

.samwoo-company-timeline__list {
    position: relative;
    width: 100%;
}

.samwoo-company-timeline__list::before,
.samwoo-company-timeline__list::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(var(--stl-year-col) + var(--stl-main-gap, 34px) + (var(--stl-rail-col) / 2) - (var(--stl-line-width, 1px) / 2));
    width: var(--stl-line-width, 1px);
    pointer-events: none;
}

.samwoo-company-timeline__list::before {
    bottom: 0;
    background: var(--stl-line-color, #cfcfcf);
}

.samwoo-company-timeline__list::after {
    height: var(--stl-progress-height, 0px);
    background: var(--stl-line-active-color, #111111);
    transition: height 120ms linear;
}

.samwoo-company-timeline[data-scroll-effect="no"] .samwoo-company-timeline__list::after {
    display: none;
}

.samwoo-company-timeline__group {
    position: relative;
    display: grid;
    grid-template-columns: var(--stl-year-col) var(--stl-rail-col) minmax(0, 1fr);
    column-gap: var(--stl-main-gap, 34px);
    align-items: start;
    transition: opacity var(--stl-animation-duration, 420ms) ease, transform var(--stl-animation-duration, 420ms) ease;
}

.samwoo-company-timeline[data-scroll-effect="yes"] .samwoo-company-timeline__group:not(.is-active) {
    opacity: var(--stl-inactive-opacity, 0.72);
}

.samwoo-company-timeline[data-scroll-effect="yes"] .samwoo-company-timeline__group.is-active {
    opacity: 1;
}

.samwoo-company-timeline__group + .samwoo-company-timeline__group {
    margin-top: var(--stl-group-gap, 78px);
}

.samwoo-company-timeline__year,
.samwoo-company-timeline__month,
.samwoo-company-timeline__text {
    font-family: inherit;
    letter-spacing: 0;
}

.samwoo-company-timeline__year {
    color: var(--stl-year-color, #000000);
    font-size: var(--stl-year-size, 58px);
    font-weight: 800;
    line-height: 0.95;
    word-break: keep-all;
    padding-top: 0;
}

.samwoo-company-timeline__rail {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-height: 100%;
    padding-top: 2px;
}

.samwoo-company-timeline__dot {
    position: relative;
    display: block;
    width: var(--stl-dot-size, 18px);
    height: var(--stl-dot-size, 18px);
    border-radius: 50%;
    background: var(--stl-dot-outer, #d8ddf1);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.03);
    z-index: 2;
    transition: transform var(--stl-animation-duration, 420ms) ease, background var(--stl-animation-duration, 420ms) ease, box-shadow var(--stl-animation-duration, 420ms) ease;
}

.samwoo-company-timeline__dot::after {
    content: "";
    position: absolute;
    inset: 24%;
    border-radius: 50%;
    background: var(--stl-dot-inner, #2943a1);
    transition: background var(--stl-animation-duration, 420ms) ease;
}

.samwoo-company-timeline[data-scroll-effect="yes"] .samwoo-company-timeline__group.is-active .samwoo-company-timeline__dot {
    background: var(--stl-dot-outer-active, #d8ddf1);
    transform: scale(1.02);
}

.samwoo-company-timeline[data-scroll-effect="yes"] .samwoo-company-timeline__group.is-active .samwoo-company-timeline__dot::after {
    background: var(--stl-dot-inner-active, #111111);
}

.samwoo-company-timeline__content {
    display: grid;
    row-gap: 14px;
    min-width: 0;
    padding-top: 0;
}

.samwoo-company-timeline__entry {
    display: grid;
    grid-template-columns: var(--stl-month-col) minmax(0, 1fr);
    column-gap: var(--stl-entry-gap, 14px);
    align-items: start;
}

.samwoo-company-timeline__month {
    color: var(--stl-month-color, #2f2f2f);
    font-size: var(--stl-month-size, 21px);
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.samwoo-company-timeline__text {
    color: var(--stl-text-color, #2d2d2d);
    font-size: var(--stl-text-size, 15px);
    font-weight: 500;
    line-height: 1.75;
    word-break: keep-all;
}

@media (max-width: 1920px) {
    .samwoo-company-timeline {
        --stl-year-col: clamp(124px, 15vw, 170px);
        --stl-rail-col: 18px;
        --stl-month-col: clamp(52px, 6vw, 70px);
        --stl-year-size: 54px;
        --stl-month-size: 20px;
        --stl-text-size: 15px;
    }
}

@media (max-width: 1600px) {
    .samwoo-company-timeline {
        --stl-year-col: clamp(114px, 14vw, 154px);
        --stl-rail-col: 17px;
        --stl-month-col: clamp(50px, 5vw, 64px);
        --stl-year-size: 48px;
        --stl-month-size: 18px;
        --stl-text-size: 15px;
    }
}

@media (max-width: 1300px) {
    .samwoo-company-timeline {
        --stl-year-col: 104px;
        --stl-rail-col: 16px;
        --stl-month-col: 56px;
        --stl-year-size: 40px;
        --stl-month-size: 17px;
        --stl-text-size: 14px;
    }

    .samwoo-company-timeline__group {
        column-gap: min(var(--stl-main-gap, 34px), 26px);
    }
}

@media (max-width: 1024px) {
    .samwoo-company-timeline {
        --stl-year-col: 86px;
        --stl-rail-col: 15px;
        --stl-month-col: 48px;
        --stl-year-size: 32px;
        --stl-month-size: 15px;
        --stl-text-size: 14px;
        padding-top: min(var(--stl-padding-y, 26px), 22px);
        padding-bottom: min(var(--stl-padding-y, 26px), 22px);
        padding-left: min(var(--stl-padding-x, 24px), 18px);
        padding-right: min(var(--stl-padding-x, 24px), 18px);
    }

    .samwoo-company-timeline__group {
        column-gap: min(var(--stl-main-gap, 34px), 18px);
    }

    .samwoo-company-timeline__group + .samwoo-company-timeline__group {
        margin-top: min(var(--stl-group-gap, 78px), 54px);
    }

    .samwoo-company-timeline__content {
        row-gap: 10px;
    }
}

@media (max-width: 880px) {
    .samwoo-company-timeline {
        --stl-year-col: 72px;
        --stl-rail-col: 14px;
        --stl-month-col: 40px;
        --stl-year-size: 24px;
        --stl-month-size: 14px;
        --stl-text-size: 13px;
        padding-left: min(var(--stl-padding-x, 24px), 14px);
        padding-right: min(var(--stl-padding-x, 24px), 14px);
    }

    .samwoo-company-timeline__group {
        column-gap: min(var(--stl-main-gap, 34px), 14px);
    }

    .samwoo-company-timeline__entry {
        column-gap: min(var(--stl-entry-gap, 14px), 8px);
    }
}

@media (max-width: 500px) {
    .samwoo-company-timeline {
        --stl-year-col: 58px;
        --stl-rail-col: 12px;
        --stl-month-col: 34px;
        --stl-year-size: 16px;
        --stl-month-size: 12px;
        --stl-text-size: 11px;
        padding-top: min(var(--stl-padding-y, 26px), 18px);
        padding-bottom: min(var(--stl-padding-y, 26px), 18px);
        padding-left: 10px;
        padding-right: 10px;
    }

    .samwoo-company-timeline__group {
        column-gap: min(var(--stl-main-gap, 34px), 10px);
    }

    .samwoo-company-timeline__group + .samwoo-company-timeline__group {
        margin-top: min(var(--stl-group-gap, 78px), 30px);
    }

    .samwoo-company-timeline__content {
        row-gap: 8px;
    }

    .samwoo-company-timeline__entry {
        column-gap: min(var(--stl-entry-gap, 14px), 6px);
    }
}
