/* kingfax 킹팩스 */
._solution.kingfax .subVis{ z-index: 1; }
._solution.kingfax .s1{ box-sizing: border-box; padding: 92px 0 0; /*height: 100vh;*/ background: #fff; position: relative;z-index: 2; }
._solution.kingfax .s1>.inner{ box-sizing: border-box; padding: 58px 0 59px; background: #fff; }
/* ._solution.kingfax .s1 .techWrap .techs{ box-sizing: border-box;border-radius: 10px;padding-top: 50px; background: #fff; position: relative;overflow: hidden; } */
/* ._solution.kingfax .s1 .techWrap .techs{ box-sizing: border-box;border-radius: 10px;padding: 50px 0 20px; height: 680px; display: flex;flex-direction: column; background: #fff; position: relative;overflow: hidden; } */
._solution.kingfax .s1 .techWrap .techs .topVis,
._solution.kingfax .s1 .techWrap .techs .txtArea,
._solution.kingfax .s1 .techWrap .techs .tags,
._solution.kingfax .s1 .techWrap .techs .paging{ position: relative; z-index: 1; }
/* ._solution.kingfax .s1 .techWrap .techs .gradient{ position: absolute; width: 800px;height: 800px; border-radius: 50%; pointer-events: none; z-index: 0; }
._solution.kingfax .s1 .techWrap .techs .gradient.gr{ top: -17%;left: -9%; transform: translate(-35%, -35%); background: radial-gradient(circle, rgba(189,254,238,0.85) 0%, rgba(189,254,238,0.4) 40%, rgba(189,254,238,0) 70%); }
._solution.kingfax .s1 .techWrap .techs .gradient.blu{ bottom: -17%;right: -9%; transform: translate(35%, 35%); background: radial-gradient(circle, rgba(14,86,166,0.35) 0%, rgba(14,86,166,0.15) 40%, rgba(14,86,166,0) 70%); } */

/* ._solution.kingfax .s1 .techWrap .techs .tech{ position: relative; height: 640px; z-index: 1; } */
._solution.kingfax .s1 .techWrap .techs .tech{ position: relative; flex: 1;min-height: 0; z-index: 1; }

/* ._solution.kingfax .s1 .techWrap .techs .tech .item{ position: absolute; top: 0;left: 0; width: 100%;height: 100%; opacity: 0; visibility: hidden; pointer-events: none; } */
/* ._solution.kingfax .s1 .techWrap .techs .tech .item{ position: absolute; top: 0;left: 0; width: 100%;height: 100%; display: flex;flex-direction: column; opacity: 0; visibility: hidden; pointer-events: none; } */
._solution.kingfax .s1 .techWrap .techs .tech .item.on{ pointer-events: auto; opacity: 0; }



._solution.kingfax .s1 .techWrap .techs .topVis .layer._1 svg{ max-width: 304px;width: 100%; }

._solution.kingfax .s1 .techWrap .techs .topVis .layer._1 .inn{ width: 100%;display: flex;justify-content: space-between;align-items: center;  }
._solution.kingfax .s1 .techWrap .techs .topVis .layer._1 .inn p{ font-size: 22px;font-weight: 700; letter-spacing: -0.025em; }
._solution.kingfax .s1 .techWrap .techs .topVis .layer._1 .inn .ic{ box-sizing: border-box; border-radius: 8px; background: #0d55a6; width: 60px;height: 43px; display: flex;align-items: center;justify-content: center; }
._solution.kingfax .s1 .techWrap .techs .topVis .layer._1 .inn .ic i{ font-size: 20px;letter-spacing: -0.025em;color: #fff; }

/* ._solution.kingfax .s1 .techWrap .techs .topVis .layer._2{ top: 35%;left: 12.5%; } */
._solution.kingfax .s1 .techWrap .techs .topVis .layer._2 .inn span{ font-size: 14px;font-weight: 500;letter-spacing: -0.015em; color: #6b7280; }
._solution.kingfax .s1 .techWrap .techs .topVis .layer._2 .inn p{ font-size: 22px;font-weight: 600; margin: 15px 0; }
._solution.kingfax .s1 .techWrap .techs .topVis .layer._2 .inn .badge{ 
    box-sizing: border-box;border-radius:14.5px; max-width: 160px;width: 100%;height: 29px;background: #eff3fb; 
    font-size: 14px;letter-spacing: -0.016em; color: #0d55a6; display: flex;align-items: center;justify-content: center;
}
._solution.kingfax .s1 .techWrap .techs .item:nth-child(1) .topVis .layer._1{ top: 6%; left: 12.5%; }
._solution.kingfax .s1 .techWrap .techs .item:nth-child(1) .topVis .layer._2{ top: 33%; left: 12.5%;}

._solution.kingfax .s1 .techWrap .techs .item:nth-child(2){  }
._solution.kingfax .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._1{ top: 12%; left: 12%; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn{ display: block; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .head{ display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid #e6e6e6; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .head p{ color: #1f2a44; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .head .badge{ box-sizing: border-box;border-radius: 14.5px;padding: 8px 14px; background: #eff3fb; font-size: 14px;letter-spacing: -0.025em;color: #0d55a6; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .body{ margin-top: 20px;margin-bottom: 25px; display: flex;flex-direction: column;gap: 10px; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .body > div{ display: flex;align-items: center;gap: 50px; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .body > div span{ display: inline-block;min-width: 40px; font-size: 14px;font-weight: 300;letter-spacing: -0.025em; color: #6b7280; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .body > div p{ font-size: 14px;font-weight: 500;letter-spacing: -0.025em; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .body > div p.blu{ color: #0d55a6; }
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer._line .inn .foot .btn{ 
    box-sizing: border-box;max-width: 230px;width: 100%; padding: 14px 0; border-radius: 8px;background: #0d55a6; 
    font-size: 16px;letter-spacing: -0.025em;color: #fff; display: flex;justify-content: center;align-items: center;
}
._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) {  }
._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1{ top: 5%;left: 12.5%; }
._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1 .inn .ic i{ max-width: 25px;width: 100%; }


/* kingfax tech 공통 - 세로로 긴 배경 img를 보여주는 가이드 창 (테두리 안에서 img가 아래→위로 올라옴) */
._solution.kingfax .s1 .techWrap .techs .item .topVis > .img{
    position: relative; width: 406px; max-width: 100%;  margin: 0 auto; overflow: hidden;
    box-sizing: border-box; border: 2px solid rgba(237, 239, 242, 0.58); border-radius: 10px;
    align-items: flex-start; /* 공통 align-items:center 해제 → img 상단에서 시작해야 bgEndY 이동 후 svg 하단 = .img 하단 */
}
._solution.kingfax .s1 .techWrap .techs .item .topVis > .img img{ display: block; width: 100%; height: auto; flex-shrink: 0; }
/* 배경 하단 흰색 페이드 (레이어마스크) - 테두리·오버레이 포함 아래로 갈수록 사라짐 */
._solution.kingfax .s1 .techWrap .techs .item .topVis > .img{
    -webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
}
/* layer 등장 시 배경 어둡게 - 테두리 안쪽 오버레이 (--dim: 0 → 1, kingfax.php pin 타임라인에서 제어) */
._solution.kingfax .s1 .techWrap .techs .item .topVis > .img{ --dim: 0; }
._solution.kingfax .s1 .techWrap .techs .item .topVis > .img::after{
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: rgba(0, 0, 0, 0.5); opacity: var(--dim);
}

._solution.kingfax .s1 .techWrap .techs .item:first-child .layer._2 .kfLayer02{ display: block; width: 100%; height: auto; overflow: visible; }
/* layer svg 크기: svg width = viewBox 너비 (그림자 여백 포함) → 안쪽 흰 카드가 1920 기준 270px(layer05는 372px)
   .layer가 absolute라 width가 없으면 svg width:100%가 기준을 못 잡아 300px로 그려짐 → .layer에 width 지정
   width는 배경 박스(.img, 최대 406px) 대비 비율 → 넓을 땐 max-width(px)에서 멈추고, .img가 줄어들면 같이 줄어듦 */
._solution.kingfax .s1 .techWrap .techs .item:first-child .topVis .layer._1{ width: calc(100% * 318 / 406); max-width: 318px; } /* layer01 */
._solution.kingfax .s1 .techWrap .techs .item:first-child .topVis .layer._2{ width: calc(100% * 340 / 406); max-width: 340px; margin-left: -8.2px; } /* layer02 / 카드 시작 x(19 vs 27.2) 차이 보정 → 두 카드 왼쪽 정렬 */
._solution.kingfax .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._1{ width: calc(100% * 319 / 406); max-width: 319px; } /* layer03 */
._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1{ width: calc(100% * 318 / 406); max-width: 318px; } /* layer04 */
._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._2{ width: calc(100% * 421 / 406); max-width: 421px; top: 34%;left: 12.5%; } /* layer05 */
._solution.kingfax .s1 .techWrap .techs .item:nth-child(4) .topVis .layer._1{ width: calc(100% * 318 / 406); max-width: 318px; top: 9%; left: 12.5%; } /* layer06 */
._solution.kingfax .s1 .techWrap .techs .item .topVis .layer svg{ display: block; width: 100%; max-width: none; height: auto; }

._solution.kingfax .s1 .techWrap .tech .txtArea{ display: flex;flex-direction: column;align-items: center; margin-top: 50px; }

._solution.kingfax .s1 .techWrap .techs .paging{ display: flex;align-items: center;justify-content: center;gap: 4px; margin-top: 35px; flex-shrink: 0; }
._solution.kingfax .s1 .techWrap .techs .paging .dot{ width: 9px;height: 9px; border-radius: 50%; background: #0d55a6; opacity: 0.2; }
._solution.kingfax .s1 .techWrap .techs .paging .dot.on{  opacity: 1; }

._solution.kingfax .s2 .subTit{ margin-bottom: 150px; position: relative;z-index: 10; } 
._solution.kingfax .s2 .subTit._gr h2{ font-weight: 400; }
._solution.kingfax .s2 .marqueeWrap{ width: 100%; position: relative; }
._solution.kingfax .s2 .marqueeWrap::after{ content: ''; position: absolute; z-index: 2; top: 50%; left: 50%; width: calc(1920 / 1520 * 100%); aspect-ratio: 1920/1020; transform: translate(-50%, -60.2%); background: url('/asset/img/sub/solution/document_Ax/gradient.png') center/100% 100% no-repeat; pointer-events: none; mix-blend-mode: lighten; }
._solution.kingfax .s2 .marqueeWrap .marquee{ width: 100%; display: flex;align-items: center; overflow: hidden; white-space: nowrap; position: relative; gap: 0; }
._solution.kingfax .s2 .marqueeWrap .marquee::before{
    content: ''; display: block; z-index: 1; position: absolute;top: 0;left: 0; width: calc(245 / 1520 * 100%);height: 100%;
    background: linear-gradient(-90deg, rgba(13, 13, 35, 0) 0%, #0d0d23 70%, #0d0d23 100%); z-index: 1;
}
._solution.kingfax .s2 .marqueeWrap .marquee::after{
    content: '';display: block;z-index: 1;position: absolute;top: 0;right: 0;width: calc(245 / 1520 * 100%);height: 100%;
    background: linear-gradient(90deg, rgba(13, 13, 35, 0) 0%,  #0d0d23 70%,  #0d0d23 100%); z-index: 1;
}
._solution.kingfax .s2 .marqueeWrap .marquee>div{ display: flex;align-items: center; gap: 80px; padding-right: 80px; flex-shrink: 0; animation: kingfaxMarquee 20s linear infinite; }
._solution.kingfax .s2 .marqueeWrap .marquee>div .ic{ display: flex;align-items: center; font-family: 'Archivo'; /*font-size: 34px;*/ font-size: 17px; letter-spacing: -0.025em;color: #fff; line-height: 1;  }
._solution.kingfax .s2 .marqueeWrap .marquee>div p{ font-size: 24px;font-weight: 500;letter-spacing: -0.025em;color: #fff; line-height: 1; }
._solution.kingfax .s2 .marqueeWrap .marquee>div p span{ font-size: 32px;font-weight: 700;letter-spacing: -0.025em; }
@keyframes kingfaxMarquee{ 0%{ transform: translate3d(0, 0, 0); } 100%{ transform: translate3d(-100%, 0, 0); } }

._solution.kingfax .s3{ background: #0d0d23; padding: 130px 0; }
._solution.kingfax .s3 .subTit{ margin-bottom: 72px; }




@media screen and (max-width: 1600px){}
@media screen and (max-width: 1440px){}
@media screen and (max-width: 1280px){
    ._solution.kingfax .s3 .subTit{ margin-bottom: 60px; }
}
@media screen and (max-width: 1024px){
    ._solution.kingfax .s2 .subTit{ margin-bottom: 100px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div p{ font-size: 20px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div p span{ font-size: 28px; }
}
@media screen and (max-width: 820px){
    /* cardSec 모바일 (agenticgfax 동일 흐름): 핀 고정 → 배경 → layer _1 → 그 위로 layer _2, layer는 배경 창(.img) 가운데 겹쳐 정렬 */
    /* .img는 topVis 가로 가운데(최대 406px), topVis 높이 = .img 높이 → left/top 50% + translate(-50%) = 배경 창 정중앙 */
    ._solution.kingfax .s1 .techWrap .techs .tech .item:nth-child(n) .topVis > .layer{ top: 50%; left: 50%; right: auto; margin: 0; transform: translate(-50%, -50%); }
    ._solution.kingfax .s1 .techWrap .techs .tech .item:nth-child(n) .topVis > .layer._2{ z-index: 2; } /* layer _2가 layer _1 위로 */
    /* layer 크기: topVis(100%)가 아닌 배경 창 폭(min(100%, 406px)) 기준 비율 → 데스크톱과 같은 비율로 창에 맞춰 줄어듦 */
    ._solution.kingfax .s1 .techWrap .techs .item:first-child .topVis .layer._1{ width: calc(min(100%, 406px) * 318 / 406); } /* layer01 */
    ._solution.kingfax .s1 .techWrap .techs .item:first-child .topVis .layer._2{ width: calc(min(100%, 406px) * 340 / 406); } /* layer02 */
    ._solution.kingfax .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._1{ width: calc(min(100%, 406px) * 319 / 406); } /* layer03 */
    ._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1{ width: calc(min(100%, 406px) * 318 / 406); } /* layer04 */
    ._solution.kingfax .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._2{ width: calc(min(100%, 406px) * 421 / 406); } /* layer05 */
    ._solution.kingfax .s1 .techWrap .techs .item:nth-child(4) .topVis .layer._1{ width: calc(min(100%, 406px) * 318 / 406); } /* layer06 */

    ._solution.kingfax .s1 .techWrap .tech .txtArea{ margin-top: 36px; }
    ._solution.kingfax .s1 .techWrap .techs .paging .dot{ width: 7px;height: 7px; }
    ._solution.kingfax .s2 .subTit{ margin-bottom: 60px; }
    ._solution .subVis .marqueeWrap{ bottom: 4%; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div{ gap: 60px; padding-right: 60px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div p{ font-size: 18px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div p span{ font-size: 24px; }
    
    ._solution.kingfax .s3 .subTit{ margin-bottom: 30px; }
}
@media screen and (max-width: 500px){
    ._solution.kingfax .s1 .techWrap .tech .txtArea{ margin-top: 32px; }

    ._solution .techWrap .tech .tags{ margin-top: 20px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div{ gap: 40px; padding-right: 40px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div p{ font-size: 16px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div p span{ font-size: 20px; }
    ._solution.kingfax .s2 .marqueeWrap .marquee>div .ic{ font-size: 16px; }
}
@media screen and (max-width: 320px){}



/* sic - AI FAX PSD 1:1 */
._solution.aifax .subVis .titArea h1{ font-size: 120px; }
/* ._solution.aifax .btns{ gap: 8px; } */
/* ._solution.aifax .btns .btn{
    width: 162px; min-width: 162px; height: 52px; padding: 0;
    border-radius: 26px; display: flex; align-items: center; justify-content: center;
} */
/* ._solution.aifax .btns .btn a{ font-size: 20px; line-height: 1; } */

._solution.aifax._da ._cardSec .techWrap,
._solution.aifax ._cardSec .techWrap{ overflow: visible; margin-top: 40px; }
._solution.aifax._da ._cardSec .techWrap .techs,
._solution.aifax ._cardSec .techWrap .techs{
    background: #fff; overflow: visible; padding: 48px 0 50px; height: auto; min-height: 0; max-width: 1202px;
}
._solution.aifax._da ._cardSec .techWrap .techs .gradClip,
._solution.aifax ._cardSec .techWrap .techs .gradClip{
    position: absolute; inset: 0; border-radius: 10px; overflow: hidden; pointer-events: none; z-index: 0;
}
._solution.aifax ._cardSec .techWrap .techs .tech{ display: block; } /* 공통 grid 겹치기 해제 → 기존 세로 배치 유지 */
._solution.aifax ._cardSec .techWrap .techs .tech .item{
    position: relative; display: flex; flex-direction: column; height: auto; pointer-events: auto; overflow: visible;
}
._solution.aifax._da ._cardSec .techWrap .techs .topVis,
._solution.aifax ._cardSec .techWrap .techs .topVis{ position: relative; z-index: 2; overflow: visible; }
._solution.aifax._da ._cardSec .techWrap .techs .topVis .img,
._solution.aifax ._cardSec .techWrap .techs .topVis .img{
    max-width: 634px; width: 53%; height: auto; aspect-ratio: 634/324; margin: 0 auto; overflow: visible;
}
._solution.aifax ._cardSec .techWrap .techs .topVis .img img{
    width: 100%; height: auto; object-fit: contain; display: block;
}
._solution.aifax._da ._cardSec .techWrap .techs .topVis .layer,
._solution.aifax ._cardSec .techWrap .techs .topVis .layer{
    max-width: none; width: auto; z-index: 2;
}
._solution.aifax ._cardSec .techWrap .techs .topVis .layer .img{
    max-width: none; width: 100%; aspect-ratio: auto; margin: 0; overflow: visible;
}
._solution.aifax ._cardSec .techWrap .techs .topVis .layer img{
    width: 100%; height: auto; display: block; filter: drop-shadow(4px 8px 16px rgba(24,1,1,.12));
}
._solution.aifax ._cardSec .techWrap .techs .topVis .layer svg{
    display: block; width: 100%; max-width: none; height: auto; overflow: visible; filter: drop-shadow(4px 8px 16px rgba(24,1,1,.12));
}
._solution.aifax._da ._cardSec .techWrap .techs .topVis .layer._1,
._solution.aifax ._cardSec .techWrap .techs .topVis .layer._1{
    /* sic - PSD 원본 텍스트 rel card (50,23) 312x379 / img 324 */
    top: calc(23 / 324 * 100%); left: calc(50 / 1202 * 100%);
    width: calc(312 / 1202 * 100%); max-width: 312px; right: auto;
}
._solution.aifax._da ._cardSec .techWrap .techs .topVis .layer._2,
._solution.aifax ._cardSec .techWrap .techs .topVis .layer._2{
    /* sic - PSD AI 요약 결과 rel card (840,54) 312x318 */
    top: calc(54 / 324 * 100%); left: calc(840 / 1202 * 100%);
    width: calc(312 / 1202 * 100%); max-width: 312px; right: auto;
}
/* sic - 배경 창 (retriever 동일): 테두리 안에서 배경이 위로 올라오며 하단이 창 하단에 닿음 (aifax.php cardBgIntro) */
._solution.aifax._da ._cardSec .techWrap .techs .topVis > .img{
    position: relative; overflow: hidden; box-sizing: border-box;
    border: 2px solid rgba(237, 239, 242, calc(1 - var(--dim, 0))); border-radius: 12px; /* #edeff2, layer 등장 시 배경 어두워지며(--dim 0 → 1) 테두리도 함께 사라짐 */
    align-items: flex-start; /* 공통 align-items:center 해제 → 배경 상단에서 시작해야 이동 후 배경 하단 = 창 하단 */
    --dim: 0; background-color: #fff;
    background-clip: padding-box; /* 흰 배경이 투명해진 테두리 자리로 비치지 않도록 */
    /* 배경 하단 살짝 페이드 (레이어마스크) */
    -webkit-mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
}
._solution.aifax._da ._cardSec .techWrap .techs .topVis > .img > img,
._solution.aifax._da ._cardSec .techWrap .techs .topVis > .img > svg{
    width: 100%; height: auto; display: block; flex-shrink: 0; border: 0; border-radius: 0;
}
/* layer 등장 시 배경 어둡게 - 테두리 안쪽 오버레이 (--dim: 0 → 1, aifax.php pin 타임라인에서 제어) */
._solution.aifax._da ._cardSec .techWrap .techs .topVis > .img::after{
    content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: rgba(0, 0, 0, 0.5); opacity: var(--dim);
}
._solution.aifax._da ._cardSec .techWrap .tech .txtArea,
._solution.aifax ._cardSec .techWrap .tech .txtArea{ position: relative; z-index: 1; margin-top: 53px; margin-bottom: 0; }
._solution.aifax ._cardSec .techWrap .tech .tags .tag{ padding: 11px 24px; min-width: 0; height: auto; }

._solution.aifax ._gridSec .gridWrap{ gap: 86px 40px; }
/* sic - Core thumbs: PSD img bbox PNG 그대로. CSS 라운드/스트레치 없음 */
._solution.aifax ._gridSec .gridWrap .item .imgBx{
    max-width: 740px; aspect-ratio: auto; height: auto;
}
/* Core hover: 배경 위 반투명 검정(::after) + layer SVG 카드 (등장·내부 모션은 aifax.php JS) */
._solution.aifax ._gridSec .gridWrap .item .imgBx::after{
    display: block; opacity: 0; transition: opacity .35s ease; pointer-events: none; border-radius: 10px;
}
._solution.aifax ._gridSec .gridWrap .item:hover .imgBx::after{ opacity: 1; }
._solution.aifax ._gridSec .gridWrap .item .imgBx .img{
    max-width: 740px; height: auto; border-radius: 0; overflow: visible;
}
._solution.aifax ._gridSec .gridWrap .item .imgBx .img::after{ display: none; }
._solution.aifax ._gridSec .gridWrap .item .imgBx .img img{
    position: relative; width: 100%; height: auto; display: block;
}
/* solution.css의 _da 공통 display:none 해제 → 표시·위치는 JS(GSAP)가 제어 */
._solution.aifax._da ._gridSec .gridWrap .item .imgBx .layer,
._solution.aifax._da ._gridSec .gridWrap .item:hover .imgBx .layer{
    display: block; opacity: 0; transition: none; pointer-events: none;
    transform: none; /* 가운데 정렬 translate는 JS(GSAP xPercent/yPercent)가 담당 → CSS translate와 겹치지 않게 */
}
._solution.aifax ._gridSec .gridWrap .item .imgBx .layer svg{
    display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(4px 8px 16px rgba(24,1,1,.12));
}
/* ._solution.aifax ._gridSec .gridWrap .item .txtBx{ padding: 40px 4px 0; }
._solution.aifax ._gridSec .gridWrap .item .txtBx h3{ font-size: 38px; margin-bottom: 18px; }
._solution.aifax ._gridSec .gridWrap .item .txtBx p{ font-size: 22px; line-height: 1.45; }
._solution.aifax ._gridSec .gridWrap .item .tags{ gap: 6px; margin-top: 38px; }
._solution.aifax ._gridSec .gridWrap .item .tags .tag{
    min-width: 124px; height: 48px; padding: 0 18px; border-radius: 24px;
    font-size: 20px; display: flex; align-items: center; justify-content: center;
} */

/* sic - How: kingfax ellipse dome. bgFill starts at ellipse equator so it never cuts the round. */
._solution.aifax ._flowSec._roundSec{
    --round-top: 200px;
    --round-half: max(39.32cqw, 50%);
    background: #fff;
    /* padding: 520px 0 200px; */
    padding: 460px 0 170px;
}
._solution.aifax ._flowSec._roundSec .wrap{ position: relative; z-index: 1; }
._solution.aifax ._flowSec._roundSec .bg{ background: none; inset: 0; }
._solution.aifax ._flowSec._roundSec .bgFill{
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    top: calc(var(--round-top) + var(--round-half));
    background: #0d0d23;
    z-index: 0;
    pointer-events: none;
}
._solution.aifax ._flowSec .flowDesc{ font-size: 20px; color: rgba(255,255,255,.78); margin-top: 28px; }

/* sic - Why: PSD type layers scaled ~0.836; visual 16/28/15/20, em white not mint */
._solution.aifax ._whySec{ padding: 90px 0 130px; }
._solution.aifax ._whySec .whyWrap{ gap: 26px; }
._solution.aifax ._whySec .whyWrap .item{
    text-align: center; padding: 58px 22px 48px; min-height: 497px;
    display: flex; flex-direction: column; align-items: center;
}
._solution.aifax ._whySec .whyWrap .item span{
    font-size: 16px; font-weight: 400; letter-spacing: -0.025em; line-height: 1; color: #bdfeee; margin-bottom: 50px;
}
._solution.aifax ._whySec .whyWrap .item .ic{
    width: 90px; height: 68px; display: flex; align-items: center; justify-content: center; margin-bottom: 67px;
}
._solution.aifax ._whySec .whyWrap .item .ic img{ max-width: 90px; max-height: 68px; width: auto; height: auto; }
._solution.aifax ._whySec .whyWrap .item h3{
    font-size: 28px; font-weight: 600; line-height: 39px; letter-spacing: -0.025em; margin-bottom: 36px;
}
._solution.aifax ._whySec .whyWrap .item em{
    display: block; font-style: normal; font-weight: 400; font-size: 15px; line-height: 16px;
    letter-spacing: -0.025em; color: #fff; margin-top: -18px; margin-bottom: 42px;
}
._solution.aifax ._whySec .whyWrap .item p{
    font-size: 20px; font-weight: 400; line-height: 32px; letter-spacing: -0.025em; color: rgba(255,255,255,.7);
}
/* sic - JP: 띄어쓰기 없는 일문은 keep-all 시 줄바꿈 불가 → 금칙처리 줄바꿈 + 문절 단위(auto-phrase) 지원 시 적용 */
html.jp ._solution.aifax ._whySec .whyWrap .item h3,
html.jp ._solution.aifax ._whySec .whyWrap .item p{ word-break: normal; line-break: strict; overflow-wrap: anywhere; }
@supports (word-break: auto-phrase){
    html.jp ._solution.aifax ._whySec .whyWrap .item h3,
    html.jp ._solution.aifax ._whySec .whyWrap .item p{ word-break: auto-phrase; }
}
/* sic - JP: 한자/가나 글자폭이 커서 국문과 동일하게 2줄 유지되도록 본문 18px */
@media screen and (min-width: 1025px){
    html.jp ._solution.aifax ._whySec .whyWrap .item p{ font-size: 18px; line-height: 30px; }
}
._solution.aifax ._bannerSec .marqueeWrap .marquee>div img{
    width: 100%; height: auto; display: block; filter: none;
}
@media screen and (max-width: 1600px){
    ._solution.aifax .subVis .titArea h1{ font-size: 100px; }
    /* ._solution.aifax ._gridSec .gridWrap .item .txtBx h3{ font-size: 32px; } */
    /* ._solution.aifax ._cardSec .techWrap .tech .txtArea h3{ font-size: 34px; } */
    ._solution.aifax ._flowSec._roundSec{ padding: 480px 0 200px; --round-top: 180px; }
}
@media screen and (max-width: 1440px){
    ._solution.aifax .subVis .titArea h1{ font-size: 90px; }
    /* ._solution.aifax ._gridSec .gridWrap .item .txtBx h3{ font-size: 24px; }
    ._solution.aifax ._gridSec .gridWrap .item .txtBx p{ font-size: 18px; } */
    ._solution.aifax ._flowSec._roundSec{ padding: 380px 0 200px; --round-top: 160px; }
}
@media screen and (max-width: 1280px){
    ._solution.aifax ._flowSec._roundSec{ padding: 330px 0 120px; --round-top: 140px; }
}
@media screen and (max-width: 1024px){
    ._solution.aifax .subVis .titArea h1{ font-size: 68px; }
    ._solution.aifax ._whySec .whyWrap .item{ min-height: 0; padding: 32px 20px; }
    ._solution.aifax ._whySec .whyWrap .item span{ margin-bottom: 24px; }
    ._solution.aifax ._whySec .whyWrap .item .ic{ margin-bottom: 24px; }
    ._solution.aifax ._whySec .whyWrap .item h3{ font-size: 18px; line-height: 30px; }
    ._solution.aifax ._whySec .whyWrap .item em{ font-size: 13px; margin-bottom: 20px; }
    ._solution.aifax ._whySec .whyWrap .item p{ font-size: 16px; line-height: 26px; }
    ._solution.aifax ._flowSec._roundSec{ padding: 280px 0 100px; --round-top: 120px; }
    ._solution.aifax ._gridSec .gridWrap{ gap: 40px 24px; max-width: 600px; margin: 0 auto; }
    ._solution.aifax ._gridSec .gridWrap .item .txtBx{ padding-top: 20px; }
    ._solution.aifax ._gridSec .gridWrap .item .tags{ margin-top: 15px; }
    ._solution.aifax ._gridSec .gridWrap .item .tags .tag{ min-width: 0; height: auto; padding: 8px 18px; font-size: 15px; }
    ._solution.aifax ._gridSec .gridWrap .item .txtBx p{ font-size: 16px; line-height: 1.45; }
}
@media screen and (max-width: 820px){
    ._solution.aifax .subVis .titArea h1{ font-size: 56px; }
    /* ._solution.aifax .btns .btn{ width: auto; min-width: 0; height: auto; padding: 12px 28px; } */
    ._solution.aifax ._flowSec._roundSec{ padding: 220px 0 0; --round-top: 80px; }
    ._solution.aifax ._gridSec .gridWrap .item .txtBx{ padding-top: 25px; }
    ._solution.aifax ._gridSec .gridWrap .item .txtBx p{ font-size: 14px; line-height: 1.45; }
    ._solution.aifax ._gridSec .gridWrap .item .tags{ margin-top: 20px }
    ._solution.aifax ._flowSec .flowDesc{ font-size: 16px; margin-top: 20px; }
    ._solution.aifax ._gridSec .gridWrap .item .txtBx h3{ font-size: 20px; margin-bottom: 12px; }
    ._solution.aifax ._gridSec .gridWrap .item .tags{ margin-top: 10px; gap: 6px; }
    ._solution.aifax ._gridSec .gridWrap .item .tags .tag{ font-size: 14px; padding: 6px 12px; min-width: 0; height: auto; }
    /* cardSec 모바일: 배경·layer 모두 카드 중앙정렬 (retriever 동일, layer는 JS가 투명도만 제어) */
    ._solution.aifax._da ._cardSec .techWrap .techs .topVis > .img{ max-width: 95%; width: 100%; }
    ._solution.aifax._da ._cardSec .techWrap .techs .topVis .layer._1,
    ._solution.aifax._da ._cardSec .techWrap .techs .topVis .layer._2{ left: 50%; top: 50%; right: auto; transform: translate(-50%, -50%); width: 60%; }
}

/* sic - AI OCR style, copied from kingfax */
._solution.aiocr .subVis{ z-index: 1; }
._solution.aiocr .s1{ box-sizing: border-box; padding: 92px 0 0; background: #fff; position: relative;z-index: 2; }
._solution.aiocr .s1>.inner{ box-sizing: border-box; padding: 58px 0 59px; background: #fff; }
._solution.aiocr .s1 .techWrap .techs .topVis{ position: relative; z-index: 1; }
._solution.aiocr .s1 .techWrap .techs .txtArea,
._solution.aiocr .s1 .techWrap .techs .tags,
._solution.aiocr .s1 .techWrap .techs .paging{ position: relative; z-index: 1; }
._solution.aiocr .s1 .techWrap .techs .tech{ position: relative; flex: 1;min-height: 0; z-index: 1; }
._solution.aiocr .s1 .techWrap .techs .tech .item.on{ pointer-events: auto; opacity: 0; }
/* sic - superseded: guessed % coords → PSD bbox at file end
._solution.aiocr .s1 .techWrap .techs .topVis .layer{ max-width: 280px; width: 40%; }
._solution.aiocr .s1 .techWrap .techs .topVis .layer img{ width: 100%; height: auto; display: block; }
._solution.aiocr .s1 .techWrap .techs .topVis .layer._1{ top: 18%;left: 6%; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._1{ top: 20%; left: 6%; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1{ top: 12%; left: 4%; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._2{ top: 10%; left: auto; right: 4%; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(4) .topVis .layer._1{ top: 16%; left: 6%; }
*/
._solution.aiocr .s1 .techWrap .tech .txtArea{ display: flex;flex-direction: column;align-items: center; margin-top: 54px; }
._solution.aiocr .s1 .techWrap .techs .paging{ display: flex;align-items: center;justify-content: center;gap: 4px; margin-top: 23px; flex-shrink: 0; }
._solution.aiocr .s1 .techWrap .techs .paging .dot{ width: 9px;height: 9px; border-radius: 50%; background: #0d55a6; opacity: 0.2; }
._solution.aiocr .s1 .techWrap .techs .paging .dot.on{  opacity: 1; }
._solution.aiocr .s2 .subTit{ margin-bottom: 150px; position: relative;z-index: 10; }
._solution.aiocr .s2 .subTit._gr h2{ font-weight: 400; }
._solution.aiocr .s2 .marqueeWrap{ width: 100%; position: relative; }
._solution.aiocr .s2 .marqueeWrap::after{ content: ''; position: absolute; z-index: 2; top: 50%; left: 0; width: 100%; aspect-ratio: 1920/1020; transform: translateY(-60.3%); background: url('/asset/img/sub/solution/document_Ax/gradient.png') center/100% 100% no-repeat; mix-blend-mode: lighten; pointer-events: none; }
._solution.aiocr .s2 .marqueeWrap .marquee{ width: 100%; display: flex;align-items: center; overflow: hidden; white-space: nowrap; position: relative; gap: 80px; }
._solution.aiocr .s2 .marqueeWrap .marquee::before{
    content: ''; display: block; z-index: 1; position: absolute;top: 0;left: 0; width: 18.75vw;height: 100%;
    background: linear-gradient(-90deg, rgba(13, 13, 35, 0) 0%, #0d0d23 70%, #0d0d23 100%); z-index: 1;
}
._solution.aiocr .s2 .marqueeWrap .marquee::after{
    content: '';display: block;z-index: 1;position: absolute;top: 0;right: 0;width: 18.75vw;height: 100%;
    background: linear-gradient(90deg, rgba(13, 13, 35, 0) 0%,  #0d0d23 70%,  #0d0d23 100%); z-index: 1;
}
._solution.aiocr .s2 .marqueeWrap .marquee>div{ display: flex;align-items: center; gap: 80px; animation: marquee 20s linear infinite; }
._solution.aiocr .s2 .marqueeWrap .marquee>div .ic{ display: flex;align-items: center; font-family: 'Archivo'; font-size: 17px; letter-spacing: -0.025em;color: #fff; line-height: 1;  }
._solution.aiocr .s2 .marqueeWrap .marquee>div p{ font-size: 24px;font-weight: 500;letter-spacing: -0.025em;color: #fff; line-height: 1; }
._solution.aiocr .s2 .marqueeWrap .marquee>div p span{ font-size: 32px;font-weight: 700;letter-spacing: -0.025em; }
._solution.aiocr .s3{ background: #0d0d23; padding: 130px 0; }
/* ._solution.aiocr .s3 .subTit{ margin-bottom: 72px; } */

@media screen and (max-width: 1024px){
    ._solution.aiocr .s2 .subTit{ margin-bottom: 100px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div p{ font-size: 20px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div p span{ font-size: 28px; }
}
@media screen and (max-width: 820px){
    ._solution.aiocr .s1 .techWrap .techs .paging .dot{ width: 7px;height: 7px; }
    ._solution.aiocr .s2 .subTit{ margin-bottom: 60px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee{ gap: 60px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div{ gap: 60px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div p{ font-size: 18px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div p span{ font-size: 24px; }
    ._solution.aiocr .s3{ padding: 100px 0;}
    ._solution.aiocr .s3 .subTit{ margin-bottom: 40px; }
}
@media screen and (max-width: 500px){
    ._solution.aiocr .s2 .marqueeWrap .marquee{ gap: 40px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div{ gap: 40px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div p{ font-size: 16px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div p span{ font-size: 20px; }
    ._solution.aiocr .s2 .marqueeWrap .marquee>div .ic{ font-size: 16px; }
}

/* sic - (다) AI FAX / Agentic G-FAX / VLM OCR / BodoCollie / DXHUND */
._solution.aifax .subVis,
._solution.gfax .subVis,
._solution.vlmocr .subVis,
._solution.bodo .subVis,
._solution.dxhund .subVis{ z-index: 1; }
._solution.aifax ._compareSec,
._solution.gfax ._compareSec,
._solution.vlmocr ._compareSec,
._solution.bodo ._compareSec,
._solution.dxhund ._compareSec,
._solution.aifax ._cardSec,
._solution.gfax ._cardSec,
._solution.vlmocr ._cardSec,
._solution.bodo ._cardSec,
._solution.dxhund ._cardSec,
._solution.aifax ._gridSec,
._solution.gfax ._gridSec,
._solution.vlmocr ._gridSec,
._solution.bodo ._gridSec,
._solution.dxhund ._gridSec{ position: relative; z-index: 2; }
/* ._solution.gfax .subVis .titArea h1{ font-size: 80px; } */
/* ._solution.bodo .subVis .titArea h1{ font-size: 90px; } */
/* @media screen and (max-width: 1440px){
    ._solution.gfax .subVis .titArea h1{ font-size: 64px; }
    ._solution.bodo .subVis .titArea h1{ font-size: 72px; }
}
@media screen and (max-width: 820px){
    ._solution.gfax .subVis .titArea h1{ font-size: 40px; }
    ._solution.bodo .subVis .titArea h1{ font-size: 46px; }
} */

/* sic - Agentic G-FAX PSD 1:1 (aifax (다) 패턴) */
/* ._solution.gfax .subVis .titArea h1{ font-size: 120px; } */
/* ._solution.gfax .btns{ gap: 8px; }
._solution.gfax .btns .btn{
    width: 162px; min-width: 162px; height: 52px; padding: 0;
    border-radius: 26px; display: flex; align-items: center; justify-content: center;
}
._solution.gfax .btns .btn a{ font-size: 20px; line-height: 1; } */

._solution.gfax._da ._cardSec .techWrap,
._solution.gfax ._cardSec .techWrap{ overflow: visible; }
._solution.gfax._da ._cardSec .techWrap .techs,
._solution.gfax ._cardSec .techWrap .techs{
    background: #fff; overflow: visible; padding: 48px 0 36px; height: auto; min-height: 0; max-width: 1202px;
}
._solution.gfax._da ._cardSec .techWrap .techs .gradClip,
._solution.gfax ._cardSec .techWrap .techs .gradClip{
    position: absolute; inset: 0; border-radius: 10px; overflow: hidden; pointer-events: none; z-index: 0;
}
._solution.gfax ._cardSec .techWrap .techs .tech .item{
    position: relative; display: flex; flex-direction: column; height: auto; pointer-events: auto; overflow: visible;
}
._solution.gfax._da ._cardSec .techWrap .techs .topVis,
._solution.gfax ._cardSec .techWrap .techs .topVis{ position: relative; z-index: 2; overflow: visible; }
._solution.gfax._da ._cardSec .techWrap .techs .topVis .img,
._solution.gfax ._cardSec .techWrap .techs .topVis .img{
    max-width: 634px; width: 53%; height: auto; aspect-ratio: 634/324; margin: 0 auto; overflow: visible;
}
._solution.gfax ._cardSec .techWrap .techs .topVis .img img{
    width: 100%; height: auto; object-fit: contain; display: block;
}
._solution.gfax._da ._cardSec .techWrap .techs .topVis .layer,
._solution.gfax ._cardSec .techWrap .techs .topVis .layer{
    max-width: none; width: auto; z-index: 2;
}
/* 일문 마크업(.layer > .img > svg)이 위 .topVis .img(53%, 배경 비율)를 받지 않도록 ._da 포함 → 국문과 같은 크기 */
._solution.gfax._da ._cardSec .techWrap .techs .topVis .layer .img,
._solution.gfax ._cardSec .techWrap .techs .topVis .layer .img{
    max-width: none; width: 100%; aspect-ratio: auto; margin: 0; overflow: visible;
}
._solution.gfax ._cardSec .techWrap .techs .topVis .layer img{
    width: 100%; height: auto; display: block; filter: drop-shadow(4px 8px 16px rgba(24,1,1,.12));
}
/* sic - PSD Font0 Pretendard on & only; Fax Q / A Agent stay Archivo */
._solution.gfax._da ._cardSec .subTit > span .amp,
._solution.gfax ._cardSec .subTit > span .amp{
    display: inline; font-family: 'Pretendard', sans-serif; font-weight: 400; font-style: normal;
}
._solution.gfax._da ._cardSec .techWrap .techs .topVis .layer._1,
._solution.gfax ._cardSec .techWrap .techs .topVis .layer._1{
    /* sic - PSD 사용자 질문 rel card (50,68) 344x339 / img 324 → top 19px */
    top: calc(19 / 324 * 100%); left: calc(50 / 1202 * 100%);
    width: calc(344 / 1202 * 100%); max-width: 344px; right: auto;
}
._solution.gfax._da ._cardSec .techWrap .techs .topVis .layer._2,
._solution.gfax ._cardSec .techWrap .techs .topVis .layer._2{
    /* sic - PSD 에이전트 답변 rel card (822,10) 450x455 → top -39px vs img */
    top: calc(-39 / 324 * 100%); left: calc(822 / 1202 * 100%);
    width: calc(450 / 1202 * 100%); max-width: 450px; right: auto;
}
/* sic - 배경 창 (retriever 동일): 테두리를 img가 아닌 창(.img)에 두고, layer 등장 시 배경 어두워지며(--dim 0 → 1) 테두리도 함께 사라짐
   → img 자체 테두리(solution.css)가 어두워진 배경과 같이 남아 보더라인처럼 보이던 현상 제거 (agenticgfax.php cardTl) */
._solution.gfax._da ._cardSec .techWrap .techs .topVis > .img{
    position: relative; overflow: hidden; box-sizing: border-box;
    border: 2px solid rgba(237, 239, 242, calc(1 - var(--dim, 0))); border-radius: 12px; /* #edeff2 */
    align-items: flex-start; /* 공통 align-items:center 해제 → 배경 상단에서 시작해야 이동 후 배경 하단 = 창 하단 */
    --dim: 0; background-color: #fff;
    background-clip: padding-box; /* 흰 배경이 투명해진 테두리 자리로 비치지 않도록 */
}
._solution.gfax._da ._cardSec .techWrap .techs .topVis > .img > img,
._solution.gfax._da ._cardSec .techWrap .techs .topVis > .img > svg{
    width: 100%; height: auto; display: block; flex-shrink: 0; border: 0; border-radius: 0;
}
/* layer 등장 시 배경 어둡게 - 테두리 안쪽 오버레이 (--dim: 0 → 1, agenticgfax.php pin 타임라인에서 제어) */
._solution.gfax._da ._cardSec .techWrap .techs .topVis > .img::after{
    content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: rgba(0, 0, 0, 0.5); opacity: var(--dim);
}
._solution.gfax._da ._cardSec .techWrap .tech .txtArea,
._solution.gfax ._cardSec .techWrap .tech .txtArea{ position: relative; z-index: 1; margin-top: 53px; }
/* ._solution.gfax ._cardSec .techWrap .tech .txtArea h3{ font-size: 38px; } */
/* ._solution.gfax ._cardSec .techWrap .tech .tags{ margin-top: 28px; } */
/* ._solution.gfax ._cardSec .techWrap .tech .tags .tag{ padding: 11px 24px; min-width: 0; height: auto; } */

/* ._solution.gfax ._gridSec .gridWrap{ gap: 86px 40px; } */
/* sic - Core thumbs: PSD img bbox PNG 그대로. CSS 라운드/스트레치 없음 */
/* ._solution.gfax ._gridSec .gridWrap .item .imgBx{
    max-width: 740px; aspect-ratio: auto; height: auto;
    border-radius: 0; overflow: visible;
} */
._solution.gfax ._gridSec .gridWrap .item .imgBx::after{ display: none; }
/* sic - Core: hover 없음, 통이미지만 */
/* ._solution.gfax ._gridSec .gridWrap .item .imgBx .img{
    max-width: 740px; height: auto; border-radius: 0; overflow: visible;
} */
._solution.gfax ._gridSec .gridWrap .item .imgBx .img::after{ display: none; }
._solution.gfax ._gridSec .gridWrap .item .imgBx .img img{
    position: relative; width: 100%; height: auto; display: block;
}
/* ._solution.gfax ._gridSec .gridWrap .item .txtBx{ padding: 40px 4px 0; }
._solution.gfax ._gridSec .gridWrap .item .txtBx h3{ font-size: 38px; margin-bottom: 18px; }
._solution.gfax ._gridSec .gridWrap .item .txtBx p{ font-size: 22px; line-height: 1.45; }
._solution.gfax ._gridSec .gridWrap .item .tags{ gap: 6px; margin-top: 38px; }
._solution.gfax ._gridSec .gridWrap .item .tags .tag{
    min-width: 124px; height: 48px; padding: 0 18px; border-radius: 24px;
    font-size: 20px; display: flex; align-items: center; justify-content: center;
} */

/* sic - How: kingfax ellipse dome. bgFill starts at ellipse equator so it never cuts the round. */
._solution.gfax ._flowSec._roundSec{
    --round-top: 200px;
    --round-half: max(39.32cqw, 50%);
    background: #fff;
    padding: 460px 0 170px;
}
._solution.gfax ._flowSec._roundSec .wrap{ position: relative; z-index: 1; }
._solution.gfax ._flowSec._roundSec .bg{ background: none; inset: 0; }
._solution.gfax ._flowSec._roundSec .bgFill{
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    top: calc(var(--round-top) + var(--round-half));
    background: #0d0d23;
    z-index: 0;
    pointer-events: none;
}
._solution.gfax ._flowSec .flowDesc{ font-size: 20px; color: rgba(255,255,255,.89); margin-top: 28px; }

/* sic - Why: PSD type layers scaled ~0.834; visual 16/28/20, body 70% */
._solution.gfax ._whySec{ padding: 90px 0 130px; }
._solution.gfax ._whySec .whyWrap{ gap: 26px; margin-top: 78px; }
._solution.gfax ._whySec .whyWrap .item{
    text-align: center; padding: 58px 22px 48px; min-height: 497px;
    display: flex; flex-direction: column; align-items: center;
}
._solution.gfax ._whySec .whyWrap .item span{
    font-size: 16px; font-weight: 400; letter-spacing: -0.025em; line-height: 1; color: #bdfeee; margin-bottom: 50px;
}
._solution.gfax ._whySec .whyWrap .item .ic{
    width: 90px; height: 72px; display: flex; align-items: center; justify-content: center; margin-bottom: 49px;
}
._solution.gfax ._whySec .whyWrap .item .ic img{ max-width: 90px; max-height: 72px; width: auto; height: auto; }
._solution.gfax ._whySec .whyWrap .item h3{
    font-size: 28px; font-weight: 600; line-height: 39px; letter-spacing: -0.025em; margin-bottom: 36px;
}
._solution.gfax ._whySec .whyWrap .item p{
    font-size: 20px; font-weight: 400; line-height: 32px; letter-spacing: -0.025em; color: rgba(255,255,255,.7);
}
._solution.gfax ._bannerSec .marqueeWrap .marquee>div img{
    width: 100%; height: auto; display: block; filter: none;
}
/* sic - BA After: PSD StyleRun mint #bdfeee, Font 0 regular */
._solution.gfax._da .compare .after .inn ul li p,
._solution.gfax .compare .after .inn ul li p{ font-weight: 400; }
._solution.gfax._da .compare .after .inn ul li p span,
._solution.gfax .compare .after .inn ul li p span{ color: #bdfeee; font-weight: 400; }
@media screen and (max-width: 1600px){
    ._solution.gfax .subVis .titArea h1{ font-size: 100px; }
    /* ._solution.gfax ._gridSec .gridWrap .item .txtBx h3{ font-size: 32px; } */
    /* ._solution.gfax ._cardSec .techWrap .tech .txtArea h3{ font-size: 34px; } */
    ._solution.gfax ._flowSec._roundSec{ padding: 480px 0 200px; --round-top: 180px; }
}
@media screen and (max-width: 1440px){
    ._solution.gfax .subVis .titArea h1{ font-size: 90px; }
    /* ._solution.gfax ._gridSec .gridWrap .item .txtBx h3{ font-size: 28px; }
    ._solution.gfax ._gridSec .gridWrap .item .txtBx p{ font-size: 18px; } */
    ._solution.gfax ._flowSec._roundSec{ padding: 380px 0 200px; --round-top: 160px; }
}
@media screen and (max-width: 1280px){
    ._solution.gfax ._flowSec._roundSec{ padding: 330px 0 120px; --round-top: 140px; }
    ._solution.gfax ._flowSec .flowDesc{ font-size: 18px; }
}
@media screen and (max-width: 1024px){
    ._solution.gfax .subVis .titArea h1{ font-size: 68px; }
    ._solution.gfax ._whySec .whyWrap .item{ min-height: 0; padding: 32px 20px; }
    ._solution.gfax ._whySec .whyWrap .item span{ margin-bottom: 24px; }
    ._solution.gfax ._whySec .whyWrap .item .ic{ margin-bottom: 24px; }
    ._solution.gfax ._whySec .whyWrap .item h3{ font-size: 22px; line-height: 30px; }
    ._solution.gfax ._whySec .whyWrap .item p{ font-size: 16px; line-height: 26px; }
    ._solution.gfax ._flowSec._roundSec{ padding: 280px 0 100px; --round-top: 120px; }
    /* ._solution.gfax ._gridSec .gridWrap{ gap: 40px 24px; }
    ._solution.gfax ._gridSec .gridWrap .item .tags .tag{ min-width: 0; height: auto; padding: 8px 18px; font-size: 15px; } */
}
@media screen and (max-width: 820px){
    ._solution.gfax ._flowSec .flowDesc{ font-size: 16px; }
    ._solution.gfax .subVis .titArea h1{ font-size: 56px; }
    /* ._solution.gfax .btns .btn{ width: auto; min-width: 0; height: auto; padding: 12px 28px; } */
    ._solution.gfax ._flowSec._roundSec{ padding: 220px 0 0; --round-top: 80px; }

    /* sic - cardSec 모바일 (retriever 동일 흐름): 핀 고정 → 배경 → layer _1 → layer _2, 배경·layer 모두 카드 가운데 겹쳐 정렬 */
    /* topVis 높이를 layer _2 높이만큼 확보(::before 비율 여백)하고 배경은 그 안에서 세로 가운데 → layer가 카드 밖으로 넘치지 않음 */
    ._solution.gfax._da ._cardSec .techWrap .techs .topVis{ display: grid; align-items: center; justify-items: center; }
    ._solution.gfax._da ._cardSec .techWrap .techs .topVis::before{ content: ''; grid-area: 1 / 1; width: 100%; padding-top: min(92%, 470px); }
    ._solution.gfax._da ._cardSec .techWrap .techs .topVis > .img{ grid-area: 1 / 1; width: 92%; max-width: 634px; margin: 0; }
    ._solution.gfax._da ._cardSec .techWrap .techs .topVis .layer._1,
    ._solution.gfax ._cardSec .techWrap .techs .topVis .layer._1{ left: 50%; top: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 344px; }
    ._solution.gfax._da ._cardSec .techWrap .techs .topVis .layer._2,
    ._solution.gfax ._cardSec .techWrap .techs .topVis .layer._2{ left: 50%; top: 50%; transform: translate(-50%, -50%); width: 88%; max-width: 450px; }
    ._solution.gfax._da ._cardSec .techWrap .tech .txtArea,
    ._solution.gfax ._cardSec .techWrap .tech .txtArea{ margin-top: 30px; }
}

@media screen and (max-width: 500px){
    ._solution.gfax ._flowSec .flowDesc{ font-size: 14px; }
}

/* sic - VLM OCR / BodoCollie / DXHUND Fax Q&A형: blobs in gradClip, layers PSD hang */
._solution.vlmocr._da ._cardSec .techWrap,
._solution.vlmocr ._cardSec .techWrap,
._solution.bodo._da ._cardSec .techWrap,
._solution.bodo ._cardSec .techWrap,
._solution.dxhund._da ._cardSec .techWrap,
._solution.dxhund ._cardSec .techWrap{ overflow: visible; }
._solution.vlmocr._da ._cardSec .techWrap .techs,
._solution.vlmocr ._cardSec .techWrap .techs,
._solution.bodo._da ._cardSec .techWrap .techs,
._solution.bodo ._cardSec .techWrap .techs,
._solution.dxhund._da ._cardSec .techWrap .techs,
._solution.dxhund ._cardSec .techWrap .techs{
    background: #fff; overflow: visible; padding: 48px 0 36px; height: auto; min-height: 0; max-width: 1202px; margin-top: 35px;
}
._solution.vlmocr._da ._cardSec .techWrap .techs .gradClip,
._solution.vlmocr ._cardSec .techWrap .techs .gradClip,
._solution.bodo._da ._cardSec .techWrap .techs .gradClip,
._solution.bodo ._cardSec .techWrap .techs .gradClip,
._solution.dxhund._da ._cardSec .techWrap .techs .gradClip,
._solution.dxhund ._cardSec .techWrap .techs .gradClip{
    position: absolute; inset: 0; border-radius: 10px; overflow: hidden; pointer-events: none; z-index: 0;
}
._solution.vlmocr ._cardSec .techWrap .techs .tech .item,
._solution.bodo ._cardSec .techWrap .techs .tech .item,
._solution.dxhund ._cardSec .techWrap .techs .tech .item{
    position: relative; display: flex; flex-direction: column; height: auto; pointer-events: auto; overflow: visible;
}
._solution.vlmocr._da ._cardSec .techWrap .techs .topVis,
._solution.vlmocr ._cardSec .techWrap .techs .topVis,
._solution.bodo._da ._cardSec .techWrap .techs .topVis,
._solution.bodo ._cardSec .techWrap .techs .topVis,
._solution.dxhund._da ._cardSec .techWrap .techs .topVis,
._solution.dxhund ._cardSec .techWrap .techs .topVis{ position: relative; z-index: 2; overflow: visible; }
._solution.vlmocr._da ._cardSec .techWrap .techs .topVis .img,
._solution.vlmocr ._cardSec .techWrap .techs .topVis .img,
._solution.bodo._da ._cardSec .techWrap .techs .topVis .img,
._solution.bodo ._cardSec .techWrap .techs .topVis .img,
._solution.dxhund._da ._cardSec .techWrap .techs .topVis .img,
._solution.dxhund ._cardSec .techWrap .techs .topVis .img{
    max-width: 634px; width: 53%; height: auto; aspect-ratio: 634/324; margin: 0 auto; overflow: visible;
}
._solution.vlmocr ._cardSec .techWrap .techs .topVis .img img,
._solution.bodo ._cardSec .techWrap .techs .topVis .img img,
._solution.dxhund ._cardSec .techWrap .techs .topVis .img img{
    width: 100%; height: auto; object-fit: contain; display: block;
}
._solution.vlmocr._da ._cardSec .techWrap .techs .topVis .layer,
._solution.vlmocr ._cardSec .techWrap .techs .topVis .layer,
._solution.bodo._da ._cardSec .techWrap .techs .topVis .layer,
._solution.bodo ._cardSec .techWrap .techs .topVis .layer,
._solution.dxhund._da ._cardSec .techWrap .techs .topVis .layer,
._solution.dxhund ._cardSec .techWrap .techs .topVis .layer{
    max-width: none; width: auto; z-index: 2;
}
._solution.vlmocr ._cardSec .techWrap .techs .topVis .layer .img,
._solution.bodo ._cardSec .techWrap .techs .topVis .layer .img,
._solution.dxhund ._cardSec .techWrap .techs .topVis .layer .img{
    max-width: none; width: 100%; aspect-ratio: auto; margin: 0; overflow: visible;
}
._solution.vlmocr ._cardSec .techWrap .techs .topVis .layer img,
._solution.bodo ._cardSec .techWrap .techs .topVis .layer img,
._solution.dxhund ._cardSec .techWrap .techs .topVis .layer img{
    width: 100%; height: auto; display: block; filter: drop-shadow(4px 8px 16px rgba(24,1,1,.12));
}
._solution.vlmocr._da ._cardSec .techWrap .techs .topVis .layer._1,
._solution.vlmocr ._cardSec .techWrap .techs .topVis .layer._1{
    /* sic - PSD 사용자 질문 rel card (-81,-22) 396x498 hang left */
    top: calc(-22 / 324 * 100%); left: calc(-60 / 1202 * 100%);
    width: calc(396 / 1202 * 100%); max-width: 394px; right: auto;
}
._solution.vlmocr._da ._cardSec .techWrap .techs .topVis .layer._2,
._solution.vlmocr ._cardSec .techWrap .techs .topVis .layer._2{
    /* sic - PSD 에이전트 답변 rel card (896,-1) 366x457 hang right */
    top: calc(-1 / 324 * 100%); left: calc(896 / 1202 * 100%);
    width: calc(366 / 1202 * 100%); max-width: 364px; right: auto;
}
/* vlmocr 배경 - kingfax와 동일한 가이드 창 (테두리 안에서 img가 아래→위로 올라옴, vlmocr.php cardSec JS) */
._solution.vlmocr._da ._cardSec .techWrap .techs .topVis > .img,
._solution.vlmocr ._cardSec .techWrap .techs .topVis > .img{
    position: relative; overflow: hidden;
    box-sizing: border-box; border: 2px solid rgba(237, 239, 242, 0.58); border-radius: 10px;
    align-items: flex-start; /* 공통 align-items:center 해제 → img 상단에서 시작해야 bgEndY 이동 후 img 하단 = .img 하단 */
    /* 배경 하단 흰색 페이드 (레이어마스크) - 테두리·오버레이 포함 아래로 갈수록 사라짐 */
    -webkit-mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
            mask-image: linear-gradient(to bottom, #000 65%, transparent 100%);
    --dim: 0;
}
._solution.vlmocr ._cardSec .techWrap .techs .topVis > .img img{ flex-shrink: 0; }
/* layer 등장 시 배경 어둡게 - 테두리 안쪽 오버레이 (--dim: 0 → 1, vlmocr.php pin 타임라인에서 제어) */
._solution.vlmocr ._cardSec .techWrap .techs .topVis > .img::after{
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: rgba(0, 0, 0, 0.5); opacity: var(--dim);
}
._solution.bodo._da ._cardSec .techWrap .techs .topVis .layer._1,
._solution.bodo ._cardSec .techWrap .techs .topVis .layer._1{
    /* sic - PSD popup rel card (-108,10) 390x419 hang left */
    top: calc(10 / 324 * 100%); /*left: calc(-108 / 1202 * 100%);*/ left: -5%;
    width: calc(388 / 1202 * 100%); max-width: 388px; right: auto;
}
._solution.bodo._da ._cardSec .techWrap .techs .topVis .layer._2,
._solution.bodo ._cardSec .techWrap .techs .topVis .layer._2{
    /* sic - PSD popup2 rel card (827,-33) 390x504 hang right */
    top: calc(-33 / 324 * 100%); /*left: calc(827 / 1202 * 100%);*/
    width: calc(390 / 1202 * 100%); max-width: 390px; right: -5%;
}
._solution.dxhund._da ._cardSec .techWrap .techs .topVis .layer._1,
._solution.dxhund ._cardSec .techWrap .techs .topVis .layer._1{
    /* sic - PSD 사용자 질문 rel card (30,-15) 366x410 */
    top: calc(-15 / 324 * 100%); left: calc(30 / 1202 * 100%);
    width: calc(366 / 1202 * 100%); max-width: 366px; right: auto;
}
._solution.dxhund._da ._cardSec .techWrap .techs .topVis .layer._2,
._solution.dxhund ._cardSec .techWrap .techs .topVis .layer._2{
    /* sic - PSD 에이전트 답변 rel card (834,-4) 378x389 hang +10 */
    top: calc(-4 / 324 * 100%); left: calc(834 / 1202 * 100%);
    width: calc(378 / 1202 * 100%); max-width: 378px; right: auto;
}
._solution.vlmocr._da ._cardSec .techWrap .tech .txtArea,
._solution.vlmocr ._cardSec .techWrap .tech .txtArea,
._solution.bodo._da ._cardSec .techWrap .tech .txtArea,
._solution.bodo ._cardSec .techWrap .tech .txtArea,
._solution.dxhund._da ._cardSec .techWrap .tech .txtArea,
._solution.dxhund ._cardSec .techWrap .tech .txtArea{ position: relative;  margin-top: 53px; }
/* ._solution.vlmocr ._cardSec .techWrap .tech .txtArea h3,
._solution.bodo ._cardSec .techWrap .tech .txtArea h3,
._solution.dxhund ._cardSec .techWrap .tech .txtArea h3{ font-size: 38px; } */
/* ._solution.vlmocr ._cardSec .techWrap .tech .tags,
._solution.bodo ._cardSec .techWrap .tech .tags,
._solution.dxhund ._cardSec .techWrap .tech .tags{ margin-top: 28px; } */
/* ._solution.vlmocr ._cardSec .techWrap .tech .tags .tag,
._solution.bodo ._cardSec .techWrap .tech .tags .tag,
._solution.dxhund ._cardSec .techWrap .tech .tags .tag{ padding: 11px 24px; min-width: 0; height: auto; } */

/* sic - Core thumbs: PSD img bbox PNG 그대로. CSS 라운드/스트레치 없음. hover는 별도 overlay 유지 */
/* ._solution.vlmocr ._gridSec .gridWrap,
._solution.bodo ._gridSec .gridWrap,
._solution.dxhund ._gridSec .gridWrap{ gap: 86px 40px; } */
/* ._solution.vlmocr ._gridSec .gridWrap .item .imgBx,
._solution.bodo ._gridSec .gridWrap .item .imgBx,
._solution.dxhund ._gridSec .gridWrap .item .imgBx{
    max-width: 740px; aspect-ratio: auto; height: auto;
    border-radius: 0; overflow: visible;
} */
._solution.vlmocr ._gridSec .gridWrap .item .imgBx::after,
._solution.bodo ._gridSec .gridWrap .item .imgBx::after,
._solution.dxhund ._gridSec .gridWrap .item .imgBx::after{ display: none; }
/* ._solution.vlmocr ._gridSec .gridWrap .item .imgBx .img,
._solution.bodo ._gridSec .gridWrap .item .imgBx .img,
._solution.dxhund ._gridSec .gridWrap .item .imgBx .img{
    max-width: 740px; height: auto; border-radius: 0; overflow: visible;
} */
._solution.vlmocr ._gridSec .gridWrap .item .imgBx .img::after,
._solution.bodo ._gridSec .gridWrap .item .imgBx .img::after,
._solution.dxhund ._gridSec .gridWrap .item .imgBx .img::after{ display: none; }
._solution.vlmocr ._gridSec .gridWrap .item .imgBx .img img,
._solution.bodo ._gridSec .gridWrap .item .imgBx .img img,
._solution.dxhund ._gridSec .gridWrap .item .imgBx .img img{
    position: relative; width: 100%; height: auto; display: block;
}
/* vlmocr Core hover: 배경 위 반투명 검정(::after) + layer SVG 카드 (aifax와 동일, 등장 모션은 vlmocr.php JS) */
._solution.vlmocr ._gridSec .gridWrap .item .imgBx::after{
    display: block; opacity: 0; transition: opacity .35s ease; pointer-events: none; border-radius: 10px;
}
._solution.vlmocr ._gridSec .gridWrap .item:hover .imgBx::after{ opacity: 1; }
/* solution.css의 _da 공통 display:none 해제 → 표시·위치는 JS(GSAP)가 제어 */
._solution.vlmocr._da ._gridSec .gridWrap .item .imgBx .layer,
._solution.vlmocr._da ._gridSec .gridWrap .item:hover .imgBx .layer{
    display: block; opacity: 0; transition: none; pointer-events: none;
    transform: none; /* 가운데 정렬 translate는 JS(GSAP xPercent/yPercent)가 담당 → CSS translate와 겹치지 않게 */
}
._solution.vlmocr ._gridSec .gridWrap .item .imgBx .layer svg{
    display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(4px 8px 16px rgba(24,1,1,.12));
}
/* ._solution.vlmocr ._gridSec .gridWrap .item .txtBx,
._solution.bodo ._gridSec .gridWrap .item .txtBx,
._solution.dxhund ._gridSec .gridWrap .item .txtBx{ padding: 40px 4px 0; } */
/* ._solution.vlmocr ._gridSec .gridWrap .item .txtBx h3,
._solution.bodo ._gridSec .gridWrap .item .txtBx h3,
._solution.dxhund ._gridSec .gridWrap .item .txtBx h3{ font-size: 38px; margin-bottom: 18px; } */
/* ._solution.vlmocr ._gridSec .gridWrap .item .txtBx p,
._solution.bodo ._gridSec .gridWrap .item .txtBx p,
._solution.dxhund ._gridSec .gridWrap .item .txtBx p{ font-size: 22px; line-height: 1.45; } */
/* ._solution.vlmocr ._gridSec .gridWrap .item .tags,
._solution.bodo ._gridSec .gridWrap .item .tags,
._solution.dxhund ._gridSec .gridWrap .item .tags{ gap: 6px; margin-top: 38px; } */
/* ._solution.vlmocr ._gridSec .gridWrap .item .tags .tag,
._solution.bodo ._gridSec .gridWrap .item .tags .tag,
._solution.dxhund ._gridSec .gridWrap .item .tags .tag{
    min-width: 124px; height: 48px; padding: 0 18px; border-radius: 24px;
    font-size: 20px; display: flex; align-items: center; justify-content: center;
} */

/* sic - How: kingfax ellipse dome. bgFill starts at ellipse equator so it never cuts the round. */
._solution.vlmocr ._flowSec._roundSec,
._solution.bodo ._flowSec._roundSec,
._solution.dxhund ._flowSec._roundSec{
    --round-top: 200px;
    --round-half: max(39.32cqw, 50%);
    background: #fff;
    padding: 460px 0 170px;
}
._solution.vlmocr ._flowSec._roundSec .wrap,
._solution.bodo ._flowSec._roundSec .wrap,
._solution.dxhund ._flowSec._roundSec .wrap{ position: relative; z-index: 1; }
._solution.vlmocr ._flowSec._roundSec .bg,
._solution.bodo ._flowSec._roundSec .bg,
._solution.dxhund ._flowSec._roundSec .bg{ background: none; inset: 0; }
._solution.vlmocr ._flowSec._roundSec .bgFill,
._solution.bodo ._flowSec._roundSec .bgFill,
._solution.dxhund ._flowSec._roundSec .bgFill{
    position: absolute;
    left: 0; right: 0; bottom: -2px;
    top: calc(var(--round-top) + var(--round-half));
    background: #0d0d23;
    z-index: 0;
    pointer-events: none;
}
/* ._solution.vlmocr ._flowSec .flowDesc,
._solution.bodo ._flowSec .flowDesc,
._solution.dxhund ._flowSec .flowDesc{ font-size: 20px; color: rgba(255,255,255,.89); margin-top: 28px; } */

/* sic - Why: PSD type layers scaled ~0.834; visual 16/28/20, body 70% */
._solution.vlmocr ._whySec,
._solution.dxhund ._whySec{ padding: 90px 0 130px; }
._solution.vlmocr ._whySec .whyWrap,
._solution.dxhund ._whySec .whyWrap{ gap: 26px; margin-top: 78px; }
._solution.vlmocr ._whySec .whyWrap .item,
._solution.dxhund ._whySec .whyWrap .item{
    text-align: center; padding: 58px 22px 48px; min-height: 497px;
    display: flex; flex-direction: column; align-items: center;
}
._solution.vlmocr ._whySec .whyWrap .item span,
._solution.dxhund ._whySec .whyWrap .item span{
    font-size: 16px; font-weight: 400; letter-spacing: -0.025em; line-height: 1; color: #bdfeee; margin-bottom: 50px;
}
._solution.vlmocr ._whySec .whyWrap .item .ic,
._solution.dxhund ._whySec .whyWrap .item .ic{
    width: 90px; height: 72px; display: flex; align-items: center; justify-content: center; margin-bottom: 49px;
}
._solution.vlmocr ._whySec .whyWrap .item .ic img,
._solution.dxhund ._whySec .whyWrap .item .ic img{ max-width: 90px; max-height: 72px; width: auto; height: auto; }
._solution.vlmocr ._whySec .whyWrap .item h3,
._solution.dxhund ._whySec .whyWrap .item h3{
    font-size: 28px; font-weight: 600; line-height: 39px; letter-spacing: -0.025em; margin-bottom: 36px;
}
._solution.vlmocr ._whySec .whyWrap .item p,
._solution.dxhund ._whySec .whyWrap .item p{
    font-size: 20px; font-weight: 400; line-height: 32px; letter-spacing: -0.025em; color: rgba(255,255,255,.7);
}
/* sic - PSD Font0 Pretendard on & only */
._solution.vlmocr ._whySec .whyWrap .item span .amp{
    display: inline; font-family: 'Pretendard', sans-serif; font-weight: 400; font-style: normal;
}
/* sic - JP: 띄어쓰기 없는 일문은 keep-all 시 줄바꿈 불가 → 금칙처리 줄바꿈 + 문절 단위(auto-phrase) 지원 시 적용 */
html.jp ._solution.vlmocr ._whySec .whyWrap .item h3,
html.jp ._solution.vlmocr ._whySec .whyWrap .item p,
html.jp ._solution.dxhund ._whySec .whyWrap .item h3,
html.jp ._solution.dxhund ._whySec .whyWrap .item p{ word-break: normal; line-break: strict; overflow-wrap: anywhere; }
@supports (word-break: auto-phrase){
    html.jp ._solution.vlmocr ._whySec .whyWrap .item h3,
    html.jp ._solution.vlmocr ._whySec .whyWrap .item p,
    html.jp ._solution.dxhund ._whySec .whyWrap .item h3,
    html.jp ._solution.dxhund ._whySec .whyWrap .item p{ word-break: auto-phrase; }
}
/* sic - JP: 제목은 <wbr> 위치에서만 줄바꿈 (마지막 한 글자만 떨어지는 현상 방지), 그래도 넘치면 anywhere로 fallback */
html.jp ._solution.vlmocr ._whySec .whyWrap .item h3,
html.jp ._solution.dxhund ._whySec .whyWrap .item h3{ word-break: keep-all; }
/* sic - JP: 한자/가나 글자폭이 커서 제목은 2줄 높이를 확보해 카드별 하단 설명 시작 위치를 동일하게, 본문 18px로 국문처럼 2줄 유지 */
@media screen and (min-width: 1025px){
    html.jp ._solution.vlmocr ._whySec .whyWrap .item,
    html.jp ._solution.dxhund ._whySec .whyWrap .item{ padding-left: 16px; padding-right: 16px; }
    html.jp ._solution.vlmocr ._whySec .whyWrap .item h3,
    html.jp ._solution.dxhund ._whySec .whyWrap .item h3{ font-size: 24px; line-height: 34px; min-height: 68px; margin-bottom: 26px; }
    html.jp ._solution.vlmocr ._whySec .whyWrap .item p,
    html.jp ._solution.dxhund ._whySec .whyWrap .item p{ font-size: 18px; line-height: 30px; }
}
@media screen and (min-width: 641px) and (max-width: 1024px){
    html.jp ._solution.vlmocr ._whySec .whyWrap .item h3,
    html.jp ._solution.dxhund ._whySec .whyWrap .item h3{ min-height: 60px; }
}
._solution.vlmocr ._bannerSec .marqueeWrap .marquee>div img,
._solution.bodo ._bannerSec .marqueeWrap .marquee>div img,
._solution.dxhund ._bannerSec .marqueeWrap .marquee>div img{
    width: 100%; height: auto; display: block; filter: none;
}
/* sic - BA After: PSD StyleRun mint #bdfeee, Font 0 regular */
._solution.vlmocr._da .compare .after .inn ul li p,
._solution.vlmocr .compare .after .inn ul li p,
._solution.bodo._da .compare .after .inn ul li p,
._solution.bodo .compare .after .inn ul li p,
._solution.dxhund._da .compare .after .inn ul li p,
._solution.dxhund .compare .after .inn ul li p{ font-weight: 400; }
._solution.vlmocr._da .compare .after .inn ul li p span,
._solution.vlmocr .compare .after .inn ul li p span,
._solution.bodo._da .compare .after .inn ul li p span,
._solution.bodo .compare .after .inn ul li p span,
._solution.dxhund._da .compare .after .inn ul li p span,
._solution.dxhund .compare .after .inn ul li p span{ color: #bdfeee; font-weight: 400; }
@media screen and (max-width: 1600px){
    /* ._solution.vlmocr ._gridSec .gridWrap .item .txtBx h3,
    ._solution.bodo ._gridSec .gridWrap .item .txtBx h3,
    ._solution.dxhund ._gridSec .gridWrap .item .txtBx h3{ font-size: 32px; } */
    ._solution.vlmocr ._flowSec._roundSec,
    ._solution.bodo ._flowSec._roundSec,
    ._solution.dxhund ._flowSec._roundSec{ padding: 480px 0 200px; --round-top: 180px; }
}
@media screen and (max-width: 1440px){
    /* ._solution.vlmocr ._gridSec .gridWrap .item .txtBx h3,
    ._solution.bodo ._gridSec .gridWrap .item .txtBx h3,
    ._solution.dxhund ._gridSec .gridWrap .item .txtBx h3{ font-size: 28px; }
    ._solution.vlmocr ._gridSec .gridWrap .item .txtBx p,
    ._solution.bodo ._gridSec .gridWrap .item .txtBx p,
    ._solution.dxhund ._gridSec .gridWrap .item .txtBx p{ font-size: 18px; } */
    ._solution.vlmocr ._flowSec._roundSec,
    ._solution.bodo ._flowSec._roundSec,
    ._solution.dxhund ._flowSec._roundSec{ padding: 380px 0 200px; --round-top: 160px; }
}
@media screen and (max-width: 1280px){
    ._solution.vlmocr ._flowSec._roundSec,
    ._solution.bodo ._flowSec._roundSec,
    ._solution.dxhund ._flowSec._roundSec{ padding: 330px 0 120px; --round-top: 140px; }
    
}
@media screen and (max-width: 1024px){
    ._solution.vlmocr ._whySec .whyWrap .item,
    ._solution.dxhund ._whySec .whyWrap .item{ min-height: 0; padding: 32px 20px; }
    ._solution.vlmocr ._whySec .whyWrap .item span,
    ._solution.dxhund ._whySec .whyWrap .item span{ margin-bottom: 24px; }
    ._solution.vlmocr ._whySec .whyWrap .item .ic,
    ._solution.dxhund ._whySec .whyWrap .item .ic{ margin-bottom: 24px; }
    ._solution.vlmocr ._whySec .whyWrap .item h3,
    ._solution.dxhund ._whySec .whyWrap .item h3{ font-size: 22px; line-height: 30px; }
    ._solution.vlmocr ._whySec .whyWrap .item p,
    ._solution.dxhund ._whySec .whyWrap .item p{ font-size: 16px; line-height: 26px; }
    ._solution.vlmocr ._flowSec._roundSec,
    ._solution.bodo ._flowSec._roundSec,
    ._solution.dxhund ._flowSec._roundSec{ padding: 280px 0 100px; --round-top: 120px; }
    /* ._solution.vlmocr ._gridSec .gridWrap,
    ._solution.bodo ._gridSec .gridWrap,
    ._solution.dxhund ._gridSec .gridWrap{ gap: 40px 24px; }
    ._solution.vlmocr ._gridSec .gridWrap .item .tags .tag,
    ._solution.bodo ._gridSec .gridWrap .item .tags .tag,
    ._solution.dxhund ._gridSec .gridWrap .item .tags .tag{ min-width: 0; height: auto; padding: 8px 18px; font-size: 15px; } */
}
@media screen and (max-width: 820px){
    ._solution.vlmocr ._whySec .whyWrap, ._solution.dxhund ._whySec .whyWrap{ margin-top: 40px; }
    ._solution.vlmocr ._flowSec._roundSec,
    ._solution.bodo ._flowSec._roundSec,
    ._solution.dxhund ._flowSec._roundSec{ padding: 220px 0 0; --round-top: 80px; }
    ._solution.vlmocr ._whySec, ._solution.dxhund ._whySec{ padding: 70px 0 80px; }
    /* vlmocr cardSec 모바일 (aifax 동일): 배경·layer 모두 카드 중앙정렬 (layer는 JS가 투명도만 제어, 올라오는 이동은 layer 안 .img) */
    ._solution.vlmocr._da ._cardSec .techWrap .techs .topVis > .img{ max-width: 95%; width: 100%; }
    ._solution.vlmocr._da ._cardSec .techWrap .techs .topVis .layer._1,
    ._solution.vlmocr._da ._cardSec .techWrap .techs .topVis .layer._2{ left: 50%; top: 50%; right: auto; transform: translate(-50%, -50%); width: 60%; }
    /* dxhund cardSec 모바일 (aifax 동일): 배경 창 + 배경·layer 모두 카드 중앙정렬 (자동 반복 타임라인은 dxhund.php initCardMobile, layer는 JS가 투명도만 제어, 올라오는 이동은 layer 안 svg) */
    ._solution.dxhund._da ._cardSec .techWrap .techs .topVis > .img{
        max-width: 95%; width: 100%;
        position: relative; overflow: hidden; box-sizing: border-box;
        border: 2px solid rgba(237, 239, 242, calc(1 - var(--dim, 0))); border-radius: 12px; /* #edeff2, layer 등장 시 배경 어두워지며(--dim 0 → 1) 테두리도 함께 사라짐 */
        align-items: flex-start; /* 공통 align-items:center 해제 → 배경 상단에서 시작해야 이동 후 배경 하단 = 창 하단 */
        --dim: 0; background-color: #fff;
        background-clip: padding-box; /* 흰 배경이 투명해진 테두리 자리로 비치지 않도록 */
        /* 배경 하단 살짝 페이드 (레이어마스크) */
        -webkit-mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
                mask-image: linear-gradient(to bottom, #000 75%, transparent 100%);
    }
    ._solution.dxhund._da ._cardSec .techWrap .techs .topVis > .img > img{
        width: 100%; height: auto; display: block; flex-shrink: 0; border: 0; border-radius: 0;
    }
    /* layer 등장 시 배경 어둡게 - 테두리 안쪽 오버레이 (--dim: 0 → 1) */
    ._solution.dxhund._da ._cardSec .techWrap .techs .topVis > .img::after{
        content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
        background: rgba(0, 0, 0, 0.5); opacity: var(--dim);
    }
    ._solution.dxhund._da ._cardSec .techWrap .techs .topVis .layer._1,
    ._solution.dxhund._da ._cardSec .techWrap .techs .topVis .layer._2{ left: 50%; top: 50%; right: auto; transform: translate(-50%, -50%); width: 60%; }
}

/* sic - Core slider topVis: layer separate, PSD effect PNG, transparent */

/* ---- aiocr ---- */
._solution.aiocr .s1 .techWrap .techs{ overflow: hidden; }
._solution.aiocr .s1 .techWrap .techs .topVis{ overflow: visible; }
._solution.aiocr .s1 .techWrap .techs .topVis > .img{
    overflow: hidden; margin: 0 auto; position: relative;
    box-sizing: border-box; border: 2px solid rgba(237, 239, 242, 0.58); border-radius: 10px; /* kingfax와 동일한 가이드 창 테두리 */
    align-items: flex-start; /* kingfax와 동일: 공통 align-items:center 해제 → 상단에서 시작해야 bgEndY 이동 후 svg 하단 = .img 하단 (모든 item) */
}
/* layer 등장 시 배경 어둡게 - 테두리 안쪽 오버레이 (--dim: 0 → 1, aiocr.php pin 타임라인에서 제어) */
._solution.aiocr .s1 .techWrap .techs .topVis > .img{ --dim: 0; }
._solution.aiocr .s1 .techWrap .techs .topVis > .img::after{
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: rgba(0, 0, 0, 0.5); opacity: var(--dim);
}
._solution.aiocr .s1 .techWrap .techs .topVis > .img img{
    width: 100%; height: auto; object-fit: contain; display: block; max-width: none; position: static; flex-shrink: 0;
}
._solution.aiocr .s1 .techWrap .techs .topVis .layer{
    max-width: none; width: auto; z-index: 2;
}
._solution.aiocr .s1 .techWrap .techs .topVis .layer .img{
    max-width: none; width: 100%; aspect-ratio: auto; margin: 0; overflow: visible;
}
._solution.aiocr .s1 .techWrap .techs .topVis .layer img{
    width: 100%; height: auto; display: block;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(1) .topVis > .img{
    max-width: 418px; width: calc(418 / 1202 * 100%); aspect-ratio: 418/325;
}
/* bg01.html 인라인 svg (스캔 모션 후 아래→위 슬라이드, aiocr.php 배경 인트로에서 제어) */
._solution.aiocr .s1 .techWrap .techs .topVis > .img > svg{ display: block; width: 100%; height: auto; flex-shrink: 0; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(1) .topVis .layer._1{
    /* sic - PSD 팩스 보내기 vis (165,99) 289x149 */
    top: calc(99 / 325 * 100%); left: calc(165 / 1202 * 100%);
    width: calc(289 / 1202 * 100%); max-width: 289px; right: auto; display: block;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(1) .topVis .layer._2{ display: none; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(2) .topVis > .img{
    max-width: 411px; width: calc(411 / 1202 * 100%); aspect-ratio: 411/325;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._1{
    /* sic - PSD 팩스 보내기 vis (165,95) 299x173 */
    top: calc(95 / 325 * 100%); left: calc(165 / 1202 * 100%);
    width: calc(299 / 1202 * 100%); max-width: 299px; right: auto; display: block;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._2{ display: none; }
._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis > .img{
    max-width: 411px; width: calc(411 / 1202 * 100%); aspect-ratio: 411/325;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1{
    /* sic - PSD 텍스트 변환 vis (155,102) 299x198 */
    top: calc(102 / 325 * 100%); left: calc(155 / 1202 * 100%);
    width: calc(299 / 1202 * 100%); max-width: 299px; right: auto; display: block;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._2{
    /* sic - PSD 구조복원 vis (752,75) 269x256 */
    top: calc(75 / 325 * 100%); left: calc(752 / 1202 * 100%);
    width: calc(269 / 1202 * 100%); max-width: 269px; right: auto; display: block;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(4) .topVis > .img{
    max-width: 411px; width: calc(411 / 1202 * 100%); aspect-ratio: 411/325;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(4) .topVis .layer._1{
    /* sic - PSD layer vis (155,100) 290x226 */
    top: calc(100 / 325 * 100%); left: calc(155 / 1202 * 100%);
    width: calc(290 / 1202 * 100%); max-width: 290px; right: auto; display: block;
}
._solution.aiocr .s1 .techWrap .techs .item:nth-child(4) .topVis .layer._2{ display: none; }
/* Hero copy: mobile-only line breaks */
._solution.aiocr .subVis .titArea p>br.mo_br{ display: none; }
@media screen and (max-width: 500px){
    ._solution.aiocr .subVis .titArea p>br,
    ._solution.aiocr .subVis .titArea p>br.mo_br{ display: inline; }
}
@media screen and (max-width: 820px){
    /* cardSec 모바일 (kingfax 동일 흐름): 핀 고정 → 배경 → layer _1 → 그 위로 layer _2, layer는 배경 창(.img) 가운데 겹쳐 정렬 */
    /* .img는 topVis 가로 가운데(최대 418/411px), topVis 높이 = .img 높이 → left/top 50% + translate(-50%) = 배경 창 정중앙 */
    ._solution.aiocr .s1 .techWrap .techs .tech .item:nth-child(n) .topVis > .img{ width: 100%; }
    ._solution.aiocr .s1 .techWrap .techs .tech .item:nth-child(n) .topVis > .layer{ top: 50%; left: 50%; right: auto; margin: 0; transform: translate(-50%, -50%); }
    ._solution.aiocr .s1 .techWrap .techs .tech .item:nth-child(n) .topVis > .layer._2{ z-index: 3; } /* layer _2가 layer _1 위로 */
    /* layer 크기: topVis(100%)가 아닌 배경 창 폭(min(100%, 배경 px)) 기준 비율 → 데스크톱과 같은 비율로 창에 맞춰 줄어듦 */
    ._solution.aiocr .s1 .techWrap .techs .item:nth-child(1) .topVis .layer._1{ width: calc(min(100%, 418px) * 289 / 418); } /* layer01 */
    ._solution.aiocr .s1 .techWrap .techs .item:nth-child(2) .topVis .layer._1{ width: calc(min(100%, 411px) * 299 / 411); } /* layer02 */
    ._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._1{ width: calc(min(100%, 411px) * 299 / 411); } /* layer03 */
    ._solution.aiocr .s1 .techWrap .techs .item:nth-child(3) .topVis .layer._2{ width: calc(min(100%, 411px) * 269 / 411); } /* layer04 */
    ._solution.aiocr .s1 .techWrap .techs .item:nth-child(4) .topVis .layer._1{ width: calc(min(100%, 411px) * 290 / 411); } /* layer05 */

    ._solution.aiocr .s1 .techWrap .tech .txtArea{ margin-top: 36px; }
}
@media screen and (max-width: 500px){
    ._solution.aiocr .s1 .techWrap .tech .txtArea{ margin-top: 32px; }
}
