.cv-main{padding:30px 0 48px}.cv-actions{display:flex;width:min(calc(100% - 40px),1050px);justify-content:flex-end;gap:8px;margin:0 auto 12px}.cv-action{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--foreground);cursor:pointer;font-size:6.5pt;font-weight:650}.cv-action:hover{background:var(--surface-subtle)}.cv-sheet{width:min(calc(100% - 40px),1050px);margin-inline:auto;padding:34px 38px 32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 12px 36px color-mix(in oklab,var(--foreground) 7%,transparent)}.cv-header{padding-bottom:15px;border-bottom:2px solid var(--foreground)}.cv-context{margin:0 0 9px;color:var(--primary);font-family:var(--font-mono);font-size:6.5pt;font-weight:700;letter-spacing:.09em;line-height:1.3;text-transform:uppercase}.cv-header-main{display:grid;grid-template-columns:82px minmax(0,1fr) 180px;align-items:center;gap:18px}.cv-heading h1{margin:0;font-size:6.5pt;font-weight:650;letter-spacing:-.04em;line-height:1}.cv-role{margin:7px 0 0;font-size:6.5pt;font-weight:650;line-height:1.25}.cv-subrole{margin:3px 0 0;color:var(--muted-foreground);font-size:6.5pt;line-height:1.35}.cv-contact{display:grid;justify-self:end;gap:2px;margin:0;color:var(--muted-foreground);font-size:6.5pt;font-style:normal;text-align:right}.cv-contact a:hover{color:var(--primary)}.cv-photo{width:82px;height:82px;border:1px solid var(--border);border-radius:8px;object-fit:cover}.cv-summary{margin:11px 0 10px;padding-bottom:10px;border-bottom:1px solid var(--foreground);font-size:6.5pt;line-height:1.36}.cv-columns{display:grid;grid-template-columns:29% minmax(0,1fr);align-items:start;gap:22px}.cv-section{min-width:0}.cv-section>h2{margin:0 0 6px;padding-top:6px;border-top:1px solid var(--foreground);font-family:var(--font-mono);font-size:6.5pt;font-weight:700;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}.cv-sidebar .cv-section+.cv-section{margin-top:7px}.cv-focus-list>div,.cv-compact-block,.cv-education-item{padding:0 0 6px;border-bottom:1px solid var(--border)}.cv-focus-list>div+div,.cv-compact-block+.cv-compact-block,.cv-education-item+.cv-education-item{padding-top:6px}.cv-focus-list h3,.cv-compact-block h3,.cv-education-item h3,.cv-project-grid h3{margin:0 0 2px;font-size:6.5pt;line-height:1.22}.cv-focus-list p,.cv-compact-block p,.cv-education-item p,.cv-project-grid p,.cv-sector-list{margin:0;color:color-mix(in oklab,var(--foreground) 80%,var(--muted-foreground));font-size:6.5pt;line-height:1.25}.cv-sector-list{padding:0 0 6px;border-bottom:1px solid var(--border)}.cv-language-list{margin:0}.cv-language-list div{display:grid;grid-template-columns:1fr auto;gap:10px;padding:3px 0;border-bottom:1px solid var(--border)}.cv-language-list dt{font-size:6.5pt;font-weight:650}.cv-language-list dd{margin:0;color:var(--muted-foreground);font-family:var(--font-mono);font-size:6.5pt}.cv-education-item span{display:block;margin-bottom:2px;color:var(--primary);font-family:var(--font-mono);font-size:6.5pt;font-weight:700}.cv-education-item h3{letter-spacing:.03em;text-transform:uppercase}.cv-experience-list{display:grid}.cv-experience-item{padding:0 0 7px;border-bottom:1px solid var(--border);break-inside:avoid}.cv-experience-item+.cv-experience-item{padding-top:7px}.cv-experience-item header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.cv-experience-item h3{margin:0;font-size:6.5pt;line-height:1.18}.cv-experience-item header p{margin:1px 0 0;color:var(--muted-foreground);font-size:6.5pt;font-weight:600}.cv-experience-item time{color:var(--muted-foreground);font-family:var(--font-mono);font-size:6.5pt;font-weight:700;white-space:nowrap}.cv-tags{margin:3px 0;color:color-mix(in oklab,var(--muted-foreground) 90%,var(--primary));font-family:var(--font-mono);font-size:6.5pt;font-weight:700;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.cv-experience-item ul{margin:0;padding-left:13px}.cv-experience-item li,.cv-experience-item>p:not(.cv-tags){font-size:6.5pt;line-height:1.24}.cv-experience-item>p:not(.cv-tags){margin:3px 0 0}.cv-projects{margin-top:10px}.cv-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 14px}.cv-project-grid article{padding:5px 0 6px;border-top:1px solid var(--border);break-inside:avoid}.cv-project-grid h3{font-size:6.5pt}.cv-project-grid p{font-size:6.5pt;line-height:1.23}@media(max-width:760px){.cv-main{padding-top:16px}.cv-actions,.cv-sheet{width:min(calc(100% - 28px),1050px)}.cv-sheet{padding:24px 20px}.cv-header-main{grid-template-columns:72px minmax(0,1fr);align-items:center}.cv-contact{grid-column:1/-1;margin-top:10px;justify-self:start;text-align:left}.cv-heading h1{font-size:6.5pt}.cv-columns{grid-template-columns:1fr}.cv-project-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.cv-project-grid{grid-template-columns:1fr}}@page{size:A4;margin:0}@media print{html,body{width:210mm;height:297mm;color:#202733;background:#fff}body{font-size:6.5pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.dashboard-sidebar,.dashboard-sidebar__backdrop,.site-header,.site-footer,.cv-actions{display:none!important}body.has-dashboard-sidebar>main,body.has-dashboard-sidebar>.site-header,body.has-dashboard-sidebar>.site-footer{margin-left:0!important}.cv-main{padding:0}.cv-sheet{width:210mm;height:297mm;margin:0;padding:9.5mm 10.5mm 8.5mm;overflow:hidden;border:0;border-radius:0;background:#fff;box-shadow:none}.cv-header{padding-bottom:2.8mm}.cv-context{margin-bottom:2mm;font-size:6.5pt}.cv-header-main{grid-template-columns:21mm minmax(0,1fr) 41mm;gap:4mm}.cv-heading h1{font-size:6.5pt}.cv-role{font-size:6.5pt}.cv-subrole{font-size:6.5pt}.cv-contact{font-size:6.5pt}.cv-photo{width:21mm;height:21mm}.cv-summary{margin:2.5mm 0 2.2mm;padding-bottom:2.2mm;border-bottom:0.3mm solid var(--foreground);font-size:6.5pt;line-height:1.3}.cv-columns{grid-template-columns:30% minmax(0,1fr);gap:4.5mm}.cv-section>h2{margin-bottom:1.3mm;padding-top:1.3mm;font-size:6.5pt}.cv-sidebar .cv-section+.cv-section{margin-top:1.45mm}.cv-focus-list>div,.cv-compact-block,.cv-education-item{padding-bottom:1.2mm}.cv-focus-list>div+div,.cv-compact-block+.cv-compact-block,.cv-education-item+.cv-education-item{padding-top:1.2mm}.cv-focus-list h3,.cv-compact-block h3,.cv-education-item h3{font-size:6.5pt}.cv-focus-list p,.cv-compact-block p,.cv-education-item p,.cv-sector-list{font-size:6.5pt;line-height:1.2}.cv-language-list div{padding:.75mm 0}.cv-language-list dt,.cv-language-list dd{font-size:6.5pt}.cv-education-item span{font-size:6.5pt}.cv-experience-item{padding-bottom:1.5mm}.cv-experience-item+.cv-experience-item{padding-top:1.5mm}.cv-experience-item h3{font-size:6.5pt}.cv-experience-item header p{font-size:6.5pt}.cv-experience-item time{font-size:6.5pt}.cv-tags{margin:.6mm 0;font-size:6.5pt}.cv-experience-item ul{padding-left:3mm}.cv-experience-item li,.cv-experience-item>p:not(.cv-tags){font-size:6.5pt;line-height:1.18}.cv-projects{margin-top:2.2mm}.cv-project-grid{gap:0 3mm}.cv-project-grid article{padding:1.15mm 0 1.35mm}.cv-project-grid h3{font-size:6.5pt}.cv-project-grid p{font-size:6.5pt;line-height:1.18}}

/* Downloaded PDFs use a clean, flowing A4 canvas rather than the screen card. */
.cv-pdf-stage{position:fixed;top:0;left:-100000px;width:210mm;background:#fff;z-index:-1}
.cv-pdf-stage .cv-sheet{width:210mm;min-height:297mm;margin:0;padding:10mm 11mm 9mm;border:0;border-radius:0;box-shadow:none;background:#fff;overflow:visible}
.cv-pdf-stage .cv-photo{width:21mm;height:21mm}
.cv-pdf-stage .cv-photo-frame{width:21mm;height:21mm}
.cv-pdf-stage .cv-photo-frame .cv-photo{width:100%;height:100%}
.cv-pdf-stage .cv-experience-item,.cv-pdf-stage .cv-project-grid article{break-inside:avoid;page-break-inside:avoid}
.cv-pdf-stage .cv-section>h2,.cv-pdf-stage .cv-projects{break-after:avoid;page-break-after:avoid}
@media print{.cv-pdf-stage{position:static;left:auto;width:auto}.cv-pdf-stage .cv-sheet{width:210mm;min-height:297mm;height:auto;overflow:visible}}

/* Screen CV mirrors a professionally balanced A4 page rather than a wide web card. */
@media (min-width:761px){
  .cv-actions{width:min(calc(100% - 40px),820px)}
  .cv-sheet{box-sizing:border-box;width:min(calc(100% - 40px),820px);aspect-ratio:210/297;padding:38px 40px 36px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:stretch}
  .cv-header{padding-bottom:16px}
  .cv-header-main{grid-template-columns:78px minmax(0,1fr) 156px;gap:20px}
  .cv-heading h1{font-size:6.5pt}
  .cv-role{margin-top:8px;font-size:6.5pt}
  .cv-subrole{margin-top:4px;line-height:1.4}
  .cv-contact{font-size:6.5pt;line-height:1.35}
  .cv-photo{width:78px;height:78px}
  .cv-summary{margin:14px 0 15px;padding-bottom:15px;border-bottom:1px solid var(--foreground);font-size:6.5pt;line-height:1.43}
  .cv-columns{min-height:0;grid-template-columns:30% minmax(0,1fr);gap:25px;align-items:stretch}
  .cv-sidebar{display:flex;min-height:0;flex-direction:column;justify-content:space-between}
  .cv-sidebar .cv-section+.cv-section{margin-top:9px}
  .cv-experience{display:flex;min-height:0;flex-direction:column}
  .cv-experience-list{display:flex;min-height:0;flex:1;flex-direction:column;justify-content:space-between}
  .cv-experience-item{padding-bottom:9px}
  .cv-experience-item+.cv-experience-item{padding-top:9px}
  .cv-section>h2{margin-bottom:7px;padding-top:7px}
  .cv-focus-list>div,.cv-compact-block,.cv-education-item{padding-bottom:7px}
  .cv-focus-list>div+div,.cv-compact-block+.cv-compact-block,.cv-education-item+.cv-education-item{padding-top:7px}
  .cv-language-list div{padding:4px 0}
  .cv-projects{align-self:end;margin-top:18px;padding-top:1px}
  .cv-project-grid{gap:0 18px}
  .cv-project-grid article{padding:7px 0 8px}
}

/* Complete career history: recent roles stay detailed, older roles remain visible but compact. */
.cv-experience-item--compact{padding-bottom:5px}
.cv-experience-item--compact+.cv-experience-item--compact{padding-top:5px}
.cv-experience-item--compact h3{font-size:6.5pt}
.cv-experience-item--compact .cv-experience-summary{margin:2px 0 0;color:var(--muted-foreground);font-size:6.5pt;line-height:1.22}
@media print{
  .cv-sheet{height:auto!important;min-height:0!important;overflow:visible!important}
  .cv-experience-item--compact{padding-bottom:1.05mm}
  .cv-experience-item--compact+.cv-experience-item--compact{padding-top:1.05mm}
  .cv-experience-item--compact h3{font-size:6.5pt}
  .cv-experience-item--compact .cv-experience-summary{font-size:6.5pt;line-height:1.16}
}


.cv-action:disabled{cursor:wait;opacity:.62}

/* 2026-09-25 visual scale + hierarchy pass.
   Preserve A4 proportions while making the screen CV easier to read and more deliberate. */
@media (min-width:761px){
  .cv-actions{width:min(calc(100% - 40px),960px)}
  .cv-sheet{
    width:min(calc(100% - 40px),960px);
    padding:44px 46px 42px;
  }
  .cv-context{
    margin-bottom:12px;
    font-size:6.5pt;
    letter-spacing:.1em;
  }
  .cv-header-main{
    grid-template-columns:90px minmax(0,1fr) 190px;
    gap:24px;
  }
  .cv-heading h1{font-size:6.5pt}
  .cv-role{margin-top:9px;font-size:6.5pt}
  .cv-subrole{margin-top:5px;font-size:6.5pt;line-height:1.42}
  .cv-contact{
    padding-left:16px;
    border-left:1px solid var(--border);
    font-size:6.5pt;
    line-height:1.42;
  }
  .cv-summary{
    margin:17px 0 18px;
    padding-bottom:17px;
    font-size:6.5pt;
    line-height:1.48;
  }
  .cv-columns{
    grid-template-columns:31% minmax(0,1fr);
    gap:32px;
  }
  .cv-experience{
    padding-left:24px;
    border-left:1px solid var(--border);
  }
  .cv-section>h2{
    margin-bottom:8px;
    padding-top:8px;
    color:var(--primary);
    font-size:6.5pt;
    letter-spacing:.11em;
  }
  .cv-sidebar .cv-section+.cv-section{margin-top:11px}
  .cv-focus-list>div,.cv-compact-block,.cv-education-item{padding-bottom:8px}
  .cv-focus-list>div+div,.cv-compact-block+.cv-compact-block,.cv-education-item+.cv-education-item{padding-top:8px}
  .cv-focus-list h3,.cv-compact-block h3,.cv-education-item h3{font-size:6.5pt}
  .cv-focus-list p,.cv-compact-block p,.cv-education-item p,.cv-sector-list{
    font-size:6.5pt;
    line-height:1.32;
  }
  .cv-language-list div{padding:4.5px 0}
  .cv-language-list dt,.cv-language-list dd{font-size:6.5pt}
  .cv-education-item span{font-size:6.5pt}
  .cv-experience-item{padding-bottom:10px}
  .cv-experience-item+.cv-experience-item{padding-top:10px}
  .cv-experience-item h3{font-size:6.5pt}
  .cv-experience-item header p{font-size:6.5pt}
  .cv-experience-item time{font-size:6.5pt}
  .cv-tags{margin:4px 0;font-size:6.5pt}
  .cv-experience-item li,.cv-experience-item>p:not(.cv-tags){
    font-size:6.5pt;
    line-height:1.28;
  }
  .cv-experience-item--compact h3{font-size:6.5pt}
  .cv-experience-item--compact .cv-experience-summary{
    margin-top:3px;
    font-size:6.5pt;
    line-height:1.26;
  }
  .cv-projects{margin-top:20px}
  .cv-project-grid{gap:0 20px}
  .cv-project-grid article{padding:8px 0 9px}
  .cv-project-grid h3{font-size:6.5pt}
  .cv-project-grid p{font-size:6.5pt;line-height:1.28}
}

/* Keep the printed CV visually proportional to the enlarged screen composition. */
@media print{
  .cv-header-main{
    grid-template-columns:23mm minmax(0,1fr) 43mm;
    gap:4.5mm;
  }
  .cv-context{margin-bottom:2.3mm;font-size:6.5pt}
  .cv-heading h1{font-size:6.5pt}
  .cv-role{font-size:6.5pt}
  .cv-subrole{font-size:6.5pt;line-height:1.32}
  .cv-contact{
    padding-left:3mm;
    border-left:.2mm solid var(--border);
    font-size:6.5pt;
    line-height:1.35;
  }
  .cv-summary{
    margin:2.8mm 0 2.5mm;
    padding-bottom:2.5mm;
    font-size:6.5pt;
    line-height:1.34;
  }
  .cv-columns{
    grid-template-columns:31% minmax(0,1fr);
    gap:5mm;
  }
  .cv-experience{
    padding-left:3.5mm;
    border-left:.2mm solid var(--border);
  }
  .cv-section>h2{
    margin-bottom:1.45mm;
    padding-top:1.45mm;
    color:var(--primary);
    font-size:6.5pt;
  }
  .cv-focus-list h3,.cv-compact-block h3,.cv-education-item h3{font-size:6.5pt}
  .cv-focus-list p,.cv-compact-block p,.cv-education-item p,.cv-sector-list{
    font-size:6.5pt;
    line-height:1.22;
  }
  .cv-language-list dt,.cv-language-list dd{font-size:6.5pt}
  .cv-education-item span{font-size:6.5pt}
  .cv-experience-item h3{font-size:6.5pt}
  .cv-experience-item header p{font-size:6.5pt}
  .cv-experience-item time{font-size:6.5pt}
  .cv-tags{font-size:6.5pt}
  .cv-experience-item li,.cv-experience-item>p:not(.cv-tags){
    font-size:6.5pt;
    line-height:1.2;
  }
  .cv-experience-item--compact h3{font-size:6.5pt}
  .cv-experience-item--compact .cv-experience-summary{
    font-size:6.5pt;
    line-height:1.18;
  }
  .cv-project-grid h3{font-size:6.5pt}
  .cv-project-grid p{font-size:6.5pt;line-height:1.2}
}

/* 2026-09-25 experience-card refinements */
.cv-summary{border-bottom:0!important}
@media (min-width:761px){
  .cv-experience-item{
    padding:11px 13px!important;
    border:1px solid color-mix(in oklab,var(--border) 85%,var(--foreground) 15%);
    border-radius:8px;
    background:color-mix(in oklab,var(--surface-subtle) 70%,transparent);
  }
  .cv-experience-item+.cv-experience-item{margin-top:8px}
  .cv-experience-item header{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "role employer"
      "role period";
    column-gap:18px;
    row-gap:2px;
    align-items:start;
  }
  .cv-experience-item header>div{display:contents}
  .cv-experience-item h3{
    grid-area:role;
    align-self:center;
  }
  .cv-experience-item header p{
    grid-area:employer;
    margin:0;
    color:var(--foreground);
    font-size:6.5pt;
    font-weight:750;
    line-height:1.2;
    text-align:right;
  }
  .cv-experience-item time{
    grid-area:period;
    justify-self:end;
    text-align:right;
  }
  .cv-experience-item--compact header p{font-size:6.5pt}
}
@media print{
  .cv-summary{border-bottom:0!important}
  .cv-experience-item{
    padding:1.4mm 1.7mm!important;
    border:.2mm solid #d8dde3;
    border-radius:1.4mm;
    background:#fff;
  }
  .cv-experience-item+.cv-experience-item{margin-top:1.2mm}
  .cv-experience-item header{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "role employer"
      "role period";
    column-gap:3mm;
    row-gap:.35mm;
    align-items:start;
  }
  .cv-experience-item header>div{display:contents}
  .cv-experience-item h3{grid-area:role;align-self:center}
  .cv-experience-item header p{
    grid-area:employer;
    margin:0;
    color:#202733;
    font-size:6.5pt;
    font-weight:700;
    line-height:1.15;
    text-align:right;
  }
  .cv-experience-item time{
    grid-area:period;
    justify-self:end;
    text-align:right;
  }
}

/* 2026-09-25 responsive CV fixes */
@media (min-width:761px){
  .cv-experience-item header{
    grid-template-areas:
      "role period"
      "role employer";
  }
  .cv-experience-item time{grid-area:period}
  .cv-experience-item header p{grid-area:employer}
}

/* With the dashboard/sidebar visible, a medium viewport is much narrower than
   the raw viewport width suggests. Let the document grow naturally instead of
   forcing the A4 screen aspect ratio, which could make projects overlap. */
@media (min-width:761px) and (max-width:1100px){
  .cv-sheet{
    aspect-ratio:auto!important;
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  .cv-columns{
    align-items:start!important;
  }
  .cv-sidebar{
    display:block!important;
  }
  .cv-sidebar .cv-section+.cv-section{
    margin-top:14px!important;
  }
  .cv-experience{
    display:block!important;
    min-height:0!important;
  }
  .cv-experience-list{
    display:grid!important;
    min-height:0!important;
  }
  .cv-projects{
    margin-top:22px!important;
    align-self:auto!important;
    clear:both;
  }
}
@media print{
  .cv-experience-item header{
    grid-template-areas:
      "role period"
      "role employer";
  }
  .cv-experience-item time{grid-area:period}
  .cv-experience-item header p{grid-area:employer}
}

/* 2026-09-25 career-story simplification */
@media (min-width:761px){
  .cv-sheet{
    aspect-ratio:auto!important;
    display:block!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  .cv-columns{align-items:start!important}
  .cv-sidebar{display:block!important}
  .cv-sidebar .cv-section+.cv-section{margin-top:16px!important}
  .cv-experience{display:block!important;min-height:0!important}
  .cv-experience-list{display:grid!important;gap:10px!important;min-height:0!important}
  .cv-experience-item{
    margin:0!important;
    padding:12px 14px!important;
  }
  .cv-experience-item header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "role period"
      "tags employer"!important;
    column-gap:18px!important;
    row-gap:4px!important;
    align-items:baseline!important;
  }
  .cv-experience-item header>div{display:contents}
  .cv-experience-item h3{
    grid-area:role!important;
    margin:0!important;
    align-self:baseline!important;
    font-size:6.5pt!important;
  }
  .cv-experience-item time{
    grid-area:period!important;
    align-self:baseline!important;
    justify-self:end!important;
    font-size:6.5pt!important;
    text-align:right!important;
  }
  .cv-tags{
    grid-area:tags!important;
    margin:1px 0 0!important;
    color:var(--muted-foreground)!important;
    font-family:var(--font-sans)!important;
    font-size:6.5pt!important;
    font-weight:650!important;
    letter-spacing:0!important;
    line-height:1.25!important;
    text-transform:none!important;
  }
  .cv-employer{
    grid-area:employer!important;
    margin:1px 0 0!important;
    color:var(--foreground)!important;
    font-size:6.5pt!important;
    font-weight:750!important;
    line-height:1.2!important;
    text-align:right!important;
  }
  .cv-experience-item>ul{margin-top:7px!important}
  .cv-experience-summary{
    margin:7px 0 0!important;
    color:var(--muted-foreground)!important;
    font-size:6.5pt!important;
    line-height:1.3!important;
  }
  .cv-experience-item--status{
    padding:1px 2px 9px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .cv-experience-item--status header{
    grid-template-areas:"role period"!important;
  }
  .cv-experience-item--status h3{color:var(--primary)}
  .cv-experience-item--status .cv-experience-summary{max-width:82%;margin-top:4px!important}
  .cv-career-history{
    display:grid;
    gap:0;
    margin-top:9px;
    border-top:1px solid var(--border);
  }
  .cv-career-subentry{
    display:grid;
    grid-template-columns:76px minmax(0,1fr);
    gap:10px;
    padding:7px 0;
    border-bottom:1px solid var(--border);
  }
  .cv-career-subentry>span{
    color:var(--muted-foreground);
    font-family:var(--font-mono);
    font-size:6.5pt;
    font-weight:700;
  }
  .cv-career-subentry strong{
    display:block;
    font-size:6.5pt;
    line-height:1.2;
  }
  .cv-career-subentry p{
    margin:2px 0 0;
    color:var(--muted-foreground);
    font-size:6.5pt;
    line-height:1.25;
  }
  .cv-career-subentry--muted{opacity:.82}
  .cv-career-subentry--note{padding:5px 0}
  .cv-career-subentry--note strong{font-size:6.5pt;font-weight:650;color:var(--muted-foreground)}
  .cv-projects{margin-top:28px!important}
  .cv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 24px!important}
  .cv-project-grid article:not(.cv-project-card){padding:10px 0 12px!important}
  .cv-project-grid h3{font-size:6.5pt!important}
  .cv-project-grid p{font-size:6.5pt!important;line-height:1.35!important}
}
@media (max-width:760px){
  .cv-project-grid{grid-template-columns:1fr!important}
  .cv-experience-item header{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "role period"
      "tags employer";
    gap:4px 12px;
  }
  .cv-experience-item h3{grid-area:role}
  .cv-experience-item time{grid-area:period}
  .cv-tags{grid-area:tags;margin:2px 0 0}
  .cv-employer{grid-area:employer;margin:2px 0 0;text-align:right;font-weight:700}
  .cv-experience-item--status{border:0;background:transparent;padding-left:0;padding-right:0}
  .cv-career-subentry{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid var(--border)}
  .cv-career-subentry>span{font-family:var(--font-mono);font-size:6.5pt}
  .cv-career-subentry p{margin:2px 0 0}
}
@media print{
  .cv-experience-item header{
    grid-template-areas:
      "role period"
      "tags employer"!important;
  }
  .cv-tags{
    font-family:helvetica,sans-serif!important;
    font-size:6.5pt!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  .cv-employer{
    font-size:6.5pt!important;
    font-weight:700!important;
    text-align:right!important;
  }
  .cv-experience-item--status{
    border:0!important;
    background:#fff!important;
    padding:.4mm 0 1.5mm!important;
  }
  .cv-career-history{margin-top:1.2mm;border-top:.2mm solid #d8dde3}
  .cv-career-subentry{display:grid;grid-template-columns:17mm minmax(0,1fr);gap:2mm;padding:1mm 0;border-bottom:.2mm solid #d8dde3}
  .cv-career-subentry>span{font-size:6.5pt;font-weight:700}
  .cv-career-subentry strong{font-size:6.5pt}
  .cv-career-subentry p{margin:.3mm 0 0;font-size:6.5pt;line-height:1.15}
  .cv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 4mm!important}
}

/* 2026-09-25 CV annotation refinements */
.cv-actions{margin:14px auto 0!important}
@media (min-width:761px){
  .cv-tags{
    justify-self:end!important;
    text-align:right!important;
  }
  .cv-experience-item--status h3,
  .cv-experience-item--status time{
    color:var(--foreground)!important;
  }
  .cv-career-subentry{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"entry period"!important;
  }
  .cv-career-subentry>div{grid-area:entry!important}
  .cv-career-subentry>span{
    grid-area:period!important;
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap;
  }
}
@media (max-width:760px){
  .cv-contact{
    display:flex!important;
    flex-wrap:wrap;
    align-items:center;
    gap:4px 12px!important;
    width:100%;
    padding-left:0!important;
    border-left:0!important;
    margin-top:10px!important;
    text-align:left!important;
  }
  .cv-contact>*{white-space:nowrap}
  .cv-career-subentry{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"entry period"!important;
  }
  .cv-career-subentry>div{grid-area:entry!important}
  .cv-career-subentry>span{
    grid-area:period!important;
    justify-self:end!important;
    text-align:right!important;
    white-space:nowrap;
  }
}
@media print{
  .cv-tags{
    justify-self:end!important;
    text-align:right!important;
  }
  .cv-experience-item--status h3,
  .cv-experience-item--status time{
    color:#202733!important;
  }
  .cv-career-subentry{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"entry period"!important;
  }
  .cv-career-subentry>div{grid-area:entry!important}
  .cv-career-subentry>span{
    grid-area:period!important;
    justify-self:end!important;
    text-align:right!important;
  }
}

/* 2026-09-25 CV content hierarchy follow-up */
@media (min-width:761px){
  .cv-tags{
    justify-self:start!important;
    text-align:left!important;
  }
  .cv-experience-item--plain{
    padding:4px 0 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .cv-experience-item--plain .cv-career-history{
    margin-top:8px;
  }
}
@media (max-width:760px){
  .cv-tags{text-align:left!important}
  .cv-experience-item--plain{
    padding-left:0!important;
    padding-right:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
}
@media print{
  .cv-tags{
    justify-self:start!important;
    text-align:left!important;
  }
  .cv-experience-item--plain{
    padding:.5mm 0 0!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
}

.cv-actions .cv-action{text-decoration:none}

/* 2026-09-25 align unframed career entries with job-card content */
.cv-experience-item--status,
.cv-experience-item--plain{
  padding:12px 14px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.cv-experience-item--status .cv-experience-summary{
  max-width:none!important;
  margin-top:7px!important;
}
.cv-experience-item--plain .cv-career-history{
  margin-top:9px!important;
}
@media print{
  .cv-experience-item--status,
  .cv-experience-item--plain{
    padding:1.4mm 1.7mm!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
}

/* 2026-09-25 unify CV heading typography */
.cv-context,
.cv-section>h2{
  font-family:var(--font-sans)!important;
}

/* 2026-09-25 canonical A4 WYSIWYG layout */
@media (min-width:761px), print {
  .cv-sheet,
  .cv-sheet *{
    font-family:Arial,"Helvetica Neue",sans-serif!important;
  }
  .cv-actions{
    width:210mm!important;
    margin:4mm auto 0!important;
  }
  .cv-sheet{
    box-sizing:border-box!important;
    width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    aspect-ratio:210/297!important;
    margin:0 auto!important;
    padding:7mm 8mm 6mm!important;
    display:grid!important;
    grid-template-rows:auto auto auto auto!important;
    align-content:space-between!important;
    overflow:hidden!important;
  }
  .cv-context{
    margin:0 0 2.2mm!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
    letter-spacing:.09em!important;
  }
  .cv-header{
    padding-bottom:2.4mm!important;
    border-bottom:.45mm solid var(--foreground)!important;
  }
  .cv-header-main{
    grid-template-columns:21mm minmax(0,1fr) 41mm!important;
    gap:4mm!important;
    align-items:center!important;
  }
  .cv-photo-frame,.cv-photo{
    width:21mm!important;
    height:21mm!important;
  }
  .cv-heading h1{
    font-size:6.5pt!important;
    line-height:1!important;
    margin:0!important;
  }
  .cv-role{
    margin:1.2mm 0 0!important;
    font-size:6.5pt!important;
    line-height:1.18!important;
  }
  .cv-subrole{
    margin:.65mm 0 0!important;
    font-size:6.5pt!important;
    line-height:1.28!important;
  }
  .cv-contact{
    padding-left:3mm!important;
    border-left:.2mm solid var(--border)!important;
    gap:.35mm!important;
    font-size:6.5pt!important;
    line-height:1.25!important;
    text-align:right!important;
  }
  .cv-summary{
    margin:3mm 0 3.4mm!important;
    padding:0!important;
    border-bottom:0!important;
    font-size:6.5pt!important;
    line-height:1.34!important;
  }
  .cv-columns{
    display:grid!important;
    grid-template-columns:31% minmax(0,1fr)!important;
    gap:5mm!important;
    align-items:start!important;
  }
  .cv-sidebar{
    display:block!important;
  }
  .cv-experience{
    display:block!important;
    padding-left:3.5mm!important;
    border-left:.2mm solid var(--border)!important;
  }
  .cv-section>h2{
    margin:0 0 1.4mm!important;
    padding-top:1.2mm!important;
    border-top:.28mm solid var(--foreground)!important;
    color:var(--primary)!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
    letter-spacing:.08em!important;
  }
  .cv-sidebar .cv-section+.cv-section{
    margin-top:2.6mm!important;
  }
  .cv-focus-list>div,.cv-compact-block,.cv-education-item{
    padding:0 0 1.45mm!important;
  }
  .cv-focus-list>div+div,.cv-compact-block+.cv-compact-block,.cv-education-item+.cv-education-item{
    padding-top:1.25mm!important;
  }
  .cv-focus-list h3,.cv-compact-block h3,.cv-education-item h3{
    margin:0 0 .45mm!important;
    font-size:6.5pt!important;
    line-height:1.17!important;
  }
  .cv-focus-list p,.cv-compact-block p,.cv-education-item p,.cv-sector-list{
    font-size:6.5pt!important;
    line-height:1.24!important;
  }
  .cv-education-item span{
    margin-bottom:.4mm!important;
    font-size:6.5pt!important;
  }
  .cv-language-list div{
    padding:.8mm 0!important;
  }
  .cv-language-list dt,.cv-language-list dd{
    font-size:6.5pt!important;
  }
  .cv-experience-list{
    display:grid!important;
    gap:1.9mm!important;
  }
  .cv-experience-item{
    margin:0!important;
    padding:2.25mm 2.6mm!important;
    border:.2mm solid color-mix(in oklab,var(--border) 85%,var(--foreground) 15%)!important;
    border-radius:1.7mm!important;
    background:color-mix(in oklab,var(--surface-subtle) 70%,transparent)!important;
  }
  .cv-experience-item header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "role period"
      "tags employer"!important;
    column-gap:3mm!important;
    row-gap:.55mm!important;
    align-items:baseline!important;
  }
  .cv-experience-item h3{
    grid-area:role!important;
    margin:0!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
  }
  .cv-experience-item time{
    grid-area:period!important;
    justify-self:end!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .cv-tags{
    grid-area:tags!important;
    justify-self:start!important;
    margin:0!important;
    color:var(--muted-foreground)!important;
    font-size:6.5pt!important;
    font-weight:650!important;
    letter-spacing:0!important;
    line-height:1.18!important;
    text-transform:none!important;
    text-align:left!important;
  }
  .cv-employer{
    grid-area:employer!important;
    margin:0!important;
    color:var(--foreground)!important;
    font-size:6.5pt!important;
    font-weight:750!important;
    line-height:1.15!important;
    text-align:right!important;
  }
  .cv-experience-item>ul{
    margin:1.3mm 0 0!important;
    padding-left:3mm!important;
  }
  .cv-experience-item li,.cv-experience-summary{
    font-size:6.5pt!important;
    line-height:1.2!important;
  }
  .cv-experience-summary{
    margin:1.25mm 0 0!important;
  }
  .cv-experience-item--status,
  .cv-experience-item--plain{
    padding:2.25mm 2.6mm!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .cv-experience-item--status .cv-experience-summary{
    max-width:none!important;
    margin-top:1.25mm!important;
  }
  .cv-career-history{
    margin-top:1.5mm!important;
    border-top:.2mm solid var(--border)!important;
  }
  .cv-career-subentry{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"entry period"!important;
    gap:2mm!important;
    padding:1.05mm 0!important;
    border-bottom:.2mm solid var(--border)!important;
  }
  .cv-career-subentry>div{grid-area:entry!important}
  .cv-career-subentry>span{
    grid-area:period!important;
    justify-self:end!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  .cv-career-subentry strong{
    font-size:6.5pt!important;
    line-height:1.15!important;
  }
  .cv-career-subentry p{
    margin:.3mm 0 0!important;
    font-size:6.5pt!important;
    line-height:1.18!important;
  }
  .cv-projects{
    margin-top:3.6mm!important;
    padding-top:0!important;
  }
  .cv-project-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 5mm!important;
  }
  .cv-project-grid article:not(.cv-project-card){
    padding:1.5mm 0 1.7mm!important;
  }
  .cv-project-grid h3{
    margin:0 0 .6mm!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
  }
  .cv-project-grid p{
    font-size:6.5pt!important;
    line-height:1.22!important;
  }
}

@media print{
  @page{size:A4;margin:0}
  html,body{width:210mm!important;height:297mm!important;background:#fff!important}
  .dashboard-sidebar,.dashboard-sidebar__backdrop,.site-header,.site-footer,.cv-actions{display:none!important}
  body.has-dashboard-sidebar>main,body.has-dashboard-sidebar>.site-header,body.has-dashboard-sidebar>.site-footer{margin-left:0!important}
  .cv-main{padding:0!important}
  .cv-sheet{
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
}

/* 2026-09-25 structured project cards */
@media (min-width:761px), print {
  .cv-project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1.8mm 3.2mm!important;
  }
  .cv-project-card{
    margin:0!important;
    padding:1.8mm 2.1mm!important;
    border:.2mm solid color-mix(in oklab,var(--border) 85%,var(--foreground) 15%)!important;
    border-radius:1.5mm!important;
    background:transparent!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .cv-project-card h3{
    margin:0!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
  }
  .cv-project-name{
    margin:.45mm 0 0!important;
    color:var(--foreground)!important;
    font-size:6.5pt!important;
    font-weight:650!important;
    line-height:1.15!important;
  }
  .cv-project-keywords{
    margin:.4mm 0 0!important;
    color:var(--muted-foreground)!important;
    font-size:6.5pt!important;
    font-weight:650!important;
    line-height:1.15!important;
  }
  .cv-project-card ul{
    margin:.75mm 0 0!important;
    padding-left:2.6mm!important;
  }
  .cv-project-card li{
    font-size:6.5pt!important;
    line-height:1.16!important;
  }
}

/* 2026-09-25 education and project layout refinement */
@media (min-width:761px), print {
  .cv-sheet{
    align-content:start!important;
    row-gap:1.6mm!important;
  }

  .cv-education-main{
    margin-top:2.2mm!important;
  }
  .cv-education-main>h2{
    margin-bottom:1.2mm!important;
  }
  .cv-education-main-list{
    padding:1.4mm 2.2mm!important;
    border:.2mm solid color-mix(in oklab,var(--border) 85%,var(--foreground) 15%)!important;
    border-radius:1.5mm!important;
    background:transparent!important;
  }
  .cv-education-main-list .cv-education-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "institution year"
      "qualification year"!important;
    gap:.3mm 2.5mm!important;
    padding:1mm 0!important;
    border-bottom:.2mm solid var(--border)!important;
  }
  .cv-education-main-list .cv-education-item:first-child{
    padding-top:.45mm!important;
  }
  .cv-education-main-list .cv-education-item:last-child{
    padding-bottom:.45mm!important;
    border-bottom:0!important;
  }
  .cv-education-main-list .cv-education-item h3{
    grid-area:institution!important;
    margin:0!important;
    font-size:6.5pt!important;
    line-height:1.15!important;
  }
  .cv-education-main-list .cv-education-item span{
    grid-area:year!important;
    justify-self:end!important;
    align-self:start!important;
    margin:0!important;
    color:var(--muted-foreground)!important;
    font-size:6.5pt!important;
    font-weight:700!important;
    white-space:nowrap!important;
  }
  .cv-education-main-list .cv-education-item p{
    grid-area:qualification!important;
    margin:0!important;
    color:var(--muted-foreground)!important;
    font-size:6.5pt!important;
    line-height:1.16!important;
  }

  .cv-projects{
    margin-top:1.6mm!important;
  }
  .cv-project-grid{
    gap:2.2mm 3.5mm!important;
  }
  .cv-project-card{
    padding:2.25mm 2.65mm!important;
  }
  .cv-project-card h3{
    text-align:right!important;
    font-size:6.5pt!important;
  }
  .cv-project-name{
    margin:.65mm 0 0!important;
  }
  .cv-project-keywords{
    margin:.55mm 0 0!important;
  }
  .cv-project-card ul{
    margin:1mm 0 0!important;
  }
}
@media (max-width:760px){
  .cv-education-main{margin-top:14px}
  .cv-education-main-list{
    padding:10px 12px;
    border:1px solid var(--border);
    border-radius:8px;
    background:transparent;
  }
  .cv-education-main-list .cv-education-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "institution year"
      "qualification year";
    gap:2px 12px;
    padding:8px 0;
  }
  .cv-education-main-list .cv-education-item h3{grid-area:institution;margin:0}
  .cv-education-main-list .cv-education-item span{grid-area:year;justify-self:end;margin:0;color:var(--muted-foreground)}
  .cv-education-main-list .cv-education-item p{grid-area:qualification;margin:0}
  .cv-project-card h3{text-align:right}
  .cv-project-card{padding:12px 14px!important}
}

/* 2026-09-25 sidebar distribution and project padding */
@media (min-width:761px), print {
  .cv-columns{
    align-items:stretch!important;
  }
  .cv-sidebar{
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-self:stretch!important;
    height:100%!important;
    gap:0!important;
  }
  .cv-sidebar .cv-section+.cv-section{
    margin-top:0!important;
  }

  .cv-project-card{
    padding:2.45mm 3.2mm!important;
  }
  .cv-project-name{
    margin:.75mm 0 0!important;
  }
  .cv-project-keywords{
    margin:.7mm 0 0!important;
  }
  .cv-project-card ul{
    margin:1.15mm 0 0!important;
  }
  .cv-project-grid{
    gap:1.8mm 3.5mm!important;
  }
  .cv-projects{
    margin-top:1.1mm!important;
  }
}
@media (max-width:760px){
  .cv-project-card{
    padding:14px 16px!important;
  }
}

/* 2026-09-25 add focus/skills and project breathing room */
@media (min-width:761px), print {
  .cv-project-card{
    padding:2.55mm 3.6mm!important;
  }
  .cv-project-grid{
    gap:1.45mm 3.5mm!important;
  }
  .cv-project-name{
    margin:.7mm 0 0!important;
  }
  .cv-project-keywords{
    margin:.65mm 0 0!important;
  }
  .cv-project-card ul{
    margin:1.05mm 0 0!important;
  }
}
@media (max-width:760px){
  .cv-project-card{
    padding:16px 18px!important;
  }
}

/* 2026-09-25 project card inner padding fix */
@media (min-width:761px), print {
  .cv-project-card{
    padding:1.8mm 3.0mm!important;
  }
  .cv-project-grid{
    gap:1.15mm 3.5mm!important;
  }
  .cv-project-name{
    margin:.65mm 0 0!important;
  }
  .cv-project-keywords{
    margin:.6mm 0 0!important;
  }
  .cv-project-card ul{
    margin:.95mm 0 0!important;
  }
}
@media (max-width:760px){
  .cv-project-card{
    padding:12px 14px!important;
  }
}

/* 2026-09-25 project title row */
.cv-project-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:
    "project client"
    "keywords keywords"
    "tasks tasks"!important;
  column-gap:3mm!important;
  align-items:baseline!important;
}
.cv-project-card h3{
  grid-area:client!important;
  margin:0!important;
  text-align:right!important;
}
.cv-project-name{
  grid-area:project!important;
  margin:0!important;
}
.cv-project-keywords{
  grid-area:keywords!important;
}
.cv-project-card ul{
  grid-area:tasks!important;
}
@media (max-width:760px){
  .cv-project-card{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:12px!important;
  }
}

/* 2026-09-25 unframe education */
.cv-education-main-list{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding-left:0!important;
  padding-right:0!important;
}


/* 2026-09-25 canonical three-size typography */
.cv-sheet,
.cv-sheet *{
  font-size:6.5pt!important;
}
.cv-heading h1{
  font-size:24pt!important;
}
.cv-role,
.cv-section>h2,
.cv-experience-item h3,
.cv-project-card h3,
.cv-action{
  font-size:9pt!important;
}

/* 2026-09-25 compact spacing for 6.5pt body */
@media (min-width:761px), print {
  .cv-experience-list{
    gap:1.15mm!important;
  }
  .cv-experience-item,
  .cv-experience-item--status,
  .cv-experience-item--plain{
    padding-top:1.35mm!important;
    padding-bottom:1.35mm!important;
  }
  .cv-experience-item>ul{
    margin-top:.8mm!important;
  }
  .cv-experience-summary{
    margin-top:.75mm!important;
  }
  .cv-career-history{
    margin-top:.9mm!important;
  }
  .cv-career-subentry{
    padding:.65mm 0!important;
  }
  .cv-education-main{
    margin-top:1mm!important;
  }
  .cv-education-main-list{
    padding-top:.55mm!important;
    padding-bottom:.55mm!important;
  }
  .cv-education-main-list .cv-education-item{
    padding:.45mm 0!important;
  }
  .cv-projects{
    margin-top:.5mm!important;
  }
}

/* Final cascade: keep CV dates muted and employer names in the foreground. */
.cv-experience-item>header time{
  justify-self:end!important;
  text-align:right!important;
  color:var(--muted-foreground)!important;
}
.cv-education-item span,
.cv-career-subentry>span{color:var(--muted-foreground)!important}
.cv-employer{color:var(--foreground)!important}
@media print{
  .cv-experience-item>header time{text-align:right!important;color:#697586!important}
  .cv-education-item span,
  .cv-career-subentry>span{color:#697586!important}
  .cv-employer{color:#202733!important}
}
