/* Página cv/: la hoja (resume.css) sobre el lienzo de puntos, y su versión impresa en A4. */

.cv-stage {
  padding-block: clamp(2rem, 1rem + 4vw, 4.5rem);
  background: radial-gradient(circle, var(--dot) 1px, transparent 1.3px) 0 0 / 14px 14px, var(--canvas);
}
.cv-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; margin-top: 2rem; }

@media print {
  @page { size: A4; margin: 13mm 14mm 12mm; }
  html { font-size: 11px; }
  body { background: #fff; font-size: 1rem; line-height: 1.45; }
  .site-header, .site-footer, .cv-actions, .skip-link, .sheet__h, .cv-toggle { display: none !important; }
  .cv-stage { padding: 0; background: none; }
  .sheet { width: auto; border: 0; box-shadow: none; padding: 0; }
  .cv-name { font-size: 2.8rem; }
  .cv-contact { grid-template-columns: repeat(2, auto); gap: 0.1rem 1.5rem; }
  .cv-block { margin-top: 1rem; }
  .cv-h { margin-bottom: 0.6rem; padding-bottom: 0.35rem; break-after: avoid; }
  .cv-job--project, .cv-edu, .ruler, .deliv__group, .cv-skills div { break-inside: avoid; }
  .cv-job { padding: 0.55rem 0; margin: 0; break-inside: avoid; }
  .cv-list { margin-top: 0.4rem; gap: 0.1rem; }
  .cv-tags, .cv-chips { margin-top: 0.35rem; }
  .ruler__track { height: 46px; }
  .ruler__track--own { height: 38px; }
  .deliv { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .cv-skills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-cols { grid-template-columns: 1fr 1fr; }
  .deliv__list { gap: 0.3rem; }
  .deliv__list li { font-size: 0.9rem; line-height: 1.25; }
  .deliv__h { margin-bottom: 0.4rem; }
  .cv-skills { gap: 0.3rem 2rem; }
  .cv-skills div { grid-template-columns: 8rem 1fr; }
  .cv-plain { gap: 0.25rem; }
  .cv-summary { font-size: 0.95rem; }
  .ruler__track { height: 40px; }
  .ruler__track--own { height: 34px; }
  .cv-contact a, .cv-job__title a { color: var(--ink); }
  a { text-decoration: none; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
