@charset "UTF-8";

.resume { max-inline-size: 60rem; margin-inline: auto; }
.resume__header { display: grid; gap: var(--space-4); padding-block: clamp(var(--space-8), 4vw, var(--space-12)); border-block-end: 1px solid var(--color-border); }
.resume__name { font-family: var(--font-heading); font-size: clamp(var(--text-4xl), 6vw, var(--text-6xl)); font-weight: var(--weight-bold); letter-spacing: var(--tracking-display); line-height: 1; }
.resume__role { font-size: var(--text-lg); color: var(--color-text-secondary); }
.resume__contact { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-tertiary); }
.resume__contact a { color: var(--accent-light); }
.resume__actions { display: flex; gap: var(--space-3); margin-block-start: var(--space-2); }

.resume__section { padding-block: clamp(var(--space-8), 4vw, var(--space-12)); border-block-end: 1px solid var(--color-border-subtle); }
.resume__section h2 { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: var(--tracking-widest); text-transform: uppercase; color: var(--color-text-secondary); margin-block-end: var(--space-6); }

.xp { display: grid; gap: var(--space-8); }
.xp__item { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-6); }
@media (max-width: 680px){ .xp__item { grid-template-columns: 1fr; gap: var(--space-2); } }
.xp__when { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-tertiary); }
.xp__role { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--color-text); letter-spacing: var(--tracking-tight); }
.xp__org { font-size: var(--text-sm); color: var(--accent-light); margin-block: 2px var(--space-3); }
.xp__points { display: grid; gap: var(--space-2); }
.xp__points li { display: flex; gap: var(--space-3); align-items: baseline; font-size: var(--text-sm); color: var(--color-text-secondary); line-height: var(--leading-normal); }
.xp__points li::before { content: '\2192'; color: var(--accent-light); flex: none; }

.resume__skills { columns: 2 240px; column-gap: var(--space-8); }
.skill-group { break-inside: avoid; margin-block-end: var(--space-6); }
.skill-group h3 { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--color-text-tertiary); margin-block-end: var(--space-2); }
.skill-group p { font-size: var(--text-sm); color: var(--color-text-secondary); line-height: var(--leading-relaxed); }

.resume__cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); }
@media (max-width: 680px){ .resume__cols { grid-template-columns: 1fr; } }
.resume__row { display: grid; gap: 2px; margin-block-end: var(--space-4); }
.resume__row b { font-family: var(--font-heading); font-weight: var(--weight-semibold); color: var(--color-text); }
.resume__row span { font-size: var(--text-sm); color: var(--color-text-secondary); }

@media print {
  @page { size: A4; margin: 16mm 16mm; }
  html, body { background: #fff; color: #111; }
  .site-header, .footer, .theme-toggle, .lang-switcher, .nav-burger,
  .page__glow, .page__motif, .page__contour, .skip-link, .breadcrumbs,
  .resume__actions, .drawer-host { display: none !important; }
  .page, .page__main, .wrap, .sec { padding: 0 !important; margin: 0 !important; border: none !important; }
  .resume, .resume__name, .resume__role, .xp__role, .skill-group p, .xp__points li, .resume__row span {
    font-family: Georgia, 'Times New Roman', serif !important;
    color: #111 !important;
  }
  .resume__name { font-size: 28pt; }
  .resume__role { font-size: 12pt; }
  .resume__section { padding-block: 10pt; border-color: #ccc !important; page-break-inside: avoid; }
  .resume__section h2, .xp__when, .xp__org, .skill-group h3, .resume__contact { color: #555 !important; font-family: 'Courier New', monospace !important; }
  .xp__points li::before { color: #555 !important; }
  .resume__skills { columns: 2; }
  .xp__item { page-break-inside: avoid; grid-template-columns: 160px 1fr; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; color: #777; }
  a { color: #111 !important; text-decoration: none; }
}

.resume a:hover { text-decoration: underline; text-underline-offset: 2px; color: var(--color-text); }