/* Shared CV typography: on-screen (/cv) and print (/cv-print). */

.cv {
  max-width: 52rem;
  font-size: 11.5pt;
  line-height: 1.6;
}

/* Entries: "**2025 |** text". A small hanging indent keeps wrapped
   lines visually under the entry instead of the year. */
.cv p {
  margin: 0 0 0.55em;
  padding-left: 2em;
  text-indent: -2em;
}
.cv p strong:first-child { white-space: nowrap; }

/* Section hierarchy */
.cv h1,
.cv h2,
.cv h3 {
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 1.15em;
  margin: 2.2em 0 0.8em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid currentColor;
}
.cv h4,
.cv h5 {
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.95em;
  margin: 1.6em 0 0.6em;
}
.cv h1:first-child,
.cv h2:first-child,
.cv h3:first-child { margin-top: 0.5em; }

/* Lists (teaching, guests) */
.cv ul { margin: 0.3em 0 0.9em; padding-left: 1.4em; }
.cv li { margin-bottom: 0.35em; padding-left: 0.2em; }

/* Rules between major parts */
.cv hr {
  border: 0;
  border-top: 1px solid #999;
  margin: 2.2em 0 1.2em;
}

.cv em { font-style: italic; }
.cv a { word-break: break-word; }
