/* 9208 서버 관리(연재 '전문가는 전문가를 만나야 한다' 8편, 2026-10-25).
   서버 방식 네 기둥(층별 업체 관리와 사용자 관리 색 구분) → AWS 공동 책임 인용 상자 + 관련 글 칩
   → 무료 배포 서비스 세 장(상업 이용 예시, 크레딧 소진 화면 견본, 도메인 주소) → 서버 위치 두 경로 + 공개 항목 다섯
   → 서버 이전 시간 축 네 단계 → 건특공 기관 막대와 증설 흐름 → 진행 방식 세 칸 → 연재 순서(칸 수 자동) */
.v-artd .sp-9208 .prose{font-size:17px}
.v-artd .sp-9208 .prose h2{margin:0 0 14px;padding:0;border:0;font-size:26px;letter-spacing:-.7px;display:block;min-height:0}
.v-artd .sp-9208 .prose h2::before,.v-artd .sp-9208 .prose h2::after{content:none}
.v-artd .sp-9208 .prose h3{margin:0;padding:0;border:0}
.v-artd .sp-9208 .prose h3::before,.v-artd .sp-9208 .prose h3::after{content:none}
.v-artd .sp-9208 :where(.prose) .sh-s{padding:64px 0 4px;scroll-margin-top:90px}
.v-artd .sp-9208 :where(.prose) .sh-s>p{margin:0 0 16px}
.v-artd .sp-9208 :where(.prose) li::before{content:none}
.v-artd .sp-9208 :where(.prose) ul,.v-artd .sp-9208 :where(.prose) ol{list-style:none;padding:0;margin:0}
.v-artd .sp-9208 :where(.prose) li{margin:0}

/* 서버 방식 네 기둥 */
.v-artd .sp-9208 :where(.prose) .sh-mx{margin:6px 0 16px;padding:20px;border-radius:20px;background:var(--soft)}
.v-artd .sp-9208 .prose .sh-lg{display:flex;gap:16px;margin:0 0 14px;font-size:13px;font-weight:800;color:var(--ink)}
.v-artd .sp-9208 :where(.prose) .sh-lg span{display:inline-flex;align-items:center;gap:7px}
.v-artd .sp-9208 :where(.prose) .sh-lg span::before{content:"";width:14px;height:14px;border-radius:4px}
.v-artd .sp-9208 :where(.prose) .lg-v::before{background:var(--navy)}
.v-artd .sp-9208 :where(.prose) .lg-u::before{background:#ffe9a8;box-shadow:inset 0 0 0 1.5px #e5b93a}
.v-artd .sp-9208 .prose .sh-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.v-artd .sp-9208 .prose .sh-col{display:flex;flex-direction:column;gap:0;padding:16px 14px 14px;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(27,31,58,.05)}
.v-artd .sp-9208 .prose .sh-ch{display:flex;flex-direction:column;gap:4px;min-height:70px;margin:0 0 10px}
.v-artd .sp-9208 .prose .sh-ch b{font-size:18px;font-weight:900;letter-spacing:-.4px;color:var(--ink)}
.v-artd .sp-9208 .prose .sh-ch small{font-size:12.5px;font-weight:700;line-height:1.4;color:var(--sub)}
.v-artd .sp-9208 .prose .sh-tw{display:flex;flex-direction:column;gap:4px}
.v-artd .sp-9208 .prose .sh-tw li{padding:10px 10px;border-radius:9px;font-size:13px;font-weight:800;line-height:1.35;text-align:center}
.v-artd .sp-9208 :where(.prose) .sh-tw .ly-v{background:var(--navy);color:#fff}
.v-artd .sp-9208 :where(.prose) .sh-tw .ly-u{background:#ffe9a8;box-shadow:inset 0 0 0 1.5px #e5b93a;color:#5a4300}
.v-artd .sp-9208 .prose .sh-pay{margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--line);font-size:13px;font-weight:800;text-align:center;color:var(--blue)}

/* AWS 인용 상자 */
.v-artd .sp-9208 .prose .sh-q{margin:6px 0 16px;padding:24px 26px;border:0;border-radius:18px;background:var(--navy);font-style:normal;quotes:none}
.v-artd .sp-9208 .prose .sh-q::before,.v-artd .sp-9208 .prose .sh-q::after{content:none}
.v-artd .sp-9208 .prose .sh-qs{margin:0 0 8px;font-size:12.5px;font-weight:800;letter-spacing:.3px;color:var(--yellow)}
.v-artd .sp-9208 .prose .sh-qt{margin:0 0 14px;font-size:18px;font-weight:800;line-height:1.55;letter-spacing:-.3px;color:#fff}
.v-artd .sp-9208 .prose .sh-ql{display:flex;flex-wrap:wrap;gap:8px}
.v-artd .sp-9208 .prose .sh-ql li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);font-size:14px;font-weight:700;color:#e6e9f5}
.v-artd .sp-9208 :where(.prose) .sh-ql li::after{content:"";order:-1;width:8px;height:8px;border-radius:50%;background:var(--yellow)}
.v-artd .sp-9208 :where(.prose) .sh-more{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.v-artd .sp-9208 :where(.prose) .sh-more a{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:12px;background:var(--soft);font-size:14px;font-weight:800;color:var(--ink);text-decoration:none}
.v-artd .sp-9208 :where(.prose) .sh-more a:hover{background:#eef2ff}
.v-artd .sp-9208 :where(.prose) .sh-more small{font-size:11.5px;font-weight:800;color:var(--blue)}

/* 무료 배포 서비스 세 장 */
.v-artd .sp-9208 .prose .sh-fr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 16px}
.v-artd .sp-9208 .prose .fr-c{display:flex;flex-direction:column;gap:0;padding:20px 18px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line)}
.v-artd .sp-9208 .prose .fr-c>p{margin:0 0 12px;font-size:14.5px;line-height:1.6;color:#3a3f52}
.v-artd .sp-9208 .prose .fr-c>p:last-child{margin-bottom:0}
.v-artd .sp-9208 .prose .fr-nm{display:flex;align-items:baseline;gap:8px;margin:0 0 10px !important;font-size:20px !important;font-weight:900;letter-spacing:-.4px;color:var(--ink) !important}
.v-artd .sp-9208 .prose .fr-nm small{font-size:12px;font-weight:800;color:var(--sub)}
.v-artd .sp-9208 .prose .fr-c h3{margin:0 0 12px;padding:0 0 12px;border-bottom:3px solid var(--fc);font-size:16.5px;letter-spacing:-.3px;line-height:1.4;color:var(--ink)}
.v-artd .sp-9208 :where(.prose) .fr-vc{--fc:#111}
.v-artd .sp-9208 :where(.prose) .fr-nl{--fc:#0e8a87}
.v-artd .sp-9208 :where(.prose) .fr-lv{--fc:#d9467a}
.v-artd .sp-9208 .prose .fr-l{display:flex;flex-direction:column;gap:4px}
.v-artd .sp-9208 .prose .fr-l li{padding:7px 10px;border-radius:8px;background:var(--soft);font-size:13.5px;font-weight:700;line-height:1.4;color:#3a3f52}
.v-artd .sp-9208 :where(.prose) .fr-l .fr-hit{background:#fff3c4;color:#5a4300}
.v-artd .sp-9208 .prose .fr-cr{position:relative;height:30px;margin:0 0 10px;border-radius:8px;background:#e6f4f3;overflow:hidden}
.v-artd .sp-9208 :where(.prose) .fr-cr i{position:absolute;left:0;top:0;bottom:0;width:2%;background:#0e8a87}
.v-artd .sp-9208 .prose .fr-cr span{position:relative;display:flex;align-items:center;height:100%;padding:0 10px;font-size:12.5px;font-weight:800;color:#0b5e5c}
.v-artd .sp-9208 .prose .fr-br{margin:0 0 12px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1.5px #d6dae3;overflow:hidden}
.v-artd .sp-9208 .prose .fr-u{margin:0;padding:7px 10px;background:#f1f3f7;font-size:11.5px;font-weight:700;color:var(--sub)}
.v-artd .sp-9208 .prose .fr-na{margin:0;padding:22px 10px;font-size:17px;font-weight:900;text-align:center;color:#9aa1b2}
.v-artd .sp-9208 .prose .fr-dm{display:flex;flex-direction:column;gap:6px;margin:0 0 12px !important}
.v-artd .sp-9208 .prose .fr-dm span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;border-radius:10px;background:#fdeef3;font-size:13.5px;font-weight:800;color:#8c1f48}
.v-artd .sp-9208 .prose .fr-dm .dm-x{background:#fff;border:1.5px dashed #e7a2bb;color:var(--sub)}
.v-artd .sp-9208 :where(.prose) .fr-dm .dm-x::after{content:"유료 요금제";flex:none;padding:2px 8px;border-radius:999px;background:#d9467a;font-size:11px;color:#fff}

/* 서버 위치 두 경로 */
.v-artd .sp-9208 .prose .sh-rg{display:flex;flex-direction:column;gap:10px;margin:6px 0 16px}
.v-artd .sp-9208 .prose .rg-row{display:grid;grid-template-columns:130px minmax(0,1fr) 170px 96px;align-items:center;gap:0;padding:14px 16px;border-radius:14px;background:var(--rb)}
.v-artd .sp-9208 :where(.prose) .rg-kr{--rb:#e9f6ee;--rc:#1f9d5c}
.v-artd .sp-9208 :where(.prose) .rg-ov{--rb:#fff4e0;--rc:#d98a14}
.v-artd .sp-9208 .prose .rg-row p{margin:0;padding:10px 12px;border-radius:10px;background:#fff;font-size:14px;font-weight:800;line-height:1.3;text-align:center;color:var(--ink)}
.v-artd .sp-9208 .prose .rg-b small{display:block;margin-top:2px;font-size:11.5px;font-weight:700;color:var(--sub)}
.v-artd .sp-9208 :where(.prose) .rg-row i{height:0;margin:0 10px;border-top:2.5px dashed var(--rc);transform-origin:left center}
.v-artd .sp-9208 .prose .rg-row em{justify-self:end;padding:6px 12px;border-radius:999px;background:var(--rc);font-size:13px;font-style:normal;font-weight:900;color:#fff}
.v-artd .sp-9208 .prose .rg-five{counter-reset:r;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 16px}
.v-artd .sp-9208 .prose .rg-five li{counter-increment:r;display:flex;flex-direction:column;gap:8px;padding:14px 12px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1.5px #f6deb0;font-size:13.5px;font-weight:700;line-height:1.45;color:var(--ink)}
.v-artd .sp-9208 :where(.prose) .rg-five li::after{content:counter(r);order:-1;width:26px;height:26px;border-radius:50%;background:#d98a14;font-size:12.5px;font-weight:900;line-height:26px;text-align:center;color:#fff}

/* 서버 이전 시간 축 */
.v-artd .sp-9208 .prose .sh-tl{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 16px;padding-top:22px}
.v-artd .sp-9208 :where(.prose) .sh-tl::before{content:"";position:absolute;left:8px;right:8px;top:8px;height:3px;border-radius:2px;background:#dfe3ec}
.v-artd .sp-9208 .prose .sh-ph{position:relative;display:flex;flex-direction:column;gap:0;padding:18px 16px;border-radius:14px;background:var(--soft)}
.v-artd .sp-9208 :where(.prose) .sh-ph::before{content:"";position:absolute;left:16px;top:-21px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 3px var(--navy)}
.v-artd .sp-9208 .prose .sh-phk{margin:0 0 10px;font-size:17px;font-weight:900;color:var(--ink)}
.v-artd .sp-9208 .prose .sh-ph ul{display:flex;flex-direction:column;gap:8px}
.v-artd .sp-9208 .prose .sh-ph ul li{font-size:14px;font-weight:600;line-height:1.5;color:#3a3f52}
.v-artd .sp-9208 .prose .sh-ph-w{background:#eef2ff}
.v-artd .sp-9208 :where(.prose) .sh-ph-w::before{box-shadow:inset 0 0 0 3px var(--blue)}
.v-artd .sp-9208 :where(.prose) .sh-ph-w .sh-phk{color:var(--blue)}
.v-artd .sp-9208 .prose .sh-ph-d{background:var(--navy)}
.v-artd .sp-9208 :where(.prose) .sh-ph-d::before{background:var(--yellow);box-shadow:none}
.v-artd .sp-9208 .prose .sh-ph-d .sh-phk{color:var(--yellow)}
.v-artd .sp-9208 .prose .sh-ph-d ul li{color:#e6e9f5}

/* 건특공 사례 */
.v-artd .sp-9208 .prose .sh-pf{display:block;padding:26px 26px;border-radius:20px;background:#0f1a33}
.v-artd .sp-9208 .prose .pf-k{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 16px;font-size:18px;font-weight:900;color:#fff}
.v-artd .sp-9208 .prose .pf-k small{font-size:13px;font-weight:700;color:#9fb0d6}
.v-artd .sp-9208 .prose .sh-pbar{display:flex;gap:3px;height:40px;margin:0 0 12px}
.v-artd .sp-9208 :where(.prose) .sh-pbar span{flex:0 0 var(--w);display:flex;align-items:center;min-width:0;padding:0 10px;box-sizing:border-box;border-radius:8px;font-size:12.5px;font-weight:800;white-space:nowrap;overflow:hidden}
.v-artd .sp-9208 :where(.prose) .pb-1{flex-basis:auto !important;flex-shrink:0 !important;background:var(--yellow);color:var(--navy)}
.v-artd .sp-9208 :where(.prose) .pb-2{flex:1 1 64% !important;background:#2f6bff;color:#fff}
.v-artd .sp-9208 :where(.prose) .pb-3{flex:1 1 30% !important;background:#8fb0ff;color:#0f1a33}
.v-artd .sp-9208 .prose .pf-n{margin:0 0 16px;font-size:16px;font-weight:800;color:#c9d3ee}
.v-artd .sp-9208 .prose .pf-n b{margin-right:4px;font-size:40px;font-weight:900;letter-spacing:-1px;color:#fff}
.v-artd .sp-9208 .prose .pf-f{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0 0 16px}
.v-artd .sp-9208 .prose .pf-f li{display:flex;align-items:center;font-size:14px;font-weight:800;color:#fff}
.v-artd .sp-9208 .prose .pf-f li+li::before{content:"";width:26px;height:2px;margin:0 8px;background:#5d74a8}
.v-artd .sp-9208 :where(.prose) .pf-f li{padding:0}
.v-artd .sp-9208 .prose .pf-f li:last-child{color:var(--yellow)}
.v-artd .sp-9208 .prose .pf-d{margin:0 0 16px;font-size:15px;line-height:1.7;color:#c9d3ee}
.v-artd .sp-9208 .prose .sh-pf a{display:inline-block;padding:9px 18px;border-radius:999px;background:var(--yellow);font-size:14px;font-weight:800;color:var(--navy);text-decoration:none}
.v-artd .sp-9208 .prose .sh-pf a:hover{background:#fff}

/* 진행 방식 세 칸 */
.v-artd .sp-9208 :where(.prose) .sh-wbox{margin:0;padding:24px 26px;border-radius:18px;background:#fff8e1}
.v-artd .sp-9208 :where(.prose) .sh-wbox .we-h{margin:0 0 14px;font-size:13px;font-weight:800;letter-spacing:.4px;color:#9a6a00}
.v-artd .sp-9208 .prose .sh-wbox dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.v-artd .sp-9208 .prose .sh-wbox dl>div{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:12px;background:#fff}
.v-artd .sp-9208 :where(.prose) .sh-wbox dt{font-size:15px;font-weight:900;color:var(--ink)}
.v-artd .sp-9208 :where(.prose) .sh-wbox dd{margin:0;font-size:14.5px;line-height:1.6;color:#3a3f52}

/* 연재 순서 */
.v-artd .sp-9208 .prose .sh-nx{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:6px 0 8px}
.v-artd .sp-9208 :where(.prose) .sh-nx a,.v-artd .sp-9208 :where(.prose) .sh-nx p{display:flex;flex-direction:column;gap:3px;height:100%;margin:0;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:14px;font-weight:700;line-height:1.4;color:var(--ink);text-decoration:none;box-sizing:border-box}
.v-artd .sp-9208 :where(.prose) .sh-nx a:hover{background:#eef2ff}
.v-artd .sp-9208 :where(.prose) .sh-nx li.on p{background:var(--navy);color:#fff}
.v-artd .sp-9208 :where(.prose) .sh-nx li.nx-w p{background:#fff;border:1.5px dashed #c9cdd8;color:var(--sub)}
.v-artd .sp-9208 :where(.prose) .sh-nx span{font-size:12.5px;font-weight:800;color:var(--blue)}
.v-artd .sp-9208 :where(.prose) .sh-nx li.on span{color:var(--yellow)}

/* 출처 */
.v-artd .sp-9208 .prose .sh-srcs h2{font-size:15px;color:var(--sub)}
.v-artd .sp-9208 :where(.prose) .sh-srcs li{font-size:13.5px;line-height:1.7;color:var(--sub)}

@media (max-width:760px){
  .v-artd .sp-9208 .prose h2{font-size:22px}
  .v-artd .sp-9208 :where(.prose) .sh-s{padding-top:48px}
  .v-artd .sp-9208 :where(.prose) .sh-mx{padding:14px}
  .v-artd .sp-9208 .prose .sh-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .v-artd .sp-9208 .prose .sh-col{padding:14px 10px 12px}
  .v-artd .sp-9208 .prose .sh-ch{min-height:76px}
  .v-artd .sp-9208 .prose .sh-tw li{padding:9px 6px;font-size:12.5px}
  .v-artd .sp-9208 .prose .sh-q{padding:20px 18px}
  .v-artd .sp-9208 .prose .sh-qt{font-size:16px}
  .v-artd .sp-9208 .prose .sh-fr{grid-template-columns:1fr}
  .v-artd .sp-9208 .prose .rg-row{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);row-gap:8px;padding:12px}
  .v-artd .sp-9208 :where(.prose) .rg-row i{margin:0 6px}
  .v-artd .sp-9208 .prose .rg-row em{grid-column:1/-1;justify-self:start}
  .v-artd .sp-9208 .prose .rg-five{grid-template-columns:1fr}
  .v-artd .sp-9208 .prose .rg-five li{flex-direction:row;align-items:center;gap:10px;padding:10px 12px}
  .v-artd .sp-9208 :where(.prose) .rg-five li::after{flex:none}
  .v-artd .sp-9208 .prose .sh-tl{grid-template-columns:1fr;padding:0 0 0 26px}
  .v-artd .sp-9208 :where(.prose) .sh-tl::before{left:6px;right:auto;top:8px;bottom:8px;width:3px;height:auto}
  .v-artd .sp-9208 :where(.prose) .sh-ph::before{left:-26px;top:20px}
  .v-artd .sp-9208 .prose .sh-pf{padding:20px 18px}
  .v-artd .sp-9208 .prose .sh-pbar{flex-direction:column;height:auto}
  .v-artd .sp-9208 :where(.prose) .sh-pbar span{flex:none !important;width:100%;padding:9px 10px}
  .v-artd .sp-9208 :where(.prose) .sh-wbox{padding:20px 16px}
  .v-artd .sp-9208 .prose .sh-wbox dl{grid-template-columns:1fr}
  .v-artd .sp-9208 .prose .sh-nx{grid-template-columns:1fr 1fr}
}
