/*
 * Maison Saint-Martin — Atlas BRAME V2.108
 * Autorité CSS unique.
 *
 * Règle de maintenance :
 * - une déclaration canonique par responsabilité ;
 * - aucune strate de correctifs de version ;
 * - desktop et mobile ne divergent que lorsque la composition l’exige.
 */

:root {
  --msmv2-bg-desktop: rgb(248, 246, 239);
  --msmv2-bg-mobile: rgb(249, 247, 242);
  --msmv2-header-desktop: rgb(243, 242, 239);
  --msmv2-header-mobile: rgba(241, 240, 235, .72);
  --msmv2-ink: rgba(23, 21, 19, .84);
  --msmv2-ink-soft: rgba(23, 21, 19, .56);
  --msmv2-ink-faint: rgba(23, 21, 19, .31);
  --msmv2-line: rgba(23, 21, 19, .075);
  --msmv2-header-h: 80px;
  --msmv2-ease: cubic-bezier(.19, 1, .22, 1);
  --msmv2-ease-soft: cubic-bezier(.22, .61, .36, 1);
  --msmv2-sans: InterVariable, Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --msmv2-serif: "Cormorant Garamond", Garamond, Georgia, serif;
}

html.msmv2-running {
  margin-top: 0 !important;
  overscroll-behavior: none;
}

html.msmv2-running #wpadminbar {
  display: none !important;
}

body.msmv2-lab-active {
  margin: 0;
  overflow: hidden !important;
  overscroll-behavior: none;
  background: var(--msmv2-bg-desktop) !important;
}

body.msmv2-lab-active footer,
body.msmv2-lab-active .site-footer,
body.msmv2-lab-active #footer,
body.msmv2-lab-active .elementor-location-footer {
  display: none !important;
}

body.msmv2-lab-active #msm-atlas-brame-v2-host {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.msmv2-lab-active #msm-atlas-brame-v2-host > .e-con-inner,
body.msmv2-lab-active #msm-atlas-brame-v2-host .elementor-widget-shortcode,
body.msmv2-lab-active #msm-atlas-brame-v2-host .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Header : rendu final de référence, avec une seule surface. */
body.msmv2-lab-active #header-main,
body.msmv2-lab-active #show-hide-header-tablette {
  background: var(--msmv2-header-desktop) !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid rgba(23, 21, 19, .065) !important;
  box-shadow: none !important;
  filter: none !important;
  transition:
    transform 600ms var(--msmv2-ease),
    opacity 600ms var(--msmv2-ease),
    visibility 0s linear 0s !important;
}

body.msmv2-lab-active #header-main::before,
body.msmv2-lab-active #header-main::after,
body.msmv2-lab-active #show-hide-header-tablette::before,
body.msmv2-lab-active #show-hide-header-tablette::after {
  content: none !important;
  display: none !important;
}

body.msmv2-lab-active.msmv2-header-hidden #header-main,
body.msmv2-lab-active.msmv2-header-hidden #show-hide-header-tablette {
  transform: translate3d(0, -100%, 0) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Application. */
.msmv2-app {
  font-synthesis: none;
  --msmv2-image-filter: contrast(1.035) saturate(1.045);
  --msmv2-image-shadow: none;
  position: fixed;
  inset: 0;
  width: 100vw;
  height: auto;
  min-height: 0;
  overflow: hidden;
  background: var(--msmv2-bg-desktop);
  color: var(--msmv2-ink);
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: none;
  cursor: none;
  isolation: isolate;
}

.msmv2-app *,
.msmv2-app *::before,
.msmv2-app *::after {
  user-select: none;
  -webkit-user-select: none;
}

.msmv2-app a,
.msmv2-app img {
  -webkit-user-drag: none;
}

.msmv2-app.is-acquisition-native {
  touch-action: pan-y;
}

/* Neutralisation canonique de toute apparence native injectée par le thème/navigateur. */
.msmv2-app button,
.msmv2-app [role="button"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}

body.msmv2-fullscreen #header-main,
body.msmv2-fullscreen #show-hide-header-tablette {
  transform: translate3d(0, -100%, 0) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.msmv2-background,
.msmv2-background-product,
.msmv2-viewport {
  position: absolute;
  inset: 0;
}

.msmv2-background {
  z-index: 0;
  pointer-events: none;
  background-color: var(--msmv2-bg-desktop);
  background-image:
    radial-gradient(ellipse 80% 56% at 20% 14%, rgba(255, 255, 252, .34), rgba(255, 255, 252, 0) 68%),
    radial-gradient(ellipse 56% 44% at 80% 86%, rgba(116, 110, 100, .024), rgba(116, 110, 100, 0) 64%);
}

.msmv2-background-product {
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  opacity: .34;
}

.msmv2-background-product img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.msmv2-background-product::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(248, 246, 239, .10);
}

/* Le titre appartient au fond éditorial : les images passent au-dessus. */
.msmv2-announcement {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 3.3vw, 58px);
  top: calc(clamp(26px, 4.2vh, 58px) + 60px);
  pointer-events: none;
  transition: opacity 520ms ease;
}

body.msmv2-fullscreen .msmv2-announcement {
  top: calc(clamp(26px, 4.2vh, 58px) + 60px);
}

.msmv2-app.is-acquisition .msmv2-announcement {
  opacity: 0;
}

.msmv2-announcement-product,
.msmv2-announcement-variant {
  display: block;
  font-family: var(--msmv2-sans);
  font-style: normal;
  line-height: 1;
}

.msmv2-announcement-product {
  font-size: clamp(30.6px, 2.376vw, 38.88px);
  font-weight: 260;
  font-variation-settings: "wght" 260;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: rgba(28, 24, 20, .59);
}

.msmv2-announcement-variant {
  margin-top: 16px;
  font-size: clamp(14.95px, 1.288vw, 20.7px);
  font-weight: 300;
  font-variation-settings: "wght" 300;
  letter-spacing: .04em;
  color: rgba(28, 24, 20, .66);
}

.msmv2-viewport {
  z-index: 3;
  overflow: hidden;
  touch-action: none;
}
/* V2.89 — le fondu de scène ne peut agir que sous un panneau Acquisition entièrement installé. */
.msmv2-app.is-acquisition-native .msmv2-viewport.is-acquisition-variant-fading .msmv2-world { opacity: .36; }

.msmv2-world {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--msmv2-world-w, 168vw);
  height: var(--msmv2-world-h, 9000px);
  transform: translate3d(0, 0, 0);
  transform-origin: 0 0;
  will-change: transform;
  transition: opacity 340ms cubic-bezier(.22,.61,.36,1);
}

.msmv2-figure {
  position: absolute;
  margin: 0;
  padding: 0;
  opacity: 1;
  contain: layout paint;
}

.msmv2-media {
  position: relative;
  width: 100%;
  overflow: visible;
}

.msmv2-image {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  opacity: 0;
  transform: none;
  filter: var(--msmv2-image-filter);
  box-shadow: var(--msmv2-image-shadow);
  transition: opacity 720ms ease;
  backface-visibility: hidden;
}

.msmv2-image.is-ready {
  opacity: 1;
  transform: none;
}
.msmv2-image.is-critical-reveal-ready {
  opacity: 1 !important;
  transition: none !important;
}
/* V2.87 — aucun fondu global du world pendant le switch Acquisition.
   Le héros cible est préchargé pour éviter flash, disparition et latence artificielle. */

/* V2.67-DIAG — PREBUILT + comparaison ROUND / SUBPIXEL + viscosité d’ancre affinée · prime pré-frontière retirée : les ImageBitmap sont tous matérialisés sous voile.
   Pendant la promenade, seule une fenêtre N−1 / N / N+1 reçoit un backing store
   canvas. Le canvas conserve exactement le filtre et l'ombre CSS de la photo.
   L'<img> n'est masqué qu'une fois son canvas réellement prêt. */
.msmv2-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  filter: var(--msmv2-image-filter);
  box-shadow: var(--msmv2-image-shadow);
  backface-visibility: hidden;
}
.msmv2-app[data-diag-test="prebuilt-round"] .msmv2-canvas.is-active,
.msmv2-app[data-diag-test="prebuilt-subpixel"] .msmv2-canvas.is-active {
  opacity: 1;
  visibility: visible;
}
.msmv2-app[data-diag-test="prebuilt-round"] .msmv2-image.is-canvas-suppressed,
.msmv2-app[data-diag-test="prebuilt-subpixel"] .msmv2-image.is-canvas-suppressed {
  visibility: hidden !important;
}


body.msmv2-auto-active .msmv2-image {
  transition: opacity 720ms ease;
}


/* Géographie canonique du ruban. Les détails restent volontairement présents. */
.msmv2-figure[data-kind="hero"] {
  width: clamp(500px, 58vw, 980px);
}

.msmv2-figure[data-role="hero-1"] {
  width: clamp(540px, 62vw, 1040px);
}

.msmv2-figure[data-role="hero-2"],
.msmv2-figure[data-role="hero-4"] {
  width: clamp(470px, 53vw, 900px);
}

.msmv2-figure[data-role="hero-3"] {
  width: clamp(520px, 60vw, 1020px);
}

.msmv2-figure[data-role="hero-5"] {
  width: clamp(490px, 56vw, 950px);
}

.msmv2-figure[data-role="hero-final"] {
  width: clamp(510px, 59vw, 1000px);
}

.msmv2-figure[data-kind="detail"] {
  width: clamp(390px, 45vw, 760px);
}

.msmv2-figure[data-role="detail-2"] {
  width: clamp(432px, 50.4vw, 852px);
}

.msmv2-figure[data-role="detail-4"] {
  width: clamp(360px, 42vw, 710px);
}

.msmv2-figure[data-role="detail-3"],
.msmv2-figure[data-role="detail-6"] {
  width: clamp(420px, 49vw, 820px);
}

.msmv2-figure[data-role="detail-7"] {
  width: clamp(450px, 52vw, 870px);
}

.msmv2-cartel {
  position: absolute;
  top: var(--msmv2-cartel-y, 50%);
  width: clamp(160px, 16vw, 250px);
  transform: translateY(-50%);
  font-family: var(--msmv2-serif);
  font-size: clamp(11px, .82vw, 13px);
  font-weight: 300;
  line-height: 1.48;
  letter-spacing: .025em;
  color: rgba(23, 21, 19, .54);
  text-align: left;
  pointer-events: none;
}

.msmv2-cartel-kicker {
  display: block;
  margin-bottom: .72em;
  font-family: var(--msmv2-sans);
  font-size: .72em;
  font-weight: 400;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(23, 21, 19, .36);
}

.msmv2-cartel[data-side="left"] {
  right: calc(100% + 30px);
}

.msmv2-cartel[data-side="right"] {
  left: calc(100% + 30px);
}


.msmv2-announcement-product,
.msmv2-announcement-variant,
.msmv2-intro-text,
.msmv2-edge-portal-name,
.msmv2-veil-name,
.msmv2-acquisition-heading,
.msmv2-acquisition-product,
.msmv2-acquisition-variant,
.msmv2-acquisition-variant-button {
  font-family: var(--msmv2-sans);
  font-weight: 165;
  font-variation-settings: "wght" 165;
}

/* Laisser venir V2.73 : source et destination latérale ont chacun un rôle unique.
   Le texte latéral ne voyage jamais ; seul le trait source effectue la scénographie. */
.msmv2-side-button {
  position: absolute;
  left: clamp(14px, 2.2vw, 38px);
  bottom: calc(clamp(18px, 2.8vh, 44px) + 172px);
  z-index: 122;
  width: 30px;
  height: 206px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  cursor: none;
}
.msmv2-side-line {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 34px;
  background: rgba(20,18,16,.74);
  opacity: .74;
}
.msmv2-side-text {
  position: absolute;
  left: 0;
  bottom: 42px;
  display: block;
  width: max-content;
  font-family: var(--msmv2-sans);
  font-size: clamp(10.7712px, .83045vw, 13.9128px);
  font-weight: 165;
  font-variation-settings: "wght" 165;
  line-height: 1;
  letter-spacing: 2.34px;
  text-transform: uppercase;
  color: rgba(20,18,16,1);
  opacity: 0;
  visibility: hidden;
  transform: rotate(-90deg);
  transform-origin: left center;
  transition: opacity 760ms cubic-bezier(.22,.61,.36,1);
}
.msmv2-side-button.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.msmv2-side-button.is-visible .msmv2-side-line {
  animation: msmv2-side-line-breathe 12.4s cubic-bezier(.42,0,.58,1) infinite;
}
.msmv2-side-button.is-born .msmv2-side-text {
  opacity: 1;
  visibility: visible;
  animation: msmv2-side-text-breathe 12.4s cubic-bezier(.42,0,.58,1) infinite;
}
@keyframes msmv2-side-line-breathe {
  0%,100% { height: 34px; opacity: .48; }
  49.6%,50.4% { height: 58px; opacity: .74; }
}
@keyframes msmv2-side-text-breathe {
  0%,100% { bottom: 42px; letter-spacing: 2.34px; }
  49.6%,50.4% { bottom: 66px; letter-spacing: 5.52px; }
}

/* Variateur de vitesse : le rail reprend exactement le segment final du trait, puis monte lentement. */
.msmv2-speed-control {
  --msmv2-speed-position: 40%;
  --msmv2-speed-deploy-ms: 1140ms;
  --msmv2-speed-knob-delay-ms: 1220ms;
  position: absolute;
  left: calc(clamp(14px, 2.2vw, 38px) - 28px);
  bottom: calc(clamp(18px, 2.8vh, 44px) + 160px);
  z-index: 121;
  width: 76px;
  height: 178px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  touch-action: none;
  cursor: none;
  transition: opacity 520ms var(--msmv2-ease), visibility 0s linear 520ms;
}
.msmv2-speed-control.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}
.msmv2-speed-rail {
  position: absolute;
  left: 28px;
  top: 14px;
  width: 1px;
  height: 152px;
  background: rgba(20,18,16,.62);
  opacity: .62;
  transform: scaleY(0);
  transform-origin: center bottom;
  transition: transform var(--msmv2-speed-deploy-ms) cubic-bezier(.18,.02,.16,1);
}
.msmv2-speed-control.is-visible .msmv2-speed-rail { transform: scaleY(1); }
.msmv2-speed-control.is-handoff {
  opacity: 1;
  visibility: visible;
  transition: none;
}
.msmv2-speed-control.is-handoff .msmv2-speed-rail {
  transform: scaleY(var(--msmv2-speed-handoff-scale, .22));
  transition: none;
}
.msmv2-speed-knob {
  position: absolute;
  left: calc(100% + 1px);
  bottom: var(--msmv2-speed-position);
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(20,18,16,.92);
  transform: translateY(50%) scale(.72);
  opacity: 0;
  transition:
    opacity 940ms cubic-bezier(.22,.61,.36,1) var(--msmv2-speed-knob-delay-ms),
    transform 760ms cubic-bezier(.22,.61,.36,1) var(--msmv2-speed-knob-delay-ms);
}
.msmv2-speed-control.is-visible .msmv2-speed-knob {
  opacity: 1;
  transform: translateY(50%) scale(1);
}
.msmv2-speed-value {
  position: absolute;
  left: 41px;
  top: 50%;
  transform: translateY(-50%);
  min-width: 30px;
  font-family: "Times New Roman", Times, serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  color: rgba(20,18,16,.58);
  opacity: 0;
  transition: opacity 240ms ease;
}
.msmv2-speed-control.is-active .msmv2-speed-value { opacity: 1; }
body.msmv2-auto-control-engaged .msmv2-intro,
body.msmv2-auto-control-engaged .msmv2-intro-button,
body.msmv2-auto-control-engaged .msmv2-side-button,
body.msmv2-auto-inspecting .msmv2-speed-control,
body.msmv2-auto-rejoining .msmv2-speed-control,
.msmv2-app.is-acquisition .msmv2-speed-control,
.msmv2-app.is-acquisition .msmv2-side-button,
.msmv2-app.is-acquisition .msmv2-intro,
.msmv2-app.is-acquisition .msmv2-intro-button {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Le voile domine naturellement ; tous les contrôles sont déjà montés derrière lui. */
body.msmv2-veil-active .msmv2-speed-control,
body.msmv2-veil-active .msmv2-side-button,
body.msmv2-veil-active .msmv2-intro,
body.msmv2-veil-active .msmv2-intro-button {
  pointer-events: none !important;
}

.msmv2-intro {
  position: absolute;
  left: 0;
  top: clamp(210px, 36vh, 398px);
  z-index: 65000;
  width: min(74vw, 1040px);
  height: clamp(62px, 9.4vh, 96px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  overflow: hidden;
  border-radius: 0 8px 8px 0;
  background: linear-gradient(90deg,rgb(239,237,231) 0%,rgb(237,235,229) 12%,rgb(234,232,225) 33%,rgb(232,230,223) 70%,rgb(235,233,226) 100%);
  box-shadow: inset 0 16px 40px -40px rgba(58,47,35,.13), inset 0 -16px 40px -40px rgba(58,47,35,.13), inset -78px 0 130px -110px rgba(58,47,35,.11);
  pointer-events: none;
  transform-origin: left center;
  will-change: transform, opacity;
  transform: translate3d(0,0,0);
}
.msmv2-intro-button {
  appearance: none;
  -webkit-appearance: none;
  position: fixed;
  left: auto;
  right: auto;
  top: 0;
  z-index: 65020;
  width: auto;
  height: 26px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: rgba(20, 18, 16, .84);
  pointer-events: auto;
  cursor: none;
  transform: translate3d(0,0,0);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.msmv2-intro-button:hover,
.msmv2-intro-button:focus,
.msmv2-intro-button:focus-visible,
.msmv2-intro-button:active {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
.msmv2-intro-inner { position: relative; display: inline-flex; align-items: center; justify-content: flex-start; width: 100%; gap: 16px; min-height: 20px; }
.msmv2-intro-line {
  order: 1;
  display: block;
  width: clamp(72px, 6.4vw, 130px);
  height: 1px;
  flex: 0 0 auto;
  background: rgba(20, 18, 16, .69);
  opacity: .69;
  transform-origin: left center;
  animation: msmv2-intro-line-breathe 8.25s cubic-bezier(.42,0,.58,1) infinite;
  animation-play-state: paused;
}
.msmv2-intro-text {
  order: 2;
  display: block;
  white-space: nowrap;
  font-family: var(--msmv2-sans);
  font-size: clamp(9.82px, .7658vw, 12.76px);
  font-weight: 165;
  font-variation-settings: "wght" 165;
  line-height: 1;
  letter-spacing: .285em;
  text-transform: uppercase;
  color: rgba(18, 16, 14, 1);
  opacity: 1;
  animation: msmv2-intro-text-breathe 8.25s cubic-bezier(.42,0,.58,1) infinite;
  animation-play-state: paused;
}
.msmv2-intro-button.is-live .msmv2-intro-line,
.msmv2-intro-button.is-live .msmv2-intro-text { animation-play-state: running; }
.msmv2-intro-button.is-max-probe { width: auto !important; }
.msmv2-intro-button.is-max-probe .msmv2-intro-inner { width: max-content !important; }
.msmv2-intro-button.is-max-probe .msmv2-intro-line {
  animation: none !important;
  width: clamp(104px, 8.3vw, 130px) !important;
}
.msmv2-intro-button.is-max-probe .msmv2-intro-text {
  animation: none !important;
  letter-spacing: .435em !important;
}
@keyframes msmv2-intro-line-breathe {
  0%,100% { width: clamp(72px, 6.4vw, 104px); }
  49.4%,50.6% { width: clamp(104px, 8.3vw, 130px); }
}
@keyframes msmv2-intro-text-breathe {
  0%,100% { letter-spacing: .285em; }
  49.4%,50.6% { letter-spacing: .435em; }
}
.msmv2-intro-button.is-retire-ready .msmv2-intro-line { width: clamp(104px, 8.3vw, 130px) !important; }
.msmv2-intro-button.is-retire-ready .msmv2-intro-text { letter-spacing: .435em !important; }
.msmv2-intro.is-migrating {
  animation: msmv2-intro-retire 1900ms cubic-bezier(.24,.02,.16,1) 110ms forwards;
}
@keyframes msmv2-intro-retire {
  0% { transform: translate3d(0,0,0); opacity: 1; }
  100% { transform: translate3d(-102%,0,0); opacity: 0; }
}
.msmv2-intro.is-retired { display: none; }

.msmv2-intro-button.is-migrating-object {
  box-sizing: border-box;
  will-change: transform;
  appearance: none;
  -webkit-appearance: none;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: rgba(20,18,16,.84);
}
.msmv2-intro-button.is-migrating-object .msmv2-intro-inner { position: relative; display: inline-flex; align-items: center; justify-content: flex-start; width: 100%; gap: 16px; }
.msmv2-intro-button,
.msmv2-intro-button.is-migrating-object { display: flex; align-items: center; }
.msmv2-intro-inner,
.msmv2-intro-button.is-migrating-object .msmv2-intro-inner { height: 100%; align-items: center; }



/* Curseur couture : un seul SVG, animé dans la RAF centrale. */
.msmv2-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 2147483647;
  width: 44px;
  height: 50px;
  pointer-events: none;
  isolation: isolate;
  opacity: 0;
  transform-origin: 0 0;
  transition: opacity 520ms cubic-bezier(.22,.61,.36,1);
}
.msmv2-cursor.is-visible { opacity: 1; }
.msmv2-cursor svg { display:block; width:100%; height:100%; overflow:visible; }
.msmv2-cursor-arrow,
.msmv2-cursor-thread { fill:none; stroke:rgba(26,23,20,.78); stroke-width:1.46; stroke-linecap:round; stroke-linejoin:round; }
.msmv2-cursor-arrow-light,
.msmv2-cursor-thread-light { fill:none; stroke:rgba(255,255,252,.72); stroke-width:2.68; stroke-linecap:round; stroke-linejoin:round; opacity:.46; }
.msmv2-cursor-thread,
.msmv2-cursor-thread-light { stroke-dasharray: 1; stroke-dashoffset: 1; }
.msmv2-cursor.is-visible .msmv2-cursor-thread {
  animation: msmv2-cursor-thread-birth 760ms cubic-bezier(.19,1,.22,1) both;
}
.msmv2-cursor.is-visible .msmv2-cursor-thread-light {
  animation: msmv2-cursor-thread-light-birth 760ms cubic-bezier(.19,1,.22,1) both;
}
.msmv2-cursor.is-visible .msmv2-cursor-arrow,
.msmv2-cursor.is-visible .msmv2-cursor-point {
  animation: msmv2-cursor-head-birth 520ms ease both;
}
.msmv2-cursor.is-visible .msmv2-cursor-arrow-light {
  animation: msmv2-cursor-head-light-birth 520ms ease both;
}
@keyframes msmv2-cursor-thread-birth {
  from { stroke-dashoffset: 1; opacity: 0; }
  to { stroke-dashoffset: 0; opacity: 1; }
}
@keyframes msmv2-cursor-thread-light-birth {
  from { stroke-dashoffset: 1; opacity: 0; }
  to { stroke-dashoffset: 0; opacity: .46; }
}
@keyframes msmv2-cursor-head-birth {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes msmv2-cursor-head-light-birth {
  from { opacity: 0; }
  to { opacity: .46; }
}
.msmv2-cursor-point { fill:rgba(26,23,20,.72); }
.msmv2-cursor.is-link .msmv2-cursor-thread,
.msmv2-cursor.is-dragging .msmv2-cursor-thread { stroke-width:1.64; }
body.msmv2-cursor-active,
body.msmv2-cursor-active a,
body.msmv2-cursor-active button,
body.msmv2-cursor-active .msmv2-app,
body.msmv2-cursor-active .msmv2-app * { cursor:none !important; }
body.msmv2-zoom-active .msmv2-cursor,
body.msmv2-zoom-returning .msmv2-cursor,
body.msmv2-veil-active .msmv2-cursor { opacity:0 !important; }

/* Seuils latéraux : voisin suggéré, jamais réellement monté hors écran. */
.msmv2-edge-portal {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 70010;
  width: 0;
  overflow: hidden;
  opacity: 1;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--msmv2-bg-desktop);
  box-shadow: none;
  will-change: width;
}

.msmv2-edge-portal.is-active:not(.is-disabled) {
  pointer-events: auto;
}

.msmv2-edge-portal-prev {
  left: 0;
}

.msmv2-edge-portal-next {
  right: 0;
}

.msmv2-edge-portal-name {
  display: block;
  white-space: nowrap;
  font-family: var(--msmv2-sans);
  font-size: clamp(15.84px, 1.2672vw, 20.16px);
  font-weight: 165;
  font-variation-settings: "wght" 165;
  letter-spacing: .08em;
  color: rgba(20, 18, 16, .80);
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  transform: none;
  opacity: .985;
}

.msmv2-edge-portal-next .msmv2-edge-portal-name {
  transform: none;
}

.msmv2-edge-portal.is-committing {
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(
      ellipse 78% 54% at 50% 47%,
      rgb(249, 247, 240) 0%,
      rgb(248, 246, 239) 58%,
      rgb(247, 245, 238) 100%
    );
  transition:
    width 560ms cubic-bezier(.32, .02, .24, 1),
    opacity 300ms ease;
}

.msmv2-edge-portal.is-committing .msmv2-edge-portal-name {
  writing-mode: horizontal-tb;
  transform: none;
  font-size: clamp(40.32px, 4.032vw, 66.24px);
  letter-spacing: 0;
  color: rgba(20, 18, 16, .82);
  transition: font-size 560ms var(--msmv2-ease), color 560ms ease;
}

.msmv2-edge-portal.is-hiding {
  transition: opacity 760ms var(--msmv2-ease-soft);
}

/* Voile automatique : une seule autorité pour les transitions de scène. */
.msmv2-veil {
  position: absolute;
  inset: 0;
  z-index: 70000;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  background:
    radial-gradient(
      ellipse 78% 54% at 50% 47%,
      rgb(249, 247, 240) 0%,
      rgb(248, 246, 239) 56%,
      rgb(247, 245, 238) 100%
    );
  transition: opacity 760ms var(--msmv2-ease-soft), visibility 0s linear 760ms;
}

.msmv2-veil.is-visible {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 300ms var(--msmv2-ease-soft), visibility 0s linear 0s;
}

/* V2.37C — filet de sécurité indépendant du JS : le tout premier voile
   s'efface de lui-même si l'initialisation JS s'interrompt avant sa libération. */
.msmv2-veil.is-initial.is-visible {
  animation: msmv2-initial-veil-failsafe 760ms var(--msmv2-ease-soft) 15s forwards;
}

@keyframes msmv2-initial-veil-failsafe {
  0% { opacity: 1; visibility: visible; pointer-events: auto; }
  99% { opacity: 0; visibility: visible; pointer-events: none; }
  100% { opacity: 0; visibility: hidden; pointer-events: none; }
}

.msmv2-veil-name {
  max-width: 92vw;
  font-family: var(--msmv2-sans);
  font-size: clamp(40.32px, 4.032vw, 66.24px);
  font-weight: 165;
  font-variation-settings: "wght" 165;
  letter-spacing: 0;
  color: rgba(20, 18, 16, .82);
  white-space: nowrap;
  opacity: 0;
  transition: opacity 680ms var(--msmv2-ease-soft);
}

.msmv2-veil.is-visible .msmv2-veil-name {
  opacity: 1;
}

/* Acquisition : continuité cinématique V2, langage visuel repris de D28AA. */
.msmv2-acquisition {
  position: absolute;
  inset: 0;
  z-index: 100;
  display: block;
  overflow-x: hidden;
  overflow-y: hidden;
  scrollbar-width: none;
  overscroll-behavior: contain;
  background: var(--msmv2-bg-desktop);
  visibility: hidden;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  -webkit-overflow-scrolling: auto;
  overflow-anchor: none;
  transform: translate3d(0,100%,0);
  will-change: transform;
}
.msmv2-acquisition::-webkit-scrollbar { display: none; }
.msmv2-acquisition.is-engaged { visibility: visible; pointer-events: auto; }
.msmv2-acquisition.is-visible { overflow-y: auto; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
/* V2.79 — pendant un switch de variante, le viewport interne Acquisition ne doit
   accepter aucun réajustement natif de scroll/focus. */
.msmv2-acquisition-content {
  position: relative;
  width: min(94vw, 1180px);
  min-height: 100%;
  margin: 0 auto;
  padding: clamp(70px, 8.5vh, 108px) 0 32px;
  text-align: center;
}
.msmv2-acquisition-primary-wrap {
  position: relative;
  width: min(80%, 940px);
  min-height: 0;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: calc(clamp(250px, 31vh, 330px) - 80px) 0 clamp(185px, 21vh, 245px);
  box-sizing: border-box;
}
.msmv2-acquisition-primary {
  --msmv2-acq-row-heading: clamp(49px,4.896vw,74.88px);
  --msmv2-acq-row-price: clamp(29px,2.7025vw,40.25px);
  --msmv2-acq-row-link: calc(clamp(16.53125px,1.29vw,19.8375px) + 13px);
  --msmv2-acq-gap: clamp(76px,5.35vw,90px);
  --msmv2-acq-gap-info: clamp(34px,4.6vh,54px);
  width: min(100%,680px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  grid-template-rows:
    var(--msmv2-acq-row-heading)
    var(--msmv2-acq-gap)
    var(--msmv2-acq-row-price)
    var(--msmv2-acq-gap)
    var(--msmv2-acq-row-link)
    var(--msmv2-acq-gap-info)
    minmax(0,auto);
  align-content: start;
  justify-items: center;
  line-height: 1;
  text-align: center;
}
.msmv2-acquisition-heading { grid-row: 1; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); justify-content: center; align-items: baseline; column-gap: clamp(10px, .95vw, 15px); width: min(100%,680px); height: var(--msmv2-acq-row-heading); min-height: var(--msmv2-acq-row-heading); margin: 0 auto; overflow: visible; overflow-anchor: none; font-family: var(--msmv2-sans); color: rgba(23,21,19,.80); }
.msmv2-acquisition-heading-separator { justify-self: center; line-height: 1.2; }
.msmv2-acquisition-product { justify-self: end; text-align: right; padding-right: 0; font-size: clamp(40.8px, 4.08vw, 62.4px); font-weight: 165; font-variation-settings: "wght" 165; line-height: 1.2; letter-spacing: .008em; }
.msmv2-acquisition-heading-separator { font-size: clamp(22px, 2.2vw, 36px); font-weight: 300; color: rgba(23,21,19,.45); }
.msmv2-acquisition-variant { justify-self: start; min-width: clamp(132px, 16vw, 214px); padding-left: 0; text-align: left; white-space: nowrap; font-size: clamp(20.412px, 2.0412vw, 31.104px); font-weight: 165; font-variation-settings: "wght" 165; line-height: 1.2; color: rgba(23,21,19,.60); }
.msmv2-acquisition-price { grid-row: 3; display: flex; align-items: center; justify-content: center; height: var(--msmv2-acq-row-price); margin-top: 0; font-family: var(--msmv2-sans); font-size: clamp(25px, 2.35vw, 35px); font-weight: 165; font-variation-settings: "wght" 165; line-height: 1.15; color: rgba(23,21,19,.745); overflow: visible; }
.msmv2-acquisition-price .woocommerce-Price-amount,
.msmv2-acquisition-price .amount,
.msmv2-acquisition-price bdi,
.msmv2-acquisition-price ins,
.msmv2-acquisition-price del,
.msmv2-acquisition-price small,
.msmv2-acquisition-price span { font: inherit !important; line-height: inherit !important; color: inherit !important; margin: 0 !important; padding: 0 !important; }
.msmv2-acquisition-price p { margin: 0 !important; padding: 0 !important; line-height: inherit !important; }
.msmv2-acquisition-link { grid-row: 5; position: relative; display: inline-flex; align-items: center; justify-content: center; height: var(--msmv2-acq-row-link); box-sizing: border-box; margin-top: 0; padding: 7px 0 6px; border-bottom: 0; font-family: var(--msmv2-sans); font-size: clamp(13.225px, 1.032vw, 15.87px); font-weight: 400; line-height: 1.25; letter-spacing: .34em; text-transform: uppercase; color: rgba(23,21,19,.74); text-decoration: none !important; transition: color 850ms ease; }
.msmv2-acquisition-link::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: currentColor; opacity: 0; transform: scaleY(.5); transform-origin: left center; transition: width 1900ms cubic-bezier(.19,1,.22,1), opacity 1600ms ease; }
.msmv2-acquisition-link:hover,
.msmv2-acquisition-link:focus-visible { color: rgba(23,21,19,.80); outline: 0; text-decoration: none !important; }
.msmv2-acquisition-link:hover::after,
.msmv2-acquisition-link:focus-visible::after { width: calc(100% + 30px); opacity: 1; }

.msmv2-acquisition-variants {
  --msmv2-variant-count: 2;
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(var(--msmv2-variant-count), minmax(0,1fr));
  align-items: end;
  width: min(92vw,1100px);
  margin: 0 auto;
  padding: 0 0 11px;
  box-sizing: border-box;
}
.msmv2-acquisition-variants::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(23,21,19,.105);
  transform: scaleY(.5);
  transform-origin: center;
  pointer-events: none;
}
.msmv2-acquisition-variant-button {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  padding: 0 clamp(5px,.8vw,12px) 8px;
  border: 0;
  outline: 0;
  background: transparent;
  color: rgba(23,21,19,.40);
  font-family: var(--msmv2-sans);
  font-size: clamp(12.096px,.9408vw,15.904px);
  font-weight: 165;
  font-variation-settings: "wght" 165;
  letter-spacing: .19em;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  cursor: none;
  transition: color 980ms ease, opacity 980ms ease;
}
.msmv2-acquisition-variant-button::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: -11px;
  height: 1px;
  background: rgba(23,21,19,.62);
  opacity: 0;
  transform: scaleX(.42) scaleY(.5);
  transform-origin: center;
  transition: opacity 850ms ease, transform 1250ms cubic-bezier(.19,1,.22,1);
  pointer-events: none;
}
.msmv2-acquisition-variant-label { position: relative; display: inline-block; max-width: 100%; white-space: normal; }
.msmv2-acquisition-variant-label::after { content: none; }
.msmv2-acquisition-variant-button.is-selected { color: rgba(23,21,19,.76); }
.msmv2-acquisition-variant-button.is-selected::after { opacity: 1; transform: scaleX(1) scaleY(.5); }
.msmv2-acquisition-variant-button:not(.is-selected):hover,
.msmv2-acquisition-variant-button:not(.is-selected):focus-visible { color: rgba(23,21,19,.56); }


/* Informations de la pièce : structure publique 01–05, sans encadré ni axe vertical. */
.msmv2-info { grid-row: 7; width: min(57.2vw, 572px); margin: 0 auto; color: rgba(23,21,19,.78); }
.msmv2-info-toggle { appearance: none; -webkit-appearance: none; display: inline-grid; grid-template-columns: auto auto; align-items: start; justify-content: center; column-gap: 8px; width: auto; margin: 0 auto; padding: 0; border: 0; outline: 0; background: transparent; color: rgba(23,21,19,.55); cursor: none; }
.msmv2-info-label { font-family: var(--msmv2-serif); font-size: clamp(15.972px, 1.27776vw, 19.80528px); font-weight: 300; font-style: italic; line-height: 1.05; letter-spacing: .018em; text-transform: none; white-space: nowrap; }
.msmv2-info-sign { display: inline-flex; align-items: center; justify-content: center; font-family: var(--msmv2-serif); font-size: clamp(17.5692px, 1.40602vw, 22.3608px); font-weight: 300; line-height: 1; color: rgba(23,21,19,.43); transform: translateY(-4px); }
.msmv2-info-panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 900ms var(--msmv2-ease), opacity 720ms ease; }
.msmv2-info.is-open .msmv2-info-panel { grid-template-rows: 1fr; opacity: 1; }
.msmv2-info-panel-inner { min-height: 0; overflow: hidden; width: 100%; margin-inline: auto; padding-top: calc(clamp(18px, 2.35vh, 28px) + 20px); text-align: left; }
.msmv2-info-structure { width: 100%; border: 0; }
.msmv2-info-section { position: relative; display: grid; grid-template-columns: minmax(101px,.25fr) minmax(0,1fr); column-gap: clamp(40px,4.18vw,55px); align-items: baseline; padding: clamp(22px,2.7vh,34px) 0; border-top: 1px solid rgba(30,27,23,.12); }
.msmv2-info-section:last-child { border-bottom: 1px solid rgba(30,27,23,.12); }
.msmv2-info-section-header { display: grid; grid-template-columns: 23px minmax(0,1fr); align-items: baseline; column-gap: 9px; margin-bottom: 4px; }
.msmv2-info-index { font-family: var(--msmv2-sans); font-size: clamp(10.3488px,.6357vw,11.8272px); letter-spacing: .09em; color: rgba(27,24,20,.36); }
.msmv2-info-kicker { font-family: var(--msmv2-sans); font-size: clamp(10.64448px,.680064vw,12.41856px); font-weight: 450; letter-spacing: .19em; text-transform: uppercase; color: rgba(27,24,20,.58); white-space: nowrap; }
.msmv2-info-section-content { align-self: baseline; font-family: var(--msmv2-serif); font-size: clamp(16.55808px,1.079232vw,19.2192px); font-weight: 300; line-height: 1.52; color: rgba(27,24,20,.88); }
.msmv2-info-editorial-line + .msmv2-info-editorial-line { margin-top: 14px; }
.msmv2-info-measures { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(15px,2vw,26px); row-gap: 11px; }
.msmv2-info-measure { display: grid; grid-template-columns: minmax(54px,auto) minmax(72px,1fr); column-gap: 7px; align-items: baseline; }
.msmv2-info-measure-label { font-family: var(--msmv2-serif); font-size: clamp(12.8532096px,.82627776vw,15.05661696px); letter-spacing: .05em; color: rgba(27,24,20,.56); }
.msmv2-info-measure-value { font-family: var(--msmv2-serif); font-size: clamp(16.55808px,1.079232vw,19.2192px); line-height: 1.2; white-space: nowrap; }
.msmv2-info-links { display: flex; justify-content: center; align-items: center; gap: calc(clamp(20px,2.7vw,34px) + 10px); margin-top: clamp(43px,5.8vh,50px); }
.msmv2-info-links a { position: relative; display: inline-block; padding: 5px 0 11px; font-family: var(--msmv2-sans); font-size: clamp(10.56px,.7128vw,12.54px); font-weight: 195; font-variation-settings: "wght" 195; letter-spacing: .21em; text-transform: uppercase; color: rgba(23,21,19,1); text-decoration: none !important; box-shadow: none !important; border-bottom: 0 !important; background-image: none !important; -webkit-text-decoration: none !important; transition: color 1100ms ease; }
.msmv2-info-links a::after { content: ""; position: absolute; left: 0; bottom: 6px; width: 3.4em; max-width: 42%; height: 1px; background: currentColor; opacity: .7; transform: scaleY(.5); transform-origin: left center; transition: width 2400ms cubic-bezier(.19,1,.22,1), max-width 2400ms cubic-bezier(.19,1,.22,1), opacity 2200ms ease; }
.msmv2-info-links a:hover,
.msmv2-info-links a:focus-visible { color: rgba(23,21,19,1); outline: 0; text-decoration: none !important; box-shadow: none !important; border-bottom: 0 !important; background-image: none !important; }
.msmv2-info-links a:hover::after,
.msmv2-info-links a:focus-visible::after { width: 100%; max-width: 100%; opacity: .78; }
.msmv2-info-links a::before { content: none !important; display: none !important; }
.msmv2-info-links a,
.msmv2-info-links a:hover,
.msmv2-info-links a:focus-visible,
.msmv2-info-links a:active,
.msmv2-info-links a:visited { text-decoration: none !important; box-shadow: none !important; border-bottom: 0 !important; background-image: none !important; }

/* Collection BRAME : hiérarchie et rapport typographique de la version publique. */
.msmv2-collection { width: min(96vw,1220px); margin: 150px auto 0; }
.msmv2-collection::before { content: ""; display: block; width: clamp(58px,5vw,94px); height: 1px; margin: 0 auto calc(clamp(38px,4.8vh,62px) + 120px); background: rgba(23,21,19,.26); transform: scaleY(.5); }
.msmv2-collection-title { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; justify-content: center; column-gap: 0; margin: 0 0 calc(clamp(24px,4vh,48px) + 160px); font-family: var(--msmv2-sans); text-transform: uppercase; }
.msmv2-collection-title-soft { grid-column: 1; justify-self: end; margin-right: clamp(14px,2.6vw,34px); font-size: clamp(10.48px,.811vw,13.69px); font-weight: 450; letter-spacing: .24em; color: rgba(23,21,19,.46); transform: translate3d(36px,calc(.38em - 41px),0) scale(1.06); transform-origin: center; }
.msmv2-collection-title-strong { grid-column: 2; justify-self: center; font-size: clamp(52.99152px,4.664424vw,87.7044px); font-weight: 165; font-variation-settings: "wght" 165; line-height: .88; letter-spacing: .11em; color: rgba(23,21,19,.925); }
.msmv2-collection-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: end; width: min(calc(96vw - 120px),1040px); margin: 0 auto; column-gap: 20px; transform: translate3d(-90px,0,0); }
.msmv2-collection-piece { position: relative; display: grid; justify-items: center; align-self: end; gap: 16px; color: rgba(23,21,19,.76); text-decoration: none !important; transform: translate3d(var(--msmv2-collection-adjust-x,0px),calc(var(--msmv2-collection-y,0px) + var(--msmv2-collection-adjust-y,0px)),0); transition: color 700ms ease; }
.msmv2-collection-piece:nth-child(1),
.msmv2-collection-piece:nth-child(5) { --msmv2-collection-y: -30px; }
.msmv2-collection-piece:nth-child(2),
.msmv2-collection-piece:nth-child(4) { --msmv2-collection-y: 0px; }
.msmv2-collection-piece:nth-child(3) { --msmv2-collection-y: 30px; }
.msmv2-collection-piece--archer { --msmv2-collection-adjust-y: 125px; }
.msmv2-collection-piece--cerf { --msmv2-collection-adjust-y: 65px; }
.msmv2-collection-piece--equin { --msmv2-collection-adjust-y: 180px; --msmv2-collection-adjust-x: -29px; }
.msmv2-collection-piece--aiglon { --msmv2-collection-adjust-y: 147px; --msmv2-collection-adjust-x: 35px; }
.msmv2-collection-piece--elan { --msmv2-collection-adjust-y: 165px; --msmv2-collection-adjust-x: 60px; }
.msmv2-collection-piece--aplomb { --msmv2-collection-adjust-y: 125px; --msmv2-collection-adjust-x: 45px; }
.msmv2-collection-media { position: relative; display: block; width: clamp(132px,12.144vw,203.5px); transform-origin: center bottom; --msmv2-collection-clean-left: 0px; --msmv2-collection-clean-right: 0px; --msmv2-collection-clean-left-bg: rgb(248,246,239); --msmv2-collection-clean-right-bg: rgb(248,246,239); }
.msmv2-collection-media::before,
.msmv2-collection-media::after { content: ""; position: absolute; top: 0; bottom: 0; width: 0; pointer-events: none; z-index: 2; }
.msmv2-collection-media::before { left: 0; width: var(--msmv2-collection-clean-left); background: var(--msmv2-collection-clean-left-bg); }
.msmv2-collection-media::after { right: 0; width: var(--msmv2-collection-clean-right); background: var(--msmv2-collection-clean-right-bg); }
.msmv2-collection-piece--cerf .msmv2-collection-media { transform: scale(1.70016); --msmv2-collection-clean-left: 2px; --msmv2-collection-clean-left-bg: linear-gradient(to right, rgba(248,246,239,1) 0, rgba(248,246,239,0) 2px); }
.msmv2-collection-piece--archer .msmv2-collection-media { transform: translate3d(-15px,0,0) scale(1.6423); --msmv2-collection-clean-left: 0px; --msmv2-collection-clean-left-bg: rgb(248,246,239); }
.msmv2-collection-piece--equin .msmv2-collection-media { transform: translate3d(-20px,0,0) scale(2.0812); --msmv2-collection-clean-right: 2px; }
.msmv2-collection-piece--aiglon .msmv2-collection-media { transform: scale(1.738); --msmv2-collection-clean-right: 18px; }
.msmv2-collection-piece--elan .msmv2-collection-media { transform: scale(1.628); --msmv2-collection-clean-left: 15px; --msmv2-collection-clean-right: 15px; --msmv2-collection-clean-left-bg: linear-gradient(to right, rgb(248,246,239) 0 6px, rgba(248,246,239,1) 6px, rgba(248,246,239,0) 15px); }
.msmv2-collection-piece--aplomb .msmv2-collection-media { transform: scale(1.628); }
.msmv2-collection-image { display: block; width: 100%; height: auto; object-fit: contain; opacity: 0; transform: scale(1); transform-origin: center bottom; transition: opacity 720ms ease, transform 2200ms cubic-bezier(.19,1,.22,1); -webkit-mask-image: linear-gradient(to bottom,transparent 0,#000 55px,#000 calc(100% - 45px),transparent 100%); mask-image: linear-gradient(to bottom,transparent 0,#000 55px,#000 calc(100% - 45px),transparent 100%); }
.msmv2-collection-image.is-ready { opacity: 1; }
.msmv2-collection-hit { display: none; }
.msmv2-collection-name { position: relative; z-index: 2; font-family: var(--msmv2-sans); font-size: clamp(16.9653px,1.4186722vw,23.13344px); font-weight: 165; font-variation-settings: "wght" 165; color: rgba(23,21,19,.935); opacity: .972; white-space: nowrap; transform: translate3d(0,-35px,0); transition: opacity 1700ms cubic-bezier(.19,1,.22,1); }
.msmv2-collection-piece--equin .msmv2-collection-name { transform: translate3d(0,-60px,0); }
.msmv2-collection-piece:link,
.msmv2-collection-piece:visited,
.msmv2-collection-piece:hover,
.msmv2-collection-piece:active,
.msmv2-collection-piece:focus,
.msmv2-collection-piece:focus-visible {
  text-decoration: none !important;
}
.msmv2-collection-piece:hover,
.msmv2-collection-piece:focus-visible { color: rgba(23,21,19,.92); outline: 0; }
@media (min-width:768px) {
  .msmv2-collection-piece--equin { pointer-events: none; }
  .msmv2-collection-piece--equin .msmv2-collection-media,
  .msmv2-collection-piece--equin .msmv2-collection-name { pointer-events: none; }
  .msmv2-collection-piece--equin .msmv2-collection-hit {
    display: block;
    position: absolute;
    z-index: 6;
    left: 26px;
    right: -12px;
    top: -120px;
    bottom: -24px;
    pointer-events: auto;
  }
}
@media (hover:hover) and (pointer:fine) and (min-width:768px) {
  .msmv2-collection-piece:hover .msmv2-collection-image,
  .msmv2-collection-piece:focus-visible .msmv2-collection-image { transform: scale(1.016); }
  .msmv2-collection-piece:hover .msmv2-collection-name,
  .msmv2-collection-piece:focus-visible .msmv2-collection-name { opacity: 1; }
}


/* Signature Maison Saint-Martin et footer : proportions publiques, sans décalage artificiel. */
.msmv2-signature { margin: calc(clamp(220px,28vh,390px) + 150px) auto 0; text-align: center; }
.msmv2-signature::before { content: ""; display: block; width: clamp(74px,6.7vw,116px); height: 1px; margin: 0 auto calc(clamp(42px,5.6vh,68px) + 150px); background: linear-gradient(90deg,rgba(23,21,19,.26),rgba(23,21,19,.13) 52%,rgba(23,21,19,0)); transform: scaleY(.5); }
.msmv2-signature strong { display: block; font-family: var(--msmv2-sans); font-size: clamp(22.032px,2.3544vw,38.556px); font-weight: 240; font-variation-settings: "wght" 240; line-height: .95; letter-spacing: .12em; text-transform: uppercase; color: rgba(23,21,19,.83); white-space: nowrap; }
.msmv2-signature em { display: block; margin-top: calc(clamp(32px,4.2vh,50px) + 110px); transform: translate3d(30px,30px,0); font-family: var(--msmv2-serif); font-size: clamp(16.8px,1.2768vw,20.16px); font-weight: 300; font-style: italic; line-height: 1.82; color: rgba(23,21,19,.64); }
.msmv2-signature em span { display: block; }
.msmv2-signature em span + span { margin-top: 5px; }
.msmv2-acquisition-footer { display: flex; flex-flow: row nowrap; justify-content: center; align-items: baseline; width: 100%; max-width: 100%; margin: calc(clamp(210px,26vh,350px) + 90px) auto 0; padding: 0 10px 6px; box-sizing: border-box; text-align: center; white-space: nowrap; }
.msmv2-acquisition-footer-link { position: relative; padding: 5px 0; font-family: var(--msmv2-sans); font-size: clamp(9.12px,.72vw,11.28px); line-height: 1.35; letter-spacing: .12em; text-transform: uppercase; color: rgba(23,21,19,.60); text-decoration: none; transition: color 800ms ease; }
.msmv2-acquisition-footer-link:hover,
.msmv2-acquisition-footer-link:focus-visible { color: rgba(23,21,19,.80); outline: 0; }
.msmv2-acquisition-footer-separator { margin: 0 .62em; font-family: var(--msmv2-sans); font-size: clamp(9.12px,.72vw,11.28px); color: rgba(23,21,19,.28); }

.msmv2-fullscreen-close {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: fixed !important;
  z-index: 2147483645 !important;
  top: max(20px, calc(env(safe-area-inset-top,0px) + 18px)) !important;
  right: max(22px, calc(env(safe-area-inset-right,0px) + 20px)) !important;
  bottom: auto !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  font: inherit !important;
  text-indent: 0 !important;
  text-transform: none !important;
  border: 0 !important;
  border-radius: 999px !important;
  outline: 0 !important;
  background: rgba(234,232,225,.58) !important;
  -webkit-backdrop-filter: blur(14px) saturate(.98) !important;
  backdrop-filter: blur(14px) saturate(.98) !important;
  box-shadow: 0 8px 28px rgba(30,24,18,.055) !important;
  color: rgba(23,21,19,.68) !important;
  cursor: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  touch-action: manipulation !important;
  transition: opacity 520ms var(--msmv2-ease), color 520ms var(--msmv2-ease), transform 720ms var(--msmv2-ease) !important;
}

body.msmv2-fullscreen .msmv2-fullscreen-close {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body.msmv2-veil-active .msmv2-fullscreen-close {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.msmv2-fullscreen-close span,
.msmv2-fullscreen-close span::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 18px;
  height: 1px;
  background: currentColor;
  transform-origin: center center;
}

.msmv2-fullscreen-close span {
  transform: translate(-50%,-50%) rotate(45deg);
}

.msmv2-fullscreen-close span::before {
  transform: translate(-50%,-50%) rotate(90deg);
}

.msmv2-fullscreen-close:hover,
.msmv2-fullscreen-close:focus-visible {
  color: rgba(25,23,21,.78) !important;
  outline: 0 !important;
  transform: scale(1.04) !important;
}

.msmv2-empty,
.msmv2-error {
  position: absolute;
  z-index: 10;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font: 12px/1.4 var(--msmv2-sans);
  color: rgba(23, 21, 19, .50);
}

/* Inspection mobile au pincement. */
.msmv2-zoom-inspection {
  position: fixed;
  z-index: 2147482000;
  overflow: visible;
  pointer-events: none;
  transform-origin: center center;
  will-change: transform;
}
.msmv2-zoom-inspection.is-returning { transition:transform 1550ms cubic-bezier(.19,1,.22,1); }
.msmv2-zoom-layer { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; box-shadow:none !important; }
.msmv2-zoom-adaptive { opacity:1; }
.msmv2-zoom-native { opacity:0; transition:opacity 1600ms ease; }
.msmv2-zoom-native.is-native-ready { opacity:1; }
.msmv2-image.is-zoom-source-hidden,
.msmv2-canvas.is-zoom-source-hidden { visibility:hidden !important; }
body.msmv2-zoom-active .msmv2-app { pointer-events:none; touch-action:none; }
body.msmv2-zoom-returning .msmv2-app { pointer-events:auto; touch-action:none; }

/* Tablette. */

.msmv2-portal-prewarm {
  position: fixed;
  width: 1px;
  height: 1px;
  left: -10000px;
  top: -10000px;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}
.msmv2-portal-prewarm img { width: 1px; height: 1px; }

@media (max-width: 1024px) and (min-width: 768px) {
  .msmv2-figure[data-kind="hero"] {
    width: clamp(390px, 66vw, 740px);
  }

  .msmv2-figure[data-kind="detail"] {
    width: clamp(330px, 53vw, 610px);
  }
}

/* Mobile : même moteur, composition dédiée et fidélité D28AA pour les blocs éditoriaux. */
@media (max-width: 767px) {
  :root { --msmv2-header-h: 72px; }
  body.msmv2-lab-active { background: var(--msmv2-bg-mobile) !important; }
  body.msmv2-lab-active #header-main,
  body.msmv2-lab-active #show-hide-header-tablette { background: var(--msmv2-header-mobile) !important; background-image: none !important; backdrop-filter: blur(18px) saturate(104%) !important; -webkit-backdrop-filter: blur(18px) saturate(104%) !important; border-bottom: 1px solid rgba(23,21,19,.055) !important; box-shadow: none !important; }
  .msmv2-app { background: var(--msmv2-bg-mobile); }
  .msmv2-background { background-color: var(--msmv2-bg-mobile); }
  .msmv2-background-product { opacity: .18; }
  .msmv2-background-product::after { background: rgba(249,247,242,.10); }
  .msmv2-world { width: var(--msmv2-world-w,148vw); }

  .msmv2-figure[data-kind="hero"],
  .msmv2-figure[data-role="hero-1"],
  .msmv2-figure[data-role="hero-2"],
  .msmv2-figure[data-role="hero-3"],
  .msmv2-figure[data-role="hero-4"],
  .msmv2-figure[data-role="hero-5"],
  .msmv2-figure[data-role="hero-final"] { width: clamp(278px,86vw,470px); }
  .msmv2-figure[data-role="hero-1"],
  .msmv2-figure[data-role="hero-3"] { width: clamp(292px,91vw,494px); }
  .msmv2-figure[data-kind="detail"] { width: clamp(260px,80vw,430px); }
  .msmv2-figure[data-role="detail-2"],
  .msmv2-figure[data-role="detail-4"] { width: clamp(248px,77vw,414px); }
  .msmv2-figure[data-role="detail-3"],
  .msmv2-figure[data-role="detail-6"],
  .msmv2-figure[data-role="detail-7"] { width: clamp(276px,84vw,452px); }
  .msmv2-cartel { width: min(38vw,158px); font-size: clamp(10.5px,2.75vw,12px); }
  .msmv2-cartel[data-side="left"] { right: calc(100% + 17px); }
  .msmv2-cartel[data-side="right"] { left: calc(100% + 17px); }

  .msmv2-announcement { left: 18px; top: 81px; }
  body.msmv2-fullscreen .msmv2-announcement { top: 81px; }
  .msmv2-announcement-product { font-size: 38.0328px; font-weight: 260; line-height: .92; letter-spacing: .02em; text-transform: none; color: rgba(28,24,20,.56); }
  .msmv2-announcement-variant { margin-top: 8px; font-size: clamp(8.11486px,2.17313vw,10.17796px); letter-spacing: .18em; text-transform: uppercase; color: rgba(28,24,20,.76); }
  .msmv2-side-button {
    left: calc(clamp(14px,3.8vw,22px) - 2px);
    bottom: calc(20px + env(safe-area-inset-bottom,0px) + 88px);
    width: 28px;
    height: 178px;
  }
  .msmv2-side-line { left: 0; height: 30px; width: 1px; opacity: .76; }
  .msmv2-side-text { left: 0; bottom: 36.5px; font-size: clamp(10.44px,2.82vw,12.96px); letter-spacing: 1.65px; color: rgba(20,18,16,1); }
  .msmv2-side-button.is-visible .msmv2-side-line { animation-duration: 11.8s; }
  .msmv2-side-button.is-born .msmv2-side-text { animation-duration: 11.8s; }
  @keyframes msmv2-side-line-breathe { 0%,100% { height: 30px; opacity: .54; } 49.6%,50.4% { height: 52px; opacity: .82; } }
  @keyframes msmv2-side-text-breathe { 0%,100% { bottom: 36.5px; letter-spacing: 1.65px; } 49.6%,50.4% { bottom: 58.5px; letter-spacing: 4px; } }
  .msmv2-speed-control {
    left: calc(clamp(14px,3.8vw,22px) - 2px - 28px);
    bottom: calc(20px + env(safe-area-inset-bottom,0px) + 76px);
    height: 164px;
  }
  .msmv2-speed-rail { width: 1px; height: 138px; }
  .msmv2-speed-knob { width: 7.8px; height: 7.8px; }
  .msmv2-speed-value { font-size: 9px; }

  .msmv2-intro { top: calc(clamp(132px,22vh,202px) + 50px); width: min(calc(97vw - 40px),432px); height: clamp(56px,7.4vh,76px); border-radius: 0 7px 7px 0; background: linear-gradient(90deg,rgb(239,237,231) 0%,rgb(237,235,229) 12%,rgb(234,232,225) 38%,rgb(232,230,223) 100%); }
  .msmv2-intro-button { position: fixed; left: auto; right: auto; top: 0; width: auto; height: 22px; margin: 0; transform: translate3d(0,0,0); display: flex; align-items: center; }
  .msmv2-intro-inner { display: flex; justify-content: flex-start; width: 100%; gap: 9px; }
  .msmv2-intro-line { order: 1; width: clamp(42px,11.6vw,50px); transform-origin: left center; animation-duration: 7.83s; opacity: .71; }
  .msmv2-intro-text { order: 2; font-size: clamp(9.45px,2.4675vw,11.55px); letter-spacing: .225em; color: rgba(18,16,14,1); animation-duration: 7.83s; }
  @keyframes msmv2-intro-line-breathe { 0%,100% { width: clamp(42px,11.6vw,50px); } 49.4%,50.6% { width: clamp(78px,20vw,100px); } }
  @keyframes msmv2-intro-text-breathe { 0%,100% { letter-spacing: .225em; } 49.4%,50.6% { letter-spacing: .365em; } }
  .msmv2-intro-button.is-retire-ready .msmv2-intro-line { width: clamp(78px,20vw,100px) !important; }
  .msmv2-intro-button.is-retire-ready .msmv2-intro-text { letter-spacing: .365em !important; }
  .msmv2-intro-button.is-max-probe { width: auto !important; }
  .msmv2-intro-button.is-max-probe .msmv2-intro-inner { width: max-content !important; }
  .msmv2-intro-button.is-max-probe .msmv2-intro-line { width: clamp(78px,20vw,100px) !important; animation: none !important; }
  .msmv2-intro-button.is-max-probe .msmv2-intro-text { letter-spacing: .365em !important; animation: none !important; }
  .msmv2-cursor { display: none; }

  .msmv2-edge-portal { background: var(--msmv2-bg-mobile); }
  .msmv2-edge-portal-name { font-size: 16px; color: rgba(20,18,16,.82); opacity: .99; writing-mode: vertical-rl; transform: rotate(180deg); }
  .msmv2-edge-portal-next .msmv2-edge-portal-name { transform: none; }
  .msmv2-edge-portal.is-committing .msmv2-edge-portal-name,
  .msmv2-veil-name { font-size: clamp(36px,12vw,69.6px); max-width: 88vw; }

  .msmv2-acquisition { background: var(--msmv2-bg-mobile); }
  .msmv2-acquisition-content { width: min(100%,430px); padding: 0 0 calc(env(safe-area-inset-bottom,0px) + 12px); }
  .msmv2-acquisition-primary-wrap { width: 100%; min-height: calc(100vh - 76px); display: flex; align-items: flex-start; justify-content: center; padding: calc(env(safe-area-inset-top,0px) + 196px) 0 72px; box-sizing: border-box; }
  .msmv2-acquisition-primary {
    --msmv2-acq-row-heading: clamp(40.8576px,11.8944vw,57.792px);
    --msmv2-acq-row-price: clamp(25.3px,7.475vw,33.35px);
    --msmv2-acq-row-link: calc(clamp(15.84px,4.03925vw,19.008px) + 13px);
    --msmv2-acq-gap: 60px;
    --msmv2-acq-gap-info: 76px;
    width: calc(100vw - 48px);
    max-width: 352px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-template-rows:
      var(--msmv2-acq-row-heading)
      var(--msmv2-acq-gap)
      var(--msmv2-acq-row-price)
      var(--msmv2-acq-gap)
      var(--msmv2-acq-row-link)
      var(--msmv2-acq-gap-info)
      minmax(0,auto);
    align-content: start;
    justify-items: center;
    line-height: 1;
  }
  .msmv2-acquisition-heading { grid-row: 1; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); justify-content: center; align-items: baseline; column-gap: 8px; width: 100%; height: var(--msmv2-acq-row-heading); min-height: var(--msmv2-acq-row-heading); }
  .msmv2-acquisition-product { justify-self: end; text-align: right; padding-right: 0; font-size: clamp(34.048px,9.912vw,48.16px); line-height: 1.2; color: rgba(23,21,19,.72); }
  .msmv2-acquisition-heading-separator { justify-self: center; font-size: clamp(12px,3.4vw,16px); line-height: 1.2; }
  .msmv2-acquisition-variant { justify-self: start; min-width: clamp(84px, 22vw, 120px); padding-left: 0; text-align: left; font-size: clamp(15px,4vw,19px); line-height: 1.2; color: rgba(23,21,19,.70); }
  .msmv2-acquisition-price { grid-row: 3; height: var(--msmv2-acq-row-price); margin-top: 0; font-size: clamp(22px,6.5vw,29px); line-height: 1.15; color: rgba(23,21,19,.62); }
  .msmv2-acquisition-link { grid-row: 5; height: var(--msmv2-acq-row-link); margin-top: 0; padding-bottom: 6px; font-size: clamp(12.672px,3.2314vw,15.2064px); line-height: 1.25; letter-spacing: .38em; color: rgba(23,21,19,.76); }
  .msmv2-acquisition-variants {
    width: calc(100% - 24px);
    margin: calc(env(safe-area-inset-top,0px) + 24px) auto 0;
    padding: 0 0 11px;
  }
  .msmv2-acquisition-variants::before { display: block; background: rgba(23,21,19,.11); }
  .msmv2-acquisition-variant-button {
    min-height: 36px;
    padding: 0 4px 8px;
    font-size: clamp(8.51px,2.438vw,10.81px);
    letter-spacing: .145em;
    color: rgba(23,21,19,.36);
  }
  .msmv2-acquisition-variant-button::after {
    display: block;
    left: 8%;
    right: 8%;
    bottom: -11px;
    background: rgba(23,21,19,.60);
  }
  .msmv2-acquisition-variant-label::after { content: none; }
  .msmv2-acquisition-variant-button.is-selected { color: rgba(23,21,19,.72); }
  .msmv2-acquisition-variants.has-count-5 { grid-template-columns: repeat(6,minmax(0,1fr)); row-gap: 10px; }
  .msmv2-acquisition-variants.has-count-5 .msmv2-acquisition-variant-button { grid-column: span 2; }
  .msmv2-acquisition-variants.has-count-5 .msmv2-acquisition-variant-button:nth-child(4) { grid-column: 2 / span 2; }
  .msmv2-acquisition-variants.has-count-5 .msmv2-acquisition-variant-button:nth-child(5) { grid-column: 4 / span 2; }
  .msmv2-acquisition-variants.has-count-6 { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 10px; }
  .msmv2-acquisition-variants.has-count-5 .msmv2-acquisition-variant-button,
  .msmv2-acquisition-variants.has-count-6 .msmv2-acquisition-variant-button { font-size: clamp(8.05px,2.30vw,10.12px); }

  .msmv2-info { grid-row: 7; width: calc(100vw - 48px); max-width: 352px; margin: 0 auto; color: rgba(23,21,19,.72); }
  .msmv2-info-label { font-size: clamp(14.812px,3.99952vw,17.03408px); opacity: .66; }
  .msmv2-info-sign { font-size: clamp(13.8px,3.45vw,16.1px); opacity: .64; }
  .msmv2-info-panel-inner { width: 100%; max-width: 352px; padding-top: 56px; }
  .msmv2-info-section { display: block; padding: 30px 0 34px; }
  .msmv2-info-section-header { grid-template-columns: 18px minmax(0,1fr); margin-bottom: 24px; }
  .msmv2-info-index { font-size: 7.728px; }
  .msmv2-info-kicker { font-size: 8.624px; letter-spacing: .18em; }
  .msmv2-info-section-content { padding-left: 36px; font-size: 11.872px; line-height: 1.70; }
  .msmv2-info-editorial-line + .msmv2-info-editorial-line { margin-top: 22px; }
  .msmv2-info-measures { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 11px; row-gap: 16px; }
  .msmv2-info-measure { grid-template-columns: 1fr; gap: 1px; }
  .msmv2-info-measure-label { font-size: 10.06556544px; }
  .msmv2-info-measure-value { font-size: 11.648px; white-space: nowrap; }
  .msmv2-info-links { justify-content: space-between; gap: 9px; margin-top: 34px; }
  .msmv2-info-links a { font-size: 8.2px; font-weight: 220; font-variation-settings: "wght" 220; letter-spacing: .21em; color: rgb(12,11,10); opacity: 1; text-decoration: none !important; box-shadow: none !important; border-bottom: 0 !important; background-image: none !important; }
  .msmv2-info-links a::after { bottom: 5px; opacity: .90; }

  .msmv2-collection { width: 100%; margin-top: 72px; }
  .msmv2-collection::before { width: clamp(58px,15vw,86px); margin-bottom: clamp(38px,8vh,76px); }
  .msmv2-collection-title { display: flex; justify-content: center; align-items: center; margin-bottom: calc(clamp(90px,18vh,152px) + 120px); }
  .msmv2-collection-title-soft { margin-right: 12px; font-size: clamp(8.0136px,2.06064vw,10.4304px); letter-spacing: .26em; color: rgba(23,21,19,.54); transform: translate3d(10px,calc(-.46em - 40px),0); }
  .msmv2-collection-title-strong { font-size: clamp(40.28px,13.992vw,61.48px); letter-spacing: .16em; color: rgba(23,21,19,.91); }
  .msmv2-collection-list { display: flex; flex-direction: column; align-items: center; width: 100%; margin: 0; padding-top: 230px; box-sizing: border-box; gap: clamp(112px,19vh,176px); transform: none; position: relative; }
  .msmv2-collection-piece,
  .msmv2-collection-piece:nth-child(1),
  .msmv2-collection-piece:nth-child(2),
  .msmv2-collection-piece:nth-child(3),
  .msmv2-collection-piece:nth-child(4),
  .msmv2-collection-piece:nth-child(5) { --msmv2-collection-y: 0px; --msmv2-collection-adjust-y: 0px; width: 100%; gap: 20px; top: auto; }
  .msmv2-collection-media { width: clamp(219.456px,74.304vw,321.408px); max-width: 100%; transform-origin: center; }
  .msmv2-collection-image { -webkit-mask-image: linear-gradient(#000 0 0); mask-image: linear-gradient(#000 0 0); -webkit-mask-size: calc(100% - 20px) calc(100% - 72px); mask-size: calc(100% - 20px) calc(100% - 72px); -webkit-mask-position: 20px 42px; mask-position: 20px 42px; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
  /* V2.108 — Le Cerf mobile : remplace la coupe franche gauche de 20 px par un fondu progressif 0 → 100 % sur 20 px, sans modifier les autres modèles ni les coupes haut/bas. */
  .msmv2-collection-piece--cerf .msmv2-collection-image {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 20px, #000 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 20px, #000 100%);
    -webkit-mask-size: 100% calc(100% - 72px);
    mask-size: 100% calc(100% - 72px);
    -webkit-mask-position: 0 42px;
    mask-position: 0 42px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
  /* V2.108 — L’Archer mobile : même traitement que Le Cerf côté gauche, avec un fondu progressif 0 → 100 % sur 20 px au lieu d’une coupe franche. */
  .msmv2-collection-piece--archer .msmv2-collection-image {
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 20px, #000 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 20px, #000 100%);
    -webkit-mask-size: 100% calc(100% - 72px);
    mask-size: 100% calc(100% - 72px);
    -webkit-mask-position: 0 42px;
    mask-position: 0 42px;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
  .msmv2-collection-name { font-family: var(--msmv2-sans); font-size: clamp(25.44px,7.844vw,32.86px); font-weight: 165; font-variation-settings: "wght" 165; color: rgba(23,21,19,.89); opacity: .995; transform: translate3d(0,-20px,0); }
  .msmv2-collection-piece:not(:last-child)::after { content: ""; position: absolute; left: 50%; bottom: calc(-1 * clamp(82px,14vh,128px)); width: 1px; height: clamp(42px,7vh,68px); background: rgba(23,21,19,.20); transform: translateX(-50%) scaleX(.5); pointer-events: none; }
  .msmv2-collection-list::before { content: ""; position: absolute; left: 50%; top: clamp(70px,11vh,104px); width: 1px; height: clamp(42px,7vh,68px); background: rgba(23,21,19,.20); transform: translateX(-50%) scaleX(.5); pointer-events: none; }
  .msmv2-collection-piece--cerf .msmv2-collection-media { transform: scale(1.265); }
  .msmv2-collection-piece--cerf .msmv2-collection-name { transform: translate3d(-50px,-65px,0); }
  .msmv2-collection-piece--archer .msmv2-collection-media { transform: translate3d(-30px,0,0) scale(1.1385); }
  .msmv2-collection-piece--archer .msmv2-collection-name { transform: translate3d(-30px,-48px,0) scale(.90); transform-origin: center; }
  .msmv2-collection-piece--equin .msmv2-collection-media { transform: translate3d(-65px,0,0) scale(1.44); }
  .msmv2-collection-piece--aplomb .msmv2-collection-media { transform: translate3d(-80px,0,0) scale(1.1664); }
  .msmv2-collection-piece--equin .msmv2-collection-name { transform: translate3d(-65px,-56px,0); }
  .msmv2-collection-piece--aplomb .msmv2-collection-name { transform: translate3d(-70px,-56px,0); }
  .msmv2-collection-piece--aiglon { --msmv2-collection-adjust-x: -25px; }
  .msmv2-collection-piece--elan { --msmv2-collection-adjust-x: 20px; }
  .msmv2-collection-piece--aiglon .msmv2-collection-media { transform: scale(1.24597); }
  .msmv2-collection-piece--aiglon .msmv2-collection-name { transform: translate3d(-40px,-54px,0); }
  .msmv2-collection-piece--elan .msmv2-collection-media { transform: translate3d(-50px,0,0) scale(1.2188) rotate(-1deg); }
  .msmv2-collection-piece--elan .msmv2-collection-name { transform: translate3d(-105px,-54px,0); }

  .msmv2-signature { width: 100%; margin-top: clamp(180px,28vh,280px); }
  .msmv2-signature::before { width: clamp(78px,24vw,118px); margin-bottom: calc(clamp(48px,8vh,72px) + 80px); }
  .msmv2-signature strong { width: 100%; padding: 0 14px; box-sizing: border-box; font-size: clamp(18.556px,5.566vw,27.833px); white-space: nowrap; }
  .msmv2-signature em { margin-top: calc(clamp(58px,12.8vh,108px) + 60px); transform: none; width: max-content; max-width: calc(100vw - 44px); margin-inline: auto; text-align: left; font-size: clamp(11.827px,3.489vw,15.375px); line-height: 1.45; color: rgba(23,21,19,.65); }
  .msmv2-signature em span { width: max-content; }
  .msmv2-signature em span:first-child { transform: translate3d(28px,0,0); }
  .msmv2-signature em span + span { margin-top: 5px; transform: translate3d(43px,0,0); }
  .msmv2-acquisition-footer { margin-top: 290px; padding: 0 10px max(4px,env(safe-area-inset-bottom,0px)); }
  .msmv2-acquisition-footer-link,
  .msmv2-acquisition-footer-separator { font-size: clamp(7.015px,1.955vw,8.51px); line-height: 1.35; letter-spacing: .075em; }
  .msmv2-acquisition-footer-link { color: rgba(23,21,19,.68); }
  .msmv2-acquisition-footer-separator { margin: 0 .58em; color: rgba(23,21,19,.32); }
  body.msmv2-fullscreen.msmv2-mobile-acquisition-close-hidden .msmv2-fullscreen-close {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@supports not (font-variation-settings: normal) {
  .msmv2-announcement-product,
  .msmv2-collection-title-strong,
  .msmv2-signature strong {
    font-weight: 300;
  }
}

@media (prefers-reduced-motion: reduce) {
  .msmv2-image,
  .msmv2-veil,
  .msmv2-veil-name,
  .msmv2-edge-portal,
  .msmv2-acquisition,
  .msmv2-intro,
  .msmv2-zoom-inspection,
  body.msmv2-lab-active #header-main,
  body.msmv2-lab-active #show-hide-header-tablette {
    transition-duration: 1ms !important;
  }
}

/* V2.73-DIAG — trois modes de comparaison sans changer la DA du laboratoire. */

.msmv2-collection-piece--aplomb .msmv2-collection-name { transform: translate3d(10px,-35px,0); }


/* ========================================================================
   V2.108 — CONTRAT D'ACQUISITION PUBLIC R33R29D28Z, PORTÉ À L'ATLAS V2.
   Les valeurs visuelles et la chronologie de l'encart sont celles du public
   historique ; seules les variables de police/easing sont reliées aux V2.
   ======================================================================== */
.msmv2-wc-proxy-source {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.msmv2-acquisition-after-link {
  grid-row: 7;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.msmv2-acquisition-after-link > .msmv2-info { grid-row: auto; }

.msm-confirmation-achat-v414 {
  --msm-ease: var(--msmv2-ease-soft);
  --msm-sans: var(--msmv2-sans);
  --msm-serif: var(--msmv2-serif);
  width: min(540px, 82vw) !important;
  max-width: min(540px, 82vw) !important;
  margin: clamp(12px, 1.8vh, 22px) auto clamp(10px, 1.5vh, 18px) !important;
  padding: clamp(24px, 3.1vw, 46px) clamp(34px, 5vw, 76px) clamp(26px, 3.4vw, 52px) !important;
  border-radius: 8px !important;
  border: 1px solid rgba(55, 48, 39, 0.075) !important;
  background: rgba(246, 243, 236, 0.82) !important;
  box-shadow: 0 18px 68px rgba(35, 29, 22, 0.045) !important;
  backdrop-filter: blur(18px) saturate(106%);
  -webkit-backdrop-filter: blur(18px) saturate(106%);
  opacity: 0;
  transform: translate3d(0, 10px, 0);
  visibility: hidden;
  pointer-events: none;
  transition: opacity 420ms var(--msm-ease), transform 420ms var(--msm-ease), visibility 0s linear 420ms;
  box-sizing: border-box;
}
.msm-confirmation-achat-v414[aria-hidden="true"]:not(.is-visible) { display: none !important; }
/* V2.108 — quand la confirmation panier est visible, conserver exactement
   80 px entre le bas de l’encart et « Informations de la pièce ». */
.msm-confirmation-achat-v414.is-visible,
.msm-confirmation-achat-v414.is-hiding {
  margin-bottom: 80px !important;
}

.msm-confirmation-achat-v414.is-visible {
  display: block !important;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  visibility: visible;
  pointer-events: auto;
  transition: opacity 420ms var(--msm-ease), transform 420ms var(--msm-ease), visibility 0s linear 0s;
}
.msm-confirmation-achat-v414.is-error {
  border-color: rgba(74, 42, 28, 0.10) !important;
  background: rgba(238, 235, 228, 0.82) !important;
}
.msm-confirmation-achat-texte-v414 {
  margin: 0 auto !important;
  max-width: 34em !important;
  color: rgba(23, 21, 19, 0.62) !important;
  font-family: var(--msm-serif);
  font-size: clamp(16px, 1.35vw, 22px) !important;
  font-weight: 300;
  line-height: 1.58 !important;
  text-align: center;
}
.msm-confirmation-achat-v414.is-error .msm-confirmation-achat-texte-v414 {
  color: rgba(68, 42, 28, 0.70) !important;
}
.msm-confirmation-achat-actions-v414 {
  display: grid !important;
  grid-template-columns: minmax(132px, .78fr) minmax(226px, 1.22fr) !important;
  column-gap: clamp(24px, 4vw, 54px) !important;
  width: min(94%, 470px) !important;
  margin: clamp(24px, 3.8vh, 42px) auto 0 !important;
}
.msm-confirmation-achat-panier-v414,
.msm-confirmation-achat-fermer-v414 {
  position: relative !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  justify-self: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 0 8px !important;
  font-family: var(--msm-sans) !important;
  font-size: clamp(7.5px, 0.58vw, 9px) !important;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.28em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: rgba(23, 21, 19, 0.58) !important;
  cursor: pointer !important;
  transition: color 900ms var(--msm-ease), opacity 900ms var(--msm-ease) !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.msm-confirmation-achat-panier-v414::after,
.msm-confirmation-achat-fermer-v414::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 22% !important;
  height: 1px !important;
  background: currentColor !important;
  opacity: 0.46 !important;
  transform-origin: left center !important;
  transition: width 1600ms var(--msm-ease), opacity 1450ms var(--msm-ease) !important;
}
.msm-confirmation-achat-panier-v414:hover,
.msm-confirmation-achat-fermer-v414:hover,
.msm-confirmation-achat-panier-v414:focus-visible,
.msm-confirmation-achat-fermer-v414:focus-visible {
  color: rgba(23, 21, 19, 0.82) !important;
  outline: 0 !important;
}
.msm-confirmation-achat-panier-v414:hover::after,
.msm-confirmation-achat-fermer-v414:hover::after,
.msm-confirmation-achat-panier-v414:focus-visible::after,
.msm-confirmation-achat-fermer-v414:focus-visible::after {
  width: 100% !important;
  opacity: 0.72 !important;
}
.msm-confirmation-achat-v414.is-hiding {
  display: block !important;
  visibility: visible !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translate3d(0, 12px, 0) !important;
  transition: opacity 920ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 1040ms cubic-bezier(0.19, 1, 0.22, 1) !important;
}
.msm-confirmation-achat-v414[aria-hidden="true"].is-hiding { display: block !important; }

@media (max-width: 767px) {
  .msm-confirmation-achat-v414 {
    width: min(91vw, 520px) !important;
    max-width: min(91vw, 520px) !important;
    padding: clamp(22px, 6vw, 32px) clamp(20px, 6vw, 30px) clamp(24px, 7vw, 36px) !important;
  }
  .msm-confirmation-achat-texte-v414 { font-size: clamp(15px, 4.1vw, 20px) !important; }
  .msm-confirmation-achat-actions-v414 {
    grid-template-columns: minmax(92px, .76fr) minmax(164px, 1.24fr) !important;
    column-gap: clamp(12px, 3.1vw, 18px) !important;
    width: min(94%, 470px) !important;
  }
  .msm-confirmation-achat-panier-v414,
  .msm-confirmation-achat-fermer-v414 {
    font-size: clamp(6.9px, 1.76vw, 8px) !important;
    letter-spacing: .125em !important;
  }
}
