@charset "utf-8";
/* layout.css는 전체적인 레이아웃 스타일을 정의합니다. */ 

#skipToContent a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skipToContent a:focus, 
#skipToContent a:active {width:200px;height:50px;background:#21272e;color:#fff;font-size:14px;font-weight:bold;text-align:center;text-decoration:none;line-height:50px}

.only-desktop-tablet {display:block;}
.only-desktop {display:block;}
.only-tablet {display:none;}
.only-mobile {display:none;}

.contain {max-width:1460px; padding-left:30px; padding-right:30px; margin:0 auto;}
.contain:after {content:""; display:block; clear:both;}

/* header */
#header {position:fixed; top:0; left:0; width:100%; padding:0 60px; transition:.4s; z-index:101; opacity:0;}
#header .inner {position:relative; height:120px; transition:.4s;}

.sitelogo {position:absolute; top:0; left:50%; width:132px; margin-left:-66px; z-index:2; transform:translateY(-100%); transition-duration:.4s; transition-delay:.4s;}
.sitelogo a {display:block;}
.sitelogo a:hover {transform:translateY(-10px);}

.loaded #header {opacity:1; transition:.8s;}
.loaded .sitelogo {transform:translateY(0);}

.icon-menu {position:relative; overflow:hidden; width:29px; height:28px; text-indent:-9999em;}
.icon-menu span {position:absolute; left:0; right:9px; top:50%; margin-top:-1px; height:2px; background:#222;}
.icon-menu span:before,
.icon-menu span:after {content:" "; position:absolute; left:0; right:-9px; height:2px; background:#222;}
.icon-menu span:before {top:-12px;}
.icon-menu span:after {bottom:-12px;}

.btn-all-menu {position:absolute; top:50%; left:0; margin-top:-14px; z-index:2;}

.btn-top-contact {position:absolute; top:50%; left:69px; margin-top:-16px; padding:0 18px; color:#fff; font-size:14px; font-weight:600; line-height:32px; background:#222; border-radius:30px;  z-index:2;}

.bnt-top-sns {position:absolute; z-index:10; top:50%; margin-top:-16px; background-repeat:no-repeat; background-size:contain; width:32px; height:32px; background-position:50% 50%; text-indent:-999em; overflow:hidden; display:block;}
/*
.bnt-top-sns.sns-icon1 {left:220px; background-image:url("../images/common/instagram.svg");}
.bnt-top-sns.sns-icon2 {left:260px; background-image:url("../images/common/youtube.svg");} */
/* 기존에서 px 위치 변경 , 링크드인 추가 */
.bnt-top-sns.sns-icon1 {left:210px; background-image:url("../images/common/instagram.svg");}
.bnt-top-sns.sns-icon2 {left:250px; background-image:url("../images/common/youtube.svg");}
.bnt-top-sns.sns-icon5 {left:290px; background-image:url("../images/common/linkedin.svg");}


.util {position:absolute; top:50%; right:0; margin-top:-14px;  z-index:2;}
.util ul {display:flex;}
.util ul li {padding:0 9px; margin-left:15px;}
.util ul li a {display:block; position:relative;}
.util ul li i {display:block; width:28px; height:28px; background-position:50% 50%; background-repeat:no-repeat;}
.util .ico-imgsearch {background-image:url("../images/common/icon_camera.svg"); background-size:contain;}
.util .ico-search {background-image:url("../images/common/icon_search.png");}
.util .ico-cart {background-image:url("../images/common/icon_cart.png");}
.util .num {position:absolute; top:-5px; right:-9px; width:22px; height:22px; text-align:center; color:#fff; font-size:11px; line-height:22px; font-weight:600; background:#222; border-radius:11px;}

.gnb-wrap {position:relative; width:100%; max-width:1258px; margin:0 auto; text-align:center;}

.gnb-wrap-inner {position:absolute; top:0; left:0; width:100%; display:flex;}
.gnb-wrap.hover .gnb-wrap-inner {background:#222;}

.gnb {width:50%;}
.gnb > ul {display:flex;}
.gnb > ul > li {margin-left:64px; height:148px;}
.gnb > ul > li:first-child {margin-left:0;}
.gnb > ul > li:nth-child(3) {margin-left:270px;}
.gnb > ul > li > a {display:block; color:#222; font-size:18px; font-weight:600; line-height:120px;}
.gnb .submenu {display:none; position:absolute; top:148px; left:0; width:100%; color:#fff;}
.gnb:nth-child(1) {margin-right:135px;}
.gnb:nth-child(1) > ul {justify-content:flex-end;}
.gnb:nth-child(2) {margin-left:135px;}

.gnb .st1 {padding:20px; text-align:left;}
.gnb .st1 > ul {border:1px solid #454545; max-height:calc(100vh - 188px); overflow:auto;}
.gnb .st1 > ul > li {display:flex; border-bottom:1px solid #454545; padding:34px 0 34px 60px; overflow:hidden;}
.gnb .st1 > ul > li:last-child {border-bottom:0;}
.gnb .st1 > ul > li > a {width:184px; display:block; font-size:20px; font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.gnb .st1 .depth3 {flex:1 1 auto; min-width:0; width:1%;}
.gnb .st1 .depth3 > ul {display:flex; flex-wrap:wrap; margin:-14px -30px -14px 0;}
.gnb .st1 .depth3 > ul > li {padding:14px 0;}
.gnb .st1 .depth3 > ul > li > a {display:block; font-size:15px; font-weight:600; line-height:1.3em; letter-spacing:-.03em; padding-right:80px;}
.gnb .st1 .depth3 > ul > li > a:hover {color:#3B82F6;}
.gnb .st1 .depth4 {padding-top:13px; max-width:95px;}
.gnb .st1 .depth4 > ul > li {margin-bottom:6px;}
.gnb .st1 .depth4 > ul > li:last-child {margin-bottom:0;}
.gnb .st1 .depth4 > ul > li > a {display:block; font-size:12px; line-height:1.33em; letter-spacing:-.03em;}
.gnb .st1 .depth4 > ul > li > a:hover {color:#3B82F6; text-decoration:underline;}

.gnb .st2 {padding:46px 20px 60px;}
.gnb .st2 > ul {display:flex; justify-content:center;}
.gnb .st2 > ul > li {width:250px; padding:0 5px;}
.gnb .st2 > ul > li > a {display:block; font-size:20px; font-weight:600; line-height:58px; letter-spacing:-.03em; border:1px solid #454545;}
.gnb .st2 > ul > li > a:hover {color:#3B82F6;}
.gnb .st2 .depth3 {padding-top:10px;}
.gnb .st2 .depth3 ul li {border-bottom:1px solid #454545;}
.gnb .st2 .depth3 ul li a {display:block; font-size:15px; font-weight:600; line-height:50px; letter-spacing:-.03em;}
.gnb .st2 .depth3 ul li a:hover {color:#3B82F6;}

.gnb-wrap.hover .gnb > ul > li > a {color:#505050;}
.gnb-wrap.hover .gnb > ul > li.active > a {color:#fff;}

/* 전체 메뉴 */
.all-menu {display:none; position:fixed; top:0; left:0; width:100%; height:100%; padding:110px 60px 60px; overflow:auto; color:#fff; background:#222 url("../images/common/allmenu_bg.png") 94% 90% no-repeat; z-index:110;}
.all-menu .inner {position:relative; min-height:600px;}
.all-menu .wrap {display:flex;}
.all-menu .wrap .col {width:184px; margin-left:10px;}
.all-menu .wrap .col:first-child {flex:1 1 auto; min-width:0; width:1%; margin-left:0;}
.all-menu .wrap .tit {font-size:14px; font-weight:600; line-height:1.3em; margin-bottom:20px;}
.all-menu .wrap .list {border:1px solid #454545;}

.all-menu .st1 > ul > li {display:flex; border-bottom:1px solid #454545; padding:34px 0 34px 60px; overflow:hidden;}
.all-menu .st1 > ul > li:last-child {border-bottom:0;}
.all-menu .st1 > ul > li > a {width:184px; display:block; font-size:20px; font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.all-menu .st1 .depth3 {flex:1 1 auto; min-width:0; width:1%;}
.all-menu .st1 .depth3 > ul {display:flex; flex-wrap:wrap; margin:-14px -30px -14px 0; max-width:970px;}
.all-menu .st1 .depth3 > ul > li {padding:14px 0;}
.all-menu .st1 .depth3 > ul > li > a {display:block; font-size:15px; font-weight:600; line-height:1.3em; letter-spacing:-.03em; padding-right:80px;}
.all-menu .st1 .depth3 > ul > li > a:hover {color:#3B82F6;}
.all-menu .st1 .depth4 {padding-top:13px; max-width:95px;}
.all-menu .st1 .depth4 > ul > li {margin-bottom:6px;}
.all-menu .st1 .depth4 > ul > li:last-child {margin-bottom:0;}
.all-menu .st1 .depth4 > ul > li > a {display:block; font-size:12px; line-height:1.33em; letter-spacing:-.03em;}
.all-menu .st1 .depth4 > ul > li > a:hover {color:#3B82F6; text-decoration:underline;}

.all-menu .st2 {text-align:center;}
.all-menu .st2 > ul > li {border-bottom:1px solid #454545; padding:34px 0;}
.all-menu .st2 > ul > li:last-child {border-bottom:0;}
.all-menu .st2 > ul > li > a {display:block; padding:0 10px; font-size:20px; font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.all-menu .st2 > ul > li > a:hover {color:#3B82F6;}
.all-menu .st2 .depth3 {padding-top:24px;}
.all-menu .st2 .depth3 ul li {margin-bottom:24px;}
.all-menu .st2 .depth3 ul li:last-child {margin-bottom:0;}
.all-menu .st2 .depth3 ul li a {display:block; font-size:15px; font-weight:600; line-height:1.3em; letter-spacing:-.03em;}
.all-menu .st2 .depth3 ul li a:hover {color:#3B82F6;}

.all-menu .other-links {position:absolute; right:0; bottom:0; text-align:right;}
.all-menu .other-links ul {}
.all-menu .other-links ul li {margin-bottom:25px;}
.all-menu .other-links ul li:last-child {margin-bottom:0;}
.all-menu .other-links ul li a {color:#505050; font-size:16px; line-height:1.4em;}
.all-menu .other-links ul li a:hover {color:#fff; text-decoration:underline;}
.all-menu .other-links p {margin-top:40px; margin-bottom:8px; font-size:26px; font-weight:600; line-height:1.3em;}
.all-menu .close {position:absolute; top:40px; right:60px; width:27px; height:27px; background:url("../images/common/close.png") 50% 50% no-repeat;}

#sub #header.header-fixed {background:#fff; box-shadow:0 0 3px rgba(0,0,0,.15);}
#header.header-scroll .inner {height:90px;}
#header.header-scroll .gnb > ul > li > a {line-height:90px;}

#header.header-white .icon-menu span,
#header.header-white .icon-menu span:after,
#header.header-white .icon-menu span:before {background:#fff;}
#header.header-white .btn-top-contact {background:#fff; color:#7a7c7e}
#header.header-white .gnb > ul > li > a {color:#fff;}
#header.header-white .util .ico-imgsearch {background-image:url("../images/common/w_icon_camera.svg");}
#header.header-white .util .ico-search {background-image:url("../images/common/w_icon_search.png");}
#header.header-white .util .ico-cart {background-image:url("../images/common/w_icon_cart.png");}
#header.header-white .bnt-top-sns.sns-icon1 {background-image:url("../images/common/instagram_w.svg");}
#header.header-white .bnt-top-sns.sns-icon2 {background-image:url("../images/common/youtube_w.svg");}
#header.header-white .bnt-top-sns.sns-icon5 {background-image:url("../images/common/linkedin_w.svg");} /* 기존에서 추가 */

/* 상단 검색 */
.top-search {position:fixed; top:0; left:0; width:100%; padding:80px 0; transition:.4s ease-in-out;  -ms-transform:translateY(-100%); transform:translateY(-100%); background:#222; z-index:103;}
.top-search p {color:#fff; font-size:50px; font-weight:400; line-height:1.3em; text-align:center; margin-bottom:30px;}
.top-search form {max-width:700px; margin:0 auto; display:flex;}
.top-search .input {flex:1 1 auto; min-width:0; width:1%; height:52px; font-size:18px; font-weight:500; border:0; padding:15px 20px; background:#eee;}
.top-search .submit {width:52px; height:52px; margin-left:8px; background:url("../images/common/w_icon_search.png") 50% 50% no-repeat; border:1px solid rgba(255,255,255,.2);}
.top-search .close {position:absolute; top:40px; right:60px; width:27px; height:27px; background:url("../images/common/close.png") 50% 50% no-repeat;}
.top-search.search-opened {-ms-transform:translateY(0); transform:translateY(0);}

/* 상단 장바구니 */
.float-cart {position:fixed; top:40px; right:0; width:260px; transition:.4s ease-in-out; -ms-transform:translateX(100%); transform:translateX(100%); z-index:103;}
.float-cart-tit {position:relative; display:flex; align-items:center; padding:0 25px; color:#fff; font-size:18px; font-weight:600; line-height:66px; background:#2c2c2c;}
.float-cart-tit .ico {display:inline-block; margin:-7px 10px 0 0; width:23px; height:28px; background:url("../images/common/float_cart.png") 50% 50% no-repeat;}
.float-cart-tit .num {font-size:12px; font-weight:500; margin-left:4px;}
.float-cart-tit .close {position:absolute; top:50%; right:25px; margin-top:-6px; width:12px; height:12px; background:url("../images/common/float_cart_close.png") 50% 50% no-repeat;}
.float-cart-body {border:1px solid #a8a8a8; border-top:0; border-right:0; background:#fff; padding:24px;}
.float-cart-list {position:relative; max-height:484px; margin-right:-13px; padding-right:13px; overflow:auto;}
.float-cart-list::-webkit-scrollbar {width:5px; height:8px; background:#dfdfdf;}
.float-cart-list::-webkit-scrollbar-thumb {background:#bbb;}
.float-cart-list ul li {margin-bottom:20px; position:relative;}
.float-cart-list ul li:last-child {margin-bottom:0;}
.float-cart-list ul li a {display:flex; align-items:flex-start;}
.float-cart-list ul li .thumb {position:relative; width:64px; height:64px; margin-right:16px;}
.float-cart-list ul li .thumb img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.float-cart-list ul li .info {flex:1 1 auto; min-width:0; width:1%;}
.float-cart-list ul li .info .tit {margin-bottom:4px; margin-right:18px; color:#2c2c2c; font-size:14px; font-weight:600; line-height:1.3em; max-height:2.6em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.float-cart-list ul li .info .cat {color:#a8a8a8; font-size:12px; font-weight:500; line-height:1.3em; max-height:2.6em; overflow:hidden; text-overflow:ellipsis; word-break:break-all; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.float-cart-list ul li .del {position:absolute; top:3px; right:0; width:12px; height:12px; background:url("../images/common/float_cart_delete.png") 50% 50% no-repeat;}
.float-cart-btns {margin-top:45px;}
.float-cart-btns .btn {display:flex; align-items:center; justify-content:center; height:52px; width:100%; padding:2px; color:#fff; text-align:center;}
.float-cart-btns .btn.type1 {background:#2c2c2c; font-size:14px; font-weight:500; line-height:1.4em; margin-bottom:6px;}
.float-cart-btns .btn.type2 {background:#3B82F6; font-size:16px; font-weight:600; line-height:1.4em;}

.float-cart.cart-opened {-ms-transform:translateX(0); transform:translateX(0);}

/* for mobile */
.btn-m-menu {display:none; position:absolute; top:50%; left:15px; margin-top:-12px; z-index:2;}

.mobile-navigation {display:none; position:fixed; top:0; left:0; width:100%; height:100%; overflow:auto; transition:.18s ease-in-out; -ms-transform:translateX(-100%); transform:translateX(-100%); background:#222; z-index:102;}
.mobile-navigation .contact {height:75px; padding:0 15px; display:flex; align-items:center;}
.mobile-navigation .contact a {display:inline-block; padding:0 23px; color:#7a7c7e; font-size:12px; font-weight:600; line-height:34px; background:#fff; border-radius:30px;}
.mobile-navigation .contact .m-top-sns {padding:0; background:0; margin-left:10px;}
.mobile-navigation .nav-menu>ul {border-top:1px solid #454545;}
.mobile-navigation .nav-menu>ul>li {border-bottom:1px solid #454545;}
.mobile-navigation .nav-menu>ul>li>a {position:relative; padding:13px 45px 13px 15px; display:block; color:#fff; font-size:19px; font-weight:600; line-height:1.5em;}
.mobile-navigation .nav-menu>ul>li>a:after {content:""; position:absolute; top:50%; right:15px; margin-top:-7px; width:15px; height:14px; background:url("../images/common/menu_off.png") 50% 50% no-repeat; background-size:contain;}
.mobile-navigation .nav-menu>ul>li.active>a {color:#2c2c2c; background:#fff;}
.mobile-navigation .nav-menu>ul>li.active>a:after {background-image:url("../images/common/menu_on.png");}
.mobile-navigation .nav-menu .submenu {display:none; background:#f8f8f8;}
.mobile-navigation .nav-menu .submenu > div > ul > li {border-bottom:1px solid #a8a8a8;}
.mobile-navigation .nav-menu .submenu > div > ul > li:last-child {border-bottom:0;}
.mobile-navigation .nav-menu .submenu > div > ul > li > a {display:block; position:relative; padding:10px 15px; color:#2c2c2c; font-size:17px; font-weight:500; line-height:1.5em;}
.mobile-navigation .nav-menu .submenu > div > ul > li.has-depth > a:after {content:""; position:absolute; top:50%; right:15px; margin-top:-7px; width:15px; height:14px; background:url("../images/common/menu_off2.png") 50% 50% no-repeat; background-size:contain;}
.mobile-navigation .nav-menu .submenu > div > ul > li.active>a {color:#3B82F6;}
.mobile-navigation .nav-menu .depth3 {display:none; padding:15px; background:#fff;}
.mobile-navigation .nav-menu .depth3 ul {border:1px solid #a8a8a8;}
.mobile-navigation .nav-menu .depth3 ul li {border-bottom:1px solid #a8a8a8;}
.mobile-navigation .nav-menu .depth3 ul li:last-child {border-bottom:0;}
.mobile-navigation .nav-menu .depth3 ul li a {display:block; padding:9px 14px; color:#505050; font-size:15px; font-weight:500; line-height:1.5em;}
.mobile-navigation .nav-menu .depth3 ul li a:hover {color:#3B82F6;}
.mobile-navigation .nav-menu .depth4 {display:none;}
.mobile-navigation .close {position:absolute; top:28px; right:15px; width:19px; height:19px; text-indent:-9999em; background:url("../images/common/close_x2.png") 50% 50% no-repeat; background-size:contain; overflow:hidden;}
.mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:#000; opacity:0.6; z-index:101;}

html.menu-opened {overflow:hidden;}
html.menu-opened .mobile-navigation {-ms-transform:translateX(0); transform:translateX(0);}
html.menu-opened .mobile-overlay {display:block;}

/* main */
.main-visual {position:relative; overflow:hidden;}
.main-visual .slider {position:relative;}
/* .main-visual .slider:after {content:""; position:absolute; top:0; left:0; width:100%; height:30%; background:url("../images/main/gradient.png") 0 0 repeat-x; background-size:auto 100%;} */
.main-visual .slider .item .img {position:relative; height:100vh; overflow:hidden;}
/* .main-visual .slider .item .img img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;} */
.main-visual .slider .item .img img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.main-visual .slider .item .img-m {display:none; position:relative; height:100vh; overflow:hidden;}
.main-visual .slider .item .img-m img {position:absolute; top:0; right:0; width:100%; height:100%; object-fit:cover;}

.main-visual .thumbs {position:absolute; top:0; left:0; width:820px; height:100%; color:#fff; display:flex; align-items:center; opacity:0; transform:translateX(-10%); transition:1.5s .5s; background:url("../images/main/mv_overlay.png") 100% 50% no-repeat;}
.main-visual .thumbs .inner {width:100%; padding-left:138px;}
.main-visual.current .thumbs {transform:translateX(0); opacity:1;}
.main-visual .thumbs .t1 {font-size:52px; font-weight:600; line-height:1.2em; letter-spacing:-.03em; margin-bottom:25px; opacity:0; transform:translateY(30px); transition:1.2s .4s;}
.main-visual .thumbs .t2 {font-size:28px; font-weight:300; line-height:1.3em; opacity:0; transform:translateY(30px); transition:1.2s .7s;}
.main-visual .thumbs .slick-current .t1 {opacity:1; transform:translateY(0);}
.main-visual .thumbs .slick-current .t2 {opacity:1; transform:translateY(0);}

.main-visual .control {margin-top:75px;}
.main-visual .arrows {display:flex; margin-bottom:70px;}
.main-visual .slick-arrow {display:block; width:20px; height:35px; background-color:transparent; background-position:50% 50%; background-repeat:no-repeat; border:0; overflow:hidden; text-indent:-9999em;}
.main-visual .slick-prev {background-image:url("../images/main/slide_prev.png"); margin-right:50px;}
.main-visual .slick-next {background-image:url("../images/main/slide_next.png");}

.main-visual .slick-dots {display:flex;}
.main-visual .slick-dots li {margin-right:50px;}
.main-visual .slick-dots li button {display:block; width:14px; height:14px; font-size:0; line-height:0; text-indent:-999em; background:transparent; border:2px solid #fff; border-radius:100%;}
.main-visual .slick-dots li.slick-active button {background:#fff;}

.main-service .contain {padding-top:120px; padding-bottom:30px;}
.main-service .heading {margin-bottom:50px;}
.main-service .heading h2 {color:#2c2c2c; font-size:46px; line-height:1.2em; letter-spacing:-.02em; margin-bottom:20px;}
.main-service .heading p {color:#a8a8a8; font-size:18px; line-height:1.778em;}
.main-service .heading .tt {color:#3B82F6; font-size:20px; font-weight:600; line-height:1.4em; letter-spacing:.6em; margin-bottom:20px;}
.category-grid {display:grid; grid-template-columns:repeat(8, 1fr); gap:20px;}
.category-grid__item {display:flex; flex-direction:column; align-items:center; padding:24px 12px; background:#fff; border-radius:16px; text-decoration:none; box-shadow:0 2px 12px rgba(0,0,0,.06); transition:transform .3s, box-shadow .3s;}
.category-grid__item:hover {transform:translateY(-6px); box-shadow:0 8px 24px rgba(59,130,246,.15);}
.category-grid__icon {width:56px; height:56px; margin-bottom:12px;}
.category-grid__icon img {width:100%; height:100%; object-fit:contain;}
.category-grid__label {font-size:14px; font-weight:600; color:#2c2c2c; text-align:center; line-height:1.3em;}

.main-posts {overflow:hidden; background:#f8f8f8;}
.main-posts .wrap {display:flex; align-items:center; padding:100px 0 200px;}
.main-posts .text {width:610px; margin-right:105px; position:relative;}
.main-posts .text h2 {color:#2c2c2c; font-size:46px; line-height:1.2em; letter-spacing:-.02em; margin-bottom:30px;}
.main-posts .text p {color:#a8a8a8; font-size:18px; line-height:1.778em; margin-top:15px;}
.main-posts .text .tt {color:#3B82F6; font-size:20px; font-weight:600; line-height:1.4em; margin-bottom:20px;}
.main-posts .text .more {display:inline-block; margin-top:65px; padding:0 38px; color:#fff; font-size:20px; font-weight:500; line-height:52px; text-align:center; background:#c2c4c6; border-radius:30px;}
.main-posts .text .more:hover {background:#333;}
.main-posts .slider {flex:1 1 auto; min-width:0; width:1%; margin-right:-50vh;}
.main-posts .slider .slick-slide {width:707px; margin-right:60px;}
.main-posts .slider .img {position:relative; padding-bottom:75%; overflow:hidden; border-radius:30px;}
.main-posts .slider .img img {position:absolute; top:50%; left:0; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.main-posts .slick-dots {position:absolute; right:0; bottom:16px; display:flex;}
.main-posts .slick-dots li {margin-left:20px;}
.main-posts .slick-dots li button {display:block; width:14px; height:14px; font-size:0; line-height:0; text-indent:-999em; background:transparent; border:2px solid #c2c4c6; border-radius:100%;}
.main-posts .slick-dots li.slick-active button {background:#aaadac; border-color:#aaadac;}
.main-posts .links {position:absolute; bottom:0; left:0; width:100%; background:#3B82F6;}
.main-posts .links ul {display:flex; max-width:1400px; margin:0 auto; padding:24px 0;}
.main-posts .links ul li {width:33.33333333%; border-left:1px dashed rgba(255,255,255,.28);}
.main-posts .links ul li:first-child {border-left:0;}
.main-posts .links ul li a {display:flex; align-items:center; justify-content:center; padding:9px 30px; color:#fff; font-size:20px; line-height:1.5em;}
.main-posts .links ul li a img {flex:0 0 70px; margin-right:20px; transition:.2s;}
.main-posts .links ul li a:hover img {transform:scale(.9);}

.main-work {overflow:hidden; background:#fff;}
.main-work .contain {padding-top:100px; padding-bottom:100px; text-align:center;}
.main-work h2 {color:#2c2c2c; font-size:42px; line-height:1.2em; letter-spacing:-.02em; margin-bottom:60px; font-weight:700;}
.brand-marquee__row {overflow:hidden; padding:16px 0;}
.brand-marquee__track {display:flex; width:max-content; gap:0;}
.brand-marquee__row--left .brand-marquee__track {animation:marquee-left 25s linear infinite;}
.brand-marquee__row--right .brand-marquee__track {animation:marquee-right 25s linear infinite;}
.brand-marquee__item {flex-shrink:0; padding:12px 20px; font-family:'Montserrat', sans-serif; font-size:28px; font-weight:600; color:#c0c0c0; letter-spacing:.02em; white-space:nowrap; transition:color .3s;}
.brand-marquee__item:hover {color:#2c2c2c;}
.brand-marquee__item::after {content:"\00B7"; margin-left:40px; color:#d0d0d0; font-weight:400; pointer-events:none;}
@keyframes marquee-left {0%{transform:translateX(0)} 100%{transform:translateX(-50%)}}
@keyframes marquee-right {0%{transform:translateX(-50%)} 100%{transform:translateX(0)}}

.main-global {overflow:hidden; background:#f8f8f8;}
.main-global .contain {padding-top:100px; padding-bottom:100px; text-align:center;}
.main-global h2 {color:#2c2c2c; font-size:42px; line-height:1.2em; letter-spacing:-.02em; margin-bottom:20px; font-weight:700;}
.main-global p {color:#666; font-size:18px; line-height:1.8em; max-width:700px; margin:0 auto 50px;}
.global-map {max-width:960px; margin:0 auto; height:450px; border-radius:16px; overflow:hidden; box-shadow:0 4px 24px rgba(0,0,0,.08);}
.gmap-pulse {background:none !important; border:none !important;}
.gmap-pulse__dot {position:absolute; top:50%; left:50%; width:14px; height:14px; margin:-7px 0 0 -7px; background:#007aff; border-radius:50%; border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.2);}
.gmap-pulse__ring {position:absolute; top:50%; left:50%; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; border:2px solid #007aff; opacity:0; animation:gmap-ripple 2.5s ease-out infinite;}
@keyframes gmap-ripple {0%{width:14px;height:14px;margin:-7px 0 0 -7px;opacity:.6} 100%{width:50px;height:50px;margin:-25px 0 0 -25px;opacity:0}}
.gmap-label {background:none !important; border:none !important; font-family:-apple-system,'Helvetica Neue',Arial,sans-serif; font-size:13px; font-weight:700; color:#555; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap;}

.main-connect {overflow:hidden; background:#f8f8f8;}
.main-connect .contain {padding-top:120px; padding-bottom:80px;}
.main-connect h2 {color:#2c2c2c; font-size:46px; line-height:1.2em; letter-spacing:-.02em; margin-bottom:40px; font-weight:700;}
.folder-tabs-wrap {}
.folder-tabs-nav {display:inline-flex; position:relative; background:#e9ecef; border-radius:50px; padding:5px; margin-bottom:24px;}
.tab-indicator {position:absolute; top:5px; height:calc(100% - 10px); background:#fff; border-radius:50px; box-shadow:0 2px 8px rgba(0,0,0,.1); transition:left .35s cubic-bezier(.4,0,.2,1), width .35s cubic-bezier(.4,0,.2,1); z-index:0; pointer-events:none;}
.folder-tabs-nav .folder-tab-label {position:relative; z-index:1;}
.folder-tabs-nav .folder-tab-label a {display:flex; align-items:center; height:46px; padding:0 28px; font-size:14px; font-weight:600; letter-spacing:.02em; color:#888; text-decoration:none; background:transparent; border:none; border-radius:50px; transition:color .3s ease; white-space:nowrap; cursor:pointer;}
.folder-tabs-nav .folder-tab-label a:hover {color:#555;}
.folder-tabs-nav .folder-tab-label.active a {color:#007aff; font-weight:700;}
.main-connect .tab-container {display:none;}
.main-connect .tab-container.active {display:block;}
.folder-card {background:#fff; border:none; border-radius:16px; overflow:hidden; box-shadow:0 6px 28px rgba(0,0,0,.09); height:490px; position:relative;}
.main-connect .content {display:flex; align-items:center; height:100%; background:transparent; position:relative; overflow:hidden; text-decoration:none;}
.main-connect .content .img {position:absolute;}
.main-connect .content .img-1 {left:6%; bottom:4%;}
.main-connect .content .img-2 {left:14%; bottom:-18%;}
.main-connect .content .img-3 {left:11%; top:13%;}
.main-connect .tab-container.active .content .img {opacity:1;}
.main-connect .tab-container.active .content .img-1 {animation:fade_in_up 0.8s}
.main-connect .tab-container.active .content .img-2 {animation:fade_in_down 0.8s}
.main-connect .tab-container.active .content .img-3 {animation:fade_in_rotate 0.8s}
.main-connect .content .cnt {margin-left:34%; flex:1 1 auto; min-width:0; width:1%; text-align:center; padding:30px;}
.main-connect .content .cnt h3 {color:#2c2c2c; font-size:32px; line-height:1.3em; letter-spacing:-.02em; margin-bottom:37px;}
.main-connect .content .cnt h3:after {content:""; display:block; width:40px; height:6px; background:#007aff; margin:25px auto 0;}
.main-connect .content .cnt p {font-size:20px; line-height:1.8em; color:#666;}
.main-connect .content .cnt .links {padding-top:3px;}
.main-connect .content .cnt .links a {display:inline-block; margin:0 8px; width:72px; height:72px; border-radius:100%; background-color:#eee; background-position:50% 50%; background-repeat:no-repeat;}
.main-connect .content .cnt .links a.instagram {background-image:url("../images/main/sns_instagram.png");}
.main-connect .content .cnt .links a.youtube {background-image:url("../images/main/sns_youtube.png");}
.main-connect .content .cnt .links a.blog {background-image:url("../images/main/sns_blog.png");}
.main-connect .content .cnt .links a:hover {background-color:#007aff;}
.main-connect .content .cnt .links a.instagram:hover {background-image:url("../images/main/sns_instagram_w.png");}
.main-connect .content .cnt .links a.youtube:hover {background-image:url("../images/main/sns_youtube_w.png");}
.main-connect .content .cnt .links a.blog:hover {background-image:url("../images/main/sns_blog_w.png");}

/* Events grid — tab-1 only */
.events-grid {display:flex; height:100%; padding:28px; gap:22px;}
.event-feature {flex:0 0 55%; display:flex; flex-direction:column; justify-content:center; padding:44px; background:url('../images/main/event-luxepack.webp') center/cover no-repeat; border-radius:14px; position:relative; overflow:hidden; z-index:0;}
.event-feature::before {content:''; position:absolute; inset:0; background:linear-gradient(145deg, rgba(239,246,255,.92) 0%, rgba(219,234,254,.88) 100%); z-index:-1;}
.event-feature .event-badge {position:absolute; top:28px; left:44px;}
.event-feature .event-logo {max-width:200px; height:auto; margin:10px 0 4px; position:relative;}
.event-feature h3 {font-size:28px; line-height:1.2em; letter-spacing:-.02em; color:#1a1a1a; font-weight:700; margin:0 0 24px; position:relative;}
.event-meta {position:relative;}
.event-meta p {font-size:15px; line-height:1.7em; color:#333; margin:0;}
.event-meta p strong {color:#1a1a1a;}
.event-cta {display:inline-block; margin-top:28px; font-size:15px; font-weight:600; color:#007aff; text-decoration:none; letter-spacing:.01em; transition:all .2s; position:relative; background:rgba(255,255,255,.7); padding:8px 20px; border-radius:50px;}
.event-cta:hover {color:#fff; background:#007aff; text-decoration:none;}
.event-side {flex:1; display:flex; flex-direction:column; gap:16px;}
.event-card {flex:1; padding:24px 26px; border-radius:12px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; z-index:0;}
.event-card::before {content:''; position:absolute; inset:0; z-index:-1;}
.event-card.upcoming {background:url('../images/main/event-nra.webp') center/cover no-repeat;}
.event-card.upcoming::before {background:rgba(255,255,255,.88);}
.event-card.past {background:url('../images/main/event-ppw.webp') center/cover no-repeat;}
.event-card.past::before {background:rgba(245,245,245,.85);}
.event-logo-sm {max-width:140px; max-height:44px; height:auto; margin:8px 0 8px; object-fit:contain; position:relative;}
.event-card h4 {font-size:18px; font-weight:700; color:#1a1a1a; margin:10px 0 10px; letter-spacing:-.01em; position:relative;}
.event-card .event-date {font-size:13px; color:#444; margin:0; line-height:1.6em; position:relative;}
.event-card .event-loc {font-size:13px; color:#666; margin:2px 0 0; line-height:1.6em; position:relative;}
.event-badge {display:inline-block; padding:4px 12px; font-size:11px; font-weight:700; letter-spacing:.06em; border-radius:50px; text-transform:uppercase; position:relative;}
.event-badge.next {background:#007aff; color:#fff;}
.event-badge.upcoming {background:#E0F0FF; color:#007aff;}
.event-badge.past {background:#e2e8e4; color:#4a7c59;}

/* Stay in Touch */
.stay-in-touch {background:#fff; padding:90px 0 24px; text-align:center;}
.stay-in-touch h2 {font-size:42px; font-weight:900; letter-spacing:-.02em; color:#1a1a1a; margin-bottom:14px; text-transform:uppercase;}
.stay-in-touch > .contain > p {font-size:16px; color:#555; line-height:1.6em; margin-bottom:32px;}
.newsletter-form {max-width:640px; margin:0 auto; text-align:left;}
.form-row {display:flex; gap:20px; margin-bottom:16px;}
.form-group {flex:1; margin-bottom:16px;}
.form-row .form-group {margin-bottom:0;}
.form-group label {display:block; font-size:14px; font-weight:600; color:#1a1a1a; margin-bottom:6px;}
.form-group label span {font-weight:400; color:#999;}
.form-group input {width:100%; height:46px; padding:0 14px; font-size:15px; border:2px solid #222; background:#fff; outline:none; transition:border-color .2s; box-sizing:border-box;}
.form-group input:focus {border-color:#007aff;}
.btn-send {display:inline-block; margin-top:8px; padding:12px 36px; font-size:14px; font-weight:700; letter-spacing:.06em; color:#fff; background:#007aff; border:none; border-radius:6px; cursor:pointer; transition:background .2s;}
.btn-send:hover {background:#0062cc;}

@keyframes fade_in_up {
     0% {
          opacity: 0;
          transform:translateY(-30px);
     }

     100% {
          opacity: 1;
          transform:translateY(0);
     }
}

@keyframes fade_in_down {
     0% {
          opacity: 0;
          transform:translateY(30px);
     }

     100% {
          opacity: 1;
          transform:translateY(0);
     }
}

@keyframes fade_in_rotate {
     0% {
          opacity: 0;
          transform:rotate(-5deg);
     }

     100% {
          opacity: 1;
          transform:rotate(0);
     }
}

#fp-nav li:nth-last-child(-n+2) {display:none;}
#fp-nav:before {content:""; position:absolute; top:0; left:0; width:1px; height:20%; background:#222; transition:.2s;}
.fp-viewing-1 #fp-nav:before {height:40%;}
.fp-viewing-2 #fp-nav:before {height:60%;}
.fp-viewing-3 #fp-nav:before {height:80%;}
.fp-viewing-4 #fp-nav:before, .fp-viewing-5 #fp-nav:before {height:100%;}
.fp-viewing-6 #fp-nav {display:none;}

/* sub */
#contArea {padding-top:200px;}

.sub-title {margin-bottom:40px; margin-top:-3px; text-align:center;}
.sub-title h2 {color:#242424; font-size:28px; line-height:1.3em; letter-spacing:-.03em;}

.lnb {text-align:center; margin-bottom:80px; border-bottom:1px solid #dfdfdf;}
.lnb ul {display:flex; justify-content:center; flex-wrap:wrap;}
.lnb ul li {padding:0 50px;}
.lnb ul li a {position:relative; display:block; color:#a8a8a8; font-size:22px; line-height:59px; letter-spacing:-.03em;}
.lnb ul li a:hover {color:#2c2c2c}
.lnb ul li.active a {color:#2c2c2c; font-weight:600;}
.lnb ul li.active a:after {content:""; position:absolute; bottom:-1px; left:50%; width:100px; height:4px; background:#3B82F6; margin-left:-50px;}

.real-cont {max-width:1460px; padding-left:30px; padding-right:30px; padding-bottom:120px; margin:0 auto; min-height:300px;}

/* footer */
#footer {padding:0; color:#fff; background:#000; overflow:hidden; position:relative;}
#footer .contain {max-width:1400px; position:relative; z-index:1;}
.foot-top {display:flex; align-items:flex-start; padding:24px 0 14px;}
.foot-brand {flex:0 0 auto; padding-top:4px;}
.foot-logo-img {height:36px; width:auto; mix-blend-mode:lighten;}
.foot-nav {flex:1; display:flex; justify-content:space-evenly;}
.foot-col h4 {font-size:15px; font-weight:600; color:rgba(255,255,255,.95); margin-bottom:14px; letter-spacing:-.01em;}
.foot-col ul {list-style:none; padding:0; margin:0;}
.foot-col ul li {margin-bottom:8px;}
.foot-col ul li a {font-size:15px; color:rgba(255,255,255,.5); transition:color .2s; text-decoration:none;}
.foot-col ul li a:hover {color:#fff;}
.foot-watermark-wrap {position:absolute; bottom:-40px; left:0; width:100%; pointer-events:none; z-index:0; text-align:center; overflow:visible;}
.foot-watermark {display:inline-block; font-size:10vw; font-weight:900; letter-spacing:-.03em; color:rgba(255,255,255,.25); line-height:.82em; white-space:nowrap; user-select:none;}
.foot-bottom {padding:12px 0; border-top:1px solid rgba(255,255,255,.08);}
.foot-bottom-inner {display:flex; align-items:center; justify-content:space-between;}
.foot-bottom-left {display:flex; align-items:center; gap:10px;}
.foot-btm-logo {height:22px; width:auto; mix-blend-mode:lighten;}
.foot-bottom-left span {font-size:14px; font-weight:600; color:rgba(255,255,255,.6);}
.foot-bottom-right span {font-size:13px; color:rgba(255,255,255,.3);}

.scroll-top {display:none; position:fixed; bottom:60px; right:60px; color:#121212; font-size:13px; font-weight:600; line-height:1.5em; z-index:60;}
.scroll-top:before {content:""; display:block; width:0; height:0; margin:0 auto 2px; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:6px solid #121212;}
.scroll-top span {display:flex; align-items:center; justify-content:center; width:56px; height:56px; background:#aaadac; border-radius:100%; opacity:0; transition:.4s;}
.scroll-top.active {display:block;}
.scroll-top.active span {opacity:1;}
.scroll-top:hover span {background:#333;}

/* Cookie Consent Banner & Modal */
#cookie-banner {position:fixed; bottom:0; left:0; width:100%; background:#1a1a1a; color:#fff; z-index:9999; padding:18px 0; box-shadow:0 -4px 24px rgba(0,0,0,.18); transform:translateY(100%); transition:transform .4s cubic-bezier(.4,0,.2,1);}
#cookie-banner.is-visible {transform:translateY(0);}
.cookie-banner__inner {max-width:1460px; margin:0 auto; padding:0 30px; display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
.cookie-banner__text {flex:1 1 auto; min-width:0;}
.cookie-banner__text p {font-size:14px; line-height:1.6em; color:rgba(255,255,255,.8); margin:0;}
.cookie-banner__text p a {color:#007aff; text-decoration:underline;}
.cookie-banner__text p a:hover {color:#3b82f6;}
.cookie-banner__actions {display:flex; gap:10px; flex-shrink:0;}
.cookie-btn {display:inline-flex; align-items:center; justify-content:center; height:40px; padding:0 22px; font-family:'Montserrat','NotoSansKR',sans-serif; font-size:13px; font-weight:600; letter-spacing:.03em; border-radius:4px; cursor:pointer; border:none; transition:background .2s, color .2s, border-color .2s; white-space:nowrap;}
.cookie-btn--primary {background:#007aff; color:#fff;}
.cookie-btn--primary:hover {background:#0062cc;}
.cookie-btn--ghost {background:transparent; color:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.3);}
.cookie-btn--ghost:hover {color:#fff; border-color:rgba(255,255,255,.7);}

#cookie-modal-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.55); z-index:10000; align-items:center; justify-content:center;}
#cookie-modal-overlay.is-open {display:flex;}
#cookie-modal {background:#fff; border-radius:12px; width:100%; max-width:520px; margin:20px; box-shadow:0 20px 60px rgba(0,0,0,.25); overflow:hidden; animation:cookie-modal-in .3s cubic-bezier(.4,0,.2,1);}
@keyframes cookie-modal-in {from{opacity:0; transform:translateY(20px) scale(.97);} to{opacity:1; transform:translateY(0) scale(1);}}
.cookie-modal__header {display:flex; align-items:center; justify-content:space-between; padding:20px 24px 16px; border-bottom:1px solid #eee;}
.cookie-modal__header h2 {font-size:18px; font-weight:700; color:#1a1a1a; margin:0; letter-spacing:-.01em;}
.cookie-modal__close {width:32px; height:32px; border:none; background:none; font-size:22px; color:#888; cursor:pointer; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s; line-height:1; padding:0;}
.cookie-modal__close:hover {background:#f0f0f0; color:#222;}
.cookie-modal__body {padding:0 24px; max-height:60vh; overflow-y:auto;}
.cookie-modal__intro {font-size:13px; color:#666; line-height:1.65em; padding:16px 0 8px; margin:0;}
.cookie-category {border-top:1px solid #f0f0f0; padding:16px 0;}
.cookie-category__header {display:flex; align-items:center; justify-content:space-between; gap:16px;}
.cookie-category__info {flex:1 1 auto; min-width:0;}
.cookie-category__info strong {display:block; font-size:14px; font-weight:700; color:#1a1a1a; margin-bottom:3px;}
.cookie-category__info span {font-size:12px; color:#888; line-height:1.5em;}
.cookie-toggle {flex-shrink:0; display:flex; align-items:center; gap:8px; cursor:pointer;}
.cookie-toggle input[type="checkbox"] {position:absolute; opacity:0; width:0; height:0;}
.cookie-toggle__track {position:relative; width:44px; height:24px; background:#d0d0d0; border-radius:12px; transition:background .2s; display:block;}
.cookie-toggle input:checked + .cookie-toggle__track {background:#007aff;}
.cookie-toggle__thumb {position:absolute; top:3px; left:3px; width:18px; height:18px; background:#fff; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:transform .2s;}
.cookie-toggle input:checked + .cookie-toggle__track .cookie-toggle__thumb {transform:translateX(20px);}
.cookie-toggle input:focus + .cookie-toggle__track {outline:2px solid #007aff; outline-offset:2px;}
.cookie-toggle--locked {cursor:default;}
.cookie-toggle--locked .cookie-toggle__label {font-size:11px; font-weight:600; color:#007aff; letter-spacing:.03em;}
.cookie-modal__footer {display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:16px 24px 20px; border-top:1px solid #eee;}
.cookie-modal__footer .cookie-btn--ghost {color:#555; border-color:#ccc;}
.cookie-modal__footer .cookie-btn--ghost:hover {color:#222; border-color:#888;}