@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; }

.streaming-core-capability .feature-list .feature-item { opacity:0; }
.streaming-core-capability.subOn .feature-list .feature-item:nth-child(1) { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
.streaming-core-capability.subOn .feature-list .feature-item:nth-child(2) { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }
.streaming-core-capability.subOn .feature-list .feature-item:nth-child(3) { animation:ani_4 0.8s 0.6s; animation-fill-mode:both; }
.streaming-core-capability.subOn .feature-list .feature-item:nth-child(4) { animation:ani_4 0.8s 0.8s; animation-fill-mode:both; }
.streaming-core-capability.subOn .feature-list .feature-item:nth-child(5) { animation:ani_4 0.8s 1.0s; animation-fill-mode:both; }

.streaming-protocol-transcoding { padding:140px 0 140px; background:#f5f5f5; }
.streaming-protocol-transcoding .subTitle .txtbox {
    margin-top:16px;
    color:#64748b;
}
.streaming-protocol-transcoding .listbox { margin-top:46px; }
.streaming-protocol-transcoding .listbox ul {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
}
.streaming-protocol-transcoding .listbox ul li { width:calc((100% - 40px) / 3); }
.streaming-protocol-transcoding .listbox .box {
    height:100%;
    border:1px solid #e8eef6;
    border-radius:18px;
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow:0 8px 24px rgba(15, 23, 42, 0.05);
    padding:28px 24px 24px;
    display:grid;
    grid-template-columns:62px 1fr;
    grid-template-areas:
        "icon title"
        "icon desc"
        "chips chips";
    align-items:center;
    column-gap:14px;
    row-gap:4px;
}
.streaming-protocol-transcoding .listbox .icon {
    grid-area:icon;
    width:62px;
    height:62px;
    border:1px solid #d9e2ee;
    border-radius:12px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}
.streaming-protocol-transcoding .listbox .icon img { width:32px; }
.streaming-protocol-transcoding .listbox dt {
    grid-area:title;
    margin-top:0;
    font-size:18px;
    font-weight:700;
    color:#1f2937;
    line-height:1.3;
    letter-spacing:-0.02em;
}
.streaming-protocol-transcoding .listbox dt h3 { font:inherit; color:inherit; }
.streaming-protocol-transcoding .listbox dd {
    grid-area:desc;
    margin-top:0;
    font-size:17px;
    color:#475569;
    line-height:1.6;
    letter-spacing:-0.02em;
}
.streaming-protocol-transcoding .listbox .stack-list {
    grid-area:chips;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #e9edf3;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.streaming-protocol-transcoding .listbox .stack-list span {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 14px;
    border-radius:999px;
    background:#f1f5f9;
    color:#0f172a;
    font-family:'PretendardCore', 'Pretendard', sans-serif;
    font-size:15px;
    font-weight:500;
    letter-spacing:-0.01em;
}
.streaming-protocol-transcoding .listbox .stack-list span.is-highlight {
    background:rgba(5, 105, 255, 0.12);
    border:1px solid rgba(5, 105, 255, 0.25);
    color:#0b4fc7;
    font-weight:600;
}
@media screen and (max-width:1024px){
    .streaming-protocol-transcoding { padding:20px 0 80px; }
    .streaming-protocol-transcoding .listbox { margin-top:34px; }
    .streaming-protocol-transcoding .listbox ul { gap:14px; }
    .streaming-protocol-transcoding .listbox ul li { width:calc((100% - 14px) / 2); }
    .streaming-protocol-transcoding .listbox .box { padding:22px 18px 18px; }
    .streaming-protocol-transcoding .listbox dt { font-size:21px; }
    .streaming-protocol-transcoding .listbox dd { margin-top:12px; font-size:16px; }
}
@media screen and (max-width:640px){
    .streaming-protocol-transcoding { padding:10px 0 60px; }
    .streaming-protocol-transcoding .subTitle .txtbox { margin-top:10px; }
    .streaming-protocol-transcoding .listbox { margin-top:24px; }
    .streaming-protocol-transcoding .listbox ul { gap:10px; }
    .streaming-protocol-transcoding .listbox ul li { width:100%; }
    .streaming-protocol-transcoding .listbox .box {
        border-radius:12px;
        padding:16px 14px 14px;
        grid-template-columns:52px 1fr;
        column-gap:10px;
    }
    .streaming-protocol-transcoding .listbox .icon { width:52px; height:52px; border-radius:10px; }
    .streaming-protocol-transcoding .listbox .icon img { width:26px; }
    .streaming-protocol-transcoding .listbox dt { font-size:18px; }
    .streaming-protocol-transcoding .listbox dd { font-size:14px; }
    .streaming-protocol-transcoding .listbox .stack-list { margin-top:12px; padding-top:12px; gap:6px; }
    .streaming-protocol-transcoding .listbox .stack-list span { min-height:30px; padding:5px 11px; font-size:12px; font-weight:500; }
}

.streaming-protocol-transcoding .listbox ul li { opacity:0; }
.streaming-protocol-transcoding.subOn .listbox ul li:nth-child(1) { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
.streaming-protocol-transcoding.subOn .listbox ul li:nth-child(2) { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }
.streaming-protocol-transcoding.subOn .listbox ul li:nth-child(3) { animation:ani_4 0.8s 0.6s; animation-fill-mode:both; }
.streaming-protocol-transcoding.subOn .listbox ul li:nth-child(4) { animation:ani_4 0.8s 0.8s; animation-fill-mode:both; }
.streaming-protocol-transcoding.subOn .listbox ul li:nth-child(5) { animation:ani_4 0.8s 1.0s; animation-fill-mode:both; }
.streaming-protocol-transcoding.subOn .listbox ul li:nth-child(6) { animation:ani_4 0.8s 1.2s; animation-fill-mode:both; }

.streaming-managed-support {
    padding:140px 0;
    background:linear-gradient(145deg, #f8fbff 0%, #eef4ff 55%, #f5f9ff 100%);
    border-top:1px solid #e4ecf7;
    border-bottom:1px solid #e4ecf7;
    margin-bottom: 100px;
}
.streaming-managed-support .subTitle h2,
.streaming-managed-support .subTitle h3 { color:#0f172a; }
.streaming-managed-support .subTitle .txtbox { margin-top:16px; color:#64748b; }
.streaming-managed-support .listbox { margin-top:48px; }
.streaming-managed-support .listbox > ul { display:flex; flex-wrap:wrap; gap:20px; }
.streaming-managed-support .listbox > ul > li { width:calc((100% - 40px) / 3); }
.streaming-managed-support .listbox > ul > li .box {
    height:100%;
    padding:30px 26px 26px;
    border-radius:14px;
    border:1px solid #d9e3f0;
    background:#fff;
    box-shadow:0 12px 30px rgba(15, 23, 42, 0.05);
    transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.streaming-managed-support .listbox > ul > li .box:hover {
    transform:translateY(-4px);
    border-color:#c8d7eb;
    box-shadow:0 18px 34px rgba(15, 23, 42, 0.09);
}
.streaming-managed-support .listbox > ul > li .icon { display:none; }
.streaming-managed-support .listbox > ul > li dt {
    margin-top:0;
    font-size:30px;
    font-weight:700;
    line-height:1.3;
    color:#1f2937;
    letter-spacing:-0.02em;
}
.streaming-managed-support .listbox > ul > li dd {
    margin-top:12px;
    font-size:18px;
    font-weight:400;
    line-height:1.6;
    color:#475569;
    letter-spacing:-0.02em;
}
@media screen and (max-width:1024px){
    .streaming-managed-support { padding:100px 0; }
    .streaming-managed-support .listbox { margin-top:36px; }
    .streaming-managed-support .listbox > ul { gap:14px; }
    .streaming-managed-support .listbox > ul > li { width:calc((100% - 14px) / 2); }
    .streaming-managed-support .listbox > ul > li .box { padding:24px 20px 20px; }
    .streaming-managed-support .listbox > ul > li dt { margin-top:14px; font-size:24px; }
    .streaming-managed-support .listbox > ul > li dd { margin-top:10px; font-size:16px; }
}
@media screen and (max-width:640px){
    .streaming-managed-support { padding:80px 0; }
    .streaming-managed-support .subTitle .txtbox { margin-top:10px; }
    .streaming-managed-support .listbox { margin-top:24px; }
    .streaming-managed-support .listbox > ul { gap:10px; }
    .streaming-managed-support .listbox > ul > li { width:100%; }
    .streaming-managed-support .listbox > ul > li .box { padding:18px 14px 16px; border-radius:12px; }
    .streaming-managed-support .listbox > ul > li .box:hover {
        transform:none;
        border-color:#d9e3f0;
        box-shadow:0 12px 30px rgba(15, 23, 42, 0.05);
    }
    .streaming-managed-support .listbox > ul > li dt { margin-top:0; font-size:20px; }
    .streaming-managed-support .listbox > ul > li dd { margin-top:8px; font-size:14px; }
}

.streaming-managed-support .listbox > ul > li { opacity:0; }
.streaming-managed-support.subOn .listbox > ul > li:nth-child(1) { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
.streaming-managed-support.subOn .listbox > ul > li:nth-child(2) { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }
.streaming-managed-support.subOn .listbox > ul > li:nth-child(3) { animation:ani_4 0.8s 0.6s; animation-fill-mode:both; }

.wowza-box1 .streaming-feature-highlight-wrap {
    width:100%;
    padding:0;
}
.wowza-box1 .streaming-feature-highlight {
    width:100%;
    margin:0;
    padding:90px 54px;
    background:linear-gradient(140deg, #0f172a 0%, #101827 52%, #1e293b 100%);
    text-align:center;
}
.wowza-box1 .streaming-feature-highlight .highlight-head h3,
.wowza-box1 .streaming-feature-highlight .highlight-head h4 {
    font-size:40px;
    font-weight:700;
    line-height:1.35;
    color:#fff;
    letter-spacing:-0.02em;
}
.wowza-box1 .streaming-feature-highlight .highlight-head p {
    margin-top:16px;
    font-size:22px;
    font-weight:400;
    line-height:1.7;
    color:rgba(255, 255, 255, 0.58);
    letter-spacing:-0.02em;
}
.wowza-box1 .streaming-feature-highlight .highlight-grid {
    margin-top:34px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:14px;
}
.wowza-box1 .streaming-feature-highlight .highlight-grid .item {
    flex:0 1 290px;
    width:290px;
    max-width:290px;
    padding: 36px 20px;
    border-radius:12px;
    background:rgba(255, 255, 255, 0.04);
}
.wowza-box1 .streaming-feature-highlight .highlight-grid .item strong {
    display:block;
    font-family:var(--mainFont);
    font-size:48px;
    font-weight:700;
    line-height:1.05;
    letter-spacing:-0.03em;
    color:transparent;
    background-image:linear-gradient(90deg, var(--mainColor) 0%, #59f1ff 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
}
.wowza-box1 .streaming-feature-highlight .highlight-grid .item strong .pretendard-unit {
    font-family:'PretendardCore', 'Pretendard', sans-serif;
    font-weight:700;
}
.wowza-box1 .streaming-feature-highlight .highlight-grid .item p {
    margin-top:10px;
    font-size:18px;
    line-height:1.45;
    color:rgba(255, 255, 255, 0.58);
    letter-spacing:-0.02em;
}
@media screen and (max-width:1280px){
    .wowza-box1 .streaming-feature-highlight .highlight-head h3,
    .wowza-box1 .streaming-feature-highlight .highlight-head h4 { font-size:34px; }
    .wowza-box1 .streaming-feature-highlight .highlight-head p { font-size:17px; }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item strong { font-size:44px; }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item p { font-size:18px; }
}
@media screen and (max-width:1024px){
    .wowza-box1 .streaming-feature-highlight {
        margin-top:24px;
        padding:38px 30px;
    }
    .wowza-box1 .streaming-feature-highlight .highlight-head h3,
    .wowza-box1 .streaming-feature-highlight .highlight-head h4 { font-size:30px; }
    .wowza-box1 .streaming-feature-highlight .highlight-head p { font-size:16px; margin-top:12px; }
    .wowza-box1 .streaming-feature-highlight .highlight-grid {
        margin-top:26px;
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        justify-items:center;
    }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item { width:100%; }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item strong { font-size:40px; }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item p { font-size:17px; }
}
@media screen and (max-width:640px){
    .wowza-box1 .streaming-feature-highlight {
        margin-top:18px;
        padding:26px 20px;
    }
    .wowza-box1 .streaming-feature-highlight .highlight-head h3,
    .wowza-box1 .streaming-feature-highlight .highlight-head h4 { font-size:22px; }
    .wowza-box1 .streaming-feature-highlight .highlight-head p {
        margin-top:10px;
        font-size:14px;
        line-height:1.6;
    }
    .wowza-box1 .streaming-feature-highlight .highlight-grid {
        margin-top:18px;
        display:grid;
        grid-template-columns:1fr;
        gap:10px;
        justify-items:stretch;
    }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item {
        width:100%;
        max-width:none;
        padding:16px 15px;
    }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item strong { font-size:34px; }
    .wowza-box1 .streaming-feature-highlight .highlight-grid .item p {
        margin-top:6px;
        font-size:15px;
    }
}

.additional-service { position:relative; padding:140px 0; overflow:hidden; }
.additional-service:before { content:''; display:block; position:absolute; top:0; right:0; width:413px; height:287px; background:url(../img/common/circle_bg1.webp) no-repeat left bottom; }
.additional-service:after { content:''; display:block; position:absolute; bottom:0; left:0; width:543px; height:430px; background:url(../img/common/circle_bg2.webp) no-repeat right top; }
.additional-service .listbox { position:relative; z-index:2; margin-top:50px; }
.additional-service .listbox ul { display:flex; gap:20px; flex-wrap:wrap; }
.additional-service .listbox ul li { width:calc((100% - 60px) / 4); padding:45px 10px 20px 10px; height:430px; border-radius:10px; background:#fff; text-align:center; border:1px solid #ddd;}
.additional-service .listbox ul li .icon { margin:0 auto; width:210px; height:210px; background:#f9f9f9; border-radius:200px; display:flex; align-items:center; justify-content:center; }
.additional-service .listbox ul li dt { word-break:keep-all; margin-top:20px; font-size:26px; font-weight:700; line-height:1.3; color:#222; letter-spacing:-0.02em; }
.additional-service .listbox ul li dt h3 { font:inherit; color:inherit; }
.additional-service .listbox ul li dd { word-break:keep-all; margin-top:15px; font-size:16px; font-weight:400; line-height:1.6; color:#444; letter-spacing:-0.02em; }
.additional-service .listbox .boxCont { display:flex; gap:20px; flex-wrap:wrap; }
.additional-service .listbox .boxCont .box { width:calc((100% - 20px) / 2);  }
.additional-service .listbox .boxCont .box ul li { width:calc((100% - 20px) / 2); }
.additional-service .txt_b { margin-top:25px; }
.additional-service .txt_b > div { position:relative; width:100%; text-align:center; }
.additional-service .txt_b .txt strong { position:relative; z-index:2; font-size:20px; line-height:1.3; font-weight:600; letter-spacing:-0.01em; color:#fff; display:inline-block; padding:0 27px; background:var(--mainColor); border-radius:50px; }
.additional-service .txt_b .txt strong span { display:flex; align-items:center;height:53px; width:100%; font-weight:600; }
.additional-service .txt_b .txt:before { content:''; display:block; position:absolute; top:50%; left:0; transform:translateY(-50%); width:50%; height:8px; background:url(../img/server/line_arr1.png) no-repeat left center; }
.additional-service .txt_b .txt:after { content:''; display:block; position:absolute; top:50%; right:0; transform:translateY(-50%); width:50%; height:8px; background:url(../img/server/line_arr1.png) no-repeat right center; }
@media screen and (max-width:1280px){
    .additional-service .listbox ul li { height:auto; }
    .additional-service .listbox ul li .icon { width:180px; height:180px; }
    .additional-service .listbox ul li .icon img { width:70px; }
    .additional-service .listbox ul li dt { margin-top:20px; font-size:24px; }
    .additional-service .listbox ul li dd br { display:none; }
}
@media screen and (max-width:1024px){
    .additional-service { padding:100px 0; }
    .additional-service:before { width:230px; height:161px; background-size:360px auto; }
    .additional-service:after { bottom:-25%; left:-10%; width:350px; height:338px; background-size:550px auto; }
    .additional-service .listbox { margin-top:40px; }
    .additional-service .listbox ul li { padding:30px 10px 30px 10px; }
    .additional-service .listbox ul li .icon { width:150px; height:150px; }
    .additional-service .listbox ul li .icon img { width:60px; }
    .additional-service .listbox ul li dt { margin-top:20px; font-size:20px; }
    .additional-service .listbox ul li dd { margin-top:15px; font-size:15px; }
    .additional-service .txt_b { margin-top:20px; }
    .additional-service .txt_b .txt strong { font-size:18px; }
    .additional-service .txt_b .txt strong span { height:45px; }
}
@media screen and (max-width:960px){
    .additional-service .listbox ul li { width:calc((100% - 20px) / 2); }
    .additional-service .listbox .boxCont { gap:40px 0; }
    .additional-service .listbox .boxCont .box { width:100%; }
    .additional-service .listbox .boxCont .box ul li { width:calc((100% - 20px) / 2); }
}
@media screen and (max-width:640px){
    .additional-service { padding:80px 0; }
    .additional-service:before { width:160px; height:112px; background-size:260px auto; }
    .additional-service:after { bottom:-20%; left:-22%; width:260px; height:251px; background-size:320px auto; }
    .additional-service .listbox { margin-top:30px; }
    .additional-service .listbox ul { gap:10px; }
    .additional-service .listbox ul li { width:calc((100% - 10px) / 2); padding:20px 10px 30px; }
    .additional-service .listbox ul li .icon { width:120px; height:120px; }
    .additional-service .listbox ul li .icon img { width:50px; }
    .additional-service .listbox ul li dt { font-size:18px; }
    .additional-service .listbox ul li dd { margin-top:10px; }
    .additional-service .listbox .boxCont { gap:30px 0; }
    .additional-service .listbox .boxCont .box ul li { width:calc((100% - 10px) / 2); }
    .additional-service .listbox .boxCont { gap:30px 10px; }
    .additional-service .txt_b { margin-top:15px; }
    .additional-service .txt_b .txt strong { font-size:16px; padding:0 20px; }
    .additional-service .txt_b .txt strong span { height:40px; }
}

/* animation */
.additional-service .listbox ul li,
.additional-service .txt_b .txt { opacity:0; }
.additional-service.subOn .listbox ul li:nth-child(1) { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(2) { animation:ani_4 0.8s 0.4s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(3) { animation:ani_4 0.8s 0.6s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(4) { animation:ani_4 0.8s 0.8s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(5) { animation:ani_4 0.8s 1.0s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(6) { animation:ani_4 0.8s 1.2s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(7) { animation:ani_4 0.8s 1.4s; animation-fill-mode:both; }
.additional-service.subOn .listbox ul li:nth-child(8) { animation:ani_4 0.8s 1.6s; animation-fill-mode:both; }
.additional-service.subOn .txt_b .txt { animation:bgs4 0.8s 0.5s; animation-fill-mode:both; }

/* streaming-solution-intro: 하나의 안정적인 솔루션 (그레이 배경, arch-graphic/flow-track/node 재사용) */
.streaming-solution-intro {
    padding:90px 0 100px;
    background:#f5f5f5;
}
.streaming-solution-intro .subTitle h3 {
    font-size:28px;
    font-weight:700;
    color:#1f2937;
    letter-spacing:-0.02em;
}
.streaming-solution-intro .subTitle .txtbox {
    margin-top:14px;
    font-size:18px;
    color:#475569;
    font-weight:400;
}
.streaming-solution-intro .arch-graphic {
    margin-top:50px;
    border-radius:18px;
    background:#fbfbfb;
    padding:32px 24px;
}
.streaming-solution-intro .arch-graphic .flow-track {
    margin-top:0;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
}
.streaming-solution-intro .arch-graphic .node {
    width:132px;
    min-height:96px;
    padding:24px 16px;
    border:1px solid #d4deea;
    border-radius:10px;
    background:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    align-items:center;
}
.streaming-solution-intro .arch-graphic .node svg {
    width:28px;
    height:28px;
    margin-bottom:12px;
}
.streaming-solution-intro .arch-graphic .node strong {
    font-size:17px;
    font-weight:700;
    color:#1e293b;
}
.streaming-solution-intro .arch-graphic .node p {
    margin-top:6px;
    font-size:14px;
    color:#64748b;
    line-height:1.4;
}
.streaming-solution-intro .arch-graphic .arrow {
    font-size:22px;
    font-weight:700;
    color:#8ba2bd;
    line-height:1;
}
@media screen and (max-width:640px){
    .streaming-solution-intro { padding:60px 0 70px; }
    .streaming-solution-intro .subTitle h3 { font-size:22px; }
    .streaming-solution-intro .subTitle .txtbox { font-size:16px; margin-top:10px; }
    .streaming-solution-intro .arch-graphic { margin-top:32px; padding:24px 14px; border-radius:12px; }
    .streaming-solution-intro .arch-graphic .flow-track { margin-top:0; gap:6px; }
    .streaming-solution-intro .arch-graphic .node { width:calc(50% - 6px); min-height:80px; padding:10px 8px; font-size:13px; }
    .streaming-solution-intro .arch-graphic .node strong { font-size:13px; }
    .streaming-solution-intro .arch-graphic .node p { font-size:12px; margin-top:4px; }
    .streaming-solution-intro .arch-graphic .arrow { font-size:16px; }
    .streaming-solution-intro .arch-graphic .flow-track .arrow { width:100%; display:block; text-align:center; font-size:0; line-height:1; }
    .streaming-solution-intro .arch-graphic .flow-track .arrow:before { content:"↓"; font-size:18px; font-weight:700; color:#8ba2bd; }
}

.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; }


.provide-box { padding:110px 0; }
.provide-box .data-table { background:#fff; margin-top:50px; }
.provide-box .data-table table { border:1px solid #ddd; }
.provide-box .data-table table .th-borer{ border-left:1px solid #ddd; }
.provide-box .data-table thead th { height:60px; background:var(--mainColor); font-size:18px; font-weight:600; color:#fff; border:1px solid #ddd; border-width:0 0 1px 1px;  }
.provide-box .data-table thead th:first-child { border-left:none; }
.provide-box .data-table tbody th { text-align:center; height:60px; font-size:17px; font-weight:600; color:#222; border:1px solid #ddd; border-width:0 0 1px 0; }
.provide-box .data-table tbody th.th-center { text-align:center; padding-left:10px; padding-right:10px; }
.provide-box.network-switch2 .data-table tbody th.th-center { font-weight:400; }
.provide-box .data-table tbody td { word-break:keep-all; padding:16px 10px; text-align:center; font-size:17px; font-weight:400; color:#444; line-height:1.5; border:1px solid #ddd; border-width:0 0 1px 1px; }
.provide-box .data-table tbody td .stxt { font-size:15px; display:block; }
.provide-box .data-table tbody .txt2 { color:#0569ff; font-weight: 600; }
.provide-box .data-table tbody .txt2 strong { font-weight:700; }

@media screen and (max-width:1024px){
    .proxmox-core-compare .listbox { margin-top:30px; }
    .proxmox-core-compare .listbox ul { gap:15px; }
    .proxmox-core-compare .listbox li { width:calc((100% - 15px) / 2); }
    .proxmox-core-compare .listbox li { padding:20px 18px 22px; }
    .proxmox-core-compare .listbox li .imgbox { width:140px; height:140px; }
    .proxmox-core-compare .listbox li .imgbox img { max-width:140px; max-height:140px; }
    .proxmox-core-compare .listbox li .txtbox { padding:16px 0 0; }
    .proxmox-core-compare .listbox li .txtbox dt { font-size:20px; }
    .proxmox-core-compare .listbox li .txtbox dd { font-size:16px; }
    .provide-box { padding:100px 0; }
    .provide-box .data-table { margin-top:40px; }
    .provide-box .data-table thead th { height:50px; font-size:16px; }
    .provide-box .data-table tbody th { height:50px; padding:12px 15px; font-size:15px;}
    .provide-box .data-table tbody td { padding:12px 10px; font-size:15px; }
    .provide-box .data-table tbody td .stxt { font-size:14px; }
}
@media screen and (max-width:960px){
    .provide-box .data-table { overflow:auto; }
    .provide-box .data-table table { width:100%; }
}
@media screen and (max-width:640px){
    .proxmox-core-compare { padding:30px 0 0; }
    .proxmox-core-compare .listbox { margin-top:20px; }
    .proxmox-core-compare .listbox ul { gap:10px; }
    .proxmox-core-compare .listbox li { width:100%; border-radius:12px; padding:16px 14px 18px; }
    .proxmox-core-compare .listbox li .imgbox { width:120px; height:120px; border-radius:16px; }
    .proxmox-core-compare .listbox li .imgbox img { max-width:120px; max-height:120px; }
    .proxmox-core-compare .listbox li .txtbox { padding:14px 0 0; }
    .proxmox-core-compare .listbox li .txtbox dt { font-size:17px; }
    .proxmox-core-compare .listbox li .txtbox dd { margin-top:8px; font-size:14px; }
    .provide-box { padding:80px 0; }
    .provide-box .data-table { margin-top:30px; }
    .provide-box .data-table thead th { height:50px; font-size:13px; }
    .provide-box .data-table tbody th,tr { height:50px; font-size:13px;line-height: 20px;}
    .provide-box .data-table tbody tr td { font-size: 13px;}
}

/* animation */
.provide-box .data-table { opacity:0; }
.provide-box.subOn .data-table { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }
/* Proxmox 기술지원 - provide-box에 ani 없어 subOn 미적용, 표 항상 표시 */
.cloud-private.proxmox-support-wrap { padding-top: 0; }
.proxmox-support-wrap .provide-box .data-table { opacity:1 !important; }
.proxmox-support-wrap.subOn .provide-box .data-table { animation:ani_4 0.8s 0.2s; animation-fill-mode:both; }

/* product table */
.product-table .data-table{ background:#fff; }
.product-table .data-table table { border:1px solid #ddd; }
.product-table .data-table table .th-borer{ border-left:1px solid #ddd; }
.product-table .data-table thead th { height:60px; background:var(--mainColor); font-size:18px; font-weight:600; color:#fff; border:1px solid #ddd; border-width:0 0 1px 1px;  }
.product-table .data-table thead th:first-child { border-left:none; }
.product-table .data-table tbody th { text-align:center; height:60px; font-size:17px; font-weight:600; color:#222; border:1px solid #ddd; border-width:0 0 1px 0; }
.product-table .data-table tbody th.th-center { text-align:center; padding-left:10px; padding-right:10px; }
.product-table.network-switch2 .data-table tbody th.th-center { font-weight:400; }
.product-table .data-table tbody td { word-break:keep-all; padding:6px 10px; text-align:center; font-size:15px; font-weight:400; color:#444; line-height:1.5; border:1px solid #ddd; border-width:0 0 1px 1px; }
.product-table .data-table tbody td .stxt { font-size:15px; display:block; }
.product-table .data-table tbody .txt2 { color:#0569ff; font-weight: 600; }
@media screen and (max-width:1024px){
    .product-table .data-table thead th { height:40px; font-size:16px; }
    .product-table .data-table tbody th { height:40px; padding:12px 15px; font-size:15px;}
    .product-table .data-table tbody td { padding:4px 10px; font-size:15px; }
    .product-table .data-table tbody td .stxt { font-size:14px; }
}
@media screen and (max-width:960px){
    .product-table .data-table { overflow:auto; }
    .product-table .data-table table { width:100%; }
}
@media screen and (max-width:640px){
    .product-table .data-table thead th { height:40px; font-size:13px; }
    .product-table .data-table tbody th,tr { height:40px; font-size:13px;line-height: 20px;}
    .product-table .data-table tbody tr td { font-size: 13px;}
}

/* Shared cloud-box spacing retained for pages using this legacy wrapper. */
.cloud-box > div:nth-child(1) { padding-bottom:110px; }
@media screen and (max-width:1024px){
    .cloud-box > div:nth-child(1) { padding-bottom:100px; }
}
@media screen and (max-width:640px){
    .cloud-box > div:nth-child(1) { padding-bottom:80px; }
}

.media-box > div:nth-child(1) { padding-bottom:110px; }
