.cv-container{width:210mm;min-height:297mm;margin:0 auto;padding:15mm 20mm;background:var(--bg-color,#ffffff);color:var(--color-primary,#1a1a1a);font-family:var(--font-sans);font-size:10pt;font-weight:300;line-height:1.5;box-shadow:0 0 20px rgba(0,0,0,.1)}.cv-page-wrapper{padding:40px 20px;min-height:100vh;background:#f5f5f5}[data-theme=dark] .cv-page-wrapper{background:#111}.cv-back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--color-accent,#3b82f6);font-family:var(--font-sans);font-size:14px;font-weight:400;text-decoration:none;transition:opacity .2s ease}.cv-back-link:hover{opacity:.7}.cv-print-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;margin-bottom:24px;margin-left:16px;background:var(--color-accent,#3b82f6);color:white;border:none;border-radius:8px;font-family:var(--font-sans);font-size:14px;font-weight:400;cursor:pointer;transition:background .2s ease}.cv-print-btn:hover{background:var(--color-accent-hover,#1d4ed8)}.cv-header{text-align:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--color-border,rgba(0,0,0,.08))}.cv-name{font-family:var(--font-serif);font-size:28pt;font-weight:300;letter-spacing:.02em;margin-bottom:8px;color:var(--color-primary,#1a1a1a)}.cv-contact{font-size:9pt;color:var(--color-secondary,rgba(0,0,0,.55));margin-bottom:4px}.cv-contact a{color:var(--color-accent,#3b82f6);text-decoration:none}.cv-visa-note{font-size:8pt;font-style:italic;color:var(--color-secondary,rgba(0,0,0,.55));margin-top:8px}.cv-section{margin-bottom:18px}.cv-section-title{font-family:var(--font-serif);font-size:12pt;font-weight:300;margin-top:6px;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--color-border,rgba(0,0,0,.08));text-transform:uppercase;letter-spacing:.1em}.cv-section-title,.cv-summary{color:var(--color-primary,#1a1a1a)}.cv-summary{font-size:10pt;line-height:1.6}.cv-summary strong{color:var(--color-accent,#3b82f6);font-weight:400}.cv-experience-entry{margin-bottom:12px}.cv-job-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.cv-job-title{font-weight:400;font-size:10pt;color:var(--color-primary,#1a1a1a)}.cv-job-date{font-size:9pt;color:var(--color-secondary,rgba(0,0,0,.55))}.cv-company{font-size:9pt;margin-bottom:6px}.cv-company,.cv-company-large{color:var(--color-accent,#3b82f6)}.cv-company-large{font-size:11pt;font-weight:400;margin-bottom:8px}.cv-job-title-bold{font-weight:500}.cv-tenure{font-size:9pt;font-style:italic;color:var(--color-secondary,rgba(0,0,0,.55));margin-bottom:6px}.cv-job-category{font-size:9pt;font-weight:400;color:var(--color-primary,#1a1a1a);margin-top:8px;margin-bottom:4px}.cv-positions-list{margin:8px 0 12px}.cv-position-item{font-size:9pt;line-height:1.6;margin-bottom:2px;color:var(--color-primary,#1a1a1a)}.cv-position-item strong{font-weight:500}.cv-job-bullets{list-style:none;padding:0;margin:0}.cv-job-bullets li{position:relative;padding-left:12px;font-size:9pt;line-height:1.5;margin-bottom:3px;color:var(--color-primary,#1a1a1a)}.cv-job-bullets li:before{content:"•";position:absolute;left:0;color:var(--color-primary,#1a1a1a)}.cv-clients{font-size:9pt;color:var(--color-secondary,rgba(0,0,0,.55))}.cv-skills{font-size:9pt;line-height:1.7;color:var(--color-primary,#1a1a1a)}.cv-table{width:100%;border-collapse:collapse;font-size:9pt;margin-bottom:8px}.cv-table td,.cv-table th{text-align:left;padding:4px 8px;border-bottom:1px solid var(--color-border,rgba(0,0,0,.08))}.cv-table th{font-weight:400;color:var(--color-secondary,rgba(0,0,0,.55));font-size:8pt;text-transform:uppercase;letter-spacing:.05em}.cv-table td:first-child{font-weight:400;color:var(--color-primary,#1a1a1a)}.cv-table td:last-child{color:var(--color-secondary,rgba(0,0,0,.55))}.cv-education-entry{margin-bottom:6px}.cv-degree{font-weight:400;font-size:9pt}.cv-certifications,.cv-school{font-size:9pt;color:var(--color-secondary,rgba(0,0,0,.55))}.cv-certifications{margin-top:8px}.cv-languages{font-size:9pt;color:var(--color-primary,#1a1a1a)}.cv-frameworks{list-style:none;padding:0;margin:0}.cv-frameworks li{position:relative;padding-left:12px;font-size:9pt;line-height:1.5;margin-bottom:3px}.cv-frameworks li:before{content:"•";position:absolute;left:0;color:var(--color-primary,#1a1a1a)}.cv-frameworks li strong{font-weight:400}.cv-page-break{page-break-after:always}.cv-avoid-break{page-break-inside:avoid}@media print{@page{size:A4;margin:20mm 15mm}body,html{width:210mm;margin:0;padding:0;background:white!important}#cookie-consent-banner,.cv-actions,.cv-back-link,.cv-print-btn,.header-inner,.nav-list,.site-header,.site-logo,.site-nav,.theme-toggle,.theme-toggle-icon,body>header,header.site-header,nav.site-nav{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}.cv-container,.cv-page-wrapper{padding:0;background:white!important;min-height:auto}.cv-container{width:100%;margin:0;box-shadow:none;color:#1a1a1a}.cv-header{display:block!important;visibility:visible!important;height:auto!important;overflow:visible!important;padding-top:0;margin-bottom:20px;padding-bottom:15px}.cv-section-page-break{page-break-before:always;padding-top:0}.cv-section{margin-bottom:18px}.cv-experience-entry,.cv-section{page-break-inside:avoid}.cv-degree,.cv-job-title,.cv-name,.cv-section-title{color:#1a1a1a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-company,.cv-company-large,.cv-contact a,.cv-summary strong{color:#3b82f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-job-title-bold{font-weight:500!important}.cv-frameworks li:before,.cv-job-bullets li:before{color:#1a1a1a!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cv-certifications,.cv-clients,.cv-contact,.cv-job-date,.cv-school,.cv-table td:last-child,.cv-table th,.cv-visa-note{color:rgba(0,0,0,.55)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.cv-index-container{max-width:800px;margin:0 auto;padding:60px 24px}.cv-index-title{font-family:var(--font-serif);font-size:3.2rem;font-weight:300;margin-bottom:16px;color:var(--color-primary)}.cv-index-description{font-size:1.6rem;color:var(--color-secondary);margin-bottom:48px;line-height:1.6}.cv-index-grid{display:grid;gap:20px}.cv-index-card{display:block;padding:24px;background:var(--card-bg);border-radius:12px;text-decoration:none;transition:all .2s ease;border:1px solid var(--color-border)}.cv-index-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:var(--color-accent)}.cv-card-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:300;color:var(--color-primary);margin-bottom:8px}.cv-card-description{font-size:1.4rem;color:var(--color-secondary);line-height:1.5}.cv-card-arrow{display:inline-block;margin-left:8px;color:var(--color-accent);transition:transform .2s ease}.cv-index-card:hover .cv-card-arrow{transform:translateX(4px)}