/* Signature Souleman Moreau, commune à tous les sites. Généré par tools/build.py.
   Tout est préfixé .sm-sig pour ne jamais toucher au site qui l'accueille.
   Le site peut réserver de la place en bas (bouton flottant…) avec --sm-sig-pb. */
.sm-sig{--sm-ink:#1a1814;--sm-paper:#f5f0e6;--sm-red:#c43c2c;--sm-green:#2f6b4f;--sm-mute:rgba(245,240,230,.6);--sm-ease:cubic-bezier(.22,1,.36,1);
  position:relative;z-index:1;display:block;box-sizing:border-box;width:100%;max-width:none;min-width:0;align-self:stretch;justify-self:stretch;flex:0 0 auto;grid-column:1/-1;float:none;clear:both;margin:0;
  padding:18px clamp(16px,4vw,56px) var(--sm-sig-pb,18px);
  background:var(--sm-ink);color:var(--sm-paper);overflow:hidden;isolation:isolate;text-align:left;text-transform:none;letter-spacing:normal;
  font:400 14px/1.4 "DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.sm-sig::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--sm-red) 0 50%,var(--sm-green) 50% 100%);transform-origin:left}
.sm-sig *,.sm-sig *::before,.sm-sig *::after{box-sizing:border-box}
.sm-sig a{color:inherit !important;text-decoration:none !important;background:none;border:0}
.sm-sig svg{display:block;overflow:hidden;max-width:100%;fill:none}
.sm-sig__link{max-width:1440px;margin:0 auto;display:flex !important;align-items:center;gap:14px}
.sm-sig__mark{display:block;flex:none;width:40px;transition:transform .5s var(--sm-ease)}
.sm-sig__mark .sm-tile{fill:var(--sm-paper)}
.sm-sig__mark .sm-mark{color:var(--sm-ink);width:100%;height:auto}
.sm-sig__text{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1 1 auto}
.sm-sig__by{font-size:10.5px !important;font-weight:600;letter-spacing:.18em !important;text-transform:uppercase;color:var(--sm-mute) !important;line-height:1}
.sm-sig__name{height:15px;width:auto;color:var(--sm-paper);transition:color .4s var(--sm-ease)}
.sm-sig__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sm-sig__cta{flex:none;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(245,240,230,.35);font-weight:600;font-size:13px;line-height:1;transition:background-color .35s,color .35s,box-shadow .35s}
.sm-sig__cta span{display:inline-block;transition:transform .35s var(--sm-ease)}
.sm-sig__link:hover .sm-sig__cta{background:var(--sm-paper);color:var(--sm-ink);box-shadow:inset 0 0 0 1.5px var(--sm-paper)}
.sm-sig__link:hover .sm-sig__cta span{transform:translateX(4px)}
.sm-sig__link:hover .sm-sig__name{color:var(--sm-red)}
.sm-sig__link:hover .sm-sig__mark{transform:rotate(-6deg)}
.sm-sig__link:focus-visible{outline:2px solid var(--sm-paper);outline-offset:4px;border-radius:6px}
@media (max-width:480px){.sm-sig__cta{display:none}.sm-sig__mark{width:36px}.sm-sig__name{height:13px}}

/* Apparition : marque et nom se tracent (ajouté par solo-signature.js, jamais sans JS) */
.sm-sig--anim::before{transform:scaleX(0)}
.sm-sig--anim.is-in::before{transform:none;transition:transform 1.2s var(--sm-ease)}
.sm-sig--anim .sm-l{stroke-dasharray:1 1;stroke-dashoffset:1}
.sm-sig--anim.is-in .sm-l{stroke-dashoffset:0;transition:stroke-dashoffset 1s var(--sm-ease)}
.sm-sig--anim.is-in .sm-sig__mark .sm-l:nth-of-type(2){transition-delay:.15s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(1){transition-delay:0.29s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(2){transition-delay:0.33s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(3){transition-delay:0.37s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(4){transition-delay:0.41s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(5){transition-delay:0.45s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(6){transition-delay:0.49s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(7){transition-delay:0.53s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(8){transition-delay:0.57s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(9){transition-delay:0.61s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(10){transition-delay:0.65s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(11){transition-delay:0.69s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(12){transition-delay:0.73s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(13){transition-delay:0.77s}
.sm-sig--anim.is-in .sm-sig__name .sm-l:nth-of-type(14){transition-delay:0.81s}
@media (prefers-reduced-motion:reduce){.sm-sig *,.sm-sig::before{transition:none !important}}
