@charset "utf-8";

/* 공통 */
section, footer{position: relative; width: 1920px; left: 50%; transform: translateX(-50%); z-index: 1;}
.line{background: url(../image/line.jpg) center / cover; width: 100%; height: 69px; animation: line_ani 50s 0s infinite linear; position: absolute; z-index: 1;}
@keyframes line_ani {0%{background: url(../image/line.jpg) 0 0 fixed;} 100%{ background: url(../image/line.jpg)  -4000px 0 fixed;}}
#particles-js{position: fixed; top: 0; left:0; width: 100%; height: 100%; z-index: 1;}

/* 메인01 */
#main01{background: url(../image/bg_main01.jpg) no-repeat center / cover; height: 960px; display: flex; justify-content: center; align-items: center;}
#main01 .title_wrap .date{display: flex; letter-spacing: -0.2em; justify-content: center; margin: 25px 0 5px;}
#main01 .title_wrap .date h2{font-weight: bold; font-size: 70px; position: relative;}
#main01 .title_wrap .date h2+h2{margin-left: 25px;}
#main01 .title_wrap .date h2 strong{color: #753bf7; font-weight: bold;}
#main01 .title_wrap .date h2 span{font-size: 22px; letter-spacing: -0.04em; position: absolute; top: 15px; font-weight: 600;}
#main01 .title_wrap .info_wrap{display: flex; align-items: center; justify-content: center; gap:35px;} 
#main01 .title_wrap .info_wrap .info{display: flex; align-items: center; gap: 5px;}
#main01 .title_wrap .info_wrap .info p{font-size: 18px; font-weight: 500;} 
#main01 .title_wrap .info_wrap .info h3{font-size: 23px; font-weight: bold;} 
#main01 .btn_wrap{display: flex; justify-content: center; gap: 10px; margin-top: 35px;}
#main01 .btn_wrap button{display: flex; align-items: center; gap: 5px; color: #fff; font-size: 23px; font-weight: 500; padding: 20px 25px; border-radius: 12px; cursor: pointer;
font-family: 'Wanted Sans Variable', sans-serif;}
#main01 .btn_wrap button:nth-child(1){background: #753bf7;}
#main01 .btn_wrap button:nth-child(1) .icon{width: 33px;}
#main01 .btn_wrap button:nth-child(1) .icon img{width: 100%; height: 100%; object-fit: cover;}
#main01 .btn_wrap button:nth-child(2){background: #2e2e2e;}
#main01 .btn_wrap button:nth-child(2) .icon{width: 19px;}
#main01 .btn_wrap button:nth-child(2) .icon img{width: 100%; height: 100%; object-fit: cover;}
 
/* 이벤트 */
#event{background: url(../image/bg_event.jpg) no-repeat center / cover; height: 905px; overflow: hidden; z-index: 0;}
#event .title{position: absolute; left: 570px; top: 110px;}
#event .obj{position: absolute; left: 50%; transform: translateX(-50%); bottom: -300px;}
#event .ctn01{mix-blend-mode: plus-lighter; position: absolute; top: 115px; left: 823px; animation: sparkle 1.6s ease-in-out infinite;}
#event .ctn02{mix-blend-mode: plus-lighter; position: absolute; top: -165px; left: 333px;
animation: bokehDrift 10s ease-in-out infinite alternate, bokehGlow 5s ease-in-out infinite;}

@keyframes bokehDrift{ 
  0%{transform: translate3d(0,0,0)         scale(1);}
  30%{transform: translate3d(-16px,20px,0)  scale(1.02);}
  60%{transform: translate3d(14px,-14px,0)  scale(1.04);}
  100%{transform: translate3d(-6px,-24px,0)  scale(1.01);}
}
@keyframes bokehGlow{
  0%,100%{opacity: .88;}
  50%{opacity: 1;}
}

/* 메인02 */ 
#main02{background: url(../image/bg_main02.jpg) no-repeat center / cover; height: 916px;}
#main02 .ctn_wrap .ctn01{position: absolute; top: 95px; left: 50%; margin-left: -814px; filter: drop-shadow(12px 12px 16px rgba(0, 0, 0, 0.15));}
#main02 .ctn_wrap .ctn02{position: absolute; top: 219px; right:50%; margin-right: -830px; filter: drop-shadow(-12px 12px 16px rgba(0, 0, 0, 0.15));}
#main02 .obj_wrap .obj01{position: absolute; top: 433px; left: 0;}
#main02 .obj_wrap .obj02{position: absolute; top: 0; right: 0;}

/* 메인03 */
#main03{background: url(../image/bg_main03.jpg) no-repeat center / cover; height: 760px;}
#main03 .ctn{position: absolute; top: 50%; transform: translateY(-50%); left: 50%; margin-left: -612px;}
 
/* 메인04 */
#main04{background: url(../image/bg_main04.jpg) no-repeat center / cover; height: 668px;}  

/* 메인05 */
#main05{background: url(../image/bg_main05.jpg) no-repeat center / cover; height: 684px;}
#main05 .title_wrap{position: absolute; top: 35px; left: 50%; transform: translateX(-50%); overflow: hidden;}
#main05 .title_wrap h1{position: absolute; z-index: 1;}
#main05 .ctn{padding-top: 190px; text-align: center;}  

/* 메인06 */
#main06{background: #fff; height: 850px;} 
#main06 .title_wrap{display: flex; justify-content: center; align-items: center; gap: 65px; padding-top: 100px; margin-bottom: 65px;}
#main06 .title_wrap .title{position: relative;}
#main06 .title_wrap .title p{position: absolute; left: -10px; top: 85px; font-size: 156px; background-size: 200% 100%; 
background-image: linear-gradient(to right, #753bf7 50%, #2e2e2e 50%); background-position: right bottom; -webkit-background-clip: text;
background-clip: text; -webkit-text-fill-color: transparent; color: transparent; animation: colorWipe 2s ease forwards infinite;}

@keyframes colorWipe { 
    from {
        background-position: right bottom;
    } 
    to {
        background-position: left bottom; 
    }
}

#main06 .main06-swiper .swiper-wrapper{transition-timing-function: linear;}
#main06 .main06-swiper .swiper-wrapper .swiper-slide img{width: 100%;}
#main06 .line{bottom: 0;}
 
/* 플래너 */
#planner{padding: 150px 0; /* background: #f8f6fc; */ background: #fff;}
#planner h1{text-align: center; margin-bottom: 40px;} 
#planner .swiper{width: 1225px;}
#planner .swiper .swiper-wrapper .swiper-slide{border-radius: 36px; overflow: hidden; position: relative;}
#planner .swiper .swiper-wrapper .swiper-slide .img{width: 100%; height: 100%;}
#planner .swiper .swiper-wrapper .swiper-slide .detail{position: absolute; width: 100%; height: 100%; top: 0; display: flex; justify-content: center; align-items: center;
background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(10px); padding: 0 20px; box-sizing: border-box; opacity: 0; visibility: hidden;
transition: opacity .5s ease, visibility .5s ease;} 
#planner .swiper .swiper-wrapper .swiper-slide:hover .detail{opacity: 1; visibility: visible;}
#planner .swiper .swiper-wrapper .swiper-slide .detail .inner{color: #413e42;}
#planner .swiper .swiper-wrapper .swiper-slide .detail .inner h3{font-size: 28px; display: flex; align-items: center; gap: 5px;} 
#planner .swiper .swiper-wrapper .swiper-slide .detail .inner h3 span{font-size: 18px; opacity: 0.5;}
#planner .swiper .swiper-wrapper .swiper-slide .detail .inner .insta{display: flex; align-items: center; gap: 5px; font-size: 14px; margin: 15px 0 20px; font-weight: 600;}
#planner .swiper .swiper-wrapper .swiper-slide .detail .inner p{font-size: 16px; line-height: 1.5;}
#planner .btn{background: #2e2e2e; height: 40px; width: 50%; margin-top: 20px;
background-image: linear-gradient(135deg, #753bf7 50%, #2e2e2e 50%); background-size: 250% 250%;
background-position: 100% 100%; transition: background-position 0.7s ease;}
#planner .btn:hover{background-position: 0% 0%;}
#planner .btn a{font-size: 16px; color: #fff; text-decoration: none; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center;}

.swiper-arrow div{position: absolute; top: 525px; width: 48px; height: 48px; border-radius: 50%; background: #753bf7; cursor: pointer; transition: background 0.2s;}
.swiper-arrow div:hover{background: #6329e0;}
.swiper-arrow div::after{content: ''; position: absolute; top: 50%; left: 50%; width: 9px; height: 9px; border-top: 2px solid #fff; border-right: 2px solid #fff;}
.swiper-arrow .left{left: 280px;}
.swiper-arrow .left::after{transform: translate(-40%, -50%) rotate(-135deg);}
.swiper-arrow .right{right: 280px;}  
.swiper-arrow .right::after{transform: translate(-60%, -50%) rotate(45deg);}
.swiper-arrow div{background: #fff; border: 1.5px solid #e4dbfb;}
.swiper-arrow div:hover{background: #f6f2fe; border-color: #753bf7;}  
.swiper-arrow div::after{border-color: #753bf7;} 

/* 메인07 */ 
#main07{background: url(../image/bg_main07.jpg) no-repeat center / cover; height: 545px; z-index: 0;}
#main07 .obj{position: absolute; left: 1084px; top: 157px; mix-blend-mode: lighten; animation: sparkle 1.6s ease-in-out infinite;}

@keyframes sparkle {   
    0%, 100% {
        opacity: 0.9;
        transform: scale(0.9);
        filter: brightness(1);
    } 
    50% {
        opacity: 1;
        transform: scale(1.05);
        filter: brightness(1.3);
    }
}

/* 메인08 */
#main08{background: url(../image/bg_main08.jpg) no-repeat center / cover; height: 722px;}
#main08 .title{text-align: center; padding-top: 115px;}

/* 메인09 */
#main09{background: url(../image/bg_main09.jpg) no-repeat center / cover; height: 813px; text-align: center;}
#main09 .title{padding-top: 95px; margin-bottom: 30px;}

/* 메인10 */
#main10{background: url(../image/bg_main10.jpg) no-repeat top / auto #2e2e2e; text-align: center; padding: 100px 0;}
#main10 .title{padding: 0 0 0 170px;}
#main10 .tab{display: flex; justify-content: center; gap: 10px; padding: 35px 0; }
#main10 .tab li{background: #fff; display: flex; justify-content: center; align-items: center; height: 60px; font-size: 20px; font-weight: 600;
padding: 0 40px; border-radius: 50px; cursor: pointer;}
#main10 .tab li.on{background: #753bf7; color: #fff;}
#main10 .hall .hall-list{gap: 15px; row-gap: 25px; flex-wrap: wrap; width: 1250px; margin: 0 auto; display: none;}
#main10 .hall .hall-list.on{display: flex;}
#main10 .hall .hall-list li{width: calc(25% - 15px);}
#main10 .hall .hall-list li .img{width: 100%; height: 190px; border-radius: 24px; overflow: hidden;} 
#main10 .hall .hall-list li .img img{width: 100%;}	
#main10 .hall .hall-list li p{font-size: 18px; color: #fff; margin-top: 10px;}

/* 메인11 */
#main11{background: url(../image/bg_main11.jpg) no-repeat center / cover; height: 889px; text-align: center;}
#main11 .title{position: absolute; top: 175px; left: 1056px;}
#main11 .main11-swiper{top: 525px; overflow: visible;} 
#main11 .main11-swiper .swiper-wrapper{transition-timing-function: linear;}
#main11 .main11-swiper .swiper-wrapper .swiper-slide{border-radius: 24px; overflow: hidden; height: 270px; /* filter: drop-shadow(8px 8px 12px rgba(0, 0, 0, 0.3)); */}
#main11 .main11-swiper .swiper-wrapper .swiper-slide .img{width: 100%; height: 100%;}
#main11 .main11-swiper .swiper-wrapper .swiper-slide .img img{width: 100%; height: 100%;  object-fit: cover;}
#main11 .main11-swiper .swiper-wrapper .swiper-slide p{font-size: 18px; font-weight: 500; position: absolute; bottom: 0; z-index: 1;
background: rgba(0, 0, 0, 0.5); color: #fff; text-align: center; width: 100%; padding: 10px 0;}

/* 메인12 */  
#main12{background: url(../image/bg_main12.jpg) no-repeat center / cover; height: 951px; text-align: center;}
#main12 .ctn{padding-top: 442px;}

/* 메인13 */
#main13{background: #fff;}   
#main13 .visual{position: relative; overflow: hidden;}
#main13 .visual .title{position: absolute; top: 100px; left: 0; z-index: 11; text-align: center; width: 100%;}
#main13 .visual .main13-swiper img{animation: scale 7s linear alternate infinite;}

@keyframes scale  {
    0%{
        transform: scale(1); 
    }
    100% {
        transform: scale(1.1);
    }
}
 
#main13 .swiper-pagination{bottom: 35px;}
#main13 .swiper-pagination-bullet{width: 15px; height: 15px; background: #fff; opacity: 0.5; transition: 0.5s;}
#main13 .swiper-pagination-bullet-active{opacity: 1; width: 26px; opacity: 1; border-radius: 50px;}
#main13 .list{display: flex; gap: 25px; row-gap: 35px; flex-wrap: wrap; padding: 100px 0; width: 1280px; margin: 0 auto; position: relative; z-index: 11;}
#main13 .list li{width: calc(25% - 25px);}
#main13 .list li .img{border-radius: 24px; overflow: hidden;}
#main13 .list li .img img{width: 100%;}
#main13 .list li .text{display: flex; justify-content: space-between; margin-top: 10px;}
#main13 .list li .text h3{font-size: 24px;}
#main13 .list li .text h3 span{font-size: 12px; display: block; letter-spacing: 3px; margin-bottom: 3px;}
#main13 .list li .text .good{display: flex; align-items: center; gap: 5px;}
#main13 .list li .text .good .icon{cursor: pointer;}
#main13 .list li .text .good span{font-size: 16px; font-weight: 600;}

/* 메인14 */
#main14{background: #fff;}
#main14 .visual{background: url(../image/bg_main14.jpg) no-repeat top / cover; height: 949px; text-align: center;}
#main14 .title{padding-top: 100px; margin-bottom: 35px;}
#main14 .main14-swiper{overflow: visible;}
#main14 .main14-swiper .swiper-wrapper .swiper-slide .img img{width: 100%;}
#main14 .main14-swiper .swiper-wrapper .swiper-slide p{font-size: 18px; margin-top: 10px; color: #fff;}
#main14 .swiper-pagination{bottom: -50px;}
#main14 .swiper-pagination-bullet{width: 15px; height: 15px; background: #fff; opacity: 0.5; transition: 0.5s;}
#main14 .swiper-pagination-bullet-active{opacity: 1; width: 26px; opacity: 1; border-radius: 50px;}

#main14 .list{display: flex; gap: 25px; row-gap: 35px; flex-wrap: wrap; padding: 100px 0; width: 1280px; margin: 0 auto;}
#main14 .list li{width: calc(25% - 25px);}
#main14 .list li .img{border-radius: 24px; overflow: hidden;}
#main14 .list li .img img{width: 100%;}
#main14 .list li .text{display: flex; justify-content: space-between; margin-top: 10px;}
#main14 .list li .text h3{font-size: 24px;}
#main14 .list li .text h3 span{font-size: 12px; display: block; letter-spacing: 3px; margin-bottom: 3px;}
#main14 .list li .text .good{display: flex; align-items: center; gap: 5px;}
#main14 .list li .text .good .icon{cursor: pointer;}
#main14 .list li .text .good span{font-size: 16px; font-weight: 600;}

#main13 .list li, #main14 .list li{transition: opacity 0.15s ease; cursor: pointer; cursor: url('../image/good.png') 16 16, pointer;}
#main13 .list li, #main14 .list li { position: relative; overflow: visible;}

.heart-burst{position: absolute; pointer-events: none; font-size: 20px; color: #ff1744; text-shadow: 0 0 4px #ff1744, 0 0 2px #ff1744; opacity: 1; z-index: 999; animation: heartPop 0.8s ease-out forwards;}
@keyframes heartPop {
    0% {
        transform: translate(0, 0) scale(0.5);
        opacity: 1;
    }
    100% {
        transform: translate(var(--tx), var(--ty)) scale(1.2);
        opacity: 0;
    }
}

/* 메인15 */
#main15{background: url(../image/bg_main15.jpg) no-repeat center / cover; height: 1157px;}

/* 메인16 */ 
#main16{background: url(../image/bg_main16.jpg) no-repeat center / cover; height: 1954px; text-align: center;}
#main16 .title{padding-top: 130px; margin-bottom: 50px;}
#main16 .list li:nth-child(2){margin: 25px 0;}

/* 메인17 */
#main17{background: url(../image/bg_main17.jpg) no-repeat center / cover; height: 673px;}
#main17 h1{position: absolute; top: 140px; left: 300px;}
#main17 h2{position: absolute; right: 300px; top: 230px;}
#main17 .ctn{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}

/* 메인18 */
#main18{background: url(../image/bg_main18.jpg) no-repeat center / cover; height: 601px;}
#main18 .obj{position: absolute; bottom: 0; left: 1022px;}
#main18 .obj .btn{font-size: 20px; font-weight: 500; width: 226px; height: 58px; line-height: 58px; border-radius: 50px; color: #fff; position: absolute; left: 50%; 
transform: translateX(-50%); top: 435px; cursor: pointer; overflow: hidden; background-image: linear-gradient(135deg, #ed0000 50%, #2e2e2e 50%); background-size: 250% 250%;
background-position: 100% 100%; transition: background-position 0.7s ease;}
#main18 .obj .btn:hover{background-position: 0% 0%;}
#main18 .obj .btn i{margin-left: 5px;} 

/* 메인19 */
#main19{background: url(../image/bg_main19.jpg) no-repeat top / cover; height: 1375px; text-align: center;}
#main19 .title{padding-top: 165px; margin-bottom: 50px;}
#main19 .main19-swiper .swiper-wrapper{transition-timing-function: linear;}
#main19 .main19-swiper .swiper-wrapper .swiper-slide .img img{width: 100%;}
#main19 .main19-swiper .swiper-wrapper .swiper-slide .text{position: absolute; bottom: 0; z-index: 1; background: rgba(0, 0, 0, 0.5); color: #fff; text-align: center;
width: 100%; padding: 10px 25px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center;}
#main19 .main19-swiper .swiper-wrapper .swiper-slide .text p{font-size: 20px; font-weight: 600;}
#main19 .main19-swiper .swiper-wrapper .swiper-slide .text span{font-size: 15px;}
#main19 .ctn{margin-top: 150px;}

/* 메인20 */   
#main20 .inner{height: 899px; display: flex;}
#main20 .inner .con{width: 50%; height: 100%; position: relative;}
#main20 .inner .con .title{position: absolute; top: 50%; transform: translateY(-50%); left: 185px; z-index: 11;}
#main20 .inner .con .main20-swiper{width: 500px; height: 500px; border-radius: 500px; overflow: hidden; top: 50%; transform: translateY(-50%); left: 40px;}
#main20 .inner .left{background: url(../image/bg_main20_1.jpg) no-repeat center / cover;}
#main20 .inner .right{background: url(../image/bg_main20_2.jpg) no-repeat center / cover;}

/* 메인21 */
#main21{background: url(../image/bg_main21.jpg) no-repeat center / cover; height: 2263px; text-align: center;}
#main21 .title{padding-top: 860px; margin-bottom: 45px;}

/* 메인22 */
#main22{background: url(../image/bg_main22.jpg) no-repeat center / cover; height: 930px; text-align: center;}
#main22 .title{padding-top: 120px; margin-bottom: 35px;}
#main22 .map{width: 1200px; height: 540px; margin: 0 auto; position: relative; box-shadow: 24px 24px 38px rgba(0, 0, 0, 0.18);}
#main22 .map ul{display: flex; position: absolute; bottom: 0; width: 100%;}
#main22 .map ul li{width: 50%; color: #fff; padding: 20px 0; font-size: 24px; font-weight: 600;}
#main22 .map ul li i{margin-right: 5px; font-weight: 100;}
#main22 .map ul li:nth-child(1){background: #2e2e2e;}
#main22 .map ul li:nth-child(2){background: #753bf7;}
 
/* 메인23 */
#main23{display: flex; justify-content: center; align-items: center; gap: 80px; background: #f8f6fc; padding: 100px 0;} 

.db{width: 640px; background: #fff; border-radius: 16px; padding: 60px; box-sizing: border-box; box-shadow: 10px 10px 25px rgba(0,0,0,0.1);}
.db_list li{margin-bottom: 24px;}
.db_list h3{font-size: 17px; font-weight: 600; margin-bottom: 8px; color: #333;}
.db_list h3.required::after{content: "*"; color: #753bf7; margin-left: 2px;}
.db_list input[type="text"], .db_list input[type="tel"],
.db_list select, .db_list textarea
{width: 100%; height: 50px; padding: 0 14px; border: 1px solid #e5e5e5; border-radius: 8px; font-size: 15px; color: #333; background: #fff; box-sizing: border-box;}
.db_list input[type="text"]:focus, .db_list input[type="tel"]:focus,
.db_list select:focus, .db_list textarea:focus
{outline: none;border-color: #753bf7; box-shadow: 0 0 10px 5px rgba(117, 59, 247, 0.07);}
.db_list input::placeholder, .db_list textarea::placeholder{color: #b0b0b0;}
.db_list select{appearance: none; -webkit-appearance: none;cursor: pointer;
background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23999' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center;}

/* 이름 */
.name-row{display: flex; align-items:center; gap: 10px;}
.name-field{width: 80%;}
.role-field{width: 20%;}
.role-field h3{opacity: 0;}

/* 연락처 */
.phone-row{display: flex;align-items: center;gap: 8px;}
.phone-row select{width: 90px; flex-shrink: 0;}
.phone-row input{flex: 1; text-align: center;}
.phone-row span{color: #ccc;}

/* 예식예정일 */
.date{display: flex; align-items: center; gap: 8px;}
.date select{flex: 1;} 
.unknown{display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 15px; color: #666; cursor: pointer;}
.unknown input[type="checkbox"] {width: 18px; height: 18px; accent-color: #753bf7;}

/* 방문날짜 */
.visit ul{display: flex; justify-content: space-between; list-style: none; padding: 0; margin: 0;}
.visit li{width: 49%; margin: 0;}
.visit input[type="radio"]{display: none;}
.visit label{display: block; text-align: center; border: 1px solid #e5e5e5; border-radius: 8px; font-size: 15px;
color: #333; cursor: pointer; transition: all 0.2s; height: 50px; line-height: 50px; box-sizing: border-box;}
.visit input[type="radio"]:checked + label {border-color: #753bf7; color: #753bf7; font-weight: 600; background: #f4eeff;}

/* 기타상담내용 */  
.db_list textarea{height: 120px; padding: 12px 14px; resize: none; line-height: 1.5; font-family: 'Wanted Sans Variable', sans-serif;}

/* 개인정보 동의 */
.agree{display: flex; align-items: center; gap: 5px; justify-content: center; font-size: 15px; color: #666; margin-bottom: 16px !important;}
.agree input[type="checkbox"] {width: 17px; height: 17px; cursor: pointer; accent-color: #753bf7;}
.agree a{color: #666; text-decoration: none; cursor: pointer;}
.agree strong{color: #333; text-decoration: underline;}

/* 제출 버튼 */
.db_submit {margin-bottom: 0 !important;} 
.db_submit input[type="submit"]{width: 100%; height: 60px; background: #753bf7; color: #fff; border: none; border-radius: 8px;
font-size: 20px; font-weight: 600; cursor: pointer; transition: background 0.2s; font-family: 'Wanted Sans Variable', sans-serif;}
.db_submit input[type="submit"]:hover{background: #6329e0;}

/* 개인정보 팝업 */
.privacy-layer{display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 9999; justify-content: center; align-items: center;}
.privacy-layer.active{display: flex;}
.privacy-box{width: 600px; max-width: 90%; max-height: 80vh; background: #fff; border-radius: 12px; display: flex; flex-direction: column; overflow: hidden;}
.privacy-header{display: flex;justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid #eee;}
.privacy-header h2{font-size: 18px; font-weight: 700; color: #333;}
.privacy-close{background: none; border: none; font-size: 24px; color: #999; cursor: pointer; line-height: 1;}
.privacy-content{padding: 24px;overflow-y: auto; font-size: 14px; line-height: 1.7; color: #555;}
.privacy-content h3{font-size: 15px; font-weight: 700; color: #333; margin-top: 20px; margin-bottom: 8px;}
.privacy-content h3:first-child{margin-top: 0;}
.privacy-content p{margin-bottom: 10px;}
.privacy-footer{padding: 16px 24px; border-top: 1px solid #eee; text-align: right;}
.privacy-confirm{background: #753bf7; color: #fff; border: none; padding: 10px 24px; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer;}
.privacy-confirm:hover{background: #6329e0;}
   
/* 푸터 */
footer{background: #2e2e2e; color: #fff; text-align: center; padding: 75px 0;}
footer address{font-size: 14px; line-height: 1.7; font-weight: 400;}

/* 네비게이션 */
.quick-menu{position: fixed; right: 20px; top: 50%; transform: translateY(-50%) translateX(140px); opacity: 0; visibility: hidden; z-index: 9999; width: 103px; 
background: rgba(255,255,255,.55); backdrop-filter: blur(14px) saturate(180%); -webkit-backdrop-filter: blur(14px) saturate(180%); border-radius: 22px; overflow: hidden; 
box-shadow: 0 8px 28px rgba(117,59,247,.16); transition: transform 0.45s cubic-bezier(.22,.61,.36,1), opacity 0.45s, visibility 0.45s;}
.quick-menu.show{transform: translateY(-50%) translateX(0); opacity: 1; visibility: visible;}
.quick-menu a{display: block; text-align: center; text-decoration: none; transition: background 0.2s;}
.quick-menu svg{display: block; margin: 0 auto;}
.quick-menu span{display: block; font-size: 15px; line-height: 1.35;}
.quick-menu span.sm{font-size: 13px;}

.qm-main{padding: 19px 8px 15px; background: #753bf7; color: #fff; font-weight: 600;}
.qm-main:hover{background: #6329e0;}
.qm-main svg{width: 32px; height: 32px;}
.qm-main span{margin-top: 7px;}

.qm-sub{padding: 16px 8px 14px; background: rgba(117,59,247,.12); color: #4a25a8; font-weight: 600;}
.qm-sub:hover{background: rgba(117,59,247,.2);}
.qm-sub svg{width: 30px; height: 30px;}
.qm-sub span{margin-top: 6px;}

.qm-item{padding: 15px 8px; color: #26215c; border-top: 1px solid rgba(117,59,247,.14);}
.qm-item:hover{background: rgba(255,255,255,.5);}
.qm-item svg{width: 28px; height: 28px;}
.qm-item span{margin-top: 6px;}

.qm-top{padding: 13px 8px; color: #5f5e5a; border-top: 1px solid rgba(117,59,247,.14);}
.qm-top:hover{background: rgba(255,255,255,.5);}
.qm-top svg{width: 24px; height: 24px;}
.qm-top span{margin-top: 2px; font-size: 14px;}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
.quick-menu{background: #fff;}
.qm-sub{background: #ede6fd;}
}


/* @media (max-width: 768px){
.quick-menu{top: auto; bottom: 0; right: 0; left: 0; transform: translateY(100%); width: 100%; display: flex; border: none; border-top: 1px solid rgba(117,59,247,.2); 
border-radius: 0;}
.quick-menu.show{transform: translateY(0);}
.quick-menu a{flex: 1; padding: 10px 4px; border-top: none;}
.quick-menu a + a{border-left: 1px solid rgba(117,59,247,.14);}
.quick-menu svg{width: 24px !important; height: 24px !important;}
.quick-menu span{font-size: 12px !important; margin-top: 4px;}
.qm-main span br{display: none;}
.qm-top{display: none;}
} */



