.elementor-22 .elementor-element.elementor-element-1e45eee{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:auto;}.elementor-22 .elementor-element.elementor-element-350da23{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-22 .elementor-element.elementor-element-059871b{width:100%;max-width:100%;}.elementor-22 .elementor-element.elementor-element-992a64d{width:100%;max-width:100%;}/* Start custom CSS for container, class: .elementor-element-1e45eee *//* ============================================================
   MAISON SAINT-MARTIN — PAGE D'ACCUEIL MONO-IMAGE
   CSS CONTENEUR COMPLET : msm-home
   V99 — curseur couture et verrouillage des sélections / glissements

   Direction V68 :
   - conserver intégralement le desktop de la base réellement installée ;
   - restaurer à l’identique la composition mobile de référence validée visuellement ;
   - retrouver la position exacte de la signature mobile et son décalage interne entre les deux lignes ;
   - restaurer la relation, les espacements et les opacités de Collection, BRAME et La Maison ;
   - restaurer la distance exacte des traits sous les liens sur mobile ;
   - supprimer toute correction étroite contradictoire avec cette composition ;
   - conserver le footer, le cadrage, le voile et l’architecture svh/lvh de la version de référence.
   ============================================================ */

html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
  scrollbar-width: none !important;
  background: #e7dfd2;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

body {
  background: #e7dfd2;
}

body.msm-home-page {
  background: #e7dfd2;
}

.elementor-22 .elementor-element.elementor-element-1e45eee {
  --msm-home-crop-top: 77px;
  --msm-home-bottom-breath: 18px;

  width: 100%;
  min-height: calc(100vh + var(--msm-home-bottom-breath));
  min-height: calc(100dvh + var(--msm-home-bottom-breath));
  margin: 0 !important;
  padding: 0 !important;
  background: #e7dfd2;
  overflow: visible !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee,
.elementor-22 .elementor-element.elementor-element-1e45eee > *,
.elementor-22 .elementor-element.elementor-element-1e45eee .e-con,
.elementor-22 .elementor-element.elementor-element-1e45eee .e-con-inner,
.elementor-22 .elementor-element.elementor-element-1e45eee .elementor-widget-wrap,
.elementor-22 .elementor-element.elementor-element-1e45eee .elementor-widget-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee * {
  box-sizing: border-box;
}

/* ============================================================
   HERO
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero {
  position: relative;
  width: 100%;

  height: calc(100vh + var(--msm-home-crop-top) + var(--msm-home-bottom-breath));
  height: calc(100dvh + var(--msm-home-crop-top) + var(--msm-home-bottom-breath));
  min-height: calc(100vh + var(--msm-home-crop-top) + var(--msm-home-bottom-breath));
  min-height: calc(100dvh + var(--msm-home-crop-top) + var(--msm-home-bottom-breath));

  margin: calc(var(--msm-home-crop-top) * -1) 0 0 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  background: #e7dfd2;
}

/* ============================================================
   IMAGE DESKTOP + MOBILE
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-desktop,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile {
  position: absolute;
  inset: 0;
  z-index: 1;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image .elementor-widget-container,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-desktop .elementor-widget-container,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile .elementor-widget-container {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image img,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-desktop img,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile img {
  display: block;
  width: 100%;
  height: calc(100vh + var(--msm-home-crop-top) + var(--msm-home-bottom-breath));
  height: calc(100dvh + var(--msm-home-crop-top) + var(--msm-home-bottom-breath));
  object-fit: cover;
  object-position: center 52%;
  transform: none;
  transform-origin: center center;
  animation: none !important;
  transition: none !important;
  backface-visibility: hidden;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-desktop {
  display: block;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile {
  display: none;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero > .msm-home-hero-image:not(.msm-home-hero-image-mobile):not(.msm-home-hero-image-desktop) {
  display: block;
}

/* ============================================================
   VOILES PHOTOGRAPHIQUES
   ============================================================ */

/* Bande basse chaude : intègre le mini-footer dans l'image. */
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;

  height: clamp(54px, 6.8vh, 76px);

  background:
    linear-gradient(
      to bottom,
      rgba(231, 223, 210, 0.00) 0%,
      rgba(231, 223, 210, 0.12) 30%,
      rgba(231, 223, 210, 0.38) 70%,
      rgba(231, 223, 210, 0.76) 100%
    );

  pointer-events: none;
}

/* Voile général + zone de lecture droite.
   Le voile est volontairement plus présent à droite, absent sur la grande courbe gauche. */
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;

  /* V68 : le voile reste au niveau très faible validé en V53.
     La photographie, le grain et la courbe redeviennent l'autorité visuelle. */
  background:
    radial-gradient(
      ellipse at 76% 34%,
      rgba(231, 223, 210, 0.10) 0%,
      rgba(231, 223, 210, 0.055) 25%,
      rgba(231, 223, 210, 0.018) 43%,
      rgba(231, 223, 210, 0.00) 64%
    ),
    linear-gradient(
      to right,
      rgba(231, 223, 210, 0.00) 0%,
      rgba(231, 223, 210, 0.00) 55%,
      rgba(231, 223, 210, 0.022) 72%,
      rgba(231, 223, 210, 0.055) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(246, 241, 232, 0.010) 0%,
      rgba(246, 241, 232, 0.002) 64%,
      rgba(246, 241, 232, 0.00) 100%
    );

  pointer-events: none;
}

/* ============================================================
   ICONES HEADER
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
  position: absolute;
  z-index: 20;
  top: calc(var(--msm-home-crop-top) + clamp(18px, 2.7vh, 30px));
  right: clamp(22px, 3.6vw, 54px);

  width: auto !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  pointer-events: auto;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget .elementor-widget-container {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 21px;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 24px;
  height: 24px;

  color: rgba(24, 20, 16, 0.72);
  text-decoration: none !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;

  opacity: 0.84;

  transition:
    opacity 1.2s cubic-bezier(.19, 1, .22, 1),
    transform 1.2s cubic-bezier(.19, 1, .22, 1),
    color 1.2s cubic-bezier(.19, 1, .22, 1);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon svg {
  display: block;
  width: 22px;
  height: 22px;

  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.05px !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  vector-effect: non-scaling-stroke;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon:hover,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon:focus-visible {
  opacity: 1;
  color: rgba(18, 14, 10, 0.88);
  transform: none;
}

@media (min-width: 768px) {
  /* Le panier gagne seul quelques pixels vers le bord droit. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-cart-icon {
    position: relative;
    right: -5px;
  }
}

/* ============================================================
   MANIFESTE
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-copy {
  position: absolute;
  z-index: 4;

  left: clamp(42px, 5vw, 76px);
  right: auto;
  top: calc(var(--msm-home-crop-top) + clamp(54px, 7vh, 78px));

  width: min(760px, 58vw);

  text-align: left;
  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-15px, 15px);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
  display: block;
  margin: 0;

  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(14.15px, 1.126vw, 21.10px);
  font-weight: 190;
  line-height: 1;
  letter-spacing: 0.37em;
  text-transform: uppercase;

  color: rgba(25, 19, 15, 0.95);
  transform: translate(-14px, 12px);
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
  position: absolute;
  left: clamp(565px, calc(48.5vw - 5px), 733px);
  top: 82px;

  width: max-content;
  margin-top: 0;
  text-align: left;

  font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(11.42px, 0.941vw, 16.56px);
  font-weight: 160;
  line-height: 1.44;
  letter-spacing: 0.186em;
  text-transform: uppercase;

  color: rgba(24, 18, 14, 0.74);
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  font-synthesis: none;
  font-synthesis-weight: none;
  font-variation-settings: "wght" 150;
  transform: translate(-31px, -10px) scaleX(0.985);
  transform-origin: left top;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span {
  display: block;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span:nth-child(2) {
  margin-top: 5px;
  margin-left: 0;
}

/* ============================================================
   LIENS PRINCIPAUX
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
  position: absolute;
  z-index: 5;

  left: clamp(560px, calc(40vw + 50px), 646px);
  right: auto;
  bottom: clamp(124px, calc(18vh - 16px), 198px);

  margin: 0 !important;
  padding: 0 !important;
  transform: translate(-26px, 5px);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -92px;
  top: -62px;

  width: 370px;
  height: 190px;

  background:
    radial-gradient(
      ellipse at 42% 52%,
      rgba(231, 223, 210, 0.055) 0%,
      rgba(231, 223, 210, 0.025) 34%,
      rgba(231, 223, 210, 0.00) 72%
    );

  pointer-events: none;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-nav {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;

  font-family: "Montserrat", Arial, sans-serif;
  font-size: 15.14px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.305em;
  text-transform: uppercase;
  text-decoration: none !important;
  touch-action: manipulation;

  color: rgba(22, 17, 13, 0.94);

  transition:
    color 2.8s cubic-bezier(.19, 1, .22, 1),
    letter-spacing 3.2s cubic-bezier(.19, 1, .22, 1) !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
  margin-left: 64px;
  font-size: 0.91em;
  color: rgba(22, 17, 13, 0.56);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link span {
  position: relative;
  z-index: 2;
}

/* Lock-up V65 : BRAME conserve l’axe optique du module.
   Collection se rapproche du B selon une tension mesurée ; La Maison remonte
   légèrement afin que les deux accès soient lus comme un seul système. */
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link > span {
  display: inline-flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame {
  font-size: 17.40px;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame > span {
  display: inline-grid;
  grid-template-columns: 60px max-content;
  align-items: start;
  column-gap: 4px;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
  display: block;
  min-width: 60px;
  padding-top: 0;
  padding-right: 2px;
  text-align: right;
  font-size: 0.54em;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.244em;
  color: rgba(22, 17, 13, 0.60);
  transform: translate(-19px, calc(-0.72em - 1px));
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-key {
  display: block;
  font-size: 1.20em;
  font-weight: 365;
  line-height: 1;
  letter-spacing: 0.236em;
  color: rgba(18, 14, 11, 0.84);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison > span {
  gap: 0;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
  font-size: 0.85em;
  font-weight: 325;
  letter-spacing: 0.255em;
  color: rgba(22, 17, 13, 0.56);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px;

  width: 31px;
  height: 1px;

  background: rgba(24, 18, 13, 0.38);
  transform: scaleY(0.38);
  transform-origin: left center;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 6px;

  width: 31px;
  height: 1px;

  background: rgba(20, 15, 11, 0.66);
  transform: scaleY(0.38);
  transform-origin: left center;

  transition:
    width 8.1s cubic-bezier(.20, .58, .24, 1),
    background-color 4.2s cubic-bezier(.20, .58, .24, 1),
    opacity 4.2s cubic-bezier(.20, .58, .24, 1) !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame::before,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame::after {
  left: 64px;
  bottom: 3px;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison::before,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison::after {
  width: 25px;
  left: 1px;
  bottom: 3px;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible {
  color: rgba(12, 9, 7, 0.96);
  letter-spacing: 0.325em;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:hover,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus-visible {
  color: rgba(12, 9, 7, 0.88);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover::after,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible::after {
  width: min(260px, 25.5vw);
  background: rgba(14, 10, 7, 0.70);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:hover::after,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus-visible::after {
  width: min(190px, 19vw);
}

/* Un seul lien principal peut conserver l'effet visuel à la fois.
   Si un ancien focus subsiste, le lien non survolé reste explicitement neutre. */
@media (hover: hover) and (pointer: fine) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-nav:has(.msm-home-link:hover) .msm-home-link:not(:hover) {
    color: rgba(22, 17, 13, 0.94) !important;
    letter-spacing: 0.305em !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-nav:has(.msm-home-link:hover) .msm-home-link:not(:hover)::after {
    width: 31px !important;
    background: rgba(20, 15, 11, 0.66) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-nav:has(.msm-home-link:hover) .msm-home-link-maison:not(:hover) {
    color: rgba(22, 17, 13, 0.72) !important;
  }
}

/* ============================================================
   MINI-FOOTER
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-widget {
  position: absolute;
  z-index: 8;

  left: 0;
  right: 0;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 2px);

  width: 100%;
  margin: 0 !important;
  padding: 0 clamp(24px, 5vw, 72px) !important;

  background: transparent !important;
  pointer-events: auto;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-widget,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-widget .elementor-widget-container {
  background: transparent !important;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-mini {
  position: relative;
  z-index: 9;
  width: 100%;

  margin: 0 !important;
  padding: 0 0 17px !important;

  background: transparent !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;

  gap: clamp(24px, 4vw, 48px);

  margin: 0 !important;
  padding: 0 !important;

  list-style: none;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a {
  position: relative;
  display: inline-block;

  padding-bottom: 7px;

  font-family: "Montserrat", Arial, sans-serif;
  font-size: 9px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;

  color: rgba(28, 25, 21, 0.54);
  white-space: nowrap;

  transition: color 1.8s cubic-bezier(.19, 1, .22, 1);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;

  width: min(170%, 148px);
  height: 1px;

  background: rgba(28, 25, 21, 0.30);

  transform: scaleX(0);
  transform-origin: left center;

  transition: transform 2.8s cubic-bezier(.19, 1, .22, 1);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a:hover {
  color: rgba(28, 25, 21, 0.60);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a:hover::after {
  transform: scaleX(1);
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-footer-label-mobile {
  display: none;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-footer-label-desktop {
  display: inline;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-copy {
  display: none !important;
  margin-top: 8px;
  text-align: left;

  font-family: "Montserrat", Arial, sans-serif;
  font-size: 9px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;

  color: rgba(28, 25, 21, 0.34);
}

/* ============================================================
   TABLETTE
   ============================================================ */

@media (min-width: 768px) and (max-width: 1180px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee {
    --msm-home-bottom-breath: 16px;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-copy {
    left: clamp(34px, 4.8vw, 62px);
    right: auto;
    top: calc(var(--msm-home-crop-top) + clamp(48px, 6.4vh, 70px));
    width: min(680px, 62vw);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    font-size: 14.15px;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: clamp(368px, calc(44vw + 2px), 518px);
    top: 62px;
    margin-top: 0;
    font-size: clamp(11.52px, 1.181vw, 15.09px);
    font-weight: 155;
    line-height: 1.46;
    letter-spacing: 0.165em;
    transform: translate(-14px, -5px) scaleX(0.985);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    left: clamp(390px, 38vw, 490px);
    bottom: clamp(134px, calc(19vh - 8px), 190px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link {
    font-size: 14.78px;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible::after {
    width: min(235px, 33vw);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus-visible::after {
    width: min(200px, 29vw);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav {
    gap: clamp(20px, 3vw, 34px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-copy {
    font-size: 8.5px;
  }
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {
  /* V81 — double territoire mobile conservé sans modification du footer.
     - la composition est bornée par le petit viewport (svh) ;
     - la photographie couvre le grand viewport (lvh) ;
     - le footer commence après le grand viewport, donc jamais dans l'écran initial. */
  html,
  body,
  body.msm-home-page {
    background: #c8c9cc !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee {
    --msm-home-mobile-shift: 78px;
    --msm-home-mobile-compose: 100vh;
    --msm-home-mobile-visual: 100vh;
    --msm-home-mobile-footer-reserve: clamp(92px, 11vh, 116px);
    --msm-home-mobile-footer-offset: 34px;
    --msm-home-mobile-icons-top: clamp(20px, 2.8vh, 26px);
    --msm-home-mobile-title-top: clamp(70px, 10.4vh, 90px);
    --msm-home-mobile-manifeste-top: clamp(146px, calc(22.0vh - 18px), 184px);
    --msm-home-mobile-links-rise: clamp(226px, calc(31.2vh - 22px), 252px);

    width: 100%;
    height: calc(
      var(--msm-home-mobile-visual)
      + var(--msm-home-mobile-footer-reserve)
    );
    min-height: calc(
      var(--msm-home-mobile-visual)
      + var(--msm-home-mobile-footer-reserve)
    );
    max-height: none;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    background: #c8c9cc;
  }

  @supports (height: 100svh) {
    .elementor-22 .elementor-element.elementor-element-1e45eee {
      --msm-home-mobile-compose: 100svh;
      --msm-home-mobile-icons-top: clamp(20px, 2.8svh, 26px);
      --msm-home-mobile-title-top: clamp(70px, 10.4svh, 90px);
      --msm-home-mobile-manifeste-top: clamp(146px, calc(22.0svh - 18px), 184px);
      --msm-home-mobile-links-rise: clamp(226px, calc(31.2svh - 22px), 252px);
    }
  }

  @supports (height: 100lvh) {
    .elementor-22 .elementor-element.elementor-element-1e45eee {
      --msm-home-mobile-visual: 100lvh;
      --msm-home-mobile-footer-reserve: clamp(92px, 11lvh, 116px);
    }
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee,
  .elementor-22 .elementor-element.elementor-element-1e45eee > *,
  .elementor-22 .elementor-element.elementor-element-1e45eee .e-con,
  .elementor-22 .elementor-element.elementor-element-1e45eee .e-con-inner,
  .elementor-22 .elementor-element.elementor-element-1e45eee .elementor-widget-wrap,
  .elementor-22 .elementor-element.elementor-element-1e45eee .elementor-widget-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero {
    position: relative;
    width: 100%;

    height: calc(
      var(--msm-home-mobile-visual)
      + var(--msm-home-mobile-shift)
      + var(--msm-home-mobile-footer-reserve)
    );
    min-height: calc(
      var(--msm-home-mobile-visual)
      + var(--msm-home-mobile-shift)
      + var(--msm-home-mobile-footer-reserve)
    );
    max-height: none;

    margin: calc(var(--msm-home-mobile-shift) * -1) 0 0 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    background: #c8c9cc;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-desktop {
    display: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile {
    display: block !important;
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    z-index: 1;

    width: 100% !important;
    height: calc(
      var(--msm-home-mobile-visual)
      + var(--msm-home-mobile-shift)
    ) !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    background: transparent !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero > .msm-home-hero-image:not(.msm-home-hero-image-mobile):not(.msm-home-hero-image-desktop) {
    display: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center 52%;

    transform: none;
    transform-origin: center center;
    backface-visibility: hidden;

    animation: none !important;
    transition: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /* Le fondu est attaché à la fin du grand viewport photographique. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero::before {
    bottom: var(--msm-home-mobile-footer-reserve);
    height: 74px;
    background:
      linear-gradient(
        to bottom,
        rgba(231, 223, 210, 0.00) 0%,
        rgba(231, 223, 210, 0.08) 28%,
        rgba(208, 207, 207, 0.24) 68%,
        rgba(200, 201, 204, 0.66) 100%
      );
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero::after {
    bottom: var(--msm-home-mobile-footer-reserve);
    background:
      linear-gradient(
        to bottom,
        rgba(246, 241, 232, 0.012) 0%,
        rgba(246, 241, 232, 0.002) 64%,
        rgba(246, 241, 232, 0.00) 100%
      );
  }

  /* Zone utilitaire stable : safe-area + marge minimale, sans dépendance
     à l'ouverture ou à la fermeture de la barre du navigateur. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
    position: absolute !important;
    z-index: 9999 !important;

    top: calc(
      var(--msm-home-mobile-shift)
      + env(safe-area-inset-top, 0px)
      + var(--msm-home-mobile-icons-top)
    ) !important;
    right: clamp(17px, 4.8vw, 23px) !important;
    left: auto !important;
    bottom: auto !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    background: transparent !important;
    pointer-events: auto !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget .elementor-widget-container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;

    gap: clamp(16px, 4.2vw, 19px);
    background: transparent !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    visibility: visible !important;
    opacity: 0.76 !important;

    width: 23px;
    height: 23px;

    background: transparent !important;
    transform: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon svg {
    width: 21px;
    height: 21px;
    stroke-width: 1.02px !important;
  }

  /* Le nom et la signature utilisent le petit viewport : leur composition
     ne bouge pas lorsque la barre Chrome, Samsung ou Safari se replie. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-copy {
    position: absolute;
    z-index: 4;

    inset: 0 !important;
    width: 100% !important;
    height: calc(
      var(--msm-home-mobile-compose)
      + var(--msm-home-mobile-shift)
    ) !important;

    text-align: left;
    margin: 0 !important;
    padding: 0 !important;
    transform: none;
    pointer-events: none;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    position: absolute;
    display: block;

    left: clamp(28px, 10.5vw, 46px);
    top: calc(
      var(--msm-home-mobile-shift)
      + env(safe-area-inset-top, 0px)
      + var(--msm-home-mobile-title-top)
    );

    margin: 0;
    font-size: clamp(13.65px, 3.58vw, 14.60px);
    font-weight: 300;
    line-height: 1;
    letter-spacing: clamp(0.245em, 0.92vw, 0.270em);
    color: rgb(18, 14, 11);
    opacity: 1;
    transform: none;
    white-space: nowrap;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    position: absolute;

    left: clamp(27px, 7.2vw, 31px);
    top: calc(
      var(--msm-home-mobile-shift)
      + var(--msm-home-mobile-manifeste-top)
    );

    width: min(304px, calc(100vw - 56px));
    margin: 0;

    font-size: clamp(8.45px, 2.16vw, 9.85px);
    font-weight: 325;
    font-variation-settings: "wght" 320;
    line-height: 1.47;
    letter-spacing: 0.104em;

    color: rgba(8, 7, 6, 0.96);
    opacity: 0.92;
    -webkit-text-stroke: 0.16px rgba(0, 0, 0, 0.56);
    text-shadow: none;
    transform: none;
    white-space: nowrap;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span:nth-child(1) {
    transform: translateX(3px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span:nth-child(2) {
    margin-top: 4px;
    margin-left: -8px;
    transform: translateX(-13px);
  }

  /* Les liens sont calculés depuis le petit viewport, sans relation avec
     le footer. Ils restent donc au même endroit dans les deux états du navigateur. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    position: absolute;
    z-index: 5;

    left: auto;
    right: clamp(24px, 7.2vw, 38px);
    top: calc(
      var(--msm-home-mobile-shift)
      + var(--msm-home-mobile-compose)
      - var(--msm-home-mobile-links-rise)
    );
    bottom: auto;

    margin: 0 !important;
    padding: 0 !important;
    transform: none;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links::before {
    display: none;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-nav {
    gap: 22px;
    align-items: flex-start;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link {
    min-height: 44px;
    display: inline-flex;
    align-items: flex-start;
    font-size: clamp(10.50px, 2.68vw, 11.05px);
    letter-spacing: 0.252em;
    padding: 7px 0 11px;

    color: rgba(22, 17, 13, 0.92);
    touch-action: manipulation;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link > span {
    gap: 0;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame {
    font-size: 1.03em;
    transform: translateX(3px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    padding-top: 0;
    font-size: 0.464em;
    font-weight: 300;
    line-height: 1;
    letter-spacing: 0.255em;
    color: rgba(22, 17, 13, 0.62);
    transform: translate(-1px, -100%);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-key {
    font-size: 1.25em;
    font-weight: 360;
    letter-spacing: 0.282em;
    color: rgba(15, 12, 9, 0.74);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    transform: translateX(-5px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    font-size: 0.86em;
    font-weight: 320;
    letter-spacing: 0.265em;
    color: rgba(22, 17, 13, 0.52);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after {
    width: 38px;
    height: 1px;
    bottom: 8px;
    transform: scaleY(0.30);
    transform-origin: left center;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame::before,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame::after {
    left: clamp(54px, calc(14.0vw + 3px), 60px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison::before,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison::after {
    width: 29px;
    left: 3px;
    bottom: 11px;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before {
    background: rgba(24, 18, 13, 0.26);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after {
    background: rgba(20, 15, 11, 0.44);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible::after {
    width: min(156px, 42vw);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus-visible::after {
    width: min(130px, 34vw);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    margin-left: 62px;
    font-size: 0.92em;
    color: rgba(22, 17, 13, 0.52);
  }

  /* Footer : une seule ligne, après le plus grand viewport possible.
     Les séparateurs reprennent le langage fin de la page BRAME. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-widget {
    position: absolute;
    z-index: 8;

    left: 0;
    right: 0;
    top: calc(
      var(--msm-home-mobile-shift)
      + var(--msm-home-mobile-visual)
      + var(--msm-home-mobile-footer-offset)
    );
    bottom: auto;

    width: 100%;
    margin: 0 !important;
    padding: 0 clamp(12px, 3.5vw, 18px) !important;

    background: transparent !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-widget .elementor-widget-container {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-mini {
    padding: 0 0 calc(env(safe-area-inset-bottom, 0px) + 18px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;

    font-size: clamp(7.10px, 1.95vw, 8.05px);
    letter-spacing: 0.085em;
    padding: 5px 0;
    color: rgba(28, 25, 21, 0.60);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a + a {
    margin-left: clamp(7px, 2.0vw, 11px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a + a::before {
    content: "";
    position: relative;
    display: inline-block;
    width: clamp(7px, 1.9vw, 10px);
    height: 1px;
    margin-right: clamp(7px, 2.0vw, 11px);
    background: rgba(28, 25, 21, 0.34);
    transform: scaleY(0.42);
    transform-origin: center;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a::after {
    display: none;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-footer-label-desktop {
    display: none;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-footer-label-mobile {
    display: inline;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-copy {
    display: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-copy {
    text-shadow: none;
  }
}

/* Écrans mobiles particulièrement étroits : la hiérarchie reste intacte
   sans que le mot-symbole ne rencontre la zone utilitaire. */
@media (max-width: 359px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    left: 24px;
    font-size: 13.10px;
    letter-spacing: 0.235em;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: 21px;
    width: calc(100vw - 48px);
    font-size: 8.05px;
    letter-spacing: 0.102em;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span:nth-child(2) {
    margin-left: -6px;
    transform: translateX(-10px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    right: 20px;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a {
    font-size: 6.90px;
    letter-spacing: 0.065em;
  }
}

/* Les écarts verticaux sont déjà fluides et bornés par clamp().
   Aucun media query fondé sur la hauteur n'est utilisé : l'ouverture ou la
   fermeture de la barre du navigateur ne peut donc changer de famille CSS. */

/* Sur tactile, aucun hover hérité ne doit rester accroché après l'appui. */
@media (max-width: 767px) and (hover: none),
       (max-width: 767px) and (pointer: coarse) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:active {
    color: rgba(22, 17, 13, 0.80) !important;
    letter-spacing: 0.252em !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:active::after {
    width: 38px !important;
    background: rgba(20, 15, 11, 0.44) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus-visible::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:active::after {
    width: 29px !important;
    background: rgba(20, 15, 11, 0.36) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:hover,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:focus-visible,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison:active {
    color: rgba(22, 17, 13, 0.60) !important;
  }
}

/* ============================================================
   APPARITION CHORALE — V65
   La zone tactile des liens est immédiatement active et reste immobile.
   Seuls le texte et les traits suivent la chorégraphie visuelle.
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link > span,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after {
  opacity: 0;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link {
  pointer-events: auto;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-title {
  animation: msm-home-entree-titre-v65 4.28s cubic-bezier(.19, .63, .24, 1) 0.08s both;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-manifeste span:nth-child(1) {
  animation: msm-home-entree-manifeste-1-v65 4.14s cubic-bezier(.18, .60, .23, 1) 0.25s both;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-manifeste span:nth-child(2) {
  animation: msm-home-entree-manifeste-2-v65 4.30s cubic-bezier(.20, .57, .25, 1) 0.41s both;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-link-brame > span {
  animation: msm-home-entree-lien-1-v65 4.39s cubic-bezier(.17, .62, .22, 1) 0.30s both;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-link-maison > span {
  animation: msm-home-entree-lien-2-v65 4.22s cubic-bezier(.20, .58, .25, 1) 0.53s both;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-link::before,
.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-play .msm-home-link::after {
  animation: msm-home-entree-trait-v65 3.70s cubic-bezier(.19, .63, .24, 1) 0.62s both;
}

.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-done .msm-home-title,
.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-done .msm-home-manifeste span,
.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-done .msm-home-link > span,
.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-done .msm-home-link::before,
.elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-intro-done .msm-home-link::after {
  opacity: 1;
  translate: 0 0;
  animation: none !important;
}

@keyframes msm-home-entree-titre-v65 {
  0% {
    opacity: 0;
    translate: 0 30px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes msm-home-entree-manifeste-1-v65 {
  0% {
    opacity: 0;
    translate: 0 -24px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes msm-home-entree-manifeste-2-v65 {
  0% {
    opacity: 0;
    translate: 0 -32px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes msm-home-entree-lien-1-v65 {
  0% {
    opacity: 0;
    translate: 0 38px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes msm-home-entree-lien-2-v65 {
  0% {
    opacity: 0;
    translate: 0 -22px;
  }
  100% {
    opacity: 1;
    translate: 0 0;
  }
}

@keyframes msm-home-entree-trait-v65 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media (scripting: none) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link > span,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after {
    opacity: 1;
    translate: 0 0;
    animation: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link {
    pointer-events: auto;
  }
}

/* ============================================================
   ACCESSIBILITE
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link > span,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image img,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-desktop img,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-hero-image-mobile img {
    transition: none !important;
    animation: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link > span,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after {
    opacity: 1 !important;
    translate: 0 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link {
    pointer-events: auto !important;
  }
}

/* ============================================================
   SUPPRESSION HALO TACTILE / FOCUS MOBILE
   ============================================================ */

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link *,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon *,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a * {
  -webkit-tap-highlight-color: transparent !important;
  -webkit-touch-callout: none;
  outline: none !important;
  box-shadow: none !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:active,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon:focus,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon:active,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon:focus-visible,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a:focus,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a:active,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  -webkit-tap-highlight-color: transparent !important;
}


/* ============================================================
   V81 — AJUSTEMENT MOBILE EXACT DE LA SIGNATURE
   Évolution depuis la V71 : +20 px à droite et -20 px verticalement.
   Position cumulée par rapport à la base V70 : +60 px horizontal / 0 px vertical.
   Cette règle finale prend autorité sur tous les breakpoints mobiles.
   ============================================================ */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    transform: translate(69px, 5px) !important;
  }
}


/* ============================================================
   V81 — FINITION MOBILE COLLECTION / BRAME
   - Collection réduit de 20 % par rapport à la V75 ;
   - opacité légèrement renforcée ;
   - coin inférieur droit du N placé à 2 px au-dessus et
     2 px à gauche du coin supérieur gauche du B de BRAME.
   ============================================================ */


/* ============================================================
   V81 — MICRO-AJUSTEMENTS MOBILES
   - Collection abaissé de 2 px ;
   - bloc Collection / BRAME et son trait déplacés de 3 px à droite ;
   - trait sous La Maison remonté de 3 px.
   ============================================================ */


/* ============================================================
   V81 — MICRO-AJUSTEMENTS DES TRAITS
   - mobile : trait sous La Maison déplacé de 2 px à droite ;
   - ordinateur : traits sous BRAME et La Maison abaissés de 4 px.
   ============================================================ */


/* ============================================================
   V81 — MICRO-AJUSTEMENTS D'OPACITÉ
   - mobile : signature légèrement atténuée ;
   - mobile : lien La Maison très légèrement renforcé ;
   - ordinateur : signature très légèrement atténuée.
   ============================================================ */


/* ============================================================
   V81 — MICRO-AJUSTEMENTS
   - mobile : bloc signature déplacé de 3 px vers la droite ;
   - ordinateur : opacité de La Maison très légèrement renforcée.
   ============================================================ */


/* ============================================================
   V81 — CONTINUITÉ PARFAITE DES TRAITS SUR ORDINATEUR
   Un seul trait réel est désormais affiché : le trait natif est
   exactement celui qui s'étire vers la droite au hover.
   ============================================================ */
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::before {
    display: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:hover::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link:focus-visible::after {
    height: 1px;
    background: rgba(14, 10, 7, 0.70) !important;
    transform: scaleY(0.38);
    transform-origin: left center;
  }
}















/* ==========================================================
   V82 — MASQUAGE DU FOOTER GLOBAL SUR LA PAGE D'ACCUEIL
   Le mini-footer intégré à la scène reste le seul footer visible.
   ========================================================== */

body.msm-home-page .msm-footer-global,
body:has(.msm-home) .msm-footer-global {
    display: none !important;
}

/* ============================================================
   V85 — CORRECTION DESKTOP ROBUSTE
   - composition V84 conservée ;
   - icônes compte / panier : abaissées de 30 px par rapport à la V85,
     avec priorité CSS explicite afin de conserver l’autorité
     sur une éventuelle règle Elementor plus spécifique ;
   - Collection et La Maison : opacité encore très légèrement renforcée ;
   - BRAME : opacité V84 conservée ;
   - mini-footer intégré : inchangé.
   ============================================================ */
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
    top: calc(
      var(--msm-home-crop-top)
      + clamp(18px, 2.7vh, 30px)
      - 17px
    ) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    transform: translate(-19px, -3px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    transform: translate(19px, -35px) scaleX(0.985);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    transform: translate(24px, 5px) scale(1.12);
    transform-origin: left top;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    color: rgba(22, 17, 13, 0.69);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    color: rgba(18, 14, 11, 0.88);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    color: rgba(22, 17, 13, 0.65);
  }
}


/* ============================================================
   V82 — REMONTÉE GLOBALE DE LA SCÈNE MOBILE
   Toute la composition est déplacée ensemble afin de supprimer
   la bande vide supérieure sans modifier les rapports internes
   entre photographie, nom, signature, liens et icônes.
   ============================================================ */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee {
    position: relative;
    top: -78px;
    margin-bottom: -78px !important;
  }
}

/* ============================================================
   V83 — AJUSTEMENTS FINAUX MOBILE
   - Maison Saint-Martin : 4 px vers la gauche / 10 px vers le bas ;
   - Collection et La Maison : opacité légèrement renforcée ;
   - BRAME : taille augmentée de 8 % uniquement ;
   - bloc Collection / BRAME / La Maison : 10 px vers le bas ;
   - icônes compte / panier : réapparition dans la zone visible,
     sans annuler la remontée globale de la scène.
   ============================================================ */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
    top: calc(
      var(--msm-home-mobile-shift)
      + var(--msm-home-mobile-shift)
      + env(safe-area-inset-top, 0px)
      + var(--msm-home-mobile-icons-top)
    - 22px
    ) !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget .elementor-widget-container,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icon {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 0.76 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    transform: translate(-4px, 10px);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    color: rgba(22, 17, 13, 0.70);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    font-size: 1.35em;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    color: rgba(22, 17, 13, 0.60);
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    transform: translateY(10px);
  }
}

/* ============================================================
   V86 — CORRECTION DIFFÉRENCIÉE DES ICÔNES
   - desktop : icônes abaissées de 30 px par rapport à la V85 ;
   - mobile : icônes remontées de 22 px par rapport à la V85 ;
   - tous les autres réglages V85 sont conservés.
   ============================================================ */

/* ============================================================
   V87 — MICRO-AJUSTEMENT INDIVIDUEL DES ICÔNES MOBILE
   - mobile uniquement ;
   - icône Mon compte : 5 px vers le haut ;
   - icône Panier : 4 px vers le haut ;
   - desktop et tous les autres réglages V86 : inchangés.
   ============================================================ */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon:first-child {
    position: relative !important;
    top: -5px !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-cart-icon {
    position: relative !important;
    top: -4px !important;
  }
}

/* ============================================================
   V88 — MICRO-AJUSTEMENTS FINAUX
   DESKTOP UNIQUEMENT :
   - icône Mon compte : 3 px vers le haut ;
   - icône Panier : 2 px vers le haut.

   MOBILE UNIQUEMENT :
   - Collection : opacité légèrement renforcée ;
   - La Maison : opacité légèrement renforcée.

   Tous les autres réglages V87 sont conservés.
   ============================================================ */
@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon:first-child {
    position: relative !important;
    top: -3px !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-cart-icon {
    position: relative !important;
    top: -2px !important;
  }
}

@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    color: rgba(22, 17, 13, 0.74) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    color: rgba(22, 17, 13, 0.64) !important;
  }
}

/* ============================================================
   V89 — OPACITÉ MOBILE ALIGNÉE SUR LES ICÔNES
   - Collection : opacité 0,76 ;
   - La Maison : opacité 0,76 ;
   - valeur identique à celle des icônes Mon compte et Panier ;
   - BRAME et tous les autres réglages V88 : inchangés.
   ============================================================ */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    color: rgb(22, 17, 13) !important;
    opacity: 0.76 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    color: rgb(22, 17, 13) !important;
    opacity: 0.76 !important;
  }
}

/* ============================================================
   V90 — NORMALISATION TYPOGRAPHIQUE MULTI-APPAREILS
   Les positions et les opacités V89 restent l'autorité visuelle.
   Cette couche évite l'épaississement artificiel des caractères
   lorsque le navigateur ne dispose pas exactement de la graisse
   demandée ou applique un agrandissement automatique du texte.
   ============================================================ */
html,
body {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-key,
.elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-footer-nav a {
  font-synthesis: none !important;
  font-synthesis-weight: none !important;
  font-optical-sizing: none !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

@media (min-width: 768px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    font-variation-settings: "wght" 190;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    font-variation-settings: "wght" 150;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    font-variation-settings: "wght" 300;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    font-variation-settings: "wght" 365;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    font-variation-settings: "wght" 325;
  }
}

@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    font-variation-settings: "wght" 300;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    font-variation-settings: "wght" 320;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    font-variation-settings: "wght" 300;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    font-variation-settings: "wght" 360;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    font-variation-settings: "wght" 320;
  }
}




/* ============================================================
   V93 — AJUSTEMENT FIN DU DESKTOP INTERMÉDIAIRE
   Référence : ordinateur standard Windows 1920 × 1080 à 125 %.

   Ajustements supplémentaires par rapport à la V92 :
   - signature : 20 px supplémentaires vers le haut ;
   - bloc Collection / BRAME / La Maison :
     15 px supplémentaires vers la gauche
     et 15 px supplémentaires vers le bas ;
   - autres réglages du palier intermédiaire : conservés.
   ============================================================ */
@media (min-width: 1380px) and (max-width: 1600px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    font-weight: 100 !important;
    font-variation-settings: "wght" 100 !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
    font-optical-sizing: none !important;
    -webkit-text-stroke: 0 transparent !important;
    text-shadow: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    font-weight: 120 !important;
    font-variation-settings: "wght" 120 !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
    transform: translate(-46px, -81px) scaleX(0.985) !important;
    transform-origin: left top;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    transform: translate(-15px, 31px) scale(1.12) !important;
    transform-origin: left top;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-label {
    font-weight: 250 !important;
    font-variation-settings: "wght" 250 !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    font-weight: 315 !important;
    font-variation-settings: "wght" 315 !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    font-weight: 280 !important;
    font-variation-settings: "wght" 280 !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
  }
}

/* ============================================================
   V95 — FINITION DU PETIT MOBILE
   Cible : mobiles dont le viewport CSS ne dépasse pas 374 px.

   Ajustements par rapport à la V94 :
   - Maison Saint-Martin : 5 px plus bas ;
   - icônes Mon compte / Panier :
     réduction visuelle de 5 % et descente de 3 px ;
   - signature :
     20 px vers la gauche et 4 px vers le bas ;
   - Collection + BRAME uniquement :
     3 px vers la droite et 12 px vers le bas ;
   - La Maison conserve strictement sa position V94 ;
   - photographie, mini-footer, mobile de référence,
     Surface et desktop intermédiaire : inchangés.
   ============================================================ */
@media (max-width: 374px) {
  html,
  body,
  body.msm-home-page,
  .elementor-22 .elementor-element.elementor-element-1e45eee,
  .elementor-22 .elementor-element.elementor-element-1e45eee * {
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
    transform: translateY(-7px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons {
    transform: scale(0.95) !important;
    transform-origin: right top !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    left: 24px !important;
    font-size: 12.65px !important;
    letter-spacing: 0.225em !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
    transform: translate(-4px, 5px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: 21px !important;
    width: calc(100vw - 44px) !important;
    font-size: 8.05px !important;
    letter-spacing: 0.102em !important;
    font-synthesis: none !important;
    font-synthesis-weight: none !important;
    transform: translate(59px, -16px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste span:nth-child(2) {
    margin-left: -6px;
    transform: translateX(-10px);
  }

  /* Le conteneur global garde exactement sa position V94 :
     La Maison ne bouge donc pas. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    right: 16px !important;
    transform: translateY(50px) !important;
  }

  /* Seul le premier lien, qui regroupe Collection et BRAME,
     reçoit le déplacement complémentaire demandé. */
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame {
    position: relative !important;
    left: 3px !important;
    top: 12px !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    font-size: 1.25em !important;
  }
}

/* Dernier garde-fou pour les écrans réellement très étroits. */
@media (max-width: 339px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    left: 22px !important;
    font-size: 12.20px !important;
    letter-spacing: 0.210em !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: 18px !important;
    width: calc(100vw - 38px) !important;
    font-size: 7.85px !important;
    transform: translate(54px, -16px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    right: 12px !important;
  }
}

/* ============================================================
   V96 — MICRO-FINITION DU PETIT MOBILE
   Cible : mobiles dont le viewport CSS ne dépasse pas 374 px.

   Ajustements supplémentaires par rapport à la V95 :
   - signature : 15 px vers la gauche et 2 px vers le bas ;
   - icônes Mon compte / Panier : 2 px vers le bas ;
   - La Maison : interlettrage réduit afin d'obtenir une largeur
     optique équivalente à BRAME, sans modifier sa taille,
     sa graisse, son opacité ni sa position verticale ;
   - tous les autres réglages V95 sont conservés.
   ============================================================ */
@media (max-width: 374px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
    transform: translateY(-5px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    transform: translate(44px, -14px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    letter-spacing: 0.235em !important;
    transform: translateX(2px) !important;
  }
}

/* Même correction relative sur les écrans réellement très étroits. */
@media (max-width: 339px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    transform: translate(39px, -14px) !important;
  }
}

/* ============================================================
   V97 — FINITION VISUELLE DU PETIT MOBILE
   Cible : mobiles dont le viewport CSS ne dépasse pas 374 px.

   Ajustements supplémentaires par rapport à la V96 :
   - signature : 3 px supplémentaires vers la gauche ;
   - bloc Collection / BRAME / La Maison :
     10 px supplémentaires vers le bas ;
   - La Maison : 2 px vers la gauche ;
   - Collection : opacité légèrement renforcée ;
   - BRAME : opacité légèrement renforcée ;
   - tous les autres réglages V96 sont conservés.
   ============================================================ */
@media (max-width: 374px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    transform: translate(41px, -14px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    transform: translateY(60px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    position: relative !important;
    left: -2px !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-label {
    opacity: 0.82 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key {
    color: rgba(15, 12, 9, 0.80) !important;
  }
}

/* Même correction relative de signature sous 340 px. */
@media (max-width: 339px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    transform: translate(36px, -14px) !important;
  }
}

/* ============================================================
   V98 — CURSEUR COUTURE SUR LA PAGE D'ACCUEIL
   Reprise fidèle du curseur Atlas / Collection :
   - même flèche courte ;
   - même double tracé sombre / lumière ;
   - même traîne très légère et quasi directe ;
   - état plus précis sur les liens ;
   - aucune activation sur mobile, tactile ou reduced-motion ;
   - aucun blocage des clics grâce à pointer-events:none.
   ============================================================ */
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  html.msm-home-cursor-global-v98,
  html.msm-home-cursor-global-v98 body,
  body.msm-home-page.msm-home-cursor-global-v98 .msm-home,
  body.msm-home-page.msm-home-cursor-global-v98 .msm-home * {
    cursor: none !important;
  }

  .msm-home-cursor-couture-v98 {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 2147483646 !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    isolation: isolate !important;
    mix-blend-mode: normal !important;
    transform: translate3d(-200px, -200px, 0);
    transition: opacity 260ms cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    will-change: transform, opacity !important;
  }

  .msm-home-cursor-couture-v98.is-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
  }

  .msm-home-cursor-couture-svg-v98 {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 56px !important;
    height: 62px !important;
    overflow: visible !important;
  }

  .msm-home-cursor-couture-fleche-lumiere-v98,
  .msm-home-cursor-couture-fleche-v98,
  .msm-home-cursor-couture-lumiere-v98,
  .msm-home-cursor-couture-trait-v98 {
    fill: none !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke !important;
  }

  .msm-home-cursor-couture-fleche-lumiere-v98,
  .msm-home-cursor-couture-lumiere-v98 {
    stroke: rgba(250, 248, 242, 0.82) !important;
    stroke-width: 2.12px !important;
  }

  .msm-home-cursor-couture-fleche-v98,
  .msm-home-cursor-couture-trait-v98 {
    stroke: rgba(18, 17, 15, 0.92) !important;
    stroke-width: 1.18px !important;
  }

  .msm-home-cursor-couture-point-v98 {
    opacity: 0 !important;
    fill: rgba(23, 20, 17, 0.88) !important;
    stroke: rgba(246, 244, 238, 0.52) !important;
    stroke-width: 0.42px !important;
  }

  .msm-home-cursor-couture-v98.is-link .msm-home-cursor-couture-fleche-v98 {
    stroke: rgba(20, 18, 16, 0.98) !important;
  }

  .msm-home-cursor-couture-v98.is-link .msm-home-cursor-couture-trait-v98 {
    stroke: rgba(20, 18, 16, 0.52) !important;
    opacity: 0.40 !important;
  }

  .msm-home-cursor-couture-v98.is-dark-bg .msm-home-cursor-couture-fleche-v98,
  .msm-home-cursor-couture-v98.is-dark-bg .msm-home-cursor-couture-trait-v98 {
    stroke: rgba(252, 250, 244, 0.92) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .msm-home-cursor-couture-v98 {
    display: none !important;
  }
}

/* ============================================================
   V99 — AUCUNE SÉLECTION NI GLISSEMENT NATIF SUR L'ACCUEIL
   - aucun surlignage bleu des textes ;
   - aucune prévisualisation de lien pendant un glissement ;
   - aucune image ou icône déplaçable ;
   - les clics, le clavier et le curseur couture restent fonctionnels.
   ============================================================ */
.elementor-22 .elementor-element.elementor-element-1e45eee,
.elementor-22 .elementor-element.elementor-element-1e45eee * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  -webkit-touch-callout: none !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee a,
.elementor-22 .elementor-element.elementor-element-1e45eee a *,
.elementor-22 .elementor-element.elementor-element-1e45eee img,
.elementor-22 .elementor-element.elementor-element-1e45eee svg,
.elementor-22 .elementor-element.elementor-element-1e45eee svg * {
  -webkit-user-drag: none !important;
  user-drag: none !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee::selection,
.elementor-22 .elementor-element.elementor-element-1e45eee *::selection {
  color: inherit !important;
  background: transparent !important;
  text-shadow: inherit !important;
}

.elementor-22 .elementor-element.elementor-element-1e45eee::-moz-selection,
.elementor-22 .elementor-element.elementor-element-1e45eee *::-moz-selection {
  color: inherit !important;
  background: transparent !important;
  text-shadow: inherit !important;
}

/* ============================================================
   V100 — CORRECTION CIBLÉE FORMAT iPHONE 14
   Détection JavaScript : iOS + écran CSS 390 × 844 en portrait.

   Seule modification :
   - bloc Collection / BRAME / La Maison descendu de 65 px
     par rapport à sa position V99.
   - aucun autre élément ni aucun autre format n'est modifié.
   ============================================================ */
@media (max-width: 767px) {
  .elementor-22 .elementor-element.elementor-element-1e45eee.msm-home-format-iphone14-v100 .msm-home-links {
    transform: translateY(75px) !important;
  }
}

/* ============================================================
   V101 — COMPOSITION DÉDIÉE AUX TÉLÉPHONES EN PAYSAGE
   Cible stricte :
   - orientation paysage ;
   - hauteur de viewport inférieure ou égale à 500 px ;
   - pointeur principal tactile ;
   - largeur comprise entre 768 et 1180 px.

   Modifications limitées :
   - la photographie reste strictement inchangée ;
   - Maison Saint-Martin et les icônes restent strictement inchangés ;
   - la signature est déplacée vers la zone claire supérieure droite ;
   - Collection / BRAME / La Maison sont déplacés vers la zone claire
     inférieure droite et très légèrement réduits.
   ============================================================ */
@media
  (min-width: 768px)
  and (max-width: 1180px)
  and (max-height: 500px)
  and (orientation: landscape)
  and (pointer: coarse) {

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: clamp(468px, 61vw, 720px) !important;
    right: auto !important;
    top: -10px !important;

    font-size: clamp(8.80px, 1.12vw, 10.60px) !important;
    line-height: 1.45 !important;
    letter-spacing: 0.150em !important;

    color: rgba(18, 14, 11, 0.82) !important;
    opacity: 0.92 !important;

    transform: none !important;
    transform-origin: left top !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    left: auto !important;
    right: clamp(28px, 6vw, 64px) !important;
    top: auto !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;

    transform: scale(0.98) !important;
    transform-origin: right bottom !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links::before {
    display: none !important;
  }
}

/* ============================================================
   V102 — AFFINAGE PAYSAGE MOBILE
   Cible stricte :
   - téléphones tactiles ;
   - orientation paysage ;
   - largeur 768 à 1180 px ;
   - hauteur maximale 500 px.

   Ajustements demandés :
   - Maison Saint-Martin : +15 px à droite, -20 px vers le haut,
     opacité nettement renforcée ;
   - signature : -50 px à gauche, -40 px vers le haut,
     opacité fortement renforcée ;
   - bloc Collection / BRAME : déplacé nettement vers la gauche ;
   - La Maison placé à droite de BRAME, sur une lecture horizontale ;
   - icônes : opacité renforcée.
   ============================================================ */
@media
  (min-width: 768px)
  and (max-width: 1180px)
  and (max-height: 500px)
  and (orientation: landscape)
  and (pointer: coarse) {

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    transform: translate(1px, -8px) !important;
    color: rgba(19, 14, 11, 0.92) !important;
    opacity: 0.98 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget {
    opacity: 0.95 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon a,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon svg {
    opacity: 0.95 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: clamp(372px, 53vw, 620px) !important;
    right: auto !important;
    top: -50px !important;

    font-size: clamp(9.00px, 1.10vw, 10.90px) !important;
    line-height: 1.46 !important;
    letter-spacing: 0.155em !important;

    color: rgba(17, 13, 10, 0.90) !important;
    opacity: 0.96 !important;

    transform: none !important;
    transform-origin: left top !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-end !important;
    gap: clamp(46px, 5.2vw, 72px) !important;

    left: auto !important;
    right: clamp(216px, 18vw, 272px) !important;
    top: auto !important;
    bottom: max(18px, env(safe-area-inset-bottom, 0px)) !important;

    transform: scale(0.98) !important;
    transform-origin: right bottom !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links::before {
    display: none !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    margin-left: 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame {
    transform: translateX(-8px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    transform: translate(0, -2px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-label {
    color: rgba(18, 14, 11, 0.86) !important;
    opacity: 1 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    color: rgba(14, 11, 9, 0.90) !important;
    opacity: 1 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison::after {
    background: rgba(18, 14, 11, 0.52) !important;
  }
}

/* ============================================================
   V103 — PAYSAGE MOBILE : LISIBILITÉ ET RECOMPOSITION
   Cible stricte :
   - téléphones tactiles ;
   - orientation paysage ;
   - largeur 768 à 1180 px ;
   - hauteur maximale 500 px.

   Ajustements demandés :
   - Maison Saint-Martin : lisiblement plus opaque ;
   - signature : lisiblement plus opaque ;
   - Collection / BRAME : encore déplacé vers la gauche ;
   - La Maison : mis à droite de Collection / BRAME ;
   - icônes : opacité renforcée.
   ============================================================ */
@media
  (min-width: 768px)
  and (max-width: 1180px)
  and (max-height: 500px)
  and (orientation: landscape)
  and (pointer: coarse) {

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-title {
    color: rgba(17, 13, 10, 0.96) !important;
    opacity: 1 !important;
    text-shadow: 0 0 0.01px rgba(17, 13, 10, 0.20) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons-widget,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon a,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-header-icons .msm-home-header-icon svg {
    opacity: 0.98 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-manifeste {
    left: clamp(322px, 46vw, 570px) !important;
    top: -52px !important;
    color: rgba(17, 13, 10, 0.96) !important;
    opacity: 1 !important;
    text-shadow: 0 0 0.01px rgba(17, 13, 10, 0.18) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    display: grid !important;
    grid-template-columns: auto auto !important;
    grid-template-areas: "brame maison" !important;
    align-items: end !important;
    column-gap: clamp(42px, 5vw, 64px) !important;
    row-gap: 0 !important;

    left: auto !important;
    right: clamp(408px, 31vw, 520px) !important;
    top: auto !important;
    bottom: max(20px, env(safe-area-inset-bottom, 0px)) !important;

    transform: scale(0.98) !important;
    transform-origin: right bottom !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame {
    grid-area: brame !important;
    margin-left: 0 !important;
    transform: translateX(-8px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    grid-area: maison !important;
    margin-left: 0 !important;
    font-size: 0.94em !important;
    transform: translate(0, -1px) !important;
    align-self: end !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-label,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-label {
    color: rgba(18, 14, 11, 0.92) !important;
    opacity: 1 !important;
    text-shadow: 0 0 0.01px rgba(18, 14, 11, 0.16) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame .msm-home-link-key,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison .msm-home-link-key {
    color: rgba(15, 12, 9, 0.96) !important;
    opacity: 1 !important;
    text-shadow: 0 0 0.01px rgba(15, 12, 9, 0.16) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame::after,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison::after {
    background: rgba(19, 14, 11, 0.58) !important;
  }
}

/* ============================================================
   V104 — PAYSAGE MOBILE : LA MAISON À DROITE DE BRAME
   Cible stricte :
   - téléphones tactiles ;
   - orientation paysage ;
   - largeur 768 à 1180 px ;
   - hauteur maximale 500 px.

   Ajustement unique demandé :
   - le lien "La Maison" passe à droite de "BRAME" ;
   - les deux liens sont sur une même ligne horizontale.
   ============================================================ */
@media
  (min-width: 768px)
  and (max-width: 1180px)
  and (max-height: 500px)
  and (orientation: landscape)
  and (pointer: coarse) {

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-links {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: clamp(52px, 5.2vw, 78px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame,
  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    align-self: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-brame {
    order: 1 !important;
    transform: translateX(-8px) !important;
  }

  .elementor-22 .elementor-element.elementor-element-1e45eee .msm-home-link-maison {
    order: 2 !important;
    transform: translate(0, 0) !important;
  }
}/* End custom CSS */