/* Fidelity V2: preserve Site's rendered geometry; only add native state transitions. */
html { scroll-behavior: auto; }
body { margin: 0; }
.site-JzGoe { transition: height 1s cubic-bezier(.25,1,.5,1), background-color 1s cubic-bezier(.25,1,.5,1); }
.site-JzGoe .site-1r7kj7p,
.site-JzGoe .site-v355s1,
.site-JzGoe .site-rtt93e { transition: height 1s cubic-bezier(.25,1,.5,1), padding 1s cubic-bezier(.25,1,.5,1), gap 1s cubic-bezier(.25,1,.5,1), opacity .4s ease; }
.site-JzGoe .site-nwf8n,
.site-JzGoe .site-10z6wcu { cursor: pointer; }
.site-JzGoe .site-nwf8n { transition: opacity .4s cubic-bezier(.25,1,.5,1); }
/* Prevent SSR reveal items being stranded invisible if the original appear helper is unavailable. */
html.native-appear-fallback [style*="opacity:0.001"][style*="translateY(80px)"],
html.native-appear-fallback [style*="opacity: 0.001"][style*="translateY(80px)"] { opacity: 1 !important; transform: translateY(0) !important; transition: opacity .9s cubic-bezier(.25,1,.5,1), transform 1s cubic-bezier(.25,1,.5,1); }
\n/* Hero title is animated natively from Site's original onMount line effect. */\n.site-s7cazt .site-12zf8ke h1 > span > span { will-change: transform, opacity; }\n
[data-external-link-removed="true"] { color: inherit; text-decoration: inherit; }


/* V2.6 — manifeste FR */
nav .site-text{
  text-transform:uppercase;
}


/* V2.9 — lisibilité du manifeste + invitation interactive */
.site-s7cazt .site-12zf8ke h1{
  line-height:1.16 !important;
}
.home-response-prompt{
  display:flex;
  align-items:baseline;
  gap:.18em;
  width:100%;
  margin-top:clamp(28px,3.4vw,56px);
  opacity:0.001;
  transform:translateY(18px);
  color:inherit;
}
.home-response-question{
  font:inherit;
  font-size:inherit;
  line-height:1.16;
  color:inherit;
}
.home-response-cursor{
  display:inline-block;
  width:.075em;
  height:.9em;
  min-width:2px;
  background:currentColor;
  transform:translateY(.08em);
  animation:cdr-cursor-blink 1.05s steps(1,end) infinite;
}
@keyframes cdr-cursor-blink{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .home-response-cursor{animation:none}
}


/* V3.0 — hiérarchie du manifeste */
.home-manifesto-intro-token{
  color:rgb(10,10,10);
}
.home-manifesto-body-token{
  color:rgba(10,10,10,.40);
}

/* Même taille/graisse que le manifeste, sans modifier le H1 lui-même. */
.home-response-prompt{
  font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
  font-size:calc(var(--site-root-font-size,1rem)*2.8);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.16;
  color:rgb(10,10,10);
}
.home-response-question{
  font-family:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  color:rgb(10,10,10);
}
@media (max-width:1199px) and (min-width:810px){
  .home-response-prompt{
    font-size:calc(var(--site-root-font-size,1rem)*1.6);
  }
}
@media (max-width:809px) and (min-width:0){
  .home-response-prompt{
    font-size:calc(var(--site-root-font-size,1rem)*1.32);
  }
}


/* V3.1 — hiérarchie du manifeste */
.home-manifesto-intro-token,
.home-manifesto-key-token{
  color:rgb(10,10,10);
}
.home-manifesto-body-token{
  color:rgba(10,10,10,.40);
}
.home-response-prompt,
.home-response-question{
  color:rgb(10,10,10);
}


/* V3.1 — footer social links */
.footer-social-link{
  display:inline-flex;
  align-items:center;
  color:inherit;
  text-decoration:none;
}


/* V3.5 — Home / desktop compact + iPad paysage
   Objectif : conserver le manifeste entier dans le premier écran,
   avec « Et vous ? » à une position proche de la référence desktop. */
@media (min-width:810px) and (max-width:1500px){
  .site-hhkRo .site-styles-preset-1fk262b:not(.rich-text-wrapper),
  .site-hhkRo .site-styles-preset-1fk262b.rich-text-wrapper h1{
    --site-font-size:clamp(25px,2.35vw,34px) !important;
    --site-line-height:116% !important;
  }

  .site-s7cazt .site-12zf8ke h1{
    line-height:1.16 !important;
  }

  .home-response-prompt{
    font-size:clamp(25px,2.35vw,34px) !important;
    line-height:1.16 !important;
    margin-top:clamp(30px,3.2vh,44px) !important;
  }

  /* Évite que la colonne centrale descende artificiellement
     sur les écrans plus bas (13" notamment). */
  .site-0cIFc .site-1h3kn4g{
    padding-top:clamp(54px,7.5vh,80px) !important;
  }

  .site-0cIFc .site-xfnqu2{
    align-items:flex-start !important;
  }
}

/* Ajustement spécifique aux écrans bas mais larges :
   MacBook 13", laptop 1280/1440 et fenêtres desktop peu hautes. */
@media (min-width:1200px) and (max-width:1500px) and (max-height:900px){
  .site-hhkRo .site-styles-preset-1fk262b:not(.rich-text-wrapper),
  .site-hhkRo .site-styles-preset-1fk262b.rich-text-wrapper h1{
    --site-font-size:clamp(28px,2.2vw,32px) !important;
  }

  .home-response-prompt{
    font-size:clamp(28px,2.2vw,32px) !important;
    margin-top:clamp(26px,3vh,38px) !important;
  }

  .site-0cIFc .site-1h3kn4g{
    padding-top:clamp(48px,6.5vh,64px) !important;
  }
}

/* iPad paysage / tablettes larges :
   conserve les deux colonnes et empêche la Home de dépasser visuellement. */
@media (min-width:810px) and (max-width:1199px) and (orientation:landscape){
  .site-0cIFc .site-td3wzx{
    height:clamp(20vh,26vh,30vh) !important;
  }

  .site-0cIFc .site-1wp6tcr{
    height:clamp(64vh,70vh,74vh) !important;
  }

  .home-response-prompt{
    margin-top:clamp(24px,3vh,34px) !important;
  }
}


/* V3.6 — colonne gauche 13" + intégration listes À propos */

/* Évite le rognage de ACTUELLEMENT sur les desktop compacts. */
@media (min-width:810px) and (max-width:1500px){
  .site-0cIFc .site-1vwpfrb,
  .site-0cIFc .site-1cwtqzf,
  .site-0cIFc .site-1gpof70{
    overflow:visible !important;
  }

  .site-0cIFc .site-1vwpfrb{
    min-width:0 !important;
    width:100% !important;
  }

  /* Un peu plus d'air dans la colonne gauche sans déplacer la grille centrale. */
  .site-0cIFc .site-1cwtqzf{
    padding-right:clamp(10px,1vw,18px) !important;
  }

  /* Le libellé reste sur une ligne et ne se fait plus couper. */
  .site-0cIFc .site-1cwtqzf p:first-of-type{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
}

/* Les entrées ajoutées sur À PROPOS doivent suivre exactement le rythme de liste,
   sans marge verticale parasite ni bloc autonome. */
[data-site-name="INDISCIPLINES"] p,
[data-site-name="OUTILS"] p{
  margin-top:0;
  margin-bottom:0;
}


/* V3.7 — correctifs structurels identifiés dans le DOM */

/* ACTUELLEMENT : le rognage venait du wrapper site-1xx48n3 en overflow:clip. */
@media (min-width:810px){
  .site-0cIFc .site-58nnxo,
  .site-0cIFc .site-58nnxo .site-1xx48n3,
  .site-0cIFc .site-58nnxo .site-vmucli{
    overflow:visible !important;
  }

  .site-0cIFc .site-58nnxo .site-1xx48n3{
    width:max-content !important;
    min-width:max-content !important;
  }

  .site-0cIFc .site-58nnxo .site-vmucli{
    width:max-content !important;
    min-width:max-content !important;
    white-space:nowrap !important;
  }

  .site-0cIFc .site-58nnxo .site-vmucli p{
    width:max-content !important;
    min-width:max-content !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
}

/* OISEAUX : le composant original était absolute + bottom:0.
   Il est désormais physiquement dans le hero et ancré en haut du viewport. */
.site-0cIFc .site-1h3kn4g{
  position:relative !important;
  isolation:isolate;
}

.site-0cIFc [data-home-birds="true"]{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  bottom:auto !important;
  left:0 !important;
  width:100% !important;
  height:100vh !important;
  z-index:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

.site-0cIFc [data-home-birds="true"] video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center top !important;
  pointer-events:none !important;
}

/* Le contenu du premier écran reste au-dessus du passage des oiseaux. */
.site-0cIFc .site-xfnqu2{
  position:relative !important;
  z-index:2 !important;
}


/* ================================================================
   V3.8 — CONTACT / desktop-first conversational form
   ================================================================ */

@media (min-width:810px){
  body.contact-page{
    overflow:hidden !important;
    height:100svh !important;
    max-height:100svh !important;
  }

  body.contact-page .site-1ro6aa5,
  body.contact-page .contact-main{
    min-height:100svh !important;
    height:100svh !important;
    max-height:100svh !important;
    overflow:hidden !important;
  }

  body.contact-page .contact-main{
    justify-content:flex-start !important;
    padding:80px 20px 28px !important;
    gap:0 !important;
  }

  body.contact-page .contact-shell{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:calc(100svh - 108px) !important;
    align-items:flex-start !important;
    overflow:visible !important;
  }

  body.contact-page .contact-progress{
    align-self:stretch !important;
    height:100% !important;
    padding:0 0 22px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
    overflow:visible !important;
  }

  .contact-progress-title{
    flex:none;
  }

  .contact-progress-list{
    display:flex;
    flex-direction:column;
    gap:3px;
    width:100%;
    max-width:360px;
  }

  .contact-step{
    appearance:none;
    border:0;
    background:none;
    padding:0;
    margin:0;
    width:100%;
    display:grid;
    grid-template-columns:28px minmax(96px,1fr) auto;
    align-items:baseline;
    gap:8px;
    text-align:left;
    font:inherit;
    font-size:12px;
    line-height:1.35;
    letter-spacing:0;
    color:rgba(10,10,10,.40);
    transition:color .45s cubic-bezier(.23,.98,.56,1);
  }

  .contact-step[data-state="active"],
  .contact-step[data-state="valid"]{
    color:rgb(10,10,10);
  }

  .contact-step-state{
    font-size:10px;
    letter-spacing:.04em;
    white-space:nowrap;
  }

  .contact-technical{
    margin-top:auto;
    padding-bottom:4px;
    font-size:10px;
    line-height:1.35;
    letter-spacing:.02em;
    color:rgba(10,10,10,.35);
    white-space:nowrap;
  }

  body.contact-page .contact-editor-wrap{
    align-self:stretch !important;
    height:100% !important;
    min-height:0 !important;
    position:relative !important;
    overflow:visible !important;
  }

  .contact-conversation{
    position:relative;
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
  }

  .contact-stage{
    position:absolute;
    inset:0 0 78px 0;
    display:block;
    opacity:1;
    transform:translateY(0);
    transition:
      opacity .55s cubic-bezier(.23,.98,.56,1),
      transform .7s cubic-bezier(.23,.98,.56,1);
  }

  .contact-stage[hidden]{
    display:none !important;
  }

  .contact-stage.is-leaving{
    opacity:0;
    transform:translateY(-18px);
    pointer-events:none;
  }

  .contact-stage.is-entering{
    opacity:0;
    transform:translateY(18px);
  }

  .contact-stage-prompt{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:.16em;
    pointer-events:none;
    color:rgba(10,10,10,.28);
    transition:opacity .25s ease;
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:calc(var(--site-root-font-size,1rem)*2.8);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;
  }

  .contact-stage.has-value .contact-stage-prompt{
    opacity:0;
  }

  .contact-live-cursor{
    display:inline-block;
    width:.075em;
    min-width:2px;
    height:.9em;
    margin-top:.08em;
    background:currentColor;
    animation:cdr-contact-cursor 1.05s steps(1,end) infinite;
  }

  @keyframes cdr-contact-cursor{
    0%,48%{opacity:1}
    49%,100%{opacity:0}
  }

  .contact-input{
    appearance:none;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    outline:0;
    resize:none;
    background:transparent;
    color:rgb(10,10,10);
    caret-color:rgb(10,10,10);
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:calc(var(--site-root-font-size,1rem)*2.8);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;
    box-shadow:none;
    border-radius:0;
  }

  textarea.contact-input{
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:none;
  }
  textarea.contact-input::-webkit-scrollbar{display:none}

  .contact-send{
    appearance:none;
    position:absolute;
    right:0;
    bottom:0;
    border:0;
    background:none;
    padding:0;
    margin:0;
    color:rgb(10,10,10);
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:clamp(20px,2vw,30px);
    font-weight:600;
    line-height:1;
    letter-spacing:-.02em;
    cursor:pointer;
    opacity:1;
    transform:translateY(0);
    transition:opacity .4s ease, transform .55s cubic-bezier(.23,.98,.56,1);
  }

  .contact-send[hidden]{
    display:block !important;
    opacity:0;
    transform:translateY(12px);
    pointer-events:none;
  }

  .contact-prototype-note{
    position:absolute;
    right:0;
    bottom:0;
    color:rgba(10,10,10,.40);
    font-size:10px;
    letter-spacing:.03em;
  }

  body.contact-page [data-home-birds="true"]{
    z-index:0 !important;
    opacity:.88;
  }

  body.contact-page .contact-shell{
    position:relative;
    z-index:2;
  }
}

/* Desktop compact / iPad paysage: same conceptual composition, fluid scale. */
@media (min-width:810px) and (max-width:1500px){
  body.contact-page .contact-stage-prompt,
  body.contact-page .contact-input{
    font-size:clamp(25px,2.35vw,34px);
  }

  body.contact-page .contact-main{
    padding-top:clamp(54px,7.5vh,80px) !important;
  }

  .contact-technical{
    max-width:32vw;
    white-space:normal;
  }
}

/* Mobile is intentionally left functional but not art-directed yet. */
@media (max-width:809px){
  body.contact-page{
    min-height:100svh;
  }
  body.contact-page .contact-main{
    min-height:100svh;
  }
  .contact-progress-list{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }
  .contact-stage-prompt,
  .contact-input{
    font-size:28px;
    line-height:1.18;
  }
  .contact-conversation{
    min-height:58vh;
  }
}


/* ================================================================
   V3.9 — CONTACT : saisie naturelle / colonne Home / footer
   ================================================================ */

@media (min-width:810px){
  /* One-screen desktop page. Footer remains visible and identical. */
  body.contact-page{
    height:100svh !important;
    min-height:100svh !important;
    max-height:100svh !important;
    overflow:hidden !important;
  }

  body.contact-page .contact-main{
    height:calc(100svh - 54px) !important;
    min-height:calc(100svh - 54px) !important;
    max-height:calc(100svh - 54px) !important;
    overflow:hidden !important;
    padding-bottom:18px !important;
  }

  /* Same vertical start / hierarchy as Home left column. */
  body.contact-page .contact-procedure{
    overflow:visible !important;
    align-self:flex-start !important;
    height:auto !important;
    padding:0 !important;
    gap:0 !important;
    display:block !important;
  }

  body.contact-page .contact-procedure .site-1xx48n3,
  body.contact-page .contact-procedure .site-vmucli,
  body.contact-page .contact-procedure .site-vmucli p{
    overflow:visible !important;
    width:max-content !important;
    min-width:max-content !important;
    white-space:nowrap !important;
  }

  .contact-procedure-list{
    margin-top:18px;
    display:flex;
    flex-direction:column;
    gap:0;
  }

  .contact-procedure-item{
    width:max-content;
    min-width:max-content;
    opacity:1;
    transition:opacity .35s ease;
  }

  /* Exact Home paragraph preset is used in HTML.
     Only the color changes as data is detected. */
  .contact-procedure-item p{
    margin:0 !important;
    color:rgba(10,10,10,.40) !important;
    --site-text-color:rgba(10,10,10,.40) !important;
    transition:color .4s cubic-bezier(.23,.98,.56,1);
  }

  .contact-procedure-item[data-state="valid"] p{
    color:rgb(10,10,10) !important;
    --site-text-color:rgb(10,10,10) !important;
  }

  /* One continuous writing surface. */
  body.contact-page .contact-editor-wrap{
    align-self:stretch !important;
    height:100% !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .contact-natural-form{
    position:relative;
    width:100%;
    height:100%;
    min-height:0;
    margin:0;
  }

  .contact-natural-surface{
    position:absolute;
    inset:0 0 72px 0;
    min-height:0;
  }

  .contact-natural-prompt{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:.16em;
    pointer-events:none;
    color:rgba(10,10,10,.28);
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:calc(var(--site-root-font-size,1rem)*2.8);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;
    opacity:1;
    transition:opacity .2s ease;
  }

  .contact-natural-surface.has-value .contact-natural-prompt{
    opacity:0;
  }

  .contact-natural-input{
    appearance:none;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    outline:0;
    resize:none;
    background:transparent;
    color:rgb(10,10,10);
    caret-color:transparent; /* fake prompt cursor only while empty */
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:calc(var(--site-root-font-size,1rem)*2.8);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:none;
    box-shadow:none;
    border-radius:0;
  }

  .contact-natural-input::-webkit-scrollbar{
    display:none;
  }

  .contact-natural-surface.has-value .contact-natural-input{
    caret-color:rgb(10,10,10); /* native caret starts only after first character */
  }

  .contact-send{
    right:0 !important;
    bottom:8px !important;
  }

  .contact-dev-note{
    position:absolute;
    right:0;
    bottom:10px;
    font-size:10px;
    line-height:1;
    color:rgba(10,10,10,.35);
    letter-spacing:.03em;
  }

  /* Use the same footer variants as all other pages, pinned to the viewport. */
  body.contact-page > footer{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    z-index:20 !important;
    width:100% !important;
    background:inherit;
  }
}

/* Compact desktop / iPad landscape: same Home scale. */
@media (min-width:810px) and (max-width:1500px){
  body.contact-page .contact-natural-prompt,
  body.contact-page .contact-natural-input{
    font-size:clamp(25px,2.35vw,34px) !important;
    line-height:1.16 !important;
  }
}

/* Mobile remains only technically functional for now. */
@media (max-width:809px){
  .contact-procedure-list{
    display:flex;
    flex-direction:column;
  }

  .contact-natural-form{
    min-height:64vh;
  }

  .contact-natural-surface{
    position:relative;
    min-height:54vh;
  }

  .contact-natural-prompt,
  .contact-natural-input{
    font-size:28px;
    line-height:1.18;
  }
}


/* ================================================================
   V4.0 — CONTACT : reconnaissance typographique + confirmation
   ================================================================ */

@media (min-width:810px){
  /* ENVOYER : même axe gauche que la saisie, hauteur conservée. */
  body.contact-page .contact-send{
    left:0 !important;
    right:auto !important;
    bottom:8px !important;
    text-align:left !important;
  }

  /* Duo chromatique strictement calé sur la Home :
     gris = rgba(10,10,10,.40), noir = rgb(10,10,10). */
  .contact-natural-mirror{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:hidden;
    white-space:pre-wrap;
    overflow-wrap:break-word;
    word-break:normal;
    pointer-events:none;
    color:rgba(10,10,10,.40);
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:calc(var(--site-root-font-size,1rem)*2.8);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;
    z-index:1;
  }

  .contact-natural-mirror .contact-recognized{
    color:rgb(10,10,10);
  }

  .contact-natural-prompt{
    z-index:2;
  }

  .contact-natural-input{
    z-index:3;
    color:transparent !important;
    -webkit-text-fill-color:transparent !important;
    caret-color:transparent;
  }

  .contact-natural-surface.has-value .contact-natural-input{
    caret-color:rgb(10,10,10) !important;
  }

  /* Selection remains legible while using the mirror rendering. */
  .contact-natural-input::selection{
    background:rgba(10,10,10,.13);
  }

  /* Confirmation replaces the writing area without changing page. */
  .contact-success{
    position:absolute;
    inset:0 0 72px 0;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    gap:clamp(20px,2.5vh,34px);
    color:rgb(10,10,10);
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:calc(var(--site-root-font-size,1rem)*2.8);
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;
    opacity:1;
    transform:translateY(0);
    transition:opacity .5s ease, transform .65s cubic-bezier(.23,.98,.56,1);
  }

  .contact-success[hidden]{
    display:none !important;
  }

  .contact-success p{
    margin:0;
  }

  .contact-success-sub{
    color:rgba(10,10,10,.40);
  }

  /* Footer Contact : ne plus le fixer artificiellement.
     Il reprend son comportement normal, comme sur les autres pages. */
  body.contact-page > footer{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:auto !important;
    z-index:auto !important;
    background:transparent !important;
  }

  /* La page reste sans scroll : on réserve exactement la place du footer. */
  body.contact-page .contact-main{
    height:calc(100svh - 72px) !important;
    min-height:calc(100svh - 72px) !important;
    max-height:calc(100svh - 72px) !important;
  }
}

@media (min-width:810px) and (max-width:1500px){
  body.contact-page .contact-natural-mirror,
  body.contact-page .contact-success{
    font-size:clamp(25px,2.35vw,34px) !important;
    line-height:1.16 !important;
  }
}


/* ================================================================
   V4.1 — CONTACT : identité facultative + conclusion conversationnelle
   ================================================================ */

@media (min-width:810px){
  .contact-success-signoff{
    color:rgb(10,10,10);
    opacity:0;
    transform:translateY(10px);
    transition:
      opacity .75s cubic-bezier(.23,.98,.56,1),
      transform .85s cubic-bezier(.23,.98,.56,1);
  }

  .contact-success-signoff.is-visible{
    opacity:1;
    transform:translateY(0);
  }

  .contact-success-signoff[hidden]{
    display:none !important;
  }
}


/* V4.4 — Contact instruction */
body.contact-page .contact-instruction-heading,
body.contact-page .contact-instruction-heading *{
  color:rgba(10,10,10,.40) !important;
  --site-text-color:rgba(10,10,10,.40) !important;
}


/* V4.7 — ACTUELLEMENT : six lignes stables */
.site-0cIFc [data-site-name="currently div"]{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}
.site-0cIFc [data-site-name="currently div"] .current-item-row{
  opacity:1 !important;
  transform:none !important;
  overflow:visible !important;
}
.site-0cIFc [data-site-name="currently div"] .current-item-row p{
  margin:0 !important;
  white-space:normal !important;
}


/* ================================================================
   V4.8 — NAVIGATION / LIQUID GLASS
   Adaptation HTML/CSS/JS inspirée du comportement Liquid Glass :
   frosting, saturation, lumière de bord, réfraction visuelle légère.
   ================================================================ */

.liquid-glass-nav{
  --lg-x:50%;
  --lg-y:0%;
  --lg-glow:0;
  position:relative !important;
  isolation:isolate;
  overflow:hidden !important;

  /* Suppression du bloc blanc opaque */
  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.48) 0%,
      rgba(255,255,255,.27) 58%,
      rgba(255,255,255,.18) 100%
    ) !important;

  -webkit-backdrop-filter:
    blur(20px)
    saturate(145%)
    brightness(1.035)
    contrast(1.025) !important;
  backdrop-filter:
    blur(20px)
    saturate(145%)
    brightness(1.035)
    contrast(1.025) !important;

  border-bottom:1px solid rgba(255,255,255,.46) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.78),
    inset 0 -1px 0 rgba(10,10,10,.035),
    0 8px 34px rgba(10,10,10,.035) !important;

  transition:
    background-color .35s ease,
    box-shadow .45s cubic-bezier(.23,.98,.56,1),
    border-color .35s ease;
}

/* Lumière / "lens" qui suit très légèrement le pointeur. */
.liquid-glass-nav::before{
  content:"";
  position:absolute;
  inset:-45% -10%;
  z-index:-1;
  pointer-events:none;
  opacity:calc(.32 + (var(--lg-glow) * .15));
  background:
    radial-gradient(
      34% 80% at var(--lg-x) var(--lg-y),
      rgba(255,255,255,.72) 0%,
      rgba(255,255,255,.27) 32%,
      rgba(255,255,255,0) 72%
    ),
    linear-gradient(
      108deg,
      rgba(255,255,255,.16) 0%,
      rgba(255,255,255,0) 38%,
      rgba(170,210,255,.045) 59%,
      rgba(255,190,205,.035) 74%,
      rgba(255,255,255,.11) 100%
    );
  filter:blur(7px);
  transform:
    translate3d(
      calc((var(--lg-x) - 50%) * .025),
      calc((var(--lg-y) - 50%) * .018),
      0
    );
  transition:opacity .5s ease;
}

/* Bord optique : très léger, pas un contour "UI". */
.liquid-glass-nav::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  border-bottom:1px solid rgba(255,255,255,.54);
  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.13),
      transparent 17%,
      transparent 82%,
      rgba(255,255,255,.09)
    );
  mix-blend-mode:soft-light;
}

/* Le contenu reste net au-dessus du verre. */
.liquid-glass-nav > *{
  position:relative;
  z-index:2;
}

/* Hover : élasticité visuelle minimale, sans faire "gadget". */
@media (hover:hover) and (pointer:fine){
  .liquid-glass-nav:hover{
    --lg-glow:1;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.86),
      inset 0 -1px 0 rgba(10,10,10,.025),
      0 10px 40px rgba(10,10,10,.045) !important;
  }
}

/* Formats intermédiaires / iPad : frosting légèrement plus fort
   pour préserver la lisibilité avec du contenu derrière. */
@media (min-width:810px) and (max-width:1500px){
  .liquid-glass-nav{
    -webkit-backdrop-filter:
      blur(22px)
      saturate(150%)
      brightness(1.04)
      contrast(1.02) !important;
    backdrop-filter:
      blur(22px)
      saturate(150%)
      brightness(1.04)
      contrast(1.02) !important;
  }
}

/* Mobile : même langage, moins de calcul GPU. */
@media (max-width:809px){
  .liquid-glass-nav{
    background:rgba(252,252,252,.58) !important;
    -webkit-backdrop-filter:blur(16px) saturate(135%) !important;
    backdrop-filter:blur(16px) saturate(135%) !important;
  }
  .liquid-glass-nav::before{
    opacity:.22;
    filter:blur(10px);
  }
}

/* Accessibilité / économie GPU. */
@media (prefers-reduced-motion:reduce){
  .liquid-glass-nav::before{
    transform:none !important;
    transition:none !important;
  }
}

/* Fallback si backdrop-filter n'est pas disponible. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .liquid-glass-nav{
    background:rgba(248,248,247,.94) !important;
  }
  .liquid-glass-nav::before{
    display:none;
  }
}


/* ================================================================
   V4.9 — HOME / compensation du menu Liquid Glass
   Le menu fixe ne doit plus recouvrir ACTUELLEMENT ni le manifeste.
   ================================================================ */

/* Desktop */
@media (min-width:810px){
  body:has(.liquid-glass-nav) [data-site-name="heading"]{
    padding-top:clamp(86px, 7.2vh, 118px) !important;
    box-sizing:border-box !important;
  }
}

/* Écrans bas / laptops : réserve un peu plus de marge sous le menu. */
@media (min-width:810px) and (max-height:850px){
  body:has(.liquid-glass-nav) [data-site-name="heading"]{
    padding-top:92px !important;
  }
}

/* Mobile / tablette verticale */
@media (max-width:809px){
  body:has(.liquid-glass-nav) [data-site-name="heading"]{
    padding-top:78px !important;
    box-sizing:border-box !important;
  }
}


/* V5.0 — À PROPOS / références clients */
.about-client-row,
.about-client-row p{
  color:rgba(10,10,10,.40) !important;
  --site-text-color:rgba(10,10,10,.40) !important;
}


/* V5.1 — CONTACT / séquence d’apparition */
.contact-seq,
.contact-seq-block{
  opacity:0;
  transform:translateY(18px);
  filter:blur(3px);
  transition:
    opacity .72s cubic-bezier(.22,1,.36,1),
    transform .82s cubic-bezier(.22,1,.36,1),
    filter .72s ease;
  will-change:opacity,transform,filter;
}
.contact-seq{
  display:inline-block;
}
.contact-seq.is-visible,
.contact-seq-block.is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
@media (prefers-reduced-motion:reduce){
  .contact-seq,
  .contact-seq-block{
    transition:none !important;
    transform:none !important;
    filter:none !important;
  }
}


/* V5.3 — À PROPOS / références en liste verticale sous PARCOURS */
.about-client-list{
  display:block !important;
  width:100% !important;
  margin-top:clamp(30px, 3.4vw, 54px) !important;
  grid-column:auto !important;
}
.about-client-list ul{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.about-client-list li{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(10,10,10,.40) !important;
  font:inherit;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  white-space:normal !important;
}


/* ================================================================
   V5.4 — À PROPOS / PARCOURS : correction de débordement
   Les références suivent Graphis verticalement dans la même colonne.
   ================================================================ */
.parcours-column{
  min-width:0 !important;
}
.parcours-column .parcours-graphis-row{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
}
.parcours-column .parcours-graphis-row p{
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* Le bloc client est un item de flux vertical, pas un nouvel item de grille. */
.parcours-column .about-client-list{
  position:relative !important;
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:clamp(34px,3vw,52px) 0 0 0 !important;
  padding:0 !important;
  grid-column:1 / -1 !important;
  align-self:stretch !important;
}
.parcours-column .about-client-list ul{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.parcours-column .about-client-list li{
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  margin:0 0 5px 0 !important;
  padding:0 !important;
  color:rgba(10,10,10,.40) !important;
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:1.25 !important;
  letter-spacing:inherit !important;
  text-align:left !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  writing-mode:horizontal-tb !important;
}

/* Important : annule tout héritage de grille qui pourrait mettre les
   références côte à côte ou réduire Graphis à une colonne minuscule. */
.parcours-column > .about-client-list{
  flex:none !important;
}


/* ================================================================
   V5.5 — PARCOURS / Graphis + références = UN SEUL ITEM DE GRILLE
   ================================================================ */
.parcours-references-flow{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  grid-column:auto !important;
  overflow:visible !important;
}
.parcours-references-flow .parcours-graphis-row{
  display:block !important;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  flex:none !important;
}
.parcours-references-flow .parcours-graphis-row p{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
}
.parcours-references-flow .about-client-list{
  display:block !important;
  position:relative !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:clamp(34px,3vw,52px) 0 0 0 !important;
  padding:0 !important;
  flex:none !important;
  grid-column:auto !important;
}
.parcours-references-flow .about-client-list ul{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  gap:4px !important;
  list-style:none !important;
}
.parcours-references-flow .about-client-list li{
  display:block !important;
  position:relative !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(10,10,10,.40) !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
  line-height:1.25 !important;
}


/* V5.6 — PARCOURS / références à la même taille que les éléments du parcours */
.parcours-references-flow .about-client-list li{
  font-family:inherit !important;
  font-size:1em !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
}

/* V5.7 — PARCOURS / références = même preset typographique que Graphis */
.parcours-references-flow .about-client-list li{
  font-size:inherit !important;
  line-height:inherit !important;
}
.parcours-references-flow .about-client-list li > p.site-styles-preset-1s0tuzp{
  margin:0 !important;
  color:rgba(10,10,10,.40) !important;
  --site-text-color:rgba(10,10,10,.40) !important;
}


/* V5.8 — PARCOURS / missions sous les références */
.parcours-references-flow .about-client-list li{
  margin-bottom:18px !important;
}
.parcours-references-flow .about-client-list li:last-child{
  margin-bottom:0 !important;
}
.parcours-references-flow .about-client-list .company-mission{
  margin:3px 0 0 clamp(18px,1.25vw,28px) !important;
  padding:0 !important;
  color:rgba(10,10,10,.40) !important;
  font-family:inherit !important;
  font-size:.72em !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  letter-spacing:inherit !important;
  white-space:normal !important;
}


/* V5.9 — missions visibles */
.parcours-references-flow .about-client-list li{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  overflow:visible !important;
}
.parcours-references-flow .about-client-list .company-mission{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  transform:none !important;
  filter:none !important;
  width:auto !important;
  height:auto !important;
  margin:5px 0 0 clamp(18px,1.25vw,28px) !important;
  padding:0 !important;
  color:rgba(10,10,10,.40) !important;
  font-family:inherit !important;
  font-size:.72em !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  white-space:normal !important;
}


/* V6.0 — Missions : aucun retrait + corps identique aux références */
.parcours-references-flow .about-client-list .company-mission{
  margin:4px 0 0 0 !important;
  padding:0 !important;
  font-family:inherit !important;
  font-size:1em !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  color:rgba(10,10,10,.40) !important;
}


/* V6.1 — Parcours + Home */
.parcours-references-flow .about-client-list{margin-top:28px !important;}
.parcours-references-flow .about-client-list ul{gap:0 !important;}
.parcours-references-flow .about-client-list li{margin:0 0 10px 0 !important;}
.parcours-references-flow .about-client-list li:last-child{margin-bottom:0 !important;}
.parcours-references-flow .about-client-list .company-mission{margin:1px 0 0 0 !important;}
.parcours-references-flow{height:100% !important;min-height:0 !important;}
.parcours-references-flow .about-client-list{display:flex !important;flex-direction:column !important;justify-content:flex-end !important;flex:1 1 auto !important;}
.site-0cIFc [data-site-name="currently div"] .current-subitem{padding-left:22px !important;}


/* ================================================================
   V6.3 — BETA / À PROPOS — PARCOURS
   ================================================================ */

.parcours-soon{
  color:rgba(10,10,10,.40) !important;
  --site-text-color:rgba(10,10,10,.40) !important;
}

.parcours-panel{
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
  height:100% !important;
}

.parcours-panel > [data-site-name="Content"]{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
  flex:1 1 auto !important;
}

/* Graphis + références occupent le bas de la colonne Parcours */
.parcours-panel [data-site-name="Content"] > [data-site-name="Text Line Wrapper"]:last-child{
  margin-top:auto !important;
}

.parcours-references-flow{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  height:auto !important;
}

.parcours-references-flow .about-client-list{
  margin-top:20px !important;
  display:block !important;
  width:100% !important;
  flex:none !important;
}

.parcours-references-flow .about-client-list ul{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.parcours-references-flow .about-client-list li{
  display:block !important;
  margin:0 0 6px 0 !important;
  padding:0 !important;
  width:100% !important;
}

.parcours-references-flow .about-client-list li:last-child{
  margin-bottom:0 !important;
}

/* Noms = même preset/tailles que le reste de PARCOURS */
.parcours-references-flow .company-name{
  margin:0 !important;
  font-family:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  color:rgba(10,10,10,.40) !important;
}

/* Aucun retrait. Flèche grande, mission seule plus petite. */
.parcours-references-flow .company-mission{
  display:flex !important;
  align-items:baseline !important;
  gap:.34em !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  color:rgba(10,10,10,.40) !important;
  font-family:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
}

.parcours-references-flow .mission-arrow{
  flex:0 0 auto !important;
  font:inherit !important;
  font-size:1em !important;
  font-weight:inherit !important;
  line-height:1 !important;
  color:rgba(10,10,10,.40) !important;
}

.parcours-references-flow .mission-text{
  flex:1 1 auto !important;
  min-width:0 !important;
  font-family:inherit !important;
  font-size:.72em !important;
  font-weight:400 !important;
  line-height:1.22 !important;
  letter-spacing:inherit !important;
  color:rgba(10,10,10,.40) !important;
}

/* Desktop : même hauteur disponible pour Parcours et l'image. */
@media (min-width:810px){
  .about-profile-grid{
    align-items:stretch !important;
  }
  .parcours-panel{
    align-self:stretch !important;
  }
}

@media (max-width:809px){
  .parcours-panel{
    height:auto !important;
    min-height:0 !important;
  }
  .parcours-panel [data-site-name="Content"] > [data-site-name="Text Line Wrapper"]:last-child{
    margin-top:28px !important;
  }
}


/* ================================================================
   V6.4 — PARCOURS : conformité capture / demande
   ================================================================ */

/* Annule le faux calage précédent : le JS mesure réellement le bas de l'image. */
.parcours-panel [data-site-name="Content"] > [data-site-name="Text Line Wrapper"]:last-child{
  margin-top:0 !important;
}
.parcours-references-flow .about-client-list{
  margin-top:20px !important;
  will-change:transform;
}

/* Espacement compact entre expériences. */
.parcours-references-flow .about-client-list li{
  margin:0 0 8px 0 !important;
}
.parcours-references-flow .about-client-list li:last-child{
  margin-bottom:0 !important;
}

/* Noms : le JS copie exactement le corps de Graphis.
   Fallback explicite pour éviter toute réduction avant exécution JS. */
.parcours-references-flow .company-name{
  font-size:1em !important;
  line-height:1.15 !important;
}

/* Mission : seule la qualification est plus petite. */
.parcours-references-flow .company-mission{
  display:flex !important;
  align-items:baseline !important;
  gap:.28em !important;
  margin:1px 0 0 0 !important;
  font-size:1em !important;
}
.parcours-references-flow .mission-arrow{
  flex:0 0 auto !important;
  font-size:1em !important;
  line-height:1 !important;
}
.parcours-references-flow .mission-text{
  font-size:.68em !important;
  line-height:1.18 !important;
}

/* Aucun retrait du sous-texte : la flèche démarre sur l'axe du nom. */
.parcours-references-flow .company-mission{
  padding-left:0 !important;
  margin-left:0 !important;
}


/* V6.5 — calage effectif du bloc entreprises sur le BAS DE L'IMAGE */
#parcours-companies{
  transform:none !important;
}
@media (min-width:810px){
  #parcours-companies{
    margin-top:20px !important; /* fallback avant mesure JS */
  }
}


/* ================================================================
   V6.6 — ENTREPRISES : CORPS CONFORME À PARCOURS
   ================================================================ */

/* Le nom de chaque entreprise reprend le corps réel de Graphis Awards.
   Les anciennes règles réduisant le bloc sont écrasées ici. */
#parcours-companies .company-name{
  font-family:var(--parcours-font-family) !important;
  font-size:var(--parcours-font-size) !important;
  font-weight:var(--parcours-font-weight) !important;
  line-height:var(--parcours-line-height) !important;
  letter-spacing:var(--parcours-letter-spacing) !important;
  color:rgba(10,10,10,.40) !important;
  margin:0 !important;
}

/* La flèche doit être AUSSI GROSSE que le nom de l'entreprise. */
#parcours-companies .mission-arrow{
  font-family:var(--parcours-font-family) !important;
  font-size:var(--parcours-font-size) !important;
  font-weight:var(--parcours-font-weight) !important;
  line-height:1 !important;
  letter-spacing:var(--parcours-letter-spacing) !important;
  color:rgba(10,10,10,.40) !important;
}

/* Seul le texte descriptif est plus petit, mais reste lisible. */
#parcours-companies .mission-text{
  font-family:var(--parcours-font-family) !important;
  font-size:calc(var(--parcours-font-size) * .72) !important;
  font-weight:400 !important;
  line-height:1.20 !important;
  letter-spacing:var(--parcours-letter-spacing) !important;
  color:rgba(10,10,10,.40) !important;
}

/* Même logique de ligne : flèche + qualification, sans retrait. */
#parcours-companies .company-mission{
  display:flex !important;
  align-items:baseline !important;
  gap:.30em !important;
  margin:1px 0 0 0 !important;
  padding:0 !important;
  font-size:1em !important;
}

/* Espacement resserré mais distinct entre les cinq expériences. */
#parcours-companies li{
  margin:0 0 7px 0 !important;
}
#parcours-companies li:last-child{
  margin-bottom:0 !important;
}


/* ================================================================
   V6.7 — PARCOURS / ENTREPRISES
   Tous les éléments du bloc ont strictement le même corps et la
   même graisse : entreprise + flèche + mission.
   ================================================================ */
#parcours-companies .company-name,
#parcours-companies .company-mission,
#parcours-companies .mission-arrow,
#parcours-companies .mission-text{
  font-family:var(--parcours-font-family) !important;
  font-size:var(--parcours-font-size) !important;
  font-weight:var(--parcours-font-weight) !important;
  line-height:var(--parcours-line-height) !important;
  letter-spacing:var(--parcours-letter-spacing) !important;
  color:rgba(10,10,10,.40) !important;
}

#parcours-companies .company-mission{
  display:flex !important;
  align-items:baseline !important;
  gap:.30em !important;
  margin:1px 0 0 0 !important;
  padding:0 !important;
}

#parcours-companies .mission-arrow{
  flex:0 0 auto !important;
}

#parcours-companies .mission-text{
  flex:1 1 auto !important;
  min-width:0 !important;
}

/* V6.7 — noms des entreprises en noir ; missions restent en gris */
#parcours-companies .company-name{
  color:rgb(10,10,10) !important;
  --site-text-color:rgb(10,10,10) !important;
}

/* V6.7 HOTFIX — NOIR RÉEL ENTREPRISES */
html body #parcours-companies .company-name,
html body #parcours-companies .company-name *,
html body #parcours-companies .company-name-black{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  --site-text-color:#000000 !important;
  --extracted-r6o4lv:#000000 !important;
  opacity:1 !important;
}


/* ================================================================
   BETA V1.0 — MOBILE / NAV / CONTACT / FOOTER
   ================================================================ */

/* Retire les cadres bleus/tap highlights hérités du runtime exporté. */
@media (max-width:809px){
  a, button, textarea, [tabindex]{
    -webkit-tap-highlight-color:transparent !important;
  }
  .liquid-glass-nav a:focus,
  .liquid-glass-nav a:focus-visible,
  [data-site-name="Mobile menu"]:focus,
  [data-site-name="Mobile menu"]:focus-visible,
  .contact-natural-input:focus,
  .contact-natural-input:focus-visible{
    outline:none !important;
    box-shadow:none !important;
  }

  /* Le vrai menu mobile reste au-dessus de l'overlay. */
  .site-o44gyx-container{
    z-index:10020 !important;
  }
  [data-site-name="Navigation White - Mobile"]{
    z-index:10021 !important;
  }
  [data-site-name="Mobile menu"]{
    cursor:pointer !important;
    touch-action:manipulation;
  }

  .cdr-mobile-menu{
    position:fixed;
    inset:0;
    z-index:10010;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    padding:96px 20px max(28px, env(safe-area-inset-bottom));
    background:rgba(252,252,252,.84);
    -webkit-backdrop-filter:blur(22px) saturate(145%);
    backdrop-filter:blur(22px) saturate(145%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease, visibility .28s ease;
  }
  .cdr-mobile-menu.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .cdr-mobile-menu-inner{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    width:100%;
    gap:8px;
  }
  .cdr-mobile-menu-inner a{
    display:block;
    width:100%;
    padding:4px 0;
    color:#0a0a0a;
    text-decoration:none;
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:clamp(28px,9vw,42px);
    font-weight:600;
    line-height:1.05;
    letter-spacing:-.025em;
  }
  html.cdr-menu-open,
  body.cdr-menu-open{
    overflow:hidden !important;
    overscroll-behavior:none;
  }
  .cdr-menu-open [data-site-name="Mobile menu"] [data-site-name="Line 1"]{
    transform:translateY(3px) rotate(45deg) !important;
  }
  .cdr-menu-open [data-site-name="Mobile menu"] [data-site-name="Line 2"]{
    transform:translateY(-3px) rotate(-45deg) !important;
  }

  /* CONTACT — véritable composition mobile, dans le même ordre que desktop. */
  body.contact-page{
    width:100% !important;
    min-height:100svh !important;
    overflow-x:hidden !important;
  }
  body.contact-page .contact-main{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:100svh !important;
    max-height:none !important;
    padding:88px 20px 36px !important;
    overflow:visible !important;
  }
  body.contact-page .contact-shell{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:30px !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  body.contact-page .contact-progress,
  body.contact-page .contact-procedure{
    order:1 !important;
    position:relative !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  body.contact-page .contact-instruction-heading{
    margin:0 !important;
    white-space:normal !important;
  }
  body.contact-page .contact-procedure-list{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:1px !important;
    width:100% !important;
    margin:14px 0 0 !important;
    padding:0 !important;
  }
  body.contact-page .contact-procedure-item,
  body.contact-page .contact-procedure-item p{
    width:auto !important;
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    margin:0 !important;
  }
  body.contact-page .contact-editor-wrap{
    order:2 !important;
    position:relative !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  body.contact-page .contact-natural-form{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:100% !important;
    min-height:54svh !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.contact-page .contact-natural-surface{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-height:46svh !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body.contact-page .contact-natural-prompt,
  body.contact-page .contact-natural-mirror,
  body.contact-page .contact-natural-input{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:none !important;
    background:transparent !important;
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif !important;
    font-size:clamp(25px,7.4vw,34px) !important;
    font-weight:600 !important;
    line-height:1.14 !important;
    letter-spacing:-.02em !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  body.contact-page .contact-natural-prompt{
    display:flex !important;
    align-items:flex-start !important;
    flex-wrap:wrap !important;
    gap:.16em !important;
    color:rgba(10,10,10,.28) !important;
    pointer-events:none !important;
    z-index:2 !important;
  }
  body.contact-page .contact-natural-mirror{
    display:block !important;
    white-space:pre-wrap !important;
    color:rgba(10,10,10,.40) !important;
    overflow:hidden !important;
    pointer-events:none !important;
    z-index:1 !important;
  }
  body.contact-page .contact-natural-mirror .contact-recognized{
    color:#0a0a0a !important;
  }
  body.contact-page .contact-natural-input{
    resize:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    color:transparent !important;
    -webkit-text-fill-color:transparent !important;
    caret-color:transparent !important;
    z-index:3 !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }
  body.contact-page .contact-natural-surface.has-value .contact-natural-prompt{
    opacity:0 !important;
  }
  body.contact-page .contact-natural-surface.has-value .contact-natural-input{
    caret-color:#0a0a0a !important;
  }
  body.contact-page .contact-natural-input::selection{
    background:rgba(10,10,10,.13) !important;
  }
  body.contact-page .contact-send{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    align-self:flex-start !important;
    margin:18px 0 0 !important;
  }
  body.contact-page .contact-dev-note{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    margin:12px 0 0 !important;
  }
  body.contact-page .contact-success{
    position:relative !important;
    inset:auto !important;
    display:flex;
    flex-direction:column;
    gap:22px;
    width:100% !important;
    color:#0a0a0a;
    font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif;
    font-size:clamp(25px,7.4vw,34px);
    font-weight:600;
    line-height:1.14;
    letter-spacing:-.02em;
  }
  body.contact-page .contact-success[hidden]{ display:none !important; }
}

/* FOOTER — copyright harmonisé partout, aucune colonne sociale. */
.cdr-footer.site-rwboug{
  width:100% !important;
}
.cdr-footer .site-doobjk{
  padding:15px 20px !important;
}
.cdr-footer .site-1yci7y6{
  flex-direction:row !important;
  align-items:center !important;
  width:100% !important;
  gap:0 !important;
}
.cdr-footer .site-85kv3j{
  order:0 !important;
  flex:1 1 auto !important;
  width:auto !important;
  align-items:flex-start !important;
}
.cdr-footer [data-footer-links="true"]{
  display:none !important;
}
.cdr-footer .cdr-copyright{
  margin:0 !important;
  color:#0a0a0a !important;
  --site-text-color:#0a0a0a !important;
  font-family:"Suisse Int'l Medium","Suisse Int'l Medium Placeholder",sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
  white-space:nowrap !important;
}


/* ================================================================
   V1.1 — CONTACT / CURSOR + HOME TAP
   ================================================================ */
a[data-home-link="true"],
a[data-home-link="true"] *{
  -webkit-tap-highlight-color:transparent !important;
}
a[data-home-link="true"]:focus,
a[data-home-link="true"]:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}

.contact-natural-prompt{
  display:flex !important;
  align-items:baseline !important;
  flex-wrap:wrap !important;
  column-gap:.18em !important;
}

.contact-live-cursor{
  display:inline-block !important;
  flex:0 0 auto !important;
  width:1px !important;
  height:.95em !important;
  margin-left:.04em !important;
  background:currentColor !important;
  opacity:1 !important;
  vertical-align:-.08em !important;
  animation:cdr-contact-cursor-blink 1s steps(1,end) infinite !important;
}

@keyframes cdr-contact-cursor-blink{
  0%,46%{opacity:1}
  47%,100%{opacity:0}
}

@media (max-width:809px){
  .contact-natural-prompt{
    width:100% !important;
    max-width:100% !important;
    line-height:1.2 !important;
  }
  .contact-live-cursor{
    height:1em !important;
  }
}


/* V1.2 — iOS Safari contact cursor */
.contact-natural-prompt-text{
  display:inline !important;
}
.contact-natural-prompt-text::after{
  content:"" !important;
  display:inline-block !important;
  width:1.5px !important;
  height:.92em !important;
  margin-left:.14em !important;
  background:#0a0a0a !important;
  vertical-align:-.08em !important;
  animation:cdr-ios-cursor 1s steps(1,end) infinite !important;
}
.contact-live-cursor{
  display:none !important;
}
@-webkit-keyframes cdr-ios-cursor{
  0%,46%{opacity:1}
  47%,100%{opacity:0}
}
@keyframes cdr-ios-cursor{
  0%,46%{opacity:1}
  47%,100%{opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .contact-natural-prompt-text::after{
    animation:cdr-ios-cursor 1s steps(1,end) infinite !important;
  }
}


/* ================================================================
   V1.3 — SAFARI iOS / CHRISTAN DE ROCHE → HOME
   ================================================================ */
@media (max-width:809px){
  [data-site-name="Logo Wrapper"]{
    position:relative !important;
    z-index:10060 !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    -webkit-user-select:none !important;
    user-select:none !important;
  }

  [data-site-name="Logo Wrapper"] > a[data-home-link="true"]{
    position:relative !important;
    z-index:10061 !important;
    display:flex !important;
    pointer-events:auto !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  /* Inner generated text must not steal the Safari tap target. */
  [data-site-name="Logo Wrapper"] > a[data-home-link="true"] *{
    pointer-events:none !important;
  }
}

/* V1.3.1 — Contact mobile: un seul copyright */
@media (max-width:809px){
 body.contact-page footer [data-site-name="Copyright"]{display:none!important}
 body.contact-page footer:last-of-type [data-site-name="Copyright"]{display:block!important}
}

/* Footer legacy du template : désactivé. Le site public n’affiche pas de footer global. */
footer[data-site-name^="Footer"],
footer.cdr-footer,
.cdr-secondary-footer{display:none!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;visibility:hidden!important}

/* Composition CMS : deux colonnes, hauteur naturelle, pleine largeur à la demande. */
.cdr-cms-media-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:var(--cdr-project-gap,16px)!important}
.cdr-cms-media-grid>.cdr-cms-half{grid-column:span 1!important;width:100%!important;align-self:start!important}
.cdr-cms-media-grid>.cdr-cms-full{grid-column:1/-1!important;width:100%!important;align-self:start!important}
.cdr-cms-media-grid img,.cdr-cms-media-grid video{height:auto!important}
html{font-synthesis:none}



/* ALPHA 15 VERIFIED — mobile overlay must never enter desktop document flow */
.cdr-mobile-menu{display:none;}
@media (max-width:809px){.cdr-mobile-menu{display:flex;}}


/* MARK 2 / ALPHA 18 — Home editorial hierarchy + vertical rhythm */
/* Desktop/tablet: ACTUELLEMENT and the manifesto begin on the same top axis. */
@media (min-width:810px){
  .site-0cIFc .site-xfnqu2{ align-items:flex-start !important; }
  .site-0cIFc .site-58nnxo,
  .site-0cIFc .site-s7cazt{ align-self:flex-start !important; margin-top:0 !important; }
  .site-0cIFc .site-s7cazt .site-12zf8ke,
  .site-0cIFc .site-s7cazt .site-12zf8ke h1{ margin-top:0 !important; padding-top:0 !important; }
  /* Original spacer was 50vh; tighten the transition after “Et vous ?”. */
  .site-0cIFc .site-td3wzx{ height:30vh !important; }
}

/* MARK 2 — ALPHA 24 · Codrops LineTextHoverAnimations V1 integration */
.cdr-codrops-v1{font-kerning:none;}
.cdr-codrops-char{position:relative;display:inline;opacity:1;}
.cdr-codrops-char::after{content:'';width:1ch;top:0;left:0;position:absolute;opacity:var(--opa,0);background:currentColor;height:100%;pointer-events:none;}
@media (prefers-reduced-motion:reduce){.cdr-codrops-char::after{display:none!important}}

/* MARK 2 — ALPHA 26 · strict cadence */
html.cdr-sequence-pending [data-site-name="Currently"] p,
html.cdr-sequence-pending .parcours-panel p,
html.cdr-sequence-pending #parcours-companies{visibility:hidden!important}
.cdr-reveal{visibility:hidden}
.cdr-char{position:relative;display:inline;opacity:0}
.cdr-char::after{content:'';position:absolute;inset:0;width:1ch;background:currentColor;opacity:var(--block,0);pointer-events:none}
.cdr-wait{opacity:0!important;transform:translateY(18px)!important}
.cdr-enter{opacity:1!important;transform:none!important;transition:opacity .72s ease,transform .88s cubic-bezier(.22,.61,.36,1)!important}
@media(prefers-reduced-motion:reduce){.cdr-char::after{display:none!important}.cdr-wait{opacity:1!important;transform:none!important}}


/* MARK 2 — ALPHA 27 · red pointer + deterministic reveal */
@media (pointer:fine){
  html,body,body *{cursor:none!important}
  .cdr-red-pointer{
    position:fixed;left:0;top:0;width:8px;height:8px;border-radius:50%;background:#ff0000;
    z-index:2147483647;pointer-events:none;opacity:0;will-change:transform,width,height,opacity,box-shadow;
    transition:opacity .22s ease,width .32s cubic-bezier(.22,.61,.36,1),height .32s cubic-bezier(.22,.61,.36,1),box-shadow .42s ease;
  }
  .cdr-red-pointer.is-visible{opacity:1}
  .cdr-red-pointer.is-action{width:10px;height:10px;box-shadow:0 0 0 7px rgba(255,0,0,.08),0 0 0 14px rgba(255,0,0,.035);animation:cdr-pointer-breathe 1.8s ease-in-out infinite}
  @keyframes cdr-pointer-breathe{0%,100%{box-shadow:0 0 0 6px rgba(255,0,0,.07),0 0 0 12px rgba(255,0,0,.025)}50%{box-shadow:0 0 0 9px rgba(255,0,0,.10),0 0 0 18px rgba(255,0,0,.02)}}
}
html.cdr-sequence-pending [data-site-name="Currently"],
html.cdr-sequence-pending .parcours-panel{visibility:hidden!important}
.cdr-reveal{visibility:hidden}
.cdr-char{position:relative;display:inline;opacity:0}
.cdr-char::after{content:'';position:absolute;inset:0;background:currentColor;opacity:var(--block,0);pointer-events:none}
.cdr-wait{opacity:0!important;transform:translateY(16px)!important}
.cdr-enter{opacity:1!important;transform:none!important;transition:opacity .72s ease,transform .9s cubic-bezier(.22,.61,.36,1)!important}
@media (prefers-reduced-motion:reduce){.cdr-red-pointer.is-action{animation:none}.cdr-char::after{display:none}.cdr-wait{opacity:1!important;transform:none!important}}

/* MARK 2 — ALPHA 28 · ABOUT EDITORIAL ACT + RED PASTILLE */
@media (min-width:810px){
 .about-header-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:20px!important;align-items:start!important}
 .about-header-grid>.site-unyp4x{grid-column:1/3!important;grid-row:1!important;position:sticky!important;top:20px!important;align-self:start!important;height:calc(100vh - 40px)!important;min-height:720px!important}
 .about-header-grid .about-main-image-wrap,.about-header-grid .about-main-image-wrap>.ssr-variant,.about-header-grid .about-main-image-wrap .site-1ts4qpw{width:100%!important;height:100%!important;min-height:100%!important}
 .about-story-column{grid-column:3/4!important;grid-row:1!important;width:100%!important;min-width:0!important}
 .about-story-column .about-parcours-after{width:100%!important;height:auto!important;min-height:0!important;margin-top:72px!important;align-self:auto!important}
 .about-story-column .about-parcours-after>[data-site-name="Content"]{height:auto!important;min-height:0!important}
 .about-story-column #parcours-companies{margin-top:28px!important}
}
@media (max-width:809.98px){.about-story-column .about-parcours-after{margin-top:48px!important;height:auto!important;min-height:0!important}}
@media (pointer:fine){
 .cdr-red-pointer{width:24px!important;height:24px!important;background:#ff0000!important;box-shadow:none!important;transition:opacity .18s ease,width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1),filter .45s ease!important}
 .cdr-red-pointer.is-action{width:34px!important;height:34px!important;box-shadow:none!important;filter:drop-shadow(0 0 8px rgba(255,0,0,.16));animation:cdr-pointer-blob 2.8s ease-in-out infinite!important}
 @keyframes cdr-pointer-blob{0%,100%{border-radius:50%}25%{border-radius:58% 42% 52% 48%/44% 57% 43% 56%}50%{border-radius:45% 55% 42% 58%/56% 44% 58% 42%}75%{border-radius:52% 48% 60% 40%/48% 54% 46% 52%}}
}

/* MARK 2 — ALPHA 29 · FINALISATION */
html.cdr-sequence-pending .site-58nnxo,html.cdr-sequence-pending .parcours-panel{visibility:hidden!important}
.cdr-reveal{visibility:hidden}.cdr-char{position:relative;display:inline;opacity:0}.cdr-char::after{content:'';position:absolute;inset:0;background:currentColor;opacity:var(--block,0);pointer-events:none}
.cdr-wait{opacity:0!important;transform:translateY(16px)!important}.cdr-enter{opacity:1!important;transform:none!important;transition:opacity .72s ease,transform .9s cubic-bezier(.22,.61,.36,1)!important}
#about-reference-image{display:block!important;opacity:1!important;visibility:visible!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
@media(min-width:810px){.about-header-grid>.site-unyp4x{display:block!important;grid-column:1/3!important;position:sticky!important;top:20px!important;height:calc(100vh - 40px)!important;min-height:720px!important;overflow:hidden!important}.about-story-column .about-parcours-after{margin-top:216px!important}.about-story-column #parcours-companies{margin-top:120px!important}}
@media(min-width:810px) and (max-width:1199.98px){.about-story-column .about-parcours-after{margin-top:168px!important}.about-story-column #parcours-companies{margin-top:96px!important}}
@media(max-width:809.98px){.about-header-grid>.site-unyp4x{display:block!important;min-height:72vh!important;overflow:hidden!important}.about-story-column .about-parcours-after{margin-top:96px!important}.about-story-column #parcours-companies{margin-top:72px!important}}
@media(pointer:fine){html,body,body *{cursor:none!important}.cdr-red-pointer{position:fixed;left:0;top:0;width:24px!important;height:24px!important;border-radius:50%!important;background:#ff0000!important;z-index:2147483647;pointer-events:none;opacity:0;will-change:transform,opacity;transition:opacity .18s ease!important;box-shadow:none!important}.cdr-red-pointer.is-visible{opacity:1}.cdr-red-pointer.is-action{width:24px!important;height:24px!important;border-radius:50%!important}.cdr-sonar{position:absolute;left:50%;top:50%;width:24px;height:24px;border:1px solid rgba(255,0,0,.72);border-radius:50%;transform:translate(-50%,-50%) scale(1);opacity:0}.cdr-red-pointer.is-action .cdr-sonar.a{animation:cdr-sonar 1.65s cubic-bezier(.2,.65,.25,1) infinite}.cdr-red-pointer.is-action .cdr-sonar.b{animation:cdr-sonar 1.65s .55s cubic-bezier(.2,.65,.25,1) infinite}@keyframes cdr-sonar{0%{transform:translate(-50%,-50%) scale(.9);opacity:.48}70%{opacity:.12}100%{transform:translate(-50%,-50%) scale(3.15);opacity:0}}}
@media(prefers-reduced-motion:reduce){.cdr-sonar{display:none!important}.cdr-char::after{display:none!important}.cdr-wait{opacity:1!important;transform:none!important}}

/* MARK 2 — ALPHA 30 · ABOUT IMAGE VISIBILITY FIX */
.about-header-grid>.site-unyp4x{background:#efefed!important;visibility:visible!important;opacity:1!important}
.about-picture{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important}
.about-picture>img,.about-reference-image{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center center!important;opacity:1!important;visibility:visible!important;z-index:2!important}
@media(max-width:809.98px){.about-picture{position:relative!important;inset:auto!important;min-height:72vh!important}.about-picture>img{position:absolute!important}}


/* MARK 2 — ALPHA 32 · ABOUT IMAGE HARD FIX + FINAL SPACING */
/* Failsafe: the visual exists both as <picture> and as the image-column background. */
.about-header-grid>.site-unyp4x{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  background-color:#efefed!important;
  background-image:url('../assets/images/about/about-placeholder-full.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.about-header-grid>.site-unyp4x>.about-picture{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:3!important;
}
.about-header-grid>.site-unyp4x>.about-picture>img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media (min-width:1200px){
  .about-story-column .about-parcours-after{margin-top:108px!important}
  .about-story-column #parcours-companies{margin-top:240px!important}
}
@media (min-width:810px) and (max-width:1199.98px){
  .about-header-grid>.site-unyp4x{background-image:url('../assets/images/about/about-placeholder-intermediate.jpg')!important}
  .about-story-column .about-parcours-after{margin-top:84px!important}
  .about-story-column #parcours-companies{margin-top:192px!important}
}
@media (max-width:809.98px){
  .about-header-grid>.site-unyp4x{
    min-height:72vh!important;
    background-image:url('../assets/images/about/about-placeholder-mobile.jpg')!important;
  }
  .about-story-column .about-parcours-after{margin-top:48px!important}
  .about-story-column #parcours-companies{margin-top:144px!important}
}


/* MARK 2 — ALPHA 33 · ABOUT NATIVE IMAGE — FINAL
   Independent from every inherited template image component. */
.cdr-about-visual{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  background:#efefed!important;
  overflow:hidden!important;
}
.cdr-about-visual__picture,
.cdr-about-visual__picture img{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
.cdr-about-visual__picture img{
  object-fit:cover!important;
  object-position:center center!important;
  max-width:none!important;
}

/* Desktop: image owns columns 1 + 2. Story owns column 3. */
@media (min-width:1200px){
  .about-header-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:20px!important;
    align-items:start!important;
  }
  .about-header-grid>.cdr-about-visual{
    grid-column:1/3!important;
    grid-row:1!important;
    position:sticky!important;
    top:20px!important;
    height:calc(100vh - 40px)!important;
    min-height:720px!important;
    align-self:start!important;
  }
  .about-header-grid>.about-story-column{
    grid-column:3/4!important;
    grid-row:1!important;
  }
  /* Requested final spacing: half the previous gap before Parcours. */
  .about-story-column .about-parcours-after{margin-top:54px!important}
  /* Requested final spacing: double the previous gap before companies. */
  .about-story-column #parcours-companies{margin-top:480px!important}
}

/* Intermediate */
@media (min-width:810px) and (max-width:1199.98px){
  .about-header-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:20px!important;
    align-items:start!important;
  }
  .about-header-grid>.cdr-about-visual{
    grid-column:1/3!important;
    grid-row:1!important;
    position:sticky!important;
    top:20px!important;
    height:calc(100vh - 40px)!important;
    min-height:720px!important;
    align-self:start!important;
  }
  .about-header-grid>.about-story-column{
    grid-column:3/4!important;
    grid-row:1!important;
  }
  .about-story-column .about-parcours-after{margin-top:42px!important}
  .about-story-column #parcours-companies{margin-top:384px!important}
}

/* Mobile: visual returns to normal document flow. */
@media (max-width:809.98px){
  .about-header-grid{
    display:block!important;
  }
  .about-header-grid>.cdr-about-visual{
    position:relative!important;
    width:100%!important;
    height:72vh!important;
    min-height:520px!important;
    margin:0 0 34px!important;
  }
  .about-header-grid>.about-story-column{
    width:100%!important;
  }
  .about-story-column .about-parcours-after{margin-top:24px!important}
  .about-story-column #parcours-companies{margin-top:288px!important}
}

/* MARK 2 — ALPHA 34 · HOME CALM / NAV / POINTER / FIXED PROJECT GRID */
/* The two inactive project-grid controls are intentionally removed: layout is editorially fixed. */
[data-site-name="Layout Toggle"]{display:none!important}

/* Primary navigation: brand stays black; entries are medium grey, black on hover. */
nav .cdr-nav-muted,
nav .cdr-nav-muted *{
  color:rgba(10,10,10,.46)!important;
  --site-text-color:rgba(10,10,10,.46)!important;
  transition:color .22s ease!important;
}
nav a:hover .cdr-nav-muted,
nav a:hover .cdr-nav-muted *,
nav .cdr-nav-muted:hover,
nav .cdr-nav-muted:hover *{
  color:rgb(10,10,10)!important;
  --site-text-color:rgb(10,10,10)!important;
}
nav .cdr-brand-morph,
nav .cdr-brand-morph *{color:rgb(10,10,10)!important;--site-text-color:rgb(10,10,10)!important}

/* HOME Currently: one calm composition, no character/block effect. */
.site-58nnxo .cdr-char{opacity:1!important}
.site-58nnxo .cdr-char::after{display:none!important}

/* Pointer: constant red dot; precise over actions; subtle mass only after repeated neutral clicks. */
@media(pointer:fine){
 .cdr-red-pointer{
   width:24px!important;height:24px!important;border-radius:50%!important;background:#ff0000!important;
   box-shadow:none!important;filter:none!important;animation:none!important;
   transition:opacity .16s ease,width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1)!important;
 }
 .cdr-red-pointer.is-action{width:11px!important;height:11px!important;border-radius:50%!important;box-shadow:none!important;filter:none!important;animation:none!important}
 .cdr-red-pointer.is-click-mass:not(.is-action){width:var(--cdr-click-size,28px)!important;height:var(--cdr-click-size,28px)!important}
 .cdr-red-pointer .cdr-sonar,.cdr-sonar{display:none!important;animation:none!important}
}

/* MARK 2 — ALPHA 35 · NAV REAL TARGETS + CURRENTLY TWO-STAGE */
/* Actual template links: medium grey at rest, black only on hover. */
nav a.cdr-nav-entry,
nav a.cdr-nav-entry p,
nav a.cdr-nav-entry mark{
  color:rgba(10,10,10,.46)!important;
  --site-text-color:rgba(10,10,10,.46)!important;
  --extracted-r6o4lv:rgba(10,10,10,.46)!important;
  --variable-reference-ANIdPmhh1-X3QDXFOzy:rgba(10,10,10,.46)!important;
  transition:color .22s ease!important;
}
nav a.cdr-nav-entry:hover,
nav a.cdr-nav-entry:hover p,
nav a.cdr-nav-entry:hover mark{
  color:rgb(10,10,10)!important;
  --site-text-color:rgb(10,10,10)!important;
  --extracted-r6o4lv:rgb(10,10,10)!important;
  --variable-reference-ANIdPmhh1-X3QDXFOzy:rgb(10,10,10)!important;
}


/* NAV SPACING — À PROPOS remains the anchor; following editorial items shift right. */
@media (min-width:810px){
  nav a.cdr-nav-projects,
  nav a.cdr-nav-gallery,
  nav a.cdr-nav-journal{
    margin-left:clamp(24px,2.2vw,40px)!important;
  }
}

/* MARK 2 — ALPHA 36 · NAV COLOR ONLY — HARD TARGET
   Deliberately changes COLOR ONLY. Typography, weight, size, spacing and layout are untouched. */
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"],
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"] [data-site-component-type="RichTextContainer"],
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"] p,
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"] mark,
nav [data-site-name="Links wrapper"] [data-site-name="pages"] > div > [data-site-component-type="RichTextContainer"],
nav [data-site-name="Links wrapper"] [data-site-name="pages"] > div > [data-site-component-type="RichTextContainer"] p,
nav [data-site-name="Links wrapper"] [data-site-name="pages"] > div > [data-site-component-type="RichTextContainer"] mark {
  color: rgba(10,10,10,.46) !important;
  --site-text-color: rgba(10,10,10,.46) !important;
  --extracted-r6o4lv: rgba(10,10,10,.46) !important;
  --variable-reference-ANIdPmhh1-X3QDXFOzy: rgba(10,10,10,.46) !important;
}
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"]:hover,
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"]:hover [data-site-component-type="RichTextContainer"],
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"]:hover p,
nav [data-site-name="Links wrapper"] a[data-site-name="Text Link"]:hover mark {
  color: rgb(10,10,10) !important;
  --site-text-color: rgb(10,10,10) !important;
  --extracted-r6o4lv: rgb(10,10,10) !important;
  --variable-reference-ANIdPmhh1-X3QDXFOzy: rgb(10,10,10) !important;
}


/* MARK 2 — ALPHA 37 FINAL · TYPOGRAPHIC DENSITY + STABLE BRAND MORPH */
:root{--cdr-secondary-grey:rgba(10,10,10,.46)}
/* Same typographic density; hierarchy comes from colour only. */
nav [data-site-name="Links wrapper"] p,
nav [data-site-name="Currently"] p,
.site-58nnxo p,
[data-site-name="Project Bar 2 - Open"] p,
[data-site-name="Project Bar 2 - Open"] mark,
[data-site-name="project info"] p{
  font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif!important;
  font-weight:600!important;
}
/* Keep the validated grey/black navigation behaviour. */
nav a.cdr-nav-entry,nav a.cdr-nav-entry p,nav a.cdr-nav-entry mark{
 color:var(--cdr-secondary-grey)!important;--site-text-color:var(--cdr-secondary-grey)!important;
 --extracted-r6o4lv:var(--cdr-secondary-grey)!important;--variable-reference-ANIdPmhh1-X3QDXFOzy:var(--cdr-secondary-grey)!important;
}
nav a.cdr-nav-entry:hover,nav a.cdr-nav-entry:hover p,nav a.cdr-nav-entry:hover mark{
 color:#0a0a0a!important;--site-text-color:#0a0a0a!important;--extracted-r6o4lv:#0a0a0a!important;--variable-reference-ANIdPmhh1-X3QDXFOzy:#0a0a0a!important;
}
/* Brand hit area always remains the size of CHRISTAN DE ROCHE. */
.cdr-brand-fixed{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;width:var(--cdr-brand-w)!important;min-width:var(--cdr-brand-w)!important;max-width:var(--cdr-brand-w)!important;height:var(--cdr-brand-h)!important;min-height:var(--cdr-brand-h)!important;white-space:nowrap!important;overflow:visible!important;color:#0a0a0a!important}
.cdr-brand-fixed p{font-family:"Suisse Int'l Semi Bold","Suisse Int'l Semi Bold Placeholder",sans-serif!important;font-weight:600!important;white-space:nowrap!important;pointer-events:none!important}
.cdr-brand-text{display:inline!important;pointer-events:none!important}
.cdr-brand-caret{display:inline-block;width:.48em;height:.9em;margin-left:.12em;background:currentColor;opacity:0;vertical-align:-.08em;pointer-events:none}
.cdr-brand-fixed.is-morphing .cdr-brand-caret{opacity:1;animation:cdr-final-caret .42s steps(1,end) infinite}
@keyframes cdr-final-caret{0%,49%{opacity:1}50%,100%{opacity:.12}}

/* MARK 2 — ALPHA 38 FINAL · HOME OPTICAL TOP ALIGNMENT
   ACTUELLEMENT is optically aligned to the x-height / top of the “o” in “Faisons”,
   not to the cap-height of the initial F. Geometry, type and animation remain unchanged. */
@media (min-width:810px){
  .site-0cIFc .site-xfnqu2 > .site-58nnxo{
    margin-top:0.18em!important;
  }
}

/* Validated About text hierarchy. */
.about-story-column .cdr-about-emphasis{color:#0a0a0a!important}
.about-story-column .cdr-about-secondary{color:rgba(10,10,10,.44)!important}
@media(max-width:809px){
 .cdr-mobile-menu{position:fixed!important;inset:0!important;z-index:10010!important;display:flex!important;align-items:stretch!important;justify-content:stretch!important;padding:0!important;background:#fcfcfc!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;overflow:hidden!important}
 .cdr-mobile-menu-inner{width:100%!important;height:100dvh!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-end!important;gap:28px!important;padding:112px 20px max(28px,env(safe-area-inset-bottom))!important;margin:0!important;text-align:right!important}
 .cdr-mobile-menu-inner a{display:block!important;flex:0 0 auto!important;width:auto!important;margin:0!important;padding:0!important;align-self:flex-end!important;text-align:right!important}
 .cdr-touch-dot{position:fixed!important;z-index:2147483647!important;width:24px!important;height:24px!important;margin:-12px 0 0 -12px!important;border-radius:50%!important;background:#DD0000!important;pointer-events:none!important;opacity:0;transform:scale(1);transition:opacity .16s ease,transform .11s ease}
 .cdr-touch-dot.is-visible{opacity:1!important}.cdr-touch-dot.is-down{transform:scale(.48)!important}
}
@media(min-width:810px){.cdr-touch-dot{display:none!important}}

/* ABOUT — APPROVED 23:00 REFERENCE */
@media(min-width:1200px){
 :root{--cdr-about-outer-gutter:20px;--cdr-about-approved-top:139px}
 .about-header-grid>.cdr-about-visual{
   position:sticky!important;
   top:var(--cdr-about-approved-top)!important;
   height:calc(100dvh - var(--cdr-about-approved-top) - var(--cdr-about-outer-gutter))!important;
   min-height:0!important;
   max-height:calc(100dvh - var(--cdr-about-approved-top) - var(--cdr-about-outer-gutter))!important;
   overflow:hidden!important;
   align-self:start!important
 }
 .about-header-grid>.cdr-about-visual picture,
 .about-header-grid>.cdr-about-visual img{display:block!important;width:100%!important;height:100%!important}
 .about-header-grid>.cdr-about-visual img{object-fit:cover!important;object-position:center center!important}
 .about-story-column .about-parcours-after{
   display:block!important;visibility:visible!important;opacity:1!important;
   margin-top:260px!important
 }
 .about-story-column #parcours-companies{
   display:block!important;visibility:visible!important;margin-top:20px!important
 }
}

/* ABOUT — MOBILE / exact visible gap */
@media (max-width:809.98px){
  .about-header-grid>.cdr-about-visual{margin:0 0 34px!important}
  .about-header-grid>.about-story-column{padding-top:0!important}
}
/* MOBILE — SAFARI BOTTOM GLASS VEIL */
@media (max-width:809.98px){
 .cdr-safari-bottom-glass{position:fixed;z-index:2147483000;left:0;right:0;bottom:0;height:calc(170px + env(safe-area-inset-bottom));pointer-events:none;opacity:1;background:linear-gradient(to bottom,rgba(252,252,252,0) 0%,rgba(252,252,252,.05) 14%,rgba(252,252,252,.18) 32%,rgba(252,252,252,.46) 57%,rgba(252,252,252,.76) 78%,rgba(252,252,252,.94) 100%);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 18%,rgba(0,0,0,.48) 43%,rgba(0,0,0,.86) 70%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 18%,rgba(0,0,0,.48) 43%,rgba(0,0,0,.86) 70%,#000 100%);transform:translateZ(0);transition:opacity .18s ease}
}
@media (min-width:810px){.cdr-safari-bottom-glass{display:none!important}}


/* PATCH 2026-10-06 — ABOUT MOBILE: title → content rhythm only
   ÉCHO and DISTINCTIONS share the Recognition component. Desktop/tablet untouched. */
@media (max-width:809.98px){
  .site-kzJc2 .site-m2fxo5{gap:10px!important}
}
