* { box-sizing: border-box; }
body { margin: 0; background: #f5f5f5; font-family: 'Source Sans 3', Helvetica, Arial, sans-serif; }
a { color: oklch(0.42 0.09 250); text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.resume { width: min(calc(100% - 40px), 210mm); margin: 0 auto 48px; padding: 0.55in; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px #0000001a; }
.document-actions { width: min(calc(100% - 40px), 210mm); margin: 20px auto 12px; text-align: right; }
.document-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; border-radius: 4px; background: #2f5d8a; color: #fff; }
@media screen and (max-width: 680px) {
  .resume { width: 100%; padding: 28px 22px; margin-bottom: 0; border-radius: 0; box-shadow: none; }
  .document-actions { width: calc(100% - 44px); }
  .resume section div[style*="justify-content:space-between"] { flex-direction: column; gap: 2px !important; }
  .resume header a { overflow-wrap: anywhere; }
}
@media print {
  @page { size: A4; margin: 0.55in; }
  body { background: #fff; }
  .document-actions { display: none; }
  .resume { width: auto; margin: 0; padding: 0; border-radius: 0; box-shadow: none; }
  h1, h2 { break-after: avoid; }
  li { break-inside: avoid; }
}
