.s25aThat {
    background-color: #000;
    padding: 12.16vw 17.52vw 10.62vw 17.52vw;
}
.s25aThatFlex {
    display: flex;
    justify-content: center;
    margin: 3.25vw;
}
.s25aThatTit {
    font-size: 1.25vw;
    line-height: 1.2;
    text-align: center;
    font-family: Poppins-Medium;
}
.s25aThatPos {
    position: relative;
}
.s25aThatAbs {
    position: absolute;
    top: 1.09vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.97vw;
    line-height: 1.2;
    font-family: Poppins-Bold;
    white-space: nowrap;
}
.s25aThatGrid {
    display: grid;
    gap: 0.77vw;
}
.s25aGridPad {
    padding: 0 0.77vw 0 0.5vw;
}
.s25aColr {
    color: #6700cb;
}
.s25aColrW {
    color: #fff;
}
.s25aColrB {
    color: #000;
}
.s25aColrh {
    color: #9a9a9a;
}
.s25aColrG {
    color: #7d7d7d;
}
.s25aSoAbs {
    position: absolute;
    top: 4.42vw;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}
.s25aSoAbsTit {
    font-size: 2.81vw;
    line-height: 1;
    font-family: Poppins-Bold;
}
.s25aSoAbsLit {
    font-size: 1.25vw;
    line-height: 1.2;
    font-family: Poppins-Medium;
}
.s25aTwoAbs {
    position: absolute;
    top: 22.47vw;
    left: 7.5vw;
}
.s25aSoAbsLits {
    font-size: 0.86vw;
    line-height: 1;
    font-family: Poppins-Medium;
}
.s25aTwoPad {
    padding: 0.52vw 0 1.82vw 0;
}
.s25aMtlAbs {
    position: absolute;
    top: 4.16vw;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}
.s25aMtlNo {
    white-space: nowrap;
    padding-top: 0.78vw;
}
.s25aMtlBot {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3.9vw;
}
.s25aVis {
    text-align: center;
    background-color: #000;
    padding: 4.63vw 17.91vw 3.62vw 23.54vw;
}
.s25aVisPad {
    padding: 1.22vw 0 0 0;
}
.s25aTiny {
    padding: 3.07vw 8.59vw 2.78vw 9.32vw;
    background-color: #000;
    text-align: center;
}
.s25aTinyMar {
    margin: 44px 0 2.73vw 0;
}
.s25aTinyBac {
    background-color: #fff;
    border-radius: 1vw;
    padding: 2.05vw 1.14vw 0.15vw 25.02vw;
    display: flex;
    column-gap: 9.79vw;
    align-items: center;
}
.s25aTinyImg {
    width: 6.25vw;
}
.s25aTinyGrid {
    display: grid;
    gap: 5.62vw;
}
.s25aTinyGrid img {
    width: 8.51vw;
}
.s25aTinyFlex {
    display: flex;
    align-items: center;
    column-gap: 0.65vw;
    font-size: 2.16vw;
    line-height: 1;
    font-family: Poppins-Bold;
}
.s25aUlt {
    background-color: #000;
    padding: 4.03vw 9.89vw 7.63vw 9.89vw;
    text-align: center;
}
.s25aUltFlex {
    display: flex;
    justify-content: center;
    column-gap: 3.3vw;
    margin-top: 3.43vw;
}
.s25aUltAbs {
    position: absolute;
    top: 1.45vw;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.25vw;
    line-height: 1;
    white-space: nowrap;
    font-family: Poppins-Bold;
}
.UltTop {
    top: 0.75vw !important;
}
.s25aCo {
    text-align: center;
    padding: 3.25vw 25.49vw 1.3vw 25.49vw;
}
.s25aConGrid {
    display: grid;
    gap: 3.36vw;
    margin-top: 3.72vw;
    justify-items: center;
}
.s25aCoFlex {
    display: flex;
    column-gap: 4.16vw;
}
.s25aCoGrid {
    display: grid;
    justify-items: center;
    gap: 1.35vw;
    font-size: 0.97vw;
    line-height: 1;
    font-family: Poppins-Regular;
    white-space: nowrap;
}
.s25aCoGrid img {
    width: 6.3vw;
}
.s25aComp {
    padding: 6.35vw 32.65vw 12.94vw 35.02vw;
    display: grid;
    gap: 6.12vw;
    justify-items: center;
}
.s25aSpecAbs {
    position: absolute;
    top: 9.76vw;
    left: 10.72vw;
}
.s25aSpecFlex {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px dashed #9a9a9a;
    line-height: 1.7;
    align-items: center;
}
.s25aSpecCon {
    width: 29.03vw;
    margin-top: 1.82vw;
}
.s25aSpecTit {
    font-family: Poppins-SemiBold;
    font-size: 1.2vw;
}
.s25aSpecLit {
    font-family: Poppins-Regular;
    font-size: 0.97vw;
    text-align: right;
}
.s25aSpecNo {
    border: none !important;
}
.galleryGrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 768px) and (max-width: 1024px) {
    .s25aThat {
        padding: 8vw 6vw 6vw 6vw;
    }
    .s25aThatFlex {
        margin: 2vw;
    }
    .s25aThatTit {
        font-size: 2vw;
    }
    .s25aThatAbs {
        font-size: 1.6vw;
        top: 1.5vw;
    }
    .s25aThatGrid {
        gap: 1.2vw;
    }
    .s25aGridPad {
        padding: 0 1vw 0 0.5vw;
    }
    .s25aSoAbs {
        top: 3vw;
    }
    .s25aSoAbsTit {
        font-size: 4vw;
    }
    .s25aSoAbsLit {
        font-size: 2vw;
        white-space: nowrap;
    }
    .s25aTwoAbs {
        top: 50%;
        transform: translateY(-50%);
        left: 6vw;
    }
    .s25aSoAbsLits {
        font-size: 1.4vw;
    }
    .s25aTwoPad {
        padding: 0.8vw 0 2.5vw 0;
    }
    .s25aMtlAbs {
        top: 5vw;
        width: 100%;
        padding: 0 5vw;
    }
    .s25aMtlNo {
        padding-top: 1.2vw;
    }
    .s25aMtlBot {
        bottom: 5vw;
    }
    .s25aVis {
        padding: 5vw 8vw 4vw 8vw;
    }
    .s25aVisPad {
        padding: 1.5vw 0 0 0;
    }
    .s25aTiny {
        padding: 4vw 5vw 3vw 5vw;
    }
    .s25aTinyMar {
        margin: 3vw 0 3vw 0;
    }
    .s25aTinyBac {
        border-radius: 1.5vw;
        padding: 2.5vw 2vw 0.5vw 8vw;
        column-gap: 8vw;
    }
    .s25aTinyImg {
        width: 8vw;
    }
    .s25aTinyGrid {
        gap: 4vw;
    }
    .s25aTinyGrid img {
        width: 10vw;
    }
    .s25aTinyFlex {
        column-gap: 1vw;
        font-size: 2.8vw;
    }
    .s25aUlt {
        padding: 4vw 5vw 6vw 5vw;
    }
    .s25aUltFlex {
        column-gap: 2.5vw;
        margin-top: 3vw;
    }
    .s25aUltAbs {
        font-size: 1.8vw;
        top: 0.5vw;
    }
    .UltTop {
        top: 1.2vw !important;
    }
    .s25aCo {
        padding: 4vw 6vw 2vw 6vw;
    }
    .s25aConGrid {
        gap: 3vw;
        margin-top: 3vw;
    }
    .s25aCoFlex {
        column-gap: 3vw;
    }
    .s25aCoGrid {
        gap: 1.5vw;
        font-size: 1.5vw;
    }
    .s25aCoGrid img {
        width: 8vw;
    }
    .s25aComp {
        padding: 6vw 10vw 10vw 10vw;
        gap: 5vw;
    }
    .s25aSpecAbs {
        top: 4vw;
        left: 5vw;
    }
    .s25aSpecCon {
        width: 40vw;
        margin-top: 2vw;
    }
    .s25aSpecTit {
        font-size: 1.8vw;
    }
    .s25aSpecLit {
        font-size: 1.5vw;
    }
    .galleryGrid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ===================== Mobile (max-width: 767px) ===================== */
@media (max-width: 767px) {
    .s25aThat {
        padding: 6vw 4vw 5vw 4vw;
    }
    .s25aThatFlex {
        flex-direction: column;
        align-items: center;
        margin: 2vw 0;
        gap: 3vw;
    }
    .s25aThatTit {
        font-size: 3.5vw;
    }
    .s25aThatAbs {
        font-size: 2.8vw;
        top: 2vw;
    }
    .s25aThatGrid {
        gap: 2vw;
    }
    .s25aGridPad {
        padding: 0;
    }
    .s25aSoAbs {
        top: 2vw;
        width: 100%;
    }
    .s25aSoAbsTit {
        font-size: 5.5vw;
    }
    .s25aSoAbsLit {
        font-size: 3vw;
    }
    .s25aTwoAbs {
        top: 20vw;
        left: 5vw;
        right: 5vw;
    }
    .s25aSoAbsLits {
        font-size: 2.2vw;
    }
    .s25aTwoPad {
        padding: 1.5vw 0 3vw 0;
    }
    .s25aMtlAbs {
        top: 5vw;
        width: 100%;
    }
    .s25aMtlNo {
        padding-top: 2vw;
        white-space: normal;
    }
    .s25aMtlBot {
        bottom: 6vw;
    }
    .s25aVis {
        padding: 5vw 4vw 4vw 4vw;
    }
    .s25aVisPad {
        padding: 2vw 0 0 0;
    }
    .s25aTiny {
        padding: 5vw 3vw 4vw 3vw;
    }
    .s25aTinyMar {
        margin: 4vw 0 4vw 0;
    }
    .s25aTinyBac {
        flex-direction: column;
        border-radius: 2vw;
        padding: 4vw 3vw 2vw 3vw;
        column-gap: 0;
        row-gap: 3vw;
    }
    .s25aTinyImg {
        width: 16vw;
    }
    .s25aTinyGrid {
        gap: 3vw;
    }
    .s25aTinyGrid img {
        width: 15vw;
    }
    .s25aTinyFlex {
        column-gap: 1.5vw;
        font-size: 3.5vw;
    }
    .s25aUlt {
        padding: 5vw 3vw 6vw 3vw;
    }
    .s25aUltFlex {
        flex-direction: column;
        align-items: center;
        column-gap: 0;
        row-gap: 3vw;
        margin-top: 4vw;
    }
    .s25aUltAbs {
        font-size: 3.8vw;
        top: 6vw;
    }
    .UltTop {
        top: 3.5vw !important;
    }
    .s25aCo {
        padding: 5vw 3vw 3vw 3vw;
    }
    .s25aConGrid {
        gap: 4vw;
        margin-top: 4vw;
    }
    .s25aCoFlex {
        flex-wrap: wrap;
        column-gap: 3vw;
        row-gap: 3vw;
        justify-content: center;
    }
    .s25aCoGrid {
        gap: 1.5vw;
        font-size: 2.5vw;
    }
    .s25aCoGrid img {
        width: 14vw;
    }
    .s25aComp {
        padding: 6vw 4vw 10vw 4vw;
        gap: 5vw;
    }
    .s25aSpecAbs {
        top: 8vw;
        left: 5vw;
        right: 5vw;
    }
    .s25aSpecCon {
        width: 100%;
        margin-top: 3vw;
    }
    .s25aSpecTit {
        font-size: 2.8vw;
    }
    .s25aSpecLit {
        font-size: 2.5vw;
    }
    .galleryGrid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
}