html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}.scene{z-index:0;pointer-events:none;background:var(--nuit);height:100lvh;position:fixed;inset:0 0 auto}.scene__secours,.scene__canvas,.scene__apercu{width:100%;height:100%;position:absolute;inset:0}.scene__apercu{background:var(--nuit);display:none;overflow:hidden}.motion.webgl .scene:not(.is-repli,.is-relaye) .scene__apercu{display:block}.scene__cadre{position:absolute;inset:0 0 8px;overflow:hidden}.scene__photo{object-fit:cover;object-position:50% 50%;width:100%;max-width:none;height:100%;position:absolute;inset:0}.scene__voile{background:var(--nuit);transition:opacity var(--dur-lg) var(--ease-out);position:absolute;inset:0}.scene__apercu.is-charge .scene__voile{opacity:0}.scene__secours{background:var(--secours-petite) center 60% / cover no-repeat;display:none}@media (width>=801px),(resolution>=1.5x){.scene__secours{background-image:var(--secours)}}html:not(.js) .scene__secours,.reduce .scene__secours,.no-webgl .scene__secours,.scene.is-repli .scene__secours{display:block}.scene__canvas{display:none}.motion.webgl .scene:not(.is-repli) .scene__canvas{display:block}.scene:not(.is-pret) .scene__canvas{opacity:0}.scene__intro{display:none;position:absolute;inset:0;overflow:hidden}.intro-on .scene__intro{display:block}.scene__nuit{background:var(--nuit);position:absolute;inset:0}.scene__crete,.scene__crete-int,.scene__arete{position:absolute;inset:0}.scene__crete{overflow:hidden;transform:translate(-100%)}.scene__crete-int{transform:translate(100%)}.scene__trait{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scene__trait path{fill:none;stroke:oklch(93% .02 245);stroke-width:1.2px;stroke-linejoin:round;stroke-linecap:round}.scene__trait--chaud path{stroke-width:1.8px}.scene__arete{opacity:0}.scene__rayon{--rayon:clamp(104px, 12.5vw, 200px);width:var(--rayon);height:var(--rayon);margin:calc(var(--rayon) / -2) 0 0 calc(var(--rayon) / -2);opacity:0;background:radial-gradient(closest-side,oklch(93% .065 65),oklch(80% .1 52/.48) 34%,oklch(78% .1 50/.16) 62%,oklch(78% .1 50/0));border-radius:50%;position:absolute;top:0;left:0}.debug-ligne .scene__intro{display:block}.debug-ligne .scene__trait path{stroke:oklch(75% .25 330);stroke-width:1.5px}.tete{z-index:20;padding-inline:var(--marge);position:absolute;inset:0 0 auto}.tete__inner{justify-content:space-between;align-items:center;gap:var(--s-md);min-height:72px;padding-right:clamp(112px,11vw,150px);display:flex}.tete__signature{white-space:nowrap;align-content:center;align-items:baseline;gap:14px;min-height:44px;padding-top:10px;text-decoration:none;display:inline-flex}.tete__logo{aspect-ratio:235.6/142;width:auto;height:1.28rem;color:var(--nom-ivoire);flex:none;align-self:baseline}.tete__fonction{color:var(--ink-2)}.tete__nav ol{gap:clamp(14px,2.2vw,36px);display:flex}.tete__nav a{color:var(--ink-2);transition:color var(--dur-micro) ease;padding-block:14px;text-decoration:none;display:inline-block}.tete__num{color:var(--accent);margin-right:4px}@media (hover:hover){.tete__nav a:hover{color:var(--ink)}}@media (width<=1100px){.tete__fonction{display:none}}@media (width<=860px){.tete__nav{display:none}}.bouton-contact{top:14px;right:var(--marge);z-index:40;background:var(--clair);min-height:44px;color:var(--nuit);transition:background-color var(--dur-sm) var(--ease-out), color var(--dur-sm) var(--ease-out), transform var(--dur-sm) var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 16px;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;box-shadow:0 6px 24px oklch(12% .03 262/.28)}.bouton-contact__point{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 3px oklch(from var(--accent) l c h / .3);border-radius:50%}@media (hover:hover){.bouton-contact:hover{background:var(--accent);color:var(--nuit)}.bouton-contact:hover .bouton-contact__point{background:var(--nuit)}}.bouton-contact:focus-visible{outline-color:var(--clair)}.bouton-contact.sur-jour{background:var(--jour-ink);color:var(--jour-bg)}.bouton-contact.sur-jour .bouton-contact__point{background:var(--rose)}.bouton-contact.sur-jour:focus-visible{outline-color:var(--jour-ink)}.folio{left:calc(var(--marge) / 2);z-index:30;writing-mode:vertical-rl;background:oklch(from var(--bg) l c h / .82);color:var(--ink);pointer-events:none;transition:color var(--dur-sm) ease, background-color var(--dur-sm) ease;border-radius:999px;align-items:baseline;gap:2px;padding:10px 5px;display:flex;position:fixed;bottom:40px;transform:translate(-50%)rotate(180deg)}.folio__sur{color:var(--ink-3);margin-bottom:10px}.folio.sur-jour{background:oklch(from var(--jour-bg) l c h / .88);color:var(--jour-ink)}.folio.sur-jour .folio__sur{color:var(--jour-ink-3)}@media (width<=860px){.folio{display:none}}.curseur{z-index:60;pointer-events:none;width:0;height:0;color:var(--ink);transition:opacity var(--dur-sm) ease;will-change:transform;display:none;position:fixed;top:0;left:0}.has-curseur .curseur{display:block}.has-curseur .curseur.is-cache{opacity:0}.curseur.sur-jour{color:var(--jour-ink)}.curseur__point,.curseur__anneau,.curseur__loupe{border-radius:50%;position:absolute}.curseur__point{background:currentColor;width:6px;height:6px;top:-3px;left:-3px}.curseur__anneau{opacity:.55;width:34px;height:34px;transition:transform var(--dur-md) var(--ease-out), opacity var(--dur-sm) ease, border-color var(--dur-sm) ease;border:1px solid;top:-17px;left:-17px}.curseur.is-lien .curseur__anneau{opacity:1;border-color:var(--accent);transform:scale(1.55)}.curseur.sur-jour.is-lien .curseur__anneau{border-color:var(--jour-accent)}.curseur__loupe{width:calc(var(--loupe,90px) * 2);height:calc(var(--loupe,90px) * 2);left:calc(var(--loupe,90px) * -1);top:calc(var(--loupe,90px) * -1);border:1.5px solid var(--clair);opacity:0;transition:transform var(--dur-md) var(--ease-out), opacity var(--dur-sm) ease;transform:scale(.2)}.curseur.is-loupe .curseur__loupe{opacity:1;transform:none}.curseur.is-loupe .curseur__anneau,.curseur.is-loupe .curseur__point{opacity:0}.curseur__label{left:calc(var(--loupe,90px) * .72);top:calc(var(--loupe,90px) * .72);background:var(--clair);color:var(--nuit);font-size:var(--fs-mono-xs);white-space:nowrap;opacity:0;transition:opacity var(--dur-sm) ease;border-radius:999px;padding:3px 7px;position:absolute}.curseur.is-loupe .curseur__label{opacity:1}.has-curseur,.has-curseur a,.has-curseur button{cursor:none}.hero{min-height:100svh;padding-top:0;padding-bottom:calc(var(--lisiere) * .55)}.hero:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(to bottom, oklch(from var(--bg) l c h / .72), oklch(from var(--bg) l c h / 0));height:180px;position:absolute;inset:0 0 auto}.hero:after{background:linear-gradient(to bottom, oklch(from var(--bg) l c h / 0), oklch(from var(--bg) l c h / .5) 40%, oklch(from var(--bg) l c h / .84));inset:44% 0 0}.hero__cadre{align-self:end;row-gap:var(--s-sm);padding-bottom:var(--s-md)}.hero__rubrique{border-top-color:oklch(from var(--ink) l c h / .4);grid-column:1/-1}.hero__nom{inset-inline:0;top:var(--nom-haut,19svh);z-index:0;font-family:var(--font-nom);font-weight:300;font-size:var(--fs-nom);letter-spacing:.01em;word-spacing:.443em;font-kerning:normal;font-synthesis:none;text-transform:uppercase;text-align:center;white-space:nowrap;color:var(--nom-ivoire);margin:0;line-height:.8;position:absolute}.hero__nom-fixe,.hero__nom-flux{display:block}.hero__mot{margin-inline-end:-.01em;display:inline-block}.hero.is-crete .hero__nom-fixe,.hero.is-crete .hero__nom-flux{will-change:transform}.hero__pied{grid-column:1/-1;grid-template-columns:subgrid;padding-top:var(--s-sm);border-top:1px solid #0000;align-items:end;margin-top:0;display:grid}.hero__accroche{font-family:var(--font-display);letter-spacing:-.015em;text-wrap:balance;grid-column:1/span 5;font-size:clamp(1.9rem,2.9vw,3.2rem);line-height:1}.hero__fiche{grid-column:6/span 3;gap:10px;display:grid}.hero__fiche div{gap:2px;display:grid}.hero__fiche dt{color:var(--ink-3)}.hero__fiche dd{font-size:var(--fs-sm);margin:0;font-weight:500}.hero__statut{grid-column:9/-1;justify-items:start;gap:6px;display:grid}.hero__recherche{font-size:var(--fs-sm);text-wrap:balance;align-items:baseline;gap:10px;font-weight:500;line-height:1.3;display:flex}.intro-on [data-nom],.intro-on [data-hero-rv],.intro-on .tete,.intro-on .bouton-contact{opacity:0;animation:10ms linear 3s forwards hero-secours}@keyframes hero-secours{to{opacity:1}}@media (width<=1024px){.hero__accroche{grid-column:1/span 6}.hero__fiche{grid-column:7/span 3}.hero__statut{grid-column:10/-1}}@media (width<=760px){.hero__nom{font-size:var(--fs-nom-m);white-space:normal;line-height:.82}.hero__mot{text-indent:.01em;margin-inline-end:0;display:block}.hero__pied{row-gap:var(--s-md)}.hero__accroche,.hero__fiche,.hero__statut{grid-column:1/-1}.hero__fiche{grid-template-columns:1fr 1fr}}.hero__nom-flux{position:relative}.neige{--neige:oklch(99% .006 240);--neige-ombre:oklch(72% .04 252/.55);--neige-halo:oklch(96% .03 240/.55);pointer-events:none;display:block;position:absolute}.neige__couche{width:100%;max-width:none;height:100%;position:absolute;inset:0}.neige__flocon{opacity:0;will-change:transform, opacity;background:radial-gradient(closest-side,oklch(98.5% .008 240) 42%,oklch(97% .015 240/.55) 70%,oklch(97% .015 240/0));border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 5px 1px oklch(96% .03 240/.28)}@media (forced-colors:active){.neige{display:none}}.reflet{--reflet-eau:oklch(20% .04 255);--reflet-assombri:.34;--reflet-opacite:.78;--reflet-opacite-bas:.16;--reflet-flou:.55;inset-inline:0;top:var(--reflet-rive,80%);pointer-events:none;position:absolute;bottom:0;overflow:hidden}.reflet__toile{will-change:transform;max-width:none;position:absolute;top:0;left:0}@media (width<=760px){.reflet{--reflet-opacite:.6}}.reflet.is-loin{visibility:hidden}@media (forced-colors:active){.reflet{display:none}}.qui{padding-bottom:var(--s-2xl)}.qui__corps{padding-top:var(--s-xl);row-gap:var(--s-xl)}.qui__marge{align-content:start;gap:var(--s-sm);grid-column:1/span 3;padding-top:.7em;display:grid}.qui__titre{font-weight:500}.qui__sous{max-width:24ch;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.4}.qui__texte{font-family:var(--font-display);font-size:var(--fs-serif);letter-spacing:-.012em;text-wrap:pretty;hyphens:manual;grid-column:4/-1;line-height:1.12}.qui__passage{background:radial-gradient(circle at center, var(--accent) 0 1.4px, transparent 1.8px) 0 100% / 7px 6px repeat-x;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.08em}.renvoi{font-family:var(--font-mono);vertical-align:1.55em;letter-spacing:0;margin-left:.15em;margin-right:.1em;font-size:.34em;font-weight:500;line-height:0}.renvoi a{min-width:2em;height:2em;color:var(--nuit);background:var(--accent);transition:background-color var(--dur-micro) ease;border-radius:999px;place-items:center;padding:0 .3em;text-decoration:none;display:inline-grid}@media (hover:hover){.renvoi a:hover{background:var(--ink)}}.temps{column-gap:var(--gouttiere);row-gap:var(--s-lg);counter-reset:none;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.temps__item{align-content:start;gap:var(--s-2xs);padding-top:var(--s-sm);border-top:1px solid var(--line-strong);display:grid}.temps__tete{align-items:baseline;gap:14px;display:flex}.temps__num{font-family:var(--font-display);color:var(--accent);min-width:1.4em;font-size:clamp(2.6rem,3.6vw,3.8rem);font-style:italic;line-height:.9}.temps__label{color:var(--ink)}.temps__periode{color:var(--ink-3);margin-bottom:var(--s-2xs)}.temps__etapes{gap:4px;display:grid}.temps__etape{border-top:1px solid var(--line);grid-template-columns:26px 1fr;gap:0 10px;padding-block:8px;text-decoration:none;display:grid}.temps__note{border:1px solid var(--accent);width:22px;height:22px;color:var(--accent);letter-spacing:0;border-radius:50%;grid-row:span 2;place-items:center;font-size:.66rem;display:inline-grid}.temps__poste{font-weight:560;font-size:var(--fs-sm);text-wrap:balance;grid-column:2;line-height:1.3}.temps__lieu{color:var(--ink-3);font-size:var(--fs-sm);grid-column:2;line-height:1.35}@media (hover:hover){.temps__etape:hover .temps__poste{color:var(--accent)}}@media (width<=1024px){.qui__marge{grid-column:1/-1;padding-top:0}.qui__sous{max-width:48ch}.qui__texte{grid-column:1/-1}.temps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.qui__corps{padding-top:var(--s-lg);row-gap:var(--s-lg)}.qui__texte{font-size:clamp(1.7rem,7.4vw,2.2rem);line-height:1.14}.temps{grid-template-columns:1fr}}.fenetre--skills{min-height:82svh}.skills{padding-bottom:var(--s-xl)}.skills__corps{row-gap:var(--s-md);padding-top:var(--s-lg)}.skills__tete{justify-content:space-between;gap:4px var(--s-sm);border-bottom:1px solid var(--line-strong);color:var(--ink-2);flex-wrap:wrap;grid-column:1/-1;padding-bottom:10px;display:flex}.skills__cle{color:var(--ink-3)}.skills__plan{isolation:isolate;grid-column:1/-1;position:relative}.skills__fond{z-index:-1;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 72%,#0000);mask-image:linear-gradient(#000 72%,#0000)}.skills__graticule{fill:none;stroke:var(--ink);stroke-width:1px;vector-effect:non-scaling-stroke;opacity:.1}.skills__graticule circle:nth-child(odd){stroke-dasharray:2 6}.skills__graticule line{opacity:.55}.skills__poussiere{fill:var(--ink-2)}.skills__nom{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:var(--fs-m);letter-spacing:-.01em;white-space:nowrap;align-items:baseline;gap:.55em;line-height:1;display:flex}.skills__compte{color:var(--accent);font-style:normal}.skills__constellation--ia .skills__nom{letter-spacing:-.02em;font-size:clamp(1.9rem,2.7vw,3.1rem)}.skills__ciel{position:relative}.skills__traits{pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0;overflow:visible}.skills__traits line{stroke:var(--ink-3);stroke-width:1px;stroke-linecap:round;opacity:.6}.skills__constellation--ia .skills__traits line{stroke:var(--accent);opacity:.95}.skills__etoile{width:0;height:0;position:absolute}.skills__point{background:var(--ink);width:6px;height:6px;box-shadow:0 0 0 3px oklch(from var(--ink) l c h / .1);border-radius:50%;position:absolute;top:-3px;left:-3px}.skills__constellation--ia .skills__point{background:var(--clair);width:11px;height:11px;box-shadow:0 0 0 4px oklch(from var(--accent) l c h / .22), 0 0 18px 3px oklch(from var(--accent) l c h / .55);top:-5.5px;left:-5.5px}.skills__label{letter-spacing:.004em;white-space:nowrap;font-size:clamp(.88rem,.25vw + .74rem,1.04rem);font-weight:460;line-height:1.24;position:absolute;top:-.62em;left:14px}.skills__constellation--ia .skills__label{font-family:var(--font-display);letter-spacing:-.01em;font-size:clamp(1.18rem,1.5vw,1.7rem);font-style:italic;font-weight:400;line-height:1.2;top:-.6em;left:18px}@media (width>=1100px){.skills__carte{aspect-ratio:var(--carte-ratio,3 / 2);margin-block:var(--s-sm) var(--s-md);position:relative}.skills__constellation{left:calc(var(--cx) * 1%);top:calc(var(--cy) * 1%);width:calc(var(--cw) * 1%);height:calc(var(--ch) * 1%);position:absolute}.skills__nom{position:absolute;top:0;left:0}.skills__ciel{position:absolute;inset:0}.skills__etoile{left:calc(var(--x) * 1%);top:calc((20 + var(--y) * .76) * 1%)}.skills__g{transform:translateY(20px)scaleY(.76)}.skills__etoile--g .skills__label{text-align:right;left:auto;right:14px}.skills__constellation--ia .skills__etoile--g .skills__label{right:18px}@media (hover:hover){.skills__constellation{transition:opacity var(--dur-md) var(--ease-out)}.skills__carte:has(.skills__constellation:hover) .skills__constellation:not(:hover){opacity:.5}.skills__constellation:hover .skills__traits line{stroke:var(--accent);opacity:1}}}@media (width<=1099px){.skills__fond{display:none}.skills__plan{background-image:radial-gradient(circle, oklch(from var(--ink) l c h / .42) 0 .75px, transparent 1.25px), radial-gradient(circle, oklch(from var(--ink) l c h / .26) 0 .6px, transparent 1.1px), radial-gradient(circle, oklch(from var(--ink) l c h / .32) 0 .55px, transparent 1px);background-position:13px 29px,41px 7px,83px 19px;background-size:97px 113px,61px 71px,149px 43px}.skills__cle{text-wrap:balance}.skills__carte{gap:var(--s-lg) var(--gouttiere);padding-block:var(--s-sm) var(--s-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skills__constellation{align-content:start;gap:var(--s-xs);border-top:1px solid var(--line);padding-top:12px;display:grid}.skills__constellation--ia{border-top-color:var(--accent);grid-column:1/-1}.skills__ciel{height:calc(var(--n) * 2.5rem + .6rem)}.skills__constellation--ia .skills__ciel{height:calc(var(--n) * 3.1rem + .6rem)}.skills__etoile{left:calc((6 + var(--x) * .55) * 1%);top:calc((6 + var(--y) * .88) * 1%)}.skills__g{transform:translate(6px,6px)scale(.55,.88)}}@media (width<=760px){.skills__carte{grid-template-columns:minmax(0,1fr)}}.fenetre--projets{min-height:88svh}.projets{padding-bottom:var(--s-2xl)}.projets__mode{margin-top:var(--s-sm);max-width:40ch;font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:-.006em;color:var(--ink-2);line-height:1.45}.projets__serie{padding-top:var(--s-lg)}.projets__serie+.projets__serie{margin-top:var(--s-2xl)}.projets__intertitre{justify-content:space-between;gap:var(--s-sm);margin-inline:var(--marge);border-top:1px solid var(--line-strong);color:var(--ink-2);padding-block:10px;display:flex}.projets__autres{margin-top:var(--s-2xl)}.projet{row-gap:var(--s-md);align-items:start}.projet+.projet{margin-top:var(--s-2xl)}.projets__intertitre+.projet{margin-top:var(--s-lg)}.projet__figure{gap:14px;display:grid}.plaque{aspect-ratio:16/10;background:var(--nuit);box-shadow:0 0 0 1px var(--line);border-radius:3px;position:relative;overflow:hidden}.plaque__source,.plaque__trame{width:100%;height:100%;position:absolute;inset:0}.plaque__source{object-fit:cover}.plaque__source--illu svg{width:100%;height:100%}.plaque__trame{opacity:0}.motion.webgl .plaque:not(.is-repli) .plaque__source{opacity:0;animation:10ms linear 6s forwards plaque-secours}.motion.webgl .plaque:not(.is-repli):after{content:"";background-image:radial-gradient(circle at center, var(--froid) 0 16%, transparent 20%);opacity:.35;background-size:8px 8px;animation:10ms linear 6s forwards plaque-secours-teinte;position:absolute;inset:0}.motion.webgl .plaque.is-trame .plaque__source{animation:none}.motion.webgl .plaque.is-trame:after{content:none}.plaque.is-trame .plaque__trame,.motion.webgl .plaque.is-trame.is-developpe .plaque__source{opacity:1}.plaque.is-trame.is-developpe .plaque__trame{opacity:0}@keyframes plaque-secours{to{opacity:1}}@keyframes plaque-secours-teinte{to{opacity:0}}.projet__legende{justify-content:space-between;gap:var(--s-sm);color:var(--ink-3);display:flex}.projet__legende-trame{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.illu .i-fond{fill:oklch(22% .035 263)}.illu .i-encre,.illu .i-encre-plein{fill:oklch(86% .02 250)}.illu .i-bleu{fill:oklch(68% .1 252)}.illu .i-bleu-pale{fill:oklch(36% .06 262)}.illu .i-papier{fill:oklch(17% .03 262)}.illu .i-contour{stroke:oklch(86% .02 250);stroke-width:6px}.illu .i-grille path{stroke:oklch(86% .02 250);stroke-opacity:.1;stroke-width:2px;fill:none}.illu .i-trait{stroke:oklch(86% .02 250);stroke-width:5px;fill:none}.illu .i-trait-bleu{stroke:oklch(68% .1 252);stroke-width:8px;fill:none}.illu .i-chaine{fill:none;stroke:oklch(78% .1 12);stroke-width:20px}.illu .i-curseur{fill:none;stroke:oklch(78% .1 12);stroke-width:6px}.illu .i-rose{fill:oklch(78% .1 12)}.illu .i-pointille{fill:none;stroke:oklch(78% .1 12);stroke-width:5px}.illu .i-ombre{fill:oklch(12% .03 262);fill-opacity:.7}.illu .i-lumiere{fill:oklch(93% .06 80);fill-opacity:.22}.projet__ident{gap:var(--s-xs);align-content:start;display:grid;container-type:inline-size}.projet__type{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;display:flex}.projet__num{color:var(--accent)}.projet__nom{font-family:var(--font-display);letter-spacing:-.03em;margin-top:4px;margin-left:-.04em;font-size:clamp(3rem,19cqi,9.5rem);font-weight:400;line-height:.86}.projet__titre{font-size:var(--fs-m);letter-spacing:-.014em;font-weight:520;line-height:1.2}.projet__detail{gap:var(--s-sm);align-content:start;display:grid}.projet__contexte{font-family:var(--font-display);color:var(--ink-2);max-width:34ch;font-size:clamp(1.25rem,1.2vw + .8rem,1.6rem);font-style:italic;line-height:1.2}.projet__resume{text-wrap:pretty;max-width:48ch}.projet__points{font-size:var(--fs-sm);color:var(--ink-2);gap:6px;line-height:1.4;display:grid}.projet__points li{grid-template-columns:14px 1fr;align-items:baseline;gap:10px;display:grid}.projet__points li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;transform:translateY(-2px)}.projet__stack{flex-wrap:wrap;gap:6px;display:flex}.projet__stack span{border:1px solid var(--line-strong);color:var(--ink-2);border-radius:999px;padding:4px 10px}.projet__demo{justify-self:start}@media (width>=1025px){.projet--pleine .projet__figure{grid-column:1/-1}.projet--pleine .projet__ident{grid-column:1/span 6}.projet--pleine .projet__detail{grid-column:8/-1;padding-top:6px}.projet--pleine .plaque{aspect-ratio:16/8}.projet--gauche .projet__figure{grid-area:1/1/span 2/span 8}.projet--gauche .projet__ident,.projet--gauche .projet__detail{grid-column:9/-1}.projet--droite .projet__figure{grid-area:1/5/span 2/-1}.projet--droite .projet__ident,.projet--droite .projet__detail{grid-column:1/span 4}.projet--droite .projet__ident{grid-row:1}.projet--droite .projet__detail{grid-row:2}.projet--centre .projet__figure{grid-column:3/span 8}.projet--centre .projet__ident{grid-column:3/span 4}.projet--centre .projet__detail{grid-column:7/span 4;padding-top:6px}.projet--perso .projet__figure{grid-area:1/6/span 2/-1}.projet--perso .projet__ident,.projet--perso .projet__detail{grid-column:1/span 5}.projet--perso .projet__ident{grid-row:1}.projet--perso .projet__detail{grid-row:2}}.projet__figure--galerie .plaque{aspect-ratio:16/10}@media (width>=1025px){.projet--pleine.projet--galerie .projet__ident{grid-row:2}.projet--pleine.projet--galerie .projet__detail{grid-row:2/span 2}.projet--pleine.projet--galerie .projet__figure--galerie{margin-top:var(--s-md);grid-area:3/1/auto/span 5}.projet--droite.projet--galerie .projet__detail{grid-row:2/span 2}.projet--droite.projet--galerie .projet__figure--galerie{margin-top:var(--s-md);grid-area:3/7/auto/-1}}@media (width<=1024px){.projet__figure,.projet__ident,.projet__detail{grid-column:1/-1}.projet__figure.projet__figure--galerie{grid-column:3/-1}}@media (width>=761px) and (width<=1024px){.projet__ident{grid-column:1/span 6}.projet__detail{grid-column:7/-1}}@media (width<=760px){.projet+.projet{margin-top:var(--s-xl)}.projet__legende{flex-direction:column;gap:4px}}.autres__tete{gap:var(--s-sm);margin-inline:var(--marge);display:grid}.autres__filet{justify-content:space-between;align-items:baseline;gap:var(--s-sm);border-top:1px solid var(--line-strong);color:var(--ink-2);padding-block:10px;display:flex}.autres__titre{font:inherit;letter-spacing:inherit;color:var(--ink)}.autres__chapeau{max-width:46ch;font-size:var(--fs-sm);letter-spacing:-.006em;color:var(--ink-2);text-wrap:pretty;line-height:1.45}.autres__liste{margin-top:var(--s-md)}.autres__item{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gouttiere);margin-inline:var(--marge);border-top:1px solid var(--line);align-items:baseline;padding-block:clamp(12px,1.2vw,18px);display:grid}@media (width>=1025px){.autres__item{min-height:calc(44px + 2*clamp(12px,1.2vw,18px))}}.autres__item:last-child{border-bottom:1px solid var(--line)}.autres__num{color:var(--accent);grid-column:1}.autres__nom{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;grid-column:2/5;font-size:clamp(1.7rem,2.1vw,2.4rem);font-weight:400;line-height:1}.autres__bref{font-size:var(--fs-sm);letter-spacing:-.01em;text-wrap:balance;grid-column:5/8;font-weight:520;line-height:1.35}.autres__nature{color:var(--ink-2);flex-wrap:wrap;grid-column:8/11;gap:2px 12px;display:flex}.autres__demo{grid-column:11/-1;place-self:center end}@media (width<=1024px){.autres__item{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"num nature demo""num nom demo""num bref demo";gap:4px 14px}.autres__num{grid-area:num}.autres__nature{grid-area:nature}.autres__nom{grid-area:nom;margin-top:2px}.autres__bref{color:var(--ink-2);grid-area:bref;font-weight:450}.autres__demo{grid-area:demo}}@media (width<=760px){.autres__item{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"num nature""num nom""num bref""num demo"}.autres__demo{justify-self:start}}.pj-video{object-fit:cover;background:var(--nuit);display:block}.pj-video__bouton{border:1px solid var(--line-strong);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-sm) var(--ease-out), color var(--dur-sm) var(--ease-out);background:0 0;border-radius:999px;align-items:center;gap:10px;padding:0 14px 0 12px;display:inline-flex}.pj-video__bouton[hidden]{display:none}.pj-video__icone{border:6px solid #0000;border-left:10px solid;border-right-width:0;flex:none;width:0;height:0}.pj-video__bouton.is-lecture .pj-video__icone{border-width:0 3px;border-color:currentColor;width:10px;height:12px}@media (hover:hover) and (pointer:fine){.pj-video__bouton:hover{border-color:var(--accent);color:var(--accent)}}.projet__legende{align-items:center}.projet__video{margin-right:auto}@media (width<=760px){.projet__legende{align-items:flex-start}}.fenetre--exp{min-height:100svh}.langues{padding-top:var(--s-xl);row-gap:var(--s-sm);align-items:baseline}.langues__titre{grid-column:1/span 2;font-weight:500}.langues__liste{gap:var(--s-sm) var(--s-xl);flex-wrap:wrap;grid-column:3/-1;display:flex}.langues__liste li{gap:2px;display:grid}.langues__nom{font-family:var(--font-display);font-size:var(--fs-l);letter-spacing:-.012em;line-height:1.05}.langues__niveau{color:var(--accent)}@media (width<=760px){.langues__titre,.langues__liste{grid-column:1/-1}}.registre__encre,.registre__pastille-trame{border-radius:999px;flex:none;width:22px;height:12px;display:inline-block}.registre__encre--emploi,.registre__type--emploi:before{background:var(--accent)}.registre__encre--formation,.registre__type--formation:before{background-image:radial-gradient(circle at center, var(--accent) 0 38%, transparent 43%);box-shadow:inset 0 0 0 1.5px var(--accent);background-size:6px 6px}.registre__encre--autre,.registre__type--autre:before{background-image:radial-gradient(circle at center, var(--ink-2) 0 30%, transparent 35%);box-shadow:inset 0 0 0 1.5px var(--ink-2);background-size:6px 6px}.registre__encre--projet,.registre__type--projet:before{background:var(--ink)}.exp{padding-bottom:var(--s-xl)}.registre{--rang-min:clamp(64px, 6vw, 92px);grid-template-rows:auto repeat(var(--rangs), minmax(var(--rang-min), auto)) auto;padding-top:var(--s-xl)}.registre__tete{justify-content:space-between;align-items:baseline;gap:var(--s-xs);border-bottom:1px solid var(--ink);color:var(--ink-2);grid-row:1;padding-bottom:12px;display:flex}.registre__tete--annee{grid-column:1/span 2}.registre__tete--travail{grid-column:3/span 5}.registre__tete--formation{grid-column:8/span 5}.registre__compte{color:var(--accent)}.registre__fond,.registre__etapes{grid-column:1/-1;grid-row:2 / span var(--rangs);grid-template-columns:subgrid;grid-template-rows:subgrid;display:grid}.registre__etapes{z-index:1;position:relative}.registre__vide{background-image:radial-gradient(circle at center, var(--line-strong) 0 1px, transparent 1.6px);background-position:4px 4px;background-size:9px 9px;margin-bottom:10px}.registre__vide--travail{grid-column:3/span 5}.registre__vide--formation{grid-column:8/span 5}.registre__trait{border-top:1px solid var(--line-strong);transform-origin:0;grid-column:1/-1}.registre__annee{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink-3);font-variant-numeric:lining-nums tabular-nums;grid-column:1/span 2;align-self:start;padding-top:10px;font-size:clamp(1.7rem,2.5vw,2.8rem);line-height:1}.registre__etape{padding:var(--s-sm) var(--s-sm) var(--s-sm) calc(var(--s-sm) + 10px);border-top:1px solid var(--ink);background:var(--bg);flex-direction:column;grid-column:3/span 5;gap:4px;margin-bottom:10px;scroll-margin-top:90px;display:flex;position:relative}.registre__etape--formation{grid-column:8/span 5}.registre__case{grid-column:3/span 5}.registre__case--formation{grid-column:8/span 5}.registre__pile{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.registre__etape:before{content:"";border-radius:0 0 4px;width:4px;position:absolute;top:-1px;bottom:0;left:0}.registre__type--formation:before,.registre__type--autre:before{box-shadow:none;background-size:4px 6px}.registre__etape:focus{outline:none}.registre__etape:focus-visible,.registre__etape.is-cible{outline:2px solid var(--accent);outline-offset:2px}.registre__periode{color:var(--accent)}.registre__poste{font-family:var(--font-display);font-weight:400;font-size:var(--fs-l);letter-spacing:-.014em;text-wrap:balance;margin-top:2px;line-height:1.02}.registre__lieu{color:var(--ink-2)}.registre__detail{max-width:46ch;color:var(--ink-2);font-size:var(--fs-sm);text-wrap:pretty;margin-top:6px}.registre__nature{padding-top:var(--s-xs);color:var(--ink-2);align-items:center;gap:8px;margin-top:auto;display:inline-flex}.registre__legende{justify-content:space-between;gap:var(--s-xs) var(--s-md);padding-top:var(--s-sm);border-top:1px solid var(--ink);color:var(--ink-2);flex-wrap:wrap;grid-area:-2/1/-1/-1;display:flex}.registre__legende-trame{align-items:center;gap:8px;display:inline-flex}.registre__pastille-trame{background-image:radial-gradient(circle at center, var(--ink-2) 0 1px, transparent 1.6px);box-shadow:inset 0 0 0 1px var(--line-strong);background-size:5px 5px}@media (width<=760px){.registre{padding-top:var(--s-lg);display:block}.registre__tete,.registre__fond,.registre__legende{display:none}.registre__etapes{display:grid}.registre__case,.registre__etape{grid-column:1/-1;grid-row:auto!important}.registre__etape{padding:var(--s-md) 0 var(--s-md) 18px;border-top-color:var(--line-strong);margin:0}.registre__etape:before{top:var(--s-md);bottom:var(--s-md);border-radius:4px}.registre__periode{font-family:var(--font-display);letter-spacing:-.02em;text-transform:none;font-size:clamp(1.9rem,9vw,2.5rem);line-height:1}.registre__poste{font-size:clamp(1.45rem,6.4vw,1.8rem)}}.contact__vue{height:104svh}.contact__jour{background:var(--bg);color:var(--ink);position:relative}.contact__inner{padding-top:var(--s-xs);padding-bottom:var(--s-xs);align-items:end;row-gap:12px}.contact__rubrique{grid-column:1/-1}.contact__titre{font-family:var(--font-display);letter-spacing:-.035em;grid-area:2/1/span 2/span 5;align-self:end;margin-left:-.04em;font-size:clamp(4rem,9vw,10rem);font-weight:400;line-height:.84}.contact__statut{font-size:var(--fs-m);text-wrap:pretty;grid-area:2/6/auto/-1;align-items:baseline;gap:12px;line-height:1.3;display:flex}.contact__email{color:var(--ink);grid-area:3/6/auto/-1;justify-items:start;gap:6px;text-decoration:none;display:grid}.contact__email-label{color:var(--ink-3)}.contact__email-adresse{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;background:linear-gradient(var(--accent), var(--accent)) 0 100% / 100% 2px no-repeat;transition:background-size var(--dur-lg) var(--ease-out);padding-bottom:.06em;font-size:clamp(1.9rem,4.6vw,5.2rem);font-style:italic;line-height:.98;position:relative}@media (hover:hover){.contact__email:hover .contact__email-adresse{color:var(--accent);background-size:35% 2px}}.contact__liens{column-gap:var(--gouttiere);margin-top:var(--s-xs);grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.contact__lien{align-items:baseline;column-gap:var(--s-xs);border-top:1px solid var(--ink);min-height:44px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;row-gap:2px;padding-block:10px 4px;text-decoration:none;display:grid}.contact__lien-nom{font-family:var(--font-display);font-size:var(--fs-l);letter-spacing:-.012em;line-height:1.05}.contact__lien-url{color:var(--ink-3);overflow-wrap:anywhere;text-transform:none;letter-spacing:.02em;grid-area:2/1}.contact__fleche{font-size:var(--fs-m);color:var(--accent);transition:transform var(--dur-sm) var(--ease-out);grid-area:1/2;line-height:1}@media (hover:hover){.contact__lien:hover .contact__lien-nom{color:var(--accent)}.contact__lien:hover .contact__fleche{transform:translate(4px,-4px)}}.contact__lien--indispo{border-top-style:dashed;margin:0}.contact__lien--indispo .contact__lien-nom{color:var(--ink-2)}.pied{background:var(--bg);color:var(--ink)}.pied__inner{row-gap:var(--s-xs);padding-top:var(--s-sm);padding-bottom:var(--s-sm);align-items:baseline}.pied__inner:before{content:"";height:1px;margin-bottom:var(--s-xs);background:var(--line-strong);grid-column:1/-1}.pied__nom{grid-column:1/span 3}.pied__colophon{color:var(--ink-2);text-wrap:pretty;grid-column:4/span 5;font-size:.86rem;line-height:1.45}.pied__mention{color:var(--ink);display:block}.pied__meta{color:var(--ink-3);grid-column:9/span 2;gap:2px;display:grid}.pied__haut{grid-column:11/-1;place-self:start end;margin-top:-12px}@media (width<=1024px){.contact__titre,.contact__statut,.contact__email{grid-area:auto/1/auto/-1}.contact__liens{grid-template-columns:1fr}.pied__nom,.pied__colophon,.pied__meta{grid-column:1/-1;justify-self:start}.pied__meta{gap:var(--s-md);align-items:baseline;display:flex}.pied__haut{grid-column:1/-1;justify-self:start;margin-top:0}}@media (width<=760px){.contact__vue{height:88svh}}.options-panneau{z-index:1000;border:1px solid oklch(from var(--ink) l c h / .22);background:oklch(from var(--bg) l c h / .9);backdrop-filter:blur(8px);width:min(360px,100vw - 32px);max-height:calc(100svh - 32px);color:var(--ink);font-family:var(--font-mono);overscroll-behavior:contain;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.35;position:fixed;bottom:16px;left:16px;overflow:auto;box-shadow:0 10px 30px oklch(10% .02 260/.35)}.has-curseur .options-panneau{cursor:auto}.has-curseur .options-panneau button{cursor:pointer}html.options-survol .curseur{opacity:0}.options-panneau__entete{justify-content:space-between;align-items:center;gap:12px;display:flex}.options-panneau__titre{text-transform:uppercase;letter-spacing:.08em;margin:0}.options-panneau__replier,.options-panneau__bouton{font:inherit;color:inherit;border:1px solid oklch(from var(--ink) l c h / .3);cursor:pointer;background:0 0;border-radius:6px}.options-panneau__replier{padding:3px 8px}.options-panneau__corps{gap:12px;margin-top:10px;display:grid}.options-panneau__ligne{grid-template-columns:7.5em 1fr;align-items:center;gap:6px 8px;display:grid}.options-panneau__cle{color:oklch(from var(--ink) l c h / .7);margin:0}.options-panneau__boutons{flex-wrap:wrap;gap:6px;display:flex}.options-panneau__bouton{min-width:34px;min-height:30px;padding:4px 8px}.options-panneau__bouton[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.options-panneau__replier:focus-visible,.options-panneau__bouton:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.options-panneau__idee{color:oklch(from var(--ink) l c h / .82);text-wrap:pretty;grid-column:1/-1;margin:0}.pied__mentions[data-astro-cid-e2xx2dxk]{min-height:24px;color:var(--ink-2);text-underline-offset:.3em;text-decoration:underline 1px;text-decoration-color:var(--line-strong);transition:color var(--dur-micro) ease;justify-self:start;padding-block:4px;display:inline-block}@media (hover:hover){.pied__mentions[data-astro-cid-e2xx2dxk]:hover{color:var(--accent);text-decoration-color:currentColor}}
