
#wrap{position: relative; overflow: clip;}
.w_custom{position: relative; width: calc(100% - 60px); max-width: 1400px; margin-inline: auto;}
#wrap [class*="swiper-button"]::after{display: none;}
main{padding-block: var(--row-gap100) var(--row-gap140);}
main:has(.full-sec){width: 100%; max-width: 100%;}
main:has(.pt-dn){padding-top: 0;}
main:has(.pb-dn){padding-bottom: 0;}
.link{position: absolute;inset: 0;z-index: 3;}
br.for_t{display:none;}
.blind{position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;}
html{scrollbar-color:var(--point-color08) var(--gray-bg04);}
::-webkit-scrollbar{width:12px; height:12px;}
::-webkit-scrollbar-track{background:var(--gray-bg04);}
::-webkit-scrollbar-thumb{background:var(--point-color08); border-radius:8px; border:3px solid var(--gray-bg04);}
::-webkit-scrollbar-thumb:hover{background:var(--point-color05);}

@media (max-width:1400px) {
    br.for_pc{display:none;}
}
@media (max-width:1023px) {
    br.for_pct{display:none;}
    br.for_t{display:block;}
}
@media (max-width:860px) {
    .w_custom{width: calc(100% - 30px);}
}

/*─────────────────────────────────────────────────────────
    Header / GNB
─────────────────────────────────────────────────────────*/
    #header{position:sticky;top:0;left:0;width:100%;height: clamp(64px, 9.2vw, 92px);z-index:100;transition:all 0.4s;background: var(--point-white);}
        #header.on{box-shadow: 0 2px 8px rgba(26,26,26,.08), 0 1px var(--border-color04);}
    #header .w_custom{max-width: 1780px;height: 100%;display: flex;align-items: center;justify-content: space-between;gap: 15px;}
    #header .logo{position: relative;height: 100%;transition: all 0.4s;}
    #header .logo a{display: flex;align-items: center;height: 100%;padding-block: 15px;max-width: clamp(140px, 21.4vw, 204px);}
    #header .gnb-nav{position: absolute;top: 0;left: 50%;translate: -50%;width: calc(100% - 500px);height: 100%;}
    #header .btn{width: 100%;}
    #header .utility{position: relative;display: flex;align-items: center;gap: 28px;flex-shrink: 0;}
    #header .lang-list{display: flex;align-items: center;flex-wrap: wrap;transition: all 0.4s;}
    #header .lang-list > li{position: relative;font-size: 14px;font-weight: 600;display: flex;align-items: center;flex-wrap: wrap;color: rgb(0 0 0 / 60%);}
    #header .lang-list > li::after{display: inline-flex;content:'';width: 1px;height: clamp(10px, 1.4vw, 14px);background: var(--border-color02);margin-inline: clamp(13px, 1.6vw, 16px);}
    #header .lang-list > li:last-child::after{display: none;}
    #header .lang-list > li.on{color: var(--point-color07);}
    #header .lang-list a{position: relative;}
    #header .all-cate{position: relative;display: flex;flex-direction: column;width: 22px;aspect-ratio: auto 1.3;}
    #header .all-cate span{position: absolute;top: 0;left: 0;width: 100%;height: 2px;background: var(--point-color07);transition: all 0.4s;}
    #header .all-cate span:nth-child(2){top: 50%;margin-top: -1px;}
    #header .all-cate span:nth-child(3){top: 100%;margin-top: -2px;}
    #header .all-cate.on span{top: 50%; left: 50%; translate: -50% -50%; margin:0; rotate: 45deg;}
    #header .all-cate.on span:nth-child(2){opacity: 0;}
    #header .all-cate.on span:nth-child(3){rotate: -45deg;}
    .btn{position: relative;display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: clamp(40px, 5vw, 44px);padding: 10px 24px;border-radius: var(--radius-04);font-size: var(--text-14);font-weight: 500;background: var(--point-white);color: var(--point-color07);transition: all 0.4s;}
    .btn-primary{background:var(--point-color01);color:var(--point-white);}
    .com-btn{position: relative;display: inline-flex;align-items: center;justify-content: center;gap: 8px;min-height: clamp(40px, 5vw, 44px);padding: 10px clamp(20px, 2.4vw, 24px);border-radius: var(--radius-04);font-size: 14px;font-weight: 600;line-height: 1.4;border: 1px solid var(--point-color07);transition: all 0.4s;}
    .com-btn span{transition:inherit;}

        /* 메인 */
        body:has(.main-cont) #header{position: fixed;}
        body:has(.main-cont) #header:not(.on) :where(.logo, .lang-list, .all-cate){filter: var(--filter-white);}
        body:has(.main-cont) #header:not(.on) .com-btn{border-color: var(--point-white);}
        body:has(.main-cont) #header:not(.on) .com-btn span{filter: var(--filter-white);}

        body:has(.main-cont) #header:not(.on){background: none;}


        /* over */
        @media (hover:hover) and (pointer: fine) {
            #header:not(.on) .com-btn:hover{background: var(--point-white);}
            #header:not(.on) .com-btn:hover span{filter: none !important;}

            .com-btn:hover{background: var(--point-color07);}
            .com-btn:hover span{filter: var(--filter-white);}
            .btn:hover{background: var(--border-color04);}
        }
        @media (min-width:1101px) {
            body:has(.main-cont) #header:not(.on) :where(.logo, .lang-list, .all-cate, .gnb > li > a){filter: var(--filter-white);}
            #header .gnb{height: 100%;display: flex;justify-content: center;text-align: center;}
            #header .gnb > li{position: relative;font-size: clamp(12px, 1vw, 16px);height: 100%;font-weight: 600;transition: all 0.4s;}
            #header .gnb > li > a{display: flex;align-items: center;justify-content: center;height: 100%;text-transform: uppercase;padding-inline: clamp(20px, 2.2vw, 42px);}
            #header .gnb .dep02{position: absolute;top: 100%;left: 50%;translate: -50%;width: max-content;max-width: 300px;min-width: 210px;background: var(--point-white);border-radius: var(--radius-08);box-shadow: var(--shadow-01);padding-block: 8px;opacity: 0;pointer-events: none;transition: inherit;transform: translateY(5px);border: 1px solid var(--border-color04);}
            #header .gnb .dep02 > li{position: relative;font-weight: 400;color: var(--point-color09);transition: inherit;}
            #header .gnb .dep02 > li > a{display: block;padding: 12px 25px;transition: inherit;}
            #header .drawer-contact{display: none;}
            #header .gnb > li:hover .dep02{opacity: 1;pointer-events: all;transform: translateY(-10px);}
            #header .gnb .dep02 > li:hover > a{background: var(--gray-bg04); color: var(--point-color02);}
            #header .btn{display: none;}
            #header .all-cate{display: none;}
        }

    @media (max-width:1100px) {
        body:has(.all-cate.on){overflow: clip;}
        #header:has(.all-cate.on){background: var(--point-white) !important;}
        #header:has(.all-cate.on) :where(.logo, .lang-list, .all-cate){filter: none !important;}
        #header:has(.all-cate.on) .com-btn{background: var(--point-white);border-color: var(--point-color07) !important;}
        #header:has(.all-cate.on) .com-btn span{filter: none !important;}
        #header .gnb-nav{position: fixed;top: clamp(64px, 9.2vw, 92px);left: 0;width: 100%;height: calc(100% - clamp(64px, 9.2vw, 92px));z-index: 999;padding: clamp(24px, 4vw, 40px) 30px;background: var(--point-white);overflow: hidden;overflow-y: auto;translate: 0;display: flex;flex-direction: column;gap: 24px;opacity: 0;pointer-events: none;transition: all 0.4s;translate: 0 -10px;}
            #header:has(.all-cate.on) .gnb-nav{opacity: 1; pointer-events: all; translate: 0;}
        #header .gnb{position: relative;height: auto;display: flex;flex-direction: column;gap: 16px;}
        #header .gnb > li{font-size: var(--text-25);border-bottom: 1px solid var(--border-color04);padding-bottom: 16px;}
        #header .gnb > li > a{display: block;padding-block: 18px;font-weight: 500;text-transform: uppercase;}
        #header .gnb .dep02{position: relative;inset: auto;translate: none;width: auto;max-width: none;min-width: auto;opacity: 1;transform: none;border: 0;box-shadow: none;border-radius: 0;padding: 0;}
        #header .gnb .dep02 > li{font-size: 88.8%;color: var(--point-color09);}
        #header .gnb .dep02 > li > a{display: block;padding-block: 10px;}
    }
    @media (max-width:860px) {
        #header .gnb-nav{padding-inline:15px;}
    }
    @media (max-width:640px) {
        #header .com-btn{display: none;}
    }

/*─────────────────────────────────────────────────────────
    Main
─────────────────────────────────────────────────────────*/
    .main-cont .section{padding-block: var(--row-gap140);}
    .sec-head{text-align:center; margin-bottom:clamp(30px, 5.6vw, 56px);}
    .sec-title{font-size: var(--text-48);font-weight:700;line-height: 1.3;color:var(--point-color08);}

    /* 비주얼 */
        .hero{position:relative;display:flex;align-items:center;min-height:560px;min-height: 100dvh;padding-block: clamp(120px, 20vw, 200px);overflow:hidden;background: var(--point-color07);}
        .hero-media{position:absolute; inset:0; z-index:0;}
        .hero-media video{width:100%;height:100%;object-fit: cover;}
        .hero-media::before{position:absolute;content:'';inset:0;background:linear-gradient(180deg,rgba(26,26,26,.62) 0%,rgba(26,26,26,.5) 45%,rgba(26,26,26,.72) 100%);z-index: 1;}

        .hero-inner{position:relative; z-index:2; text-align:center;}
        .hero-content{margin-top: clamp(64px, 9.2vw, 92px);}
        .hero-content h2{font-size: var(--text-72);font-weight:800;line-height:1.35;color: var(--point-white);margin-bottom: clamp(20px, 3.2vw, 32px);}
        .hero-content p{font-size: var(--text-24);font-weight:400;line-height:1.5;color:rgba(255,255,255,.88);margin-bottom: var(--row-gap60);}
        .hero-cta{display:flex;justify-content:center;gap: clamp(10px, 1.6vw,16px);flex-wrap:wrap;}
        .hero-content .btn{box-shadow:none;min-width: clamp(180px, 23.8vw, 228px);min-height: clamp(48px, 6.1vw, 56px);font-size: var(--text-16);}
        .btn-hero{background: var(--point-color02);color: var(--point-white);}
        
        .hero-title .hw{display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.08em;}
        .hero-title .hw > span{display:inline-block; transform:translateY(110%); animation:heroWord .9s cubic-bezier(.22,.9,.3,1) .15s forwards;}
        @keyframes heroWord{to{transform:none;}}
        .hero-content p{animation:heroUp 1s cubic-bezier(.22,.9,.3,1) .5s backwards;}
        .hero-content .btn{animation:heroUp 1s cubic-bezier(.22,.9,.3,1) .7s backwards;}
        @keyframes heroUp{from{opacity:0; transform:translateY(28px);} to{opacity:1; transform:none;}}
        @media (prefers-reduced-motion:reduce){
            .hero-title .hw > span{transform:none; animation:none;}
            .hero-content h1,.hero-content p,.hero-content .btn{animation:none;}
        }

        .video-toggle{position:absolute;left: clamp(15px, 2.4vw, 24px);bottom: clamp(15px, 2.4vw, 24px);z-index:3;display:grid;place-items:center;width: clamp(36px, 4.6vw, 44px);aspect-ratio: auto 1;border-radius: var(--radius-04);background:rgba(26,26,26,.6);color:var(--point-white);transition:all 0.4s;}
        .video-toggle svg{width:18px; height:18px; fill:currentColor;}
        .video-toggle .icon-play{display:none;}
        .video-toggle[aria-pressed="true"] .icon-play{display:block;}
        .video-toggle[aria-pressed="true"] .icon-pause{display:none;}

            @media (hover:hover) and (pointer: fine) {
                .video-toggle:hover{background: var(--point-color07);}
                .btn-hero:hover{background:var(--point-color03);}
            }


        @media (max-width:1023px) {
            .hero{min-height: clamp(600px, 96vw, 960px);}
        }

    /* Brand Story */
        .brand-story{position:relative;}
        .brand-story::before{content:''; position:absolute; inset:0; z-index:0; pointer-events:none; background:url('/images/product_bg.jpg') no-repeat center/cover; opacity:0.1; mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 82%,transparent 100%);}
        .brand-story .sec-head{margin-bottom: clamp(20px, 3.2vw, 32px);}
        .brand-story .sec-title{font-size: var(--text-20);font-weight:600;color: var(--point-color02);}
        .story-header{text-align:center;margin-bottom: clamp(30px, 7.2vw, 72px);text-wrap: balance;}
        .story-slogan{font-size: var(--text-48);font-weight:700;line-height:1.28;color: var(--point-color08);margin-bottom: clamp(15px, 2.8vw, 28px);}
        .story-slogan .point{font-style:normal; font-weight:700; color:var(--point-color01);}
        .story-exp{font-size: var(--text-20);font-weight:600;color: var(--point-color02);margin-bottom: var(--row-gap15); letter-spacing: 0; text-transform: uppercase;}
        .story-lead{margin-bottom: var(--row-gap20);font-size: var(--text-20);font-weight: 500;line-height:1.6;color: var(--point-color07);font-family: var(--font-type02);}
        .story-desc{font-size: var(--text-18);font-weight:400;line-height:1.8;color: var(--point-color09);letter-spacing: -0.04em;}
        .story-desc strong{font-weight: 600;}
        .ivion-3d{display: inline-flex;align-items: center;justify-content: center;text-align: center;padding: clamp(4px, 0.7vw, 5px) clamp(12px, 1.5vw, 15px) 4px;background: #1979e4;color: var(--point-white);border-radius: var(--radius-04);gap: 11px;font-size: var(--text-16);font-weight: 500;}
		.ivion-3d::after{display:inline-flex;content:'';width: 8px;aspect-ratio: auto 1;border: 2px solid var(--point-white);clip-path: var(--clip-poly02);rotate: 45deg;border-radius: 2px;translate: 0 -3px;}
        .core-values{display:grid;grid-template-columns:repeat(3,1fr);gap: var(--col-gap40);}
        .value-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height: clamp(380px, 46vw, 460px);padding: clamp(30px, 4vw, 40px) 30px;padding-top: var(--row-gap120);border-radius: var(--radius-16);overflow:hidden;text-align:center;color: var(--point-white);}
        .value-thumb{position:absolute; inset:0; z-index:0; margin:0; overflow:hidden;}
        .value-thumb img{width:100%; height:100%; max-width:none; max-height:none; object-fit:cover;}
        .value-card:nth-child(3) .value-thumb img{object-position:left center;}
        .value-thumb::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(13,29,65,.15) 0%,rgba(13,29,65,.55) 55%,rgba(13,29,65,.85) 100%);}
        .value-card h4{position:relative;z-index:1;font-size: var(--text-38);font-weight: 600;line-height:1.2;margin-bottom: clamp(10px, 1.2vw, 12px);}
        .value-card p{position:relative;z-index:1;font-size: var(--text-18);font-weight: 300;line-height:1.65;}

        @media (max-width:1023px) {
            .core-values{grid-template-columns:repeat(1, 1fr)}
        }


    /* business */  
        .business{background:#f4f7f9;}
        .biz-grid{display:grid;grid-template-columns:repeat(4,1fr);gap: clamp(15px, 1.6vw, 24px);align-items:stretch;}
        .biz-card{position:relative;display:flex;min-height: clamp(250px, 34vw, 340px);padding: clamp(30px, 3.6vw, 36px) clamp(25px, 2.8vw, 28px) var(--row-gap120);background: var(--point-white);border-radius: var(--radius-16);box-shadow: inset 0 0 0 var(--point-color01), 0 2px 10px rgba(13,29,65,.06);transition: all 0.4s;}
        .biz-link{display:flex; flex-direction:column; width:100%; height:100%;}
        .biz-card h3{font-size: var(--text-26);font-weight:800;line-height:1.3;color: var(--point-color08);margin-bottom: clamp(15px, 1.8vw, 18px);}
        .biz-card p{font-size: var(--text-17);font-weight:400;line-height:1.7;color: var(--point-color10);}

        .biz-icon{position:absolute;right: clamp(15px, 2.4px, 24px);bottom: clamp(15px, 2.4px, 24px);display:grid;place-items:center;width: clamp(60px, 8.8vw, 88px);aspect-ratio: auto 1;transition:all 0.4s;}
        .biz-icon svg{width: 100%;height: 100%;overflow:visible;}
        .biz-icon-consult svg{width:60px; height:auto;}
        .biz-icon-consult svg path[fill="#0089F7"]{fill:#4c86ee;}
        .biz-icon-consult svg path[fill="#1E2433"]{fill:var(--point-color01);}
        .biz-icon .f-top{fill:#4c86ee;}
        .biz-icon .f-left{fill:var(--point-color01);}
        .biz-icon .f-right{fill:var(--point-color08);}
        .biz-icon .f-beam{fill:none; stroke:var(--point-color01); stroke-width:2; stroke-linecap:round; opacity:.55;}
        .biz-icon .f-axis{fill:none; stroke:#4c86ee; stroke-width:2; stroke-linecap:round;}
        .biz-icon .f-axis-label{fill:var(--point-color01); font-size:9px; font-weight:700; letter-spacing:0;}

        .biz-icon .f-sim-badge{fill:#4c86ee;}
        .biz-icon .f-sim-check{fill:var(--point-white);}
        .biz-icon .f-sim-arm{fill:var(--point-color01);}
        .biz-icon .f-sim-hand{fill:var(--point-color01); opacity:.55;}

            /* over */
            @media (hover:hover) and (pointer: fine) {
                .biz-card:hover{transform:translateY(-6px); box-shadow:inset 0 0 0 2px var(--point-color01), 0 10px 24px rgba(13,29,65,.10);}
                .biz-card:hover .biz-icon{transform:translateY(-10px) scale(1.12);}
            }

        @media (max-width:1100px) {
            .biz-grid{grid-template-columns:repeat(2, 1fr);}
        }
        @media (max-width:640px) {
            .biz-grid{grid-template-columns:repeat(1, 1fr);}
        }

    /* link-more */
        .link-more{display:inline-flex;align-items:center;gap:8px;padding:4px 0;font-size:16px;font-weight:500;color:var(--point-color02);transition: all 0.4s;}
        .link-more svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2;}
            /* over */
            @media (hover:hover) and (pointer: fine) {
                .link-more:hover{gap:14px; color:var(--point-color03);}
            }
    /* tech */
        .tech-eyebrow{margin-bottom:40px; text-align:center; font-size:14px; font-weight:700; line-height:1.3; color:var(--primary); text-transform:uppercase;}
        .tech-layout{display: flex;align-items: flex-start;gap:48px;}
        .tech-sticky{--tech-nav-half:134px;position:sticky;top:calc(50vh - var(--tech-nav-half));z-index:1;margin-top:calc(40px + 240px - var(--tech-nav-half));width: clamp(200px, 15vw, 280px);flex-shrink: 0;}
        .tech-nav{width:100%; }
        .tech-nav li{position: relative;}
        .tech-nav li + li{margin-top:4px;}
        .tech-nav-btn{display:block; width:100%; padding:10px 0; text-align:left; font-size:18px; font-weight:500; line-height:1.4; color:var(--point-color10); transition:color .25s, padding-left .25s;}
        
        .tech-nav li.on:not(:has(~ .on)) .tech-nav-btn{color:var(--point-color02); font-weight:600; padding-left:12px;}
        .tech-nav li.on:not(:has(~ .on)) .tech-nav-btn::before{content:''; position:absolute; margin-left:-12px; margin-top:9px; width:6px; height:6px; border-radius:50%; background:var(--point-color02);}
        .tech-items{position:relative;display:flex;flex-direction:column;gap:96px;padding-top:40px;padding-bottom:40px;width: 100%;}
        .tech-item{width:100%;}
        .tech-inner{height:100%;display: flex;gap: clamp(40px, 3vw, 56px);align-items:center;}
        .tech-media{position:relative;width: clamp(300px, 45%, 440px);aspect-ratio: auto 1;margin:0 auto;background:transparent;border:0;box-shadow:none;transform:scale(.68);transition: all 0.7s;flex-shrink: 0;}
            .tech-item.on:not(:has(~ .on)) .tech-media{transform:scale(1);}
        .tech-media::before{content:''; position:absolute; left:50%; top:50%; width:100%; aspect-ratio:1/1; border-radius:50%; background:#eef4fd; transform:translate(-50%,-50%) scale(.6); opacity:0; transition:all 0.7s;}
            .tech-item.on:not(:has(~ .on)) .tech-media::before{transform:translate(-50%,-50%) scale(.84); opacity:1;}
        .tech-media img{position:relative; z-index:1;}
        .tech-media img{width:100%;height:100%;object-fit: contain;transform:scale(1.22);opacity:0.4;transition:all 0.6s;}
            .tech-item.on:not(:has(~ .on)) .tech-media img{opacity:1;}
        .tech-item[data-idx="0"] .tech-media img{transform:scale(1.5);}
        .tech-item[data-idx="2"] .tech-media img{transform:scale(1.08);}
        .tech-item[data-idx="3"] .tech-media img{transform:scale(0.98); filter:drop-shadow(0 14px 26px rgba(0,0,0,.16));}
        .tech-item[data-idx="4"] .tech-media img{transform:scale(1);}
        .tech-content{align-self:center;width: 100%;opacity:0;visibility:hidden;transition:all 0.4s;z-index: 1;}
            .tech-item.on:not(:has(~ .on)) .tech-content{opacity:1; visibility:visible;}
        .tech-content .tech-lead{margin-bottom: clamp(10px, 1.8vw, 18px);font-size: var(--text-19);font-weight:600;line-height:1.7;color:var(--point-color08);}
        .tech-content h3{font-size: var(--text-44);font-weight:800;line-height:1.2;color:var(--point-color07);margin-bottom: var(--row-gap20);letter-spacing: 0;}
        .tech-content p{font-size: var(--text-16);font-weight:400;line-height:1.85;color:var(--point-color09);}
        .tech-content .link-more{justify-content:center;margin-top: clamp(30px, 4.4vw, 44px);gap:0;padding: 10px 22px;min-width: clamp(150px, 18vw, 170px);min-height: clamp(48px, 5.7vw, 52px);border-radius: var(--radius-04);box-shadow:inset 0 0 0 1px var(--point-color07);color:var(--point-color07);font-size: var(--text-15);font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition: all 0.4s;}
        
        .tech-content .link-more svg{display:none;}
        .tech-content .link-more::after{content:'→';max-width:0;margin-left:0;opacity:0;overflow:hidden;font-size:17px;line-height:1;transition: all 0.4s;}
        

            /* over */
            @media (hover:hover) and (pointer: fine) {
                .tech-nav-btn:hover{color:var(--point-color07);}
                .tech-content .link-more:hover{gap:0; background:var(--point-color02); color:var(--point-white); box-shadow:inset 0 0 0 1px var(--point-color02);}
                .tech-content .link-more:hover::after{max-width:24px; margin-left:10px; opacity:1;}
            }

        @media (max-width:1023px) {
            .tech-sticky{display: none;}
            .tech-items{padding-block: 0;}
        }
        @media (max-width:860px) {
            .tech-inner{flex-wrap: wrap;}
        }

    /* 파트너사 */
        .partners{padding:0 0 var(--row-gap140);}
        .partners .bnr-list{display:grid;grid-template-columns:repeat(6, 1fr);gap: clamp(15px, 1.6vw, 24px);}
        .partners .bnr-list > li{display:flex;align-items:center;justify-content:center;height: clamp(80px, 11vw, 104px);overflow: hidden;}
        .partners .bnr-list img{max-width: calc(100% - 32px);max-height: calc(100% - 32px);}

        @media (max-width:1023px) {
            .partners .bnr-list{grid-template-columns:repeat(3, 1fr);}
        }
        @media (max-width:479px) {
            .partners .bnr-list{grid-template-columns:repeat(2, 1fr);}
        }

    /* board-meta */
        .board-meta{padding-block: var(--row-gap100); background: var(--gray-bg01);}
        .board-meta .cont{display: grid; grid: auto / repeat(2, 1fr); gap: var(--col-gap40);}
        .board-meta article{background: var(--point-white);padding: clamp(25px, 3.2vw, 32px);border-radius: var(--radius-08);box-shadow:0 2px 14px rgba(26,26,26,.05);}
        .board-list{border-top: 2px solid var(--point-color07);overflow: hidden;}
        .board-list > li{position: relative;padding: clamp(18px, 2.7vw, 22px) 4px;box-shadow: 0 -1px var(--border-color04);}
        .board-list > li:last-child{padding-bottom: 0;}
        .board-list .desc{display: flex;align-items: center;justify-content: space-between;gap: 12px 30px;}
        .board-list .desc dt{font-size: var(--text-17);font-weight: 500;color: var(--point-color07);word-break: break-all;white-space:normal;overflow:hidden;text-overflow:ellipsis;display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical; transition: all 0.4s;}
        .board-list .desc dd{flex-shrink: 0;font-size: var(--text-15);letter-spacing: 0;color: var(--point-color10);}

        .board-head{display:flex;align-items: center;justify-content:space-between;flex-wrap: wrap;gap:16px;margin-bottom: var(--row-gap20);}
        .board-title{font-size: var(--text-28);font-weight:700;text-transform:uppercase;letter-spacing:.01em;color: var(--point-color08);}
        .board-more{font-size: var(--text-18);color: var(--point-color07);gap:6px;margin-left: auto;}
        
        .board-more span{font-size:22px; font-weight:400; line-height:1;}

            /* over */
            @media (hover:hover) and (pointer: fine) {
                .board-more:hover{color:var(--black-color00);}
                .board-list > li:hover .desc dt{color: var(--point-color02);}
            }


        @media (max-width:1023px) {
            .board-meta .cont{grid: auto / repeat(1, 1fr);}
        }
        @media (max-width:479px) {
            .board-list .desc{flex-wrap: wrap;}
        }

    /* input */
        :where([type="text"], [type="password"], [type="tel"], [type="email"], [type="number"], textarea){position: relative;width: 100%;padding-inline:16px;height: 44px;background: var(--point-white);border: 1px solid var(--border-color05);border-radius: var(--radius-04);color: var(--point-color07);font-size: var(--text-16);overflow: hidden;text-overflow:ellipsis;white-space:nowrap;}
        :where([type="text"], [type="password"], [type="tel"], [type="email"], [type="number"], textarea)::placeholder{color: var(--point-color10);}
        textarea{height: 136px; padding-block: 12px; overflow: visible;text-overflow:unset;white-space:unset;}

        label:has([type="checkbox"]){display:inline-flex;align-items:center;gap: var(--row-gap10);font-size: var(--text-18);line-height: clamp(18px, 2.2vw, 20px);color: var(--point-color09);cursor:pointer;}
        [type="checkbox"]{width: clamp(18px, 2.2vw, 20px);height: clamp(18px, 2.2vw, 20px);flex-shrink:0;accent-color: var(--point-color01);appearance:auto;cursor:pointer;}


    /* contact */
        .contact-meta{position:relative;padding:100px 0;background: var(--point-color07);overflow:hidden;}
        .contact-media{position:absolute;inset:0;}
        .contact-media img{width:100%; height:100%; object-fit:cover; opacity:0.8;}
        .contact-media::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(26,26,26,.38) 0%,rgba(26,26,26,.5) 100%);}
        .contact .inner{position:relative; z-index:1;}
        .contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap: var(--row-gap40) 80px;align-items:start;}
        .contact-info{padding-top:72px;display: flex;flex-direction: column;gap: clamp(15px, 2.8vw, 28px);}
        .contact-info .sec-title{filter: var(--filter-white);letter-spacing: 0;}
        .contact-info p{font-size: var(--text-18);font-weight: 300;line-height:1.7;color:rgba(255,255,255,.8);}
        .contact-form{position: relative;width: 100%;display: flex;flex-direction: column;gap: 16px;padding: clamp(25px, 4vw, 40px);background: var(--point-white);border-radius: var(--radius-16);box-shadow: var(--shadow-01);}
        .contact-form .story-header{display: none;}

        .write-form{position: relative;display: flex;flex-direction: column;gap: clamp(10px, 1.6vw, 16px);}
        .write-form dt{display: none;}
        .write-form dd{position: relative;display: flex;gap: 5px;flex-wrap: wrap;color: var(--point-color07);font-size: var(--text-16);}
        .captcha-box{display: flex;align-items: center;gap: 8px;width: 100%;}
        .captcha-box .controller{display: flex;flex-shrink: 0;gap: 8px;}
        .captcha-box .controller img{border-radius: var(--radius-04);border: 1px solid var(--border-color05);}
        .captcha-box .controller button{position: relative;width: 38px;aspect-ratio: auto 1;border-radius: var(--radius-04);border: 1px solid var(--border-color05);display: flex;align-items: center;justify-content: center;}
        .captcha-box .controller svg{width: 18px;height: 18px;stroke: currentColor;fill: none;stroke-width: 2;stroke-linecap: round;}
        .captcha-box [type="text"]{position: relative;}

        .submit-box{display: flex; justify-content: center; gap: 10px;margin-top: 30px;}
        .submit-box :where(button, a){display: flex;align-items: center;justify-content: center;text-align: center;width: 100%;min-height: clamp(50px, 7vw, 64px);padding: 10px 15px;font-size: var(--text-18);gap: 0;background: var(--point-color02);color: var(--point-white);border-radius: var(--radius-04);transition: all 0.4s;}
        .submit-box :where(button, a)::after{display: inline-flex;content: '→';max-width: 0;margin-left: 0;opacity: 0;overflow: hidden;font-size: 19px;line-height: 1;transition: all 0.4s;}
        .submit-box.auto :where(button, a){width: auto;min-width: clamp(120px, 19vw, 180px);padding-inline: 30px;}

            /* over */
            @media (hover:hover) and (pointer: fine) {
                .submit-box :where(button, a):hover{background: var(--point-color03);}
                .submit-box :where(button, a):hover::after{max-width:24px; margin-left:10px; opacity:1;}
            }

        @media (max-width:1023px) {
            .contact-info{padding-top:0;}
            .contact-grid{grid-template-columns:minmax(0, 1fr);}
        }
        @media (max-width:479px) {
            .captcha-box{flex-wrap: wrap;}
        }

/*─────────────────────────────────────────────────────────
    Footer
─────────────────────────────────────────────────────────*/
    /* 하단 */
        #footer{position: relative;background: var(--point-color08);color: var(--point-color11);padding-block: clamp(45px, 6.4vw, 64px) clamp(30px, 4vw, 40px);}
        #footer .gnb{display: grid;grid: auto / repeat(5, 1fr);gap: 24px;}
        #footer .gnb > li{position: relative;color: var(--point-white);display: flex;flex-direction: column;gap: clamp(15px, 2vw, 20px);}
        #footer .gnb > li > a{position: relative;font-size: var(--text-18);font-weight: 500;text-transform: uppercase;letter-spacing: 0;display: block;}
        #footer .gnb .dep02{display: grid;gap: 10px;}
        #footer .gnb .dep02 > li{position: relative;font-size: var(--text-16);line-height: 1.5;color: var(--point-color11);transition: all 0.4s;}
        #footer .gnb .dep02 > li > a{display: block;}
        #footer .cont{position: relative;padding-top: var(--row-gap40);margin-top: var(--row-gap40);border-top: 1px solid rgb(255 255 255 / 14%);display: grid;gap: 30px;}
        #footer .addr-list{display: grid;gap: 8px;}
        #footer .addr-list > li{display: flex;flex-wrap: wrap;gap: 8px 28px;}
        #footer .addr-list .desc{display: flex;align-items: baseline;gap: 4px;}
        #footer .addr-list .desc dt{position: relative;}
        #footer .addr-list .desc dd{position: relative;}
        #footer .addr-list .desc dd a{transition: all 0.4s;}
        #footer .copy{display: flex;align-items: center;justify-content: space-between;flex-wrap: wrap;gap: 12px 30px;font-size: var(--text-14);}
        #footer .copy dt{position: relative;}
        #footer .copy dd{color: var(--point-color12);}

            /* over */
            @media (hover:hover) and (pointer: fine) {
                #footer .gnb .dep02 > li:hover{color: var(--point-white);}
                #footer .addr-list .desc dd a:hover{color: var(--point-white);}
            }

        @media (max-width:1023px) {
            #footer .gnb{grid: auto / repeat(3, 1fr);}
        }
        @media (max-width:640px) {
            #footer .gnb{grid: auto / repeat(2, 1fr);}
        }
        @media (max-width:479px) {
            #footer .gnb{grid: auto / repeat(1, 1fr);}
        }

    /* 퀵 */
        .quick-menu{position:fixed;right: clamp(15px,2.4vw, 24px);bottom: clamp(25px, 3.2vw ,32px);z-index:900;display:flex;flex-direction:column;gap: clamp(8px, 1.2vw, 12px); transition: all 0.4s;}
        .quick-item{display:grid;place-items:center;width: clamp(38px, 5.8vw, 56px);aspect-ratio: auto 1;border-radius:var(--radius-08);box-shadow:var(--shadow-01);transition:all 0.4s;}
        
        .quick-item svg{width: clamp(20px, 2.6vw, 24px);aspect-ratio: auto 1;}
        .q-kakao{background:#fee500; color:#1a1a1a;}
        .q-kakao svg{fill:currentColor;}
        .q-contact{background:var(--point-color02); color:var(--point-white);}
        
        .q-contact svg{fill:currentColor; stroke:none;}
        .q-kakao{background:#FEE500; color:#3C1E1E;}
        
        .q-kakao svg{fill:currentColor; stroke:none;}
        .q-top{background:var(--point-white);color:var(--point-color07);border: 1px solid var(--border-color04);transition:all 0.4s;}
        .q-top svg{stroke:currentColor; fill:none; stroke-width:2;}

        body:has(#header.end) .quick-menu{opacity: 0; pointer-events: none;}
        body:not(:has(#header.on)) .q-top{height: 0;opacity: 0;box-shadow: none;margin-top: clamp(-12px, -1.2vw, -8px);}

            /* over */
            @media (hover:hover) and (pointer: fine) {
                .quick-item:hover{transform:translateY(-3px);}
                .q-contact:hover{background:var(--point-color03);}
                .q-kakao:hover{background:#F2D900;}
                .q-top:hover{background:var(--point-color07); color:var(--point-white); border-color:var(--point-color07); transform:none;}
            }

/*─────────────────────────────────────────────────────────
    Sub
─────────────────────────────────────────────────────────*/
	/* 말머리 */
		.prefix-list{position:relative;display: flex;justify-content: center;text-align: center;gap: clamp(10px, 2vw, 20px);margin-bottom: var(--row-gap30);}
		.prefix-list a{position:relative;display: flex;align-items: center;justify-content: center;padding: 12px 25px;font-size: var(--text-20);font-weight: 500;color: var(--black-color06);border: 1px solid var(--border-color01);border-radius: var(--radius-06);}
		.prefix-list a.on{background: var(--point-color01);border-color: var(--point-color01);color: var(--point-white);}
		
     /* 검색 */
        .search-from{display: flex;align-items: center;justify-content: center;flex-wrap: wrap;gap: 15px;margin-bottom: var(--row-gap60);}
        .search-from .keywords-box{width: 100%;display: flex;justify-content: center;align-items: center;gap: 10px;}
        .search-from .inp-box{position: relative;width: min(461px, 100%);}
        .search-from [type="text"]{width: 100%;height: clamp(45px, 6.5vw, 60px);padding-right: clamp(45px, 5.7vw, 55px);}
        .search-from button{position: absolute;top: 0;right: 16px;width: clamp(16px, 2.2vw, 20px);height: 100%;background: url('/images/search_i.png') no-repeat right center / clamp(16px, 2.2vw, 20px) auto;font-size: 0;}

    /* 페이징 */
        .pagination{display: flex;align-items: center;justify-content: center;text-align: center;flex-wrap: wrap;margin-top: var(--row-gap60);gap: clamp(8px, 1vw, 10px);}
        .pagination li{font-size: var(--text-16);color: var(--black-color08);}
        .pagination a{display: flex;align-items: center;justify-content: center;min-width: clamp(30px, 4.2vw, 40px);min-height: clamp(30px, 4.2vw, 40px);padding: 4px;}
        .pagination a.arw{font-size: 0;background: url('/images/pagination_last.svg') no-repeat center / auto clamp(8px, 1.2vw, 10px);padding: 0;border: 1px solid var(--border-color01);}
        .pagination a:is(.prev, .next){background-image: url('/images/pagination_prev.svg');}
        .pagination a.prev{margin-right: clamp(5px, 1vw, 10px);}
        .pagination a.next{margin-left: clamp(5px, 1vw, 10px);}
        .pagination a.first{margin-right:-5px;}
        .pagination a.last{margin-left:-5px;}
        .pagination a.disabled{display: none;}
        .pagination a.on{font-weight: 500;color: var(--point-white);background: var(--point-color01);}
        .pagination a.scale{scale: -1 -1;}

    /* 상세 */
        .board-view .detail-hd{border-top: 1px solid var(--black-color00);border-bottom: 1px solid var(--border-color01);padding-block: var(--row-gap50);display: grid;gap: var(--row-gap20);}
        .board-view .detail-hd .desc{display: grid;gap: var(--row-gap10);}
        .board-view .detail-hd .desc dt{font-size: var(--text-30);font-weight: 500;color: var(--black-color00);line-height: 1.6;}
        .board-view .detail-hd .desc dd{font-size: var(--text-18);color: var(--black-color06);}
        .board-view .detail-hd .regdate{font-size: var(--text-20);color: var(--black-color08);}
        .board-view .detail-cont{padding-block: var(--row-gap60);border-bottom: 1px solid var(--black-color03);font-size: var(--text-16);font-weight: 400;color: var(--black-color03);line-height: 1.7; min-height: clamp(200px, 30vw, 300px); display: flex;flex-direction: column;justify-content: space-between; gap: 20px;}
        .board-view .file-desc{margin-top: var(--row-gap40);display: flex;align-items: center;background: var(--gray-bg01);padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 30px);border-radius: var(--radius-10);}
        .board-view .file-desc dt{font-size: var(--text-18);font-weight: 500;color: var(--black-color03);flex-shrink: 0;display: flex;align-items: center;}
		.board-view .file-desc dt::after{display:inline-flex;content:'';width: 1px;height: clamp(10px, 1.8vw, 16px);background: var(--border-color02);margin-inline: clamp(15px, 2vw, 20px);}
        .board-view .file-desc dd{font-size: var(--text-18);color: var(--black-color03);}
        .bf-options{display: flex; flex-wrap: wrap; align-items: center; gap: 10px 25px;}

    /* bullet-list */
        .bullet-list{display:grid;gap:10px;}
        .bullet-list > li{position:relative;display: flex;align-items: baseline;gap: var(--row-gap10);font-size: var(--text-18);line-height: 1.7;color: var(--black-color05);}
        .bullet-list > li::before{display: inline-flex;content:'';width: clamp(3px, 0.6vw, 4px);aspect-ratio: auto 1;border-radius: 100%;background: var(--point-color01);flex-shrink: 0;translate: 0 clamp(-5px, -0.7vw, -4px);}
        .bullet-list .item-desc{display: flex;align-items: baseline;gap: 10px;}
        .bullet-list .item-desc dt{font-weight:600;flex-shrink: 0;color: var(--black-color01);}

    /* 브랜드 네임 */
        .bn-formula{display:flex;justify-content:center;gap:clamp(16px, 2.4vw, 28px);flex-wrap:wrap;}
        .bn-formula-item{display:flex;flex-direction:column;align-items:center;justify-content: center;gap: var(--row-gap10);padding:clamp(20px, 3vw, 32px) clamp(24px, 3.6vw, 40px);background:var(--gray-bg01);border-radius:var(--radius-16);min-width:140px;text-align: center;}
        .bn-formula-word{font-size:var(--text-36);font-weight:800;color:var(--point-color08);letter-spacing:-.01em;}
        .bn-formula-word em{color:var(--point-color02);}
        .bn-formula-desc{font-size: var(--text-18);font-weight:500;color:var(--point-color09);text-align:center;}
        .bn-formula-plus,.bn-formula-eq{font-size:var(--text-30);font-weight:300;color:var(--point-color10);display: flex;flex-direction: column;justify-content: center;}
        .bn-formula-result{background:var(--point-color01);box-shadow:0 8px 24px rgba(13,29,65,.18);}
        .bn-formula-result .bn-formula-word{color:var(--point-white);}
        .bn-formula-result .bn-formula-word em{color:rgba(255,255,255,.6);}

        @media (max-width:640px) {
            .bn-formula{flex-direction: column;align-items: center;}
            .bn-formula-item{width:100%;}
            .bn-formula-eq{rotate:90deg;}
        }

    /* 브랜드 스토리 */
        .bs-layout{display: flex;flex-direction: column;gap: var(--row-gap50);}
        .bs-thumb{position:relative;border-radius:var(--radius-16);overflow:hidden;}
        .bs-thumb img{width:100%;height:100%;object-fit:cover;}
        .bs-content{display:flex;flex-direction:column;gap: var(--row-gap20);}
        .bs-quote{font-size: var(--text-36);font-weight:700;color: var(--point-color01);}
        .bs-desc{font-size: var(--text-19);font-weight:400;line-height:1.85;color:var(--point-color09);}
        .bs-desc strong{font-weight:600;color:var(--point-color07);}

    /* 회사 이념 */
        .philo-meta{display:flex;flex-direction:column;gap: clamp(20px, 4vw, 40px);}
        .philo-meta .desc{display:flex;gap: clamp(20px, 4vw, 40px);}
        .philo-meta .desc dt{display:flex;align-items:center;justify-content:center;width: clamp(170px, 20vw, 200px);padding: 30px 20px;background:var(--point-color01);border-radius:var(--radius-08);font-size: var(--text-28);font-weight: 600;color:var(--point-white);text-align:center;flex-shrink: 0;min-height: clamp(100px, 15.5vw, 150px);letter-spacing: 0;}
        .philo-meta .desc dd{position:relative;width: 100%;font-size:var(--text-19);font-weight:400;line-height:1.7;color:var(--point-color09);border: 1px solid var(--border-color01);padding: clamp(30px, 4vw, 40px) clamp(20px, 4vw, 40px);background: var(--point-white);border-radius: var(--radius-08);display: flex;flex-direction: column;justify-content: center;}
        .philo-meta .desc dd::before{content:'';position:absolute;top:50%;width: clamp(20px, 4vw, 40px);right: 100%;height:1px;background: var(--border-color01);margin-top: -0.5px;}
        .philo-meta .desc dd::after{content:'';position:absolute;top:50%;right: 100%;inline-size: clamp(10px, 1.4vw, 12px);aspect-ratio: auto 1;background: var(--point-white);border-radius: 100%;border: 2px solid var(--point-color01);translate: 50% -50%;}

            .philo-meta .desc:nth-child(2n) dt{background: var(--point-color02);}
            .philo-meta .desc:nth-child(2n) dd::after{border-color: var(--point-color02);}


        @media (max-width:860px) {
            .philo-meta .desc{flex-wrap: wrap;}
            .philo-meta .desc dt{width: 100%;}
            .philo-meta .desc dd{text-align: center;}
            .philo-meta .desc dd::before{width: 1px;height: clamp(20px, 4vw, 40px);margin: 0 0 0 -0.5px;inset: auto;left: 50%;bottom: calc(100% + 1px);}
            .philo-meta .desc dd::after{inset: auto;top: 0;left: 50%;translate: -50% -50%;}
        }

    /* 핵심가치 */
        .value-list{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--col-gap40);list-style:none;margin:0;padding:0;}
        .value-list > li{position:relative;display:flex;flex-direction:column;align-items:center;gap: clamp(15px, 2vw, 20px);text-align:center;padding: clamp(25px, 4.5vw, 45px) 20px;background:var(--point-white);border:1px solid var(--border-color04);border-radius:var(--radius-16);transition:all 0.4s;text-wrap: balance;}
        .value-list .icon{display:grid;place-items:center;inline-size: clamp(70px, 10vw, 100px);aspect-ratio:auto 1;padding: clamp(15px, 2.2vw, 20px);border: 2px solid var(--point-color06);border-radius: 100%;}
        .value-list .icon svg{width:100%;height:100%;}
        .value-list .desc{display:flex;flex-direction:column;gap: var(--row-gap15);}
        .value-list .desc dt{font-size: var(--text-26);font-weight:700;color:var(--point-color08);line-height:1.3;display: grid;gap: clamp(6px, 0.8vw, 8px);}
        .value-list .desc dt small{font-size: var(--text-16);font-weight: 400;color: var(--black-color08);}
        .value-list .desc dd{font-size: var(--text-18);font-weight:400;line-height:1.75;color:var(--point-color09);}

            @media (hover:hover) and (pointer:fine) {
                .value-list > li:hover{transform:translateY(-6px);box-shadow:0 10px 28px rgba(13,29,65,.08);border-color:var(--point-color01);}
            }

        @media (max-width:1023px) {
            .value-list{grid-template-columns:repeat(1, 1fr);}
        }

    /* 슬로건 */
        .slogan-timeline{display:grid;grid-template-columns:repeat(2, 1fr);gap: clamp(60px, 10vw, 100px);position:relative;}
        .slogan-card::before{content:'→';position:absolute;top:50%;left: calc(100% + clamp(60px, 10vw, 100px) / 2);translate:-50% -50%;width:clamp(36px, 5vw, 48px);aspect-ratio:auto 1;display:grid;place-items:center;border-radius:50%;background:var(--point-white);border:2px solid var(--border-color04);font-size:var(--text-20);color: var(--point-color01);z-index:1;}
        .slogan-card:last-child::before{display:none;}
        .slogan-card{position:relative;display:flex;flex-direction:column;gap: clamp(15px, 2.5vw, 25px);padding: clamp(30px, 4.5vw, 45px) clamp(25px, 4vw, 40px);border:1px solid var(--border-color04);border-radius:var(--radius-16);background:var(--point-white);transition:all 0.4s;}
        .slogan-card.is-future{border-color:var(--point-color01);background:var(--point-color01);box-shadow:0 8px 28px rgba(13,29,65,.14);}
        .slogan-phase{display:inline-flex;align-items:center;gap: var(--row-gap15);font-size: var(--text-20);font-weight:700;color: var(--point-color02);text-transform:uppercase;letter-spacing:.04em;}
        .slogan-phase small{font-size: var(--text-15);font-weight:400;color:var(--point-color10);letter-spacing:0;}
        .is-future .slogan-phase{filter: var(--filter-white);}
        .is-future .slogan-phase small{opacity: 0.6;}
        .slogan-text{display:flex;flex-direction:column;gap: var(--row-gap15);}
        .slogan-text strong{font-size: var(--text-28);font-weight:700;line-height:1.35;color:var(--point-color08);letter-spacing:-.01em;}
        .slogan-text span{font-size: var(--text-19);font-weight:400;color:var(--point-color09);}
        .is-future .slogan-text strong{filter: var(--filter-white);}
        .is-future .slogan-text span{filter: var(--filter-white);opacity: 0.7;}


        @media (max-width:1023px) {
            .slogan-timeline{grid-template-columns:minmax(0, 1fr);}
            .slogan-card::before{top: calc(100% + clamp(60px, 10vw, 100px) / 2);left: 50%;rotate:90deg;}
        }

    /* 사업 내용 */
        .biz-detail{position: relative;display: grid;grid: auto / repeat(2, 1fr);gap: var(--row-gap60) var(--col-gap40); counter-reset: biz-detail;}
        .biz-detail > li{position: relative;text-align: center;}
        .biz-detail .desc{display: grid;gap: var(--row-gap25);}
        .biz-detail .desc dt{position: relative;border-radius: var(--radius-15);overflow: hidden;}
		.biz-detail .desc dt::before{content: counter(biz-detail, decimal-leading-zero);counter-increment: biz-detail;font-weight: 500;color: var(--point-white);position: absolute;top: clamp(15px, 2.5vw, 20px);left: clamp(15px, 2.5vw, 20px);background: var(--point-color01);border-radius: var(--radius-04);min-width: clamp(34px, 4.5vw, 40px);min-height: clamp(34px, 4.5vw, 40px);display: flex;align-items: center;justify-content: center;text-align: center;font-size: var(--text-16);font-family: var(--font-type01);letter-spacing: 0;padding: 3px;}
        .biz-detail .desc dd{font-size: var(--text-22);font-weight: 400;color: var(--black-color03);}

        @media (max-width:479px) {
            .biz-detail{grid: auto / repeat(1, 1fr);}
        }

    /* img-desc */
        .img-desc{position: relative;padding: 15px;padding-top: var(--row-gap140);min-height: clamp(250px, 50vw, 500px);border-radius: var(--radius-20);overflow: hidden;display: flex;flex-direction: column;justify-content: flex-end;}
        .img-desc dt{position: absolute;inset: 0;}
		.img-desc dt img{width:100%; height:100%; object-fit:cover;}
        .img-desc dd{position: relative;font-size: var(--text-22);font-weight: 500;line-height: 1.6;filter: var(--filter-white);text-align: center;text-wrap: balance;}

    /* engin-partner */
        .engin-partner{position: relative;display: flex;padding: clamp(25px, 5vw, 50px);background: var(--point-white);border-radius: var(--radius-30);gap: var(--row-gap40) clamp(50px, 3.2vw, 60px);}
        .engin-partner .thumb{position: relative;border-radius: var(--radius-20);overflow: hidden;width: min(640px, 50%);flex-shrink: 0;}
        .engin-partner .thumb img{width: 100%;height: 100%;object-fit: cover;}
        .engin-partner .title{position: relative;padding-block: 20px;width: 100%;display: flex;flex-direction: column;justify-content: center;gap: clamp(10px, 2vw, 20px);font-family: var(--font-type02);}
        .engin-partner .title h4{font-size: var(--text-24);font-weight: 500;color: var(--point-color08);line-height: 1.6;}
			.engin-partner .title h4 + p{margin-top: var(--row-gap10);}
        .engin-partner .title p{position: relative;font-size: var(--text-18);color: var(--point-color09);line-height: 1.8;}
        .engin-partner .title p strong{font-weight: 600;}

        @media (max-width:1023px) {
            .engin-partner{flex-wrap: wrap;}
            .engin-partner .thumb{width: auto; flex-shrink: unset;}
            .engin-partner .title{padding-block: 0;}
        }

    /* phase-step */
        .phase-step{position: relative;counter-reset: phase-step;display: grid;grid: auto / repeat(4, 1fr);gap: clamp(30px, 2.8vw, 53px);}
        .phase-step > li{position: relative;text-align: center;border: 1px solid var(--border-color01);border-radius: var(--radius-20);padding: clamp(30px, 4.5vw, 45px) clamp(15px, 3vw, 30px);display: flex;flex-direction: column;gap: var(--row-gap20); justify-content: space-between;}
            .phase-step > li::after{position: absolute;content: '';inline-size: clamp(12px, 1vw, 14px);aspect-ratio: auto 1;border: 2px solid var(--black-color10);clip-path: var(--clip-poly02);top: 50%;left: calc(100% + clamp(30px, 2.8vw, 53px) / 2 - 3px);rotate: -45deg;border-radius: 2px;translate: -50% -50%;}
            .phase-step > li:last-child::after{display: none;}
        .phase-step .title{display: grid;gap: var(--row-gap10);}
        .phase-step .title::before{content:'Phase ' counter(phase-step);counter-increment: phase-step;font-size: var(--text-16);font-weight: 400;color: var(--black-color08);}
        .phase-step .title h4{font-size: var(--text-26);font-weight: 600;color: var(--point-color08);}
        .phase-step .desc{display: grid;gap: var(--row-gap20);}
        .phase-step .desc dt{display: flex;align-items: center;justify-content: center;inline-size: clamp(75px, 10.2vw, 100px);aspect-ratio: auto 1;border-radius: 100%;background: var(--gray-bg01);margin-inline: auto;padding: 15px;}
        .phase-step .desc dd{font-size: var(--text-18);color: var(--point-color09);line-height: 1.8;}

        @media (max-width:1023px) {
            .phase-step{grid: auto / repeat(2, 1fr);}
            .phase-step > li:nth-child(2n)::after{opacity: 0;}
        }
        @media (max-width:479px) {
            .phase-step{grid: auto / repeat(1, 1fr);}
            .phase-step > li::after{top: calc(100% + clamp(30px, 2.8vw, 53px) / 2 - 3px);left: 50%;rotate: 45deg;}
            .phase-step > li:nth-child(2n)::after{opacity: 1;}
        }

    /* served-list */
        .served-list{display: grid;grid: auto / repeat(4, 1fr);gap: var(--row-gap70) var(--col-gap20);}
        .served-list > li{position: relative;text-align: center;}
        .served-list .desc{display: grid;gap: clamp(15px, 2vw, 20px);}
        .served-list .desc dt{position: relative;width: 100%;aspect-ratio: auto 1;border-radius: var(--radius-15);overflow: hidden;}
        .served-list .desc dt img{width: 100%;height: 100%;object-fit: cover;}
        .served-list .desc dd{position: relative;font-size: var(--text-26);font-weight: 600;color: var(--point-color09);}

        @media (max-width:1023px) {
            .served-list{grid: auto / repeat(2, 1fr);}
        }
        @media (max-width:860px) {
            .served-list{grid: auto / repeat(1, 1fr);}
        }

    /* scanning-list */
        .scanning-list{display: grid;grid: auto / repeat(2, 1fr);gap: var(--row-gap70) var(--col-gap40);}
        .scanning-list > li{position: relative;text-align: center;}
        .scanning-list .desc{display: grid;gap: clamp(15px, 2.5vw, 25px);}
        .scanning-list .desc dt{position: relative;width: 100%;aspect-ratio: auto 1.7;border-radius: var(--radius-20);overflow: hidden;}
        .scanning-list .desc dt img{width: 100%;height: 100%;object-fit: cover;}
        .scanning-list .desc dd{position: relative;font-size: var(--text-22);font-weight: 500;color: var(--black-color03); line-height: 1.6;}

            .scanning-list.type02{grid: auto / repeat(1, 1fr)}
            .scanning-list.type02 .desc{gap: clamp(15px, 2.5vw, 25px);}
            .scanning-list.type02 .desc dt{aspect-ratio: unset;display: flex;align-items: center;justify-content: center;padding: clamp(25px, 3.9vw, 39px);background: var(--gray-bg01);}
			.scanning-list.type02 .desc dt img{width:auto;height: auto;filter: drop-shadow(var(--shadow-02));}

        @media (max-width:640px) {
            .scanning-list{grid: auto / repeat(1, 1fr);}
        }

    /* core-compet */
        .core-compet{display: grid;grid: auto / repeat(3, 1fr);gap: var(--col-gap40);}
        .core-compet > li{position: relative;border: 1px solid var(--border-color01);border-radius: var(--radius-20);padding: clamp(30px, 4.5vw, 45px) 20px;text-align: center;display: flex;flex-direction: column;gap: clamp(15px, 2vw, 20px);text-wrap: balance;}
        .core-compet .icon{position: relative;display: flex;align-items: center;justify-content: center;inline-size: clamp(70px, 10.2vw, 100px);aspect-ratio: auto 1;border-radius: 100%;background: var(--gray-bg01);margin-inline: auto;padding: 15px;}
        .core-compet .desc{display: grid;gap: var(--row-gap15);}
        .core-compet .desc dt{font-size: var(--text-26);font-weight: 600;color: var(--point-color08);}
        .core-compet .desc dd{font-size: var(--text-18);color: var(--point-color09);line-height: 1.8;}

        @media (max-width:860px) {
            .core-compet{grid: auto / repeat(2, 1fr);}
        }
        @media (max-width:479px) {
            .core-compet{grid: auto / repeat(1, 1fr);}
        }

    /* modeling-list */
        .modeling-list{display: grid;grid: auto / repeat(2, 1fr);gap: var(--col-gap40);}
        .modeling-list > li{position: relative; box-shadow: inset 0 0 0 1px var(--border-color01);border-radius: var(--radius-20);padding: var(--row-gap45) var(--row-gap40);display: flex;flex-direction: column;justify-content: space-between;gap: var(--row-gap30); background: var(--point-white);}
        .modeling-list .thumb{position: relative;display: block;border-radius: inherit;overflow: hidden; aspect-ratio: auto 1.67;}
        .modeling-list .thumb :where(iframe, img){width: 100%; height: 100%; object-fit: cover;}
        .modeling-list .desc{display: grid;gap: clamp(10px, 2vw, 20px);}
        .modeling-list .desc dt{font-size: var(--text-26);font-weight: 600;color: var(--point-color08);}
        .modeling-list .desc dd{font-size: var(--text-18);color: var(--black-color03);line-height: 1.6;}

            .modeling-list.array03{grid: auto / repeat(3, 1fr);}

        @media (max-width:1023px) {
            .modeling-list.array03{grid: auto / repeat(2, 1fr);}
        }
        @media (max-width:640px) {
            .modeling-list{grid: auto / repeat(1, 1fr);}
            .modeling-list.array03{grid: auto / repeat(1, 1fr);}
            .modeling-list .thumb:has(iframe){aspect-ratio: unset; height: 360px;}
        }
    
    /* client-list */
        .client-list{display: flex;justify-content: center;flex-wrap: wrap;gap: var(--row-gap50) var(--col-gap50);}
        .client-list > li{position: relative;text-align: center;}
        .client-list .desc{display: grid;gap: clamp(15px, 2vw, 20px);}
        .client-list .desc dt{position: relative;display: flex;align-items: center;justify-content: center;width: clamp(200px, 34vw, 340px);aspect-ratio: auto 2.26;overflow: hidden;border-radius: var(--radius-16);}
		.client-list .desc dt::before{position:absolute;content:'';inset: 0;border: 1px solid var(--border-color01);border-radius: inherit; pointer-events: none;}
        .client-list .desc dd{font-size: var(--text-18);font-weight: 600;color: var(--point-color09);}

    /* product-items */
        .product-items{display: grid;grid: auto / minmax(0, 1fr);gap: var(--row-gap60);}
        .product-items > li{position: relative;display: flex;gap: var(--row-gap35) clamp(50px, 3.2vw, 60px);}
        .product-items > li:nth-child(2n){flex-direction: row-reverse;}
        .product-items .thumb{position: relative;border-radius: var(--radius-20);overflow: hidden;display: flex;align-items: center;justify-content: center;width: min(670px, 50%);flex-shrink: 0;background: var(--point-white);}
		.product-items .thumb::before{position:absolute;content:'';inset: 0;border: 1px solid var(--border-color01);border-radius: inherit;pointer-events: none;}
        .product-items .title{position: relative;width: 100%;display: flex;flex-direction: column;justify-content: center;gap: clamp(10px, 2vw, 20px);}
        .product-items .title h2{font-size: var(--text-16);font-weight: 600;color: var(--point-color13);}
        .product-items .title h3{font-size: var(--text-40);font-weight: 700;color: var(--point-color08);letter-spacing: -0.015em;}
			.product-items .title h3 + h4{margin-top: clamp(5px, 1vw, 10px);}
        .product-items .title h4{font-size: var(--text-18);font-weight: 400;color: var(--black-color03);line-height: 1.8;} 

        @media (max-width:1023px) {
            .product-items > li{flex-direction: column !important;}
            .product-items .thumb{width: auto;flex-shrink: unset;}
        }

    /* leicaSwiper */
        .leica-wrap{position: relative;}
        .leicaSwiper{position: relative; background: var(--point-white);border-radius: var(--radius-20);overflow: hidden;}
        .leicaSwiper::before{position: absolute;content:'';inset: 0;border: 1px solid var(--border-color01);border-radius: inherit;z-index: 2;pointer-events: none;}
        .leicaSwiper .swiper-slide{position: relative;display: flex;height: auto;}
        .leicaSwiper .thumb{position: relative;width: 50%;flex-shrink: 0;}
        .leicaSwiper .thumb img{width: 100%;height: 100%;object-fit: cover;}
        .leicaSwiper .title{position: relative;display: flex;flex-direction: column;justify-content: center;gap: clamp(10px, 2vw, 20px);padding: clamp(30px, 4vw, 40px) clamp(40px, 3.2vw, 60px);}
        .leicaSwiper .title h2{font-size: var(--text-16);font-weight: 600;color: var(--point-color13);}
        .leicaSwiper .title h3{font-size: var(--text-36);font-weight: 700;color: var(--point-color08);letter-spacing: -0.04em;}
            .leicaSwiper .title h3 + h4{margin-top: clamp(5px, 1vw, 10px);}
        .leicaSwiper .title h4{font-size: var(--text-18);font-weight: 400;color: var(--black-color05);line-height: 1.8;}
        /* SCALABLE PERFORMANCE: PC(1440px 이상)에서 문장별 1줄(총 2줄) 표시 - 글자 크기·왼쪽 여백은 유지, 오른쪽 여백만 10px 축소 */
        @media (min-width:1440px){
            .leicaSwiper .title:has(.fit-2line){padding-right: calc(clamp(40px, 3.2vw, 60px) - 10px);}
        }
        .leica-wrap .swiper-arw{position: absolute;top: 44%;left: 0;margin: 0;translate: -50% -50%;width: 56px;aspect-ratio: auto 1;border-radius: 100%;height: auto;background: var(--point-color01);border: 3px solid var(--point-white);box-shadow: 0 4px 14px rgb(0 0 0 / 35%);opacity: 1;transition: all 0.4s;}
            .leica-wrap .swiper-arw::before{position: absolute;content:'';inline-size: 14px;aspect-ratio: auto 1;border: 3px solid var(--point-white);clip-path: var(--clip-poly02);top: 50%;left: 55%;rotate: 135deg;translate: -50% -50%;border-radius: 2px;transition: inherit;}
			.leica-wrap .swiper-arw.next{left: auto;right: 0;translate: 50% -50%;}
			.leica-wrap .swiper-arw.next::before{scale:-1 -1;left: 45%;}
        .leica-wrap .swiper-pagination{position: relative;inset: auto;display: flex;justify-content: center;gap: clamp(10px, 1.4vw, 14px);margin-top: clamp(20px, 4vw, 40px);}
        .leica-wrap .swiper-pagination span{position: relative;width: clamp(8px, 1.2vw, 10px);height: clamp(8px, 1.2vw, 10px);border-radius: 50px;background: var(--black-color11);opacity: 1;margin: 0 !important;transition: all 0.4s;}
        .leica-wrap .swiper-pagination .swiper-pagination-bullet-active{width: clamp(30px, 4.2vw, 40px);background: var(--point-color08);}

            @media (hover:hover) and (pointer: fine) {
                .leica-wrap .swiper-arw:hover{background: var(--point-color02);transform: scale(1.08);}
                .leica-wrap .swiper-arw:hover::before{filter: var(--filter-white);}
            }

        @media (max-width:1023px) {
            .leicaSwiper .swiper-slide{flex-wrap: wrap;}
            .leicaSwiper .thumb{width: 100%;flex-shrink: unset;}
			.leicaSwiper .title{padding-inline: clamp(30px, 4vw, 40px); justify-content: flex-start;}
			.leica-wrap .swiper-arw{display:none;}
        }