/* Résumé page. Shares the site's tokens and type; adds a readable measure, a scannable
   role rhythm, and a print stylesheet so the page itself is a usable hand-out. */
.resume-shell { max-width: 900px; margin: 0 auto; padding: clamp(34px, 5vw, 76px) var(--gutter) clamp(56px, 7vw, 104px); }
.resume-head h1 { margin: 10px 0 10px; color: #d8d1c7; font-family: var(--font-light); font-size: clamp(2.3rem, 5vw, 4.1rem); font-weight: 300; letter-spacing: .07em; line-height: 1; text-transform: uppercase; }
.resume-headline { margin: 0 0 6px; color: var(--gold-bright); font-family: var(--font-display); font-size: .72rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; }
.resume-contact { margin: 0 0 24px; color: var(--muted); font-size: .8rem; }
.resume-actions { margin: 0 0 8px; }
.resume-actions .button { text-decoration: none; }

.resume-section { margin-top: clamp(38px, 5vw, 62px); padding-top: clamp(26px, 3vw, 38px); border-top: 1px solid var(--line); }
.resume-section > h2 { margin: 0 0 22px; color: #d2cbc1; font-family: var(--font-light); font-size: clamp(1.5rem, 2.4vw, 2.1rem); font-weight: 300; letter-spacing: .11em; text-transform: uppercase; }
.resume-summary { max-width: 68ch; color: var(--muted); font-size: .93rem; }

.resume-role { padding: 22px 0; border-bottom: 1px solid var(--line); }
.resume-role:last-child { border-bottom: 0; }
.resume-role header { display: grid; grid-template-columns: 1fr auto; gap: 4px 24px; align-items: baseline; }
.resume-role h3 { grid-column: 1; margin: 0; color: #d8d4ca; font-family: var(--font-display); font-size: .92rem; font-weight: 500; letter-spacing: .04em; }
.resume-employer { grid-column: 1; margin: 0; color: var(--gold-bright); font-size: .72rem; letter-spacing: .06em; }
.resume-dates { grid-column: 2; grid-row: 1 / span 2; margin: 0; color: #777873; font-size: .66rem; letter-spacing: .05em; white-space: nowrap; }
.resume-role ul { margin: 14px 0 0; padding-left: 18px; color: var(--muted); font-size: .84rem; }
.resume-role li { margin-bottom: 6px; }
.resume-credits { margin: 12px 0 0; color: #777873; font-size: .68rem; }
.resume-credits span { color: var(--gold-bright); letter-spacing: .12em; text-transform: uppercase; }
.resume-credits a { display: inline-block; margin-right: 12px; color: #bbb7ae; text-decoration: none; border-bottom: 1px solid var(--gold-line); }
.resume-credits a:hover { color: var(--gold-bright); }

.resume-skills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.resume-skills li { padding: 7px 13px; color: #c3bfb6; border: 1px solid var(--line); font-size: .7rem; letter-spacing: .05em; }

@media (max-width: 620px) {
  .resume-role header { grid-template-columns: 1fr; }
  .resume-dates { grid-column: 1; grid-row: auto; }
}

/* A résumé gets printed. Drop the dark ground and the chrome, keep the content. */
@media print {
  .site-header, .site-footer, .resume-actions { display: none !important; }
  body, .work-page, .resume-page { background: #fff !important; color: #111 !important; }
  .resume-shell { max-width: none; padding: 0; }
  .resume-head h1, .resume-section > h2, .resume-role h3 { color: #111 !important; }
  .resume-headline, .resume-employer, .resume-credits span { color: #555 !important; }
  .resume-summary, .resume-role ul, .resume-contact { color: #222 !important; }
  .resume-role { break-inside: avoid; page-break-inside: avoid; }
  .resume-skills li { border-color: #bbb; color: #222 !important; }
  .resume-credits a { color: #222 !important; }
  a[href]::after { content: ""; }
}
