
.cv-document{
  --cv-accent:#2F7D5A;
  width:210mm; min-height:296mm; background:#fff; color:#1d2530;
  font-family:Arial,Helvetica,sans-serif; font-size:9.8pt; line-height:1.42;
  border:1px solid #c4ccd6;box-shadow:0 8px 28px rgba(16,24,40,.12); position:relative; overflow:visible; text-rendering:geometricPrecision; -webkit-font-smoothing:antialiased;
}
.cv-document.cv-paper-letter{width:215.9mm;min-height:278.4mm}
.cv-inner{padding:17mm 17mm 16mm}
.cv-header{display:grid;grid-template-columns:1fr auto;gap:11mm;align-items:end;border-bottom:2px solid var(--cv-accent);padding-bottom:6mm;margin-bottom:7mm}
.cv-identity .cv-name{margin:0;color:#162033;font-size:27pt;line-height:1;letter-spacing:-1.2px}
.cv-role{margin:2.2mm 0 0;color:var(--cv-accent);font-size:11pt;font-weight:700}
.cv-contact{display:flex;flex-direction:column;gap:1.3mm;text-align:right;color:#465164;font-size:8.3pt}
.cv-contact b{display:none}
.cv-photo{width:24mm;height:24mm;border-radius:50%;overflow:hidden;background:#e9edf3;display:grid;place-items:center;font-size:15pt;font-weight:800;color:#667085}
.cv-photo img{width:100%;height:100%;object-fit:cover}
.cv-layout{display:grid;grid-template-columns:1fr;gap:7mm}
.cv-sidebar{display:none}
.cv-main{min-width:0}
.cv-side-section{min-width:0}
.cv-onecol-extras{display:grid;grid-template-columns:2fr 1fr 1.25fr;gap:6mm;margin:0 0 7mm;border-top:1px solid #dfe3e8;padding-top:5mm}
.cv-onecol-extras .cv-section-title{font-size:8.8pt;border:0;padding:0;margin-bottom:2.2mm}
.cv-onecol-extras .cv-tag-list li{font-size:7.9pt}
.cv-section{margin-bottom:6.5mm}
.cv-section-title{font-size:10pt;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 3.5mm;color:#1c2a3d;border-bottom:1px solid #dfe3e8;padding-bottom:1.8mm}
.cv-entry{margin-bottom:5mm;break-inside:avoid}
.cv-entry:last-child{margin-bottom:0}
.cv-entry-head{display:flex;justify-content:space-between;gap:8mm;align-items:flex-start}
.cv-entry h3{font-size:10.7pt;margin:0 0 .7mm;color:#192435}
.cv-entry p{margin:0;color:#404b5d}
.cv-entry time{white-space:nowrap;font-size:8.5pt;color:#566173}
.cv-entry ul{margin:2mm 0 0;padding-left:4.5mm}
.cv-entry li{margin:1.15mm 0}
.cv-summary{margin:0;color:#354154}
.cv-simple-list,.cv-tag-list{padding:0;margin:0;list-style:none}
.cv-simple-list li{margin:1.6mm 0;color:#354154}
.cv-tag-list{display:flex;flex-wrap:wrap;gap:2mm}
.cv-tag-list li{padding:1.3mm 2.2mm;background:#f1f4f7;border-radius:2mm;font-size:8.2pt;color:#2d3849}
.cv-references p{margin:0;color:#354154}

/* typography and sizing */
.cv-font-serif{font-family:Georgia,"Times New Roman",serif}
.cv-font-serif .cv-contact,.cv-font-serif .cv-role{font-family:Arial,Helvetica,sans-serif}
.cv-density-compact{font-size:9.1pt;line-height:1.33}
.cv-density-compact .cv-inner{padding-top:14mm;padding-bottom:14mm}
.cv-density-compact .cv-section{margin-bottom:5mm}
.cv-density-compact .cv-entry{margin-bottom:3.6mm}
.cv-density-spacious{font-size:10.2pt;line-height:1.52}
.cv-density-spacious .cv-inner{padding:19mm}
.cv-density-spacious .cv-section{margin-bottom:8mm}
.cv-margin-narrow .cv-inner{padding-left:13mm;padding-right:13mm}
.cv-margin-wide .cv-inner{padding-left:22mm;padding-right:22mm}
.cv-size-small{font-size:9.1pt}
.cv-size-large{font-size:10.5pt}
.cv-size-small .cv-entry h3{font-size:10pt}
.cv-size-large .cv-entry h3{font-size:11.2pt}

/* Professional Two Column */
.cv-tpl-professional-two-column .cv-inner{padding:0}
.cv-tpl-professional-two-column .cv-header{margin:0;padding:15mm 16mm 9mm;background:#fff;border-bottom:0}
.cv-tpl-professional-two-column .cv-layout{grid-template-columns:58mm 1fr;gap:0}
.cv-tpl-professional-two-column .cv-sidebar{display:block;background:#f1f4f8;padding:11mm 9mm 16mm}
.cv-tpl-professional-two-column .cv-main{padding:10mm 15mm 16mm}
.cv-tpl-professional-two-column .cv-sidebar .cv-section-title{color:var(--cv-accent);border-color:#cdd5df}
.cv-tpl-professional-two-column .cv-sidebar .cv-tag-list{display:block}
.cv-tpl-professional-two-column .cv-sidebar .cv-tag-list li{background:none;padding:0;margin:1.5mm 0}
.cv-tpl-professional-two-column .cv-contact{font-size:8pt}
.cv-tpl-professional-two-column .cv-main .cv-section-title{color:var(--cv-accent)}
.cv-tpl-professional-two-column .cv-onecol-extras{display:none}

/* Modern */
.cv-tpl-modern .cv-inner{padding:0 17mm 16mm}
.cv-tpl-modern .cv-header{margin:0 -17mm 9mm;padding:14mm 17mm 10mm;background:var(--cv-accent);border:0;color:var(--cv-accent-text);grid-template-columns:1fr auto}
.cv-tpl-modern .cv-identity .cv-name,.cv-tpl-modern .cv-role,.cv-tpl-modern .cv-contact{color:var(--cv-accent-text)}
.cv-tpl-modern .cv-contact{opacity:.9}
.cv-tpl-modern .cv-section-title{border:0;color:var(--cv-accent);padding:0;font-size:9.3pt}
.cv-tpl-modern .cv-entry h3{font-size:11pt}

/* Modern Sidebar */
.cv-tpl-modern-sidebar .cv-inner{padding:0}
.cv-tpl-modern-sidebar .cv-header{display:block;margin:0;padding:14mm 15mm 9mm 74mm;border:0;background:#fff}
.cv-tpl-modern-sidebar .cv-identity .cv-name{font-size:27pt}
.cv-tpl-modern-sidebar .cv-contact{margin-top:4mm;flex-direction:row;flex-wrap:wrap;text-align:left;gap:2mm 5mm}
.cv-tpl-modern-sidebar .cv-layout{grid-template-columns:64mm 1fr;gap:0;min-height:230mm}
.cv-paper-letter.cv-tpl-modern-sidebar .cv-layout{min-height:220mm}
.cv-tpl-modern-sidebar .cv-sidebar{display:block;background:var(--cv-accent);color:var(--cv-accent-text);padding:13mm 9mm}
.cv-tpl-modern-sidebar .cv-sidebar .cv-section-title{color:var(--cv-accent-text);border-color:currentColor}
.cv-tpl-modern-sidebar .cv-sidebar .cv-simple-list li,.cv-tpl-modern-sidebar .cv-sidebar .cv-tag-list li{color:var(--cv-accent-text)}
.cv-tpl-modern-sidebar .cv-sidebar .cv-tag-list{display:block}
.cv-tpl-modern-sidebar .cv-sidebar .cv-tag-list li{background:transparent;padding:0;margin:1.6mm 0}
.cv-tpl-modern-sidebar .cv-main{padding:12mm 15mm 16mm}
.cv-tpl-modern-sidebar .cv-section-title{color:var(--cv-accent);border:0;padding:0}
.cv-tpl-modern-sidebar .cv-onecol-extras{display:none}

/* Classic */
.cv-tpl-classic{font-family:Georgia,"Times New Roman",serif;color:#222}
.cv-tpl-classic .cv-inner{padding:17mm 20mm}
.cv-tpl-classic .cv-header{display:block;text-align:center;border-bottom:1px solid #252525;padding-bottom:6mm;margin-bottom:7mm}
.cv-tpl-classic .cv-identity .cv-name{font-family:Georgia,"Times New Roman",serif;font-size:25pt;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:#171717}
.cv-tpl-classic .cv-role{color:#444;font-family:Arial,sans-serif;font-size:9.5pt;letter-spacing:1.1px;text-transform:uppercase}
.cv-tpl-classic .cv-contact{margin-top:4mm;display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:2mm 5mm;text-align:center;font-family:Arial,sans-serif}
.cv-tpl-classic .cv-section-title{text-align:center;font-family:Arial,sans-serif;color:#222;border:0;border-top:1px solid #777;border-bottom:1px solid #777;padding:1.7mm 0}
.cv-tpl-classic .cv-entry h3{font-family:Georgia,"Times New Roman",serif}
.cv-tpl-classic .cv-entry p,.cv-tpl-classic .cv-summary{color:#333}
.cv-tpl-classic .cv-onecol-extras{border-top:1px solid #777}
.cv-tpl-classic .cv-onecol-extras .cv-section-title{text-align:left;border:0;border-bottom:1px solid #bbb;padding-bottom:1.3mm}

/* Executive */
.cv-tpl-executive .cv-inner{padding:14mm 16mm}
.cv-tpl-executive .cv-header{grid-template-columns:1fr;border-bottom:0;padding:0 0 5mm;margin-bottom:7mm}
.cv-tpl-executive .cv-identity .cv-name{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:30pt;color:#142033}
.cv-tpl-executive .cv-role{font-size:10pt;text-transform:uppercase;letter-spacing:1.4px}
.cv-tpl-executive .cv-contact{flex-direction:row;flex-wrap:wrap;text-align:left;gap:2mm 5mm;border-top:1px solid #cfd5de;border-bottom:1px solid #cfd5de;padding:3mm 0;margin-top:4mm}
.cv-tpl-executive .cv-layout{grid-template-columns:47mm 1fr;gap:10mm}
.cv-tpl-executive .cv-sidebar{display:block;border-right:1px solid #dfe3e8;padding-right:7mm}
.cv-tpl-executive .cv-sidebar .cv-section-title{font-size:8.5pt;color:var(--cv-accent);border:0;padding:0}
.cv-tpl-executive .cv-sidebar .cv-tag-list{display:block}
.cv-tpl-executive .cv-sidebar .cv-tag-list li{background:transparent;padding:0;margin:1.5mm 0}
.cv-tpl-executive .cv-main .cv-section-title{color:var(--cv-accent);border:0;padding:0}
.cv-tpl-executive .cv-onecol-extras{display:none}

/* Minimal */
.cv-tpl-minimal .cv-inner{padding:18mm}
.cv-tpl-minimal .cv-header{display:block;border:0;padding:0;margin-bottom:10mm}
.cv-tpl-minimal .cv-identity .cv-name{font-size:29pt;font-weight:750;color:#101010}
.cv-tpl-minimal .cv-role{color:#444;font-weight:500}
.cv-tpl-minimal .cv-contact{margin-top:4mm;flex-direction:row;flex-wrap:wrap;text-align:left;gap:2mm 5mm;color:#555}
.cv-tpl-minimal .cv-section-title{font-size:8.7pt;color:#111;border:0;border-bottom:1px solid #111;padding-bottom:1.5mm}
.cv-tpl-minimal .cv-tag-list li{background:#fff;border:1px solid #d7d7d7;border-radius:0}
.cv-tpl-minimal .cv-onecol-extras{border-top:1px solid #111}

/* Photo Professional */
.cv-tpl-photo-professional .cv-inner{padding:0}
.cv-tpl-photo-professional .cv-header{display:block;position:relative;min-height:28mm;background:#edf2f5;border:0;margin:0;padding:13mm 15mm 13mm 50mm}
.cv-tpl-photo-professional .cv-photo{position:absolute;left:15mm;top:13mm;width:28mm;height:28mm;min-width:28mm;max-width:28mm;min-height:28mm;max-height:28mm}
.cv-tpl-photo-professional .cv-contact{text-align:left;flex-direction:row;flex-wrap:wrap;gap:2mm 4mm;margin-top:3mm}
.cv-tpl-photo-professional .cv-layout{grid-template-columns:59mm 1fr;gap:0}
.cv-tpl-photo-professional .cv-sidebar{display:block;padding:10mm 8mm 16mm 15mm;background:#fff;border-right:1px solid #dce2e7}
.cv-tpl-photo-professional .cv-main{padding:10mm 15mm 16mm}
.cv-tpl-photo-professional .cv-sidebar .cv-tag-list{display:block}
.cv-tpl-photo-professional .cv-sidebar .cv-tag-list li{background:transparent;padding:0;margin:1.5mm 0}
.cv-tpl-photo-professional .cv-section-title{color:var(--cv-accent)}
.cv-tpl-photo-professional .cv-onecol-extras{display:none}

@media print{
  body{background:#fff!important}
  .cv-document{box-shadow:none;border:0}
  .no-print{display:none!important}
  @page{margin:0}
}
.cv-document{-webkit-print-color-adjust:exact;print-color-adjust:exact}

/* Contemporary */
.cv-tpl-contemporary .cv-header{border-bottom:0;padding-bottom:4mm;margin-bottom:7mm;position:relative}
.cv-tpl-contemporary .cv-header:after{content:"";position:absolute;left:0;bottom:0;width:34mm;height:2.2mm;background:var(--cv-accent)}
.cv-tpl-contemporary .cv-identity .cv-name{font-size:30pt}.cv-tpl-contemporary .cv-section-title{border:0;padding:0;color:var(--cv-accent);font-size:9.2pt}.cv-tpl-contemporary .cv-onecol-extras{border-top:0;background:#f5f7fa;padding:5mm}
/* Elegant */
.cv-tpl-elegant{font-family:Georgia,"Times New Roman",serif}.cv-tpl-elegant .cv-inner{padding:18mm 20mm}.cv-tpl-elegant .cv-header{display:block;text-align:left;border-bottom:1px solid #c9bdc4}.cv-tpl-elegant .cv-identity .cv-name{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#261f24}.cv-tpl-elegant .cv-role{color:var(--cv-accent);font-family:Arial,sans-serif}.cv-tpl-elegant .cv-contact{margin-top:4mm;flex-direction:row;flex-wrap:wrap;text-align:left;font-family:Arial,sans-serif}.cv-tpl-elegant .cv-section-title{font-family:Arial,sans-serif;color:var(--cv-accent);border-color:#d8ced4}.cv-tpl-elegant .cv-entry h3{font-family:Georgia,"Times New Roman",serif}
/* Compact Professional */
.cv-tpl-compact-professional .cv-inner{padding:12mm 13mm}.cv-tpl-compact-professional{font-size:8.7pt;line-height:1.3}.cv-tpl-compact-professional .cv-header{margin-bottom:5mm;padding-bottom:4mm}.cv-tpl-compact-professional .cv-layout{grid-template-columns:52mm 1fr;gap:7mm}.cv-tpl-compact-professional .cv-sidebar{display:block;border-right:1px solid #d9e0e8;padding-right:6mm}.cv-tpl-compact-professional .cv-sidebar .cv-tag-list{display:block}.cv-tpl-compact-professional .cv-sidebar .cv-tag-list li{background:transparent;padding:0;margin:1.1mm 0}.cv-tpl-compact-professional .cv-onecol-extras{display:none}.cv-tpl-compact-professional .cv-section{margin-bottom:4.2mm}.cv-tpl-compact-professional .cv-entry{margin-bottom:3.2mm}
/* Photo Modern */
.cv-tpl-photo-modern .cv-header{grid-template-columns:29mm 1fr auto;align-items:center;background:var(--cv-accent);color:var(--cv-accent-text);margin:-17mm -17mm 8mm;padding:13mm 17mm 10mm;border:0}.cv-tpl-photo-modern .cv-photo{width:27mm;height:27mm;border:2px solid rgba(255,255,255,.8)}.cv-tpl-photo-modern .cv-identity .cv-name,.cv-tpl-photo-modern .cv-role,.cv-tpl-photo-modern .cv-contact{color:var(--cv-accent-text)}.cv-tpl-photo-modern .cv-section-title{color:var(--cv-accent);border:0;padding:0}
/* Photo Classic */
.cv-tpl-photo-classic{font-family:Georgia,"Times New Roman",serif}.cv-tpl-photo-classic .cv-header{display:grid;grid-template-columns:26mm 1fr;gap:6mm;text-align:left;border-bottom:1px solid #444;align-items:center}.cv-tpl-photo-classic .cv-photo{grid-row:1/3;width:24mm;height:24mm;border-radius:3mm}.cv-tpl-photo-classic .cv-contact{grid-column:2;flex-direction:row;flex-wrap:wrap;text-align:left;font-family:Arial,sans-serif}.cv-tpl-photo-classic .cv-identity .cv-name{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:#1f1f1f}.cv-tpl-photo-classic .cv-section-title{font-family:Arial,sans-serif;color:#333;border-color:#666}
/* Photo Minimal */
.cv-tpl-photo-minimal .cv-inner{padding:15mm 17mm 14mm}.cv-tpl-photo-minimal .cv-header{display:block;position:relative;border:0;padding:0 0 0 30mm;min-height:24mm;margin-bottom:6mm}.cv-tpl-photo-minimal .cv-photo{position:absolute;left:0;top:0;width:23mm;height:23mm;border-radius:50%}.cv-tpl-photo-minimal .cv-contact{margin:5mm 0 0 -30mm;flex-direction:row;flex-wrap:wrap;text-align:left;border-top:1px solid #e1e5ea;padding-top:3mm}.cv-tpl-photo-minimal .cv-section{margin-bottom:5.5mm}.cv-tpl-photo-minimal .cv-onecol-extras{margin-bottom:5.5mm;padding-top:4mm}.cv-tpl-photo-minimal .cv-section-title{border:0;border-bottom:1px solid #222;color:#111}
/* Photo Sidebar */
.cv-tpl-photo-sidebar .cv-inner{padding:0}.cv-tpl-photo-sidebar .cv-header{display:block;position:relative;margin:0;padding:13mm 14mm 10mm 72mm;border:0;min-height:42mm}.cv-tpl-photo-sidebar .cv-photo{position:absolute;left:17mm;top:11mm;width:34mm;height:34mm;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #d7dee5}.cv-tpl-photo-sidebar .cv-contact{margin-top:3mm;flex-direction:row;flex-wrap:wrap;text-align:left}.cv-tpl-photo-sidebar .cv-layout{grid-template-columns:60mm 1fr;gap:0}.cv-tpl-photo-sidebar .cv-sidebar{display:block;background:var(--cv-accent);color:var(--cv-accent-text);padding:12mm 9mm 16mm}.cv-tpl-photo-sidebar .cv-sidebar .cv-section-title,.cv-tpl-photo-sidebar .cv-sidebar li{color:var(--cv-accent-text);border-color:currentColor}.cv-tpl-photo-sidebar .cv-sidebar .cv-tag-list{display:block}.cv-tpl-photo-sidebar .cv-sidebar .cv-tag-list li{background:transparent;padding:0;margin:1.5mm 0}.cv-tpl-photo-sidebar .cv-main{padding:11mm 14mm 16mm}.cv-tpl-photo-sidebar .cv-main .cv-section-title{color:var(--cv-accent);border:0;padding:0}.cv-tpl-photo-sidebar .cv-onecol-extras{display:none}


/* v3.7 document clarity + pagination safeguards */
.cv-document{color:#172033;-webkit-font-smoothing:auto;text-rendering:optimizeLegibility}
.cv-contact{color:#334155}
.cv-entry p,.cv-summary,.cv-simple-list li,.cv-references p{color:#2f3b4d}
.cv-entry time{color:#435066}
.cv-tag-list li{color:#263244}
.cv-section-title{break-after:avoid-page;page-break-after:avoid}
.cv-entry,.cv-education,.cv-side-section,.cv-onecol-extras{break-inside:avoid-page;page-break-inside:avoid}
.cv-entry-head{break-after:avoid-page;page-break-after:avoid}
.cv-entry h3,.cv-entry p{break-after:avoid-page;page-break-after:avoid}
.cv-entry li{break-inside:avoid-page;page-break-inside:avoid}
.cv-header{break-inside:avoid-page;page-break-inside:avoid}
@media print{
  .cv-document{overflow:visible!important;min-height:0!important}
  .cv-section-title{break-after:avoid-page;page-break-after:avoid}
  .cv-entry,.cv-education,.cv-side-section{break-inside:avoid-page;page-break-inside:avoid}
}

/* Builder-only guide content. These classes never appear in the paid server-rendered CV. */
.cv-guide-text{color:#7a8494!important;font-style:italic}
.cv-guide-section{opacity:.72}
.cv-guide-section .cv-section-title{opacity:.9}

.cv-guide-photo{opacity:.72;filter:saturate(.78)}


/* CV Pro 7.1 visual template additions + pagination polish */
.cv-section{orphans:2;widows:2}.cv-section-title{break-after:avoid-page!important;page-break-after:avoid!important}.cv-section-title + .cv-entry,.cv-section-title + .cv-summary{break-before:avoid-page;page-break-before:avoid}.cv-entry ul{orphans:2;widows:2}
.cv-tpl-skills-focus .cv-inner,.cv-tpl-skills-rating .cv-inner{padding:15mm 16mm}.cv-tpl-skills-focus .cv-header,.cv-tpl-skills-rating .cv-header{border-bottom:3px solid var(--cv-accent);padding-bottom:5mm;margin-bottom:7mm}.cv-tpl-skills-focus .cv-layout,.cv-tpl-skills-rating .cv-layout{grid-template-columns:55mm 1fr;gap:8mm}.cv-tpl-skills-focus .cv-sidebar,.cv-tpl-skills-rating .cv-sidebar{display:block;padding-right:6mm;border-right:1px solid #e0e5e2}.cv-tpl-skills-focus .cv-onecol-extras,.cv-tpl-skills-rating .cv-onecol-extras{display:none}.cv-tpl-skills-focus .cv-section-title,.cv-tpl-skills-rating .cv-section-title{border:0;padding:0;color:var(--cv-accent);font-size:9pt}.cv-tpl-skills-focus .cv-sidebar .cv-tag-list,.cv-tpl-skills-rating .cv-sidebar .cv-tag-list{display:block}.cv-tpl-skills-focus .cv-sidebar .cv-tag-list li,.cv-tpl-skills-rating .cv-sidebar .cv-tag-list li{background:transparent;padding:0;margin:0 0 2.4mm;font-weight:700}.cv-rated-skill{display:grid!important;grid-template-columns:1fr auto;gap:2mm;align-items:center}.cv-skill-stars{color:var(--cv-accent);font-size:7.7pt;letter-spacing:.25mm;white-space:nowrap}.cv-bar-skill{display:block!important;padding-bottom:3.8mm!important;position:relative}.cv-bar-skill i{position:absolute;left:0;right:0;bottom:1mm;height:2mm;border-radius:999px;background:#e2e7e4;overflow:hidden}.cv-bar-skill i:after{content:'';display:block;height:100%;width:var(--skill-pct,0%);background:var(--cv-accent);border-radius:inherit}.cv-tpl-skills-rating .cv-sidebar .cv-section-title:after{content:' · self-rated';font-size:6.8pt;color:#7b8492;letter-spacing:0;text-transform:none;font-weight:500}
@media print{.cv-section{orphans:2;widows:2}.cv-section-title{break-after:avoid-page!important}.cv-entry{break-inside:avoid-page}.cv-entry li{break-inside:avoid-page}}


/* CV Pro 7.2 recruiter-first document system */
.cv-document{font-size:10pt;line-height:1.42;color:#1f2937}.cv-inner{padding:17mm 18mm 16mm}.cv-header{align-items:start;margin-bottom:6mm;padding-bottom:5mm}.cv-identity .cv-name{font-size:25pt;letter-spacing:-.8px}.cv-role{font-size:10.5pt}.cv-contact{font-size:8.5pt;line-height:1.4}.cv-section{margin-bottom:5.5mm}.cv-section-title{font-size:9.3pt;margin-bottom:2.8mm;padding-bottom:1.5mm}.cv-summary{font-size:9.6pt;line-height:1.48}.cv-entry{margin-bottom:4.2mm}.cv-entry h3{font-size:10.2pt}.cv-entry p,.cv-entry time{font-size:8.7pt}.cv-entry ul{margin-top:1.5mm;padding-left:4.5mm}.cv-entry li{margin:.8mm 0;line-height:1.38}.cv-onecol-extras{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1fr);gap:6mm;border-top:1px solid #e2e7eb;padding-top:4mm;margin-top:1mm;margin-bottom:0}.cv-onecol-extras .cv-tag-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2mm 4mm}.cv-onecol-extras .cv-tag-list li{background:none;border:0;border-radius:0;padding:0;font-size:8.3pt;position:relative;padding-left:2.8mm}.cv-onecol-extras .cv-tag-list li:before{content:'•';position:absolute;left:0;color:var(--cv-accent)}.cv-onecol-extras .cv-simple-list li{font-size:8.3pt;margin:1.1mm 0}.cv-tpl-professional .cv-section-title{color:var(--cv-accent);border-bottom:1px solid #dfe5e2}.cv-tpl-professional .cv-header{border-bottom:2px solid var(--cv-accent)}
.cv-tpl-minimal .cv-onecol-extras .cv-tag-list li{border:0;padding-left:2.8mm}.cv-tpl-modern .cv-onecol-extras .cv-tag-list li{color:#263244}.cv-tpl-classic .cv-onecol-extras .cv-tag-list{display:grid}
@media print{
  @page{margin:0}
  .cv-document{font-size:10pt}
  .cv-section-title{break-after:avoid-page!important;page-break-after:avoid!important}
  .cv-entry-head{break-after:avoid-page!important;page-break-after:avoid!important}
  .cv-entry{break-inside:auto;page-break-inside:auto}
  .cv-entry-head,.cv-entry h3,.cv-entry p{break-inside:avoid-page;page-break-inside:avoid}
  .cv-entry li{break-inside:avoid-page;page-break-inside:avoid}
}

/* CV Pro 7.3.2 — print fragmentation safeguards */
@media print{
  .cv-inner{-webkit-box-decoration-break:clone;box-decoration-break:clone}
  .cv-section-title{break-after:avoid-page!important;page-break-after:avoid!important}
  .cv-entry-head{break-after:avoid-page!important;page-break-after:avoid!important}
  .cv-entry,.cv-section{break-inside:auto!important;page-break-inside:auto!important}
  .cv-entry-head,.cv-entry h3,.cv-entry p,.cv-entry li,.cv-summary,.cv-references p{break-inside:avoid-page!important;page-break-inside:avoid!important}
}

/* CV Pro 7.3.2 — self-contained renderer + real A4/Letter page sheets */
.cv-document,.cv-document *,.cv-document *::before,.cv-document *::after{box-sizing:border-box}
.cv-document img{display:block;max-width:100%}
.cv-document{overflow-wrap:break-word;word-break:normal}
.cv-identity,.cv-contact,.cv-main,.cv-sidebar{min-width:0}
.cv-contact span{max-width:100%;overflow-wrap:anywhere}
.cv-header{grid-template-columns:minmax(0,1fr) minmax(42mm,68mm)}
.cv-identity .cv-name{overflow-wrap:anywhere}
.cv-size-small{font-size:9.35pt}.cv-size-small .cv-entry h3{font-size:10.15pt}
.cv-tpl-compact-professional{font-size:9.35pt;line-height:1.36}.cv-tpl-compact-professional .cv-entry h3{font-size:10.05pt}.cv-tpl-compact-professional .cv-inner{padding:13mm 14mm}
.cv-onecol-extras .cv-tag-list li,.cv-onecol-extras .cv-simple-list li{font-size:8.7pt}
.cv-sidebar .cv-skills-section .cv-tag-list li:not(.cv-rated-skill){background:transparent;border-radius:0;padding-left:3mm;position:relative}
.cv-sidebar .cv-skills-section .cv-tag-list li:not(.cv-rated-skill)::before{content:'•';position:absolute;left:0;color:currentColor;opacity:.78}
.cv-tpl-skills-rating .cv-sidebar .cv-section-title:after{content:none!important}
.cv-tpl-skills-rating .cv-sidebar .cv-skills-section>.cv-section-title:after{content:' · self-rated';font-size:6.8pt;color:#7b8492;letter-spacing:0;text-transform:none;font-weight:500}
.cv-tpl-photo-sidebar .cv-sidebar .cv-skills-section>.cv-section-title:after,.cv-tpl-modern-sidebar .cv-sidebar .cv-skills-section>.cv-section-title:after{color:inherit;opacity:.8}

/* Photo-aware headers. Dedicated photo templates also receive sensible no-photo fallbacks. */
.cv-document.cv-has-photo:not(.cv-tpl-photo-professional):not(.cv-tpl-photo-modern):not(.cv-tpl-photo-classic):not(.cv-tpl-photo-minimal):not(.cv-tpl-photo-sidebar) .cv-header{display:grid;grid-template-columns:28mm minmax(0,1fr) minmax(40mm,62mm);gap:7mm;align-items:center}
.cv-document.cv-has-photo:not(.cv-tpl-photo-professional):not(.cv-tpl-photo-modern):not(.cv-tpl-photo-classic):not(.cv-tpl-photo-minimal):not(.cv-tpl-photo-sidebar) .cv-photo{width:26mm;height:26mm}
.cv-tpl-modern.cv-has-photo .cv-header{grid-template-columns:27mm minmax(0,1fr) minmax(40mm,60mm)}
.cv-tpl-modern-sidebar.cv-has-photo .cv-header{display:grid;grid-template-columns:30mm minmax(0,1fr);gap:7mm;padding-left:15mm;align-items:center}
.cv-tpl-modern-sidebar.cv-has-photo .cv-photo{width:28mm;height:28mm;grid-row:1 / span 2}
.cv-tpl-modern-sidebar.cv-has-photo .cv-contact{grid-column:2;margin-top:2mm}
.cv-tpl-elegant.cv-has-photo .cv-header{display:grid;grid-template-columns:27mm minmax(0,1fr);gap:7mm;text-align:left;align-items:center}
.cv-tpl-elegant.cv-has-photo .cv-photo{width:25mm;height:25mm;grid-row:1 / span 2}
.cv-tpl-elegant.cv-has-photo .cv-contact{grid-column:2;margin-top:2mm}
.cv-tpl-classic.cv-has-photo .cv-header{display:grid;grid-template-columns:26mm minmax(0,1fr);gap:7mm;text-align:left;align-items:center}
.cv-tpl-classic.cv-has-photo .cv-photo{width:24mm;height:24mm;grid-row:1 / span 2}
.cv-tpl-classic.cv-has-photo .cv-contact{grid-column:2;justify-content:flex-start;text-align:left;margin-top:2mm}
.cv-tpl-minimal.cv-has-photo .cv-header{display:grid;grid-template-columns:26mm minmax(0,1fr);gap:7mm;align-items:center}
.cv-tpl-minimal.cv-has-photo .cv-photo{width:24mm;height:24mm;grid-row:1 / span 2}
.cv-tpl-minimal.cv-has-photo .cv-contact{grid-column:2;margin-top:2mm}
.cv-tpl-executive.cv-has-photo .cv-header{grid-template-columns:27mm minmax(0,1fr);gap:7mm}.cv-tpl-executive.cv-has-photo .cv-photo{grid-row:1 / span 2}.cv-tpl-executive.cv-has-photo .cv-contact{grid-column:2}
.cv-tpl-photo-professional.cv-no-photo .cv-header{padding-left:15mm;min-height:0}
.cv-tpl-photo-modern.cv-no-photo .cv-header{grid-template-columns:minmax(0,1fr) minmax(40mm,62mm)}
.cv-tpl-photo-classic.cv-no-photo .cv-header{grid-template-columns:1fr}.cv-tpl-photo-classic.cv-no-photo .cv-contact{grid-column:1}
.cv-tpl-photo-minimal.cv-no-photo .cv-header{padding-left:0;min-height:0}.cv-tpl-photo-minimal.cv-no-photo .cv-contact{margin-left:0}
.cv-tpl-photo-sidebar.cv-no-photo .cv-header{padding-left:14mm;min-height:0}

/* Physical page system shared by builder preview and final PDF view. */
.cv-page-stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--cv-page-gap,30px);width:max-content;position:relative}
.cv-page-sheet{height:297mm!important;min-height:297mm!important;max-height:297mm!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;overflow:hidden!important;position:relative!important;margin:0!important;background:#fff!important}
.cv-page-sheet.cv-paper-letter{height:279.4mm!important;min-height:279.4mm!important;max-height:279.4mm!important;width:215.9mm!important;min-width:215.9mm!important;max-width:215.9mm!important}
.cv-page-sheet .cv-inner{height:100%;min-height:0}
.cv-page-footer{position:absolute;left:12mm;right:12mm;bottom:5.5mm;text-align:center;font:700 8pt/1.2 Arial,Helvetica,sans-serif;color:#7a8494;z-index:8;pointer-events:none}
.cv-page-sheet .cv-layout{min-height:0}
.cv-page-sheet.cv-continuation-page .cv-inner{padding:0!important}
.cv-page-sheet.cv-continuation-page .cv-header{display:none!important}
.cv-page-sheet.cv-continuation-page .cv-layout{display:block!important;grid-template-columns:1fr!important;gap:0!important;min-height:0!important}
.cv-page-sheet.cv-continuation-page .cv-sidebar{display:none!important}
.cv-page-sheet.cv-continuation-page .cv-main{display:block!important;padding:16mm 18mm 17mm!important;width:auto!important;min-width:0!important}
.cv-page-sheet.cv-continuation-page.cv-margin-narrow .cv-main{padding-left:14mm!important;padding-right:14mm!important}
.cv-page-sheet.cv-continuation-page.cv-margin-wide .cv-main{padding-left:22mm!important;padding-right:22mm!important}
.cv-page-sheet.cv-page-no-sidebar .cv-layout{display:block!important;grid-template-columns:1fr!important}.cv-page-sheet.cv-page-no-sidebar .cv-sidebar{display:none!important}
.cv-promoted-side-section .cv-tag-list,.cv-promoted-side-section .cv-simple-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2mm 6mm;list-style:none;padding:0;margin:0}
.cv-promoted-side-section .cv-tag-list li,.cv-promoted-side-section .cv-simple-list li{background:transparent!important;color:#2f3b4d!important;border:0!important;border-radius:0!important;padding:0 0 0 3mm!important;margin:.8mm 0!important;position:relative;font-weight:400!important}
.cv-promoted-side-section .cv-tag-list li::before,.cv-promoted-side-section .cv-simple-list li::before{content:'•';position:absolute;left:0;color:var(--cv-accent)}
.cv-promoted-side-section .cv-rated-skill{display:grid!important;grid-template-columns:1fr auto!important;padding-left:0!important}.cv-promoted-side-section .cv-rated-skill::before{content:none!important}
.cv-page-sheet .cv-section:last-child{margin-bottom:0}

@media print{
  @page{margin:0}
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  .cv-page-stack{display:block!important;gap:0!important;width:auto!important}
  .cv-page-sheet{box-shadow:none!important;border:0!important;break-after:page!important;page-break-after:always!important}
  .cv-page-sheet:last-child{break-after:auto!important;page-break-after:auto!important}
}
.cv-tpl-modern .cv-header{grid-template-columns:minmax(0,1fr) minmax(40mm,64mm)}
.cv-tpl-modern.cv-has-photo .cv-header{grid-template-columns:27mm minmax(0,1fr) minmax(40mm,60mm)}
.cv-tpl-photo-modern.cv-has-photo .cv-header{grid-template-columns:29mm minmax(0,1fr) minmax(40mm,64mm)}
.cv-tpl-photo-modern .cv-contact{min-width:0;max-width:64mm;overflow-wrap:anywhere}

/* CV Pro 7.3.3 — effective typography/spacing controls and safer page footer */
.cv-document{font-size:10.4pt;line-height:1.42}
.cv-document.cv-size-small{font-size:9.8pt}
.cv-document.cv-size-normal{font-size:10.4pt}
.cv-document.cv-size-large{font-size:11.2pt}
/* Compact means tighter spacing, never tiny type. */
.cv-document.cv-tpl-compact-professional{font-size:10.4pt}
.cv-document.cv-tpl-compact-professional.cv-size-small{font-size:9.8pt}
.cv-document.cv-tpl-compact-professional.cv-size-normal{font-size:10.4pt}
.cv-document.cv-tpl-compact-professional.cv-size-large{font-size:11.2pt}

/* All document text scales from the selected base size instead of mixing fixed pt sizes. */
.cv-document .cv-identity .cv-name{font-size:2.5em}
.cv-document .cv-role{font-size:1.05em}
.cv-document .cv-contact{font-size:.94em}
.cv-document .cv-photo{font-size:1.5em}
.cv-document .cv-section-title{font-size:.96em}
.cv-document .cv-summary{font-size:1em}
.cv-document .cv-entry h3{font-size:1.05em}
.cv-document .cv-entry p,.cv-document .cv-entry time{font-size:.94em}
.cv-document .cv-tag-list li,.cv-document .cv-simple-list li{font-size:.94em}
.cv-document .cv-onecol-extras .cv-section-title{font-size:.94em}
.cv-document .cv-onecol-extras .cv-tag-list li,.cv-document .cv-onecol-extras .cv-simple-list li{font-size:.94em}
.cv-document .cv-skill-stars{font-size:.84em}
.cv-document.cv-tpl-skills-rating .cv-sidebar .cv-skills-section>.cv-section-title:after{font-size:.68em}

/* Preserve each template's visual hierarchy while still following the size control. */
.cv-document.cv-tpl-modern .cv-section-title{font-size:.96em}
.cv-document.cv-tpl-modern .cv-entry h3{font-size:1.1em}
.cv-document.cv-tpl-modern-sidebar .cv-identity .cv-name{font-size:2.7em}
.cv-document.cv-tpl-classic .cv-identity .cv-name{font-size:2.5em}
.cv-document.cv-tpl-classic .cv-role{font-size:1em}
.cv-document.cv-tpl-executive .cv-identity .cv-name{font-size:3em}
.cv-document.cv-tpl-executive .cv-role{font-size:1em}
.cv-document.cv-tpl-executive .cv-sidebar .cv-section-title{font-size:.92em}
.cv-document.cv-tpl-minimal .cv-identity .cv-name{font-size:2.9em}
.cv-document.cv-tpl-minimal .cv-section-title{font-size:.94em}
.cv-document.cv-tpl-contemporary .cv-identity .cv-name{font-size:3em}
.cv-document.cv-tpl-contemporary .cv-section-title{font-size:.96em}
.cv-document.cv-tpl-skills-focus .cv-section-title,.cv-document.cv-tpl-skills-rating .cv-section-title{font-size:.95em}

/* Spacing now changes the actual content rhythm instead of being overridden later in the stylesheet. */
.cv-document.cv-density-compact{line-height:1.32}
.cv-document.cv-density-normal{line-height:1.42}
.cv-document.cv-density-spacious{line-height:1.54}
.cv-document.cv-density-compact .cv-header{margin-bottom:4.7mm;padding-bottom:4.2mm}
.cv-document.cv-density-normal .cv-header{margin-bottom:6mm;padding-bottom:5mm}
.cv-document.cv-density-spacious .cv-header{margin-bottom:7.5mm;padding-bottom:6mm}
.cv-document.cv-density-compact .cv-section{margin-bottom:4.1mm}
.cv-document.cv-density-normal .cv-section{margin-bottom:5.5mm}
.cv-document.cv-density-spacious .cv-section{margin-bottom:7.2mm}
.cv-document.cv-density-compact .cv-section-title{margin-bottom:2.1mm;padding-bottom:1.2mm}
.cv-document.cv-density-normal .cv-section-title{margin-bottom:2.8mm;padding-bottom:1.5mm}
.cv-document.cv-density-spacious .cv-section-title{margin-bottom:3.7mm;padding-bottom:2mm}
.cv-document.cv-density-compact .cv-entry{margin-bottom:3.1mm}
.cv-document.cv-density-normal .cv-entry{margin-bottom:4.2mm}
.cv-document.cv-density-spacious .cv-entry{margin-bottom:5.6mm}
.cv-document.cv-density-compact .cv-entry ul{margin-top:1mm}
.cv-document.cv-density-normal .cv-entry ul{margin-top:1.5mm}
.cv-document.cv-density-spacious .cv-entry ul{margin-top:2.2mm}
.cv-document.cv-density-compact .cv-entry li{margin:.45mm 0;line-height:1.31}
.cv-document.cv-density-normal .cv-entry li{margin:.8mm 0;line-height:1.38}
.cv-document.cv-density-spacious .cv-entry li{margin:1.2mm 0;line-height:1.5}
.cv-document.cv-density-compact .cv-summary{line-height:1.38}
.cv-document.cv-density-normal .cv-summary{line-height:1.48}
.cv-document.cv-density-spacious .cv-summary{line-height:1.6}
.cv-document.cv-density-compact .cv-contact{gap:.9mm;line-height:1.3}
.cv-document.cv-density-normal .cv-contact{gap:1.3mm;line-height:1.4}
.cv-document.cv-density-spacious .cv-contact{gap:1.8mm;line-height:1.5}
.cv-document.cv-density-compact .cv-onecol-extras{gap:4mm;padding-top:3mm}
.cv-document.cv-density-normal .cv-onecol-extras{gap:6mm;padding-top:4mm}
.cv-document.cv-density-spacious .cv-onecol-extras{gap:8mm;padding-top:5mm}
.cv-document.cv-density-compact .cv-onecol-extras .cv-tag-list{gap:.8mm 3mm}
.cv-document.cv-density-spacious .cv-onecol-extras .cv-tag-list{gap:1.8mm 5mm}

/* Long date/status labels wrap cleanly rather than clipping the final characters. */
.cv-document .cv-entry-head>div{min-width:0;flex:1 1 auto}
.cv-document .cv-entry-head time{flex:0 1 46%;max-width:46%;white-space:normal;text-align:right;line-height:1.3;overflow-wrap:anywhere}

/* Keep page numbering in a dedicated margin band, visibly separate from CV content. */
.cv-page-footer{bottom:4.5mm;padding-top:1.5mm;background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:7.4pt;font-weight:650;line-height:1.2;color:#7a8494}

/* Font control must override template defaults when the customer explicitly changes it. */
.cv-document.cv-font-inter,.cv-document.cv-font-inter .cv-name,.cv-document.cv-font-inter .cv-role,.cv-document.cv-font-inter .cv-contact,.cv-document.cv-font-inter .cv-section-title,.cv-document.cv-font-inter .cv-summary,.cv-document.cv-font-inter .cv-entry h3,.cv-document.cv-font-inter .cv-entry p,.cv-document.cv-font-inter .cv-entry li,.cv-document.cv-font-inter .cv-entry time,.cv-document.cv-font-inter .cv-tag-list,.cv-document.cv-font-inter .cv-simple-list{font-family:Arial,Helvetica,sans-serif!important}
.cv-document.cv-font-serif,.cv-document.cv-font-serif .cv-name,.cv-document.cv-font-serif .cv-section-title,.cv-document.cv-font-serif .cv-summary,.cv-document.cv-font-serif .cv-entry h3,.cv-document.cv-font-serif .cv-entry p,.cv-document.cv-font-serif .cv-entry li,.cv-document.cv-font-serif .cv-tag-list,.cv-document.cv-font-serif .cv-simple-list{font-family:Georgia,"Times New Roman",serif!important}
.cv-document.cv-font-serif .cv-role,.cv-document.cv-font-serif .cv-contact,.cv-document.cv-font-serif .cv-entry time{font-family:Arial,Helvetica,sans-serif!important}

/* CV Pro 7.3.3 — keep supporting details compact without shrinking type or creating a nearly-empty extra page. */
.cv-onecol-extras{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start;column-gap:8mm;row-gap:3.5mm}
.cv-onecol-extras:has(.cv-skills-section)>.cv-skills-section{grid-column:1;grid-row:1 / span 3}
.cv-onecol-extras:has(.cv-skills-section)>.cv-side-section:not(.cv-skills-section){grid-column:2}
.cv-onecol-extras .cv-skills-section .cv-tag-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2mm 5mm}
.cv-onecol-extras .cv-skills-section .cv-tag-list li{background:transparent;border:0;border-radius:0;padding:0 0 0 3mm;position:relative}
.cv-onecol-extras .cv-skills-section .cv-tag-list li::before{content:'•';position:absolute;left:0;color:var(--cv-accent)}
.cv-onecol-extras:has(.cv-skills-section:only-child)>.cv-skills-section{grid-column:1 / -1;grid-row:auto}
.cv-onecol-extras:not(:has(.cv-skills-section)){grid-template-columns:repeat(3,minmax(0,1fr))}
.cv-onecol-extras:not(:has(.cv-skills-section))>.cv-side-section{grid-column:auto}
/* CV Pro 7.3.3 — a simple "available on request" note must never consume a whole CV page. */
.cv-reference-note{margin:1mm 0 0;font-size:.94em;line-height:1.35;color:#5b6574}
.cv-reference-note b{color:#293443}

/* v7.3.3 supporting-information composition: keep short supporting details together
   without shrinking body text or wasting an otherwise empty continuation page. */
.cv-onecol-extras:has(.cv-skills-section){
  grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr) minmax(0,.9fr);
  column-gap:5mm;
  row-gap:2.4mm;
  align-items:start;
}
.cv-onecol-extras:has(.cv-skills-section)>.cv-skills-section{grid-column:1;grid-row:1 / span 5}
.cv-onecol-extras:has(.cv-skills-section)>.cv-certifications-section{grid-column:2;grid-row:auto}
.cv-onecol-extras:has(.cv-skills-section)>.cv-languages-section{grid-column:3;grid-row:auto}
.cv-onecol-extras:has(.cv-skills-section)>.cv-personal-details{grid-column:2 / 4;grid-row:auto}
.cv-onecol-extras:has(.cv-skills-section)>.cv-reference-available-section{grid-column:2 / 4;grid-row:auto}
.cv-onecol-extras:has(.cv-skills-section:only-child)>.cv-skills-section{grid-column:1 / -1;grid-row:auto}
.cv-onecol-extras>.cv-reference-available-section:only-child{grid-column:1 / -1}
.cv-reference-available-section .cv-support-note{margin:0;color:#5b6574;line-height:1.35}
/* If a two-column template ends with the compact references note, do not keep a full
   section-bottom gap in front of that one line. The footer safety gap remains enforced. */
.cv-main>.cv-section:has(+ .cv-reference-note){margin-bottom:1mm}
/* Explicit support-grid rows prevent a spanning Skills cell from creating oversized implicit rows. */
.cv-onecol-extras:has(.cv-skills-section){grid-template-rows:auto auto auto}
.cv-onecol-extras:has(.cv-skills-section)>.cv-skills-section{grid-column:1;grid-row:1 / 4;align-self:start}
.cv-onecol-extras:has(.cv-skills-section)>.cv-certifications-section{grid-column:2;grid-row:1}
.cv-onecol-extras:has(.cv-skills-section)>.cv-languages-section{grid-column:3;grid-row:1}
.cv-onecol-extras:has(.cv-skills-section)>.cv-personal-details{grid-column:2 / 4;grid-row:2}
.cv-onecol-extras:has(.cv-skills-section)>.cv-reference-available-section{grid-column:2 / 4;grid-row:3}
/* A near-fit support grid may reduce decorative spacing, never type size, to avoid a page
   that contains only a few lines of secondary information. Spacious mode is never auto-tightened. */
.cv-onecol-extras.cv-extras-tight{padding-top:2.4mm!important;column-gap:4mm!important;row-gap:1.2mm!important}
.cv-onecol-extras.cv-extras-tight .cv-section-title{margin-bottom:1.4mm!important}
.cv-onecol-extras.cv-extras-tight .cv-simple-list li{margin:.7mm 0!important}
.cv-onecol-extras.cv-extras-tight .cv-tag-list{row-gap:.7mm!important}
/* Executive keeps readable type but removes excess vertical whitespace in its narrow sidebar. */
.cv-tpl-executive .cv-sidebar .cv-tag-list li{margin:1mm 0}
.cv-tpl-executive .cv-sidebar .cv-simple-list li{margin:1.15mm 0}
.cv-page-footer{display:flex;align-items:center;justify-content:center;min-height:4mm}
.cv-page-footer .cv-footer-note{position:absolute;left:0;font-weight:500;letter-spacing:0;color:#7a8494;white-space:nowrap}
.cv-page-footer .cv-footer-count{display:block}
/* Final support-grid geometry: Skills receives the wider column; Certification spans the
   full support area; short Languages/Personal Details share one row; References spans the
   support area. This avoids narrow-heading collisions while keeping the block compact. */
.cv-onecol-extras:has(.cv-skills-section){
  grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr) minmax(0,.9fr)!important;
  grid-template-rows:auto auto auto!important;
  column-gap:5mm!important;
  row-gap:2mm!important;
}
.cv-onecol-extras:has(.cv-skills-section)>.cv-skills-section{grid-column:1!important;grid-row:1 / 4!important;align-self:start}
.cv-onecol-extras:has(.cv-skills-section)>.cv-side-section.cv-certifications-section{grid-column:2 / 4!important;grid-row:1!important}
.cv-onecol-extras:has(.cv-skills-section)>.cv-side-section.cv-languages-section{grid-column:2!important;grid-row:2!important}
.cv-onecol-extras:has(.cv-skills-section)>.cv-side-section.cv-personal-details{grid-column:3!important;grid-row:2!important}
.cv-onecol-extras:has(.cv-skills-section)>.cv-side-section.cv-reference-available-section{grid-column:2 / 4!important;grid-row:3!important}
.cv-onecol-extras:has(.cv-skills-section:only-child)>.cv-skills-section{grid-column:1 / -1!important;grid-row:auto!important}

