.tsCho {
    background: url('/wp-content/uploads/2026/09/TS4C-12.webp') no-repeat top center;
    background-size: cover;
    padding: 9.11vw 15.44vw 7.63vw 15.44vw;
}
.tsChoCon {
    display: flex;
    justify-content: center;
    column-gap: 4.29vw;
}
.tsChoGrid {
    color: #fff;
    display: grid;
    justify-items: center;
}
.tsChoGrid img {
    width: 4.15vw;
    margin-bottom: 1.25vw;
}
.tsChoTit {
    font-family: poppins-semibold;
    font-size: 1.09vw;
    line-height: 1;
}
.tsChoLit {
    font-family: poppins-regular;
    font-size: 0.99vw;
    line-height: 1.5;
}
.tsChoTits {
    font-family: poppins-semibold;
    font-size: 3.54vw;
    line-height: 1;
    margin: 7.8vw 0 1.43vw 0;
    text-align: center;
    color: #fff;
}
.tsChoCons {
    position: relative;
    background-color: #fff;
    border-radius: 25px;
    padding: 5.52vw 0 5.2vw 7.81vw;
}
.tsChoConsFlex {
    display: flex;
    column-gap: 3.33vw;
}
.tsChoConsGrid img,
.tsChoTime {
    cursor: pointer;
}
.tsChoTime {
    position: relative;
    width: 1.61vw;
    height: 1.61vw;
}
.tsChoPop {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    height: 1.61vw;
    padding: 0 0.39vw;
    background-color: #f8f8f8;
    border-radius: 999px;
    white-space: nowrap;
}
.tsChoTimes {
    flex-shrink: 0;
    width: 0.83vw;
    height: 0.83vw;
    border-radius: 50%;
}
.tsChoName {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    font-family: poppins-medium;
    font-size: 0.99vw;
    color: #000;
    transition: max-width 0.3s ease, padding-left 0.3s ease, opacity 0.3s ease;
}
.tsChoTime.active .tsChoName {
    max-width: 6vw;
    padding-left: 0.91vw;
    opacity: 1;
}
.col1 {
    background-color: #e3e3e3;
}
.col2 {
    background-color: #686868;
}
.col3 {
    background-color: #1c1c1c;
}
.col4 {
    background-color: #4782c0;
}
.tsChoConsGrid {
    display: grid;
    gap: 1.56vw;
    justify-items: center;
}
.tsChoConsGrid img {
    width: 4.63vw;
}
.tsChoImgWrap {
    position: absolute;
    top: -2.5vw;
    right: 1.3vw;
    width: 22.24vw;
}
.tsChoImg {
    width: 100%;
    display: block;
    transition: opacity 0.3s ease;
}
.tsChoImgTop {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
}
.tsFill {
    background: url('/wp-content/uploads/2026/09/TS4C-27.webp') no-repeat top center;
    background-size: cover;
    padding: 4.4vw 21.77vw 6.22vw 21.77vw;
    text-align: center;
    color: #000;
}
.tsFillTit {
    font-family: poppins-semibold;
    font-size: 3.54vw;
    line-height: 1;
}
.tsFillLit {
    font-family: poppins-regular;
    font-size: 0.99vw;
    line-height: 1;
    margin: 0.96vw 0 3.38vw 0;
    padding: 0 7.26vw 0 7.91vw;
    height: 1.98vw;
}
.tsFillImgWrap {
    overflow: hidden;
    margin-left: -21.77vw;
    margin-right: -21.77vw;
}
.tsFillTrack {
    display: flex;
    column-gap: 3.04vw;
}
.tsFillSlot {
    flex-shrink: 0;
    width: 56.45vw;
    opacity: 0.6;
    transition: opacity 0.5s ease, transform 0.5s ease;
}
.tsFillSlot.main {
    opacity: 1;
}
.tsFillSlot img,
.tsFillSlot video {
    width: 100%;
    display: block;
    border-radius: 35px;
}
.tsFillSlot [hidden] {
    display: none;
}
.tsFillBtn {
    display: flex;
    justify-content: center;
    column-gap: 0.65vw;
    margin-top: 3.12vw;
}
.tsFillDot {
    width: 0.59vw;
    height: 0.59vw;
    border-radius: 50%;
    background-color: #ffd39a;
    cursor: pointer;
}
.tsFillDot.active {
    background-color: #fff;
}
.tsMtl {
    background: url('/wp-content/uploads/2026/09/TS4C-19.webp') no-repeat top center;
    background-size: cover;
    padding: 5.99vw 6.71vw 4.19vw 15.54vw;
    color: #fff;
    display: flex;
    align-items: center;
    column-gap: 5.39vw;
}
.tsMtLit {
    font-family: poppins-regular;
    font-size: 0.99vw;
    line-height: 1.2;
    padding-right: 0.3vw;
    margin: 1.43vw 0 4.16vw 0;
}
.tsMtBtn {
    display: flex;
    width: 100%;
    padding: 0.26vw;
    border: 1px solid #fff;
    border-radius: 999px;
    column-gap: 0.26vw;
}
.tsMtOpt {
    padding: 0.91vw 1.26vw;
    border-radius: 999px;
    font-family: poppins-semibold;
    font-size: 1.4vw;
    line-height: 1;
    color: #fff;
    cursor: pointer;
}
.tsMtOpt.active {
    background-image: linear-gradient(to bottom, #ffce00, #ff8000);
}
.tsMtlImg {
    width: 49.53vw;
}
.tsMake {
    padding: 4.68vw 21.77vw 5.6vw 21.77vw;
    color: #000;
    text-align: center;
}
.tsMakeLit {
    font-family: poppins-regular;
    font-size: 0.99vw;
    line-height: 1.2;
    margin: 1.9vw 0;
}
.tsMakePos {
    position: relative;
}
.tsMakeTitAbs {
    position: absolute;
    font-family: poppins-bold;
    font-size: 1.3vw;
    line-height: 1.2;
    color: #fff;
}
.locTop1 {
    top: 9.89vw;
    left: 4.16vw;
}
.locTop2 {
    top: 12.5vw;
    right: 1.3vw;
}
.tsReady {
    background-color: #f8f8f8;
    padding: 5.05vw 15.39vw 5.91vw 15.39vw;
    color: #000;
    text-align: center;
}
.tsReadyLit {
    font-family: poppins-regular;
    font-size: 0.99vw;
    line-height: 1.2;
    margin: 0.99vw 0 2.55vw 0;
}
.tsReadyFlex {
    display: flex;
    justify-content: center;
    column-gap: 0.8vw;
}
.tsReadyImg {
    width: 43.28vw;
}
.tsReadySwitch {
    display: flex;
    flex: 1;
    align-items: center;
    column-gap: 0.8vw;
    background-color: #fff;
    border-radius: 35px;
    padding: 3.17vw 1.43vw 2.34vw 1.43vw;
    justify-content: space-around;
}
.tsReadyArr {
    width: 1.25vw;
    cursor: pointer;
}
.tsReadyMid {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 2.5vw;
}
.tsReadyMod {
    height: 18.64vw;
    object-fit: contain;
}
.tsReadyModTit {
    font-family: poppins-medium;
    font-size: 0.99vw;
    line-height: 1;
}
.tsSpec {
    padding: 5.83vw 15.41vw 5.78vw 15.44vw;
    text-align: center;
    color: #000;
    background-color: #f3f3f3;
}
.tsSpecFlex {
    display: flex;
    column-gap: 1.3vw;
    margin-top: 4.58vw;
}
.tsSpecImg {
    width: 33.9vw;
}
.tsSpecGrid {
    flex: 1;
    display: grid;
    gap: 1.17vw;
}
.tsSpecGridItem {
    background-color: #fff;
    border-radius: 15px;
    padding: 1.4vw 0 1.27vw 2.57vw;
    display: grid;
    align-content: space-between;
    justify-items: start
}
.tsSpecGridTit {
    font-family: poppins-regular;
    font-size: 1.14vw;
    line-height: 1;
}
.tsSpecGridLit {
    font-family: poppins-semiBold;
    font-size: 1.4vw;
    line-height: 1.2;
    font-weight: 500;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .tsCho {
        padding: 8vw 8vw 7vw 8vw;
    }
    .tsChoCon {
        column-gap: 5.5vw;
    }
    .tsChoGrid img {
        width: 5.8vw;
        margin-bottom: 1.8vw;
    }
    .tsChoTit {
        font-size: 1.6vw;
    }
    .tsChoLit {
        font-size: 1.35vw;
    }
    .tsChoTits {
        font-size: 4.6vw;
    }
    .tsChoCons {
        padding: 5.5vw 0 5.2vw 5.5vw;
    }
    .tsChoConsFlex {
        column-gap: 4.2vw;
    }
    .tsChoConsGrid {
        gap: 2.4vw;
    }
    .tsChoConsGrid img {
        width: 6.4vw;
    }
    .tsChoTime {
        width: 2.3vw;
        height: 2.3vw;
    }
    .tsChoPop {
        height: 2.3vw;
        padding: 0 0.55vw;
    }
    .tsChoTimes {
        width: 1.2vw;
        height: 1.2vw;
    }
    .tsChoName {
        font-size: 1.35vw;
    }
    .tsChoTime.active .tsChoName {
        max-width: 9vw;
        padding-left: 1.3vw;
    }
    .tsChoImgWrap {
        top: -3.5vw;
        right: 2vw;
        width: 28vw;
    }
    .tsMtl {
        padding: 6vw 5vw 5vw 8vw;
        column-gap: 4vw;
    }
    .tsMtl .tsFillTit {
        font-size: 4.6vw;
    }
    .tsMtLit {
        font-size: 1.35vw;
    }
    .tsMtOpt {
        padding: 1.1vw 1.5vw;
        font-size: 1.8vw;
    }
    .tsMtlImg {
        width: 46vw;
    }
    .tsMake .tsFillTit {
        font-size: 4.6vw;
    }
    .tsMakeLit {
        font-size: 1.35vw;
    }
    .tsMakePos img {
        width: 100%;
        height: auto;
    }
    .tsMakeTitAbs {
        font-size: 1.7vw;
    }
    .tsReady .tsFillTit {
        font-size: 4.6vw;
    }
    .tsReadyLit {
        font-size: 1.35vw;
    }
    .tsReadyArr {
        width: 1.8vw;
    }
    .tsReadyModTit {
        font-size: 1.35vw;
    }
    .tsReadySwitch {
        border-radius: 1vw;
    }
    .tsSpec .tsFillTit {
        font-size: 4.6vw;
    }
    .tsSpecGridTit {
        font-size: 1.4vw;
    }
    .tsSpecGridLit {
        font-size: 1.6vw;
    }
    .tsSpecGridItem {
        border-radius: 5px;
    }
    .tsMtBtn {
        display: inline-flex;
        width: auto;
    }
    .tsFill {
        padding: 10vw 8vw 7vw 8vw;
    }
    .tsFillImgWrap {
        margin-left: -8vw;
        margin-right: -8vw;
    }
    .scrollmagic-pin-spacer {
        background-color: #ff9e12;
    }
    .tsFill .tsFillTit {
        font-size: 4.6vw;
    }
    .tsFillLit {
        font-size: 1.35vw;
        height: 2.7vw;
    }
    .tsFillDot {
        width: 0.85vw;
        height: 0.85vw;
    }
    .tsFillBtn {
        column-gap: 0.9vw;
    }
    .tsFillSlot img, .tsFillSlot video {
        border-radius: 15px;
    }
}

@media (max-width: 768px) {
    .tsCho {
        padding: 12vw 6vw 10vw 6vw;
    }
    .tsChoCon {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        justify-items: center;
        row-gap: 9vw;
    }
    .tsChoGrid img {
        width: 9vw;
        margin-bottom: 3vw;
    }
    .tsChoTit {
        font-size: 3.8vw;
    }
    .tsChoLit {
        font-size: 3.2vw;
    }
    .tsChoTits {
        font-size: 7.5vw;
        margin: 10vw 0 5vw 0;
    }
    .tsChoCons {
        display: flex;
        flex-direction: column-reverse;
        padding: 8vw 6vw;
    }
    .tsChoConsFlex {
        justify-content: center;
        column-gap: 5.5vw;
        row-gap: 9vw;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .tsChoConsGrid {
        gap: 4vw;
    }
    .tsChoConsGrid img {
        width: 15vw;
    }
    .tsChoTime {
        width: 4vw;
        height: 4vw;
    }
    .tsChoPop {
        height: 4vw;
        padding: 0 1vw;
    }
    .tsChoTimes {
        width: 2vw;
        height: 2vw;
    }
    .tsChoName {
        font-size: 3.2vw;
    }
    .tsChoTime.active .tsChoName {
        max-width: 22vw;
        padding-left: 2.4vw;
    }
    .tsChoImgWrap {
        position: relative;
        top: auto;
        right: auto;
        width: 62vw;
        margin: 0 auto 10vw;
    }
    .tsMtl {
        flex-direction: column;
        align-items: stretch;
        padding: 12vw 6vw;
    }
    .tsMtl .tsFillTit {
        font-size: 7.5vw;
    }
    .tsMtLit {
        font-size: 3.2vw;
        margin: 3vw 0 6vw 0;
    }
    .tsMtOpt {
        padding: 2.2vw 3.2vw;
        font-size: 3.6vw;
    }
    .tsMtlImg {
        align-self: center;
        width: 88vw;
    }
    .tsMake {
        padding: 12vw 6vw;
    }
    .tsMake .tsFillTit {
        font-size: 7.5vw;
    }
    .tsMakeLit {
        font-size: 3.2vw;
        margin: 4vw 0 6vw 0;
    }
    .tsMakePos img {
        width: 100%;
        height: auto;
    }
    .tsMakeTitAbs {
        font-size: 3.2vw;
    }
    .locTop1 {
        top: 15.4vw;
        left: 6.5vw;
    }
    .locTop2 {
        top: 19.5vw;
        right: 2vw;
    }
    .tsReady {
        padding: 12vw 6vw;
    }
    .tsReady .tsFillTit {
        font-size: 7.5vw;
    }
    .tsReadyLit {
        font-size: 3.2vw;
        margin: 3vw 0 6vw 0;
    }
    .tsReadyFlex {
        flex-direction: column;
        align-items: center;
        row-gap: 8vw;
    }
    .tsReadyImg {
        width: 88vw;
    }
    .tsReadySwitch {
        flex: none;
        width: 100%;
        padding: 6vw 4vw;
        border-radius: 3vw;
    }
    .tsReadyArr {
        width: 6vw;
    }
    .tsReadyMid {
        row-gap: 5vw;
    }
    .tsReadyMod {
        width: auto !important;
        height: 42vw;
    }
    .tsReadyModTit {
        font-size: 3.2vw;
    }
    .tsSpec {
        padding: 12vw 6vw;
    }
    .tsSpec .tsFillTit {
        font-size: 7.5vw;
    }
    .tsSpecFlex {
        flex-direction: column;
        align-items: center;
        row-gap: 6vw;
        margin-top: 8vw;
    }
    .tsSpecImg {
        width: 88vw;
    }
    .tsSpecGrid {
        width: 100%;
        gap: 3vw;
    }
    .tsSpecGridItem {
        padding: 4vw 0 3.6vw 5vw;
        border-radius: 2vw;
        gap: 10vw;
    }
    .tsSpecGridTit {
        font-size: 3.4vw;
    }
    .tsMtBtn {
        display: inline-flex;
        width: auto;
    }
    .tsSpecGridLit {
        font-size: 3.8vw;
    }
    .tsFill {
        padding: 12vw 6vw 10vw 6vw;
    }
    .tsFillSlot {
        width: 72vw;
    }
    .scrollmagic-pin-spacer {
        background-color: #ff9e12;
    }
    .tsFill .tsFillTit {
        font-size: 7.5vw;
    }
    .tsFillLit {
        font-size: 3.2vw;
        height: 6.4vw;
        padding: 0 4vw;
        margin-bottom: 8vw;
    }
    .tsFillImgWrap {
        margin-left: -6vw;
        margin-right: -6vw;
    }
    .tsFillDot {
        width: 2vw;
        height: 2vw;
    }
    .tsFillBtn {
        column-gap: 2.4vw;
        margin-top: 8vw;
    }
    .tsFillSlot img, .tsFillSlot video {
        border-radius: 5px;
    }
}
