/* WeasyPrint and browser printing share the website's HTML content. */
@page {
  size: A4;
  margin: 16mm 17mm;
  @bottom-right {
    content: counter(page) " / " counter(pages);
    font: 8pt "DejaVu Sans", sans-serif;
    color: #586560;
  }
}

body {
  background: white;
  color: #182c29;
  font-family: "DejaVu Sans", sans-serif;
  font-size: 10.5pt;
  line-height: 1.45;
}

.header, .skip, nav, footer, .actions, .profile-note, .dot, .accent,
.section-heading > .eyebrow, .contact > .eyebrow,
.contact > h2, .contact-link span { display: none; }
.wrap { width: auto; max-width: none; padding: 0; }
.hero { padding: 0 0 8mm; }
.hero-bottom, .section-heading, .job, .job-title, .education { display: block; }
.eyebrow { font-size: 9pt; letter-spacing: .5pt; margin: 0 0 3mm; }
h1 { font-size: 32pt; font-weight: 700; line-height: 1.1; letter-spacing: -1pt; margin: 0 0 8mm; }
h1 br { display: none; }
h2, .section-heading h2 { width: auto; font-size: 14pt; font-weight: 700; letter-spacing: -.3pt; margin: 0 0 3mm; }
h3 { font-size: 13pt; font-weight: 700; letter-spacing: 0; }
.intro { max-width: none; font-size: 10.5pt; margin: 0; }
.hero > .eyebrow { margin-bottom: 5mm; }
.hero h2 { margin-bottom: 5mm; }
.section { padding: 4mm 0; }
.section-heading { margin: 0 0 1mm; break-after: avoid; }
.job { padding: 3mm 0; break-inside: avoid; }
.job:nth-child(2) { break-before: page; }
.job-meta { font-size: 8pt; letter-spacing: .4pt; padding: 0; }
.job-meta p { font-size: 8pt; margin: 0 0 2mm; }
.job-title span { font-size: 10.5pt; }
.job-body > p { max-width: none; font-size: 10.5pt; margin: 2mm 0; }
.job ul { font-size: 10.5pt; margin: 2mm 0; padding-left: 4mm; }
.job li { padding-left: 0; margin: 0 0 1mm; }
.job-body .tech { font-size: 8.5pt; line-height: 1.45; margin: 2mm 0 0; }
.skill-rows > div { display: grid; grid-template-columns: 40% 60%; padding: 2mm 0; break-inside: avoid; }
.skill-rows dt, .skill-rows dd { font-size: 9.5pt; line-height: 1.45; letter-spacing: 0; }
.skill-rows dt { font-weight: 700; }
.education { padding: 3mm 0; break-inside: avoid; }
.small-label { font-size: 8pt; letter-spacing: .5pt; }
.education p { font-size: 10.5pt; margin: 1mm 0 0; }
.education p span { font-size: 9pt; margin: 1mm 0 0; }
.contact { display: block; padding: 3mm 0 0; margin: 0; background: none; break-inside: avoid; }
.contact-link { display: block; font-size: 9pt; letter-spacing: 0; border: 0; padding: 0; }
.contact-link::after { content: " — " attr(href); }
.contact-bottom { margin: 1mm 0 0; }
.contact-bottom p { margin: 0; font-size: 9pt; }
.cv-website { display: block; font-size: 9pt; margin: 1mm 0; }
p, li { orphans: 2; widows: 2; }
