/* ==========================================================================
   MSD SARL — Accueil (transposition de prototype/index.html + style.css).
   Les contenus sont des widgets Elementor Free ; ce fichier porte la mise
   en page du prototype via les classes CSS assignées dans Elementor.
   Préfixe .msd-home .elementor.elementor : prime sur les styles par défaut d'Elementor.
   ========================================================================== */

/* ---------- Neutralisation des réglages par défaut d'Elementor ---------- */

.msd-home .elementor.elementor {
  font-family: var(--msd-font-sans);
  font-size: calc(15 * var(--msd-s));
  line-height: 1.3;
  color: var(--msd-text-on-dark);
  --kit-widget-spacing: 0px;
}
.msd-home .elementor.elementor .e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --padding-block-start: 0px; --padding-block-end: 0px; --padding-inline-start: 0px; --padding-inline-end: 0px;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --width: 100%;
  min-width: 0;
}
.msd-home .elementor.elementor .elementor-widget,
.msd-home .elementor.elementor .elementor-widget:not(:last-child) { margin-block: 0; }
.msd-home .elementor.elementor p { margin: 0; }
.msd-home .elementor.elementor .elementor-heading-title { margin: 0; padding: 0; font: inherit; color: inherit; line-height: inherit; }
.msd-home .elementor.elementor .elementor-button-wrapper { display: block; }

/* ---------- Éléments partagés ---------- */

.msd-home .elementor.elementor .msd-eyebrow .elementor-heading-title {
  display: flex; align-items: center;
  font-family: var(--msd-font-sans); font-weight: 500;
  font-size: calc(11.5 * var(--msd-s)); letter-spacing: .2em; line-height: 1.3;
  text-transform: uppercase; color: var(--msd-muted-gold);
}
.msd-home .elementor.elementor .msd-eyebrow span { margin: 0 calc(8 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-eyebrow--line .elementor-heading-title::after {
  content: ""; flex: none; width: calc(32 * var(--msd-s)); height: 1.5px;
  margin-left: calc(16 * var(--msd-s)); background: var(--msd-muted-gold);
}

/* Boutons (widget Bouton) */
.msd-home .elementor.elementor .msd-cta .elementor-button {
  display: inline-flex; align-items: center; justify-content: center;
  height: calc(36 * var(--msd-s)); padding: 0 calc(20 * var(--msd-s));
  border-radius: 2px; border: 1.5px solid var(--msd-muted-gold);
  font-family: var(--msd-font-sans); font-weight: 500; font-size: calc(14.5 * var(--msd-s)); line-height: 1;
  transition: background-color .2s, color .2s;
}
.msd-home .elementor.elementor .msd-cta--gold .elementor-button { min-width: calc(228 * var(--msd-s)); background: var(--msd-muted-gold); color: var(--msd-forest-black); }
.msd-home .elementor.elementor .msd-cta--gold .elementor-button:hover,
.msd-home .elementor.elementor .msd-cta--gold .elementor-button:focus { background: var(--msd-gold-soft); color: var(--msd-forest-black); }
.msd-home .elementor.elementor .msd-cta--outline .elementor-button { min-width: calc(180 * var(--msd-s)); background: rgba(11, 15, 13, .35); color: var(--msd-muted-gold); }
.msd-home .elementor.elementor .msd-cta--outline .elementor-button:hover,
.msd-home .elementor.elementor .msd-cta--outline .elementor-button:focus { background: rgba(168, 138, 74, .16); color: var(--msd-muted-gold); }

/* Flèche (même tracé que le prototype) */
.msd-home .elementor.elementor .msd-cta--arrow .elementor-button-content-wrapper::after,
.msd-home .elementor.elementor .msd-more .elementor-button-content-wrapper::after {
  content: ""; flex: none;
  width: calc(15 * var(--msd-s)); height: calc(10 * var(--msd-s));
  margin-left: calc(14 * var(--msd-s));
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M1 6H18M13 1L18 6L13 11' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M1 6H18M13 1L18 6L13 11' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.msd-home .elementor.elementor .elementor-button-content-wrapper { display: inline-flex; align-items: center; }

/* ---------- Hero ---------- */

.msd-home .elementor.elementor .msd-hero.e-con {
  display: block; position: relative; overflow: hidden;
  min-height: calc(460 * var(--msd-s));
  padding: calc(76 * var(--msd-s)) 0 calc(16 * var(--msd-s));
  background: var(--msd-forest-black);
}
.msd-home .elementor.elementor .msd-hero__media {
  position: absolute; top: 0; right: 0; bottom: 0; left: 37%;
  width: auto; max-width: none; z-index: 0;
}
.msd-home .elementor.elementor .msd-hero__media .elementor-widget-container { height: 100%; }
.msd-home .elementor.elementor .msd-hero__media img {
  display: block; width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: 72% 45%;
}
.msd-home .elementor.elementor .msd-hero__media::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, var(--msd-forest-black) 0%, rgba(11, 15, 13, .82) 14%, rgba(11, 15, 13, .25) 34%, rgba(11, 15, 13, 0) 50%),
    linear-gradient(0deg, rgba(11, 15, 13, .55) 0%, rgba(11, 15, 13, 0) 30%);
}
/* Lignes topographiques dorées */
.msd-home .elementor.elementor .msd-hero.e-con::before {
  content: ""; display: block; position: absolute; z-index: 1;
  left: 34%; top: 38%; width: 42%; height: 62%; inset-inline-end: auto; bottom: auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 400' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23a88a4a' stroke-width='1' vector-effect='non-scaling-stroke'%3E%3Cpath d='M150 0 C220 60 120 120 210 170 S330 250 280 320 S380 380 430 400'/%3E%3Cpath d='M168 0 C238 60 138 120 228 170 S348 250 298 320 S398 380 448 400'/%3E%3Cpath d='M186 0 C256 60 156 120 246 170 S366 250 316 320 S416 380 466 400'/%3E%3Cpath d='M204 0 C274 60 174 120 264 170 S384 250 334 320 S434 380 484 400'/%3E%3Cpath d='M222 0 C292 60 192 120 282 170 S402 250 352 320 S452 380 502 400'/%3E%3Cpath d='M240 0 C310 60 210 120 300 170 S420 250 370 320 S470 380 520 400'/%3E%3Cpath d='M258 0 C328 60 228 120 318 170 S438 250 388 320 S488 380 538 400'/%3E%3C/g%3E%3C/svg%3E") no-repeat 0 0 / 100% 100%;
  opacity: .55; pointer-events: none; mix-blend-mode: normal;
}
.msd-home .elementor.elementor .msd-hero__content.e-con {
  display: block; position: relative; z-index: 2;
  padding: calc(26 * var(--msd-s)) 0 0 calc(52 * var(--msd-s));
}
.msd-home .elementor.elementor .msd-hero__title { margin-top: calc(6 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-hero__title .elementor-heading-title {
  font-family: var(--msd-font-serif); font-weight: 700;
  font-size: calc(71 * var(--msd-s)); line-height: .775; letter-spacing: -.01em;
  color: var(--msd-warm-ivory);
}
.msd-home .elementor.elementor .msd-hero__title span,
.msd-home .elementor.elementor .msd-hero__title em { display: block; }
.msd-home .elementor.elementor .msd-hero__title em { font-style: italic; color: var(--msd-muted-gold); }
.msd-home .elementor.elementor .msd-hero__text {
  max-width: calc(500 * var(--msd-s)); margin-top: calc(8 * var(--msd-s));
  font-size: calc(16 * var(--msd-s)); line-height: 1.22; color: var(--msd-warm-ivory);
}
.msd-home .elementor.elementor .msd-hero__actions.e-con {
  display: flex; flex-direction: row; flex-wrap: nowrap; gap: calc(17 * var(--msd-s));
  margin-top: calc(14 * var(--msd-s)); width: auto;
}
.msd-home .elementor.elementor .msd-hero__actions > .elementor-widget { width: auto; flex: none; }
.msd-home .elementor.elementor .msd-hero__aside {
  position: absolute; left: calc(833 * var(--msd-s)); top: calc(370 * var(--msd-s)); z-index: 2;
  width: auto; max-width: none;
  padding: calc(4 * var(--msd-s)) 0 calc(4 * var(--msd-s)) calc(19 * var(--msd-s));
  border-left: 1.5px solid var(--msd-muted-gold);
  font-family: var(--msd-font-sans); font-size: calc(12.5 * var(--msd-s)); line-height: 1.38;
  letter-spacing: .12em; text-transform: uppercase; color: var(--msd-warm-ivory);
}
.msd-home .elementor.elementor .msd-hero__aside::after {
  content: ""; display: block; width: calc(30 * var(--msd-s)); height: 1.5px;
  margin-top: calc(10 * var(--msd-s)); background: var(--msd-muted-gold);
}

/* ---------- Activités (mosaïque) ---------- */

.msd-home .elementor.elementor .msd-activities.e-con { display: grid; gap: 2px; background: var(--msd-mosaic-rule); border-top: 2px solid var(--msd-mosaic-rule); }
.msd-home .elementor.elementor .msd-row.e-con { display: grid; gap: 2px; }
.msd-home .elementor.elementor .msd-row--1.e-con { grid-template-columns: 510fr 512fr; min-height: calc(245 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-row--2.e-con { grid-template-columns: 333fr 689fr; min-height: calc(212 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-row--3.e-con { grid-template-columns: 362fr 243fr 187fr 228fr; min-height: calc(242 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-row > .elementor-element { width: auto; max-width: none; min-width: 0; }

.msd-home .elementor.elementor .msd-tile { position: relative; overflow: hidden; }
.msd-home .elementor.elementor .msd-tile--photo .elementor-widget-container { position: static; }
.msd-home .elementor.elementor .msd-tile--photo img {
  position: absolute; inset: 0; display: block;
  width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 50%;
}
.msd-home .elementor.elementor .msd-pos-agri img { object-position: 50% 38%; }
.msd-home .elementor.elementor .msd-pos-briques img { object-position: 50% 45%; }
.msd-home .elementor.elementor .msd-pos-equipe img { object-position: 50% 30%; }
.msd-home .elementor.elementor .msd-pos-lampe img { object-position: 50% 38%; }

.msd-home .elementor.elementor .msd-panel.e-con {
  display: flex; flex-direction: column; align-items: flex-start; position: relative; overflow: hidden;
  background:
    radial-gradient(120% 90% at 0% 0%, rgba(40, 88, 66, .28) 0%, rgba(40, 88, 66, 0) 60%),
    linear-gradient(160deg, var(--msd-deep-forest) 0%, var(--msd-green-800) 55%, var(--msd-green-850) 100%);
  color: var(--msd-text-on-dark);
}
.msd-home .elementor.elementor .msd-panel > .elementor-element { position: relative; z-index: 1; width: auto; max-width: 100%; }
.msd-home .elementor.elementor .msd-panel__head.e-con { display: flex; flex-direction: row; align-items: center; }
.msd-home .elementor.elementor .msd-panel__head.e-con::after {
  content: ""; flex: none; display: block; position: static;
  width: calc(46 * var(--msd-s)); height: calc(46 * var(--msd-s));
  border: 1.5px solid var(--msd-muted-gold); border-radius: 50%;
  background: no-repeat center / 55% 55%;
}
.msd-home .elementor.elementor .msd-icon-leaf.e-con::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a88a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V11M12 11c0-4 3-7 8-7 0 4-3 7-8 7zM12 14c0-3.3-2.5-6-7-6 0 3.3 2.5 6 7 6z'/%3E%3C/svg%3E"); }
.msd-home .elementor.elementor .msd-icon-build.e-con::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a88a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9h6v11M10 20V5h7v4M3 20h18M13 12h7v8h-7zM13 16h7M16.5 12v4M6 12h2M6 15h2M12.5 8h2'/%3E%3C/svg%3E"); }
.msd-home .elementor.elementor .msd-icon-team.e-con::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a88a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='16' cy='9' r='2.5'/%3E%3Cpath d='M3.5 19v-1.5A4.5 4.5 0 0 1 8 13h2a4.5 4.5 0 0 1 4.5 4.5V19zM14.5 14.2A3.8 3.8 0 0 1 20.5 17.5V19h-6'/%3E%3C/svg%3E"); }
.msd-home .elementor.elementor .msd-icon-bulb.e-con::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a88a4a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2V16h5v-.1c0-.8.4-1.5 1-2A6 6 0 0 0 12 3zM12 9v4M10.5 10.5 12 9l1.5 1.5'/%3E%3C/svg%3E"); }

.msd-home .elementor.elementor .msd-num .elementor-heading-title {
  display: inline-flex; align-items: center;
  font-family: var(--msd-font-sans); font-size: calc(12.5 * var(--msd-s)); line-height: 1.3;
  color: var(--msd-muted-gold); letter-spacing: .04em;
}
.msd-home .elementor.elementor .msd-num .elementor-heading-title::after {
  content: ""; width: calc(22 * var(--msd-s)); height: 1.5px;
  margin: 0 calc(15 * var(--msd-s)); background: var(--msd-muted-gold);
}
.msd-home .elementor.elementor .msd-panel__title .elementor-heading-title {
  font-family: var(--msd-font-serif); font-weight: 700; color: var(--msd-warm-ivory);
  line-height: .98; letter-spacing: -.012em;
}
.msd-home .elementor.elementor .msd-panel__title em { display: block; font-style: italic; color: var(--msd-muted-gold); }
.msd-home .elementor.elementor .msd-panel__text { color: var(--msd-text-on-dark); }

.msd-home .elementor.elementor .msd-more .elementor-button {
  display: inline-flex; align-items: center; padding: 0; border: 0; border-radius: 0; background: none;
  font-family: var(--msd-font-serif); font-weight: 400; line-height: 1.3; color: var(--msd-muted-gold);
  text-decoration: underline; text-decoration-color: var(--msd-muted-gold); text-decoration-thickness: 1px;
  text-underline-offset: calc(6 * var(--msd-s));
}
.msd-home .elementor.elementor .msd-more .elementor-button:hover,
.msd-home .elementor.elementor .msd-more .elementor-button:focus { background: none; color: var(--msd-gold-soft); }
.msd-home .elementor.elementor .msd-more .elementor-button-content-wrapper::after { background: var(--msd-warm-ivory); }

/* Panneau 01 */
.msd-home .elementor.elementor .msd-panel--01.e-con { padding: calc(10 * var(--msd-s)) calc(30 * var(--msd-s)) calc(14 * var(--msd-s)) calc(34 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--01 .msd-panel__title { margin-top: calc(6 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--01 .msd-panel__title .elementor-heading-title { font-size: calc(38 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--01 .msd-panel__text { max-width: calc(400 * var(--msd-s)); margin-top: calc(4 * var(--msd-s)); font-size: calc(14 * var(--msd-s)); line-height: 1.3; }
.msd-home .elementor.elementor .msd-panel--01 .msd-more { margin-top: calc(3 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--01 .msd-more .elementor-button { font-size: calc(14 * var(--msd-s)); }

/* Panneau 02 */
.msd-home .elementor.elementor .msd-panel--02.e-con { padding: calc(6 * var(--msd-s)) calc(18 * var(--msd-s)) calc(12 * var(--msd-s)) calc(44 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--02 .msd-panel__title .elementor-heading-title { font-size: calc(31 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--02 .msd-panel__text { margin-top: calc(4 * var(--msd-s)); font-size: calc(13.5 * var(--msd-s)); line-height: 1.27; }
.msd-home .elementor.elementor .msd-panel--02 .msd-more { margin-top: calc(3 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--02 .msd-more .elementor-button { font-size: calc(14 * var(--msd-s)); }

/* Panneau 03 */
.msd-home .elementor.elementor .msd-panel--03.e-con { padding: calc(10 * var(--msd-s)) calc(8 * var(--msd-s)) calc(12 * var(--msd-s)) calc(18 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--03 .msd-panel__title { margin-top: calc(4 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--03 .msd-panel__title .elementor-heading-title { font-size: calc(29 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--03 .msd-panel__title em { display: inline; }
.msd-home .elementor.elementor .msd-panel--03 .msd-panel__text { margin-top: calc(12 * var(--msd-s)); font-size: calc(13 * var(--msd-s)); line-height: 1.32; }
.msd-home .elementor.elementor .msd-panel--03 .msd-more { margin-top: calc(18 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--03 .msd-more .elementor-button { font-size: calc(14 * var(--msd-s)); }

/* Panneau 04 */
.msd-home .elementor.elementor .msd-panel--04.e-con { padding: calc(4 * var(--msd-s)) calc(10 * var(--msd-s)) calc(10 * var(--msd-s)) calc(23 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--04 .msd-panel__head.e-con::after { width: calc(44 * var(--msd-s)); height: calc(44 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--04 .msd-panel__title { margin-top: calc(2 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--04 .msd-panel__title .elementor-heading-title { font-size: calc(23.5 * var(--msd-s)); line-height: .96; }
.msd-home .elementor.elementor .msd-panel--04 .msd-panel__text { margin-top: calc(2 * var(--msd-s)); font-size: calc(12.5 * var(--msd-s)); line-height: 1.22; }
.msd-home .elementor.elementor .msd-panel--04 .msd-more { margin-top: calc(1 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-panel--04 .msd-more .elementor-button { font-size: calc(14 * var(--msd-s)); }

/* Lignes de relief dorées (panneau 01) */
.msd-home .elementor.elementor .msd-panel--lines.e-con::before {
  content: ""; display: block; position: absolute; z-index: 0;
  top: 0; right: 0; left: auto; bottom: auto; width: 38%; height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 245' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23a88a4a' stroke-width='.8'%3E%3Cpath d='M200 20 C150 40 180 80 130 110 S170 190 120 245'/%3E%3Cpath d='M200 35 C160 55 190 92 142 120 S182 198 134 245'/%3E%3Cpath d='M200 50 C170 70 200 104 154 130 S194 206 148 245'/%3E%3Cpath d='M200 65 C180 85 208 116 166 140 S204 214 162 245'/%3E%3Cpath d='M200 80 C190 100 214 128 178 150 S212 222 176 245'/%3E%3Cpath d='M120 0 C140 20 170 10 200 5'/%3E%3C/g%3E%3C/svg%3E") no-repeat right top / 100% 100%;
  opacity: .5; pointer-events: none;
}

/* Panneaux clairs (Warm Ivory) */
.msd-home .elementor.elementor .msd-panel--light.e-con { background: linear-gradient(160deg, var(--msd-warm-ivory) 0%, #ebe7dc 100%); color: var(--msd-ink-soft); }
.msd-home .elementor.elementor .msd-panel--light .msd-panel__title .elementor-heading-title { color: var(--msd-forest-black); }
.msd-home .elementor.elementor .msd-panel--light .msd-panel__text { color: var(--msd-ink-soft); }
.msd-home .elementor.elementor .msd-panel--light .msd-more .elementor-button { color: var(--msd-deep-forest); }
.msd-home .elementor.elementor .msd-panel--light .msd-more .elementor-button:hover { color: var(--msd-muted-gold); }
.msd-home .elementor.elementor .msd-panel--light .msd-more .elementor-button-content-wrapper::after { background: var(--msd-deep-forest); }

/* ---------- Chaîne de valeur (secteurs) ---------- */

.msd-home .elementor.elementor .msd-sectors.e-con {
  display: grid; grid-template-columns: calc(350 * var(--msd-s)) 1fr; position: relative;
  min-height: calc(270 * var(--msd-s));
  padding: calc(26 * var(--msd-s)) 0 calc(24 * var(--msd-s)) calc(53 * var(--msd-s));
  background: var(--msd-warm-ivory); color: var(--msd-forest-black);
  border-top: 2px solid var(--msd-mosaic-rule);
}
.msd-home .elementor.elementor .msd-sectors__intro.e-con { display: block; }
.msd-home .elementor.elementor .msd-sectors .msd-eyebrow .elementor-heading-title { font-size: calc(11.5 * var(--msd-s)); letter-spacing: .1em; }
.msd-home .elementor.elementor .msd-sectors .msd-eyebrow--line .elementor-heading-title::after { width: calc(68 * var(--msd-s)); margin-left: calc(16 * var(--msd-s)); height: 1px; }
/* Contraste AA (nettoyage final) : surtitre « Notre chaîne de valeur » sur ivoire,
   #A88A4A (2,88:1) → or sombre #816A39 (4,55:1), même teinte et saturation. Le filet reste Muted Gold. */
.msd-home .elementor.elementor .msd-sectors .msd-eyebrow .elementor-heading-title { color: #816A39; }
.msd-home .elementor.elementor .msd-sectors__title { margin-top: calc(4 * var(--msd-s)); max-width: calc(330 * var(--msd-s)); }
.msd-home .elementor.elementor .msd-sectors__title .elementor-heading-title {
  font-family: var(--msd-font-serif); font-weight: 700;
  font-size: calc(50 * var(--msd-s)); line-height: .9; letter-spacing: -.025em; color: var(--msd-forest-black);
}
.msd-home .elementor.elementor .msd-sectors__text {
  max-width: calc(310 * var(--msd-s)); margin-top: calc(10 * var(--msd-s));
  font-size: calc(14.5 * var(--msd-s)); line-height: 1.25; color: var(--msd-ink-soft);
}
.msd-home .elementor.elementor .msd-sectors__grid.e-con {
  display: flex; flex-direction: row; flex-wrap: nowrap; align-self: center;
  width: calc(570 * var(--msd-s)); max-width: 100%;
}
.msd-home .elementor.elementor .msd-sector.e-con {
  position: relative; display: flex; flex-direction: column; align-items: center;
  width: calc(190 * var(--msd-s)); min-height: calc(170 * var(--msd-s));
  padding: 0 calc(14 * var(--msd-s)); text-align: center;
  font-family: var(--msd-font-sans); font-size: calc(15 * var(--msd-s)); color: var(--msd-forest-black);
}
.msd-home .elementor.elementor .msd-sector.e-con::before {
  content: ""; display: block; position: absolute; left: 0; right: auto;
  top: calc(4 * var(--msd-s)); bottom: calc(22 * var(--msd-s)); width: 1px; height: auto;
  background: var(--msd-stone);
}
.msd-home .elementor.elementor .msd-sector.e-con:first-child::before { display: none; }
.msd-home .elementor.elementor .msd-sector.e-con::after {
  content: ""; display: block; width: calc(34 * var(--msd-s)); height: 2px;
  margin-top: calc(9 * var(--msd-s)); background: var(--msd-muted-gold);
}
.msd-home .elementor.elementor .msd-sector > .elementor-element { width: 100%; }
.msd-home .elementor.elementor .msd-sector__label::before {
  content: ""; display: block; width: calc(42 * var(--msd-s)); height: calc(42 * var(--msd-s));
  margin: 0 auto calc(6 * var(--msd-s)); background: no-repeat center / contain;
}
.msd-home .elementor.elementor .msd-sector--elevage .msd-sector__label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b0f0d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 14c-2 0-4-1.5-4-3.5M11 14c2 0 4-1.5 4-3.5M6 13l-1 7c0 2 1.5 3 3 3s3-1 3-3l-1-7M10 14h26c4 0 6 2.5 6 6.5V26M42 20v5M12 22c1 3 3 4.5 3 4.5V41h3.5l.8-9h13.4l.8 9H37V28c2-1 3-3 3-5M14 30l1-3.5M33 32l.5 9M18.5 32h14'/%3E%3C/svg%3E"); }
.msd-home .elementor.elementor .msd-sector--services .msd-sector__label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b0f0d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h6v16H3zM39 14h6v16h-6z' fill='%23a88a4a' stroke='none'/%3E%3Cpath d='M3 14h6v16H3zM39 14h6v16h-6zM9 16l7-3 6 2 5-2 12 3M9 28l3 .5 8 7.5c1.5 1.4 3.5 1 4-.5 1.5 1.4 3.5.8 3.8-.8 1.6.9 3.6-.1 3.4-1.9 1.8.2 2.8-1.6 1.8-3.1L39 28M22 15l-6 6c-1 1 0 3 2 2.5l5-3 9.5 8.3'/%3E%3C/svg%3E"); }
.msd-home .elementor.elementor .msd-sector--commerce .msd-sector__label::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%230b0f0d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h6l5 22h24l4-15H11M16 36h22'/%3E%3Ccircle cx='18' cy='40' r='3'/%3E%3Ccircle cx='35' cy='40' r='3'/%3E%3Cpath d='M16 20h24M17.5 25h21M20 15v15M26 15v15M32 15v15'/%3E%3C/svg%3E"); }
.msd-home .elementor.elementor .msd-sector__label .elementor-heading-title {
  min-height: calc(38 * var(--msd-s));
  font-family: var(--msd-font-sans); font-weight: 600; font-size: calc(15 * var(--msd-s)); line-height: 1.2;
  color: var(--msd-forest-black);
}
.msd-home .elementor.elementor .msd-sector__description {
  margin-top: calc(5 * var(--msd-s));
  font-size: calc(12.5 * var(--msd-s)); line-height: 1.3; color: var(--msd-ink-soft);
}

/* ==========================================================================
   Tablette (≤ 1023 px)
   ========================================================================== */
@media (max-width: 1023px) {
  .msd-home .elementor.elementor { font-size: 15px; }

  .msd-home .elementor.elementor .msd-hero.e-con { min-height: 560px; padding: 72px 0 56px; }
  .msd-home .elementor.elementor .msd-hero__media { left: 25%; }
  .msd-home .elementor.elementor .msd-hero__media::after {
    background:
      linear-gradient(90deg, var(--msd-forest-black) 0%, rgba(11, 15, 13, .85) 25%, rgba(11, 15, 13, .35) 60%, rgba(11, 15, 13, .15) 100%),
      linear-gradient(0deg, rgba(11, 15, 13, .7) 0%, rgba(11, 15, 13, 0) 40%);
  }
  .msd-home .elementor.elementor .msd-hero.e-con::before { left: 20%; width: 60%; }
  .msd-home .elementor.elementor .msd-hero__content.e-con { padding: 44px 32px 0; }
  .msd-home .elementor.elementor .msd-hero__title .elementor-heading-title { font-size: 64px; }
  .msd-home .elementor.elementor .msd-hero__text { max-width: 520px; margin-top: 14px; font-size: 16px; line-height: 1.35; }
  .msd-home .elementor.elementor .msd-hero__actions.e-con { margin-top: 24px; flex-wrap: wrap; }
  .msd-home .elementor.elementor .msd-hero__aside { position: relative; left: auto; top: auto; margin: 36px 32px 0 auto; width: max-content; }

  .msd-home .elementor.elementor .msd-row--1.e-con,
  .msd-home .elementor.elementor .msd-row--2.e-con,
  .msd-home .elementor.elementor .msd-row--3.e-con { min-height: 0; grid-template-columns: 1fr 1fr; }
  .msd-home .elementor.elementor .msd-tile--photo { min-height: 300px; }

  .msd-home .elementor.elementor .msd-panel.e-con { padding: 30px 28px 32px; }
  .msd-home .elementor.elementor .msd-panel .msd-panel__title { margin-top: 14px; }
  .msd-home .elementor.elementor .msd-panel .msd-panel__title .elementor-heading-title { font-size: 32px; }
  .msd-home .elementor.elementor .msd-panel .msd-panel__text { margin-top: 12px; font-size: 15px; line-height: 1.4; max-width: none; }
  .msd-home .elementor.elementor .msd-panel .msd-more { margin-top: 16px; }
  .msd-home .elementor.elementor .msd-panel .msd-more .elementor-button { font-size: 15px; }
  .msd-home .elementor.elementor .msd-panel--04 .msd-panel__head.e-con::after { width: 46px; height: 46px; }

  .msd-home .elementor.elementor .msd-sectors.e-con { min-height: 0; grid-template-columns: 1fr; padding: 40px 32px 44px; }
  .msd-home .elementor.elementor .msd-sectors__title { max-width: none; }
  .msd-home .elementor.elementor .msd-sectors__title .elementor-heading-title { font-size: 48px; }
  .msd-home .elementor.elementor .msd-sectors__text { max-width: 460px; }
  .msd-home .elementor.elementor .msd-sectors__grid.e-con { display: grid; grid-template-columns: repeat(3, 1fr); row-gap: 20px; width: 100%; margin-top: 36px; }
  .msd-home .elementor.elementor .msd-sector.e-con { width: auto; min-height: 172px; }
  .msd-home .elementor.elementor .msd-sector.e-con::before { top: 4px; bottom: 26px; }
}

/* ==========================================================================
   Mobile (≤ 640 px)
   ========================================================================== */
@media (max-width: 640px) {
  .msd-home .elementor.elementor .msd-hero.e-con { min-height: 0; padding-bottom: 40px; }
  .msd-home .elementor.elementor .msd-hero__media { left: 0; bottom: auto; height: 380px; }
  .msd-home .elementor.elementor .msd-hero__media::after { background: linear-gradient(0deg, var(--msd-forest-black) 0%, rgba(11, 15, 13, .7) 45%, rgba(11, 15, 13, .2) 100%); }
  .msd-home .elementor.elementor .msd-hero.e-con::before { left: 10%; top: 42%; width: 90%; height: 58%; opacity: .35; }
  .msd-home .elementor.elementor .msd-hero__content.e-con { padding: 150px 16px 0; }
  .msd-home .elementor.elementor .msd-eyebrow .elementor-heading-title { font-size: 10.5px; letter-spacing: .16em; }
  .msd-home .elementor.elementor .msd-eyebrow span { margin: 0 5px; }
  .msd-home .elementor.elementor .msd-hero .msd-eyebrow .elementor-heading-title { letter-spacing: .1em; }
  .msd-home .elementor.elementor .msd-hero .msd-eyebrow--line .elementor-heading-title::after { display: none; }
  .msd-home .elementor.elementor .msd-hero__title .elementor-heading-title { font-size: 52px; }
  .msd-home .elementor.elementor .msd-hero__text { font-size: 15.5px; }
  .msd-home .elementor.elementor .msd-hero__actions.e-con { flex-direction: column; gap: 12px; }
  .msd-home .elementor.elementor .msd-hero__actions > .elementor-widget { width: 100%; }
  .msd-home .elementor.elementor .msd-cta .elementor-button { height: 46px; width: 100%; min-width: 0; }
  .msd-home .elementor.elementor .msd-hero__aside { margin: 32px 16px 0; }

  .msd-home .elementor.elementor .msd-row--1.e-con,
  .msd-home .elementor.elementor .msd-row--2.e-con,
  .msd-home .elementor.elementor .msd-row--3.e-con { grid-template-columns: 1fr; }
  .msd-home .elementor.elementor .msd-row--2 .msd-tile--photo { order: -1; }
  .msd-home .elementor.elementor .msd-tile--photo { min-height: 0; height: 250px; }
  .msd-home .elementor.elementor .msd-pos-lampe { height: 320px; }

  .msd-home .elementor.elementor .msd-panel.e-con { padding: 28px 20px 30px; }
  .msd-home .elementor.elementor .msd-panel .msd-panel__title .elementor-heading-title { font-size: 30px; }
  .msd-home .elementor.elementor .msd-panel--lines.e-con::before { width: 55%; }

  .msd-home .elementor.elementor .msd-sectors.e-con { padding: 36px 16px 36px; }
  .msd-home .elementor.elementor .msd-sectors__title .elementor-heading-title { font-size: 42px; }
  .msd-home .elementor.elementor .msd-sectors__grid.e-con { grid-template-columns: 1fr; gap: 0; }
  .msd-home .elementor.elementor .msd-sector.e-con { width: 100%; min-height: 0; padding: 24px 12px; font-size: 16px; }
  .msd-home .elementor.elementor .msd-sector.e-con::before { left: 12%; right: 12%; top: 0; bottom: auto; width: auto; height: 1px; }
  .msd-home .elementor.elementor .msd-sector__label .elementor-heading-title { min-height: 0; font-size: 16px; }
  .msd-home .elementor.elementor .msd-sector__description { max-width: 360px; margin-inline: auto; font-size: 14px; line-height: 1.45; }
}

@media (prefers-reduced-motion: reduce) {
  .msd-home .elementor.elementor .elementor-button { transition: none; }
}
