/*
 * CV style — mirrors the visual format of base/reference/Oleg_Proskurin_Techlead_resume.docx.pdf.
 *
 * Key conventions:
 *  - Serif (Times-like) body font, ~10.5pt, dense single-line spacing.
 *  - A4 page, ~12mm margins. Single column.
 *  - Centered name + role at the top, single-line contact row.
 *  - Section headings: ALL CAPS bold with bottom underline.
 *  - Job header: company (bold left) | role (bold right), then italic subtitle | dates right.
 *  - Bullets: disc, hanging indent.
 *  - Links: blue, underlined.
 */

@page {
  size: A4;
  margin: 12mm 14mm;
}

:root {
  --text: #000;
  --link: #1155cc;
  --rule: #000;
  --muted: #333;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Times New Roman', Times, 'Liberation Serif', serif;
  font-size: 10.5pt;
  line-height: 1.25;
  color: var(--text);
  background: #fff;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

a {
  color: var(--link);
  text-decoration: underline;
}

/* ───── Header ───── */

.cv-header {
  text-align: center;
  margin-bottom: 8pt;
}

.cv-header .name {
  font-size: 14pt;
  font-weight: 700;
  letter-spacing: 0.5pt;
  margin: 0;
}

.cv-header .role {
  font-size: 11pt;
  font-weight: 700;
  margin: 2pt 0 4pt 0;
}

.cv-header .contacts {
  font-size: 10pt;
  margin: 0;
}

.cv-header .contacts a {
  white-space: nowrap;
}

/* ───── Section ───── */

.cv-section {
  margin-top: 8pt;
}

.cv-section > h2 {
  font-size: 10.5pt;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 4pt 0;
  padding-bottom: 1pt;
  border-bottom: 0.5pt solid var(--rule);
}

/* ───── Summary / plain paragraph ───── */

.cv-section p {
  margin: 0 0 4pt 0;
  text-align: justify;
}

/* ───── Skills block ───── */

.cv-skills p {
  margin: 0 0 3pt 0;
}

.cv-skills .skills-category {
  font-weight: 700;
}

/* ───── Job entries ───── */

.cv-job {
  margin-top: 6pt;
}

/* Keep the job header block (company/role, meta row, descriptor) together
   and glued to the first bullet, so the section title never dangles alone
   at the bottom of a page. Individual bullets can still flow across pages. */
.cv-job-header,
.cv-job-meta,
.cv-job-desc {
  page-break-after: avoid;
  break-after: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
}

.cv-job li {
  page-break-inside: avoid;
  break-inside: avoid;
}

.cv-job-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12pt;
}

.cv-job-header .company {
  font-weight: 700;
}

.cv-job-header .role {
  font-weight: 700;
  text-align: right;
}

.cv-job-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12pt;
  font-style: italic;
  color: var(--muted);
  margin-top: 1pt;
}

.cv-job-meta .dates {
  font-style: italic;
  text-align: right;
  white-space: nowrap;
}

.cv-job-desc {
  font-style: italic;
  margin: 2pt 0 0 0;
}

.cv-job ul {
  margin: 3pt 0 0 0;
  padding-left: 16pt;
}

.cv-job li {
  margin: 0 0 2pt 0;
  padding-left: 2pt;
}

.cv-job li::marker {
  font-size: 1em;
}

/* ───── Portfolio / Education / Languages ───── */

.cv-inline-list {
  margin: 0;
}

.cv-portfolio a + a::before {
  content: ', ';
  color: var(--text);
  text-decoration: none;
}

/* ───── Misc ───── */

strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

hr {
  display: none;
}
