/* CV-only styles: the DOM and PDF share a sequential reading order. */
.cv-target-roles{font-size:1rem;line-height:1.5;color:var(--text-muted);margin:0 0 1.3rem}
.cv-skill-separator{display:none}
@media screen{
  .cv-page .cv-profile .cv-section-head{display:flex}
  .cv-page .cv-entry-body,.cv-page .cv-entry--minor .cv-entry-body{padding:1.5rem}
  .cv-page .cv-entry-company{margin-bottom:.5rem}
  .cv-page .cv-entry-period{display:inline-block;margin:0 0 .8rem}
  .cv-page .cv-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"profile" "aside" "main"}
  .cv-page .cv-aside{position:static;max-height:none;overflow:visible;margin:0 0 3rem;display:block}
  .cv-page .cv-aside-section:last-child{margin-bottom:0}
  .cv-page .cv-skill-list{line-height:1.7}
  .cv-page .cv-lang-list{max-width:28rem}
}
@media screen and (max-width:640px){
  .cv-page .cv-target-roles{grid-column:1/-1}
}
@media print{
  @page{size:A4;margin:13mm 15mm}
  .cv-page .cv-sheet,.cv-page .cv-sheet *{
    font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal!important;
    color:#20252b!important;-webkit-text-fill-color:#20252b!important;
    background:none!important;box-shadow:none!important;text-shadow:none!important;
    animation:none!important;transform:none!important;
  }
  .cv-page .cv-sheet{border:0;border-radius:0}
  .cv-page .cv-photo,.cv-page .cv-titleblock-meta,.cv-page .cv-title-label,
  .cv-page .cv-icon,.cv-page .cv-entry-rail,.cv-page .cv-footer-bar{display:none!important}
  .cv-page .cv-titleblock,.cv-page .cv-titleblock:has(.cv-photo){display:block;padding:0 0 3mm;margin:0 0 3mm;border:0;border-bottom:1pt solid #9aa4af;border-radius:0;break-inside:avoid}
  .cv-page .cv-titleblock-main{display:block;padding:0}
  .cv-page .cv-name{font-size:25pt;line-height:1.1;font-weight:700;margin:0 0 1.5mm}
  .cv-page .cv-role{font-size:12pt;font-weight:600;line-height:1.3;margin:0 0 1mm}
  .cv-page .cv-target-roles{font-size:10pt;line-height:1.35;margin:0 0 2mm}
  .cv-page .cv-contacts{display:block;line-height:1.5}
  .cv-page .cv-contact{display:inline;font-size:9.5pt;border:0;padding:0;margin:0}
  .cv-page .cv-contact::after{content:' | ';display:inline;position:static;margin:0 1mm}
  .cv-page .cv-contact:last-child::after{content:none}
  .cv-page .cv-contact a{color:#20252b!important}
  .cv-page .cv-body{display:block}
  .cv-page .cv-profile,.cv-page .cv-main,.cv-page .cv-aside{display:block;position:static;padding:0;margin:0 0 3mm;border:0;max-height:none;overflow:visible;backdrop-filter:none}
  .cv-page .cv-section{margin:0 0 3mm}
  .cv-page .cv-section-head,.cv-page .cv-main .cv-section-head,.cv-page .cv-aside-head,.cv-page .cv-profile .cv-section-head{display:block;font-size:12pt;line-height:1.2;font-weight:700;margin:0 0 2mm;padding:0 0 1mm;border-bottom:.5pt solid #c1c7ce;break-after:avoid}
  .cv-page .cv-section-head::before,.cv-page .cv-section-head::after,
  .cv-page .cv-aside-title::before,.cv-page .cv-entry::before,.cv-page .cv-entry-body::before,
  .cv-page .cv-entry-desc li::before{content:none!important;display:none!important}
  .cv-page .cv-profile-text{font-size:10.5pt;line-height:1.3;margin:0;padding:0;border:0;orphans:2;widows:2}
  .cv-page .cv-profile-text::first-line{font-weight:inherit}
  .cv-page .cv-aside-section{display:block;margin:0 0 1.2mm;padding:0;border:0;break-inside:avoid;font-size:10pt;line-height:1.35}
  .cv-page .cv-aside-title{display:inline;font-size:10pt;font-weight:700;line-height:inherit;margin:0}
  .cv-page .cv-aside-title::after{content:': '}
  .cv-page .cv-skill-list,.cv-page .cv-lang-list{display:inline;line-height:inherit}
  .cv-page .cv-skill{display:inline;font-size:10pt;font-weight:400;line-height:inherit;border:0;border-radius:0;padding:0;margin:0}
  .cv-page .cv-skill-separator{display:inline}
  .cv-page .cv-skill::after{content:none}
  .cv-page .cv-lang-row{display:inline;font-size:10pt;padding:0;border:0}
  .cv-page .cv-lang-row+.cv-lang-row::before{content:'; '}
  .cv-page .cv-lang-level{font-size:10pt;border:0;padding:0;border-radius:0}
  .cv-page .cv-lang-level::before{content:': '}
  .cv-page .cv-main .cv-section .cv-entry{display:block;position:static;padding:0;margin:0 0 2.4mm;break-inside:avoid}
  .cv-page .cv-entry-body,.cv-page .cv-entry--minor .cv-entry-body{position:static;border:0;border-radius:0;padding:0}
  .cv-page .cv-entry-head{padding:0;margin:0 0 1mm;break-inside:avoid;break-after:avoid}
  .cv-page .cv-entry-title{font-size:11pt;font-weight:700;line-height:1.3;margin:0 0 .4mm}
  .cv-page .cv-entry-company{display:inline;font-size:10.5pt;font-weight:600;line-height:1.3;margin:0 0 .4mm}
  .cv-page .cv-entry-period{display:inline;font-size:9.5pt;font-weight:400;line-height:1.3;margin:0 0 1mm;padding:0;border:0;border-radius:0}
  .cv-page .cv-entry-company+.cv-entry-period::before{content:' | '}
  .cv-page .cv-entry-desc{font-size:10.5pt;line-height:1.3;orphans:2;widows:2}
  .cv-page .cv-entry-summary{margin:0 0 1mm}
  .cv-page .cv-entry-desc ul{display:block;list-style:disc;padding:0 0 0 4.5mm;margin:0}
  .cv-page .cv-entry-desc li{position:static;padding:0;margin:0 0 .7mm;break-inside:avoid}
}

/* Restrained print identity; all content stays in normal, single-column flow. */
@media print{
  .cv-page .cv-sheet .cv-titleblock{
    border-top:3pt solid #193c50;border-bottom:.6pt solid #c1cdd4;
    padding-top:3mm;padding-bottom:3mm;margin-bottom:4mm;
  }
  .cv-page .cv-sheet .cv-name{
    font-size:29pt;color:#17364a!important;-webkit-text-fill-color:#17364a!important;
    margin-bottom:2mm;
  }
  .cv-page .cv-sheet .cv-role{
    color:#24576a!important;-webkit-text-fill-color:#24576a!important;
  }
  .cv-page .cv-sheet .cv-target-roles,
  .cv-page .cv-sheet .cv-entry-period{
    color:#4b5964!important;-webkit-text-fill-color:#4b5964!important;
  }
  .cv-page .cv-sheet .cv-section-head{
    color:#193c50!important;-webkit-text-fill-color:#193c50!important;
    font-size:11.5pt;border-bottom:.7pt solid #9eafb9;padding-bottom:1.2mm;
  }
  .cv-page .cv-sheet .cv-entry-title{
    color:#17364a!important;-webkit-text-fill-color:#17364a!important;
  }
  .cv-page .cv-sheet .cv-entry-company{
    color:#35515f!important;-webkit-text-fill-color:#35515f!important;
  }
  .cv-page .cv-sheet .cv-aside-title{
    color:#193c50!important;-webkit-text-fill-color:#193c50!important;
  }
  .cv-page .cv-sheet .cv-entry-desc li::marker{color:#24576a}
}
