/*==========================================================
********************    VISUAL    *********************
============================================================*/

.visual-bg{width : 100%;height : 100%;position : absolute;left : 0;top : 0;}
.visual-bg > img{width: 100%;height : 100%;object-fit: cover;object-position: 50% 0%;}

.visual-inner{display: flex;align-items: center;justify-content: center;width : 100%;height : 100%;max-width: 1200px;margin : 0 auto; position : relative;}

.visual-tit-01{color : #fff;font-family: PT; font-size: 33px;position: absolute; font-weight: 300; letter-spacing: -0.05em;}
.visual-tit-01 b{font-weight: 700;}
.visual-tit-01 .char{transform: translateY(-50px);opacity: 0;}

.visual-logo{font-family: PT; font-size: 62px; font-weight: 700; color : #fff; position :absolute;}
.visual-logo .char{transform: translateY(-50px);opacity: 0;}

.visual-sign-box{position : absolute; font-family: AV; color : #fff; font-size: 81px;line-height: 1.2em;right : 50%; top : 50%; transform: translateX(50%) translateY(-50%); white-space: nowrap;}
.visual-sign-box > p{transform: rotate(-15deg) translateX(-200px) translateY(100px);opacity: 0;}
.visual-sign-box > p:nth-child(2){padding-left: 200px;}

.visual-tit-02{text-align: center;position : absolute;right : 0;}
.visual-tit-02 > p:nth-child(1){font-size: 33px; color : #fff; font-family: PT; letter-spacing: -0.05em;}
.visual-tit-02 > p:nth-child(2){font-family: PT; font-size: 62px; font-weight: 700; color : #003149;}

.visual-tit-02 .char{opacity: 0; transform: translateY(-50px);}

.visual-banner{display: flex;flex-direction: column;gap : 10px; position : absolute;right : 45px;z-index: 1;top :175px; transform: translateX(100px);opacity: 0;transition : transform 1.2s, opacity 1.2s;}
.visual-banner.on{transform: translateX(0); opacity: 1;}

/*======================================================
********************    PREMIUM    *********************
=======================================================*/

.premium-bg{position : absolute;width: 100%;height : 100%; left : 0;top : 0;z-index: -1;}
.premium-bg > img{width : 100%;height : 100%;object-fit: cover; object-position: center;}

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

.premium-inner{display: flex; width : 100%;max-width: 1580px;height : 100%;}
.premium-inner > div{display: flex;align-items: center;justify-content: center;flex-direction: column; width : 50%;}

.premium-img-box{position : relative;z-index: 1;}
.premium-img-box > img:first-child{clip-path: inset(50%);transition : clip-path 1s;}
.active .swiper-slide-active .premium-img-box > img:first-child{clip-path: inset(0%); transition-delay: .4s;}

.premium-img-box::after{position : absolute;content: ''; width : 100%;height : 100%;left : -50px;top : -50px;z-index: -1;opacity: 0; transform: translateX(50px) translateY(50px); transition : transform 1s, opacity 1s;}
.premium-img-box.right::after{left : auto;top : -50px; right : -50px;transform: translateX(-50px) translateY(50px)}

.premium-slide-01 .premium-img-box::after{background: url(/assets/images/main/premium-01.jpg)no-repeat center / cover; }
.premium-slide-02 .premium-img-box::after{background: url(/assets/images/main/premium-02.jpg)no-repeat center / cover; }
.premium-slide-03 .premium-img-box::after{background: url(/assets/images/main/premium-03.jpg)no-repeat center / cover; }
.premium-slide-04 .premium-img-box::after{background: url(/assets/images/main/premium-04.jpg)no-repeat center / cover; }
.premium-slide-05 .premium-img-box::after{background: url(/assets/images/main/premium-05.jpg)no-repeat center / cover; }

.active .swiper-slide-active .premium-img-box::after{transform: translateX(0) translateY(0);opacity: 0.5;transition : opacity 1.2s, transform 1s 1.2s}

.premium-num{position : absolute;writing-mode: vertical-lr;white-space: nowrap; font-family: Marcellus; font-size: 50px;left : 100%; bottom : 0; transform: translateY(-100px);opacity: 0; transition : transform 1s, opacity 1s;}
.right .premium-num{left : auto; right : 100%; writing-mode:sideways-lr;transform: translateY(100px);}
.active .swiper-slide-active .premium-num{opacity: 1; transform: translateY(0); transition-delay: .4s;}

.premium-obj{position : absolute; opacity: 0; transition : opacity 1s .4s;}
.active .swiper-slide-active .premium-obj{opacity: 1; transition-delay: 1.2s;}

.premium-slide-01 .premium-obj{top : 87%;left : 40%;}
.premium-slide-02 .premium-obj{top : 65%;left : -10%;}
.premium-slide-03 .premium-obj{bottom: -30%;left : 10%;}
.premium-slide-04 .premium-obj{bottom: -14%;left : -5%;}
.premium-slide-05 .premium-obj{bottom: -14%;left : 10%;}

.premium-con{display: flex;flex-direction: column;align-items: start; padding-top: 80px;}

.premium-sign{font-family: AV; font-size: 80px; color : #153043; line-height: 1em; margin-bottom: 25px; transform: translateX(-100px); opacity: 0; transition : transform 1s .4s, opacity 1s .4s;}
.active .swiper-slide-active .premium-sign{transform: translateX(0); opacity: 1; transition-delay: 1.2s;}

.premium-con-tit{font-size: 30px; font-family: PT; letter-spacing: -0.025em; color : #2f5671; font-weight: 300; margin-bottom: 25px; transform: translateX(-100px); opacity: 0; transition : transform 1s .4s, opacity 1s .4s;}
.active .swiper-slide-active .premium-con-tit{transform: translateX(0); opacity: 1; transition-delay: 1.3s;}

.premium-con-tit b{font-weight: 700;}

.premium-list{font-family: PT; font-size: 19px; letter-spacing: -0.025em; font-weight: 300; margin-bottom: 72px; transform: translateX(-100px); opacity: 0; transition : transform 1s .4s, opacity 1s .4s;}
.active .swiper-slide-active .premium-list{transform: translateX(0); opacity: 1; transition-delay: 1.4s;}

.premium-con-img{position : relative; transform: translateY(100px); opacity: 0; transition : transform 1s .4s, opacity 1s .4s;}
.active .swiper-slide-active .premium-con-img{transform: translateY(0); opacity: 1; transition-delay: .4s;}

.premium-img-cut{position : absolute; font-size: 15px; color : #fff; font-family: PT; letter-spacing: -0.025em; left : 20px; bottom : 10px; font-weight: 300;}
.dark.premium-img-cut{color : #565656}
.right.premium-img-cut{left : auto; right : 15px;}

/*======================================================
********************    COMMUNITY    *********************
=======================================================*/

.main-section-community{overflow: hidden;}
.community-slide{display: flex;justify-content: center; width : 100%;height : 100%;position : absolute;left : 0;top : 0; transform: scale(1.25); transition : transform 1s .4s;}
.active .community-slide{transform: scale(1);transition : transform 3s}
.community-slide .swiper-slide{overflow: hidden;}
.community-bg{width : 100%;height : 100%; filter: brightness(0.5);}

.community-sign-box{position : absolute;width : 100%;max-width: 1580px;z-index: 10; top : 175px;}
.community-sign{display: block; font-family: AV; font-size: 80px;color : #58afe0; transform: translateX(-100px);opacity: 0; transition : transform 1s .4s, opacity 1s .4s;}

.active .community-sign{transform: translateX(0);opacity: 1;}

.community-info{font-size: 13px;color : #fff;position : absolute;left : 30px;bottom :35px;z-index: 1; font-family: PT; font-weight: 300;opacity: 0; transition : opacity 1s .4s;}
.active .community-info{opacity: 1; transition-delay: 1.2s;}

.community-right{display: flex;flex-direction: column;justify-content: center; position : absolute;z-index: 1;padding: 0 32px;width : 428px;left : 50%;height : 100%; top : 0;background: rgba(0,0,0,0.5); padding-top: 100px;}

.community-tit{position : absolute; color : #fff; font-size: 50px; font-family: Marcellus; writing-mode: vertical-lr; font-weight: 400;right : 100%;padding-right : 40px;line-height: 1em;transform: translateY(100px);opacity: 0; transition : transform 1s .4s, opacity 1s .4s;}
.active .community-tit{transform: translateX(0);opacity: 1;}

.community-con-tit{color : #fff; font-family: "sandoll-myeongjoneo1", sans-serif; font-size: 35px; font-weight: 300; margin-bottom: 33px;padding-left: 15px; transform: translateX(-100px);opacity: 0; transition: transform 1s .4s, opacity 1s .4s}
.active .community-con-tit{transform: translateX(0); opacity: 1;}
.community-con-tit b{font-weight: 500;}

.community-con-desc{font-size: 18px; letter-spacing: -0.025em; font-family: PT; font-weight: 300; color : #fff; margin-bottom: 116px;padding-left: 15px;transform: translateX(-100px);opacity: 0; transition: transform 1s .4s, opacity 1s .4s; white-space : nowrap;}
.active .community-con-desc{transform: translateX(0); opacity: 1; transition-delay: 0.5s;}

.community-small-slide{width : 100%;height : 245px; clip-path: inset(0% -10000% 0% 0%); margin-bottom: 40px;opacity: 0; transition : opacity 1s .4s;}
.active .community-small-slide{opacity: 1;}

.community-small-slide .swiper-slide > img{width : 100%;height : 100%;object-fit: cover; object-position: center; filter: grayscale(1); transition : filter 1s;}
.community-small-slide .swiper-slide-active > img{filter:grayscale(0);}

.community-navigation{display: flex; gap : 8px; transform: translateY(100px);opacity: 0; transition : opacity 1s .4s, transform 1s .4s}
.active .community-navigation{transform: translateY(0);opacity: 1;}
.community-navigation > div{display: flex;align-items: center;justify-content: center; width : 28px;height : 28px; border : 1px solid #fff;position : relative; cursor : pointer}
.community-navigation > div::after{position : absolute; content: '';width : 8px;height : 8px;border-top: 1px solid #fff; border-right : 1px solid #fff;}

.community-navigation > div.swiper-button-disabled{opacity: 0.5; pointer-events: none;}

.community-prev{padding-left: 4px;}
.community-next{padding-right: 4px;}
.community-prev::after{transform: rotate(-135deg);}
.community-next::after{transform: rotate(45deg);}
/*==========================================================
********************    LANDSCAPING    *********************
============================================================*/

.main-section-land{overflow: hidden;}

.land-slide{width : 100%;height : 100%;}

.land-inner{display: flex;width : 100%;height : 100%;position : absolute;left : 0;top : 0; width : 100%;height : 100%;transition : transform 1.4s;}
.land-inner > article{flex-shrink: 0;}
.type2 .land-inner,
.type3 .land-inner{transform: translateX(-100%);}

.land-01{width : 100%;height : 100%;position : relative;}
.land-bg-01{position : absolute;left : 0;top : 0;z-index: -1;}
.land-bg-01 > img{width : 100%;height : 100%;object-fit: cover; object-position: center;}
.land-01-inner{display: flex;flex-direction: column;justify-content: end; width : 100%; max-width: 1580px; height : 100%; margin : 0 auto; padding-left: 36px;padding-bottom: 145px; color : #fff; transform: translateX(-150px);opacity: 0; transition : transform 1.4s, opacity 1.4s;}
.active .land-01-inner{transform: translateX(0); opacity: 1; transition-delay: .4s;}

.land-sign{font-size: 80px; font-family: AV; color : #58afe0}
.land-tit{font-size: 60px; font-family: Marcellus; font-weight: 400;margin-bottom: 36px;}

.land-sub-tit{font-family: "sandoll-myeongjoneo1", sans-serif; font-weight: 300; font-size: 30px; margin-bottom: 22px;letter-spacing: -0.025em;}
.land-sub-tit b{font-weight: 500;}

.land-01-desc{font-family: PT; font-weight: 300;letter-spacing: -0.025em;}

.land-info{position : absolute; font-family: PT; font-size: 13px; font-weight: 300;right : 80px; bottom : 56px; color : #fff; letter-spacing: -0.06em;}

.land-02{position : relative;width : 100%;height : 100%;}

.land-img-box{position : relative; width : 66%;height : 100%;transition : transform 1s, left 1s, opacity 1s;position : absolute;top : 0;left : 100%;transform: translateX(-100%);opacity: 0;}

.type2 .land-img-box,
.type3 .land-img-box{opacity: 1;}
.type3 .land-img-box{left : 0;transform: translateX(0);}

.land-img-box > img{width : 100%;height : 100%;object-fit: cover; object-position: center;transition : opacity 1s;}
.land-img-box > img:not(:first-child){position : absolute;left : 0;top : 0;opacity: 0;}
.type3 .land-img-box > img:not(:first-child){opacity: 1;}

.land-02-con{display: flex;flex-direction: column;align-items: end;justify-content: space-between; width : 34%;height : 100%;padding-top: 160px;padding-right: 80px;position: relative;z-index: 1; padding-bottom: 150px;padding-left: 100px;}
.land-02-con-02{padding-left: 56px; padding-right: 170px;}

.land-02-tit{writing-mode: vertical-rl; font-family: Marcellus; font-size: 60px;font-weight: 400; line-height: 1em; transform: translateY(-100px);opacity: 0; transition : transform 1s, opacity 1s;}

.land-02-con-02{position : absolute;right : 0;top: 0;}

.land-02-desc{display: flex;align-items: end; font-size: 22px; font-family: PT; font-weight: 400; color : #002d48; gap : 21px; letter-spacing: -0.025em;align-self: start;transform: translateY(100px);opacity: 0; transition : transform 1s, opacity 1s;}

.type2 .land-02-con-01 .land-02-tit,
.type3 .land-02-con-02 .land-02-tit,
.type2 .land-02-con-01 .land-02-desc,
.type3 .land-02-con-02 .land-02-desc{transform: translateY(0); opacity: 1; transition-delay: 0.8s;}


/*==========================================================
********************    LOCATION    *********************
============================================================*/


.location-bg{position : absolute;left : 0;top : 0;width : 100%;height : 100%; overflow: hidden;z-index: -1;}
.location-bg > img{width: 100%; height: 100%; object-fit: cover; object-position: center;}

.location-inner{display: flex;justify-content: space-between; width : 100%;max-width: 960px;margin : 0 auto;}

.location-left{display: flex;flex-direction: column;flex : 1; align-items: center; justify-content: center; transform: translateY(100px);opacity : 0; transition : transform 1s .4s, opacity 1s .4s;}
.location-tit{font-family: Marcellus; font-weight: 400; font-size: 50px; margin-bottom: 24px; line-height: 1em; color : #002d48;}
.location-logo{margin-bottom: 60px;}

.location-address{display: flex; font-family: NS;font-weight: 400;font-size: 20px; margin-bottom: 20px; color : #00293f; line-height: 1em;}
.location-address > span{font-weight: 700;padding : 0 6px; margin-right: 6px;border-left : 2px solid #00293f; border-right: 2px solid #00293f;}
.location-btn-box{display: flex;}
.location-btn-box + .location-address{margin-top: 40px;}

.location-btn-box > a{transition : transform .5s;}
.location-btn-box > a:hover{transform : translateY(-5px)}

.location-map{transform: translateY(-100px);opacity : 0; transition : transform 1s .4s, opacity 1s .4s;}

.fp-active .location-left,
.fp-active .location-map{transform: translateY(0);opacity: 1;}