:root { --ink: #171717; --muted: #5f5f5f; --line: #b8b8b8; --paper: #fff; }
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: #e7e7e7; font: 10.5pt/1.38 Arial, sans-serif; font-kerning: normal; text-rendering: optimizeLegibility; }
a { color: inherit; text-decoration: none; }
.screen-actions { position: sticky; z-index: 2; top: 0; display: flex; flex-wrap: wrap; max-width: 210mm; margin: 0 auto; padding: 12px 0; justify-content: space-between; gap: 8px; background: #e7e7e7; }
.screen-actions a, .screen-actions button { display: inline-flex; min-height: 44px; padding: 9px 14px; align-items: center; color: #fff; background: var(--ink); border: 0; cursor: pointer; font: 700 9pt Arial, sans-serif; }
main { width: 210mm; min-height: 297mm; margin: 0 auto 30px; padding: 14mm 15mm; background: var(--paper); box-shadow: 0 12px 45px rgba(0,0,0,.12); }
.identity { display: grid; padding-bottom: 7mm; grid-template-columns: minmax(0, 1fr) 58mm; gap: 10mm; border-bottom: 2px solid var(--ink); }
.identity > * { min-width: 0; }
.eyebrow { margin: 0 0 2mm; font-size: 9pt; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
h1 { max-width: 100%; margin: 0; font-size: 27pt; font-kerning: normal; letter-spacing: normal; line-height: 1.08; overflow-wrap: anywhere; }
.scope { margin: 3mm 0 0; color: var(--muted); font-size: 8.5pt; overflow-wrap: anywhere; }
address { display: grid; min-width: 0; align-content: end; gap: 1.2mm; font-style: normal; font-size: 8.2pt; text-align: right; }
address > * { min-width: 0; overflow-wrap: anywhere; }
address span { color: var(--muted); }
section { padding-top: 5mm; }
h2 { margin: 0 0 2.4mm; font-size: 10pt; letter-spacing: .09em; text-transform: uppercase; }
section > p { margin: 0; }
.profile-evidence { margin-top: 2mm; color: var(--muted); font-size: 8.6pt; }
.skills { color: var(--muted); font-size: 8.6pt; overflow-wrap: anywhere; }
.experience article { padding: 3.2mm 0; border-top: 1px solid var(--line); break-inside: avoid; }
.experience article > header { display: flex; min-width: 0; justify-content: space-between; gap: 8mm; align-items: start; }
.experience article > header > div { min-width: 0; }
h3 { margin: 0; font-size: 11pt; overflow-wrap: anywhere; }
.experience header p { margin: .7mm 0 0; color: var(--muted); font-size: 8.2pt; }
time { flex: 0 0 auto; color: var(--muted); font-size: 8.2pt; font-weight: 700; }
ul { margin: 2mm 0 0; padding-left: 5mm; }
li { margin: 1mm 0; }
.details { display: grid; grid-template-columns: .7fr 1.7fr 1fr; gap: 7mm; border-top: 2px solid var(--ink); break-inside: avoid; }
.details p { color: var(--muted); font-size: 8.5pt; }
.details strong { color: var(--ink); }
@media (max-width: 850px) { body { background: #fff; }.screen-actions { padding-inline: 14px; justify-content: flex-start; }.identity { grid-template-columns: 1fr; }.identity address { text-align: left; }.details { grid-template-columns: 1fr; } main { width: 100%; min-height: 0; margin: 0; padding: 24px; box-shadow: none; } }
@media (max-width: 430px) { .screen-actions { display: grid; grid-template-columns: 1fr 1fr; }.screen-actions > * { justify-content: center; text-align: center; }.eyebrow { max-width: 32ch; line-height: 1.35; }.scope { line-height: 1.45; } main { padding: 20px 16px; }.experience article > header { display: grid; gap: 1.5mm; } }
@media print { @page { size: A4; margin: 10mm 12mm; } body { background: #fff; font-size: 9pt; }.screen-actions { display: none; } main { width: auto; min-height: 0; margin: 0; padding: 0; box-shadow: none; } .identity { padding-bottom: 5mm; }.experience article { padding: 2.5mm 0; } section { padding-top: 4mm; } a { text-decoration: none; } }
