/* PortalOne — footer partagé (pages FR) */
.site-footer{
  --ft-ink:var(--navy,var(--ink,#0D2350));
  --ft-muted:var(--muted,#5A6483);
  --ft-line:var(--line,#E6EAF3);
  --ft-blue:var(--blue,#2B6BF5);
  --ft-mono:var(--mono,"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace);
  --ft-display:var(--display,"Space Grotesk",system-ui,sans-serif);
  border-top:1px solid var(--ft-line);
  background:#fff;
  padding:64px 0 0;
  margin-top:48px;
  color:var(--ft-muted);
}
.site-footer .foot{
  display:flex;
  flex-direction:column;
  gap:0;
}
.site-footer .foot__main{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.05fr);
  gap:48px 32px;
  padding-bottom:48px;
  align-items:start;
}
.site-footer .foot__brand{
  display:flex;
  flex-direction:column;
  gap:.85rem;
  max-width:28ch;
}
.site-footer .foot__mark{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  text-decoration:none;
  color:var(--ft-ink);
}
.site-footer .foot__mark img{
  width:28px;
  height:28px;
  border-radius:7px;
  display:block;
  object-fit:contain;
}
.site-footer .foot__name{
  font-family:var(--ft-display);
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.1;
  color:var(--ft-ink);
}
.site-footer .foot__tag{
  margin:0;
  font-size:.92rem;
  line-height:1.55;
  color:var(--ft-muted);
}
.site-footer .foot__tag a{
  color:var(--ft-blue);
  font-weight:600;
  text-decoration:none;
  transition:opacity .2s ease;
}
.site-footer .foot__tag a:hover{opacity:.75}
.site-footer .foot__col{min-width:0}
.site-footer .foot__title{
  margin:0 0 1.1rem;
  font-family:var(--ft-mono);
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ft-blue);
}
.site-footer .foot__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:.7rem;
}
.site-footer .foot__list a{
  display:inline-block;
  font-size:.93rem;
  line-height:1.45;
  color:var(--ft-ink);
  text-decoration:none;
  transition:color .2s ease;
}
.site-footer .foot__list a:hover{color:var(--ft-blue)}
#main .hero__note a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}
#main .hero__note a:hover{color:var(--blue, #2B6BF5)}
.site-footer .foot__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px 28px;
  flex-wrap:wrap;
  padding:22px 0 36px;
  border-top:1px solid var(--ft-line);
  font-size:.82rem;
  line-height:1.5;
  color:var(--ft-muted);
}
.site-footer .foot__copy,
.site-footer .foot__host{
  margin:0;
}
.site-footer .foot__copy a{
  color:inherit;
  text-decoration:none;
  transition:color .2s ease;
}
.site-footer .foot__copy a:hover{color:var(--ft-blue)}

@media(max-width:980px){
  .site-footer .foot__main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:36px 28px;
  }
}
@media(max-width:700px){
  .site-footer{padding:48px 0 0;margin-top:36px}
  .site-footer .foot__main{
    grid-template-columns:1fr;
    gap:36px;
    padding-bottom:36px;
  }
  .site-footer .foot__brand{max-width:none}
  .site-footer .foot__bar{
    flex-direction:column;
    align-items:flex-start;
    padding:20px 0 32px;
    gap:8px;
  }
}
