/**
 * Maison & Déclic — bibliothèque de sections (direction V1 « luxe chaleureux »).
 * Gabarits : template-parts/sections/*.php (préfixe « mds- ») ; widgets Elementor : inc/Elementor/.
 * Jetons : brand.css. Règle de composition : photos plutôt horizontales, une seule section photographique
 * dominante par page, densité maîtrisée.
 */

/* ------------------------------------------------------------ Socle */
.mds-section { padding-block: var(--md-section); background: var(--md-off-white); }
.mds-tone-ivory { background: var(--md-ivory); }
.mds-tone-linen, .mds-tone-sand { background: var(--md-linen); }
.mds-tone-dark { background: var(--md-espresso); color: var(--md-on-dark-muted); }
.mds-tone-dark :is(.mds-title, h3, dt) { color: var(--md-on-dark); }
.mds-tone-dark .md-eyebrow { color: var(--md-champagne); }
.mds-tone-dark .mds-lead { color: var(--md-on-dark-muted); }
.mds-tone-dark .md-btn--outline { border-color: rgb(255 255 255 / 0.5); color: var(--md-white); }

.mds-head { display: grid; gap: 0.85rem; max-width: 46rem; margin-bottom: clamp(2rem, 1.6rem + 1.6vw, 3rem); }
.mds-head--center { justify-items: center; margin-inline: auto; text-align: center; }
.mds-head--row { max-width: none; }
.mds-head__text { display: grid; gap: 0.85rem; max-width: 46rem; }
.mds-head__actions { margin-top: 0; }
@media (min-width: 48rem) { .mds-head--row { grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; } }
.mds-title { font-size: var(--md-fs-h2); color: var(--md-espresso); }
.mds-lead { max-width: 40rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mds-head--center .mds-lead { margin-inline: auto; }
.mds-caption { display: block; margin-top: 0.75rem; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mds-actions-center { justify-content: center; margin-top: clamp(2rem, 1.6rem + 1.5vw, 3rem); }

/* Images : cadre réservé (pas de saut de mise en page), léger zoom au survol des liens */
:is(.mds-split__media, .mds-card__media, .mds-trades__media, .mds-steps__media, .mds-tile__media) { position: relative; overflow: hidden; margin: 0; background: var(--md-linen); }
:is(.mds-card__media, .mds-trades__media) img { transition: transform 700ms var(--md-ease-out); }
:is(.mds-card__link, .mds-trades__grid a):hover :is(.mds-card__media, .mds-trades__media) img { transform: scale(calc(var(--md-zoom, 1) * 1.04)); }
/* Elementor impose « .elementor img { height: auto } » : les photos de section remplissent leur cadre. */
.md-premium-page .elementor img.md-photo { height: 100%; max-width: none; }

/* ------------------------------------------------------------- Hero */
.mds-hero { position: relative; isolation: isolate; overflow: hidden; }
.mds-hero__media { position: relative; overflow: hidden; background: var(--md-linen); }
.mds-hero__title { max-width: 18ch; font-size: var(--md-fs-display); color: var(--md-espresso); }
.mds-hero__lead { max-width: 36rem; margin-top: 1.1rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mds-hero__note { display: flex; flex-wrap: wrap; gap: 0.5rem 1.4rem; margin: 1.5rem 0 0; padding: 0; list-style: none; font-size: var(--md-fs-xs); font-weight: 500; color: var(--md-ink-muted); }
.mds-hero__note li { display: inline-flex; align-items: center; gap: 0.5rem; }
.mds-hero__note li::before { content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--md-copper); }
.mds-hero .md-breadcrumb { margin-bottom: 1.5rem; }
.mds-hero__text > .md-eyebrow { margin-bottom: 0.9rem; }

/* Pleine image */
.mds-hero--full { display: flex; min-height: clamp(26rem, 64svh, 38rem); background: var(--md-espresso); color: var(--md-on-dark); }
.mds-hero--full .mds-hero__media { position: absolute; inset: 0; z-index: -1; }
.mds-hero--full .mds-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(30 23 18 / 0.85) 0%, rgb(30 23 18 / 0.55) 50%, rgb(30 23 18 / 0.2) 100%), linear-gradient(0deg, rgb(30 23 18 / 0.5) 0%, rgb(30 23 18 / 0) 50%); }
.mds-hero--full .mds-hero__inner { display: flex; align-items: center; padding-block: 3rem; }
/* Grande bannière (Méthode, À propos) : présentation immersive, une seule image, pas de carrousel. */
.mds-hero--tall { min-height: clamp(30rem, 82svh, 46rem); }
.mds-hero--tall .mds-hero__title { max-width: 20ch; font-size: clamp(2rem, 1.35rem + 2.6vw, 3.5rem); }
@media (max-width: 47.99rem) { .mds-hero--tall { min-height: clamp(28rem, 86svh, 36rem); } .mds-hero--tall .mds-hero__media .md-photo { object-position: 62% 50%; } }
.mds-hero--full .mds-hero__title { color: var(--md-white); }
.mds-hero--full .mds-hero__lead { color: rgb(255 255 255 / 0.88); }
.mds-hero--full .md-eyebrow { color: var(--md-champagne); }
.mds-hero--full .mds-hero__note { color: rgb(255 255 255 / 0.85); }
.mds-hero--full .mds-hero__note li::before { background: var(--md-champagne); }
.mds-hero--full .md-breadcrumb ol { color: rgb(255 255 255 / 0.75); }
.mds-hero--full .md-breadcrumb a:hover, .mds-hero--full .md-breadcrumb [aria-current] { color: var(--md-white); }
.mds-hero--full .mds-caption { position: absolute; right: var(--md-pad); bottom: 0.9rem; z-index: 1; margin: 0; color: rgb(255 255 255 / 0.78); }

/* Texte + image */
.mds-hero--split { display: flex; flex-direction: column-reverse; background: var(--md-ivory); }
.mds-hero--split .mds-hero__media { aspect-ratio: 3 / 2; }
.mds-hero--split .mds-hero__inner { padding-block: 2rem 2.75rem; }
.mds-hero--split .mds-caption { position: absolute; right: 0.9rem; bottom: 0.75rem; margin: 0; color: rgb(255 255 255 / 0.9); text-shadow: 0 1px 6px rgb(0 0 0 / 0.45); }
@media (min-width: 64rem) {
	/* Deux colonnes égales sur toute la largeur : le texte garde un retrait intérieur raisonnable (pas l'alignement sur le conteneur,
	   qui le repoussait contre la photo sur grand écran). */
	.mds-hero--split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: clamp(26rem, 58svh, 34rem); }
	.mds-hero--split .mds-hero__media { grid-column: 2; grid-row: 1; aspect-ratio: auto; }
	.mds-hero--split .mds-hero__inner { grid-column: 1; grid-row: 1; display: flex; align-items: center; max-width: none; margin: 0; padding: 3rem clamp(2rem, 0.5rem + 3.5vw, 4.5rem) 3rem clamp(1.5rem, 0.25rem + 5.5vw, 7.5rem); }
	.mds-hero--split .mds-hero__text { width: 100%; max-width: 40rem; }
}

/* Texte seul (pages courtes : FAQ, Contact, Mon espace) */
.mds-hero--plain { background: var(--md-ivory); border-bottom: 1px solid var(--md-line); }
.mds-hero--plain .mds-hero__inner { padding-block: clamp(2.5rem, 1.8rem + 3vw, 4rem); }
.mds-hero--plain .mds-hero__title { max-width: 22ch; }

@media (prefers-reduced-motion: no-preference) {
	.mds-hero__text > * { animation: mds-rise 650ms var(--md-ease-out) both; }
	.mds-hero__text > :nth-child(2) { animation-delay: 60ms; }
	.mds-hero__text > :nth-child(3) { animation-delay: 120ms; }
	.mds-hero__text > :nth-child(n+4) { animation-delay: 180ms; }
	@keyframes mds-rise { from { opacity: 0; transform: translateY(0.75rem); } to { opacity: 1; transform: none; } }
}

/* -------------------------------------------------- Texte + image */
.mds-split__grid { display: grid; gap: clamp(2rem, 1.4rem + 3vw, 4.5rem); align-items: center; }
.mds-split__media { aspect-ratio: 3 / 2; border-radius: var(--md-radius-card); }
.mds-split__media .mds-caption { position: absolute; left: 0.75rem; bottom: 0.75rem; margin: 0; padding: 0.3rem 0.6rem; border-radius: var(--md-radius); background: rgb(30 23 18 / 0.65); color: var(--md-white); }
.mds-split__text { max-width: 36rem; }
.mds-split__text .md-eyebrow { margin-bottom: 0.9rem; }
.mds-split__body { margin-top: 1rem; }
.mds-split__body p + p { margin-top: 0.75rem; }
.mds-points { display: grid; gap: 0; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.mds-points li { position: relative; padding: 0.85rem 0 0.85rem 1.6rem; border-top: 1px solid var(--md-line); }
.mds-points li:last-child { border-bottom: 1px solid var(--md-line); }
.mds-points li::before { content: ""; position: absolute; left: 0.15rem; top: 1.25rem; width: 0.55rem; height: 0.3rem; border-left: 2px solid var(--md-copper); border-bottom: 2px solid var(--md-copper); transform: rotate(-45deg); }
.mds-points h3 { font-size: 1rem; font-weight: 600; color: var(--md-espresso); }
.mds-points p { margin-top: 0.2rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mds-tone-dark .mds-points li { border-color: rgb(255 255 255 / 0.14); }
.mds-tone-dark .mds-points h3 { color: var(--md-white); }
.mds-tone-dark .mds-points p { color: var(--md-on-dark-muted); }
@media (min-width: 64rem) {
	.mds-split__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
	.mds-split--reverse .mds-split__media { order: 2; }
	.mds-split__media { aspect-ratio: 4 / 3; }
}

/* --------------------------------------------------------- Étapes */
.mds-steps__list { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.mds-steps__list li { display: grid; grid-template-columns: 2.75rem 1fr; gap: 1rem; align-items: start; padding: 1.25rem; border-radius: var(--md-radius-card); background: var(--md-white); box-shadow: var(--md-shadow-card); }
.mds-steps__num { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--md-linen); font: 600 0.9375rem/1 var(--md-font-sans); color: var(--md-copper-text); font-variant-numeric: tabular-nums; }
.mds-steps__body h3 { font-size: 1.0625rem; font-weight: 600; color: var(--md-espresso); }
.mds-steps__body p { margin-top: 0.3rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mds-tone-dark .mds-steps__list li { background: rgb(255 255 255 / 0.05); box-shadow: none; border: 1px solid rgb(255 255 255 / 0.1); }
.mds-tone-dark .mds-steps__num { background: rgb(216 195 165 / 0.15); color: var(--md-champagne); }
.mds-tone-dark .mds-steps__body p { color: var(--md-on-dark-muted); }
@media (min-width: 48rem) { .mds-steps--row .mds-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 75rem) {
	.mds-steps--row .mds-steps__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mds-steps--row .mds-steps__list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mds-steps--row .mds-steps__list--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	.mds-steps--row .mds-steps__list li { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem; }
}
/* Frise verticale avec visuel */
.mds-steps--timeline .mds-steps__grid { display: grid; gap: clamp(2rem, 1.4rem + 3vw, 4.5rem); align-items: start; }
.mds-steps__media { aspect-ratio: 4 / 3; border-radius: var(--md-radius-card); }
.mds-steps--timeline .mds-steps__list { gap: 0; position: relative; }
.mds-steps--timeline .mds-steps__list li { position: relative; padding: 0 0 1.75rem; background: none; box-shadow: none; border-radius: 0; }
.mds-steps--timeline .mds-steps__list li:not(:last-child)::after { content: ""; position: absolute; left: 1.375rem; top: 2.75rem; bottom: 0; width: 1px; background: var(--md-champagne); }
.mds-steps--timeline .mds-steps__num { position: relative; z-index: 1; background: var(--md-copper); color: var(--md-on-copper); }
.mds-steps--timeline .mds-steps__body { padding-top: 0.55rem; }
@media (min-width: 64rem) {
	.mds-steps--timeline .mds-steps__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); }
	.mds-steps__media { position: sticky; top: calc(var(--md-header-h) + 2rem); aspect-ratio: 4 / 5; }
}

/* --------------------------------------------------------- Cartes */
.mds-cards__grid { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.mds-card[hidden] { display: none; }
.mds-card { min-width: 0; }
.mds-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.mds-card h3 { font-size: var(--md-fs-h3); font-weight: 600; color: var(--md-espresso); }
.mds-card p { margin-top: 0.4rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mds-card__more { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 0.75rem; font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); }
.mds-card__more .md-icon { width: 0.9rem; height: 0.9rem; transition: transform var(--md-duration) var(--md-ease); }
.mds-card__link:hover .mds-card__more .md-icon { transform: translateX(3px); }
.mds-card__link:focus-visible { outline-offset: 3px; }
.mds-card__body { display: flex; flex: 1; flex-direction: column; }

/* Image (3:2) */
.mds-cards--image .mds-cards__grid { gap: 1.5rem 1.25rem; }
.mds-cards--image .mds-card { overflow: hidden; border-radius: var(--md-radius-card); background: var(--md-white); box-shadow: var(--md-shadow-card); }
.mds-cards--image .mds-card__media { aspect-ratio: 3 / 2; }
.mds-cards--image .mds-card__body { padding: 1.1rem 1.2rem 1.25rem; }

/* Compacte (univers, autres projets) */
.mds-cards--compact .mds-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.mds-cards--compact .mds-card { overflow: hidden; border-radius: var(--md-radius-card); background: var(--md-white); box-shadow: var(--md-shadow-card); transition: box-shadow var(--md-duration) var(--md-ease), transform var(--md-duration) var(--md-ease); }
.mds-cards--compact .mds-card:hover { transform: translateY(-2px); box-shadow: 0 1px 2px rgb(41 32 24 / 0.06), 0 16px 30px -18px rgb(41 32 24 / 0.38); }
.mds-cards--compact .mds-card__media { aspect-ratio: 4 / 3; }
.mds-cards--compact .mds-card__body { padding: 0.75rem 0.85rem 0.85rem; }
.mds-cards--compact .mds-card h3 { font-size: 0.9375rem; line-height: 1.3; }
.mds-cards--compact .mds-card__more { padding-top: 0.35rem; font-weight: 500; color: var(--md-ink-muted); }
@media (min-width: 48rem) { .mds-cards--compact .mds-cards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 75rem) { .mds-cards--compact .mds-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); } .mds-cards--compact .mds-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Trois colonnes (univers de l'accueil) : photos plus généreuses, toujours horizontales. */
.mds-cards--compact .mds-cols-3 .mds-card__media { aspect-ratio: 16 / 10; }
@media (min-width: 48rem) { .mds-cards--compact .mds-cols-3 { gap: 1.25rem; } .mds-cards--compact .mds-cols-3 .mds-card__body { padding: 1rem 1.15rem 1.1rem; } .mds-cards--compact .mds-cols-3 .mds-card h3 { font-size: 1.0625rem; } }

/* Texte */
.mds-cards--text .mds-card { padding: 1.5rem 1.4rem 1.6rem; border-radius: var(--md-radius-card); background: var(--md-white); box-shadow: var(--md-shadow-card); }
.mds-cards--text .mds-card h3 { font-size: 1.0625rem; }
.mds-cards--text .mds-card h3::before { content: ""; display: block; width: 1.75rem; height: 2px; margin-bottom: 1rem; background: var(--md-copper); }
.mds-cards--text.mds-tone-dark .mds-card { background: rgb(255 255 255 / 0.05); box-shadow: none; border: 1px solid rgb(255 255 255 / 0.1); }
.mds-tone-dark .mds-card p { color: var(--md-on-dark-muted); }

@media (min-width: 40rem) { :is(.mds-cards--image, .mds-cards--text) :is(.mds-cols-2, .mds-cols-3, .mds-cols-4) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
	:is(.mds-cards--image, .mds-cards--text) .mds-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	:is(.mds-cards--image, .mds-cards--text) .mds-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Photos du projet (3 au plus, copies approuvées) */
.mdo-photos { display: grid; gap: 0.6rem; }
.mdo-photos__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.4rem 1rem; }
.mdo-photos__title { display: inline-flex; align-items: center; gap: 0.45rem; font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--md-copper-text); }
.mdo-photos__title .md-icon { width: 1rem; height: 1rem; color: var(--md-copper); }
.mdo-photos__title span { letter-spacing: 0; color: var(--md-ink-muted); }
.mdo-photos__all { padding: 0.25rem 0; border: 0; background: none; font: 600 var(--md-fs-xs)/1.3 var(--md-font-sans); color: var(--md-copper-text); text-decoration: underline; text-underline-offset: 0.25em; cursor: pointer; }
.mdo-photos__all:hover { color: var(--md-espresso); }
.mdo-photos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.mdo-photos__item { position: relative; display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; padding: 0; border: 0; border-radius: 8px; background: var(--md-linen); cursor: zoom-in; }
.mdo-photos__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--md-ease-out); }
.mdo-photos__item:focus-visible, .mdo-photos__all:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; }
@media (hover: hover) { .mdo-photos__item:hover img { transform: scale(1.04); } }
@media (prefers-reduced-motion: reduce) { .mdo-photos__item img { transition: none; } .mdo-photos__item:hover img { transform: none; } }
.mdo-photos__demo { font-size: var(--md-fs-label); color: var(--md-ink-muted); }

/* Filtres */
.mds-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: -0.5rem 0 1.75rem; }
.mds-filter__btn { min-height: 2.5rem; padding: 0 1rem; border: 1px solid var(--md-line); border-radius: 999px; background: var(--md-white); font: 500 0.875rem/1 var(--md-font-sans); color: var(--md-espresso); cursor: pointer; transition: background-color var(--md-duration) var(--md-ease), border-color var(--md-duration) var(--md-ease); }
.mds-filter__btn:hover { border-color: var(--md-espresso); }
.mds-filter__btn[aria-pressed="true"] { border-color: var(--md-espresso); background: var(--md-espresso); color: var(--md-white); }

/* ------------------------------------------------- Univers de métiers (tuiles horizontales) */
.mds-trades__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.mds-trades__grid a { position: relative; display: block; overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--md-radius-card); color: var(--md-white); text-decoration: none; }
.mds-trades__media { position: absolute; inset: 0; }
.mds-trades__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(30 23 18 / 0.85) 0%, rgb(30 23 18 / 0.2) 60%, rgb(30 23 18 / 0) 100%); }
.mds-trades__label, .mds-trades__count { position: absolute; left: 0.9rem; right: 0.9rem; z-index: 1; }
.mds-trades__label { bottom: 2.1rem; font: 600 1rem/1.25 var(--md-font-display); }
.mds-trades__count { bottom: 0.85rem; font-size: var(--md-fs-xs); font-weight: 500; color: var(--md-champagne); }
@media (min-width: 48rem) { .mds-trades__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
@media (min-width: 75rem) { .mds-trades__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .mds-trades__label { font-size: 1.125rem; } }

/* ----------------------------------------------------------- Liste */
.mds-list__grid { display: grid; gap: 1rem 4rem; }
.mds-list__grid .mds-head { margin-bottom: 1rem; }
.mds-list__grid .mds-lead { max-width: 30rem; font-size: 1rem; }
.mds-list__items { margin: 0; }
.mds-list__items > div { display: grid; gap: 0.35rem; padding: 1.15rem 0; border-top: 1px solid var(--md-line); }
.mds-list__items > div:last-child { border-bottom: 1px solid var(--md-line); }
.mds-list__items dt { font-size: 1.0625rem; font-weight: 600; color: var(--md-espresso); }
.mds-list__items dd { margin: 0; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-ink-muted); }
.mds-tone-dark .mds-list__items > div { border-color: rgb(255 255 255 / 0.14); }
.mds-tone-dark .mds-list__items dd { color: var(--md-on-dark-muted); }
@media (min-width: 64rem) {
	.mds-list__grid { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: start; }
	.mds-list__grid .mds-head { position: sticky; top: calc(var(--md-header-h) + 2rem); }
	.mds-list__items > div { grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: 2rem; }
}

/* ----------------------------------------------------- Engagements (fond espresso) */
.mds-commit__grid { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.mds-commit__grid li { padding: 1.4rem; border: 1px solid rgb(216 195 165 / 0.18); border-radius: var(--md-radius-card); }
.mds-commit__grid h3 { font-size: 1.0625rem; font-weight: 600; color: var(--md-on-dark); }
.mds-commit__grid h3::before { content: ""; display: block; width: 1.75rem; height: 2px; margin-bottom: 1rem; background: var(--md-champagne); }
.mds-commit__grid p { margin-top: 0.5rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-on-dark-muted); }
@media (min-width: 48rem) { .mds-commit__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 75rem) { .mds-commit__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* -------------------------------------------------------------- FAQ */
.mds-faq__grid { display: grid; gap: 1rem 4rem; }
.mds-faq__grid .mds-head { margin-bottom: 0.75rem; }
.mds-faq__more { margin-bottom: 1.5rem; }
.mds-faq__group + .mds-faq__group { margin-top: 2.25rem; }
.mds-faq__label { margin-bottom: 0.5rem; font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--md-copper-text); }
.mds-faq__item { border-top: 1px solid var(--md-line); }
.mds-faq__item:last-child { border-bottom: 1px solid var(--md-line); }
.mds-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: 3.5rem; padding: 0.9rem 0; font: 600 1.0625rem/1.4 var(--md-font-sans); color: var(--md-espresso); cursor: pointer; list-style: none; }
.mds-faq__item summary::-webkit-details-marker { display: none; }
.mds-faq__item summary:hover { color: var(--md-copper-text); }
.mds-faq__icon { position: relative; flex: none; width: 0.9rem; height: 0.9rem; color: var(--md-copper); }
.mds-faq__icon::before, .mds-faq__icon::after { content: ""; position: absolute; top: 50%; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform 280ms var(--md-ease); }
.mds-faq__icon::after { transform: rotate(90deg); }
.mds-faq__item[open] .mds-faq__icon::after { transform: rotate(0deg); }
.mds-faq__answer { max-width: 44rem; padding: 0 2rem 1.25rem 0; font-size: var(--md-fs-small); line-height: 1.7; color: var(--md-ink-muted); }
.mds-faq__answer p + p { margin-top: 0.6rem; }
@media (prefers-reduced-motion: no-preference) {
	.mds-faq__item[open] .mds-faq__answer { animation: mds-faq-open 300ms var(--md-ease-out) both; }
	@keyframes mds-faq-open { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
}
@media (min-width: 64rem) {
	.mds-faq__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; }
	.mds-faq__grid > div:first-child { position: sticky; top: calc(var(--md-header-h) + 2rem); }
}

/* ---------------------------------------------- Bandeau final (photo voilée) */
.mds-cta { position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: center; min-height: clamp(22rem, 46svh, 30rem); background: var(--md-espresso); color: var(--md-on-dark); }
.mds-cta__media { position: absolute; inset: 0; z-index: -1; }
.mds-cta__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(30 23 18 / 0.88) 0%, rgb(30 23 18 / 0.6) 55%, rgb(30 23 18 / 0.35) 100%); }
.mds-cta__inner { display: grid; justify-items: start; padding-block: 3.5rem; }
.mds-cta .md-eyebrow { margin-bottom: 0.9rem; color: var(--md-champagne); }
.mds-cta__title { max-width: 20ch; font-size: var(--md-fs-h2); color: var(--md-white); }
.mds-cta__text { max-width: 34rem; margin-top: 0.9rem; font-size: var(--md-fs-lead); line-height: 1.65; color: rgb(255 255 255 / 0.88); }
.mds-cta .md-actions { justify-content: flex-start; margin-top: 1.75rem; }
@media (min-width: 64rem) {
	.mds-cta--split { min-height: clamp(18rem, 32svh, 23rem); }
	.mds-cta--split .mds-cta__media img { object-position: 50% 55%; }
	.mds-cta--split .mds-cta__media::after { background: linear-gradient(90deg, rgb(30 23 18 / 0.9) 0%, rgb(30 23 18 / 0.68) 48%, rgb(30 23 18 / 0.6) 72%, rgb(30 23 18 / 0.74) 100%); }
	.mds-cta--split .mds-cta__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; justify-items: stretch; column-gap: clamp(2.5rem, 0.5rem + 5vw, 7rem); padding-block: clamp(3rem, 2rem + 2.5vw, 4.5rem); }
	.mds-cta--split .mds-cta__title { max-width: 24ch; }
	.mds-cta--split .mds-cta__text { max-width: 38rem; }
	.mds-cta--split .md-actions { flex-wrap: nowrap; justify-content: flex-end; margin-top: 0; }
	.mds-cta--split .md-actions .md-btn { flex: 0 0 auto; }
}

/* --------------------------------------------------- Phrase forte */
.mds-statement__inner { display: grid; justify-items: center; gap: 1rem; max-width: 52rem; text-align: center; }
.mds-statement__text { font: 600 clamp(1.4rem, 1.15rem + 1.1vw, 2rem)/1.35 var(--md-font-display); letter-spacing: -0.015em; color: var(--md-espresso); text-wrap: balance; }
.mds-statement__small { max-width: 38rem; font-size: var(--md-fs-small); line-height: 1.7; color: var(--md-ink-muted); }
.mds-tone-dark .mds-statement__text { color: var(--md-white); }
.mds-tone-dark .mds-statement__small { color: var(--md-on-dark-muted); }

/* --------------------------------------------------- Canaux (orientation) */
.mds-channels__grid { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.mds-channels__grid li { display: flex; flex-direction: column; padding: 1.5rem 1.4rem; border-radius: var(--md-radius-card); background: var(--md-white); box-shadow: var(--md-shadow-card); }
.mds-channels__grid h3 { font-size: 1.125rem; font-weight: 600; color: var(--md-espresso); }
.mds-channels__grid p { margin-top: 0.5rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-ink-muted); }
.mds-channels__action { margin-top: auto; padding-top: 1.25rem; }
.mds-channels__action .md-btn { width: 100%; }
.mds-channels__note { max-width: 46rem; margin: 2rem auto 0; font-size: var(--md-fs-xs); line-height: 1.7; color: var(--md-ink-muted); text-align: center; }
@media (min-width: 48rem) { .mds-channels__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 75rem) { .mds-channels__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ------------------------------------------------- Bande photo */
.mds-photo { position: relative; isolation: isolate; display: grid; align-items: end; min-height: clamp(16rem, 36vw, 26rem); margin: 0; overflow: hidden; background: var(--md-espresso); }
.mds-photo__media { position: absolute; inset: 0; z-index: -1; }
.mds-photo__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(30 23 18 / 0.75) 0%, rgb(30 23 18 / 0) 60%); }
.mds-photo__quote { padding-block: clamp(1.75rem, 1.4rem + 2vw, 3rem); max-width: var(--md-container); font: 600 clamp(1.3rem, 1.05rem + 1.1vw, 1.9rem)/1.3 var(--md-font-display); color: var(--md-white); text-wrap: balance; }
.mds-photo__caption { position: absolute; right: var(--md-pad); bottom: 0.9rem; color: rgb(255 255 255 / 0.8); }
/* Contenu centré (ex. Devenir partenaire) : voile brun uniforme, citation, description et deux actions discrètes. */
.mds-photo--center { place-items: center; min-height: clamp(22rem, 46vw, 30rem); }
.mds-photo--center .mds-photo__media::after { background: rgb(30 23 18 / 0.6); }
.mds-photo__content { display: grid; justify-items: center; gap: 1rem; padding-block: clamp(2.75rem, 2rem + 3vw, 4.5rem); text-align: center; }
.mds-photo--center .mds-photo__quote { max-width: 26ch; padding: 0; text-align: center; }
.mds-photo__text { max-width: 40rem; font-size: var(--md-fs-lead); line-height: 1.65; color: rgb(255 255 255 / 0.88); }
.mds-photo__actions { justify-content: center; margin-top: 0.5rem; }

/* ------------------------------------------------- Bandeau professionnels (photo voilée) */
.mds-band { position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(3.25rem, 2.4rem + 3.5vw, 5.5rem); background: var(--md-espresso); color: var(--md-on-dark-muted); }
.mds-band__media { position: absolute; inset: 0; z-index: -1; }
.mds-band__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(30 23 18 / 0.96) 0%, rgb(30 23 18 / 0.86) 50%, rgb(30 23 18 / 0.6) 100%); }
.mds-band__grid { display: grid; gap: 2rem; align-items: center; }
.mds-band .md-eyebrow { color: var(--md-champagne); }
.mds-band__title { margin-top: 0.75rem; max-width: 20ch; font-size: var(--md-fs-h2); color: var(--md-white); }
.mds-band__lead { max-width: 30rem; margin-top: 0.9rem; font-size: var(--md-fs-small); line-height: 1.65; }
.mds-band .md-actions { margin-top: 1.5rem; }
@media (min-width: 30rem) { .mds-band__text .md-actions { flex-wrap: nowrap; align-items: center; } .mds-band__text .md-actions .md-btn { flex: 0 0 auto; } }
.mds-band__benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.mds-band__benefits li { display: flex; align-items: center; gap: 0.85rem; font-size: var(--md-fs-small); font-weight: 500; line-height: 1.4; color: var(--md-on-dark); }
.mds-band__icon { display: inline-grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; border: 1px solid rgb(216 195 165 / 0.45); border-radius: 50%; color: var(--md-champagne); }
.mds-band__icon .md-icon { width: 1.25rem; height: 1.25rem; stroke-width: 1.4; }
.mds-band__aside { padding: clamp(1.5rem, 1.2rem + 1vw, 2.25rem); border: 1px solid rgb(216 195 165 / 0.3); border-radius: var(--md-radius-card); background: rgb(41 32 24 / 0.72); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.mds-band__aside h3 { font-size: 1.3125rem; font-weight: 600; color: var(--md-white); }
.mds-band__aside p { margin-top: 0.65rem; font-size: 1rem; line-height: 1.65; color: var(--md-on-dark); }
.mds-band__aside-action { margin-top: 1.5rem; }
.mds-band__aside-action .md-btn { width: 100%; }
@media (max-width: 29.99rem) { .mds-band__benefits { grid-template-columns: 1fr; } }
@media (min-width: 75rem) { .mds-band__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 0.9fr); gap: 2.5rem; } .mds-band__benefits { gap: 1.25rem 1rem; } .mds-band__benefits li { gap: 0.7rem; } }
/* Variante « personnage à droite » : photo calée à droite, voile éclairci de ce côté ; sur grand écran le contenu s'arrête à 79 % de la largeur. */
/* Petits et moyens écrans : texte sur toute la largeur, voile uniforme pour la lisibilité. */
.mds-band--subject-right .mds-band__media::after { background: rgb(30 23 18 / 0.86); }
@media (min-width: 75rem) {
	.mds-band--subject-right .mds-band__media::after { background: linear-gradient(90deg, rgb(30 23 18 / 0.95) 0%, rgb(30 23 18 / 0.88) 42%, rgb(30 23 18 / 0.62) 66%, rgb(30 23 18 / 0.18) 84%, rgb(30 23 18 / 0.08) 100%); }
	.mds-band--subject-right .mds-band__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 0.92fr); gap: 1.75rem; padding-right: max(var(--md-pad), calc(21vw - max(0px, (100vw - var(--md-container)) / 2))); }
	.mds-band--subject-right .mds-band__title { font-size: clamp(1.6rem, 1.1rem + 1.1vw, 2.15rem); }
	.mds-band--subject-right .mds-band__aside { padding: 1.5rem; }
	.mds-band--subject-right .mds-band__aside-action .md-btn { padding-inline: 1rem; white-space: nowrap; }
	.mds-band--subject-right .mds-band__aside h3 { font-size: 1.15rem; }
	.mds-band--subject-right .mds-band__aside p { font-size: var(--md-fs-small); }
	.mds-band--subject-right .mds-band__benefits li { font-size: 0.875rem; gap: 0.6rem; }
	.mds-band--subject-right .mds-band__icon { width: 2.4rem; height: 2.4rem; }
}

/* ------------------------------------------------- Tuiles éditoriales */
.mds-tiles__grid { display: grid; gap: 1rem; }
.mds-tile { position: relative; display: flex; overflow: hidden; min-height: 20rem; border-radius: var(--md-radius-card); }
.mds-tile--photo { isolation: isolate; align-items: center; background: var(--md-espresso); color: var(--md-white); }
.mds-tile__media { position: absolute; inset: 0; z-index: -1; }
.mds-tile--photo .mds-tile__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(30 23 18 / 0.78) 0%, rgb(30 23 18 / 0.62) 45%, rgb(30 23 18 / 0.3) 100%); }
.mds-tile--photo .mds-tile__body { align-content: center; padding-block: 2.5rem 3rem; }
.mds-tile--photo .mds-tile__caption { position: absolute; left: 1.5rem; bottom: 1rem; }
.mds-tile__body { display: grid; gap: 0.6rem; align-content: end; width: 100%; padding: 1.5rem; }
.mds-tile--photo .md-eyebrow { color: var(--md-champagne); }
.mds-tile__title { font-size: 1.375rem; font-weight: 600; line-height: 1.2; }
.mds-tile__text { font-size: var(--md-fs-small); line-height: 1.6; }
.mds-tile--photo .mds-tile__text { color: rgb(255 255 255 / 0.86); }
.mds-tile--photo .mds-tile__link { color: var(--md-white); }
.mds-tile--photo .mds-tile__link .md-icon { color: var(--md-champagne); }
.mds-tile__caption { font-size: var(--md-fs-xs); color: rgb(255 255 255 / 0.7); }
.mds-tile--panel { background: var(--md-white); box-shadow: var(--md-shadow-card); color: var(--md-espresso); }
.mds-tile--panel .mds-tile__body { align-content: start; }
.mds-tile--panel .mds-tile__text { color: var(--md-ink-muted); }
.mds-tile__points { display: grid; gap: 0.7rem; margin: 0.4rem 0 0; padding: 0; list-style: none; }
.mds-tile__points li { display: flex; gap: 0.65rem; align-items: flex-start; font-size: var(--md-fs-small); line-height: 1.5; }
.mds-tile__points .md-icon { flex: none; width: 1.15rem; height: 1.15rem; margin-top: 0.1rem; color: var(--md-copper); }
@media (min-width: 48rem) { .mds-tiles__grid--2, .mds-tiles__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .mds-tiles__grid--3 { grid-template-columns: 1.15fr 1fr 1fr; } .mds-tile { min-height: 24rem; } }

/* ------------------------------------------------- Introduction (deux colonnes, sans image) */
.mds-intro__grid { display: grid; gap: 1.25rem 4rem; }
.mds-intro__head .md-eyebrow { margin-bottom: 0.75rem; }
.mds-intro__title { max-width: 18ch; font-size: var(--md-fs-h2); color: var(--md-espresso); }
.mds-intro__text { font-size: var(--md-fs-lead); line-height: 1.7; color: var(--md-ink-muted); }
.mds-intro__text + .mds-intro__text { margin-top: 0.9rem; }
.mds-intro__points { display: grid; gap: 1rem; margin: 1.75rem 0 0; }
.mds-intro__points dt { font-weight: 600; color: var(--md-espresso); }
.mds-intro__points dd { margin: 0.2rem 0 0; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
/* Points avec pictogramme : pastille à gauche, titre et texte à droite. */
.mds-intro__points .has-icon { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 0.9rem; align-items: start; align-content: start; }
.mds-intro__points .has-icon dt, .mds-intro__points .has-icon dd { grid-column: 2; }
.mds-intro__points .has-icon dt { padding-top: 0.15rem; }
.mds-intro__icon { grid-row: 1 / span 2; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--md-champagne); border-radius: 50%; background: var(--md-white); color: var(--md-copper); box-shadow: 0 6px 16px -10px rgb(41 32 24 / 0.35); }
.mds-intro__icon .md-icon { width: 1.45rem; height: 1.45rem; stroke-width: 1.35; }
.mds-intro__signature { margin-top: 1.5rem; padding-left: 1rem; border-left: 2px solid var(--md-copper); font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); }
@media (min-width: 48rem) { .mds-intro__points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 2rem; } }
@media (min-width: 64rem) { .mds-intro__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); align-items: start; } }

/* ------------------------------------------- Contenu libre (éditeur) */
.mds-prose { max-width: var(--md-narrow); margin-inline: auto; }
.mds-prose > * + * { margin-top: 1rem; }
.mds-prose h2 { margin-top: 2.5rem; font-size: clamp(1.4rem, 1.2rem + 0.8vw, 1.9rem); }
.mds-prose h3 { margin-top: 1.75rem; font-size: 1.125rem; }
.mds-prose p, .mds-prose li { color: var(--md-ink-muted); }
.mds-prose a { color: var(--md-espresso); text-decoration-color: var(--md-copper); text-underline-offset: 0.2em; }

/* ------------------------------------- Page « Nos métiers » (gabarit page-trades.php) */
.md-v2 .md-tr-universe__media { position: relative; overflow: hidden; aspect-ratio: 3 / 2; margin-bottom: 1.25rem; border-radius: var(--md-radius-card); background: var(--md-linen); }
.md-v2 .md-tr-universe__head h2 { font-size: var(--md-fs-h2); }
.md-v2 .md-tr-card { border-radius: var(--md-radius-card); border-color: transparent; box-shadow: var(--md-shadow-card); transition: box-shadow var(--md-duration) var(--md-ease); }
.md-v2 .md-tr-card h3 { font: 600 1.0625rem/1.3 var(--md-font-display); }
.md-v2 .md-tr-list { align-content: start; }
.md-v2 .md-tr-nav { position: sticky; top: var(--md-header-h); z-index: 5; background: rgb(247 247 245 / 0.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.md-v2 .md-tr-nav__list a { border-color: var(--md-line); }
.md-v2 .md-tr-card__links .md-link-arrow { color: var(--md-espresso); }
.md-v2 .md-tr-universe { scroll-margin-top: calc(var(--md-header-h) + 5rem); }
@media (min-width: 64rem) { .md-v2 .md-tr-universe__head { top: calc(var(--md-header-h) + 6rem); } }
/* Aperçu des univers : une carte par univers, pictogramme et nombre de métiers, lien vers la section. */
.md-tr-overview { padding-block: clamp(3rem, 2.4rem + 2.5vw, 4.5rem); background: var(--md-ivory); }
.md-tr-overview__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.md-tr-ucard { display: flex; flex-direction: column; height: 100%; padding: 1.25rem; border: 1px solid var(--md-line); border-radius: var(--md-radius-card); background: var(--md-white); color: var(--md-espresso); text-decoration: none; transition: border-color var(--md-duration) var(--md-ease), box-shadow var(--md-duration) var(--md-ease), transform var(--md-duration) var(--md-ease); }
.md-tr-ucard:hover { border-color: var(--md-champagne); box-shadow: var(--md-shadow-card); transform: translateY(-2px); }
.md-tr-ucard:focus-visible { outline-offset: 3px; }
.md-tr-ucard__icon, .md-tr-universe__icon { display: inline-grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--md-linen); color: var(--md-copper-text); }
.md-tr-ucard__icon .md-icon, .md-tr-universe__icon .md-icon { width: 1.35rem; height: 1.35rem; stroke-width: 1.5; }
.md-tr-ucard__title { margin-top: 0.9rem; font-size: 1rem; font-weight: 600; line-height: 1.3; }
.md-tr-ucard__text { margin-top: 0.35rem; font-size: var(--md-fs-xs); line-height: 1.55; color: var(--md-ink-muted); }
.md-tr-ucard__meta { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 0.85rem; font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); }
.md-tr-ucard__meta .md-icon { width: 0.9rem; height: 0.9rem; transition: transform var(--md-duration) var(--md-ease); }
.md-tr-ucard:hover .md-tr-ucard__meta .md-icon { transform: translateX(3px); }
@media (min-width: 48rem) { .md-tr-overview__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; } }
.md-v2 .md-tr-nav__list a { gap: 0.5rem; }
.md-v2 .md-tr-nav__list a .md-icon { width: 1.05rem; height: 1.05rem; color: var(--md-copper-text); }
.md-tr-universe__icon { margin-bottom: 0.9rem; }
@media (prefers-reduced-motion: reduce) { .md-tr-ucard:hover { transform: none; } }

/* ------------------------------------- Pages construites avec Elementor (widgets « Maison & Déclic ») */
/* Les conteneurs Elementor n'ajoutent ni marge ni espacement : chaque widget gère sa propre section. */
.md-premium-page .elementor .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --margin-top: 0px; --margin-bottom: 0px; }
.md-premium-page .elementor .e-con > .e-con-inner { padding: 0; }
.md-premium-page .elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor-editor-active [data-reveal] { opacity: 1 !important; transform: none !important; }
/* Lien d'en-tête de section (ex. « Tous nos projets ») : bouton discret, le bouton plein reste réservé au dépôt de projet. */
.md-v2 .mds-head__actions .md-btn--copper:not(.md-project-card .md-btn) { background: transparent; border-color: rgb(41 32 24 / 0.35); color: var(--md-espresso); }
.md-v2 .mds-head__actions .md-btn--copper:not(.md-project-card .md-btn):hover { background: var(--md-espresso); border-color: var(--md-espresso); color: var(--md-white); }

/* ------------------------------------------------- Choix de l'espace (Mon espace) */
.mds-spaces__grid { display: grid; gap: 1.25rem; }
.mds-space { display: flex; flex-direction: column; padding: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem); border-top: 3px solid var(--md-copper); border-radius: var(--md-radius-card); background: var(--md-white); box-shadow: var(--md-shadow-card); }
.mds-space__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.mds-space__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--md-linen); color: var(--md-copper-text); }
.mds-space__icon .md-icon { width: 1.4rem; height: 1.4rem; stroke-width: 1.4; }
.mds-space__status { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.7rem; border-radius: 999px; background: var(--md-ivory); border: 1px solid var(--md-line); font-size: var(--md-fs-xs); font-weight: 500; color: var(--md-ink-muted); }
.mds-space__status::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: var(--md-copper); }
.mds-space .md-eyebrow { margin-bottom: 0.4rem; }
.mds-space__title { font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.65rem); color: var(--md-espresso); }
.mds-space__text { margin-top: 0.6rem; font-size: 1rem; line-height: 1.65; color: var(--md-ink-muted); }
.mds-space__features { display: grid; gap: 0.6rem; margin: 1.25rem 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--md-line); list-style: none; }
.mds-space__features li { position: relative; padding-left: 1.6rem; font-size: var(--md-fs-small); line-height: 1.5; color: var(--md-espresso); }
.mds-space__features li::before { content: ""; position: absolute; left: 0.2rem; top: 0.35rem; width: 0.55rem; height: 0.3rem; border-left: 2px solid var(--md-copper); border-bottom: 2px solid var(--md-copper); transform: rotate(-45deg); }
.mds-space__actions { display: grid; gap: 0.5rem; margin-top: auto; padding-top: 1.75rem; }
.mds-space__primary { margin-top: 0; }
.mds-space__primary .md-btn { width: 100%; }
.mds-space__secondary { justify-self: center; }
.mds-spaces__session { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin-bottom: 1.25rem; padding: 0.75rem 1rem; border-radius: var(--md-radius-card); background: var(--md-ivory); border: 1px solid var(--md-line); font-size: var(--md-fs-small); }
.mds-spaces__session .md-icon { width: 1.1rem; height: 1.1rem; color: var(--md-copper-text); }
.mds-spaces__session a { margin-left: auto; font-weight: 600; color: var(--md-espresso); }
.mds-spaces__note { margin-top: 1.5rem; padding: 1rem 1.25rem; border-radius: var(--md-radius-card); background: var(--md-ivory); border: 1px solid var(--md-line); font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); text-align: center; }
.mds-spaces__note a { font-weight: 600; color: var(--md-espresso); text-decoration: underline; text-decoration-color: var(--md-copper); text-decoration-thickness: 2px; text-underline-offset: 0.25em; }
.mds-spaces__note a:hover { color: var(--md-copper-text); }
@media (min-width: 48rem) { .mds-spaces__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; } }
.mds-spaces .mds-section, .mds-spaces { padding-block: clamp(2.5rem, 2rem + 2vw, 4rem); }

/* ------------------------------------------------- Appel téléphonique (masqué sans numéro officiel) */
.mds-phone { padding-block: clamp(2rem, 1.6rem + 1.5vw, 3rem); }
.mds-phone__inner { display: grid; gap: 1rem 1.5rem; align-items: center; }
.mds-phone__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: var(--md-white); color: var(--md-copper-text); box-shadow: var(--md-shadow-card); }
.mds-phone__icon .md-icon { width: 1.35rem; height: 1.35rem; }
.mds-phone__title { font-size: var(--md-fs-h3); color: var(--md-espresso); }
.mds-phone__text p { max-width: 40rem; margin-top: 0.35rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mds-phone__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; }
.mds-phone__number { font-weight: 500; }
.mds-phone__missing { margin: 0; padding: 1rem var(--md-pad); background: var(--md-linen); font-size: var(--md-fs-xs); color: var(--md-ink-muted); text-align: center; }
@media (min-width: 64rem) { .mds-phone__inner { grid-template-columns: auto minmax(0, 1fr) auto; } }

/* ------------------------------------------------- Réalisations de nos partenaires (accueil, maquette) */
.mds-works, .mds-trust { --md-edge: 1.5rem; }
@media (min-width: 48rem) { .mds-works, .mds-trust { --md-edge: 2.5rem; } }
/* Grand écran : marge qui grandit avec la largeur (64 px à 1024, ~93 px à 1440, 128 px à 1920). */
@media (min-width: 64rem) { .mds-works, .mds-trust { --md-edge: clamp(4rem, -0.5rem + 7vw, 8rem); } }
/* Ces deux sections utilisent toute la largeur de la page (petite marge symétrique), sans toucher au conteneur global. */
.mds-works > .md-wrap, .mds-trust > .md-wrap { max-width: none; padding-inline: var(--md-edge); }
.mds-works { padding-block: clamp(2rem, 1.4rem + 2vw, 3.25rem); }
.mds-works__grid { display: grid; gap: 1.75rem; align-items: center; }
.mds-works__title { font-size: clamp(1.55rem, 1.1rem + 0.95vw, 2.05rem); line-height: 1.2; color: var(--md-espresso); text-wrap: balance; }
.mds-works__subtitle { display: block; color: var(--md-copper); }
.mds-works__lead { max-width: 26rem; margin-top: 1rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-brown); }
.mds-works__action { margin-top: 1.75rem; }
.md-v2 .mds-works__action .md-btn:not(.md-project-card .md-btn) { min-height: 2.9rem; padding-inline: 1.35rem; background: transparent; border: 1px solid var(--md-copper); border-radius: 6px; color: var(--md-copper-text); }
.md-v2 .mds-works__action .md-btn:not(.md-project-card .md-btn):hover { background: var(--md-copper); color: var(--md-on-copper); }
.mds-works__stage { position: relative; min-width: 0; }
.mds-works__track { display: grid; grid-auto-flow: column; grid-auto-columns: 78%; gap: 0.5rem; margin: 0; padding: 0; overflow-x: auto; list-style: none; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.mds-works__track::-webkit-scrollbar { display: none; }
.mds-works__item { scroll-snap-align: start; }
.mds-works__open { position: relative; display: block; width: 100%; aspect-ratio: 16 / 15; overflow: hidden; padding: 0; border: 0; border-radius: 8px; background: var(--md-linen); cursor: zoom-in; }
.mds-works__open img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1); }
.mds-works__open:hover img, .mds-works__open:focus-visible img { transform: scale(1.035); }
.mds-works__open:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
.mds-works__tag { position: absolute; left: 0.75rem; bottom: 0.75rem; display: inline-flex; align-items: center; gap: 0.45rem; max-width: calc(100% - 1.5rem); padding: 0.4rem 0.7rem; border-radius: 999px; background: rgb(30 23 18 / 0.72); font-size: var(--md-fs-label); font-weight: 500; color: var(--md-white); opacity: 0; transform: translateY(4px); transition: opacity 220ms ease, transform 220ms ease; }
.mds-works__tag .md-icon { flex: none; width: 0.95rem; height: 0.95rem; }
.mds-works__tag-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mds-works__open:hover .mds-works__tag, .mds-works__open:focus-visible .mds-works__tag { opacity: 1; transform: none; }
@media (hover: none) { .mds-works__tag { opacity: 1; transform: none; } .mds-works__tag-name { display: none; } }
.mds-works__nav { position: absolute; right: 1rem; bottom: 1rem; display: flex; gap: 0.5rem; }
.mds-works__nav button { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: var(--md-white); color: var(--md-espresso); box-shadow: 0 4px 14px -6px rgb(30 23 18 / 0.45); cursor: pointer; transition: transform 160ms ease, opacity 160ms ease; }
.mds-works__nav button + button { background: rgb(41 32 24 / 0.62); color: var(--md-white); backdrop-filter: blur(6px); }
.mds-works__nav button:hover { transform: scale(1.06); }
.mds-works__nav button:active { transform: scale(0.96); }
.mds-works__nav button[disabled] { opacity: 0.45; cursor: default; transform: none; }
.mds-works__nav .md-icon { width: 1.05rem; height: 1.05rem; }
@media (min-width: 48rem) { .mds-works__track { grid-auto-columns: calc((100% - 1rem) / 2.4); } }
/* Tablette et petit ordinateur : texte au-dessus, galerie sur toute la largeur (3 projets visibles). */
@media (min-width: 64rem) { .mds-works__track { grid-auto-columns: calc((100% - 1rem) / 3); } .mds-works__lead { max-width: 40rem; } }
/* Grand écran : texte ~28 %, galerie ~72 %, photos carrées pour équilibrer la hauteur du texte. */
@media (min-width: 80rem) {
	.mds-works__grid { grid-template-columns: minmax(0, 30fr) minmax(0, 70fr); gap: clamp(1.75rem, 0.5rem + 2vw, 3rem); }
	.mds-works__open { aspect-ratio: 10 / 11; }
}
@media (min-width: 110rem) {
	.mds-works__grid { grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); }
	.mds-works__open { aspect-ratio: 8 / 7; }
}

/* Un seul projet (ex. page Réalisations) : mis en avant sur toute la largeur de la galerie. */
.mds-works__track:has(> .mds-works__item:only-child) { grid-auto-columns: 100%; }
.mds-works__track:has(> .mds-works__item:only-child) .mds-works__open { aspect-ratio: 16 / 9; }

/* ------------------------------------------------- Réalisations : cartes-étiquettes (page /realisations/) */
.mds-real__head { max-width: 46rem; margin-bottom: clamp(1.75rem, 1.2rem + 1.8vw, 2.75rem); }
.mds-real__title { margin-top: 0.75rem; font-size: var(--md-fs-h2); line-height: 1.15; color: var(--md-espresso); text-wrap: balance; }
.mds-real__lead { max-width: 40rem; margin-top: 1rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mds-real__filter { margin: 0 0 clamp(1.5rem, 1rem + 1.5vw, 2.25rem); }
.mds-real__grid { display: grid; gap: clamp(1.5rem, 1rem + 1.6vw, 2.25rem); margin: 0; padding: 0; list-style: none; }
.mds-real__item[hidden] { display: none; }
.mds-real__card { position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: 14px; background: var(--md-white); box-shadow: 0 1px 2px rgb(41 32 24 / 0.05), 0 22px 44px -32px rgb(41 32 24 / 0.38); transition: transform 520ms var(--md-ease-out), box-shadow 520ms var(--md-ease-out); }
.mds-real__media { position: relative; aspect-ratio: 5 / 4; overflow: hidden; background: var(--md-linen); }
.mds-real__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1100ms var(--md-ease-out); }
.mds-real__media::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(180deg, rgb(30 23 18 / 0) 0%, rgb(30 23 18 / 0.38) 100%); opacity: 0.7; transition: opacity 520ms ease; pointer-events: none; }
.mds-real__count { position: absolute; right: 0.9rem; bottom: 0.9rem; z-index: 1; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.7rem; border-radius: 999px; background: rgb(30 23 18 / 0.62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: var(--md-fs-label); font-weight: 500; color: var(--md-white); }
.mds-real__count .md-icon { width: 0.9rem; height: 0.9rem; }
.mds-real__body { position: relative; display: flex; flex: 1; flex-direction: column; gap: 0.45rem; padding: 2rem clamp(1.25rem, 1rem + 0.6vw, 1.6rem) 1.25rem; }
/* Étiquette : forme de tag (pointe et œillet), posée à cheval sur la photo. */
.mds-real__tag { position: absolute; top: 0; left: clamp(1.25rem, 1rem + 0.6vw, 1.6rem); display: inline-flex; align-items: center; min-height: 2rem; padding: 0 0.95rem 0 1.45rem; background: var(--md-espresso); font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.02em; color: var(--md-champagne); clip-path: polygon(0.75rem 0, 100% 0, 100% 100%, 0.75rem 100%, 0 50%); transform: translateY(-50%); }
.mds-real__tag::before { content: ""; position: absolute; left: 0.62rem; top: 50%; width: 0.35rem; height: 0.35rem; border-radius: 50%; background: var(--md-champagne); transform: translateY(-50%); }
.mds-real__meta { display: flex; flex-wrap: wrap; gap: 0.2rem 0.6rem; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mds-real__place { font-weight: 600; color: var(--md-copper-text); }
.mds-real__meta span + span::before { content: "·"; margin-right: 0.6rem; color: var(--md-champagne); }
.mds-real__name { font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem); font-weight: 600; line-height: 1.25; color: var(--md-espresso); }
.mds-real__text { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mds-real__open { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; margin-top: auto; padding: 1rem 0 0; border: 0; border-top: 1px solid var(--md-line); background: none; font: 600 0.9375rem/1.2 var(--md-font-sans); color: var(--md-espresso); text-align: left; cursor: pointer; }
/* Toute la carte est cliquable (le bouton s'étend sur la carte). */
.mds-real__open::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.mds-real__arrow { display: inline-grid; place-items: center; flex: none; width: 2.5rem; height: 2.5rem; border: 1px solid var(--md-champagne); border-radius: 50%; color: var(--md-copper-text); transition: background-color 320ms ease, border-color 320ms ease, color 320ms ease, transform 420ms var(--md-ease-out); }
.mds-real__arrow .md-icon { width: 1rem; height: 1rem; }
.mds-real__card:has(.mds-real__open:focus-visible) { outline: 2px solid var(--md-copper); outline-offset: 3px; }
.mds-real__open:focus-visible { outline: none; }
@media (hover: hover) {
	.mds-real__card:hover { transform: translateY(-6px); box-shadow: 0 2px 4px rgb(41 32 24 / 0.06), 0 34px 60px -34px rgb(41 32 24 / 0.55); }
	.mds-real__card:hover .mds-real__media img { transform: scale(1.06); }
	.mds-real__card:hover .mds-real__media::after { opacity: 1; }
	.mds-real__card:hover .mds-real__arrow { border-color: var(--md-copper); background: var(--md-copper); color: var(--md-on-copper); transform: translateX(3px); }
}
.mds-real__card:active { transform: translateY(-2px); }
@media (min-width: 40rem) { .mds-real__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .mds-real__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) {
	.mds-real__card, .mds-real__media img, .mds-real__arrow { transition: none; }
	.mds-real__card:hover, .mds-real__card:active { transform: none; }
	.mds-real__card:hover .mds-real__media img, .mds-real__card:hover .mds-real__arrow { transform: none; }
}

/* Réalisations : origine (pastille sur la photo), sélecteur d'origine, message vide */
.mds-real__origin { position: absolute; left: 0.9rem; top: 0.9rem; z-index: 1; display: inline-flex; align-items: center; gap: 0.4rem; max-width: calc(100% - 1.8rem); padding: 0.4rem 0.75rem; border-radius: 999px; font-size: var(--md-fs-label); font-weight: 600; line-height: 1.2; }
.mds-real__origin .md-icon { flex: none; width: 0.95rem; height: 0.95rem; }
.mds-real__origin.is-accompanied { background: var(--md-copper); color: var(--md-on-copper); }
.mds-real__origin.is-partner { background: rgb(255 255 255 / 0.92); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: var(--md-espresso); }
.mds-real__segment { display: flex; gap: 0.25rem; width: fit-content; max-width: 100%; margin: 0 0 1rem; padding: 0.3rem; overflow-x: auto; border-radius: 999px; background: var(--md-linen); scrollbar-width: none; }
.mds-real__seg { flex: none; min-height: 2.5rem; padding: 0 1.1rem; border: 0; border-radius: 999px; background: transparent; font: 600 0.875rem/1 var(--md-font-sans); color: var(--md-ink-muted); cursor: pointer; transition: background-color 240ms ease, color 240ms ease, box-shadow 240ms ease; }
.mds-real__seg:hover { color: var(--md-espresso); }
.mds-real__seg[aria-pressed="true"] { background: var(--md-white); color: var(--md-espresso); box-shadow: 0 2px 8px -4px rgb(41 32 24 / 0.35); }
.mds-real__seg:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; }
.mds-real__empty { margin-top: 1rem; padding: 2rem; border: 1px dashed var(--md-line); border-radius: 14px; text-align: center; color: var(--md-ink-muted); }
a.mds-real__open { text-decoration: none; }

/* ------------------------------------------------- Page d'une réalisation (/realisations/{projet}/) */
.mdr-demo { margin: 0; padding: 0.6rem 1rem; background: var(--md-linen); font-size: var(--md-fs-xs); font-weight: 600; text-align: center; color: var(--md-copper-text); }
.mdr-hero { padding-block: clamp(1.75rem, 1rem + 2.5vw, 3.5rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); background: var(--md-ivory); }
.mdr-hero__grid { display: grid; gap: clamp(1.75rem, 1rem + 2.5vw, 3.5rem); align-items: center; }
.mdr-hero__crumb { margin-bottom: 1.25rem; }
.mdr-hero__badges { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 0.9rem; margin-bottom: 1.1rem; }
.mdr-hero__tag.mds-real__tag { position: relative; top: auto; left: auto; transform: none; }
.mdr-origin { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 2rem; padding: 0 0.85rem; border-radius: 999px; font-size: var(--md-fs-label); font-weight: 600; }
.mdr-origin .md-icon { width: 1rem; height: 1rem; }
.mdr-origin.is-accompanied { background: var(--md-copper); color: var(--md-on-copper); }
.mdr-origin.is-partner { border: 1px solid var(--md-champagne); background: var(--md-white); color: var(--md-espresso); }
.mdr-hero__title { font-size: clamp(2.05rem, 1.45rem + 2.4vw, 3.4rem); line-height: 1.07; letter-spacing: -0.01em; color: var(--md-espresso); text-wrap: balance; }
.mdr-hero__lead { max-width: 36rem; margin-top: 1.1rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mdr-hero__meta { margin-top: 0.9rem; font-size: var(--md-fs-small); font-weight: 600; color: var(--md-copper-text); }
.mdr-hero__actions { margin-top: 1.75rem; }
.mdr-hero__actions .md-btn .md-icon { width: 1.1rem; height: 1.1rem; }
.mdr-hero__media { position: relative; margin: 0; aspect-ratio: 5 / 4; overflow: hidden; border-radius: 18px; background: var(--md-linen); box-shadow: 0 30px 60px -36px rgb(41 32 24 / 0.55); }
.mdr-hero__media img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 64rem) { .mdr-hero__grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); } }

/* Fiche travaux : ticket sombre à encoches. */
.mdr-sheet { --notch: 0.7rem; display: grid; gap: 1.25rem; margin-top: clamp(2rem, 1.25rem + 2vw, 3rem); padding: clamp(1.4rem, 1.1rem + 1vw, 2rem) clamp(1.5rem, 1rem + 2vw, 2.75rem); border-radius: 16px; background: var(--md-espresso); color: var(--md-white); -webkit-mask: radial-gradient(circle var(--notch) at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; mask: radial-gradient(circle var(--notch) at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle var(--notch) at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat; }
.mdr-sheet__title { font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--md-champagne); }
.mdr-sheet__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: 1.1rem 0; margin: 0; }
.mdr-sheet__list > div { padding: 0.15rem 1.25rem; border-left: 1px dashed rgb(216 195 165 / 0.35); }
.mdr-sheet dt { display: flex; align-items: center; gap: 0.45rem; font-size: var(--md-fs-xs); color: rgb(255 255 255 / 0.72); }
.mdr-sheet dt .md-icon { width: 1rem; height: 1rem; color: var(--md-champagne); }
.mdr-sheet dd { margin: 0.35rem 0 0; font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem); font-weight: 600; color: var(--md-white); }
@media (min-width: 64rem) { .mdr-sheet { grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 2rem; } .mdr-sheet__title { writing-mode: vertical-rl; transform: rotate(180deg); padding: 0.25rem 0; } }

/* Galerie : mosaïque et avant / après */
.mdr-section-head { margin-bottom: clamp(1.25rem, 1rem + 1vw, 2rem); }
.mdr-section-head h2 { font-size: var(--md-fs-h2); line-height: 1.15; color: var(--md-espresso); }
.mdr-section-head p { margin-top: 0.5rem; font-size: var(--md-fs-small); color: var(--md-ink-muted); }
.mdr-mosaic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(8rem, 5rem + 12vw, 11rem); gap: 0.6rem; margin: 0; padding: 0; list-style: none; }
.mdr-mosaic > li:first-child { grid-column: 1 / -1; grid-row: span 2; }
.mdr-mosaic__item { position: relative; display: block; width: 100%; height: 100%; overflow: hidden; padding: 0; border: 0; border-radius: 12px; background: var(--md-linen); cursor: zoom-in; }
.mdr-mosaic__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--md-ease-out); }
.mdr-mosaic__item:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
.mdr-mosaic__more { position: absolute; inset: 0; display: grid; place-items: center; background: rgb(30 23 18 / 0.55); font-size: 1.6rem; font-weight: 600; color: var(--md-white); }
@media (hover: hover) { .mdr-mosaic__item:hover img { transform: scale(1.04); } }
@media (min-width: 48rem) {
	.mdr-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(10rem, 6rem + 9vw, 15rem); }
	.mdr-mosaic > li:first-child { grid-column: span 2; grid-row: span 2; }
	.mdr-mosaic.is-2 > li { grid-column: span 2; grid-row: span 2; }
	.mdr-mosaic.is-3 > li:not(:first-child) { grid-column: span 2; }
	.mdr-mosaic.is-4 > li:nth-child(2) { grid-column: span 2; }
}
.mdr-compare { margin: clamp(2rem, 1.5rem + 2vw, 3rem) 0 0; }
.mdr-compare__stage { --md-compare: 50%; position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 16px; background: var(--md-linen); }
.mdr-compare__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdr-compare__after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--md-compare)); }
.mdr-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--md-compare); display: grid; grid-auto-flow: column; place-items: center; width: 2px; background: var(--md-white); transform: translateX(-50%); pointer-events: none; }
.mdr-compare__handle::before { content: ""; position: absolute; width: 3rem; height: 3rem; border-radius: 50%; background: var(--md-white); box-shadow: 0 6px 18px -6px rgb(30 23 18 / 0.5); }
.mdr-compare__handle .md-icon { position: relative; width: 0.85rem; height: 0.85rem; color: var(--md-espresso); }
.mdr-compare__label { position: absolute; top: 1rem; padding: 0.35rem 0.75rem; border-radius: 999px; background: rgb(30 23 18 / 0.62); font-size: var(--md-fs-label); font-weight: 600; color: var(--md-white); pointer-events: none; }
.mdr-compare__label.is-before { left: 1rem; }
.mdr-compare__label.is-after { right: 1rem; background: var(--md-copper); color: var(--md-on-copper); }
.mdr-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.mdr-compare__stage:has(.mdr-compare__range:focus-visible) { outline: 2px solid var(--md-copper); outline-offset: 3px; }
.mdr-compare figcaption { margin-top: 0.75rem; font-size: var(--md-fs-xs); color: var(--md-ink-muted); text-align: center; }

/* Récit et pancarte du professionnel */
.mdr-story__grid { display: grid; gap: clamp(2.5rem, 1.5rem + 3vw, 4.5rem); align-items: start; }
.mdr-story.is-single .mdr-story__grid { max-width: 50rem; }
.mdr-story__main > * + * { margin-top: clamp(2rem, 1.5rem + 1.5vw, 2.75rem); }
.mdr-block .md-eyebrow { margin-bottom: 0.75rem; }
.mdr-block__lead { font-size: var(--md-fs-lead); line-height: 1.7; color: var(--md-espresso); }
.mdr-support { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; padding: 1.5rem; border-left: 3px solid var(--md-copper); border-radius: 0 14px 14px 0; background: var(--md-linen); }
.mdr-support__mark { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--md-copper); color: var(--md-on-copper); }
.mdr-support__mark .md-icon { width: 1.25rem; height: 1.25rem; }
.mdr-support__title { font-weight: 600; color: var(--md-espresso); }
.mdr-support p + p { margin-top: 0.35rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-brown); }
.mdr-partner-note { display: inline-flex; align-items: center; gap: 0.55rem; padding: 0.55rem 1rem; border: 1px solid var(--md-line); border-radius: 999px; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mdr-partner-note .md-icon { flex: none; width: 1.05rem; height: 1.05rem; color: var(--md-copper); }
.mdr-steps { margin: 0; padding: 0; list-style: none; counter-reset: mdr-step; }
.mdr-steps li { position: relative; padding: 0.35rem 0 1.4rem 3.25rem; counter-increment: mdr-step; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-espresso); }
.mdr-steps li::before { content: counter(mdr-step, decimal-leading-zero); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border: 1px solid var(--md-champagne); border-radius: 50%; background: var(--md-white); font-size: 0.75rem; font-weight: 600; color: var(--md-copper-text); font-variant-numeric: tabular-nums; }
.mdr-steps li:not(:last-child)::after { content: ""; position: absolute; left: 1.1rem; top: 2.3rem; bottom: 0.1rem; width: 1px; background: var(--md-line); }
.mdr-specs { display: grid; gap: 1.75rem; padding-top: clamp(2rem, 1.5rem + 1.5vw, 2.75rem); border-top: 1px solid var(--md-line); }
.mdr-specs .md-eyebrow { margin-bottom: 0.75rem; }
.mdr-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.mdr-chips li { padding: 0.45rem 0.9rem; border: 1px solid var(--md-line); border-radius: 999px; background: var(--md-white); font-size: var(--md-fs-xs); font-weight: 500; color: var(--md-espresso); }
.mdr-materials { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.mdr-materials li { position: relative; padding-left: 1.2rem; font-size: var(--md-fs-small); line-height: 1.5; color: var(--md-espresso); }
.mdr-materials li::before { content: ""; position: absolute; left: 0; top: 0.55em; width: 0.45rem; height: 0.45rem; background: var(--md-copper); transform: rotate(45deg); }
.mdr-result { margin-inline: 0; margin-bottom: 0; padding-left: 1.5rem; border-left: 2px solid var(--md-copper); }
.mdr-result p { font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.65rem); line-height: 1.4; color: var(--md-espresso); text-wrap: balance; }
@media (min-width: 48rem) { .mdr-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
	.mdr-story__grid { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
	.mdr-aside { position: sticky; top: 6.5rem; }
}
/* Pancarte : plaque à double filet et rivets. */
.mdr-pro { position: relative; padding: clamp(1.5rem, 1.2rem + 1vw, 2rem); border: 1px solid var(--md-champagne); border-radius: 16px; background: radial-gradient(circle at 12px 12px, var(--md-champagne) 2px, transparent 2.6px), radial-gradient(circle at calc(100% - 12px) 12px, var(--md-champagne) 2px, transparent 2.6px), radial-gradient(circle at 12px calc(100% - 12px), var(--md-champagne) 2px, transparent 2.6px), radial-gradient(circle at calc(100% - 12px) calc(100% - 12px), var(--md-champagne) 2px, transparent 2.6px), var(--md-white); outline: 1px solid var(--md-linen); outline-offset: -9px; box-shadow: 0 26px 50px -36px rgb(41 32 24 / 0.5); }
.mdr-pro__label { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1.1rem; font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--md-copper-text); }
.mdr-pro__label::after { content: ""; flex: 1; height: 1px; background: var(--md-line); }
.mdr-pro__id { display: flex; align-items: center; gap: 0.9rem; }
.mdr-pro__avatar { flex: none; width: 3.5rem; height: 3.5rem; border-radius: 50%; object-fit: cover; }
.mdr-pro__avatar.mdr-pro__logo { width: auto; max-width: 7.5rem; height: 3.25rem; padding: 0.35rem 0.5rem; border: 1px solid var(--md-line, #E4DDD3); border-radius: 6px; background: #fff; object-fit: contain; }
.mdr-pro__profile { margin: 0.75rem 0 0; }
.mdr-pro__profile a { color: var(--md-espresso, #292018); font-weight: 600; text-decoration: underline; text-decoration-color: var(--md-copper, #AB7956); text-underline-offset: 0.3em; }
.mdr-pro__avatar.is-initials { display: inline-grid; place-items: center; background: var(--md-espresso); font-size: 1rem; font-weight: 600; letter-spacing: 0.04em; color: var(--md-champagne); }
.mdr-pro__name { font-size: 1.15rem; font-weight: 600; line-height: 1.25; color: var(--md-espresso); }
.mdr-pro__trade { margin-top: 0.15rem; font-size: var(--md-fs-small); color: var(--md-ink-muted); }
.mdr-pro__verified { display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 1rem; padding: 0.4rem 0.8rem; border-radius: 999px; background: rgb(171 121 86 / 0.12); font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); }
.mdr-pro__verified .md-icon { width: 1rem; height: 1rem; }
.mdr-pro__facts { display: grid; margin: 1.1rem 0 0; }
.mdr-pro__facts > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.7rem 0; border-top: 1px solid var(--md-line); }
.mdr-pro__facts dt { font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mdr-pro__facts dd { margin: 0; font-size: var(--md-fs-xs); font-weight: 600; text-align: right; color: var(--md-espresso); }
.mdr-pro__bio { margin-top: 0.9rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mdr-pro__cta { display: grid; gap: 0.9rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--md-line); }
.mdr-pro__cta p { font-size: var(--md-fs-xs); line-height: 1.6; color: var(--md-ink-muted); }
.mdr-pro__cta .md-btn { width: 100%; justify-content: center; }

/* Avis du client et projets similaires */
.mdr-review { background: var(--md-linen); }
.mdr-review figure { max-width: 48rem; margin: 0 auto; text-align: center; }
.mdr-review__mark { display: block; height: 2.25rem; font-family: Georgia, "Times New Roman", serif; font-size: 4.5rem; line-height: 1; color: var(--md-copper); }
.mdr-review blockquote { margin: 0.75rem 0 0; }
.mdr-review blockquote p { font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.6rem); line-height: 1.5; color: var(--md-espresso); text-wrap: balance; }
.mdr-review figcaption { margin-top: 1.1rem; font-size: var(--md-fs-small); font-weight: 600; color: var(--md-copper-text); }
.mdr-similar__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; }
@media (prefers-reduced-motion: reduce) { .mdr-mosaic__item img { transition: none; } .mdr-mosaic__item:hover img { transform: none; } }

/* ------------------------------------------------- Statuts (badges : pastille de couleur + texte) */
.md-status { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.3rem 0.75rem; border-radius: 999px; font-size: var(--md-fs-label); font-weight: 600; line-height: 1.3; white-space: nowrap; }
.md-status::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: currentColor; }
.md-status--neutral { background: var(--md-linen); color: var(--md-brown); }
.md-status--warning { background: #FBEEDD; color: #8A4B00; }
.md-status--danger { background: #F8E7E4; color: #A12A1D; }
.md-status--info { background: #E7EEF6; color: #1F4E79; }
.md-status--success { background: #E6F2EA; color: #1E6B3A; }

/* ------------------------------------------------- Espace professionnel : Mes réalisations (interface préparée) */
.mdp__head { max-width: 46rem; }
.mdp__title { margin-top: 0.6rem; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); line-height: 1.1; color: var(--md-espresso); }
.mdp__lead { margin-top: 0.9rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mdp__preview { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 1.25rem; padding: 0.65rem 1rem; border: 1px dashed var(--md-champagne); border-radius: 12px; background: var(--md-white); font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); }
.mdp__preview .md-icon { flex: none; width: 1.1rem; height: 1.1rem; }
.mdp-flow { display: grid; gap: 0.75rem; margin: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem) 0 0; padding: 0; list-style: none; counter-reset: mdp-flow; }
.mdp-flow li { position: relative; padding: 1rem 1.1rem; border: 1px solid var(--md-line); border-radius: 14px; background: var(--md-white); }
.mdp-flow li p { margin-top: 0.55rem; font-size: var(--md-fs-xs); line-height: 1.55; color: var(--md-ink-muted); }
.mdp-flow li.is-alt { border-style: dashed; }
@media (min-width: 48rem) { .mdp-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) {
	.mdp-flow { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mdp-flow li:not(.is-alt):not(:nth-child(3))::after { content: "→"; position: absolute; right: -0.6rem; top: 1.2rem; z-index: 1; display: grid; place-items: center; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: var(--md-ivory); font-size: 0.75rem; color: var(--md-copper); }
}
.mdp-list { margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); padding: clamp(1.25rem, 1rem + 1vw, 1.75rem); border-radius: 16px; background: var(--md-white); box-shadow: 0 1px 2px rgb(41 32 24 / 0.05), 0 22px 44px -34px rgb(41 32 24 / 0.38); }
.mdp-list__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.75rem; }
.mdp-list__head h2, .mdp-form__head h2 { font-size: clamp(1.3rem, 1.15rem + 0.6vw, 1.6rem); color: var(--md-espresso); }
.mdp-list__example { font-size: var(--md-fs-label); font-weight: 600; color: var(--md-ink-muted); }
.mdp-list ul { margin: 0; padding: 0; list-style: none; }
.mdp-row { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: 0.4rem 1rem; align-items: center; padding: 0.9rem 0; border-top: 1px solid var(--md-line); }
.mdp-row__thumb { position: relative; grid-row: span 2; width: 3.5rem; height: 3.5rem; overflow: hidden; border-radius: 10px; background: var(--md-linen); }
.mdp-row__thumb img { width: 100%; height: 100%; object-fit: cover; }
.mdp-row__main { display: grid; gap: 0.15rem; min-width: 0; }
.mdp-row__main strong { font-weight: 600; color: var(--md-espresso); }
.mdp-row__meta { font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mdp-row__note { margin-top: 0.3rem; padding: 0.4rem 0.7rem; border-left: 2px solid #A12A1D; border-radius: 0 8px 8px 0; background: #F8E7E4; font-size: var(--md-fs-xs); color: #6E1D14; }
@media (min-width: 40rem) { .mdp-row { grid-template-columns: 3.5rem minmax(0, 1fr) auto; } .mdp-row__thumb { grid-row: auto; } }
.mdp-form { margin-top: clamp(2rem, 1.5rem + 2vw, 3rem); }
.mdp-form__head p { max-width: 42rem; margin-top: 0.5rem; font-size: var(--md-fs-small); color: var(--md-ink-muted); }
.mdp-group { margin: 1.25rem 0 0; padding: clamp(1.25rem, 1rem + 1vw, 1.75rem); border: 1px solid var(--md-line); border-radius: 16px; background: var(--md-white); }
.mdp-group legend { padding: 0 0.5rem; font-size: 1.05rem; font-weight: 600; color: var(--md-espresso); }
.mdp-group__help { margin: 0 0 1rem; font-size: var(--md-fs-xs); line-height: 1.55; color: var(--md-ink-muted); }
.mdp-group__grid { display: grid; gap: 1rem 1.25rem; }
@media (min-width: 48rem) { .mdp-group__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mdp-field.is-wide { grid-column: 1 / -1; } }
.mdp-field { display: grid; gap: 0.4rem; align-content: start; }
.mdp-field > label, .mdp-field__label { font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); }
.mdp-req { color: var(--md-copper-text); }
.mdp-field input[type="text"], .mdp-field select, .mdp-field textarea { width: 100%; min-height: 2.9rem; padding: 0.65rem 0.85rem; border: 1px solid var(--md-line); border-radius: 10px; background: var(--md-ivory); font: inherit; font-size: var(--md-fs-small); color: var(--md-espresso); transition: border-color 200ms ease, box-shadow 200ms ease; }
.mdp-field textarea { resize: vertical; }
.mdp-field input:focus-visible, .mdp-field select:focus-visible, .mdp-field textarea:focus-visible { outline: none; border-color: var(--md-copper); box-shadow: 0 0 0 3px rgb(171 121 86 / 0.2); }
.mdp-field__help { font-size: var(--md-fs-xs); line-height: 1.5; color: var(--md-ink-muted); }
.mdp-check { display: flex; align-items: center; gap: 0.6rem; font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); }
.mdp-check input { width: 1.15rem; height: 1.15rem; accent-color: var(--md-copper); }
.mdp-drop { display: grid; justify-items: center; gap: 0.35rem; padding: 1.5rem 1rem; border: 1.5px dashed var(--md-champagne); border-radius: 14px; background: var(--md-ivory); text-align: center; color: var(--md-espresso); cursor: not-allowed; }
.mdp-drop .md-icon { width: 1.6rem; height: 1.6rem; color: var(--md-copper); }
.mdp-drop span { font-size: var(--md-fs-small); font-weight: 600; }
.mdp-drop small { font-size: var(--md-fs-label); color: var(--md-ink-muted); }
.mdp-form__bar { position: sticky; bottom: 0.75rem; z-index: 5; display: grid; gap: 0.9rem; margin-top: 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--md-line); border-radius: 16px; background: rgb(255 255 255 / 0.96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 18px 40px -26px rgb(41 32 24 / 0.5); }
.mdp-form__bar p { font-size: var(--md-fs-xs); line-height: 1.55; color: var(--md-ink-muted); }
.mdp-form__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.mdp-form__actions .md-btn[disabled] { opacity: 0.55; cursor: not-allowed; }
@media (min-width: 64rem) { .mdp-form__bar { grid-template-columns: minmax(0, 1fr) auto; align-items: center; } }

/* ------------------------------------------------- Projets disponibles (page /projets-disponibles/, maquette) */
.mdo-intro { padding-block: clamp(2.25rem, 1.5rem + 2.5vw, 3.25rem); border-top: 1px solid var(--md-line); }
.mdo-intro__title { margin-top: 0.65rem; font-size: var(--md-fs-h2); line-height: 1.08; letter-spacing: -0.01em; color: var(--md-espresso); }
.mdo-intro__lead { margin-top: 0.75rem; font-size: var(--md-fs-lead); line-height: 1.6; color: var(--md-ink-muted); }
.mdo-intro__actions { margin-top: 1.5rem; }
.mdo-intro__note { margin-top: 0.85rem; font-size: var(--md-fs-xs); line-height: 1.55; color: var(--md-ink-muted); }
.mdo-steps { display: grid; gap: 0.9rem; margin: 0 0 clamp(1.5rem, 1.1rem + 1.2vw, 2rem); padding-bottom: clamp(1.5rem, 1.1rem + 1.2vw, 2rem); border-bottom: 1px solid var(--md-line); padding-inline: 0; padding-top: 0; list-style: none; counter-reset: mdo-step; }
.mdo-steps li { display: flex; align-items: center; gap: 0.85rem; counter-increment: mdo-step; }
.mdo-steps__num { display: inline-grid; place-items: center; flex: none; width: 2.4rem; height: 2.4rem; border: 1.5px solid var(--md-copper); border-radius: 50%; font-size: 1.05rem; font-weight: 500; color: var(--md-copper-text); }
.mdo-steps__num::before { content: counter(mdo-step); }
.mdo-steps__body { display: grid; gap: 0.15rem; }
.mdo-steps__body strong { font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); }
.mdo-steps__body span { font-size: var(--md-fs-xs); line-height: 1.45; color: var(--md-ink-muted); }
@media (min-width: 64rem) {
	.mdo-steps { display: flex; align-items: center; gap: 0; }
	.mdo-steps li { flex: 1 1 0; min-width: 0; }
	.mdo-steps li:not(:last-child)::after { content: ""; flex: none; width: 2rem; height: 1px; margin-inline: 1.25rem; background: var(--md-champagne); }
	.mdo-steps__num { width: 2.7rem; height: 2.7rem; }
}

.mdo { padding-block: clamp(2.25rem, 1.5rem + 2.5vw, 3.5rem) clamp(2.25rem, 1.5rem + 2vw, 3.25rem); }
.mdo__head { max-width: 46rem; margin-bottom: clamp(1.25rem, 1rem + 1vw, 1.75rem); }
.mdo__title { margin-top: 0.6rem; font-size: clamp(2rem, 1.55rem + 1.6vw, 2.75rem); line-height: 1.12; color: var(--md-espresso); }
.mdo__lead { margin-top: 0.75rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-ink-muted); }

/* Filtres */
.mdo-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 0.65rem; }
.mdo-select { position: relative; display: flex; align-items: center; flex: 1 1 14rem; min-width: 0; }
.mdo-select > .md-icon { position: absolute; left: 0.85rem; width: 1.15rem; height: 1.15rem; color: var(--md-copper); pointer-events: none; }
.mdo-select select { width: 100%; min-height: 2.9rem; padding: 0 2.5rem 0 2.65rem; border: 1px solid var(--md-line); border-radius: 6px; background: var(--md-white); font: 500 0.9rem/1.2 var(--md-font-sans); color: var(--md-espresso); -webkit-appearance: none; appearance: none; cursor: pointer; transition: border-color 200ms ease, box-shadow 200ms ease; }
.mdo-select select:hover { border-color: var(--md-champagne); }
.mdo-select select:focus-visible { outline: none; border-color: var(--md-copper); box-shadow: 0 0 0 3px rgb(171 121 86 / 0.2); }
.mdo-select__chevron { position: absolute; right: 0.85rem; display: inline-grid; color: var(--md-ink-muted); pointer-events: none; }
.mdo-select__chevron .md-icon { width: 1rem; height: 1rem; }
.mdo-filters__reset { min-height: 2.9rem; padding: 0 0.25rem; border: 0; background: none; font: 600 0.9rem/1 var(--md-font-sans); color: var(--md-copper-text); text-decoration: underline; text-underline-offset: 0.25em; cursor: pointer; }
.mdo-filters__reset:hover { color: var(--md-espresso); }
.mdo-filters__reset:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; }
@media (min-width: 64rem) { .mdo-select { flex: 0 1 16rem; } .mdo-filters__reset { margin-left: auto; } }
.mdo-count { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0; margin: 1.25rem 0 1rem; font-size: var(--md-fs-small); }
.mdo-count strong { font-weight: 600; color: var(--md-espresso); }
.mdo-count__demo { margin-left: 0.9rem; padding-left: 0.9rem; border-left: 1px solid var(--md-line); color: var(--md-ink-muted); }
.mdo-none { padding: 1.5rem; border: 1px dashed var(--md-champagne); border-radius: 10px; background: var(--md-white); text-align: center; font-size: var(--md-fs-small); color: var(--md-ink-muted); }

/* Carte de projet */
.mdo__list { display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.mdo__list > li[hidden] { display: none; }
.mdo-card { position: relative; display: flex; flex-direction: column; gap: 0.9rem; overflow: hidden; padding: clamp(1.25rem, 1rem + 0.8vw, 1.5rem) clamp(1.25rem, 1rem + 1vw, 1.65rem) clamp(1.1rem, 1rem + 0.5vw, 1.35rem) clamp(1.45rem, 1.2rem + 1vw, 1.85rem); border: 1px solid rgb(216 195 165 / 0.6); border-radius: 10px; background: var(--md-white); box-shadow: 0 1px 2px rgb(41 32 24 / 0.04), 0 18px 40px -32px rgb(41 32 24 / 0.35); }
.mdo-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--md-copper); }
.mdo-card.is-closed::before { background: var(--md-champagne); }
.mdo-card__top { display: flex; flex-wrap: wrap; align-items: center; gap: 0.55rem 0.6rem; }
.mdo-card__tag { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.38rem 0.75rem; border-radius: 6px; background: var(--md-espresso); font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-white); }
.mdo-card__tag .md-icon { width: 0.95rem; height: 0.95rem; color: var(--md-champagne); }
.mdo-card__date { margin-left: auto; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mdo-card__title { font-size: clamp(1.2rem, 1.05rem + 0.55vw, 1.45rem); line-height: 1.25; color: var(--md-espresso); }
.mdo-card__text { margin-top: -0.4rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mdo-card__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 0; margin: 0; padding: 0.9rem 0.25rem; border-radius: 8px; background: var(--md-ivory); }
.mdo-card__facts > div { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 0.65rem; align-items: center; padding: 0 0.9rem; }
.mdo-card__facts .md-icon { grid-row: span 2; width: 1.35rem; height: 1.35rem; stroke-width: 1.4; color: var(--md-copper); }
.mdo-card__facts dt { font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.mdo-card__facts dd { margin: 0.1rem 0 0; font-size: 1rem; font-weight: 600; color: var(--md-espresso); }
@media (min-width: 48rem) {
	.mdo-card__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mdo-card__facts > div + div { border-left: 1px solid var(--md-line); }
}
.mdo-card__trades p { margin-bottom: 0.6rem; font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--md-copper-text); }
.mdo-card__trades ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.mdo-card__trades li { padding: 0.45rem 1rem; border: 1px solid var(--md-line); border-radius: 999px; font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-espresso); }
.mdo-card__foot { display: grid; gap: 1rem; margin-top: 0.2rem; padding-top: 1rem; border-top: 1px solid var(--md-line); }
.mdo-card__info { display: grid; gap: 0.55rem; }
.mdo-card__lock { display: flex; align-items: flex-start; gap: 0.55rem; font-size: var(--md-fs-xs); line-height: 1.5; color: var(--md-ink-muted); }
.mdo-card__lock .md-icon { flex: none; width: 1.05rem; height: 1.05rem; color: var(--md-copper); }
.mdo-card__deadline { font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); }
.mdo-card__action { display: grid; gap: 0.5rem; justify-items: start; }
.mdo-card__action .md-btn .md-icon { width: 1rem; height: 1rem; }
.mdo-card__note, .mdo-card__state { font-size: var(--md-fs-label); line-height: 1.5; color: var(--md-ink-muted); }
.mdo-card__follow { min-height: auto; }
.mdo-card__action .md-btn[disabled] { opacity: 0.6; cursor: not-allowed; }
@media (min-width: 48rem) {
	.mdo-card__foot { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 2rem; }
	.mdo-card__action { justify-items: end; text-align: right; }
}

/* Aperçu des états du bouton (administrateur uniquement) */
.mdo-states { margin-top: 1.5rem; padding: 1rem 1.25rem; border: 1px dashed var(--md-champagne); border-radius: 10px; background: var(--md-white); }
.mdo-states summary { font-size: var(--md-fs-small); font-weight: 600; color: var(--md-copper-text); cursor: pointer; }
.mdo-states__grid { display: grid; gap: 1rem; margin-top: 1rem; }
.mdo-states__item { display: grid; gap: 0.6rem; padding: 1rem; border: 1px solid var(--md-line); border-radius: 8px; }
.mdo-states__item > p { font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-espresso); }
.mdo-states__item .mdo-card__action { justify-items: start; text-align: left; }
.mdo-states__note { margin-top: 1rem; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
@media (min-width: 64rem) { .mdo-states__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mdo-empty { max-width: 46rem; padding: clamp(1.5rem, 1.2rem + 1vw, 2.25rem); border: 1px dashed var(--md-champagne); border-radius: 12px; background: var(--md-white); }
.mdo-empty__text { font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); line-height: 1.35; color: var(--md-espresso); }
.mdo-empty__small { margin-top: 0.6rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-ink-muted); }

/* Galerie d'un projet (boîte de dialogue native) */
.md-lightbox { width: min(72rem, 100% - 1.5rem); max-width: none; max-height: calc(100dvh - 1.5rem); margin: auto; padding: 0; border: 0; border-radius: 10px; background: #1E1712; color: var(--md-white); overflow: auto; }
.md-lightbox::backdrop { background: rgb(18 13 10 / 0.86); }
.md-lightbox[open] { animation: md-lb-in 260ms cubic-bezier(0.22, 1, 0.36, 1); }
@keyframes md-lb-in { from { opacity: 0; transform: translateY(10px) scale(0.985); } }
.md-lightbox__frame { display: grid; gap: 1rem; padding: clamp(1rem, 0.6rem + 1.5vw, 1.75rem); }
.md-lightbox__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.md-lightbox__title { font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem); color: var(--md-white); }
.md-lightbox__meta { margin-top: 0.2rem; font-size: var(--md-fs-xs); color: var(--md-champagne); }
.md-lightbox__desc { max-width: 46rem; margin-top: 0.6rem; font-size: var(--md-fs-small); line-height: 1.6; color: rgb(255 255 255 / 0.82); }
.md-lightbox__close { flex: none; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid rgb(255 255 255 / 0.25); border-radius: 50%; background: transparent; font-size: 1.6rem; line-height: 1; color: var(--md-white); cursor: pointer; }
.md-lightbox__close:hover { background: rgb(255 255 255 / 0.1); }
.md-lightbox__stage { position: relative; display: grid; place-items: center; margin: 0; min-height: 12rem; border-radius: 8px; background: #140F0C; }
.md-lightbox__media { display: contents; }
.md-lightbox__img { display: block; width: 100%; height: auto; max-height: min(68dvh, 46rem); object-fit: contain; border-radius: 8px; }
.md-lightbox__step { position: absolute; top: 50%; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 50%; background: rgb(255 255 255 / 0.92); color: var(--md-espresso); transform: translateY(-50%); cursor: pointer; }
.md-lightbox__step--prev { left: 0.75rem; }
.md-lightbox__step--next { right: 0.75rem; }
.md-lightbox__step .md-icon { width: 1.05rem; height: 1.05rem; }
.md-lightbox__step[hidden] { display: none; }
.md-lightbox__count { position: absolute; left: 50%; bottom: 0.75rem; padding: 0.25rem 0.65rem; border-radius: 999px; background: rgb(20 15 12 / 0.7); font-size: var(--md-fs-label); font-variant-numeric: tabular-nums; transform: translateX(-50%); }
.md-lightbox__thumbs { display: flex; gap: 0.5rem; margin: 0; padding: 0 0 0.25rem; overflow-x: auto; list-style: none; }
.md-lightbox__thumbs button { display: block; width: 4.5rem; height: 3.25rem; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 6px; background: none; opacity: 0.6; cursor: pointer; transition: opacity 160ms ease; }
.md-lightbox__thumbs button[aria-current="true"] { border-color: var(--md-copper); opacity: 1; }
.md-lightbox__thumbs button:hover { opacity: 1; }
.md-lightbox__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.md-lightbox__note { font-size: var(--md-fs-xs); line-height: 1.55; color: rgb(255 255 255 / 0.72); }
.md-lightbox :focus-visible { outline: 2px solid var(--md-champagne); outline-offset: 2px; }
html:has(.md-lightbox[open]) { overflow: hidden; }

/* ------------------------------------------------- Ils nous font confiance + Boutique (accueil, maquette) */
.mds-trust { padding-block: clamp(2rem, 1.4rem + 2vw, 3.25rem); }
.mds-trust__grid { display: grid; gap: 2.25rem; align-items: center; }
.mds-trust__title { font-size: clamp(1.6rem, 1.3rem + 1.1vw, 2.15rem); line-height: 1.18; color: var(--md-espresso); }
.mds-trust__score { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.75rem; margin-top: 0.75rem; font-size: var(--md-fs-small); color: var(--md-ink-muted); }
.mds-trust__score strong { font-size: 1.15rem; font-weight: 600; color: var(--md-espresso); font-variant-numeric: tabular-nums; }
.mds-trust__score small { font-size: 0.8em; font-weight: 500; color: var(--md-ink-muted); }
.mds-trust__reviews::before { content: "•"; margin-right: 0.75rem; color: var(--md-champagne); }
.mds-trust__stars { display: inline-flex; gap: 0.15rem; }
.mds-trust__stars svg { width: 1.2rem; height: 1.2rem; fill: var(--md-copper); }
.mds-trust__stars svg.is-off { fill: var(--md-line); }
.mds-trust__stars--sm svg { width: 0.95rem; height: 0.95rem; }
.mds-trust__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.75rem 0 0; padding: 0; list-style: none; }
.mds-trust__stats li { display: grid; justify-items: center; align-content: start; gap: 0.35rem; padding: 0 0.5rem; text-align: center; }
.mds-trust__stats li + li { border-left: 1px solid var(--md-line); }
.mds-trust__stats .md-icon { width: 2rem; height: 2rem; margin-bottom: 0.4rem; stroke-width: 1.25; color: var(--md-copper); }
.mds-trust__stats strong { font-size: clamp(1.45rem, 1.25rem + 0.7vw, 1.85rem); font-weight: 600; line-height: 1.1; color: var(--md-espresso); font-variant-numeric: tabular-nums; }
.mds-trust__stats span { font-size: var(--md-fs-xs); line-height: 1.4; color: var(--md-ink-muted); }
@media (min-width: 110rem) { .mds-trust__stats span { white-space: nowrap; } }
.mds-trust__quotes { position: relative; padding-top: 1.75rem; border-top: 1px solid var(--md-line); }
.mds-trust__mark { display: block; height: 1.6rem; font-family: Georgia, "Times New Roman", serif; font-size: 3.4rem; line-height: 1; color: var(--md-copper); }
.mds-trust__slides { display: grid; }
.mds-trust__quote { grid-area: 1 / 1; margin: 0.5rem 0 0; }
.mds-trust__quote:not([hidden]) { animation: md-quote-in 420ms ease both; }
@keyframes md-quote-in { from { opacity: 0; transform: translateY(6px); } }
.mds-trust__quote blockquote { margin: 0; }
.mds-trust__quote blockquote p { font-size: var(--md-fs-small); line-height: 1.75; color: var(--md-ink-muted); }
.mds-trust__quote figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.85rem; margin-top: 1.1rem; }
.mds-trust__avatar { flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; object-fit: cover; }
.mds-trust__avatar--initials { display: inline-grid; place-items: center; background: var(--md-linen); border: 1px solid var(--md-champagne); font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.04em; color: var(--md-copper-text); }
.mds-trust__name { font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-espresso); }
.mds-trust__controls { display: flex; align-items: center; gap: 0.15rem; margin-top: 1rem; margin-left: -0.5rem; }
.mds-trust__dot { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; padding: 0; border: 0; background: none; cursor: pointer; }
.mds-trust__dot::before { content: ""; width: 0.45rem; height: 0.45rem; border-radius: 999px; background: var(--md-line); transition: width 260ms ease, background-color 260ms ease; }
.mds-trust__dot[aria-current="true"]::before { width: 1.2rem; background: var(--md-copper); }
.mds-trust__dot:hover::before { background: var(--md-champagne); }
.mds-trust__dot[aria-current="true"]:hover::before { background: var(--md-copper); }
.mds-trust__pause { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin-left: 0.35rem; padding: 0; border: 1px solid var(--md-line); border-radius: 50%; background: none; color: var(--md-ink-muted); cursor: pointer; }
.mds-trust__pause svg { width: 0.6rem; height: 0.6rem; fill: currentColor; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.mds-trust__pause .is-play, .mds-trust__pause[aria-pressed="true"] .is-pause { display: none; }
.mds-trust__pause[aria-pressed="true"] .is-play { display: block; }
.mds-trust__shop { position: relative; isolation: isolate; display: flex; align-items: center; overflow: hidden; min-height: clamp(15.5rem, 11rem + 7vw, 19.5rem); border-radius: 8px; background: var(--md-espresso); color: var(--md-white); }
.mds-trust__shop-media { position: absolute; inset: 0; z-index: -1; }
.mds-trust__shop-media img { width: 100%; height: 100%; object-fit: cover; object-position: 78% 60%; }
.mds-trust__shop-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(33 25 19 / 0.97) 0%, rgb(33 25 19 / 0.9) 38%, rgb(33 25 19 / 0.45) 68%, rgb(33 25 19 / 0.12) 100%); }
.mds-trust__shop-body { display: grid; gap: 0.6rem; max-width: min(23rem, 64%); padding: clamp(1.4rem, 1rem + 1.4vw, 2.5rem); }
@media (max-width: 47.99rem) { .mds-trust__shop-body { max-width: none; } }
.mds-trust__shop-eyebrow { font-size: var(--md-fs-label); font-weight: 600; color: var(--md-champagne); }
.mds-trust__shop-title { font-size: clamp(1.2rem, 1.1rem + 0.45vw, 1.45rem); line-height: 1.22; color: var(--md-white); }
.mds-trust__shop-text { font-size: var(--md-fs-xs); line-height: 1.6; color: rgb(255 255 255 / 0.86); }
.mds-trust__shop-action { margin-top: 0.6rem; }
.md-v2 .mds-trust__shop-action .md-btn:not(.md-project-card .md-btn) { min-height: 2.75rem; padding-inline: 1.15rem; border-radius: 6px; white-space: nowrap; }
.mds-trust__shop-bag { position: absolute; right: 1rem; bottom: 1rem; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid rgb(255 255 255 / 0.3); border-radius: 50%; background: rgb(255 255 255 / 0.12); color: var(--md-white); backdrop-filter: blur(4px); }
.mds-trust__shop-bag .md-icon { width: 1.15rem; height: 1.15rem; }
@media (max-width: 47.99rem) { .mds-trust__shop-bag { top: 1rem; bottom: auto; } }
@media (min-width: 48rem) {
	.mds-trust__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.mds-trust__quotes { padding: 0 0 0 2rem; border-top: 0; border-left: 1px solid var(--md-line); }
	.mds-trust__shop { grid-column: 1 / -1; }
}
@media (min-width: 75rem) {
	.mds-trust__grid { grid-template-columns: minmax(0, 36fr) minmax(0, 30fr) minmax(0, 34fr); gap: clamp(1.5rem, 0.25rem + 2vw, 3rem); }
	.mds-trust__shop { grid-column: auto; }
}
/* Sans avis publiables (production, ou aucun avis réel) : deux colonnes équilibrées, aucune colonne vide. */
@media (min-width: 48rem) {
	.mds-trust__grid--no-quotes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 0.5rem + 3vw, 4rem); }
	.mds-trust__grid--no-quotes .mds-trust__shop { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
	.mds-works__open img, .mds-works__tag, .mds-works__nav button, .mds-trust__dot::before { transition: none; }
	.md-lightbox[open], .mds-trust__quote:not([hidden]) { animation: none; }
}

/* Projets disponibles : la bannière finale s'enchaîne sur le pied de page (pas de bande claire), séparés par un filet champagne. */
body:has(.mdo-intro) .md-site-footer { margin-top: 0; border-top: 1px solid rgb(216 195 165 / 0.28); }

/* Projets disponibles : bloc « Projets disponibles » (sous la liste) centré. */
.mdo-intro__text { max-width: 46rem; margin-inline: auto; text-align: center; }
.mdo-intro__actions.md-actions { justify-content: center; }

/* ------------------------------------------------- Nos métiers : en-tête dédié (chiffres clés + carte des univers) */
.mdt-hero { position: relative; overflow: hidden; padding-block: clamp(1.75rem, 1rem + 2.5vw, 3.5rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); background: var(--md-ivory); }
.mdt-hero::before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 34%; background: var(--md-linen); pointer-events: none; }
.mdt-hero__grid { position: relative; display: grid; gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: center; }
.mdt-hero .md-breadcrumb { margin-bottom: 1.5rem; }
.mdt-hero__eyebrow { margin-bottom: 0.9rem; }
.mdt-hero__title { font-size: clamp(2.6rem, 1.9rem + 2.8vw, 4.25rem); line-height: 1.02; letter-spacing: -0.015em; color: var(--md-espresso); }
.mdt-hero__lead { max-width: 34rem; margin-top: 1.2rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mdt-hero__actions { margin-top: 1.75rem; }
.mdt-hero__figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 34rem; margin: clamp(2rem, 1.5rem + 1.5vw, 2.75rem) 0 0; padding-top: 1.4rem; border-top: 1px solid var(--md-line); }
.mdt-hero__figures > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 0.35rem; padding-right: 1rem; }
.mdt-hero__figures > div + div { padding-left: 1rem; border-left: 1px solid var(--md-line); }
.mdt-hero__figures dd { display: flex; align-items: center; min-height: 2.6rem; margin: 0; font-size: clamp(2rem, 1.6rem + 1.4vw, 2.6rem); font-weight: 600; line-height: 1; color: var(--md-copper-text); font-variant-numeric: tabular-nums; }
.mdt-hero__figures dd .md-icon { width: 2.1rem; height: 2.1rem; stroke-width: 1.3; color: var(--md-copper); }
.mdt-hero__figures dt { font-size: var(--md-fs-xs); line-height: 1.4; color: var(--md-ink-muted); }
.mdt-hero__visual { position: relative; }
.mdt-hero__media { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; background: var(--md-linen); box-shadow: 0 34px 70px -40px rgb(41 32 24 / 0.6); }
.mdt-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdt-hero__card { position: relative; margin-top: 1rem; padding: 1.1rem 1.15rem; border: 1px solid rgb(216 195 165 / 0.55); border-radius: 14px; background: var(--md-white); box-shadow: 0 24px 48px -30px rgb(41 32 24 / 0.45); }
.mdt-hero__card-title { margin-bottom: 0.7rem; font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--md-copper-text); }
.mdt-hero__card ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.25rem 0.75rem; margin: 0; padding: 0; list-style: none; }
.mdt-hero__card a { display: flex; align-items: center; gap: 0.6rem; min-height: 2.6rem; padding: 0.3rem 0.4rem; border-radius: 8px; font-size: 0.8125rem; font-weight: 500; line-height: 1.25; color: var(--md-espresso); text-decoration: none; transition: background-color 200ms ease; }
.mdt-hero__card a:hover { background: var(--md-ivory); }
.mdt-hero__card a:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 1px; }
.mdt-hero__chip-icon { display: inline-grid; place-items: center; flex: none; width: 2rem; height: 2rem; border: 1px solid var(--md-champagne); border-radius: 50%; color: var(--md-copper); transition: background-color 200ms ease, color 200ms ease; }
.mdt-hero__chip-icon .md-icon { width: 1rem; height: 1rem; }
.mdt-hero__card a:hover .mdt-hero__chip-icon { background: var(--md-copper); color: var(--md-on-copper); border-color: var(--md-copper); }
@media (max-width: 47.99rem) { .mdt-hero::before { display: none; } .mdt-hero__figures > div + div { padding-left: 0.75rem; } .mdt-hero__figures > div { padding-right: 0.5rem; } }
@media (min-width: 64rem) { .mdt-hero__grid { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); } }
@media (min-width: 80rem) {
	.mdt-hero__visual { padding-bottom: 3.5rem; }
	.mdt-hero__media { aspect-ratio: 5 / 4; }
	.mdt-hero__card { position: absolute; left: -3rem; bottom: 0; width: min(27rem, 72%); margin: 0; }
}
@media (prefers-reduced-motion: no-preference) {
	.mdt-hero__text > * { animation: mds-rise 650ms var(--md-ease-out) both; }
	.mdt-hero__text > :nth-child(3) { animation-delay: 60ms; }
	.mdt-hero__text > :nth-child(n+4) { animation-delay: 120ms; }
	.mdt-hero__card { animation: mds-rise 750ms 200ms var(--md-ease-out) both; }
}

/* ------------------------------------------------- Contact : en-tête, carte des coordonnées, photo */
.mdc-hero { position: relative; overflow: hidden; padding-block: clamp(1.75rem, 1rem + 2.5vw, 3.5rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); background: var(--md-ivory); }
.mdc-hero::before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 32%; background: var(--md-linen); pointer-events: none; }
.mdc-hero__grid { position: relative; display: grid; gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: center; }
.mdc-hero .md-breadcrumb { margin-bottom: 1.5rem; }
.mdc-hero__eyebrow { margin-bottom: 0.9rem; }
.mdc-hero__title { font-size: clamp(2.5rem, 1.85rem + 2.6vw, 4rem); line-height: 1.04; letter-spacing: -0.015em; color: var(--md-espresso); }
.mdc-hero__lead { max-width: 34rem; margin-top: 1.1rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mdc-card { max-width: 36rem; margin-top: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem); padding: clamp(1.25rem, 1rem + 1vw, 1.75rem); border: 1px solid rgb(216 195 165 / 0.6); border-radius: 16px; background: var(--md-white); box-shadow: 0 26px 50px -36px rgb(41 32 24 / 0.5); }
.mdc-card__title { font-size: 1.15rem; font-weight: 600; color: var(--md-espresso); }
.mdc-card__text { margin-top: 0.35rem; font-size: var(--md-fs-small); line-height: 1.6; color: var(--md-ink-muted); }
.mdc-card__list { display: grid; margin: 1rem 0 0; padding: 0; list-style: none; }
.mdc-line { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.6rem 0.9rem; padding: 0.85rem 0; border-top: 1px solid var(--md-line); }
.mdc-line__icon { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; border: 1px solid var(--md-champagne); border-radius: 50%; color: var(--md-copper); }
.mdc-line__icon .md-icon { width: 1.15rem; height: 1.15rem; }
.mdc-line__body { display: grid; gap: 0.1rem; min-width: 0; }
.mdc-line__label { font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--md-ink-muted); }
.mdc-line__value { overflow-wrap: anywhere; font-size: 1.02rem; font-weight: 600; color: var(--md-espresso); text-decoration: none; }
a.mdc-line__value:hover { color: var(--md-copper-text); }
.mdc-line--phone .mdc-line__value { font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.45rem); letter-spacing: 0.01em; font-variant-numeric: tabular-nums; }
.mdc-line__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.mdc-line__actions .md-btn { flex: 1 1 auto; }
.mdc-line__copy { min-height: 3rem; padding: 0 1.1rem; border: 1px solid var(--md-line); border-radius: var(--md-radius); background: var(--md-white); font: 600 0.9375rem/1 var(--md-font-sans); color: var(--md-espresso); cursor: pointer; transition: border-color 200ms ease; }
.mdc-line__copy:hover { border-color: var(--md-espresso); }
.mdc-line__copy:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; }
.mdc-card__status { min-height: 1.2em; margin-top: 0.3rem; font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); }
.mdc-card__status:empty { display: none; }
@media (min-width: 40rem) { .mdc-line--phone { grid-template-columns: auto minmax(0, 1fr) auto; } .mdc-line__actions { grid-column: auto; } .mdc-line__actions .md-btn { flex: 0 0 auto; } }
.mdc-hero__visual { position: relative; }
.mdc-hero__media { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; background: var(--md-linen); box-shadow: 0 34px 70px -40px rgb(41 32 24 / 0.6); }
.mdc-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdc-hero__badge { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: 0.55rem; max-width: calc(100% - 2rem); padding: 0.6rem 0.95rem; border-radius: 999px; background: rgb(255 255 255 / 0.94); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 10px 24px -14px rgb(41 32 24 / 0.5); font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-espresso); }
.mdc-hero__badge .md-icon { flex: none; width: 1.1rem; height: 1.1rem; color: var(--md-copper); }
@media (max-width: 47.99rem) { .mdc-hero::before { display: none; } }
@media (min-width: 64rem) {
	.mdc-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
	.mdc-hero__media { aspect-ratio: 4 / 5; }
	.mdc-hero__badge { left: -1.5rem; bottom: 2rem; }
}

/* Cartes d'orientation avec pictogramme (page Contact) */
.mds-channels__grid li.has-icon { position: relative; padding-top: 1.6rem; border: 1px solid rgb(216 195 165 / 0.45); transition: transform 420ms var(--md-ease-out), box-shadow 420ms var(--md-ease-out); }
.mds-channels__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1rem; border-radius: 50%; background: var(--md-ivory); border: 1px solid var(--md-champagne); color: var(--md-copper); }
.mds-channels__icon .md-icon { width: 1.35rem; height: 1.35rem; stroke-width: 1.4; }
@media (hover: hover) { .mds-channels__grid li.has-icon:hover { transform: translateY(-4px); box-shadow: 0 30px 56px -36px rgb(41 32 24 / 0.5); } }
@media (prefers-reduced-motion: reduce) { .mds-channels__grid li.has-icon { transition: none; } .mds-channels__grid li.has-icon:hover { transform: none; } }
.md-v2 .mds-channels__grid li.has-icon:not(:first-child) .md-btn:not(.md-project-card .md-btn) { background: transparent; border: 1px solid var(--md-espresso); color: var(--md-espresso); }
.md-v2 .mds-channels__grid li.has-icon:not(:first-child) .md-btn:not(.md-project-card .md-btn):hover { background: var(--md-espresso); color: var(--md-white); }

/* Contact : lien d'itinéraire et horaires */
.mdc-line__link { justify-self: start; margin-top: 0.2rem; font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); text-decoration: underline; text-underline-offset: 0.25em; }
.mdc-line__link:hover { color: var(--md-espresso); }
.mdc-line--hours { align-items: start; }
.mdc-hours { display: grid; gap: 0.3rem; margin-top: 0.2rem; }
.mdc-hours__row { display: flex; justify-content: space-between; gap: 1rem; max-width: 22rem; font-size: var(--md-fs-small); color: var(--md-espresso); }
.mdc-hours__row > span:first-child { color: var(--md-ink-muted); }
.mdc-hours__row > span:last-child { font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }

/* Contact : bouton WhatsApp (vert discret, texte foncé AA) et lien d'appel secondaire */
.md-v2 .mdc-line__wa:not(.md-project-card .md-btn) { background: #DCF3E4; border: 1px solid #A9DDBC; color: #14532D; }
.md-v2 .mdc-line__wa:not(.md-project-card .md-btn):hover { background: #C8EBD5; }
a.mdc-line__copy { display: inline-flex; align-items: center; text-decoration: none; }
/* Grand écran : la photo occupe toute la hauteur de la colonne (du haut du texte au bas de la carte). */
@media (min-width: 64rem) {
	.mdc-hero__grid { align-items: stretch; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.mdc-hero__visual { display: flex; }
	.mdc-hero__media { flex: 1; aspect-ratio: auto; min-height: 34rem; }
	.mdc-hero__media img { object-position: 60% 45%; }
}
@media (max-width: 47.99rem) { .mdc-hero__badge { left: 0.6rem; bottom: 0.6rem; padding: 0.4rem 0.7rem; font-size: 0.6875rem; white-space: nowrap; } .mdc-hero__badge .md-icon { width: 0.95rem; height: 0.95rem; } }
.mdc-line--phone .mdc-line__value { white-space: nowrap; }

/* ------------------------------------------------- FAQ : centre d'aide (recherche, sommaire, questions) */
.mdf-hero { position: relative; overflow: hidden; padding-block: clamp(1.75rem, 1rem + 2.5vw, 3.25rem) clamp(2.5rem, 1.75rem + 3vw, 4.25rem); background: radial-gradient(120% 90% at 50% 0%, var(--md-white) 0%, var(--md-ivory) 55%, var(--md-linen) 100%); border-bottom: 1px solid var(--md-line); }
.mdf-hero__inner { display: grid; justify-items: center; text-align: center; }
.mdf-hero .md-breadcrumb { justify-self: center; margin-bottom: 1.5rem; }
.mdf-hero__eyebrow { margin-bottom: 0.9rem; }
.mdf-hero__title { max-width: 18ch; font-size: clamp(2.3rem, 1.75rem + 2.4vw, 3.75rem); line-height: 1.06; letter-spacing: -0.015em; color: var(--md-espresso); text-wrap: balance; }
.mdf-hero__lead { max-width: 38rem; margin-top: 1rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mdf-search { position: relative; display: flex; align-items: center; width: min(40rem, 100%); margin-top: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.mdf-search > .md-icon { position: absolute; left: 1.25rem; width: 1.25rem; height: 1.25rem; color: var(--md-copper); pointer-events: none; }
.mdf-search input { width: 100%; min-height: 3.75rem; padding: 0 3.25rem 0 3.4rem; border: 1px solid rgb(216 195 165 / 0.8); border-radius: 999px; background: var(--md-white); box-shadow: 0 18px 40px -26px rgb(41 32 24 / 0.45); font: 500 1rem/1.2 var(--md-font-sans); color: var(--md-espresso); -webkit-appearance: none; appearance: none; transition: border-color 200ms ease, box-shadow 200ms ease; }
.mdf-search input::placeholder { color: var(--md-ink-muted); opacity: 1; }
.mdf-search input::-webkit-search-cancel-button { display: none; }
.mdf-search input:focus-visible { outline: none; border-color: var(--md-copper); box-shadow: 0 0 0 4px rgb(171 121 86 / 0.18), 0 18px 40px -26px rgb(41 32 24 / 0.45); }
.mdf-search__clear { position: absolute; right: 0.75rem; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; padding: 0; border: 0; border-radius: 50%; background: var(--md-linen); font-size: 1.3rem; line-height: 1; color: var(--md-espresso); cursor: pointer; }
.mdf-search__clear[hidden] { display: none; }
.mdf-search__clear:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; }
.mdf-hero__count { margin-top: 0.85rem; font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-ink-muted); }
.mdf-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; margin-top: 1.25rem; }
.mdf-chip { display: inline-flex; align-items: center; gap: 0.55rem; min-height: 2.75rem; padding: 0 0.6rem 0 0.45rem; border: 1px solid var(--md-line); border-radius: 999px; background: var(--md-white); font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); text-decoration: none; transition: border-color 200ms ease, transform 200ms ease; }
.mdf-chip:hover { border-color: var(--md-copper); transform: translateY(-1px); }
.mdf-chip:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; }
.mdf-chip__icon { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--md-ivory); color: var(--md-copper); }
.mdf-chip__icon .md-icon { width: 1rem; height: 1rem; }
.mdf-chip__count { display: inline-grid; place-items: center; min-width: 1.6rem; height: 1.6rem; padding: 0 0.4rem; border-radius: 999px; background: var(--md-espresso); font-size: 0.75rem; color: var(--md-white); }

.mdf__grid { display: grid; gap: clamp(2rem, 1.25rem + 2.5vw, 3.5rem); align-items: start; }
.mdf__aside { display: grid; gap: 1.25rem; }
.mdf-toc { display: none; }
.mdf-toc__title, .mdf-help__title { font-size: var(--md-fs-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--md-copper-text); }
.mdf-toc ul { display: grid; gap: 0.25rem; margin: 0.75rem 0 0; padding: 0; list-style: none; }
.mdf-toc a { display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0.75rem; border-left: 2px solid var(--md-line); font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); text-decoration: none; transition: border-color 200ms ease, background-color 200ms ease; }
.mdf-toc a:hover { border-color: var(--md-copper); background: var(--md-ivory); }
.mdf-toc a span { font-size: var(--md-fs-xs); font-weight: 500; color: var(--md-ink-muted); }
.mdf-help { padding: 1.4rem; border-radius: 16px; background: var(--md-espresso); color: var(--md-white); box-shadow: 0 26px 50px -34px rgb(41 32 24 / 0.7); }
.mdf-help__title { color: var(--md-champagne); }
.mdf-help__text { margin-top: 0.55rem; font-size: var(--md-fs-small); line-height: 1.6; color: rgb(255 255 255 / 0.85); }
.mdf-help__list { display: grid; gap: 0.15rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.mdf-help__list a { display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0; overflow-wrap: anywhere; font-size: var(--md-fs-small); font-weight: 600; color: var(--md-white); text-decoration: none; }
.mdf-help__list a:hover span { text-decoration: underline; text-underline-offset: 0.25em; }
.mdf-help__list .md-icon { flex: none; width: 1.1rem; height: 1.1rem; color: var(--md-champagne); }
.mdf-help__btn { width: 100%; margin-top: 1rem; justify-content: center; }
.mdf-help a:focus-visible { outline: 2px solid var(--md-champagne); outline-offset: 2px; }
@media (min-width: 64rem) {
	.mdf__grid { grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); }
	.mdf__aside { position: sticky; top: calc(var(--md-header-h, 4.5rem) + 1.5rem); }
	.mdf-toc { display: block; }
}
@media (max-width: 63.99rem) { .mdf__aside { order: 2; } }

.mdf-group { scroll-margin-top: calc(var(--md-header-h, 4.5rem) + 1.5rem); }
.mdf-group[hidden] { display: none; }
.mdf-group + .mdf-group { margin-top: clamp(2rem, 1.5rem + 1.5vw, 2.75rem); }
.mdf-group__head { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1rem; }
.mdf-group__icon { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border: 1px solid var(--md-champagne); border-radius: 50%; background: var(--md-white); color: var(--md-copper); }
.mdf-group__icon .md-icon { width: 1.25rem; height: 1.25rem; }
.mdf-group__head h2 { font-size: clamp(1.4rem, 1.2rem + 0.7vw, 1.8rem); color: var(--md-espresso); }
.mdf-group__list { display: grid; gap: 0.65rem; }
.mdf-item { border: 1px solid rgb(216 195 165 / 0.5); border-radius: 14px; background: var(--md-white); transition: border-color 250ms ease, box-shadow 250ms ease; }
.mdf-item[hidden] { display: none; }
.mdf-item[open] { border-color: var(--md-champagne); box-shadow: 0 20px 44px -34px rgb(41 32 24 / 0.5); }
.mdf-item summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-height: 3.75rem; padding: 0.9rem 1.15rem; cursor: pointer; list-style: none; }
.mdf-item summary::-webkit-details-marker { display: none; }
.mdf-item summary:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 2px; border-radius: 14px; }
.mdf-item__num { font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-copper-text); font-variant-numeric: tabular-nums; }
.mdf-item__q { font-size: 1.0625rem; font-weight: 600; line-height: 1.4; color: var(--md-espresso); }
.mdf-item summary:hover .mdf-item__q { color: var(--md-copper-text); }
.mdf-item__toggle { position: relative; display: inline-grid; width: 2.2rem; height: 2.2rem; border: 1px solid var(--md-line); border-radius: 50%; transition: background-color 250ms ease, border-color 250ms ease; }
.mdf-item__toggle::before, .mdf-item__toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 0.75rem; height: 1.5px; margin: -0.75px 0 0 -0.375rem; border-radius: 2px; background: var(--md-espresso); transition: transform 280ms var(--md-ease); }
.mdf-item__toggle::after { transform: rotate(90deg); }
.mdf-item[open] .mdf-item__toggle { border-color: var(--md-copper); background: var(--md-copper); }
.mdf-item[open] .mdf-item__toggle::before, .mdf-item[open] .mdf-item__toggle::after { background: var(--md-on-copper); }
.mdf-item[open] .mdf-item__toggle::after { transform: rotate(0deg); }
.mdf-item__a { padding: 0 1.15rem 1.2rem calc(1.15rem + 1.6rem + 1rem); font-size: var(--md-fs-small); line-height: 1.75; color: var(--md-ink-muted); }
.mdf-item__a p + p { margin-top: 0.6rem; }
.mdf-item mark { padding: 0 0.1em; border-radius: 3px; background: rgb(216 195 165 / 0.55); color: inherit; }
@media (max-width: 39.99rem) { .mdf-item summary { grid-template-columns: minmax(0, 1fr) auto; } .mdf-item__num { display: none; } .mdf-item__a { padding-left: 1.15rem; } }
@media (prefers-reduced-motion: no-preference) { .mdf-item[open] .mdf-item__a { animation: mds-faq-open 300ms var(--md-ease-out) both; } }
.mdf-empty { padding: 2rem; border: 1px dashed var(--md-champagne); border-radius: 14px; background: var(--md-white); text-align: center; }
.mdf-empty[hidden] { display: none; }
.mdf-empty__title { font-size: 1.15rem; font-weight: 600; color: var(--md-espresso); }
.mdf-empty p + p { margin-top: 0.4rem; font-size: var(--md-fs-small); color: var(--md-ink-muted); }
.mdf-empty .md-link-arrow { margin-top: 0.75rem; }

/* ------------------------------------------------- Pages projet : en-tête premium */
.mdph { position: relative; overflow: hidden; padding-block: clamp(1.75rem, 1rem + 2.5vw, 3.5rem) clamp(2.5rem, 1.5rem + 3vw, 4.5rem); background: var(--md-ivory); }
.mdph::before { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 36%; background: var(--md-linen); pointer-events: none; }
.mdph__grid { position: relative; display: grid; gap: clamp(2rem, 1rem + 3vw, 4rem); align-items: center; }
.mdph .md-breadcrumb { margin-bottom: 1.5rem; }
.mdph__eyebrow { margin-bottom: 0.9rem; }
.mdph__title { max-width: 16ch; font-size: clamp(2.5rem, 1.8rem + 2.9vw, 4.25rem); line-height: 1.03; letter-spacing: -0.015em; color: var(--md-espresso); text-wrap: balance; }
.mdph__lead { max-width: 34rem; margin-top: 1.2rem; font-size: var(--md-fs-lead); line-height: 1.65; color: var(--md-ink-muted); }
.mdph__actions { margin-top: 1.75rem; }
.mdph__proofs { display: grid; gap: 0.65rem; max-width: 34rem; margin: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem) 0 0; padding: 1.25rem 0 0; border-top: 1px solid var(--md-line); list-style: none; }
.mdph__proofs li { display: flex; align-items: center; gap: 0.7rem; font-size: var(--md-fs-small); font-weight: 600; color: var(--md-espresso); }
.mdph__proof-icon { display: inline-grid; place-items: center; flex: none; width: 2.2rem; height: 2.2rem; border: 1px solid var(--md-champagne); border-radius: 50%; background: var(--md-white); color: var(--md-copper); }
.mdph__proof-icon .md-icon { width: 1.05rem; height: 1.05rem; }
.mdph__visual { position: relative; }
.mdph__media { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; background: var(--md-linen); box-shadow: 0 34px 70px -40px rgb(41 32 24 / 0.6); }
.mdph__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdph__caption { position: absolute; right: 0.9rem; top: 0.9rem; margin: 0; padding: 0.3rem 0.65rem; border-radius: 999px; background: rgb(30 23 18 / 0.55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); font-size: var(--md-fs-label); font-weight: 500; color: var(--md-white); }
.mdph__badge { position: absolute; left: 1rem; bottom: 1rem; display: inline-flex; align-items: center; gap: 0.6rem; max-width: calc(100% - 2rem); padding: 0.55rem 1rem 0.55rem 0.55rem; border-radius: 999px; background: rgb(255 255 255 / 0.95); box-shadow: 0 12px 28px -16px rgb(41 32 24 / 0.55); font-size: var(--md-fs-xs); font-weight: 600; color: var(--md-espresso); }
.mdph__badge-icon { display: inline-grid; place-items: center; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--md-copper); color: var(--md-on-copper); }
.mdph__badge-icon .md-icon { width: 1rem; height: 1rem; }
@media (max-width: 47.99rem) { .mdph::before { display: none; } .mdph__badge { left: 0.6rem; bottom: 0.6rem; font-size: 0.6875rem; } }
@media (min-width: 64rem) {
	.mdph__grid { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); }
	.mdph__media { aspect-ratio: 5 / 6; }
	.mdph__badge { left: -1.75rem; bottom: 2.25rem; }
}
@media (prefers-reduced-motion: no-preference) {
	.mdph__text > * { animation: mds-rise 650ms var(--md-ease-out) both; }
	.mdph__text > :nth-child(3) { animation-delay: 60ms; }
	.mdph__text > :nth-child(n+4) { animation-delay: 120ms; }
}

/* Inspirations : mosaïque de grandes vignettes légendées */
.mdi__head { max-width: 44rem; margin-bottom: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); }
.mdi__title { margin-top: 0.6rem; font-size: var(--md-fs-h2); line-height: 1.15; color: var(--md-espresso); text-wrap: balance; }
.mdi__lead { margin-top: 0.75rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-ink-muted); }
.mdi__grid { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.mdi__media { position: relative; margin: 0; height: 100%; min-height: 15rem; overflow: hidden; border-radius: 14px; background: var(--md-linen); }
.mdi__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1100ms var(--md-ease-out); }
.mdi__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(30 23 18 / 0) 45%, rgb(30 23 18 / 0.7) 100%); pointer-events: none; }
.mdi__label { position: absolute; left: 1.15rem; right: 1.15rem; bottom: 1.05rem; z-index: 1; display: grid; gap: 0.2rem; }
.mdi__name { font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); font-weight: 600; line-height: 1.2; color: var(--md-white); }
.mdi__text { font-size: var(--md-fs-small); color: rgb(255 255 255 / 0.88); }
.mdi__note { margin-top: 1rem; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
@media (hover: hover) { .mdi__item:hover .mdi__media img { transform: scale(1.05); } }
@media (prefers-reduced-motion: reduce) { .mdi__media img { transition: none; } .mdi__item:hover .mdi__media img { transform: none; } }
@media (min-width: 48rem) {
	.mdi__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: clamp(13rem, 9rem + 10vw, 19rem); }
	.mdi__grid.is-3 > :first-child { grid-row: span 2; }
	.mdi__grid.is-4 > :first-child { grid-row: span 2; }
	.mdi__grid.is-4 > :last-child { grid-column: 1 / -1; }
}
@media (min-width: 64rem) {
	.mdi__grid.is-3 { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
	.mdi__grid.is-4 { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); }
	.mdi__grid.is-4 > :last-child { grid-column: 2 / -1; }
}

/* Points clés : cartes numérotées à pictogramme */
.mdk__grid { display: grid; gap: clamp(1.75rem, 1rem + 2.5vw, 3.5rem); align-items: start; }
.mdk__title { margin-top: 0.6rem; font-size: var(--md-fs-h2); line-height: 1.15; color: var(--md-espresso); text-wrap: balance; }
.mdk__lead { max-width: 30rem; margin-top: 0.85rem; font-size: var(--md-fs-small); line-height: 1.7; color: var(--md-ink-muted); }
.mdk__actions { margin-top: 1.5rem; }
.mdk__list { display: grid; gap: 0.85rem; margin: 0; padding: 0; list-style: none; }
.mdk__item { padding: 1.35rem 1.4rem; border: 1px solid rgb(216 195 165 / 0.5); border-radius: 14px; background: var(--md-white); transition: transform 420ms var(--md-ease-out), box-shadow 420ms var(--md-ease-out); }
.mdk__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.9rem; }
.mdk__icon { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--md-ivory); border: 1px solid var(--md-champagne); color: var(--md-copper); }
.mdk__icon .md-icon { width: 1.25rem; height: 1.25rem; stroke-width: 1.4; }
.mdk__num { font-size: 1.5rem; font-weight: 600; color: var(--md-champagne); font-variant-numeric: tabular-nums; }
.mdk__item h3 { font-size: 1.1rem; font-weight: 600; color: var(--md-espresso); }
.mdk__item p { margin-top: 0.4rem; font-size: var(--md-fs-small); line-height: 1.65; color: var(--md-ink-muted); }
@media (hover: hover) { .mdk__item:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -36px rgb(41 32 24 / 0.5); } }
@media (prefers-reduced-motion: reduce) { .mdk__item { transition: none; } .mdk__item:hover { transform: none; } }
@media (min-width: 48rem) { .mdk__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .mdk__grid { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr); } .mdk__head { position: sticky; top: calc(var(--md-header-h, 4.5rem) + 2rem); } }

/* Réalisations du même type (page projet) */
.mdpr__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); }
.mdpr__title { margin-top: 0.6rem; font-size: var(--md-fs-h2); line-height: 1.15; color: var(--md-espresso); }
.mdpr__lead { max-width: 36rem; margin-top: 0.7rem; font-size: var(--md-fs-small); color: var(--md-ink-muted); }

/* Points clés — variante centrée : engagements alignés, reliés par un filet */
.mdk--center .mdk__grid { grid-template-columns: 1fr; justify-items: center; gap: clamp(2rem, 1.25rem + 2vw, 3.25rem); }
.mdk--center .mdk__head { position: static; max-width: 40rem; text-align: center; }
.mdk--center .mdk__lead { margin-inline: auto; }
.mdk--center .mdk__list { position: relative; width: 100%; max-width: 68rem; gap: 1rem; }
.mdk--center .mdk__item { position: relative; padding: 2rem 1.6rem 1.8rem; text-align: center; }
.mdk--center .mdk__top { justify-content: center; margin-bottom: 1.1rem; }
.mdk--center .mdk__icon { width: 3.75rem; height: 3.75rem; background: var(--md-ivory); box-shadow: 0 0 0 6px var(--md-white); }
.mdk--center .mdk__icon .md-icon { width: 1.6rem; height: 1.6rem; }
.mdk--center .mdk__item h3 { font-size: 1.15rem; }
.mdk--center .mdk__item p { max-width: 24ch; margin-inline: auto; }
.mdk--center .mdk__actions--below { justify-content: center; margin-top: 0; }
@media (min-width: 48rem) {
	.mdk--center .mdk__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mdk--center .mdk__list::before { content: ""; position: absolute; left: 16%; right: 16%; top: 3.875rem; border-top: 1px solid var(--md-champagne); pointer-events: none; }
	.mdk--center .mdk__item { background: transparent; border-color: transparent; }
	.mdk--center .mdk__icon { position: relative; z-index: 1; }
}
@media (min-width: 64rem) { .mdk--center .mdk__grid { grid-template-columns: 1fr; } }

/* Bannière finale : carte photo arrondie, en retrait des bords, qui chevauche le pied de page (2026-10-06) */
.md-premium-page .elementor > .e-con:last-child .mds-cta,
.md-page-main > .mds-cta:last-child {
	position: relative; z-index: 2;
	width: calc(100% - 2 * clamp(0.75rem, 0.4rem + 1.2vw, 1.5rem));
	margin: clamp(1.25rem, 0.75rem + 1.5vw, 2.5rem) auto calc(-1 * var(--md-cta-overlap));
	border-radius: 24px; box-shadow: 0 50px 90px -45px rgb(20 14 10 / 0.75);
}
:root { --md-cta-overlap: clamp(4rem, 2.5rem + 5vw, 7.5rem); }
@media (max-width: 47.99rem) { .md-premium-page .elementor > .e-con:last-child .mds-cta, .md-page-main > .mds-cta:last-child { border-radius: 18px; } }
/* Le pied de page accueille la moitié basse de la carte. */
body:has(.md-premium-page .elementor > .e-con:last-child .mds-cta, .md-page-main > .mds-cta:last-child) .md-site-footer { padding-top: calc(var(--md-cta-overlap) + clamp(3rem, 2.4rem + 2.5vw, 4.5rem)); }
/* Pages finissant par une section claire : filet discret en tête du pied de page. */
body:not(:has(.md-premium-page .elementor > .e-con:last-child .mds-cta, .md-page-main > .mds-cta:last-child)) .md-site-footer { border-top: 1px solid rgb(216 195 165 / 0.35); }
.md-premium-page:has(.elementor > .e-con:last-child .mds-cta), .md-page-main:has(> .mds-cta:last-child) { background: var(--md-ivory); }

/* ------------------------------------------------- Accueil : finitions premium (2026-10-06) */
/* Réalisations : un titre unique, l'accroche devient un intertitre discret (plus de titre bicolore). */
.mds-works__subtitle { margin-top: 0.55rem; font-family: var(--md-font-body, Inter, sans-serif); font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.0625rem); font-weight: 400; line-height: 1.5; letter-spacing: 0; color: var(--md-ink-muted); }
/* Univers : légendes plus lisibles et léger zoom de la photo au survol. */
.mds-cards--compact .mds-card__media { overflow: hidden; }
.mds-cards--compact .mds-card__media img { transition: transform 900ms var(--md-ease-out, ease-out); }
.mds-cards--compact .mds-cols-3 .mds-card__more { color: var(--md-copper); }
@media (min-width: 48rem) { .mds-cards--compact .mds-cols-3 .mds-card h3 { font-size: 1.1875rem; } }
@media (hover: hover) { .mds-cards--compact .mds-card:hover .mds-card__media img { transform: scale(1.045); } }
@media (prefers-reduced-motion: reduce) { .mds-cards--compact .mds-card__media img { transition: none; } .mds-cards--compact .mds-card:hover .mds-card__media img { transform: none; } }
/* Formulaire : explique pourquoi « Continuer » est en attente. */
.md-pform__hint { display: none; flex-basis: 100%; margin: 0.5rem 0 0; text-align: center; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
.md-pform__nav:has(.md-pform__next[aria-disabled="true"]) .md-pform__hint { display: block; }
.md-pform__nav { flex-wrap: wrap; }

/* Page 404 : pas de fil d’Ariane (aucune page parente à afficher) */
.md-404 .md-breadcrumb { display: none; }

/* Dernière section claire avant le pied de page : marge basse resserrée (plus de grand vide blanc) (2026-10-06) */
.md-premium-page .elementor > .e-con:last-child .mds-section,
.md-page-main > .mds-section:last-child { padding-bottom: clamp(2.5rem, 1.75rem + 2vw, 4rem); }
.md-page-main--legal { padding-bottom: clamp(2.5rem, 1.75rem + 2vw, 4rem); }
.md-page-main--legal > :last-child { margin-bottom: 0; padding-bottom: 0; }

/* ------------------------------------------------- Accueil V1.1 (2026-10-06) */
/* Cartes « inspirations » : grande photo, catégorie, titre, flèche ronde cuivre. */
.mds-cards--inspire .mds-cards__grid { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.mds-cards--inspire .mds-card { overflow: hidden; border-radius: 16px; background: var(--md-white); box-shadow: 0 30px 60px -40px rgb(10 6 4 / 0.8); }
.mds-cards--inspire .mds-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.mds-cards--inspire .mds-card__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.mds-cards--inspire .mds-card__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1100ms var(--md-ease-out); }
.mds-cards--inspire .mds-card__body { display: flex; align-items: center; gap: 1rem; padding: 1.15rem 1.3rem 1.3rem; }
.mds-cards--inspire .mds-card__text { flex: 1; min-width: 0; }
.mds-card__kicker { margin: 0 0 0.35rem; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--md-copper); }
.mds-cards--inspire h3 { font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.25rem); font-weight: 500; line-height: 1.3; color: var(--md-espresso); }
.mds-card__round { display: inline-grid; place-items: center; flex: none; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--md-copper); color: var(--md-on-copper, #08131C); transition: transform 420ms var(--md-ease-out); }
.mds-card__round .md-icon { width: 1rem; height: 1rem; }
@media (hover: hover) { .mds-cards--inspire .mds-card:hover .mds-card__media img { transform: scale(1.05); } .mds-card:hover .mds-card__round { transform: translateX(3px); } }
@media (min-width: 40rem) { .mds-cards--inspire .mds-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .mds-cards--inspire .mds-cards__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; } }
.mds-cards--inspire.mds-tone-dark .mds-head .mds-title { color: var(--md-white); }
.mds-cards--inspire .mds-card__note, .mds-cards__note { margin-top: 1rem; font-size: var(--md-fs-xs); color: var(--md-ink-muted); }
/* Cartes « métiers » : pictogramme, titre, texte court, bandeau photo + flèche ronde. */
.mds-cards--trade .mds-cards__grid { display: grid; gap: 0.85rem; grid-template-columns: 1fr; }
.mds-cards--trade .mds-card { overflow: hidden; border: 1px solid rgb(216 195 165 / 0.5); border-radius: 14px; background: rgb(255 255 255 / 0.8); transition: box-shadow 420ms var(--md-ease-out), transform 420ms var(--md-ease-out); }
.mds-cards--trade .mds-card__link { display: flex; flex-direction: column; height: 100%; padding: 0.9rem; color: inherit; text-decoration: none; }
.mds-cards--trade .mds-card__body { display: flex; align-items: flex-start; gap: 0.85rem; padding: 0.35rem 0.35rem 0.9rem; }
.mds-card__icon { display: inline-grid; place-items: center; flex: none; width: 2.6rem; height: 2.6rem; color: var(--md-copper); }
.mds-card__icon .md-icon { width: 1.9rem; height: 1.9rem; stroke-width: 1.3; }
.mds-cards--trade h3 { font-size: 1.05rem; font-weight: 500; line-height: 1.3; color: var(--md-espresso); }
.mds-cards--trade .mds-card__text p { margin-top: 0.3rem; font-size: var(--md-fs-xs); line-height: 1.5; color: var(--md-ink-muted); }
.mds-card__strip { position: relative; margin-top: auto; height: 5.5rem; overflow: hidden; border-radius: 10px; }
.mds-card__strip img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1100ms var(--md-ease-out); }
.mds-card__strip .mds-card__round { position: absolute; right: 0.7rem; top: 50%; translate: 0 -50%; background: var(--md-white); color: var(--md-espresso); box-shadow: 0 8px 18px -10px rgb(0 0 0 / 0.5); }
@media (hover: hover) { .mds-cards--trade .mds-card:hover { transform: translateY(-3px); box-shadow: 0 26px 50px -36px rgb(41 32 24 / 0.55); } .mds-cards--trade .mds-card:hover .mds-card__strip img { transform: scale(1.06); } }
@media (min-width: 40rem) { .mds-cards--trade .mds-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .mds-cards--trade .mds-cards__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .mds-cards--trade .mds-cards__grid > :nth-child(n+5) { grid-column: span 1; } }
@media (min-width: 64rem) { .mds-cards--trade .mds-cards__grid:has(> :nth-child(7):last-child) > :nth-child(n+5) { grid-column: auto; } .mds-cards--trade .mds-cards__grid:has(> :nth-child(7):last-child) { grid-template-columns: repeat(12, minmax(0, 1fr)); } .mds-cards--trade .mds-cards__grid:has(> :nth-child(7):last-child) > :nth-child(-n+4) { grid-column: span 3; } .mds-cards--trade .mds-cards__grid:has(> :nth-child(7):last-child) > :nth-child(n+5) { grid-column: span 4; } }
@media (prefers-reduced-motion: reduce) { .mds-cards--inspire .mds-card__media img, .mds-card__strip img, .mds-cards--trade .mds-card, .mds-card__round { transition: none; } }
/* Points clés « piliers » : titre à gauche, visuel d'ambiance fondu à droite, piliers séparés par des filets. */
.mdk--pillars { position: relative; overflow: hidden; isolation: isolate; }
.mdk__backdrop { position: absolute; inset: 0 0 0 auto; width: 58%; z-index: -1; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / 0.55) 40%, #000 100%); mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / 0.55) 40%, #000 100%); opacity: 0.9; }
.mdk__backdrop img { width: 100%; height: 100%; object-fit: cover; }
.mdk--pillars .mdk__grid { grid-template-columns: 1fr; gap: clamp(2rem, 1.25rem + 2.5vw, 3.5rem); }
.mdk--pillars .mdk__head { position: static; max-width: 34rem; }
.mdk--pillars .mdk__title { font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.4rem); line-height: 1.05; }
.mdk--pillars .mdk__title::after { content: ""; display: block; width: 3.5rem; height: 2px; margin-top: 1.25rem; background: var(--md-copper); }
.mdk--pillars .mdk__list { grid-template-columns: 1fr; gap: 0; }
.mdk--pillars .mdk__item { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border: 0; border-bottom: 1px solid rgb(216 195 165 / 0.5); border-radius: 0; background: none; }
.mdk--pillars .mdk__item:hover { transform: none; box-shadow: none; }
.mdk--pillars .mdk__top { margin: 0; }
.mdk--pillars .mdk__icon { width: 3.4rem; height: 3.4rem; background: rgb(255 255 255 / 0.85); }
.mdk--pillars .mdk__icon .md-icon { width: 1.5rem; height: 1.5rem; }
.mdk--pillars .mdk__item h3 { font-size: 1.0625rem; font-weight: 500; line-height: 1.35; }
.mdk--pillars .mdk__item p { display: none; }
@media (min-width: 48rem) { .mdk--pillars .mdk__list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; } }
@media (min-width: 64rem) {
	.mdk--pillars .mdk__list { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 0; }
	.mdk--pillars .mdk__item { padding: 0.25rem 1.5rem; border-bottom: 0; border-left: 1px solid rgb(216 195 165 / 0.6); }
	.mdk--pillars .mdk__item:first-child { padding-left: 0; border-left: 0; }
}
@media (max-width: 47.99rem) { .mdk__backdrop { width: 100%; opacity: 0.18; -webkit-mask-image: none; mask-image: none; } }
/* Boutique discrète sur l'accueil */
#boutique .mds-split__media, #boutique figure { max-height: 22rem; }
/* Correctifs accueil V1.1 : lisibilité des cartes sur fond sombre, piliers lisibles */
.mds-cards.mds-cards--inspire .mds-card__body { display: flex; flex-direction: row; align-items: center; gap: 1rem; text-align: left; }
.mds-cards.mds-cards--inspire .mds-card h3 { color: var(--md-espresso); }
.mds-cards.mds-cards--inspire .mds-card__kicker { color: var(--md-copper); }
.mds-cards.mds-cards--trade .mds-card__body { display: flex; flex-direction: row; text-align: left; }
.mds-cards.mds-cards--trade .mds-card h3 { color: var(--md-espresso); }
.mdk__backdrop { inset: 0 0 32% auto; opacity: 0.75; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / 0.5) 40%, #000 100%), linear-gradient(180deg, #000 55%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / 0.5) 40%, #000 100%), linear-gradient(180deg, #000 55%, transparent 100%); -webkit-mask-composite: source-in; mask-composite: intersect; }
.mdk--pillars .mdk__list { position: relative; padding: 1.5rem 1.75rem; border-radius: 16px; background: rgb(255 255 255 / 0.82); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: 0 30px 60px -45px rgb(41 32 24 / 0.45); }
@media (min-width: 64rem) { .mdk--pillars .mdk__item:first-child { padding-left: 0.25rem; } }
/* Boutique : bouton secondaire (contour) pour ne pas concurrencer le dépôt de projet */
#boutique .md-btn--copper { background: transparent; border: 1px solid var(--md-espresso); color: var(--md-espresso); }
#boutique .md-btn--copper:hover { background: var(--md-espresso); color: var(--md-white); }

/* Accueil V1.2 : « Une méthode claire » — photo encadrée à droite du titre (plus d'image derrière le texte), piliers sur bande blanche */
.mdk--pillars .mdk__grid { grid-template-columns: 1fr; align-items: center; }
.mdk__figure { position: relative; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 18px; background: var(--md-linen); box-shadow: 0 30px 60px -42px rgb(41 32 24 / 0.5); }
.mdk__figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdk__figure figcaption { position: absolute; right: 0.8rem; bottom: 0.8rem; padding: 0.25rem 0.6rem; border-radius: 999px; background: rgb(30 23 18 / 0.55); font-size: var(--md-fs-label); color: var(--md-white); }
.mdk--pillars .mdk__list { background: var(--md-white); -webkit-backdrop-filter: none; backdrop-filter: none; border: 1px solid rgb(216 195 165 / 0.45); }
.mdk--pillars .mdk__item h3 { color: var(--md-espresso); }
@media (min-width: 64rem) {
	.mdk--pillars .mdk__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: clamp(2.5rem, 1rem + 4vw, 5rem); }
	.mdk--pillars .mdk__list { grid-column: 1 / -1; padding: 1.75rem 2rem; }
}
/* Projets & inspirations sur fond clair : cartes blanches lisibles */
.mds-cards--inspire .mds-card { border: 1px solid rgb(216 195 165 / 0.45); box-shadow: 0 24px 50px -38px rgb(41 32 24 / 0.45); }
/* Métiers : appel « Voir tous les métiers » plus visible ; parcours plus aéré */
.mds-cards--trade .mds-head__actions .md-btn { border: 1px solid var(--md-espresso); color: var(--md-espresso); font-weight: 600; }
.mds-cards--trade .mds-head__actions .md-btn:hover { background: var(--md-espresso); color: var(--md-white); }
#comment-ca-marche { padding-block: clamp(4rem, 2.5rem + 4vw, 7rem); }
/* Métiers : photos un peu plus grandes (2026-10-07) */
.mds-card__strip { height: clamp(7rem, 5.5rem + 2.5vw, 8.5rem); }

/* ------------------------------------------------- Ils nous font confiance — version sans avis (2026-10-14)
   Deux cartes jumelles : preuves (ivoire) et Boutique (photo), même hauteur, mêmes coins. Mise en forme uniquement :
   chiffres, note et règles d'affichage inchangés. */
.mds-trust__grid--no-quotes { align-items: stretch; }
.mds-trust__grid--no-quotes .mds-trust__proof { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 1rem + 1.6vw, 2.5rem); border: 1px solid var(--md-line); border-radius: 12px; background: var(--md-ivory, #fcf8f4); box-shadow: 0 1px 2px rgb(41 32 24 / 0.04), 0 18px 40px -32px rgb(41 32 24 / 0.35); }
.mds-trust__grid--no-quotes .mds-trust__shop { min-height: 100%; border-radius: 12px; }
.mds-trust__grid--no-quotes .mds-trust__title { font-size: clamp(1.5rem, 1.25rem + 0.9vw, 2rem); }
.mds-trust__grid--no-quotes .mds-trust__score { align-self: flex-start; gap: 0.5rem 0.7rem; margin-top: 0.9rem; padding: 0.45rem 0.9rem 0.45rem 0.75rem; border: 1px solid rgb(216 195 165 / 0.6); border-radius: 999px; background: #fff; }
.mds-trust__grid--no-quotes .mds-trust__stars svg { width: 1.05rem; height: 1.05rem; }
.mds-trust__grid--no-quotes .mds-trust__stats { gap: clamp(0.6rem, 0.3rem + 0.8vw, 1rem); margin-top: clamp(1.4rem, 1rem + 1vw, 2rem); }
.mds-trust__grid--no-quotes .mds-trust__stats li { gap: 0.25rem; padding: clamp(1rem, 0.75rem + 0.7vw, 1.35rem) 0.5rem; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px rgb(216 195 165 / 0.45); }
.mds-trust__grid--no-quotes .mds-trust__stats li + li { border-left: 0; }
.mds-trust__grid--no-quotes .mds-trust__stats .md-icon { box-sizing: content-box; width: 1.15rem; height: 1.15rem; margin-bottom: 0.55rem; padding: 0.55rem; border: 1px solid rgb(216 195 165 / 0.7); border-radius: 50%; stroke-width: 1.5; background: var(--md-ivory, #fcf8f4); }
.mds-trust__grid--no-quotes .mds-trust__stats strong { font-size: clamp(1.6rem, 1.3rem + 0.9vw, 2.1rem); letter-spacing: -0.02em; }
.mds-trust__grid--no-quotes .mds-trust__stats span { max-width: 12ch; font-size: 0.8125rem; }
@media (max-width: 29.99rem) {
	.mds-trust__grid--no-quotes .mds-trust__score { padding: 0; border: 0; border-radius: 0; background: none; }
	.mds-trust__grid--no-quotes .mds-trust__reviews { flex-basis: 100%; }
	.mds-trust__grid--no-quotes .mds-trust__reviews::before { content: none; }
	.mds-trust__grid--no-quotes .mds-trust__stats { grid-template-columns: 1fr; }
	.mds-trust__grid--no-quotes .mds-trust__stats li { grid-template-columns: auto 1fr; grid-template-rows: auto auto; justify-items: start; align-items: center; column-gap: 0.9rem; padding: 0.85rem 1rem; text-align: left; }
	.mds-trust__grid--no-quotes .mds-trust__stats .md-icon { grid-row: span 2; margin: 0; }
	.mds-trust__grid--no-quotes .mds-trust__stats span { max-width: none; }
}

/* ---------- Déclic Partenaires Immobilier : candidature (texte + carte formulaire) ---------- */
.mds-immo__grid { display: grid; gap: clamp(2rem, 1.2rem + 3vw, 4rem); align-items: start; }
@media (min-width: 64rem) { .mds-immo__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } .mds-immo__intro { position: sticky; top: 6.5rem; } }
.mds-immo__points { display: grid; gap: 0.7rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.mds-immo__points li { position: relative; padding-left: 1.6rem; color: var(--md-espresso); line-height: 1.5; }
.mds-immo__points li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 0.9rem; height: 1px; background: var(--md-copper); }
.mds-immo__card { min-width: 0; }
.md-immo-kinds { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: 0.6rem; }
.md-immo-needs { display: grid; gap: 0.55rem 1rem; }
@media (min-width: 40rem) { .md-immo-needs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.md-immo-more { margin: 0.25rem 0 1rem; }
.md-immo-more > summary { cursor: pointer; color: var(--md-copper-text); font-size: var(--md-fs-small); text-decoration: underline; text-underline-offset: 3px; }
.md-immo-more[open] > summary { margin-bottom: 0.75rem; }
.md-immo-multi { min-height: 9rem; }

/* Projets disponibles : indicateur de rareté RÉEL (Nouveau, X places restantes, Dernière place, Complet). */
.mdo-badge { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.2rem 0.6rem; border: 1px solid var(--md-line); border-radius: 999px; font-size: var(--md-fs-xs); font-weight: 600; letter-spacing: 0.01em; color: var(--md-espresso); background: var(--md-white); }
.mdo-badge::before { content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--md-copper); }
.mdo-badge--new { border-color: var(--md-champagne); background: var(--md-ivory); color: var(--md-copper-text); }
.mdo-badge--last { border-color: var(--md-copper); color: var(--md-copper-text); }
.mdo-badge--full { color: var(--md-ink-muted); }
.mdo-badge--full::before { background: var(--md-line); }

/* Candidature immobilier — bas de formulaire aéré : consentement, micro-texte, réassurance, bouton (hiérarchie nette). */
.md-immo-legal { margin-top: clamp(1.75rem, 1.4rem + 1vw, 2.25rem); padding-top: clamp(1.5rem, 1.2rem + 1vw, 2rem); border-top: 1px solid var(--md-line); }
.md-immo-consent { display: grid; grid-template-columns: 1.15rem minmax(0, 1fr); gap: 0.85rem; align-items: start; max-width: 40rem; cursor: pointer; font-size: 1rem; line-height: 1.55; color: var(--md-espresso); }
.md-immo-consent input { width: 1.15rem; height: 1.15rem; margin: 0.2rem 0 0; accent-color: var(--md-copper-btn); cursor: pointer; }
.md-immo-consent input:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
.md-immo-legal__note { max-width: 36rem; margin: 0.75rem 0 0 2rem; font-size: var(--md-fs-xs); line-height: 1.6; color: var(--md-ink-muted); }
.md-immo-legal__note + .md-immo-legal__note { margin-top: 0.3rem; }
.md-immo-legal__note a { color: var(--md-copper-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.md-immo-legal__note a:hover { color: var(--md-espresso); }
.md-immo-submit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); }
.md-immo-reassure { margin: 0; max-width: 24rem; font-size: var(--md-fs-small); line-height: 1.5; color: var(--md-ink-muted); }
.md-immo-submit__btn .md-icon-arrow { transition: transform 0.2s var(--md-ease-out); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .md-immo-submit__btn:hover .md-icon-arrow { transform: translateX(3px); } }
@media (max-width: 40rem) {
	.md-immo-legal__note { margin-left: 0; }
	.md-immo-submit { flex-direction: column; align-items: stretch; gap: 1.25rem; }
	.md-immo-submit__btn { justify-content: center; width: 100%; }
	.md-immo-reassure { max-width: none; text-align: center; }
}
/* Pied du formulaire immobilier : le partenariat en 3 temps, sobre (numéros discrets, aucune promesse chiffrée). */
.md-immo-deal { display: grid; gap: 0.85rem; flex: 1 1 22rem; max-width: 31rem; margin: 0; padding: 1.1rem 1.25rem; list-style: none; border: 1px solid rgb(171 121 86 / 0.22); border-radius: 0.75rem; background: rgb(216 195 165 / 0.12); }
.md-immo-deal li { display: flex; align-items: flex-start; gap: 0.8rem; }
.md-immo-deal li > span:last-child { display: grid; gap: 0.1rem; font-size: var(--md-fs-small); line-height: 1.45; color: var(--md-ink-muted); }
.md-immo-deal strong { font-weight: 600; color: var(--md-espresso); }
.md-immo-deal__n { flex: none; display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-top: 0.05rem; border: 1px solid rgb(171 121 86 / 0.55); border-radius: 50%; font-size: 0.75rem; font-weight: 600; color: var(--md-copper-text); }
.md-immo-submit__action { display: grid; gap: 0.6rem; justify-items: start; max-width: 19rem; }
.md-immo-submit__note { margin: 0; font-size: 0.8125rem; line-height: 1.45; color: var(--md-ink-muted); }
@media (max-width: 40rem) { .md-immo-deal { max-width: none; padding: 1rem; gap: 0.75rem; } .md-immo-submit__action { max-width: none; justify-items: stretch; } .md-immo-submit__note { text-align: center; } }

/* Projets disponibles : bloc d'acquisition (visiteur non partenaire). */
.mdo-join { display: grid; gap: 1.5rem 3rem; margin-top: clamp(2.5rem, 2rem + 2vw, 4rem); padding: clamp(1.75rem, 1.2rem + 2vw, 2.75rem); border: 1px solid var(--md-line); border-radius: var(--md-radius-card, 1rem); background: var(--md-ivory); }
@media (min-width: 56rem) { .mdo-join { grid-template-columns: minmax(0, 1.5fr) auto; align-items: center; } }
.mdo-join__title { margin: 0; font-size: var(--md-fs-h3, 1.5rem); line-height: 1.2; color: var(--md-espresso); }
.mdo-join__lead { margin: 0.6rem 0 0; max-width: 36rem; color: var(--md-ink-muted); line-height: 1.6; }
.mdo-join__points { display: grid; gap: 0.4rem 1.5rem; margin: 1.1rem 0 0; padding: 0; list-style: none; font-size: var(--md-fs-small); color: var(--md-espresso); }
@media (min-width: 40rem) { .mdo-join__points { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mdo-join__points li { position: relative; padding-left: 1.25rem; }
.mdo-join__points li::before { content: ""; position: absolute; left: 0; top: 0.65em; width: 0.6rem; height: 1px; background: var(--md-copper); }
.mdo-join__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
@media (max-width: 30rem) { .mdo-join__actions .md-btn { flex: 1 1 100%; justify-content: center; } }


/* =========================================================================================
   Projets disponibles (2026-10-21) : carte « candidater » espresso + bande « rendez-vous régulier ».
   ========================================================================================= */
.mdo-join { position: relative; overflow: hidden; isolation: isolate; border: 0; border-radius: 1.1rem; padding: clamp(1.75rem, 1.2rem + 2.4vw, 3.25rem); color: var(--md-on-dark, #F8F6F1);
	background: radial-gradient(36rem 22rem at 88% 20%, rgb(171 121 86 / 0.28), transparent 70%), linear-gradient(150deg, #2E241B 0%, var(--md-espresso) 45%, #1A1C1E 100%); box-shadow: 0 30px 60px -38px rgb(21 28 33 / 0.6); }
.mdo-join::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgb(216 195 165 / 0.07) 1px, transparent 1px), linear-gradient(90deg, rgb(216 195 165 / 0.07) 1px, transparent 1px); background-size: 72px 72px; -webkit-mask-image: radial-gradient(80% 90% at 75% 40%, #000, transparent 80%); mask-image: radial-gradient(80% 90% at 75% 40%, #000, transparent 80%); }
.mdo-join__kicker { display: flex; align-items: center; gap: 0.65rem; margin: 0 0 0.85rem; font-size: 0.875rem; font-weight: 500; color: var(--md-champagne); }
.mdo-join__kicker::before { content: ""; width: 1.75rem; height: 1px; background: var(--md-copper); }
.mdo-join__title { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.35rem); font-weight: 500; letter-spacing: -0.015em; line-height: 1.12; color: var(--md-white); text-wrap: balance; }
.mdo-join__lead { color: rgb(248 246 241 / 0.76); }
.mdo-join__points { gap: 0.7rem 1.75rem; margin-top: 1.5rem; color: rgb(248 246 241 / 0.9); }
.mdo-join__points li { padding-left: 1.85rem; line-height: 1.45; }
.mdo-join__points li::before { top: 0.05em; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: rgb(171 121 86 / 0.24); box-shadow: inset 0 0 0 1px rgb(216 195 165 / 0.45); }
.mdo-join__points li::after { content: ""; position: absolute; left: 0.42rem; top: 0.27em; width: 0.28rem; height: 0.55rem; border: solid var(--md-champagne); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.mdo-join__actions { flex-direction: column; align-items: stretch; gap: 0.7rem; min-width: 15rem; }
.mdo-join__actions .md-btn { justify-content: center; }
.mdo-join__aside { margin: 0.2rem 0 0; font-size: 0.8125rem; color: rgb(248 246 241 / 0.62); text-align: center; }
@media (min-width: 56rem) { .mdo-join { grid-template-columns: minmax(0, 1.6fr) minmax(15rem, 0.7fr); gap: 2rem 3.5rem; } }

.mdo-intro { position: relative; overflow: hidden; border-top: 0; padding-block: clamp(3rem, 2rem + 3.5vw, 5rem); background: linear-gradient(180deg, var(--md-ivory), rgb(216 195 165 / 0.16)); isolation: isolate; }
.mdo-intro::before { content: ""; position: absolute; left: 50%; top: 0; width: min(72rem, 92%); height: 1px; transform: translateX(-50%); background: linear-gradient(90deg, transparent, rgb(171 121 86 / 0.55), transparent); }
.mdo-intro::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: linear-gradient(rgb(171 121 86 / 0.06) 1px, transparent 1px), linear-gradient(90deg, rgb(171 121 86 / 0.06) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(60% 75% at 50% 45%, #000, transparent 85%); mask-image: radial-gradient(60% 75% at 50% 45%, #000, transparent 85%); }
.mdo-intro__live { display: inline-flex; align-items: center; gap: 0.55rem; margin: 0 0 1.1rem; padding: 0.35rem 0.85rem; border: 1px solid rgb(171 121 86 / 0.3); border-radius: 999px; background: rgb(255 255 255 / 0.7); font-size: 0.8125rem; font-weight: 500; color: var(--md-copper-text); }
.mdo-intro__pulse { position: relative; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--md-copper); }
.mdo-intro__pulse::after { content: ""; position: absolute; inset: -0.3rem; border-radius: 50%; border: 1px solid rgb(171 121 86 / 0.5); opacity: 0; }
@media (prefers-reduced-motion: no-preference) { .mdo-intro__pulse::after { animation: mdo-pulse 2.6s ease-out infinite; } }
@keyframes mdo-pulse { 0% { opacity: 0.8; transform: scale(0.6); } 80%, 100% { opacity: 0; transform: scale(1.6); } }
.mdo-intro .md-eyebrow { display: block; }
.mdo-intro__title { font-size: clamp(2.2rem, 1.6rem + 2.4vw, 3.4rem); font-weight: 500; letter-spacing: -0.02em; }
.mdo-intro__actions { margin-top: 1.75rem; }
.mdo-intro__note { margin-top: 1rem; }
.mdo-intro__habit { display: inline-flex; align-items: center; gap: 0.6rem; max-width: 34rem; margin: 1.75rem auto 0; padding: 0.85rem 1.1rem; border-radius: 0.8rem; background: rgb(255 255 255 / 0.75); box-shadow: 0 1px 2px rgb(41 32 24 / 0.05); font-size: var(--md-fs-small); line-height: 1.5; color: var(--md-espresso); text-align: left; }
.mdo-intro__habit .md-icon { flex: none; width: 1.15rem; height: 1.15rem; color: var(--md-copper-text); }
.mdo-join__actions .md-btn { flex: none; width: 100%; }

/* Bande d'informations unique sous les boutons (remplace la mention et la carte « favoris »). */
.mdo-intro__text { max-width: 54rem; }
.mdo-intro__facts { display: grid; margin: 2rem auto 0; padding: 0; list-style: none; border: 1px solid rgb(171 121 86 / 0.22); border-radius: 1rem; background: rgb(255 255 255 / 0.66); box-shadow: 0 18px 40px -32px rgb(41 32 24 / 0.45); text-align: left; overflow: hidden; }
.mdo-intro__facts li { display: flex; align-items: flex-start; gap: 0.85rem; padding: 1.05rem 1.25rem; font-size: var(--md-fs-small); line-height: 1.5; color: var(--md-espresso); }
.mdo-intro__facts li + li { border-top: 1px solid rgb(171 121 86 / 0.16); }
.mdo-intro__fact-icon { display: inline-grid; flex: none; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 0.65rem; background: linear-gradient(140deg, rgb(171 121 86 / 0.16), rgb(216 195 165 / 0.32)); color: var(--md-copper-text); }
.mdo-intro__fact-icon .md-icon { width: 1.1rem; height: 1.1rem; }
@media (min-width: 48rem) {
	.mdo-intro__facts { grid-template-columns: 1fr 1fr; }
	.mdo-intro__facts li { padding: 1.15rem 1.4rem; }
	.mdo-intro__facts li + li { border-top: 0; border-left: 1px solid rgb(171 121 86 / 0.16); }
}


/* =========================================================================================
   Univers « Projets disponibles » (2026-10-21) : feature (/professionnels/), hero (/projets-disponibles/), band (accueil).
   Espresso / cuivre / ivoire, trame d'architecte discrète, une seule photo (catalogue « pros »).
   ========================================================================================= */
.mdpd { --mdpd-dark: linear-gradient(150deg, #2E241B 0%, var(--md-espresso) 50%, #1A1C1E 100%); }
.mdpd__kicker { display: flex; align-items: center; gap: 0.65rem; margin: 0 0 0.85rem; font-size: 0.875rem; font-weight: 500; color: var(--md-champagne); }
.mdpd__kicker::before { content: ""; width: 1.75rem; height: 1px; background: var(--md-copper); }
.mdpd__title { margin: 0; color: var(--md-white); font-weight: 500; letter-spacing: -0.02em; line-height: 1.06; text-wrap: balance; }
.mdpd__lead { margin: 0.9rem 0 0; max-width: 34rem; font-size: var(--md-fs-lead); line-height: 1.55; color: rgb(248 246 241 / 0.78); }
.mdpd__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem 1.5rem; margin-top: 1.75rem; }
.mdpd__photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.mdpd .md-btn:focus-visible, .mdpd a:focus-visible { outline: 2px solid var(--md-champagne); outline-offset: 3px; }

/* Feature : grande composition horizontale. */
.mdpd--feature { padding-block: clamp(2.5rem, 1.8rem + 3vw, 4.5rem); }
.mdpd__frame { position: relative; display: grid; overflow: hidden; isolation: isolate; border-radius: 1.25rem; background: var(--mdpd-dark); box-shadow: 0 40px 80px -50px rgb(21 28 33 / 0.75); }
.mdpd__frame::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(34rem 20rem at 20% 0%, rgb(171 121 86 / 0.26), transparent 70%), linear-gradient(rgb(216 195 165 / 0.06) 1px, transparent 1px) 0 0 / 72px 72px, linear-gradient(90deg, rgb(216 195 165 / 0.06) 1px, transparent 1px) 0 0 / 72px 72px; }
.mdpd__body { padding: clamp(1.75rem, 1.2rem + 2.8vw, 3.5rem); }
.mdpd--feature .mdpd__title { font-size: clamp(2.1rem, 1.4rem + 2.6vw, 3.4rem); }
.mdpd__benefits { display: grid; gap: 1rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.mdpd__benefits li { display: flex; align-items: flex-start; gap: 0.85rem; color: var(--md-white); }
.mdpd__benefits strong { display: block; font-weight: 600; font-size: 1rem; }
.mdpd__benefit-text { display: block; margin-top: 0.15rem; font-size: var(--md-fs-small); line-height: 1.5; color: rgb(248 246 241 / 0.66); }
.mdpd__benefit-icon { display: inline-grid; flex: none; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 0.7rem; background: rgb(171 121 86 / 0.24); color: var(--md-champagne); box-shadow: inset 0 0 0 1px rgb(216 195 165 / 0.28); }
.mdpd__benefit-icon .md-icon { width: 1.15rem; height: 1.15rem; }
.mdpd__link { color: var(--md-champagne); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.mdpd__link:hover { color: var(--md-white); }
.mdpd__media { position: relative; margin: 0; min-height: 16rem; }
.mdpd__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgb(41 32 24 / 0.35), transparent 30%); pointer-events: none; }
.mdpd__caption { position: absolute; top: 0.85rem; right: 0.85rem; z-index: 1; padding: 0.25rem 0.65rem; border-radius: 999px; background: rgb(21 28 33 / 0.6); font-size: 0.75rem; color: var(--md-white); }
@media (min-width: 64rem) {
	.mdpd__frame { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
	.mdpd__media { min-height: 100%; }
	.mdpd__media::after { background: linear-gradient(90deg, rgb(41 32 24 / 0.85) 0%, rgb(41 32 24 / 0.15) 28%, transparent 60%); }
}

/* Hero : bannière d'entrée, photo en fond, conversion d'abord. */
.mdpd--hero { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(2.75rem, 1.8rem + 4vw, 5.5rem); background: var(--mdpd-dark); }
.mdpd__bg { position: absolute; inset: 0 0 0 auto; z-index: -2; width: min(62%, 52rem); }
.mdpd__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--md-espresso) 0%, rgb(41 32 24 / 0.78) 35%, rgb(41 32 24 / 0.3) 100%); }
.mdpd--hero::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(30rem 18rem at 10% 0%, rgb(171 121 86 / 0.25), transparent 70%); }
.mdpd__hero-inner { position: relative; }
.mdpd--hero .mdpd__title { max-width: 15ch; font-size: clamp(2.3rem, 1.5rem + 3.2vw, 4.1rem); }
.mdpd__chips { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.mdpd__chips li { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.4rem 0.8rem; border: 1px solid rgb(216 195 165 / 0.3); border-radius: 999px; background: rgb(21 28 33 / 0.35); font-size: 0.8125rem; font-weight: 500; color: rgb(248 246 241 / 0.9); backdrop-filter: blur(4px); }
.mdpd__chips .md-icon { width: 0.95rem; height: 0.95rem; color: var(--md-champagne); }
@media (max-width: 47.99rem) {
	.mdpd__bg { position: relative; inset: auto; width: 100%; height: 11rem; margin-top: -2.75rem; margin-bottom: 1.75rem; z-index: 0; }
	.mdpd__bg::after { background: linear-gradient(180deg, rgb(41 32 24 / 0.1) 30%, var(--md-espresso) 100%); }
	.mdpd--hero { display: flex; flex-direction: column-reverse; padding-top: 2rem; }
	.mdpd--hero .mdpd__bg { margin: 1.75rem 0 -2.75rem; }
	.mdpd--hero .mdpd__bg::after { background: linear-gradient(0deg, rgb(41 32 24 / 0.1) 30%, var(--md-espresso) 100%); }
	.mdpd__actions .md-btn { width: 100%; justify-content: center; }
}

/* Band : bandeau compact (accueil). */
.mdpd--band { padding-block: clamp(2rem, 1.5rem + 2vw, 3.25rem); }
.mdpd__band { position: relative; display: grid; align-items: center; gap: 1rem 1.75rem; overflow: hidden; isolation: isolate; padding: 1.1rem; border-radius: 1rem; background: var(--mdpd-dark); color: var(--md-white); text-decoration: none; box-shadow: 0 24px 50px -36px rgb(21 28 33 / 0.7); }
.mdpd__band::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(22rem 12rem at 85% 0%, rgb(171 121 86 / 0.25), transparent 70%); }
.mdpd__band-media { display: block; overflow: hidden; height: 9rem; border-radius: 0.75rem; }
.mdpd__band-media .mdpd__photo { transition: transform 0.6s var(--md-ease-out, ease); }
.mdpd__band-body { display: grid; gap: 0.35rem; }
.mdpd__band .mdpd__kicker { margin-bottom: 0.2rem; }
.mdpd__band-title { font-size: clamp(1.3rem, 1.05rem + 0.9vw, 1.75rem); font-weight: 500; letter-spacing: -0.015em; line-height: 1.2; }
.mdpd__band-text { max-width: 38rem; font-size: var(--md-fs-small); line-height: 1.55; color: rgb(248 246 241 / 0.74); }
.mdpd__band-go { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 2.9rem; padding: 0 1.25rem; border-radius: 0.65rem; background: var(--md-copper); color: var(--md-ink, #08131C); font-weight: 600; font-size: 0.9375rem; white-space: nowrap; }
.mdpd__band:hover .mdpd__band-go { background: var(--md-copper-btn-hover, #c08a63); }
.mdpd__band:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
@media (prefers-reduced-motion: no-preference) {
	.mdpd__band:hover .mdpd__band-media .mdpd__photo { transform: scale(1.05); }
	.mdpd__band:hover .mdpd__band-go .md-icon-arrow { transform: translateX(3px); }
	.mdpd__band-go .md-icon-arrow { transition: transform 0.25s var(--md-ease-out, ease); }
}
@media (min-width: 48rem) {
	.mdpd__band { grid-template-columns: 13rem minmax(0, 1fr) auto; padding: 1rem 1.75rem 1rem 1rem; }
	.mdpd__band-media { height: 8.5rem; }
}
@media (max-width: 47.99rem) { .mdpd__band-go { width: 100%; white-space: normal; } .mdpd__band-media { order: 3; height: 8rem; } }
/* Bannière : ordre des calques explicite (image < halo < texte), indépendant des conteneurs Elementor. */
.mdpd--hero .mdpd__bg { z-index: 0; }
.mdpd--hero::before { z-index: 1; }
.mdpd--hero .mdpd__hero-inner { z-index: 2; }
.mdpd__frame::before, .mdpd__band::before { z-index: 0; }
.mdpd__body, .mdpd__media, .mdpd__band > * { position: relative; z-index: 1; }


/* /professionnels/ — trois parcours après la vitrine (2026-10-21) : sobre, aéré, carte professionnels mise en avant. */
.md-paths { padding-block: clamp(2.75rem, 2rem + 3vw, 4.5rem); }
.md-paths__head { max-width: 40rem; margin: 0 auto clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem); text-align: center; }
.md-paths__title { margin: 0.6rem 0 0; font-size: clamp(1.6rem, 1.25rem + 1.4vw, 2.3rem); font-weight: 500; letter-spacing: -0.015em; line-height: 1.15; color: var(--md-espresso); text-wrap: balance; }
.md-paths__grid { display: grid; gap: 1rem; align-items: stretch; }
.md-path { position: relative; display: flex; flex-direction: column; gap: 0.45rem; padding: 1.5rem 1.5rem 1.4rem; border: 1px solid var(--md-line, rgb(41 32 24 / 0.1)); border-radius: 1rem; background: var(--md-white); color: var(--md-espresso); text-decoration: none; transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s var(--md-ease-out, ease); }
a.md-path:hover { border-color: rgb(171 121 86 / 0.55); box-shadow: 0 18px 36px -28px rgb(41 32 24 / 0.45); }
a.md-path:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
.md-path__icon { display: inline-grid; place-items: center; width: 2.6rem; height: 2.6rem; margin-bottom: 0.5rem; border-radius: 0.75rem; background: linear-gradient(140deg, rgb(171 121 86 / 0.12), rgb(216 195 165 / 0.3)); color: var(--md-copper-text); }
.md-path__icon .md-icon { width: 1.25rem; height: 1.25rem; }
.md-path__tag { font-size: 0.8125rem; font-weight: 600; color: var(--md-copper-text); }
.md-path__title { margin: 0; font-size: 1.25rem; font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.md-path__text { margin: 0; font-size: var(--md-fs-small); line-height: 1.55; color: var(--md-ink-muted); }
.md-path__go { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: auto; padding-top: 1rem; font-size: 0.875rem; font-weight: 600; color: var(--md-copper-text); }
.md-path__go .md-icon { width: 1rem; height: 1rem; transition: transform 0.2s var(--md-ease-out, ease); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { a.md-path:hover { transform: translateY(-2px); } a.md-path:hover .md-path__go .md-icon { transform: translateX(3px); } }

.md-path--feature { overflow: hidden; isolation: isolate; padding: 0 1.6rem 1.6rem; border: 0; background: linear-gradient(150deg, #2E241B 0%, var(--md-espresso) 55%, #1d1e1f 100%); color: var(--md-white); box-shadow: 0 30px 60px -40px rgb(21 28 33 / 0.7); }
.md-path__media { display: block; position: relative; height: 10.5rem; margin: 0 -1.6rem 1.15rem; overflow: hidden; }
.md-path__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, var(--md-espresso) 100%); }
.md-path__photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 55% 35%; }
.md-path--feature .md-path__tag { color: var(--md-champagne); }
.md-path--feature .md-path__title { font-size: 1.6rem; font-weight: 500; color: var(--md-white); }
.md-path--feature .md-path__text { color: rgb(248 246 241 / 0.76); }
.md-path__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.85rem 0 0; padding: 0; list-style: none; }
.md-path__chips li { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.7rem; border: 1px solid rgb(216 195 165 / 0.28); border-radius: 999px; font-size: 0.75rem; font-weight: 500; color: rgb(248 246 241 / 0.9); }
.md-path__chips .md-icon { width: 0.85rem; height: 0.85rem; color: var(--md-champagne); }
.md-path__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-top: auto; padding-top: 1.35rem; }
.md-path__link { color: var(--md-champagne); font-size: 0.875rem; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.md-path__link:hover { color: var(--md-white); }
@media (min-width: 64rem) {
	.md-paths__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr); }
	.md-path:not(.md-path--feature) { margin-block: 1.5rem; }
}
@media (min-width: 40rem) and (max-width: 63.99rem) {
	.md-paths__grid { grid-template-columns: 1fr 1fr; }
	.md-path--feature { grid-column: 1 / -1; order: -1; }
}
@media (max-width: 39.99rem) { .md-path--feature { order: -1; } .md-path__actions .md-btn { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .md-path, .md-path__go .md-icon { transition: none; } }

/* Bandeau accueil, CTA professionnel de fin de page (2026-10-21) : compact, discret, juste avant le pied de page. */
.mdpd--band { padding-block: clamp(1.75rem, 1.3rem + 1.8vw, 3rem) clamp(2.25rem, 1.6rem + 2.4vw, 3.75rem); }
.mdpd__band { border-radius: 1rem; box-shadow: 0 18px 40px -34px rgb(21 28 33 / 0.6); }
.mdpd__band-title { font-size: clamp(1.2rem, 1rem + 0.7vw, 1.5rem); }
@media (min-width: 48rem) {
	.mdpd__band { grid-template-columns: 9.5rem minmax(0, 1fr) auto; gap: 1rem 1.75rem; padding: 0.85rem 1.75rem 0.85rem 0.85rem; }
	.mdpd__band-media { height: 6.5rem; border-radius: 0.7rem; }
	.mdpd__band .mdpd__kicker { margin-bottom: 0; font-size: 0.8125rem; }
	.mdpd__band-text { font-size: 0.875rem; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
	.mdpd__band { grid-template-columns: 8rem minmax(0, 1fr); }
	.mdpd__band-go { grid-column: 2; justify-self: start; }
}
@media (max-width: 47.99rem) { .mdpd__band-media { height: 7rem; } }


/* =========================================================================================
   En-tête immersif (2026-10-21) : À propos, Méthode, Réalisations, Conseils, articles.
   Même langage que l'accueil et Devenir partenaire : photo pleine largeur, voile espresso, texte clair.
   ========================================================================================= */
.mdph--immersive { display: flex; align-items: flex-end; min-height: clamp(32rem, 26rem + 16vw, 42rem); padding-block: clamp(1.25rem, 1rem + 1vw, 2rem) clamp(2rem, 1.5rem + 2vw, 3rem); background: var(--md-espresso); color: var(--md-white); isolation: isolate; }
.mdph--immersive::before { display: none; }
.mdph__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.mdph__bg img { width: 100%; height: 100%; object-fit: cover; }
.mdph__bg::after { content: ""; position: absolute; inset: 0; background:
	linear-gradient(90deg, rgb(28 21 15 / 0.9) 0%, rgb(28 21 15 / 0.68) 42%, rgb(28 21 15 / 0.2) 78%),
	linear-gradient(0deg, rgb(28 21 15 / 0.85) 0%, rgb(28 21 15 / 0) 45%),
	linear-gradient(180deg, rgb(28 21 15 / 0.55) 0%, rgb(28 21 15 / 0) 22%); }
.mdph__inner { display: flex; flex-direction: column; width: 100%; min-height: inherit; }
.mdph--immersive .md-breadcrumb { margin-bottom: auto; padding-bottom: 2.5rem; }
.mdph--immersive .md-breadcrumb, .mdph--immersive .md-breadcrumb a { color: rgb(248 246 241 / 0.78); }
.mdph--immersive .md-breadcrumb [aria-current], .mdph--immersive .md-breadcrumb li:last-child { color: var(--md-white); }
.mdph--immersive .mdph__text { max-width: 44rem; }
.mdph--immersive .mdph__eyebrow { color: var(--md-champagne); }
.mdph--immersive .mdph__title { max-width: 17ch; font-size: clamp(2.4rem, 1.6rem + 3.2vw, 4.4rem); line-height: 1.02; letter-spacing: -0.025em; color: var(--md-white); }
.mdph--immersive .mdph__lead { max-width: 36rem; color: rgb(248 246 241 / 0.84); }
.mdph--immersive .mdph__proofs { display: grid; gap: 0.9rem 1.75rem; max-width: none; margin-top: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem); padding-top: 1.35rem; border-top: 1px solid rgb(216 195 165 / 0.28); }
.mdph--immersive .mdph__proofs li { color: rgb(255 255 255 / 0.92); font-weight: 500; }
.mdph--immersive .mdph__proof-icon { border-color: rgb(216 195 165 / 0.45); background: rgb(255 255 255 / 0.06); color: var(--md-champagne); }
.mdph--immersive .mdph__caption { top: auto; bottom: 1rem; right: 1rem; }
@media (min-width: 40rem) { .mdph--immersive .mdph__proofs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .mdph--immersive .mdph__proofs { grid-template-columns: repeat(4, minmax(0, 1fr)); } .mdph--immersive .mdph__caption { right: 1.5rem; bottom: 1.5rem; } }
@media (max-width: 47.99rem) { .mdph__bg::after { background: linear-gradient(0deg, rgb(28 21 15 / 0.94) 0%, rgb(28 21 15 / 0.7) 55%, rgb(28 21 15 / 0.45) 100%); } .mdph--immersive .mdph__caption { display: none; } }
@media (prefers-reduced-motion: no-preference) { .mdph__bg img { animation: mdph-settle 1.4s var(--md-ease-out) both; } }
@keyframes mdph-settle { from { transform: scale(1.05); } to { transform: none; } }

/* Passe V1 — Lot B (2026-10-21) : Nos métiers plus compact sur mobile (même contenu, lecture plus rapide). */
@media (max-width: 39.99rem) {
	.md-tr-ucard { padding: 1rem; }
	.md-tr-ucard__icon { width: 2.4rem; height: 2.4rem; }
	.md-tr-ucard__title { margin-top: 0.7rem; font-size: 0.9375rem; }
	.md-tr-ucard__text { display: none; }
	.md-v2 .md-tr-universe { padding-block: 2.25rem; }
	.md-v2 .md-tr-universe__media { aspect-ratio: 16 / 9; margin-bottom: 1rem; }
	.md-tr-list { gap: 0.6rem; }
	.md-tr-card { padding: 1rem 1.1rem 0.6rem; }
	.md-v2 .md-tr-card h3 { font-size: 1rem; }
	.md-tr-card p { margin-top: 0.3rem; font-size: 0.875rem; line-height: 1.5; }
	.md-tr-card__links { gap: 0 1rem; padding-top: 0.35rem; }
	.md-tr-card__links a { font-size: 0.8125rem; }
}
@media (max-width: 39.99rem) { .md-tr-universe__icon { display: none; } }

/* CTA collant mobile (Devenir partenaire) : discret, au-dessus de la zone gestuelle, jamais sur grand écran. */
.md-stickycta { display: none; }
@media (max-width: 47.99rem) {
	.md-stickycta:not([hidden]) { position: fixed; left: 1rem; right: 1rem; bottom: calc(0.85rem + env(safe-area-inset-bottom)); z-index: 40; display: flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 3.1rem; border-radius: 0.8rem; background: var(--md-btn-primary-bg); color: var(--md-btn-primary-text); font-weight: 600; font-size: 0.9375rem; text-decoration: none; box-shadow: 0 14px 30px -14px rgb(21 28 33 / 0.6); opacity: 0; transform: translateY(1.25rem); pointer-events: none; transition: opacity 0.25s var(--md-ease-out, ease), transform 0.25s var(--md-ease-out, ease); }
	.md-stickycta.is-visible { opacity: 1; transform: none; pointer-events: auto; }
	.md-stickycta:focus-visible { outline: 2px solid var(--md-espresso); outline-offset: 3px; }
}
@media (prefers-reduced-motion: reduce) { .md-stickycta:not([hidden]) { transition: none; } }


/* Nos métiers (2026-10-21) : barre d'univers en grille 4 + 4 sur grand écran, univers en cours mis en évidence. */
@media (min-width: 64rem) {
	.md-tr-nav__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; padding-block: 0.9rem; }
	.md-tr-nav__list a { justify-content: center; width: 100%; }
}
.md-v2 .md-tr-nav__list a[aria-current="true"] { border-color: var(--md-espresso); background: var(--md-espresso); color: var(--md-white); }
.md-v2 .md-tr-nav__list a[aria-current="true"] .md-icon { color: var(--md-champagne); }

/* Cartes métier (2026-10-21) : reflet champagne qui suit le pointeur, filet cuivre au survol, action principale en pastille. */
.md-v2 .md-tr-card { position: relative; overflow: hidden; isolation: isolate; padding: 1.5rem 1.5rem 1.1rem; border: 1px solid var(--md-line); border-radius: 16px; background: var(--md-white); box-shadow: 0 1px 2px rgb(41 32 24 / 0.04); transition: border-color 0.3s var(--md-ease-out, ease), box-shadow 0.3s var(--md-ease-out, ease), transform 0.3s var(--md-ease-out, ease); }
.md-v2 .md-tr-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(22rem circle at var(--mx, 85%) var(--my, 0%), rgb(216 195 165 / 0.32), transparent 62%); opacity: 0; transition: opacity 0.35s ease; }
.md-v2 .md-tr-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--md-copper), var(--md-champagne)); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--md-ease-out, ease); }
.md-v2 .md-tr-card:hover, .md-v2 .md-tr-card:focus-within { border-color: rgb(171 121 86 / 0.35); box-shadow: 0 24px 46px -30px rgb(41 32 24 / 0.5); }
.md-v2 .md-tr-card:hover::before, .md-v2 .md-tr-card:focus-within::before { opacity: 1; }
.md-v2 .md-tr-card:hover::after, .md-v2 .md-tr-card:focus-within::after { transform: none; }
.md-v2 .md-tr-card h3 { font-size: 1.125rem; letter-spacing: -0.01em; }
.md-v2 .md-tr-card__links { justify-content: space-between; gap: 0.5rem 1rem; margin-top: auto; padding-top: 1.1rem; border-top: 1px solid var(--md-line); margin-inline: 0; }
.md-tr-card { gap: 0; }
.md-v2 .md-tr-card p { margin-bottom: 1.1rem; }
.md-v2 .md-tr-card__links .md-link-arrow { gap: 0.6rem; color: var(--md-espresso); }
.md-v2 .md-tr-card__links .md-link-arrow .md-icon { box-sizing: content-box; width: 0.9rem; height: 0.9rem; padding: 0.4rem; border: 1px solid rgb(171 121 86 / 0.5); border-radius: 50%; color: var(--md-copper-text); transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s var(--md-ease-out, ease); }
.md-v2 .md-tr-card:hover .md-link-arrow .md-icon { border-color: var(--md-copper); background: var(--md-copper); color: var(--md-ink, #08131C); }
.md-v2 .md-tr-card__pro { font-size: 0.8125rem; font-weight: 500; color: var(--md-ink-muted); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat; transition: background-size 0.25s ease, color 0.2s ease; }
.md-v2 .md-tr-card__pro:hover { color: var(--md-espresso); background-size: 0 1px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.md-v2 .md-tr-card:hover { transform: translateY(-3px); }
	.md-v2 .md-tr-card:hover .md-link-arrow .md-icon { transform: translateX(2px); }
}
@media (prefers-reduced-motion: reduce) { .md-v2 .md-tr-card, .md-v2 .md-tr-card::before, .md-v2 .md-tr-card::after { transition: none; } }
@media (max-width: 39.99rem) { .md-v2 .md-tr-card { padding: 1.1rem 1.15rem 0.75rem; } .md-v2 .md-tr-card p { margin-bottom: 0.75rem; } .md-v2 .md-tr-card__links { padding-top: 0.6rem; } }

/* En-tête immersif (2026-10-21) : texte centré verticalement entre le fil d'Ariane et les engagements. */
.mdph--immersive { align-items: stretch; }
.mdph--immersive .md-breadcrumb { margin-bottom: 0; padding-bottom: 0; }
.mdph--immersive .mdph__text { margin-block: auto; padding-block: clamp(1.75rem, 1rem + 2.5vw, 3rem); }
.mdph--immersive .mdph__proofs { margin-top: 0; }

/* Réalisations (2026-10-21) : en-tête éditorial en deux colonnes, filtres réunis dans une barre unique. */
.mds-real__head { max-width: none; display: grid; gap: 0.9rem 4rem; padding-bottom: clamp(1.5rem, 1rem + 1.5vw, 2.25rem); border-bottom: 1px solid var(--md-line); }
.mds-real__title { font-size: clamp(2rem, 1.4rem + 2.2vw, 3.1rem); letter-spacing: -0.02em; line-height: 1.05; }
.mds-real__lead { margin-top: 0; font-size: 1rem; }
@media (min-width: 64rem) {
	.mds-real__head { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: end; }
	.mds-real__head .md-eyebrow { grid-column: 1 / -1; margin-bottom: -0.25rem; }
	.mds-real__head .mds-real__title { margin-top: 0; }
}
.mds-real__toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 1.25rem 2.5rem; margin-bottom: clamp(1.75rem, 1.25rem + 1.5vw, 2.5rem); }
.mds-real__tgroup { display: grid; gap: 0.6rem; min-width: 0; max-width: 100%; }
.mds-real__tlabel { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--md-copper-text); }
.mds-real__toolbar .mds-real__segment { margin: 0; background: rgb(41 32 24 / 0.06); }
.mds-real__toolbar .mds-real__seg[aria-pressed="true"] { background: var(--md-espresso); color: var(--md-white); box-shadow: 0 8px 18px -10px rgb(41 32 24 / 0.6); }
.mds-real__toolbar .mds-real__filter { display: flex; flex-wrap: nowrap; gap: 1.5rem; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--md-line); }
.mds-real__toolbar .mds-real__filter::-webkit-scrollbar { display: none; }
.mds-real__toolbar .mds-filter__btn { position: relative; flex: none; min-height: 2.75rem; padding: 0 0.1rem; border: 0; border-radius: 0; background: none; box-shadow: none; font-weight: 600; font-size: 0.9375rem; color: var(--md-ink-muted); }
.mds-real__toolbar .mds-filter__btn::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--md-copper); transform: scaleX(0); transform-origin: left; transition: transform 0.3s var(--md-ease-out, ease); }
.mds-real__toolbar .mds-filter__btn:hover { color: var(--md-espresso); background: none; }
.mds-real__toolbar .mds-filter__btn[aria-pressed="true"] { color: var(--md-espresso); background: none; }
.mds-real__toolbar .mds-filter__btn[aria-pressed="true"]::after { transform: none; }
.mds-real__total { margin: 0 0 0 auto; padding-bottom: 0.7rem; font-size: 0.875rem; color: var(--md-ink-muted); }
@media (max-width: 47.99rem) { .mds-real__total { display: none; } .mds-real__tgroup--types { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .mds-real__toolbar .mds-filter__btn::after { transition: none; } }

/* Intro à points pictogrammés (2026-10-21) — ex. « Modalités » : titre fixe à gauche, points en tuiles vivantes,
   le premier point (message clé) mis en avant en espresso. */
.mds-intro:has(.has-icon) .mds-intro__points { gap: 0.9rem; margin-top: 2rem; }
.mds-intro__points .has-icon { position: relative; overflow: hidden; isolation: isolate; padding: 1.35rem 1.35rem 1.4rem; border: 1px solid var(--md-line); border-radius: 16px; background: var(--md-white); transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s var(--md-ease-out, ease); }
.mds-intro__points .has-icon::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(18rem circle at var(--mx, 90%) var(--my, 0%), rgb(216 195 165 / 0.3), transparent 62%); opacity: 0; transition: opacity 0.35s ease; }
.mds-intro__points .has-icon::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--md-copper), var(--md-champagne)); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--md-ease-out, ease); }
.mds-intro__points .has-icon:hover { border-color: rgb(171 121 86 / 0.35); box-shadow: 0 24px 46px -30px rgb(41 32 24 / 0.5); }
.mds-intro__points .has-icon:hover::before { opacity: 1; }
.mds-intro__points .has-icon:hover::after { transform: none; }
.mds-intro__points .has-icon .mds-intro__icon { border: 0; border-radius: 12px; background: var(--md-linen); color: var(--md-copper-text); transition: background-color 0.25s ease, color 0.25s ease; }
.mds-intro__points .has-icon:hover .mds-intro__icon { background: var(--md-espresso); color: var(--md-champagne); }
.mds-intro__points .has-icon dt { font-size: 1.0625rem; letter-spacing: -0.01em; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .mds-intro__points .has-icon:hover { transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .mds-intro__points .has-icon, .mds-intro__points .has-icon::before, .mds-intro__points .has-icon::after { transition: none; } }
@media (min-width: 64rem) {
	.mds-intro:has(.has-icon) .mds-intro__head { position: sticky; top: calc(var(--md-header-h, 76px) + 2.5rem); }
	.mds-intro:has(.has-icon) .mds-intro__title { font-size: clamp(2.2rem, 1.4rem + 2vw, 3rem); letter-spacing: -0.02em; line-height: 1.05; }
}
.mds-intro__points .has-icon { display: flex; flex-direction: column; }
.mds-intro__points .has-icon .mds-intro__icon { margin-bottom: 1rem; }
.mds-intro__points .has-icon dt { padding-top: 0; }
.mds-intro__points .has-icon dd { margin-top: 0.35rem; font-weight: 400; }
.mds-intro:has(.has-icon) .mds-intro__points { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15.5rem), 1fr)); }

/* « Autres univers » (pages projet, 2026-10-21) : galerie en accordéon horizontal.
   Bandes photo pleine hauteur ; celle survolée (ou au clavier) s'élargit et révèle titre et action. */
.mds-cards--compact .mds-cards__grid.mds-cols-6 { display: flex; gap: 0.6rem; height: clamp(22rem, 18rem + 10vw, 30rem); }
.mds-cols-6 .mds-card { flex: 1 1 0; min-width: 0; transition: flex-grow 0.65s var(--md-ease-out, cubic-bezier(.22,1,.36,1)); }
.mds-cols-6 .mds-card:hover, .mds-cols-6 .mds-card:focus-within, .mds-cols-6:not(:hover):not(:focus-within) .mds-card:first-child { flex-grow: 4.2; }
.mds-cards--compact .mds-cols-6 .mds-card__link { position: relative; display: block; height: 100%; overflow: hidden; isolation: isolate; border: 0; border-radius: 18px; background: var(--md-espresso); box-shadow: none; }
.mds-cards--compact .mds-cols-6 .mds-card__media { position: absolute; inset: 0; z-index: -1; height: 100%; margin: 0; aspect-ratio: auto; border-radius: 0; }
.mds-cards--compact .mds-cols-6 .mds-card__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 0.9s var(--md-ease-out, ease), filter 0.6s ease; filter: saturate(0.75) brightness(0.85); }
.mds-cards--compact .mds-cols-6 .mds-card__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(28 21 15 / 0.9) 0%, rgb(28 21 15 / 0.3) 45%, rgb(28 21 15 / 0.05) 70%); }
.mds-cards--compact .mds-cols-6 .mds-card__body { position: absolute; inset: auto 0 0 0; display: flex; align-items: flex-end; justify-content: space-between; gap: 0.75rem; padding: 1.4rem; background: none; }
.mds-cards--compact .mds-cols-6 .mds-card__text h3 { margin: 0; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.6rem); font-weight: 600; line-height: 1.15; letter-spacing: -0.015em; color: var(--md-white); white-space: nowrap; }
.mds-cards--compact .mds-cols-6 .mds-card__more { flex: none; display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; margin: 0; padding: 0; border-radius: 50%; background: var(--md-copper); font-size: 0; color: var(--md-ink, #08131C); opacity: 0; transform: translateY(0.5rem); transition: opacity 0.35s ease, transform 0.45s var(--md-ease-out, ease); }
.mds-cards--compact .mds-cols-6 .mds-card__more .md-icon { width: 1.1rem; height: 1.1rem; margin: 0; }
/* Bande repliée : titre vertical, lu comme une tranche. */
.mds-cols-6 .mds-card .mds-card__body { transition: opacity 0.3s ease; }
.mds-cols-6 .mds-card:not(:hover):not(:focus-within) .mds-card__text h3 { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 1rem; letter-spacing: 0.01em; }
.mds-cols-6:not(:hover):not(:focus-within) .mds-card:first-child .mds-card__text h3 { writing-mode: horizontal-tb; transform: none; font-size: clamp(1.15rem, 1rem + 0.6vw, 1.6rem); }
/* Bande ouverte */
.mds-cols-6 .mds-card:hover .mds-card__media img, .mds-cols-6 .mds-card:focus-within .mds-card__media img, .mds-cols-6:not(:hover):not(:focus-within) .mds-card:first-child .mds-card__media img { transform: none; filter: none; }
.mds-cols-6 .mds-card:hover .mds-card__more, .mds-cols-6 .mds-card:focus-within .mds-card__more, .mds-cols-6:not(:hover):not(:focus-within) .mds-card:first-child .mds-card__more { opacity: 1; transform: none; transition-delay: 0.15s; }
.mds-cards--compact .mds-cols-6 .mds-card__link:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .mds-cols-6 .mds-card, .mds-cards--compact .mds-cols-6 .mds-card__media img, .mds-cards--compact .mds-cols-6 .mds-card__more { transition: none; } }
/* Tablette et mobile : tuiles photo, titre lisible, pas d'accordéon. */
@media (max-width: 63.99rem) {
	.mds-cards--compact .mds-cards__grid.mds-cols-6 { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10rem), 1fr)); height: auto; gap: 0.75rem; }
	.mds-cols-6 .mds-card { flex: none; }
	.mds-cards--compact .mds-cols-6 .mds-card__link { aspect-ratio: 1; height: auto; }
	.mds-cols-6 .mds-card .mds-card__text h3, .mds-cols-6:not(:hover):not(:focus-within) .mds-card:first-child .mds-card__text h3 { writing-mode: horizontal-tb !important; transform: none !important; font-size: 1rem !important; white-space: normal; }
	.mds-cards--compact .mds-cols-6 .mds-card__media img { transform: none; filter: none; }
	.mds-cards--compact .mds-cols-6 .mds-card__body { padding: 0.9rem; }
	.mds-cards--compact .mds-cols-6 .mds-card__more { display: none; }
}
.mds-cards--compact .mds-cols-6 .mds-card__text { flex: 1 1 auto; min-width: 0; }
.mds-cards--compact .mds-cols-6 .mds-card__text, .mds-cards--compact .mds-cols-6 .mds-card__text h3 { text-align: left; }

/* En-tête des pages projet (texte | photo, 2026-10-21) : titre plus compact et plus large, 2 à 3 lignes équilibrées. */
.mdph:not(.mdph--immersive) .mdph__title { max-width: 20ch; font-size: clamp(2rem, 1.45rem + 1.9vw, 3.1rem); line-height: 1.07; letter-spacing: -0.022em; }

/* Accueil — « Vous êtes… » (2026-10-21) : trois portes d'entrée, lisibles d'un coup d'œil, sans effet d'annuaire. */
.mda { padding-block: clamp(2.25rem, 1.5rem + 3vw, 4rem) clamp(1.5rem, 1rem + 2vw, 2.75rem); background: var(--md-ivory); }
.mda__title { margin: 0 0 1.1rem; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--md-copper-text); }
.mda__grid { display: grid; gap: 0.9rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 56rem) { .mda__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; } }
.mda__door { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; height: 100%; padding: 1.4rem 1.4rem 1.25rem; overflow: hidden; isolation: isolate; border: 1px solid var(--md-line); border-radius: 18px; background: var(--md-white); color: var(--md-espresso); text-decoration: none; transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s var(--md-ease-out, ease); }
.mda__door::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--md-copper), var(--md-champagne)); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--md-ease-out, ease); }
.mda__icon { grid-row: 1 / span 4; display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 14px; background: var(--md-linen); color: var(--md-copper-text); transition: background-color 0.25s ease, color 0.25s ease; }
.mda__icon .md-icon { width: 1.4rem; height: 1.4rem; }
.mda__who { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--md-copper-text); }
.mda__name { margin-top: 0.3rem; font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.35rem); font-weight: 600; line-height: 1.25; letter-spacing: -0.01em; }
.mda__text { margin-top: 0.4rem; font-size: 0.9375rem; line-height: 1.55; color: var(--md-ink-muted); }
.mda__go { display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 0.9rem; font-size: 0.9375rem; font-weight: 600; color: var(--md-espresso); }
.mda__go .md-icon { width: 1rem; height: 1rem; color: var(--md-copper); transition: transform 0.25s var(--md-ease-out, ease); }
.mda__door:hover, .mda__door:focus-visible { border-color: rgb(171 121 86 / 0.4); box-shadow: 0 24px 46px -32px rgb(41 32 24 / 0.5); }
.mda__door:hover::after, .mda__door:focus-visible::after { transform: none; }
.mda__door:hover .mda__icon, .mda__door:focus-visible .mda__icon { background: var(--md-espresso); color: var(--md-champagne); }
.mda__door:focus-visible { outline: 2px solid var(--md-copper); outline-offset: 3px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .mda__door:hover { transform: translateY(-3px); } .mda__door:hover .mda__go .md-icon { transform: translateX(3px); } }
@media (prefers-reduced-motion: reduce) { .mda__door, .mda__door::after, .mda__icon, .mda__go .md-icon { transition: none; } }

/* Artisans & entreprises — « Votre espace professionnel » (2026-10-21) : rubriques réelles + aperçu stylisé sans données. */
.mdps { padding-block: clamp(3rem, 2rem + 4vw, 5.5rem); background: var(--md-ivory); }
.mdps__grid { display: grid; gap: clamp(2rem, 1rem + 4vw, 4.5rem); align-items: center; }
@media (min-width: 64rem) { .mdps__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); } }
.mdps__title { margin: 0.7rem 0 0; font-size: clamp(1.9rem, 1.35rem + 1.9vw, 2.8rem); line-height: 1.08; letter-spacing: -0.02em; color: var(--md-espresso); text-wrap: balance; }
.mdps__lead { max-width: 34rem; margin: 1rem 0 0; font-size: 1.0625rem; line-height: 1.65; color: var(--md-ink-muted); }
.mdps__list { display: grid; gap: 0.35rem; margin: 1.75rem 0 0; padding: 0; list-style: none; }
.mdps__list li { display: flex; align-items: flex-start; gap: 0.9rem; padding: 0.8rem 0.9rem; border-radius: 12px; transition: background-color 0.25s ease; }
.mdps__list li:hover { background: rgb(216 195 165 / 0.2); }
.mdps__list strong { display: block; font-size: 1rem; color: var(--md-espresso); }
.mdps__list strong + span { display: block; margin-top: 0.15rem; font-size: 0.9rem; line-height: 1.5; color: var(--md-ink-muted); }
.mdps__icon { display: inline-grid; flex: none; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 11px; background: var(--md-white); box-shadow: inset 0 0 0 1px var(--md-line); color: var(--md-copper-text); }
.mdps__icon .md-icon { width: 1.15rem; height: 1.15rem; }
.mdps__actions { margin-top: 1.75rem; }
.mdps__preview { margin: 0; }
.mdps__window { overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 50px 90px -50px rgb(21 28 33 / 0.6), 0 0 0 1px rgb(41 32 24 / 0.08); }
.mdps__bar { display: flex; gap: 0.4rem; padding: 0.75rem 1rem; background: #efe9e1; }
.mdps__bar span { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: rgb(41 32 24 / 0.18); }
.mdps__app { display: grid; grid-template-columns: 11.5rem minmax(0, 1fr); min-height: 21rem; }
.mdps__side { display: grid; align-content: start; gap: 0.25rem; padding: 1rem 0.75rem; background: linear-gradient(160deg, #2E241B, var(--md-espresso) 70%); }
.mdps__nav { display: flex; align-items: center; gap: 0.55rem; padding: 0.55rem 0.65rem; border-radius: 9px; font-size: 0.8125rem; font-weight: 500; color: rgb(248 246 241 / 0.72); white-space: nowrap; }
.mdps__nav .md-icon { width: 0.95rem; height: 0.95rem; flex: none; }
.mdps__nav.is-active { background: rgb(171 121 86 / 0.28); color: var(--md-white); box-shadow: inset 2px 0 0 var(--md-copper); }
.mdps__main { display: grid; align-content: start; gap: 0.7rem; padding: 1.25rem; background: #F7F7F5; }
.mdps__line { display: block; height: 0.55rem; width: 70%; border-radius: 99px; background: rgb(41 32 24 / 0.1); }
.mdps__line--title { height: 0.85rem; width: 45%; background: rgb(41 32 24 / 0.2); }
.mdps__line--short { width: 35%; }
.mdps__card { position: relative; display: grid; gap: 0.5rem; padding: 0.9rem 0.95rem; border-radius: 12px; background: #fff; box-shadow: 0 1px 0 rgb(41 32 24 / 0.06), 0 10px 24px -20px rgb(41 32 24 / 0.5); }
.mdps__chip { width: 4.5rem; height: 0.9rem; border-radius: 99px; background: rgb(216 195 165 / 0.55); }
.mdps__btn { position: absolute; right: 0.95rem; top: 50%; width: 4.75rem; height: 1.6rem; margin-top: -0.8rem; border-radius: 8px; background: var(--md-copper); opacity: 0.85; }
.mdps__caption { margin-top: 0.75rem; text-align: center; font-size: 0.78rem; color: var(--md-ink-muted); }
@media (max-width: 39.99rem) { .mdps__app { grid-template-columns: 1fr; min-height: 0; } .mdps__side { display: flex; overflow: hidden; } .mdps__nav:not(.is-active) { display: none; } }
@media (prefers-reduced-motion: no-preference) and (hover: hover) { .mdps__window { transition: transform 0.6s var(--md-ease-out, ease); } .mdps__preview:hover .mdps__window { transform: translateY(-4px); } }

/* Fiche réalisation — étapes : titre + descriptif facultatif (2026-10-26). */
.mdr-steps__title { display: block; font-weight: 600; color: var(--md-espresso); }
.mdr-steps__text { display: block; margin-top: 0.25rem; font-size: 0.9375rem; line-height: 1.6; color: var(--md-ink-muted); }

/* Réalisations — bloc professionnel « Votre savoir-faire mérite d'être vu » (2026-10-26). */
.mdrp { padding-block: clamp(1rem, 0.5rem + 2vw, 2.5rem) clamp(3rem, 2rem + 3vw, 5rem); }
.mdrp__inner { display: grid; gap: 1.5rem 3rem; align-items: center; padding: clamp(1.75rem, 1.25rem + 2vw, 3rem); border: 1px solid rgb(171 121 86 / 0.25); border-radius: 22px; background: radial-gradient(28rem 16rem at 100% 0%, rgb(216 195 165 / 0.35), transparent 70%), var(--md-ivory); }
@media (min-width: 64rem) { .mdrp__inner { grid-template-columns: minmax(0, 1.4fr) auto; } }
.mdrp__title { margin: 0.6rem 0 0; font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); line-height: 1.1; letter-spacing: -0.02em; color: var(--md-espresso); text-wrap: balance; }
.mdrp__lead { max-width: 40rem; margin: 0.8rem 0 0; font-size: 1rem; line-height: 1.65; color: var(--md-ink-muted); }
.mdrp__actions { display: grid; gap: 0.85rem; justify-items: start; }
@media (min-width: 64rem) { .mdrp__actions { justify-items: end; text-align: right; } }
.mdrp__link { font-size: 0.9375rem; font-weight: 600; color: var(--md-espresso); text-underline-offset: 4px; }
.mdrp__link:hover { color: var(--md-copper-text); }

/* Aperçu de l'espace pro (2026-10-26) : contenu lisible, exemple fictif. */
.mdps__main { gap: 0.6rem; }
.mdps__head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.75rem; }
.mdps__hello { font-size: 1rem; font-weight: 600; color: var(--md-espresso); }
.mdps__date { font-size: 0.6875rem; color: var(--md-ink-muted); }
.mdps__kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-bottom: 0.25rem; }
.mdps__kpi { display: grid; gap: 0.1rem; padding: 0.6rem 0.7rem; border-radius: 10px; background: #fff; box-shadow: 0 0 0 1px rgb(41 32 24 / 0.06); }
.mdps__kpi strong { font-family: var(--md-font-display, serif); font-size: 1.35rem; line-height: 1; color: var(--md-espresso); }
.mdps__kpi span { font-size: 0.6875rem; color: var(--md-ink-muted); }
.mdps__card { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.mdps__card.is-new { box-shadow: inset 3px 0 0 var(--md-copper), 0 10px 24px -20px rgb(41 32 24 / 0.5); }
.mdps__card-body { display: grid; gap: 0.2rem; min-width: 0; }
.mdps__chip { width: auto; height: auto; justify-self: start; padding: 0.1rem 0.5rem; font-size: 0.625rem; font-weight: 600; color: var(--md-copper-text); }
.mdps__card-title { font-size: 0.8125rem; font-weight: 600; color: var(--md-espresso); }
.mdps__card-meta { overflow: hidden; font-size: 0.6875rem; color: var(--md-ink-muted); white-space: nowrap; text-overflow: ellipsis; }
.mdps__btn { position: static; flex: none; width: auto; height: auto; margin: 0; padding: 0.4rem 0.7rem; font-size: 0.6875rem; font-weight: 600; color: var(--md-ink, #08131C); opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
	.mdps__preview.is-visible .mdps__card, .mdps__card { animation: mdps-in 0.5s var(--md-ease-out, ease) both; animation-delay: calc(0.15s + var(--i, 0) * 0.08s); }
	@keyframes mdps-in { from { opacity: 0; transform: translateY(8px); } }
}

/* =========================================================================================
   Bandeau « Espace professionnels » V1 (2026-10-27) : plus large et plus présent, même contenu.
   Conteneur élargi, photo plus généreuse, titre en display, filet cuivre architectural.
   ========================================================================================= */
.mdpd--band > .md-wrap { max-width: 96rem; padding-inline: clamp(1rem, 0.5rem + 2.5vw, 3rem); }
.mdpd__band { gap: 1.25rem 2.5rem; border-radius: 1.5rem; background: linear-gradient(120deg, #2E241B 0%, var(--md-espresso) 45%, #1C1E20 100%); box-shadow: 0 40px 80px -48px rgb(21 28 33 / 0.75); }
.mdpd__band::before { background: radial-gradient(32rem 18rem at 82% 0%, rgb(171 121 86 / 0.3), transparent 70%); }
.mdpd__band::after { content: ""; position: absolute; inset: 0.6rem; z-index: 0; border: 1px solid rgb(216 195 165 / 0.14); border-radius: 1.1rem; pointer-events: none; }
.mdpd__band-title { font-family: var(--md-font-display); font-size: clamp(1.45rem, 1.1rem + 1.3vw, 2.25rem); font-weight: 400; line-height: 1.12; letter-spacing: -0.015em; }
.mdpd__band-text { max-width: 40rem; font-size: 0.9375rem; color: rgb(248 246 241 / 0.78); }
.mdpd__band-go { min-height: 3.25rem; padding: 0 1.6rem; border-radius: 0.75rem; font-size: 1rem; }
.mdpd__band-media { height: 12rem; border-radius: 1rem; }
@media (min-width: 48rem) {
	.mdpd__band { grid-template-columns: 16rem minmax(0, 1fr) auto; padding: 1rem 2.5rem 1rem 1rem; }
	.mdpd__band-media { height: 11.5rem; }
	.mdpd__band .mdpd__kicker { font-size: 0.875rem; }
	.mdpd__band-text { font-size: 0.9375rem; }
}
@media (min-width: 80rem) {
	.mdpd__band { grid-template-columns: 20rem minmax(0, 1fr) auto; padding-right: 3.25rem; }
	.mdpd__band-media { height: 13rem; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) {
	.mdpd__band { grid-template-columns: 12rem minmax(0, 1fr); padding-right: 1.75rem; }
	.mdpd__band-media { height: 11rem; }
}
@media (max-width: 47.99rem) { .mdpd__band { padding: 1rem; } .mdpd__band-media { height: 10rem; } .mdpd__band::after { inset: 0.4rem; } }

/* Photos cliquables (2026-10-27) : la photo d'une carte mène à la même page que son lien principal. */
a.mds-real__media, a.md-pl-uni__media, a.mds-trust__shop-media { display: block; color: inherit; text-decoration: none; cursor: pointer; }
