:root{--title-blue: #095692;--accent-purple: #700696;--accent-orange: #E35E00;--accent-green: #D2E000;--text-main: #000;--text-faded: #333;--text-muted: #666;--page-width: 210mm;--side-pad: 16mm;--line-height: 1.45}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:var(--line-height);color:var(--text-main);font-size:80%;background:#ccc}.util-switch{position:absolute;opacity:0}.switch-font-size{display:none}#fontSize80:checked~nav .switch-font-size[for=fontSize100],#fontSize100:checked~nav .switch-font-size[for=fontSize120],#fontSize120:checked~nav .switch-font-size[for=fontSize80]{display:block;cursor:pointer}body{background:#fff;min-width:var(--page-width);width:var(--page-width);max-width:100%;margin:0 auto;padding:0;position:relative;min-height:100vh}#fontSize80:checked~main{font-size:.8em}#fontSize100:checked~main{font-size:1em}#fontSize120:checked~main{font-size:1.2em}summary{cursor:pointer}a{color:var(--title-blue);text-decoration:none}a:visited{color:var(--accent-purple)}a:hover,a:active,a:focus{color:var(--text-main);text-shadow:1px 1px 2px var(--accent-green)}a[lang]:after{opacity:.6}a[target=_blank]:after{content:" ↗";opacity:.6}html[lang=en] main a[lang=fr]:after{content:" (French)"}html[lang=fr] main a[lang=en]:after{content:" (Anglais)"}li-group{display:flex;flex-direction:column;margin-bottom:.5rem}.top-bar{position:sticky;top:0;left:0;right:0;box-shadow:0 2px 4px #0000001a;margin:0 auto -3mm;z-index:1}.page{padding:15mm var(--side-pad) 20mm;color:var(--text-main);font-size:1rem}.top-bar{height:3mm;background:linear-gradient(90deg,var(--accent-purple),var(--accent-orange))}h1,h2{margin:0;font-weight:700;line-height:calc(var(--line-height) * 1.5);margin-top:.5rem}h1{font-size:1.6rem;color:var(--text-main)}img{max-width:100%}.company-name{font-weight:700;color:var(--text-main)}.subtitle{font-size:1.1rem;color:var(--title-blue);font-weight:700;margin-bottom:1em}.subtitle:empty:after{content:" "}section,.ats-section{margin-top:.5rem;margin-bottom:.5rem}.section-title{font-size:1.15rem;color:var(--title-blue);font-weight:700;margin-top:1.25rem;line-height:1.5}.section-title>em{font-weight:400;font-size:1rem;margin-left:.25rem;color:var(--text-faded)}.ats-section:not([open]) .section-title{color:var(--text-faded)}.ats-section:not([open]) .section-title>em{color:var(--title-muted)}.section-title~*{margin-left:1ch}.free-text-section p:first-child{margin-top:1.25rem}.free-text-section p{margin-left:1ch}p{margin:0;font-size:1rem;color:var(--text-faded)}p+p{margin-top:.5rem}figcaption{color:#222;font-size:14px;font-style:italic;line-height:19.5px;margin-top:6.5px;margin-bottom:0;text-align:center}figure>figcaption{margin:1em auto auto;width:calc(100% - 1.75em);padding:.75em 1em;border-radius:3px;background:#a566c520}p>img:only-child{margin-left:auto;margin-right:auto}pre.shiki .line.highlighted{display:inline-block;width:calc(100% + 4em);margin:0 -2em;padding:0 2em;background:#e35e001a}.feed__item{margin-bottom:1rem}.feed__badge{display:inline-block;font-size:.75em;font-weight:700;padding:0 .35em;margin-right:.35em;border-radius:.25em;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.04em}.feed__badge--article{color:var(--accent-orange);margin-right:.5em}.feed__badge--achievement{color:var(--accent-purple)}.feed__link{font-weight:700;font-size:1.05rem}.feed__lang{margin-left:.35em;font-size:.7em;font-weight:700;padding:0 .3em;border-radius:.25em;border:1px solid currentColor;opacity:.65}.feed__date{margin-left:.5em;color:var(--text-muted);font-size:.85em}.feed__description{color:var(--text-faded);margin:.15rem 0 0}.inline-code,:not(pre.shiki)>code{border-radius:5px;font-size:92.5%;text-shadow:-1px -1px 1px white;box-shadow:inset 3px 3px 30px -6px #fff;background:#e35e0020;padding:.1em .35em}.experience-title{line-height:calc(var(--line-height) * 1.25);margin-top:.25rem;font-size:1.05rem;font-weight:700;color:var(--title-blue)}.separator{color:var(--accent-green)}.meta-inline{font-size:1rem}.page-nav{display:flex;position:sticky;justify-content:space-between;height:8mm;margin-bottom:-8mm;top:0;padding:1mm 2.5mm 0;gap:2.5mm;z-index:1;a{padding:1mm;border-radius:3mm;background-color:#fff;font-weight:700}}.absolute-link{position:absolute;top:0;left:0;right:0;padding:.5em 1em;background:#fff;border-radius:.5rem;color:#000;font-weight:700;z-index:10000;width:fit-content;margin:.25rem .375rem auto}.skip-to-content{margin-right:.375rem;position:fixed;z-index:2;top:0;left:0;right:0;margin:1mm auto 0;transform:translateY(-150%);transition:transform .2s ease}.skip-to-content:focus,.skip-to-content:active{transform:translateY(0)}@media print{html,body{background:#fff}.page{padding-top:10mm;padding-bottom:15mm}.top-bar{width:100%}.absolute-link,.ats-section{display:none!important}}.icon{display:inline-block;vertical-align:text-bottom;width:1em;height:1em;background-size:contain;background-repeat:no-repeat;background-position:center}.github-icon{background-image:url(/assets/github-mark.svg)}.linkedin-icon{background-image:url(/assets/LI-In-Bug.png)}figure[of-code]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;justify-content:space-between;margin:26px 0;--gap: 1em;gap:var(--gap)}figure[of-code]>*{margin:0;flex-grow:1;flex-basis:calc(50% - var(--gap) / 2);min-width:calc(50% - var(--gap) / 2)}figure[of-code]>figcaption{flex-basis:100%}figure[of-code] pre{position:relative;max-width:100%;padding:.75ch 2em;overflow-x:auto;min-width:min-content}figure[of-code] pre>code{display:block;min-width:min-content}figure[of-code] pre>code .line{overflow:hidden}figure[of-code] .frame-wrap{min-height:0;min-width:0;display:flex;justify-content:center;padding:2em 0}figure[of-code] iframe{border:0;display:block;min-height:0;height:calc(var(--inner-iframe-height, 0px) * var(--overflow-visible, 0));max-height:100%;min-width:0;width:calc(var(--inner-iframe-width, 0px) * var(--overflow-visible, 0));max-width:100%;margin:auto}figure[of-code] iframe.frame--compilation-error{outline:1em solid crimson;outline-offset:0}figure[of-code] .compile-error{margin:.5em 0 0;padding:.75em 1em;border-left:4px solid crimson;background:#dc143c14;font-family:monospace;font-size:.9em;white-space:pre-wrap}figure[of-code][hidden],figure[of-code] pre[hidden]{display:none}figure[of-code] .caption{flex-shrink:0;flex-basis:100%;margin-top:13px;opacity:.85}figure[of-code] .input{display:flex;flex-direction:column;justify-content:space-evenly;margin:0 .25em}figure[of-code] .input>pre[class*=language-]+pre[class*=language-]{margin-top:0}figure[of-code] .output[hidden]{display:none}figure[of-code] .output{background:#46b4ff20;border:2px solid #00538b;border-radius:5px;box-shadow:0 0 0 2px #cea1a833,inset 3px 3px 30px -6px #008ae840;margin:0 .25em}:where(noscript:has(p),p.disclaimer,p.warn,p.info,p.question,p.error){display:block;box-shadow:inset 0 0 0 .25em var(--callout-color, lightsalmon);background-color:var(--shiki-bg, white)!important;margin-top:26px;margin-bottom:26px;padding:26px}:where(noscript:has(p),p.disclaimer,p.warn,p.info,p.question,p.error)>p:first-child{margin-top:0}:where(noscript:has(p),p.disclaimer,p.warn,p.info,p.question,p.error)>p:last-child{margin-bottom:0}:where(p.disclaimer,p.warn,noscript:has(p)){--callout-color: lightsalmon}:where(p.info,p.question){--callout-color: lightskyblue}:where(p.error){--callout-color: crimson}[no-js] pre>code.language-js,[no-js] pre>code.language-jsx,[no-js] pre>code.language-ts,[no-js] pre>code.language-tsx{display:block;margin-top:1.5em}[no-js] pre>code.language-js:before,[no-js] pre>code.language-jsx:before,[no-js] pre>code.language-ts:before,[no-js] pre>code.language-tsx:before{content:var(--not-executed, "");position:absolute;inset:0;pointer-events:none;line-height:1.5em;text-align:center;box-shadow:inset 0 0 0 .25em #ffa07a,inset 0 1.5em #ffa07a}*[style*=resize]{position:relative;min-width:10em;max-width:calc(100vw - 40px);overflow:scroll;border-style:solid}*[style*="resize: horizontal"],*[style*="resize: both"]{border-top-style:dashed;border-bottom-style:dashed}*[style*="resize: horizontal"]:before,*[style*="resize: both"]:before{content:"";visibility:visible;position:absolute;bottom:0;right:1em;height:1em;width:2em;max-width:100%;background-repeat:no-repeat;background-image:linear-gradient(currentColor,currentColor),linear-gradient(135deg,transparent 50%,currentColor 0),linear-gradient(45deg,transparent 50%,currentColor 0);background-size:100% .15em,.5em .5em,.5em .5em;background-position:50% 50%,0% 0%,0% 100%}*[style*="resize: vertical"],*[style*="resize: both"]{border-left-style:dashed;border-right-style:dashed}*[style*="resize: vertical"]:after,*[style*="resize: both"]:after{content:"";visibility:visible;position:absolute;bottom:1em;right:0;height:2em;width:1em;max-height:100%;background-repeat:no-repeat;background-image:linear-gradient(currentColor,currentColor),linear-gradient(135deg,transparent 50%,currentColor 0),linear-gradient(-135deg,transparent 50%,currentColor 0);background-size:.15em 100%,.5em .5em,.5em .5em;background-position:50% 50%,0% 0%,100% 0%}footer[data-astro-cid-sz7xmlte]{min-height:1px}footer[data-astro-cid-sz7xmlte] .badge[data-astro-cid-sz7xmlte]{display:none}@supports (content-visibility: auto){footer[data-astro-cid-sz7xmlte]{content-visibility:auto;contain-intrinsic-size:0 40px;text-align:center;padding:1em 0}footer[data-astro-cid-sz7xmlte] .badge[data-astro-cid-sz7xmlte]{display:inline-block;height:20px;width:auto}}
