:root {
  --pdf-ink: #17171a;
  --pdf-soft: #4a4a52;
  --pdf-faint: #6f6f78;
  --pdf-accent: #c2400f;
  --pdf-rule: #d8d6cf;

  
  --pdf-serif: Georgia, 'Times New Roman', serif;
  --pdf-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --pdf-mono: 'SF Mono', Menlo, Consolas, 'Courier New', monospace;
}

.cv { display: none; }

.cv__page {
  display: flex;
  flex-direction: column;
  width: 210mm;
  min-height: 297mm;
  padding: 9mm 12mm 8mm;
  background: #fff;
  color: var(--pdf-ink);
  font-family: var(--pdf-sans);
  font-size: 9.4pt;
  line-height: 1.38;

  
  font-kerning: none;
  font-variant-ligatures: none;
}

.cv__head {
  display: flex; align-items: flex-end; gap: 8mm;
  padding-bottom: 3mm; border-bottom: 1.6pt solid var(--pdf-ink);
}
.cv__head-text { min-width: 0; }
.cv__name {
  font-family: var(--pdf-serif); font-weight: 400;
  font-size: 22pt; line-height: 1; letter-spacing: -.01em;
}
.cv__role {
  margin-top: 2mm; font-family: var(--pdf-mono);
  font-size: 8.4pt; letter-spacing: .12em; text-transform: uppercase; color: var(--pdf-accent);
}
.cv__contact { margin-top: 2mm; font-size: 8.8pt; color: var(--pdf-soft); }
.cv__photo {
  flex: 0 0 auto; width: 21mm; height: 27mm;
  object-fit: cover; object-position: 50% 20%;
  border-radius: 1mm; background: #f2f1ee;
}

.cv__h2 {
  font-family: var(--pdf-mono); font-size: 8.2pt; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--pdf-accent);
  padding-bottom: 1.2mm; margin-bottom: 2.4mm; border-bottom: .5pt solid var(--pdf-rule);
}

.cv__block { margin-top: 3.2mm; }

.cv__summary { font-size: 9.6pt; line-height: 1.42; color: var(--pdf-soft); }
.cv__pillars { margin-top: 1.8mm; padding-left: 4mm; }
.cv__pillars li { margin-top: 1.6mm; font-size: 9pt; line-height: 1.38; color: var(--pdf-soft); }
.cv__pillars li::marker { color: var(--pdf-faint); }
.cv__pillars b { color: var(--pdf-ink); font-weight: 600; }

.cv__skill-row { font-size: 9.2pt; line-height: 1.42; color: var(--pdf-soft); }
.cv__skill-row + .cv__skill-row { margin-top: .6mm; }
.cv__skill-row b { color: var(--pdf-ink); font-weight: 600; }

.cv__item + .cv__item { margin-top: 2.8mm; }
.cv__item-title { font-size: 10.4pt; font-weight: 600; line-height: 1.2; }
.cv__item-meta {
  margin-top: .6mm; font-size: 9pt; font-weight: 500; color: var(--pdf-accent);
}
.cv__item-desc { margin-top: 1.2mm; font-size: 9.2pt; line-height: 1.42; color: var(--pdf-soft); }
.cv__item-tech { margin-top: .6mm; font-size: 8.6pt; color: var(--pdf-faint); }

.cv__langs { font-size: 9.2pt; color: var(--pdf-soft); }

.cv__lang { white-space: nowrap; }

.cv__consent {
  margin-top: auto; padding-top: 2.4mm; border-top: .5pt solid var(--pdf-rule);
  font-size: 7.2pt; line-height: 1.4; color: var(--pdf-faint);
}

@media screen {
  body.cv-preview { background: #55534d; padding: 24px; }
  body.cv-preview .site { display: none; }
  body.cv-preview .cv { display: flex; justify-content: center; }
  body.cv-preview .cv__page { box-shadow: 0 8px 40px rgba(0, 0, 0, .45); }
}

@page { size: A4 portrait; margin: 0; }

@media print {
  html, body { background: #fff; }
  body { padding: 0; }
  .site { display: none !important; }
  .cv { display: block !important; }
  .cv__page {
    width: auto; min-height: auto; height: 297mm;
    box-shadow: none;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  
  .cv__item, .cv__block, .cv__head { break-inside: avoid; page-break-inside: avoid; }
}
