.magazine {
    height: 300vh;
}

@media (min-width: 1024px) and (max-height:700px) {
    .magazine {
        height:auto;
        min-height: 700px;
    }
}

@media (max-width: 1023px) and (max-height:600px) {
    .magazine {
        height:auto;
        min-height: 600px;
    }
}

.magazine .sticky {
    position: sticky;
    top: 0;
    overflow: visible;
    z-index: 2;
    height: 100vh;
}

.magazine .sticky::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 2%;
    z-index: -1;
    width: 100vh;
    height: 100vh;
    opacity: .3;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    background-image: radial-gradient(circle at 50% 50%,#90ffc8,#90ffc8 38%,rgba(144,255,200,0) 74%)
}

.magazine .sticky::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 100vh;
    height: 100vh;
    opacity: .2;
    -webkit-filter: blur(50px);
    filter: blur(50px);
    background-image: radial-gradient(circle at 50% 50%,#34e5ff,rgba(52,229,255,0) 72%)
}

.magazine .sticky .bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    transform: translate3d(0,0,0);
    width: 100%;
    height: 200vh;
    background-image: linear-gradient(to bottom,#dbf0f0,#eff7f5 50%,transparent 60%);
    transition: transform 1s cubic-bezier(.39,.575,.565,1)
}

.magazine .inwrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px 88px;
}

@media (max-width: 1023px) and (max-height:640px) {
   .magazine .inwrap {
        padding:70px 20px 40px
    }
}

.magazine .section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.magazine .section-header .btn-more {
    margin-top: 40px;
}

@media (min-width: 1024px) {
    .magazine .section-header .btn-more {
        font-size:24px;
    }

    .magazine .section-header .btn-more .icon {
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 1023px) {
    .magazine .section-header .btn-more {
        margin-top:0;
    }
}

.magazine .cards {
    overflow: visible;
    position: relative;
    width: 100%;
    height: 55vh;
    min-height: 420px;
    max-height: 640px;
    margin-top: 120px
}

@media (min-width: 1024px) and (max-height:750px) {
    .magazine .cards {
        margin-top:60px;
    }
}

@media (max-width: 1023px) {
    .magazine .cards {
        min-height:320px;
        margin-top: 70px;
    }
}

.magazine .cards .card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 56px;
    border-radius: 40px;
    border: solid 2px rgba(255,255,255,.5);
    background-color: #fff;
    transform-origin: center center;
    z-index: 1;
}

/* Removed conflicting CSS transforms - JavaScript will handle positioning */

@media (max-width: 1023px) {
    .magazine .cards .card {
        padding:32px;
    }

    .magazine .cards .card:nth-child(1) {
        transform: scale(.9) translate3d(0,-32px,0);
    }

    .magazine .cards .card:nth-child(2) {
        transform: scale(.95) translate3d(0,-16px,0);
    }
}

.magazine .cards .card a {
    display: flex;
    justify-content: space-between;
    position: relative;
    width: 100%;
    height: 100%
}

@media (max-width: 1023px) {
    .magazine .cards .card a {
        flex-direction:column;
    }
}

.magazine .cards .card .images {
    overflow: hidden;
    width: 46%;
    height: 100%;
    border-radius: 40px;
    background-color: #000
}

.magazine .cards .card .images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s,opacity .5s
}

@media (max-width: 1023px) {
    .magazine .cards .card .images {
        width:100%;
        aspect-ratio: 1/.76;
        max-height: 360px
    }
}

.magazine .cards .card .texts {
    width: 54%;
}

.magazine .cards .card .texts strong {
    display: block;
    font-size: 32px;
    font-weight: 700;
    color: #111;
    line-height: 1.38;
    letter-spacing: -.06px
}

.magazine .cards .card .texts p {
    margin-top: 26px;
    font-size: 20px;
    font-weight: 500;
    color: #666;
    line-height: 1.7;
    letter-spacing: -.02px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 6em;
    line-height: 1.5;
    white-space: normal
}

@media (min-width: 1024px) {
     .magazine .cards .card .texts {
        padding-top:64px;
        padding-left: 70px
    }
}

@media (max-width: 1023px) {
    .magazine .cards .card .texts {
        width:100%;
        margin-top: 20px;
    }

    .magazine .cards .card .texts strong {
        font-size: 24px;
        line-height: 1.4;
    }

    .magazine .cards .card .texts p {
        margin-top: 20px;
        font-size: 16px;
        font-weight: 400;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        height: 3em;
        line-height: 1.5;
        white-space: normal
    }
}

@media (hover: hover) {
    .magazine .cards .card:hover .images img {
        transform:scale(1.03);
        opacity: .9;
    }
}

.magazine.finish .cards {
    overflow: hidden;
}

.magazine.finish .bg {
    transform: translate3d(0,-100vh,0);
    transition: transform .5s cubic-bezier(.47,0,.745,.715);
}

.magazine .sticky .bg {
    height: 200%;
}

/* Removed conflicting CSS that was overriding the animation */

@media (max-width: 1023px) {
    .magazine .cards .card {
        height:60%;
    }
}

@media (max-width: 1023px) {
    .magazine {
        margin-bottom:20px;
    }
}
