.cv-scope{--font-display: "Bodoni Moda", "Times New Roman", serif;--font-body: "Archivo", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--a4-w: 210mm;--a4-h: 297mm;--pad: 9mm;--accent-h: 38;--accent-c: .11;--accent-l: .72;--accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h));--grain-url: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:radial-gradient(120% 80% at 50% 0%,var(--cv-mat-2),transparent 60%),var(--cv-mat);min-height:100vh}.cv-scope,.cv-scope *,.cv-scope *:before,.cv-scope *:after{box-sizing:border-box}.cv-scope[data-theme=nocturne]{--cv-mat: oklch(.1 .006 60);--cv-mat-2: oklch(.13 .006 60)}.cv-scope[data-theme=atelier]{--cv-mat: oklch(.84 .012 85);--cv-mat-2: oklch(.88 .01 85)}.cv-scope[data-theme=nocturne]{--bg: oklch(.17 .006 60);--bg-elev: oklch(.21 .007 60);--ink: oklch(.93 .008 70);--ink-soft: oklch(.8 .01 70);--ink-dim: oklch(.58 .01 70);--line: oklch(.93 .01 70 / .16);--line-strong: oklch(.93 .01 70 / .26);--accent-h: 58;--accent-c: .105;--accent-l: .78;--grain-op: .06;--grain-blend: overlay;--plate-bg: oklch(.21 .006 60)}.cv-scope[data-theme=atelier]{--bg: oklch(.93 .008 85);--bg-elev: oklch(.96 .006 85);--ink: oklch(.22 .012 250);--ink-soft: oklch(.38 .012 250);--ink-dim: oklch(.55 .01 250);--line: oklch(.22 .01 250 / .16);--line-strong: oklch(.22 .01 250 / .3);--accent-h: 244;--accent-c: .045;--accent-l: .5;--grain-op: .05;--grain-blend: multiply;--plate-bg: oklch(.96 .005 85)}.cv-scope[data-theme]{--accent: oklch(var(--accent-l) var(--accent-c) var(--accent-h))}.cv-scope[data-lang=fr] [lang=en],.cv-scope[data-lang=en] [lang=fr]{display:none!important}.cv-toolbar{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:14px;padding:9px 12px;border-radius:100px;background:#0f0d0bd6;backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border:1px solid oklch(.93 .01 70 / .18);font-family:var(--font-mono);color:#e8e4df;box-shadow:0 18px 50px -22px #0009;max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}.cv-toolbar__brand{font-size:10px;letter-spacing:.4em;text-transform:uppercase;padding-left:6px;opacity:.7;white-space:nowrap;color:inherit;text-decoration:none}.seg{display:inline-flex;align-items:center;position:relative;border:1px solid oklch(.93 .01 70 / .24);border-radius:100px;padding:3px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.seg__pill{position:absolute;z-index:1;top:3px;bottom:3px;left:3px;background:#f8b37f;border-radius:100px;transition:transform .5s cubic-bezier(.22,1,.36,1),width .5s cubic-bezier(.22,1,.36,1)}.seg__opt{padding:7px 14px;border-radius:100px;border:0;background:none;cursor:pointer;color:#8a8580;position:relative;z-index:2;transition:color .45s ease;white-space:nowrap;font:inherit}.seg__opt.is-on{color:#0f0d0b}.cv-toolbar__print{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid oklch(.93 .01 70 / .24);border-radius:100px;padding:8px 15px;font:inherit;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#e8e4df;background:none;transition:border-color .4s ease,color .4s ease}.cv-toolbar__print:hover{border-color:#f8b37f}.cv-toolbar__print .x{width:11px;height:11px;position:relative;display:inline-block}.cv-toolbar__print .x:before,.cv-toolbar__print .x:after{content:"";position:absolute;background:#f8b37f}.cv-toolbar__print .x:before{left:50%;top:0;width:1px;height:100%;transform:translate(-50%)}.cv-toolbar__print .x:after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}.pdftray{position:fixed;top:70px;left:50%;transform:translate(-50%) translateY(-8px);z-index:299;display:none;grid-template-columns:1fr 1fr;gap:8px;padding:14px;border-radius:16px;opacity:0;pointer-events:none;background:#0f0d0beb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid oklch(.93 .01 70 / .18);box-shadow:0 24px 60px -26px #000000b3;transition:opacity .35s ease,transform .35s ease}.pdftray.is-open{display:grid;opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.pdftray__title{grid-column:1 / -1;font-family:var(--font-mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:#8a8580;margin:0 0 2px}.pdftray__opt{display:grid;gap:3px;text-decoration:none;padding:11px 13px;border-radius:10px;border:1px solid oklch(.93 .01 70 / .16);background:none;cursor:pointer;text-align:left;font:inherit;transition:border-color .35s ease,background .35s ease}.pdftray__opt:hover{border-color:#f8b37f;background:#ece7e10d}.pdftray__opt .lng{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;color:#e8e4df}.pdftray__opt .thm{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.18em;text-transform:uppercase;color:#8a8580}@media print{.cv-toolbar,.pdftray{display:none!important}}.cv-stage{display:grid;place-items:center;padding:92px 24px 56px}.cv-page{position:relative;width:var(--a4-w);min-height:var(--a4-h);background:var(--bg);color:var(--ink);overflow:hidden;box-shadow:0 50px 110px -45px #000000b3}.cv-page:after{content:"";position:absolute;inset:0;z-index:40;pointer-events:none;opacity:var(--grain-op, .05);mix-blend-mode:var(--grain-blend, overlay);background-image:var(--grain-url);background-size:180px 180px}.cv-page a{color:inherit;text-decoration:none}.cv-page [style*=underline]{text-underline-offset:.18em;text-decoration-thickness:.06em}.eyebrow{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-dim);margin:0}.sec-index{display:flex;align-items:baseline;gap:12px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 10px}.sec-index .num{color:var(--accent)}.sec-index .ln{flex:1;height:1px;background:var(--line);align-self:center}.subhead{font-family:var(--font-mono);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 9px}.cv-name{font-family:var(--font-display);font-weight:500;line-height:.9;letter-spacing:.01em;margin:0;color:var(--ink)}.cv-tag{font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--ink-soft);line-height:1.2;margin:0}.profile{font-family:var(--font-display);font-style:italic;font-weight:400;line-height:1.26;color:var(--ink-soft);margin:0}.profile em{color:var(--ink);font-style:italic}.contact{display:grid;gap:7px;font-size:11px;color:var(--ink-soft)}.contact a{color:inherit;text-decoration:none;word-break:break-word}.contact .lbl{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);display:block;margin-bottom:2px}.rail-list{margin:0;font-size:10.5px;line-height:1.4;color:var(--ink-soft)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips span{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);padding:5px 9px;border-radius:100px;line-height:1}.tags{display:flex;flex-wrap:wrap;gap:5px 7px;margin-top:7px}.tags span{font-family:var(--font-mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.tags span:not(:last-child):after{content:"·";margin-left:7px;color:var(--accent)}.entry__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.entry__role{font-family:var(--font-display);font-size:15px;font-weight:500;line-height:1.08;margin:0;color:var(--ink)}.entry__where{font-size:10.5px;color:var(--ink-dim);margin:2px 0 0}.entry__when{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);white-space:nowrap}.entry__desc{font-size:11px;line-height:1.38;color:var(--ink-soft);margin:5px 0 0}.proj{display:flex;flex-direction:column;gap:7px}.proj__item{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:baseline}.proj__num{font-family:var(--font-display);font-style:italic;font-size:13px;color:var(--accent);line-height:1}.proj__t{font-family:var(--font-display);font-size:12.5px;font-weight:500;color:var(--ink)}.proj__d{font-size:10px;color:var(--ink-dim);display:block;margin-top:1px;line-height:1.35}.portrait{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--plate-bg);border:1px solid var(--line-strong)}.portrait__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.pl-cross{position:absolute;width:12px;height:12px;z-index:3;opacity:.55;pointer-events:none}.pl-cross:before,.pl-cross:after{content:"";position:absolute;background:var(--ink-dim)}.pl-cross:before{left:50%;top:0;width:1px;height:100%;transform:translate(-50%)}.pl-cross:after{top:50%;left:0;height:1px;width:100%;transform:translateY(-50%)}.pl-cross.tl{top:9px;left:9px}.pl-cross.br{bottom:9px;right:9px}.pl-cap{position:absolute;left:12px;bottom:10px;z-index:3;font-family:var(--font-mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);pointer-events:none}.cv-scope ul{margin:.4em 0;padding-left:1.1em;list-style:disc outside}.cv-scope li{margin:.15em 0}.cv-scope li::marker{color:inherit;font-size:inherit}.cv-a{display:grid;grid-template-columns:70mm 1fr;min-height:var(--a4-h)}.cv-a__rail{background:var(--bg-elev);border-right:1px solid var(--line);padding:var(--pad) 11mm;display:flex;flex-direction:column;gap:16px}.cv-a__main{padding:var(--pad) 14mm;display:flex;flex-direction:column;gap:9px}.cv-a__name{font-size:38px}.cv-a__name .l1{display:block;font-style:italic}.cv-a__name .l2{display:block;letter-spacing:.14em;text-transform:uppercase}.cv-a__avail{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:7px 0 0;line-height:1.55}.cv-a__meta{display:flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:9px 0 0;flex-wrap:wrap}.cv-a__meta .dot{width:3px;height:3px;border-radius:50%;background:var(--accent)}.cv-a__block{display:flex;flex-direction:column;gap:10px}.cv-a__main .cv-tag{font-size:17px}.cv-a__main .profile{font-size:14px}.cv-a__entries{display:flex;flex-direction:column;gap:7px}.cv-a__entries .entry{padding-top:7px;border-top:1px solid var(--line)}.cv-a__entries .entry:first-child{padding-top:0;border-top:0}.distinction{font-family:var(--font-display);font-size:13px;line-height:1.25;color:var(--ink);margin:0}.distinction .sub{display:block;font-family:var(--font-body);font-size:10px;color:var(--ink-dim);margin-top:4px}.cv-scope[data-ats="1"] .cv-page{height:auto;min-height:0;overflow:visible;box-shadow:none}.cv-scope[data-ats="1"] .cv-page:after{display:none}.cv-scope[data-ats="1"] .cv-a{grid-template-columns:1fr;min-height:0}.cv-scope[data-ats="1"] .cv-a__rail{border-right:0;border-bottom:1px solid var(--line)}.cv-scope[data-ats="1"] .cv-a__name .l1,.cv-scope[data-ats="1"] .cv-a__name .l2{display:inline}.cv-scope[data-ats="1"] .cv-a__name .l1:after{content:" "}.cv-scope[data-ats="1"] .eyebrow,.cv-scope[data-ats="1"] .sec-index,.cv-scope[data-ats="1"] .subhead,.cv-scope[data-ats="1"] .cv-a__meta,.cv-scope[data-ats="1"] .contact .lbl,.cv-scope[data-ats="1"] .entry__when,.cv-scope[data-ats="1"] .chips span,.cv-scope[data-ats="1"] .tags span,.cv-scope[data-ats="1"] .cv-a__name .l2{letter-spacing:.01em}.cv-scope[data-ats="1"] .portrait{display:none}@media screen and (max-width:840px){.cv-stage{padding:86px 14px 40px}.cv-page{width:100%;max-width:560px;min-height:0}.cv-a{grid-template-columns:1fr;min-height:0}.cv-a__rail{border-right:0;border-bottom:1px solid var(--line);padding:30px 24px}.cv-a__main{padding:30px 24px;gap:24px}.cv-a__name{font-size:clamp(34px,11vw,46px)}.cv-a__main .profile{font-size:16px}.entry__desc,.contact{font-size:13px}.entry__role{font-size:17px}.chips span,.tags span{font-size:10px}}@media screen and (max-width:420px){.entry__top{flex-direction:column;gap:2px}.entry__when{order:-1}}@media print{@page{size:A4;margin:0}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}*,*:before,*:after{animation-delay:-99s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-fill-mode:both!important;animation-play-state:running!important;transition-duration:0s!important}html:has(body.cv-print-page),body.cv-print-page{background:#fff!important}html:has(body.cv-print-page),body.cv-print-page{margin:0!important;padding:0!important;overflow:hidden!important}.cv-scope{background:#fff!important;min-height:0}.cv-stage{display:block;padding:0}.cv-page{width:var(--a4-w);height:var(--a4-h);min-height:var(--a4-h);box-shadow:none;margin:0;overflow:hidden;break-inside:avoid}.cv-a{min-height:var(--a4-h)}.cv-a__entries .entry,.proj__item,.portrait{break-inside:avoid}.entry__role,.sec-index{break-after:avoid}.cv-page:after{display:none!important}.cv-a__name{line-height:1.08}html:has(.cv-scope[data-ats="1"]),body.cv-print-page:has(.cv-scope[data-ats="1"]){overflow:visible!important}.cv-scope[data-ats="1"] .cv-page{height:auto;min-height:0;overflow:visible;break-inside:auto}.cv-scope[data-ats="1"] .cv-a{min-height:0}}
