/*=========================================================================
HEADER
=========================================================================*/
#header {position:fixed; top:0; left:0; width:100%; z-index:1000; background:transparent; border-bottom: 1px solid #eee; backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px); transition:background .3s var(--ease);}
#header.scrolled {background: rgba(255,255,255,.8);}
.headerInner {max-width:var(--max-cont); margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:0 var(--pad-lr);height:68px;}
.logo {width:170px; height:68px; display:flex; align-items:center;}
.logo img {object-fit:contain;}
.gnb {display:flex;gap:36px;}
.gnb a {font-family:var(--f-sub-en); font-size:.93em; font-weight:500; letter-spacing:.04em; transition:color .2s; position:relative;padding:4px 0;}
.gnb a::after {content:''; position:absolute; bottom:-2px; left:0; width:0; height:2px; background:var(--red); transition:width .25s var(--ease);}
.gnb a:hover::after {width:100%;}
.headerActions {display:flex; align-items:center;}
.headerCta {font-family:var(--f-sub-en); font-size:.87em; font-weight:700; background:var(--red); color:#fff; padding:9px 22px; border-radius:var(--radius); letter-spacing:.06em; transition:background .2s;}
.headerCta:hover {background:var(--red-hover);}

/* hamburger */
.hamburger {display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; cursor:pointer; z-index:1100; background:none; border:none; padding:5px;}
.hamburger span {display:block; width:22px; height:1.5px; background:var(--gray4); border-radius:2px;}

/* overlay */
.drawerOverlay {display:none; position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:1050;opacity:0;transition:opacity .3s;}
.drawerOverlay.open {opacity:1;}

/* drawer */
.mobileDrawer {position:fixed; top:0; right:0; width:300px; height:100dvh; background:var(--dark); z-index:1060; display:flex; flex-direction:column; transform:translateX(100%);transition:transform .35s var(--ease); overflow-y:auto; border-left:1px solid rgba(255,255,255,.08);}
.mobileDrawer.open {transform:translateX(0);}
.drawerClose {display:flex; align-items:center; justify-content:space-between; padding:20px 24px; background:none; border:none; cursor:pointer; border-bottom:1px solid rgba(255,255,255,.07);}
.drawerClose svg {width:22px; height:22px; color:rgba(255,255,255,.5); transition:color .2s;}
.drawerClose:hover svg {color:#fff;}
.drawerLogo {width:110px; height:40px;}
.drawerLogo img {object-fit:contain;}
.drawerNav {display:flex; flex-direction:column;}
.drawerNav a {font-family:var(--f-sub-en); font-size:.97em; font-weight:500; color:rgba(255,255,255,.7); padding:13px 24px; letter-spacing:.04em; border-bottom:1px solid rgba(255,255,255,.05); transition:color .2s,background .2s;}
.drawerNav a:hover {color:#fff; background:rgba(255,255,255,.04);}
.drawerActions {padding:24px 20px 0;}
.drawerCta {display:block;text-align:center; font-family:var(--f-sub-en); font-size:.9em; font-weight:700; background:var(--red); color:#fff; padding:13px; border-radius:var(--radius); letter-spacing:.06em; transition:background .2s;}
.drawerCta:hover {background:var(--red-hover);}

@media (max-width:1200px) {
  .gnb{gap: 20px;}
}
@media (max-width:1000px) {
  .gnb {display:none;}
  .headerCta {display:none;}
  .hamburger {display:flex;}
}

/*=========================================================================
FOOTER
=========================================================================*/
.footer{background:var(--dark); border-top:1px solid rgba(255,255,255,.08); padding:52px 0 32px;}
.footerInner{max-width:var(--max-cont); margin:0 auto; padding:0 var(--pad-lr);}

/* 로고 */
.footerBrand{margin-bottom:25px;}
.footerLogo{width:150px ;height:30px; margin-bottom:3px; opacity:.8;}
.footerLogo img {object-fit:contain;}
.footerBrandSub {font-family:var(--f-sub-en); font-size:.76em; color:rgba(255,255,255,.3); letter-spacing:.06em;}

/* 푸터 컨텐츠 */
.footerTop {display:grid; grid-template-columns:1fr 1fr 1.5fr; gap:24px; margin-bottom:36px; align-items:stretch;}
.footerCard {height:100%; display:flex;flex-direction:column; justify-content:center; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); padding:24px;}
.footerCardName{display:block; font-size:.9em; font-weight:600; color:rgba(255,255,255,.75); margin-bottom:14px; line-height:1.4;}
.footerCardDesc{font-size:.82em; color:rgba(255,255,255,.45); line-height:1.75;word-break:keep-all;}
.footerCol:first-child{margin-bottom: 15px;}
.footerColTitle {font-family:var(--f-sub-en); font-size:.7em; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--red); margin-bottom:7px;}
.footerList {display:flex; flex-direction:column; gap:3px;}
.footerList li {font-size:.82em; color:rgba(255,255,255,.45); display: flex; gap: 8px;}
.footerList li::before{content:''; width: 3px; height: 3px; border-radius: 50%; background: var(--red); display: inline-block; transform: translateY(11px);}
.footerBottom {border-top:1px solid rgba(255,255,255,.07); padding-top:22px;}
.fCopy {font-size:.75em; color:rgba(255,255,255,.2); font-family:var(--f-sub-en);}

@media (max-width:1200px) {
  .footerTop {grid-template-columns:1fr;gap:20px;}
}
@media (max-width:900px) {
  .footer {padding:40px 0 24px;}
  .footerTop{gap:16px; margin-bottom:24px;}
  .footerBottom {padding-top:16px;}
}

/*=========================================================================
BACK TO TOP
=========================================================================*/
.topBtn {position:fixed; bottom:24px; right:24px; z-index:500; width:44px; height:44px; background:var(--red); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 0 10px rgba(227,18,18,.35); opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .25s,transform .25s;}
.topBtn.show {opacity:1; pointer-events:auto; transform:none;}
.topBtn:hover {background:var(--red-hover);}
.topBtn svg {width:18px; height:18px;}
@media (max-width:900px) {
  .topBtn {bottom:14px; right:14px; width:38px; height:38px;}
}
