

.v2-pied-bord, .v2-sec.v2-pied { --pied-t: clamp(60px, 8.47vw, 170px); --pied-s: clamp(40px, 5vw, 96px); }
.v2-pied-bord { --vague-c: #F9F7F2; position: relative; z-index: 2; height: 0; overflow: visible; pointer-events: none; }
.v2-pied-arc { position: absolute; left: 0; top: -1px; display: block; width: 100%; height: calc(var(--pied-t) + var(--pied-s) * 1.03 + 2px); overflow: visible; pointer-events: none; }
.v2-pied-arc-fond { fill: var(--vague-c); pointer-events: fill; }
.v2-pied-arc-bande { fill: none; stroke: var(--orange); stroke-width: var(--pied-t); stroke-linecap: butt; pointer-events: stroke; }

.v2-pied-arc-txt { font-family: 'MD Nichrome Ruban', var(--display); font-weight: 800; font-synthesis: weight; font-size: calc(var(--pied-t) * .52); letter-spacing: .04em;
  fill: #FFFFFF; white-space: pre; }
.v2-pied-arc-ast { font-family: 'Neue Montreal', var(--texte); font-weight: 500; font-synthesis: none; font-size: 1.42em; letter-spacing: 0; baseline-shift: -.2em; }
.v2-pied-arc-mesure { visibility: hidden; }

.v2-sec.v2-pied { --cr: 249, 247, 242; --vert: #5EE27A; --pied-air: clamp(36px, 5.6vh, 56px); --pied-legal: clamp(56px, 8vh, 84px);
  --pied-marge: max(0px, (100vw - 1760px) / 2);
  position: relative; z-index: 1; overflow-x: clip; padding-top: calc(var(--pied-t) + var(--pied-s) * 1.03 + var(--pied-air));
  background: var(--nuit); color: var(--fond); font-family: var(--texte); }

.v2-sec.v2-pied.v2-pied-rev { position: sticky; z-index: 0; bottom: min(0px, calc(100vh - var(--pied-h, 0px))); }
@supports (height: 100svh) { .v2-sec.v2-pied.v2-pied-rev { bottom: min(0px, calc(100svh - var(--pied-h, 0px))); } }
.v2-sec.v2-pied.v2-pied-hors { opacity: 0; pointer-events: none; }

.v2-pied-in { max-width: 1760px; margin: 0 auto; padding: 0 var(--gout); }
.v2-pied-masque { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

.v2-pied-rang { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; align-items: start; }
.v2-pied-appel { grid-column: 1 / span 5; display: flex; flex-direction: column; align-items: flex-start; }
.v2-pied-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--fond); text-decoration: none; -webkit-tap-highlight-color: transparent; }
.v2-pied-logo-m { display: block; width: auto; height: 38px; }
.v2-pied-logo-t { display: block; width: auto; height: 17px; }
.v2-pied-para { margin: 22px 0 0; max-width: 430px; font-size: 17px; line-height: 1.55; color: rgba(var(--cr), .72); }

.v2-pied-actes { display: flex; align-items: center; gap: 20px; margin-top: 28px; }
.v2-pied-cta { flex: none; }
.v2-pied-rs { flex: none; display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.v2-pied-rs li { display: block; }
.v2-pied-rond { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; color: #FFFFFF; -webkit-tap-highlight-color: transparent; }
.v2-pied-rond svg { display: block; width: 26px; height: 26px; fill: #FFFFFF; transition: transform .35s cubic-bezier(.34, 1.56, .64, 1), fill .25s; }
.v2-pied-rond--ig svg { width: 30px; height: 30px; }
.v2-pied-rond--li svg { width: 24px; height: 24px; }
.v2-pied-rond:hover svg, .v2-pied-rond:focus-visible svg { transform: scale(1.14) rotate(-4deg); fill: var(--orange); }

.v2-pied-droite { grid-column: 7 / -1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 48px; }
.v2-pied-grands { list-style: none; margin: 0; padding: 0; }
.v2-pied-gl { display: flex; width: fit-content; align-items: baseline; gap: 14px; padding: 3px 0; color: var(--fond); text-decoration: none; -webkit-tap-highlight-color: transparent; }
.v2-pied-gn { flex: none; width: 22px; font-size: 13px; letter-spacing: .08em; color: var(--orange); }
.v2-pied-gt { position: relative; font-family: var(--display); font-weight: 900; font-synthesis: none; text-transform: uppercase; font-size: clamp(34px, 3.2vw, 52px); line-height: 1.02;
  transition: transform .45s cubic-bezier(.22, 1, .36, 1), color .25s; }
.v2-pied-gl:hover .v2-pied-gt, .v2-pied-gl:focus-visible .v2-pied-gt { transform: translateX(12px); color: var(--orange); }
.v2-pied-coord { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; font-style: normal; }
.v2-pied-cl { display: flex; align-items: flex-start; gap: 14px; color: var(--fond); text-decoration: none; font-size: 19px; line-height: 1.35; -webkit-tap-highlight-color: transparent; }
.v2-pied-ci { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(var(--cr), .1); }
.v2-pied-ci svg { display: block; width: 17px; height: 17px; fill: var(--orange); }
.v2-pied-ci svg .v2-pied-tel-c { fill: var(--orange); }
.v2-pied-ci svg .v2-pied-tel-b { fill: none; stroke: #141312; stroke-width: 1.4; stroke-linecap: round; }
.v2-pied-ct { padding-top: 6px; transition: color .25s; }
a.v2-pied-cl:hover .v2-pied-ct, a.v2-pied-cl:focus-visible .v2-pied-ct { color: var(--orange); }

.v2-pied-formes { position: absolute; z-index: -1; top: 0; bottom: calc(14px - var(--pied-legal));
  left: calc(-1 * (var(--gout) + var(--pied-marge))); right: calc(-1 * (var(--gout) + var(--pied-marge)));
  clip-path: polygon(0 -480px, 100% -480px, 100% 100%, 0 100%); pointer-events: none; }
.v2-pied-forme { position: absolute; display: block; overflow: visible; }
.v2-pied-forme path { fill: none; stroke: var(--arc, #1F1D1B); stroke-width: 16; stroke-linecap: round; stroke-linejoin: round; }

.v2-pied-forme--g { left: -60px; top: -170px; width: 380px; height: 170px; }

.v2-pied-forme--d { right: -80px; bottom: 0; width: 340px; height: 240px; }

.v2-pied-legal { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 32px; margin-top: var(--pied-legal); padding-bottom: 28px; }
.v2-pied-legal p { margin: 0; }
.v2-pied-legal-d { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px 24px; }
.v2-pied-mentions { font-size: 14px; line-height: 20px; color: rgba(var(--cr), .62); white-space: nowrap; }
.v2-pied-sep { display: inline-block; margin: 0 .55em; }
.v2-pied-lien { color: inherit; text-decoration: none; transition: color .25s var(--ease); -webkit-tap-highlight-color: transparent; }
.v2-pied-lien:hover, .v2-pied-lien:focus-visible { color: var(--fond); }
.v2-pied-t { position: relative; }
.v2-pied-t::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.08em; height: 1.5px; background: var(--orange); transform: scaleX(0); transform-origin: 100% 50%;
  transition: transform .5s var(--ease); pointer-events: none; }
.v2-pied-lien:hover .v2-pied-t::after, .v2-pied-lien:focus-visible .v2-pied-t::after { transform: scaleX(1); transform-origin: 0 50%; }

.v2-pied-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; list-style: none; margin: 0; padding: 0; }
.v2-pied-badges li { position: relative; display: block; }
.v2-pied-badges img { display: block; width: auto; height: 29px; border-radius: 6px; }
.v2-pied-badge { display: block; border-radius: 6px; transition: transform .45s cubic-bezier(.34, 1.56, .64, 1); -webkit-tap-highlight-color: transparent; }
a.v2-pied-badge:hover, a.v2-pied-badge:focus-visible, .v2-pied-lfdn:hover, .v2-pied-lfdn:focus-within { transform: translateY(-2px) rotate(-1.5deg); }
.v2-pied-lfdn-h, .v2-pied-lfdn-b { position: absolute; left: 0; right: 0; }
.v2-pied-lfdn-h { top: 0; height: 50%; }
.v2-pied-lfdn-b { bottom: 0; height: 50%; }

.v2-pied-eco { display: flex; align-items: center; gap: 26px; }

.v2-pied-eco[data-a-mesurer="oui"] { display: none !important; }
@media (min-width: 1280px) { .v2-pied-eco[data-a-mesurer="oui"] + .v2-pied-legal-d { flex: 1 1 auto; justify-content: space-between; } }
.v2-pied-eco-t { display: flex; align-items: flex-start; gap: 9px; max-width: 168px; font-size: 13px; line-height: 1.3; color: rgba(var(--cr), .78); }
.v2-pied-eco-t b { color: var(--vert); font-weight: 700; white-space: nowrap; }
.v2-pied-eco-f { flex: none; width: 16px; height: 16px; margin-top: 1px; fill: var(--vert); }
.v2-pied-eco-n { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.v2-pied-eco-ech { display: flex; align-items: flex-end; gap: 4px; height: 24px; }
.v2-pied-eco-ech > span { display: block; padding-bottom: 5px; font-size: 9.5px; font-weight: 600; line-height: 1; letter-spacing: .02em; color: rgba(94, 226, 122, var(--o, .5));
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 3px no-repeat; }
.v2-pied-eco-ech > .v2-pied-eco-on { position: relative; top: -3px; display: grid; place-items: center; min-width: 20px; height: 22px; padding: 1px 4px 0; border-radius: 6px;
  background: var(--vert); color: #141312; font-family: var(--display); font-weight: 900; font-synthesis: none; font-size: 15px; letter-spacing: 0; }
.v2-pied-eco-x { display: flex; flex-direction: column; gap: 1px; line-height: 1.2; white-space: nowrap; }
.v2-pied-eco-x b { font-size: 12px; font-weight: 600; color: var(--fond); }
.v2-pied-eco-x span { font-size: 11px; color: rgba(var(--cr), .58); }

@media (max-width: 1400px) { .v2-pied-droite { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 32px; } }

@media (min-width: 992px) and (max-width: 1279px) { .v2-pied-droite { grid-column: 6 / -1; } }

@media (max-width: 1279px) {
  .v2-pied-legal { justify-content: flex-start; }
  .v2-pied-legal-d { justify-content: flex-start; }
}

@media (max-width: 991px) {
  .v2-pied-rang { grid-template-columns: minmax(0, 1fr); row-gap: 52px; }
  .v2-pied-appel, .v2-pied-droite { grid-column: 1; }
  .v2-pied-droite { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 28px; }
}

@media (max-width: 1024px) {
  .v2-pied-mentions .v2-pied-lien { display: inline-block; padding: 12px 0; margin: -12px 0; }
  .v2-pied-badges a.v2-pied-badge { display: flex; align-items: center; min-height: 44px; margin: -7.5px 0; }
  .v2-pied-badges .v2-pied-lfdn { padding: 29.5px 0; margin: -29.5px 0; }
}

@media (max-width: 767px) {
  .v2-sec.v2-pied { --pied-air: 32px; --pied-legal: 48px; }
  .v2-pied-rang { row-gap: 44px; }
  .v2-pied-para { font-size: 16px; }
  .v2-pied-actes { flex-wrap: wrap; gap: 14px 16px; }
  .v2-pied-rond { width: 44px; height: 44px; }
  .v2-pied-droite { grid-template-columns: minmax(0, 1fr); row-gap: 36px; }
  .v2-pied-legal { flex-direction: column; align-items: flex-start; gap: 26px; }
  .v2-pied-legal-d { flex-direction: column; align-items: flex-start; gap: 18px; }
  .v2-pied-badges { gap: 10px 8px; }
  .v2-pied-badges img { height: 27px; }
  .v2-pied-badges a.v2-pied-badge { margin: -8.5px 0; }
  .v2-pied-badges .v2-pied-lfdn { padding: 30.5px 0; margin: -30.5px 0; }
  .v2-pied-mentions { display: flex; flex-direction: column; gap: 6px; white-space: normal; }
  .v2-pied-sep--copy { display: none; }
  .v2-pied-eco { flex-wrap: wrap; gap: 14px 30px; }
  .v2-pied-eco-t { flex: 1 1 100%; max-width: none; }

  .v2-pied-forme--d { right: -66px; bottom: 214px; width: 280px; height: 198px; }
}
@media (max-width: 359px) { .v2-pied-forme--d { display: none; } }

@media (prefers-reduced-motion: reduce) {
  .v2-sec.v2-pied.v2-pied-rev { position: relative; z-index: 1; bottom: auto; }
  .v2-pied-t::after, .v2-pied-badge, .v2-pied-rond svg, .v2-pied-gt, .v2-pied-ct { transition: none; }
}

.v2-pied-als { display: inline-flex; align-items: center; gap: 8px; margin: 56px 0 0; padding: 0;
  color: #F9F7F2; font-family: var(--texte); font-size: 14px; font-weight: 500; line-height: 1; letter-spacing: .01em; white-space: nowrap; }
.v2-pied-als svg { display: block; flex: none; width: 22px; height: 18px; fill: #E32119; }
@media (max-width: 767px) { .v2-pied-als { margin-top: 24px; } }

html:not(.v2-alsace) .v2-pied-als { display: none; }
