:root { --ink: #111411; --muted: #5f665f; --soft: #f0f3ef; --paper: #fbfcfa; --line: #d9ded9; --accent: #296449; --mono: "SFMono-Regular", "SF Mono", "Roboto Mono", Consolas, monospace; --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
html { background: #080a09; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 50% 0, #182019, #080a09 50%); font-family: var(--font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.skip-link { position: fixed; z-index: 20; top: 12px; left: 12px; padding: 9px 13px; border-radius: 8px; color: #07140f; background: #a7f3d0; transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.resume-toolbar { position: sticky; z-index: 10; top: 0; max-width: 1120px; height: 72px; margin: 0 auto; padding: 0 10px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #e9eee9; }
.resume-toolbar::before { position: fixed; z-index: -1; top: 0; left: 0; right: 0; height: 72px; content: ""; border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(8,10,9,.78); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.resume-back { display: inline-flex; gap: 10px; color: #b4bcb5; font-size: 12px; font-weight: 600; }
.resume-back:hover { color: white; }
.resume-toolbar-right { display: flex; align-items: center; gap: 14px; }
.resume-language { height: 34px; padding: 0 10px; display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; }
.resume-language button { min-width: 24px; min-height: 24px; padding: 0; border: 0; color: #aeb6af; background: transparent; cursor: pointer; font-family: var(--mono); font-size: 12px; }
.resume-language button[aria-pressed="true"] { color: #f3f7f3; }
.resume-language span { width: 1px; height: 10px; background: rgba(255,255,255,.14); }
.resume-download { min-height: 42px; padding: 0 17px; display: inline-flex; align-items: center; gap: 12px; border-radius: 999px; color: #07140f; background: #a7f3d0; font-size: 12px; font-weight: 700; }

.resume-document { width: min(1080px, calc(100vw - 32px)); margin: 32px auto 80px; padding: clamp(55px, 7vw, 86px); background: var(--paper); box-shadow: 0 45px 130px rgba(0,0,0,.5); }
.resume-header { padding-bottom: 50px; display: grid; grid-template-columns: 1fr 150px; gap: 35px 60px; border-bottom: 2px solid var(--ink); }
.resume-identity > p { margin: 0 0 28px; color: var(--accent); font-family: var(--mono); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.resume-identity h1 { margin: 0; font-size: clamp(58px, 8vw, 94px); line-height: .83; letter-spacing: -.075em; }
.resume-identity h2 { margin: 33px 0 0; color: var(--muted); font-size: 18px; line-height: 1.35; font-weight: 520; letter-spacing: -.025em; }
.resume-photo { overflow: hidden; width: 150px; height: 190px; border-radius: 80px 80px 14px 14px; background: #d9dfda; }
.resume-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; filter: saturate(.75) contrast(1.03); }
.resume-contact { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 9px 24px; color: var(--muted); font-family: var(--mono); font-size: 12px; font-style: normal; }
.resume-contact a { min-height: 24px; display: inline-flex; align-items: center; }
.resume-contact a:hover { color: var(--accent); }
.resume-summary, .resume-achievements { padding: 50px 0; display: grid; grid-template-columns: 160px 1fr; gap: 42px; border-bottom: 1px solid var(--line); }
.resume-section-label { color: var(--muted); font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.resume-section-label span { margin-right: 9px; color: var(--accent); }
.resume-summary > p { max-width: 760px; margin: 0; font-size: 24px; line-height: 1.45; letter-spacing: -.035em; }
.resume-evidence-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.resume-evidence-grid article { min-width: 0; padding-left: 15px; border-left: 1px solid var(--line); }
.resume-evidence-grid strong, .resume-evidence-grid span { display: block; }
.resume-evidence-grid strong { color: var(--accent); font-size: 24px; letter-spacing: -.04em; }
.resume-evidence-grid span { margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.45; }
.resume-main-grid { padding-top: 58px; display: grid; grid-template-columns: 1fr 255px; gap: 70px; }
.resume-primary > section > .resume-section-label, .resume-sidebar section > .resume-section-label { margin-bottom: 35px; }
.resume-role { padding: 0 0 42px; display: grid; grid-template-columns: 105px 1fr; gap: 30px; }
.resume-role + .resume-role { padding-top: 42px; border-top: 1px solid var(--line); }
.resume-role-meta time, .resume-role-meta span { display: block; font-family: var(--mono); font-size: 12px; text-transform: uppercase; }
.resume-role-meta time { color: var(--accent); }
.resume-role-meta span { margin-top: 6px; color: var(--muted); }
.resume-role small { color: var(--accent); font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.resume-role h3 { margin: 11px 0 12px; font-size: 27px; line-height: 1.08; letter-spacing: -.045em; }
.resume-role p, .resume-role li { color: var(--muted); font-size: 14px; line-height: 1.58; }
.resume-role p { margin: 0 0 10px; }
.resume-role ul { margin: 0 0 15px; padding-left: 16px; }
.resume-role li + li { margin-top: 5px; }
.resume-role li strong { color: var(--ink); }
.resume-role b { color: var(--muted); font-family: var(--mono); font-size: 12px; font-weight: 400; line-height: 1.5; }
.resume-sidebar { padding-left: 34px; border-left: 1px solid var(--line); }
.resume-sidebar section + section { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--line); }
.resume-skill-group + .resume-skill-group { margin-top: 22px; }
.resume-skill-group h3, .resume-side-item h3 { margin: 0 0 6px; font-size: 15px; letter-spacing: -.02em; }
.resume-sidebar h3 { overflow-wrap: anywhere; hyphens: auto; }
.resume-skill-group p, .resume-side-item p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.resume-side-item + .resume-side-item { margin-top: 26px; }
.resume-side-item time, .resume-side-item small { display: block; color: var(--accent); font-family: var(--mono); font-size: 12px; line-height: 1.5; }
.resume-side-item time { margin-bottom: 8px; }
.resume-side-item small { margin-top: 7px; color: var(--muted); }
.resume-footer { margin-top: 45px; padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; border-top: 2px solid var(--ink); color: var(--muted); font-family: var(--mono); font-size: 12px; text-transform: uppercase; letter-spacing: .07em; }

@media (max-width: 820px) {
  .resume-document { padding: 45px 32px; }
  .resume-main-grid { grid-template-columns: 1fr; }
  .resume-sidebar { padding: 45px 0 0; border-top: 2px solid var(--ink); border-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 38px; }
  .resume-sidebar section + section { margin: 0; padding: 0; border: 0; }
  .resume-summary, .resume-achievements { grid-template-columns: 1fr; gap: 25px; }
  .resume-evidence-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .resume-toolbar { height: 64px; }
  .resume-toolbar::before { height: 64px; }
  .resume-back { font-size: 0; }
  .resume-back span { font-size: 18px; }
  .resume-download { padding-inline: 13px; font-size: 12px; }
  .resume-document { width: 100%; margin: 0; padding: 38px 20px; box-shadow: none; }
  .resume-header { grid-template-columns: 1fr 94px; gap: 25px 18px; }
  .resume-identity h1 { font-size: 48px; }
  .resume-identity h2 { margin-top: 22px; font-size: 14px; }
  .resume-photo { width: 94px; height: 128px; }
  .resume-contact { flex-direction: column; gap: 7px; }
  .resume-summary > p { font-size: 19px; }
  .resume-evidence-grid { grid-template-columns: 1fr; }
  .resume-role { grid-template-columns: 1fr; gap: 17px; }
  .resume-role h3 { font-size: 24px; }
  .resume-sidebar { grid-template-columns: 1fr; }
  .resume-footer { align-items: flex-start; flex-direction: column; }
}

@page { size: A4; margin: 11mm; }
@media print {
  :root { color-scheme: light; }
  html, body { background: white; }
  .resume-toolbar, .skip-link { display: none !important; }
  .resume-document { width: 100%; margin: 0; padding: 0; box-shadow: none; }
  .resume-header { padding-bottom: 5mm; }
  .resume-identity h1 { font-size: 46pt; }
  .resume-identity h2 { font-size: 11pt; }
  .resume-summary, .resume-achievements { padding: 5.5mm 0; }
  .resume-summary > p { font-size: 12.5pt; line-height: 1.38; }
  .resume-main-grid { padding-top: 6mm; grid-template-columns: 1fr 52mm; gap: 11mm; }
  .resume-primary > section > .resume-section-label, .resume-sidebar section > .resume-section-label { margin-bottom: 6mm; }
  .resume-role { padding-bottom: 3.5mm; grid-template-columns: 25mm 1fr; gap: 6mm; break-inside: avoid; }
  .resume-role + .resume-role { padding-top: 3.5mm; }
  .resume-role h3 { margin: 2mm 0; font-size: 14pt; }
  .resume-role p, .resume-role li { font-size: 6.8pt; line-height: 1.4; }
  .resume-role ul { margin-bottom: 2.5mm; }
  .resume-primary .resume-role:first-of-type p { display: none; }
  .resume-role b { font-size: 5.6pt; }
  .resume-sidebar { padding: 0 0 0 7mm; display: block; border-top: 0; border-left: 1px solid var(--line); }
  .resume-sidebar section + section { margin-top: 5mm; padding-top: 4mm; border-top: 1px solid var(--line); }
  .resume-skill-group + .resume-skill-group { margin-top: 4mm; }
  .resume-side-item + .resume-side-item { margin-top: 5mm; }
  .resume-sidebar section { break-inside: avoid; }
  .resume-footer { margin-top: 8mm; }
}
