/* Print-only, route-owned and cacheable instead of repeated in every CV response. */
@media print {
  @page { margin: 12mm; }
  html:has(.cv-page), body:has(.cv-page) { background: #fff !important; color: #000 !important; }
  body:has(.cv-page) .site-header,
  .cv-page .cv-screen-actions,
  .cv-page .site-footer,
  .cv-page .floating-utility-stack { display: none !important; }
  .cv-page { min-height: 0; background: #fff !important; color: #000 !important; }
  .cv-page main { padding-top: 0 !important; }
  .cv-page :is(.page-intro, .standalone-about, .section) { width: 100% !important; margin: 0 !important; padding: 7mm 0 !important; }
  .cv-page :is(h1, h2, h3, p, dt, dd, li, span) { color: #000 !important; }
  .cv-page .credential-provider-mark img { filter: grayscale(1) brightness(0) !important; opacity: 1 !important; }
  .cv-page :is(.about-detail-card, .experience-list li, .about-facts > div) { break-inside: avoid; background: transparent !important; border-color: #aaa !important; box-shadow: none !important; }
  .cv-page .experience-list { grid-template-columns: 1fr 1fr !important; }
  .cv-page .software-strip ul { display: flex !important; flex-wrap: wrap !important; }
}
