/* 列印／PDF 專用：A4 商務格式 */
@page { size: A4; margin: 12mm 13mm 10mm; }

html, body { background: #fff; }
.masthead, .toc, .foot, .skip, .figure { display: none !important; }

.hero {
  display: grid; grid-template-columns: minmax(0, 1fr) 62mm; gap: 8mm;
  padding: 0 0 3mm; border-bottom: 1px solid #9a9a9a;
}
.hero__name { font-size: 21pt; margin-top: 2mm; line-height: 1.15; }
.hero__name .en { font-size: 7.5pt; margin-top: 1.5mm; letter-spacing: 0.2em; }
.hero__role { font-size: 10pt; font-weight: 600; margin-top: 3mm; }
.hero__intro { font-size: 8.2pt; margin-top: 1.5mm; line-height: 1.55; }
.hero__contact { gap: 2mm 4mm; }
.hero__contact div { padding-top: 1mm; }
.hero__contact dt { font-size: 6.2pt; }
.hero__contact dd { font-size: 8.2pt; margin-top: 0; }

.layout { display: block; padding: 3mm 0 0; }
.section { padding: 2.6mm 0; border-top: 1px solid #c9c9c9; break-inside: auto; }
.section:first-child { padding-top: 2mm; }
.section__head { margin-bottom: 2mm; padding-bottom: 1mm; break-after: avoid; }
.section__title { font-size: 12.5pt; }
.section__num { font-size: 7.5pt; }
.section__note { font-size: 7pt; }

.facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5mm 6mm; }
.fact__k { font-size: 6.2pt; margin-bottom: 0.5mm; }
.fact__v { font-size: 8.2pt; line-height: 1.45; }

.job { grid-template-columns: 24mm minmax(0, 1fr); gap: 4mm; padding: 2mm 0; break-inside: avoid; }
.job__when { font-size: 7pt; }
.job__role { font-size: 10.5pt; }
.job__org { font-size: 7.6pt; margin-top: 0.5mm; }
.job__list { margin-top: 1.5mm; gap: 0.3mm; }
.job__list li { font-size: 8pt; line-height: 1.42; padding-left: 3mm; }
.job__list li::before { top: 0.72em; width: 2.5px; height: 2.5px; }
.metrics { margin-top: 1.5mm; padding-top: 1.5mm; gap: 0.5mm 4mm; }
.metric__v { font-size: 8pt; }
.metric__k { font-size: 7pt; }

.skills { gap: 3.5mm 8mm; }
.skill h3 { font-size: 6.6pt; padding-bottom: 1mm; margin-bottom: 1.5mm; }
.skill ul { gap: 0.4mm; }
.skill li { font-size: 8.2pt; }
.skill li .icon { width: 8px; height: 8px; margin-top: 0.5em; }

.block { grid-template-columns: 24mm minmax(0, 1fr); gap: 4mm; }
.block__k { font-size: 7.5pt; }
.block__v p { font-size: 8.2pt; }

.levels { gap: 0.8mm; }
.level { grid-template-columns: 16mm minmax(0, 1fr) 24mm; }
.level__name { font-size: 8.2pt; }
.level__note { font-size: 6.6pt; }

.tags li { font-size: 7.4pt; padding: 0.5mm 2mm; }

.values { gap: 1.8mm 6mm; }
.value h3 { font-size: 8.8pt; }
.value p { font-size: 8.2pt; }

.outlook { gap: 0.8mm; }
.outlook li { font-size: 8.2pt; }
.outlook li::before { font-size: 6.4pt; }

a { color: inherit; text-decoration: none; }

/* 收尾壓縮：讓 PDF 收在兩頁 */
.section { padding: 1.7mm 0; }
.job { padding: 1.2mm 0; }
.job__list li { font-size: 7.9pt; line-height: 1.38; }
.values { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5mm 4mm; }
.value h3 { font-size: 8pt; margin-bottom: 0.5mm; }
.value p { font-size: 7pt; line-height: 1.38; }
.outlook { grid-template-columns: 1fr 1fr; gap: 0.6mm 6mm; }
.outlook li { font-size: 7.7pt; }
.skills { gap: 2.5mm 7mm; }
.skill li { font-size: 7.9pt; }
.facts { gap: 2mm 6mm; }

/* PDF 只保留招募方最需要看的段落；展望留在網站版 */
@media print {
  #outlook { display: none; }
  #character { break-inside: avoid; }
}

/* 列印時：隱藏解鎖表單與解出的內容，只留職稱清單 */
.refgate, .refgate__out { display: none !important; }
.closing { margin-top: 7mm; padding-top: 3mm; break-inside: avoid; }
.closing p { font-size: 10pt; line-height: 1.7; }

.brand-mark { width: 11mm; height: 11mm; }
.hero__brand { margin-bottom: 2mm; gap: 3mm; }

/* 兩欄專案在列印時縮小 */
.projects { gap: 2mm 6mm; }
.project { padding-top: 1.2mm; }
.project p { font-size: 7.6pt; line-height: 1.4; }
.project h3 { font-size: 8.6pt; }
.project__meta { font-size: 6.2pt; margin-bottom: 0.8mm; }
.project .tags li { font-size: 6.4pt; padding: 0.3mm 1.4mm; }
.section__lead { font-size: 8pt; margin-bottom: 2mm; }
.section__foot { font-size: 6.8pt; margin-top: 1.5mm; }
