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

:root {
  --print-ink: #111111;
  --print-muted: #444444;
  --print-serif: Georgia, "Times New Roman", serif;
}

html,
body {
  color: var(--print-ink);
  background: #ffffff;
  font-family: var(--print-serif);
  font-size: 8.4pt;
  line-height: 1.28;
}

html {
  scroll-padding-top: 0;
}

body {
  -webkit-print-color-adjust: economy;
  print-color-adjust: economy;
}

body::before,
.skip-link,
.topbar,
.site-footer,
.hero__actions,
.portrait-column,
.eyebrow,
.role-line,
.biography,
.contact-band,
.section-number,
.section-intro,
.institution-mark,
.honor-mark,
.level,
.focus-band h2,
.focus-band::before,
.focus-band::after,
.faculty-appointment::before,
.honor-card::after {
  display: none !important;
}

main {
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

a,
.inline-link,
.contact-inline-link {
  color: inherit;
  text-decoration: none;
}

p,
li,
dd {
  orphans: 2;
  widows: 2;
}

.hero {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 0 0 12pt;
  text-align: center;
}

.hero__content {
  max-width: none;
}

.display-name {
  margin: 0 0 3pt;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 19pt;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
}

.print-degree {
  display: inline;
}

.print-profile {
  display: block;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8.7pt;
  line-height: 1.25;
}

.print-profile p {
  margin: 0;
}

.focus-band,
.content-section {
  display: grid;
  grid-template-columns: 84pt minmax(0, 1fr);
  overflow: visible;
  margin: 0;
  padding: 8pt 0 0;
  column-gap: 10pt;
  color: var(--print-ink);
  background: none;
  border: 0;
  border-radius: 0;
}

.focus-band {
  padding-top: 3pt;
}

.focus-band__intro {
  grid-column: 1;
  grid-row: 1;
}

.focus-band__intro .micro-label,
.section-heading h2 {
  margin: 0;
  padding: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 9.2pt;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.08;
  text-transform: uppercase;
}

.focus-list {
  display: block;
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0;
  color: var(--print-ink);
}

.focus-list span {
  display: inline;
  margin: 0;
  padding: 0;
  color: var(--print-ink);
  background: none;
  border: 0;
  border-radius: 0;
  font-family: var(--print-serif);
  font-size: 8.4pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.28;
}

.focus-list span::after {
  position: static;
  display: inline;
  width: auto;
  height: auto;
  margin: 0;
  content: none;
  background: none;
  transform: none;
}

.focus-list span:not(:last-child)::after {
  content: "; ";
}

.section-heading {
  display: block;
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  padding: 0;
}

.section-heading > div {
  display: block;
}

.content-section > :not(.section-heading) {
  grid-column: 2;
}

.subsection-heading,
.subsection-heading--spaced {
  display: flex;
  margin: 0 0 3pt;
  padding: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 8pt;
  border: 0;
}

.subsection-heading--spaced {
  margin-top: 7pt;
}

.subsection-heading h3 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8.7pt;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.15;
}

.subsection-heading > span {
  display: none;
}

.faculty-appointment,
.timeline-card,
.teaching-card,
.teaching-card--featured,
.honor-card,
.honor-card:first-child,
.language-grid article {
  color: var(--print-ink);
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.faculty-appointment {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  overflow: visible;
  padding: 0;
  gap: 0 10pt;
}

.faculty-appointment__role,
.faculty-appointment__institution,
.faculty-appointment__date {
  margin: 0;
  padding: 0;
  color: var(--print-ink);
  background: none;
  border: 0;
}

.faculty-appointment__role {
  display: block;
  grid-column: 1;
  grid-row: 1;
}

.faculty-appointment__role > div {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0;
}

.faculty-appointment__role .entry-type,
.faculty-appointment__institution .micro-label,
.faculty-appointment__institution .inline-link,
.faculty-appointment__date > span,
.faculty-appointment__date p {
  display: none;
}

.faculty-appointment__role h3,
.faculty-appointment__role .faculty-division,
.faculty-appointment__institution h4 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8.6pt;
  letter-spacing: 0;
  line-height: 1.25;
}

.faculty-appointment__role h3 {
  font-weight: 700;
}

.faculty-appointment__role h3::after {
  content: ",\00a0";
}

.faculty-appointment__role .faculty-division {
  font-weight: 400;
  text-transform: none;
}

.faculty-appointment__institution {
  grid-column: 1;
  grid-row: 2;
}

.faculty-appointment__institution h4 {
  font-weight: 400;
}

.faculty-appointment__date {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: start;
  text-align: right;
}

.faculty-appointment__date strong {
  display: none;
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8pt;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.1;
}

.faculty-appointment__date > .print-appointment-date {
  display: block;
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  white-space: nowrap;
  text-transform: none;
}

.faculty-appointment__date strong br,
.timeline-rail time br {
  display: inline;
  content: " ";
}

.faculty-appointment__date strong br::after,
.timeline-rail time br::after {
  content: " ";
}

.timeline {
  display: grid;
  gap: 5pt;
}

.timeline::before {
  display: none;
}

.timeline-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0 10pt;
}

.timeline-rail {
  display: block;
  grid-column: 2;
  grid-row: 1;
  padding: 0;
}

.timeline-rail time {
  display: block;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.7pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}

.education-date-screen {
  display: none;
}

.print-education-date {
  display: inline;
}

.timeline-card {
  grid-column: 1;
  grid-row: 1;
  padding: 0;
}

.timeline-card .entry-type {
  margin: 0 0 1pt;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.7pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.timeline-card h3 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8.6pt;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.timeline-card .institution {
  margin: 0 0 1pt;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.7pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.detail-list {
  margin: 0;
  border: 0;
}

.detail-list > div {
  display: grid;
  grid-template-columns: 49pt minmax(0, 1fr);
  padding: 1pt 0 0;
  gap: 4pt;
  border: 0;
}

.detail-list dt,
.detail-list dd,
.detail-list .inline-link {
  margin: 0;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.9pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.detail-list .inline-link {
  display: none;
}

.detail-list dt {
  font-weight: 700;
}

.publication-list {
  margin: 0;
  padding: 0;
}

.publication-list > li {
  position: relative;
  border: 0;
}

.publication-list > li::before {
  position: absolute;
  top: 2pt;
  left: 0;
  color: var(--print-ink);
  content: counter(publication) ".";
  font-family: var(--print-serif);
  font-size: 7.4pt;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
}

.publication,
.publication-list--compact .publication {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  padding: 2pt 0 2pt 13pt;
  align-items: start;
  gap: 0;
}

.publication__main {
  display: none;
}

.publication-citation {
  display: block;
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.7pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.3;
}

.publication-citation strong {
  font-weight: 700;
}

.publication-citation em {
  font-style: italic;
}

.publication h4,
.publication-list--compact .publication h4 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.8pt;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.22;
}

.publication-meta {
  display: flex;
  margin: 0 0 1pt;
  flex-wrap: wrap;
  gap: 0;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.4pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.publication-meta span:first-child {
  color: var(--print-muted);
}

.publication-meta > * + * {
  position: static;
}

.publication-meta > * + *::before {
  position: static;
  display: inline;
  width: auto;
  height: auto;
  margin: 0 3pt;
  content: "\00b7";
  background: none;
  transform: none;
}

.authors {
  margin: 1pt 0 0;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.8pt;
  line-height: 1.2;
}

.authors strong {
  color: var(--print-ink);
  text-decoration: none;
}

.publication-link {
  display: none;
}

.teaching-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4pt;
}

.teaching-card,
.teaching-card--featured,
.teaching-card--wide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 0;
  gap: 0 10pt;
}

.teaching-card header {
  display: block;
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}

.teaching-card header > div {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0;
}

.teaching-card header p,
.teaching-card header h4 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8pt;
  letter-spacing: 0;
  line-height: 1.2;
}

.teaching-card header p {
  font-weight: 400;
  text-transform: none;
}

.teaching-card header p::after {
  content: ",\00a0";
}

.teaching-card header h4 {
  font-weight: 700;
}

.appointment-date {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0;
  color: var(--print-ink);
  border: 0;
  font-family: var(--print-serif);
  font-size: 7.5pt;
  font-weight: 400;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}

.course-list,
.course-list--columns {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 1fr;
  margin: 1pt 0 0;
  padding: 0;
  gap: 0;
}

.course-list li {
  display: grid;
  grid-template-columns: 58pt minmax(0, 1fr);
  padding: 0;
  gap: 4pt;
}

.course-list time,
.course-list li span {
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.7pt;
  line-height: 1.25;
}

.course-list time {
  font-weight: 400;
}

.experience-list {
  border-top: 0;
}

.experience-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 100pt;
  padding: 2pt 0;
  gap: 0 10pt;
  border: 0;
}

.experience-list .experience-date {
  display: block;
  grid-column: 2;
  grid-row: 1;
  text-align: right;
}

.experience-list article > div:last-child {
  grid-column: 1;
  grid-row: 1;
}

.experience-date time {
  display: block;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.8pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none;
}

.experience-date span {
  display: none;
}

.experience-list .entry-type {
  margin: 0;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.4pt;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

.print-role-institution {
  display: inline;
}

.experience-list h4 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.8pt;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.experience-list article > div:last-child > p:last-child {
  margin: 1pt 0 0;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.6pt;
  line-height: 1.25;
}

.honors-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3pt;
}

.honor-card,
.honor-card:first-child {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 0;
  padding: 0;
  gap: 8pt;
}

.honor-card > div {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
}

.honor-year,
.honor-card:first-child .honor-year {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.7pt;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
}

.honor-year-screen,
.honor-date-detail {
  display: none;
}

.print-honor-date {
  display: inline;
  color: inherit;
  font: inherit;
}

.honor-card .entry-type {
  display: none;
}

.honor-card h3 {
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 8pt;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.honor-card p:last-child,
.honor-card:first-child p:last-child {
  margin: 1pt 0 0;
  color: var(--print-muted);
  font-family: var(--print-serif);
  font-size: 6.8pt;
  line-height: 1.2;
}

.language-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 4pt 16pt;
}

.language-grid article {
  display: block;
  min-height: 0;
  padding: 0;
}

.language-code {
  display: none;
}

.language-grid h3,
.language-grid p {
  display: inline;
  margin: 0;
  color: var(--print-ink);
  font-family: var(--print-serif);
  font-size: 7.5pt;
  line-height: 1.2;
}

.language-grid h3::after {
  content: ":\00a0";
}

.language-grid p {
  color: var(--print-muted);
  text-transform: none;
}

#teaching {
  break-before: page;
  page-break-before: always;
}

.section-heading,
.subsection-heading {
  break-after: avoid-page;
  page-break-after: avoid;
}

.faculty-appointment,
.timeline-item,
.publication,
.teaching-card,
.experience-list article,
.honor-card,
.language-grid article,
.detail-list > div,
.course-list li {
  break-inside: avoid;
  page-break-inside: avoid;
}
