/* Resume v7 — Match title and top spacing to Works Case Studies. */
.resume-page { background: #fff; }
/* Anchor the left edge to the original portfolio grid while opening up the right side. */
.resume-page .resume-main {
  box-sizing: border-box;
  width: min(1080px, calc(100% - 64px));
  margin: 0 auto;
  padding: 108px 0 120px 70px;
}
.resume-page .resume-content { width: 100%; max-width: 1010px; }
.resume-page .resume-page-heading { margin-bottom: 56px; }
.resume-page .resume-page-heading h1 {
  margin: 0 0 14px;
  /* Match the approved Works "Case Studies" heading exactly. */
  font-family: Metropolis, Arial, sans-serif;
  font-size: 50px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.4px;
  color: #1c1c1c;
}
.resume-page .resume-pdf-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 11px 21px;
  border-radius: 7px;
  color: #fff;
  background: #4b2cff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  transition: background .2s ease, transform .2s ease;
}
.resume-page .resume-pdf-button:hover,
.resume-page .resume-pdf-button:focus-visible { background: #3720c7; transform: translateY(-1px); }
.resume-page .resume-intro {
  display: grid;
  grid-template-columns: minmax(0,340px) minmax(0,1fr);
  column-gap: 65px;
  align-items: start;
}
.resume-page .resume-intro-identity h2 {
  margin: 0 0 6px;
  font-size: 34px;
  line-height: 1.22;
  letter-spacing: -.012em;
  color: #4b2cff;
  font-weight: 700;
}
.resume-page .resume-role { margin: 0 0 10px; font-size: 16px; font-weight: 500; line-height: 1.4; }
.resume-page .resume-intro-identity > a {
  display: block;
  width: max-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: #434343;
  font-size: 14px;
  line-height: 1.58;
}
.resume-page .resume-intro-identity > a:hover { color: #4b2cff; text-decoration: underline; text-underline-offset: 3px; }
.resume-page .resume-intro-summary { padding-top: 18px; }
.resume-page .resume-intro-summary p { margin: 0; color: #373737; font-size: 17px; line-height: 1.7; text-wrap: balance; }
.resume-page .resume-rule { margin: 30px 0 67px; border: 0; height: 2px; background: #252525; }
.resume-page .resume-section { margin: 0 0 58px; }
.resume-page .resume-section-label {
  margin: 0 0 33px;
  color: #4b2cff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .17em;
  line-height: 1.4;
  text-transform: uppercase;
}
.resume-page .resume-job { margin: 0 0 34px; }
.resume-page .resume-job:last-child { margin-bottom: 0; }
.resume-page .resume-job h3,
.resume-page .resume-education h3 {
  margin: 0 0 3px;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.008em;
  text-wrap: pretty;
}
.resume-page .resume-job-divider { color: #6f6f6f; padding: 0 2px; font-weight: 400; }
.resume-page .resume-job-date-inline { white-space: nowrap; }
.resume-page .resume-job-role { margin: 0 0 24px; font-style: italic; font-size: 14px; color: #595959; line-height: 1.5; }
.resume-page .resume-job ul,
.resume-page .resume-skills-group ul { margin: 0; padding-left: 24px; }
/* A tiny amount of additional width prevents nearly-fitting job bullets from leaving
   a stray word on their last line; preserve natural wrapping on smaller screens. */
@media (min-width: 1181px) { .resume-page .resume-job ul { width: calc(100% + 24px); } }
.resume-page .resume-job li {
  font-size: 16px;
  line-height: 1.6;
  padding-left: 6px;
  margin: 0 0 5px;
  text-wrap: pretty;
  overflow-wrap: normal;
}
.resume-page .resume-job li::marker,
.resume-page .resume-skills-group li::marker { font-size: .75em; color: #292929; }
.resume-page .resume-education h3 { margin-bottom: 3px; }
.resume-page .resume-education p { margin: 0; font-size: 16px; line-height: 1.6; color: #424242; text-wrap: pretty; }
.resume-page .resume-skills { margin-bottom: 0; }
.resume-page .resume-skills-group { margin: 0 0 35px; }
.resume-page .resume-skills-group:last-child { margin: 0; }
.resume-page .resume-skills-group h3 { margin: 0 0 12px; font-size: 16px; font-weight: 600; }
.resume-page .resume-skills-group ul { columns: 2; column-gap: 54px; }
.resume-page .resume-skills-group li { padding-left: 5px; margin: 0 0 8px; font-size: 15px; line-height: 1.6; break-inside: avoid; text-wrap: pretty; }
.resume-page .sr-only { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 1180px) {
  .resume-page .resume-main { width: min(950px, calc(100% - 64px)); padding-left: 0; }
  .resume-page .resume-intro { grid-template-columns: minmax(0, 35%) minmax(0,1fr); gap: 42px; }
}
@media (max-width: 720px) {
  .resume-page .resume-main { width: calc(100% - 44px); padding: 45px 0 90px; }
  .resume-page .resume-page-heading { margin-bottom: 46px; }
  .resume-page .resume-page-heading h1 { font-size: clamp(30px, 7vw, 36px); }
  .resume-page .resume-intro { grid-template-columns: 1fr; gap: 21px; }
  .resume-page .resume-intro-summary { padding-top: 0; }
  .resume-page .resume-intro-identity h2 { font-size: 29px; }
  .resume-page .resume-intro-summary p { font-size: 15px; }
  .resume-page .resume-rule { margin: 32px 0 49px; }
  .resume-page .resume-section { margin-bottom: 48px; }
  .resume-page .resume-section-label { margin-bottom: 26px; }
  .resume-page .resume-job h3 { font-size: 16px; }
  .resume-page .resume-job li { font-size: 14.5px; }
  .resume-page .resume-education p, .resume-page .resume-skills-group li { font-size: 14px; }
  .resume-page .resume-skills-group ul { column-gap: 24px; }
}
@media (max-width: 520px) {
  .resume-page .resume-main { width: calc(100% - 40px); }
  .resume-page .resume-job-date-inline { white-space: normal; }
  .resume-page .resume-skills-group ul { columns: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .resume-page .resume-pdf-button { transition: none; }
  .resume-page .resume-pdf-button:hover { transform: none; }
}
@media print {
  .resume-page .site-header, .resume-page .portfolio-footer, .resume-page .resume-pdf-button { display: none!important; }
  .resume-page .resume-main { width:100%; max-width:none; margin:0; padding:0; }
  .resume-page .resume-content { max-width:none; }
  .resume-page .resume-section, .resume-page .resume-job, .resume-page .resume-skills-group { break-inside: avoid; }
}
