.cv {
  max-width: 68rem;
  margin: 0 auto;
  padding: var(--space-16) clamp(var(--space-5), 6vw, var(--space-20)) var(--space-24);
}
.cv-intro { padding-bottom: var(--space-12); border-bottom: var(--border-strong) solid var(--color-text); }
.cv-intro h1 { margin: var(--space-4) 0 0; font-size: var(--font-size-heading); line-height: 1; letter-spacing: -0.06em; }
.cv-title { margin: var(--space-3) 0; color: var(--color-accent); font-size: var(--font-size-lead); font-weight: var(--font-weight-semibold); }
.cv-summary { max-width: 62ch; font-size: var(--font-size-lead); }
.cv-links { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); font-family: var(--font-mono); font-size: var(--font-size-body-sm); }
.cv-links a { text-underline-offset: 0.3em; }
.cv-section { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: var(--space-8); padding: var(--space-12) 0; border-bottom: var(--border-thin) solid var(--color-border); }
.cv-section > h2 { margin: 0; font-family: var(--font-mono); font-size: var(--font-size-caption); letter-spacing: 0.08em; text-transform: uppercase; }
.cv-section article + article { margin-top: var(--space-8); }
.cv-section article header { display: flex; justify-content: space-between; gap: var(--space-6); }
.cv-section h3 { margin: 0; font-size: 1.1rem; }
.cv-section article header span { flex: none; color: var(--color-muted); font-family: var(--font-mono); font-size: var(--font-size-caption); text-transform: uppercase; }
.cv-section article p { margin: var(--space-2) 0 0; color: var(--color-muted); }
.cv-skills dl { margin: 0; }
.cv-skills dl div { display: grid; grid-template-columns: 10rem 1fr; gap: var(--space-4); padding-block: var(--space-3); border-top: var(--border-thin) solid var(--color-border); }
.cv-skills dt { font-weight: var(--font-weight-semibold); }
.cv-skills dd { margin: 0; color: var(--color-muted); }
.cv-disclosure { margin-top: var(--space-8); color: var(--color-muted); font-size: var(--font-size-body-sm); }
.cv-download { margin-top: var(--space-8); }

@media (max-width: 768px) {
  .cv-site-header nav a:first-child { display: none; }
  .cv { padding-top: var(--space-10); }
  .cv-section { grid-template-columns: 1fr; gap: var(--space-5); }
  .cv-section article header { flex-direction: column; gap: var(--space-1); }
  .cv-skills dl div { grid-template-columns: 1fr; gap: var(--space-1); }
}

@media print {
  @page { size: A4; margin: 13mm; }
  body { background: #fff; font-size: 9.5pt; line-height: 1.4; }
  .site-header, .skip-link, .cv-download, .cv-disclosure { display: none !important; }
  .cv { max-width: none; padding: 0; }
  .cv-intro { padding-bottom: 6mm; }
  .cv-intro h1 { font-size: 28pt; }
  .cv-summary, .cv-title { font-size: 11pt; }
  .cv-section { grid-template-columns: 32mm 1fr; gap: 6mm; padding: 5mm 0; break-inside: avoid; }
  .cv-section article + article { margin-top: 4mm; }
  .cv-skills dl div { grid-template-columns: 30mm 1fr; padding-block: 2mm; }
  a { text-decoration: none; }
}
