.cv-classique .cv-header{background:var(--cv-header-bg,#1b3a6b);color:var(--cv-header-text,#fff);padding:28px 32px 22px;position:relative}.cv-classique .cv-header:after{content:"";bottom:0;background:var(--cv-accent,#2563eb);height:3px;position:absolute;inset-inline:0}.cv-classique .cv-name{font-family:var(--cv-heading-font,"Libre Baskerville", serif);font-size:calc(var(--cv-font-size,12px) * 2);letter-spacing:.5px;margin-bottom:4px;font-weight:700}.cv-classique .cv-title{font-size:calc(var(--cv-font-size,12px) * 1.08);opacity:.9;font-style:italic;font-weight:400}.cv-classique .cv-contact-row{font-size:calc(var(--cv-font-size,12px) * .92);opacity:.85;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.cv-classique .cv-contact-row span{align-items:center;gap:4px;display:inline-flex}.cv-classique .cv-body{padding:var(--cv-spacing,20px) 32px}.cv-classique .cv-accroche{margin-bottom:var(--cv-spacing,18px);color:var(--cv-muted,#333);font-style:italic;font-size:var(--cv-font-size,12px);padding:0 4px;line-height:1.6}.cv-classique .cv-section-title{font-family:var(--cv-heading-font,"Libre Baskerville", serif);font-size:calc(var(--cv-font-size,12px) * 1.17);color:var(--cv-primary,#1b3a6b);margin-bottom:calc(var(--cv-spacing,18px) * .55);border-bottom:2px solid var(--cv-accent,#2563eb);text-transform:uppercase;letter-spacing:.5px;padding-bottom:4px;font-weight:700}.cv-classique .cv-grid{grid-template-columns:var(--cv-layout-cols,1fr 1fr);gap:var(--cv-spacing,20px);display:grid}.cv-classique .cv-formation-item{margin-bottom:calc(var(--cv-spacing,18px) * .55)}.cv-classique .cv-formation-item .year{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-weight:600}.cv-classique .cv-formation-item .diploma{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04);color:var(--cv-body-text,#1a1a1a)}.cv-classique .cv-formation-item .school{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#555);font-style:italic}.cv-classique .cv-formation-item .mention-badge{background:var(--cv-accent-10,#2563eb1a);color:var(--cv-accent,#2563eb);border-radius:var(--cv-radius,3px);font-size:calc(var(--cv-font-size,12px) * .83);margin-top:2px;padding:1px 6px;font-weight:600;display:inline-block}.cv-classique .cv-exp-item{margin-bottom:calc(var(--cv-spacing,18px) * .65)}.cv-classique .cv-exp-item .exp-header{justify-content:space-between;align-items:baseline;display:flex}.cv-classique .cv-exp-item .exp-poste{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04)}.cv-classique .cv-exp-item .exp-date{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb)}.cv-classique .cv-exp-item .exp-company{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#555);font-style:italic}.cv-classique .cv-exp-item .exp-desc{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#444);margin-top:3px;line-height:1.5}.cv-classique .cv-skills-list{flex-wrap:wrap;gap:4px;display:flex}.cv-classique .cv-skill-pill{background:var(--cv-skill-bg,#2563eb1a);color:var(--cv-skill-text,#2563eb);border-radius:var(--cv-radius,3px);font-size:calc(var(--cv-font-size,12px) * .92);padding:2px 8px;font-weight:500;display:inline-block}.cv-classique .cv-lang-item{border-bottom:1px solid var(--cv-border,#eee);font-size:calc(var(--cv-font-size,12px) * .96);justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;display:flex}.cv-classique .cv-lang-level{color:var(--cv-accent,#2563eb);font-weight:600;font-size:calc(var(--cv-font-size,12px) * .92);text-align:end;flex-shrink:0;max-width:60%}.cv-ingenieur .cv-header{background:var(--cv-header-bg,#2c3e50);color:var(--cv-header-text,#fff);justify-content:space-between;align-items:flex-start;padding:24px 28px;display:flex}.cv-ingenieur .cv-name{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 1.83);letter-spacing:.3px;font-weight:600}.cv-ingenieur .cv-title{font-size:calc(var(--cv-font-size,12px) * 1.08);opacity:.85;margin-top:2px}.cv-ingenieur .cv-contact-right{text-align:end;font-size:calc(var(--cv-font-size,12px) * .92);opacity:.8;line-height:1.6}.cv-ingenieur .cv-contact-right>div{justify-content:flex-end;align-items:center;gap:4px;display:flex}.cv-ingenieur .cv-body{padding:var(--cv-spacing,18px) 28px}.cv-ingenieur .cv-accroche{margin-bottom:var(--cv-spacing,18px);font-size:var(--cv-font-size,12px);color:var(--cv-muted,#333);padding:0 4px;line-height:1.6}.cv-ingenieur .cv-section-title{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 1.17);color:var(--cv-accent,#2563eb);text-transform:uppercase;letter-spacing:1px;margin-bottom:calc(var(--cv-spacing,18px) * .55);border-bottom:1px solid var(--cv-border,#e5e7eb);padding-bottom:4px;font-weight:600}.cv-ingenieur .cv-grid{grid-template-columns:var(--cv-layout-cols,1.4fr 1fr);gap:var(--cv-spacing,24px);display:grid}.cv-ingenieur .cv-timeline{border-inline-start:2px solid var(--cv-border,#e5e7eb);padding-inline-start:14px;position:relative}.cv-ingenieur .cv-timeline-item{margin-bottom:var(--cv-spacing,14px);position:relative}.cv-ingenieur .cv-timeline-item:before{content:"";inset-inline-start:-19px;background:var(--cv-accent,#2563eb);border:2px solid var(--cv-body-bg,#fff);border-radius:50%;width:8px;height:8px;position:absolute;top:4px}.cv-ingenieur .cv-timeline-item .tl-date{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-weight:500}.cv-ingenieur .cv-timeline-item .tl-title{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04)}.cv-ingenieur .cv-timeline-item .tl-company{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-weight:500}.cv-ingenieur .cv-timeline-item .tl-desc{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#555);margin-top:2px;line-height:1.5}.cv-ingenieur .cv-skill-bar{margin-bottom:8px}.cv-ingenieur .cv-skill-bar .bar-label{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#333);margin-bottom:3px;font-weight:500}.cv-ingenieur .cv-skill-bar .bar-track{background:var(--cv-border,#e5e7eb);border-radius:var(--cv-radius,3px);height:5px;overflow:hidden}.cv-ingenieur .cv-skill-bar .bar-fill{background:var(--cv-accent,#2563eb);border-radius:var(--cv-radius,3px);height:100%;transition:width .3s}.cv-ingenieur .cv-lang-item{border-bottom:1px solid var(--cv-border,#f0f0f0);font-size:calc(var(--cv-font-size,12px) * .96);justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;display:flex}.cv-ingenieur .cv-lang-level{color:var(--cv-accent,#2563eb);font-weight:500;font-size:calc(var(--cv-font-size,12px) * .92);text-align:end;flex-shrink:0;max-width:60%}.cv-ingenieur .cv-formation-item{margin-bottom:calc(var(--cv-spacing,18px) * .55)}.cv-ingenieur .cv-formation-item .year{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-weight:500}.cv-ingenieur .cv-formation-item .diploma{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04)}.cv-ingenieur .cv-formation-item .school{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#555)}.cv-ingenieur .cv-formation-item .mention-badge{background:var(--cv-accent-10,#2563eb1a);color:var(--cv-accent,#2563eb);border-radius:var(--cv-radius,3px);font-size:calc(var(--cv-font-size,12px) * .83);margin-top:2px;padding:1px 6px;font-weight:600;display:inline-block}.cv-ingenieur .skill-tag{font-size:calc(var(--cv-font-size,12px) * .92);background:var(--cv-accent-10,#2563eb14);color:var(--cv-accent,#2563eb);border-radius:var(--cv-radius,3px);padding:4px 10px;font-weight:500;display:inline-block}.cv-medical .cv-header{text-align:center;border-bottom:1px solid var(--cv-border,#e5e7eb);padding:22px 32px 18px;position:relative}.cv-medical .cv-header:before{content:"";background:linear-gradient(90deg, var(--cv-accent,#2563eb), var(--cv-accent,#60a5fa), var(--cv-accent,#2563eb));height:3px;position:absolute;top:0;left:0;right:0}.cv-medical .cv-name{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 2);color:var(--cv-accent,#2563eb);letter-spacing:.3px;font-weight:600}.cv-medical .cv-title{font-size:calc(var(--cv-font-size,12px) * 1.08);color:var(--cv-muted,#555);margin-top:2px}.cv-medical .cv-contact-row{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#666);flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:8px;display:flex}.cv-medical .cv-contact-row span{align-items:center;gap:4px;display:inline-flex}.cv-medical .cv-body{padding:var(--cv-spacing,18px) 32px}.cv-medical .cv-accroche{text-align:center;font-size:var(--cv-font-size,12px);color:var(--cv-muted,#444);margin-bottom:var(--cv-spacing,18px);padding:0 20px;line-height:1.6}.cv-medical .cv-section-title{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 1.17);color:var(--cv-accent,#2563eb);text-transform:uppercase;letter-spacing:1px;margin-bottom:calc(var(--cv-spacing,18px) * .55);align-items:center;gap:8px;padding-bottom:4px;font-weight:600;display:flex}.cv-medical .cv-section-title:after{content:"";background:var(--cv-border,#e5e7eb);flex:1;height:1px}.cv-medical .cv-grid{grid-template-columns:var(--cv-layout-cols,1fr 1fr);gap:var(--cv-spacing,18px);display:grid}.cv-medical .cv-exp-item{margin-bottom:calc(var(--cv-spacing,18px) * .65);border-inline-start:2px solid var(--cv-accent-10,#2563eb4d);padding-inline-start:10px}.cv-medical .cv-exp-item .exp-date{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-weight:500}.cv-medical .cv-exp-item .exp-poste{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04);color:var(--cv-body-text,#1a1a1a)}.cv-medical .cv-exp-item .exp-company{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#555)}.cv-medical .cv-exp-item .exp-desc{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#444);margin-top:3px;line-height:1.5}.cv-medical .cv-formation-item{margin-bottom:calc(var(--cv-spacing,18px) * .55)}.cv-medical .cv-formation-item .year{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-weight:500}.cv-medical .cv-formation-item .diploma{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04);color:var(--cv-body-text,#1a1a1a)}.cv-medical .cv-formation-item .school{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#555)}.cv-medical .cv-skills-list{flex-wrap:wrap;gap:4px;display:flex}.cv-medical .cv-skill-pill{background:var(--cv-skill-bg,#2563eb14);color:var(--cv-skill-text,#2563eb);border-radius:var(--cv-radius,12px);font-size:calc(var(--cv-font-size,12px) * .92);padding:3px 8px;font-weight:500;display:inline-block}.cv-medical .cv-lang-item{border-bottom:1px solid var(--cv-border,#f0f0f0);font-size:calc(var(--cv-font-size,12px) * .96);justify-content:space-between;align-items:baseline;gap:8px;padding:3px 0;display:flex}.cv-medical .cv-lang-level{color:var(--cv-accent,#2563eb);font-weight:500;font-size:calc(var(--cv-font-size,12px) * .92);text-align:end;flex-shrink:0;max-width:60%}.cv-tech .cv-header{background:var(--cv-header-bg,linear-gradient(135deg, #161b22 0%, #0d1117 100%));border-bottom:1px solid var(--cv-border,#21262d);padding:24px 28px}.cv-tech .cv-name{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 1.83);color:var(--cv-header-text,#f0f6fc);font-weight:600}.cv-tech .cv-title{font-size:calc(var(--cv-font-size,12px) * 1.08);color:var(--cv-accent,#2563eb);font-family:var(--cv-body-font,"IBM Plex Mono", monospace);margin-top:2px}.cv-tech .cv-contact-row{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#8b949e);font-family:var(--cv-body-font,"IBM Plex Mono", monospace);flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.cv-tech .cv-contact-row span{align-items:center;gap:4px;display:inline-flex}.cv-tech .cv-tech-tags{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.cv-tech .tech-tag{background:var(--cv-accent-15,#2563eb26);color:var(--cv-skill-text,#58a6ff);border-radius:var(--cv-radius,3px);font-size:calc(var(--cv-font-size,12px) * .92);font-family:var(--cv-body-font,"IBM Plex Mono", monospace);padding:2px 8px;display:inline-block}.cv-tech .cv-body{padding:var(--cv-spacing,18px) 28px}.cv-tech .cv-accroche{font-size:var(--cv-font-size,12px);color:var(--cv-muted,#8b949e);margin-bottom:var(--cv-spacing,18px);padding:0 4px;line-height:1.6}[dir=rtl] .cv-tech .cv-accroche{border-radius:var(--cv-radius,4px) 0 0 var(--cv-radius,4px)}.cv-tech .cv-section-title{font-family:var(--cv-body-font,"IBM Plex Mono", monospace);font-size:calc(var(--cv-font-size,12px) * 1.17);color:var(--cv-accent,#2563eb);margin-bottom:calc(var(--cv-spacing,18px) * .55);border-bottom:1px solid var(--cv-border,#21262d);padding-bottom:4px;font-weight:500}.cv-tech .cv-section-title:before{content:"// ";opacity:.5}.cv-tech .cv-grid{gap:var(--cv-spacing,24px);grid-template-columns:1.4fr 1fr;display:grid}.cv-tech .cv-timeline{border-inline-start:2px solid var(--cv-border,#21262d);padding-inline-start:14px}.cv-tech .cv-timeline-item{margin-bottom:var(--cv-spacing,14px);position:relative}.cv-tech .cv-timeline-item:before{content:"";inset-inline-start:-19px;background:var(--cv-accent,#2563eb);border:2px solid var(--cv-body-bg,#0d1117);border-radius:50%;width:8px;height:8px;position:absolute;top:4px}.cv-tech .cv-timeline-item .tl-date{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-family:var(--cv-body-font,"IBM Plex Mono", monospace)}.cv-tech .cv-timeline-item .tl-title{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04);color:var(--cv-header-text,#f0f6fc)}.cv-tech .cv-timeline-item .tl-company{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-skill-text,#58a6ff)}.cv-tech .cv-timeline-item .tl-desc{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#8b949e);margin-top:2px;line-height:1.5}.cv-tech .cv-skill-highlight{background:var(--cv-skill-bg,#2563eb1f);color:var(--cv-skill-text,#58a6ff);border-radius:var(--cv-radius,3px);font-size:calc(var(--cv-font-size,12px) * .92);font-family:var(--cv-body-font,"IBM Plex Mono", monospace);margin:2px;padding:2px 8px;display:inline-block}.cv-tech .cv-lang-bar{margin-bottom:8px}.cv-tech .cv-lang-bar .bar-label{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-body-text,#c9d1d9);font-family:var(--cv-body-font,"IBM Plex Mono", monospace);margin-bottom:3px}.cv-tech .cv-lang-bar .bar-track{background:var(--cv-border,#21262d);border-radius:2px;height:4px;overflow:hidden}.cv-tech .cv-lang-bar .bar-fill{background:var(--cv-accent,#2563eb);border-radius:2px;height:100%}.cv-tech .cv-formation-item{margin-bottom:calc(var(--cv-spacing,18px) * .55)}.cv-tech .cv-formation-item .year{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#2563eb);font-family:var(--cv-body-font,"IBM Plex Mono", monospace)}.cv-tech .cv-formation-item .diploma{font-weight:600;font-size:calc(var(--cv-font-size,12px) * 1.04);color:var(--cv-header-text,#f0f6fc)}.cv-tech .cv-formation-item .school{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#8b949e)}.cv-executif{height:100%;min-height:1123px;font-size:var(--cv-font-size,12px);grid-template-columns:200px 1fr;display:grid}.cv-executif .exec-sidebar{background:var(--cv-sidebar-bg,#1e293b);color:var(--cv-sidebar-text,#e2e8f0);gap:var(--cv-spacing,18px);flex-direction:column;padding:28px 16px 20px;display:flex}.cv-executif .exec-avatar{background:var(--cv-accent,#3b82f6);color:#fff;letter-spacing:1px;border:3px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 4px;font-size:22px;font-weight:700;display:flex}.cv-executif .exec-sidebar-section{padding-top:calc(var(--cv-spacing,18px) * .7);border-top:1px solid #ffffff1a}.cv-executif .exec-sidebar-title{font-size:calc(var(--cv-font-size,12px) * .75);text-transform:uppercase;letter-spacing:1.5px;color:var(--cv-accent,#3b82f6);margin-bottom:8px;font-weight:700}.cv-executif .exec-contact-list{flex-direction:column;gap:6px;display:flex}.cv-executif .exec-contact-item{font-size:calc(var(--cv-font-size,12px) * .83);word-break:break-word;align-items:flex-start;gap:6px;line-height:1.4;display:flex}.cv-executif .exec-icon{opacity:.7;flex-shrink:0;width:12px;height:12px;margin-top:1px}.cv-executif .exec-tag-list{flex-wrap:wrap;gap:4px;display:flex}.cv-executif .exec-tag{font-size:calc(var(--cv-font-size,12px) * .75);border-radius:var(--cv-radius,3px);color:var(--cv-sidebar-text,#e2e8f0);background:#ffffff14;border:1px solid #ffffff1f;padding:2px 7px;font-weight:500;display:inline-block}.cv-executif .exec-tag-soft{color:var(--cv-accent,#3b82f6);background:#ffffff0a;border-color:#ffffff14}.cv-executif .exec-lang-row{margin-bottom:6px}.cv-executif .exec-lang-name{font-size:calc(var(--cv-font-size,12px) * .92);font-weight:600}.cv-executif .exec-lang-detail{font-size:calc(var(--cv-font-size,12px) * .79);opacity:.75;margin-top:1px}.cv-executif .exec-main{background:var(--cv-body-bg,#fff);padding:28px 28px 20px}.cv-executif .exec-header{margin-bottom:var(--cv-spacing,18px);padding-bottom:calc(var(--cv-spacing,18px) * .85);border-bottom:2px solid var(--cv-accent,#3b82f6)}.cv-executif .exec-name{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 2.15);color:var(--cv-primary,#1e293b);letter-spacing:-.3px;margin:0;font-weight:700;line-height:1.15}.cv-executif .exec-title{font-size:calc(var(--cv-font-size,12px) * 1.08);color:var(--cv-accent,#3b82f6);margin-top:3px;font-weight:500}.cv-executif .exec-accroche{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#64748b);margin-top:10px;margin-bottom:0;line-height:1.6}.cv-executif .exec-section{margin-bottom:var(--cv-spacing,18px)}.cv-executif .exec-section-title{font-family:var(--cv-heading-font,"DM Sans", sans-serif);font-size:calc(var(--cv-font-size,12px) * 1.08);color:var(--cv-primary,#1e293b);text-transform:uppercase;letter-spacing:1px;margin-bottom:calc(var(--cv-spacing,18px) * .55);border-bottom:1px solid var(--cv-border,#e2e8f0);padding-bottom:4px;font-weight:700}.cv-executif .exec-entry{margin-bottom:calc(var(--cv-spacing,18px) * .65);padding-bottom:calc(var(--cv-spacing,18px) * .55);border-bottom:1px dashed var(--cv-border,#f1f5f9)}.cv-executif .exec-entry:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.cv-executif .exec-entry-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cv-executif .exec-entry-role{font-weight:600;font-size:var(--cv-font-size,12px);color:var(--cv-body-text,#1e293b)}.cv-executif .exec-entry-company{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-accent,#3b82f6);margin-top:1px;font-weight:500}.cv-executif .exec-entry-date{font-size:calc(var(--cv-font-size,12px) * .83);color:var(--cv-muted,#94a3b8);white-space:nowrap;flex-shrink:0;padding-top:2px;font-weight:500}.cv-executif .exec-entry-desc{font-size:calc(var(--cv-font-size,12px) * .92);color:var(--cv-muted,#64748b);margin-top:4px;margin-bottom:0;line-height:1.55}.cv-executif .exec-mention{font-size:calc(var(--cv-font-size,12px) * .75);background:var(--cv-accent-10,#3b82f61a);color:var(--cv-accent,#3b82f6);border-radius:var(--cv-radius,3px);margin-top:4px;padding:1px 8px;font-weight:600;display:inline-block}.cv-executif .exec-link{font-size:calc(var(--cv-font-size,12px) * .83);color:var(--cv-accent,#3b82f6);align-items:center;gap:3px;margin-top:3px;font-weight:500;text-decoration:none;display:inline-flex}.cv-executif .exec-link:hover{text-decoration:underline}
