@charset "utf-8";

/* 초기화 & 변수 */
html{scroll-behavior:smooth}
body{overflow-x:hidden;background-color:#fff;color:var(--text-main);font-size:17px;font-family:'Montserrat','Pretendard',sans-serif;line-height:1.75;word-break:keep-all}

/* [설정] 변수 및 기본 */
:root{
    --navy:#2e2e3d;
    --orange:#e46408;
    --gray:#545454;
    --light-gray:#dddddd;
    --light-orange:#fcf3e8;
    --primary:var(--navy);
    --point:var(--orange);
    --text-main:#111;
    --text-sub:#555;
    --border:#e5e5e5;
    --point-border:#e46408;
    --bg-light-gray:#f8f9fa
}
.font-mont{font-family:"Montserrat",sans-serif}
.inner{width:100%;max-width:1320px!important;margin:0 auto}
.content-container{position:relative;max-width:1320px;margin:0 auto;padding:0}

/* 헤더 */
header{z-index:10001 !important;background:rgba(255,255,255,0.98);transition:box-shadow 0.3s}
header.scrolled{box-shadow:0 4px 20px rgba(0,0,0,0.08)}
.top-logo{font-size:2rem}
.top-logo>span{font-size:1.25rem}
#progress-container{position:absolute;bottom:0;left:0;width:100%;height:4px;background:transparent}
#progress-bar{width:0%;height:100%;background-color:var(--point)}

/* 메뉴 & 오버레이 */
#menu-overlay{position:fixed;top:0;left:0;z-index:9999;width:100%;height:100%;background:rgba(0,0,0,0.4);opacity:0;pointer-events:none;transition:opacity 0.3s}
#menu-overlay.active{opacity:1;pointer-events:auto}
#drawer{position:fixed;top:80px;left:0;z-index:10000;width:100%;background:rgba(255,255,255,0.95);border-top:1px solid #eee;transform:translateY(-100%);transition:transform 0.4s cubic-bezier(0.25,1,0.5,1)}
#drawer.open{transform:translateY(0)}
.hamburger-box{position:relative;display:flex;align-items:center;justify-content:center;width:24px;height:24px;cursor:pointer}
.hamburger-inner{position:absolute;width:19px;height:2px;background-color:#111;transition:all 0.3s ease}
.hamburger-inner::before,.hamburger-inner::after{content:'';position:absolute;left:0;width:24px;height:2px;background-color:#111;transition:all 0.3s ease}
.hamburger-inner::before{top:-8px}
.hamburger-inner::after{top:8px}
.hamburger-box.active .hamburger-inner{background-color:transparent}
.hamburger-box.active .hamburger-inner::before{top:0;transform:rotate(45deg)}
.hamburger-box.active .hamburger-inner::after{top:0;transform:rotate(-45deg)}
.nav-wrap h3,.nav-wrap ul{font-family:"Montserrat",sans-serif}
.nav-wrap h3{font-size:1.5rem;font-weight:600}
.nav-wrap .img{width:200px}
.menu-logo-area{display:flex;align-items:center;gap:8px;margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #ddd;color:#222;font-size:20px;font-weight:800}
.menu-logo-icon{color:var(--orange);font-size:18px}
.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;text-align:left}
.menu-col h3{margin-bottom:24px;color:#1A1F3C;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:-0.5px}
.menu-col ul{margin:0;padding:0;list-style:none}
.menu-col li{margin-bottom:16px}
.menu-col a{color:#666;font-size:15px;font-weight:400;text-decoration:none;transition:color 0.2s}
.menu-col a:hover{color:var(--orange);font-weight:500}

/* 메인 비주얼 */
.main-visual{position:relative;width:100%;height:auto;overflow:hidden;padding-top:80px}
.main-visual .bg-img{display:block;width:100%;height:auto;object-fit:contain}
.char{position:absolute;z-index:10}
.char img{display:block;width:100%;height:auto}
.char-left{top:27%;left:9%;width:16%}
.char-right{top:26%;right:13%;width:16%}
.char-center{left:50%;bottom:10%;width:100%;transform:translateX(-50%);-webkit-transform:translateX(-50%)}

/* 배너 슬라이더 */
.banner-container-wrapper{width:100%;overflow:hidden;padding-top:1rem;background:#fff}
.banner-swiper{width:100%;overflow:visible!important}
.banner-swiper .swiper-slide{width:auto!important}
.banner-pill-link{display:flex;align-items:center;padding:6px 8px 6px 6px;background-color:var(--light-orange);border:1px solid transparent;border-radius:50px;color:#333;font-family:'Montserrat',sans-serif;text-decoration:none;transition:all 0.3s ease}
.banner-pill-link:hover{border-color:var(--orange);transform:translateY(-2px)}
.banner-img-wrap{flex-shrink:0;width:44px;height:44px;margin-right:12px;border-radius:50%;overflow:hidden}
.banner-img{width:100%;height:100%;object-fit:cover}
.banner-text{flex-grow:1;overflow:hidden;color:#333;font-size:14px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}
.banner-arrow-wrap{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-left:8px;background-color:#e46408;border-radius:50%;color:white;font-size:10px;transition:background 0.3s}
.banner-pill-link:hover .banner-arrow-wrap{background-color:var(--point)}
.banner-swiper .swiper-wrapper{transition-timing-function:linear!important}

/* 웨이브 (색상 수정 완료: fcf3e8) */
.wave-section{position:relative;margin-top:8rem;background-color:var(--light-orange)}
.wave-container{position:absolute;left:0;width:100%;overflow:hidden;line-height:0;pointer-events:none}
.wave-top{top:-1px;z-index:1;width:100%;height:80px;transform:translateY(-99%)}
.wave-bottom{bottom:-1px;z-index:1;width:100%;height:80px;transform:translateY(99%) rotate(180deg)}
.waves{position:relative;width:100%;height:100%;min-height:80px;max-height:150px;margin-bottom:-7px}
.parallax>use{animation:move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite}
.parallax>use:nth-child(1){animation-delay:-2s;animation-duration:7s;fill:rgba(252,243,232,0.5)}
.parallax>use:nth-child(2){animation-delay:-3s;animation-duration:10s;fill:rgba(252,243,232,0.7)}
.parallax>use:nth-child(3){animation-delay:-4s;animation-duration:13s;fill:#fcf3e8}
@keyframes move-forever{0%{transform:translate3d(-90px,0,0)}100%{transform:translate3d(85px,0,0)}}

/* 카드 슬라이드 */
.slide-box-wrap{padding:8rem 0}
.slide-box-wrap .slide-inside{padding-bottom:8rem}
.cont-slide-wrap .category{top:1rem;left:1rem;z-index:99;color:#fefefe;font-size:1rem}
.cont-slide-wrap .writer-name {color:#e2e2e2;font-size:.875rem}
.swiper-main{width:95%;padding:2rem 0!important}
.swiper-button-next,.swiper-button-prev{z-index:40;width:48px;height:48px;background:#fff;border-radius:50%;box-shadow:0 4px 15px rgba(0,0,0,0.15);color:#333!important}
.swiper-button-next:hover,.swiper-button-prev:hover{background:var(--orange);color:#fff!important}
.cont-slide-wrap .swiper-button-next{right:.5rem}
.cont-slide-wrap .swiper-button-prev{left:.5rem}
.cont-slide-wrap .swiper-button-next:after,.cont-slide-wrap .swiper-button-prev:after{font-size:1.25rem}
.swiper-main .swiper-slide .card-wrap{position:relative;z-index:5;width:100%;aspect-ratio:3/4;overflow:hidden;transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1)}
.swiper-main .swiper-slide.swiper-slide-active .card-wrap{z-index:15;transform:translateY(-30px);-webkit-transform:translateY(-30px);-moz-transform:translateY(-30px)}
.swiper-main .swiper-slide .card-wrap::after{content:'';position:absolute;top:0;left:0;bottom:0;z-index:1;width:100%;height:100%;background:rgba(0,0,0,.3);transition:all .3s}
.swiper-main .swiper-slide.swiper-slide-active .card-wrap::after{background:rgba(0,0,0,.1)}
.swiper-main .card-wrap img{width:100%;height:100%;object-fit:cover}
.swiper-main .info-panel{position:absolute;bottom:0;left:0;z-index:99;width:100%;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,1) 0%,transparent 100%);color:#fefefe}
.swiper-main .swiper-slide.swiper-slide-active .info-panel{padding-bottom:2.5rem}
.swiper-main .info-panel>h4{font-size:1.5rem}
.swiper-main .info-panel span{color:#fdba74}

/* 디자인 패널 */
.design-panel-bar{position:absolute;bottom:0;left:50%;z-index:30;width:100vw;max-width:1320px;height:90px;border-radius:.75rem;transform:translateX(-50%);pointer-events:none}
.panel-navy{background:rgba(54,54,73,0.5);border:1px solid rgba(255,255,255,0.8)}
.panel-orange{background:rgba(222,107,43,0.5);border:1px solid rgba(255,255,255,0.8)}
.bolt-deco{position:absolute;top:50%;width:25px;height:25px;background-color:transparent;background-image:url('../img/pannel-ic.png');background-size:contain;background-repeat:no-repeat;background-position:center;border-radius:50%;box-shadow:0px 5px 0px 0px rgba(0,0,0,0.2),0px 0px 27px 50px rgba(0,0,0,0);transform:translateY(-50%)}
.bolt-deco::after{display:none}
.bolt-left{left:25px}
.bolt-right{right:25px}

/* 푸터 */
.event-wrap{padding:8rem 0!important}
.footer-wrap .news-wrap .sum{color:#777}
.footer-wrap .chk-box-wrap span{color:#777;font-size:.875rem}
.footer-wrap .copy-wrap{color:#777}
.form-checkbox{appearance:none;-webkit-appearance:none;display:inline-block;vertical-align:middle;flex-shrink:0;width:1.25rem;height:1.25rem;background-color:#333;background-origin:border-box;border:1px solid transparent;border-radius:0.25rem;user-select:none}
.form-checkbox:checked{background-color:var(--orange);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");background-size:100% 100%;background-position:center;background-repeat:no-repeat;border-color:transparent}

/* 미디어 쿼리 */
@media (max-width:1320px){
    .inner{max-width:90%!important;margin:0 auto}
}

@media (max-width:1024px){
    .design-panel-bar{width:95vw!important}
    .char-left{top:27%;left:9%;width:19%}
    .char-right{top:26%;right:13%;width:19%}
    .swiper-main{width:90%}
    .cont-slide-wrap .swiper-button-next{right:1.5rem}
    .cont-slide-wrap .swiper-button-prev{left:1.5rem}
    .swiper-main .info-panel>h4 {font-size:1.5rem}
}

@media (max-width:768px){
    .top-logo{font-size:1.5rem}
    .top-logo>span{font-size:1rem}
    .btn-subscribe{display:none}
    .btn-archive{padding:0.5rem 1rem!important;font-size:.85rem!important}
    .btn-archive>span{display:none}
    .nav-box{padding:2rem!important}
    .nav-wrap .img{display:none}
    .menu-grid{grid-template-columns:1fr;gap:0}
    .nav-wrap .menu-col{padding-bottom:1.5rem}
    .nav-wrap .menu-col:first-child,
    .nav-wrap .menu-col:last-child{padding-bottom:0}
    .nav-wrap .menu-col h3{margin-bottom:1rem}
    .char-left{top:34%;left:15%;width:20%}
    .char-right{top:34%;right:17%;width:20%}
    .char-center{left:50%;bottom:0;width:170%}
    .slide-box-wrap{padding:3rem 0}
    .slide-box-wrap .slide-inside{padding-bottom:5rem}
    .cont-slide-wrap h3{margin-bottom:2rem;font-size:1.75rem}
    .swiper-main{width:100%}
    .swiper-main .swiper-slide{width:75%}
    .swiper-main .swiper-slide.swiper-slide-active .info-panel{padding-bottom:1.5rem}
    .swiper-main .info-panel>h4 {font-size:1.25rem}
    .design-panel-bar{width:82vw!important;height:75px}
    .bolt-deco{width:20px;height:20px}
    .footer-wrap{text-align:center}
    .footer-wrap .sns-wrap{margin-top:1rem}
    .footer-wrap .chk-box-wrap,.footer-wrap .sns-wrap .sns-list{justify-content:center}
    .footer-wrap .copy-wrap{font-size:.875rem}
    .event-wrap{padding:5rem 0!important}
}