/* Resume recreation: Letter paper, with print-specific rules below. */
@page {
  size: letter;
  margin: 0;
}

:root {
  --burgundy: #660033;
  --accent: #79003c;
  --paper: #fff8f0;
  --ink: #21191a;
  --rule: #20191a;
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
}

body {
  padding: 10px;
  background: #666;
  color: var(--ink);
  font-family: "Lato", "Arial", sans-serif;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.resume-page {
  width: 8.5in;
  height: 11in;
  margin: 0 auto;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid #999;
}

.masthead {
  height: 1.45in;
  padding: 0 0.48in;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--burgundy);
  color: var(--paper);
}

.name {
  margin: -1pt 0 0;
  color: var(--paper);
  font-size: 46pt;
  font-weight: 300;
  letter-spacing: 0.3pt;
  line-height: 1.05;
  white-space: nowrap;
}

.contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  font-size: 12pt;
  font-style: normal;
  font-weight: 400;
  line-height: 1.15;
  position: relative;
  top: 7pt;
  text-align: right;
  white-space: nowrap;
}

.contact a {
  color: var(--paper);
  text-decoration: none;
}

.resume-content {
  padding: 16pt 34pt 14pt;
}

.section-heading {
  margin: 0;
  padding: 0 0 4.5pt;
  border-bottom: 0.8pt solid var(--rule);
  color: #321b21;
  font-size: 10pt;
  font-weight: 400;
  letter-spacing: 2.8pt;
  line-height: 1.25;
}

.experience-list {
  margin-top: 32pt;
}

.job {
  margin: 0 0 30.5pt;
  padding: 0;
  break-inside: avoid;
}

.job:last-child {
  margin-bottom: 0;
}

.company {
  margin: 0 0 7pt;
  color: var(--accent);
  font-size: 21pt;
  font-weight: 400;
  line-height: 1.2;
}

.job-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12pt;
  color: var(--accent);
  font-size: 11.5pt;
  font-style: italic;
  line-height: 1.4;
}

.job-meta p {
  margin: 0;
}

.role,
.date {
  font-style: italic;
}

.date {
  flex-shrink: 0;
  text-align: right;
  white-space: nowrap;
}

.description {
  margin: 7pt 0 0;
  color: #241d1d;
  font-size: 13.2pt;
  font-weight: 400;
  line-height: 1.3;
}

.skills {
  margin: 7pt 0 0;
  color: #161313;
  font-size: 9pt;
  line-height: 1.35;
  white-space: normal;
}

.skills strong {
  font-weight: 700;
}

.skills em {
  font-weight: 400;
}

.education-section {
  margin-top: 47pt;
}

.education-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 22pt;
  padding-top: 13pt;
}

.education-item h3 {
  margin: 0;
  color: var(--accent);
  font-size: 10pt;
  font-weight: 700;
  line-height: 1.25;
}

.education-item p {
  margin: 3pt 0 0;
  color: #392a2b;
  font-size: 9.5pt;
  font-style: italic;
  line-height: 1.3;
}

@media screen and (max-width: 860px) {
  body {
    padding: 8px;
  }

  .resume-page {
    margin: 0 auto;
    transform-origin: top center;
  }
}

@media print {
  html,
  body {
    width: 8.5in;
    height: 11in;
    min-height: 0;
    margin: 0;
    padding: 0;
    background: var(--paper);
  }

  .resume-page {
    width: 8.5in;
    height: 11in;
    margin: 0;
    border: 0;
    box-shadow: none;
    overflow: hidden;
  }
}
