/* CV: A4 print and save-as-PDF. Plain black text on white, single column, real text for ATS readers. */
@page { size: A4; margin: 14mm 15mm; }
body.cvpage { background: #eef0f4; font-family: 'Figtree', Arial, sans-serif; color: #111; }
.cv-tools { max-width: 794px; margin: 0 auto; padding: 16px 16px 0; }
.cv-form fieldset { flex-direction: row; flex-wrap: wrap; gap: 4px 20px; align-items: center; background: #fff; }
.cv-form label.check { padding: 4px 0; }
.cv-tools .small { display: block; margin-top: 8px; }
.cv-sheet { background: #fff; color: #111; max-width: 794px; min-height: 1000px; margin: 12px auto 32px; padding: 40px 44px; box-shadow: 0 6px 30px rgba(10,37,64,.18); font-size: 10.5pt; line-height: 1.45; }
.cv-head { display: flex; gap: 18px; align-items: center; border-bottom: 3px solid #0A2540; padding-bottom: 12px; }
.cv-photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex: none; }
.cv-id { min-width: 0; flex: 1; }
.cv-sheet h1 { font-family: 'Fraunces', Georgia, serif; font-size: 25pt; line-height: 1.1; margin: 0; color: #0A2540; }
.cv-headline { font-size: 12pt; margin: 4px 0 0; color: #333; }
.cv-contact { margin: 6px 0 0; font-size: 10pt; color: #222; overflow-wrap: anywhere; }
.cv-sheet a { color: #111; text-decoration: none; }
.cv-sec { margin-top: 14px; }
.cv-sec h2 { font-family: 'Figtree', Arial, sans-serif; font-size: 10.5pt; letter-spacing: .12em; text-transform: uppercase; color: #0A2540; border-bottom: 1px solid #b9c2cf; padding-bottom: 2px; margin: 0 0 6px; }
.cv-item { margin: 0 0 8px; break-inside: avoid; }
.cv-line { display: flex; justify-content: space-between; gap: 12px; }
.cv-when { white-space: nowrap; color: #333; }
.cv-org { color: #333; }
.cv-item p, .cv-sec > p { margin: 3px 0 0; }
@media (max-width: 640px) { .cv-sheet { padding: 22px 18px; } .cv-head { flex-direction: column; align-items: flex-start; } .cv-line { flex-direction: column; gap: 0; } }
@media print {
  body.cvpage { background: #fff; }
  .noprint, .tabbar { display: none !important; }
  .cv-sheet { box-shadow: none; margin: 0; padding: 0; max-width: none; min-height: 0; }
  .cv-head { border-bottom-color: #0A2540; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cv-sec { break-inside: avoid-page; }
}
