/*! release 20261115-d709dfc-r9 d709dfc75be793de5506b393aeb260a01fa2f162 */:root{--release-a-styles-components-css:"20261115-d709dfc-r9 d709dfc75be793de5506b393aeb260a01fa2f162"}
@layer base {
  .columns {
    --_gap: var(--c-gap, 0vmin);
    display: flex; flex-flow: row nowrap; align-items: stretch; justify-content: flex-start;
    position: relative; width: 100%; contain: layout; clear: both; visibility: visible;
    transform-origin: center center; transform: translate(0);
    margin-top: calc(var(--gutter-expand, 0) * var(--_gap));
  }
  .columns[hidden] { display: none; }
  .columns > .column {
    --_width: calc((100% - var(--c-n, 0) * var(--_gap)) * var(--c-f, 1));
    display: block; position: relative; overflow-wrap: break-word; max-width: 100%;
    flex: 0 0 var(--_width); width: var(--_width);
  }
  .columns > .column:not(:last-child) { margin-right: var(--_gap); }
  .columns > .column:last-child { flex-grow: 1; }
  @media (max-aspect-ratio: 4/5) {
    .columns { --_gap: var(--c-gap-m, var(--c-gap, 0vmin)); }
    .columns[data-mobile-stack="true"] { flex-direction: column; }
    .columns[data-mobile-stack="true"] > .column { --_width: 100%; }
    .columns[data-mobile-stack="true"] > .column:not(:last-child) { margin-right: 0; margin-bottom: var(--_gap); }
  }
}
@layer base {
  .ppplus-vi ol > li > figure > .media {
    inline-size: 100% !important; min-inline-size: 0 !important; max-inline-size: 100% !important;
    block-size: auto !important; min-block-size: 0 !important; max-block-size: none !important;
    aspect-ratio: 1 !important;
  }
  .ppplus-vi ol > li > figure > .media :is(.media-figure, .media-sizing, .media-content) {
    inline-size: 100% !important; min-inline-size: 0 !important; max-inline-size: 100% !important;
    block-size: 100% !important; min-block-size: 0 !important; max-block-size: 100% !important;
    padding: 0 !important;
  }
  .ppplus-vi ol > li > figure > .media .media-content { object-fit: contain !important; object-position: center !important; }
}
@layer base {
  .gallery { display: block; position: relative; box-sizing: border-box; width: var(--m-width, 100cqw); max-width: 100%; }
  .gallery[hidden] { display: none; }
  .gallery-grid {
    --_cols: var(--g-cols, 3); --_gap: var(--g-gap, 0vmin);
    margin-top: calc(var(--gutter-expand, 0) * var(--_gap));
  }
  .gallery-grid .g-row {
    position: relative; display: flex; flex-flow: row nowrap; align-items: flex-start; justify-content: flex-start;
    width: 100%; clear: both; box-sizing: border-box;
  }
  .gallery-grid[data-horizontal-align="center"] .g-orphans { justify-content: center; }
  .gallery-grid[data-horizontal-align="right"] .g-orphans { justify-content: flex-end; }
  .gallery-grid .g-row > .media {
    --_gapx: var(--_gap);
    --_cell: calc((100% - (var(--_cols) - 1) * var(--_gapx)) / var(--_cols)); --_top: var(--g-top, 0);
    position: relative; display: flex; max-width: 100%; min-width: 0;
    flex: 0 0 var(--_cell); width: var(--_cell);
    margin-top: calc(var(--_cell) * var(--_top));
  }
  @supports (padding-bottom: round(nearest, 10%, 1px)) {
    .gallery-grid .g-row > .media {
      --_gapx: round(nearest, var(--_gap), 1px);
      --frame-padding: calc(round(nearest, calc((100% + (var(--_cols) - 1) * (var(--_gapx) - var(--_gap)) / var(--_cols)) * var(--m-r, .625)), 1px) + var(--g-inset, 0vmin));
    }
  }
  @media not all and (max-aspect-ratio: 4/5) {
    .gallery-grid .g-row:not(.g-d) { display: contents; }
    .gallery-grid .g-row > .media:not(.g-rl) { margin-right: var(--_gapx); }
    .gallery-grid .g-row > .media:not(.g-lr) { margin-bottom: var(--_gap); }
    .gallery-grid .g-row > .g-end { flex-grow: 1; --object-fit: fill; }
  }
  @media (max-aspect-ratio: 4/5) {
    .gallery-grid { --_cols: var(--g-cols-m, var(--g-cols, 3)); --_gap: var(--g-gap-m, var(--g-gap, 0vmin)); }
    .gallery-grid .g-row:not(.g-m) { display: contents; }
    .gallery-grid .g-row > .media { --_top: var(--g-top-m, var(--g-top, 0)); }
    .gallery-grid .g-row > .media:not(.g-rl-m) { margin-right: var(--_gapx); }
    .gallery-grid .g-row > .media:not(.g-lr-m) { margin-bottom: var(--_gap); }
    .gallery-grid .g-row > .g-end-m { flex-grow: 1; --object-fit: fill; }
    .gallery-grid[data-mobile-horizontal-align="left"] .g-orphans { justify-content: flex-start; }
    .gallery-grid[data-mobile-horizontal-align="center"] .g-orphans { justify-content: center; }
    .gallery-grid[data-mobile-horizontal-align="right"] .g-orphans { justify-content: flex-end; }
    .gallery-grid.g-regroup { display: flex; flex-flow: row wrap; align-items: flex-start; }
    .gallery-grid.g-regroup .g-row { display: contents; }
    .gallery-grid.g-regroup .g-row > .media { --_cell: calc((100% - (var(--_cols) - 1) * var(--_gapx)) / var(--_cols) - .01vmin); }
    .gallery-grid.g-regroup[data-horizontal-align="center"], .gallery-grid.g-regroup[data-mobile-horizontal-align="center"] { justify-content: center; }
    .gallery-grid.g-regroup[data-horizontal-align="right"], .gallery-grid.g-regroup[data-mobile-horizontal-align="right"] { justify-content: flex-end; }
  }
  .gallery-justify {
    --_gap: var(--j-gap, 0vmin);
    display: flex; flex-flow: row wrap; align-items: stretch; justify-content: flex-start; column-gap: var(--_gap); row-gap: var(--_gap);
    margin-top: calc(var(--gutter-expand, 0) * var(--_gap));
  }
  .gallery-justify[data-row-align="center"] { justify-content: center; }
  .gallery-justify[data-row-align="right"] { justify-content: flex-end; }
  .gallery-justify > .media {
    --_open: var(--j-open, 0);
    position: relative; display: flex; width: auto; max-width: 100%; min-width: 0;
    flex: calc(var(--j-a, 1) * (1 - var(--_open))) 0 calc(var(--j-row) * var(--j-a, 1) * (.999 + .001 * var(--_open)));
  }
  @media not all and (max-aspect-ratio: 4/5) { .gallery-justify > .j-end { --object-fit: fill; } }
  @media (max-aspect-ratio: 4/5) {
    .gallery-justify { --_gap: var(--j-gap-m, var(--j-gap, 0vmin)); }
    .gallery-justify > .media { --_open: var(--j-open-m, var(--j-open, 0)); }
    .gallery-justify > .j-end-m { --object-fit: fill; }
  }
  .gallery-freeform { display: grid; grid-template-columns: minmax(0, 1fr); contain: layout; }
  .gallery-freeform > .media {
    grid-area: 1 / 1; align-self: start; justify-self: start;
    display: flex; flex: none; max-width: none;
    width: var(--f-w, 25%); margin-left: var(--f-x, 0%) !important; margin-top: calc(var(--f-y, 0%) - var(--f-cut, 0vmin)) !important;
    translate: var(--f-dx, 0) var(--f-dy, 0);
    z-index: var(--m-z, var(--f-z, auto));
  }
  .gallery-freeform > .media .media-sizing { pointer-events: auto; }
  .gallery-freeform[data-hover-pop="true"] > .media:hover { z-index: 99999; }
  @media (max-aspect-ratio: 4/5) {
    .gallery-freeform[data-mobile-grid="true"] { display: block; }
    .gallery-freeform[data-mobile-grid="true"] > .media { width: 100%; margin-left: 0 !important; margin-top: 0 !important; translate: none; }
  }
  .gallery-columnized { --_cols: var(--k-cols, 3); --_gap: var(--k-gap, 0vmin); column-count: var(--_cols); column-gap: var(--_gap); }
  .gallery-columnized > .media { position: relative; display: flex; width: 100%; max-width: 100%; margin-bottom: var(--_gap); break-inside: avoid; }
  @media (max-aspect-ratio: 4/5) { .gallery-columnized { --_cols: var(--k-cols-m, var(--k-cols, 3)); --_gap: var(--k-gap-m, var(--k-gap, 0vmin)); } }
  .gallery-slideshow { height: 100%; overflow: hidden; }
  .gallery-slideshow > .slide {
    position: absolute !important; inset: 0; width: 100%; height: 100%; max-width: none; opacity: 0; pointer-events: none;
    transition: opacity var(--s-speed, 1s) ease-in-out, transform var(--s-speed, 1s) ease-in-out;
  }
  .gallery-slideshow > .slide.is-active { opacity: 1; pointer-events: auto; z-index: 1; }
  .gallery-slideshow > .slide > .media-figure { height: 100%; }
  .gallery-slideshow[data-transition-type="slide"] > .slide { opacity: 1; transform: translateX(100%); }
  .gallery-slideshow[data-transition-type="slide"] > .slide.is-before { transform: translateX(-100%); }
  .gallery-slideshow[data-transition-type="slide"] > .slide.is-active { transform: translateX(0); }
  .gallery-slideshow[data-transition-type="none"] > .slide { transition: none; }
  .gallery-slideshow > .slideshow-nav { position: absolute; inset: 0; z-index: 5; pointer-events: none; display: flex; }
  .gallery-slideshow > .slideshow-nav > button { flex: 1 1 50%; pointer-events: auto; cursor: pointer; background: none; border: 0; padding: 0; margin: 0; color: inherit; font: inherit; }
  .gallery-slideshow[data-navigation="false"] > .slideshow-nav { display: none; }
  @media (prefers-reduced-motion: reduce) { .gallery-slideshow > .slide { transition: none; } }
}
@layer base {
  [data-mode="systems"] .topbar-glass i,
  [data-mode="systems"] .topbar-glass .tb-edge-glass,
  .sr[data-scope="systems"] .sr-ground,
  .sr-shade[data-scope="systems"],
  .sr[data-scope="systems"][data-static]::before,
  [data-mode="systems"] .foot[data-look="glass"]::before {
    -webkit-backdrop-filter: var(--glass-filter, none);
    backdrop-filter: var(--glass-filter, none);
    background: var(--glass-paint, transparent);
  }
}
@layer base {
  .marquee {
    --_gap: var(--q-gap, 0vmin);
    display: block; position: relative; box-sizing: border-box; contain: layout; pointer-events: auto; cursor: default;
    overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
  }
  .marquee::-webkit-scrollbar { display: none; }
  .marquee[hidden] { display: none; }
  .marquee > .marquee-belt { display: flex; flex-flow: row nowrap; align-items: flex-start; width: max-content; column-gap: var(--_gap); row-gap: var(--_gap); }
  .marquee > .marquee-belt > .marquee-row {
    flex: none; display: block; box-sizing: border-box; min-width: 100cqw; white-space: nowrap;
    pointer-events: auto; -webkit-user-select: none; user-select: none;
  }
  .marquee:not(.is-live) > .marquee-belt > .marquee-echo { display: none; }
  .marquee :is(h1, h2, h3, h4, h5, h6) { display: inline-block; vertical-align: text-bottom; }
  .marquee .media .caption { white-space: normal; }
  .marquee.is-live { overflow-x: clip; overflow-y: visible; }
  .marquee.is-live[data-pointer-interaction="true"], .marquee.is-live:not([data-pointer-interaction]) { touch-action: pan-y; }
  .marquee.is-live[data-motion="scroll"] > .marquee-belt {
    animation: marquee-x var(--q-time, 0s) linear infinite var(--q-dir, normal); will-change: transform;
    -webkit-backface-visibility: hidden; backface-visibility: hidden;
  }
  .marquee:is([data-axis="vertical"], [data-axis="diagonal"]) { height: var(--q-height, 100vh); container-type: size; }
  .marquee[data-axis="vertical"] { overflow-x: visible; overflow-y: auto; }
  .marquee[data-axis="vertical"] > .marquee-belt { flex-direction: column; align-items: stretch; width: auto; }
  .marquee[data-axis="vertical"] > .marquee-belt > .marquee-row { min-width: 0; min-height: 100cqh; white-space: normal; }
  .marquee.is-live[data-axis="vertical"] { overflow-x: visible; overflow-y: clip; }
  .marquee.is-live[data-axis="vertical"][data-pointer-interaction="true"], .marquee.is-live[data-axis="vertical"]:not([data-pointer-interaction]) { touch-action: pan-x; }
  .marquee.is-live[data-motion="scroll"][data-axis="vertical"] > .marquee-belt { animation-name: marquee-y; }
  .marquee[data-motion="bounce"] { overflow: clip; overflow-clip-margin: calc(2 * var(--c-unit)); }
  .marquee[data-motion="bounce"] > .marquee-belt > .marquee-row { min-width: 0; min-height: 0; }
  .marquee[data-motion="bounce"][data-axis="vertical"] > .marquee-belt { width: max-content; max-width: 100%; }
  .marquee[data-motion="bounce"][data-axis="diagonal"] > .marquee-belt > .marquee-row { white-space: normal; }
  .marquee.is-live[data-motion="bounce"][data-axis="horizontal"] > .marquee-belt {
    animation: marquee-bounce-x var(--q-time, 0s) linear calc(var(--q-time, 0s) * -.5) infinite var(--q-turn, alternate-reverse);
  }
  .marquee.is-live[data-motion="bounce"][data-axis="vertical"] > .marquee-belt {
    animation: marquee-bounce-y var(--q-time-y, 0s) linear calc(var(--q-time-y, 0s) * -.5) infinite var(--q-turn, alternate-reverse);
  }
  .marquee.is-live[data-motion="bounce"][data-axis="diagonal"] > .marquee-belt {
    animation: marquee-bounce-x var(--q-time, 0s) linear calc(var(--q-time, 0s) * -.5) infinite var(--q-turn, alternate-reverse),
      marquee-bounce-y var(--q-time-y, 0s) linear calc(var(--q-time-y, 0s) * -.5) infinite var(--q-turn, alternate-reverse);
  }
  .marquee[data-static], :root:is([data-mode="clean"], [data-mode="html"]) .marquee { contain: none; height: auto; overflow: visible; touch-action: auto; }
  .marquee[data-static] > .marquee-belt, :root:is([data-mode="clean"], [data-mode="html"]) .marquee > .marquee-belt { display: block; width: auto; animation: none; transform: none; translate: none; }
  .marquee[data-static] > .marquee-belt > .marquee-row, :root:is([data-mode="clean"], [data-mode="html"]) .marquee > .marquee-belt > .marquee-row { min-width: 0; min-height: 0; white-space: normal; -webkit-user-select: auto; user-select: auto; }
  .marquee[data-static] > .marquee-belt > .marquee-echo, :root:is([data-mode="clean"], [data-mode="html"]) .marquee > .marquee-belt > .marquee-echo { display: none; }
  @media print {
    .marquee { contain: none; height: auto; overflow: visible; }
    .marquee > .marquee-belt { display: block; width: auto; animation: none !important; transform: none; translate: none; }
    .marquee > .marquee-belt > .marquee-row { min-width: 0; min-height: 0; white-space: normal; }
    .marquee > .marquee-belt > .marquee-echo { display: none; }
  }
  @media (prefers-reduced-motion: reduce) { .marquee[reduced-motion="pause"] > .marquee-belt { animation-play-state: paused; } }
}
@keyframes marquee-x { to { transform: translateX(calc(-50% - var(--_gap, 0vmin) / 2)); } }
@keyframes marquee-y { to { transform: translateY(calc(-50% - var(--_gap, 0vmin) / 2)); } }
@keyframes marquee-bounce-x { from { transform: translateX(0); } to { transform: translateX(calc(100cqw - 100%)); } }
@keyframes marquee-bounce-y { from { translate: 0 0; } to { translate: 0 calc(100cqh - 100%); } }
@layer base {
  :root { --c-unit: min(1.44vh, calc((7.2vh + 2.88vw) / 7)); }
  @media (max-aspect-ratio: 4/5) { :root { --c-unit: min(1.44vh, calc((7.2vh + 2.88vw) / 7), 2.24vw); } }
  .copy, .column, .marquee { container-type: inline-size; }
  .copy { width: 100%; max-width: 100%; }
  .media {
    display: inline-flex; vertical-align: bottom; flex-direction: column; position: relative;
    box-sizing: border-box; margin: 0; padding: 0;
    width: var(--m-width, 100cqw); max-width: var(--m-max, 100cqw);
    z-index: var(--m-z, auto);
    transform-origin: center center;
    transform: translate(0) var(--m-drag, translate(0)) rotate(var(--m-rot, 0deg));
    unicode-bidi: normal;
  }
  .media { vertical-align: bottom !important; }
  .media-figure, .media-frame, .media-sizing, .media-content { box-sizing: border-box; }
  .media-figure { display: flex; flex-direction: column; position: relative; width: 100%; margin: 0; padding: 0; z-index: 2; }
  .media.linked > .media-figure { cursor: pointer; }
  .media-figure > figcaption { -webkit-user-select: text; user-select: text; width: 100%; }
  .media .caption.empty { display: none; }
  .media-frame { display: contents; }
  .media-sizing {
    display: block; position: relative; width: 100%; height: 0; flex-grow: 1; isolation: isolate;
    padding-bottom: var(--frame-padding, calc((100% - var(--m-pad-x, 0vmin)) * var(--m-r, .625) + var(--m-pad-y, 0vmin)));
  }
  .media-link { cursor: inherit; }
  .media-link:focus-visible { outline: none; }
  .media-content {
    position: absolute; inset: 0; display: block; margin: 0;
    width: 100%; height: 100%; min-width: 100%; min-height: 100%;
    object-fit: var(--object-fit, cover); object-position: var(--frame-position, var(--m-pos, center center));
    overflow: clip; overflow-clip-margin: content-box;
  }
  .media-content::selection { background: transparent; }
  .media-placeholder { container-type: size; container-name: placeholder-media; }
  .media-content:fullscreen { object-fit: contain !important; }
  .media.zoom .media-content { cursor: zoom-in; }
  .media-file { position: static; width: auto; height: auto; min-width: 0; min-height: 0; }
  .media:has(> .media-figure .media-file) .media-sizing { height: auto; padding-bottom: 0; }
  .media[data-image-fit="fit"] { --object-fit: contain; }
  .media[data-image-fit="fill"] { --object-fit: cover; }
  .media[data-image-fit="stretch"] { --object-fit: fill; }
  .media[data-uses~="drag"] { pointer-events: auto !important; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; touch-action: none; cursor: grab; }
  .media[data-uses~="drag"].is-dragging { cursor: grabbing; }
  .mmm.m :is(.media + br + br + br, .media + br + br + br + br, .media + br + br + br + br + br):is(
    :has(+ .media), :has(+ br + .media), :has(+ br + br + .media)
  ) { display: none; }
  .mmm.m .media + br + span.small-caps > br:first-child { display: none; }
  .mmm.m .media:has(+ br + span.small-caps > br:first-child) { margin-bottom: 1.8vmin; }
  .media + *, .columns + *, .gallery + * { --gutter-expand: 1; }
  .column > :first-child { --gutter-expand: 0; }
}
:root { --letters-move-x: 47.5vmin; --letters-move-y: -42.57417vmin; }
.sheet:has(:where(.ppplus)) { --letters-move-x: 0vmin; --letters-move-y: 0vmin; }
@keyframes moveBackground3 { 0% { background-position: 0% 0%; } 100% { background-position: var(--letters-move-x) var(--letters-move-y); } }
@layer base {
  .video { position: relative; display: block; inline-size: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #000; color: #fff; }
  .video-frame > .video { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; aspect-ratio: auto; }
  .video-play { position: absolute; inset: 0; display: block; color: inherit; text-decoration: none; cursor: pointer; }
  .video-poster { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; max-inline-size: none; object-fit: cover; opacity: .86; transition: opacity .4s ease; }
  .video-play:is(:hover, :focus-visible) .video-poster { opacity: 1; }
  .video-play[data-no-poster] { border: .15vmin solid currentColor; box-sizing: border-box; }
  .video-button { position: absolute; inset-inline-start: 50%; inset-block-start: 50%; inline-size: 9vmin; block-size: 9vmin; translate: -50% -50%; border: .3vmin solid currentColor; border-radius: 50%; box-sizing: border-box; transition: scale .3s ease, background-color .3s ease, color .3s ease; }
  .video-button::after { content: ""; position: absolute; inset-inline-start: 52%; inset-block-start: 50%; inline-size: 3.2vmin; block-size: 3.6vmin; translate: -50% -50%; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
  .video-play:is(:hover, :focus-visible) .video-button { scale: 1.08; background: #fff; color: #000; }
  .video-play:active .video-button { scale: .96; }
  .video-play:focus-visible { outline: .3vmin solid #fff; outline-offset: -1.2vmin; }
  .video-title { position: absolute; inset-inline: 0; inset-block-end: 0; padding: 4vmin 2vmin 1.4vmin; font: inherit; font-size: min(2.2vmin, 3.6vw); line-height: 1.3; background: linear-gradient(transparent, rgb(0 0 0 / .6)); text-align: start; }
  .video-play[data-no-poster] .video-title { background: none; }
  .video-player { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; border: 0; opacity: 0; transition: opacity .3s ease; background: #000; }
  .video[data-live] .video-player { opacity: 1; }
  .video[data-live] .video-play { opacity: 0; transition: opacity .3s ease; pointer-events: none; }
  .video[data-done] .video-play { display: none; }
  .music-rt4a-ecco-beach-a-plus-o-minus .video { inline-size: calc(calc(100vw / 3 * 2) - .5vmin); block-size: calc(calc(calc(100vw / 3 * 2) - .5vmin) / 16 * 9); aspect-ratio: auto; margin-inline: auto .5vmin; }
  .exhibition-making-doc-francis-baudevin-guitars .video { display: inline-block; vertical-align: baseline; inline-size: 89.8vmin; min-inline-size: 89.8vmin; block-size: calc(90vmin * .5625); min-block-size: calc(90vmin * .5625); aspect-ratio: auto; margin-inline-start: -5.1vmin; }
  .pre-natal-phase .video-frame > .video { position: relative; display: inline-block; vertical-align: baseline; inline-size: 300px; block-size: 150px; aspect-ratio: auto; }
  @media (prefers-reduced-motion: reduce) {
    .video-poster, .video-button, .video-player, .video[data-live] .video-play { transition: none; }
    .video-play:is(:hover, :focus-visible) .video-button { scale: 1; }
  }
}

@layer base {
  .gl, .gl-all, .gl-all * { font-family: var(--af-face-text) !important; font-weight: 300 !important; font-synthesis: none !important; }
}
@layer base {
  .ppp.ppplus-i ol > li:not(:has(div.media))::before,
  .ppp.ppplus-i ol > li:not(:has(div.media))::after {
    font-family: "f5cce814137", "f5cce814137l", sans-serif !important; font-weight: 900 !important; font-style: normal !important;
    font-size: var(--af-type-cards) !important; letter-spacing: 0 !important; text-transform: uppercase !important;
    font-feature-settings: "ss01" 1, "ss02" 1, "ss09" 1, "ss08" 1 !important;
  }
}
@layer base {
  html { --viewport-height: 100dvh; --min-viewport-height: 100svh; --visible-viewport-height: 100dvh; --visible-viewport-offset: 0vmin; }
  html { --base-size: 1.44vh; --mobile-scale: 1; }
  @media (max-aspect-ratio: 4/5) {
    html { --base-size: calc((2vw + 5 * min(1vh, 16vw / 9)) * 1.44 / 7); }
  }
}
@layer base {
  :is(#page-title-p-biography, #page-title-p-curriculum-vitae, #page-title-p-chronology, #page-title-p-relations, #page-title-p-index) {
    font-size: 3.8vmin !important; line-height: 1.2 !important;
  }
}
