/**
 * Studio Koncordia — motion
 * SVG construction draw · editorial scroll reveals · chrome micro
 * Client override (2026-08): animations always play — prefers-reduced-motion
 * is not honoured. No scroll-jacking. Hides only under html.js-anim.
 */
/* ——— Shared duration aliases (tokens) ——— */
:root {
  --sk-reveal-distance: 28px;
  --sk-reveal-distance-soft: 12px;
  --sk-draw-stagger: 90ms;
  --sk-stagger-step: 96ms;
  --sk-band-p: 0;
  --sk-reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sk-reveal-duration: 1040ms;
}

@property --sk-band-p {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
/* ——— Page enter ———
   Do not opacity-gate <main>: hero copy / visual carry their own entrance.
   Class is-entered is still set by motion.js for compatibility. */
/* ——— SVG construction draw ——— */
html.js-anim .sk-draw,
html.js-anim .draw-path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.is-constructed .sk-draw,
.is-constructed .draw-path,
.hero.is-ready .sk-draw,
.hero.is-ready .draw-path {
  animation: sk-draw-in var(--duration-hero) var(--ease-draw) forwards;
}
.is-constructed .sk-draw:nth-child(1),
.is-constructed .draw-path:nth-child(1),
.hero.is-ready .sk-draw:nth-child(1),
.hero.is-ready .draw-path:nth-child(1) {
  animation-delay: 0ms;
}
.is-constructed .sk-draw:nth-child(2),
.is-constructed .draw-path:nth-child(2),
.hero.is-ready .sk-draw:nth-child(2),
.hero.is-ready .draw-path:nth-child(2) {
  animation-delay: calc(var(--sk-draw-stagger) * 1);
}
.is-constructed .sk-draw:nth-child(3),
.is-constructed .draw-path:nth-child(3),
.hero.is-ready .sk-draw:nth-child(3),
.hero.is-ready .draw-path:nth-child(3) {
  animation-delay: calc(var(--sk-draw-stagger) * 2);
}
.is-constructed .sk-draw:nth-child(4),
.is-constructed .draw-path:nth-child(4),
.hero.is-ready .sk-draw:nth-child(4),
.hero.is-ready .draw-path:nth-child(4) {
  animation-delay: calc(var(--sk-draw-stagger) * 3);
}
.is-constructed .sk-draw:nth-child(5),
.is-constructed .draw-path:nth-child(5),
.hero.is-ready .sk-draw:nth-child(5),
.hero.is-ready .draw-path:nth-child(5) {
  animation-delay: calc(var(--sk-draw-stagger) * 4);
}
.is-constructed .sk-draw:nth-child(6),
.is-constructed .draw-path:nth-child(6),
.hero.is-ready .sk-draw:nth-child(6),
.hero.is-ready .draw-path:nth-child(6) {
  animation-delay: calc(var(--sk-draw-stagger) * 5);
}
.is-constructed .sk-draw:nth-child(7),
.is-constructed .draw-path:nth-child(7),
.hero.is-ready .sk-draw:nth-child(7),
.hero.is-ready .draw-path:nth-child(7) {
  animation-delay: calc(var(--sk-draw-stagger) * 6);
}
.is-constructed .sk-draw:nth-child(8),
.is-constructed .draw-path:nth-child(8),
.hero.is-ready .sk-draw:nth-child(8),
.hero.is-ready .draw-path:nth-child(8) {
  animation-delay: calc(var(--sk-draw-stagger) * 7);
}
.is-constructed .sk-draw:nth-child(9),
.is-constructed .draw-path:nth-child(9),
.hero.is-ready .sk-draw:nth-child(9),
.hero.is-ready .draw-path:nth-child(9) {
  animation-delay: calc(var(--sk-draw-stagger) * 8);
}
.is-constructed .sk-draw:nth-child(10),
.is-constructed .draw-path:nth-child(10),
.hero.is-ready .sk-draw:nth-child(10),
.hero.is-ready .draw-path:nth-child(10) {
  animation-delay: calc(var(--sk-draw-stagger) * 9);
}
.is-constructed .sk-draw:nth-child(11),
.is-constructed .draw-path:nth-child(11),
.hero.is-ready .sk-draw:nth-child(11),
.hero.is-ready .draw-path:nth-child(11) {
  animation-delay: calc(var(--sk-draw-stagger) * 10);
}
.is-constructed .sk-draw:nth-child(12),
.is-constructed .draw-path:nth-child(12),
.hero.is-ready .sk-draw:nth-child(12),
.hero.is-ready .draw-path:nth-child(12) {
  animation-delay: calc(var(--sk-draw-stagger) * 11);
}
/* Home hero: guides field first,
then K mark,
ticks last */
.hero--home.is-ready .hero__guides .sk-draw {
  animation-duration: calc(var(--duration-hero) * 0.72);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(1) {
  animation-delay: 60ms;
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(2) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 0.6);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(3) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 1.2);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(4) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 1.8);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(5) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 2.4);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(6) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 3);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(7) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 4);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(8) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 4.5);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(9) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 5);
}
.hero--home.is-ready .hero__guides .sk-draw:nth-child(10) {
  animation-delay: calc(60ms + var(--sk-draw-stagger) * 5.5);
}
.hero--home.is-ready .hero__svg .sk-draw {
  animation-duration: var(--duration-hero);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(1) {
  animation-delay: calc(var(--sk-draw-stagger) * 3.5);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(2) {
  animation-delay: calc(var(--sk-draw-stagger) * 4.2);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(3) {
  animation-delay: calc(var(--sk-draw-stagger) * 4.8);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(4) {
  animation-delay: calc(var(--sk-draw-stagger) * 5.4);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(5) {
  animation-delay: calc(var(--sk-draw-stagger) * 6.2);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(6) {
  animation-delay: calc(var(--sk-draw-stagger) * 7);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(7) {
  animation-delay: calc(var(--sk-draw-stagger) * 7.8);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(8) {
  animation-delay: calc(var(--sk-draw-stagger) * 8.6);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(9) {
  animation-delay: calc(var(--sk-draw-stagger) * 9.6);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(10) {
  animation-delay: calc(var(--sk-draw-stagger) * 10.2);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(11) {
  animation-delay: calc(var(--sk-draw-stagger) * 10.8);
}
.hero--home.is-ready .hero__svg .sk-draw:nth-child(12) {
  animation-delay: calc(var(--sk-draw-stagger) * 11.4);
}
/* Image-mark lockup settle (replaces retired SVG annotate beat) */
.hero--home.is-ready .hero-mark-img {
  animation-delay: calc(var(--sk-draw-stagger) * 4.2);
}

@keyframes sk-draw-in {
  to {
    stroke-dashoffset: 0;
  }
}
/* Measured-length paths (JS sets dasharray to total length) */
.sk-draw[data-sk-len].is-drawn,
.is-constructed .sk-draw[data-sk-len],
.hero.is-ready .sk-draw[data-sk-len] {
  animation-name: sk-draw-len;
}

@keyframes sk-draw-len {
  to {
    stroke-dashoffset: 0;
  }
}

@supports (stroke-dasharray: 1) {
  html.js-anim .sk-draw[pathLength],
  html.js-anim .draw-path[pathLength],
  html.js-anim path.sk-draw,
  html.js-anim circle.sk-draw,
  html.js-anim line.sk-draw,
  html.js-anim path.draw-path,
  html.js-anim circle.draw-path,
  html.js-anim line.draw-path {
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
  }
}
/* Inline hero SVGs keep layout styles from former <img> */
.hero__svg.sk-inline-svg,
svg.hero__svg {
  width: min(100%, 26rem);
  height: auto;
  color: var(--color-ink);
  opacity: 0.95;
}
.hero__guides.sk-inline-svg,
svg.hero__guides {
  position: absolute;
  inset: 12% 4%;
  width: auto;
  height: auto;
  color: var(--color-bronze);
  opacity: 0.5;
  pointer-events: none;
}
/* Hero frame: construction corners settle */
html.js-anim .hero__frame {
  transition:
    border-color var(--duration-enter) var(--ease-out-precise),
    opacity var(--duration-enter) var(--ease-out-precise);
  opacity: 0;
}
.hero.is-ready .hero__frame {
  opacity: 1;
  border-color: var(--color-bronze-line);
  transition-delay: 280ms;
}
html.js-anim .hero__annotate {
  opacity: 0;
  transform: translateY(8px);
}
.hero.is-ready .hero__annotate {
  animation: sk-rise var(--duration-ui) var(--ease-out-precise) 900ms forwards;
}
/* Mark plate: soft settle after wordmark — one lockup beat */
html.js-anim .hero--home .hero-mark-img {
  opacity: 0;
  transform: translateY(14px) scale(0.97);
}
.hero--home.is-ready .hero-mark-img {
  animation: sk-mark-settle calc(var(--duration-enter) + 80ms) var(--ease-out-precise) 40ms
    forwards;
}

@keyframes sk-mark-settle {
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/* ——— Editorial scroll reveals — hidden only when JS opted in ——— */
html.js-anim [data-reveal] {
  opacity: 0;
  transform: translateY(var(--sk-reveal-distance));
  transition:
    opacity var(--sk-reveal-duration) var(--sk-reveal-ease),
    transform var(--sk-reveal-duration) var(--sk-reveal-ease),
    clip-path calc(var(--sk-reveal-duration) + 80ms) var(--ease-draw),
    filter var(--sk-reveal-duration) var(--sk-reveal-ease);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
/* Opacity-only — safe for instrument shells (ch11 / ch10) */
html.js-anim [data-reveal="fade"] {
  transform: none;
  will-change: opacity;
}
html.js-anim [data-reveal="soft"] {
  transform: translateY(var(--sk-reveal-distance-soft));
  transition-duration: calc(var(--sk-reveal-duration) + 120ms);
}
html.js-anim [data-reveal="x"] {
  transform: translateX(var(--sk-reveal-distance));
}
html.js-anim [data-reveal="x-left"] {
  transform: translateX(calc(var(--sk-reveal-distance) * -1));
}
html.js-anim [data-reveal="clip"] {
  transform: none;
  clip-path: inset(0 0 100% 0);
  will-change: opacity, clip-path;
}
html.js-anim [data-reveal="clip-x"] {
  transform: none;
  clip-path: inset(0 100% 0 0);
  will-change: opacity, clip-path;
}
html.js-anim [data-reveal="mask"] {
  transform: translateY(8px);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 0%, transparent 0%);
  mask-image: linear-gradient(180deg, #000 0%, #000 0%, transparent 0%);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  transition:
    opacity var(--sk-reveal-duration) var(--sk-reveal-ease),
    transform var(--sk-reveal-duration) var(--sk-reveal-ease),
    -webkit-mask-image calc(var(--sk-reveal-duration) + 100ms) var(--ease-draw),
    mask-image calc(var(--sk-reveal-duration) + 100ms) var(--ease-draw);
  will-change: opacity, transform, mask-image;
}
html.js-anim [data-reveal="line"] {
  opacity: 1;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform calc(var(--sk-reveal-duration) + 200ms) var(--ease-draw);
  will-change: transform;
}
html.js-anim [data-reveal].is-inview {
  opacity: 1;
  transform: translate(0, 0);
  will-change: auto;
}
html.js-anim [data-reveal="fade"].is-inview,
html.js-anim [data-reveal="soft"].is-inview {
  opacity: 1;
  transform: none;
}
html.js-anim [data-reveal="soft"].is-inview {
  transform: translateY(0);
}
html.js-anim [data-reveal="clip"].is-inview,
html.js-anim [data-reveal="clip-x"].is-inview {
  clip-path: inset(0 0 0 0);
}
html.js-anim [data-reveal="mask"].is-inview {
  -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 100%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 0%, #000 100%, transparent 100%);
  transform: translateY(0);
}
html.js-anim [data-reveal="line"].is-inview {
  opacity: 1;
  transform: scaleX(1);
}
/* Stagger groups — indices set by motion.js */
[data-reveal-stagger] > [data-reveal],
[data-reveal-stagger] > [data-reveal-child] {
  transition-delay: var(--reveal-delay, 0ms);
}
/* ——— Band progress accents (scroll-linked bronze caliber) ——— */
[data-sk-band] {
  --sk-band-p: 0;
  position: relative;
}
[data-sk-band] > .sk-band-rule,
[data-sk-band] .container > .sk-band-rule,
[data-sk-band] .closing__inner > .sk-band-rule,
.sk-band-rule {
  display: block;
  height: var(--hairline, 1px);
  width: 100%;
  max-width: 7.5rem;
  margin: 0 0 var(--space-4, 1rem);
  background: var(--color-bronze);
  transform: scaleX(var(--sk-band-p, 0));
  transform-origin: left center;
  opacity: 0.85;
  pointer-events: none;
}
/* Closing / transitions band rules live as .sk-band-rule in markup */

/* Inline progress tick on annotate / meta lines */
[data-sk-band] .sk-band-meter {
  display: inline-block;
  width: 2.5rem;
  height: var(--hairline, 1px);
  margin-inline-end: 0.65rem;
  vertical-align: middle;
  background: var(--color-bronze);
  transform: scaleX(var(--sk-band-p, 0));
  transform-origin: left center;
}

@supports (animation-timeline: view()) {
  html.sk-view-timeline [data-sk-band].sk-band--view {
    animation: sk-band-p-drive linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 55%;
  }

  @keyframes sk-band-p-drive {
    from {
      --sk-band-p: 0;
    }
    to {
      --sk-band-p: 1;
    }
  }

  html.sk-view-timeline [data-sk-band].sk-band--view > .sk-band-rule,
  html.sk-view-timeline [data-sk-band].sk-band--view .sk-band-meter {
    transition: none;
  }
}
.contact-channel[data-reveal]:nth-child(1) {
  --reveal-delay: 0ms;
}
.contact-channel[data-reveal]:nth-child(2) {
  --reveal-delay: 50ms;
}
.contact-channel[data-reveal]:nth-child(3) {
  --reveal-delay: 100ms;
}
/* Closing CTA — clip / mask / soft cascade on paper */
.closing[data-sk-arrive="paper"] .closing__inner[data-reveal-stagger] > [data-reveal] {
  transition-delay: calc(var(--sk-arrive-delay, 0ms) + var(--reveal-delay, 0ms));
}
.closing--decisive[data-sk-arrive="paper"] .closing__head[data-reveal="clip"] {
  --reveal-delay: calc(var(--sk-arrive-delay, 0ms) + 40ms);
}
html.js-anim .closing--decisive[data-sk-arrive="paper"] .closing__body[data-reveal="soft"] {
  --reveal-delay: calc(var(--sk-arrive-delay, 0ms) + 140ms);
  transform: translateY(calc(var(--sk-reveal-distance-soft) + 6px));
}
.closing--decisive[data-sk-arrive="paper"] .closing__body[data-reveal="soft"].is-inview {
  transform: translateY(0);
}
.closing--decisive[data-sk-arrive="paper"] .cta-row--decisive[data-reveal] {
  --reveal-delay: calc(var(--sk-arrive-delay, 0ms) + 240ms);
}
.closing--decisive[data-sk-arrive="paper"] .trust-line[data-reveal] {
  --reveal-delay: calc(var(--sk-arrive-delay, 0ms) + 340ms);
}
/* ——— Hero copy entrance (wordmark first → copy → CTAs) ——— */
html.js-anim .hero__copy > * {
  opacity: 0;
  transform: translateY(20px);
}
.hero.is-ready .hero__copy > * {
  animation: sk-rise calc(var(--duration-enter) + 80ms) var(--ease-out-precise) forwards;
}
.hero.is-ready .hero__copy > *:nth-child(1) {
  animation-delay: 40ms;
}
.hero.is-ready .hero__copy > *:nth-child(2) {
  animation-delay: 160ms;
}
.hero.is-ready .hero__copy > *:nth-child(3) {
  animation-delay: 280ms;
}
.hero.is-ready .hero__copy > *:nth-child(4) {
  animation-delay: 440ms;
}
.hero.is-ready .hero__copy > *:nth-child(5) {
  animation-delay: 580ms;
}
.hero.is-ready .hero__copy > *:nth-child(6) {
  animation-delay: 700ms;
}

@keyframes sk-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
html.js-anim .hero__visual {
  opacity: 0;
  transform: translateY(18px);
}
.hero.is-ready .hero__visual {
  animation: sk-rise calc(var(--duration-enter) + 120ms) var(--ease-out-precise) 40ms forwards;
}

@keyframes sk-rise-x {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ——— Nav / CTA motion helpers (states live in components.css) ——— */
.magnetic-ready {
  transition: transform var(--duration-micro) var(--ease-out-precise);
}
.site-header .nav-cluster {
  transition: opacity var(--duration-ui) var(--ease-out-precise);
}
.brand__mark-frame {
  transition:
    border-color var(--duration-micro) var(--ease-out-precise),
    box-shadow var(--duration-micro) var(--ease-out-precise),
    background var(--duration-micro) var(--ease-out-precise);
}
.brand:hover .brand__mark-frame,
.brand:focus-visible .brand__mark-frame {
  box-shadow:
    inset 0 0 0 1px rgba(236, 232, 224, 0.55),
    inset 0 0 0 1px var(--color-bronze-faint);
}
.nav-toggle__bar {
  transition:
    transform var(--duration-ui) var(--ease-out-precise),
    opacity var(--duration-micro) var(--ease-out-precise);
}
/* ——— Home choreography (transform / opacity only) ——— */
html.js-anim #accroche[data-reveal] {
  transform: translateY(18px);
  transition-duration: 1120ms;
}
html.js-anim #accroche[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim #resultats .section__head[data-reveal] {
  transform: translateY(14px);
  transition-duration: 960ms;
}
html.js-anim #resultats .section__head[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim #resultats .results-item[data-reveal] {
  transform: translateY(26px);
  transition-duration: 1080ms;
}
html.js-anim #resultats .results-item[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim #resultats .results-item[data-reveal]::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 2.75rem;
  height: var(--hairline, 1px);
  background: var(--color-bronze);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform calc(var(--sk-reveal-duration) + 160ms) var(--ease-draw);
  transition-delay: var(--reveal-delay, 0ms);
  pointer-events: none;
}
html.js-anim #resultats .results-item[data-reveal].is-inview::after {
  transform: scaleX(1);
}
html.js-anim #resultats .results-item[data-reveal] .results-item__index {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 720ms var(--sk-reveal-ease),
    transform 720ms var(--sk-reveal-ease);
  transition-delay: var(--reveal-delay, 0ms);
}
html.js-anim #resultats .results-item[data-reveal].is-inview .results-item__index {
  opacity: 1;
  transform: translateY(0);
}
html.js-anim #prise-en-charge .section__head[data-reveal] {
  transform: translateY(16px);
  transition-duration: 1000ms;
}
html.js-anim #prise-en-charge .section__head[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim #prise-en-charge .care-item[data-reveal] {
  position: relative;
  transform: translateY(30px);
  transition-duration: 1180ms;
}
html.js-anim #prise-en-charge .care-item[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim #prise-en-charge .care-item[data-reveal]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.25rem;
  height: var(--hairline, 1px);
  background: var(--color-bronze);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 980ms var(--ease-draw);
  transition-delay: var(--reveal-delay, 0ms);
  pointer-events: none;
}
html.js-anim #prise-en-charge .care-item[data-reveal].is-inview::after {
  transform: scaleX(1);
}
html.js-anim #studio .trust-human__lead[data-reveal] {
  transform: translate3d(-18px, 0, 0);
  transition-duration: 1100ms;
}
html.js-anim #studio .trust-human__lead[data-reveal].is-inview {
  transform: translate3d(0, 0, 0);
}
html.js-anim #studio .trust-human__body[data-reveal] {
  transform: translateY(20px);
  transition-duration: 1180ms;
  transition-delay: 140ms;
}
html.js-anim #studio .trust-human__body[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim .closing--home[data-reveal] {
  transform: translateY(36px);
  transition-duration: 1240ms;
}
html.js-anim .closing--home[data-reveal].is-inview {
  transform: translateY(0);
}
html.js-anim .closing--home[data-reveal] .closing__copy,
html.js-anim .closing--home[data-reveal] .closing__routes {
  opacity: 0;
  transform: translateY(14px);
  transition:
    opacity 1000ms var(--sk-reveal-ease),
    transform 1000ms var(--sk-reveal-ease);
}
html.js-anim .closing--home[data-reveal].is-inview .closing__copy {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 90ms;
}
html.js-anim .closing--home[data-reveal].is-inview .closing__routes {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 240ms;
}
/* Short bronze caliber — no extra flow height */
html.js-anim [data-page="home"] [data-sk-band]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5.5rem;
  height: var(--hairline, 1px);
  background: var(--color-bronze);
  transform: scaleX(var(--sk-band-p, 0));
  transform-origin: left center;
  opacity: 0.8;
  pointer-events: none;
}

/*
 * Hard fail-safe (motion.js watchdog / boot error): nothing may stay hidden
 * because is-ready / is-inview never arrived. Animations are cancelled so
 * content is visible instantly; normal path keeps entrance choreography.
 */
html.sk-motion-failsafe .hero__visual,
html.sk-motion-failsafe .hero--home .hero-mark-img,
html.sk-motion-failsafe .hero__copy > *,
html.sk-motion-failsafe .hero__frame,
html.sk-motion-failsafe .hero__annotate,
html.sk-motion-failsafe [data-reveal],
html.sk-motion-failsafe .closing--home[data-reveal] .closing__copy,
html.sk-motion-failsafe .closing--home[data-reveal] .closing__routes,
html.sk-motion-failsafe #resultats .results-item[data-reveal] .results-item__index {
  opacity: 1 !important;
  transform: none !important;
  clip-path: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  animation: none !important;
  transition: none !important;
}
