/* 페이지 46~50 전용 */
.pp-bc { background: var(--paper-dim); padding: 10px 0; font-size: .85rem; color: var(--text-dim); }
.pp-bc a { color: var(--ink); text-decoration: underline; }
.pp-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 20px; }
.pp-card { background: var(--white); border: 1px solid var(--paper-dim); border-top: 3px solid var(--red); border-radius: var(--radius); padding: 18px; min-width: 0; }
.pp-card h3 { margin: 0 0 8px; font-size: 1.02rem; color: var(--ink); }
.pp-card p { margin: 0; font-size: .92rem; color: var(--steel); }
.pp-svg { margin: 20px 0; }
.pp-svg svg { width: 100%; max-width: 560px; height: auto; display: block; margin: 0 auto; background: var(--white); border: 1px solid var(--paper-dim); border-radius: var(--radius); }
.pp-svg figcaption { font-size: .82rem; color: var(--text-dim); margin-top: 8px; text-align: center; }
.pp-svg .bx { fill: var(--white); stroke: var(--ink); stroke-width: 2; }
.pp-svg .fl { fill: var(--paper-dim); stroke: var(--steel); stroke-width: 2; }
.pp-svg .rd { fill: var(--red); stroke: var(--red-dark); stroke-width: 1; }
.pp-svg .ln { fill: none; stroke: var(--steel); stroke-width: 2.5; }
.pp-svg .ar { fill: none; stroke: var(--red); stroke-width: 2.5; }
.pp-svg .tx { font-size: 15px; fill: var(--ink); }
.pp-svg .tx.b { font-weight: 700; }
.pp-svg .tx.sm { font-size: 12.5px; }
.pp-svg .tx.w { fill: var(--white); }
.pp-steps { list-style: none; margin: 20px 0 0; padding: 0; border-left: 3px solid var(--red); }
.pp-steps li { display: flex; gap: 14px; padding: 0 0 20px 16px; position: relative; }
.pp-num { font-family: var(--mono); font-weight: 700; color: var(--red); flex: none; }
.pp-steps h3, .p50-head h3 { margin: 0 0 4px; font-size: 1rem; }
.pp-steps p { margin: 0; color: var(--steel); font-size: .93rem; }
.pp-steps li > div { min-width: 0; }
.pp-cta { max-width: 820px; margin: 0 auto; padding: 24px 20px; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; background: var(--ink); color: var(--white); border-radius: var(--radius); }
.pp-cta h2 { margin: 0 0 6px; font-size: 1.2rem; color: var(--white); }
.pp-cta p { margin: 0; color: var(--paper-dim); }
.pp-cta-b { display: flex; gap: 10px; flex-wrap: wrap; }
.pp-about { margin-top: 18px; font-size: .92rem; }
.pp-dl { margin: 16px 0; }
.pp-dl dt { font-weight: 700; color: var(--ink); margin-top: 12px; }
.pp-dl dd { margin: 4px 0 0; color: var(--steel); }
.p50-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.p50-phase { background: var(--white); border: 1px solid var(--paper-dim); border-top: 4px solid var(--red); border-radius: var(--radius); padding: 18px; min-width: 0; }
.p50-head { display: flex; gap: 10px; align-items: baseline; margin-bottom: 8px; }
.p50-phase ul { margin: 0; padding-left: 1.1em; font-size: .92rem; color: var(--steel); }
.p50-phase li { margin-bottom: 6px; }
.pp-table { table-layout: auto; }
.pp-section-wrap { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .p50-timeline { grid-template-columns: 1fr; }
  .pp-table thead { display: none; }
  .pp-table, .pp-table tbody, .pp-table tr, .pp-table td { display: block; width: 100%; box-sizing: border-box; }
  .pp-table tr { margin-bottom: 12px; border: 1px solid var(--paper-dim); }
  .pp-table td { border: 0; border-bottom: 1px solid var(--paper-dim); }
  .pp-table td::before { content: attr(data-label); display: block; font-size: .78rem; font-weight: 700; color: var(--red); margin-bottom: 2px; }
  .pp-cta { flex-direction: column; align-items: flex-start; }
}
