@font-face{font-family:Manrope;src:url('../fonts/manrope-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('../fonts/manrope-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('../fonts/manrope-latin-800-normal.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
/* QRCode.sn CV Pro — document rules shared by editor, thumbnail and public print. */
.qcv-studio,.qcv-studio *{box-sizing:border-box}.qcv-studio{color:#172d40;font-family:Manrope,Arial,sans-serif}.qcv-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.qcv-intro h1{font-size:clamp(25px,2.8vw,36px);margin:4px 0 8px;letter-spacing:-.035em}.qcv-intro p{max-width:65ch;margin:0;color:#5d7180}.qcv-pill{display:inline-flex;padding:5px 10px;border-radius:30px;background:#e2f3ee;color:#15564c;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.qcv-action{display:inline-flex;align-items:center;justify-content:center;min-height:39px;border:1px solid #cddcdd;background:#fff;border-radius:10px;padding:9px 14px;color:#153449;font-size:13px;font-weight:750;cursor:pointer;gap:7px;text-decoration:none}.qcv-action:hover{border-color:#228e86}.qcv-action:focus-visible,.qcv-studio input:focus-visible,.qcv-studio textarea:focus-visible,.qcv-studio select:focus-visible{outline:3px solid #10a9a0;outline-offset:2px}.qcv-action.primary{background:#102f45;color:#fff;border-color:#102f45}.qcv-action.danger{color:#a32838}.qcv-action[disabled]{opacity:.5;cursor:wait}.qcv-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.qcv-muted{font-size:12px;color:#647787}.qcv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.qcv-item{border:1px solid #dce5e9;background:#fff;border-radius:18px;padding:20px;display:grid;gap:10px;box-shadow:0 8px 30px #163b4a08}.qcv-item h3{font-size:17px;margin:0}.qcv-item time{font-size:11px;color:#657886}.qcv-item .qcv-actions{padding-top:6px}.qcv-split-editor{display:grid;grid-template-columns:minmax(310px,.87fr) minmax(380px,1.13fr);gap:20px;align-items:start}.qcv-panel{background:#fff;border:1px solid #dae5e9;border-radius:18px;padding:18px;min-width:0;box-shadow:0 10px 35px #0e39470a}.qcv-panel h2{font-size:18px;line-height:1.3;margin:0 0 13px}.qcv-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.qcv-tabs button{border:1px solid #deeaed;border-radius:9px;background:#f5f8f9;padding:9px 12px;font-size:12px;color:#304c60;cursor:pointer}.qcv-tabs button[aria-selected=true]{background:#123a4c;color:#fff;border-color:#123a4c}.qcv-field{display:grid;gap:5px;margin-bottom:12px;font-size:12px;color:#486273;font-weight:700}.qcv-field input,.qcv-field select,.qcv-field textarea,.qcv-search{width:100%;padding:11px 12px;border:1px solid #cddcdd;border-radius:10px;background:#fff;color:#193a49;min-width:0;font:inherit}.qcv-field textarea{min-height:96px;resize:vertical}.qcv-field input[type=color]{height:44px;padding:5px}.qcv-field input[type=file]{font-size:11px}.qcv-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qcv-record{border:1px solid #dfe7ea;border-radius:12px;padding:12px;margin-bottom:11px;background:#f9fbfb}.qcv-record header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.qcv-record header strong{font-size:13px}.qcv-record .qcv-actions button{min-height:28px;padding:4px 7px;font-size:11px}.qcv-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;margin-bottom:12px}.qcv-toolbar .qcv-muted{margin:0}.qcv-canvas{background:#dce5e8;border-radius:16px;padding:16px;overflow:auto;max-height:calc(100vh - 120px);scrollbar-width:thin}.qcv-canvas .qcv-sheet{margin:0 auto;box-shadow:0 15px 45px #1e394532}.qcv-model-controls{display:grid;grid-template-columns:minmax(110px,1.5fr) minmax(110px,1fr);gap:10px;margin-bottom:13px}.qcv-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.qcv-model-card{border:2px solid #dce5e8;border-radius:13px;background:#fff;overflow:hidden;cursor:pointer;text-align:left;padding:7px}.qcv-model-card[aria-pressed=true]{border-color:#027b74;box-shadow:0 0 0 2px #a3dcd2}.qcv-thumb{height:145px;overflow:hidden;position:relative;background:#edf1f3;border-radius:7px}.qcv-thumb .qcv-sheet{width:210mm!important;min-height:297mm!important;transform:scale(.235);transform-origin:top left;box-shadow:none}.qcv-model-name{display:block;font-size:11px;font-weight:800;padding:7px 3px 0;line-height:1.3}.qcv-model-desc{display:block;font-size:10px;color:#657887;margin:2px 3px 3px}.qcv-gal-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}.qcv-sticky{position:sticky;bottom:0;background:linear-gradient(180deg,#fffffff0,#fff);border:1px solid #d8e2e5;padding:12px;border-radius:14px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;z-index:5;box-shadow:0 -6px 30px #12354412}.qcv-status{font-size:12px;color:#536b78}.qcv-status.error{color:#9a2435}.qcv-toast{padding:12px 15px;border-radius:12px;border:1px solid #b9e4da;background:#edf9f5;font-size:13px;margin-bottom:12px}.qcv-toast.error{border-color:#eab4ba;background:#fff1f3;color:#8e2835}.qcv-public{margin:0;background:#e1e8ec;padding:28px 10px;font-family:Manrope,Arial,sans-serif}.qcv-public-tools{display:flex;justify-content:space-between;align-items:center;margin:0 auto 16px;max-width:210mm;gap:10px}.qcv-public-tools a{color:#153b4f;font-weight:800}.qcv-public-tools button{background:#17364e;border:0;color:#fff;border-radius:9px;padding:11px 18px;cursor:pointer}.qcv-public>.qcv-sheet{margin:auto;box-shadow:0 10px 60px #102b4533}
.qcv-sheet,.qcv-sheet *{box-sizing:border-box}.qcv-sheet{--qcv-accent:#15344A;--qcv-font:Manrope,Arial,sans-serif;--qcv-paper:#fff;--qcv-ink:#1c2a35;display:flex;flex-direction:column;background:var(--qcv-paper);color:var(--qcv-ink);font:11pt/1.47 var(--qcv-font);width:210mm;min-height:297mm;padding:18mm 19mm 15mm;overflow-wrap:anywhere;print-color-adjust:exact;-webkit-print-color-adjust:exact}.qcv-sheet h1,.qcv-sheet h2,.qcv-sheet p{font:inherit;color:inherit;letter-spacing:normal;margin:0}.qcv-sheet a{color:inherit;text-decoration:none}.qcv-head{display:flex;gap:15px;align-items:center;padding:0 0 12mm;border-bottom:1px solid #cdd5d9;margin-bottom:9mm}.qcv-head>div:first-child:empty{display:none}.qcv-photo{width:24mm;height:24mm;object-fit:cover;border-radius:50%}.qcv-headlines{min-width:0;flex:1}.qcv-head h1{font-size:25pt;line-height:1.07;font-weight:800;color:var(--qcv-accent);letter-spacing:-.04em}.qcv-head .qcv-role{font-size:11pt;font-weight:650;margin-top:4mm;color:#4a5964}.qcv-contacts{display:flex;gap:4px 12px;flex-wrap:wrap;margin-top:4mm;font-size:8.5pt;color:#485b66}.qcv-contacts span{max-width:100%}.qcv-main{flex:1;min-width:0}.qcv-section{margin:0 0 7mm;break-inside:auto}.qcv-section h2{font-size:10pt;font-weight:850;text-transform:uppercase;color:var(--qcv-accent);letter-spacing:.075em;padding:0 0 2mm;border-bottom:1px solid #bfcbd0;margin-bottom:3mm;break-after:avoid}.qcv-section>p,.qcv-entry p{font-size:9.2pt;line-height:1.52}.qcv-entry{margin:0 0 4.5mm;break-inside:avoid}.qcv-entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8mm}.qcv-entry-heading strong{font-weight:750;font-size:9.7pt}.qcv-entry-heading time{font-size:8pt;color:#526575;white-space:nowrap}.qcv-entry-sub{font-size:9pt;color:var(--qcv-accent);font-weight:700}.qcv-entry-location{font-size:8pt;color:#657684}.qcv-entry p{margin-top:2mm;white-space:normal}.qcv-mark{text-align:center;margin-top:auto;padding-top:6mm;color:#6c7d84;font-size:7pt;border-top:1px solid #e5eaec}.qcv-mark a{font-weight:750;color:#245c66}
.qcv-columns{display:grid;grid-template-columns:1fr 1fr;gap:11mm;align-items:start}.qcv-layout-sidebar{padding-left:0}.qcv-layout-sidebar .qcv-head{background:var(--qcv-accent);color:#fff;padding:17mm 17mm 12mm;margin-bottom:10mm}.qcv-layout-sidebar .qcv-head h1,.qcv-layout-sidebar .qcv-head .qcv-role,.qcv-layout-sidebar .qcv-contacts{color:#fff}.qcv-layout-sidebar .qcv-main{padding-left:18mm}.qcv-layout-sidebar .qcv-columns{grid-template-columns:1fr 1.45fr}.qcv-layout-sidebar .qcv-columns>div:first-child{background:#f1f5f5;padding:8mm;border-left:3mm solid var(--qcv-accent)}.qcv-layout-banner .qcv-head{margin:-18mm -19mm 12mm;padding:20mm 19mm;background:var(--qcv-accent)}.qcv-layout-banner .qcv-head h1,.qcv-layout-banner .qcv-head .qcv-role,.qcv-layout-banner .qcv-contacts{color:#fff}.qcv-layout-editorial .qcv-head{display:block;border:0;padding-bottom:5mm}.qcv-layout-editorial .qcv-head h1{font-family:Georgia,serif;font-weight:500;font-size:35pt}.qcv-layout-editorial .qcv-columns{grid-template-columns:1.28fr .72fr;border-top:3px solid var(--qcv-accent);padding-top:8mm}.qcv-layout-split .qcv-columns{grid-template-columns:1.25fr .75fr}.qcv-layout-skills .qcv-columns{grid-template-columns:1fr 1fr}.qcv-layout-skills .qcv-section h2{padding:3mm 4mm;background:color-mix(in srgb,var(--qcv-accent) 10%,#fff);border:0;border-radius:3px}.qcv-layout-timeline .qcv-section .qcv-entry{padding-left:5mm;border-left:2px solid #c0d1d7;position:relative}.qcv-layout-timeline .qcv-entry:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--qcv-accent);position:absolute;top:5px;left:-4px}.qcv-layout-minimal .qcv-head{text-align:center;display:block}.qcv-layout-minimal .qcv-head h1{letter-spacing:.08em;text-transform:uppercase;font-size:18pt;font-weight:600}.qcv-layout-minimal .qcv-contacts{justify-content:center}.qcv-layout-minimal .qcv-section h2{letter-spacing:.18em;border:0}.qcv-density-compact{font-size:10pt;padding-top:14mm;padding-bottom:12mm}.qcv-density-compact .qcv-section{margin-bottom:4mm}.qcv-density-compact .qcv-entry{margin-bottom:2.7mm}.qcv-density-airy .qcv-section{margin-bottom:11mm}.qcv-density-airy .qcv-entry{margin-bottom:6mm}
/* Distinct art directions: type system and framing, independent of user accent. */
.qcv-universe-institutional-prestige .qcv-head h1{font-family:Georgia,serif;font-weight:500;letter-spacing:0}.qcv-universe-institutional-prestige .qcv-section h2{border-bottom:2px double #a9b7b9}.qcv-universe-modern-corporate .qcv-section h2{border-bottom:2px solid var(--qcv-accent)}.qcv-universe-tech-innovation .qcv-head h1{font-family:Arial,sans-serif;letter-spacing:-.06em}.qcv-universe-tech-innovation .qcv-section h2{font-family:Consolas,monospace}.qcv-universe-minimal-scandinavian .qcv-head{border-bottom:0}.qcv-universe-minimal-scandinavian .qcv-section h2{letter-spacing:.16em}.qcv-universe-luxury-executive .qcv-head h1{font-family:Georgia,serif;font-weight:400}.qcv-universe-luxury-executive .qcv-section h2{font-family:Georgia,serif;font-style:italic;text-transform:none;font-size:12pt}.qcv-universe-creative-professional .qcv-head{border-bottom:4px solid var(--qcv-accent)}.qcv-universe-creative-professional .qcv-head h1{font-size:30pt}.qcv-universe-academic-research .qcv-section h2{font-family:Georgia,serif;text-transform:none;font-size:12pt}.qcv-universe-healthcare-medical .qcv-section h2{border-left:3mm solid var(--qcv-accent);padding-left:3mm;border-bottom:none}.qcv-universe-legal-finance .qcv-head h1{font-family:Georgia,serif;font-size:23pt}.qcv-universe-legal-finance .qcv-section h2{border-bottom:1px solid var(--qcv-accent)}.qcv-universe-graduate-career .qcv-head{border-bottom:3px solid var(--qcv-accent)}.qcv-universe-graduate-career .qcv-section h2{font-size:11pt}.qcv-universe-international-mobility .qcv-section h2{letter-spacing:.12em}
@media(max-width:1150px){.qcv-split-editor{grid-template-columns:1fr}.qcv-canvas{max-height:none}.qcv-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.qcv-list{grid-template-columns:1fr}.qcv-intro{flex-direction:column}.qcv-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.qcv-grid2{grid-template-columns:1fr}.qcv-canvas{padding:6px}.qcv-canvas .qcv-sheet{transform:scale(.4);transform-origin:top left;margin-bottom:-170mm}.qcv-toolbar{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.qcv-studio *{animation:none!important;transition:none!important}}
@page{size:A4;margin:0}
@media print{html,body{background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}body .qcv-preview,body .qcv-preview *,body.qcv-public .qcv-sheet,body.qcv-public .qcv-sheet *{visibility:visible!important}body .qcv-preview{position:absolute!important;left:0!important;top:0!important;width:210mm!important;height:auto!important;max-height:none!important;overflow:visible!important;background:#fff!important;padding:0!important}body .qcv-preview .qcv-sheet,body.qcv-public .qcv-sheet{box-shadow:none!important;border:0!important;margin:0!important;transform:none!important;min-height:297mm!important;width:210mm!important;max-width:none!important}.qcv-sheet a{text-decoration:none}.qcv-entry{break-inside:avoid}.qcv-section h2{break-after:avoid}.qcv-mark{break-inside:avoid}body.qcv-public .qcv-public-tools{display:none!important}}

/* Repeating printed brand signature: supported Chromium paged-media margin box. */
@page{size:A4;margin:14mm 15mm 17mm;@bottom-center{content:"Propulsé par QRCode.sn";font:8pt Arial,sans-serif;color:#54616a}}
@media print{body .qcv-preview .qcv-sheet,body.qcv-public .qcv-sheet{padding:0!important;width:100%!important;min-height:0!important;max-width:none!important;box-shadow:none!important}body .qcv-preview{width:100%!important}body .qcv-mark,body.qcv-public .qcv-mark{display:none!important}.qcv-section{break-inside:auto}}
