/* V5: continuous words, shared pause, and a composed transition. */
:root { --arrival-space: 110px; }
#expertises, #services, #a-propos, #contact { scroll-margin-top: var(--arrival-space); }
.motion-toggle { min-height: 44px; padding: 10px 16px; border: 1px solid currentColor; border-radius: 40px; font: 500 12px/1.4 var(--font-display); color: var(--c-dark); background: transparent; }
.motion-toggle:hover { background: var(--c-dark); color: var(--c-cream); }
.motion-toggle:disabled { opacity: 1; border-style: dashed; cursor: default; }
.motion-toggle:disabled:hover { background: transparent; color: var(--c-dark); }
.expertises__motion { margin: 16px 24px 0; }
.novateurs { position: relative; overflow: hidden; background: var(--c-pear); border-radius: 20px 20px 20px 48% / 20px 20px 20px 60%; }
.novateurs__rest { position: absolute; inset: 0; display: grid; place-items: center; font: 700 clamp(30px, 8vw, 46px)/1.1 var(--font-display); color: var(--c-dark); }
.novateurs__anim { position: relative; z-index: 1; visibility: hidden; }
.novateurs.is-animated .novateurs__anim { visibility: visible; }
.novateurs.is-animated .novateurs__rest { visibility: hidden; }
.novateurs__text { fill: var(--c-dark); }
.novateurs__anim > g > path { fill: var(--c-pear); }
html[data-motion="paused"] .novateurs__anim, html[data-motion="reduced"] .novateurs__anim { visibility: hidden; }
html[data-motion="paused"] .novateurs__rest, html[data-motion="reduced"] .novateurs__rest { visibility: visible; }
html[data-motion="paused"] .team__marquee, html[data-motion="paused"] .proactifs__word,
html[data-motion="reduced"] .team__marquee, html[data-motion="reduced"] .proactifs__word { animation-play-state: paused; }
.about, .values { --bridge-size: 240px; --bridge-center: 62%; }
.about { max-width: none; padding: 88px 24px 164px; gap: 32px; grid-template-columns: minmax(0, 1fr); }
.about__block--mission, .about__block--perspective { grid-column: auto; grid-row: auto; }
.about__block--perspective { display: flex; margin-top: 8px; padding-top: 0; border-top: 0; gap: 20px; }
.about__circle { position: absolute; z-index: 3; width: var(--bridge-size); height: var(--bridge-size); left: var(--bridge-center); bottom: calc(var(--bridge-size) / -2); margin: 0; transform: translateX(-50%); justify-self: auto; grid-column: auto; grid-row: auto; }
.values { background: var(--c-pear); padding: 168px 24px 40px; border-radius: 32px 32px 40px 40px; }
.values__notch { position: absolute; z-index: 1; width: calc(var(--bridge-size) + 24px); height: calc(var(--bridge-size) + 24px); top: calc(var(--bridge-size) / -2 - 12px); left: var(--bridge-center); transform: translateX(-50%); background: var(--c-cream); border-radius: 50%; pointer-events: none; }
.values__content { position: relative; z-index: 2; }
.values__words { display: block; overflow: hidden; width: calc(100% + 48px); margin: 42px -24px 0; padding: 12px 0; font-size: clamp(32px, 8.4vw, 44px); color: var(--c-dark); line-height: 1.2; }
.values__track { display: flex; width: max-content; animation: values-flow var(--values-duration, 32s) linear infinite; }
.values__group { display: flex; flex: none; gap: 32px; padding-right: 32px; }
.values__group > span { display: block; flex: none; }
.values__pause { position: relative; margin-top: 24px; }
@keyframes values-flow { to { transform: translateX(calc(-1 * var(--values-distance, 1000px))); } }
html[data-motion="paused"] .values__track, html[data-motion="reduced"] .values__track,
.no-js .values__track { animation: none; transform: none; width: 100%; }
html[data-motion="paused"] .values__group, html[data-motion="reduced"] .values__group,
.no-js .values__group { flex-wrap: wrap; justify-content: flex-start; gap: 16px 28px; padding: 0 24px; width: 100%; }
html[data-motion="paused"] .values__group[data-clone], html[data-motion="reduced"] .values__group[data-clone] { display: none; }
.no-js .motion-toggle { display: none; }
.footer__brand { grid-area: logo; position: relative; margin: 12px 0; isolation: isolate; }
.footer__brand .footer__logo { display: block; position: relative; z-index: 1; width: 100%; margin: 0; }
.footer__brand .footer__rings { position: absolute; inset: 0; overflow: visible; border-radius: 0; pointer-events: auto; }
.footer__brand .footer__ring { left: 76.6306%; top: 28.8865%; right: auto; bottom: auto; height: auto; transform: translate(-50%, -50%); transform-origin: center; pointer-events: auto; }
.footer__brand .footer__ring--m { width: 132.1637%; }
.footer__brand .footer__ring--lg { width: 74.234%; }
.footer__brand .footer__ring--sm { width: 39.833%; }
.site-footer { overflow: clip; }
.site-footer.rings-armed .footer__ring { transform: translate(-50%, -50%) scale(.15); }
.site-footer.rings-armed.is-visible .footer__ring { transform: translate(-50%, -50%) scale(1); transition-duration: 450ms, 200ms; transition-delay: 0ms; }
html[data-motion="paused"] .site-footer .footer__ring, html[data-motion="reduced"] .site-footer .footer__ring { opacity: 1; transform: translate(-50%, -50%); transition: none; }
.footer__contact, .footer__public, .lang--footer, .footer__legal { position: relative; z-index: 2; }
@media (max-width: 1023.98px) {
  .site-header { background: var(--c-cream); }
  .nav { padding-block: 16px; }
}
@media (min-width: 1024px) {
  .expertises__motion { margin-left: 0; }
  .novateurs { border-radius: 16.33% 16.33% 16.33% 61.22% / 13.33% 13.33% 13.33% 50%; }
  .novateurs__rest { font-size: clamp(30px, 3.3vw, 62px); }
  .about, .values { --bridge-size: clamp(320px, 28cqw, 420px); --bridge-center: 78%; }
  .about { padding: 128px 46% 140px 8.4%; gap: 40px; }
  .about .eyebrow, .about__block--mission, .about__block--perspective { grid-column: 1; grid-row: auto; }
  .about__block--perspective { margin-top: 8px; gap: 24px; }
  .about__block--perspective .about__title { font-size: clamp(28px, 2.4vw, 36px); }
  .about__circle { width: var(--bridge-size); align-self: auto; }
  .values { padding: 218px 8.4% 52px; border-radius: 56px 56px 64px 64px; }
  .values__words { width: auto; margin: 54px -10.1% 0; font-size: clamp(48px, 5vw, 80px); }
  .values__group { gap: 56px; padding-right: 56px; }
  .values__pause { margin-top: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .values__track { animation: none; transform: none; width: 100%; }
  .values__group { flex-wrap: wrap; gap: 16px 28px; width: 100%; padding: 0 24px; }
  .values__group[data-clone] { display: none; }
  .novateurs__anim { visibility: hidden !important; }
  .novateurs__rest { visibility: visible !important; }
  .site-footer .footer__ring { opacity: 1; transform: translate(-50%, -50%) !important; transition: none !important; }
}

