/* Signature : clin d’œil au poulpe au survol et au focus clavier. */
.poulpe-credit .poulpe-signature { position:relative; display:inline-block; padding:10px 3px 18px; margin-bottom:-8px; isolation:isolate; cursor:default; }
.poulpe-credit .poulpe-name { display:inline-block; color:inherit; transition:transform .45s; }
.poulpe-credit .poulpe-green { display:inline-block; color:#6ad225; font-weight:700; transition:transform .55s cubic-bezier(.2,1.8,.4,1), text-shadow .4s; }
.poulpe-signature .poulpe-tentacles { position:absolute; left:50%; bottom:-12px; width:145px; height:41px; transform:translateX(-50%) scaleY(.1); transform-origin:center top; opacity:0; fill:none; stroke:#6ad225; stroke-width:2; stroke-linecap:round; stroke-dasharray:180; stroke-dashoffset:180; pointer-events:none; transition:opacity .25s, transform .55s cubic-bezier(.2,1.5,.4,1), stroke-dashoffset .8s; }
.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-tentacles { opacity:1; transform:translateX(-50%) scaleY(1); stroke-dashoffset:0; }
.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-name { transform:translateY(-3px) rotate(-3deg); }
.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-green { transform:translate(3px,-6px) rotate(9deg) scale(1.12); text-shadow:0 0 18px #6ad22570; }
.poulpe-signature:focus-visible { outline:2px solid #6ad225; outline-offset:5px; border-radius:6px; }
@media(prefers-reduced-motion:reduce) {
 .poulpe-signature *, .poulpe-signature .poulpe-tentacles { transition:none; }
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-name,.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-green { transform:none; }
}

/* Le poulpe prend vie, puis se retire lorsque le pointeur s'éloigne. */

.poulpe-signature .poulpe-tentacles { bottom:-38px; width:156px; height:62px; stroke-width:1.8; transform:translateX(-50%) translateY(-6px) scale(.8,.2); filter:drop-shadow(0 3px 7px #6ad22535); transition:opacity .3s, transform .65s cubic-bezier(.2,1.45,.4,1); }
.poulpe-tentacles path { stroke-dasharray:190; stroke-dashoffset:190; transition:stroke-dashoffset .95s cubic-bezier(.4,0,.2,1); }
.poulpe-tentacles .poulpe-head { transition-delay:.12s; }
.poulpe-eyes { opacity:0; transform-origin:79px 23px; transition:opacity .3s .5s; }
.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-tentacles { transform:translateX(-50%) translateY(0) scale(1); }
.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-tentacles path { stroke-dashoffset:0; }
.poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-eyes { opacity:1; }
@media(prefers-reduced-motion:no-preference) {
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-arms { transform-origin:80px 33px; animation:poulpe-wave 2.8s 1s ease-in-out infinite alternate; }
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-eyes { animation:poulpe-blink 4.5s 1.3s infinite; }
}
@keyframes poulpe-wave { from { transform:rotate(-2deg) scaleY(.95); } to { transform:rotate(2deg) scaleY(1.05); } }
@keyframes poulpe-blink { 0%,44%,48%,100% { transform:scaleY(1); } 46% { transform:scaleY(.1); } }
@media(prefers-reduced-motion:reduce) {
 .poulpe-signature .poulpe-tentacles,.poulpe-tentacles path,.poulpe-eyes { transition:none; }
}

.poulpe-pupils { transform:translate(var(--poulpe-eye-x,0px),var(--poulpe-eye-y,0px)); transition:transform .15s ease-out; }
.poulpe-bubbles circle { opacity:0; stroke-width:1; }
@media(prefers-reduced-motion:no-preference) {
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-arms path:last-child { transform-origin:100px 30px; animation:poulpe-salute 1.7s 1s ease-in-out 2; }
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-bubbles circle { animation:poulpe-bubble 2.8s 1.1s ease-out infinite; }
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-bubbles circle:nth-child(2) { animation-delay:1.9s; }
 .poulpe-signature:is(:hover,:focus-visible,.is-deployed) .poulpe-bubbles circle:nth-child(3) { animation-delay:2.6s; }
}
@keyframes poulpe-salute { 0%,100% { transform:rotate(0deg); } 35% { transform:rotate(-12deg); } 65% { transform:rotate(7deg); } }
@keyframes poulpe-bubble { 0% { opacity:0; transform:translateY(5px); } 20% { opacity:.7; } 100% { opacity:0; transform:translateY(-12px); } }

/* Huit bras espacés, chacun avec sa propre boucle terminale. */
.poulpe-tentacles .poulpe-arms { stroke-width:2.1; }
.poulpe-tentacles .poulpe-arms path { stroke-linecap:round; stroke-linejoin:round; }


/* Espace réservé au salut, y compris sur petit écran. */

.poulpe-credit .poulpe-signature {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  min-height: 44px;
  cursor: pointer;
}

/* Le médaillon conserve l’ouverture vers la gauche de la signature. */
body.edito-page .poulpe-monogram .poulpe-credit {
  box-sizing: border-box;
  padding: 0;
  flex-shrink: 1;
}
body.edito-page .poulpe-monogram[open] .poulpe-credit {
  padding-bottom: 64px;
}
body.edito-page .poulpe-credit .poulpe-signature {
  position: relative;
  display: inline-block;
  padding: 10px 3px 18px;
  margin-bottom: -8px;
  min-height: 0;
  isolation: isolate;
  cursor: pointer;
  font: inherit;
}
body.edito-page .poulpe-credit .poulpe-name { color: #f5f5f5; }
body.edito-page .poulpe-credit .poulpe-green { color: #6ad225; }
