@font-face{font-family:Red Hat Display;font-style:normal;font-weight:700;font-display:swap;src:url("/css/red-hat-display-latin-700-normal-WMG64TW7.woff2") format("woff2")}@font-face{font-family:Red Hat Display;font-style:normal;font-weight:800;font-display:swap;src:url("/css/red-hat-display-latin-800-normal-22WGS44V.woff2") format("woff2")}@font-face{font-family:Red Hat Text;font-style:normal;font-weight:400;font-display:swap;src:url("/css/red-hat-text-latin-400-normal-OV4KODUR.woff2") format("woff2")}@font-face{font-family:Red Hat Text;font-style:normal;font-weight:500;font-display:swap;src:url("/css/red-hat-text-latin-500-normal-EGOSKCNY.woff2") format("woff2")}@font-face{font-family:Red Hat Text;font-style:normal;font-weight:700;font-display:swap;src:url("/css/red-hat-text-latin-700-normal-ZU4JZJIY.woff2") format("woff2")}@font-face{font-family:Red Hat Mono;font-style:normal;font-weight:400;font-display:swap;src:url("/css/red-hat-mono-latin-400-normal-3BIKK36N.woff2") format("woff2")}@font-face{font-family:Red Hat Mono;font-style:normal;font-weight:500;font-display:swap;src:url("/css/red-hat-mono-latin-500-normal-6JYXHPGN.woff2") format("woff2")}:root{--k-encre: #1B2531;--k-papier: #F4F2EE;--k-bleu: #1F8FD6;--k-bleu-50: #ECF7FD;--k-bleu-100: #D5ECFB;--k-bleu-200: #ACDAF6;--k-bleu-300: #77C0EE;--k-bleu-400: #43A7E5;--k-bleu-500: #1F8FD6;--k-bleu-600: #1878B4;--k-bleu-700: #125E91;--k-bleu-800: #0E4871;--k-bleu-900: #0B3351;--k-ardoise-50: #F6F7F9;--k-ardoise-100: #EAEDF1;--k-ardoise-200: #D5DBE2;--k-ardoise-300: #B8C1CC;--k-ardoise-400: #8B98A7;--k-ardoise-500: #647487;--k-ardoise-600: #48586A;--k-ardoise-700: #303E4F;--k-ardoise-800: #232F3E;--k-ardoise-900: #1B2531;--k-ardoise-950: #111822;--k-succes: #17794E;--k-alerte: #946010;--k-danger: #C8372D;--k-info: #1878B4;--k-police-titre: "Red Hat Display", "Segoe UI", "Helvetica Neue", sans-serif;--k-police-texte: "Red Hat Text", "Segoe UI", "Helvetica Neue", sans-serif;--k-police-code: "Red Hat Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--k-taille-xs: .8125rem;--k-taille-s: .9375rem;--k-taille-m: 1.0625rem;--k-taille-l: 1.375rem;--k-taille-xl: 1.875rem;--k-taille-2xl: 2.75rem;--k-taille-3xl: 3.75rem;--k-interligne-texte: 1.6;--k-interligne-titre: 1.1;--k-approche-titre: -.02em;--k-rayon-s: 4px;--k-rayon-m: 8px;--k-rayon-l: 16px;--k-espace: 8px;--k-ombre: 0 1px 2px rgb(27 37 49 / .08), 0 8px 24px rgb(27 37 49 / .08);color-scheme:light;--k-fond: #F4F2EE;--k-surface: #FFFFFF;--k-surface-2: #EAEDF1;--k-texte: #1B2531;--k-texte-doux: #48586A;--k-bordure: #D5DBE2;--k-primaire: #1878B4;--k-primaire-survol: #125E91;--k-sur-primaire: #FFFFFF;--k-lien: #125E91;--k-accent: #1F8FD6;--k-focus: #1F8FD6}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--k-fond: #111822;--k-surface: #1B2531;--k-surface-2: #232F3E;--k-texte: #F4F2EE;--k-texte-doux: #B8C1CC;--k-bordure: #303E4F;--k-primaire: #1F8FD6;--k-primaire-survol: #43A7E5;--k-sur-primaire: #111822;--k-lien: #77C0EE;--k-accent: #1F8FD6;--k-focus: #77C0EE}}:root[data-theme=dark]{color-scheme:dark;--k-fond: #111822;--k-surface: #1B2531;--k-surface-2: #232F3E;--k-texte: #F4F2EE;--k-texte-doux: #B8C1CC;--k-bordure: #303E4F;--k-primaire: #1F8FD6;--k-primaire-survol: #43A7E5;--k-sur-primaire: #111822;--k-lien: #77C0EE;--k-accent: #1F8FD6;--k-focus: #77C0EE}:root{--k-fond: #FFFFFF;--k-surface: #F4F7FB;--k-surface-2: #FFFFFF;--k-texte: #1B2531;--k-texte-doux: #48586A;--k-bordure: #DCE3EC;--k-primaire: #1670AE;--k-primaire-survol: #125E91;--k-sur-primaire: #FFFFFF;--k-lien: #146CA8;--k-accent: #1F8FD6;--k-focus: #1F8FD6;--hero-bg: linear-gradient(120deg, #E6F0FB 0%, #EDF5FC 50%, #E2F3F1 100%);--hero-grid: rgb(18 94 145 / .08);--ring: linear-gradient(135deg, #1F8FD6, #0D9488);--panel-bg: linear-gradient(120deg, #1670AE 0%, #4F46E5 100%);--rainbow: linear-gradient(90deg, #1F8FD6, #7C3AED 50%, #C026D3);--shadow: 0 1px 2px rgb(27 37 49 / .06), 0 10px 30px -12px rgb(27 37 49 / .18);--blue: #1F8FD6;--blue-ink: #125E91;--green: #16A34A;--green-ink: #166534;--teal: #0D9488;--teal-ink: #115E59;--violet: #7C3AED;--violet-ink: #6D28D9;--fuchsia: #C026D3;--fuchsia-ink: #86198F;--orange: #EA580C;--orange-ink: #9A3412;--indigo: #4F46E5;--indigo-ink: #4338CA;--cyan: #0891B2;--cyan-ink: #155E75}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--k-fond: #16202E;--k-surface: #1A2535;--k-surface-2: #1F2B3C;--k-texte: #F4F6F9;--k-texte-doux: #B8C3D1;--k-bordure: #2E3D52;--k-primaire: #4FAEEC;--k-primaire-survol: #77C0EE;--k-sur-primaire: #0B1726;--k-lien: #62B6EE;--k-accent: #4FAEEC;--k-focus: #77C0EE;--hero-bg: linear-gradient(120deg, #0E2240 0%, #102C4C 50%, #0D3640 100%);--hero-grid: rgb(119 192 238 / .08);--ring: linear-gradient(135deg, #4FAEEC, #2DD4BF);--rainbow: linear-gradient(90deg, #4FAEEC, #A78BFA 50%, #E879F9);--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 10px 30px -12px rgb(0 0 0 / .5);--blue: #77C0EE;--blue-ink: #77C0EE;--green: #4ADE80;--green-ink: #4ADE80;--teal: #2DD4BF;--teal-ink: #2DD4BF;--violet: #C4B5FD;--violet-ink: #C4B5FD;--fuchsia: #F0ABFC;--fuchsia-ink: #F0ABFC;--orange: #FDBA74;--orange-ink: #FDBA74;--indigo: #A5B4FC;--indigo-ink: #A5B4FC;--cyan: #22D3EE;--cyan-ink: #22D3EE}}:root[data-theme=dark]{--k-fond: #16202E;--k-surface: #1A2535;--k-surface-2: #1F2B3C;--k-texte: #F4F6F9;--k-texte-doux: #B8C3D1;--k-bordure: #2E3D52;--k-primaire: #4FAEEC;--k-primaire-survol: #77C0EE;--k-sur-primaire: #0B1726;--k-lien: #62B6EE;--k-accent: #4FAEEC;--k-focus: #77C0EE;--hero-bg: linear-gradient(120deg, #0E2240 0%, #102C4C 50%, #0D3640 100%);--hero-grid: rgb(119 192 238 / .08);--ring: linear-gradient(135deg, #4FAEEC, #2DD4BF);--rainbow: linear-gradient(90deg, #4FAEEC, #A78BFA 50%, #E879F9);--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 10px 30px -12px rgb(0 0 0 / .5);--blue: #77C0EE;--blue-ink: #77C0EE;--green: #4ADE80;--green-ink: #4ADE80;--teal: #2DD4BF;--teal-ink: #2DD4BF;--violet: #C4B5FD;--violet-ink: #C4B5FD;--fuchsia: #F0ABFC;--fuchsia-ink: #F0ABFC;--orange: #FDBA74;--orange-ink: #FDBA74;--indigo: #A5B4FC;--indigo-ink: #A5B4FC;--cyan: #22D3EE;--cyan-ink: #22D3EE}.hue-blue{--hue: var(--blue);--hue-ink: var(--blue-ink)}.hue-green{--hue: var(--green);--hue-ink: var(--green-ink)}.hue-teal{--hue: var(--teal);--hue-ink: var(--teal-ink)}.hue-violet{--hue: var(--violet);--hue-ink: var(--violet-ink)}.hue-fuchsia{--hue: var(--fuchsia);--hue-ink: var(--fuchsia-ink)}.hue-orange{--hue: var(--orange);--hue-ink: var(--orange-ink)}.hue-indigo{--hue: var(--indigo);--hue-ink: var(--indigo-ink)}.hue-cyan{--hue: var(--cyan);--hue-ink: var(--cyan-ink)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--k-fond);color:var(--k-texte);font-family:var(--k-police-texte);font-size:var(--k-taille-m);line-height:var(--k-interligne-texte);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0 0 .5em;font-family:var(--k-police-titre);font-weight:800;line-height:var(--k-interligne-titre);letter-spacing:var(--k-approche-titre);text-wrap:balance}h1{font-size:clamp(2.25rem,1.75rem + 2vw,3rem)}h2{font-size:clamp(1.5rem,1.25rem + 1vw,var(--k-taille-xl))}h3{font-size:1.125rem;font-weight:700}p{margin:0 0 1em;text-wrap:pretty}p:last-child{margin-bottom:0}a{color:var(--k-lien);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--k-primaire-survol)}:focus-visible{outline:3px solid var(--k-focus);outline-offset:2px}img,svg{display:block;max-width:100%;height:auto}ul,ol{margin:0;padding:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:root{--page: 72rem;--line: 40rem;--header-h: 6rem;--radius: 1.25rem}@media(min-width:48rem){:root{--header-h: 4.25rem}}@media(min-width:64rem){body{font-size:1.125rem}.site-nav ul{gap:0 1.75rem}}.container{width:min(100% - 2rem,var(--page));margin-inline:auto}@media(min-width:48rem){.container{width:min(100% - 4rem,var(--page))}}main{flex:1 0 auto}.skip-link{position:absolute;top:.75rem;left:.75rem;z-index:30;padding:.5rem 1rem;border-radius:var(--k-rayon-m);background:var(--k-surface-2);font-weight:700;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:20;background:var(--k-fond);box-shadow:0 1px 0 var(--k-bordure)}.site-header:before{content:"";display:block;height:4px;background:var(--rainbow)}:where([id]){scroll-margin-top:var(--header-h)}.site-header__inner{display:flex;flex-wrap:wrap;align-items:center;column-gap:2rem}.site-name{padding-block:.625rem;color:var(--k-texte);font:800 1.25rem / 1.5 var(--k-police-titre);letter-spacing:var(--k-approche-titre);text-decoration:none}.site-name:hover{color:var(--k-texte)}.site-nav ul{display:flex;justify-content:space-between;gap:0 .75rem;margin:0;padding:0;list-style:none}.site-nav a{display:inline-block;padding-block:.625rem;color:var(--k-texte);font-size:var(--k-taille-s);font-weight:500;text-decoration:none}.site-nav a:hover{color:var(--k-lien);box-shadow:inset 0 -2px 0 var(--k-accent)}.site-header__lang{margin-left:auto}.site-nav{order:3;flex-basis:100%;overflow-x:auto;border-top:1px solid var(--k-bordure)}@media(min-width:48rem){.site-name{padding-block:.875rem}.site-nav{order:0;flex-basis:auto;margin-left:auto;border-top:0}.site-nav ul{gap:0 1.25rem}.site-nav a{font-size:1rem}.site-header__lang{margin-left:0;padding-left:1.5rem;border-left:1px solid var(--k-bordure)}}.lang-switch ul{display:flex;align-items:center;gap:.5rem;margin:0;padding:0;list-style:none}.lang-switch li+li:before{content:"/" / "";margin-right:.5rem;color:var(--k-texte-doux)}.lang-switch a,.lang-switch [aria-current]{display:inline-block;padding-block:.625rem;font-size:var(--k-taille-s)}.lang-switch a{color:var(--k-lien)}.lang-switch [aria-current]{color:var(--k-texte);font-weight:700}.qa-bar{margin-block:.75rem}.qa-bar .marker{margin-inline-start:0}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section--band{border-block:1px solid var(--k-bordure);background:var(--k-surface)}.section-title{display:flex;align-items:center;gap:.875rem;margin-bottom:clamp(1.5rem,3vw,2.5rem);font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem)}.section-title:before{content:"";flex:none;width:.375rem;height:1.1em;border-radius:1rem;background:linear-gradient(var(--k-accent),var(--violet))}.page-title{margin-bottom:1.5rem;font-size:clamp(2.25rem,1.75rem + 2vw,3.25rem)}.prose{max-width:var(--line)}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.25rem}.site-footer{border-top:1px solid var(--k-bordure);color:var(--k-texte-doux);font-size:var(--k-taille-s)}.site-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.25rem 1.5rem;padding-block:1.5rem}.site-footer__copy{margin:0}.site-footer__links{display:flex;flex-wrap:wrap;gap:0 1.25rem;list-style:none}.site-footer__links a{display:inline-block;padding-block:.5rem}.button{display:inline-flex;align-items:center;min-height:3.125rem;padding:0 1.5rem;border:2px solid var(--k-primaire);border-radius:999px;background:var(--k-primaire);color:var(--k-sur-primaire);font:700 1rem var(--k-police-texte);text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s}a.button:hover{border-color:var(--k-primaire-survol);background:var(--k-primaire-survol);color:var(--k-sur-primaire);transform:translateY(-1px)}.button--outline{background:var(--k-fond);color:var(--k-lien)}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.tile{display:inline-grid;flex:none;place-items:center;width:2.75rem;height:2.75rem;border-radius:.75rem;background:color-mix(in srgb,var(--hue, var(--blue)) 14%,transparent);color:var(--hue-ink, var(--blue-ink))}.tile .icon{width:1.5rem;height:1.5rem}.intro{position:relative;isolation:isolate;padding-block:clamp(2.5rem,7vw,6rem);background:var(--hero-bg)}.intro:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--hero-grid) 1px,transparent 1px),linear-gradient(90deg,var(--hero-grid) 1px,transparent 1px);background-size:2.5rem 2.5rem;-webkit-mask-image:radial-gradient(ellipse 70% 90% at 75% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 90% at 75% 40%,#000 30%,transparent 80%)}.intro__grid{display:grid;gap:1.75rem}.intro__photo{width:200px;height:200px;padding:5px;border-radius:50%;background:var(--ring);object-fit:cover;box-shadow:var(--shadow)}.intro__name{margin-bottom:.375rem;font-size:clamp(2.5rem,1.75rem + 3.5vw,4.5rem);line-height:1.02}.intro__role{margin-bottom:1.5rem;color:var(--blue-ink);font:700 clamp(1.25rem,1.1rem + .6vw,1.625rem) / 1.3 var(--k-police-titre);letter-spacing:-.01em}.intro__copy>p:not(.intro__role){max-width:var(--line)}@media(min-width:48rem){.intro__grid{grid-template-columns:auto 1fr;align-items:center;gap:clamp(2.5rem,5vw,4.5rem)}.intro__photo{width:240px;height:240px;padding:6px}}.now{padding-block:clamp(2rem,5vw,3.5rem) 0}.now__panel{display:grid;gap:.75rem;padding:clamp(1.25rem,3vw,1.75rem) clamp(1.25rem,3vw,2rem);border-radius:var(--radius);background:var(--panel-bg);color:#fff;box-shadow:var(--shadow)}.now__title{margin:0;font-size:1.5rem}.now__text{max-width:var(--line);margin:0}.now__link{margin:.25rem 0 0}.now__link .button{min-height:2.75rem;padding-inline:1.25rem}.button--light,.now a.button--light:hover{border-color:#fff;background:#fff;color:#125e91}.now a.button--light:hover{background:#eaf4fd}.button--light:after{content:"\2192" / "";margin-left:.5rem;transition:transform .15s}.button--light:hover:after{transform:translate(.1875rem)}@media(min-width:64rem){.now__panel{grid-template-columns:auto 1fr auto;align-items:center;column-gap:2.5rem}.now__title{padding-right:2.5rem;border-right:1px solid rgb(255 255 255 / .35)}.now__link{margin:0}}.more a{font-weight:700}.more a:after{content:"\2192" / "";display:inline-block;margin-left:.375rem;transition:transform .15s}.more a:hover:after{transform:translate(.1875rem)}.timeline{--rail: .4375rem;--dot-top: .85rem;margin:0;padding:0;list-style:none}.timeline__item{position:relative;padding:0 0 2.25rem calc(var(--rail) + 1.75rem)}.timeline__item:last-child{padding-bottom:0}.timeline__item:before{content:"";position:absolute;top:var(--dot-top);bottom:calc(-1 * var(--dot-top));left:calc(var(--rail) - 1.5px);width:3px;background:var(--hue)}.timeline__item:last-child:before{display:none}.timeline__item:after{content:"";position:absolute;top:calc(var(--dot-top) - .4375rem);left:0;width:.875rem;height:.875rem;border-radius:50%;background:var(--hue);box-shadow:0 0 0 4px var(--k-fond),0 0 0 6px color-mix(in srgb,var(--hue) 30%,transparent)}.timeline__years{display:inline-block;margin:0 0 .5rem;padding:.125rem .625rem;border-radius:999px;background:color-mix(in srgb,var(--hue) 12%,transparent);color:var(--hue-ink);font:500 var(--k-taille-s) / 1.6 var(--k-police-code);white-space:nowrap}.timeline__role{margin:0;font-size:clamp(1.1875rem,1.1rem + .4vw,1.375rem);line-height:1.3}.timeline__company{margin:.125rem 0 .625rem;font-weight:700}.timeline__company a{color:var(--hue-ink);text-decoration-color:color-mix(in srgb,var(--hue) 50%,transparent)}.timeline__company a:hover{color:var(--hue-ink);text-decoration-color:currentColor}.timeline__detail{max-width:var(--line);margin:0;color:var(--k-texte-doux)}@media(min-width:48rem){.timeline{--rail: 11.5rem;--dot-top: .95rem}.timeline__item:after{left:calc(var(--rail) - .4375rem)}.timeline__years{position:absolute;top:.25rem;right:calc(100% - var(--rail) + 1.5rem);margin:0}}@media(min-width:64rem){.timeline__body{display:grid;grid-template-columns:minmax(15rem,1fr) 2fr;gap:2.5rem}.timeline__company{margin-bottom:0}.timeline__detail{padding-top:.125rem}}.stack{display:grid;gap:1.25rem}@media(min-width:40rem){.stack{grid-template-columns:repeat(2,1fr)}}@media(min-width:64rem){.stack{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media(min-width:40rem)and (max-width:63.99rem){.stack__group:last-child:nth-child(odd){grid-column:1 / -1}}@media(min-width:64rem){.stack__group:last-child:nth-child(3n+1){display:grid;grid-column:1 / -1;grid-template-columns:17rem 1fr;align-items:center;gap:1.5rem}.stack__group:last-child:nth-child(3n+1) .stack__head{margin-bottom:0}}.stack__group{position:relative;padding:1.5rem;overflow:hidden;border:1px solid var(--k-bordure);border-radius:var(--radius);background:var(--k-surface-2);box-shadow:var(--shadow)}.stack__group:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--hue)}.stack__head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .875rem;margin-bottom:1.125rem}.stack__head .marker{margin-inline-start:0}.stack__name{margin:0;font-size:1.1875rem;line-height:1.25}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}.chip{padding:.25rem .75rem;border:1px solid color-mix(in srgb,var(--hue) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--hue) 10%,transparent);color:var(--hue-ink);font:500 .875rem / 1.5 var(--k-police-code)}@media(min-width:64rem){.chip{font-size:.9375rem}}.contact__text{max-width:var(--line);font-size:clamp(1.0625rem,1rem + .35vw,1.25rem)}.contact{display:grid;gap:1rem;margin:1.75rem 0 0;padding:0;list-style:none}@media(min-width:48rem){.contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}.contact__card{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:1rem;height:100%;padding:1.25rem 1.5rem;border:1px solid var(--k-bordure);border-radius:var(--radius);background:var(--k-surface-2);color:var(--k-texte);text-decoration:none;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}.contact__card:hover{border-color:var(--hue);color:var(--k-texte);transform:translateY(-2px)}.contact__card .tile{grid-row:span 2;width:3.25rem;height:3.25rem}.contact__label{color:var(--k-texte-doux);font:500 var(--k-taille-xs) / 1.5 var(--k-police-code)}.contact__value{color:var(--hue-ink);font-size:clamp(1rem,.95rem + .3vw,1.1875rem);font-weight:700;overflow-wrap:anywhere}.list{display:grid;gap:1.25rem;margin:0;padding:0;list-style:none}.list a{font-weight:700}.list p{margin:.25rem 0 0;color:var(--k-texte-doux)}@media(prefers-reduced-motion:reduce){.button,.contact__card,.button--light:after,.more a:after{transition:none}}.flag{outline:2px dashed var(--flag);outline-offset:4px}.flag--todo{--flag: var(--k-alerte)}.flag--proposed{--flag: var(--k-info)}.marker{display:inline-block;margin-inline-start:.5rem;padding:.125rem .5rem;border-radius:var(--k-rayon-s);background:var(--k-alerte);color:var(--k-papier);font:500 var(--k-taille-xs) / 1.4 var(--k-police-code);vertical-align:middle}.marker--proposed{background:var(--k-bleu-700)}
