*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:rgb(54,54,54);font-family:"Pretendard English",Pretendard,"Apple SD Gothic Neo","Malgun Gothic","Nanum Gothic","Noto Sans",sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;vertical-align:top;border:0}
a{color:inherit}

/* PC / mobile trees */
.v-m{display:none}
@media (max-width:991px){.v-d{display:none}.v-m{display:block}}

/* layout */
.sec{position:relative;overflow:hidden}
.in{width:auto}
.row{display:flex;flex-wrap:wrap;align-items:flex-start}
.col{min-width:0}
.w-img{line-height:0}
.w-img img{display:inline-block}
.w-img a{display:inline-block;max-width:100%}
.w-img a[href] img,.gl a img{transition:opacity .2s}
.w-img a[href]:hover img,.gl a:hover img{opacity:.88}

/* text */
.tx{overflow-wrap:break-word}
.tx *{margin:0;padding:0;font-size:inherit;font-weight:inherit;font-style:inherit;color:inherit;text-decoration:none}
.tx img{max-width:100%;height:auto}
.tx a[href]:hover{opacity:.7}

/* button */
.btn{display:inline-block;text-decoration:none;cursor:default}
a.btn{cursor:pointer}

/* image map */
.imap{position:relative;max-width:100%;line-height:0}
.imap img{width:100%}
.imap a{position:absolute;display:block}

/* gallery grid */
.gl{display:grid}
.gl-i img{width:100%;display:block}
.gl-i a{display:block}

/* slider */
.sl{position:relative}
.sl-t{display:flex;gap:var(--gap,0);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sl-t::-webkit-scrollbar{display:none}
.sl-i{flex:0 0 calc((100% - (var(--per,1) - 1) * var(--gap,0px)) / var(--per,1));scroll-snap-align:start;min-width:0}
.sl-i img{width:100%;display:block}
.sl-d{display:flex;justify-content:center;gap:6px;padding:12px 0 0}
.sl-d button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:rgba(128,128,128,.45);cursor:pointer;transition:width .2s,background .2s}
.sl-d button.on{width:18px;background:#888}

/* flip-card carousel (front face only) */
.fc{padding:0 40px}
.fc-c{position:relative;aspect-ratio:3/4;border-radius:11px;overflow:hidden}
.fc-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fc-t{position:absolute;left:0;right:0;bottom:0;padding:40px 32px;text-align:center;color:#fff;font-size:24px;font-weight:700;line-height:1.3;word-break:keep-all}
.fc-t small{display:block;margin-top:8px;font-size:18px;font-weight:400;line-height:1.5}
.fc .sl-d button{background:rgba(255,255,255,.3)}
.fc .sl-d button.on{background:#fff}

/* cover-flow carousel */
.cf{--scale:1;position:relative;overflow:hidden;height:calc(var(--cw) * var(--ratio) * var(--scale) + 30px)}
.cf[data-center="on"]{--scale:1.15}
.cf-t{position:absolute;left:0;top:50%;display:flex;gap:var(--gap);align-items:center;width:max-content;transform:translateY(-50%);transition:transform .6s cubic-bezier(.4,0,.2,1);will-change:transform}
.cf-t.nt,.cf-t.nt .cf-c{transition:none}
.cf-c{position:relative;flex:0 0 var(--cw);width:var(--cw);height:calc(var(--cw) * var(--ratio));border-radius:12px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;text-decoration:none;transition:transform .6s cubic-bezier(.4,0,.2,1),margin .6s cubic-bezier(.4,0,.2,1)}
.cf[data-center="on"] .cf-c.on{transform:scale(1.15);margin:0 25.65px;z-index:5}
.cf-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.cf-c:hover img{transform:scale(1.08)}
.cf-x{position:relative;padding:32px 38px}
.cf-x p{margin:0}
.cf-h{font-size:24px;font-weight:600;line-height:1.45;margin-bottom:6px}
.cf-s{font-size:16px;font-weight:500;line-height:1.6}
.cf-b{position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;border:1.69px solid rgba(0,0,0,.1);border-radius:50%;background:#fff;cursor:pointer;z-index:10;opacity:0;transition:opacity .3s}
.cf:hover .cf-b{opacity:1}
.cf-b::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border:solid #4b515b;border-width:2px 2px 0 0;transform:translate(-70%,-50%) rotate(45deg)}
.cf-p{left:40px}.cf-p::before{transform:translate(-30%,-50%) rotate(-135deg)}
.cf-n{right:40px}

/* hero */
.hero{position:relative;overflow:hidden;background:#ddd}
.hero-s{position:absolute;inset:0;display:block;background-position:50% 50%;background-repeat:no-repeat;opacity:0;transition:opacity .8s;pointer-events:none}
.hero-s.on{opacity:1;pointer-events:auto}
.hero .sl-d{position:absolute;left:0;right:0;bottom:16px;padding:0;z-index:2}
.hero .sl-d button{background:rgba(255,255,255,.55)}
.hero .sl-d button.on{background:#fff}
@media (min-width:1921px){.hero-s{background-size:cover!important}}

/* video */
.vid{position:relative;display:block;width:100%;overflow:hidden;background:#000}
.vid img,.vid iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vid span{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(0,0,0,.55)}
.vid span::before{content:"";position:absolute;left:22px;top:17px;border:solid transparent;border-width:11px 0 11px 17px;border-left-color:#fff}

/* notice (replaces the imweb board) */
.notice{max-width:640px;padding:0 0 30px}
.notice h3{margin:0 0 12px;font-size:28px;font-weight:400;color:rgb(54,54,54)}
.notice ul{margin:0;padding:0;list-style:none;border-top:1px solid #222}
.notice li{display:flex;justify-content:space-between;gap:16px;padding:14px 4px;border-bottom:1px solid #e5e5e5;font-size:15px}
.notice time{color:#999;white-space:nowrap}

/* lightbox */
.lbx{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.88);cursor:zoom-out}
.lbx img{max-width:100%;max-height:100%}

/* header */
.hd{position:relative;z-index:50;background:#fff}
.hd-in{display:flex;align-items:center;max-width:1150px;height:70px;margin:0 auto}
.hd-lg{display:block;flex:none;line-height:0}
.lg-d{width:204px;height:auto}
.lg-m{display:none}
.hd-bg{display:none}
.hd-nv{margin-left:37px}
.nv,.nv ul{margin:0;padding:0;list-style:none}
.nv{display:flex}
.nv>li{position:relative}
.nv>li>a{display:block;padding:0 30px;font-size:23px;font-weight:700;line-height:70px;color:#000;text-decoration:none;white-space:nowrap}
.nv>li>a span{padding:3px 12px;border-radius:999px;transition:background .15s,color .15s}
.nv>li:hover>a span,.nv>li.on>a span{background:#6d28ff;color:#fff}
.sub{position:absolute;left:30px;top:100%;min-width:160px;background:rgba(20,20,20,.94);opacity:0;visibility:hidden;transition:opacity .15s}
.nv>li:hover>.sub,.nv>li:focus-within>.sub{opacity:1;visibility:visible}
.sub li{position:relative}
.sub a{display:block;padding:10px 18px;font-size:13px;line-height:1.43;color:rgba(255,255,255,.6);text-decoration:none;white-space:nowrap}
.sub a:hover{color:#fff}
.sub2{position:absolute;left:100%;top:0;min-width:150px;background:rgba(20,20,20,.94);opacity:0;visibility:hidden;transition:opacity .15s}
.sub li:hover>.sub2,.sub li:focus-within>.sub2{opacity:1;visibility:visible}
@media (max-width:1200px) and (min-width:992px){.hd-in{padding:0 20px}.nv>li>a{padding:0 16px;font-size:20px}.sub{left:16px}}

@media (max-width:991px){
  .hd-in{position:relative;justify-content:center;height:126px;padding:17px 0}
  .lg-d{display:none}
  .lg-m{display:block;width:214px;height:auto}
  .hd-bg{display:block;position:absolute;left:40px;top:50%;width:33px;height:35px;margin-top:-17px;padding:0;border:0;border-radius:50%;background:#fff;cursor:pointer}
  .hd-bg i{display:block;width:18px;height:2px;margin:4px auto;background:#000;transition:transform .2s,opacity .2s}
  .hd.open .hd-bg i:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .hd.open .hd-bg i:nth-child(2){opacity:0}
  .hd.open .hd-bg i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .hd-nv{display:none;position:absolute;left:0;right:0;top:100%;margin:0;max-height:calc(100vh - 126px);overflow-y:auto;background:#fff;border-top:1px solid #eee;box-shadow:0 12px 24px rgba(0,0,0,.12)}
  .hd.open .hd-nv{display:block}
  .nv{display:block;padding:8px 0}
  .nv>li>a{padding:0 24px;font-size:18px;line-height:52px}
  .nv>li>a span{padding:0}
  .nv>li:hover>a span,.nv>li.on>a span{background:none;color:#6d28ff}
  .sub,.sub2{position:static;min-width:0;background:none;opacity:1;visibility:visible}
  .sub a{padding:9px 24px 9px 40px;font-size:15px;color:#555}
  .sub a:hover{color:#000}
  .sub2 a{padding-left:58px;font-size:14px;color:#888}
}

.w-cu{display:flex;flex-direction:column;justify-content:center}
.w-cu>*{width:100%}
.pg-main main{padding:0 20px}
.sl[data-over] .sl-d{position:absolute;left:0;right:0;bottom:16px;padding:0}
.sl:not(.fc):not([data-over]) .sl-d{padding-top:8px;padding-bottom:8px}

/* FAQ accordion (from the site's custom code widget) */
.w-code{--primary-color:#F58220;--text-dark:#2B2B2B;color:#2B2B2B}
.faq-container{max-width:800px;margin:0 auto}
.faq-title{margin:20px 0 30px;text-align:center;font-size:30px;line-height:1.1;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.faq-title span{color:var(--primary-color)}
.faq-item{background:#fff;margin-bottom:15px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden;transition:all .3s ease}
.faq-question{padding:20px 25px;font-size:15px;line-height:1.43;font-weight:600;display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none;transition:background-color .2s ease}
.faq-question:hover{background:#fcfcfc}
.faq-icon{flex:none;width:24px;height:24px;position:relative;transition:transform .3s ease}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--text-dark);transition:background-color .3s ease}
.faq-icon::before{top:11px;left:4px;width:16px;height:2px}
.faq-icon::after{top:4px;left:11px;width:2px;height:16px}
.faq-answer{max-height:0;overflow:hidden;background:#fafafa;transition:max-height .3s ease-out}
.faq-answer-content{padding:20px 25px;font-size:14px;line-height:1.6;color:#555;border-top:1px solid #eee}
.faq-item.active{border-left:5px solid var(--primary-color)}
.faq-item.active .faq-icon{transform:rotate(135deg)}
.faq-item.active .faq-icon::before,.faq-item.active .faq-icon::after{background:var(--primary-color)}
.split{display:flex;margin:0 auto}
.split>div{flex:1 1 0;min-width:0}
