/* 384 계약 초안의 조율과 일반 조항 = 교정 중인 계약서(2026-10-16 사장님 '공통틀로 하지마 다 다르게').
   첫머리는 점선 이음 목차와 반영, 결정 필요 도장, 자료 연결은 목록에서 본문과 첨부로 가는 선, 수정 협의는 빨간 줄 교정 지면과 여백 메모,
   공통 조항은 문서 오른쪽 색인 탭, 검토 역할은 이어달리기, 서명 전 대조는 서명란, 사전 계약은 두 장 계약, 진행 방식은 클립으로 붙인 메모 */
.v-artd .sp-384 .prose{font-size:17px}
.v-artd .sp-384 .prose h2{margin:0 0 16px;padding:0;border:0;font-size:26px;letter-spacing:-.7px;display:block;min-height:0}
.v-artd .sp-384 .prose h2::before,.v-artd .sp-384 .prose h2::after{content:none}
.v-artd .sp-384 :where(.prose) .dr-s{padding:56px 0 4px}
.v-artd .sp-384 :where(.prose) .dr-s>p{margin:0 0 16px}
.v-artd .sp-384 :where(.prose) .dr-lead{font-size:20px;line-height:1.7;color:var(--ink);margin:0 0 26px}
.v-artd .sp-384 :where(.prose) .dr-lead b{color:var(--blue)}

/* 점선 이음 목차 */
.v-artd .sp-384 :where(.prose) .dr-toc{padding:26px 30px;border-radius:4px;background:#fff;box-shadow:0 0 0 1px var(--line),0 24px 40px -34px rgba(27,31,58,.6)}
.v-artd .sp-384 :where(.prose) .toc-h{margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--ink);font-size:15px;font-weight:800;letter-spacing:.08em;color:var(--ink);text-align:center}
.v-artd .sp-384 :where(.prose) .dr-toc ol{margin:0;padding:0;list-style:none;counter-reset:t}
.v-artd .sp-384 :where(.prose) .dr-toc li{counter-increment:t;display:grid;grid-template-columns:36px auto 1fr;gap:4px 12px;align-items:baseline;margin:0;padding:10px 0}
.v-artd .sp-384 :where(.prose) .dr-toc li::before{content:"0" counter(t);font-size:14px;font-weight:800;color:var(--blue)}
.v-artd .sp-384 :where(.prose) .dr-toc b{font-size:16px;color:var(--ink);white-space:nowrap}
.v-artd .sp-384 :where(.prose) .dr-toc b::after{content:"";display:inline-block;width:0}
.v-artd .sp-384 :where(.prose) .dr-toc span{font-size:14px;line-height:1.55;color:var(--sub);padding-left:14px;border-left:1px solid var(--line)}
.v-artd .sp-384 :where(.prose) .dr-stamps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 4px}
.v-artd .sp-384 :where(.prose) .dr-stamps>div{position:relative;padding:20px 20px 18px;border-radius:14px;background:var(--soft)}
.v-artd .sp-384 :where(.prose) .dr-stamps b{display:block;margin:0 0 4px;font-size:15.5px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .dr-stamps p{margin:0;font-size:14px;line-height:1.6;color:var(--sub)}
.v-artd .sp-384 :where(.prose) .stamp{display:inline-block;margin:0 0 10px;padding:4px 12px;border:2.5px solid currentColor;border-radius:8px;font-size:14px;font-weight:800;transform:rotate(-5deg)}
.v-artd .sp-384 :where(.prose) .sp-ok .stamp{color:#1d3fc4}
.v-artd .sp-384 :where(.prose) .sp-q .stamp{color:#a36b00}

/* 자료와 계약 문서의 연결 */
.v-artd .sp-384 :where(.prose) .dr-link{display:grid;grid-template-columns:1fr 70px 1.2fr;align-items:center;margin:16px 0 20px}
.v-artd .sp-384 :where(.prose) .lk-src{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v-artd .sp-384 :where(.prose) .lk-src span{padding:12px;border-radius:10px;background:var(--blue2);text-align:center;font-size:14.5px;font-weight:800;color:#1d3fc4}
.v-artd .sp-384 :where(.prose) .lk-mid{height:2px;background:var(--ink);position:relative}
.v-artd .sp-384 :where(.prose) .lk-mid::after{content:"";position:absolute;right:-2px;top:-5px;border:6px solid transparent;border-left:9px solid var(--ink);border-right:0}
.v-artd .sp-384 :where(.prose) .lk-doc{display:grid;gap:8px}
.v-artd .sp-384 :where(.prose) .lk-doc>div{position:relative;padding:14px 16px;border-radius:4px;background:#fff;box-shadow:0 0 0 1.5px var(--ink);font-size:15px;font-weight:800;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .lk-doc .d2{margin-left:18px;box-shadow:0 0 0 1.5px var(--ink),6px 6px 0 -1px var(--soft),6px 6px 0 0 #c3c8d6}
.v-artd .sp-384 :where(.prose) .lk-doc small{display:block;margin-top:3px;font-size:12.5px;font-weight:600;color:var(--sub)}

/* 빨간 줄 교정 지면 */
.v-artd .sp-384 :where(.prose) .dr-redline{display:grid;grid-template-columns:1fr 210px;gap:0;margin:16px 0 22px;border-radius:6px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.v-artd .sp-384 :where(.prose) .rl-page{padding:22px 26px;background:#fff}
.v-artd .sp-384 :where(.prose) .rl-h{margin:0 0 14px;font-size:14px;font-weight:800;color:var(--ink);text-align:center;letter-spacing:.1em}
.v-artd .sp-384 :where(.prose) .rl-page .ln{display:block;height:9px;margin:0 0 11px;border-radius:4px;background:#e1e4ec}
.v-artd .sp-384 :where(.prose) .rl-page .ln.s{width:68%}
.v-artd .sp-384 :where(.prose) .rl-page .ln.del{position:relative;background:#f3c1c3}
.v-artd .sp-384 :where(.prose) .rl-page .ln.del::after{content:"";position:absolute;left:-4px;right:-4px;top:4px;height:2px;background:#e5484d}
.v-artd .sp-384 :where(.prose) .rl-page .ln.ins{background:none;border-bottom:2.5px solid #1d3fc4;border-radius:0;height:7px;width:84%}
.v-artd .sp-384 :where(.prose) .rl-page .ln.ins.s{width:52%}
.v-artd .sp-384 :where(.prose) .rl-notes{position:relative;padding:22px 16px;background:#f7f8fb;border-left:1px dashed #c3c8d6}
.v-artd .sp-384 :where(.prose) .rl-notes p{position:relative;margin:0 0 14px;padding:10px 12px;border-radius:10px;background:#fff;box-shadow:0 0 0 1.5px #e5484d;font-size:13px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .rl-notes p::before{content:"";position:absolute;left:-17px;top:16px;width:16px;height:1.5px;background:#e5484d}
.v-artd .sp-384 :where(.prose) .rl-notes .n1{margin-top:44px}
.v-artd .sp-384 :where(.prose) .rl-notes .n2{box-shadow:0 0 0 1.5px #1d3fc4}
.v-artd .sp-384 :where(.prose) .rl-notes .n2::before{background:#1d3fc4}
.v-artd .sp-384 :where(.prose) .rl-notes b{display:block;margin-bottom:6px;font-size:13px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .rl-notes span{display:inline-block;margin:0 4px 4px 0;padding:2px 8px;border-radius:5px;background:var(--blue2);color:#1d3fc4;font-size:12px;font-weight:800}

/* 색인 탭 */
.v-artd .sp-384 :where(.prose) .dr-tabs{display:grid;grid-template-columns:1fr 104px;gap:0;margin:16px 0 20px}
.v-artd .sp-384 :where(.prose) .tb-main{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px;border-radius:16px 0 0 16px;background:var(--navy)}
.v-artd .sp-384 :where(.prose) .tm{padding:16px;border-radius:10px;background:#fff}
.v-artd .sp-384 :where(.prose) .tm b{display:block;margin-bottom:4px;font-size:15.5px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .tm span{font-size:13.5px;line-height:1.55;color:var(--sub)}
.v-artd .sp-384 :where(.prose) .tb-side{display:flex;flex-direction:column;gap:4px;margin:10px 0;padding:0;list-style:none}
.v-artd .sp-384 :where(.prose) .tb-side li{flex:1;display:flex;align-items:center;margin:0;padding:0 12px;border-radius:0 8px 8px 0;background:var(--blue2);font-size:13px;font-weight:800;color:#1d3fc4}
.v-artd .sp-384 :where(.prose) .tb-side li:nth-child(even){background:#e9ecf5;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .tb-side li::before{content:none}

/* 이어달리기 */
.v-artd .sp-384 :where(.prose) .dr-relay{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:16px 0 20px}
.v-artd .sp-384 :where(.prose) .ry{position:relative;padding:18px 16px;border-radius:14px;background:var(--soft);text-align:center}
.v-artd .sp-384 :where(.prose) .ry b{display:block;margin-bottom:6px;font-size:15.5px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .ry span{font-size:13.5px;line-height:1.5;color:#4b5263}
.v-artd .sp-384 :where(.prose) .ry:not(:last-child)::after{content:"";position:absolute;right:-24px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:var(--blue);box-shadow:inset 0 0 0 6px var(--blue),inset 0 0 0 10px #fff}
.v-artd .sp-384 :where(.prose) .ry:last-child{background:var(--navy)}
.v-artd .sp-384 :where(.prose) .ry:last-child b{color:#fff}
.v-artd .sp-384 :where(.prose) .ry:last-child span{color:#c9d1ee}

/* 서명란 */
.v-artd .sp-384 :where(.prose) .dr-sign{margin:16px 0 10px;padding:22px 24px;border:1.5px solid var(--ink);border-radius:4px}
.v-artd .sp-384 :where(.prose) .dr-sign p{margin:0 0 16px;font-size:16px;line-height:1.7;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .sg{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.v-artd .sp-384 :where(.prose) .sg span{position:relative;padding:6px 12px 6px 30px;border-radius:8px;background:var(--soft);font-size:13.5px;font-weight:800;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .sg span::before{content:"";position:absolute;left:10px;top:50%;width:12px;height:7px;margin-top:-6px;border-left:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(-45deg)}
.v-artd .sp-384 :where(.prose) .sg em{margin-left:auto;min-width:160px;padding:6px 0 4px;border-bottom:1.5px solid var(--ink);font-style:normal;font-size:13px;color:var(--sub);text-align:right}
.v-artd .sp-384 :where(.prose) .sg em::before{content:"(인)";float:left;color:#c3c8d6}

/* 두 장 계약 */
.v-artd .sp-384 :where(.prose) .dr-two{display:grid;grid-template-columns:1.2fr auto 1fr;align-items:center;gap:0;margin:16px 0 20px}
.v-artd .sp-384 :where(.prose) .tw-a,.v-artd .sp-384 :where(.prose) .tw-b{padding:18px;border-radius:4px;box-shadow:0 0 0 1.5px var(--ink);background:#fff}
.v-artd .sp-384 :where(.prose) .tw-a b,.v-artd .sp-384 :where(.prose) .tw-b b{display:block;font-size:16px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .tw-a span{display:block;margin:6px 0;font-size:14.5px;font-weight:700;color:#1d3fc4}
.v-artd .sp-384 :where(.prose) .tw-a small{font-size:12.5px;color:var(--sub)}
.v-artd .sp-384 :where(.prose) .tw-b{box-shadow:0 0 0 1.5px #9aa1b3;background:repeating-linear-gradient(135deg,#fff 0 8px,#f7f8fb 8px 16px);color:var(--sub)}
.v-artd .sp-384 :where(.prose) .tw-b b{color:var(--sub)}
.v-artd .sp-384 :where(.prose) .tw-j{position:relative;padding:0 16px;font-size:12.5px;font-weight:800;color:var(--sub);text-align:center;line-height:1.3;max-width:110px}
.v-artd .sp-384 :where(.prose) .tw-j::after{content:"→";display:block;font-size:20px;color:var(--ink)}

/* 클립 메모 */
.v-artd .sp-384 :where(.prose) .dr-we{position:relative;margin:56px 0 10px;padding:30px 30px 26px;border-radius:4px;background:#fffbea;box-shadow:0 0 0 1px #efe2b0,0 24px 40px -30px rgba(27,31,58,.5);transform:rotate(-.4deg)}
.v-artd .sp-384 :where(.prose) .clip{position:absolute;left:40px;top:-18px;width:22px;height:54px;border:3px solid #8a91a5;border-radius:12px;border-bottom-color:transparent}
.v-artd .sp-384 :where(.prose) .clip::after{content:"";position:absolute;left:3px;top:6px;width:10px;height:36px;border:3px solid #8a91a5;border-top-color:transparent;border-radius:0 0 8px 8px}
.v-artd .sp-384 :where(.prose) .dw-k{margin:0 0 6px;font-size:13px;font-weight:800;color:#7a5600}
.v-artd .sp-384 :where(.prose) .dw-t{margin:0 0 14px;font-size:20px;font-weight:800;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .dr-we ul{margin:0 0 20px;padding:0;list-style:none}
.v-artd .sp-384 :where(.prose) .dr-we li{position:relative;margin:0;padding:9px 0 9px 28px;border-bottom:1px dashed #e4d59e;font-size:15px;color:var(--ink)}
.v-artd .sp-384 :where(.prose) .dr-we li::before{content:"";position:absolute;left:4px;top:15px;width:11px;height:6px;border-left:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(-45deg)}
.v-artd .sp-384 :where(.prose) .dr-we li b{display:inline-block;min-width:110px;font-size:14px;color:#7a5600}
.v-artd .sp-384 :where(.prose) .dw-btn{display:inline-flex;padding:13px 24px;border-radius:999px;background:var(--navy);color:#fff!important;font-weight:800;text-decoration:none!important}
.v-artd .sp-384 :where(.prose) .dw-btn:hover{background:var(--blue)}

.v-artd .sp-384 :where(.prose) .dr-rel{margin:40px 0 18px;padding:18px 0 0;border-top:1px solid var(--line);list-style:none}
.v-artd .sp-384 :where(.prose) .dr-rel li{margin:0;padding:6px 0}
.v-artd .sp-384 :where(.prose) .dr-rel li::before{content:none}
.v-artd .sp-384 :where(.prose) .dr-rel a{font-weight:700;text-decoration:none}
.v-artd .sp-384 :where(.prose) .dr-rel a::before{content:"→ ";color:var(--sub)}

@media (max-width:720px){
  .v-artd .sp-384 :where(.prose) .dr-lead{font-size:18px}
  .v-artd .sp-384 .prose h2{font-size:22px}
  .v-artd .sp-384 :where(.prose) .dr-s{padding-top:46px}
  .v-artd .sp-384 :where(.prose) .dr-toc{padding:20px 16px}
  .v-artd .sp-384 :where(.prose) .dr-toc li{grid-template-columns:30px 1fr}
  .v-artd .sp-384 :where(.prose) .dr-toc span{grid-column:2;padding-left:0;background:none}
  .v-artd .sp-384 :where(.prose) .dr-stamps{grid-template-columns:1fr}
  .v-artd .sp-384 :where(.prose) .dr-link{grid-template-columns:1fr;gap:12px}
  .v-artd .sp-384 :where(.prose) .lk-mid{width:2px;height:26px;margin:0 auto}
  .v-artd .sp-384 :where(.prose) .lk-mid::after{right:auto;left:-5px;top:auto;bottom:-2px;border:6px solid transparent;border-top:9px solid var(--ink);border-bottom:0}
  .v-artd .sp-384 :where(.prose) .dr-redline{grid-template-columns:1fr}
  .v-artd .sp-384 :where(.prose) .rl-notes{border-left:0;border-top:1px dashed #c3c8d6;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}
  .v-artd .sp-384 :where(.prose) .rl-notes p{margin:0}
  .v-artd .sp-384 :where(.prose) .rl-notes .n1{margin-top:0}
  .v-artd .sp-384 :where(.prose) .rl-notes p::before{display:none}
  .v-artd .sp-384 :where(.prose) .dr-tabs{grid-template-columns:1fr}
  .v-artd .sp-384 :where(.prose) .tb-main{grid-template-columns:1fr;border-radius:16px 16px 0 0}
  .v-artd .sp-384 :where(.prose) .tb-side{flex-direction:row;flex-wrap:wrap;margin:0 10px}
  .v-artd .sp-384 :where(.prose) .tb-side li{flex:0 0 auto;padding:8px 10px;border-radius:0 0 8px 8px}
  .v-artd .sp-384 :where(.prose) .dr-relay{grid-template-columns:1fr;gap:26px}
  .v-artd .sp-384 :where(.prose) .ry:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-23px;margin:0 0 0 -10px}
  .v-artd .sp-384 :where(.prose) .sg em{margin-left:0;flex-basis:100%}
  .v-artd .sp-384 :where(.prose) .dr-two{grid-template-columns:1fr;gap:10px}
  .v-artd .sp-384 :where(.prose) .tw-j{max-width:none}
  .v-artd .sp-384 :where(.prose) .tw-j::after{content:"↓"}
  .v-artd .sp-384 :where(.prose) .dr-we{padding:26px 18px 22px}
  .v-artd .sp-384 :where(.prose) .dr-we li b{display:block;min-width:0}
}
