/* ==========================================================
   제안서 — 화면 미리보기 = A4 인쇄(PDF로 저장)
   ========================================================== */
.pp-toolbar { position: sticky; top: 72px; z-index: 20; background: var(--mh-base); border-bottom: 1px solid var(--mh-border); }
.pp-toolbar__in { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.pp-toolbar__in p { margin: 0; font-size: 14px; color: var(--mh-text-2); }
@media (max-width: 1023px) { .pp-toolbar { top: 56px; } }
.pp-stage { background: #E9EAF0; padding: 32px 0 64px; }
.pp-page { width: 210mm; min-height: 297mm; margin: 0 auto 24px; background: #fff; box-shadow: 0 8px 24px rgb(21 22 34 / .12); padding: 18mm 18mm 20mm; position: relative; color: #171923; font-size: 11pt; line-height: 1.55; display: flex; flex-direction: column; }
@media (max-width: 900px) { .pp-page { width: 100%; min-height: 0; padding: 24px 20px; } }
.pp-page__foot { margin-top: auto; padding-top: 12px; border-top: 1px solid #E4E7EC; display: flex; justify-content: space-between; font-size: 9pt; color: #626775; }
/* 표지 */
.pp-cover { background: #151622; color: #fff; justify-content: space-between; }
.pp-cover .pp-page__foot { border-top-color: rgb(255 255 255 / .2); color: #C7CAD8; }
.pp-cover__kicker { color: #F4CD55; font-weight: 600; font-size: 11pt; letter-spacing: .02em; }
.pp-cover__title { font-size: 30pt; font-weight: 750; line-height: 1.2; margin-top: 12pt; letter-spacing: -.01em; }
.pp-cover__sub { font-size: 13pt; color: #C7CAD8; margin-top: 10pt; max-width: 36em; }
.pp-cover__meta { margin-top: 40pt; display: grid; grid-template-columns: 90px 1fr; gap: 6pt 12pt; font-size: 10.5pt; }
.pp-cover__meta dt { color: #C7CAD8; } .pp-cover__meta dd { margin: 0; }
.pp-cover__logo { height: 36px; width: auto; filter: brightness(0) invert(1); }
/* 본문 */
.pp-h1 { font-size: 18pt; font-weight: 700; margin: 0 0 8pt; padding-bottom: 6pt; border-bottom: 2px solid #5143CF; color: #151622; }
.pp-summary { width: 100%; border-collapse: collapse; font-size: 10.5pt; }
.pp-summary th { width: 26%; text-align: left; background: #F7F8FC; padding: 7pt 9pt; border-bottom: 1px solid #E4E7EC; font-weight: 600; vertical-align: top; }
.pp-summary td { padding: 7pt 9pt; border-bottom: 1px solid #E4E7EC; vertical-align: top; }
.pp-body h2 { font-size: 15pt; font-weight: 700; margin: 18pt 0 8pt; padding-bottom: 4pt; border-bottom: 2px solid #5143CF; break-after: avoid; }
.pp-body h2:first-child { margin-top: 0; }
.pp-body h3 { font-size: 12pt; font-weight: 650; margin: 12pt 0 6pt; break-after: avoid; }
.pp-body p { margin: 0 0 8pt; }
.pp-body ul, .pp-body ol { margin: 0 0 8pt; padding-left: 16pt; }
.pp-body li + li { margin-top: 3pt; }
.pp-body table { width: 100%; border-collapse: collapse; font-size: 9.5pt; margin: 6pt 0 12pt; break-inside: auto; }
.pp-body th, .pp-body td { padding: 5pt 7pt; border: 1px solid #E4E7EC; text-align: left; vertical-align: top; }
.pp-body th { background: #F7F8FC; font-weight: 600; }
.pp-body tr { break-inside: avoid; }
.pp-body strong { font-weight: 700; }
.pp-placeholder { background: #FEFCE8; color: #854D0E; border-radius: 3px; padding: 0 3px; }
.pp-contact { margin-top: 18pt; padding: 12pt 14pt; background: #F7F8FC; border-radius: 8px; font-size: 10.5pt; display: grid; grid-template-columns: 80px 1fr; gap: 4pt 10pt; }
.pp-contact dt { color: #626775; } .pp-contact dd { margin: 0; }
.pp-locked { max-width: 480px; margin: 64px auto; text-align: center; }

@page { size: A4; margin: 0; }
@media print {
	html, body { background: #fff !important; }
	.pp-toolbar, .mh-header, .mh-footer, .mh-demo, .mh-notice { display: none !important; }
	.pp-stage { background: #fff; padding: 0; }
	.pp-page { width: 210mm; min-height: 297mm; margin: 0; box-shadow: none; break-after: page; page-break-after: always; padding: 18mm 18mm 20mm; }
	.pp-page:last-child { break-after: auto; page-break-after: auto; }
	.pp-cover { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.pp-body table, .pp-summary, .pp-body th, .pp-contact { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.pp-body { orphans: 3; widows: 3; }
}
