.cursor{display: flex;align-items: center;justify-content: center; width : 84px;height : 84px;border-radius: 50%;background : #D1A47D;color : #fff;position : fixed;z-index: 1000;transform: translate(-50%, -50%) scale(0);pointer-events : none;transition : transform 1s;font-family: Ofelia-Text;font-size: 13px;}
.cursor::after{position : absolute;content: '';width : 134px;height : 134px;background: url(/assets/images/main/envi-rotate-text.png)no-repeat center / contain;animation : rotate-text 6s infinite linear}
@keyframes rotate-text {
    0%{transform: rotate(0);}
    100%{transform: rotate(360deg);}
}
.cursor.on{transform: translate(-50%, -50%) scale(1);}

.scroll-box{display: flex;flex-direction: column; align-items: center;gap : 8px; position : fixed;z-index: 1; left : 87px; bottom : 68px; transition : opacity 1s;}
.scroll-box.hide{opacity: 0;}

.scroll-progress{display: flex;justify-content: center; width : 1px; height : 91px; background: #0E2F52;position : relative;}
.scroll-progress::after{position : absolute;content: '';width : 10px; height : 10px; border-radius: 50%; background: #0E2F52;animation : scroll-progress 1.5s infinite ease-in-out}
@keyframes scroll-progress {
    0%{top : 0}
    100%{top : calc(100% - 10px);}
}
.scroll-box > span{writing-mode: vertical-lr;font-family: futura-pt;color : #656565; font-size: 14px;}

.main-section-visual{overflow: hidden;}
.visual-bg{display: flex;align-items: center;justify-content: center; position : absolute;width : 100%;height : 100%;left : 0;top : 0;z-index: -1;}
.visual-bg > img{width: 100%; height: 100%; object-fit: cover;object-position: center;}

.visual-bg-circle{width : 1132px;height : 1132px; border : 132px solid rgba(14,47,82,0.18);position : absolute;z-index: 1; border-radius: 50%;transform: translateX(-43%) translateY(-25%) scale(0);}

.visual-apt-box{position : absolute;width : 100%;height : 100%;clip-path: circle(0 at 50% 57%);background: #fff;left : 0;top : 0;}

.visual-apt-bg{position : absolute;width : 100%;height : 100%;object-fit: cover; object-position: center;opacity: 0;}
.visual-apt{position : absolute;width : 100%;height : 100%;object-fit: cover; object-position: center bottom;z-index: 1; transform: scale(1.4); animation : visual-apt 4s both ease-in-out}
@keyframes visual-apt {
    0%{transform: scale(1.25);}
    100%{transform: scale(1);}
}

.visual-inner{display: flex;justify-content: space-between;  width : 100%;max-width: 1500px;height : 100%;margin : 0 auto;position : relative;z-index: 1;}

.visual-left{display: flex;flex-direction: column;padding-left: 0px;justify-content: center; align-items: start;height : 100%; padding-bottom: 100px;}

.visual-logo-eng{margin-bottom: 32px;transform: translateX(-100px);opacity: 0;}
.visual-logo-kor{transform: translateX(-100px);opacity: 0;}

.visual-right{display: flex;flex-direction: column;padding-left: 50px;justify-content: start; align-items: end;height : 100%; padding-top: 244px; text-align: right;}

.visual-title{font-family: pretendard; font-size: 57px; font-weight: 300; color : #909090; letter-spacing: -0.033em; margin-bottom: 24px;}
.visual-title b{color : #0E2F52; font-weight: 700;}

.visual-title p{overflow: hidden;}
.visual-title .char{transform: translateY(100%);}

.visual-desc{font-size: 17px; letter-spacing: -0.033em; color : #535353; font-weight: 500; line-height: 1.4em; transform: translateX(100px);opacity: 0;}

.visual-logo{margin-top: 70px; opacity : 0; transform : translateX(100px)}

.visual-open{display: flex;flex-direction: column;align-items: center;justify-content: center; width : 98px;height : 98px; border-radius: 50%; background: #0E2F52; color : #fff; font-size: 22px; font-family: pretendard; font-weight: 700;position :fixed; right : 113px; bottom : 52px;line-height: 1.2em; opacity: 0; transform: translateX(100px);z-index: 1; transition : opacity 1s;}
.visual-open.hide{opacity: 0 !important;}
.visual-open::after{position : absolute;content : ''; width : 137px;height : 137px; background: url(/assets/images/main/visual-rotate-text.png)no-repeat center / contain; animation : rotate-text 6s infinite linear}
@keyframes rotate-text {
    0%{transform: rotate(0);}
    100%{transform: rotate(360deg);}
}
.visual-open span{color : #D1A47D; font-size: 21px;}
.visual-open span b{font-size: 28px;}

.visual-subway{position : absolute;right : 0; bottom : 0; transform : translateY(100%)}

/**/
.envi-slide{display: flex;align-items: center;justify-content: center; width : 100%;height : 100%;}
.envi-slide .swiper-slide{display: flex;align-items: center;justify-content: center;}

.envi-slide-inner{position : relative;}

.envi-img-box{display: flex;gap : 32px;height : 610px;}
.envi-img-box > div{overflow: hidden;border-radius: 1000px;width : 265px;height : 265px;transform : scale(0); transition : height 1s .4s, transform 1s .4s;}
.active .swiper-slide-active .envi-img-box > div{height : 502px; transform : scale(1);transition : height 1s 1.4s, transform 1s .4s;}
.active .swiper-slide-active .envi-img-box > .envi-img-right{transition : height 1s 1.4s, transform 1s .6s;}
.envi-img-box > div > img{width : 100%;height : 100%;object-fit: cover;object-position: center bottom;}

.envi-img-left{align-self: end;}

.envi-con-box{position :absolute;width : 100%;height : 100%;left : 0;top : 0;white-space: nowrap;}

.envi-con{position : absolute;transition : transform 1s .4s, opacity 1s .4s}
.envi-con-01{right : 100%;padding-right: 118px;bottom : -60px; transform: translateY(-100px);opacity: 0;}
.envi-con-02{left : 100%;padding-left: 112px; text-align: right; top : 0; transform: translateY(100px);opacity: 0;}
.active .swiper-slide-active .envi-con{transform: translateY(0);opacity: 1;transition : transform 1s 1.4s, opacity 1s 1.4s}

.envi-con-name{font-size: 18px; font-family: futura-pt; font-weight: 500; color : #0E2F52; margin-bottom: 24px;}
.envi-con-02 .envi-con-name{color : #8B634A}
.envi-con-title{font-size: 31px; font-family: pretendard; letter-spacing: -0.033em; font-weight: 700; color :#0E2F52; margin-bottom: 14px;}
.envi-con-02 .envi-con-title{color : #8B634A}

.envi-con-desc{font-size: 17px; font-family: pretendard; letter-spacing: -0.033em; font-weight: 500; color : #535353; margin-bottom: 37px;line-height: 1.5em;}

.envi-inner{width : 100%;max-width: 1500px;margin : 0 auto;padding-top: 186px;position : absolute;top : 0;}
.envi-title{font-size: 37px; font-family: pretendard; color : #121212; font-weight: 300;letter-spacing: -0.033em;}
.envi-title p{overflow: hidden;}
.envi-title b{font-weight: 600; color : #0E2F52;}

.envi-title .char{transform: translateY(100%);}

.premium-bg{position : absolute;left : 0;top : 0;width : 45.5729%; height : 100%;clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);transition : clip-path 1s .4s;}
.active .premium-bg{clip-path: polygon(0 0, 100% 0, 72% 100%, 0% 100%);transition : clip-path 2s .4s;}
.premium-bg > img{width : 100%;height : 100%; object-fit: cover;object-position: center;}

.premium-inner{display: flex;justify-content: space-between; position : relative;width : 100%;max-width: 1740px;height : 100%; margin : 0 auto;}

.premium-left{display: flex;flex-direction: column;justify-content: center;position : relative; width : 670px;}
.premium-right{display: flex;flex-direction: column;justify-content: end;padding-bottom: 63px;flex-shrink: 0;margin-right: 80px;}

.premium-title-box{padding-bottom: 100px;}
.premium-title-box > span{display: block; font-family: AntroVectra;font-size: 67px;color : #8B634A;line-height: 0.8em; transform: translateX(-100px);opacity: 0;transition : transform 1s .4s, opacity 1s .4s;}
.active .premium-title-box > span{transform: translateX(0);opacity: 1;}

.premium-title{font-size: 56px; font-family: futura-pt-bold; color : #000; letter-spacing: 0.25em; padding-left: 2.8em;line-height: 0.8em;letter-spacing: 1em;opacity: 0;transition : opacity 1s .4s, letter-spacing 1s .4s;white-space: nowrap;}
.active .premium-title{letter-spacing: 0.25em;opacity: 1;}

.premium-list{display: grid;grid-template-columns: repeat(3, 1fr);}
.premium-list > li{padding : 20px 28px 0; height : 387px;position : relative}

.premium-list > li:nth-child(1)::after,
.premium-list > li:nth-child(2)::after{position : absolute; content : ''; width : 1px; height : 94%;background: #8E8E8E;right : 0;top : 0; clip-path: inset(50% 0); transition : clip-path 1s .4s;}

.premium-list > li:nth-child(4)::after,
.premium-list > li:nth-child(5)::after{position : absolute; content : ''; width : 1px; height : 94%;background: #8E8E8E;right : 0;bottom : 0; clip-path: inset(50% 0); transition : clip-path 1s .4s;}

.premium-list > li:nth-child(1)::before,
.premium-list > li:nth-child(2)::before,
.premium-list > li:nth-child(3)::before{position : absolute; content : ''; width : 85%; height : 1px;background: #8E8E8E;bottom : 0;left : 50%;transform: translateX(-50%); clip-path: inset(0 50%); transition : clip-path 1s .4s;}

.active .premium-list > li::after,
.active .premium-list > li::before{clip-path: inset(0);}

.premium-list-inner{opacity: 0;transform: scale(1.2); transition : transform 1s .4s, opacity 1s .4s}

.active .premium-list-01 .premium-list-inner{opacity : 1;transform: scale(1); transition-delay: 1s;}
.active .premium-list-02 .premium-list-inner{opacity : 1;transform: scale(1); transition-delay: 1.2s;}
.active .premium-list-03 .premium-list-inner{opacity : 1;transform: scale(1); transition-delay: 1.4s;}
.active .premium-list-04 .premium-list-inner{opacity : 1;transform: scale(1); transition-delay: 1.6s;}
.active .premium-list-05 .premium-list-inner{opacity : 1;transform: scale(1); transition-delay: 1.8s;}
.active .premium-list-06 .premium-list-inner{opacity : 1;transform: scale(1); transition-delay: 2s;}


.premium-icon{margin-left : auto;margin-bottom: 12px;}

.premium-num{font-size: 18px; font-family: futura-pt;color : #8C624A; margin-bottom: 14px; font-weight: 500;}
.premium-list-01 .premium-num{}
.premium-list-02 .premium-num{color : #D2A47D}
.premium-list-03 .premium-num{color : #D2A47D}
.premium-list-04 .premium-num{color : #8C624A}
.premium-list-05 .premium-num{color : #8C624A}
.premium-list-06 .premium-num{color : #D2A47D}

.premium-list-title{font-size: 24px; font-weight: 500; color : #030303; margin-bottom: 19px;letter-spacing: -0.06em;}

.premium-list-desc{font-size: 16px; letter-spacing: -0.06em; color : #6E6E6E;}

.premium-rotate-btn{display: flex;align-items: center;justify-content: center;width : 166px;height : 166px;position : absolute; right : 0;bottom : 113px; transform: scale(0); transition : transform 1s;}
.active .premium-rotate-btn{transform: scale(1);transition : transform 1s 1s;}
.premium-rotate-btn::after{position : absolute;content: '';width : 100%;height : 100%; background: url(/assets/images/main/premium-rotate-text.png)no-repeat center / contain; animation : rotate-text 6s infinite linear}
.premium-rotate-btn > img{transition : transform .5s}
.premium-rotate-btn:hover > img{transform: translateX(10px);}

/**/
.main-section-location{overflow: hidden;}
.main-section-location .fp-tableCell{display: flex;align-items: center;justify-content: center;}
.location-bg{display: flex;align-items: center;justify-content: center; position : absolute;width : 100%;height : 100%;left : 0;top : 0;z-index: -1;}
.location-bg > img{width: 100%; height: 100%; object-fit: cover;object-position: center; transform: scale(1.2);transition : transform 2s;}
.fp-active .location-bg > img{transform: scale(1);transition : transform 3s;}

.location-title{font-family: futura-pt; font-size: 70px; color : #D1A47D; text-align: center; font-weight: 500; overflow: hidden;}
.location-title .char{transform: translateY(100%);}

.location-desc{font-size: 19px; letter-spacing: -0.04em; color : #F4F4F4; margin-bottom: 43px;text-align: center; transform: translateY(50px);opacity: 0;transition : transform 1s, opacity 1s;}
.fp-active .location-desc{transform: translateY(0);opacity: 1;transition : transform 1s .4s, opacity 1s .4s;}

.location-map{margin-bottom: 24px;clip-path: inset(0 50%); transition : clip-path 1s}
.fp-active .location-map{clip-path: inset(0);transition : clip-path 1s 1.5s}

.location-address-box{display: flex;align-items: center;justify-content: start;}
.location-address-box + .location-address-box{margin-top: 20px;}

.location-name{display: flex;justify-content: center;align-items: center; width : 100px;height : 13px; color : #D1A47D; letter-spacing: -0.033em; font-weight: 700;font-family: pretendard;font-size: 18px;position : relative; margin-right: 33px;}
.location-name::after{position : absolute; content : ''; width : 1px; height : 100%;background: #D1A47D;left : 0; clip-path: inset(50% 0); transition : clip-path 1s, left 1s;}
.location-name::before{position : absolute; content : ''; width : 1px; height : 100%;background: #D1A47D;left : 0; clip-path: inset(50% 0); transition : clip-path 1s, left 1s;}

.fp-active .location-name::after{clip-path: inset(0);transition : clip-path 1s .4s, left 1s .4s;}
.fp-active .location-name::before{clip-path: inset(0);left: 100%; transition : clip-path 1s .4s, left 1s 1s;}

.location-name > span{opacity: 0;transform: translateY(100%);transition : opacity 1s, transform 1s;}
.fp-active .location-name > span{transform: translateY(0); opacity: 1;transition : opacity 1s 1.5s, transform 1s 1.5s;}

.location-address{font-size: 18px; letter-spacing: -0.033em; color : #C1C1C1; font-family: pretendard; font-weight: 500; opacity: 0; transition : opacity 1s;}
.fp-active .location-address{opacity: 1; transition-delay: 1.5s;}

.location-btn-box{display: flex;gap : 4px; margin-left: auto;transform: translateX(50px); opacity: 0;transition : opacity 1s, transform 1s;}
.fp-active .location-btn-box{transform: translateX(0); opacity: 1;transition : opacity 1s 1.5s, transform 1s 1.5s;}
.location-btn-box > a{transition : transform .5s;}
.location-btn-box > a:hover{transform: translateY(-5px);}