@charset "utf-8";
/* Generated by scripts/build_sub_modules.py from sub.css. Do not edit. */

/* streaming_dev 핵심 역량 */
.streaming-core-capability { padding:110px 0 140px; }
.streaming-core-capability.bg { background:#fff; }
.streaming-core-capability .subTitle .txtbox { margin-top:18px; }
.streaming-core-capability .listbox { margin-top:50px; }
.streaming-core-capability .listbox > ul { display:flex; flex-wrap:wrap; gap:20px; }
.streaming-core-capability .listbox > ul > li { width:calc((100% - 20px) / 2); }
.streaming-core-capability .listbox > ul > li .box {
    height:100%;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#fff;
    padding:34px 34px 30px;
}
.streaming-core-capability .listbox > ul > li .box-head { display:flex; align-items:flex-start; justify-content:space-between; }
.streaming-core-capability .listbox > ul > li .icon {
    width:84px;
    height:84px;
    border-radius: 50%;
    background:#f9f9f9;
    display:flex;
    align-items:center;
    justify-content:center;
}
.streaming-core-capability .listbox > ul > li .icon img { width:40px; }
.streaming-core-capability .listbox > ul > li .num {
    color:#cad5e3;
    font-family:var(--mainFont);
    font-size:44px;
    font-weight:600;
    line-height:1;
}
.streaming-core-capability .listbox > ul > li dt {
    margin-top:18px;
    font-size:28px;
    font-weight:700;
    line-height:1.35;
    color:#1f2937;
    letter-spacing:-0.02em;
}
.streaming-core-capability .listbox > ul > li dd {
    margin-top:16px;
    font-size:18px;
    font-weight:400;
    line-height:1.6;
    color:#475569;
    letter-spacing:-0.02em;
}
.streaming-core-capability .listbox > ul > li .msp-chip-list {
    margin-top:18px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.streaming-core-capability .listbox > ul > li .msp-chip-list span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 14px;
    border-radius:999px;
    background:#f1f3f5;
    color:#4b5563;
    font-size:14px;
    font-weight:500;
    line-height:1;
    letter-spacing:-0.01em;
}
.streaming-core-capability .listbox > ul > li .feature-check { margin-top:18px; padding-top:16px; border-top:1px solid #e5e7eb; display:flex; flex-direction:column; gap:8px; }
.streaming-core-capability .listbox > ul > li .feature-check li { display:flex; align-items:center; gap:8px; font-size:16px; font-weight:400; line-height:1.65; color:#334155; }
.streaming-core-capability .listbox > ul > li .chk-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; margin-top:1px; }
.streaming-core-capability .listbox > ul > li .chk-icon svg { width:20px; height:20px; color:#9f9f9f; }

.streaming-core-capability .feature-list { display:flex; flex-direction:column; gap:130px; }
.streaming-core-capability .feature-list { margin-top:46px; }
.streaming-core-capability .feature-item { display:flex; align-items:center; gap:60px; }
.streaming-core-capability .feature-item.reverse { flex-direction:row-reverse; }
.streaming-core-capability .feature-text { width:48%; }
.streaming-core-capability .feature-num {
    font-size:36px;
    font-weight:700;
    color:var(--mainColor);
    letter-spacing:-0.03em;
    line-height:1.1;
}
.streaming-core-capability .feature-num + .feature-tit { margin-top:10px; }
.streaming-core-capability .feature-tit {
    font-size:36px;
    font-weight:700;
    color:#1f2937;
    line-height:1.35;
    letter-spacing:-0.02em;
}
.streaming-core-capability .feature-tit .feature-sub { font-weight:500; color:#475569; }

/* streaming-value-maximize: 넘버링 18px, 타이틀 두줄 36px 볼드 */
.streaming-value-maximize .feature-num { font-size:18px; }
.streaming-value-maximize .feature-tit,
.streaming-value-maximize .feature-tit .feature-sub { font-size:36px; font-weight:700; color:#1f2937; }
.streaming-core-capability .feature-desc {
    margin-top:20px;
    font-size:18px;
    line-height:1.7;
    color:#475569;
    letter-spacing:-0.02em;
}
.streaming-core-capability .feature-check {
    margin-top:22px;
    display:flex;
    flex-direction:column;
    gap:10px;
}
.streaming-core-capability .feature-check li {
    display:flex;
    align-items:flex-start;
    gap:8px;
    font-size:17px;
    color:#334155;
    line-height:1.6;
}
.streaming-core-capability .feature-check .chk-icon { margin-top:2px; color:#9f9f9f; }
.streaming-core-capability .feature-check .chk-icon svg { width:20px; height:20px; }
.streaming-core-capability .feature-img { width:52%; }
.streaming-core-capability .img-placeholder {
    border-radius:18px;
    border:1px solid #dbe5f1;
    overflow:hidden;
    background:#fff;
}
.streaming-core-capability .img-placeholder img { width:100%; height:auto; display:block; }

.streaming-core-capability .arch-graphic {
    border:1px solid #dbe5f1;
    border-radius:18px;
    background:#f7f7f7;
    padding:32px 24px;
}
.streaming-core-capability .arch-graphic h4,
.streaming-core-capability .arch-graphic h5 {
    font-family:var(--mainFont);
    font-size:19px;
    font-weight:700;
    color:#1e293b;
    line-height:1.3;
    text-align:center;
}
.streaming-core-capability .arch-graphic .flow-track,
.streaming-core-capability .arch-graphic .infra-top,
.streaming-core-capability .arch-graphic .infra-bottom {
    margin-top:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
}
.streaming-core-capability .arch-graphic .node {
    width:132px;
    min-height:96px;
    padding:12px 10px;
    border:1px solid #d4deea;
    border-radius:10px;
    background:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
}
.streaming-core-capability .arch-graphic .node strong {
    font-size:17px;
    font-weight:700;
    color:#1e293b;
    line-height:1.3;
}
.streaming-core-capability .arch-graphic .node p {
    margin-top:6px;
    font-size:14px;
    color:#64748b;
    line-height:1.4;
}
.streaming-core-capability .arch-graphic .node.emphasize {
    border-color:rgba(5, 105, 255, 0.4);
    box-shadow:0 10px 24px rgba(5, 105, 255, 0.12);
}
.streaming-core-capability .arch-graphic .node.emphasize p {
    color:var(--mainColor);
    font-weight:600;
}
.streaming-core-capability .arch-graphic .arrow {
    font-size:22px;
    font-weight:700;
    color:#8ba2bd;
    line-height:1;
}

/* flexibility-graphic: use-case-cards (아이콘+라벨, 화살표·강조 없음) */
.streaming-core-capability .flexibility-graphic.use-case-cards {
    padding:28px 20px;
}

/* streaming-hub-cards: 스트리밍 허브 → 점선 → use-case 카드들 */
.streaming-core-capability .flexibility-graphic.streaming-hub-cards {
    display:flex;
    flex-direction:column;
}
.streaming-core-capability .flexibility-graphic .streaming-hub-wrap {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    min-height:80px;
    margin-bottom:8px;
}
.streaming-core-capability .flexibility-graphic .streaming-hub-wrap .flow-hub {
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    padding:10px 24px;
    background:#fff;
    border:1px solid var(--mainColor);
    border-radius:10px;
    font-weight:500;
    font-size:14px;
    color:var(--mainColor);
}
.streaming-core-capability .flexibility-graphic .streaming-hub-wrap .flow-hub svg {
    width:28px;
    height:28px;
}
.streaming-core-capability .flexibility-graphic .streaming-hub-wrap .hub-to-cards-lines {
    position:absolute;
    top:20px;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    height:70px;
    pointer-events:none;
}
.streaming-core-capability .flexibility-graphic .streaming-hub-wrap .hub-to-cards-lines .flow-line {
    animation:flowDash 12s linear infinite;
}
@keyframes flowDash {
    to { stroke-dashoffset: -24; }
}

.streaming-core-capability .flexibility-graphic.use-case-cards .use-case-list {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px 48px;
    z-index:1;
}
.streaming-core-capability .flexibility-graphic.use-case-cards .use-case-item {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}
.streaming-core-capability .flexibility-graphic.use-case-cards .use-case-icon {
    width:52px;
    height:52px;
    background:#fff;
    border:1px solid #d4deea;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.streaming-core-capability .flexibility-graphic.use-case-cards .use-case-icon svg {
    width:26px;
    height:26px;
    color:#64748b;
}
.streaming-core-capability .flexibility-graphic.use-case-cards .use-case-label {
    font-size:14px;
    font-weight:500;
    color:#475569;
}

.streaming-core-capability .infra-graphic .infra-mid {
    margin:20px auto 0;
    text-align:center;
}
.streaming-core-capability .infra-graphic .infra-mid span {
    display:inline-block;
    padding:10px 20px;
    border-radius:30px;
    background:rgba(5, 105, 255, 0.12);
    color:#1d4ed8;
    font-size:14px;
    font-weight:600;
}

/* streaming-value-maximize: 카드 동일 높이 (고정) */
.streaming-value-maximize .arch-graphic {
    height:400px;
    min-height:280px;
    display:flex;
    flex-direction:column;
    justify-content: center;
}

/* infra-control-graphic: 허브·스포크 (stream01 참조) */
.streaming-core-capability .infra-control-graphic .infra-control-hub {
    position:relative;
    width:100%;
    aspect-ratio:1;
    max-width:340px;
    margin-left:auto;
    margin-right:auto;
}
.streaming-core-capability .infra-control-graphic .hub-lines {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    pointer-events:none;
}
.streaming-core-capability .infra-control-graphic .hub-node {
    position:absolute;
    display:flex;
    flex-direction:column;
    align-items:center;
    box-sizing:border-box;
}
.streaming-core-capability .infra-control-graphic .hub-node.hub-pos {
    width:auto;
    height:auto;
    background:transparent;
    border:none;
}
.streaming-core-capability .infra-control-graphic .hub-node.hub-pos .hub-node-box {
    width:56px;
    height:56px;
    background:#fff;
    border:2px solid #d4deea;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.streaming-core-capability .infra-control-graphic .hub-node.hub-pos span {
    display:block;
    margin-top:6px;
    font-size:14px;
    font-weight:500;
    color:#64748b;
    text-align:center;
    white-space:nowrap;
}
.streaming-core-capability .infra-control-graphic .hub-node svg {
    width:24px;
    height:24px;
    color:#64748b;
}
.streaming-core-capability .infra-control-graphic .hub-node.hub-pos .hub-node-box svg {
    width:24px;
    height:24px;
}
.streaming-core-capability .infra-control-graphic .hub-center {
    position:absolute;
    top:37%;
    left:37%;
    transform:translate(-50%, -50%);
}
.streaming-core-capability .infra-control-graphic .hub-main {
    width:90px;
    height:90px;
    background:#fff;
    border:1px solid var(--mainColor);
    border-radius:10px;
    justify-content:center;
}
.streaming-core-capability .infra-control-graphic .hub-main svg {
    width:32px;
    height:32px;
    color:var(--mainColor);
}
.streaming-core-capability .infra-control-graphic .hub-main span {
    display:block;
    margin-top:4px;
    font-size:14px;
    font-weight:600;
    color:var(--mainColor);
}
.streaming-core-capability .infra-control-graphic .hub-main {
    flex-direction:column;
}
.streaming-core-capability .infra-control-graphic .hub-accent .hub-node-box {
    border-color:rgba(5, 105, 255, 0.5);
}
.streaming-core-capability .infra-control-graphic .hub-accent .hub-node-box svg {
    color:var(--mainColor);
}
.streaming-core-capability .infra-control-graphic .hub-tl { top:12%; left:8%; }
.streaming-core-capability .infra-control-graphic .hub-tr { top:12%; right:8%; left:auto; }
.streaming-core-capability .infra-control-graphic .hub-tc { top:2%; left:50%; transform:translateX(-50%); }
.streaming-core-capability .infra-control-graphic .hub-bl { bottom:12%; left:8%; top:auto; }
.streaming-core-capability .infra-control-graphic .hub-br { bottom:12%; right:8%; left:auto; top:auto; }
.streaming-core-capability .infra-control-graphic .hub-bc { bottom:2%; left:50%; transform:translateX(-50%); top:auto; }

/* flexibility-flow-graphic: 소스 → 스크린 (사례만 표시) */
.streaming-core-capability .flexibility-flow-graphic .flex-flow-wrap {
    margin-top:0;
    padding:24px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    width:100%;
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
}
.streaming-core-capability .flexibility-flow-graphic .flex-arrow {
    font-size:24px;
    font-weight:700;
    color:#8ba2bd;
    flex-shrink:0;
}
.streaming-core-capability .flexibility-flow-graphic .flex-sources,
.streaming-core-capability .flexibility-flow-graphic .flex-screens {
    display:flex;
    flex-direction:column;
    gap:16px;
}
.streaming-core-capability .flexibility-flow-graphic .flex-node {
    display:flex;
    flex-direction:column;
    align-items:center;
}
.streaming-core-capability .flexibility-flow-graphic .flex-node-box {
    width:48px;
    height:48px;
    background:#fff;
    border:2px solid #d4deea;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.streaming-core-capability .flexibility-flow-graphic .flex-node-box svg {
    width:22px;
    height:22px;
    color:#64748b;
}
.streaming-core-capability .flexibility-flow-graphic .flex-node span {
    display:block;
    margin-top:6px;
    font-size:11px;
    font-weight:500;
    color:#64748b;
    text-align:center;
}

/* opt-streaming-graphic (legacy - 다른 페이지용) */
.streaming-core-capability .opt-streaming-graphic .opt-streaming-stack {
    margin-top:24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:8px;
}
.streaming-core-capability .opt-streaming-graphic .opt-node {
    width:100%;
    max-width:200px;
    padding:14px 16px;
    border:1px solid #d4deea;
    border-radius:10px;
    background:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.streaming-core-capability .opt-streaming-graphic .opt-node strong {
    font-size:16px;
    font-weight:700;
    color:#1e293b;
    line-height:1.3;
}
.streaming-core-capability .opt-streaming-graphic .opt-node p {
    margin-top:4px;
    font-size:13px;
    color:#64748b;
}
.streaming-core-capability .opt-streaming-graphic .opt-node.emphasize {
    border-color:rgba(5, 105, 255, 0.4);
    box-shadow:0 10px 24px rgba(5, 105, 255, 0.12);
}
.streaming-core-capability .opt-streaming-graphic .opt-node.emphasize p {
    color:var(--mainColor);
    font-weight:600;
}
.streaming-core-capability .opt-streaming-graphic .opt-arrow {
    font-size:20px;
    font-weight:700;
    color:#8ba2bd;
    line-height:1;
}

@media screen and (max-width:1024px){
    .streaming-core-capability { padding:90px 0 30px; }
    .streaming-core-capability .listbox { margin-top:40px; }
    .streaming-core-capability .listbox > ul { gap:15px; }
    .streaming-core-capability .listbox > ul > li { width:calc((100% - 15px) / 2); }
    .streaming-core-capability .listbox > ul > li .box { padding:26px 24px 24px; }
    .streaming-core-capability .listbox > ul > li .icon { width:74px; height:74px; }
    .streaming-core-capability .listbox > ul > li .icon img { width:36px; }
    .streaming-core-capability .listbox > ul > li dt { margin-top:16px; font-size:24px; }
    .streaming-core-capability .listbox > ul > li dd { margin-top:12px; font-size:16px; }
    .streaming-core-capability .listbox > ul > li .num { font-size:36px; }
    .streaming-core-capability .listbox > ul > li .feature-check { margin-top:14px; }
    .streaming-core-capability .listbox > ul > li .feature-check li { font-size:15px; }
    .streaming-core-capability .listbox > ul > li .chk-icon svg { width:18px; height:18px; }

    .streaming-core-capability .feature-list { margin-top:44px; gap:70px; }
    .streaming-core-capability .feature-item,
    .streaming-core-capability .feature-item.reverse { flex-direction:column; gap:28px; }
    .streaming-core-capability .feature-text,
    .streaming-core-capability .feature-img { width:100%; }
    .streaming-core-capability .feature-tit { font-size:30px; }
    .streaming-value-maximize .feature-num { font-size:16px; }
    .streaming-value-maximize .feature-tit,
    .streaming-value-maximize .feature-tit .feature-sub { font-size:28px; font-weight:700; }
    .streaming-core-capability .feature-desc { margin-top:14px; font-size:16px; }
    .streaming-core-capability .feature-check li { font-size:15px; }
    .streaming-core-capability .arch-graphic h4,
    .streaming-core-capability .arch-graphic h5 { font-size:22px; }
    .streaming-core-capability .arch-graphic .node { width:120px; min-height:90px; }
    .streaming-core-capability .arch-graphic .node strong { font-size:15px; }
    .streaming-core-capability .arch-graphic .node p { font-size:13px; }
}
@media screen and (max-width:768px){
    .streaming-core-capability .listbox > ul > li { width:100%; }
}
@media screen and (max-width:640px){
    .streaming-core-capability { padding:70px 0 20px; }
    .streaming-core-capability .subTitle .txtbox { margin-top:12px; }
    .streaming-core-capability .listbox { margin-top:30px; }
    .streaming-core-capability .listbox > ul { gap:10px; }
    .streaming-core-capability .listbox > ul > li .box { padding:20px 16px 18px; border-radius:10px; }
    .streaming-core-capability .listbox > ul > li .icon { width:62px; height:62px; }
    .streaming-core-capability .listbox > ul > li .icon img { width:30px; }
    .streaming-core-capability .listbox > ul > li .num { font-size:30px; }
    .streaming-core-capability .listbox > ul > li dt { margin-top:12px; font-size:18px; }
    .streaming-core-capability .listbox > ul > li dd { margin-top:10px; font-size:14px; }
    .streaming-core-capability .listbox > ul > li .feature-check { margin-top:12px; gap:6px; }
    .streaming-core-capability .listbox > ul > li .feature-check li { font-size:13px; }
    .streaming-core-capability .listbox > ul > li .chk-icon svg { width:16px; height:16px; }

    .streaming-core-capability .feature-list { margin-top:30px; gap:50px; }
    .streaming-core-capability .feature-tit { font-size:24px; }
    .streaming-value-maximize .feature-num { font-size:14px; }
    .streaming-value-maximize .feature-tit,
    .streaming-value-maximize .feature-tit .feature-sub { font-size:22px; font-weight:700; }
    .streaming-core-capability .feature-desc { margin-top:10px; font-size:14px; line-height:1.6; }
    .streaming-core-capability .feature-check { margin-top:16px; }
    .streaming-core-capability .feature-check li { font-size:13px; line-height:1.5; }
    .streaming-core-capability .arch-graphic { border-radius:12px; padding:24px 14px; }
    .streaming-value-maximize .arch-graphic { height:auto; min-height:auto; }
    .streaming-core-capability .arch-graphic h4,
    .streaming-core-capability .arch-graphic h5 { font-size:16px; }
    .streaming-core-capability .infra-control-graphic .infra-control-hub { max-width:260px; }
    .streaming-core-capability .infra-control-graphic .hub-node.hub-pos .hub-node-box { width:48px; height:48px; }
    .streaming-core-capability .infra-control-graphic .hub-node.hub-pos .hub-node-box svg { width:20px; height:20px; }
    .streaming-core-capability .infra-control-graphic .hub-node.hub-pos span { font-size:10px; }
    .streaming-core-capability .infra-control-graphic .hub-main { width:60px; height:60px; }
    .streaming-core-capability .infra-control-graphic .hub-main svg { width:26px; height:26px; }
    .streaming-core-capability .flexibility-flow-graphic .flex-flow-wrap { flex-direction:column; gap:16px; padding:16px 0; }
    .streaming-core-capability .flexibility-flow-graphic .flex-arrow { transform:rotate(90deg); }
    .streaming-core-capability .flexibility-flow-graphic .flex-sources,
    .streaming-core-capability .flexibility-flow-graphic .flex-screens { flex-direction:row; justify-content:center; gap:12px; }
    .streaming-core-capability .flexibility-flow-graphic .flex-node-box { width:44px; height:44px; }
    .streaming-core-capability .flexibility-flow-graphic .flex-node-box svg { width:18px; height:18px; }
    .streaming-core-capability .flexibility-flow-graphic .flex-node span { font-size:10px; }
    .streaming-core-capability .flexibility-graphic.use-case-cards { padding:20px 12px; }
    .streaming-core-capability .flexibility-graphic.use-case-cards .use-case-list { gap:16px 20px; }
    .streaming-core-capability .flexibility-graphic.use-case-cards .use-case-icon { width:44px; height:44px; }
    .streaming-core-capability .flexibility-graphic.use-case-cards .use-case-icon svg { width:22px; height:22px; }
    .streaming-core-capability .flexibility-graphic.use-case-cards .use-case-label { font-size:12px; }
    .streaming-core-capability .flexibility-graphic .streaming-hub-wrap { min-height:80px; margin-bottom:4px; }
    .streaming-core-capability .flexibility-graphic .streaming-hub-wrap .flow-hub { padding:8px 18px; font-size:12px; }
    .streaming-core-capability .flexibility-graphic .streaming-hub-wrap .hub-to-cards-lines { top:42px; height:50px; }
    .streaming-core-capability .arch-graphic .flow-track,
    .streaming-core-capability .arch-graphic .infra-top,
    .streaming-core-capability .arch-graphic .infra-bottom { margin-top:20px; gap:6px; }
    .streaming-core-capability .arch-graphic .node {
        width:calc(50% - 6px);
        min-height:80px;
        border-radius:8px;
        padding:10px 8px;
    }
    .streaming-core-capability .arch-graphic .node strong { font-size:13px; }
    .streaming-core-capability .arch-graphic .node p { margin-top:4px; font-size:12px; }
    .streaming-core-capability .arch-graphic .arrow { font-size:16px; }
    .streaming-core-capability .arch-graphic .flow-track .arrow {
        width:100%;
        display:block;
        text-align:center;
        font-size:0;
        line-height:1;
    }
    .streaming-core-capability .arch-graphic .flow-track .arrow:before {
        content:"↓";
        font-size:18px;
        font-weight:700;
        color:#8ba2bd;
    }
    .streaming-core-capability .infra-graphic .infra-top .arrow {
        width:100%;
        display:block;
        text-align:center;
        font-size:0;
        line-height:1;
    }
    .streaming-core-capability .infra-graphic .infra-top .arrow:before {
        content:"↓";
        font-size:18px;
        font-weight:700;
        color:#8ba2bd;
    }
    .streaming-core-capability .infra-graphic .infra-bottom .arrow {
        width:100%;
        display:block;
        text-align:center;
        font-size:0;
        line-height:1;
    }
    .streaming-core-capability .infra-graphic .infra-bottom .arrow:before {
        content:"↕";
        font-size:18px;
        font-weight:700;
        color:#8ba2bd;
    }
    .streaming-core-capability .infra-graphic .infra-mid { margin-top:14px; }
    .streaming-core-capability .infra-graphic .infra-mid span { padding:7px 12px; font-size:12px; }
}

/* animation */
.streaming-core-capability .listbox > ul > li { opacity:0; }
.streaming-core-capability.subOn .listbox > ul > li:nth-child(1) { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
.streaming-core-capability.subOn .listbox > ul > li:nth-child(2) { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }
.streaming-core-capability.subOn .listbox > ul > li:nth-child(3) { animation:ani_4 0.8s 0.6s; animation-fill-mode:both; }
.streaming-core-capability.subOn .listbox > ul > li:nth-child(4) { animation:ani_4 0.8s 0.8s; animation-fill-mode:both; }
.cloud-managed-strength.subOn .listbox > ul > li:nth-child(5) { animation:ani_4 0.8s 1.0s; animation-fill-mode:both; }
.cloud-managed-strength.subOn .listbox > ul > li:nth-child(6) { animation:ani_4 0.8s 1.2s; animation-fill-mode:both; }
/* Managed cloud cards: 3 columns on desktop, 2 on tablet, 1 on mobile. */
.cloud-managed-strength .listbox > ul > li { width:calc((100% - 40px) / 3); }
@media screen and (max-width:1024px){
    .cloud-managed-strength .listbox > ul > li { width:calc((100% - 15px) / 2); }
}
@media screen and (max-width:640px){
    .cloud-managed-strength .listbox > ul > li { width:100%; }
}

/* WAF 기능 섹션 (cloudflare_security.php) */
.waf-feature-section { padding:120px 0 140px; background:#fff; }
.waf-feature-section .subTitle .txtbox { margin-top:12px; font-size:17px; color:#666; line-height:1.5; }
.waf-feature-section .waf-feature-list { margin-top:50px; }
.waf-feature-section .waf-feature-list > ul {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}
.waf-feature-section .waf-feature-list > ul > li {
    width:calc((100% - 40px) / 3);
}
.waf-feature-section .waf-feature-list .box {
    height:100%;
    padding:28px 26px 24px;
    border:1px solid #e2e8f0;
    border-radius:14px;
    background:#fff;
    display:flex;
    flex-direction:column;
}
.waf-feature-section .waf-feature-list .box dt {
    font-size:20px;
    font-weight:700;
    color:#1e293b;
    line-height:1.35;
    letter-spacing:-0.02em;
}
.waf-feature-section .waf-feature-list .box dd {
    margin-top:12px;
    font-size:15px;
    font-weight:400;
    color:#64748b;
    line-height:1.65;
    letter-spacing:-0.01em;
    flex:1;
}
.waf-feature-section .waf-feature-list .waf-tags {
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid #e5e7eb;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.waf-feature-section .waf-feature-list .waf-tags span {
    display:inline-block;
    padding:6px 12px;
    font-size:13px;
    font-weight:600;
    color:var(--mainColor);
    background:rgba(5, 105, 255, 0.08);
    border-radius:6px;
}
.waf-feature-section .waf-feature-list > ul > li { opacity:0; }
.waf-feature-section.subOn .waf-feature-list > ul > li:nth-child(1) { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
.waf-feature-section.subOn .waf-feature-list > ul > li:nth-child(2) { animation:ani_4 0.8s 0.35s; animation-fill-mode:both; }
.waf-feature-section.subOn .waf-feature-list > ul > li:nth-child(3) { animation:ani_4 0.8s 0.5s; animation-fill-mode:both; }
.waf-feature-section.subOn .waf-feature-list > ul > li:nth-child(4) { animation:ani_4 0.8s 0.65s; animation-fill-mode:both; }
.waf-feature-section.subOn .waf-feature-list > ul > li:nth-child(5) { animation:ani_4 0.8s 0.8s; animation-fill-mode:both; }
.waf-feature-section.subOn .waf-feature-list > ul > li:nth-child(6) { animation:ani_4 0.8s 0.95s; animation-fill-mode:both; }
/* 스마트 라우팅 활용 시나리오 (cloudflare_smartrouting.php) */
.routing-scenario-section .waf-feature-list > ul > li { width:calc((100% - 20px) / 2); }
.routing-scenario-section .waf-feature-list .scenario-icon {
    width:48px; height:48px; margin-bottom:16px;
    display:flex; align-items:center; justify-content:center;
}
.routing-scenario-section .waf-feature-list .scenario-icon img {
    width:32px; height:32px; object-fit:contain;
}
.routing-scenario-section .waf-tags span { background:var(--mainColor); color:#fff; border-color:var(--mainColor); }
@media screen and (max-width:1024px){
    .waf-feature-section { padding:100px 0 120px; }
    .waf-feature-section .waf-feature-list > ul > li { width:calc((100% - 20px) / 2); }
}
@media screen and (max-width:768px){
    .waf-feature-section { padding:80px 0 100px; }
    .waf-feature-section .waf-feature-list { margin-top:40px; }
    .waf-feature-section .waf-feature-list > ul > li { width:100%; }
    .waf-feature-section .waf-feature-list .box { padding:24px 22px 20px; }
    .waf-feature-section .waf-feature-list .box dt { font-size:18px; }
    .waf-feature-section .waf-feature-list .box dd { font-size:14px; }
}
@media screen and (max-width:640px){
    .waf-feature-section { padding:60px 0 80px; }
    .waf-feature-section .subTitle .txtbox { font-size:15px; }
    .waf-feature-section .waf-feature-list .waf-tags span { font-size:12px; padding:5px 10px; }
}

.Co-location { padding:140px 0; background:#fff; }
.Co-location .bg { background-color:#f5f5f5; }
.Co-location .subTitle .txtbox { margin-top:25px; }
.Co-location .subTitle .txtbox strong { color:var(--mainColor); }
.Co-location .boxCont { position:relative; margin-top:60px; }
.Co-location .boxCont:before { content:''; display:block; position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:1px; background:var(--mainColor); }
.Co-location .boxCont .circle-box { position:relative; margin:0 auto; width:521px; height:521px; border:72px solid #f2f6fa; background:#fff; border-radius:521px; display:flex; justify-content:center; align-items:center; }
.Co-location .boxCont .circle-box .circle { position:relative; z-index:5; width:305px; height:305px; border-radius:400px; background:var(--mainColor); display:flex; justify-content:center; align-items:center; text-align:center; }
.Co-location .boxCont .circle-box .circle .txt { font-size:16px; font-weight:400; line-height:1.5; color:#fff; }
.Co-location .boxCont .circle-box .circle .txt strong { font-size:28px; font-weight:600; line-height:1.3; display:block; margin-bottom:13px; }
.Co-location .boxCont .txtbox { position:absolute; top:50%; transform:translateY(-50%); height:305px; width:652px; border:1px solid #0569ff; background:#fff; border-radius:300px; display:flex; align-items:center; }
.Co-location .boxCont .txtbox .circle { position:relative; width:200px; height:200px; background:#f2f6fa; border-radius:200px; display:flex;justify-content:center; align-items:center; text-align:center; }
.Co-location .boxCont .txtbox .circle:before { content:''; display:block; z-index:-1; position:absolute; top:50%; left:-30px; transform:translateY(-50%); width:calc(100% + 60px); height:1px; background:var(--mainColor); }
.Co-location .boxCont .txtbox .circle .txt { font-size:18px; font-weight:600; line-height:1.3; color:#222; }
.Co-location .boxCont .txtbox .box { display:flex; align-items:center; padding-left:82px; }
.Co-location .boxCont .txtbox .box ul { position:relative; margin:0 0 0 30px; }
.Co-location .boxCont .txtbox .box ul:before { content:''; display:block; position:absolute; top:50%; left:0; transform:translateY(-50%); width:1px; height:69px; background:var(--mainColor); }
.Co-location .boxCont .txtbox .box li { position:relative; padding-left:45px; color:#222; font-size:18px; font-weight:500; line-height:1.3; letter-spacing:-0.02em; }
.Co-location .boxCont .txtbox .box li:not(:last-child) { margin-bottom:45px; }
.Co-location .boxCont .txtbox .box li:before { content:''; display:block; position:absolute; top:50%; left:0; transform:translateY(-50%); width:30px; height:1px; background:var(--mainColor); }
.Co-location .boxCont .txtbox .box li .stxt { position:absolute; top:50%; right:145px; transform:translateY(-50%); width:260px; color:#444; font-size:16px; font-weight:400; line-height:1.5; letter-spacing:-0.02em; }
.Co-location .boxCont .txtbox .box .txt_b { position:absolute; bottom:-28px; left:50%; transform:translateX(-50%); padding:0 30px; background:#fff; text-align:center; color:#444; font-size:16px; font-weight:400; line-height:1.5; letter-spacing:-0.02em; }
.Co-location .boxCont .txtbox .box .txt_b strong { display:block; color:var(--mainColor); font-size:20px; font-weight:600; }
.Co-location .boxCont .txtbox.txt-1 { right:50%; margin-right:95px; justify-content:flex-end; }
.Co-location .boxCont .txtbox.txt-1 .box { flex-direction:row-reverse; padding-left:0; padding-right:82px; }
.Co-location .boxCont .txtbox.txt-1 .box ul { position:relative; margin:0 30px 0 0; text-align:right; }
.Co-location .boxCont .txtbox.txt-1 .box ul:before { left:unset; right:0; }
.Co-location .boxCont .txtbox.txt-1 .box li { padding-left:0; padding-right:45px; }
.Co-location .boxCont .txtbox.txt-1 .box li:before { left:unset; right:0; }
.Co-location .boxCont .txtbox.txt-2 { left:50%; margin-left:95px; }
@media screen and (max-width:1500px){
    .Co-location .boxCont .circle-box { width:430px; height:430px; border:60px solid #f2f6fa; }
    .Co-location .boxCont .circle-box .circle { width:250px; height:250px; }
    .Co-location .boxCont .circle-box .circle .txt { font-size:16px; }
    .Co-location .boxCont .circle-box .circle .txt strong { font-size:26px;  }
    .Co-location .boxCont .txtbox { height:250px; width:540px;}
    .Co-location .boxCont .txtbox .circle {width:180px; height:180px; }
    .Co-location .boxCont .txtbox .circle:before { left:-20px; width:calc(100% + 40px); }
    .Co-location .boxCont .txtbox .circle .txt { font-size:18px; }
    .Co-location .boxCont .txtbox .box { padding-left:60px; }
    .Co-location .boxCont .txtbox .box ul { margin:0 0 0 20px; }
    .Co-location .boxCont .txtbox .box ul:before { height:59px; }
    .Co-location .boxCont .txtbox .box li { padding-left:35px; font-size:18px; }
    .Co-location .boxCont .txtbox .box li:not(:last-child) { margin-bottom:35px; }
    .Co-location .boxCont .txtbox .box li:before { width:20px; }
    .Co-location .boxCont .txtbox .box li .stxt { right:130px; width:260px; font-size:16px; }
    .Co-location .boxCont .txtbox .box .txt_b { bottom:-28px; padding:0 25px; font-size:16px; }
    .Co-location .boxCont .txtbox .box .txt_b strong { font-size:20px; }
    .Co-location .boxCont .txtbox.txt-1 { margin-right:75px; }
    .Co-location .boxCont .txtbox.txt-1 .box { padding-right:60px; }
    .Co-location .boxCont .txtbox.txt-1 .box ul { margin:0 20px 0 0; }
    .Co-location .boxCont .txtbox.txt-1 .box li { padding-right:35px; }
    .Co-location .boxCont .txtbox.txt-2 { margin-left:75px; }
}
@media screen and (max-width:1280px){
    .Co-location .boxCont .circle-box { width:360px; height:360px; border:50px solid #f2f6fa; }
    .Co-location .boxCont .circle-box .circle { width:190px; height:190px; }
    .Co-location .boxCont .circle-box .circle .txt { font-size:15px; }
    .Co-location .boxCont .circle-box .circle .txt strong { font-size:20px; margin-bottom:8px;}
    .Co-location .boxCont .txtbox { height:190px; width:440px;}
    .Co-location .boxCont .txtbox .circle {width:140px; height:140px; }
    .Co-location .boxCont .txtbox .circle:before { left:-15px; width:calc(100% + 30px); }
    .Co-location .boxCont .txtbox .circle .txt { font-size:16px; }
    .Co-location .boxCont .txtbox .box { padding-left:40px; }
    .Co-location .boxCont .txtbox .box ul { margin:0 0 0 15px; }
    .Co-location .boxCont .txtbox .box ul:before { height:49px; }
    .Co-location .boxCont .txtbox .box li { padding-left:25px; font-size:16px; }
    .Co-location .boxCont .txtbox .box li:not(:last-child) { margin-bottom:28px; }
    .Co-location .boxCont .txtbox .box li:before { width:13px; }
    .Co-location .boxCont .txtbox .box li .stxt { right:110px; width:260px; font-size:15px; }
    .Co-location .boxCont .txtbox .box .txt_b { bottom:-24px; padding:0 20px; font-size:15px; }
    .Co-location .boxCont .txtbox .box .txt_b strong { font-size:18px; }
    .Co-location .boxCont .txtbox.txt-1 { margin-right:60px; }
    .Co-location .boxCont .txtbox.txt-1 .box { padding-right:40px; }
    .Co-location .boxCont .txtbox.txt-1 .box ul { margin:0 15px 0 0; }
    .Co-location .boxCont .txtbox.txt-1 .box li { padding-right:25px; }
    .Co-location .boxCont .txtbox.txt-2 { margin-left:60px; }
}
@media screen and (max-width:1024px){
    .Co-location .boxCont { padding:230px 0; }
    .Co-location .boxCont:before { display:none }
    .Co-location .boxCont .circle-box { width:360px; height:360px; border:50px solid #f2f6fa; }
    .Co-location .boxCont .circle-box .circle { width:210px; height:210px; }
    .Co-location .boxCont .circle-box .circle .txt { font-size:14px; }
    .Co-location .boxCont .circle-box .circle .txt strong { font-size:18px; margin-bottom:8px; }
    .Co-location .boxCont .txtbox { height:380px; width:210px; justify-content:center; align-items:flex-start; }
    .Co-location .boxCont .txtbox .circle {width:140px; height:140px; }
    .Co-location .boxCont .txtbox .circle:before { left:50%; top:-20px; transform:translate(0); width:1px; height:calc(100% + 40px); }
    .Co-location .boxCont .txtbox .circle .txt { font-size:16px; }
    .Co-location .boxCont .txtbox .box { padding-left:0; padding-top:60px; flex-direction:column; }
    .Co-location .boxCont .txtbox .box ul { margin:20px 0 0; display:flex; }
    .Co-location .boxCont .txtbox .box ul:before { height:1px; width:98px; top:0; left:50%; transform:translate(-50%, 0); }
    .Co-location .boxCont .txtbox .box li { padding:25px 0 0; font-size:16px; width:70px; text-align:center }
    .Co-location .boxCont .txtbox .box li:not(:last-child) { margin:0 28px 0 0; }
    .Co-location .boxCont .txtbox .box li:before { width:1px; height:13px; left:50%; top:0; transform:translate(0)}
    .Co-location .boxCont .txtbox .box li .stxt { right:unset; top:unset; bottom:50px; width:260px; font-size:15px; }
    .Co-location .boxCont .txtbox .box .txt_b { bottom:-10px; padding:0 10px; font-size:15px; width:140px; }
    .Co-location .boxCont .txtbox .box .txt_b strong { font-size:18px; }
    .Co-location .boxCont .txtbox.txt-1 { margin:0 0 60px; top:unset; bottom:50%; left:50%; transform:translateX(-50%) !important; flex-direction:column; align-items:center; }
    .Co-location .boxCont .txtbox.txt-1 .box { padding-right:0; padding-bottom:60px; flex-direction:column-reverse;  }
    .Co-location .boxCont .txtbox.txt-1 .box ul { margin:0 0 20px; align-items:flex-end; }
    .Co-location .boxCont .txtbox.txt-1 .box ul:before { top:unset; bottom:0; left:50%; }
    .Co-location .boxCont .txtbox.txt-1 .box li { padding:0 0 25px; }
    .Co-location .boxCont .txtbox.txt-1 .box li:before { top:unset; bottom:0; left:50%; }
    .Co-location .boxCont .txtbox.txt-2 { margin:60px 0 0; transform:translateX(-50%) !important; }
}

/* animation */
.Co-location .boxCont .circle-box .circle,
.Co-location .boxCont .txtbox { opacity:0; }
.Co-location.subOn .boxCont .circle-box  .circle { animation:bgs4 0.8s 0.2s; animation-fill-mode:both; }
.Co-location.subOn .boxCont .txtbox.txt-1 { animation:ani_left1 0.8s 0.5s; animation-fill-mode:both; }
.Co-location.subOn .boxCont .txtbox.txt-2 { animation:ani_right1 0.8s 0.5s; animation-fill-mode:both; }

.loadBalancer-box { padding:140px 0; background:#fff; }
.loadBalancer-box * { word-break:keep-all; }
.loadBalancer-box.bg { background:#f5f5f5; }
.loadBalancer-box .listbox { margin-top:50px; z-index:2; position:relative; }
.loadBalancer-box1 .listbox ul { display:flex; flex-wrap:wrap; gap:20px; }
.loadBalancer-box1 .listbox li { position:relative; width:calc((100% - 60px) / 4); border-radius:10px; border:1px solid #ddd; background:#fff; display:flex; justify-content:center; text-align:center; padding:45px 10px 60px; }
.loadBalancer-box1 .listbox li .icon { width:210px; height:210px; border-radius:210px; background:#f9f9f9; display:flex; align-items:center; justify-content:center; margin:0 auto; }
.loadBalancer-box1 .listbox li .txtbox { margin-top:45px; font-size:16px; font-weight:400; color:#444; line-height:1.6; letter-spacing:-0.02em; }
.loadBalancer-box2 .listbox ul { display:flex; flex-wrap:wrap; gap:20px; }
.loadBalancer-box2 .listbox li { width:calc((100% - 40px) / 3); border-radius:10px; border:1px solid #ddd; background:#fff; padding:50px; }
.loadBalancer-box2 .listbox li .icon { width:102px; height:102px; border-radius:102px; background:#f9f9f9; display:flex; align-items:center; justify-content:center; }
.loadBalancer-box2 .listbox li .txtbox dt { position:relative; margin-top:20px; padding-bottom:15px; font-size:24px; font-weight:700; color:#222; line-height:1.3; letter-spacing:-0.02em; }
.loadBalancer-box2 .listbox li .txtbox dt:before { content:''; display:block; position:absolute; left:0; bottom:0; width:19px; height:1px; background:#000; }
.loadBalancer-box2 .listbox li .txtbox dd { margin-top:15px; font-size:18px; font-weight:400; color:#444; line-height:1.5; letter-spacing:-0.02em; }
.loadBalancer-box3 .listbox:before { content:''; display:block; position:absolute; top:50%; left:0; width:100%; height:1px; transform:translateY(-50%); margin-top:-5px; background:var(--mainColor); }
.loadBalancer-box3 .listbox ul { position:relative; z-index:2; display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; padding:92px 145px 73px; border-radius:990px; border:1px solid #0569ff; background:#fff; }
.loadBalancer-box3 .listbox li { position:relative; }
.loadBalancer-box3 .listbox li .icon { text-align:center;}
.loadBalancer-box3 .listbox li .icon-1,
.loadBalancer-box3 .listbox li .icon-4 { padding-top:0; width:85px;  }
.loadBalancer-box3 .listbox li .icon-1 img:not(:last-child) { margin-bottom:40px; }
.loadBalancer-box3 .listbox li .icon-4 img:not(:last-child) { margin-bottom:20px; }
.loadBalancer-box3 .listbox li .txt { margin-top:20px; font-size:22px; font-weight:500; color:#222; line-height:1.5; letter-spacing:-0.02em; text-align:center; }
.loadBalancer-box3 .listbox li .circle { width:250px; height:250px; border-radius:250px; display:flex; align-items:center; justify-content:center; flex-direction:column; background:#f2f6fa; }
.loadBalancer-box3 .listbox li:nth-child(3) .circle { background:var(--mainColor); }
.loadBalancer-box3 .listbox li:nth-child(3) .txt { color:#fff; }
.loadBalancer-box3 .listbox li:nth-child(4) .txt { margin-top:15px; }
.loadBalancer-box3 .listbox .lb-box { position:relative; }
.loadBalancer-box3 .listbox .lb-box:before { z-index:3; content:''; display:block; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); margin-top:-5px; width:90px; height:16px; background:url(../img/server/loadBalancer_arr2.png) no-repeat right top; }
.loadBalancer-box3 .listbox ul:before { content:''; display:block; position:absolute; top:50%; left:22%; transform:translate(-50%, -50%); margin-top:-5px; width:91px; height:184px; background:url(../img/server/loadBalancer_arr1.png) no-repeat right top; }
.loadBalancer-box3 .listbox ul:after { content:''; display:block; position:absolute; top:50%; left:79%; transform:translate(-50%, -50%); margin-top:-5px; width:149px; height:224px; background:url(../img/server/loadBalancer_arr3.png) no-repeat right top; }
@media screen and (max-width:1400px){
    .loadBalancer-box .listbox li .txtbox br { display:none }
    .loadBalancer-box3 .listbox ul { padding:92px 120px 73px;}
    .loadBalancer-box3 .listbox li .circle { width:200px; height:200px; }
    .loadBalancer-box3 .listbox li .circle .icon img { width:80px; }
    .loadBalancer-box3 .listbox .lb-box:before { width:80px; }
    .loadBalancer-box3 .listbox ul:before { left:23%; width:80px; }
    .loadBalancer-box3 .listbox ul:after { left:78%; width:110px; }
}
@media screen and (max-width:1280px){
    .loadBalancer-box1 .listbox li { padding:30px 10px; }
    .loadBalancer-box1 .listbox li .icon { width:170px; height:170px; }
    .loadBalancer-box1 .listbox li .txtbox { margin-top:30px; }
    .loadBalancer-box2 .listbox li { padding:30px; }
    .loadBalancer-box3 .listbox ul { padding:72px 120px 53px;}
    .loadBalancer-box3 .listbox li .circle { width:160px; height:160px; }
    .loadBalancer-box3 .listbox li .circle .icon img { width:60px; }
    .loadBalancer-box3 .listbox li .txt { margin-top:10px; font-size:20px; }
    .loadBalancer-box3 .listbox li .icon-1,
    .loadBalancer-box3 .listbox li .icon-4 { width:65px; }
    .loadBalancer-box3 .listbox li .icon-1 img,
    .loadBalancer-box3 .listbox li .icon-4 img { max-width:100% }
    .loadBalancer-box3 .listbox .lb-box:before { width:60px; }
    .loadBalancer-box3 .listbox ul:before { left:24%; width:60px; }
    .loadBalancer-box3 .listbox ul:after { left:77%; width:90px; }
}
@media screen and (max-width:1024px){
    .loadBalancer-box { padding:100px 0; }
    .loadBalancer-box .listbox { margin-top:40px; }
    .loadBalancer-box1 .listbox li { width:calc((100% - 20px) / 2); padding:20px 10px; }
    .loadBalancer-box1 .listbox li .icon { width:170px; height:170px; }
    .loadBalancer-box1 .listbox li .txtbox { margin-top:25px; font-size:15px; }
    .loadBalancer-box2 .listbox li { padding:20px; }
    .loadBalancer-box2 .listbox li .txtbox dt { margin-top:15px; padding-bottom:10px; font-size:20px; }
    .loadBalancer-box2 .listbox li .txtbox dt:before { width:14px; }
    .loadBalancer-box2 .listbox li .txtbox dd { margin-top:10px; font-size:16px; }
    .loadBalancer-box3 .listbox ul { padding:80px 40px; flex-direction:column; gap:120px 0; }
    .loadBalancer-box3 .listbox li .circle { width:160px; height:160px; }
    .loadBalancer-box3 .listbox li .circle .icon img { width:60px; }
    .loadBalancer-box3 .listbox li .txt { font-size:18px; }
    .loadBalancer-box3 .listbox li .icon-1,
    .loadBalancer-box3 .listbox li .icon-4 { width:65px; display:flex; align-items:flex-start; gap:0 20px; justify-content:center; }
    .loadBalancer-box3 .listbox li .icon-1 img,
    .loadBalancer-box3 .listbox li .icon-4 img { max-width:100%; }
    .loadBalancer-box3 .listbox li .icon-1 img:not(:last-child),
    .loadBalancer-box3 .listbox li .icon-4 img:not(:last-child) { margin-bottom:0; }
    .loadBalancer-box3 .listbox .lb-box { max-width:400px; margin:0 auto; }
    .loadBalancer-box3 .listbox .lb-box:before { transform:translate(-50%, -50%) rotate(90deg); margin:0; }
    .loadBalancer-box3 .listbox ul:before { left:50%; top:22%; transform:translate(-50%, -50%) rotate(90deg); margin:0; }
    .loadBalancer-box3 .listbox ul:after { left:50%; top:77%; transform:translate(-50%, -50%) rotate(90deg); margin:0; }
}
@media screen and (max-width:760px){
    .loadBalancer-box1 .listbox ul,
    .loadBalancer-box2 .listbox ul { gap:10px; }
    .loadBalancer-box1 .listbox li { width:calc((100% - 10px) / 2); }
    .loadBalancer-box2 .listbox li { width:100%; }
    .loadBalancer-box2 .listbox li { padding:20px 30px; }
    .loadBalancer-box2 .listbox li .icon { margin:0 auto; }
    .loadBalancer-box2 .listbox li .txtbox { text-align:center; }
    .loadBalancer-box2 .listbox li .txtbox dt:before { left:50%; transform:translateX(-50%); }
}
@media screen and (max-width:640px){
    .loadBalancer-box { padding:80px 0; }
    .loadBalancer-box .listbox { margin-top:30px; }
    .loadBalancer-box1 .listbox li .icon { width:140px; height:140px; }
    .loadBalancer-box1 .listbox li .icon img { width:60px; }
    .loadBalancer-box1 .listbox li .txtbox { margin-top:20px; }
}

/* animation */
.loadBalancer-box .listbox { opacity:0; }
.loadBalancer-box.subOn .listbox { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }

/*** media ***/
.media-box > div:nth-child(1) { padding-bottom:110px; }
.media-streaming { padding:140px 0; overflow:hidden }
.media-streaming * { word-break:keep-all; }
.media-streaming.bg { background:#fff; }
.media-streaming .subTitle .txtbox { margin-top:10px; }
.media-streaming .listbox { margin-top:50px; z-index:2; position:relative; }
.media-streaming.streaming-box1 .listbox ul { display:flex; flex-wrap:wrap; gap:20px; }
.media-streaming.streaming-box1 .listbox li { width:calc((100% - 60px) / 4); border-radius:15px; background:#f9f9f9; padding:50px 10px 40px 50px; }
.media-streaming.streaming-box1 .listbox li .icon { width:102px; height:102px; border-radius:102px; background:#fff; display:flex; align-items:center; justify-content:center; }
.media-streaming.streaming-box1 .listbox li .txtbox { margin-top:25px; font-size:20px; font-weight:400; color:#222; line-height:1.5; letter-spacing:-0.02em; }
.media-streaming.streaming-box1 .listbox li .txtbox strong { font-weight:600; }
.media-streaming.streaming-box2 .listbox ul { display:flex; flex-wrap:wrap; gap:20px; }
.media-streaming.streaming-box2 .listbox li { width:calc((100% - 40px) / 3); border-radius:15px; background:#fff; padding:35px 10px 45px 50px; }
.media-streaming.streaming-box2 .listbox li .icon { width:102px; height:102px; border-radius:102px; background:#f9f9f9; display:flex; align-items:center; justify-content:center; }
.media-streaming.streaming-box2 .listbox li .txtbox { margin-top:20px; font-size:18px; font-weight:400; color:#222; line-height:1.5; letter-spacing:-0.02em; }
.media-streaming.streaming-box2 .listbox li .txtbox strong { font-weight:600; }
.media-streaming.streaming-box3 .listbox:before { content:''; display:block; position:absolute; left:0; top:50%; width:100%; z-index:5; height:1px; background:var(--mainColor); }
.media-streaming.streaming-box3 .listbox .s-box { position:relative; padding:103px 0; margin-top:100px; display:flex; flex-wrap:wrap; gap:80px; }
.media-streaming.streaming-box3 .listbox .s-box:before { content:''; display:block; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:447px; height:447px; border-radius:521px; background:#fff; border:74px solid #f2f6fa; }
.media-streaming.streaming-box3 .listbox .s-box .circle-box { position:relative; z-index:5; width:calc((100% - 240px) / 4); }
.media-streaming.streaming-box3 .listbox .s-box .circle-box:before { content:''; display:block; padding-bottom:100%; }
.media-streaming.streaming-box3 .listbox .s-box .circle-box .box { position:absolute; left:0; top:0; width:100%; height:100%; border-radius:100%; border:1px solid var(--mainColor); background:#fff; display:flex; align-items:center; justify-content:center; flex-direction:column; }
.media-streaming.streaming-box3 .listbox .s-box .circle-box .box .txtbox { margin-top:24px; font-size:18px; font-weight:600; color:#222; line-height:1.5; letter-spacing:-0.02em; }
/* cloudflare-4step: n단계 원 밖 위에, 아이콘/타이틀/서브 문구 가운데 정렬 */
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box { padding:20px 16px; align-items:center; justify-content:center; }
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-num { position:absolute; top:-36px; left:50%; transform:translateX(-50%); font-size:24px; font-weight:700; color:var(--mainColor); letter-spacing:-0.02em; white-space:nowrap; z-index:6; }
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .icon { flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-bottom: 12px; }
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .icon img { width:56px; }
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .txtbox { margin-top:10px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px; }
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-tit { font-size:20px; font-weight:700; color:#222; line-height:1.35; letter-spacing:-0.02em; }
.media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-desc { font-size:14px; font-weight:400; color:#666; line-height:1.5; letter-spacing:-0.02em; }
.media-streaming.streaming-box3 .listbox .s-box .info { white-space:nowrap; position:absolute; top:calc(50% + 225px); transform:translate(-50%, -50%); height:56px; border-radius:56px; background:var(--mainColor); font-size:17px; font-weight:600; color:#fff; line-height:1.3; letter-spacing:-0.02em; text-align:center; display:flex; align-items:center; padding:0 30px; }
.media-streaming.streaming-box3 .listbox .s-box .info span { position:absolute; left:50%; transform:translateX(-50%); top:-18px; z-index:5; width:35px; height:35px; border-radius:35px; background:#fff; border:2px solid var(--mainColor); font-size:14px; font-weight:600; color:var(--mainColor); line-height:1.5; letter-spacing:-0.02em; display:flex; align-items:center; justify-content:center; }
.media-streaming.streaming-box3 .listbox .s-box .info:after { content:''; display:block; position:absolute; top:-206px; left:50%; transform:translateX(-50%); width:11px; height:17px; background:url(../img/media/icon_arr.png) no-repeat right center; }
.media-streaming.streaming-box3 .listbox .s-box .info:before { content:''; display:block; position:absolute; top:-200px; left:50%; transform:translateX(-50%); width:1px; height:200px; background:url(../img/media/icon_line_p.png) no-repeat right center; }
.media-streaming.streaming-box3 .listbox .s-box .info-1 { left:25%; margin-left:-18px; }
.media-streaming.streaming-box3 .listbox .s-box .info-2 { left:50%; }
.media-streaming.streaming-box3 .listbox .s-box .info-3 { left:75%; margin-left:18px;}
@media screen and (max-width:1280px){
    .media-streaming .listbox li .txtbox br { display:none }
    .media-streaming.streaming-box3 .listbox .s-box { padding:100px 0; margin-top:80px; gap:60px; }
    .media-streaming.streaming-box3 .listbox .s-box:before { width:400px; height:400px; border:60px solid #f2f6fa; }
    .media-streaming.streaming-box3 .listbox .s-box .circle-box { width:calc((100% - 180px) / 4); }
    .media-streaming.streaming-box3 .listbox .s-box .info { top:calc(50% + 180px); }
    .media-streaming.streaming-box3 .listbox .s-box .info:after { top:-163px; }
    .media-streaming.streaming-box3 .listbox .s-box .info:before { top:-155px; height:155px; }
    .media-streaming.streaming-box3 .listbox .s-box .info { height:50px; padding:0 20px; }
}
@media screen and (max-width:1024px){
    .media-streaming { padding:100px 0; }
    .media-streaming .listbox { margin-top:40px; }
    .media-streaming.streaming-box1 .listbox li { padding:30px 10px 30px 30px; }
    .media-streaming.streaming-box1 .listbox li .txtbox { margin-top:22px; font-size:18px; }
    .media-streaming.streaming-box2 .listbox li { padding:30px 10px 30px 30px; }
    .media-streaming.streaming-box2 .listbox li .txtbox { margin-top:16px; font-size:16px; }
    .media-streaming.streaming-box1 .listbox li { width:calc((100% - 20px) / 2); }
    .media-streaming.streaming-box3 .listbox .s-box { padding:100px 0; margin-top:80px; gap:50px; }
    .media-streaming.streaming-box3 .listbox .s-box:before { width:360px; height:360px; border:50px solid #f2f6fa; }
    .media-streaming.streaming-box3 .listbox .s-box .circle-box { width:calc((100% - 150px) / 4); }
    .media-streaming.streaming-box3 .listbox .s-box .circle-box .box .txtbox { margin-top:15px; font-size:16px; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-tit { font-size:18px; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-desc { font-size:12px; }
    .media-streaming.streaming-box3 .listbox .s-box .info { top:calc(50% + 177px); }
    .media-streaming.streaming-box3 .listbox .s-box .info { font-size:16px; height:45px; padding:0 15px; }
}
@media screen and (max-width:860px){
    .media-streaming.streaming-box1 .listbox ul,
    .media-streaming.streaming-box2 .listbox ul { gap:10px; }
    .media-streaming.streaming-box1 .listbox li .icon,
    .media-streaming.streaming-box2 .listbox li .icon { margin:0 auto; }
    .media-streaming.streaming-box2 .listbox li { width:100%; }
    .media-streaming.streaming-box3 .listbox:before { left:50%; top:0; width:1px; height:100%;  }
    .media-streaming.streaming-box3 .listbox .s-box { width:320px; padding:0; margin:0 auto; gap:50px; }
    .media-streaming.streaming-box3 .listbox .s-box .circle-box { width:220px; margin:0 auto; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-num { top:16px; font-size:20px; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box { padding:16px 12px; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .icon { margin-bottom: 0; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .icon img { width:32px; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-tit { font-size:17px; }
    .media-streaming.streaming-box3.cloudflare-4step .listbox .s-box .circle-box .box .step-desc { font-size:12px; }
    .media-streaming.streaming-box3 .listbox .s-box:before { display:none }
    .media-streaming.streaming-box3 .listbox .s-box .info { top:unset; transform:translate(0, -50%); font-size:15px; height:auto; padding:10px 13px; white-space:inherit; }
    .media-streaming.streaming-box3 .listbox .s-box .info-1 { left:195px; top:25%; margin:0; }
    .media-streaming.streaming-box3 .listbox .s-box .info-2 { left:195px; top:50%; margin:0; }
    .media-streaming.streaming-box3 .listbox .s-box .info-3 { left:195px; top:75%; margin:0; }
    .media-streaming.streaming-box3 .listbox .s-box .info span { left:-20px; transform:translate(0, -50%); top:50%; width:30px; height:30px; font-size:13px; }
    .media-streaming.streaming-box3 .listbox .s-box .info:after { transform:translate(0, -50%) rotate(90deg); top:50%; left:-40px; }
    .media-streaming.streaming-box3 .listbox .s-box .info:before { display:none }
}
@media screen and (max-width:640px){
    .media-streaming { padding:80px 0; }
    .media-streaming .listbox { margin-top:30px; }
    .media-streaming.streaming-box1 .listbox li { padding:20px 10px 20px 20px; }
    .media-streaming.streaming-box1 .listbox li .txtbox { margin-top:20px; font-size:16px; text-align:center }
    .media-streaming.streaming-box2 .listbox li { padding:20px 10px 20px 20px; }
    .media-streaming.streaming-box2 .listbox li .txtbox { margin-top:16px; font-size:15px; }
}


/* animation */
.media-streaming .listbox { opacity:0; }
.media-streaming.subOn .listbox { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }

.cloud-private  { padding:140px 0; }
.cloud-private * { word-break:keep-all; }
.cloud-private.bg { background:#fff; }
.cloud-private .listbox { margin-top:50px; z-index:2; position:relative;}

.cloud-private.private-box1 .listbox.gpu .box {display: flex; align-items: center; }
.cloud-private.private-box1 .listbox.gpu .box .txtbox { padding-left: 30px; }
.cloud-private.private-box1 .listbox.gpu li .icon { width:115px; height:115px; }

/* .cloud-private.private-box1 { padding-top:0; } */
.cloud-private.private-box1 .listbox ul { display:flex; flex-wrap:wrap; gap:20px; }
.cloud-private.private-box1 .listbox li { width:calc((100% - 40px) / 3); border-radius:15px; background:#f9f9f9; border: 1px solid #ddd; padding:35px; }
.cloud-private.private-box1 .listbox li .icon { width:102px; height:102px; border-radius:102px; background:#fff; display:flex; align-items:center; justify-content:center; }
.cloud-private.private-box1 .listbox li .txtbox dt { position:relative; margin-top:20px; font-size:24px; font-weight:700; color:#222; line-height:1.5; letter-spacing:-0.02em; padding-bottom:15px; }
.cloud-private.private-box1 .listbox li .txtbox dt h3 { font:inherit; color:inherit; }
.cloud-private.private-box1 .listbox li .txtbox dt:before { content:''; display:block; position:absolute; bottom:0; left:0; width:19px; height:1px; background:#000; }
.cloud-private.private-box1 .listbox li .txtbox dd { margin-top:15px; font-size:18px; font-weight:400; color:#444; line-height:1.5; letter-spacing:-0.02em; }
.cloud-private.private-box1 .listbox li .txtbox a {color: var(--mainColor);}
/* migration strength - num instead of icon */
.cloud-private.migration-strength .listbox li { width:calc((100% - 40px) / 3); }
.cloud-private.migration-strength .listbox li .strength-num {
    width:102px;
    height:102px;
    border-radius:102px;
    background:#efefef;
    color: rgba(100, 100, 100, 0.5);
    font-size:36px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}
.cloud-private.migration-strength .listbox li .txtbox dt:before { display:none; }
.cloud-private.migration-strength .listbox li .txtbox dt { padding-bottom:0; }
.cloud-private.migration-strength .listbox li .txtbox dd {
    display:flex;
    flex-direction:column;
    gap:16px;
}
.cloud-private.migration-strength .listbox li .txtbox .strength-path {
    display:inline-block;
    padding:6px 14px;
    border-radius:8px;
    background:rgba(5, 105, 255, 0.1);
    color:var(--mainColor);
    font-size:15px;
    font-weight:600;
    align-self:flex-start;
}
@media screen and (max-width:1024px){
    .cloud-private.migration-strength .listbox li .strength-num { width:80px; height:80px; font-size:28px; }
}
@media screen and (max-width:960px){
    .cloud-private.migration-strength .listbox li { width:calc((100% - 20px) / 3); }
}
@media screen and (max-width:860px){
    .cloud-private.migration-strength .listbox li { width:100%; }
}
@media screen and (max-width:760px){
    .cloud-private.migration-strength .listbox li .strength-num { width:70px; height:70px; font-size:24px; margin:0 auto; }
}
.cloud-private.private-box2 { padding-bottom:0; }
.cloud-private.private-box2 .listbox:before { content:''; display:block; z-index:2; position:absolute; top:50%; left:0; width:100%; height:1px; transform:translateY(-50%); background:var(--mainColor); }
.cloud-private.private-box2 .listbox > div { position:relative; }
.cloud-private.private-box2 .listbox > div:before { content:''; display:block; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:373px; height:373px; background:#fff; border-radius:521px; border:74px solid #f2f6fa; }
.cloud-private.private-box2 .listbox .box { position:relative; z-index:5; display:flex; align-items:center; justify-content:center; }
.cloud-private.private-box2 .listbox .box .imgbox { position:absolute; left:0; top:50%; transform:translateY(calc(-50% - 0.5px)); }
.cloud-private.private-box2 .listbox .box .txtbox { padding:140px 0; width:300px; }
.cloud-private.private-box2 .listbox .box .txtbox li:not(:last-child) { margin-bottom:20px; }
.cloud-private.private-box2 .listbox .box .txtbox li { height:82px; border-radius:10px; background:#fff; border:1px solid var(--mainColor); display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:17px; font-weight:400; color:#222; line-height:1.3; letter-spacing:-0.02em; }
.cloud-private.private-box2 .listbox .box .txtbox li strong { display:block; color:var(--mainColor); }
.cloud-private.private-box2 .listbox .box .txt-2 { position:absolute; right:0; top:50%; transform:translateY(-50%); width:301px; height:123px; border-radius:15px; background:var(--mainColor); text-align:center; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:600; color:#fff; line-height:1.3; }
.cloud-private.private-box2 .listbox .txt-1 { position:absolute; right:20%; top:0; width:280px; height:80px; border-radius:80px; background:var(--mainColor); display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:700; color:#fff; line-height:1.3; letter-spacing:-0.02em; }
.cloud-private.private-box2 .listbox .txt-list { position:absolute; right:0; bottom:0;}
.cloud-private.private-box2 .listbox .txt-list ul { display:flex; flex-wrap:wrap; gap:20px; }
.cloud-private.private-box2 .listbox .txt-list li { display:flex; align-items:center; justify-content:center; width:204px; height:70px; border-radius:100px; border:1px solid var(--mainColor); background:#f2f6fa; font-size:20px; font-weight:400; color:var(--mainColor); line-height:1.5; letter-spacing:-0.02em; }
@media screen and (max-width:1500px){
    .cloud-private.private-box1 .listbox li .txtbox br { display:none }
    .cloud-private.private-box1 .listbox li .txtbox .m_br { display:block }
    .cloud-private.private-box2 .listbox > div:before { width:300px; height:300px; border:60px solid #f2f6fa; }
    .cloud-private.private-box2 .listbox .box .imgbox img { width:350px; }
    .cloud-private.private-box2 .listbox .box .txtbox { padding:120px 0; width:240px; }
    .cloud-private.private-box2 .listbox .box .txtbox li:not(:last-child) { margin-bottom:15px; }
    .cloud-private.private-box2 .listbox .box .txtbox li { height:70px; font-size:17px; }
    .cloud-private.private-box2 .listbox .box .txt-2 { width:240px; height:100px; font-size:22px; }
    .cloud-private.private-box2 .listbox .txt-1 { right:18%; width:200px; height:70px; font-size:20px; }
    .cloud-private.private-box2 .listbox .txt-list { right:20px; }
    .cloud-private.private-box2 .listbox .txt-list li { width:160px; height:60px; font-size:20px; }
}
@media screen and (max-width:1280px){
    .cloud-private.private-box2 .listbox > div:before { width:250px; height:250px; border:40px solid #f2f6fa; }
    .cloud-private.private-box2 .listbox .box .imgbox img { width:280px; }
    .cloud-private.private-box2 .listbox .box .txtbox { padding:80px 0; width:200px; }
    .cloud-private.private-box2 .listbox .box .txtbox li:not(:last-child) { margin-bottom:10px; }
    .cloud-private.private-box2 .listbox .box .txtbox li { height:60px; font-size:16px; }
    .cloud-private.private-box2 .listbox .box .txt-2 { width:190px; height:80px; font-size:20px; }
    .cloud-private.private-box2 .listbox .txt-1 { right:18%; width:160px; height:60px; font-size:18px; }
    .cloud-private.private-box2 .listbox .txt-list { right:20px; }
    .cloud-private.private-box2 .listbox .txt-list ul { gap:10px; }
    .cloud-private.private-box2 .listbox .txt-list li { width:140px; height:50px; font-size:18px; }
}
@media screen and (max-width:1024px){
    .cloud-private { padding:100px 0; }
    .cloud-private .listbox { margin-top:40px; }
    .cloud-private.private-box1 .listbox li { padding:25px; }
    .cloud-private.private-box1 .listbox li .txtbox dt { margin-top:20px; font-size:20px; padding-bottom:12px; }
    .cloud-private.private-box1 .listbox li .txtbox dd { margin-top:12px; font-size:16px; }
    .cloud-private.private-box2 .listbox > div:before { width:180px; height:180px; border:40px solid #f2f6fa; }
    .cloud-private.private-box2 .listbox .box .imgbox img { width:220px; }
    .cloud-private.private-box2 .listbox .box .txtbox { padding:80px 0; width:160px; }
    .cloud-private.private-box2 .listbox .box .txtbox li:not(:last-child) { margin-bottom:8px; }
    .cloud-private.private-box2 .listbox .box .txtbox li { height:50px; font-size:15px; }
    .cloud-private.private-box2 .listbox .box .txt-2 { width:140px; height:60px; font-size:18px; }
    .cloud-private.private-box2 .listbox .txt-1 { right:18%; width:160px; height:60px; font-size:18px; }
    .cloud-private.private-box2 .listbox .txt-list li { width:100px; height:44px; font-size:16px; }
}
@media screen and (max-width:960px){
    .cloud-private.private-box1 .listbox ul { gap:10px; }
    .cloud-private.private-box1 .listbox li { width:calc((100% - 20px) / 3);}
}
@media screen and (max-width:860px){
    .cloud-private.private-box1 .listbox li { width:100%; }
}
@media screen and (max-width:760px){
    .cloud-private.private-box2 .listbox:before { top:0; left:50%; width:1px; height:100%; transform:translate(-50%, 0); }
    .cloud-private.private-box2 .listbox { padding:180px 0 50px; max-width:480px; margin:30px auto 0; }
    .cloud-private.private-box2 .listbox .box { padding:130px 0;  }
    .cloud-private.private-box2 .listbox .box .imgbox { top:-150px; left:50%; transform:translate(calc(-50% - 0.5px), 0); }
    .cloud-private.private-box2 .listbox .box .txtbox { padding:0 0 }
    .cloud-private.private-box2 .listbox .box .txt-2 { right:unset; top:unset; left:50%; bottom:0; transform:translate(-50%, 0); }
    .cloud-private.private-box2 .listbox .txt-list { width:90px; }
    .cloud-private.private-box2 .listbox .txt-list li { width:100%; height:38px; font-size:14px; }
    .cloud-private.private-box2 .listbox .txt-1 { right:unset; left:20px; bottom:80px; top:unset; width:100px; height:50px; font-size:16px; }
}
@media screen and (max-width:640px){
    .cloud-private { padding:80px 0; }
    .cloud-private .listbox { margin-top:30px; }
    .cloud-private.private-box1 .listbox li { padding:25px; text-align:center; }
    .cloud-private.private-box1 .listbox li .icon { margin:0 auto; }
    .cloud-private.private-box1 .listbox li .txtbox dt { margin-top:20px; font-size:18px; padding-bottom:10px; }
    .cloud-private.private-box1 .listbox li .txtbox dt:before { left:50%; transform:translateX(-50%); }
    .cloud-private.private-box1 .listbox li .txtbox dd { margin-top:10px; font-size:15px; }
}


/* animation */
.cloud-private .listbox { opacity:0; }
.cloud-private.subOn .listbox { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }

/* Cloud migration hero KPI */
.migration-kpi-wrap {
    margin-top: 20px;
}

.migration-kpi-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.migration-kpi-item {
    min-width: 130px;
    padding: 14px 16px;
    border: 1px solid #ddd;
    border-radius: 12px;
    background: transparent;
}

.migration-kpi-num {
    display: block;
    margin: 0 0 6px;
    font-size: 34px;
    line-height: 1;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
}

.migration-kpi-txt {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    color: #8c8c8c;
    letter-spacing: -0.01em;
}

#subCont .visual-box .visual_txt .txtbox .migration-cta-group .btn_link {
    display: inline-flex;
    width: auto;
}

#subCont .visual-box .visual_txt .txtbox .migration-cta-group .btn_link a {
    width: auto;
    padding: 0 26px;
}

@media screen and (max-width: 768px) {
    .migration-kpi-wrap {
        margin-top: 14px;
    }

    .migration-kpi-grid {
        gap: 8px;
    }

    .migration-kpi-item {
        min-width: calc(50% - 4px);
        padding: 12px 12px;
    }

    .migration-kpi-num {
        font-size: 28px;
    }

    .migration-kpi-txt {
        font-size: 13px;
    }

    #subCont .visual-box .visual_txt .txtbox .migration-cta-group .btn_link {
        width: auto;
    }

    #subCont .visual-box .visual_txt .txtbox .migration-cta-group .btn_link a {
        padding: 0 18px;
    }
}
