/* A readable document on screen, with a compact print composition. */
.resume-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding-block: 2rem; }
.resume-toolbar [hidden] { display: none !important; }
.portfolio-site .resume-document { --ink: #43202a; --ink-soft: #554c4d; --line: #cec6c6; --focus: #550f1b; max-width: 1120px; margin: 0 auto 5rem; padding: clamp(1.5rem, 5vw, 5rem); color: var(--ink); background: #fff; }
.resume-document a { color: inherit; text-decoration: underline; text-underline-offset: .22em; }
.resume-header { padding-bottom: 2.5rem; }
.resume-kicker { margin: 0 0 1rem; font-size: .9375rem; }
.portfolio-site .resume-document h1 { font-size: clamp(2.75rem, 5.6vw, 5rem); line-height: 1; letter-spacing: -.04em; margin: 0 0 1rem; }
.resume-position { font-size: 1.35rem; font-weight: 700; }
.resume-contact { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; padding: 0; margin: 1.2rem 0; list-style: none; font-size: .9375rem; overflow-wrap: anywhere; }
.resume-contact a { display: inline-flex; align-items: center; min-height: 44px; }
.resume-summary { max-width: 68ch; font-size: 1.125rem; line-height: 1.6; }
.resume-section { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: 2.5rem; padding-block: 2rem; border-top: 1px solid var(--line); }
.portfolio-site .resume-section h2 { font-size: 1.125rem; line-height: 1.4; letter-spacing: 0; text-transform: none; }
.resume-entry + .resume-entry { margin-top: 2rem; }
.resume-entry-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; align-items: baseline; }
.portfolio-site .resume-entry h3 { font-size: 1.25rem; line-height: 1.35; letter-spacing: -.01em; text-transform: none; margin: 0; }
.resume-entry p, .resume-section-body > p, .resume-entry .prose { font-size: 1rem; line-height: 1.65; margin: .65rem 0 0; color: var(--ink-soft); }
.resume-entry-heading > p { white-space: nowrap; margin: 0; }
.resume-entry .resume-organization { color: var(--ink); font-size: .9375rem; }
.resume-entry .resume-technologies, .resume-entry .resume-project-url { font-size: .875rem; overflow-wrap: anywhere; }
.resume-further-work { padding-top: 1.2rem; }
.resume-end { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.resume-end a { display: inline-flex; gap: .75rem; align-items: center; min-height: 44px; font-weight: 700; }
@media (max-width: 700px) {
    .portfolio-site .resume-document { margin-inline: 5%; margin-bottom: 3rem; }
    .resume-section { grid-template-columns: 1fr; gap: 1rem; }
    .resume-header { padding-bottom: 1.5rem; }
    .resume-contact { display: block; }
}
@page { size: A4; margin: 14mm 15mm; }
@media print {
    html, body, .portfolio-site { background: #fff !important; color: #111 !important; color-scheme: light !important; --canvas: #fff !important; }
    .site-header, .site-footer, .skip-link, .resume-toolbar, .resume-end, .nav-drawer, .command-palette { display: none !important; }
    .portfolio-site #main-content { padding: 0; }
    .portfolio-site .resume-document { --ink: #111; --ink-soft: #333; --line: #bbb; width: auto; max-width: none; margin: 0; padding: 0; }
    .resume-header { padding-bottom: 5mm; }
    .resume-kicker, .resume-summary, .resume-further-work { display: none; }
    .portfolio-site .resume-document h1 { font-size: 31pt; margin-bottom: 3mm; }
    .resume-position { font-size: 13pt; }
    .resume-contact { margin-block: 2mm; gap: 2mm 4mm; font-size: 9pt; }
    .resume-contact a { min-height: 0; }
    .resume-summary { font-size: 10pt; margin-block: 3mm 0; }
    .resume-section { display: block; padding-block: 3mm; }
    .portfolio-site .resume-section h2 { font-size: 10pt; margin: 0 0 3mm; }
    .portfolio-site .resume-entry h3 { font-size: 11pt; }
    .resume-entry { break-inside: avoid; }
    .resume-entry + .resume-entry { margin-top: 4mm; }
    .resume-entry p, .resume-section-body > p, .resume-entry .prose, .resume-summary { font-size: 9.5pt; line-height: 1.4; }
    .resume-entry p, .resume-section-body > p { margin-top: 1mm; }
    .resume-entry .resume-organization, .resume-entry .resume-technologies, .resume-entry .resume-project-url { font-size: 9pt; }
    .resume-document a { text-decoration: none; }
    .resume-document h2, .resume-document h3 { break-after: avoid; }
}
