.cursor{width : 80px;height : 80px; display: flex;align-items: center;justify-content: center; white-space: nowrap; position : fixed; z-index: 1200;font-family: futura-pt; letter-spacing: 0.15em; background: #353F49;color : #C9C9C9; border-radius: 50%; font-size: 14px;transform: translateX(-50%) translateY(-50%); pointer-events: none;transition : transform .5s;}
.cursor::after{position :absolute; content : ''; width : 100%;height : 100%; background: #353f49; z-index: -1;animation : cursor 1.2s infinite; border-radius: 50%;}
@keyframes cursor {
    100%{transform: scale(1.4); opacity: 0;}
}
.cursor.hide{transform: translateX(-50%) translateY(-50%) scale(0);}

/**/

.visual-slide{width : 100%;height : 100%;}
.visual-slide .swiper-wrapper{transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);}
.visual-slide .swiper-slide{display: flex; overflow: hidden;}
.visual-slide-01{justify-content: end;}
.visual-slide-02{justify-content: start;}
.visual-bg{height : 100%; position : absolute; left : 0;top : 0;}
.visual-bg-img{height : 100%;width :auto; object-fit: contain; transform: scale(1.4); transition : transform 3s .4s;}
.on .swiper-slide-active .visual-bg-img{transform: scale(1); transition : transform 3s;}

.visual-bg-02{display: flex;justify-content: end; left : auto; right : 0;}

.visual-leaf{position : absolute; transition : 1.5s .4s; opacity: 0; transform: scale(1.2);}
.visual-obj{position : absolute; transition : 1.5s .4s; opacity: 0;}

.visual-bg-01 .visual-obj{bottom : 16px; right : 5%; width : 35.122%; transform: translateX(200px);}
.visual-bg-02 .visual-obj{bottom : 0; left : 50.1971%; /* width : 21.6196%;  */ width : 13%;transform: translateX(200px);}

.on .swiper-slide-active .visual-obj{opacity: 1; transform: translateX(0); transition-delay: 1s;}

.visual-bg-01 .visual-leaf{top : 50px; right : 5%;}
.visual-bg-02 .visual-leaf{top : 50px; left : -7%;}

.on .swiper-slide-active .visual-leaf{opacity: 1; transform: scale(1); transition-delay: 1s;}

.visual-inner{display: flex; flex-direction: column; align-items: center; justify-content: center; width : 720px; text-align: center;}
.visual-slide-01 .visual-inner{margin-left: auto;}

.visual-tit{margin-bottom: 50px; font-family: NS; font-weight: 400; font-size: 31px; letter-spacing: -0.04em;}
.visual-tit b{font-weight: 700;}
.visual-tit .color{color : #6AAAC4;}

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

.visual-desc-01{writing-mode: vertical-lr; font-family: NM; font-size: 20px; color : #888; margin-bottom : 30px;}
.visual-desc-01 .char{opacity: 0;}

.visual-line{width : 1px;height : 60px; background: #D0D0D0; margin-bottom: 32px; clip-path: inset(0 0 100%); transition : clip-path .7s;}
.on .swiper-slide-active .visual-line{clip-path: inset(0); transition-delay: 1s;}

.visual-desc-02{font-size: 16px; letter-spacing: -0.04em; font-family: Noto Sans KR; color : #171717; transform: translateY(100px); opacity: 0; transition : opacity 1.2s .4s, transform 1.2s .4s;}
.on .swiper-slide-active .visual-desc-02{transform: translateY(0); opacity: 1; transition-delay: 1.2s;}

.visual-open{display: flex;flex-direction: column;align-items: center; justify-content: center; width : 128px; height : 128px; color : #6AAAC4; position: absolute; right : 80px; bottom : 50px; font-size: 19px; font-weight: 700; font-family: PT; letter-spacing: -0.04em;z-index: 1;}
.visual-open::after{position : absolute; content : ''; width : 100%;height : 100%; background: url(/assets/images/main/visual-rotate-text.png)no-repeat center / contain; animation : rotate-text 6s infinite linear; transition : filter .5s;}
@keyframes rotate-text {
    0%{transform: rotate(0);}
    100%{transform: rotate(360deg);}
}
.type2 .visual-open::after{filter: invert(1);}
/**/
.brand-slide{width : 100%;height : 100%; position : relative;}
.brand-slide .swiper-slide{opacity: 0 !important;}
.brand-slide .swiper-slide-active{opacity: 1 !important;}
.brand-bg{width : 100%;height : 100%; position : absolute; left : 0;top : 0;z-index: -1; overflow: hidden;}
.brand-bg > img{width : 100%;height : 100%;object-fit: cover; object-position: center;}

.brand-bg-img{transform: scale(1.5); transition : transform 3s;}
.type2 .brand-bg-img{transform: scale(1);}
.brand-bg-dim{z-index: 1;position : absolute;left : 0;top : 0; transform: scale(15); transition : transform 1.2s ease-in-out; transform: scale(1);}

.type2 .brand-bg-dim{transform: scale(10);}

.brand-inner{width : 100%; max-width: 1560px; margin : 0 auto; height : 100%;}

.brand-slide-01 .brand-inner{display: flex;flex-direction: column; justify-content: center; padding-top: 100px;}
.brand-sub-tit{font-family: Athena; font-size: 52px; color : #353F49; font-weight: 400; letter-spacing: 0.3em;}

.brand-sub-tit .char{opacity: 0;}

.brand-tit-box{padding-right: 90px; text-align: right;}
.brand-tit{font-family: Athena; font-size: 192px; line-height: 1em; color : #E6E6E7; font-weight: 400; perspective: 1000px;}

.brand-tit .word{perspective: 1000px;}
.brand-tit .char{opacity: 0; transform: rotateY(90deg);}

.brand-desc{font-size: 22px; font-family: PT; color : #ACACAC; font-weight: 500; opacity: 0; transform: translateY(100px); transition : opacity 1s .4s, transform 1s .4s;}
.active .swiper-slide-active .brand-desc{opacity: 1; transform: translateY(0);transition : opacity 1s 1s, transform 1s 1s;}

.brand-slide-02 .brand-inner{display: flex;flex-direction: column;align-items: center; justify-content: center;}

.brand-con-tit{font-family: Athena; font-size: 52px; font-weight: 400; color : #353F49; margin-bottom: 21px;}
.brand-con-tit .char{opacity: 0; transform: translateY(-50px);}
.brand-con-tit-kor{font-size: 22px; font-family: PT; margin-bottom: 27px; color : #353F49; margin-bottom: 27px; font-weight: 500; transform: translateY(50px); opacity: 0; transition : transform 1s, opacity 1s;}
.active .swiper-slide-active .brand-con-tit-kor{transform: translateY(0); opacity: 1;}

.brand-line{width : 1px; height : 85px; background: #C9C9C9; margin-bottom: 27px; clip-path: inset(0 0 100%); transition : clip-path 1s;}
.active .swiper-slide-active .brand-line{clip-path: inset(0); transition-delay: .5s;}

.brand-con-desc-01{font-family: PT; font-size: 16px; font-weight: 500; line-height: 1.5em; margin-bottom: 70px; color : #606060; text-align: center; transform: translateY(50px); opacity: 0; transition : transform 1s, opacity 1s;}
.active .swiper-slide-active .brand-con-desc-01{transform: translateY(0); opacity: 1; transition-delay: 1s;}

.brand-con-desc-02{font-family: NM; font-weight: 400; font-size: 25px; transform: scale(1.4); opacity: 0; transition : transform 1s, opacity 1s;}
.active .swiper-slide-active .brand-con-desc-02{transform: scale(1); opacity: 1; transition-delay: 1.5s;}

/**/
.premium-slide{width : 100%;height : 100%;}
.premium-slide .swiper-wrapper{transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);}
.premium-slide .swiper-slide{overflow: hidden;}
.premium-bg{position : absolute; left : 0;top : 0;width : 100%;height : 100%; overflow: hidden; transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);}
.premium-bg-img{width : 100%;height : 100%; object-fit: cover; object-position: center; transform: scale(1.4); transition : transform 0s 1.4s}
.active .swiper-slide-active .premium-bg-img{transform: scale(1); transition : transform 3s;}

.premium-bg.grid{display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 1fr);height : 100%;}

.premium-bg.grid > div{transform: scale(0.6); min-height:0; opacity: 0; clip-path : inset(0 100% 0 0); transition: clip-path 0s 1.4s, transform 0s 1.4s, opacity 0s 1.4s; overflow: hidden;}

.active .swiper-slide-active .premium-bg.grid > div{transform: scale(1); clip-path: inset(0); opacity: 1; transition: clip-path 1s calc(var(--i) * .1s + .4s), opacity 1s calc(var(--i) * .1s + .4s), transform 1s 1.8s;}

.premium-bg.grid > div > img{width : 100%; height : 100%;object-fit: cover; object-position: center; transform: scale(1.8); transition : transform 0s 1.4s; position : absolute; left : 0;top : 0;}
.active .swiper-slide-active .premium-bg.grid > div > img{transform: scale(1); transition : transform 2s;}
.premium-img-01{grid-row: span 2; padding-top: 230px;}
.premium-img-02{padding-top: 120px;}
.premium-img-03{grid-column: span 2; padding-top: 120px;}
.premium-img-04{grid-column: span 2; padding-top: 68px;}
.premium-img-05{padding-top: 68px;}

.premium-tit{font-size: 96px; font-family: Athena; color : #fff; font-weight: 400;position : absolute; bottom :0; line-height: 0.7em; left : 30px;}

.premium-tit .word{perspective: 1000px;}
.premium-tit .char{transform: rotateY(90deg); opacity: 0;transition : transform 1s, opacity 1s;}
.active .swiper-slide-active .premium-tit .char{opacity: 1;transform: rotate(0); opacity: 1;}
.active .swiper-slide-active .premium-tit .char:nth-child(1){transition-delay: 1s;}
.active .swiper-slide-active .premium-tit .char:nth-child(2){transition-delay: 1.1s;}
.active .swiper-slide-active .premium-tit .char:nth-child(3){transition-delay: 1.2s;}
.active .swiper-slide-active .premium-tit .char:nth-child(4){transition-delay: 1.3s;}
.active .swiper-slide-active .premium-tit .char:nth-child(5){transition-delay: 1.4s;}
.active .swiper-slide-active .premium-tit .char:nth-child(6){transition-delay: 1.5s;}
.active .swiper-slide-active .premium-tit .char:nth-child(7){transition-delay: 1.6s;}
.active .swiper-slide-active .premium-tit .char:nth-child(8){transition-delay: 1.7s;}

.premium-inner{display: flex;flex-direction: column;justify-content: end; align-items: end; position : relative; width : 100%; max-width: 1600px; margin : 0 auto; height : 100%; padding-bottom: 120px;}

.premium-sub-tit-box{color : #1D1D1D; letter-spacing: -0.06em; padding-left: 38px; position :relative;}
.premium-sub-tit-box::after{position : absolute; content : ''; width : 1px;height : 100%; background: #2B2B2B; left : 0; top : 0; clip-path: inset(0 0 100%); transition : clip-path 1s;}
.active .swiper-slide-active .premium-sub-tit-box::after{clip-path: inset(0); transition-delay: 1s;}
.premium-sub-tit-desc{font-size: 17px; font-family: Noto Sans KR; margin-bottom: 33px; line-height: 1.5em; transform: translateX(50px); opacity: 0; transition : transform 1s, opacity 1s;}
.premium-sub-tit{font-family: NM; font-size: 24px; font-weight: 400; line-height: 1.5em;transform: translateX(50px); opacity: 0; transition : transform 1s, opacity 1s;}

.active .swiper-slide-active .premium-sub-tit-desc,
.active .swiper-slide-active .premium-sub-tit{opacity: 1; transform: translateX(0); transition-delay: 1s;}

.premium-con{position : relative; text-align: center; z-index: 1; white-space: nowrap;}
.premium-con-tit{font-size: 21px; letter-spacing: -0.06em; font-family: Noto Sans KR; font-weight: 400; line-height: 1.5em; margin-bottom: 27px;}
.premium-con-tit b{font-weight: 500;}

.premium-con-tit-eng{font-size: 17px; font-family: Athena; letter-spacing: 0.6em; font-weight: 400; letter-spacing: 1.5em; padding-left: 1.5em; opacity: 0; transition : opacity 0s 1.4s, padding-left 0s 1.4s, letter-spacing 0s 1.4s; color : #353F49;}
.active .swiper-slide-active .premium-con-tit-eng{opacity: 1; letter-spacing: 0.6em; padding-left: 0.6em; transition : opacity 1.2s .4s, letter-spacing 1.2s 1.6s, padding-left 1.2s 1.6s;}
.active .swiper-slide-active.premium-slide-04 .premium-con-tit-eng{transition : opacity 1s 1.8s, letter-spacing 1.2s 2.8s, padding-left 1.2s 2.8s;}

.premium-slide-02{display: flex;justify-content: center;align-items: center; padding-bottom: 200px;}
.premium-slide-03{display: flex;justify-content: center;align-items: center; padding-bottom: 200px;}

/**/

.location-bg{position : absolute;left : 0;top : 0; overflow: hidden;z-index: -1; overflow: hidden;}
.location-bg > img{width : 100%;height : 100%; object-fit: cover; object-position: center; transform: scale(1.4); transition : transform 0s 1.2s;}
.fp-active .location-bg > img{transform: scale(1); transition : transform 4s;}

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

.location-inner{display: flex;flex-direction: column;align-items: center;padding-top: 50px;}

.location-tit-box{display: flex;flex-direction: column;align-items: center; position : relative; margin-bottom: 48px;}

.location-tit{font-family: Athena; font-size: 43px; margin-bottom: 12px; line-height: 1em;opacity: 0; letter-spacing: 1.5em;transition : opacity 1s .4s, letter-spacing 1s .4s; color : #393F45; font-weight: 400;}

.fp-active .location-tit{opacity: 1; letter-spacing: 0.3em; transition : opacity 1s .4s, letter-spacing 1s 1.3s;}

.location-desc{font-family: PT; font-size: 16px; letter-spacing: -0.04em;opacity: 0; transform: translateY(100px);transition : opacity 1s .4s, transform 1s .4s; color : #2C2C2C;}
.location-desc b{color : #353F49; font-weight: 700;}
.fp-active .location-desc{opacity: 1; transform: translateY(0px);transition : opacity 1s 1.3s, transform 1s 1.3s;}

.location-container{display: flex;gap : 30px;}

.location-map{margin-bottom: 40px; position : relative; opacity: 0; transition : opacity 1s;}

.fp-active .location-map{opacity: 1; transition-delay: 1.3s;}

.location-address-box{display: flex;align-items: end;justify-content: start; width : 100%;}
.location-address-box + .location-address-box{margin-top: 30px;}

.location-name{position : relative; margin-right: 33px; opacity: 0; transition : opacity 1s;}
.fp-active .location-name{transform: translateX(0); opacity: 1;transition : opacity 1s 1.5s, transform 1s 1.3s;}

.location-address-tit{color : #353F49;font-size: 25px; font-family: PT; letter-spacing: -0.04em; font-weight: 500; margin-bottom: 9px;}
.location-address-tit .color{color : #447D95;}

.location-address{font-size: 16px; letter-spacing: -0.04em; color : #1F1F1F; font-family: PT; font-weight: 500; margin-top: 8px;}

.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.3s;}
.location-btn-box > a{transition : transform .5s;}
.location-btn-box > a:hover{transform: translateY(-5px);}

.location-sign{font-family: AV; font-size: 51px; color : #2C2C2C; position : absolute; right : 80px; bottom : 80px; transform: rotate(-15deg) translateY(100px) translateX(-200px); opacity: 0; transition : transform 1s, opacity 1s;}
.fp-active .location-sign{transform: rotate(-15deg); opacity: 1; transition-delay: 1s;}