.modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(44, 2, 59, .75);
    z-index: 1;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all .3s ease;
    transition: all .5s ease;
}

.modal::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: image-set(
            url('../img/mask/left_mask@1x.webp') 1x,
            url('../img/mask/left_mask@2x.webp') 2x
    ) no-repeat left bottom;
    background-size: contain;
    z-index: 101;
    pointer-events: auto;
}

.modal::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: image-set(
            url('../img/mask/right_mask@1x.webp') 1x,
            url('../img/mask/right_mask@2x.webp') 2x
    ) no-repeat right bottom;
    background-size: contain;
    z-index: 101;
    pointer-events: auto;
}

.modal--active {
    z-index: 50;
    opacity: 1;
    pointer-events: all;
}

.modal__content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.modal__content {
    width: 660px;
    aspect-ratio: 660 / 800;
    background: image-set(
        url('../img/modal/modal@1x.webp') 1x,
        url('../img/modal/modal@2x.webp') 2x
    ) no-repeat center center;
    background-size: cover;
    position: absolute;
    isolation: isolate;
    z-index: 102;
    padding-top: 125px;
}

.modal__content.no-transition {
    transition: none !important;
}

.modal__title {
    line-height: 1.2;
    font-weight: 900;
    background: linear-gradient(to bottom,
    #98681A 16%,
    #E1C889 24%,
    #FFEEB6 35%,
    #FDEFCA 51%,
    #F8E2B3 66%,
    #EEC480 73%,
    #98681A 99%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: relative;
}

.modal__title-first {
    font-size: 52px;
    letter-spacing: 1.56px;
}

.modal__title-second {
    font-size: 48px;
    letter-spacing: 1.44px;
    margin-bottom: 35px;
}

.modal__content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    top: 16px;
}

.modal__subtitle-first {
    font-size: 36px;
    letter-spacing: 4.32px;
    font-weight: 900;
    position: relative;
    line-height: 1.2;
}

.modal__subtitle-first:nth-child(1) {
    font-size: 180px;
    line-height: 1;
}

.modal__subtitle-first:nth-child(2) {
    margin-bottom: 5px;
}

.modal__subtitle-second {
    font-weight: 900;
    position: relative;
}

.modal__subtitle-second:nth-child(1) {
    font-size: 30px;
    letter-spacing: 3px;
}

.modal__subtitle-second:nth-child(2) {
    font-size: 87px;
    line-height: 1;
}

.modal__subtitle-second:nth-child(3) {
    font-size: 87px;
    letter-spacing: -2px;
    line-height: 1;
}

.modal__subtitle-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.modal__title::before,
.modal__subtitle-first::before,
.modal__subtitle-second::before {
    content: attr(data-text);
    position: absolute;
    left: 0;
    top: 0;
    -webkit-text-stroke: 5px #722897;
    color: transparent;
    background: none;
    z-index: -1;
}

.modal__btn-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    pointer-events: auto;
}

.modal__btn-wrapper-second {
    margin-top: 40px;
}

.modal__btn {
    width: 397px;
    height: 75px;
    background: image-set(
        url('../img/modal/modal_btn@1x.webp') 1x,
        url('../img/modal/modal_btn@2x.webp') 2x
    ) no-repeat center center;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.modal__btn-label {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: 1.2px;
    background: linear-gradient(to top,
    #35046E 12%,
    #6922A0 24%,
    #8E4AC5 35%,
    #6922A0 51%,
    #6922A0 66%,
    #6922A0 73%,
    #8E4AC5 99%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.modal__gold {
    position: relative;
    top: 37px;
    z-index: 0;
}

.modal__btn-pulse {
    animation: pulse 2s linear infinite;
}

#button {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
