:root { --page:#ffffff; --ink:#111111; --muted:#50565d; --canvas:#edf0f2; --rule:#c9cdd1; --focus:#2543ef; --font:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html,body { overflow-x:clip; }
body { margin:0; background:var(--canvas); color:var(--ink); font:14px/1.38 var(--font); }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:focus-visible,button:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
.document-nav { max-width:1000px; margin:auto; padding:24px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; font-size:13px; }
.document-nav .download { margin-left:auto; font-weight:bold; }
.document-nav button { font:inherit; border:1px solid var(--rule); background:var(--page); min-height:36px; padding:6px 14px; cursor:pointer; }
.document { padding:0 24px 48px; }
.sheet { width:210mm; max-width:100%; min-height:297mm; margin:0 auto 28px; padding:14mm 17mm; background:var(--page); box-shadow:0 2px 16px #0000000d; }
h1 { font-size:32px; line-height:1.08; margin:0 0 7px; letter-spacing:-.03em; }
h2 { font-size:15px; margin:19px 0 7px; line-height:1.2; }
h3 { font-size:14px; margin:0; line-height:1.3; }
p { margin:4px 0 7px; }
.job-title { font-weight:bold; font-size:16px; margin-bottom:3px; }
.specialism { font-size:14px; margin-bottom:10px; }
.contacts { display:flex; flex-wrap:wrap; gap:3px 14px; font-size:11.5px; line-height:1.6; }
.summary { margin:14px 0 0; }
.skill-line { font-size:12.5px; margin:4px 0; }
.role-line { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
.role-line span { white-space:nowrap; font-size:12px; }
.company,.context { font-size:12px; margin:2px 0 5px; color:var(--muted); }
.job + .job { margin-top:12px; }
ul { margin:4px 0 7px; padding-left:17px; }
li { padding-left:2px; margin:4px 0; }
.project { margin:9px 0 13px; }
.continuation { font-size:13px; margin:0 0 20px; font-weight:bold; }
.continued h2 { margin-top:0; font-size:20px; }
.continued .project { margin-bottom:20px; }
@media(max-width:600px) { .document-nav { padding:16px 20px; gap:14px 18px; } .document-nav .download { margin-left:0; } .document { padding:0 0 20px; } .sheet { padding:26px 20px 32px; min-height:0; box-shadow:none; margin-bottom:18px; } h1 { font-size:30px; } .role-line { display:block; } .contacts { gap:4px 12px; } body { font-size:14px; } }
@page { size:A4; margin:12mm 17mm; }
@media print { body { background:white; font:10.3pt/1.29 Arial,sans-serif; color:black; } .document-nav { display:none; } .document { padding:0; } .sheet { width:auto; min-height:0; max-width:none; padding:0; margin:0; box-shadow:none; break-after:page; } .sheet:last-child { break-after:auto; } h1 { font-size:27pt; } h2 { font-size:11.3pt; margin:10pt 0 5pt; break-after:avoid; } h3 { font-size:10.5pt; break-after:avoid; } .job-title { font-size:12pt; } .specialism { font-size:10.3pt; margin-bottom:6pt; } .contacts { font-size:9pt; gap:2pt 12pt; } .summary { margin-top:8pt; } .skill-line,.company,.context,.role-line span { font-size:9.5pt; } p,li { margin:3pt 0; } ul { margin:3pt 0 6pt; } .job + .job { margin-top:8pt; } .project { margin:5pt 0 8pt; } a { text-decoration:none; } .continuation { margin-bottom:12pt; } .continued h2 { font-size:14pt; } .continued .project { margin-bottom:12pt; } li { break-inside:avoid; } }

/* Traditional application document: restrained hierarchy and no portfolio styling. */
.sheet{padding:13mm 17mm;color:#000;box-shadow:0 2px 16px #0000000d}
.sheet header{text-align:center}.sheet h1{font-size:31px;letter-spacing:0;line-height:1.15;margin-bottom:5px}
.job-title{font-size:15px;margin:0 0 7px}.contacts{justify-content:center;font-size:12px;gap:2px 12px}.summary{font-size:14px;line-height:1.42;margin-top:14px}
.sheet h2{font-size:14px;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid #aaa;padding-bottom:5px;margin:18px 0 9px}
.sheet h3{font-size:14px;letter-spacing:0}.sheet .skill-line{font-size:13px;line-height:1.45}.sheet .award{font-size:12px;line-height:1.4}.project{margin-block:8px 11px}
@media(max-width:600px){.sheet{padding:28px 22px}.sheet header{text-align:left}.contacts{justify-content:flex-start}.sheet h1{font-size:29px}.sheet h2{font-size:13px}.sheet .award{font-size:13px}}
@media print{.sheet{padding:0;box-shadow:none}.sheet h1{font-size:23pt}.sheet h2{font-size:10.5pt;padding-bottom:3pt;margin:9pt 0 6pt}.sheet .summary{font-size:10.5pt;line-height:1.26}.sheet .skill-line{font-size:10pt;line-height:1.25}.sheet .award{font-size:9.5pt}.sheet .contacts{font-size:9.5pt}.sheet .job-title{font-size:11pt}}

.resume .project h3,.resume .project .context{display:inline}.resume .project .context::before{content:" | "}.resume .project ul{margin-top:5px}
