/* ═══ PIED DE PAGE — commun à tout le site
       Fond : celui de Branding sur l'accueil (#12162A), celui de l'intercalaire
       sur chaque page dossier (--ff, défini sur l'élément). ═══ */
.sf{
  --ff:#12162A;--ftc:#ffffff;
  position:relative;z-index:42;background:var(--ff);color:var(--ftc);font-family:'Goodly',sans-serif;
  padding:clamp(56px,7vw,96px) clamp(20px,5vw,80px) 28px;
  border-top:1px solid color-mix(in srgb,var(--ftc) 16%,transparent);
}
.sf a{color:inherit;text-decoration:none;}
.sf-top{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:clamp(28px,4vw,56px);max-width:1600px;margin:0 auto;}
.sf-brand{display:flex;flex-direction:column;gap:18px;max-width:340px;}
.sf-logo{display:block;width:150px;aspect-ratio:150/80;overflow:hidden;}
.sf-logo img{display:block;width:100%;margin-top:-23%;}
.sf-tag{font-size:.95rem;line-height:1.55;opacity:.72;}
.sf-mit{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6;}
.sf-mit b{color:#E11D48;font-weight:700;opacity:1;}
.sf-col h3{margin:0 0 16px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.55;}
.sf-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.sf-col li,.sf-col address{font-size:.92rem;line-height:1.5;font-style:normal;}
.sf-col a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:2px;transition:background-size .4s cubic-bezier(.16,1,.3,1),opacity .3s;opacity:.85;}
.sf-col a:hover{background-size:100% 1px;opacity:1;}
.sf-todo{display:inline-block;padding:1px 6px;border-radius:4px;background:rgba(225,29,72,.22);font-size:.8em;}
.sf-bot{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 28px;
  max-width:1600px;margin:clamp(40px,5vw,64px) auto 0;padding-top:22px;
  border-top:1px solid color-mix(in srgb,var(--ftc) 14%,transparent);font-size:.74rem;opacity:.75;
}
.sf-legal{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0;}
.sf-legal a:hover{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:1000px){
  .sf-top{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sf-brand{grid-column:1/-1;}
}
@media(max-width:560px){
  .sf-top{grid-template-columns:minmax(0,1fr);}
  .sf-bot{flex-direction:column;align-items:flex-start;}
}
