/* =================================================================
   Matthew Lebleu — Énergies renouvelables
   Feuille de style unique · préfixe matth-
   1. Variables et base          6. Sections d'accueil
   2. Éléments partagés          7. Pages internes
   3. Boutons et liens           8. Formulaire de contact
   4. En-tête et navigation      9. Pages légales
   5. Pied de page              10. Adaptations responsives
================================================================= */

/* ============ 1. VARIABLES ET BASE ============ */
:root {
  --color-primary: #003d35;
  --color-primary-rgb: 0, 61, 53;
  --color-secondary: #44d62c;
  --color-secondary-rgb: 68, 214, 44;
  --color-secondary-hover: #3bc225;
  --color-dark: #001a16;
  --color-light: #f4f7f6;
  --color-light-rgb: 244, 247, 246;
  --color-white: #ffffff;
  --color-border: rgba(0, 61, 53, 0.08);
  --color-section-bg-alt: #f8f8f8;
  --color-highlight: #009e60;
  --color-border-card: #d8ddd9;
  --color-border-card-hover: #73b7aa;
  --color-bg-card-darker: #f2f5f4;
  --color-danger: #e63946;
  --color-text-main: #003d35;
  --color-text-muted: #597370;
  --font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --matth-rayon-xs: 10px;
  --matth-rayon-sm: 16px;
  --matth-rayon-md: 22px;
  --matth-rayon-lg: 32px;
  --matth-rayon-xl: 40px;
  --matth-pilule: 999px;
  --matth-conteneur: 1280px;
  --matth-gouttiere: 28px;
  --matth-section-y: clamp(64px, 8vw, 118px);
  --matth-ombre-douce: 0 18px 44px rgba(0, 26, 22, 0.07);
  --matth-ombre-carte: 0 22px 60px rgba(0, 26, 22, 0.10);
  --matth-transition: 260ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }

body.matth-body {
  margin: 0;
  font-family: var(--font-family);
  font-size: 17px;
  line-height: 1.65;
  color: var(--color-text-main);
  background: var(--color-white);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.08; letter-spacing: -0.025em; font-weight: 800; }
p { margin: 0 0 18px; }
ul, ol { margin: 0; padding: 0; list-style: none; }
sup { font-size: 0.62em; }

:focus-visible {
  outline: 3px solid var(--color-secondary);
  outline-offset: 3px;
  border-radius: 6px;
}

.matth-evitement {
  position: absolute; left: -9999px; top: 12px; z-index: 200;
  background: var(--color-primary); color: var(--color-white);
  padding: 12px 22px; border-radius: var(--matth-pilule); font-weight: 700;
}
.matth-evitement:focus { left: 24px; }

.matth-conteneur {
  width: 100%;
  max-width: var(--matth-conteneur);
  margin: 0 auto;
  padding: 0 var(--matth-gouttiere);
}

.matth-principal { display: block; }

.matth-section { padding: var(--matth-section-y) 0; position: relative; }
.matth-section--alt { background: var(--color-section-bg-alt); }
.matth-section--compacte { padding: clamp(48px, 5vw, 76px) 0; }

/* ============ 2. ÉLÉMENTS PARTAGÉS ============ */
.matth-icone { width: 20px; height: 20px; flex: 0 0 auto; }

.matth-point {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--color-secondary); display: inline-block;
  box-shadow: 0 0 0 4px rgba(var(--color-secondary-rgb), 0.22);
}

.matth-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--color-text-muted);
  margin: 0 0 20px;
}

.matth-titre {
  font-size: clamp(34px, 4.4vw, 58px);
  font-weight: 800;
  margin: 0 0 22px;
}
.matth-titre em {
  font-style: normal;
  color: var(--color-text-muted);
  -webkit-text-stroke: 0;
}
.matth-titre--petit { font-size: clamp(27px, 2.8vw, 38px); }

.matth-chapo {
  font-size: clamp(17px, 1.35vw, 19px);
  color: var(--color-text-muted);
  max-width: 62ch;
  margin: 0 0 22px;
}
.matth-texte { color: var(--color-text-muted); max-width: 66ch; }

.matth-entete-section { margin-bottom: clamp(38px, 4vw, 62px); max-width: 780px; }
.matth-entete-section--centre { margin-left: auto; margin-right: auto; text-align: center; }
.matth-entete-section--centre .matth-chapo { margin-left: auto; margin-right: auto; }
.matth-entete-section__chapo { margin-bottom: 0; }
.matth-entete-section--clair { color: var(--color-white); }
.matth-entete-section--clair .matth-eyebrow,
.matth-entete-section--clair .matth-titre em,
.matth-entete-section--clair .matth-chapo { color: rgba(255, 255, 255, 0.66); }

.matth-note {
  font-size: 14px; color: var(--color-text-muted);
  max-width: 88ch; margin: 26px auto 0; text-align: center;
}

.matth-etiquette {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 14px; border-radius: var(--matth-pilule);
  background: var(--color-bg-card-darker);
  border: 1px solid var(--color-border);
  font-size: 13px; font-weight: 700;
}
.matth-etiquette .matth-icone { width: 15px; height: 15px; color: var(--color-highlight); }

.matth-rond {
  width: 48px; height: 48px; border-radius: 50%;
  border: 1px solid var(--color-border-card);
  background: var(--color-white); color: var(--color-primary);
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: var(--matth-transition);
}
.matth-rond:hover { background: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); }

.matth-puce {
  width: 9px; height: 9px; padding: 0; border-radius: 50%;
  border: 0; background: rgba(var(--color-primary-rgb), 0.2);
  cursor: pointer; transition: var(--matth-transition);
}
.matth-puce--active { background: var(--color-secondary); width: 28px; border-radius: var(--matth-pilule); }

/* ============ 3. BOUTONS ET LIENS ============ */
.matth-bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 13px 24px; border-radius: var(--matth-pilule);
  font-weight: 700; font-size: 15px; letter-spacing: -0.01em;
  border: 1px solid transparent; cursor: pointer; text-align: center;
  transition: var(--matth-transition); white-space: nowrap;
}
.matth-bouton .matth-icone { width: 18px; height: 18px; }

.matth-bouton--principal { background: var(--color-secondary); color: var(--color-dark); }
.matth-bouton--principal:hover { background: var(--color-secondary-hover); transform: translateY(-2px); }

.matth-bouton--sombre { background: var(--color-primary); color: var(--color-white); }
.matth-bouton--sombre:hover { background: var(--color-dark); transform: translateY(-2px); }

.matth-bouton--clair { background: rgba(255, 255, 255, 0.1); color: var(--color-white); border-color: rgba(255, 255, 255, 0.28); }
.matth-bouton--clair:hover { background: var(--color-white); color: var(--color-primary); }

.matth-bouton--fantome { background: transparent; color: var(--color-primary); border-color: var(--color-border-card); }
.matth-bouton--fantome:hover { border-color: var(--color-primary); background: var(--color-bg-card-darker); }

.matth-bouton--grand { padding: 16px 30px; font-size: 16px; }
.matth-bouton--large { width: 100%; }

.matth-lien-fleche {
  display: inline-flex; align-items: center; gap: 9px;
  font-weight: 700; color: var(--color-primary);
  border-bottom: 2px solid rgba(var(--color-secondary-rgb), 0.5);
  padding-bottom: 3px; transition: var(--matth-transition);
}
.matth-lien-fleche .matth-icone { width: 17px; height: 17px; transition: var(--matth-transition); }
.matth-lien-fleche:hover { border-bottom-color: var(--color-secondary); }
.matth-lien-fleche:hover .matth-icone { transform: translateX(5px); }

/* ============ 4. EN-TÊTE ET NAVIGATION ============ */
.matth-entete {
  position: sticky; top: 0; z-index: 90;
  padding: 16px 0 10px;
  background: linear-gradient(to bottom, var(--color-white) 62%, rgba(255, 255, 255, 0));
}

.matth-entete__grille {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  background: var(--color-white);
  border: 1px solid var(--color-border-card);
  border-radius: var(--matth-pilule);
  padding: 9px 10px 9px 20px;
  box-shadow: var(--matth-ombre-douce);
  max-width: var(--matth-conteneur);
}

.matth-logo { display: inline-flex; align-items: center; gap: 12px; }
.matth-logo__marque {
  width: 40px; height: 40px; color: var(--color-primary);
  display: inline-flex; align-items: center; justify-content: center;
}
.matth-logo__marque svg { width: 100%; height: 100%; }
.matth-logo__texte { display: flex; flex-direction: column; line-height: 1.1; }
.matth-logo__nom { font-weight: 800; font-size: 17px; letter-spacing: -0.03em; }
.matth-logo__sous { font-size: 11px; letter-spacing: 0.13em; text-transform: uppercase; color: var(--color-text-muted); }
.matth-logo--clair { color: var(--color-white); }
.matth-logo--clair .matth-logo__marque { color: var(--color-secondary); }
.matth-logo--clair .matth-logo__sous { color: rgba(255, 255, 255, 0.6); }

.matth-nav__liste { display: flex; align-items: center; gap: 4px; }
.matth-nav__item { position: relative; }
.matth-nav__lien {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 18px; border-radius: var(--matth-pilule);
  font-size: 15px; font-weight: 600; color: var(--color-text-muted);
  border: 1px solid transparent; transition: var(--matth-transition);
}
.matth-nav__lien:hover { color: var(--color-primary); background: var(--color-bg-card-darker); }
.matth-nav__lien--actif {
  color: var(--color-primary); background: var(--color-white);
  border-color: var(--color-border-card);
}
.matth-nav__chevron { width: 14px; height: 14px; }

.matth-sous-menu {
  position: absolute; top: calc(100% + 12px); left: 0; min-width: 250px;
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-md); padding: 10px;
  box-shadow: var(--matth-ombre-carte);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: var(--matth-transition);
}
.matth-nav__item--deroulant:hover .matth-sous-menu,
.matth-nav__item--deroulant:focus-within .matth-sous-menu {
  opacity: 1; visibility: visible; transform: translateY(0);
}
.matth-sous-menu__lien {
  display: block; padding: 10px 15px; border-radius: var(--matth-pilule);
  font-size: 14.5px; font-weight: 600; color: var(--color-text-muted);
  transition: var(--matth-transition);
}
.matth-sous-menu__lien:hover,
.matth-sous-menu__lien--actif { background: var(--color-bg-card-darker); color: var(--color-primary); }

.matth-entete__actions { display: flex; align-items: center; gap: 10px; }
.matth-entete__tel .matth-icone { color: var(--color-highlight); }

.matth-burger {
  display: none; width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid var(--color-border-card); background: var(--color-white);
  align-items: center; justify-content: center; cursor: pointer;
}
.matth-burger__fermer { display: none; }
.matth-burger[aria-expanded="true"] .matth-burger__ouvrir { display: none; }
.matth-burger[aria-expanded="true"] .matth-burger__fermer { display: block; }

.matth-menu-mobile {
  position: fixed; inset: 84px 0 0; z-index: 88;
  background: var(--color-white); padding: 22px 0 40px;
  overflow-y: auto; border-top: 1px solid var(--color-border);
}
.matth-menu-mobile__liste { display: flex; flex-direction: column; gap: 4px; }
.matth-menu-mobile__liste a {
  display: block; padding: 15px 20px; border-radius: var(--matth-pilule);
  font-size: 18px; font-weight: 700; border: 1px solid transparent;
}
.matth-menu-mobile__liste a.matth-actif { background: var(--color-bg-card-darker); border-color: var(--color-border-card); }
.matth-menu-mobile__sous a { font-size: 16px; font-weight: 600; color: var(--color-text-muted); padding-left: 38px; }
.matth-menu-mobile__actions { display: flex; flex-direction: column; gap: 12px; margin-top: 26px; }

.matth-haut {
  position: fixed; right: 22px; bottom: 22px; z-index: 70;
  width: 50px; height: 50px; border-radius: 50%;
  background: var(--color-primary); color: var(--color-white); border: 0;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: var(--matth-transition); box-shadow: var(--matth-ombre-carte);
}
.matth-haut--visible { opacity: 1; visibility: visible; transform: translateY(0); }
.matth-haut__icone { transform: rotate(180deg); }

/* ============ 5. PIED DE PAGE ============ */
.matth-pied { background: var(--color-dark); color: rgba(255, 255, 255, 0.72); padding: clamp(56px, 6vw, 88px) 0 30px; }
.matth-pied__haut { display: grid; grid-template-columns: minmax(280px, 1fr) 1.55fr; gap: clamp(36px, 5vw, 78px); padding-bottom: 46px; }
.matth-pied__phrase { margin: 22px 0 26px; color: var(--color-white); font-size: 19px; font-weight: 700; max-width: 34ch; line-height: 1.35; }
.matth-pied__coord { display: flex; flex-direction: column; gap: 13px; font-size: 15px; }
.matth-pied__coord li { display: flex; align-items: flex-start; gap: 11px; }
.matth-pied__coord .matth-icone { color: var(--color-secondary); margin-top: 3px; }
.matth-pied__coord a:hover { color: var(--color-secondary); }

.matth-pied__colonnes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.matth-pied__titre { font-size: 12.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-white); margin-bottom: 20px; font-weight: 700; }
.matth-pied__liens { display: flex; flex-direction: column; gap: 11px; font-size: 15px; }
.matth-pied__liens a { transition: var(--matth-transition); }
.matth-pied__liens a:hover { color: var(--color-secondary); padding-left: 5px; }

.matth-pied__pdf {
  display: flex; align-items: center; gap: 13px; margin-top: 26px;
  padding: 14px 16px; border-radius: var(--matth-rayon-sm);
  background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.12);
  transition: var(--matth-transition);
}
.matth-pied__pdf:hover { background: rgba(var(--color-secondary-rgb), 0.14); border-color: rgba(var(--color-secondary-rgb), 0.4); }
.matth-pied__pdf .matth-icone { color: var(--color-secondary); width: 24px; height: 24px; }
.matth-pied__pdf strong { display: block; color: var(--color-white); font-size: 14.5px; }
.matth-pied__pdf small { font-size: 12.5px; }

.matth-pied__bas {
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  padding-top: 26px; display: flex; flex-wrap: wrap; gap: 10px 32px;
  justify-content: space-between; font-size: 13.5px;
}
.matth-pied__bas p { margin: 0; }

/* Bandeau cookies */
.matth-cookies {
  position: fixed; left: 18px; right: 18px; bottom: 18px; z-index: 120;
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-md); box-shadow: var(--matth-ombre-carte);
  padding: 20px 24px;
}
.matth-cookies__contenu { display: flex; align-items: center; gap: 26px; max-width: var(--matth-conteneur); margin: 0 auto; }
.matth-cookies__texte { margin: 0; font-size: 14.5px; color: var(--color-text-muted); }
.matth-cookies__texte a { color: var(--color-primary); font-weight: 700; text-decoration: underline; }
.matth-cookies__actions { display: flex; gap: 10px; flex: 0 0 auto; }

/* ============ 6. SECTIONS D'ACCUEIL ============ */
/* --- Héros --- */
.matth-heros { padding: 10px 0 clamp(40px, 5vw, 64px); }
.matth-heros__interieur {
  position: relative; z-index: 2;
  background: radial-gradient(120% 130% at 82% 8%, rgba(var(--color-secondary-rgb), 0.16) 0%, rgba(0, 61, 53, 0) 46%), linear-gradient(158deg, var(--color-primary) 0%, var(--color-dark) 100%);
  border-radius: var(--matth-rayon-xl);
  padding: clamp(40px, 5.5vw, 76px) clamp(26px, 4vw, 62px) clamp(38px, 4.5vw, 60px);
  color: var(--color-white);
  overflow: hidden;
}
.matth-heros__eyebrow { color: rgba(255, 255, 255, 0.62); margin-bottom: 26px; }
.matth-heros__titre {
  font-size: clamp(46px, 11.5vw, 158px);
  line-height: 0.88; letter-spacing: -0.055em; font-weight: 800;
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 0.28em;
  margin: 0 0 clamp(34px, 4vw, 56px);
}
.matth-heros__titre span { color: var(--color-secondary); }
.matth-heros__rang-bas {
  display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: clamp(30px, 4vw, 60px); align-items: end;
  border-top: 1px solid rgba(255, 255, 255, 0.14); padding-top: clamp(28px, 3vw, 44px);
}
.matth-heros__phrase { font-size: clamp(21px, 2.2vw, 29px); font-weight: 700; line-height: 1.24; margin: 0 0 18px; }
.matth-heros__texte { color: rgba(255, 255, 255, 0.68); max-width: 58ch; margin-bottom: 28px; }
.matth-heros__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.matth-heros__chiffres { display: flex; flex-direction: column; gap: 18px; }
.matth-heros__chiffres li { border-left: 2px solid rgba(var(--color-secondary-rgb), 0.55); padding-left: 16px; }
.matth-heros__chiffres strong { display: block; font-size: 27px; font-weight: 800; letter-spacing: -0.03em; }
.matth-heros__chiffres span { font-size: 13.5px; color: rgba(255, 255, 255, 0.6); }

/* --- Diaporama de présentation --- */
.matth-presentation { padding-top: 0; }
.matth-presentation__cadre { max-width: 1000px; margin: 0 auto; }
.matth-presentation__piste {
  position: relative; border-radius: var(--matth-rayon-lg); overflow: hidden;
  background: var(--color-bg-card-darker); border: 1px solid var(--color-border-card);
  aspect-ratio: 16 / 9;
}
.matth-diapo {
  position: absolute; inset: 0; margin: 0;
  opacity: 0; visibility: hidden; transition: opacity 520ms ease, visibility 520ms ease;
}
.matth-diapo--active { opacity: 1; visibility: visible; }
.matth-diapo img { width: 100%; height: 100%; object-fit: cover; }
.matth-diapo__badge {
  position: absolute; top: 20px; left: 20px; z-index: 3;
  display: flex; flex-direction: column; gap: 2px;
  background: rgba(0, 26, 22, 0.82); backdrop-filter: blur(6px);
  color: var(--color-white); border-radius: var(--matth-rayon-sm);
  padding: 14px 18px; max-width: 240px;
}
.matth-diapo__badge strong { font-size: 30px; font-weight: 800; color: var(--color-secondary); letter-spacing: -0.03em; line-height: 1; }
.matth-diapo__badge span { font-size: 12.5px; line-height: 1.35; color: rgba(255, 255, 255, 0.78); }
.matth-diapo figcaption {
  position: absolute; left: 20px; bottom: 20px; z-index: 3;
  background: rgba(255, 255, 255, 0.94); color: var(--color-primary);
  padding: 9px 17px; border-radius: var(--matth-pilule);
  font-size: 13.5px; font-weight: 700;
}
.matth-presentation__commandes { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 24px; }
.matth-presentation__puces { display: flex; align-items: center; gap: 8px; }

/* --- À propos --- */
.matth-apropos__grille { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(34px, 5vw, 82px); align-items: start; }
.matth-apropos__points { display: flex; flex-direction: column; gap: 18px; margin: 30px 0 32px; }
.matth-apropos__points li { display: flex; gap: 14px; align-items: flex-start; }
.matth-apropos__points .matth-icone { color: var(--color-highlight); width: 22px; height: 22px; margin-top: 3px; }
.matth-apropos__points strong { display: block; font-size: 16px; }
.matth-apropos__points span { color: var(--color-text-muted); font-size: 15px; }
.matth-apropos__droite { position: relative; }
.matth-apropos__visuel { margin: 0; border-radius: var(--matth-rayon-lg); overflow: hidden; border: 1px solid var(--color-border-card); }
.matth-apropos__visuel img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.matth-apropos__encart {
  position: absolute; right: -14px; bottom: -26px; max-width: 268px;
  background: var(--color-primary); color: var(--color-white);
  border-radius: var(--matth-rayon-md); padding: 24px 26px;
  box-shadow: var(--matth-ombre-carte);
}
.matth-apropos__encart-nombre { font-size: 38px; font-weight: 800; color: var(--color-secondary); margin: 0 0 6px; letter-spacing: -0.03em; }
.matth-apropos__encart-texte { margin: 0; font-size: 14px; color: rgba(255, 255, 255, 0.74); }

/* --- Efficacité --- */
.matth-efficacite__grille { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(30px, 4vw, 64px); align-items: start; }
.matth-efficacite__liste { display: flex; flex-direction: column; gap: 12px; }
.matth-efficacite__liste li {
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-md); overflow: hidden; transition: var(--matth-transition);
}
.matth-efficacite__liste li:has(.matth-efficacite__bouton--actif) { border-color: var(--color-border-card-hover); box-shadow: var(--matth-ombre-douce); }
.matth-efficacite__bouton {
  width: 100%; display: flex; align-items: center; gap: 16px;
  padding: 20px 22px; background: transparent; border: 0; cursor: pointer; text-align: left;
}
.matth-efficacite__index { font-size: 12.5px; font-weight: 800; color: var(--color-text-muted); letter-spacing: 0.08em; }
.matth-efficacite__intitule { flex: 1; font-size: 18px; font-weight: 700; letter-spacing: -0.02em; }
.matth-efficacite__signe {
  width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto;
  border: 1px solid var(--color-border-card);
  display: inline-flex; align-items: center; justify-content: center;
  transition: var(--matth-transition);
}
.matth-efficacite__bouton--actif .matth-efficacite__signe { background: var(--color-secondary); border-color: var(--color-secondary); transform: rotate(135deg); }
.matth-efficacite__contenu { padding: 0 22px 22px 60px; }
.matth-efficacite__contenu p { color: var(--color-text-muted); margin: 0 0 14px; }
.matth-efficacite__chiffre { color: var(--color-text-main) !important; font-size: 14.5px; }
.matth-efficacite__chiffre strong { font-size: 22px; color: var(--color-highlight); margin-right: 8px; }
.matth-efficacite__visuels { position: relative; aspect-ratio: 4 / 4.6; border-radius: var(--matth-rayon-lg); overflow: hidden; border: 1px solid var(--color-border-card); position: sticky; top: 120px; }
.matth-efficacite__visuel { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity 480ms ease, transform 680ms ease; transform: scale(1.04); }
.matth-efficacite__visuel--actif { opacity: 1; visibility: visible; transform: scale(1); }
.matth-efficacite__visuel img { width: 100%; height: 100%; object-fit: cover; }

/* --- Comparatif --- */
.matth-comparatif__tableau {
  border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-lg);
  overflow: hidden; background: var(--color-white); box-shadow: var(--matth-ombre-douce);
}
.matth-comparatif__tete, .matth-comparatif__ligne { display: grid; grid-template-columns: 1.5fr 1fr 1fr; }
.matth-comparatif__tete { background: var(--color-primary); color: var(--color-white); }
.matth-comparatif__cellule { padding: 20px 24px; display: flex; flex-direction: column; justify-content: center; gap: 5px; }
.matth-comparatif__tete .matth-comparatif__cellule { align-items: flex-start; gap: 9px; }
.matth-comparatif__tete .matth-comparatif__cellule strong { font-size: 22px; letter-spacing: -0.03em; }
.matth-comparatif__cellule--solaire { background: rgba(var(--color-secondary-rgb), 0.07); font-weight: 700; }
.matth-comparatif__tete .matth-comparatif__cellule--solaire { background: rgba(var(--color-secondary-rgb), 0.16); }
.matth-comparatif__badge {
  display: inline-block; padding: 5px 13px; border-radius: var(--matth-pilule);
  background: rgba(255, 255, 255, 0.14); font-size: 12px; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.matth-comparatif__badge--vert { background: var(--color-secondary); color: var(--color-dark); }
.matth-comparatif__ligne { border-top: 1px solid var(--color-border); }
.matth-comparatif__ligne:nth-child(odd) .matth-comparatif__cellule--label { background: var(--color-bg-card-darker); }
.matth-comparatif__cellule--label small { color: var(--color-text-muted); font-size: 13px; line-height: 1.4; }
.matth-comparatif__ligne--total { background: var(--color-bg-card-darker); font-size: 18px; }
.matth-comparatif__ligne--total .matth-comparatif__cellule--solaire strong { color: var(--color-highlight); font-size: 22px; }

/* --- Secteurs --- */
.matth-secteurs__grille { display: grid; grid-template-columns: 400px 1fr; gap: clamp(26px, 3vw, 48px); align-items: start; }
.matth-secteurs__choix { display: flex; flex-direction: column; gap: 12px; }
.matth-secteurs__bouton {
  display: flex; align-items: center; gap: 15px; text-align: left; cursor: pointer;
  padding: 18px 20px; border-radius: var(--matth-rayon-md);
  border: 1px solid var(--color-border-card); background: var(--color-white);
  transition: var(--matth-transition);
}
.matth-secteurs__bouton:hover { border-color: var(--color-border-card-hover); }
.matth-secteurs__bouton--actif { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); }
.matth-secteurs__icone {
  width: 46px; height: 46px; border-radius: 50%; flex: 0 0 auto;
  background: var(--color-bg-card-darker); color: var(--color-primary);
  display: inline-flex; align-items: center; justify-content: center;
}
.matth-secteurs__bouton--actif .matth-secteurs__icone { background: var(--color-secondary); color: var(--color-dark); }
.matth-secteurs__texte { flex: 1; display: block; }
.matth-secteurs__texte strong { display: block; font-size: 17px; letter-spacing: -0.02em; }
.matth-secteurs__texte small { font-size: 13.5px; color: var(--color-text-muted); line-height: 1.4; display: block; margin-top: 3px; }
.matth-secteurs__bouton--actif .matth-secteurs__texte small { color: rgba(255, 255, 255, 0.66); }
.matth-secteurs__fleche { opacity: 0; transition: var(--matth-transition); }
.matth-secteurs__bouton--actif .matth-secteurs__fleche { opacity: 1; color: var(--color-secondary); }
.matth-secteurs__panneau {
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-lg); overflow: hidden;
  animation: matth-apparition 460ms ease both;
}
.matth-secteurs__image { margin: 0; }
.matth-secteurs__image img { width: 100%; aspect-ratio: 16 / 8.4; object-fit: cover; }
.matth-secteurs__contenu { padding: clamp(24px, 3vw, 38px); }
.matth-secteurs__contenu h3 { font-size: clamp(23px, 2.2vw, 30px); margin-bottom: 14px; }
.matth-secteurs__contenu p { color: var(--color-text-muted); }
.matth-secteurs__contenu ul { display: grid; gap: 11px; margin: 22px 0 26px; }
.matth-secteurs__contenu li { display: flex; gap: 11px; align-items: flex-start; font-size: 15.5px; }
.matth-secteurs__contenu li .matth-icone { color: var(--color-secondary); width: 19px; height: 19px; margin-top: 4px; }

@keyframes matth-apparition { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* --- Processus --- */
.matth-processus__liste { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: matth-etape; }
.matth-processus__etape {
  position: relative; background: var(--color-white);
  border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-lg);
  padding: 30px 26px 26px; transition: var(--matth-transition);
}
.matth-processus__etape:hover { border-color: var(--color-border-card-hover); transform: translateY(-5px); box-shadow: var(--matth-ombre-douce); }
.matth-processus__num {
  position: absolute; top: 22px; right: 24px;
  font-size: 42px; font-weight: 800; letter-spacing: -0.05em;
  color: rgba(var(--color-primary-rgb), 0.08);
}
.matth-processus__icone {
  width: 52px; height: 52px; border-radius: 50%;
  background: var(--color-primary); color: var(--color-secondary);
  display: inline-flex; align-items: center; justify-content: center; margin-bottom: 22px;
}
.matth-processus__etape h3 { font-size: 20px; margin-bottom: 12px; }
.matth-processus__etape p { color: var(--color-text-muted); font-size: 15px; margin-bottom: 18px; }
.matth-processus__delai {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13px; font-weight: 700; color: var(--color-highlight);
  padding: 6px 13px; border-radius: var(--matth-pilule); background: rgba(var(--color-secondary-rgb), 0.11);
}
.matth-processus__delai .matth-icone { width: 15px; height: 15px; }

/* --- Calculateur --- */
.matth-calcul { background: var(--color-primary); color: var(--color-white); }
.matth-calcul__grille { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(26px, 3vw, 48px); align-items: start; }
.matth-calcul__champs {
  background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--matth-rayon-lg); padding: clamp(24px, 3vw, 38px);
  display: grid; gap: 22px;
}
.matth-champ { display: flex; flex-direction: column; gap: 9px; }
.matth-champ label { font-size: 14.5px; font-weight: 700; display: flex; gap: 6px; align-items: baseline; }
.matth-champ output { color: var(--color-secondary); font-size: 18px; font-weight: 800; }
.matth-champ select, .matth-champ input[type="number"] {
  width: 100%; padding: 13px 16px; border-radius: var(--matth-rayon-xs);
  border: 1px solid rgba(255, 255, 255, 0.2); background: rgba(0, 26, 22, 0.4);
  color: var(--color-white); font-size: 15px; appearance: none;
}
.matth-champ select option { color: var(--color-text-main); background: var(--color-white); }
.matth-champ__bornes { display: flex; justify-content: space-between; font-size: 12.5px; color: rgba(255, 255, 255, 0.55); }
.matth-champ__aide { font-size: 12.5px; color: rgba(255, 255, 255, 0.55); margin: 0; }

.matth-champ input[type="range"] {
  width: 100%; height: 6px; border-radius: var(--matth-pilule); appearance: none;
  background: rgba(255, 255, 255, 0.2); cursor: pointer;
}
.matth-champ input[type="range"]::-webkit-slider-thumb {
  appearance: none; width: 22px; height: 22px; border-radius: 50%;
  background: var(--color-secondary); border: 3px solid var(--color-primary); cursor: pointer;
}
.matth-champ input[type="range"]::-moz-range-thumb {
  width: 22px; height: 22px; border-radius: 50%; border: 3px solid var(--color-primary);
  background: var(--color-secondary); cursor: pointer;
}

.matth-calcul__resultat {
  background: var(--color-white); color: var(--color-text-main);
  border-radius: var(--matth-rayon-lg); padding: clamp(24px, 3vw, 38px);
  box-shadow: var(--matth-ombre-carte);
}
.matth-calcul__intitule { font-size: 12.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--color-text-muted); font-weight: 700; margin-bottom: 14px; }
.matth-calcul__principal { display: flex; flex-direction: column; padding-bottom: 22px; border-bottom: 1px solid var(--color-border); margin-bottom: 20px; }
.matth-calcul__valeur { font-size: clamp(42px, 5vw, 60px); font-weight: 800; letter-spacing: -0.045em; color: var(--color-highlight); line-height: 1; }
.matth-calcul__unite { font-size: 15px; color: var(--color-text-muted); margin-top: 8px; }
.matth-calcul__details { display: grid; gap: 0; margin: 0 0 22px; }
.matth-calcul__details > div { display: flex; justify-content: space-between; gap: 18px; padding: 11px 0; border-bottom: 1px dashed var(--color-border); }
.matth-calcul__details dt { color: var(--color-text-muted); font-size: 14.5px; }
.matth-calcul__details dd { margin: 0; font-weight: 700; font-size: 15px; text-align: right; }
.matth-calcul__barre { height: 10px; border-radius: var(--matth-pilule); background: var(--color-bg-card-darker); overflow: hidden; }
.matth-calcul__barre-part { display: block; height: 100%; background: var(--color-secondary); transition: width 420ms ease; }
.matth-calcul__legende { font-size: 12.5px; color: var(--color-text-muted); margin: 10px 0 22px; }
.matth-calcul__avertissement { font-size: 12.5px; color: var(--color-text-muted); margin: 16px 0 0; }

/* --- Projets --- */
.matth-projets__grille { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.matth-projet {
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-lg); padding: clamp(24px, 2.6vw, 34px);
  transition: var(--matth-transition);
}
.matth-projet:hover { border-color: var(--color-border-card-hover); transform: translateY(-4px); box-shadow: var(--matth-ombre-douce); }
.matth-projet__entete { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.matth-projet__annee { font-size: 13px; color: var(--color-text-muted); }
.matth-projet__type { font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-highlight); font-weight: 700; margin-bottom: 8px; }
.matth-projet__titre { font-size: clamp(21px, 2vw, 26px); margin-bottom: 12px; }
.matth-projet__texte { color: var(--color-text-muted); font-size: 15.5px; }
.matth-projet__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border-top: 1px solid var(--color-border); padding-top: 20px; margin-top: 22px; }
.matth-projet__stats strong { display: block; font-size: 20px; letter-spacing: -0.03em; }
.matth-projet__stats span { font-size: 12.5px; color: var(--color-text-muted); }

/* --- Témoignages --- */
.matth-avis__grille { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(30px, 4vw, 70px); align-items: center; }
.matth-avis__visuel { position: relative; margin: 0; border-radius: var(--matth-rayon-lg); overflow: hidden; }
.matth-avis__visuel img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.matth-avis__visuel figcaption {
  position: absolute; left: 18px; right: 18px; bottom: 18px;
  background: rgba(0, 26, 22, 0.86); backdrop-filter: blur(6px); color: var(--color-white);
  border-radius: var(--matth-rayon-sm); padding: 16px 20px;
}
.matth-avis__visuel figcaption strong { display: block; font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-secondary); margin-bottom: 5px; }
.matth-avis__visuel figcaption span { font-size: 14px; color: rgba(255, 255, 255, 0.8); }
.matth-avis__carrousel { position: relative; min-height: 330px; margin-top: 12px; }
.matth-avis__item {
  position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden;
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-lg); padding: clamp(26px, 3vw, 38px);
  transition: opacity 420ms ease, transform 420ms ease; transform: translateY(14px);
}
.matth-avis__item--actif { opacity: 1; visibility: visible; transform: translateY(0); }
.matth-avis__guillemets { color: rgba(var(--color-primary-rgb), 0.1); display: block; margin-bottom: 12px; }
.matth-avis__guillemets .matth-icone { width: 42px; height: 42px; }
.matth-avis__note { display: flex; gap: 4px; margin-bottom: 16px; }
.matth-avis__etoile { width: 17px; height: 17px; color: var(--color-secondary); fill: var(--color-secondary); }
.matth-avis__item p { font-size: 17.5px; line-height: 1.6; }
.matth-avis__item footer strong { display: block; font-size: 16px; }
.matth-avis__item footer span { font-size: 14px; color: var(--color-text-muted); }
.matth-avis__commandes { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.matth-avis__compteur { font-size: 14px; font-weight: 700; color: var(--color-text-muted); }

/* --- Questions fréquentes --- */
.matth-faq__grille { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: clamp(30px, 4vw, 70px); align-items: start; }
.matth-faq__entete { position: sticky; top: 118px; }
.matth-faq__liste { display: flex; flex-direction: column; gap: 12px; }
.matth-faq__item { background: var(--color-white); border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-md); overflow: hidden; }
.matth-faq__item h3 { margin: 0; font-size: inherit; }
.matth-faq__question {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 21px 24px; background: transparent; border: 0; cursor: pointer;
  text-align: left; font-size: 17px; font-weight: 700; letter-spacing: -0.02em;
}
.matth-faq__signe {
  width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%;
  border: 1px solid var(--color-border-card);
  display: inline-flex; align-items: center; justify-content: center; transition: var(--matth-transition);
}
.matth-faq__question[aria-expanded="true"] .matth-faq__signe { background: var(--color-secondary); border-color: var(--color-secondary); transform: rotate(135deg); }
.matth-faq__reponse { padding: 0 24px 24px; }
.matth-faq__reponse p { margin: 0; color: var(--color-text-muted); }

/* --- Appel à l'action --- */
.matth-cta__interieur {
  background: radial-gradient(110% 140% at 88% 12%, rgba(var(--color-secondary-rgb), 0.18) 0%, rgba(0, 61, 53, 0) 48%), linear-gradient(150deg, var(--color-primary), var(--color-dark));
  color: var(--color-white); border-radius: var(--matth-rayon-xl);
  padding: clamp(38px, 5vw, 74px);
  display: grid; grid-template-columns: 1.25fr 0.75fr; gap: clamp(30px, 4vw, 62px); align-items: center;
}
.matth-cta .matth-eyebrow { color: rgba(255, 255, 255, 0.62); }
.matth-cta__titre { font-size: clamp(30px, 3.8vw, 50px); margin-bottom: 20px; }
.matth-cta__titre em { font-style: normal; color: var(--color-secondary); }
.matth-cta__chapo { color: rgba(255, 255, 255, 0.7); max-width: 52ch; }
.matth-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 16px; }
.matth-cta__note { font-size: 14px; color: rgba(255, 255, 255, 0.6); margin: 0; }
.matth-cta__note a { color: var(--color-secondary); font-weight: 700; text-decoration: underline; }
.matth-cta__chiffres { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.matth-cta__chiffres li { background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.13); border-radius: var(--matth-rayon-md); padding: 22px; }
.matth-cta__chiffres strong { display: block; font-size: 30px; font-weight: 800; color: var(--color-secondary); letter-spacing: -0.03em; }
.matth-cta__chiffres span { font-size: 13px; color: rgba(255, 255, 255, 0.65); }

/* ============ 7. PAGES INTERNES ============ */
.matth-page-heros { padding: 10px 0 0; }
.matth-page-heros__interieur {
  background: linear-gradient(150deg, var(--color-primary), var(--color-dark));
  color: var(--color-white); border-radius: var(--matth-rayon-xl);
  padding: clamp(36px, 4.6vw, 68px) clamp(26px, 4vw, 60px);
  display: grid; grid-template-columns: 1.15fr 0.85fr; gap: clamp(26px, 3vw, 56px); align-items: end;
}
.matth-page-heros .matth-eyebrow { color: rgba(255, 255, 255, 0.6); }
.matth-page-heros__titre { font-size: clamp(34px, 5vw, 62px); margin-bottom: 18px; }
.matth-page-heros__titre em { font-style: normal; color: var(--color-secondary); }
.matth-page-heros__texte { color: rgba(255, 255, 255, 0.7); max-width: 60ch; margin: 0; }
.matth-page-heros__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.matth-page-heros__resume { display: grid; gap: 14px; }
.matth-page-heros__resume li { display: flex; gap: 13px; align-items: flex-start; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.13); border-radius: var(--matth-rayon-sm); padding: 16px 18px; }
.matth-page-heros__resume .matth-icone { color: var(--color-secondary); margin-top: 3px; }
.matth-page-heros__resume strong { display: block; font-size: 15.5px; }
.matth-page-heros__resume span { font-size: 13.5px; color: rgba(255, 255, 255, 0.62); }

.matth-fil { padding: 22px 0 0; font-size: 13.5px; color: var(--color-text-muted); }
.matth-fil ol { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.matth-fil li::after { content: "/"; margin-left: 8px; color: var(--color-border-card); }
.matth-fil li:last-child::after { content: ""; }
.matth-fil a:hover { color: var(--color-primary); }

/* Cartes génériques */
.matth-cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 22px; }
.matth-carte {
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-lg); padding: clamp(24px, 2.6vw, 34px);
  display: flex; flex-direction: column; transition: var(--matth-transition);
}
.matth-carte:hover { border-color: var(--color-border-card-hover); transform: translateY(-4px); box-shadow: var(--matth-ombre-douce); }
.matth-carte__icone {
  width: 52px; height: 52px; border-radius: 50%; margin-bottom: 22px;
  background: var(--color-bg-card-darker); color: var(--color-highlight);
  display: inline-flex; align-items: center; justify-content: center;
}
.matth-carte h3 { font-size: 21px; margin-bottom: 12px; }
.matth-carte p { color: var(--color-text-muted); font-size: 15.5px; }
.matth-carte ul { display: grid; gap: 10px; margin: 4px 0 20px; }
.matth-carte li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--color-text-muted); }
.matth-carte li .matth-icone { width: 18px; height: 18px; color: var(--color-secondary); margin-top: 3px; }
.matth-carte__pied { margin-top: auto; padding-top: 18px; }

/* Solution : présentation détaillée */
.matth-duo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 4vw, 70px); align-items: center; }
.matth-duo--inverse .matth-duo__visuel { order: -1; }
.matth-duo__visuel { margin: 0; border-radius: var(--matth-rayon-lg); overflow: hidden; border: 1px solid var(--color-border-card); }
.matth-duo__visuel img { width: 100%; aspect-ratio: 4 / 3.2; object-fit: cover; }
.matth-duo__liste { display: grid; gap: 14px; margin: 22px 0 26px; }
.matth-duo__liste li { display: flex; gap: 12px; align-items: flex-start; }
.matth-duo__liste .matth-icone { color: var(--color-secondary); margin-top: 4px; }
.matth-duo__liste strong { display: block; }
.matth-duo__liste span { color: var(--color-text-muted); font-size: 15px; }

/* Tableau de spécifications */
.matth-tableau { width: 100%; border-collapse: collapse; background: var(--color-white); border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-md); overflow: hidden; }
.matth-tableau caption { text-align: left; font-size: 13px; color: var(--color-text-muted); padding-bottom: 12px; }
.matth-tableau th, .matth-tableau td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--color-border); font-size: 15px; }
.matth-tableau thead th { background: var(--color-primary); color: var(--color-white); font-size: 13.5px; letter-spacing: 0.06em; text-transform: uppercase; }
.matth-tableau tbody tr:nth-child(even) { background: var(--color-bg-card-darker); }
.matth-tableau tbody tr:last-child td { border-bottom: 0; }
.matth-tableau__enveloppe { overflow-x: auto; border-radius: var(--matth-rayon-md); }

/* Étapes numérotées verticales */
.matth-etapes { display: grid; gap: 18px; counter-reset: matth-e; }
.matth-etape {
  display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start;
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-md); padding: 26px 28px;
}
.matth-etape__num {
  width: 52px; height: 52px; border-radius: 50%; background: var(--color-primary);
  color: var(--color-secondary); display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 17px;
}
.matth-etape h3 { font-size: 20px; margin-bottom: 10px; }
.matth-etape p { color: var(--color-text-muted); margin: 0; }

/* Conseils */
.matth-conseil {
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-lg); overflow: hidden; display: flex; flex-direction: column;
  transition: var(--matth-transition);
}
.matth-conseil:hover { border-color: var(--color-border-card-hover); transform: translateY(-4px); box-shadow: var(--matth-ombre-douce); }
.matth-conseil__image img { width: 100%; aspect-ratio: 16 / 9.4; object-fit: cover; }
.matth-conseil__image { margin: 0; }
.matth-conseil__corps { padding: 26px 28px 30px; display: flex; flex-direction: column; flex: 1; }
.matth-conseil__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.matth-conseil h3 { font-size: 21px; margin-bottom: 12px; }
.matth-conseil p { color: var(--color-text-muted); font-size: 15.5px; }
.matth-conseil ol { display: grid; gap: 10px; margin: 6px 0 20px; counter-reset: matth-c; }
.matth-conseil ol li { counter-increment: matth-c; display: flex; gap: 11px; font-size: 15px; color: var(--color-text-muted); }
.matth-conseil ol li::before {
  content: counter(matth-c); flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%;
  background: var(--color-bg-card-darker); color: var(--color-primary);
  font-size: 12.5px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center;
}
.matth-conseil__pied { margin-top: auto; }

/* Bandeau d'appel intermédiaire */
.matth-bandeau {
  background: var(--color-primary); color: var(--color-white);
  border-radius: var(--matth-rayon-lg); padding: clamp(28px, 3.4vw, 48px);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 26px;
}
.matth-bandeau h2 { font-size: clamp(24px, 2.6vw, 34px); margin-bottom: 10px; }
.matth-bandeau p { color: rgba(255, 255, 255, 0.7); margin: 0; max-width: 58ch; }
.matth-bandeau__actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ============ 8. FORMULAIRE DE CONTACT ============ */
.matth-contact__grille { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(30px, 4vw, 62px); align-items: start; }
.matth-infos { display: grid; gap: 16px; }
.matth-info {
  display: flex; gap: 16px; align-items: flex-start;
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-md); padding: 22px 24px;
}
.matth-info__icone {
  width: 46px; height: 46px; border-radius: 50%; flex: 0 0 auto;
  background: var(--color-bg-card-darker); color: var(--color-highlight);
  display: inline-flex; align-items: center; justify-content: center;
}
.matth-info h3 { font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 7px; }
.matth-info p { margin: 0; font-size: 17px; font-weight: 700; }
.matth-info small { display: block; font-weight: 500; font-size: 14px; color: var(--color-text-muted); margin-top: 5px; }
.matth-info a:hover { color: var(--color-highlight); }

.matth-horaires { background: var(--color-white); border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-lg); padding: clamp(24px, 2.6vw, 34px); }
.matth-horaires h2 { font-size: 22px; margin-bottom: 8px; }
.matth-horaires__note { font-size: 14px; color: var(--color-text-muted); }
.matth-horaires__liste { display: grid; gap: 2px; margin-top: 20px; }
.matth-horaires__ligne { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px dashed var(--color-border); font-size: 15.5px; }
.matth-horaires__ligne:last-child { border-bottom: 0; }
.matth-horaires__jour { font-weight: 700; }
.matth-horaires__heures { color: var(--color-text-muted); text-align: right; }
.matth-horaires__ligne--ferme .matth-horaires__heures { color: var(--color-danger); font-weight: 700; }
.matth-horaires__ligne--aujourdhui { background: rgba(var(--color-secondary-rgb), 0.09); border-radius: var(--matth-rayon-xs); padding-left: 12px; padding-right: 12px; }

.matth-formulaire {
  background: var(--color-white); border: 1px solid var(--color-border-card);
  border-radius: var(--matth-rayon-lg); padding: clamp(26px, 3vw, 42px);
  box-shadow: var(--matth-ombre-douce);
}
.matth-formulaire h2 { font-size: clamp(24px, 2.4vw, 32px); margin-bottom: 10px; }
.matth-formulaire__intro { color: var(--color-text-muted); margin-bottom: 26px; }
.matth-formulaire__grille { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.matth-champ--large { grid-column: 1 / -1; }
.matth-formulaire .matth-champ label { color: var(--color-text-main); }
.matth-formulaire input[type="text"],
.matth-formulaire input[type="email"],
.matth-formulaire input[type="tel"],
.matth-formulaire select,
.matth-formulaire textarea {
  width: 100%; padding: 14px 16px; border-radius: var(--matth-rayon-xs);
  border: 1px solid var(--color-border-card); background: var(--color-white);
  font-size: 15.5px; transition: var(--matth-transition);
}
.matth-formulaire textarea { min-height: 150px; resize: vertical; }
.matth-formulaire input:focus, .matth-formulaire select:focus, .matth-formulaire textarea:focus {
  border-color: var(--color-border-card-hover); outline: none;
  box-shadow: 0 0 0 4px rgba(var(--color-secondary-rgb), 0.14);
}
.matth-formulaire .matth-champ--erreur input,
.matth-formulaire .matth-champ--erreur select,
.matth-formulaire .matth-champ--erreur textarea { border-color: var(--color-danger); }
.matth-erreur { font-size: 13px; color: var(--color-danger); font-weight: 600; min-height: 0; }
.matth-consentement { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--color-text-muted); }
.matth-consentement input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--color-highlight); flex: 0 0 auto; }
.matth-consentement a { color: var(--color-primary); font-weight: 700; text-decoration: underline; }
.matth-pot { position: absolute; left: -9999px; opacity: 0; height: 0; width: 0; }

.matth-message {
  display: none; gap: 14px; align-items: flex-start; margin-top: 22px;
  padding: 18px 20px; border-radius: var(--matth-rayon-sm); font-size: 15px;
}
.matth-message--visible { display: flex; }
.matth-message--succes { background: rgba(var(--color-secondary-rgb), 0.13); border: 1px solid rgba(var(--color-secondary-rgb), 0.4); }
.matth-message--echec { background: rgba(230, 57, 70, 0.08); border: 1px solid rgba(230, 57, 70, 0.35); color: var(--color-danger); }
.matth-message strong { display: block; margin-bottom: 3px; }

.matth-chargement {
  width: 17px; height: 17px; border-radius: 50%;
  border: 2px solid rgba(0, 26, 22, 0.25); border-top-color: var(--color-dark);
  animation: matth-rotation 700ms linear infinite; display: none;
}
.matth-bouton--charge .matth-chargement { display: inline-block; }
.matth-bouton--charge { pointer-events: none; opacity: 0.75; }
@keyframes matth-rotation { to { transform: rotate(360deg); } }

/* ============ 9. PAGES LÉGALES ============ */
.matth-legal { display: grid; grid-template-columns: 280px 1fr; gap: clamp(30px, 4vw, 62px); align-items: start; }
.matth-legal__sommaire {
  position: sticky; top: 118px; background: var(--color-white);
  border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-md); padding: 24px;
}
.matth-legal__sommaire h2 { font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-text-muted); margin-bottom: 16px; }
.matth-legal__sommaire ol { display: grid; gap: 9px; counter-reset: matth-l; font-size: 14.5px; }
.matth-legal__sommaire a { color: var(--color-text-muted); transition: var(--matth-transition); }
.matth-legal__sommaire a:hover { color: var(--color-primary); }
.matth-legal__contenu { max-width: 80ch; }
.matth-legal__contenu section { padding-bottom: 34px; }
.matth-legal__contenu h2 { font-size: clamp(22px, 2.2vw, 28px); margin: 0 0 16px; }
.matth-legal__contenu h3 { font-size: 18px; margin: 24px 0 10px; }
.matth-legal__contenu p, .matth-legal__contenu li { color: var(--color-text-muted); }
.matth-legal__contenu ul { display: grid; gap: 9px; margin: 0 0 18px; }
.matth-legal__contenu ul li { display: flex; gap: 11px; align-items: flex-start; }
.matth-legal__contenu ul li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--color-secondary); margin-top: 11px; flex: 0 0 auto; }
.matth-legal__maj { display: inline-flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 700; color: var(--color-highlight); background: rgba(var(--color-secondary-rgb), 0.1); padding: 8px 16px; border-radius: var(--matth-pilule); margin-bottom: 26px; }
.matth-legal__maj .matth-icone { width: 16px; height: 16px; }

/* Plan du site */
.matth-plan { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 22px; }
.matth-plan__bloc { background: var(--color-white); border: 1px solid var(--color-border-card); border-radius: var(--matth-rayon-md); padding: 26px 28px; }
.matth-plan__bloc h2 { font-size: 18px; margin-bottom: 16px; }
.matth-plan__bloc ul { display: grid; gap: 10px; font-size: 15px; }
.matth-plan__bloc a { color: var(--color-text-muted); }
.matth-plan__bloc a:hover { color: var(--color-primary); }

/* ============ 10. ADAPTATIONS RESPONSIVES ============ */
@media (max-width: 1180px) {
  .matth-entete__tel { display: none; }
  .matth-nav__lien { padding: 10px 14px; font-size: 14.5px; }
  .matth-secteurs__grille { grid-template-columns: 330px 1fr; }
  .matth-legal { grid-template-columns: 240px 1fr; }
}

@media (max-width: 1024px) {
  .matth-nav { display: none; }
  .matth-burger { display: inline-flex; }
  .matth-processus__liste { grid-template-columns: repeat(2, 1fr); }
  .matth-pied__haut { grid-template-columns: 1fr; }
  .matth-page-heros__interieur { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 900px) {
  body.matth-body { font-size: 16.5px; }
  .matth-heros__rang-bas { grid-template-columns: 1fr; align-items: start; }
  .matth-heros__chiffres { flex-direction: row; flex-wrap: wrap; gap: 14px 28px; }
  .matth-apropos__grille,
  .matth-efficacite__grille,
  .matth-secteurs__grille,
  .matth-calcul__grille,
  .matth-avis__grille,
  .matth-faq__grille,
  .matth-contact__grille,
  .matth-duo,
  .matth-legal { grid-template-columns: 1fr; }
  .matth-duo--inverse .matth-duo__visuel { order: 0; }
  .matth-efficacite__visuels { position: relative; top: auto; aspect-ratio: 16 / 10; }
  .matth-faq__entete, .matth-legal__sommaire { position: relative; top: auto; }
  .matth-apropos__encart { position: relative; right: auto; bottom: auto; margin-top: 18px; max-width: none; }
  .matth-projets__grille { grid-template-columns: 1fr; }
  .matth-cta__interieur { grid-template-columns: 1fr; }
  .matth-avis__carrousel { min-height: 400px; }
  .matth-formulaire__grille { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  :root { --matth-gouttiere: 18px; }
  .matth-heros__interieur, .matth-cta__interieur, .matth-page-heros__interieur { border-radius: var(--matth-rayon-lg); }
  .matth-comparatif__tete { display: none; }
  .matth-comparatif__ligne { grid-template-columns: 1fr; }
  .matth-comparatif__cellule { padding: 14px 18px; }
  .matth-comparatif__cellule--label { background: var(--color-bg-card-darker) !important; }
  .matth-comparatif__cellule--reseau,
  .matth-comparatif__cellule--solaire { flex-direction: row; justify-content: space-between; align-items: center; }
  .matth-comparatif__cellule--reseau::before,
  .matth-comparatif__cellule--solaire::before {
    content: attr(data-matth-libelle); font-size: 13px; font-weight: 700; color: var(--color-text-muted);
  }
  .matth-processus__liste { grid-template-columns: 1fr; }
  .matth-pied__colonnes { grid-template-columns: 1fr; gap: 30px; }
  .matth-cookies__contenu { flex-direction: column; align-items: stretch; gap: 16px; }
  .matth-cookies__actions .matth-bouton { flex: 1; }
  .matth-etape { grid-template-columns: 1fr; gap: 14px; }
  .matth-avis__carrousel { min-height: 470px; }
  .matth-cta__chiffres { grid-template-columns: 1fr 1fr; }
  .matth-entete__actions .matth-bouton--principal { display: none; }
}

@media (max-width: 520px) {
  .matth-heros__titre { font-size: clamp(38px, 13vw, 60px); }
  .matth-heros__actions .matth-bouton, .matth-cta__actions .matth-bouton { width: 100%; }
  .matth-projet__stats { grid-template-columns: 1fr; gap: 10px; }
  .matth-avis__carrousel { min-height: 560px; }
  .matth-diapo__badge { padding: 11px 14px; }
  .matth-diapo__badge strong { font-size: 23px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

@media print {
  .matth-entete, .matth-pied, .matth-cookies, .matth-haut, .matth-menu-mobile { display: none !important; }
  body.matth-body { font-size: 12pt; }
}
