
    #wrap{position: relative; overflow: clip;}
    .w_custom{position: relative;width: calc(100% - 60px);max-width: 1600px;margin-inline: auto;}
    #fullpage .w_custom{max-width:1600px;}
    #wrap [class*="swiper-button"]::after{display: none;}
    #container:has(.full-sec){width:100%; max-width: 100%;}
    #container: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:1800px) and (min-width:1023px) {
        #fullpage .w_custom{padding-inline:var(--row-gap30);}
    }
    @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
─────────────────────────────────────────────────────────*/
    /* --hero-bg / --hero-fg : 첫 화면 바탕·글자색 (헤더 · 히어로 공용). 세부전공 모드(body.major)에서 전공 색으로 */
    :root{--header-h:clamp(64px, 5.6vw, 86px);--hero-bg:var(--point-white);--hero-fg:var(--black-color02);}
    body.major{--hero-bg:var(--major-bg, var(--black-color03));--hero-fg:var(--point-white);}
    body.no_scroll{overflow: hidden;}

    /* 접근성 : 본문 바로가기 (포커스 받을 때만 노출) · 키보드 포커스 표시
       reset.css 의 :where(button):focus{outline:none} 때문에 버튼 포커스가 안 보이므로 다시 그려준다 */
    .skip_nav{position: fixed;top: 0;left: 50%;z-index: 1000;padding: 12px 20px;background: var(--black-color02);color: var(--point-white);font-size: var(--text-16);transform: translate(-50%, -100%);transition: transform .2s;}
    .skip_nav:focus{transform: translate(-50%, 0);}
    :where(button, a):focus-visible{outline: 2px solid currentColor;outline-offset: 2px;}

    /* 텍스트 로고 (em 기준 : font-size 하나로 크기 조절) */
    .tlogo{display: inline-flex;flex-direction: column;font-family: var(--font-type01);font-size: clamp(13px, 1.05vw, 16px);font-weight: 600;line-height: 1.08;letter-spacing: 0;text-transform: uppercase;white-space: nowrap;color: inherit;}
    .tlogo_uni{margin: 0 -.454em .3em 0;font-size: .62em;font-weight: 400;letter-spacing: .454em;}
    .tlogo_amp{display: flex;justify-content: space-between;gap: 1.5em;}

    #header{position: fixed;top: 0;left: 0;width: 100%;z-index: 100;color: var(--hero-fg);transition: background-color .4s, box-shadow .4s, color .4s;}
    #header.on{background: var(--point-white);color: var(--black-color02);box-shadow: 0 4px 30px rgba(0,0,0,.06);}
    #header .header_inner{max-width: 1800px;height: var(--header-h);display: flex;align-items: center;justify-content: space-between;}
    #header .header_logo{display: inline-flex;}
    #header .header_logo .tlogo{transition: opacity .3s;}
    #header .header_logo .tlogo.hide{opacity: 0;}
    #header .header_utils{display: flex;align-items: center;gap: clamp(14px, 1.6vw, 28px);}
    #header .header_lang,
    #header .gnb_lang{display: flex;align-items: center;gap: 6px;font-family: var(--font-type01);font-size: var(--text-17);font-weight: 500;white-space: nowrap;}
    #header :where(.header_lang, .gnb_lang) a{opacity: .55;transition: opacity .2s;}
    #header :where(.header_lang, .gnb_lang) a.on{opacity: 1;}
    #header :where(.header_lang, .gnb_lang) span{opacity: .35;}
    #header .header_menu{width: 42px;height: 42px;display: flex;flex-direction: column;justify-content: center;gap: 5px;background: none;}
    #header .header_menu span{display: block;width: 24px;height: 2px;margin-inline: auto;background: currentColor;transition: all .3s;}
    #header .header_menu.on span:nth-child(1){transform: translateY(7px) rotate(45deg);}
    #header .header_menu.on span:nth-child(2){opacity: 0;}
    #header .header_menu.on span:nth-child(3){transform: translateY(-7px) rotate(-45deg);}

    /* 전체메뉴 : 우측 드로어 */
    #header .gnb_all{position: fixed;inset: 0;z-index: 150;background: rgba(10,14,20,.55);opacity: 0;visibility: hidden;transition: opacity .35s, visibility .35s;}
    #header .gnb_all.on{opacity: 1;visibility: visible;transition: opacity .35s, visibility 0s;}
    #header .gnb_panel{position: absolute;top: 0;right: 0;width: min(760px, 52vw);height: 100%;display: flex;flex-direction: column;padding: clamp(20px, 2vw, 30px) clamp(30px, 4vw, 60px) clamp(24px, 2.6vw, 36px);background: var(--black-color03);color: var(--point-white);box-sizing: border-box;transform: translateX(100%);transition: transform .45s cubic-bezier(.4, 0, .2, 1);}
    #header .gnb_all.on .gnb_panel{transform: translateX(0);}
    #header .gnb_head{flex-shrink: 0;display: flex;align-items: center;justify-content: space-between;gap: var(--col-gap30);}
    #header .gnb_close{width: 44px;height: 44px;margin-right: -10px;display: inline-flex;align-items: center;justify-content: center;background: none;transition: transform .3s;}
    #header .gnb_inner{flex: 1;min-height: 0;overflow-y: auto;padding: clamp(30px, 4vw, 56px) 0 var(--row-gap40);}
    #header .gnb_nav{display: flex;flex-direction: column;}

    /* 1차 : 좌측 절반 */
    #header .gnb_item{position: relative;}
    #header .gnb_item.on{z-index: 1;}
    #header .gnb_lv1{width: 50%;padding-right: var(--col-gap30);box-sizing: border-box;}
    #header .gnb_lv1 > :where(a, button){width: 100%;display: flex;align-items: center;justify-content: space-between;gap: 10px;padding-block: 11px;font-size: var(--text-24);font-weight: 500;line-height: 1.3;text-align: left;background: none;transition: opacity .25s;}
    #header .gnb_all.has_open .gnb_lv1 > :where(a, button){opacity: .4;}
    #header .gnb_item.on .gnb_lv1 > button{opacity: 1;font-weight: 600;}
    #header .gnb_txt{position: relative;}
    #header .gnb_txt::after{content: "";position: absolute;left: 0;bottom: -3px;width: 100%;height: 2px;background: currentColor;transform: scaleX(0);transform-origin: left;transition: transform .35s;}
    #header .gnb_lv1 > :focus-visible .gnb_txt::after,
    #header .gnb_item.on .gnb_txt::after{transform: scaleX(1);}
    #header .gnb_icon{position: relative;flex-shrink: 0;width: 14px;height: 14px;transition: transform .3s;}
    #header .gnb_icon::before,
    #header .gnb_icon::after{content: "";position: absolute;top: 50%;left: 50%;background: currentColor;translate: -50% -50%;}
    #header .gnb_icon::before{width: 100%;height: 1.5px;}
    #header .gnb_icon::after{width: 1.5px;height: 100%;}
    #header .gnb_item.on .gnb_icon{transform: rotate(135deg);}

    /* 2차 : 우측 절반 / 3차 */
    #header .gnb_sub{position: absolute;top: 0;left: 50%;width: 50%;padding: 11px 0 var(--row-gap20) var(--col-gap50);box-sizing: border-box;opacity: 0;visibility: hidden;transform: translateX(-10px);}
    #header .gnb_item.on > .gnb_sub{opacity: 1;visibility: visible;transform: translateX(0);transition: opacity .3s, transform .3s;}
    #header .gnb_sub > li + li{margin-top: 2px;}
    #header .gnb_sub > li > a{display: block;padding-block: 6px;font-size: var(--text-18);line-height: 1.4;color: rgba(255,255,255,.68);transition: color .2s;}
    #header .gnb_sub > li.has_child > a{font-weight: 600;color: var(--point-white);}
    #header .gnb_sub3{margin: 2px 0 12px;padding-left: 12px;border-left: 1px solid rgba(255,255,255,.18);}
    #header .gnb_sub3 a{display: block;padding-block: 4px;font-size: var(--text-17);color: rgba(255,255,255,.5);transition: color .2s;}

    /* 하단 : 관련 사이트 */
    #header .gnb_foot{flex-shrink: 0;display: flex;flex-wrap: wrap;gap: 8px var(--col-gap20);padding-top: var(--row-gap20);border-top: 1px solid rgba(255,255,255,.16);}
    #header .gnb_foot a{font-size: var(--text-16);color: rgba(255,255,255,.5);transition: color .2s;}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            #header :where(.header_lang, .gnb_lang) a:hover{opacity: 1;}
            #header .gnb_close:hover{transform: rotate(90deg);}
            #header .gnb_lv1 > :where(a, button):hover{opacity: 1;}
            #header .gnb_lv1 > :hover .gnb_txt::after{transform: scaleX(1);}
            #header :where(.gnb_sub > li > a, .gnb_sub3 a, .gnb_foot a):hover{color: var(--point-white);}
        }

    /* 태블릿/모바일 : 하위 메뉴를 1차 아래로 (아코디언) */
    @media (max-width:1023px) {
        #header .gnb_panel{width: min(560px, 88vw);}
        #header .gnb_lv1{width: 100%;}
        #header .gnb_sub{position: static;width: 100%;display: none;opacity: 1;visibility: visible;transform: none;}
        #header .gnb_item.on > .gnb_sub{display: block;}
    }
    @media (max-width:860px) {
        #header .header_lang{display: none;}
    }
    @media (max-width:560px) {
        #header .gnb_panel{width: 100%;}
    }

/*─────────────────────────────────────────────────────────
    Main : Intro (중앙의 텍스트 로고가 헤더 로고 자리로 이동하며 화면이 걷힘 · main.js)
─────────────────────────────────────────────────────────*/
    /* 스크립트가 동작하지 않아도 5초 뒤에는 저절로 사라진다 (introAuto) */
    .intro{position: fixed;inset: 0;z-index: 999;display: flex;align-items: center;justify-content: center;animation: introAuto 0s 5s forwards;}
    .intro_bg{position: absolute;inset: 0;background: var(--hero-bg);transition: opacity 1.1s, visibility 1.1s;}
    .intro_bg.hide{opacity: 0;visibility: hidden;}
    .intro_logo{position: relative;display: flex;color: var(--hero-fg);opacity: 0;transform: scale(.92);animation: introLogoIn .6s forwards;will-change: transform;}
    .intro_logo .tlogo{font-size: clamp(26px, 2.6vw, 40px);}
    .intro_logo.move{transition: transform 1.1s cubic-bezier(.65, 0, .35, 1);}
    @keyframes introLogoIn{to{opacity: 1;transform: scale(1);}}
    @keyframes introAuto{to{visibility: hidden;opacity: 0;}}

/*─────────────────────────────────────────────────────────
    Main : Hero (학부 소개 + 6색 세부전공 큐브)
─────────────────────────────────────────────────────────*/
    /* 단색 팔레트 : tone_* 를 붙이면 --tone-bg 가 정해진다 (색 값은 reset.css --tone-*) */
    .tone_red{--tone-bg: var(--tone-red);}
    .tone_burgundy{--tone-bg: var(--tone-burgundy);}
    .tone_blue{--tone-bg: var(--tone-blue);}
    .tone_navy{--tone-bg: var(--tone-navy);}
    .tone_gray{--tone-bg: var(--tone-gray);}
    .tone_dark{--tone-bg: var(--tone-dark);}

    .hero{padding: calc(var(--header-h) + clamp(8px, 1vw, 16px)) 0 clamp(34px, 4.4vw, 70px);background: var(--hero-bg);color: var(--black-color03);transition: background-color .6s, color .6s;}
    body.major .hero{color: var(--hero-fg);}
    .hero_inner{display: flex;flex-direction: column;justify-content: flex-end;gap: var(--row-gap30);min-height: calc(100svh - var(--header-h) - clamp(8px, 1vw, 16px) - clamp(34px, 4.4vw, 70px));}

    /* 큐브 : 우측 상단 (흐름 안에 두어 화면이 낮으면 겹치지 않고 히어로가 길어진다) */
    .hero_cube{position: relative;align-self: flex-end;margin: 0 clamp(0px, 8vw, 140px) auto 0;}
    .hero_back{position: absolute;left: 0;right: 0;bottom: 0;font-family: var(--font-type01);font-size: var(--text-14);letter-spacing: .08em;text-align: center;text-transform: uppercase;white-space: nowrap;opacity: 0;transition: opacity .4s;}
    body.major .hero_back{opacity: .7;}

    /* 소개 문구 : 좌측 하단 */
    .hero_txt{transition: opacity .35s, transform .35s;}
    .hero_txt.out{opacity: 0;transform: translateY(10px);}
    .hero_eyebrow{font-family: var(--font-type01);font-size: var(--text-33);font-weight: 400;line-height: 1.2;letter-spacing: .3em;text-transform: uppercase;}
    .hero_txt.major_txt .hero_eyebrow{letter-spacing: .02em;}
    .hero_tit{margin-top: clamp(4px, 0.8vw, 13px);font-family: var(--font-type01);font-size: var(--text-54);font-weight: 600;line-height: 1.15;letter-spacing: 0;text-transform: uppercase;}
    .hero_lead{font-size: var(--text-21);font-weight: 400;line-height: 1.4;}
    .hero_lead + .hero_lead{margin-top: clamp(10px, 1.45vw, 23px);}
    .hero_ko{margin-top: clamp(14px, 2.45vw, 39px);font-family: var(--font-type02);font-weight: 300;line-height: 1.5;color: color-mix(in srgb, currentColor 80%, transparent);}

    /* 큐브 : CSS 3D 정육면체 (회전 · 드래그 · 클릭은 main.js) */
    .cube_stage{--cube-size: clamp(140px, min(18vw, 26svh), 280px);position: relative;width: var(--cube-size);height: var(--cube-size);margin: calc(var(--cube-size) * .37);cursor: pointer;user-select: none;-webkit-user-select: none;touch-action: pan-y;transition: scale .6s cubic-bezier(.4, 0, .2, 1);}
    .cube_stage.drag{cursor: grabbing;}
    .cube{position: absolute;inset: 0;transform-style: preserve-3d;transform: perspective(calc(var(--cube-size) * 3.2)) rotateX(-28deg) rotateY(-45deg);will-change: transform;}
    .cube_face{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;padding: calc(var(--cube-size) * .05);box-sizing: border-box;background: var(--tone-bg);border: 1px solid rgba(255,255,255,.18);font-family: var(--font-type01);font-size: clamp(11px, calc(var(--cube-size) * .077), 20px);font-weight: 600;line-height: 1.3;letter-spacing: .02em;text-align: center;text-transform: uppercase;color: var(--point-white);backface-visibility: hidden;-webkit-backface-visibility: hidden;transition: background-color .5s, border-color .5s, color .4s;}
    .cube_face:focus-visible{outline: 2px solid var(--point-white);outline-offset: -6px;}
    .cube_front{transform: translateZ(calc(var(--cube-size) / 2));}
    .cube_back{transform: rotateY(180deg) translateZ(calc(var(--cube-size) / 2));}
    .cube_right{transform: rotateY(90deg) translateZ(calc(var(--cube-size) / 2));}
    .cube_left{transform: rotateY(-90deg) translateZ(calc(var(--cube-size) / 2));}
    .cube_top{transform: rotateX(90deg) translateZ(calc(var(--cube-size) / 2));}
    .cube_bottom{transform: rotateX(-90deg) translateZ(calc(var(--cube-size) / 2));}

    /* 세부전공 모드 : 반투명 흰색 큐브(.65배), 글자 숨김 */
    body.major .cube_stage{scale: .65;}
    body.major .cube_face{background: rgba(255,255,255,.14);border-color: rgba(255,255,255,.9);color: transparent;backface-visibility: visible;-webkit-backface-visibility: visible;}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            body.major .cube_stage:hover .cube_face{background: rgba(255,255,255,.22);}
        }

    @media (prefers-reduced-motion: reduce) {
        .cube, .cube_stage{transition: none;}
    }
    @media (max-width:860px) {
        .hero_br{display: none;}
        .hero_inner{min-height: 0;}
        .hero_cube{align-self: center;margin-right: 0;}
    }

/*─────────────────────────────────────────────────────────
    Main : 공통 섹션 제목 · View More
─────────────────────────────────────────────────────────*/
    /* --tile-gap : 타일 사이 간격 / --tile-row : NEWS 카드 1행 높이 */
    :root{--tile-gap:clamp(14px, 1.18vw, 17px);--tile-row:clamp(210px, 22.5vw, 330px);}

    .sec_head{display: flex;align-items: flex-end;justify-content: space-between;gap: var(--col-gap30);margin-bottom: 20px;}
    .sec_tit{font-size: var(--text-36);font-weight: 700;text-transform: uppercase;color: var(--black-color05);}
    .btn_more{position: relative;flex-shrink: 0;display: inline-flex;align-items: center;gap: 6px;padding-block: 4px;font-size: var(--text-17);font-weight: 600;letter-spacing: .03em;color: var(--black-color10);transition: color .5s;}
    .btn_more::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 1px;background: currentColor;transform: scaleX(0);transform-origin: left;transition: transform .35s;}
    .btn_more svg{transition: transform .35s, color .5s;}
    .btn_more:focus-visible{color: var(--black-color06);}
    .btn_more:focus-visible::after{transform: scaleX(1);}
    .btn_more:focus-visible svg{color: var(--black-color05);transform: rotate(90deg);}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .btn_more:hover{color: var(--black-color06);}
            .btn_more:hover::after{transform: scaleX(1);}
            .btn_more:hover svg{color: var(--black-color05);transform: rotate(90deg);}
        }

    /* 479px 이하 : View More 를 섹션 맨 아래로 (sec_head 를 풀어 순서만 바꿈) */
    @media (max-width:479px) {
        :is(.news, .portfolio) > .w_custom{display: flex;flex-direction: column;}
        :is(.news, .portfolio) .sec_head{display: contents;}
        :is(.news, .portfolio) .sec_tit{margin-bottom: 20px;}
        :is(.news, .portfolio) .btn_more{order: 1;align-self: stretch;margin-top: var(--row-gap30);}
    }

/*─────────────────────────────────────────────────────────
    Main : Latest News (갤러리형 학부소식)
─────────────────────────────────────────────────────────*/
    .news{padding-top: var(--row-gap100);overflow-x: clip;}
    .news_layout{display: grid;grid-template-columns: minmax(0, .62fr) minmax(0, 1fr);gap: var(--tile-gap);}

    /* 오른쪽 카드 : 32칸 위에 넓은(21) · 좁은(11) 타일을 행마다 번갈아 */
    .news_swiper{min-width: 0;height: 100%;}
    .news_list{height: 100%;display: grid;grid-template-columns: repeat(32, minmax(0, 1fr));grid-template-rows: repeat(2, minmax(0, 1fr));gap: var(--tile-gap);}
    .news_list > li:nth-child(1){grid-column: 1 / 22;}
    .news_list > li:nth-child(2){grid-column: 22 / 33;}
    .news_list > li:nth-child(3){grid-column: 1 / 12;}
    .news_list > li:nth-child(4){grid-column: 12 / 33;}

    /* 타일 공통 (대표 · 카드) */
    .news_item{position: relative;display: block;height: 100%;overflow: hidden;}
    .news_feature{min-height: calc(var(--tile-row) * 2 + var(--tile-gap));}
    .news_thumb{position: absolute;inset: 0;overflow: hidden;}
    .news_thumb img{width: 100%;height: 100%;max-height: none;object-fit: cover;transition: transform .6s;}
    .news_item::after{content: "";position: absolute;inset: 0;background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.08) 55%);}
    .news_body{position: absolute;left: 0;right: 0;bottom: 0;z-index: 1;padding: clamp(16px, 1.8vw, 22px);color: var(--point-white);transition: opacity .3s;}
    .news_tit{display: -webkit-box;-webkit-line-clamp: 3;line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;font-size: var(--text-20);font-weight: 600;}
    .news_feature .news_tit{font-size: var(--text-25);font-weight: 700;}

    /* 썸네일 없음 : 포인트 컬러 단색, 그라데이션 없음 */
    .news_item.no_img .news_thumb{background: var(--point-color01);}
    .news_item.no_img::after{display: none;}

    /* hover · focus 오버레이 : 단색 바탕이 좌→우로 덮고, 글자는 한 박자 늦게 따라 들어온다
       (덮기 전 opacity 0 · 덮은 뒤 clip 2px 확장 → 가장자리 1px 비침 방지) */
    .news_over{position: absolute;inset: 0;z-index: 2;display: flex;flex-direction: column;gap: var(--row-gap10);padding: clamp(20px, 2.2vw, 28px) clamp(16px, 1.8vw, 22px) clamp(16px, 1.8vw, 22px);box-sizing: border-box;background: var(--tone-bg, var(--black-color02));color: var(--point-white);overflow: hidden;opacity: 0;clip-path: inset(0 100% 0 0);transition: clip-path .5s cubic-bezier(.4, 0, .2, 1), opacity 0s linear .5s;}
    .news_over > *{opacity: 0;transform: translateX(-18px);transition: opacity .4s, transform .4s;}
    .over_tit{flex-shrink: 0;font-size: var(--text-20);font-weight: 700;line-height: 1.3;}
    .news_feature .over_tit{font-size: var(--text-25);}
    .over_desc{display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;font-size: var(--text-16);font-weight: 300;line-height: 1.55;color: rgba(255,255,255,.85);}
    .news_feature .over_desc{font-size: var(--text-17);}
    .over_meta{flex-shrink: 0;display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 4px 12px;margin-top: auto;padding-top: var(--row-gap15);border-top: 1px solid rgba(255,255,255,.3);font-size: var(--text-14);line-height: 1.4;color: rgba(255,255,255,.85);}
    .over_date{font-family: var(--font-type01);letter-spacing: .04em;}

    .news_item:focus-visible .news_body{opacity: 0;}
    .news_item:focus-visible .news_over{opacity: 1;clip-path: inset(-2px);transition: clip-path .5s cubic-bezier(.4, 0, .2, 1), opacity 0s;}
    .news_item:focus-visible .news_over > *{opacity: 1;transform: translateX(0);transition-delay: .15s;}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .news_item:hover .news_thumb img{transform: scale(1.06);}
            .news_item:hover .news_body{opacity: 0;}
            .news_item:hover .news_over{opacity: 1;clip-path: inset(-2px);transition: clip-path .5s cubic-bezier(.4, 0, .2, 1), opacity 0s;}
            .news_item:hover .news_over > *{opacity: 1;transform: translateX(0);transition-delay: .15s;}
        }

    /* 1023px 이하 : 1열로 쌓고, 카드 목록은 swiper 캐러셀 · 다음 카드가 살짝 보이게 (main.js)
       swiper 기본 CSS 대신 필요한 것만 여기서 : 카드 폭 · 간격은 swiper 가 인라인으로 넣는다 */
    @media (max-width:1023px) {
        .news_layout{grid-template-columns: minmax(0, 1fr);}
        .news_feature{min-height: clamp(300px, 52vw, 480px);}
        .news_swiper{touch-action: pan-y;}
        .news_list{display: flex;gap: 0;}
        .news_list > li{flex-shrink: 0;width: 45%;}
        .news_list .news_item{height: auto;aspect-ratio: 3 / 2;}
        .news_list .over_desc{display: none;}
    }
    @media (max-width:640px) {
        .news_list > li{width: 87%;}
    }

/*─────────────────────────────────────────────────────────
    Main : Academics (학부 / 대학원 / 연구 · 정사각 단색 카드)
─────────────────────────────────────────────────────────*/
    .academics{padding-block: var(--row-gap100);}
    .aca_grid{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: var(--tile-gap);}

    /* 카드 폭(cqi) 기준으로 안쪽 여백 · 간격을 잡아, 3단에서 카드가 작아져도 뒷면 내용이 넘치지 않게 */
    .aca_tile{container-type: inline-size;--aca-pad: clamp(18px, 8.45cqi, 40px);}
    .aca_tile a{position: relative;display: block;aspect-ratio: 1 / 1;overflow: hidden;}
    .aca_face{position: absolute;inset: 0;display: flex;flex-direction: column;padding: var(--aca-pad);box-sizing: border-box;background: var(--tone-bg);color: var(--point-white);}

    /* 앞면 : 좌하단 큰 제목 (좁은 3단 구간에서는 한 줄에 맞게 줄어듦) */
    .aca_front{justify-content: flex-end;}
    .aca_tit{font-family: var(--font-type01);font-size: min(var(--text-34), calc((100cqi - 2 * var(--aca-pad)) / 9.8));font-weight: 600;line-height: 1.1;white-space: nowrap;}

    /* 뒷면 : 아래→위 와이프(clip-path), 글자는 한 박자 늦게 아래에서 올라온다
       (덮기 전 opacity 0 · 덮은 뒤 clip 2px 확장 → 가장자리 비침 방지) */
    .aca_back{justify-content: space-between;gap: var(--row-gap30);opacity: 0;clip-path: inset(100% 0 0 0);transition: clip-path .5s cubic-bezier(.4, 0, .2, 1), opacity 0s linear .5s;}
    .aca_back > *{opacity: 0;transform: translateY(18px);transition: opacity .4s, transform .4s;}
    .aca_back_tit{font-family: var(--font-type01);font-size: var(--text-22);font-weight: 600;opacity: .75;}
    .aca_back > .aca_back_tit{opacity: 0;}
    .aca_groups{display: flex;flex-direction: column;gap: clamp(10px, 4.5cqi, 20px);}
    .aca_group{display: block;font-family: var(--font-type02);}
    .aca_group b{display: block;padding-bottom: clamp(5px, 2cqi, 8px);margin-bottom: clamp(6px, 2.5cqi, 10px);border-bottom: 1px solid rgba(255,255,255,.35);font-size: var(--text-20);font-weight: 700;}
    .aca_group span{display: block;font-size: var(--text-16);line-height: 1.6;color: rgba(255,255,255,.9);}

    .aca_tile a:focus-visible .aca_back{opacity: 1;clip-path: inset(-2px);transition: clip-path .5s cubic-bezier(.4, 0, .2, 1), opacity 0s;}
    .aca_tile a:focus-visible .aca_back > *{opacity: 1;transform: translateY(0);transition-delay: .15s;}
    .aca_tile a:focus-visible .aca_back > .aca_back_tit{opacity: .75;}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .aca_tile a:hover .aca_back{opacity: 1;clip-path: inset(-2px);transition: clip-path .5s cubic-bezier(.4, 0, .2, 1), opacity 0s;}
            .aca_tile a:hover .aca_back > *{opacity: 1;transform: translateY(0);transition-delay: .15s;}
            .aca_tile a:hover .aca_back > .aca_back_tit{opacity: .75;}
        }

    @media (prefers-reduced-motion: reduce) {
        .aca_back, .aca_back > *{transition: none !important;}
    }
    /* 1023px 이하 : hover 가 없는 환경이라 뒷면(세부 전공)을 기본으로 노출 */
    @media (max-width:1023px) {
        .aca_back{opacity: 1;clip-path: none;transition: none;}
        .aca_back > *{opacity: 1;transform: none;transition: none;}
        .aca_back > .aca_back_tit{opacity: .75;}
    }
    /* 860px 이하 : 1단 · 4:3 카드 */
    @media (max-width:860px) {
        .aca_grid{grid-template-columns: minmax(0, 1fr);}
        /* 높이는 내용만큼 : 겹쳐 쌓던 앞/뒷면을 흐름 안으로 (뒷면만 노출) */
        .aca_tile a{aspect-ratio: auto;display: flex;}
        .aca_face{position: static;flex: 1;}
        .aca_front{display: none;}
    }

/*─────────────────────────────────────────────────────────
    Main : Student Works (벤토 그리드)
─────────────────────────────────────────────────────────*/
    .pf_grid{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));grid-auto-rows: var(--tile-row);gap: var(--tile-gap);}
    .pf_tile:nth-child(2){grid-row: span 2;}
    .pf_tile:nth-child(3){grid-column: span 2;}
    .pf_tile a{position: relative;display: block;height: 100%;overflow: hidden;}
    .pf_img{position: absolute;inset: 0;width: 100%;height: 100%;max-height: none;object-fit: cover;transition: transform .6s;}

    /* 스크림 2겹 : 기본(::after)은 아래쪽만 살짝, hover 시 .pf_shade 가 진하게 덮인다 */
    .pf_tile a::after{content: "";position: absolute;inset: 0;background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.08) 55%);}
    .pf_shade{position: absolute;inset: 0;z-index: 1;background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.45) 50%, rgba(0,0,0,.08) 100%);opacity: 0;transition: opacity .45s;pointer-events: none;}
    /* 우상단 hover 마크 : 빨간 정사각 아웃라인 */
    .pf_tile a::before{content: "";position: absolute;top: clamp(16px, 1.8vw, 22px);right: clamp(16px, 1.8vw, 22px);z-index: 3;width: 22px;height: 22px;box-sizing: border-box;border: 2px solid var(--point-red);opacity: 0;transform: scale(.6);transition: opacity .35s, transform .35s cubic-bezier(.34, 1.3, .64, 1);}

    .pf_info{position: absolute;left: 0;right: 0;bottom: 0;z-index: 2;display: flex;flex-direction: column;align-items: flex-start;padding: clamp(16px, 1.8vw, 22px);color: var(--point-white);}
    .pf_tit{font-size: var(--text-22);font-weight: 600;line-height: 1.25;}
    /* 상세 : grid 0fr → 1fr 로 실제 높이만큼 펼친다 */
    .pf_more{display: grid;grid-template-rows: 0fr;width: 100%;opacity: 0;transition: grid-template-rows .45s cubic-bezier(.4, 0, .2, 1), opacity .35s;}
    .pf_more_in{display: flex;flex-direction: column;align-items: flex-start;gap: 6px;min-height: 0;overflow: hidden;}
    .pf_more_in::before{content: "";}
    .pf_meta{font-size: var(--text-15);color: rgba(255,255,255,.85);}
    .pf_award{margin-top: 4px;padding: 3px 8px;border: 1px solid rgba(255,255,255,.55);font-family: var(--font-type02);font-size: var(--text-12);font-weight: 600;}
    .pf_desc{display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;margin-top: 4px;font-size: var(--text-16);font-weight: 300;line-height: 1.5;color: rgba(255,255,255,.85);}

    .pf_tile a:focus-visible .pf_shade{opacity: 1;}
    .pf_tile a:focus-visible::before{opacity: 1;transform: scale(1);}
    .pf_tile a:focus-visible .pf_more{grid-template-rows: 1fr;opacity: 1;transition-delay: 0s, .1s;}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .pf_tile a:hover .pf_img{transform: scale(1.06);}
            .pf_tile a:hover .pf_shade{opacity: 1;}
            .pf_tile a:hover::before{opacity: 1;transform: scale(1);}
            .pf_tile a:hover .pf_more{grid-template-rows: 1fr;opacity: 1;transition-delay: 0s, .1s;}
        }

    /* 1023px 이하 : 2열 (크게 쓰던 2 · 3번 타일도 한 칸) */
    @media (max-width:1023px) {
        .pf_grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
        .pf_tile:nth-child(2), .pf_tile:nth-child(3){grid-row: auto;grid-column: auto;}
    }
    /* 479px 이하 : 1열 */
    @media (max-width:479px) {
        .pf_grid{grid-template-columns: minmax(0, 1fr);grid-auto-rows: 220px;}
    }

/*─────────────────────────────────────────────────────────
    Main : Community (공지사항 + 자료실 · 좌우 2단 목록)
─────────────────────────────────────────────────────────*/
    .community{padding-top: var(--row-gap100);}
    .community_grid{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: var(--row-gap50) clamp(30px, 4vw, 60px);}
    .board_head{display: flex;align-items: center;justify-content: space-between;gap: var(--col-gap20);margin-bottom: 20px;}
    .board_tit{font-size: var(--text-30);font-weight: 700;text-transform: uppercase;color: var(--black-color05);}

    .board_list{border-top: 2px solid var(--black-color01);}
    .board_list li{border-bottom: 1px solid var(--border-color03);}
    .board_list a{display: flex;align-items: center;justify-content: space-between;gap: var(--col-gap20);padding: var(--row-gap15) 4px;transition: padding .25s;}
    .board_row{display: flex;align-items: center;gap: 16px;min-width: 0;}
    .board_badge{flex-shrink: 0;padding: 6px 8px 5px;background: var(--point-color01);color: var(--point-white);font-family: var(--font-type01);font-size: var(--text-13);font-weight: 700;line-height: 1;letter-spacing: .02em;}
    .board_subject{overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--text-18);color: var(--black-color03);transition: color .25s;}
    .board_date{flex-shrink: 0;font-family: var(--font-type01);font-size: var(--text-16);color: var(--black-color09);}

    /* 자료실 : 공지(파랑)와 구분되도록 NEW 배지 · hover 글자를 남색으로 */
    .board_box.navy .board_badge{background: var(--tone-navy);}

    .board_list a:focus-visible .board_subject{color: var(--point-color01);}
    .board_box.navy .board_list a:focus-visible .board_subject{color: var(--tone-navy);}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .board_list a:hover{padding-left: 14px;}
            .board_list a:hover .board_subject{color: var(--point-color01);}
            .board_box.navy .board_list a:hover .board_subject{color: var(--tone-navy);}
        }

    /* 640px 이하 : 공지사항 · 자료실을 1단으로 */
    @media (max-width:640px) {
        .community_grid{grid-template-columns: minmax(0, 1fr);}
    }
    /* 479px 이하 : 제목과 날짜를 위아래로 */
    @media (max-width:479px) {
        .board_list a, .board_row{flex-direction: column;align-items: flex-start;}
        .board_subject{max-width: 100%;}
    }

/*─────────────────────────────────────────────────────────
    Footer (옅은 회색 · 패밀리사이트 · 약관 모달 · 맨 위로)
─────────────────────────────────────────────────────────*/
    #footer{margin-top: var(--row-gap120);background: var(--gray-bg05);color: var(--black-color06);}
    .footer_top{padding-block: var(--row-gap25);border-bottom: 1px solid rgba(0,0,0,.1);}
    .footer_top .w_custom{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: var(--col-gap30);}
    .footer_links{display: flex;flex-wrap: wrap;align-items: center;gap: clamp(16px, 2vw, 32px);}
    .footer_links :where(a, .policy_link){font-size: var(--text-17);color: var(--black-color05);background: none;transition: color .25s;}
    .footer_links .policy_link.privacy{font-weight: 700;color: var(--black-color01);}

    /* 패밀리사이트 : 위로 펼쳐지는 목록 */
    .family{position: relative;width: clamp(190px, 17vw, 230px);}
    .family_btn{width: 100%;height: 44px;display: flex;align-items: center;justify-content: space-between;gap: 12px;padding-inline: 16px;background: none;border: 1px solid rgba(0,0,0,.25);font-size: var(--text-15);color: var(--black-color03);text-transform: uppercase;}
    .family_btn svg{transition: transform .3s;}
    .family.on .family_btn svg{transform: rotate(180deg);}
    .family_panel{position: absolute;left: 0;bottom: calc(100% + 8px);z-index: 5;width: 100%;max-height: 280px;overflow-y: auto;padding: 8px;box-sizing: border-box;background: var(--point-white);border: 1px solid rgba(0,0,0,.15);opacity: 0;visibility: hidden;transform: translateY(8px);transition: opacity .28s, visibility .28s, transform .28s;scrollbar-width: thin;}
    .family.on .family_panel{opacity: 1;visibility: visible;transform: translateY(0);}
    .family_panel a{display: block;padding: 11px 14px;font-size: var(--text-16);color: var(--black-color05);transition: background-color .2s, color .2s;}
    .family_panel a:focus-visible{background: rgba(0,0,0,.05);color: var(--black-color01);}

    /* 하단 : 로고 · 주소 · 저작권 */
    .footer_btm{padding: var(--row-gap35) 0 var(--row-gap40);}
    .footer_logo{margin-bottom: var(--row-gap20);}
    .footer_logo .tlogo{font-size: clamp(14px, 1.15vw, 17px);color: var(--black-color02);}
    .footer_addr{font-size: var(--text-16);font-style: normal;}
    .footer_addr .sep{margin-inline: 8px;opacity: .4;}
    .footer_copy{margin-top: var(--row-gap20);font-family: var(--font-type01);font-size: var(--text-15);color: var(--black-color08);}
    .footer_copy a{margin-left: 8px;color: var(--black-color08);transition: color .2s;}

    /* 맨 위로 : 우하단 고정, 400px 이상 내려가면 노출 (footer.js) */
    .btn_top{position: fixed;right: clamp(16px, 2vw, 28px);bottom: clamp(16px, 2vw, 28px);z-index: 90;width: 48px;height: 48px;display: inline-flex;align-items: center;justify-content: center;background: var(--point-white);border: 1px solid var(--border-color01);color: var(--black-color02);box-shadow: 0 6px 18px rgba(0,0,0,.12);opacity: 0;visibility: hidden;transform: translateY(12px);transition: opacity .3s, visibility .3s, transform .3s, background-color .25s, color .25s;}
    .btn_top.on{opacity: 1;visibility: visible;transform: translateY(0);}
    .btn_top:focus-visible{background: var(--black-color02);border-color: var(--black-color02);color: var(--point-white);}

    /* 약관 모달 ({{POLICY_*}}) */
    .policy_modal{position: fixed;inset: 0;z-index: 1000;display: flex;align-items: center;justify-content: center;padding: 16px;background: rgba(0,0,0,.5);}
    .policy_modal[hidden]{display: none;}
    .policy_box{width: 100%;max-width: 700px;max-height: 80vh;display: flex;flex-direction: column;background: var(--point-white);box-shadow: 0 20px 60px rgba(0,0,0,.3);}
    .policy_head{display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 16px 24px;border-bottom: 1px solid var(--border-color03);}
    .policy_tit{font-size: var(--text-18);font-weight: 700;color: var(--black-color02);}
    .policy_close{width: 40px;height: 40px;margin-right: -10px;background: none;font-size: 28px;line-height: 1;color: var(--black-color06);}
    .policy_body{padding: 24px;overflow-y: auto;font-size: var(--text-16);line-height: 1.8;color: var(--black-color04);}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .footer_links :where(a, .policy_link):hover{color: var(--black-color01);}
            .family_panel a:hover{background: rgba(0,0,0,.05);color: var(--black-color01);}
            .footer_copy a:hover{color: var(--black-color01);text-decoration: underline;}
            .btn_top:hover{background: var(--black-color02);border-color: var(--black-color02);color: var(--point-white);}
            .policy_close:hover{color: var(--black-color01);}
        }

    /* 860px 이하 : 약관 링크와 패밀리사이트를 위아래로 */
    @media (max-width:860px) {
        .footer_top .w_custom{flex-direction: column;align-items: stretch;}
        .family{width: 100%;}
    }

/*─────────────────────────────────────────────────────────
    Main
─────────────────────────────────────────────────────────*/
    #fullpage .section{padding-block: var(--row-gap140);position: relative;}
    #fullpage .section.main_visual{padding-block: 0;}
    #fullpage .main_visual .fp-tableCell{padding-top:0;}
    #fullpage .bg{width:100%;height:100%;position: absolute;top:0;left:0;}
    
    body #fp-nav{z-index:900;display:block !important;}
    body #fp-nav.right{right:40px;}
    body #fp-nav.left{left:40px; right:auto;}
    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:19px;}
    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.5;border-radius:100px !important;margin:0 !important;position:absolute;inset:0;}
    body #fp-nav ul li a.active {width:8px;height:24px;}
    body #fp-nav ul li a.active span{opacity:1;background:var(--point-color02);}

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

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

    /* 비주얼 */
        .visualSwiper{position: relative; background: var(--black-color01);height:100%;}
        .visualSwiper .swiper-slide{position: relative;height: auto; min-height: clamp(400px, 94vw, 940px); 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{display: flex;flex-direction: column;color: var(--point-white);line-height: 1.4;translate:0 -37%;gap:var(--row-gap20);}
        .visualSwiper .title .tag{font-size: var(--text-20);font-weight: 600;color: var(--point-color02);letter-spacing:-0.01em;}
        .visualSwiper .title h2{font-size: var(--text-68);font-weight: 700;color:var(--point-white);letter-spacing:-0.01em;}
        .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 .main_controller{position: absolute;left:50%;bottom:30.5%;z-index: 5;translate: -50%;gap:var(--row-gap30);pointer-events: auto;}
        
        .visualSwiper .main_counter span.swiper-counter-current{color:var(--point-white)}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .visualSwiper .main_arw:hover{background:var(--point-white);}
                .visualSwiper .main_arw:hover::before{border-color:var(--black-color11);}
            }

        @media (max-width:479px) {
            .visualSwiper .main_controller{bottom:15%;}
        }

        /* 게시판 노출 영역 */
        .main_visual .vs_board{position:absolute;left:0;right:0;bottom:clamp(30px, 8vw, 80px);margin-inline:auto;z-index:5;display:flex;justify-content:flex-end;pointer-events:none;}
        .main_visual .vs_board_inner{pointer-events:auto;display:flex;flex-direction:column;gap:var(--row-gap20);width:clamp(300px, 30vw, 480px);}
        .main_visual .vs_board_list{display:flex;gap:var(--row-gap20);}
        .main_visual .vs_board_item{flex:1 1 0;min-width:0;border-radius:var(--radius-10);background:rgba(170, 170, 170, 0.20);backdrop-filter: blur(10px);padding:var(--row-gap20);}
        .main_visual .vs_board_item .thumb{display:block;width:100%;aspect-ratio:auto 1;border-radius:var(--radius-06);}
        .main_visual .vs_board_item p{margin-top:var(--row-gap15);font-size:var(--text-19);font-weight:500;line-height:1.6;color:var(--point-white);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
        .main_visual .vs_notice{display:flex;align-items:center;justify-content:space-between;gap:var(--col-gap20);border-radius:var(--radius-10);background:rgba(170, 170, 170, 0.20);backdrop-filter: blur(10px);padding:var(--row-gap20);}
        .main_visual .vs_notice .tit{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-19);color:var(--point-white);}
        .main_visual .vs_notice .date{display: none;}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_visual .vs_board_item:hover p,
                .main_visual .vs_notice:hover .tit{text-decoration:underline;}
            }

        @media (min-width:1024px) and (max-height:800px) {
            .visualSwiper .main_controller{bottom:20%;}
        }
        @media (min-width:1024px) and (max-height:700px) {
            .visualSwiper .title{translate:0 -80%;}
            .visualSwiper .main_controller{bottom:10%;}
        }

        @media (max-width:1750px) {
            #fullpage .main_visual .vs_board{padding-right:70px;}
        }
        @media (max-width:1250px) {
            .main_visual .vs_board{display:none;}
        }

    /*공통*/
        .main_controller{display: flex;align-items: center;gap:var(--row-gap15);}
        .main_arw_box{display: flex;align-items: center;gap:var(--row-gap10);}
            .main_arw{width:clamp(40px, 6vw, 60px);aspect-ratio:auto 1;border-radius:100%;display: flex;align-items: center;justify-content: center;border:1px solid var(--border-color01);position:relative;}
            .main_arw:before{width:clamp(8px, 1vw, 10px);aspect-ratio:auto 1;content:"";border:2px solid var(--black-color11);border-width:2px 2px 0 0;rotate:-135deg;}
        .main_arw.next{scale:-1 -1;}
        .main_arw.wh{border-color:rgba(255,255,255,0.2)}
            .main_arw.wh:before{border-color:var(--point-white);}

        .main_counter{display: flex;align-items:baseline;gap:4px;}
        .main_counter span{font-size:var(--text-20);color:var(--black-color10);font-weight:700;}
        .main_counter span.swiper-counter-current{font-size:var(--text-24);color:var(--black-color03);}

        @media (hover:hover) and (pointer:fine){
            .main_arw:hover{border-color:var(--black-color11);}
        }

        .main_title{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:var(--row-gap20);}
        .main_title span{font-size:var(--text-20);color:var(--point-color01);font-weight:700;text-transform:uppercase;}
        .main_title h3{font-size:var(--text-50);color:var(--black-color01);font-weight:700;}
        .main_title p{font-size:var(--text-20);color:var(--black-color03);font-weight:400;line-height:1.6;margin-top:var(--row-gap10);}

        .main_more{display:inline-flex;align-items:center;justify-content: space-between;gap:var(--row-gap10);padding-inline:var(--row-gap30);border-radius:var(--radius-100);border:1px solid var(--point-color01);font-size:var(--text-18);min-width:clamp(160px, 20vw, 220px);height:clamp(50px, 6vw, 60px);font-weight:700;letter-spacing:0.02em;color:var(--point-color01);transition:all 0.3s;}
        .main_more .ico{position: relative;width:clamp(12px, 1.4vw, 16px);aspect-ratio:auto 1;}
        .main_more .ico:before,
        .main_more .ico:after{width:100%;height:3px;content:"";background:var(--point-color01);position: absolute;top:50%;left:50%;translate:-50% -50%;}
        .main_more .ico:after{rotate:90deg;}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_more:hover{background:var(--point-color01);color:var(--point-white);}
                .main_more:hover .ico:before,
                .main_more:hover .ico:after{background:var(--point-white);}
            }

    /*solution*/
        .main_solution .sol_inner{display:flex;align-items:center;justify-content:space-between;gap:var(--col-gap60);}
        .main_solution .sol_left{flex:1 1 0;min-width:0;max-width:890px;}
        .main_solution .sol_swiper{margin-top:var(--row-gap50);padding-top:var(--row-gap50);border-top:1px solid var(--border-color01);}
        .main_solution .sol_step{display:flex;gap:clamp(10px, 1.2vw, 14px);align-items: flex-start;}
        .main_solution .sol_num{font-size:var(--text-34);font-weight:700;color:var(--point-color02);line-height:1.25;padding-top:3px;flex-shrink:0;}
        .main_solution .sol_step .txt{display: flex;flex-direction:column;align-items: flex-start;gap:clamp(10px, 1.2vw, 14px);}
        .main_solution .sol_step h4{font-size:var(--text-32);font-weight:700;color:var(--black-color01);}
        .main_solution .sol_step p{font-size:var(--text-18);font-weight:400;line-height:1.6;color:var(--black-color05);}
        .main_solution .sol_step .kolas_tit{display: flex;align-items: center;gap:var(--row-gap30)}
        .main_solution .sol_step .kolas_tit .kolas{display: flex;align-items: center;gap:var(--row-gap10);font-size:var(--text-16);color:var(--black-color03);font-weight:600;}
        .main_solution .sol_step .kolas_tit .kolas .logo{display: flex;align-items: center;gap:var(--row-gap10);}

        .main_solution .sol_orbit{position:relative;flex-shrink:0;width:clamp(400px, 42vw, 520px);aspect-ratio:1;}
        .main_solution .sol_orbit:before{width:clamp(10px, 2vw, 20px);aspect-ratio:auto 1;content:"";border-radius:100%;background:var(--black-color01);opacity:0.2;position: absolute;offset-path:circle(50% at 50% 50%);animation:sol-orbit-spin 8s linear infinite;z-index:1;}
        @keyframes sol-orbit-spin{
            from{offset-distance:0%;}
            to{offset-distance:100%;}
        }
        .main_solution .sol_orbit_ring{position:absolute;inset:0;width:100%;height:100%;rotate:-90deg;}
        .main_solution .sol_orbit_ring_bg{fill:none;stroke:var(--border-color01);stroke-width:1;stroke-dasharray:1 3;}
        .main_solution .sol_orbit_ring_fill{fill:none;stroke:var(--point-color02);stroke-width:1;stroke-linecap:round;stroke-dasharray:307.88;stroke-dashoffset:307.88;transition:stroke-dashoffset 0.6s ease;}
            .main_solution .sol_orbit.is-resetting .sol_orbit_ring_fill{transition:none;}
            .main_solution .sol_orbit[data-sol-step="0"] .sol_orbit_ring_fill{stroke-dashoffset:205.25;}
            .main_solution .sol_orbit[data-sol-step="1"] .sol_orbit_ring_fill{stroke-dashoffset:102.63;}
            .main_solution .sol_orbit[data-sol-step="2"] .sol_orbit_ring_fill{stroke-dashoffset:0;}
        .main_solution .sol_orbit_center{position:absolute;inset:15.4%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--row-gap20);text-align:center;}
        .main_solution .sol_orbit_center:before{width:100%;height:100%;content:"";background:var(--point-color02);filter: blur(40px);opacity:0.05;position: absolute;top:50%;left:50%;translate:-50% -50%;transition:opacity 0.6s ease;}
            .main_solution .sol_orbit.is-resetting .sol_orbit_center:before{transition:none;}
            .main_solution .sol_orbit[data-sol-step="0"] .sol_orbit_center:before{opacity:0.05;}
            .main_solution .sol_orbit[data-sol-step="1"] .sol_orbit_center:before{opacity:0.1;}
            .main_solution .sol_orbit[data-sol-step="2"] .sol_orbit_center:before{opacity:0.15;}
        .main_solution .sol_mark{color:var(--point-color02);}
        .main_solution .sol_orbit_center p{font-size:var(--text-28);font-weight:700;color:var(--black-color01);line-height:1.4;}

        .main_solution .sol_orbit_btn{position:absolute;width:clamp(85px, 13vw, 150px);aspect-ratio:1;border-radius:50%;background:var(--point-white);border:1px solid var(--border-color01);box-shadow: 0 clamp(4px, 0.6vw, 8px) clamp(12px, 2vw, 24px) 0 rgba(21, 31, 62, 0.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--row-gap10);cursor:pointer;transition:background 0.3s, border-color 0.3s;z-index:2;}
            .main_solution .sol_orbit_btn.is-pos-top{top:0;left:50%;translate:-50% -50%;}
            .main_solution .sol_orbit_btn.is-pos-right{top:78%;left:88%;translate:-50% -50%;}
            .main_solution .sol_orbit_btn.is-pos-left{top:78%;left:12%;translate:-50% -50%;}
        .main_solution .sol_orbit_btn .ico{display:flex;align-items:center;justify-content:center;}
        .main_solution .sol_orbit_btn .ico .on{display:none;}
        .main_solution .sol_orbit_btn .txt{font-size:var(--text-20);font-weight:600;color:var(--black-color01);transition:color 0.3s;}
        .main_solution .sol_orbit_btn:focus-visible{outline:2px solid var(--point-color01);outline-offset:3px;}
        .main_solution .sol_orbit_btn.is-active{background:var(--point-color01);border-color:var(--point-color01);box-shadow: 0 clamp(7px, 1vw, 13px) clamp(20px, 2.5vw, 32px) 0 rgba(21, 31, 62, 0.26);}
            .main_solution .sol_orbit_btn.is-active .ico .img{display:none;}
            .main_solution .sol_orbit_btn.is-active .ico .on{display:block;}
            .main_solution .sol_orbit_btn.is-active .txt{color:var(--point-white);}

        @media (max-width:1279px) {
            .main_solution .sol_orbit{width:clamp(300px, 34vw, 340px);}
        }
        @media (max-width:1023px) {
            .main_solution .sol_inner{flex-direction:column;gap:var(--row-gap120);}
            .main_solution .sol_left{max-width:none;width:100%;}
            .main_solution .main_title{align-items:center;text-align:center;}
            .main_solution .sol_orbit{width:min(78vw, 520px);}
        }
        @media (max-width:479px) {
            .main_solution .sol_inner{gap:var(--row-gap100);}
            .main_solution .sol_step .kolas_tit{flex-direction: column;align-items: flex-start;}
            .main_solution .sol_orbit_btn .ico img{max-width:20px;}
        }

    /*product*/
        .main_product{position:relative;}
        .main_product .pd_inner{display:flex;align-items:center;gap:var(--col-gap60);justify-content: space-between;padding-right:var(--row-gap70);}

        .main_product .pd_txt_col{width:clamp(340px, 38vw, 500px);flex-shrink:0;display: flex;flex-direction: column;gap:var(--row-gap20)}
        .main_product .pd_txt_col .tag{display:block;font-size:var(--text-20);color:var(--point-color01);font-weight:600;text-transform: uppercase;}
        .main_product .pd_txt_swiper{margin:0;}
        .main_product .pd_txt_swiper .swiper-slide{display: flex;flex-direction: column;align-items: flex-start;}
        .main_product .pd_txt_swiper h3{font-size:var(--text-68);font-weight:700;color:var(--black-color01);font-family:var(--font-type02);}
        .main_product .pd_sub{display:block;margin-top:var(--row-gap50);font-size:var(--text-26);font-weight:600;color:var(--black-color03);line-height:1.6;}
        .main_product .pd_desc{margin-top:var(--row-gap15);font-size:var(--text-20);font-weight:400;line-height:1.6;color:var(--black-color05);}
        .main_product .pd_controller{margin-top:var(--row-gap70);}

        .main_product .pd_visual_swiper{width:clamp(400px, 46vw, 730px);flex-shrink:0;margin:0;overflow:visible;clip-path:inset(0 -300px 0 0);}
        .main_product .pd_visual_swiper .swiper-wrapper{align-items:center;}
        .main_product .pd_visual_swiper .swiper-slide{flex-shrink:0;}
        .main_product .pd_visual_swiper .thumb{width:100%;aspect-ratio:auto 1;border-radius:var(--radius-20);background:var(--gray-bg01);transform:scale(0.7945);transform-origin:left center;transition:transform 0.4s ease;}
            .main_product .pd_visual_swiper .swiper-slide-thumb-active .thumb{transform:scale(1);}

        .main_product .pd_more{position:absolute;top:55%;translate:-50% -50%;left:50%;z-index:2;width:clamp(120px, 12vw, 180px);aspect-ratio:auto 1;border-radius:50%;background:var(--point-color01);border:10px solid var(--point-white);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background 0.3s;height:auto;padding:0;}
            .main_product .pd_more:before,
            .main_product .pd_more:after{content:"";position:absolute;top:50%;left:50%;background:var(--point-white);translate:-50% -50%;z-index:1;}
            .main_product .pd_more:before{width:16px;height:2px;}
            .main_product .pd_more:after{width:2px;height:16px;}
        .main_product .pd_more_txt{position:absolute;top:50%;left:50%;translate:-50% -50%;width:calc(100% - 10px);height:calc(100% - 10px);animation:pdMoreSpin 12s linear infinite;}
            .main_product .pd_more_txt text{font-size:10px;font-weight:600;letter-spacing:0.15em;fill:var(--point-white);}

        @keyframes pdMoreSpin{
            from{transform:rotate(0deg);}
            to{transform:rotate(360deg);}
        }

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_product .pd_more:hover{background:var(--point-color02);}
            }

        @media (max-width:1023px) {
            .main_product .pd_inner{flex-direction:column;gap:var(--row-gap80);padding:0;}
            .main_product .pd_txt_col{width:100%;}
            .main_product .pd_sub{margin-top:var(--row-gap30);}
            .main_product .pd_visual_swiper{width:100%;max-width:none;clip-path:none;overflow:hidden;}
            .main_product .pd_visual_swiper .swiper-slide{width:100%;}
            
            .main_product .pd_visual_swiper .thumb{transform:scale(1);}
            .main_product .pd_controller{margin-top:0;}
            .main_product .pd_more{display: none;}
        }

    /*usecase*/
        .main_usecase .uc_head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--col-gap40) var(--col-gap60);flex-wrap:wrap;}
        .main_usecase .uc_swiper{padding-block:var(--row-gap40) var(--row-gap20);}
        .main_usecase .uc_card{width:calc(25% - 24px);}
        .main_usecase .uc_link{display:flex;flex-direction:column;border-radius:var(--radius-15);box-shadow:var(--shadow-01);overflow:hidden;}
        .main_usecase .thumb{width:100%;aspect-ratio:auto 1.3;}
        .main_usecase .uc_info{display:flex;flex-direction:column;gap:var(--row-gap10);padding:var(--row-gap30);}
        .main_usecase .uc_cate{font-size:var(--text-18);font-weight:500;color:var(--point-color01);}
        .main_usecase .uc_tit{font-size:var(--text-24);font-weight:600;line-height:1.4;color:var(--black-color01);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_usecase .uc_link:hover .uc_desc{text-decoration:underline;}
            }

        @media (max-width:1200px) {
            .main_usecase .uc_card{width:calc(100% / 3 - 64px / 3);}
        }
        @media (max-width:1023px) {
            .main_usecase .uc_head{align-items:flex-start;}
        }
        @media (max-width:860px) {
            .main_usecase .uc_head{flex-direction:column;align-items:flex-start;gap:var(--row-gap20);}
            .main_usecase .uc_swiper{overflow:visible;}
            .main_usecase .uc_card{width:clamp(250px, 36vw, 370px);}
        }

    /*partner*/
        .main_partner .main_title{align-items: center;text-align: center;}
        .main_partner .partner_box{position:relative;z-index:1;margin-top:var(--row-gap80);display: flex;flex-direction: column;gap:var(--row-gap30);}
        .main_partner .partSwiper .swiper-wrapper{position: relative; transition-timing-function: linear;}
        .main_partner .partSwiper .swiper-slide{position: relative; width: clamp(200px, 32vw, 320px); aspect-ratio: auto 3.2;display: flex;align-items: center;justify-content: center;overflow: hidden;}
        .main_partner .partSwiper .swiper-slide p{display: none;}

    /*notice*/
        .main_notice .ntc_inner{display:flex;gap:var(--row-gap80);align-items:stretch;}
        .main_notice .ntc_left{width:clamp(350px, 42vw, 800px);flex-shrink:0;}

        .main_notice .ntc_right{display:grid;grid-template-rows:1fr auto;gap:var(--row-gap20);width:100%;}
        .main_notice .qk_row{display:grid;grid-template-columns:1fr 1fr;gap:var(--row-gap20);}
        .main_notice .qk_card{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:clamp(150px, 21vw, 210px);border-radius:var(--radius-20);padding:var(--row-gap35);overflow:hidden;}
        .main_notice .qk_card strong{position:relative;z-index:1;font-size:var(--text-28);font-weight:600;color:var(--point-white);}
        .main_notice .qk_card .bg{position:absolute;inset:0;z-index:0;}
        .main_notice .qk_card .ico{align-self: flex-end;z-index:1;width:clamp(40px, 5vw, 50px);aspect-ratio:auto 1;border-radius:50%;border: 1px solid rgba(255, 255, 255, 0.20);background: rgba(255, 255, 255, 0.10);backdrop-filter: blur(6.25px);transition:all 0.3s;}
            .main_notice .qk_card .ico:before,
            .main_notice .qk_card .ico:after{content:"";position:absolute;top:50%;left:50%;translate:-50% -50%;background:var(--point-white);}
            .main_notice .qk_card .ico:before{width:16px;height:2px;}
            .main_notice .qk_card .ico:after{width:2px;height:16px;}

        .main_notice .qk_photo{background:var(--point-color03);}
        .main_notice .qk_orange{background:var(--point-color02);}
        .main_notice .qk_navy{background:var(--point-color03);}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_notice .qk_card:hover .ico{background:rgba(255,255,255,0.35);}
            }

        @media (max-width:1023px) {
            .main_notice .ntc_inner{flex-direction: column;}
            .main_notice .ntc_left{width:100%;}
        }
        @media (max-width:479px) {
            .main_notice .qk_row{grid-template-columns:1fr;}
        }

        .main_notice .ntc_head{display:flex;align-items:center;justify-content:space-between;gap:var(--col-gap40);}
        .main_notice .ntc_head h3{font-size:var(--text-44);font-weight:700;color:var(--black-color01);line-height:1.5;}

        .main_notice .ntc_list{margin-top:var(--row-gap40);border-top:1px solid var(--border-color01);}
        .main_notice .ntc_item{border-bottom:1px solid var(--border-color01);}
        .main_notice .ntc_link{display:flex;align-items:center;gap:var(--row-gap20);padding:var(--row-gap25) var(--row-gap30);}

        .main_notice .ntc_date{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:8px;}
        .main_notice .ntc_date strong{font-size:var(--text-34);font-weight:700;line-height:1.2;color:var(--point-color01);}
        .main_notice .ntc_date span{font-size:var(--text-17);font-weight:500;color:var(--point-color01);line-height:1.2;}

        .main_notice .ntc_txt{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--row-gap10);}
        .main_notice .ntc_tit{font-size:var(--text-22);font-weight:500;color:var(--black-color03);}
        .main_notice .ntc_desc{font-size:var(--text-18);font-weight:400;color:var(--black-color05);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.6;}

            /* over */
            @media (hover:hover) and (pointer:fine){
                .main_notice .ntc_link:hover .ntc_tit{text-decoration:underline;}
            }

/*─────────────────────────────────────────────────────────
    Quick Menu
─────────────────────────────────────────────────────────*/
    .quick_menu{position:fixed;right:clamp(16px, 2.5vw, 40px);bottom:clamp(16px, 2.5vw, 40px);z-index:80;display:flex;flex-direction:column;align-items: flex-end;gap:var(--row-gap10);opacity:0;pointer-events:none;transition:all 0.3s;}
    .quick_menu.on{opacity:1;pointer-events:initial;}
    .quick_menu.end{opacity:0;pointer-events:none;}
    .quick_menu .btn_inq{width:clamp(40px, 5vw, 54px);height:clamp(40px, 5vw, 54px);display: flex;align-items: center;position: relative;background: #00123C;box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.10);transition:width 0.3s;border-radius:54px;}
    .quick_menu .btn_inq img{translate:18px;transition:all 0.3s;}
    .quick_menu .btn_inq span{position: absolute;font-size:var(--text-17);color:var(--point-white);font-weight:600;top:50%;translate:0 -50%;right:28px;opacity:0;width:max-content;transition:all 0.3s;pointer-events:none;}
    .quick_menu .qm_btn{width:clamp(40px, 5vw, 54px);aspect-ratio:auto 1;border-radius:100%;background:var(--point-white);box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.10);display:flex;align-items:center;justify-content:center;position:relative;transition:background 0.3s;}
        .quick_menu .qm_btn:before{width:clamp(8px, 1vw, 10px);aspect-ratio:auto 1;content:"";border:2px solid var(--point-color01);border-width:2px 2px 0 0;}
        .quick_menu .qm_top:before{rotate:-45deg;translate:0 15%;}
        .quick_menu .qm_bottom:before{rotate:135deg;translate:0 -15%;}

        /* over */
        @media (hover:hover) and (pointer:fine){
            .quick_menu .qm_btn:hover{background:var(--point-color01);}
            .quick_menu .qm_btn:hover:before{border-color:var(--point-white);}
        }

        @media (min-width:1024px) {
            .main_index .quick_menu{opacity:1;pointer-events:initial;}
            .quick_menu .btn_inq:hover{width:140px;}
            .quick_menu .btn_inq:hover img{translate:27px}
            .quick_menu .btn_inq:hover span{opacity:1;}
        }
        @media (max-width:1023px) {
            .quick_menu .btn_inq{justify-content: center;}
            .quick_menu .btn_inq img{translate:0;width:clamp(15px, 1.8vw, 18px);}
        }

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

	Sub (서브비주얼 / 서브네비 / 컨테이너)

───────────────────────────────────────────────────────────*/
    .sub_visual{position:relative;height:clamp(240px, 31.25vw, 600px);background:var(--point-color03);overflow:hidden;color:var(--point-white);}
    .sub_visual .thumb{position:absolute;inset:0;z-index:0;}
    .sub_visual .sv_title{position:relative;z-index:1;height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--row-gap20);}
    .sub_visual .sv_title .txt{display:flex;flex-direction:column;gap:var(--row-gap20);line-height:1.3;}
    .sub_visual .sv_title .tag{font-family:var(--font-type01);font-size:var(--text-24);font-weight:500;letter-spacing:-0.03em;}
    .sub_visual .sv_title h2{font-size:var(--text-64);font-weight:600;letter-spacing:-0.03em;color:var(--point-white);}
    .sub_visual .sv_navi{display:flex;align-items:center;gap:16px;font-size:var(--text-17);font-weight:500;letter-spacing:-0.03em;flex-shrink:0;}
    .sub_visual .sv_navi li{display:flex;align-items:center;gap:16px;}
    .sub_visual .sv_navi li + li:before{width:4px;aspect-ratio:auto 1;content:"";border-radius:100%;background:var(--point-white);}
    .sub_visual .sv_navi .home img{width:16px;height:auto;}

    .sub_nav{border-bottom:1px solid var(--border-color01);background:var(--point-white);}
    .sub_nav ul{display:flex;align-items:flex-end;gap:clamp(20px, 3.3vw, 50px);padding-top:17px;overflow-x:auto;scrollbar-width:none;}
    .sub_nav ul::-webkit-scrollbar{display:none;}
    .sub_nav li{flex-shrink:0;}
    .sub_nav a{display:block;padding-bottom:18px;border-bottom:3px solid transparent;font-size:var(--text-20);font-weight:400;letter-spacing:-0.03em;line-height:1.4;color:var(--black-color08);white-space:nowrap;transition:color 0.3s;}
    .sub_nav li.on a{font-weight:600;color:var(--point-color01);border-bottom-color:var(--point-color01);}
    @media (hover:hover) and (pointer:fine) {
        .sub_nav li:not(.on) a:hover{color:var(--point-color01);}
    }

    #wrap:not(.main_index) #container.w_custom:not(:has(.pb-dn)){padding-block:var(--row-gap120) var(--row-gap140);}

    @media (max-width:860px) {
        .sub_visual .sv_title{flex-direction:column;align-items:flex-start;justify-content:center;}
    }

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

	Common (서브 공통 — 섹션 타이틀)

───────────────────────────────────────────────────────────*/
    .cm_tit h2{font-size:var(--text-46);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);word-break:keep-all;}
    .cm_tit p{margin-top:var(--row-gap30);font-size:var(--text-22);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;}
    .cm_tit.is_sm p{font-size:var(--text-20);color:var(--black-color03);}

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

	About (기업소개 > 소개)

───────────────────────────────────────────────────────────*/
    .about{--abw:clamp(280px, 33.33vw, 640px);}
    .about h2{font-weight:600;letter-spacing:-0.03em;line-height:1.4;}
    .about img{max-width:100%;}
    .ab_tit{display:flex;flex-direction:column;gap:20px;}
    .ab_tit span{font-size:var(--text-20);font-weight:700;letter-spacing:-0.03em;line-height:1.4;color:var(--point-color01);}
    .ab_tit h2{font-size:var(--text-46);color:var(--black-color01);word-break:keep-all;}

    .ab_intro{position:relative;}
    .ab_intro:before{content:"";position:absolute;left:0;top:calc(var(--row-gap120) + var(--abw) * 0.469);width:calc(var(--abw) * 1.094);height:calc(var(--abw) * 0.5625);border-radius:0 0 var(--radius-20) 0;background:var(--point-color02);}
    .ab_intro_in{position:relative;z-index:1;display:flex;align-items:flex-start;gap:clamp(30px, 5.2vw, 100px);min-height:calc(var(--abw) * 1.03125);}
    .ab_intro_img{flex-shrink:0;width:var(--abw);aspect-ratio:640 / 520;border-radius:var(--radius-20);background:var(--black-color00);overflow:hidden;}
    .ab_intro_img img{display:block;width:100%;height:100%;object-fit:cover;}
    .ab_intro_txt{min-width:0;margin-top:calc(var(--abw) * 0.161);}
    .ab_intro_txt h2{font-family:var(--font-type01);font-size:var(--text-46);font-weight:700;color:var(--point-color01);}
    .ab_intro_txt .lead{margin-top:var(--row-gap30);font-size:var(--text-24);font-weight:500;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);word-break:keep-all;}
    .ab_intro_txt .desc{margin-top:var(--row-gap40);font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color04);word-break:keep-all;}

    .ab_perf_list{display:flex;gap:var(--col-gap30, 30px);margin-top:var(--row-gap60);}
    .ab_perf_list > li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:303px;padding:var(--row-gap40);border-radius:var(--radius-20);background:var(--point-white);box-shadow:0 0 clamp(8px, 1.5vw, 15px) 0 rgba(0, 0, 0, 0.10);text-align:center;}
    .ab_perf_list .en{font-family:var(--font-type01);font-size:var(--text-19);font-weight:600;line-height:1.6;letter-spacing:-0.03em;color:var(--point-color01);}
    .ab_perf_list .num{display:block;margin-top:4px;font-family:var(--font-type01);font-size:var(--text-50);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);}
    .ab_perf_list p{font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);word-break:keep-all;}

    .ab_biz_list{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:30px;margin-top:var(--row-gap60);}
    .ab_biz_list > li{display:flex;flex-direction:column;border-radius:var(--radius-15);background:var(--point-white);box-shadow:0 0 clamp(8px, 1.5vw, 15px) 0 rgba(0, 0, 0, 0.10);overflow:hidden;}
    .ab_biz_list .thumb{aspect-ratio:480 / 300;}
    .ab_biz_list .txt{display:flex;flex-direction:column;gap:10px;padding:var(--row-gap30);}
    .ab_biz_list h3{font-size:var(--text-26);font-weight:500;line-height:1.4;color:var(--black-color01);}
    .ab_biz_list .txt li{display:flex;gap:0.5em;font-size:var(--text-18);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);}
    .ab_biz_list .txt li:before{content:"·";flex-shrink:0;}

    .ab_goal_list{display:flex;align-items:center;gap:30px;margin-top:var(--row-gap60);}
    .ab_goal_list > li:not(.and){position:relative;flex:1;min-width:0;height:clamp(280px, 30.67vw, 460px);border-radius:var(--radius-20);background:var(--black-color00);overflow:hidden;}
    .ab_goal_list .thumb{position:absolute;inset:0;}
    .ab_goal_list .is_dim:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0, 0, 0, 0), #000);opacity:0.5;}
    .ab_goal_list .no{position:absolute;z-index:1;top:var(--row-gap40);right:clamp(20px, 3.3vw, 50px);font-family:var(--font-type01);font-size:var(--text-34);font-weight:700;line-height:1.25;letter-spacing:-0.03em;color:var(--point-white);}
    .ab_goal_list p{position:absolute;z-index:1;left:var(--row-gap40);right:var(--row-gap40);bottom:var(--row-gap40);font-size:var(--text-26);font-weight:600;line-height:1.6;letter-spacing:-0.03em;color:var(--point-white);word-break:keep-all;}
    .ab_goal_list .and{flex-shrink:0;width:20px;}

    .ab_value h2{font-size:var(--text-36);color:var(--black-color03);word-break:keep-all;}
    .ab_value_list{display:flex;gap:24px;margin-top:var(--row-gap60);}
    .ab_value_list > li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:20px;padding:var(--row-gap45) 20px;border-radius:var(--radius-20);background:var(--point-white);box-shadow:0 0 clamp(8px, 1.5vw, 15px) 0 rgba(0, 0, 0, 0.10);}
    .ab_value_list .ico{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;}
    .ab_value_list .ico img{display:block;width:100px;height:100px;}
    .ab_value_list .ico.is_sm{background:var(--gray-bg01);}
    .ab_value_list .ico.is_sm img{width:48px;height:48px;}
    .ab_value_list strong{font-size:var(--text-24);font-weight:600;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);text-align:center;}

    @media (max-width:1023px) {
        .ab_intro:before{display:none;}
        .ab_intro_in{flex-direction:column;min-height:0;}
        .ab_intro_img{width:100%;}
        .ab_intro_txt{margin-top:0;}
        .ab_biz_list{grid-template-columns:repeat(2, minmax(0, 1fr));}
        .ab_value_list{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));}
    }
    @media (max-width:860px) {
        .ab_perf_list{flex-direction:column;}
        .ab_perf_list > li{min-height:0;}
        .ab_goal_list{flex-direction:column;align-items:stretch;}
        .ab_goal_list > li:not(.and){flex:none;}
        .ab_goal_list .and{display:none;}
    }
    @media (max-width:600px) {
        .ab_biz_list{grid-template-columns:minmax(0, 1fr);}
        .ab_value_list{grid-template-columns:repeat(2, minmax(0, 1fr));}
    }

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

	Business (기업소개 > 사업부)

───────────────────────────────────────────────────────────*/
    .bz_intro_tit h2{font-size:var(--text-30);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color00);word-break:keep-all;}
    .bz_intro_tit p{margin-top:var(--row-gap20);font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;}
    .bz_intro_list{margin-top:var(--row-gap60);}
    .bz_intro_list > li{display:flex;align-items:center;gap:clamp(20px, 4.2vw, 80px);padding-block:var(--row-gap40);}
    .bz_intro_list > li + li{border-top:1px solid var(--border-color01);}
    .bz_intro_list > li:first-child{padding-top:0;}
    .bz_intro_list .thumb{flex:1;min-width:0;height:clamp(180px, 15.1vw, 290px);border-radius:var(--radius-20);}
    .bz_intro_list .txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;}
    .bz_intro_list h3{font-size:var(--text-30);font-weight:500;line-height:1.4;color:var(--black-color01);}
    .bz_intro_list .txt p{font-size:var(--text-18);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;}

    .bz_point_list{display:flex;gap:30px;margin-top:var(--row-gap60);}
    .bz_point_list > li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:var(--row-gap40) var(--row-gap30);border-radius:var(--radius-20);background:var(--point-white);box-shadow:0 0 clamp(8px, 1.5vw, 15px) 0 rgba(0, 0, 0, 0.10);}
    .bz_point_list .no{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:100px;background:var(--point-color01);font-family:var(--font-type01);font-size:var(--text-19);font-weight:500;line-height:1.4;letter-spacing:-0.03em;color:var(--point-white);}
    .bz_point_list p{font-size:var(--text-20);font-weight:500;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);word-break:keep-all;}

    .bz_partner .cm_tit p{color:var(--black-color03);}
    .bz_partner_list{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:30px;margin-top:var(--row-gap60);}
    .bz_partner_list > li{display:flex;flex-direction:column;border-radius:var(--radius-15);background:var(--point-white);box-shadow:0 0 clamp(8px, 1.5vw, 15px) 0 rgba(0, 0, 0, 0.10);overflow:hidden;}
    .bz_partner_list .thumb{aspect-ratio:480 / 300;}
    .bz_partner_list p{flex:1;padding:var(--row-gap30);font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);word-break:keep-all;}

    .bz_support_list{display:flex;gap:24px;margin-top:var(--row-gap60);}
    .bz_support_list > li{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:20px;padding:var(--row-gap45) 20px;border-radius:var(--radius-20);background:var(--point-white);box-shadow:0 0 clamp(8px, 1.5vw, 15px) 0 rgba(0, 0, 0, 0.10);text-align:center;}
    .bz_support_list .ico{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:var(--gray-bg01);}
    .bz_support_list .ico img{display:block;width:48px;height:48px;}
    .bz_support_list .txt{display:flex;flex-direction:column;align-items:center;gap:15px;}
    .bz_support_list strong{font-size:var(--text-24);font-weight:500;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);}
    .bz_support_list .txt p{font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color08);word-break:keep-all;}

    @media (max-width:1023px) {
        .bz_intro_list > li{flex-direction:column;align-items:stretch;}
        .bz_intro_list .thumb{flex:none;height:auto;aspect-ratio:2 / 1;}
        .bz_point_list{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));}
        .bz_partner_list{grid-template-columns:repeat(2, minmax(0, 1fr));}
    }
    @media (max-width:860px) {
        .bz_support_list{flex-direction:column;}
    }
    @media (max-width:600px) {
        .bz_point_list{grid-template-columns:minmax(0, 1fr);}
        .bz_partner_list{grid-template-columns:minmax(0, 1fr);}
    }


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

	Board (검색폼 / 갤러리 리스트 / 페이징)

───────────────────────────────────────────────────────────*/
    .bd_top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--row-gap20);margin-bottom:var(--row-gap60);}
    .bd_select{position:relative;width:240px;max-width:100%;height:clamp(50px, 6vw, 60px);}
    .bd_select:after{content:"";position:absolute;top:50%;right:20px;width:7px;height:13px;background:url(/images/ico_select.svg) no-repeat center / contain;translate:0 -50%;rotate:90deg;pointer-events:none;}
    .bd_select select{appearance:none;-webkit-appearance:none;width:100%;height:100%;padding:0 44px 0 20px;border:1px solid var(--border-color01);border-radius:var(--radius-06);background:var(--point-white);font-size:var(--text-18);color:var(--black-color04);letter-spacing:-0.04em;cursor:pointer;}
    .bd_search{position:relative;width:440px;max-width:100%;height:clamp(50px, 6vw, 60px);margin-left:auto;}
    .bd_search input{width:100%;height:100%;padding:0 64px 0 24px;border:1px solid var(--border-color01);border-radius:var(--radius-06);background:var(--point-white);font-size:var(--text-18);color:var(--black-color03);letter-spacing:-0.03em;}
    .bd_search input::placeholder{color:var(--black-color08);}
    .bd_search input:focus,.bd_select select:focus{border-color:var(--point-color01);outline:0;}
    .bd_btn_search{position:absolute;top:50%;right:20px;width:24px;height:24px;translate:0 -50%;background:url(/images/ico_search.svg) no-repeat center / contain;}
    .bd_chips{order:3;flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:var(--text-16);color:var(--black-color05);}
    .bd_chip{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:var(--radius-100);background:var(--gray-bg01);color:var(--black-color03);}
    .bd_chip a{color:var(--black-color09);line-height:1;}
    .bd_chips_clear{text-decoration:underline;color:var(--black-color08);}
    .bd_within{display:inline-flex;align-items:center;gap:6px;cursor:pointer;}

    .bd_list{border-top:1px solid var(--black-color01);border-bottom:1px solid var(--border-color01);padding-block:var(--row-gap40);}
    .bd_gallery{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(40px, 7vw, 70px) clamp(15px, 2.8vw, 28px);}
    .bd_link{display:flex;flex-direction:column;gap:var(--row-gap30);cursor:pointer;}
    .bd_link:focus-visible{outline:2px solid var(--point-color01);outline-offset:4px;}
    .bd_thumb{aspect-ratio:auto 1.264;border-radius:var(--radius-15);background:var(--gray-bg01);}
    .bd_thumb img{transition:transform 0.4s;}
    .bd_thumb_empty{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:var(--text-16);color:var(--black-color09);}
    .bd_cont{display:flex;flex-direction:column;gap:var(--row-gap30);}
    .bd_txt{display:flex;flex-direction:column;gap:12px;min-width:0;}
    .bd_tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
    .bd_tag{display:inline-flex;align-items:center;justify-content:center;min-width:90px;height:34px;padding-inline:14px;border:1px solid var(--point-color01);border-radius:var(--radius-100);font-size:var(--text-16);font-weight:600;line-height:1;letter-spacing:-0.04em;color:var(--point-color01);background:var(--point-white);}
    .bd_tag_notice{background:var(--point-color01);color:var(--point-white);}
    .bd_tit{display:block;font-size:var(--text-24);font-weight:500;line-height:1.4;letter-spacing:-0.04em;color:var(--black-color03);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color 0.3s;}
    .bd_tit svg{display:inline-block;vertical-align:-2px;margin-right:6px;color:var(--black-color09);}
    .bd_desc{font-size:var(--text-20);line-height:1.6;letter-spacing:-0.04em;color:var(--black-color05);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
    .bd_date{font-family:var(--font-type01);font-size:var(--text-18);letter-spacing:-0.02em;color:var(--black-color10);}
    .bd_card.is_secret .bd_tit{color:var(--black-color09);}
    .bd_empty{padding-block:var(--row-gap120);text-align:center;font-size:var(--text-20);color:var(--black-color09);}
    @media (hover:hover) and (pointer:fine) {
        .bd_link:hover .bd_tit{color:var(--point-color01);}
        .bd_link:hover .bd_thumb img{transform:scale(1.05);}
    }

    .bd_paging{margin-top:var(--row-gap60);}
    .bd_paging ul{display:flex;align-items:center;justify-content:center;gap:10px;}
    .bd_paging .side{display:flex;align-items:center;gap:10px;}
    .bd_paging .side:first-child{margin-right:10px;}
    .bd_paging .side:last-child{margin-left:10px;}
    .bd_paging .side > *{position:relative;display:block;width:24px;height:40px;}
    .bd_paging .side > *:before{content:"";position:absolute;inset:0;background:no-repeat center / auto 10px;}
    .bd_paging .first:before{background-image:url(/images/pg_first.svg);}
    .bd_paging .prev:before{background-image:url(/images/pg_prev.svg);}
    .bd_paging .next:before{background-image:url(/images/pg_next.svg);rotate:180deg;}
    .bd_paging .last:before{background-image:url(/images/pg_last.svg);rotate:180deg;}
    .bd_paging .is_off{opacity:0.3;}
    .bd_paging .num a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:40px;font-family:var(--font-type01);font-size:var(--text-18);color:var(--black-color08);transition:all 0.3s;}
    .bd_paging .num.on a{background:var(--point-color01);color:var(--point-white);font-weight:600;}
    @media (hover:hover) and (pointer:fine) {
        .bd_paging .num:not(.on) a:hover{color:var(--point-color01);}
    }

    .bd_actions{margin-top:var(--row-gap40);text-align:right;}
    .bd_actions .bl-btn{display:inline-flex;align-items:center;justify-content:center;min-width:120px;height:50px;padding-inline:30px;border-radius:var(--radius-100);background:var(--point-color01);color:var(--point-white);font-size:var(--text-18);font-weight:600;}

    @media (max-width:1200px) {
        .bd_gallery{grid-template-columns:repeat(3, minmax(0, 1fr));}
    }
    @media (max-width:860px) {
        .bd_gallery{grid-template-columns:repeat(2, minmax(0, 1fr));}
        .bd_search{width:100%;}
    }
    @media (max-width:520px) {
        .bd_gallery{grid-template-columns:minmax(0, 1fr);}
        .bd_select{width:100%;}
    }

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

	Board View (게시글 보기)

───────────────────────────────────────────────────────────*/
    .bd_view{display:flex;flex-direction:column;gap:var(--row-gap60);}
    .bd_vtit{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px, 2vw, 24px);padding-bottom:var(--row-gap40);border-bottom:1px solid var(--border-color01);}
    .bd_vtit .bd_tags{margin-bottom:0;}
    .bd_vhead{font-size:var(--text-40);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);word-break:keep-all;}
    .bd_vinfo{display:flex;align-items:center;gap:14px;font-family:var(--font-type01);font-size:var(--text-18);line-height:1.4;letter-spacing:-0.03em;color:var(--black-color06);}
    .bd_vcon{display:flex;flex-direction:column;gap:var(--row-gap40);padding-bottom:var(--row-gap40);border-bottom:1px solid var(--border-color01);}
    .bd_vimg{width:100%;max-width:1000px;border-radius:var(--radius-20);overflow:hidden;}
    .bd_vimg img{display:block;width:100%;height:auto;}
    .bd_vsum{font-size:var(--text-22);font-weight:500;line-height:1.6;color:var(--black-color03);}
    .bd_vtxt{font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;overflow-wrap:anywhere;}
    .bd_vtxt img{max-width:100%;height:auto;}
    .bd_vtxt + .bd_vmeta{margin-top:calc(var(--row-gap140) - var(--row-gap40));}
    .bd_vmeta{display:flex;flex-direction:column;gap:10px;}
    .bd_vmeta > div{position:relative;display:flex;align-items:center;gap:clamp(20px, 3.3vw, 52px);min-height:clamp(60px, 6vw, 80px);padding-block:20px;border-radius:var(--radius-15);background:var(--gray-bg04);}
    .bd_vmeta dt{position:relative;flex-shrink:0;width:clamp(100px, 10vw, 157px);font-size:var(--text-20);font-weight:500;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color03);text-align:center;}
    .bd_vmeta dt:after{content:"";position:absolute;top:50%;right:0;width:1px;height:14px;background:var(--border-color01);translate:0 -50%;}
    .bd_vmeta dd{min-width:0;font-size:var(--text-18);line-height:1.4;letter-spacing:-0.03em;color:var(--black-color05);overflow-wrap:anywhere;}
    .bd_vmeta dd a{color:inherit;}
    .bd_vbtn{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--row-gap20);flex-wrap:wrap;}
    .bd_btn_list{display:inline-flex;align-items:center;justify-content:center;width:clamp(160px, 20vw, 220px);max-width:100%;height:clamp(50px, 6vw, 60px);border-radius:60px;background:var(--point-color01);color:var(--point-white);font-family:var(--font-type01);font-size:var(--text-18);font-weight:700;letter-spacing:-0.03em;transition:background 0.3s;}
    .bd_vedit{display:flex;align-items:center;gap:10px;}
    .bd_vedit form{margin:0;}
    .bd_btn_sub{display:inline-flex;align-items:center;justify-content:center;min-width:100px;height:clamp(50px, 6vw, 60px);padding-inline:var(--row-gap30);border:1px solid var(--border-color01);border-radius:60px;background:var(--point-white);color:var(--black-color04);font-size:var(--text-18);font-weight:500;letter-spacing:-0.03em;cursor:pointer;transition:all 0.3s;}
    @media (hover:hover) and (pointer:fine) {
        .bd_btn_list:hover{background:var(--point-color03);}
        .bd_btn_sub:hover{border-color:var(--point-color01);color:var(--point-color01);}
    }
    @media (hover:hover) and (pointer:fine) {
        .bd_vmeta dd a:hover{color:var(--point-color01);text-decoration:underline;}
    }
    @media (max-width:520px) {
        .bd_vmeta > div{flex-direction:column;align-items:flex-start;gap:6px;padding-inline:var(--row-gap20);}
        .bd_vmeta dt{width:auto;text-align:left;}
        .bd_vmeta dt:after{display:none;}
    }

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

	Board List Row (가로형 갤러리 — 납품사례)

───────────────────────────────────────────────────────────*/
    .bd_gallery_wrap.is_row .bd_top{justify-content:flex-end;}
    .bd_gallery_wrap.is_row .bd_list{padding-block:0;}
    .bd_gallery_wrap.is_row .bd_gallery{display:block;}
    .bd_gallery_wrap.is_row .bd_card{padding:var(--row-gap40);}
    .bd_gallery_wrap.is_row .bd_card + .bd_card{border-top:1px solid var(--border-color01);}
    .bd_gallery_wrap.is_row .bd_link{flex-direction:row;align-items:center;gap:clamp(20px, 4vw, 60px);}
    .bd_gallery_wrap.is_row .bd_thumb{flex-shrink:0;width:clamp(120px, 16vw, 240px);aspect-ratio:auto 1;}
    .bd_gallery_wrap.is_row .bd_cont{flex:1;min-width:0;}
    .bd_gallery_wrap.is_row .bd_date{font-size:var(--text-20);}
    .bd_gallery_wrap.is_row .bd_arw{position:relative;flex-shrink:0;width:54px;height:54px;border:1px solid var(--border-color01);border-radius:50%;background:var(--point-white);transition:border-color 0.3s;}
    .bd_gallery_wrap.is_row .bd_arw:before{content:"";position:absolute;top:50%;left:50%;width:10px;aspect-ratio:auto 1;border:solid var(--border-color01);border-width:2px 2px 0 0;translate:-65% -50%;rotate:45deg;transition:border-color 0.3s;}
    @media (hover:hover) and (pointer:fine) {
        .bd_gallery_wrap.is_row .bd_link:hover .bd_arw{border-color:var(--point-color01);}
        .bd_gallery_wrap.is_row .bd_link:hover .bd_arw:before{border-color:var(--point-color01);}
    }
    @media (max-width:860px) {
        .bd_gallery_wrap.is_row .bd_card{padding-inline:0;}
        .bd_gallery_wrap.is_row .bd_arw{display:none;}
    }
    @media (max-width:520px) {
        .bd_gallery_wrap.is_row .bd_link{flex-direction:column;align-items:stretch;}
        .bd_gallery_wrap.is_row .bd_thumb{width:100%;aspect-ratio:auto 1.264;}
    }

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

	Board List Table (일반 게시판)

───────────────────────────────────────────────────────────*/
    .bd_table{width:100%;table-layout:fixed;border-collapse:collapse;}
    .bd_table col.c_no{width:160px;}
    .bd_table col.c_cate{width:140px;}
    .bd_table col.c_state{width:120px;}
    .bd_table col.c_date{width:180px;}
    .bd_table thead tr{border-top:1px solid var(--black-color03);border-bottom:1px solid var(--border-color01);}
    .bd_table th{height:clamp(50px, 6vw, 74px);font-size:var(--text-18);font-weight:500;letter-spacing:-0.04em;color:var(--black-color01);text-align:center;}
    .bd_table tbody tr{height:clamp(54px, 6vw, 74px);border-bottom:1px solid var(--border-color01);background:var(--point-white);transition:background 0.3s;}
    .bd_table td{padding:0;font-size:var(--text-18);letter-spacing:-0.04em;color:var(--black-color05);text-align:center;vertical-align:middle;}
    .bd_table td.t_no,.bd_table td.t_date{font-family:var(--font-type01);}
    .bd_table td.t_cate{padding-right:40px;font-weight:500;color:var(--point-color01);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .bd_table td.t_tit{text-align:left;color:var(--black-color03);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
    .bd_table:not(:has(col.c_cate)) td.t_tit{padding-left:40px;}
    .bd_table td.t_tit a{color:inherit;}
    .bd_table td.t_tit svg{display:inline-block;vertical-align:-2px;margin-left:6px;color:var(--black-color09);}
    .bd_table th.t_tit{text-align:center;}
    .bd_badge{display:inline-flex;align-items:center;justify-content:center;min-width:60px;padding:4px 10px;border-radius:50px;background:var(--point-color01);color:var(--point-white);font-size:var(--text-18);font-weight:500;line-height:1.3;}
    .bd_state{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:26px;padding-inline:8px;border:1px solid var(--border-color01);border-radius:50px;font-size:var(--text-14);color:var(--black-color08);}
    .bd_state.is_done{border-color:var(--point-color01);color:var(--point-color01);}
    @media (hover:hover) and (pointer:fine) {
        .bd_table tbody tr:hover{background:var(--gray-bg01);}
        .bd_table td.t_tit a:hover{color:var(--point-color01);}
    }
    @media (max-width:860px) {
        .bd_table col.c_no{width:70px;}
        .bd_table col.c_cate{width:90px;}
        .bd_table col.c_state{width:80px;}
        .bd_table col.c_date{width:110px;}
        .bd_table td.t_cate{padding-right:15px;}
        .bd_table:not(:has(col.c_cate)) td.t_tit{padding-left:15px;}
        .bd_badge{min-width:0;padding-inline:8px;}
    }
    @media (max-width:520px) {
        .bd_table col.c_no,.bd_table col.c_cate{width:0;}
        .bd_table th.t_no,.bd_table td.t_no,.bd_table th.t_cate,.bd_table td.t_cate{display:none;}
        .bd_table td.t_tit,.bd_table:not(:has(col.c_cate)) td.t_tit{padding-left:10px;}
    }

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

	Board Contact (문의하기 폼 / 접수 완료)

───────────────────────────────────────────────────────────*/
    .bd_cinfo{display:flex;gap:20px;margin-bottom:var(--row-gap60);}
    .bd_cinfo li{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:var(--row-gap40);border-radius:var(--radius-15);background:var(--gray-bg04);}
    .bd_cinfo img{flex-shrink:0;width:36px;height:36px;}
    .bd_cinfo strong{font-size:var(--text-26);font-weight:600;letter-spacing:-0.03em;color:var(--black-color01);}
    .bd_cinfo_val{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-left:10px;font-family:var(--font-type01);font-size:var(--text-22);letter-spacing:-0.03em;color:var(--black-color01);}
    .bd_cinfo_val a{color:inherit;opacity:0.8;}
    .bd_cinfo_val i{width:1px;height:12px;background:var(--border-color01);}
    .bd_cinfo_sub{font-size:var(--text-18);opacity:0.8;}

    .bd_form{display:flex;flex-direction:column;gap:30px;padding-top:42px;border-top:1px solid var(--black-color01);}
    .bd_row{display:flex;align-items:flex-start;}
    .bd_lab{flex:0 0 180px;width:180px;padding-top:16px;padding-right:20px;font-size:var(--text-20);font-weight:500;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);}
    .bd_req{font-style:normal;font-weight:700;color:var(--point-color01);}
    .bd_ipt{flex:1;min-width:0;}
    .bd_grid2{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:30px 60px;}
    .bd_ipt input[type="text"],.bd_ipt input[type="tel"],.bd_ipt input[type="email"],.bd_ipt input[type="password"],.bd_ipt select,.bd_ipt textarea{display:block;width:100%;height:60px;padding:0 20px;border:1px solid var(--border-color01);border-radius:var(--radius-06);background:var(--point-white);font-size:var(--text-18);letter-spacing:-0.03em;color:var(--black-color03);}
    .bd_ipt textarea{height:360px;padding:20px;line-height:1.6;resize:vertical;}
    .bd_ipt input:focus,.bd_ipt select:focus,.bd_ipt textarea:focus{border-color:var(--point-color01);outline:0;}
    .bd_ipt input[readonly]{background:var(--gray-bg01);color:var(--black-color06);}
    .bd_sel{position:relative;max-width:540px;}
    .bd_sel:after{content:"";position:absolute;top:50%;right:20px;width:6px;height:11px;background:url(/images/ico_select.svg) no-repeat center / contain;translate:0 -50%;rotate:90deg;pointer-events:none;}
    .bd_ipt select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;}
    .bd_help{margin-top:8px;font-size:var(--text-15);line-height:1.5;color:var(--black-color08);}
    .bd_help[hidden]{display:none;}
    .bd_help.is_ok{color:#16a34a;}
    .bd_help.is_ng{color:#ef4444;}
    .bd_help_file{display:flex;align-items:center;gap:10px;margin:0 0 10px;}
    .bd_help_file button{color:#ef4444;font-weight:600;}
    .bd_opts{display:flex;flex-wrap:wrap;gap:10px 30px;padding-top:16px;font-size:var(--text-18);color:var(--black-color04);}
    .bd_opts label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;}

    .bd_file{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;min-height:60px;}
    .bd_file .bf-file-wrap{display: none;}
    .bd_file input[type="file"]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;}
    .bd_file_btn{display:inline-flex;align-items:center;justify-content:center;width:120px;height:50px;border-radius:100px;background:var(--black-color06);font-size:var(--text-18);font-weight:600;letter-spacing:-0.03em;color:var(--point-white);cursor:pointer;transition:background 0.3s;}
    .bd_file input:focus-visible + .bd_file_btn{outline:2px solid var(--point-color01);outline-offset:3px;}
    .bd_file_name{min-width:0;font-size:var(--text-18);letter-spacing:-0.03em;color:var(--black-color05);overflow-wrap:anywhere;}

    .bd_cap{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
    .bd_cap_box{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-color01);border-radius:var(--radius-06);background:var(--point-white);}
    .bd_cap_box .db-captcha-img{display:block;height:40px;border:1px solid var(--border-color01);border-radius:var(--radius-04);cursor:pointer;}
    .bd_cap_box .db-captcha-refresh{flex-shrink:0;width:40px;height:40px;background:url(/images/ico_refresh.svg) no-repeat center / contain;cursor:pointer;}
    #wrap .bd_cap_input{width:323px;max-width:100%;height:60px;padding:0 20px;border:1px solid var(--border-color01);border-radius:var(--radius-06);background:var(--point-white);font-size:var(--text-18);letter-spacing:2px;color:var(--black-color03);}
    #wrap .bd_cap_input:focus{border-color:var(--point-color01);outline:0;}
    @media (max-width:520px) {
        #wrap .bd_cap_input{width:100%;}
    }

    .bd_agree{position:relative;margin-top:50px;padding:var(--row-gap40);border:1px solid var(--border-color01);border-radius:var(--radius-06);}
    .bd_agree:before{content:"";position:absolute;left:0;right:0;top:-40px;border-top:1px solid var(--border-color01);}
    .bd_chk{position:relative;}
    .bd_chk input{position:absolute;width:24px;height:24px;opacity:0;}
    .bd_chk label{position:relative;display:inline-block;min-height:24px;padding-left:36px;font-size:var(--text-20);font-weight:500;line-height:24px;letter-spacing:-0.03em;color:var(--black-color01);cursor:pointer;}
    .bd_chk label:before{content:"";position:absolute;top:0;left:0;width:24px;height:24px;background:url(/images/ico_check.svg) no-repeat center / contain;}
    .bd_chk label:after{content:"";position:absolute;top:5px;left:9px;width:6px;height:11px;border:solid var(--point-white);border-width:0 2px 2px 0;rotate:45deg;opacity:0;}
    .bd_chk input:checked + label:before{background:var(--point-color01);border-radius:4px;}
    .bd_chk input:checked + label:after{opacity:1;}
    .bd_chk input:focus-visible + label:before{outline:2px solid var(--point-color01);outline-offset:2px;}
    .bd_chk em{font-style:normal;color:var(--point-color01);}
    .bd_policy{height:150px;margin-top:20px;padding:24px 30px;overflow-y:auto;border-radius:var(--radius-04);background:var(--gray-bg04);font-size:var(--text-16);line-height:1.7;letter-spacing:-0.03em;color:var(--black-color08);}
    .bd_policy::-webkit-scrollbar{width:4px;}
    .bd_policy::-webkit-scrollbar-track{background:var(--border-color01);border-radius:2px;}
    .bd_policy::-webkit-scrollbar-thumb{background:var(--black-color02);border-radius:2px;}

    .bd_submit{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:var(--row-gap50);}
    .bd_btn_submit{display:inline-flex;align-items:center;justify-content:center;width:220px;max-width:100%;height:clamp(50px, 6vw, 60px);border-radius:60px;background:var(--point-color01);font-family:var(--font-type01);font-size:var(--text-18);font-weight:700;letter-spacing:-0.03em;color:var(--point-white);cursor:pointer;transition:background 0.3s;}
    @media (hover:hover) and (pointer:fine) {
        .bd_btn_submit:hover,.bd_file_btn:hover{background:var(--point-color03);}
    }

    .bd_done{display:flex;flex-direction:column;align-items:center;padding-block:var(--row-gap40);text-align:center;}
    .bd_done_ico{position:relative;width:clamp(80px, 10vw, 120px);aspect-ratio:auto 1;border-radius:50%;background:var(--point-color01);}
    .bd_done_ico:before{content:"";position:absolute;top:46%;left:50%;width:26%;height:46%;border:solid var(--point-white);border-width:0 clamp(3px, 0.5vw, 6px) clamp(3px, 0.5vw, 6px) 0;translate:-50% -55%;rotate:45deg;}
    .bd_done_tit{margin-top:var(--row-gap40);font-size:var(--text-40);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);word-break:keep-all;}
    .bd_done_desc{margin-top:var(--row-gap20);font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;}
    .bd_done_btn{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:var(--row-gap60);}

    @media (max-width:1023px) {
        .bd_grid2{grid-template-columns:minmax(0, 1fr);}
    }
    @media (max-width:860px) {
        .bd_cinfo{flex-direction:column;}
        .bd_row{flex-direction:column;}
        .bd_lab{flex:none;width:auto;padding:0 0 8px;}
        .bd_ipt{width:100%;}
        .bd_ipt textarea{height:240px;}
        .bd_opts{padding-top:0;}
        .bd_agree{padding:var(--row-gap20);}
        .bd_policy{padding:var(--row-gap20);}
    }

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

	Board List Cert (인증서 갤러리 — certificate)

───────────────────────────────────────────────────────────*/
    .bd_gallery_wrap.is_cert .bd_list{padding-block:0;border:0;}
    .bd_gallery_wrap.is_cert .bd_gallery{gap:30px clamp(15px, 2.8vw, 28px);}
    .bd_gallery_wrap.is_cert .bd_link{gap:20px;}
    .bd_gallery_wrap.is_cert .bd_thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:354 / 400;border-radius:var(--radius-20);background:var(--gray-bg01);}
    .bd_cert_paper{position:relative;display:block;flex-shrink:0;width:61%;aspect-ratio:216 / 300;background:url(/images/img_cert_frame.svg) no-repeat center / 100% 100%;}
    .bd_cert_paper img{position:absolute;top:6.8%;left:7.4%;width:85.2%;height:86.7%;object-fit:cover;box-shadow:0 0 25px 0 rgba(0, 0, 0, 0.1);}
    .bd_gallery_wrap.is_cert .bd_cont{align-items:center;gap:0;}
    .bd_gallery_wrap.is_cert .bd_tit{font-size:var(--text-20);font-weight:400;line-height:1.4;text-align:center;color:var(--black-color00);white-space:normal;}
    @media (hover:hover) and (pointer:fine) {
        .bd_gallery_wrap.is_cert .bd_link:hover .bd_thumb img{transform:none;}
    }

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

	Sub Content (서브 페이지 섹션 공통 — 여백 / 배경)

───────────────────────────────────────────────────────────*/
    .sub_content > section{padding-block:var(--row-gap140);}
    .sub_content > section:first-child{padding-top:var(--row-gap120);}
    .sub_content > section:not([class*="bg_"]) + section:not([class*="bg_"]){padding-top:0;}
    .bg_gray01{background:var(--gray-bg01);}
    .bg_gray04{background:var(--gray-bg04);}

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

	CI (기업소개 > CI)

───────────────────────────────────────────────────────────*/
    .sub_content > section.ci_logo,.sub_content > section.ci_color,.sub_content > section.ci_bg,.sub_content > section.ci_space{padding-block:0;}
    .ci .w_custom{padding-block:var(--row-gap140);}
    .ci_color .w_custom{border-block:1px solid var(--border-color01);}
    .ci_bg .w_custom{border-bottom:1px solid var(--border-color01);}

    .ci_panel{display:flex;align-items:center;justify-content:center;height:clamp(170px, 20.47vw, 307px);border:1px solid var(--border-color01);border-radius:var(--radius-20);background-color:var(--point-white);background-image:linear-gradient(to right, rgba(221, 221, 221, 0.4) 1px, transparent 1px), linear-gradient(to bottom, rgba(221, 221, 221, 0.4) 1px, transparent 1px);background-size:14.15px 14.15px;background-position:-1px -3px;overflow:hidden;}
    .ci_panel img{display:block;width:clamp(160px, 20vw, 300px);height:auto;}
    .ci_logo_txt{margin-top:var(--row-gap40);font-size:var(--text-30);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);text-align:center;word-break:keep-all;}
    .ci_logo_txt em{font-style:normal;color:var(--point-color01);}
    .ci_down{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:var(--row-gap40);}
    .ci_btn{display:inline-flex;align-items:center;justify-content:space-between;width:220px;max-width:100%;height:clamp(50px, 6vw, 60px);padding:0 26px 0 30px;border:1px solid var(--point-color01);border-radius:60px;background:var(--point-white);font-family:var(--font-type01);font-size:var(--text-18);font-weight:700;letter-spacing:-0.03em;color:var(--point-color01);transition:all 0.3s;}
    .ci_btn b{font-weight:700;}
    .ci_btn img{flex-shrink:0;width:24px;height:24px;padding:3px;transition:filter 0.3s;}
    @media (hover:hover) and (pointer:fine) {
        .ci_btn:hover{background:var(--point-color01);color:var(--point-white);}
        .ci_btn:hover img{filter:brightness(0) invert(1);}
    }

    .ci_color_wrap{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--col-gap30, 32px);margin-top:var(--row-gap60);}
    .ci_color_box h3{padding-bottom:20px;font-size:var(--text-24);font-weight:600;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);}
    .ci_color_box ul{display:flex;gap:20px;}
    .ci_color_box li{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:20px;height:clamp(140px, 12vw, 180px);padding:var(--row-gap40);border-radius:var(--radius-15);font-size:var(--text-20);line-height:1.4;letter-spacing:-0.03em;color:var(--point-white);}
    .ci_color_box strong{font-weight:600;}
    .ci_color_box .is_c1{background:var(--point-color03);}
    .ci_color_box .is_c2{background:var(--point-color02);}
    .ci_color_box .is_c3{background:#002250;}
    .ci_color_box .is_c4{background:#f5bc17;}

    .ci_bg_cont{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--row-gap30);margin-top:var(--row-gap60);}
    .ci_bg_cont h3{flex-shrink:0;font-size:var(--text-36);font-weight:600;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);}
    .ci_bg_cont ul{width:80%;max-width:1200px;display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:20px 0;}
    .ci_bg_cont img{display:block;width:100%;height:auto;}

    .ci_space_list{display:flex;gap:var(--col-gap40, 40px);}
    .ci_space_item{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--row-gap40);}
    .ci_space_img{display:flex;align-items:center;justify-content:center;height:clamp(200px, 20.13vw, 302px);padding:20px;border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);}
    .ci_space_img img{display:block;width:min(100%, 500px);height:auto;}
    .ci_space_item:nth-child(2) .ci_space_img img{width:min(100%, 420px);}

    @media (max-width:1023px) {
        .ci_bg_cont{flex-direction:column;}
        .ci_bg_cont ul{width:100%;}
        .ci_space_list{flex-direction:column;}
    }
    @media (max-width:860px) {
        .ci_color_wrap{grid-template-columns:minmax(0, 1fr);}
        .ci_bg_cont ul{grid-template-columns:minmax(0, 1fr);}
    }
    @media (max-width:520px) {
        .ci_color_box ul{flex-direction:column;}
    }

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

	History (기업소개 > 연혁)

───────────────────────────────────────────────────────────*/
    .hs_tab ul{display:flex;height:clamp(54px, 4.67vw, 70px);border:1px solid var(--border-color01);border-radius:var(--radius-10);overflow:hidden;}
    .hs_tab li{flex:1;min-width:0;}
    .hs_tab li + li{border-left:1px solid var(--border-color01);}
    .hs_tab a{display:flex;align-items:center;justify-content:center;height:100%;font-size:var(--text-20);font-weight:500;letter-spacing:-0.03em;color:var(--black-color02);transition:background 0.3s, color 0.3s;}
    .hs_tab a.is_on{background:var(--point-color01);font-weight:600;color:var(--point-white);}
    @media (hover:hover) and (pointer:fine) {
        .hs_tab a:not(.is_on):hover{color:var(--point-color01);}
    }
    .hs_tit{margin-top:var(--row-gap100);font-size:var(--text-46);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);word-break:keep-all;}

    .hs_body{position:relative;margin-top:var(--row-gap60);}
    .hs_line{position:absolute;top:0;bottom:0;left:46%;width:1px;background:var(--border-color01);}
    .hs_line .bar{position:absolute;top:0;left:-0.5px;width:2px;height:var(--hs-p, 0px);background:var(--point-color01);}
    .hs_line .dot{position:absolute;top:var(--hs-p, 0px);left:50%;width:10px;aspect-ratio:auto 1;border-radius:50%;background:var(--point-color01);translate:-50% -50%;}
    .hs_era{display:grid;grid-template-columns:38.67% 1fr 46.93%;align-items:start;}
    .hs_era + .hs_era{margin-top:clamp(100px, 14.7vw, 220px);}
    .hs_info{position:sticky;top:calc(clamp(60px, 10vw, 100px) + 40px);}
    .hs_info h3{font-family:var(--font-type01);font-size:var(--text-48);font-weight:700;line-height:1.4;letter-spacing:-0.01em;color:var(--black-color01);}
    .hs_info .img{margin-top:var(--row-gap40);aspect-ratio:580 / 326;border-radius:var(--radius-20);}
    .hs_list{grid-column:3;display:flex;flex-direction:column;gap:clamp(50px, 6vw, 90px);}
    .hs_list > li{display:flex;gap:24px;}
    .hs_list .year{flex:0 0 120px;width:120px;font-family:var(--font-type01);font-size:var(--text-20);font-weight:600;line-height:1.4;letter-spacing:-0.02em;color:var(--black-color01);}
    .hs_list .events{flex:1;min-width:0;display:flex;flex-direction:column;gap:26px;}
    .hs_list .events > li{position:relative;padding-left:9px;}
    .hs_list .tit{font-size:var(--text-20);line-height:1.4;letter-spacing:-0.025em;color:var(--black-color01);word-break:keep-all;}
    .hs_list .tit:before{content:"·";position:absolute;left:0;}
    .hs_list .desc{margin-top:6px;font-size:var(--text-18);line-height:1.5;letter-spacing:-0.03em;color:var(--black-color08);word-break:keep-all;}

    @media (max-width:1023px) {
        .hs_line{display:none;}
        .hs_era{display:block;}
        .hs_era + .hs_era{margin-top:var(--row-gap100);}
        .hs_info{position:static;}
        .hs_list{margin-top:var(--row-gap40);}
        .hs_list > li{gap:12px;}
        .hs_list .year{flex-basis:90px;width:90px;}
    }

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

	Location (기업소개 > 오시는길)

───────────────────────────────────────────────────────────*/
    .location > section{padding-bottom:var(--row-gap120);}
    .location > section:last-child{padding-bottom:var(--row-gap140);}
    .lc_item h2{font-size:var(--text-40);font-weight:600;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);word-break:keep-all;}
    .lc_map{height:clamp(240px, 40vw, 600px);margin-top:var(--row-gap40);border-radius:var(--radius-20);background:var(--gray-bg01);overflow:hidden;}
    .lc_map iframe{display:block;width:100%;height:100%;border:0;}
    .lc_info{display:flex;gap:20px;margin-top:var(--row-gap40);}
    .lc_item.is_hq .lc_info{gap:clamp(15px, 2.1vw, 32px);}
    .lc_box{flex:1;min-width:0;display:flex;flex-direction:column;gap:20px;padding:var(--row-gap30) var(--row-gap40);border-radius:var(--radius-20);background:var(--gray-bg04);}
    .lc_box h3,.lc_web h3{font-size:var(--text-22);font-weight:500;line-height:1.6;letter-spacing:-0.03em;color:var(--black-color03);}
    .lc_box dl{display:flex;flex-direction:column;gap:14px;}
    .lc_box dl > div{display:flex;align-items:center;gap:24px;min-height:36px;}
    .lc_box dt{flex:0 0 140px;width:140px;font-family:var(--font-type01);font-size:var(--text-20);color:var(--black-color03);}
    .lc_box dd,.lc_box dd a{font-family:var(--font-type01);font-size:var(--text-20);letter-spacing:-0.03em;color:var(--black-color05);overflow-wrap:anywhere;}
    .lc_box address{font-style:normal;font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;overflow-wrap:anywhere;}
    .lc_web{display:flex;align-items:center;gap:var(--row-gap40);min-height:88px;margin-top:20px;padding:var(--row-gap30) var(--row-gap40);border-radius:var(--radius-20);background:var(--gray-bg04);}
    .lc_web a{font-size:var(--text-20);letter-spacing:-0.03em;color:var(--black-color05);}
    @media (hover:hover) and (pointer:fine) {
        .lc_box dd a:hover,.lc_web a:hover{color:var(--point-color01);text-decoration:underline;}
    }
    @media (max-width:860px) {
        .lc_info{flex-direction:column;}
        .lc_box dt{flex-basis:80px;width:80px;}
        .lc_box dl > div{gap:12px;}
    }
    
/*───────────────────────────────────────────────────────────

	Equip (유지보수 > 시험장비)

───────────────────────────────────────────────────────────*/
    .sub_content > section.eq_intro{padding-bottom:var(--row-gap120);}
    .eq_intro_tit h2{font-size:var(--text-40);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color00);word-break:keep-all;}
    .eq_intro_tit p{margin-top:var(--row-gap20);font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color06);word-break:keep-all;}
    .eq_btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:220px;max-width:100%;height:clamp(50px, 6vw, 60px);margin-top:var(--row-gap60);border-radius:60px;background:var(--point-color01);font-family:var(--font-type01);font-size:var(--text-18);font-weight:700;letter-spacing:-0.03em;color:var(--point-white);transition:background 0.3s;}
    .eq_btn img{width:24px;height:24px;}
    @media (hover:hover) and (pointer:fine) {
        .eq_btn:hover{background:var(--point-color03);}
    }

    .eq_tit{font-size:var(--text-50);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);}
    .eq_list{margin-top:var(--row-gap60);display:flex;flex-direction:column;}
    .eq_row + .eq_row{margin-top:var(--row-gap100);padding-top:var(--row-gap100);border-top:1px solid var(--border-color01);}
    .eq_top{display:flex;align-items:center;gap:clamp(20px, 4.2vw, 80px);}
    .eq_img{flex-shrink:0;width:50.67%;aspect-ratio:760 / 460;border-radius:var(--radius-20);background:var(--gray-bg04);}
    .eq_txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:30px;}
    .eq_txt .tag{font-size:var(--text-20);font-weight:500;line-height:1.4;color:var(--point-color01);}
    .eq_txt h3{margin-top:-10px;font-size:var(--text-40);font-weight:600;line-height:1.4;letter-spacing:-0.02em;color:var(--black-color01);}
    .eq_txt p{font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;}
    .eq_chip{display:flex;flex-wrap:wrap;gap:10px;}
    .eq_chip li{padding:10px 20px;border:1px solid var(--border-color01);border-radius:50px;background:var(--point-white);font-size:var(--text-18);font-weight:500;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color03);}
    .eq_cards{display:flex;gap:24px;margin-top:var(--row-gap60);}
    .eq_cards > li{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--row-gap30);padding:var(--row-gap30);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);}
    .eq_cards .ico{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:clamp(50px, 4.7vw, 70px);aspect-ratio:auto 1;border-radius:50%;background:var(--gray-bg01);}
    .eq_cards .ico img{display:block;max-width:none;}
    .eq_cards .txt{min-width:0;display:flex;flex-direction:column;gap:10px;}
    .eq_cards strong{font-size:var(--text-24);font-weight:500;line-height:1.5;letter-spacing:-0.03em;color:var(--black-color03);}
    .eq_cards .txt p{font-size:var(--text-18);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color06);word-break:keep-all;}

    .eq_log_in{display:flex;align-items:flex-start;gap:var(--col-gap60);}
    .eq_log .cm_tit{flex:0 0 33.33%;}
    .eq_table{flex:1;min-width:0;border-top:2px solid var(--black-color01);}
    .eq_table td{padding:20px var(--row-gap40);border-bottom:1px solid var(--border-color01);font-size:var(--text-20);line-height:1.7;letter-spacing:-0.03em;color:var(--black-color05);}

    .eq_gallery_head{display:flex;align-items:center;justify-content:space-between;gap:var(--row-gap20);padding-bottom:30px;border-bottom:1px solid var(--black-color01);}
    .eq_ctrl{display:flex;gap:10px;}
    .eq_arw{position:relative;width:clamp(40px, 5vw, 54px);aspect-ratio:auto 1;border-radius:50%;background:var(--point-white);box-shadow:0 0 10px 0 rgba(0, 0, 0, 0.10);transition:background 0.3s;}
    .eq_arw:before{content:"";position:absolute;top:50%;left:50%;width:clamp(8px, 1vw, 10px);aspect-ratio:auto 1;border:solid var(--point-color01);border-width:2px 2px 0 0;transition:border-color 0.3s;}
    .eq_arw.prev:before{translate:-35% -50%;rotate:-135deg;}
    .eq_arw.next:before{translate:-65% -50%;rotate:45deg;}
    .eq_arw:focus-visible{outline:2px solid var(--point-color01);outline-offset:3px;}
    .eq_gallery_swiper{margin-top:var(--row-gap60);overflow:visible;}
    .eq_gallery_swiper .swiper-slide{width:480px;}
    .eq_gallery_swiper img{aspect-ratio:480 / 310;border-radius:var(--radius-20);background:var(--border-color01);}
    .eq_gallery_swiper p{display: none;}
    
    @media (hover:hover) and (pointer:fine) {
        .eq_arw:hover{background:var(--point-color01);}
        .eq_arw:hover:before{border-color:var(--point-white);}
    }

    @media (max-width:1023px) {
        .eq_top,.eq_top.is_rev{flex-direction:column;align-items:stretch;}
        .eq_top.is_rev{flex-direction:column-reverse;}
        .eq_img{width:100%;}
        .eq_cards{flex-direction:column;}
        .eq_log_in{flex-direction:column;}
        .eq_log .cm_tit{flex-basis:auto;}
        .eq_table{width:100%;}
        .eq_gallery_swiper .swiper-slide{width:320px;}
    }
    @media (max-width:600px) {
        .eq_gallery_swiper .swiper-slide{width:80%;}
        .eq_table td{padding-inline:var(--row-gap20);}
    }

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

	Product List (제품 분류 페이지)

───────────────────────────────────────────────────────────*/
    .pd_search{margin-bottom:var(--row-gap30);font-size:var(--text-18);color:var(--black-color05);}
    .pd_search strong{font-weight:600;color:var(--black-color01);}
    .pd_search a{margin-left:10px;text-decoration:underline;color:var(--black-color08);}
    .pd_list{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:clamp(15px, 2vw, 30px);}
    .pd_link{display:flex;align-items:center;justify-content:space-between;gap:var(--col-gap30, 30px);min-height:clamp(260px, 25.3vw, 380px);padding:clamp(24px, 4vw, 60px);border-radius:var(--radius-20);background:var(--gray-bg01);}
    .pd_txt{flex:0 0 auto;width:min(340px, 46%);align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;gap:var(--row-gap30);}
    .pd_tit_box{display:flex;flex-direction:column;gap:20px;}
    .pd_sum{font-family:var(--font-type01);font-size:var(--text-18);font-weight:500;line-height:1.2;letter-spacing:-0.03em;color:var(--point-color01);word-break:keep-all;}
    .pd_tit{font-size:var(--text-40);font-weight:700;line-height:1.3;letter-spacing:-0.03em;color:#212121;overflow-wrap:anywhere;}
    .pd_more{display:inline-flex;align-items:center;justify-content:space-between;width:220px;max-width:100%;height:clamp(50px, 6vw, 60px);padding:0 30px;border:1px solid var(--point-color01);border-radius:60px;background:var(--point-white);font-family:var(--font-type01);font-size:var(--text-18);font-weight:700;letter-spacing:-0.03em;color:var(--point-color01);transition:all 0.3s;}
    .pd_more i{position:relative;width:16px;height:16px;flex-shrink:0;}
    .pd_more i:before,.pd_more i:after{content:"";position:absolute;top:50%;left:50%;background:currentColor;translate:-50% -50%;}
    .pd_more i:before{width:16px;height:2px;}
    .pd_more i:after{width:2px;height:16px;}
    .pd_img{flex:1;min-width:0;align-self:stretch;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-20);overflow:hidden;}
    .pd_img img{display:block;max-width:100%;max-height:clamp(180px, 17.3vw, 260px);width:auto;height:auto;object-fit:contain;}
    @media (hover:hover) and (pointer:fine) {
        .pd_link:hover .pd_more{background:var(--point-color01);color:var(--point-white);}
    }
    @media (max-width:1023px) {
        .pd_list{grid-template-columns:minmax(0, 1fr);}
    }
    @media (max-width:520px) {
        .pd_link{flex-direction:column;align-items:stretch;}
        .pd_txt{width:100%;gap:var(--row-gap20);}
        .pd_img{min-height:180px;}
    }

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

	Product Detail (제품 상세)

───────────────────────────────────────────────────────────*/
    .sub_content > section.pd_view_top{padding-top:var(--row-gap100);}
    .pd_tab{position:relative;}
    .pd_tab_swiper{height:clamp(54px, 4.67vw, 70px);border:1px solid var(--border-color01);border-radius:var(--radius-10);background:var(--point-white);overflow:hidden;}
    .pd_tab_swiper .swiper-slide{height:100%;}
    .pd_tab_swiper .swiper-slide a{display:flex;align-items:center;justify-content:center;height:100%;padding-inline:15px;border-right:1px solid var(--border-color01);font-size:var(--text-20);font-weight:500;letter-spacing:-0.03em;color:var(--black-color02);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background 0.3s, color 0.3s;}
    .pd_tab_swiper .swiper-slide.on a{background:var(--point-color01);font-weight:600;color:var(--point-white);}
    .pd_tab_arw{position:absolute;top:50%;z-index:2;width:36px;aspect-ratio:auto 1;border-radius:50%;background:var(--point-white);box-shadow:0 0 10px 0 rgba(0, 0, 0, 0.15);translate:0 -50%;}
    .pd_tab_arw.prev{left:-18px;}
    .pd_tab_arw.next{right:-18px;}
    .pd_tab_arw:before{content:"";position:absolute;top:50%;left:50%;width:8px;aspect-ratio:auto 1;border:solid var(--point-color01);border-width:2px 2px 0 0;}
    .pd_tab_arw.prev:before{translate:-35% -50%;rotate:-135deg;}
    .pd_tab_arw.next:before{translate:-65% -50%;rotate:45deg;}
    .pd_tab_arw.swiper-button-lock{display:none;}
    .pd_tab_arw.swiper-button-disabled{opacity:0.3;pointer-events:none;}
    @media (hover:hover) and (pointer:fine) {
        .pd_tab_swiper .swiper-slide:not(.on) a:hover{color:var(--point-color01);}
    }

    .pd_top{display:flex;align-items:flex-start;gap:clamp(30px, 5.2vw, 100px);margin-top:var(--row-gap100);}
    .pd_pic{flex:0 0 clamp(280px, 33.3vw, 640px);aspect-ratio:640 / 612;display:flex;align-items:center;justify-content:center;padding:clamp(15px, 1.6vw, 30px);border:1px solid var(--border-color01);border-radius:var(--radius-20);background:var(--point-white);}
    .pd_pic img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
    .pd_info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--row-gap40);}
    .pd_logo{display:block;height:32px;width:auto;max-width:280px;margin-bottom:10px;object-fit:contain;object-position:left center;}
    .pd_name{font-family:'Rajdhani', var(--font-type01);font-size:var(--text-64);font-weight:700;line-height:1.05;letter-spacing:-0.03em;color:var(--black-color01);overflow-wrap:anywhere;}
    .pd_lead{margin-top:20px;font-size:var(--text-24);font-weight:500;line-height:1.7;letter-spacing:-0.03em;color:var(--black-color03);word-break:keep-all;}
    .pd_detail_txt{padding-top:var(--row-gap30);border-top:1px solid var(--black-color01);font-size:var(--text-18);line-height:1.8;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;}
    .pd_detail_txt p{margin-bottom:20px;}
    .pd_detail_txt p:last-child{margin-bottom:0;}
    .pd_btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--row-gap20);}
    .pd_btns .bd_btn_list,.pd_btns .bd_btn_sub{gap:10px;}
    .pd_btns img{width:24px;height:24px;flex-shrink:0;}

    .pd_blk + .pd_blk{margin-top:var(--row-gap140);}
    .pd_blk_head{display:flex;align-items:center;justify-content:space-between;gap:var(--row-gap20);padding-bottom:30px;border-bottom:1px solid var(--black-color01);}
    .pd_blk_tit{font-size:var(--text-50);font-weight:600;line-height:1.4;letter-spacing:-0.03em;color:var(--black-color01);}
    .pd_blk_head + *{margin-top:var(--row-gap60);}
    .pd_feat{font-size:var(--text-20);line-height:1.6;letter-spacing:-0.03em;color:var(--black-color05);word-break:keep-all;overflow-wrap:anywhere;}
    .pd_feat img{max-width:100%;height:auto;}
    .pd_feat p{margin-bottom:1em;}

    .pd_apps{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:40px 30px;}
    .pd_apps .img{aspect-ratio:1;border-radius:var(--radius-20);background:var(--border-color01);}
    .pd_apps p{margin-top:20px;font-size:var(--text-18);line-height:1.7;letter-spacing:-0.03em;color:var(--black-color05);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all;}
    .pd_cases{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:40px 30px;}
    .pd_cases li{aspect-ratio:1;border-radius:var(--radius-20);background:var(--border-color01);}
    .pd_cases li a{display:block;width:100%;height:100%;}

    .pd_spec{position:relative;}
    .pd_spec_in{position:relative;max-height:clamp(320px, 35.5vw, 533px);overflow:hidden;}
    .pd_spec_in:after{content:"";position:absolute;left:0;right:0;bottom:0;height:184px;background:linear-gradient(to top, #fff 32.6%, rgba(255, 255, 255, 0));pointer-events:none;}
    .pd_spec.is_open .pd_spec_in{max-height:none;}
    .pd_spec.is_open .pd_spec_in:after,.pd_spec.is_short .pd_spec_in:after{display:none;}
    .pd_spec_btn{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:clamp(50px, 6vw, 60px);border:1px solid var(--point-color01);border-radius:100px;background:var(--point-white);font-size:var(--text-20);letter-spacing:-0.03em;color:var(--point-color01);}
    .pd_spec_btn i{position:relative;width:12px;height:12px;}
    .pd_spec_btn i:before{content:"";position:absolute;top:50%;left:50%;width:9px;aspect-ratio:auto 1;border:solid var(--point-color01);border-width:0 2px 2px 0;translate:-50% -75%;rotate:45deg;transition:rotate 0.3s;}
    .pd_spec.is_open .pd_spec_btn{position:static;margin-top:var(--row-gap30);}
    .pd_spec.is_open .pd_spec_btn i:before{translate:-50% -25%;rotate:-135deg;}
    .pd_spec.is_short .pd_spec_btn{display:none;}
    .pd_spec_in h3,.pd_spec_in h4,.pd_spec_in caption{margin-bottom:16px;font-family:var(--font-type01);font-size:var(--text-20);font-weight:600;line-height:1.5;color:var(--point-color01);text-align:left;}
    .pd_spec_in table{width:100%;border-collapse:collapse;border-top:2px solid var(--black-color01);font-size:var(--text-17);}
    .pd_spec_in th,.pd_spec_in td{padding:16px 26px;border:none;border-right:1px solid var(--border-color01);border-bottom:1px solid var(--border-color01);line-height:1.7;letter-spacing:-0.03em;text-align:left;vertical-align:middle;}
    .pd_spec_in th:last-child,.pd_spec_in td:last-child{border-right:0;}
    .pd_spec_in thead th,.pd_spec_in tr:first-child th{background:var(--gray-bg04);border-bottom-color:var(--black-color08);font-family:var(--font-type01);font-size:var(--text-18);font-weight:600;color:var(--black-color01);}
    .pd_spec_in td{color:var(--black-color05);}

    .pd_video{position:relative;width:min(100%, 1138px);aspect-ratio:1138 / 640;margin-inline:auto;border-radius:var(--radius-20);background:var(--black-color00);overflow:hidden;}
    .pd_video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
    .pd_video_link a{font-size:var(--text-18);text-decoration:underline;color:var(--black-color05);overflow-wrap:anywhere;}

    .pd_ctrl{display:flex;gap:10px;}
    .pd_arw{position:relative;width:clamp(40px, 5vw, 54px);aspect-ratio:auto 1;border-radius:50%;background:var(--point-white);box-shadow:0 0 10px 0 rgba(0, 0, 0, 0.10);transition:background 0.3s;}
    .pd_arw:before{content:"";position:absolute;top:50%;left:50%;width:clamp(8px, 1vw, 10px);aspect-ratio:auto 1;border:solid var(--point-color01);border-width:2px 2px 0 0;transition:border-color 0.3s;}
    .pd_arw.prev:before{translate:-35% -50%;rotate:-135deg;}
    .pd_arw.next:before{translate:-65% -50%;rotate:45deg;}
    .pd_arw.swiper-button-lock{display:none;}
    .pd_arw:focus-visible{outline:2px solid var(--point-color01);outline-offset:3px;}
    .pd_gallery_swiper{overflow:visible;}
    .pd_gallery_swiper .swiper-slide{width:480px;}
    .pd_gallery_swiper .thumb{aspect-ratio:480 / 310;border-radius:var(--radius-20);background:var(--border-color01);}
    .pd_files{display:flex;flex-direction:column;gap:10px;margin-top:var(--row-gap40);}
    .pd_files a{font-size:var(--text-18);text-decoration:underline;color:var(--black-color05);}
    @media (hover:hover) and (pointer:fine) {
        .pd_arw:hover{background:var(--point-color01);}
        .pd_arw:hover:before{border-color:var(--point-white);}
    }
    .pd_foot{margin-top:var(--row-gap80, 80px);text-align:center;}

    @media (max-width:1023px) {
        .pd_top{flex-direction:column;align-items:stretch;}
        .pd_pic{flex:none;width:100%;}
        .pd_apps,.pd_cases{grid-template-columns:repeat(3, minmax(0, 1fr));}
        .pd_gallery_swiper .swiper-slide{width:320px;}
        .pd_tab_arw.prev{left:-8px;}
        .pd_tab_arw.next{right:-8px;}
    }
    @media (max-width:600px) {
        .pd_apps,.pd_cases{grid-template-columns:repeat(2, minmax(0, 1fr));}
        .pd_gallery_swiper .swiper-slide{width:80%;}
        .pd_spec_in th,.pd_spec_in td{padding:12px 14px;}
        .pd_spec_in{overflow-x:auto;}
    }
    .pd_spec_cols{display:flex;align-items:flex-start;gap:clamp(20px, 3.3vw, 50px);padding-top:16px;}
    .pd_spec_cols .col{flex:1;min-width:0;width:100%;}
    @media (max-width:1023px) {
        .pd_spec_cols{flex-direction:column;}
    }

    /* 유튜브 상단 타이틀 영역/하단 컨트롤을 래퍼 밖으로 밀어 가림 (16:9 영상은 중앙 그대로) */
    .pd_video iframe{inset:auto;top:-60px;left:0;height:calc(100% + 120px);}

/*───────────────────────────────────────────────────────────
	Product Brochure Popup (브로셔 다운로드 팝업)
───────────────────────────────────────────────────────────*/
    html.is_pop_open{overflow:hidden;}
    .pd_pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;}
    .pd_pop[hidden]{display:none;}
    .pd_pop_dim{position:absolute;inset:0;background:rgba(0, 0, 0, 0.6);}
    .pd_pop_box{position:relative;width:640px;max-width:100%;max-height:100%;padding:clamp(24px, 3vw, 50px);overflow-y:auto;border-radius:var(--radius-20);background:var(--point-white);outline:0;}
    .pd_pop_x{position:absolute;top:16px;right:16px;width:36px;height:36px;}
    .pd_pop_x:before,.pd_pop_x:after{content:"";position:absolute;top:50%;left:50%;width:22px;height:2px;background:var(--black-color01);}
    .pd_pop_x:before{rotate:45deg;translate:-50% -50%;}
    .pd_pop_x:after{rotate:-45deg;translate:-50% -50%;}
    .pd_pop_tit{font-size:var(--text-32);font-weight:700;letter-spacing:-0.03em;color:var(--black-color01);}
    .pd_pop_desc{margin-top:8px;font-size:var(--text-18);letter-spacing:-0.03em;color:var(--black-color05);}
    .pd_pop_form{gap:20px;margin-top:24px;padding-top:24px;}
    .pd_pop .bd_row{flex-direction:column;gap:8px;}
    .pd_pop .bd_lab{flex:none;width:auto;padding:0;font-size:var(--text-18);}
    .pd_pop .bd_ipt{width:100%;}
    .pd_pop .bd_agree{margin-top:10px;padding:20px;}
    .pd_pop .bd_agree:before{display:none;}
    .pd_pop .bd_chk label{font-size:var(--text-16);}
    .pd_pop .bd_policy{height:110px;padding:16px 20px;}
    .pd_pop_msg{font-size:var(--text-16);color:#e5484d;}
    .pd_pop_msg[hidden]{display:none;}
    .pd_pop .bd_submit{justify-content:center;}
