/* Currículo formal para impressão e exportação em PDF. */
@page {
  size: A4;
  margin: 16mm 18mm;
}

:root {
  --ink: #000;
  --muted: #000;
  --accent: #000;
}

*, *::before, *::after {
  color: #000 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  transition: none !important;
  letter-spacing: normal !important;
}

html, body {
  margin: 0;
  padding: 0;
  background: #fff !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10pt;
  line-height: 1.35;
}

main {
  display: block;
  max-width: none;
  margin: 0;
  padding: 0;
}

.print-only { display: block; }
.header, .hero, .highlights, .about, .contact-section, footer,
.skip-link, .eyebrow, .section-note, .current-label, .tags,
.skill-number, .badge-filters, .badge-count, .badge-card a,
.other-courses > p, img, svg, button {
  display: none !important;
}

a { color: #000; text-decoration: none; }
p, li { orphans: 3; widows: 3; }
h1, h2, h3, .section-heading { break-after: avoid; }
h1, h2, h3 { line-height: 1.3; }

.resume-header {
  margin-bottom: 14pt;
  break-inside: avoid;
}
.resume-header h1 { margin: 0 0 5pt; font-size: 19pt; font-weight: 700; }
.resume-header p { margin: 2pt 0; font-size: 9pt; }
.resume-header .resume-role { font-size: 10.5pt; margin-bottom: 6pt; }
.resume-summary { margin-bottom: 12pt; }
.resume-summary p { margin: 0; }
h2 { margin: 0 0 7pt; font-size: 11.5pt; font-weight: 700; text-transform: uppercase; }

.section { padding: 0; margin: 0 0 14pt; }
.section-heading { display: block; margin: 0; }
.timeline, .skills-grid, .education-grid, .badges-grid { display: block; }

.experience, .experience:first-child, .experience:last-child {
  display: block;
  padding: 0;
  margin: 0 0 10pt;
  break-inside: avoid;
}
.period { float: right; padding: 1pt 0 0 12pt; font-size: 8.5pt; font-weight: 400; }
.company { margin: 0 0 1pt; font-size: 10.5pt; font-weight: 700; }
.experience h3 { margin: 0 0 4pt; font-size: 10pt; font-weight: 400; }
.experience h3 + p, .experience li { font-size: 10pt; }
.experience h3 + p { margin: 0; }
.experience ul { margin: 3pt 0 0; padding-left: 14pt; }
.experience li { margin: 1pt 0; padding-left: 0; }

.skill-card { display: block; padding: 0; margin: 0 0 5pt; break-inside: avoid; }
.skill-card h3, .skill-card p { display: inline; font-size: 10pt; line-height: 1.35; margin: 0; }
.skill-card h3 { font-weight: 700; }
.skill-card h3::after { content: ": "; }

.education-card { display: block; padding: 0; margin: 0 0 8pt; break-inside: avoid; }
.education-date { margin: 0 0 1pt; font-size: 8.5pt; font-weight: 400; }
.education-card h3 { margin: 0 0 1pt; font-size: 10pt; font-weight: 700; }
.education-card > p:not(.education-date), .education-card small { font-size: 10pt; margin: 0; }
.language { display: block; padding: 0; margin: 10pt 0 0; font-size: 10pt; }
.language strong::after { content: ": "; }

.badge-card, .badge-card[hidden] {
  display: block !important;
  padding: 0;
  margin: 0 0 4pt;
  text-align: left;
  overflow: visible;
  break-inside: avoid;
}
.badge-issuer { float: right; font-size: 9pt; text-transform: none; margin: 0 0 0 12pt; }
.badge-card h3 { font-size: 10pt; line-height: 1.35; font-weight: 400; margin: 0; }
.other-courses { padding: 0; margin: 12pt 0 0; }
.other-courses h3 { font-size: 10pt; margin: 0 0 5pt; font-weight: 700; }
.other-courses ul { display: block; margin: 0; padding: 0; list-style: none; }
.other-courses li { font-size: 10pt; margin: 0 0 3pt; break-inside: avoid; }
.other-courses li span { display: inline; font-size: 10pt; }
.other-courses li span::before { content: " — "; }
