/* 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. */
.sm-sig{--sm-ink:#1a1814;--sm-paper:#f5f0e6;--sm-red:#c43c2c;--sm-green:#2f6b4f;--sm-mute:rgba(245,240,230,.66);--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:clamp(30px,5vw,60px) clamp(16px,4vw,56px) clamp(22px,3.4vw,40px);
  background:var(--sm-ink);color:var(--sm-paper);overflow:hidden;isolation:isolate;text-align:left;text-transform:none;letter-spacing:normal;
  font:400 15px/1.45 "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:5px;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 p{margin:0;padding:0;font:inherit;color:inherit}
.sm-sig a{color:inherit;text-decoration:none;background:none;border:0}
.sm-sig svg{display:block;overflow:hidden;max-width:100%;height:auto;fill:none}
.sm-sig__inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3.4vw,40px)}
.sm-sig__inner>*{min-width:0}
.sm-sig__top{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px}
.sm-sig__mark{display:block;flex:none;width:clamp(54px,6.4vw,76px)}
.sm-sig__mark .sm-tile{fill:var(--sm-paper)}
.sm-sig__mark .sm-mark{color:var(--sm-ink);width:100%}
.sm-sig__by{flex:1 1 240px;min-width:0;font-size:12.5px !important;font-weight:600;letter-spacing:.16em !important;text-transform:uppercase;color:var(--sm-mute) !important}
.sm-sig__by a{color:var(--sm-paper) !important;box-shadow:inset 0 -1.5px 0 currentColor;transition:color .3s}
.sm-sig__by a:hover{color:var(--sm-red) !important}
.sm-sig__cta{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--sm-paper);color:var(--sm-paper) !important;font-weight:600;font-size:14px;line-height:1;transition:background-color .35s,color .35s}
.sm-sig__cta:hover{background:var(--sm-paper);color:var(--sm-ink) !important}
.sm-sig__cta span{display:inline-block;transition:transform .35s var(--sm-ease)}
.sm-sig__cta:hover span{transform:translateX(4px)}
.sm-sig__word{display:block;color:var(--sm-paper) !important;transition:color .45s var(--sm-ease)}
.sm-sig__word:hover{color:var(--sm-red) !important}
.sm-sig__word svg{width:100%}
.sm-sig__w2{display:none !important}
.sm-sig :focus-visible{outline:2px solid var(--sm-paper);outline-offset:4px;border-radius:4px}
@media (max-width:640px){.sm-sig__w1{display:none !important}.sm-sig__w2{display:block !important;width:100%}.sm-sig__cta{display:none}}

/* Apparition : le nom se trace lettre par lettre (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.4s 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 1.2s var(--sm-ease)}
.sm-sig--anim.is-in .sm-sig__mark .sm-l:nth-of-type(2){transition-delay:.2s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(1){transition-delay:0.205s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(2){transition-delay:0.260s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(3){transition-delay:0.315s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(4){transition-delay:0.370s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(5){transition-delay:0.425s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(6){transition-delay:0.480s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(7){transition-delay:0.535s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(8){transition-delay:0.590s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(9){transition-delay:0.645s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(10){transition-delay:0.700s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(11){transition-delay:0.755s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(12){transition-delay:0.810s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(13){transition-delay:0.865s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(14){transition-delay:0.920s}
.sm-sig--anim.is-in .sm-sig__word .sm-l:nth-of-type(15){transition-delay:0.975s}
@media (prefers-reduced-motion:reduce){.sm-sig *,.sm-sig::before{transition:none !important}}
