html{scroll-padding-top: clamp(65px, 10vw, 100px);}
@media (prefers-reduced-motion: no-preference){
    html{scroll-behavior: smooth;}
}
#wrap{position: relative; overflow: clip;}
.w_custom{position: relative; width: calc(100% - 60px); max-width: 1400px; margin-inline: auto;}
.w_custom.main{width:100%;max-width:100%;}
#container{padding-top:var(--row-gap80);padding-bottom:var(--row-gap140);}
#container:has(.full-sec){width: 100%; max-width:100%;}
#container:has(.pd-dn){padding-bottom:0;}
#container:has(#mainContent){padding:0;}
/* body::-webkit-scrollbar {display: none; } */
body [class*="swiper-button"]:after{display: none;}
.link{position: absolute; inset: 0; z-index: 5;}
.blind{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;}
.ofc{overflow:hidden;}
.ofc > img{width:100% !important;height:100% !important;object-fit:cover !important;}
.dragscroll{ scrollbar-gutter: stable;}
.dragscroll::-webkit-scrollbar {width: clamp(3px, 0.6vw, 4px); height: clamp(3px, 0.6vw, 4px);}
.dragscroll::-webkit-scrollbar-track {background: #eee; border-radius: 10px;}
.dragscroll::-webkit-scrollbar-thumb {background: #aaa; border-radius: 10px;}

br.for_m{display: none;}
@media (max-width:1600px) {
    br.for_pc{display: none;}
}
@media (max-width:1023px) {
    br.for_tm{display: none;}
    br.for_m{display:inline;}
}
@media (max-width:860px) {
    .w_custom{width: calc(100% - 30px);}
}
@media (max-width:320px) {
    .w_custom{width: calc(100% - 20px);}
}

/* ========================================
    빠른 상담문의 (Quick Inquiry)
======================================== */
    #dbQuickInquiry{display: none;}
    /* ── 공통 ── */
    .db-qi-header { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 1rem; }
    .db-qi-title { font-size: 1rem; font-weight: 700; color: var(--qi-text, #fff); }
    .db-qi-close { background: none; border: none; color: var(--qi-text, #fff); font-size: 1.5rem; cursor: pointer; opacity: 0.7; line-height: 1; }

    .db-qi-input { display: block; width: 100%; padding: 0.5rem 0.75rem; border: 1px solid rgba(255,255,255,0.3); border-radius: 0.375rem; background: rgba(255,255,255,0.15); color: var(--qi-text, #fff); font-size: 0.875rem; outline: none; transition: border-color 0.2s; }
    .db-qi-input::placeholder { color: rgba(255,255,255,0.6); }
    .db-qi-input:focus { border-color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.25); }

    .db-qi-privacy { display: flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: var(--qi-text, #fff); opacity: 0.85; cursor: pointer; flex-shrink: 0; }
    .db-qi-privacy input[type="checkbox"] { width: 14px; height: 14px; flex-shrink: 0; }
    .db-qi-privacy-link { color: var(--qi-text, #fff); text-decoration: underline; opacity: 0.8; margin-left: 0.25rem; }

    .db-qi-btn { padding: 0.5rem 1.5rem; background: rgba(255,255,255,0.95); color: var(--qi-bg, #1e40af); border: none; border-radius: 0.375rem; font-weight: 700; font-size: 0.875rem; cursor: pointer; transition: background 0.2s; white-space: nowrap; flex-shrink: 0; }

    .db-qi-msg { text-align: center; font-size: 0.8rem; padding: 0.5rem; color: var(--qi-text, #fff); }
    .db-qi-form { display: flex; flex-direction: column; gap: 0.5rem; padding: 0 1rem 1rem; }

    /* ── 하단 고정 바 ── */
    .db-qi-bottom { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9980; }
    .db-qi-bottom-tab { display: flex; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; padding: 0.75rem; background: var(--qi-bg, #1e40af); color: var(--qi-text, #fff); border: none; cursor: pointer; font-size: 0.9rem; font-weight: 600; }
    .db-qi-bottom-panel { background: var(--qi-bg, #1e40af); border-top: 1px solid rgba(255,255,255,0.1); }
    .db-qi-bottom-inner { max-width: 1200px; margin: 0 auto; }
    .db-qi-form-row { flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
    .db-qi-form-row .db-qi-input { width: auto; flex: 1 1 150px; min-width: 120px; }

    /* 캡차 영역 */
    .db-qi-captcha { flex: 0 0 auto; display: flex; align-items: center; }
    .db-qi-captcha img { height: 40px !important; border-radius: 6px; }
    .db-qi-captcha input[name="captcha_answer"] { height: 40px; padding: 0 10px; border: 1px solid #d1d5db; border-radius: 6px; width: 110px; font-size: 13px; color: #111; background: #fff; }
    @media (max-width: 768px) {
        .db-qi-captcha { width: 100%; justify-content: flex-start; }
    }

    /* ── 우측 패널 ── */
    .db-qi-right { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 9980; display: flex; align-items: flex-start; }
    .db-qi-right-tab { writing-mode: vertical-rl; text-orientation: mixed; padding: 1rem 0.5rem; background: var(--qi-bg, #1e40af); color: var(--qi-text, #fff); border: none; border-radius: 0.5rem 0 0 0.5rem; cursor: pointer; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.05em; }
    .db-qi-right-panel { display: none; width: 280px; background: var(--qi-bg, #1e40af); border-radius: 0.5rem 0 0 0.5rem; box-shadow: -4px 0 20px rgba(0,0,0,0.15); }

    /* hover */
    @media (hover:hover) and (pointer:fine){
        .db-qi-close:hover { opacity: 1; }
        .db-qi-privacy-link:hover { opacity: 1; }
        .db-qi-btn:hover { background: #fff; }
        .db-qi-bottom-tab:hover { filter: brightness(1.1); }
        .db-qi-right-tab:hover { filter: brightness(1.1); }
    }

    /* ── 반응형 ── */
    @media (max-width: 768px) {
        .db-qi-form-row { flex-direction: column !important; }
        .db-qi-form-row .db-qi-input { width: 100%; flex: none; }
        .db-qi-right { right: 0; top: auto; bottom: 0; transform: none; left: 0; flex-direction: column; }
        .db-qi-right-tab { writing-mode: horizontal-tb; text-orientation: initial; border-radius: 0; width: 100%; text-align: center; }
        .db-qi-right-panel { width: 100%; border-radius: 0; }
    }

/*────────────────────────────────────────────────────
    Header
────────────────────────────────────────────────────*/
    #header{position:fixed;height:clamp(65px, 10vw, 110px);top: 0;z-index: 100;width:100%;transition:all 0.3s;background:none;box-shadow:none;}
    #header .w_custom{height: 100%;max-width:1760px;display: flex;align-items: center;justify-content: space-between;gap: 15px;}
    #header .logo{height: 100%;flex-shrink:0;}
    #header .logo a{display: flex;align-items: center;height: 100%;padding-block: 10px;}
    #header .logo a img{height:clamp(45px, 5vw, 60px);}
    #header .gnb{display: flex;justify-content: center;height: 100%;text-align: center;}
    #header .gnb > li{position: relative;font-size:var(--text-20);font-weight: 600;color: var(--black-color03);line-height: 1.4;letter-spacing: 0;transition: all 0.4s;}
    #header .gnb > li > a{display: flex;align-items: center;justify-content: center;height: 100%;position: relative;padding-inline:clamp(20px, 2vw, 40px);}
        #header .gnb > li.on > a{color: var(--point-color01);}
    #header .gnb .dep02{position: absolute;top: 80%;left: 50%;width: max-content;max-width: 300px;min-width: 180px;translate: -50%;background: var(--point-color01);padding-block: 18px;opacity: 0;pointer-events: none;transition: inherit;border-radius:var(--radius-10);}
    #header .gnb .dep02 > li{font-size: 90%;filter: var(--filter-white); transition: inherit;}
    #header .gnb .dep02 > li > a{display: block;padding: 10px 25px;}
    #header .gnb .dep03{display: none;}
    #header .utility{position: relative;display: flex;align-items: center;gap:var(--row-gap40);flex-shrink:0;}
    #header .allCate{display:flex;flex-direction: column;align-items: center;justify-content:space-between;width: clamp(30px, 4vw, 40px);aspect-ratio: auto 1.9;}
    #header .allCate span{display: inline-block;width:100%;height:3px;background:var(--black-color01);transition:width 0.3s;}
    #header .allCate span:nth-child(1){align-self: flex-end;width:50%;}
    #header .allCate span:nth-child(3){align-self: flex-start;width:50%;}

        #header :is(.logo, .gnb > li, .allCate){filter:var(--filter-white);}

        #header.on{box-shadow: inset 0 -1px 0 var(--border-color01);background:var(--point-white);}
        #header.on :is(.logo, .gnb > li, .allCate){filter:none;}

        /* hover */
        @media (hover:hover) and (pointer: fine) {
            #header:hover{box-shadow: inset 0 -1px 0 var(--border-color01);background:var(--point-white);}
            #header:hover :is(.logo, .gnb > li, .allCate){filter:none;}

            #header .gnb > li:hover{color: var(--point-color01);}
            #header .gnb > li:hover > a{color: var(--point-color01);}
            #header .gnb > li:hover .dep02{opacity: 1; pointer-events: auto;}
            #header .gnb .dep02:has(> li:hover) > li:not(:hover){opacity: 0.4;}

            #header .allCate:hover span{width:100%;}

        }

    @media (max-width:1400px) {
        #header .utility{gap:var(--row-gap20);}
    }
    @media (max-width:1200px) {
        #header .gnb > li{font-size:var(--text-18)}
        #header .gnb > li > a{padding-inline:2vw;}
    }
    @media (max-width:1023px) {
        #header .gnb{display: none;}
    }
/*───────────────────────────────────────────────────────────

	Aside 

───────────────────────────────────────────────────────────*/
    #aside{position: fixed;top: 0;left:0;width: 100%;height: 100%;z-index: 999;background: rgba(255,255,255,0.8);backdrop-filter:blur(10px);display: flex;flex-direction: column;overflow: hidden;overflow-y: auto;padding-block: 10vh;box-sizing: border-box;opacity: 0;transition: all 0.6s;clip-path: inset(0 0 100% 0);}
        #aside.on{opacity: 1;clip-path: inset(0);}
        body:has(#aside.on){overflow: clip; touch-action: none;}
    #aside .w_custom{flex-shrink: 0;max-width: 1800px;min-height: 100%;display: flex;align-items: center;}
    #aside .gnb{width: 100%;display: grid;align-items: start;justify-content: center;grid: auto / repeat(6, 1fr);gap: clamp(15px, 2.2vw, 40px);}
    #aside .gnb > li{color: var(--black-color01);font-size: var(--text-20);text-align: center;}
        
        @media (min-width:861px) {
            #aside .gnb > li{opacity:0;translate:0 100px;transition:all 0.8s 0.3s;}
            #aside.on .gnb > li{opacity:1;translate:0;}
            #aside.on .gnb > li:nth-child(2){transition-delay:0.4s;}
            #aside.on .gnb > li:nth-child(3){transition-delay:0.5s;}
            #aside.on .gnb > li:nth-child(4){transition-delay:0.6s;}
            #aside.on .gnb > li:nth-child(5){transition-delay:0.7s;}
            #aside.on .gnb > li:nth-child(6){transition-delay:0.8s;}
        }
    #aside .gnb > li > a{position: relative;display: block;font-size: var(--text-40);font-weight: 700;line-height: 1.4;padding-block: 30px;transition: all 0.4s;letter-spacing: 0;}
        #aside .gnb > li > a:before{position: absolute;content: '';top: 0;left: 50%;translate: -50%;width:12px;height: 0;opacity:0;border-radius:100%;background: var(--point-color01);transition:all 0.3s;}
    #aside .gnb .dep02{position: relative;}
    #aside .gnb .dep02 > li > a{display: block;font-weight: 400;padding-block: clamp(7px, 1.7vw, 13px);color: var(--black-color06);line-height: 1.6;transition: all 0.4s;}
    #aside .gnb .dep03{display: none;}
    #aside .utility{position: absolute;top: clamp(30px, 2.8vw, 50px);right: clamp(30px, 2.8vw, 50px);display: flex;align-items: center;gap: clamp(15px, 1.6vw, 30px);z-index:2;}
    #aside .close_btn{position: relative;width: clamp(30px, 4vw, 40px);aspect-ratio:auto 1;z-index: 9;}
    #aside .close_btn span{position: absolute;top:50%;left:50%;transform: translate(-50%, -50%) rotate(45deg);width: 100%;height: 2px;background: var(--black-color01);}
    #aside .close_btn span + span{transform: translate(-50%, -50%) rotate(-45deg);}
    
        /* over */
            @media (hover:hover) and (pointer:fine){
				#aside .gnb > li:hover > a{color: var(--point-color01);}
                #aside .gnb > li:hover > a:before{height:12px;opacity:1;}
                #aside .gnb .dep02 > li:hover a{color: var(--point-color01);}
            }

    @media (max-width:1300px){
        #aside .gnb{grid: auto / repeat(3, 1fr);}
    }
    @media (max-width:1023px){
        #aside{padding-block: clamp(80px, 12vw, 120px);}
    }
    @media (max-width:860px){
		#aside{display: block;}
		#aside .w_custom{align-items:flex-start;}
		#aside .gnb{grid-template: auto / repeat(1, 1fr);gap:0;}
        #aside .gnb > li{padding-block: clamp(20px, 3vw, 25px);text-align:left;border-bottom: 1px solid rgba(0,0,0,0.15);}
        #aside .gnb > li > a{padding-block: 0;}
		#aside .gnb > li > a:before{display: none;}
        #aside .gnb .dep02{display: grid;gap: 0 20px;grid-template: auto / repeat(2, 1fr);margin-top: clamp(10px, 1.8vw, 15px);justify-content: flex-start;}
		#aside .utility{top:15px; right: 15px;}
    }
    @media (max-width:479px){
        #aside .gnb .dep02{grid-template: auto / repeat(1, 1fr);}
    }

/*───────────────────────────────────────────────────────────

    Footer

───────────────────────────────────────────────────────────*/
    .footer{background:var(--point-white);border-top:1px solid var(--border-color01);padding-top:var(--row-gap80);color:var(--black-color06);}
    .footer a:focus-visible{outline:3px solid var(--point-color01);outline-offset:3px;}
    .footer-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--row-gap60) var(--col-gap60);padding-bottom:var(--row-gap90);}
    .footer-brand{display:flex;flex-direction:column;gap:var(--row-gap45);flex-shrink:0;}
    .footer-logo img{display:block;width:clamp(220px, 22vw, 330px);height:auto;}
    .footer-address{display:flex;flex-direction:column;align-items:flex-start;gap:var(--row-gap10);font-style:normal;}
    .footer-desc{display:flex;align-items:baseline;gap:var(--row-gap10);font-size:var(--text-16);color:var(--black-color06);}
    .footer-desc dt{flex-shrink:0;color:var(--black-color01);}
    .footer-desc dd a{color:var(--black-color06);}
    .footer-desc dd a:focus-visible{color:var(--point-color01);}
    .footer-sitemap > ul{display:grid;grid-template-columns:repeat(4, auto);gap:var(--row-gap140);}
    .footer-sitemap > ul > li > a{font-size:var(--text-18);font-weight:700;color:var(--black-color01);margin-bottom:var(--row-gap20);display: block;}
    .footer-sitemap .mega{display:flex;flex-direction:column;gap:var(--row-gap10);}
    .footer-sitemap .mega a{font-size:var(--text-16);color:var(--black-color07);transition:color .2s ease;}
    .footer-sitemap .mega a:focus-visible{color:var(--point-color01);outline:3px solid var(--point-color01);outline-offset:2px;}
    .footer-bottom{background:var(--black-color01);padding-block:var(--row-gap25);}
    .footer-bottom-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--row-gap20) var(--col-gap20);}
    .footer-bottom-left{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(3px, 0.3vw, 4px) var(--col-gap17);font-size:var(--text-16);color:rgba(255,255,255,.55);letter-spacing:-.01em;}

    .footer-util{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(5px, 0.5vw, 6px) var(--col-gap20);font-size:var(--text-16);color:rgba(255,255,255,.65);}
    .footer-util ul{display: flex;align-items: center;}
    .footer-util ul li{display: flex;align-items: center;}
    .footer-util ul li + li:before{content: '';width: 1px;height: 12px;background: rgba(255, 255, 255, 0.2);display: inline-block;margin-inline:var(--row-gap20);}
    .footer-util ul li.policy a{color: var(--point-white);font-weight: 600;}
    .footer-util a{color:inherit;transition:color .2s ease;}
    .footer-util a:focus-visible{color:var(--point-white);outline:3px solid var(--point-white);outline-offset:2px;}

    @media (hover:hover) and (pointer:fine){
        .footer-desc dd a:hover{color:var(--point-color01);}
        .footer-sitemap-col a:hover{color:var(--point-color01);}
        .footer-util a:hover{color:var(--point-white);}
    }
    @media (max-width:768px){
        .footer-top{flex-direction:column;align-items:flex-start;}
        .footer-sitemap{display:none;}
        .footer-bottom-inner{flex-direction:column;align-items:flex-start;}
    }
    @media (max-width:480px){
        .footer-sitemap{grid-template-columns:1fr;}
    }


/*───────────────────────────────────────────────────────────

    Main

───────────────────────────────────────────────────────────*/
    .main_visual{position: relative;width: 100%;height:100vh;overflow: hidden;}
    .main_visual_video{display: block;width: 100%;height: 100%;max-width: none; max-height: none;object-fit: cover;object-position: center center;}    

    @media (max-width:1023px){
        .main_visual{height:110vw;}
    }
