
    #wrap{position: relative; overflow: clip;}
    .w_custom{position: relative;width: calc(100% - 60px);max-width: 1500px;margin-inline: auto;}
    #wrap [class*="swiper-button"]::after{display: none;}
    main{padding-bottom: var(--row-gap150);}
    main:has(.full-sec){width:100%; max-width: 100%;}
    main:has(.pb-dn){padding-bottom: 0;}
	.link{position:absolute; inset:0; z-index:3;}
    .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);}
    .dragscroll::-webkit-scrollbar-track {background: #eee; border-radius: 10px;}
    .dragscroll::-webkit-scrollbar-thumb {background: #aaa; border-radius: 10px;}

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

    .db-policy-modal{width:calc(100% - 60px);max-width:600px;background:var(--point-white);padding:var(--row-gap30);}
    .db-policy-header{margin-bottom:var(--row-gap20);display: flex;align-items: center;justify-content: space-between;}
    .db-policy-header .db-policy-title{font-size:var(--text-22);color:var(--black-color00);font-weight:600;}
    .db-policy-header .db-policy-close{width:20px;aspect-ratio:auto 1;position: relative;font-size:0;}
    .db-policy-header .db-policy-close{&::before, &::after{width:100%;height:2px;content:"";background:var(--black-color03);position: absolute;top:50%;left:0;rotate:45deg;}}
    .db-policy-header .db-policy-close:after{rotate:-45deg;}
    #wrap .db-policy-body{font-family:var(--font-type01);max-height:460px;overflow-y:auto;background:var(--gray-bg01);padding:var(--row-gap20);}
    #wrap .db-policy-body::-webkit-scrollbar{width: 3px;background:transparent;}
    #wrap .db-policy-body::-webkit-scrollbar-thumb{width:3px;background:var(--black-color08);}

    @media (max-width:860px) {
        .db-policy-modal{width:100%;}
    }

/*─────────────────────────────────────────────────────────
    Header
─────────────────────────────────────────────────────────*/
    #header{position: fixed;top:0;left: 0;width: 100%;height: clamp(65px, 10vw, 100px);z-index: 100;transition: all 0.4s;}
    #header .w_custom{max-width: 1800px;height: 100%;display: flex;align-items: center;justify-content: space-between;gap:15px;}
    #header .logo{height: 100%;max-width: clamp(220px, 25vw, 278px);position:relative;z-index:3;}
    #header .logo a{display: flex; align-items: center; height: 100%;}
    #header .logo img{height: auto;}
    #header .gnb{height: 100%;display: flex;justify-content: center;text-align: center;position: absolute;top:0;left:50%;translate:-50%;}
    #header .gnb > li{position: relative;font-size:var(--text-20);font-weight: 600;color: var(--black-color03);height: 100%;transition: all 0.4s;}
    #header .gnb > li > a{display: flex;align-items: center;justify-content: center;height: 100%;padding-inline: clamp(30px, 4vw, 60px);}
    #header .gnb .dep02{position: absolute;top: 85%;left: 50%;width: max-content;max-width: 300px;min-width: 180px;background: var(--point-color02);border-radius: var(--radius-10);translate: -50%;padding-block: 20px; opacity: 0; pointer-events: none; transition: inherit;}
    #header .gnb .dep02 > li{font-size: 95%;font-weight: 500;filter: var(--filter-white); transition: inherit;}
    #header .gnb .dep02 > li > a{display: block;padding: 7px 20px;}
    #header .utility{display: flex;align-items: center;flex-shrink: 0;height:100%;}
    #header .all-cate{position: relative;flex-direction: column;justify-content: space-between;width: clamp(24px, 3vw, 30px);aspect-ratio: auto 1.5;display: flex;}
    #header .all-cate span{width: 100%; height:2px;background: var(--black-color03);transition:width 0.3s;}

    #header :where(.gnb > li > a, #header .all-cate span){filter:var(--filter-white);}
    #wrap #header .all_menu .gnb > li > a{filter:none;}

        /*on*/
        #header.on{box-shadow: inset 0 -1px 0 var(--border-color01);background: var(--point-white);}
        #header.on :where(.gnb > li > a, #header .all-cate span),
        #header.active :where(.gnb > li > a, #header .all-cate span){filter:none;}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            #header:hover{box-shadow: inset 0 -1px 0 var(--border-color01);background: var(--point-white);}
            #header:hover :where(.gnb > li > a, #header .all-cate span){filter:none;}
            #header .gnb > li:hover > a{color:var(--point-color01);}
            #header .gnb .dep02 > li:hover > a{color:var(--black-color03);text-decoration: underline;}
            #header .gnb > li:hover .dep02{opacity: 1; pointer-events: auto;}
        }

    @media (max-width:1023px) {
        #header .gnb{display: none;}
		#header .all-cate span{height:2px;}
    }

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

	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(3, 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 .utility{position: absolute;top: clamp(30px, 2.8vw, 50px);right: clamp(30px, 2.8vw, 50px);display: flex;align-items: center;gap: clamp(20px, 1.6vw, 30px);z-index:2;}
    #aside .close_btn{position: relative;width: clamp(30px, 4vw, 40px);height: clamp(30px, 4vw, 40px);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-color02);}
            }

    @media (max-width:1400px){
        #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);}
    }

/*─────────────────────────────────────────────────────────
    Main
─────────────────────────────────────────────────────────*/
    :is(#fullpage, #companyFullpage) .section{padding-block: var(--row-gap140);position: relative;}
    #fullpage .section.main_visual{padding-block: 0;}
    #fullpage .main_visual .fp-tableCell{padding-top:0;}
    
    body #fp-nav{z-index:900;display:block !important;}
    body #fp-nav.right{right:auto;left:60px;}
    body :is(#fp-nav ul li, .fp-slidesNav ul li){margin:0;width:auto;height:auto;}
    body #fp-nav ul{display: flex;flex-direction: column;align-items: center;gap:20px;}
    body #fp-nav ul li a{position:relative;display:block;width:6px;height:6px;}
    body #fp-nav ul li a span{display:block;width:100% !important;height:100% !important;background:var(--point-white);opacity:0.8;border-radius:100px !important;margin:0 !important;position:absolute;inset:0;}
    body #fp-nav ul li a.active{width:18px;height:16px;}
    body #fp-nav ul li a.active span{opacity:1;background:url('/images/quick_hexagon.svg')no-repeat center / auto 100% !important;}

    body:has(#header.on) #fp-nav ul li a span{background: var(--border-color01);opacity:1;}


    @media (max-width:1023px) {
        body #fp-nav{display:none !important;}
    }

    @media (min-width:1024px) {
        :is(#fullpage, #companyFullpage) .section{height: 100dvh !important;overflow: hidden; padding-block: 0;}
        :is(#fullpage, #companyFullpage) :where(.section:has(~ .section.active), .section.active) [data-aos]{opacity: 1; transform: translateZ(0);}
        #fullpage .gr-bg{padding-block: 0;}
        :is(#fullpage, #companyFullpage) .fp-tableCell{height: 100dvh !important;display: flex;flex-direction: column;justify-content: center;overflow: hidden;padding-top: 100px;}
        :is(#fullpage, #companyFullpage) .ftr-sec{height: auto !important;}
        :is(#fullpage, #companyFullpage) .ftr-sec {& .fp-tableCell{height: auto !important; padding-top: 0;}}
    }

    /* 비주얼 */
        .visualSwiper{position: relative; background: var(--black-color01);width:100%;height:100%;}
        .visualSwiper .swiper-slide{position: relative;height:100vh;overflow: hidden;display: flex;flex-direction: column;justify-content: center;}
        .visualSwiper .thumb{position: absolute;inset: 0;overflow: hidden;scale:1.1;transition:all 8s;}
        .visualSwiper.is-animated .swiper-slide-active .thumb{scale:1;}
        .visualSwiper .title{position:absolute;left:50%;top:35.33%;z-index:2;display:flex;flex-direction:column;align-items:flex-start;color:var(--point-white);line-height:1.3;translate:-50% 0;}
        .visualSwiper .title h2{font-size:clamp(48px, 5.2vw, 100px);font-weight:800;letter-spacing:0;line-height:1.3;}
            .visualSwiper .title h2::after{content:"";display:block;width:clamp(40px, 6vw, 60px);height:2px;margin-block:var(--row-gap30);background:#25eb10;}
        .visualSwiper .title strong{display:block;font-size:var(--text-26);font-weight:700;line-height:1.6;}
        .visualSwiper .title p{font-size:var(--text-24);font-weight:400;line-height:1.6;}
        .visualSwiper .txt-ani{opacity: 0; translate: 70px;}
        .visualSwiper.is-animated .swiper-slide.swiper-slide-active .txt-ani{opacity: 1; translate: 0; transition: all 1.2s 0.2s;}
            .visualSwiper.is-animated .swiper-slide.swiper-slide-active .txt-ani:nth-child(2){transition-delay: 0.4s;}
            .visualSwiper.is-animated .swiper-slide.swiper-slide-active .txt-ani:nth-child(3){transition-delay: 0.7s;}
        .visualSwiper .controller{position:absolute;left:50%;bottom:clamp(25px, 5vw, 50px);z-index:5;translate:-50%;display:flex;align-items:center;gap:var(--row-gap40);pointer-events:auto;justify-content: flex-end;}
        #wrap .visualSwiper .swiper-pagination{position: relative;inset: auto;width: auto;display: flex;align-items: center;gap:var(--row-gap30);width:auto;}
        .visualSwiper .swiper-pagination-bullet{position: relative;display:block;flex-shrink:0;width:clamp(30px, 4vw, 40px);aspect-ratio:auto 1;margin: 0 !important;padding:0;border:0;background: transparent;opacity: 1;border-radius: 50%;transition: opacity 0.3s;cursor:pointer;height:auto;}
            .visualSwiper .swiper-pagination-bullet::before{position:absolute;content:'';left:50%;top:50%;width:clamp(4px, 0.7vw, 8px);aspect-ratio:auto 1;border-radius:50%;background:var(--point-white);opacity:0.5;translate:-50% -50%;}
        @property --visual-bullet-angle {syntax:"<angle>";inherits:false;initial-value:0deg;}
        .visualSwiper .swiper-pagination-bullet::after{--visual-bullet-angle:0deg;position:absolute;content:"";inset:0;border-radius:50%;background:conic-gradient(var(--point-white) var(--visual-bullet-angle), rgba(255,255,255,0.18) 0deg);opacity:0;-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1px));}
        .visualSwiper .swiper-pagination-bullet-active::after{opacity:1;}
        .visualSwiper.on .swiper-pagination-bullet-active::after{animation: visual-bullet-progress 6s linear forwards;}
            @keyframes visual-bullet-progress {to {--visual-bullet-angle:360deg;}}
        .visualSwiper .swiper-pagination-bullet-active{border:0;}
        .visualSwiper .swiper-pagination-bullet-active::before{opacity:1;}
        .visualSwiper .arw-box{display: flex;align-items: center;flex-wrap: wrap;gap: clamp(18px, 1.56vw, 30px);}
        .visualSwiper .swiper-arw{position: relative;inset: auto;margin: 0;width: 9px;height: 17px;aspect-ratio: auto;}
        .visualSwiper .swiper-arw:focus-visible,
        .visualSwiper .swiper-pagination-bullet:focus-visible{outline: 2px solid var(--point-white);outline-offset: 4px;}
        .visualSwiper .swiper-arw::before{position: absolute;content:'';width:clamp(7px, 1vw, 13px);aspect-ratio:auto 1;border:2px solid var(--point-white);border-width: 2px 2px 0 0;rotate: -135deg;top: 50%;left: 58%;translate: -50% -50%;border-radius: 1px;}
        .visualSwiper .swiper-arw.next{scale: -1 -1;}
        .visualSwiper .swiper-counter{position: relative;width: auto;inset: auto;display:flex;align-items:center;gap:8px;font-size: var(--text-20);font-weight: 400;color: var(--point-white);}
        .visualSwiper .swiper-counter-current{color: var(--point-white);min-width: auto;display: inline-block;font-weight: 700;}

        @media (max-width:1700px) {
            .visualSwiper .title{padding-inline:70px;}
        }
        @media (max-width:1024px) {
            .visualSwiper .swiper-slide{height:clamp(500px, 96vw, 960px);}
            .visualSwiper .title{padding-inline:0;}
        }
        @media (max-width:479px) {
            .visualSwiper .swiper-slide{height:155vw;}
            .visualSwiper .thumb img{object-position:right 30% bottom 10%;}
        }


    /*공통*/
        :is(#fullpage, #companyFullpage) .section{background:var(--black-color01);isolation:isolate;}
        :is(#fullpage, #companyFullpage) .section .bg{z-index:-1;}

        .main_title{display: flex;flex-direction: column;align-items: center;text-align: center;color:var(--black-color03);gap:var(--row-gap20);}
        .main_title.wh * {color:var(--point-white) !important;}
        .main_title h3{font-size:var(--text-54);font-weight:700;}
        .main_title strong{font-size:var(--text-40);font-weight:700;}
        .main_title p{font-size:var(--text-20);font-weight:400;line-height:1.6;margin-top:var(--row-gap10);}

        .bullet-list{display:flex;flex-direction:column;}
        .bullet-list li{font-size:var(--text-20);font-weight:400;line-height:1.8;color:var(--point-white);gap:6px;display:flex;align-items:flex-start;}
        .bullet-list li:before{width:3px;aspect-ratio:auto 1;content:"";display: inline-block;flex-shrink:0;background:var(--point-white);border-radius:100%;translate:0 clamp(10px, 1.4vw, 16px);}

        .main_more{display:inline-flex;align-items:center;justify-content:space-between;border-radius:var(--radius-10);padding:clamp(6px, 1vw, 12px);padding-left:clamp(12px, 2vw, 24px);border:2px solid var(--point-white);width:clamp(160px, 20vw, 220px);font-size:var(--text-20);color:var(--point-white);font-weight:600;position: relative;overflow:hidden;}
        .main_more:before{position: absolute;content: '';width: 100%;height: 100%;background: var(--point-white);top: 0;right:0;z-index: 0;transition: clip-path 0.45s ease, opacity 0.3s ease;opacity: 0;clip-path: circle(0 at 100% 120%);}
        .main_more.arw{background:none;padding:0;border:none;border-radius:0;}
        .main_more.arw:before{display: none;}
        .main_more span{position: relative;z-index:1;}
        .main_more .ico{position:relative;z-index:1;display:block;width:clamp(30px, 4vw, 40px);aspect-ratio:auto 1;background: var(--point-white);border-radius:5px;}
            .main_more .ico{&::before, &::after{position:absolute;content:"";top:50%;left:50%;}}
            .main_more .ico::before{width:9px;height:9px;border:2px solid var(--point-color01);border-width:2px 2px 0 0;translate:-50% -50%;rotate:45deg;}
            .main_more .ico::after{width:13px;height:2px;background:var(--point-color01);translate:-55% -50%;}

            .main_more .ico.dark{background:var(--black-color03);}
            .main_more .ico.dark:before{border-color:var(--border-color01);}
            .main_more .ico.dark:after{background:var(--border-color01);}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_more:not(.arw):hover:before{opacity:1;clip-path: circle(150% at 100% 50%);}
                .main_more:not(.arw):hover span{color:var(--black-color01);}
                .main_more:not(.arw):hover .ico{background:var(--point-color01);}
                .main_more:not(.arw):hover .ico::before{border-color:var(--point-white);}
                .main_more:not(.arw):hover .ico::after{background:var(--point-white);}

                    .main_more:hover .ico.dark{background:var(--point-color01);}
                    .main_more:hover .ico.dark:before{border-color:var(--point-white);}
                    .main_more:hover .ico.dark:after{background:var(--point-white);}
            }
        
        .section .bg{width:100%;height:100%;position: absolute;top:0;left:0;}

    /*keyword*/
        .kewyword_box{position:relative;display:flex;align-items:center;justify-content:center;}
        .kewyword_box::before,
        .kewyword_box::after{content:"";flex:1 1 0;height:1px;background:rgba(255,255,255,0.6);}
        .main_education .education_keywords{display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
        .main_education .education_keywords li{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:clamp(150px, 12.5vw, 240px);aspect-ratio:1;margin-left:clamp(-18px, -1.05vw, -10px);border:1px solid rgba(255,255,255,0.58);border-radius:50%;}
        .main_education .education_keywords li:first-child{margin-left:0;}
        .main_education .education_keywords span{font-size:clamp(17px, 1.25vw, 24px);font-weight:600;line-height:1.6;color:var(--point-white);letter-spacing:-0.03em;}

        @media (min-width:1024px) {
            .main_education .education_keywords{width:auto;}
        }
        @media (max-width:1023px) {
            .main_education .education_keywords{display:grid;grid-template-columns:repeat(2, minmax(0, 180px));gap:14px;padding-inline:0;}
            .kewyword_box::before,
            .kewyword_box::after{display:none;}
            .main_education .education_keywords li{width:100%;margin-left:0;}
        }

    /*experience*/
        .main_experience .w_custom{display: flex;align-items: flex-start;justify-content: space-between;gap:var(--row-gap30)}
        .main_experience .main_title{text-align: left;padding-top:var(--row-gap50);width:300px;flex-shrink:0;align-items: flex-start;}
        .main_experience .experience_list{display:flex;gap:var(--row-gap20);align-items:stretch;width:100%;max-width:1100px;}
        .main_experience .experience_list > li{min-width:0;flex:0 1 280px;transition:flex-basis 0.35s ease;overflow:hidden;border-radius:var(--radius-20);}
        .main_experience .experience_list > li.is-active{flex-basis:500px;}
        .main_experience .experience_item{position:relative;height:clamp(420px, 28.12vw, 540px);background:var(--black-color01);isolation:isolate;}
            .main_experience .experience_item::after{position:absolute;content:"";inset:0;background:var(--point-grad02);z-index:1;pointer-events:none;opacity:0.7;}
        .main_experience .experience_item .thumb{position:absolute;inset:0;z-index:0;}
            .main_experience .experience_item .thumb img{transition:scale 0.5s ease;}
        .main_experience .experience_item .txt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:var(--row-gap40);color:var(--point-white);}
        .main_experience .experience_item h4{font-size:var(--text-34);font-weight:700;line-height:1.3;color:var(--point-white);}
            .main_experience .experience_item h4 br{display:block;}
        .main_experience .experience_item ul{margin-top:clamp(18px, 1.45vw, 28px);max-height:0;opacity:0;overflow:hidden;transition:max-height 0.35s ease, opacity 0.3s ease, transform 0.35s ease;}
        .main_experience .experience_list > li.is-active .experience_item h4 br{display:none;}
        .main_experience .experience_list > li.is-active .experience_item ul{max-height:160px;opacity:1;transform:translateY(0);}
        .main_experience .experience_list > li:not(.is-active) .experience_item .txt{text-align:center;}
        .main_experience .experience_list > li:not(.is-active) .experience_item h4{font-size:clamp(23px, 1.77vw, 34px);}

        @media (min-width:1024px) {
            .main_experience .experience_item:hover .thumb img{scale:1.06;}
            .main_experience .experience_list:hover > li{flex-basis:280px;}
            .main_experience .experience_list > li:hover,
            .main_experience .experience_list > li:focus-within{flex-basis:500px;}
            .main_experience .experience_list:hover > li .experience_item h4 br{display:block;}
            .main_experience .experience_list > li:hover .experience_item h4 br,
            .main_experience .experience_list > li:focus-within .experience_item h4 br{display:none;}
            .main_experience .experience_list:hover > li .experience_item ul{max-height:0;opacity:0;transform:translateY(12px);}
            .main_experience .experience_list > li:hover .experience_item ul,
            .main_experience .experience_list > li:focus-within .experience_item ul{max-height:160px;opacity:1;transform:translateY(0);}
            .main_experience .experience_list:hover > li .experience_item .txt{text-align:center;}
            .main_experience .experience_list > li:hover .experience_item .txt,
            .main_experience .experience_list > li:focus-within .experience_item .txt{text-align:left;}
        }
        @media (max-width:1280px) {
            .main_experience .w_custom{grid-template-columns:1fr;gap:var(--row-gap50);}
            .main_experience .experience_list{width:100%;}
        }
        @media (max-width:1023px) {
            .main_experience .w_custom{flex-direction: column;}
            .main_experience .main_title{width:100%;text-align: center;align-items: center;padding-top:0;}
            .main_experience .experience_list{display:grid;grid-template-columns:1fr;}
            .main_experience .experience_list > li,
            .main_experience .experience_list > li.is-active{flex-basis:auto;}
            .main_experience .experience_item{height:auto;aspect-ratio:auto 2;}
            .main_experience .experience_item h4 br{display:none;}
            .main_experience .experience_item ul{max-height:160px;opacity:1;transform:none;}
            .main_experience .experience_list > li:not(.is-active) .experience_item .txt{text-align:left;}
        }

    /*work*/
        #fullpage .main_work{background:var(--black-color00);}
        .main_work .bg{opacity:0.45;}
        .main_work .work_list{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:var(--row-gap20);width:100%;}
        .main_work .work_item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--row-gap30);padding:clamp(42px, 3.12vw, 60px) clamp(15px, 1.56vw, 30px);border:1px solid rgba(255,255,255,0.3);border-radius:20px;background:rgba(255,255,255,0.05);backdrop-filter:blur(4px);text-align:center;color:var(--point-white);}
        .main_work .work_icon{position:relative;display:flex;align-items: center;justify-content: center;height:clamp(65px, 8vw, 80px);aspect-ratio:1;flex-shrink:0;}
        .main_work .work_item h4{font-size:var(--text-30);font-weight:600;line-height:1.4;color:var(--point-white);}
        .main_work .work_item .txt{display: flex;flex-direction: column;gap:var(--row-gap10)}
        .main_work .work_item strong{display:block;font-size:var(--text-20);font-weight:600;line-height:1.6;color:var(--point-white);}
        .main_work .work_item p{font-size:var(--text-18);font-weight:400;line-height:1.6;color:var(--point-white);}
        @media (max-width:1280px) {
            .main_work .work_list{grid-template-columns:repeat(2, minmax(0, 1fr));}
        }
        @media (max-width:640px) {
            .main_work .work_list{grid-template-columns:1fr;}
        }

    /*client*/
        #fullpage .main_client{background:var(--point-white);overflow:hidden;}
        .main_client .main_title{position:relative;z-index:2;align-items:center;text-align:center;color:var(--black-color03);}
        .main_client{&::before, &::after{content:"";position: absolute;transition:all 1s;transition-delay:1s;}}
        .main_client:before{width:clamp(160px, 22vw, 240px);height:clamp(120px, 20vw, 207px);background:url('/images/client_obj02.svg')no-repeat center / auto 100%;bottom:-12%;left:-3.5%;rotate:90deg;}
        .main_client:after{width:clamp(160px, 22vw, 240px);aspect-ratio:auto 1;background:url('/images/client_obj01.svg')no-repeat center / auto 100%;top:25%;right:-7.5%;rotate:90deg;}
            .main_client.active:before{rotate:0deg;}
            .main_client.active:after{right:2.5%;rotate:0deg;}

        .main_client .client_columns{position:absolute;top:0;bottom:0;z-index:1;display:flex;width:clamp(360px, 29.16vw, 560px);overflow:hidden;pointer-events:none;}
        .main_client .client_columns.left{left:clamp(15px, 8.85vw, 170px);}
        .main_client .client_columns.right{right:clamp(15px, 9.11vw, 175px);}
        .main_client .client_columns{&::before, &::after{position:absolute;content:"";left:0;right:0;height:25%;z-index:3;pointer-events:none;}}
        .main_client .client_columns::before{top:0;background:linear-gradient(180deg, #fff 0%, rgba(255,255,255,0) 100%);}
        .main_client .client_columns::after{bottom:0;background:linear-gradient(0deg, #fff 0%, rgba(255,255,255,0) 100%);}
        .main_client .client_col{width:50%;height:100%;overflow:hidden;}
        .main_client .client_col.reverse{padding-top:var(--row-gap60);}
        .main_client .client_col .swiper-wrapper{flex-direction:column;align-items:center;transition-timing-function:linear;}
        .main_client .client_col li{flex-shrink:0;width:min(100%, 220px);height:160px !important;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-20);background:var(--point-white);box-shadow:4px 4px 20px rgba(0,0,0,0.1);}
        .main_client .client_col li p{display:none;}
        
        @media (max-width:1280px) {
            .main_client .client_columns{width:42vw;}
            .main_client .client_columns.left{left:0;}
            .main_client .client_columns.right{right:0;}
        }
        @media (max-width:1023px) {
            #fullpage .main_client{min-height:initial;padding-block:clamp(230px, 30vw, 300px);display: flex;flex-direction:column;align-items: center;}
            .main_client:before{left:-12.5%;}
            .main_client:after{top:-12%;}
            .main_client .client_columns{left:0;right:0;width:100%;height:clamp(180px, 26vw, 260px);flex-direction:column;gap:0;}
                .main_client .client_columns.left{top:clamp(24px, 4vw, 36px);bottom:auto;left:0;}
                .main_client .client_columns.right{top:auto;right:0;bottom:clamp(24px, 4vw, 36px);}
            .main_client .client_columns{&::before, &::after{display: none;}}
            .main_client .client_col{width:100%;height:calc((100% - 14px) / 2);padding:10px 0;}
                .main_client .client_col.reverse{padding-top:0;}
            .main_client .client_col .swiper-wrapper{flex-direction:row;align-items:center;}
            .main_client .client_col li{width:clamp(140px, 20vw, 190px);height:clamp(61px, 10vw, 100px) !important;border-radius:14px;}
        }

    /*inquiry*/
        #fullpage .main_inquiry{background:var(--point-white);overflow:hidden;}
        .main_inquiry .main_title{display: flex;flex-direction:row;align-items: center;justify-content:space-between;gap:var(--col-gap40);text-align: left;}
        .main_inquiry .main_title h3{font-weight:600;line-height:1.3;letter-spacing:-0.04em;}
        .main_inquiry .main_title p{justify-self:end;margin-top:10px;font-size:clamp(30px, 5.3vw, 100px);font-weight:800;line-height:1;color:transparent;letter-spacing:0;-webkit-text-stroke:1px var(--border-color01);text-stroke:1px var(--border-color01);}
        .main_inquiry_grid{display:grid;grid-template-columns:minmax(0, 1020fr) minmax(360px, 460fr);gap:var(--row-gap20);}
        .main_inquiry_card,
        .main_platform_card a{position:relative;min-height:clamp(200px, 40vw, 440px);border-radius:var(--radius-20);overflow:hidden;}
        .main_inquiry_card{display:flex;align-items:stretch;color:var(--point-white);background:var(--black-color01);}
        .main_inquiry_bg{position:absolute;inset:0;}
        .main_inquiry_body{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;width:100%;padding:var(--row-gap40);gap:var(--row-gap60);}
            .main_inquiry_body > p{font-size:var(--text-26);font-weight:500;line-height:1.6;color:var(--point-white);}
        .main_inquiry_contact{display:flex;align-items:center;width:min(100%, 940px);padding:var(--row-gap10);background:var(--point-white);border-radius:var(--radius-10);color:var(--black-color03);gap:var(--row-gap20);}
        .main_inquiry_contact dt{display:flex;align-items:center;justify-content:center;height:clamp(40px, 5vw, 50px);padding:0 var(--row-gap20);border-radius:var(--radius-10);background:var(--point-color01);font-size:var(--text-20);font-weight:600;color:var(--black-color00);flex-shrink:0;}
        .main_inquiry_contact dd{position:relative;font-size:var(--text-20);font-weight:500;color:var(--black-color03);line-height:1.5;display: flex;align-items: center;}
            .main_inquiry_contact dd a{display: flex;align-items: center;}
            .main_inquiry_contact dd a + a:before{content:"";width:1px;height:clamp(10px, 1.4vw, 14px);background:var(--border-color03);display: inline-block;margin:0 var(--row-gap20);}
        .main_platform_card a{display:flex;height:100%;padding:var(--row-gap50) var(--row-gap40);background:var(--point-color02);color:var(--point-white);flex-direction: column;justify-content: space-between;align-items: flex-start;gap:clamp(10px, 1.4vw, 15px);}
        .main_platform_card h4{position:relative;z-index:1;font-size:var(--text-30);font-weight:700;line-height:1.5;color:var(--point-white);}
        .main_platform_logo{position:relative;z-index:1;display:block;width:clamp(100px, 12vw, 120px);height:auto;margin-top:var(--row-gap20);}
        .main_platform_object{width:clamp(200px, 20vw, 244px);height:auto;align-self: flex-end;}
        .main_platform_more{position:absolute;left:var(--row-gap40);bottom:var(--row-gap40);width:clamp(40px, 5vw, 60px);aspect-ratio:auto 1;border-radius:50%;background:var(--point-white);}
        .main_platform_more{&::before, &::after{position:absolute;content:"";left:50%;top:50%;width:18px;height:2px;background:var(--black-color03);translate:-50% -50%;}}
        .main_platform_more::after{rotate:90deg;}

        @media (max-width:1023px) {
            .main_inquiry .main_title{flex-direction: column;align-items: flex-start;}
            .main_inquiry .main_title p{margin-top:0;}
            .main_inquiry_grid{grid:auto / repeat(1, 1fr);}
        }
        @media (max-width:479px) {
            .main_inquiry_contact dd{flex-direction: column;align-items: flex-start;gap:5px;}
            .main_inquiry_contact dd a + a:before{display: none;}
        }

        
/*─────────────────────────────────────────────────────────
    Footer
─────────────────────────────────────────────────────────*/
    #footer{background:var(--black-color00);padding-block:var(--row-gap60) var(--row-gap40); }
    #footer .ft_info_box{display: flex;align-items: flex-start;padding-bottom:var(--row-gap60);gap:var(--row-gap80);}
    #footer .logo{flex-shrink:0;}
    #footer .logo img{max-width:clamp(220px, 25vw, 278px);filter:var(--filter-gray);}
    #footer .addr-list{display:flex;flex-direction: column;gap:var(--row-gap10);align-items: flex-start;}
    #footer .addr-list li{display: flex;flex-wrap:wrap;gap:var(--row-gap10) var(--row-gap30);}
        #footer .addr-list li dl{display: flex;gap:clamp(10px, 1.2vw, 14px);font-size:var(--text-18);color:var(--black-color10);font-weight:400;font-family:var(--font-type02);letter-spacing:0;}
        #footer .addr-list li dl dt{color:var(--point-white);flex-shrink:0;}
    #footer .copy_box{display: flex;align-items: center;justify-content: space-between;padding-top:var(--row-gap30);border-top:1px solid rgba(255, 255, 255, 0.20);gap:var(--row-gap20);}
    #footer .copy{display: flex;flex-wrap:wrap;align-items: center;gap:var(--row-gap10) var(--row-gap30);font-size:var(--text-16);color:var(--black-color12);font-weight:400;letter-spacing:0;}
    #footer .ft_menu{display: flex;flex-wrap:wrap;gap:var(--row-gap10) var(--row-gap40);align-items: center;}
    #footer .ft_menu li a{font-size:var(--text-16);color:var(--black-color12);font-weight:400;letter-spacing:0;}
    #footer .ft_menu li.policy a{color:var(--point-white);}

    .ft_quick{position: fixed;right:clamp(20px, 4vw, 40px);bottom:clamp(20px, 4vw, 40px);opacity:1;pointer-events:initial;transition:all 0.3s;}
    .ft_quick .scr-top{display: flex;align-items: center;justify-content: center;width:clamp(50px, 6vw, 60px);aspect-ratio:auto 1.15;clip-path:var(--clip-poly03);background:var(--point-color02);display: flex;align-items: center;justify-content: center;}
    .ft_quick .scr-top img{height:clamp(16px, 2vw, 20px);}

    @media (max-width:1023px) {
        :is(#fullpage, #companyFullpage) .ftr-sec{padding:0;}
    }
    @media (max-width:860px) {
        #footer .ft_info_box,
        #footer .copy_box{flex-direction: column;align-items: flex-start;}
        #footer .ft_info_box{gap:var(--row-gap40);}
    }

/*─────────────────────────────────────────────────────────
    Company (회사소개) — fullpage
─────────────────────────────────────────────────────────*/
    /* 레이아웃(main.php)이 공통으로 출력하는 서브비주얼/LNB 를 숨기고
       #container 의 w_custom 폭 제한을 풀어 풀블리드로 만든다. */
    #wrap:has(#companyFullpage) :is(.sub_visual, .sub-nav){display:none;}
    #container:has(#companyFullpage){width:100%;max-width:none;margin-inline:0;}

    /* 섹션 공통 배경 */
        #companyFullpage .section > .bg{position:absolute;inset:0;background:#0d1b3e;}

    /* 비주얼 */
        #companyFullpage .company_visual{padding-block:0;}
        :is(#fullpage, #companyFullpage) .company_visual .fp-tableCell{padding-top:0;}
        .company_visual_txt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--row-gap40);color:var(--point-white);}
        .company_visual_tit{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);}
        /* 브라우저 기본 margin 제거 — flex gap 만으로 시안 간격을 맞춘다 */
        .company_visual_txt :where(h1, p){margin:0;}
        .company_visual_eyebrow{font-size:var(--text-20);font-weight:500;line-height:1.2;letter-spacing:0;}
        .company_visual_txt h1{font-size:var(--text-80);font-weight:700;line-height:1.2;letter-spacing:0;}
        .company_visual_desc{font-size:var(--text-24);font-weight:400;line-height:1.2;}

    /* 스크롤 인디케이터 */
        .company_visual_scroll{position:absolute;left:50%;bottom:clamp(25px, 3.2vw, 60px);z-index:5;translate:-50%;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--point-white);background:none;border:0;padding:0;cursor:pointer;}
        .company_visual_scroll:focus-visible{outline:2px solid var(--point-white);outline-offset:6px;}
        .company_visual_scroll_txt{font-size:var(--text-17);font-weight:400;line-height:1.5;}
        .company_visual_scroll_icon{position:relative;display:block;width:24px;height:40px;border:1px solid var(--point-white);border-radius:12px;}
        .company_visual_scroll_icon::before{position:absolute;content:'';top:6px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--point-white);animation:company-scroll-dot 1.6s ease-in-out infinite;}
        /* 사라지지 않고 위아래로 왕복 */
        @keyframes company-scroll-dot {
            0%, 100%{translate:0 0;}
            50%{translate:0 18px;}
        }
        @media (prefers-reduced-motion: reduce) {
            .company_visual_scroll_icon::before{animation:none;}
        }

    /* ABOUT HEXAGONLAB */
        .company_about_inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--row-gap40);color:var(--point-white);}
        .company_about_inner :where(h2, p){margin:0;}
        .company_about_tit{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);}
        .company_about_eyebrow{font-size:var(--text-20);font-weight:500;line-height:1.6;}
        .company_about_tit h2{font-size:var(--text-54);font-weight:700;line-height:1.4;}
        .company_about_object{width:clamp(180px, 15.5vw, 298px);aspect-ratio:298 / 257;color:var(--point-white);}
        .company_about_object svg{display:block;width:100%;height:100%;}
        /* SVG presentation attribute 안의 var() 는 브라우저 지원이 불안정해 CSS 로 지정 */
        .company_about_object .obj_area{fill:var(--point-color02);fill-opacity:0.2;stroke:var(--point-color02);}
        .company_about_object .obj_dot{fill:var(--point-color02);}
        .company_about_desc{font-size:var(--text-20);font-weight:400;line-height:1.6;}

    /* WHY HEXAGONLAB — 밝은 배경 섹션 */
        #companyFullpage .company_why{background:var(--point-white);}
        .company_why_inner{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap60);}
        .company_why_inner :where(h2, h3, p){margin:0;}
        .company_why_title{font-size:var(--text-54);font-weight:700;line-height:1.3;color:var(--black-color00);text-align:center;}
        .company_why_list{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--row-gap40);width:100%;}
        .company_why_item{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);}
        .company_why_img{width:100%;aspect-ratio:473 / 260;border-radius:var(--radius-20);}
        .company_why_txt{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap10);text-align:center;}
        .company_why_txt h3{font-size:var(--text-28);font-weight:600;line-height:1.4;color:var(--black-color00);}
        .company_why_txt p{font-size:var(--text-20);font-weight:400;line-height:1.6;color:var(--black-color03);}
        /* 하단 아웃라인 워터마크 — 섹션 아래로 30% 넘겨 잘리게 한다 (시안 동일) */
        .company_why_watermark{position:absolute;left:50%;bottom:0;translate:-50% 30%;margin:0;font-size:clamp(60px, 9.4vw, 180px);font-weight:800;line-height:1.3;letter-spacing:0;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--border-color01);text-stroke:1px var(--border-color01);}

    /* OUR WORK */
        .company_work .bg::after{position:absolute;content:'';inset:0;background:rgba(0,0,0,0.4);}
        .company_work_inner{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--row-gap40);color:var(--point-white);}
        .company_work_inner :where(h2, h3, p){margin:0;}
        .company_work_tit{display:flex;flex-direction:column;gap:var(--row-gap30);flex:0 0 auto;}
        .company_work_tit h2{font-size:var(--text-54);font-weight:700;line-height:1.3;}
        .company_work_tit > p{font-size:var(--text-20);font-weight:400;line-height:1.6;}
        .company_work_list{flex:0 1 960px;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--row-gap40);}
        .company_work_item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--row-gap30);height:100%;padding:var(--row-gap40);border:1px solid rgba(255,255,255,0.2);border-radius:var(--radius-20);background:rgba(0,0,0,0.1);}
        .company_work_ico{display:block;width:clamp(56px, 4.2vw, 80px);aspect-ratio:1;flex-shrink:0;}
        .company_work_ico svg{display:block;width:100%;height:100%;}
        .company_work_txt{display:flex;flex-direction:column;gap:var(--row-gap10);}
        .company_work_txt h3{font-size:var(--text-28);font-weight:600;line-height:1.6;}
        .company_work_txt p{font-size:var(--text-20);font-weight:400;line-height:1.6;opacity:0.9;}

    /* HOW WE WORK — 밝은 배경 섹션 */
        #companyFullpage .company_how{background:var(--point-white);}
        .company_how_inner{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap60);}
        .company_how_inner :where(h2, h3, p){margin:0;}
        .company_how_title{font-size:var(--text-54);font-weight:700;line-height:1.3;color:var(--black-color00);text-align:center;}
        .company_how_list{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:var(--row-gap20);width:100%;}
        .company_how_item{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);height:100%;padding:clamp(45px, 4.65vw, 89px) var(--row-gap30);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);box-shadow:10px 10px 50px rgba(0,0,0,0.1);}
        .company_how_step{position:absolute;top:var(--row-gap30);left:var(--row-gap30);font-size:var(--text-20);font-weight:600;line-height:1.4;color:var(--black-color10);}
        .company_how_ico{display:block;width:clamp(84px, 6.25vw, 120px);aspect-ratio:120 / 108;color:var(--black-color03);}
        .company_how_ico svg{display:block;width:100%;height:100%;}
        .company_how_ico .ico_bg{fill:var(--gray-bg01);}
        .company_how_txt{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap10);text-align:center;}
        .company_how_txt h3{font-size:var(--text-30);font-weight:600;line-height:1.4;color:var(--black-color00);}
        .company_how_txt p{font-size:var(--text-20);font-weight:400;line-height:1.6;color:var(--black-color03);opacity:0.8;}

    /* EDUCATION PARTNERS — 로고 무한 흐름 */
        #companyFullpage .company_partner{background:var(--black-color00);}
        .company_partner .bg img{object-position:bottom !important;}
        .company_partner_inner{display:flex;flex-direction:column;align-items:center;gap:clamp(40px, 4.2vw, 80px);width:100%;color:var(--point-white);}
        .company_partner_tit{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);text-align:center;}
        .company_partner_tit :where(h2, p){margin:0;}
        .company_partner_tit h2{font-size:var(--text-54);font-weight:700;line-height:1.4;}
        .company_partner_tit > p{font-size:var(--text-20);font-weight:400;line-height:1.6;}
        .company_partner_rows{display:flex;flex-direction:column;gap:var(--row-gap30);width:100%;}
        .company_partner_row{width:100%;overflow:hidden;}
        /* 등속으로 흘러야 하므로 기본 easing 을 linear 로 */
        .company_partner_row .swiper-wrapper{align-items:center;transition-timing-function:linear;}
        .company_partner_row li{flex-shrink:0;width:clamp(160px, 13.54vw, 260px);height:clamp(76px, 6.25vw, 120px);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--point-white);border-radius:var(--radius-20);background:rgba(255,255,255,0.8);}
        .company_partner_row li img{width:100%;height:100%;object-fit:contain;}
        /* 숏코드가 함께 출력하는 기관명 텍스트는 시안상 노출하지 않는다 (img alt 로 전달) */
        .company_partner_row li p{display:none;}

    @media (max-width:1023px) {
        #companyFullpage .company_visual{min-height:clamp(500px, 96vw, 960px);display:flex;flex-direction:column;justify-content:center;}
        .company_visual_scroll{display:none;}
        .company_work_inner{flex-direction:column;}
        .company_work_list{flex:1 1 auto;width:100%;}
        .company_how_list{grid-template-columns:repeat(2, minmax(0, 1fr));}
    }
    @media (max-width:640px) {
        .company_why_list{grid-template-columns:minmax(0, 1fr);}
        .company_work_list{grid-template-columns:minmax(0, 1fr);}
    }

/*─────────────────────────────────────────────────────────
    Sub page 공통 (서브비주얼 / LNB)
    — 레이아웃(main.php)이 모든 서브페이지에 출력하지만
      지금까지 스타일이 없어 고정 헤더에 가려져 있었다.
─────────────────────────────────────────────────────────*/
    /* 그룹 매핑이 없는 페이지는 타이틀 한 줄짜리 기본 배너 */
    .sub_visual{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:clamp(200px, 26vw, 320px);padding-top:clamp(65px, 10vw, 100px);background:var(--black-color01) center / cover no-repeat;color:var(--point-white);text-align:center;}
    /* 공통 배경 배너 (main.php 에서 UID 로 렌더) + 텍스트 가독성 오버레이 */
    .sub_visual .bg{position:absolute;inset:0;z-index:0;}
    .sub_visual .sv_title{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--row-gap40);}
    .sub_visual .sv_title :where(h2, p){margin:0;}
    .sub_visual .sv_tit{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);}
    .sub_visual .sv_eyebrow{font-size:var(--text-20);font-weight:500;line-height:1.2;letter-spacing:0;}
    /* fallback(그룹 매핑 없음): 페이지 제목이 곧 서브비주얼 타이틀 */
    .sub_visual .sv_title h2{font-size:var(--text-48);font-weight:700;line-height:1.2;letter-spacing:0;}
    /* 그룹 분기: 큰 그룹 라벨(제목 태그 아님) */
    .sub_visual .sv_tit .sv_name{font-size:var(--text-80);font-weight:700;line-height:1.2;letter-spacing:0;}
    .sub_visual .sv_desc{font-size:var(--text-24);font-weight:400;line-height:1.2;}

    /* 그룹별 높이 — 배경은 공통 배너(.bg)가 담당한다.
       그룹을 추가할 때 이 블록에 같은 형태로 한 줄 추가하면 된다. */
    .sub_visual.sv_service{min-height:clamp(420px, 46vw, 884px);}

    /* 2차 메뉴 탭 — 서브비주얼 하단에 붙는 검정 바 */
    .sub-nav{background:var(--black-color00);}
    .sub-nav .lnb{display:flex;align-items:stretch;justify-content:space-between;overflow-x:auto;}
    /* 데스크톱은 시안대로 균등 분할, 모바일은 가로 스크롤 */
    .sub-nav .lnb a{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;padding:clamp(16px, 1.25vw, 24px) clamp(8px, 0.8vw, 14px);font-size:var(--text-20);font-weight:500;line-height:1.3;color:var(--point-white);text-align:center;transition:background 0.3s, color 0.3s;}
    .sub-nav .lnb a.on{background:var(--point-white);color:var(--black-color00);font-weight:600;}
        @media (hover:hover) and (pointer:fine) {
            .sub-nav .lnb a:not(.on):hover{background:rgba(255,255,255,0.12);}
        }

    @media (max-width:860px) {
        .sub-nav .lnb a{flex:0 0 auto;white-space:nowrap;}
    }

/*─────────────────────────────────────────────────────────
    상세 페이지 공통 (detail_*)
    — 서비스 4개 페이지가 동일 구조를 공유한다.
      .detail_sec 를 반복하고, 회색 밴드가 필요하면 .is_gray 를 붙인다.
─────────────────────────────────────────────────────────*/
    .detail_page{display:flex;flex-direction:column;padding-block:var(--row-gap100) var(--row-gap140);}
    /* 제목 레벨(h3/h4 등)은 계층 정책에 따라 바뀔 수 있어 태그에 묶지 않는다 */
    .detail_page :where(h1, h2, h3, h4, h5, h6, p){margin:0;}

    /* 페이지 타이틀 + 리드 박스 */
    .detail_head{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap40);}
    .detail_head > :where(h1, h2, h3, h4, h5, h6){font-size:var(--text-50);font-weight:600;line-height:1.4;color:var(--black-color01);text-align:center;}
    .detail_head_desc{width:100%;padding:var(--row-gap40);border:1px solid var(--border-color01);border-radius:var(--radius-10);background:var(--point-white);}
    .detail_head_desc p{font-size:var(--text-20);font-weight:400;line-height:1.8;color:var(--black-color03);}

    /* 반복 섹션 */
    .detail_sec{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap40);margin-top:clamp(60px, 6.25vw, 120px);}
    .detail_sec + .detail_sec{margin-top:var(--row-gap140);}
    /* 회색 밴드 — w_custom 안에서 화면 전체 폭으로 확장 */
    .detail_sec.is_gray{margin-inline:calc(50% - 50vw);padding:var(--row-gap140) calc(50vw - 50%);background:var(--gray-bg01);}

    .detail_sec_head{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap20);text-align:center;}
    .detail_sec_tit{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap10);}
    .detail_eyebrow{font-size:var(--text-20);font-weight:500;line-height:1.8;color:var(--point-color02);}
    .detail_sec_tit > :where(h1, h2, h3, h4, h5, h6){font-size:var(--text-42);font-weight:600;line-height:1.4;color:var(--black-color01);}
    /* 타이틀 아래 40x1 구분선 — 마크업 없이 처리 */
    .detail_sec_head::after{order:1;content:"";width:40px;height:1px;background:var(--black-color03);}
    .detail_sec_desc{order:2;font-size:var(--text-18);font-weight:400;line-height:1.8;color:var(--black-color05);}

    /* 키워드 태그 */
    .detail_tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--row-gap10);}
    .detail_tags > li{padding:4px 16px;border-radius:100px;background:var(--gray-bg01);font-size:var(--text-18);font-weight:400;line-height:1.8;color:var(--black-color03);}
    /* 회색 밴드 위에서는 태그를 흰색으로 반전 */
    .detail_sec.is_gray .detail_tags > li{background:var(--point-white);}

    /* 이미지 갤러리 — li 는 각 페이지에서 채운다 */
    /* .detail_sec 의 gap(40) 에 더해 시안의 60 을 맞추기 위한 보정값 */
    .detail_gallery{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(12px, 1.25vw, 24px);width:100%;margin-top:clamp(5px, 1.04vw, 20px);}
    .detail_gallery > li{overflow:hidden;aspect-ratio:484 / 300;border-radius:var(--radius-20);background:var(--gray-bg04);}
    .detail_gallery > li img{width:100%;height:100%;object-fit:cover;}
    .detail_gallery:empty{display:none;}

    @media (max-width:1023px) {
        .detail_gallery{grid-template-columns:repeat(2, minmax(0, 1fr));}
    }
    @media (max-width:640px) {
        .detail_gallery{grid-template-columns:minmax(0, 1fr);}
    }

/*─────────────────────────────────────────────────────────
    상세 블록 (detail_block) — 가운데 큰 타이틀 + 컨텐츠
    피처카드 / 체크리스트 / 스텝 프로세스 등을 감싸며,
    회색 밴드가 필요하면 .is_gray 를 붙인다.
─────────────────────────────────────────────────────────*/
    .detail_block{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap50);margin-top:clamp(60px, 6.25vw, 120px);}
    .detail_block + .detail_block{margin-top:var(--row-gap140);}
    .detail_block.is_gray{margin-inline:calc(50% - 50vw);padding:var(--row-gap140) calc(50vw - 50%);background:var(--gray-bg01);}
    .detail_block_tit{font-size:var(--text-42);font-weight:600;line-height:1.4;color:var(--black-color01);text-align:center;}
    /* 좌측 점이 붙는 타이틀 변형 (사례 등) */
    .detail_block_tit.has_dot{align-self:flex-start;display:flex;align-items:center;gap:16px;font-size:var(--text-36);}
    .detail_block_tit.has_dot::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--point-color02);flex-shrink:0;}

    /* 피처 카드 (이미지 + 텍스트) */
    .detail_feat{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:clamp(20px, 2.9vw, 42px);width:100%;}
    .detail_feat > li{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);height:100%;padding:var(--row-gap30) var(--row-gap30) var(--row-gap40);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);}
    .detail_feat_img{width:100%;aspect-ratio:412 / 262;overflow:hidden;border-radius:var(--radius-10);background:var(--gray-bg04);}
    .detail_feat_img img{width:100%;height:100%;object-fit:cover;}
    .detail_feat_txt{display:flex;flex-direction:column;align-items:center;gap:clamp(12px, 1vw, 16px);text-align:center;}
    .detail_feat_txt h5{font-size:var(--text-30);font-weight:600;line-height:1.4;color:var(--black-color03);}
    .detail_feat_txt p{font-size:var(--text-20);font-weight:400;line-height:1.6;color:var(--black-color05);}

    /* 운영 분야 체크리스트 */
    .detail_field{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(16px, 2.2vw, 32px);width:100%;}
    .detail_field > li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--row-gap30);height:100%;padding:var(--row-gap40) clamp(20px, 2.5vw, 36px);border-radius:var(--radius-20);background:var(--point-white);box-shadow:0 0 10px rgba(0,0,0,0.05);}
    .detail_field_check{position:relative;width:32px;height:32px;border-radius:50%;flex-shrink:0;}
    .detail_field > li:nth-child(odd) .detail_field_check{background:var(--point-color01);}
    .detail_field > li:nth-child(even) .detail_field_check{background:var(--point-color02);}
    .detail_field_check::after{content:"";position:absolute;top:47%;left:50%;width:10px;height:6px;border-left:2px solid var(--black-color00);border-bottom:2px solid var(--black-color00);transform:translate(-50%, -50%) rotate(-45deg);}
    .detail_field_txt{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap10);text-align:center;}
    .detail_field_txt h5{font-size:var(--text-28);font-weight:600;line-height:1.4;color:var(--black-color03);}
    .detail_field_txt p{font-size:var(--text-18);font-weight:400;line-height:1.6;color:var(--black-color05);}

    /* 행사 운영 프로세스 (스텝 원형) */
    /* 원-원 간격 = 100px (시안: 화살표 40 + 좌우 여백 30씩) */
    .detail_process{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(24px, 5.5vw, 100px);width:100%;}
    .detail_process::before{content:"";position:absolute;top:50%;left:12%;right:12%;height:1px;background:var(--border-color02);z-index:0;}
    .detail_process > li{position:relative;z-index:1;}
    /* 원 사이 점선 원형 화살표 */
    .detail_process > li:not(:last-child)::after{content:"\203A";position:absolute;top:50%;left:100%;margin-left:calc(clamp(24px, 5.5vw, 100px) / 2);transform:translate(-50%, -50%);display:flex;align-items:center;justify-content:center;width:clamp(30px, 2.5vw, 40px);aspect-ratio:1;border:1px dashed var(--point-color02);border-radius:50%;background:var(--point-white);color:var(--point-color02);font-size:clamp(18px, 1.8vw, 24px);line-height:1;}
    .detail_process_circle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--row-gap20);width:clamp(200px, 15.6vw, 300px);aspect-ratio:1;padding:20px;border:2px solid var(--border-color01);border-radius:50%;background:var(--point-white);text-align:center;}
    /* 단계가 진행될수록 테두리가 회색→주황으로 진해지고, 마지막이 가장 굵다 */
    .detail_process > li:nth-child(2) .detail_process_circle{border-color:#ffd57f;}
    .detail_process > li:nth-child(3) .detail_process_circle{border-color:var(--point-color02);}
    .detail_process > li:nth-child(n+4) .detail_process_circle{border-color:var(--point-color02);border-width:3px;}
    .detail_process_step{font-size:var(--text-16);font-weight:600;line-height:1.4;color:var(--point-color02);}
    .detail_process_circle h5{font-size:var(--text-30);font-weight:600;line-height:1.4;color:var(--black-color03);}
    .detail_process > li.is_last .detail_process_circle h5{color:var(--black-color00);}
    .detail_process_circle p{font-size:var(--text-20);font-weight:400;line-height:1.4;color:var(--black-color05);}

    /* 프로세스: 데스크톱 4열(1줄) → 1023 2×2 → 640 이하 1열 */
    @media (max-width:1023px) {
        .detail_field{grid-template-columns:repeat(2, minmax(0, 1fr));}
        .detail_process{display:grid;grid-template-columns:repeat(2, auto);justify-content:center;align-items:center;column-gap:clamp(24px, 6vw, 100px);row-gap:clamp(50px, 8vw, 90px);}
        .detail_process::before{display:none;}
        /* 줄바꿈 지점(짝수 뒤) 화살표는 숨기고, 같은 줄(홀수 뒤)만 오른쪽 화살표 유지 */
        .detail_process > li:nth-child(even)::after{display:none;}
        .detail_process > li:nth-child(odd):not(:last-child)::after{margin-left:calc(clamp(24px, 6vw, 100px) / 2);}
    }
    @media (max-width:768px) {
        .detail_feat{grid-template-columns:minmax(0, 1fr);max-width:460px;}
    }
    @media (max-width:640px) {
        .detail_field{grid-template-columns:minmax(0, 1fr);}
        /* 프로세스: 세로 1열, 화살표 전부 아래 방향으로 복구 */
        .detail_process{grid-template-columns:minmax(0, auto);row-gap:clamp(50px, 12vw, 70px);}
        .detail_process > li:not(:last-child)::after{display:flex;top:100%;left:50%;margin-left:0;margin-top:calc(clamp(50px, 12vw, 70px) / 2);transform:translate(-50%, -50%) rotate(90deg);}
        /* 1023 홀수 규칙(명시도 0,3,2)의 가로 margin 을 같은 명시도로 되돌린다 */
        .detail_process > li:nth-child(odd):not(:last-child)::after{margin-left:0;}
    }

    /* 리드 박스 안 서브 타이틀 (컨설턴트 등) — .detail_head_desc p(0,1,1) 를 이기도록 명시도 확보 */
    .detail_head_desc .detail_head_sub{font-size:var(--text-28);font-weight:600;line-height:1.4;color:var(--black-color01);margin-bottom:var(--row-gap20);}

    /* 협력 기관 타임라인 카드 */
    .detail_partner{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--row-gap60) clamp(20px, 2vw, 30px);width:100%;}
    .detail_partner > li{display:flex;flex-direction:column;}
    .detail_partner_head{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap20);}
    .detail_partner_tit{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap10);text-align:center;}
    .detail_partner_tit h5{font-size:var(--text-28);font-weight:600;line-height:1.4;color:var(--black-color00);}
    .detail_partner_year{font-size:var(--text-22);font-weight:400;line-height:1.45;color:var(--black-color03);}
    .detail_partner_logo{width:220px;max-width:100%;aspect-ratio:220 / 70;overflow:hidden;border:1px solid var(--border-color01);border-radius:var(--radius-10);background:var(--point-white);}
    .detail_partner_logo img{width:100%;height:100%;object-fit:contain;}
    /* 타임라인 선 + 주황 점 (카드별) */
    .detail_partner_mark{position:relative;display:block;height:8px;margin-top:var(--row-gap30);}
    /* 선을 열 간격만큼 오른쪽으로 연장해 다음 카드와 이어지게 한다 (행 마지막 카드는 제외) */
    .detail_partner_mark::before{content:"";position:absolute;top:50%;left:0;right:calc(-1 * clamp(20px, 2vw, 30px));height:1px;background:var(--border-color01);}
    .detail_partner > li:nth-child(3n) .detail_partner_mark::before{right:0;}
    .detail_partner_mark::after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:50%;background:var(--point-color02);transform:translate(-50%, -50%);}
    .detail_partner_box{flex:1;margin-top:var(--row-gap30);padding:var(--row-gap30);border-radius:var(--radius-10);background:var(--gray-bg01);}
    /* 공용 .bullet-list 는 다크 배경용(흰색)이라, 회색 박스에서는 색만 어둡게 override */
    .detail_partner_box .bullet-list{gap:5px;}
    .detail_partner_box .bullet-list li{color:var(--black-color05);}
    .detail_partner_box .bullet-list li::before{background:var(--black-color05);}

    /* 운영 역량 넘버 카드 */
    .detail_ability{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(16px, 1.4vw, 20px);width:100%;}
    .detail_ability > li{display:flex;align-items:center;gap:var(--row-gap30);height:100%;padding:var(--row-gap40) var(--row-gap30);border:1px solid var(--border-color01);border-radius:var(--radius-15);background:var(--point-white);}
    .detail_ability_num{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:var(--radius-05);font-size:var(--text-16);font-weight:600;color:var(--black-color00);}
    /* 2열 체커보드: (열+행) 짝수=녹색, 홀수=주황 → nth-child 4n+1,4n 녹 / 4n+2,4n+3 주황 */
    .detail_ability > li:nth-child(4n+1) .detail_ability_num,
    .detail_ability > li:nth-child(4n) .detail_ability_num{background:var(--point-color01);}
    .detail_ability > li:nth-child(4n+2) .detail_ability_num,
    .detail_ability > li:nth-child(4n+3) .detail_ability_num{background:var(--point-color02);}
    .detail_ability_txt{display:flex;flex-direction:column;gap:var(--row-gap10);}
    .detail_ability_txt h5{font-size:var(--text-24);font-weight:600;line-height:1.4;color:var(--black-color03);}
    .detail_ability_txt p{font-size:var(--text-18);font-weight:400;line-height:1.6;color:var(--black-color05);}

    /* 하단 배너 (풀블리드 이미지 + 오버레이) */
    .detail_bnr{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:calc(50% - 50vw);margin-top:var(--row-gap140);min-height:clamp(360px, 31vw, 600px);padding:var(--row-gap60) calc(50vw - 50%);background:var(--black-color01);color:var(--point-white);text-align:center;overflow:hidden;}
    .detail_bnr_bg{position:absolute;inset:0;z-index:0;}
    .detail_bnr_txt{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--row-gap30);}
    .detail_bnr_txt :where(p){margin:0;}
    .detail_bnr_tit{font-size:var(--text-48);font-weight:700;line-height:1.4;}
    .detail_bnr_txt > p:not(.detail_bnr_tit){font-size:var(--text-20);font-weight:400;line-height:1.6;opacity:0.9;}
    /* 배너가 마지막이면 페이지 하단 여백 제거해 푸터와 붙인다 */
    .detail_page:has(> .detail_bnr:last-child){padding-bottom:0;}

    @media (max-width:1023px) {
        .detail_partner{grid-template-columns:repeat(2, minmax(0, 1fr));}
        .detail_ability{grid-template-columns:minmax(0, 1fr);}
        /* 2열: 홀수 카드만 오른쪽으로 연장, 짝수(행 마지막)는 끊는다 */
        .detail_partner > li:nth-child(odd) .detail_partner_mark::before{right:calc(-1 * clamp(20px, 2vw, 30px));}
        .detail_partner > li:nth-child(even) .detail_partner_mark::before{right:0;}
    }
    @media (max-width:640px) {
        .detail_partner{grid-template-columns:minmax(0, 1fr);max-width:420px;margin-inline:auto;}
        /* 1열: 선 연장 없이 카드 폭까지만 */
        .detail_partner > li:nth-child(n) .detail_partner_mark::before{right:0;}
    }

    /* 플랫폼 피처 카드 (2×2, 텍스트 위 · 이미지 아래) */
    .detail_plat{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(20px, 2.9vw, 40px);width:100%;}
    .detail_plat > li{display:flex;flex-direction:column;gap:var(--row-gap40);height:100%;padding:clamp(30px, 3.3vw, 50px);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);}
    .detail_plat_txt{display:flex;flex-direction:column;align-items:center;gap:var(--row-gap20);text-align:center;}
    .detail_plat_txt h5{font-size:var(--text-30);font-weight:600;line-height:1.3;color:var(--black-color00);}
    .detail_plat_txt p{font-size:var(--text-20);font-weight:400;line-height:1.6;color:var(--black-color05);}
    .detail_plat_img{width:100%;aspect-ratio:630 / 266;overflow:hidden;border-radius:var(--radius-15);background:var(--gray-bg04);}
    .detail_plat_img img{width:100%;height:100%;object-fit:cover;}

    /* 주요 솔루션 (좌측 sticky 메뉴 + 우측 블록, 스크롤 스파이) */
    .detail_solution{display:flex;align-items:flex-start;gap:clamp(30px, 4vw, 60px);margin-top:var(--row-gap140);}
    .detail_solution :where(h4, h5, p){margin:0;}
    .detail_solution_side{position:sticky;top:calc(clamp(65px, 10vw, 100px) + 20px);flex:0 0 clamp(220px, 22vw, 340px);display:flex;flex-direction:column;gap:var(--row-gap40);}
    .detail_solution_head{display:flex;flex-direction:column;gap:var(--row-gap20);}
    .detail_solution_eyebrow{font-size:var(--text-20);font-weight:500;line-height:1.4;color:var(--point-color02);}
    .detail_solution_head h4{font-size:var(--text-42);font-weight:600;line-height:1.4;color:var(--black-color01);}
    .detail_solution_nav{display:flex;flex-direction:column;gap:var(--row-gap10);}
    .detail_solution_nav a{display:flex;align-items:center;justify-content:space-between;gap:var(--row-gap10);padding:var(--row-gap20);border-radius:var(--radius-10);background:var(--point-white);font-size:var(--text-20);font-weight:400;line-height:1.3;color:var(--black-color00);transition:background 0.25s;}
    .detail_solution_nav a > span{position:relative;display:flex;align-items:center;gap:var(--row-gap10);padding-left:0;transition:padding 0.25s;}
    .detail_solution_nav a > span::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;border-radius:50%;background:var(--point-color01);opacity:0;transform:translateY(-50%);transition:opacity 0.25s;}
    .detail_solution_nav a::after{content:"\203A";font-size:var(--text-18);color:var(--black-color03);opacity:0;transition:opacity 0.25s;}
    /* 활성 메뉴 */
    .detail_solution_nav a.is-active{background:var(--gray-bg01);font-weight:500;}
    .detail_solution_nav a.is-active > span{padding-left:18px;}
    .detail_solution_nav a.is-active > span::before{opacity:1;}
    .detail_solution_nav a.is-active::after{opacity:1;}
        @media (hover:hover) and (pointer:fine) {
            .detail_solution_nav a:not(.is-active):hover{background:var(--gray-bg03);}
        }

    .detail_solution_list{flex:1;min-width:0;display:flex;flex-direction:column;}
    .detail_solution_item{display:flex;flex-direction:column;gap:var(--row-gap40);scroll-margin-top:calc(clamp(65px, 10vw, 100px) + 40px);}
    .detail_solution_item + .detail_solution_item{margin-top:var(--row-gap80);padding-top:var(--row-gap80);border-top:1px solid var(--border-color01);}
    .detail_solution_img{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--row-gap20);}
    .detail_solution_img > li{overflow:hidden;aspect-ratio:540 / 320;border-radius:var(--radius-20);background:var(--gray-bg04);}
    .detail_solution_img > li img{width:100%;height:100%;object-fit:cover;}
    .detail_solution_txt{display:flex;flex-direction:column;align-items:flex-start;gap:var(--row-gap20);}
    .detail_solution_txt h5{font-size:var(--text-36);font-weight:500;line-height:1.3;color:var(--black-color00);}
    .detail_solution_txt p{font-size:var(--text-20);font-weight:400;line-height:1.6;color:var(--black-color05);}
    /* 취업N 바로가기 버튼 */
    .detail_solution_link{display:inline-flex;align-items:center;gap:var(--row-gap10);height:60px;padding:0 26px;border:1px solid var(--black-color03);border-radius:500px;font-size:var(--text-20);color:var(--black-color03);transition:background 0.25s, color 0.25s;}
    .detail_solution_link::after{content:"\203A";font-size:var(--text-18);}
        @media (hover:hover) and (pointer:fine) {
            .detail_solution_link:hover{background:var(--black-color03);color:var(--point-white);}
        }

    @media (max-width:1023px) {
        .detail_plat{grid-template-columns:minmax(0, 1fr);max-width:560px;margin-inline:auto;}
        /* 1023 이하: 좌측 메뉴 숨기고 리스트를 가득 채운다 */
        .detail_solution{flex-direction:column;gap:var(--row-gap40);}
        .detail_solution_side{position:static;width:100%;flex:none;}
        .detail_solution_nav{display:none;}
        .detail_solution_list{width:100%;}
    }
    @media (max-width:640px) {
        .detail_solution_img{grid-template-columns:minmax(0, 1fr);}
    }

/*─────────────────────────────────────────────────────────
    오시는 길 (location)
    — 다크 서브비주얼 없이 본문이 제목/지도를 갖는다.
─────────────────────────────────────────────────────────*/
    /* 이 페이지는 공용 서브비주얼/LNB 를 감추고 고정 헤더만큼 상단 여백 확보 */
    #wrap.location :is(.sub_visual, .sub-nav){display:none;}
    .location_page{padding-block:clamp(120px, 16vw, 200px) var(--row-gap150);}
    .location_page :where(h2, h3, p){margin:0;}
    /* 페이지 제목은 공용 .detail_head 를 재사용 (구분선까지 간격만 지정) */
    .location_page .detail_head{margin-bottom:clamp(40px, 6vw, 80px);}

    /* 회사 정보 (좌: 지점명 · 우: 연락처) + 상단 구분선 */
    .location_info{display:flex;align-items:flex-start;gap:clamp(24px, 6vw, 100px);padding-top:var(--row-gap60);border-top:1px solid var(--black-color03);}
    .location_name{flex-shrink:0;font-size:var(--text-36);font-weight:700;line-height:1.3;color:var(--black-color00);}
    .location_contact{flex:1;min-width:0;display:flex;flex-wrap:wrap;gap:var(--row-gap20) clamp(20px, 4vw, 40px);}
    .location_contact > li{display:flex;align-items:center;gap:var(--row-gap20);}
    .location_contact > li.is-full{flex-basis:100%;}
    .location_ico{display:block;width:36px;height:36px;flex-shrink:0;}
    .location_ico svg{display:block;width:100%;height:100%;}
    .location_label{font-size:var(--text-18);font-weight:600;line-height:1.3;color:var(--black-color03);}
    .location_value{font-size:var(--text-18);font-weight:400;line-height:1.3;color:var(--black-color06);}
        @media (hover:hover) and (pointer:fine) {
            a.location_value:hover{color:var(--black-color03);text-decoration:underline;}
        }

    /* 지도 (구글맵 iframe 이 컨테이너를 채운다) */
    .location_map{width:100%;aspect-ratio:1500 / 520;min-height:280px;margin-top:var(--row-gap60);border-radius:var(--radius-20);overflow:hidden;background:var(--gray-bg04);}
    .location_map iframe{display:block;width:100%;height:100%;border:0;}

    @media (max-width:860px) {
        .location_info{flex-direction:column;gap:var(--row-gap30);}
        .location_contact > li{flex-basis:100%;flex-wrap:wrap;}
    }
