/* CV page (/cv): a classic black-and-white Word-style CV on an A4 sheet.
   Calibri/Cambria where installed (Windows, Office), close system stand-ins
   elsewhere. The only colour is the site's accent blue on the section rules. */
.cv-body {
  --cv-font: Calibri, Carlito, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --cv-head: Cambria, Caladea, Georgia, 'Times New Roman', serif;
  background: var(--cloud);
}
.cv-nav a { font-family: var(--font-ui); font-size: 14px; font-weight: 500; color: var(--obsidian); }
.cv-nav a:hover { color: var(--charcoal); }

.cv-page { padding: 96px clamp(12px, 4vw, 40px) 48px; }
.cv-toolbar {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
  max-width: 210mm; margin: 0 auto 20px;
}

.cv-sheet {
  max-width: 210mm; margin: 0 auto; padding: 20mm;
  background: var(--white); color: var(--ink);
  box-shadow: 0 1px 3px rgba(7, 7, 9, 0.08), 0 12px 40px rgba(16, 55, 132, 0.08);
  font-family: var(--cv-font); font-size: 15px; line-height: 1.45;
}
.cv-sheet a { color: inherit; text-decoration: none; }
.cv-sheet a:hover { text-decoration: underline; }

.cv-head { text-align: center; padding-bottom: 10px; border-bottom: 1.5px solid var(--ink); }
.cv-head h1 {
  font-family: var(--cv-head); font-size: 30px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); line-height: 1.15;
}
.cv-head__sub { margin-top: 4px; font-size: 16px; color: var(--charcoal); }
.cv-head__contact {
  margin-top: 6px; font-size: 13.5px; color: var(--charcoal);
  display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px;
}

.cv-sec { margin-top: 22px; }
.cv-sec h2 {
  font-family: var(--cv-head); font-size: 15.5px; font-weight: 700;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink);
  padding-bottom: 3px; margin-bottom: 9px; border-bottom: 1.5px solid var(--blue);
  break-after: avoid; page-break-after: avoid;
}
.cv-sec h3 { margin: 10px 0 2px; font-size: 15px; font-weight: 700; break-after: avoid; page-break-after: avoid; }
.cv-sec p + p { margin-top: 6px; }
.cv-justify { text-align: justify; }
.cv-muted { color: var(--charcoal); }

.cv-kv { display: grid; grid-template-columns: 13.5em 1fr; gap: 2px 12px; }
.cv-kv dt { font-weight: 700; }

.cv-list { list-style: disc; padding-left: 1.4em; }
.cv-list li { padding-left: 0.2em; margin-bottom: 3px; break-inside: avoid; }

.cv-entry { display: grid; grid-template-columns: 1fr auto; gap: 2px 24px; break-inside: avoid; page-break-inside: avoid; }
.cv-entry + .cv-entry { margin-top: 10px; }
.cv-entry__title { font-weight: 700; }
.cv-entry__date { color: var(--charcoal); text-align: right; white-space: nowrap; }

.cv-footer { text-align: center; }

/* screen only: an A4 print area is ~642 px wide and must keep the desktop layout */
@media screen and (max-width: 640px) {
  .cv-page { padding-top: 84px; }
  .cv-sheet { padding: 22px 18px; font-size: 14.5px; }
  .cv-head h1 { font-size: 24px; }
  .cv-justify { text-align: left; }
  .cv-head__contact { flex-direction: column; gap: 2px; }
  .cv-head__contact > [aria-hidden] { display: none; }
  .cv-kv { grid-template-columns: 1fr; }
  .cv-kv dd { margin-bottom: 6px; }
  .cv-entry { grid-template-columns: 1fr; }
  .cv-entry__date { text-align: left; white-space: normal; order: -1; font-size: 13.5px; }
}

/* Print / Save as PDF: just the sheet, A4, page numbers in the footer. */
@page {
  size: A4;
  margin: 18mm 20mm 20mm;
  @bottom-left { content: "Dr. Prabhat Saharia – Curriculum Vitae"; font: 9pt Calibri, Carlito, 'Helvetica Neue', Arial, sans-serif; color: #6a6a73; }
  @bottom-right { content: "Page " counter(page) " of " counter(pages); font: 9pt Calibri, Carlito, 'Helvetica Neue', Arial, sans-serif; color: #6a6a73; }
}
@media print {
  .cv-body { background: #fff; }
  .cv-body .nav, .cv-toolbar, .cv-footer { display: none !important; }
  .cv-page { padding: 0; }
  .cv-sheet { max-width: none; padding: 0; box-shadow: none; font-size: 10.5pt; }
  .cv-head h1 { font-size: 21pt; }
  .cv-head__sub { font-size: 11.5pt; }
  .cv-head__contact { font-size: 10pt; }
  .cv-sec { margin-top: 14pt; }
  .cv-sec h2 { font-size: 11.5pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cv-sec h3 { font-size: 10.5pt; }
  /* the phone layout must never leak into print */
  .cv-kv { grid-template-columns: 13.5em 1fr; }
  .cv-entry { grid-template-columns: 1fr auto; }
  .cv-entry__date { order: 0; text-align: right; white-space: nowrap; }
}
