/* Convergence — feuille de styles reconstruite à iso-design */

@font-face { font-family: "Cormorant Garamond"; src: url("assets/fonts/CormorantGaramond-Variable-subset.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }

@font-face { font-family: Montserrat; src: url("assets/fonts/Montserrat-Variable-subset.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }

/* TOKENS */
:root {
  --ink: #12213d;
  --master-background: #12213d;
  --ink-soft: #2d4f6c;
  --content-ink: #12213d;
  --body-copy-blue: #233A68;
  --cv-body-ink: var(--body-copy-blue);
  --agri-background: #173a32;
  --green: #163f39;
  --green-soft: #255647;
  --ivory: #f5f2eb;
  --ivory-agri: color-mix(in srgb, var(--ivory) 97.5%, var(--ink) 2.5%);
  --ivory-deep: #ece6da;
  --paper: #fbf9f4;
  --gold: #bd8e31;
  --charcoal: #252c31;
  --muted: #667070;
  --line: rgba(18, 33, 61, 0.16);
  --shadow: 0 24px 80px rgba(18, 33, 61, 0.12);
  --serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans: "Montserrat", "Open Sans", "Segoe UI", Arial, sans-serif;
  --font-size-body: 16px;
  --line-height-body: 1.66;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --tracking-eyebrow: 0.17em;
  --type-hero: clamp(48px, 5vw, 76px);
  --type-section: clamp(36px, 3.8vw, 54px);
  --type-card: clamp(23px, 2.1vw, 31px);
  --type-principle: clamp(24px, 2.3vw, 34px);
  --measure-copy: 72ch;
  --space-section: clamp(82px, 9vw, 128px);
  --space-container-gutter: 48px;
  --container: min(1180px, calc(100% - var(--space-container-gutter)));
  --header-h: 92px;
  --radius-control: 0;
  --z-content: 1;
  --z-header: 100;
  --z-overlay: 1000;
  --transition-fast: 0.2s;
  --transition-standard: 0.25s;
}

/* GLOBAL SECTION MARKERS */
.section-kicker {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  margin: 0;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-align: left;
  text-transform: uppercase;
}

.section-kicker::before {
  width: 34px;
  height: 1px;
  flex: 0 0 auto;
  background: currentcolor;
  content: "";
}

.section-kicker + h1,
.section-kicker + h2,
.section-kicker + .home-v112-approach-title {
  margin-top: clamp(28px, 2.5vw, 40px);
}

/* GLOBAL PRIMARY PROJECT CTA */
.primary-project-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 62px;
  padding: 18px 42px;
  border: 1px solid var(--ivory);
  border-radius: 0;
  color: var(--ink);
  background: var(--ivory);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.primary-project-cta::after {
  content: none;
}

.primary-project-cta:hover {
  color: var(--ivory);
  background: transparent;
  border-color: rgba(245, 242, 235, 0.65);
  transform: translateY(-2px);
}

.primary-project-cta:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* RESET, BASE AND TYPOGRAPHY */
* {
  box-sizing: border-box;
}

body {
  margin: 0px;
  color: var(--charcoal);
  background: var(--ivory);
  font-family: var(--sans);
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  text-rendering: optimizelegibility;
}

body.menu-open {
  overflow: hidden;
}

img,
svg {
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

h1,
h2,
h3 {
  margin: 0px;
  color: var(--content-ink);
  font-family: var(--serif);
  font-weight: 400;
  line-height: 1.08;
}

h1 {
  font-size: clamp(44px, 5vw, 72px);
  letter-spacing: -0.035em;
}

h2 {
  font-size: clamp(34px, 3.8vw, 52px);
  letter-spacing: -0.025em;
}

h3 {
  font-size: clamp(22px, 2.1vw, 30px);
}

body[data-page="offre"] .offer-v2-hero::after {
  display: none;
}

body[data-page="offre"] .offer-core-section {
  background: var(--ivory);
}

body[data-page="offre"] .offer-final-cta-section {
  padding: clamp(56px, 6vw, 88px) 0px;
  color: var(--ivory);
  background: var(--master-background);
}

body[data-page="offre"] .offer-final-cta {
  max-width: 980px;
  margin: 0px auto;
  padding-top: clamp(36px, 4vw, 54px);
  border-top: 1px solid rgba(245, 242, 235, 0.14);
  text-align: center;
}

body[data-page="offre"] .offer-final-cta p {
  max-width: 760px;
  margin: 22px auto 0px;
  color: rgba(245, 242, 235, 0.74);
  font-size: 17px;
}

body[data-page="offre"] .offer-final-cta .button-row {
  justify-content: center;
  margin-top: 40px;
}

/* LAYOUT */
.container {
  width: var(--container);
  margin-inline: auto;
}

body[data-page="methode"] .method-v2-intro h2 {
  max-width: 820px;
  color: var(--content-ink);
  font-size: clamp(29px, 3.2vw, 44px);
  font-weight: 400;
  text-transform: none;
}

body[data-page="methode"] .method-v2-progress .method-line {
  margin-top: 16px;
  padding-top: 34px;
  padding-bottom: 0px;
}

body[data-page="methode"] .method-v2-progress .method-line::after {
  content: none;
}

body[data-page="methode"] .method-v2-progress .method-step {
  min-width: 0px;
  min-height: 190px;
  padding: 0px clamp(10px, 1.5vw, 18px);
  text-align: center;
}

body[data-page="methode"] .method-v2-progress .method-step h3 {
  max-width: 200px;
  margin: 28px auto 12px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: clamp(18px, 1.55vw, 21px);
  font-weight: 500;
  line-height: 1.25;
}

body[data-page="methode"] .method-v2-principles {
  padding: clamp(30px, 2.8vw, 40px) 0px;
  color: var(--ivory);
  background: var(--master-background);
}

body[data-page="methode"] .method-v2-principles-heading {
  max-width: 900px;
}

body[data-page="methode"] .method-v2-principles .principle {
  min-height: 0px;
  padding: 0px clamp(26px, 2.6vw, 42px);
}

body[data-page="methode"] .method-v2-principles .principle:first-child {
  padding-left: 0px;
}

body[data-page="methode"] .method-v2-principles .principle:last-child {
  padding-right: 0px;
}

body[data-page="methode"] .method-v2-principles .principle + .principle {
  border-left: 1px solid rgba(245, 242, 235, 0.22);
}

body[data-page="methode"] .method-v2-principles .principle h3 {
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(19px, 1.6vw, 23px);
  font-weight: 500;
  line-height: 1.3;
  text-transform: none;
}

body[data-page="methode"] .method-v2-principles .principle p {
  margin: 14px 0px 0px;
  color: rgba(245, 242, 235, 0.8);
  font-size: 16px;
  line-height: 1.7;
}

body[data-page="methode"] .method-v2-cases .cases {
  gap: 24px;
}

body[data-page="methode"] .method-v2-cases .case-conclusion {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(245, 242, 235, 0.2);
}

body[data-page="methode"] .method-v2-cases .case-conclusion strong {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}


body[data-page] .site-header {
  min-height: 118px;
  transition: min-height 0.2s ease-out, border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}

body[data-page] .site-header .brand {
  width: 400px;
  transition: width 0.2s ease-out;
}

body[data-page] .site-header.is-scrolled {
  min-height: 76px;
}

body[data-page] .site-header.is-scrolled .brand {
  width: 333px;
}

body[data-page="accueil"] .home-v2-hero {
  position: relative;
  overflow: hidden;
  min-height: calc(92svh - 108px);
  padding: clamp(22px, 1.8vw, 28px) 0px clamp(46px, 4.5vw, 62px);
  color: var(--ivory);
  background-color: var(--master-background);
  background-image: none;
}

/* V11.8 — fond hero maître plat + visuel filaire restauré en surimpression */

body[data-page="accueil"] .home-v2-hero .container {
  position: relative;
  z-index: 2;
  width: calc(100% - 96px);
}

body[data-page="accueil"] .home-v11-hero-layout {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 1200px;
}

body[data-page="accueil"] .home-v6-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 42px 0 0;
  color: var(--gold);
  font-family: var(--sans);
  font-size: clamp(15px, 1.15vw, 18px);
  font-weight: 600;
  letter-spacing: var(--tracking-eyebrow);
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="accueil"] .home-v6-hero-eyebrow::before {
  width: 42px;
  height: 1px;
  flex: 0 0 auto;
  background: currentcolor;
  content: "";
}

body[data-page="accueil"] .home-v2-hero h1 {
  max-width: none;
  color: var(--ivory);
  font-size: clamp(2.75rem, 4.45vw, 4.5rem);
  font-weight: 500;
  letter-spacing: -0.032em;
  line-height: 0.92;
}

body[data-page="accueil"] .home-v2-markers {
  display: grid;
  gap: 9px;
  max-width: 640px;
  margin: 30px 0px 0px;
  padding: 0px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(1.05rem, 1.15vw, 1.25rem);
  font-weight: 600;
  line-height: 1.35;
  list-style: none;
}

body[data-page="accueil"] .home-v2-situations-section {
  padding: clamp(48px, 5vw, 72px) 0 0;
  color: var(--content-ink);
  background: var(--ivory);
}

body[data-page="accueil"] .home-v2-situations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

body[data-page="accueil"] .home-v2-situation {
  min-height: 390px;
  padding: 48px 38px 52px;
}

body[data-page="accueil"] .home-v2-situation + .home-v2-situation {
  border-left: 1px solid var(--line);
}

body[data-page="accueil"] .home-v2-situation h2 {
  color: var(--content-ink);
  font-size: clamp(1.18rem, 1.6vw, 1.45rem);
  font-weight: 500;
  line-height: 1.22;
}

body[data-page="accueil"] .home-v2-situation p {
  max-width: 70ch;
  margin: 0px;
  color: var(--content-ink);
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  font-weight: 400;
  line-height: 1.55;
}

body[data-page="accueil"] .home-v2-case-link {
  display: inline-block;
  margin-top: 28px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(18, 33, 61, 0.25);
  color: var(--muted);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

body[data-page="accueil"] .home-v2-case-link:hover,
body[data-page="accueil"] .home-v2-case-link:focus-visible {
  color: var(--gold);
  border-color: var(--gold);
}

body[data-page="offre"] .offer-governance-section {
  background: var(--master-background);
}

body[data-page="offre"] .offer-governance {
  padding: 0px;
}

body[data-page="offre"] .offer-final-cta h2 {
  color: var(--ivory);
  font-size: clamp(33px, 3.5vw, 47px);
  font-weight: 500;
  text-transform: none;
}

body[data-page="accueil"] .home-v2-hero::before,
body[data-page="accueil"] .home-v2-hero::after {
  content: none;
}


body[data-page="accueil"] .home-v2-title-line {
  display: block;
}

body[data-page="accueil"] .home-v2-markers li {
  position: relative;
  padding-left: 20px;
}

body[data-page="accueil"] .home-v2-markers li::before {
  position: absolute;
  top: 0.68em;
  left: 0px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ivory);
  content: "";
}

body[data-page="offre"] .offer-agri-section {
  background: var(--agri-background);
  color: var(--ivory);
}

body[data-page="offre"] .offer-territorial-section {
  padding-top: clamp(34px, 3.4vw, 50px);
  padding-bottom: clamp(36px, 3.4vw, 50px);
  background: var(--ivory);
}

body[data-page="methode"] .method-v2-intro {
  grid-template-columns: minmax(0px, 0.95fr) minmax(0px, 1.05fr);
  align-items: end;
  display: block;
}

body[data-page="methode"] .method-v2-intro h2,
body[data-page="methode"] .method-v2-principles-heading,
body[data-page="methode"] .method-v2-principles-heading h2 {
  max-width: none;
}

body[data-page="methode"] .method-v2-intro .lead {
  margin: 28px 0px 0px;
  max-width: 920px;
  color: var(--content-ink);
  font-weight: 500;
}

body[data-page="methode"] .method-v2-principles-heading h2 {
  color: var(--ivory);
  font-size: clamp(29px, 2.55vw, 36px);
  font-weight: 400;
  text-transform: none;
}

body[data-page="methode"] .method-v2-cases .method-v2-intro h2 {
  max-width: none;
  font-size: clamp(26px, 2.65vw, 37px);
  line-height: 1.15;
  text-transform: none;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--sticky-header-height, var(--header-h)) + 16px);
}

/* --- V11.2 : système topographique à référentiel unique ------------------
   Le PNG et le SVG animé partagent le MÊME conteneur (.home-v112-topo-frame),
   le même cadrage, les mêmes dimensions, le même miroir et la même
   respiration. Aucune transformation propre n'est appliquée séparément. */
body[data-page="accueil"] .home-v112-topo {position:absolute;inset:0px;z-index:0;overflow:hidden;pointer-events:none}
body[data-page="accueil"] .home-v112-topo-frame {--topo-top:18px;--topo-left:50%;--topo-shift:-50%;--topo-width:104%;--topo-height:180%;position:absolute;top:var(--topo-top);left:var(--topo-left);width:var(--topo-width);height:var(--topo-height);background:transparent;isolation:isolate;transform:translateX(var(--topo-shift)) scaleX(-1);transform-origin:50% 50%;animation:22s ease-in-out 0s infinite normal none running convergence-topography-breathe;will-change:transform}
body[data-page="accueil"] .home-v112-topo-frame img {position:absolute;inset:0px;width:100%;max-width:none;height:100%;object-fit:fill}
body[data-page="accueil"] .home-v112-topo-map {z-index:0}
body[data-page="accueil"] .home-v112-topo-motion {display:block;z-index:1}
body[data-page="accueil"] .home-v112-topo-still {display:none}

.principle-statement {
  max-width: var(--measure-copy);
  padding: clamp(24px, 3vw, 34px) 0px;
  border-top: 1px solid currentcolor;
  border-bottom: 1px solid currentcolor;
  font-family: var(--serif);
  font-size: var(--type-principle);
  line-height: 1.36;
}

body[data-page="accueil"] .home-v2-target {
  max-width: 920px;
  margin: 0px;
  color: rgba(245, 242, 235, 0.88);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.55;
}

body[data-page="accueil"] .home-v11-audiences {
  margin-top: 40px;
}

body[data-page="accueil"] .home-v7-target-secondary {
  margin: 8px 0 0;
}

body[data-page="offre"] .offer-v2-hero {
  padding: 36px 0px 58px;
}

body[data-page="offre"] .offer-agri-overview {
  display: grid;
  gap: 30px;
}

body[data-page="offre"] .offer-agri-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.533 / 1;
  object-fit: cover;
}

body[data-page="offre"] .offer-agri-lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0px, 1fr));
  gap: clamp(42px, 7vw, 86px);
  margin-top: clamp(30px, 3.5vw, 44px);
  padding: 0px;
}




body[data-page="methode"] .method-v2-progress .method-dot {
  position: relative;
  z-index: 2;
  display: block;
  width: auto;
  height: auto;
  margin: 0px;
  border: 0px;
  color: var(--content-ink);
  background: transparent;
  box-shadow: none;
  font-family: var(--sans);
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
}

body[data-page="methode"] .method-v2-progress .method-dot::after {
  position: absolute;
  left: 50%;
  bottom: -24px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ink);
  content: "";
  transform: translateX(-50%);
}

body[data-page="methode"] .method-v2-progress .method-step p {
  max-width: 205px;
  margin: 0px auto;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 450;
  line-height: 1.6;
}

body[data-page="methode"] .method-v2-principles .principle p {
  font-size: 16px;
}

body[data-page="methode"] .method-v5-process-caption {
  max-width: min(42em, 100%);
  margin: 44px auto 0;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(28px, 2.1vw, 30px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}

body[data-page="methode"] .method-v5-accordions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0px;
  margin-top: 42px;
  border-top: 1px solid var(--line);
}

body[data-page="methode"] .case-accordion {
  border-bottom: 1px solid var(--line);
}

body[data-page="methode"] .case-accordion h3 {
  margin: 0px;
}

body[data-page="methode"] .case-accordion-toggle {
  display: grid;
  width: 100%;
  min-height: 106px;
  padding: 30px 0px;
  grid-template-columns: minmax(110px, 0.22fr) minmax(300px, 0.82fr) minmax(260px, 1fr) auto;
  gap: clamp(24px, 3.2vw, 48px);
  align-items: start;
  border: 0px;
  color: var(--content-ink);
  text-align: left;
  background: transparent;
  cursor: pointer;
}

body[data-page="methode"] .method-v11-case-decision {
  padding-top: 5px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.14em;
}

body[data-page="methode"] .case-accordion-title {
  font-family: var(--serif);
  font-size: clamp(25px, 2.05vw, 30px);
  font-weight: 500;
  line-height: 1.15;
  text-transform: none;
}

body[data-page="methode"] .method-v11-case-preview {
  max-width: 58ch;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.65;
}

body[data-page="methode"] .case-accordion-command {
  margin-top: 6px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body[data-page="methode"] .case-accordion-toggle[aria-expanded="true"] .method-v11-case-preview {
  display: none;
}

body[data-page="methode"] .case-accordion-toggle[aria-expanded="true"] {
  grid-template-columns: minmax(110px, 0.22fr) minmax(0, 1fr) auto;
}

body[data-page="methode"] .case-accordion-toggle:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 6px;
}

body[data-page="methode"] .case-accordion-panel {
  padding: 0px 0px 32px;
  color: var(--charcoal);
}

body[data-page="methode"] .case-accordion-panel[hidden] {
  display: none;
}

body[data-page="methode"] .case-accordion-panel p {
  max-width: 980px;
  margin: 0px 0px 20px;
  font-size: 16px;
  line-height: 1.68;
}

body[data-page="methode"] .case-accordion-panel .case-conclusion {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

body[data-page="methode"] .case-accordion-panel .case-conclusion strong {
  display: block;
  margin-bottom: 7px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}






.page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 9vw, 110px) 0px clamp(64px, 8vw, 96px);
  color: var(--ivory);
  background: var(--master-background);
}

.page-hero::after {
  content: "";
  position: absolute;
  right: -10vw;
  top: 14%;
  width: min(850px, 60vw);
  aspect-ratio: 4 / 1;
  background: url("assets/homepage-flow-lines.svg") center center / 100% 100% no-repeat;
  opacity: 0.45;
  transform: rotate(-4deg);
}

.page-hero h1 {
  max-width: 920px;
  color: var(--ivory);
}

.page-hero .lead {
  margin: 34px 0px 0px;
  color: rgba(245, 242, 235, 0.74);
}

.cases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: start;
  margin-top: 60px;
}

.disclaimer {
  max-width: 900px;
  margin: 76px 0px 0px;
  padding: 22px 26px;
  border-left: 1px solid var(--gold);
  color: var(--muted);
  font-size: 14px;
}

.cta-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(58px, 7vw, 96px);
  color: var(--ivory);
  background: var(--master-background);
}

.cta-panel::after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -90px;
  width: 550px;
  height: 390px;
  background: url("assets/convergence-lines.svg") center center / contain no-repeat;
  filter: invert(1);
  opacity: 0.3;
}

.cta-panel > * {
  position: relative;
  z-index: 1;
}

.cta-panel h2 {
  max-width: 820px;
  color: var(--ivory);
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.75s, transform 0.75s;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.delay-1 {
  transition-delay: 0.1s;
}

.delay-2 {
  transition-delay: 0.2s;
}

[id] {
  scroll-margin-top: calc(var(--sticky-header-height, var(--header-h)) + 16px);
}

/* HEADER (source de vérité unique) */
.skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: var(--z-overlay);
  padding: 10px 14px;
  background: var(--paper);
  color: var(--ink);
  transform: translateY(-150%);
  transition: transform var(--transition-fast);
}

.skip-link:not(:focus):not(:focus-visible) {
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  transform: none;
}

.skip-link:focus,
.skip-link:focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1000;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px 14px;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  transform: none;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: var(--z-header);
  min-height: var(--header-h);
  background: rgba(245, 242, 235, 0.94);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(14px);
  transition: min-height 0.3s, border-color 0.3s, box-shadow 0.3s;
  isolation: isolate;
}

.site-header.is-scrolled {
  min-height: 84px;
  border-color: var(--line);
  box-shadow: rgba(18, 33, 61, 0.05) 0px 10px 30px;
}

.site-header + main {
  position: relative;
  z-index: 0;
}

.header-inner {
  width: var(--container);
  min-height: inherit;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.brand {
  display: inline-flex;
  width: 400px;
  max-width: 44vw;
  flex: 0 1 auto;
}

.brand img {
  display: block;
  width: 100%;
  height: auto;
}

.nav-list {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.nav-list a {
  position: relative;
  display: inline-block;
  padding: 10px 0;
  color: var(--ink);
  text-decoration: none;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.nav-list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 4px;
  height: 1px;
  background: var(--gold);
  transition: right var(--transition-standard);
}

.nav-list a:hover::after,
.nav-list a[aria-current="page"]::after {
  right: 0;
}

.nav-list .nav-contact {
  padding: 10px 16px;
  border: 1px solid rgba(18, 33, 61, 0.35);
}

.nav-list .nav-contact::after {
  display: none;
}

.nav-list .nav-contact:hover {
  border-color: var(--gold);
  background: rgba(189, 142, 49, 0.06);
}

.menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--ink);
  padding: 8px;
}

.menu-toggle span {
  display: block;
  width: 26px;
  height: 1px;
  margin: 6px 0;
  background: currentcolor;
  transition: transform var(--transition-standard), opacity var(--transition-standard);
}


/* FOOTER */
.site-footer {
  padding: 34px 0 18px;
  color: rgba(245, 242, 235, 0.76);
  background: var(--master-background);
}

.footer-inner {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(0, 1.25fr) auto;
  align-items: start;
  gap: clamp(24px, 4vw, 64px);
}

.footer-brand-title {
  color: var(--ivory);
  font-family: var(--serif);
  font-size: 20px;
  letter-spacing: 0.12em;
}

.footer-brand-sub {
  margin-top: 5px;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

.footer-title {
  margin: 0 0 10px;
  color: var(--gold);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-links a {
  text-decoration: none;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--ivory);
}

.footer-links a:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

.footer-copyright {
  margin: 2px 0 0;
  color: rgba(245, 242, 235, 0.5);
  font-size: 12px;
  white-space: nowrap;
}

@media (max-width: 800px) {
.footer-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }

.footer-links {
    gap: 7px 18px;
  }

.footer-copyright {
    padding-top: 14px;
    border-top: 1px solid rgba(245, 242, 235, 0.13);
  }
}

/* PAGE: MÉTHODE */
.method-line {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.method-line::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 10%;
  right: 10%;
  top: 68px;
  height: 1.75px;
  background: var(--ink);
}

.method-step {
  position: relative;
}

.method-return-loop {
  position: absolute;
  z-index: 0;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 130px;
  overflow: visible;
  pointer-events: none;
}

.method-return-loop path {
  fill: none;
  stroke: rgba(18, 33, 61, 0.5);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.5;
  stroke-dasharray: 6 6;
  vector-effect: non-scaling-stroke;
}

.method-return-loop .method-return-arrow {
  stroke-width: 1.25;
  stroke-dasharray: none;
}

.method-v11-steps-svg {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 50px auto 0;
}

.method-v11-steps-legends {
  display: grid;
  grid-template-columns: repeat(5, 20%);
  width: 103.9773%;
  margin-left: -1.9124%;
  margin-top: 26px;
}

.method-v11-legend {
  margin: 0;
  padding: 0 clamp(6px, 0.8vw, 14px);
  text-align: center;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: clamp(13px, 0.4vw + 11px, 16px);
  line-height: 1.5;
}

body[data-page="methode"] .method-v2-progress {
  overflow-x: clip;
  padding-bottom: 65px;
}

@media (max-width: 800px) {
  .method-v11-steps-svg {
    margin-top: 28px;
  }

  .method-v11-steps-legends {
    grid-template-columns: 1fr;
    width: 100%;
    margin-left: 0;
    margin-top: 22px;
    row-gap: 14px;
  }
}

.principles {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0px;
  margin-top: clamp(24px, 2.2vw, 30px);
}

.principle {
  min-height: 0px;
  padding: 0px;
  background: transparent;
}

.principle h3 {
  margin-top: 0px;
  font-size: 22px;
}

/* PAGE: CONTACT */
.contact-form {
  padding: clamp(28px, 4vw, 48px);
  background: var(--paper);
  box-shadow: var(--shadow);
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.field {
  margin-bottom: 24px;
}

.field label {
  display: block;
  margin-bottom: 8px;
  color: var(--content-ink);
  font-size: 13px;
  font-weight: 700;
}

.field input,
.field textarea {
  width: 100%;
  padding: 15px 0px;
  color: var(--charcoal);
  background: transparent;
  border-width: 0px 0px 1px;
  border-style: none none solid;
  border-color: currentcolor currentcolor rgba(18, 33, 61, 0.28);
  border-image: none;
  border-radius: var(--radius-control);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.field textarea {
  min-height: 150px;
  resize: vertical;
}

.field input:focus,
.field textarea:focus {
  border-color: var(--gold);
  box-shadow: 0 1px 0 var(--gold);
}

.field input[aria-invalid="true"],
.field textarea[aria-invalid="true"] {
  border-color: rgb(156, 58, 47);
}

.form-status {
  display: none;
  margin-top: 22px;
  padding: 16px 18px;
  color: var(--green);
  background: rgba(37, 86, 71, 0.09);
  border-left: 2px solid var(--green);
}

.form-status.is-visible {
  display: block;
}

body[data-page="contact"] .contact-v2-hero {
  padding: 48px 0 56px;
}

/* Hero Contact : fond bleu uni, sans lignes ni motifs courbes */
body[data-page="contact"] .contact-v2-hero::after {
  content: none;
}

body[data-page="contact"] .contact-v2-hero h1 {
  max-width: 820px;
  font-size: clamp(50px, 5.5vw, 74px);
}

body[data-page="contact"] .contact-v2-hero .lead {
  max-width: 840px;
  margin-top: 30px;
  color: rgba(245, 242, 235, 0.76);
  font-size: clamp(18px, 1.65vw, 22px);
  line-height: 1.65;
}

body[data-page="contact"] .contact-v2-section {
  padding: clamp(44px, 4.5vw, 64px) 0 clamp(72px, 7.5vw, 100px);
  background: var(--paper);
}

body[data-page="contact"] .contact-v2-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.86fr) minmax(0, 1fr);
  gap: clamp(44px, 5vw, 76px);
  align-items: start;
}

body[data-page="contact"] .contact-v2-form-wrap,
body[data-page="contact"] .contact-v2-direct {
  padding-top: 42px;
  border-top: 1px solid var(--line);
}

body[data-page="contact"] .contact-v2-direct h2 {
  max-width: 360px;
  margin: 0;
  font-size: clamp(32px, 3.3vw, 44px);
  line-height: 1.08;
}

body[data-page="contact"] .contact-v2-direct-links {
  display: grid;
  margin-top: 26px;
}

body[data-page="contact"] .contact-v2-direct-links a {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 13px 0;
  color: var(--content-ink);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body[data-page="contact"] .contact-v2-direct-links a:hover,
body[data-page="contact"] .contact-v2-direct-links a:focus-visible {
  color: var(--gold);
}

/* Formulaire Contact : présentation sobre et éditoriale, sans effet de carte ni ombre */
body[data-page="contact"] .contact-v2-form {
  display: grid;
  gap: 26px;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

body[data-page="contact"] .contact-v2-form .field-row {
  gap: 28px;
}

body[data-page="contact"] .contact-v2-form .field {
  gap: 11px;
}

body[data-page="contact"] .contact-v2-form label {
  color: var(--content-ink);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.035em;
}

body[data-page="contact"] .contact-v2-form input,
body[data-page="contact"] .contact-v2-form textarea {
  min-height: 56px;
  border-color: rgba(18, 33, 61, 0.22);
  background: rgba(255, 255, 255, 0.42);
  font-size: 16px;
}

body[data-page="contact"] .contact-v2-form textarea {
  min-height: 180px;
  resize: vertical;
}

body[data-page="contact"] .contact-v2-form input:focus,
body[data-page="contact"] .contact-v2-form textarea:focus {
  outline: 2px solid rgba(196, 139, 24, 0.38);
  outline-offset: 2px;
  border-color: var(--gold);
}

body[data-page="contact"] .contact-v2-help {
  max-width: 680px;
  margin: -1px 0 2px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

body[data-page="contact"] .contact-v2-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 34px;
  margin-top: 4px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

body[data-page="contact"] .contact-v2-actions .button {
  flex: 0 0 auto;
}

body[data-page="contact"] .contact-v2-response-note {
  max-width: 430px;
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}

body[data-page="contact"] .contact-v2-privacy {
  margin: -8px 0 0;
  color: rgba(69, 75, 85, 0.74);
  font-size: 12px;
  line-height: 1.55;
}

body[data-page="contact"] .form-status {
  margin-top: -4px;
  padding: 14px 16px;
  border-left: 2px solid var(--gold);
  color: var(--muted);
  background: rgba(196, 139, 24, 0.06);
}

/* ANIMATIONS */
/* RESPONSIVE AND ACCESSIBILITY */

@media (min-width: 801px) {
body[data-page] .header-inner {
    gap: clamp(18px, 2vw, 28px);
  }

body[data-page] .nav-list {
    gap: clamp(14px, 1.7vw, 24px);
  }

body[data-page] .nav-list a {
    white-space: nowrap;
  }

body[data-page="accueil"] .home-v2-reading-heading {
    max-width: 1220px;
    font-size: clamp(30px, 2.45vw, 34px);
    text-align: center;
  }

body[data-page="accueil"] .home-v5-quote-conditions,
body[data-page="accueil"] .home-v5-quote-conclusion {
    display: block;
  }

body[data-page="accueil"] .home-v5-quote-conclusion::before {
    content: none;
  }

body[data-page="accueil"] .home-v5-quote-conclusion {
    margin-top: 10px;
  }

  body[data-page="offre"] .offer-v2-hero,


body[data-page="offre"] .offer-agri-overview {
    /* Colonne de gauche élargie (~790 px à 1440) pour tenir le titre sur une ligne. */
    grid-template-columns: minmax(0px, 2.45fr) minmax(300px, 1fr);
    gap: clamp(32px, 4vw, 58px);
    align-items: start;
  }

body[data-page="offre"] .offer-agri-image {
    /* Correctif B : hauteur affichée réduite d'environ 20 % via object-fit: cover,
       sans déformation (le cadrage recadre, le ratio source est inchangé). */
    aspect-ratio: 1.625 / 1;
  }

body[data-page="offre"] .offer-agri-lists {
    margin-top: 18px;
  }




body[data-page="methode"] .method-v5-process-caption {
    margin-top: 44px;
  }

body[data-page="methode"] .case-accordion-command {
    margin: 0px;
  }

body[data-page="methode"] .case-accordion-title {
    font-size: clamp(25px, 2.05vw, 30px);
  }




body[data-page="genese"] .genese-progression {
    padding: 28px 0px clamp(88px, 9vw, 128px);
  }

body[data-page="genese"] .genese-step h2 {
    font-size: clamp(34px, 3.1vw, 46px);
  }

body[data-page="genese"] .genese-step-copy > p {
    font-size: 17px;
  }

body[data-page="genese"] .genese-step-copy > p.genese-principle {
    font-size: clamp(22px, 2vw, 27px);
  }




body[data-page="methode"] .case-accordion-toggle {
    grid-template-columns: minmax(110px, 0.22fr) minmax(300px, 0.82fr) minmax(260px, 1fr) auto;
    gap: clamp(24px, 3.2vw, 48px);
    align-items: start;
    min-height: 130px;
  }

body[data-page="methode"] .case-accordion-panel {
    padding: 8px 0px 42px;
  }

body[data-page="genese"] .genese-step {
    padding: clamp(68px, 7vw, 92px) 0px;
    display: grid;
    grid-template-columns: minmax(250px, 0.58fr) minmax(0px, 1fr);
    gap: clamp(64px, 8vw, 116px);
    align-items: start;
  }
}

@media (min-width: 801px) and (max-width: 1040px) {
body[data-page] .site-header .brand {
    width: 400px;
  }

body[data-page] .site-header.is-scrolled .brand {
    width: 305px;
  }
}

@media (min-width: 1041px) {
body[data-page] .site-header {
    min-height: 132px;
  }

body[data-page] .site-header .brand {
    width: 470px;
  }

body[data-page] .site-header.is-scrolled {
    min-height: 76px;
  }

body[data-page] .site-header.is-scrolled .brand {
    width: 340px;
  }
}

@media (max-width: 1040px) {
:root {
    --container: min(100% - 40px, 900px);
  }

.brand {
    width: 350px;
  }

.nav-list {
    gap: 18px;
  }

.nav-list a {
    font-size: 11px;
  }




body[data-page="offre"] .offer-agri {
    grid-template-columns: 1fr;
    gap: 42px;
  }

body[data-page="methode"] .method-v2-cases .cases {
    grid-template-columns: 1fr;
  }

body[data-page] .site-header .brand {
    width: 350px;
  }

body[data-page] .site-header.is-scrolled .brand {
    width: 292px;
  }body[data-page="accueil"] .home-v2-agri,
body[data-page="accueil"] .home-v2-final-content {
    gap: 48px;
  }
}

@media (max-width: 980px) {
body[data-page="contact"] .contact-v2-layout {
    grid-template-columns: 1fr;
    gap: 64px;
  }

body[data-page="contact"] .contact-v2-direct {
    min-height: 150px;
  }
}

@media (max-width: 900px) {
body[data-page="accueil"] .home-v2-situations {
    grid-template-columns: 1fr;
  }

body[data-page="accueil"] .home-v2-situation {
    min-height: 0px;
    padding: 38px 0px;
  }

body[data-page="accueil"] .home-v2-situation + .home-v2-situation {
    border-top: 1px solid rgba(245, 242, 235, 0.18);
    border-left: 0px;
  }body[data-page="accueil"] .home-v2-agri,
body[data-page="accueil"] .home-v2-final-content {
    grid-template-columns: 1fr;
  }

body[data-page="offre"] .offer-v7-details,
body[data-page="offre"] .offer-v7-territorial-copy,
body[data-page="offre"] .offer-governance .offer-v7-governance-grid {
    grid-template-columns: 1fr;
  }

body[data-page="offre"] .offer-v7-details {
    gap: 34px;
    padding-left: 0px;
  }

body[data-page="offre"] .offer-v11-preview {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-left: 0px;
  }

body[data-page="offre"] .offer-v7-group + .offer-v7-group {
    padding-top: 34px;
    border-top: 1px solid var(--line);
  }

body[data-page="offre"] .offer-agri .offer-v7-group + .offer-v7-group {
    border-color: rgba(245, 242, 235, 0.24);
  }

body[data-page="offre"] .offer-v7-territorial-copy {
    gap: 34px;
  }

body[data-page="offre"] .offer-governance .offer-v7-governance-grid article {
    padding-right: 0px;
    padding-left: 0px;
  }

body[data-page="offre"] .offer-governance .offer-v7-governance-grid article + article {
    border-top: 1px solid rgba(245, 242, 235, 0.16);
    border-left: 0px;
    padding-top: 24px;
  }
}

@media (max-width: 800px) {
:root {
    --header-h: 72px;
    --container: calc(100% - 32px);
  }

body[data-page="methode"] .method-v2-progress .method-line {
    grid-template-columns: 1fr;
    margin-left: 0px;
    padding-top: 0px;
  }

body[data-page="methode"] .method-v2-progress .method-line::before {
    inset: 20px auto 36px 13px;
    width: 1.5px;
    height: auto;
    background: rgba(18, 33, 61, 0.9);
  }

body[data-page="methode"] .method-v2-progress .method-step {
    display: grid;
    grid-template-columns: 42px minmax(0px, 1fr);
    column-gap: 14px;
    min-height: 0px;
    padding: 0px 0px 38px;
    text-align: left;
  }

body[data-page="methode"] .method-v2-progress .method-dot {
    grid-row: 1 / span 2;
    margin: 0px;
    font-size: 25px;
  }

body[data-page="methode"] .method-v2-progress .method-dot::after {
    left: 10px;
    bottom: auto;
    top: 38px;
    width: 6px;
    height: 6px;
    transform: none;
  }

body[data-page="methode"] .method-v2-progress .method-step h3 {
    max-width: none;
    margin: 1px 0px 8px;
    padding-top: 0px;
  }

body[data-page="methode"] .method-v2-progress .method-step p {
    max-width: 620px;
    margin: 0px;
  }

body[data-page="methode"] .method-v2-progress .method-step:not(:last-child)::after {
    position: absolute;
    left: 6px;
    bottom: 7px;
    color: rgba(18, 33, 61, 0.46);
    content: "↓";
    font-family: var(--sans);
    font-size: 14px;
    line-height: 1;
  }

body[data-page="methode"] .method-v2-progress .method-step:last-child::after {
    position: absolute;
    left: 28px;
    bottom: 15px;
    color: rgba(18, 33, 61, 0.42);
    content: "↰";
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1;
  }

body[data-page="methode"] .method-v2-progress .method-return-loop {
    display: none;
  }

body[data-page="methode"] .method-v5-process-caption {
    max-width: 100%;
  }

.site-header {
    backdrop-filter: none;
  }

body[data-page="accueil"] .home-v11-hero-layout {
    max-width: 650px;
  }

body[data-page="accueil"] .home-v2-hero .container {
    width: var(--container);
  }

body[data-page="accueil"] .home-v2-hero h1 {
    max-width: 10ch;
    font-size: clamp(34px, 7.8vw, 46px);
  }

body[data-page="accueil"] .home-v11-audiences {
    margin-top: 36px;
  }

.brand {
    width: 270px;
    max-width: calc(-84px + 100vw);
  }

.menu-toggle {
    display: block;
    position: relative;
    z-index: 2;
  }

.site-nav {
    position: fixed;
    inset: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 100px 30px 50px;
    background: var(--ivory);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
  }

.menu-open .site-nav {
    opacity: 1;
    visibility: visible;
  }

.nav-list {
    flex-direction: column;
    gap: 18px;
    text-align: center;
  }

.nav-list a {
    font-family: var(--serif);
    font-size: 25px;
    font-weight: 400;
    letter-spacing: 0px;
    text-transform: none;
  }

.menu-open .menu-toggle span:first-child {
    transform: translateY(7px) rotate(45deg);
  }

.menu-open .menu-toggle span:nth-child(2) {
    opacity: 0;
  }

.menu-open .menu-toggle span:last-child {
    transform: translateY(-7px) rotate(-45deg);
  }

.page-hero::after {
    width: 90vw;
    opacity: 0.25;
  }

  body[data-page="methode"] .method-v2-hero::after {
    right: -36vw;
    top: -8%;
    width: 120vw;
    opacity: 0.08;
  }

body[data-page="offre"] .offer-v2-hero {
    padding: 34px 0px 72px;
  }

body[data-page="offre"] .offer-agri {
    padding: 56px 0px;
  }

body[data-page="offre"] .offer-agri-lists {
    margin-top: 0px;
  }

.cases {
    grid-template-columns: 1fr;
  }


body[data-page="methode"] .method-v2-intro {
    grid-template-columns: 1fr;
  }




body[data-page] .site-header {
    min-height: 84px;
  }

body[data-page] .site-header .brand {
    width: 270px;
  }

body[data-page] .site-header.is-scrolled {
    min-height: 66px;
  }

body[data-page] .site-header.is-scrolled .brand {
    width: 225px;
  }

body[data-page="accueil"] .home-v112-topo-frame {--topo-top:8%;--topo-left:55%;--topo-shift:-55%;--topo-width:auto;--topo-height:128%;aspect-ratio:1/1}

body[data-page="accueil"] .home-v10-situations-transition {
    max-width: 34ch;
    margin-bottom: 42px;
    font-size: 22px;
    line-height: 1.5;
  }

body[data-page="methode"] .method-v2-intro .lead {
    margin-top: 24px;
  }

body {
    font-size: 16px;
  }

body[data-page="methode"] .method-v2-principles .principle p {
    font-size: 16px;
  }

body[data-page="accueil"] .home-v7-target-secondary {
    font-size: 0.8125rem;
  }


body[data-page="offre"] .offer-v11-preview {
    margin-top: -2px;
    margin-bottom: 36px;
  }

body[data-page="offre"] .offer-v7-details {
    padding-bottom: 42px;
  }

body[data-page="methode"] .case-accordion-title {
    font-size: clamp(23px, 6vw, 27px);
  }

body[data-page="methode"] .case-accordion-toggle {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 28px 0px;
  }

body[data-page="methode"] .case-accordion-toggle[aria-expanded="true"] {
    grid-template-columns: 1fr;
  }

body[data-page="methode"] .method-v11-case-decision {
    padding-top: 0px;
  }

body[data-page="methode"] .method-v11-case-preview {
    font-size: 15px;
  }

body[data-page="methode"] .case-accordion-command {
    grid-column: auto;
    margin-top: 4px;
  }


body[data-page="methode"] .method-v2-principles .principles {
    grid-template-columns: 1fr;
  }

body[data-page="methode"] .method-v2-principles .principle {
    padding: 0px;
  }

body[data-page="methode"] .method-v2-principles .principle + .principle {
    margin-top: 34px;
    padding-top: 34px;
    border-top: 1px solid rgba(245, 242, 235, 0.22);
    border-left: none;
  }






body[data-page="genese"] .genese-progression {
    padding: 28px 0px 82px;
  }

body[data-page="genese"] .genese-step {
    padding: 62px 0px;
  }

body[data-page="genese"] .genese-step h2 {
    max-width: 320px;
    margin-bottom: 30px;
    font-size: clamp(31px, 9vw, 39px);
  }

body[data-page="genese"] .genese-step-copy > p {
    margin-bottom: 22px;
    font-size: 16px;
    line-height: 1.72;
  }

body[data-page="genese"] .genese-step-copy > p.genese-principle {
    padding-left: 18px;
    margin-top: 30px;
    font-size: 22px;
  }



}

@media (max-width: 680px) {
body[data-page="accueil"] .home-v2-hero {
    min-height: calc(92svh - 77px);
    padding: 32px 0px 42px;
  }

body[data-page="accueil"] .home-v11-hero-layout {
    padding-inline: 4px;
  }

body[data-page="accueil"] .home-v2-markers {
    margin-top: 24px;
  }

body[data-page="accueil"] .home-v2-target {
    margin-top: 0px;
  }

body[data-page="accueil"] .home-v2-situations-section {
    padding: 72px 0 0;
  }

body[data-page="accueil"] .home-v2-agri-section {
    padding: 46px 0px 64px;
  }

body[data-page="accueil"] .home-v2-agri,
body[data-page="accueil"] .home-v2-final-content {
    gap: 38px;
  }

body[data-page="accueil"] .home-v2-final .button {
    width: 100%;
    justify-content: center;
  }

body[data-page="accueil"] .home-v6-hero-eyebrow {
    margin: 28px 0px 0px;
    font-size: 0.75rem;
    letter-spacing: 0.14em;
    white-space: normal;
  }

body[data-page="accueil"] .home-v6-hero-eyebrow::before {
    width: 24px;
  }

body[data-page="accueil"] .home-v6-method-link {
    margin-top: 24px;
  }

body[data-page="accueil"] .home-v6-agri-opening {
    margin-top: 28px;
  }

body[data-page="accueil"] .home-v6-agri-fields {
    margin-top: 38px;
  }

body[data-page="accueil"] .home-v6-agri-fields article {
    padding-top: 30px;
    padding-bottom: 32px;
  }

body[data-page="accueil"] .home-v6-agri-fields p {
    margin-top: 20px;
  }

body[data-page="accueil"] .home-v6-agri-conclusion {
    margin-top: 34px;
  }

body[data-page="contact"] .contact-v2-hero {
    padding: 52px 0 56px;
  }

body[data-page="contact"] .contact-v2-hero h1 {
    font-size: 42px;
  }

body[data-page="contact"] .contact-v2-hero .lead {
    margin-top: 24px;
    font-size: 17px;
  }

body[data-page="contact"] .contact-v2-section {
    padding: 44px 0 64px;
  }

body[data-page="contact"] .contact-v2-form-wrap {
    padding-top: 32px;
  }

body[data-page="contact"] .contact-v2-layout {
    gap: 50px;
  }

body[data-page="contact"] .contact-v2-direct {
    min-height: 120px;
    padding-top: 32px;
  }

body[data-page="contact"] .contact-v2-direct h2 {
    font-size: 32px;
  }

body[data-page="contact"] .contact-v2-form {
    gap: 25px;
  }

body[data-page="contact"] .contact-v2-form .field-row {
    grid-template-columns: 1fr;
    gap: 25px;
  }

body[data-page="contact"] .contact-v2-form input {
    min-height: 58px;
  }

body[data-page="contact"] .contact-v2-form textarea {
    min-height: 170px;
  }

body[data-page="contact"] .contact-v2-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

body[data-page="contact"] .contact-v2-actions .button {
    width: 100%;
    min-height: 56px;
    justify-content: center;
  }
}

@media (max-width: 560px) {
h1 {
    font-size: 40px;
  }

h2 {
    font-size: 32px;
  }

.section {
    padding: 60px 0px;
  }

.button {
    width: 100%;
  }

.principles,
.field-row {
    grid-template-columns: 1fr;
  }

.principle {
    min-height: 0px;
  }

.contact-form {
    padding: 26px 20px;
  }

.cta-panel {
    padding: 48px 24px;
  }

body[data-page="offre"] .offer-v2-hero {
    padding: 34px 0px 58px;
  }

body[data-page="offre"] .offer-agri-intro p {
    font-size: 16px;
  }

body[data-page="offre"] .offer-final-cta-section {
    padding: 56px 0px;
  }

body[data-page="offre"] .offer-final-cta {
    text-align: left;
  }

body[data-page="offre"] .offer-final-cta p {
    margin-left: 0px;
  }

body[data-page="offre"] .offer-final-cta .button-row {
    justify-content: flex-start;
    margin-top: 32px;
  }




body[data-page="methode"] .method-v2-progress .method-step h3 {
    font-size: 20px;
  }

body[data-page="methode"] .method-v2-principles .principle {
    min-height: 0px;
    padding: 0px;
  }

body[data-page="methode"] .method-v2-principles .principle h3 {
    font-size: 20px;
  }

body[data-page="methode"] .method-v2-principles .principle p {
    margin-top: 14px;
    padding-top: 0px;
  }



}

@media (max-width: 520px) {
body[data-page="accueil"] .home-v2-target {
    font-size: 0.875rem;
    line-height: 1.6;
  }

body[data-page="accueil"] .home-v7-target-secondary {
    max-width: 32ch;
  }

body[data-page="accueil"] .home-v7-agri-link {
    margin-top: 32px;
    font-size: 0.875rem;
  }

body[data-page="offre"] .offer-v2-hero h1 br {
    display: block;
  }

body[data-page="offre"] .offer-v7-group li {
    padding-left: 18px;
    font-size: 15px;
  }

body[data-page="offre"] .offer-v7-territorial-copy li {
    font-size: 18px;
  }
}

@media (max-width: 360px) {
body[data-page="accueil"] .home-v7-agri-link span + span {
    width: auto;
    white-space: normal;
  }

body[data-page="methode"] .method-v2-principles-heading h2 {
    font-size: 27px;
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
html {
    scroll-behavior: auto;
  }

*,
::before,
::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }

.reveal {
    opacity: 1;
    transform: none;
  }

body[data-page] .site-header,
body[data-page] .site-header .brand {
    transition: none;
  }

body[data-page="accueil"] .home-v112-topo-frame {animation:none;transform:translateX(var(--topo-shift)) scaleX(-1);will-change:auto}
body[data-page="accueil"] .home-v112-topo-motion {display:none}
body[data-page="accueil"] .home-v112-topo-still {display:block}

body[data-page="offre"] .offer-v7-panel {
    transition: none;
  }

body[data-page="accueil"] .home-v2-hero::before {
    animation: none;
    transform: none;
    will-change: auto;
  }
}

@media print {
.site-header,
.site-footer,
.button-row {
    display: none;
  }

body {
    color: rgb(0, 0, 0);
    background: rgb(255, 255, 255);
  }

.section,
.page-hero {
    padding: 40px 0px;
    color: rgb(0, 0, 0);
    background: rgb(255, 255, 255);
  }

h1,
h2,
h3,
.page-hero h1 {
    color: rgb(0, 0, 0);
  }

.reveal {
    opacity: 1;
    transform: none;
  }
}

/* ==========================================================================
   V11.2 — Système topographique du Hero (référentiel unique PNG + SVG)
   ========================================================================== */
@keyframes convergence-topography-breathe {
  0%, 100% { transform: translateX(var(--topo-shift)) scaleX(-1) scale(1); }

  50% { transform: translateX(var(--topo-shift)) scaleX(-1) scale(1.035); }

}


@media (min-width: 1024px) {
body[data-page="accueil"] .home-v112-topo-frame {
    --topo-top: 5%;
    --topo-width: 108%;
    --topo-height: 175%;
  }

}


/* ==========================================================================
   V11.2 — Situations : visuels de forte présence
   ========================================================================== */
body[data-page="accueil"] .home-v112-situation-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(116px, 11vw, 152px);
  margin: clamp(18px, 2vw, 26px) 0;
}

body[data-page="accueil"] .home-v112-situation-visual img {
  display: block;
  width: clamp(104px, 9vw, 132px);
  height: auto;
}

/* ==========================================================================
   V11.2 — Périmètres d'intervention : sobre et typographique
   ========================================================================== */
body[data-page="accueil"] .home-v112-scope-section {
  padding: clamp(48px, 5vw, 72px) 0 clamp(48px, 5.3vw, 64px);
  background: var(--ivory);
}

body[data-page="accueil"] .home-v112-scope-copy {
  max-width: none;
  margin: 22px 0 0 clamp(40px, 4vw, 60px);
}

body[data-page="accueil"] .home-v112-scope-intro,
body[data-page="accueil"] .home-v112-scope-capacity {
  max-width: none;
  margin: 0;
  font-size: clamp(1rem, 0.96rem + 0.3vw, 1.15rem);
  line-height: 1.62;
}

body[data-page="accueil"] .home-v112-scope-capacity {
  margin-top: 14px;
}

body[data-page="accueil"] .home-v112-scope-heading {
  max-width: none;
  margin: clamp(36px, 3.9vw, 56px) 0 0 clamp(40px, 4vw, 60px);
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.6vw, 2.5rem);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.1;
}

body[data-page="accueil"] .home-v112-scope-levels {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: clamp(20px, 2.2vw, 32px) 0 0 clamp(40px, 4vw, 60px);
  padding-top: 0;
}

body[data-page="accueil"] .home-v112-scope-levels article {
  padding: 0 clamp(28px, 3.4vw, 58px);
}

body[data-page="accueil"] .home-v112-scope-levels article:first-child {
  padding-left: 0;
}

body[data-page="accueil"] .home-v112-scope-levels article:last-child {
  padding-right: 0;
}

body[data-page="accueil"] .home-v112-scope-levels article + article {
  border-left: 1px solid var(--line);
}

body[data-page="accueil"] .home-v112-scope-levels h3 {
  margin: 0;
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

body[data-page="accueil"] .home-v112-scope-levels p {
  margin: 14px 0 0;
  font-size: 1rem;
  line-height: 1.6;
}

body[data-page="accueil"] .home-v112-scope .home-v2-case-link {
  display: inline-block;
  margin-top: clamp(34px, 3.4vw, 48px);
  margin-left: clamp(40px, 4vw, 60px);
}

/* ==========================================================================
   V11.5 — Home : Approche, agrivoltaïque et CTA final
   ========================================================================== */
body[data-page="accueil"] .home-v112-approach-section {
  padding: clamp(64px, 5.4vw, 88px) 0 clamp(58px, 5vw, 80px);
  color: var(--ivory);
  background: var(--master-background);
}

body[data-page="accueil"] .home-v112-approach {
  text-align: left;
}

body[data-page="accueil"] .home-v112-approach-title {
  max-width: none;
  margin: clamp(30px, 2.5vw, 38px) auto 0;
  color: rgba(245, 242, 235, 0.9);
  font-family: var(--serif);
  font-size: clamp(1.5rem, 1.1rem + 1vw, 1.875rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.45;
  text-align: center;
}

body[data-page="accueil"] .home-v112-approach-figure {
  width: 100%;
  max-width: 1180px;
  margin: clamp(24px, 2.2vw, 32px) auto 0;
  overflow: hidden;
}

body[data-page="accueil"] .home-v112-approach-figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
}

body[data-page="accueil"] .home-v112-approach-statement {
  max-width: 1060px;
  margin: clamp(32px, 3vw, 45px) auto 0;
  padding: 0;
  border: 0;
  color: rgba(245, 242, 235, 0.82);
  font-family: var(--serif);
  font-size: clamp(1.6rem, 1.15rem + 1.1vw, 2.125rem);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
  text-wrap: balance;
}

@media (min-width: 1200px) {
  body[data-page="accueil"] .home-v112-approach-statement span {
    display: block;
  }
}

body[data-page="accueil"] .home-v112-approach .home-v6-method-link {
  display: block;
  width: fit-content;
  margin-top: clamp(18px, 1.8vw, 26px);
}

body[data-page="accueil"] .home-v2-agri-section {
  padding: clamp(42px, 3.7vw, 58px) 0 clamp(58px, 5vw, 80px);
  color: var(--content-ink);
  background: var(--ivory);
}

body[data-page="accueil"] .home-v2-agri {
  display: block;
}

body[data-page="accueil"] .home-v2-agri h2 {
  max-width: none;
  margin-top: clamp(28px, 2.5vw, 40px);
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(1.7rem, 2.4vw, 2.3rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.1;
}

body[data-page="accueil"] .home-v6-agri-opening {
  max-width: none;
  margin-top: 20px;
}

body[data-page="accueil"] .home-v6-agri-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(34px, 3.2vw, 46px);
  gap: 0;
}

body[data-page="accueil"] .home-v6-agri-fields article {
  padding: 0 clamp(26px, 2.8vw, 44px);
}

body[data-page="accueil"] .home-v6-agri-fields article:first-child {
  padding-left: 0;
}

body[data-page="accueil"] .home-v6-agri-fields article:last-child {
  padding-right: 0;
}

body[data-page="accueil"] .home-v6-agri-fields article + article {
  border-left: 1px solid var(--line);
}

body[data-page="accueil"] .home-v6-agri-fields h3 {
  min-height: 3.3em;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(1.45rem, 1.8vw, 1.75rem);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0;
  line-height: 1.18;
  text-transform: none;
}

body[data-page="accueil"] .home-v6-agri-conclusion {
  max-width: 1050px;
  margin-top: clamp(24px, 2.4vw, 32px);
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  border: 0;
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.1rem + 0.65vw, 1.7rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  text-align: center;
}

body[data-page="accueil"] .home-v2-final {
  padding: clamp(52px, 5vw, 72px) 0;
  border-bottom: 1px solid rgba(245, 242, 235, 0.1);
  background: var(--master-background);
}

body[data-page="accueil"] .home-v2-final-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-align: center;
}

body[data-page="accueil"] .home-v2-final-content h2 {
  max-width: 760px;
  margin: 0;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(32px, 3.25vw, 46px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: none;
}

body[data-page="accueil"] .home-v2-final-content p {
  width: min(70%, 760px);
  margin: 22px auto 0;
  color: var(--ivory);
  font-family: var(--sans);
  font-weight: 450;
  line-height: 1.65;
}

body[data-page="accueil"] .home-v6-contact-link {
  width: auto;
  min-height: 54px;
  margin-top: 40px;
  padding: 14px 36px;
  border-color: var(--ivory);
  color: var(--content-ink);
  background: var(--ivory);
  font-size: 15px;
  font-weight: 600;
}

body[data-page="accueil"] .site-footer {
  padding-top: 24px;
  padding-bottom: 14px;
}

body[data-page="accueil"] .site-footer .footer-inner {
  gap: clamp(18px, 3vw, 44px);
}

@media (max-width: 900px) {
body[data-page="accueil"] .home-v6-agri-fields {
    grid-template-columns: 1fr;
  }

body[data-page="accueil"] .home-v6-agri-fields article {
    padding-right: 0;
    padding-left: 0;
  }

body[data-page="accueil"] .home-v6-agri-fields h3 {
    min-height: 0;
  }

body[data-page="accueil"] .home-v6-agri-fields article + article {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

body[data-page="accueil"] .home-v112-scope-copy {
    margin-left: 24px;
  }

body[data-page="accueil"] .home-v112-scope-heading,
body[data-page="accueil"] .home-v112-scope-levels,
body[data-page="accueil"] .home-v112-scope .home-v2-case-link {
    margin-left: 24px;
  }

body[data-page="accueil"] .home-v112-scope-levels {
    grid-template-columns: 1fr;
    gap: 0;
  }

body[data-page="accueil"] .home-v112-scope-levels article {
    padding: 26px 0;
  }

body[data-page="accueil"] .home-v112-scope-levels article:first-child {
    padding-top: 0;
  }

body[data-page="accueil"] .home-v112-scope-levels article:last-child {
    padding-bottom: 0;
  }

body[data-page="accueil"] .home-v112-scope-levels article + article {
    border-top: 1px solid var(--line);
    border-left: 0;
  }
}

@media (max-width: 680px) {
body[data-page="accueil"] .home-v112-scope-copy {
    margin-left: 0;
  }

body[data-page="accueil"] .home-v112-scope-heading,
body[data-page="accueil"] .home-v112-scope-levels,
body[data-page="accueil"] .home-v112-scope .home-v2-case-link {
    margin-left: 0;
  }
}

/* ==========================================================================
   V11.2b — Passe corrective Home + Contact
   ========================================================================== */

/* Situations : phrase de transition sur deux lignes en desktop */
body[data-page="accueil"] .home-v10-situations-transition {
  max-width: 1120px;
  margin-top: 0;
  padding-top: clamp(22px, 2.2vw, 32px);
  padding-bottom: 0;
  border-top: 0;
  border-bottom: 0;
  margin-left: 0;
  margin-right: auto;
  font-size: clamp(1.25rem, 1.05rem + 0.75vw, 1.85rem);
  letter-spacing: -0.004em;
  line-height: 1.34;
  text-align: left;
}

@media (max-width: 900px) {
body[data-page="accueil"] .home-v10-situations-transition {
    max-width: 100%;
  }
}

@media (max-width: 800px) {
body[data-page="accueil"] .home-v6-agri-fields p {
    font-size: 1.0625rem;
  }
}

/* Contact : phrase de sélectivité */
body[data-page="contact"] .contact-v112-selectivity {
  margin: 26px 0 0;
  padding-left: 16px;
  border-left: 2px solid var(--gold);
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: 1.125rem;
  line-height: 1.5;
}

/* ==========================================================================
   V11.3 — Passe de finition UX (hiérarchie, rythme, espacements)
   ========================================================================== */

/* Home — Agrivoltaïque : colonnes plus scannables */
body[data-page="accueil"] .home-v6-agri-fields p {
  font-size: 18px;
  line-height: 1.58;
}

@media (max-width: 800px) {
body[data-page="accueil"] .home-v6-agri-fields p {
    font-size: 17px;
    line-height: 1.62;
  }
}

body[data-page="offre"] .offer-v7-details {
  padding-top: 4px;
  padding-bottom: 46px;
}

/* Offres — bloc vert agriculteurs : contenu remonté */
body[data-page="offre"] .offer-agri {
  padding: 0px;
}

/* Offres — cadre d'intervention : ouverture de la séquence sombre de clôture */
body[data-page="offre"] .offer-governance {
  padding: 0px 0px clamp(28px, 3vw, 44px);
}

/* Genèse — hero : phrase sur deux lignes en grand desktop */


@media (max-width: 900px) {

}

/* Genèse — bloc final vert : espace supérieur réduit */



/* Offres — bloc vert : contenu aligné en haut */
body[data-page="offre"] .offer-agri-section {
  padding-top: clamp(34px, 3.4vw, 50px);
  /* Correctif B : bande bleue vide sous les deux colonnes réduite d'environ 60 %. */
  padding-bottom: clamp(20px, 1.9vw, 28px);
}

body[data-page="offre"] .offer-agri-overview {
  align-items: start;
}

/* Genèse — hero : élargissement pour deux lignes en grand desktop */
@media (min-width: 1200px) {

}

body[data-page="offre"] .offer-governance-section {
  padding-top: clamp(40px, 4vw, 60px);
}

/* ==========================================================================
   Candidate lecteurs extérieurs — finitions ciblées
   ========================================================================== */

/* Home — CTA agrivoltaïque */
body[data-page="accueil"] .home-v7-agri-cta {
  display: flex;
  width: min(100%, 860px);
  max-width: 100%;
  margin: clamp(44px, 4vw, 60px) auto 0;
  align-items: center;
  justify-content: center;
  gap: clamp(26px, 2.5vw, 38px);
}

body[data-page="accueil"] .home-v7-agri-cta p {
  max-width: 520px;
  margin: 0;
  color: var(--content-ink);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  body[data-page="accueil"] .home-v6-agri-fields article + article {
    border-left: 0;
  }

  body[data-page="accueil"] .home-v7-agri-cta {
    width: 100%;
    align-items: center;
    flex-direction: column;
    gap: 22px;
    text-align: center;
  }
}

body[data-page="accueil"] .home-v2-agri .home-v7-agri-link {
  width: auto;
  margin: 0;
  padding: 11px 18px;
  border: 1px solid currentcolor;
  color: var(--content-ink);
  background: var(--ivory);
  font-family: var(--sans);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.4;
  text-decoration: none;
  text-transform: uppercase;
}

body[data-page="accueil"] .home-v2-agri .home-v7-agri-link:hover,
body[data-page="accueil"] .home-v2-agri .home-v7-agri-link:focus-visible {
  transform: translateY(-2px);
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* Genèse — conclusion sur un axe gauche continu */




/* ==========================================================================
   V11.5 — Passe 3/5 : Offres
   ========================================================================== */
body[data-page="offre"] .offer-v4-hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0px 0px 22px;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="offre"] .offer-v4-hero-eyebrow::before {
  width: 34px;
  height: 1px;
  flex: 0 0 auto;
  background: currentcolor;
  content: "";
}

body[data-page="offre"] .offer-v2-hero h1 {
  max-width: 1080px;
  font-size: clamp(42px, 3.45vw, 50px);
  line-height: 1.08;
  letter-spacing: 0;
}

body[data-page="offre"] .offer-v2-hero h1 span {
  display: block;
}

/* Première ligne du titre : traitement typographique du Hero Méthode */
body[data-page="offre"] .offer-v2-hero h1 span:first-child {
  white-space: nowrap;
}

body[data-page="offre"] .offer-v2-hero h1 span + span {
  margin-top: 0.24em;
  font-size: clamp(26px, 2.12vw, 33px);
  line-height: 1.4;
  letter-spacing: 0em;
}

body[data-page="offre"] .offer-v2-hero h1 span:nth-child(2) {
  margin-top: clamp(24px, 2.6vw, 36px);
}

@media (max-width: 1180px) {
  body[data-page="offre"] .offer-v2-hero h1 span:first-child {
    white-space: normal;
    text-wrap: balance;
  }
}

body[data-page="offre"] .offer-v7-hero-intro {
  max-width: 1080px;
  margin-top: clamp(30px, 3.5vw, 46px);
  color: rgba(245, 242, 235, 0.8);
  font-size: 17px;
  line-height: 1.65;
}

body[data-page="offre"] .offer-v7-hero-intro p {
  max-width: none;
  margin: 0px;
}

body[data-page="offre"] .offer-v7-hero-intro p + p {
  margin-top: 16px;
}

body[data-page="offre"] .offer-v7-quick-section {
  padding: clamp(46px, 5vw, 72px) 0px clamp(16px, 1.8vw, 25px);
  background: var(--ivory);
}

body[data-page="offre"] .offer-v7-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  align-items: stretch;
}

body[data-page="offre"] .offer-v7-quick-card {
  display: flex;
  min-height: 0px;
  flex-direction: column;
  padding: 0px clamp(26px, 3vw, 44px);
}

body[data-page="offre"] .offer-v7-quick-card:first-child {
  padding-left: 0px;
}

body[data-page="offre"] .offer-v7-quick-card:last-child {
  padding-right: 0px;
}

body[data-page="offre"] .offer-v7-quick-card + .offer-v7-quick-card {
  border-left: 1px solid rgba(18, 33, 61, 0.16);
}

body[data-page="offre"] .offer-v7-quick-card h2 {
  min-height: 3.3em;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(28px, 2.9vw, 42px);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 1.1;
}

body[data-page="offre"] .offer-v7-quick-card p {
  margin: 18px 0px 0px;
  color: var(--content-ink);
  font-size: 15.5px;
  line-height: 1.65;
}

body[data-page="offre"] .offer-v7-quick-link {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 28px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(18, 33, 61, 0.35);
  color: var(--content-ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body[data-page="offre"] .offer-v7-quick-link:hover,
body[data-page="offre"] .offer-v7-quick-link:focus-visible {
  color: var(--gold);
  border-color: var(--gold);
}

body[data-page="offre"] .offer-v8-transition {
  padding: clamp(14px, 1.7vw, 22px) 0px clamp(50px, 5.5vw, 70px);
}

body[data-page="offre"] .offer-v8-transition p {
  max-width: none;
  color: var(--content-ink);
  font-size: 18px;
  line-height: 1.7;
}

body[data-page="offre"] .offer-v7-heading {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

body[data-page="offre"] .offer-v7-accordion {
  border-top: 1px solid var(--line);
}

body[data-page="offre"] .offer-v7-accordion:last-child {
  border-bottom: 1px solid var(--line);
}

body[data-page="offre"] .offer-v7-accordion h2 {
  margin: 0;
}

body[data-page="offre"] .offer-v7-accordion-toggle {
  display: grid;
  width: 100%;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 0;
  align-items: start;
  padding: 26px 0 30px;
  border: 0;
  color: var(--content-ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
}

body[data-page="offre"] .offer-v7-accordion-toggle:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 5px;
}

body[data-page="offre"] .offer-v7-number {
  display: block;
  color: var(--gold);
  font-family: var(--serif);
  font-size: clamp(28px, 2.4vw, 36px);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

body[data-page="offre"] .offer-v7-title {
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(29px, 2.6vw, 39px);
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.1;
}

body[data-page="offre"] .offer-v7-promise {
  max-width: 70ch;
  margin-top: 2px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.58;
}

body[data-page="offre"] .offer-v7-command {
  display: inline-block;
  margin-top: 2px;
  padding-bottom: 3px;
  border-bottom: 1px solid rgba(189, 142, 49, 0.55);
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

body[data-page="offre"] .offer-v7-panel[aria-hidden="true"] {
  display: none;
}

@media (min-width: 901px) {
body[data-page="offre"] .offer-core-section .offer-v7-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 0px;
    align-items: start;
    padding-left: 78px;
  }

body[data-page="offre"] .offer-core-section .offer-v7-group:first-child {
    padding-right: clamp(34px, 4vw, 58px);
  }

body[data-page="offre"] .offer-core-section .offer-v7-group + .offer-v7-group {
    padding-left: clamp(34px, 4vw, 58px);
    border-left: 1px solid rgba(18, 33, 61, 0.16);
  }
}

body[data-page="offre"] .offer-agri-kicker,
body[data-page="offre"] .offer-v7-territorial > .section-kicker,
body[data-page="offre"] .offer-v112-governance-eyebrow {
  color: var(--gold);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="offre"] .offer-agri-subkicker {
  margin-top: 12px;
  color: rgba(245, 242, 235, 0.85);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

body[data-page="offre"] .offer-agri-intro h2,
body[data-page="offre"] .offer-v7-territorial h2,
body[data-page="offre"] .offer-governance h2 {
  margin-top: clamp(28px, 2.5vw, 40px);
  font-family: var(--serif);
  font-weight: 500;
  line-height: 1.08;
}

body[data-page="offre"] .offer-agri-intro h2 {
  max-width: none;
  margin-top: clamp(20px, 2vw, 30px);
  color: var(--ivory);
  /* Titre sur une ligne desktop : taille réduite d'environ 12 % (40 → 35,2 px). */
  font-size: clamp(26px, 2.64vw, 35.2px);
  text-transform: lowercase;
}

body[data-page="offre"] .offer-agri-intro h2::first-letter {
  text-transform: uppercase;
}

body[data-page="offre"] .offer-agri .offer-v7-group h3 {
  color: var(--ivory);
  font-weight: 500;
}

body[data-page="offre"] .offer-agri .offer-v7-group ul {
  margin: 0px;
  padding: 0px;
  list-style: none;
}

body[data-page="offre"] .offer-agri .offer-v7-group li {
  position: relative;
  max-width: 72ch;
  padding: 15px 0px 15px 22px;
  color: rgba(245, 242, 235, 0.84);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
}

body[data-page="offre"] .offer-agri .offer-v7-group li::before {
  position: absolute;
  top: 26px;
  left: 3px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--ivory);
  content: "";
}

body[data-page="offre"] .offer-agri .offer-v7-group li + li {
  border-top: 1px solid rgba(245, 242, 235, 0.14);
}

body[data-page="offre"] .offer-v7-territorial h2 {
  max-width: 930px;
  color: var(--content-ink);
  font-size: clamp(31px, 3.2vw, 43px);
  letter-spacing: -0.018em;
  text-transform: lowercase;
}

body[data-page="offre"] .offer-v7-territorial h2::first-letter {
  text-transform: uppercase;
}

body[data-page="offre"] .offer-v7-territorial-copy {
  display: grid;
  grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr);
  gap: clamp(44px, 8vw, 100px);
  margin-top: 38px;
}

body[data-page="offre"] .offer-v7-territorial-copy p {
  margin: 0px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
}

body[data-page="offre"] .offer-v7-territorial-copy p + p {
  margin-top: 18px;
}

body[data-page="offre"] .offer-v7-territorial-copy ul {
  margin: 0px;
  padding: 0px;
  border-top: 1px solid var(--line);
  list-style: none;
}

body[data-page="offre"] .offer-v7-territorial-copy li {
  padding: 20px 0px;
  border-bottom: 1px solid var(--line);
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
}

body[data-page="offre"] .offer-governance {
  padding-top: 0px;
}

body[data-page="offre"] .offer-governance h2 {
  color: var(--ivory);
  font-size: clamp(27px, 2.6vw, 36px);
}

body[data-page="offre"] .offer-v7-governance-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: clamp(36px, 4vw, 60px);
  margin-top: clamp(38px, 3.5vw, 56px);
}

body[data-page="offre"] .offer-v7-governance-grid article + article {
  border-left: 1px solid rgba(245, 242, 235, 0.16);
  padding-left: clamp(28px, 3vw, 44px);
}

body[data-page="offre"] .offer-v7-governance-grid h3 {
  margin: 0px 0px 14px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
}

body[data-page="offre"] .offer-v7-governance-grid p {
  margin: 0px;
  color: rgba(245, 242, 235, 0.82);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
}

body[data-page="offre"] .offer-v7-group h3 {
  margin-bottom: 18px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: clamp(19px, 1.25vw, 21px);
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.35;
}

body[data-page="offre"] .offer-core-section .offer-v7-group h3 {
  margin-bottom: 22px;
  font-size: clamp(16px, 1.1vw, 18px);
  font-weight: 500;
  letter-spacing: 0.08em;
}

body[data-page="offre"] .offer-final-cta .primary-project-cta {
  min-height: 54px;
  padding: 14px 40px;
  font-size: 15px;
  font-weight: 600;
}

@media (min-width: 1360px) {
body[data-page="offre"] .offer-v2-hero .container {
    width: min(1320px, calc(100% - var(--space-container-gutter)));
  }

body[data-page="offre"] .offer-v2-hero h1 span:first-child {
    white-space: nowrap;
  }
}

@media (max-width: 800px) {
body[data-page="offre"] .offer-v2-hero h1 {
    font-size: clamp(36px, 9.5vw, 44px);
  }

body[data-page="offre"] .offer-v4-hero-eyebrow {
    font-size: 15px;
  }

  body[data-page="offre"] .offer-agri-kicker,
  body[data-page="offre"] .offer-v7-territorial > .section-kicker,
body[data-page="offre"] .offer-v112-governance-eyebrow {
    font-size: 15px;
  }

body[data-page="offre"] .offer-final-cta .primary-project-cta {
    width: 100%;
    min-height: 54px;
    padding: 14px 28px;
  }

body[data-page="offre"] .offer-v7-accordion-toggle {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    padding: 22px 0 26px;
  }

body[data-page="offre"] .offer-v7-title {
    font-size: clamp(24px, 6.5vw, 30px);
  }

body[data-page="offre"] .offer-v7-promise {
    font-size: 16px;
  }

body[data-page="offre"] .offer-v7-hero-intro {
    font-size: 16px;
  }

body[data-page="offre"] .offer-v7-quick-grid {
    grid-template-columns: 1fr;
  }

body[data-page="offre"] .offer-v7-quick-section {
    padding-top: 40px;
    padding-bottom: 14px;
  }

body[data-page="offre"] .offer-v7-quick-card {
    padding-right: 0px;
    padding-left: 0px;
  }

body[data-page="offre"] .offer-v7-quick-card h2 {
    min-height: 0px;
  }

body[data-page="offre"] .offer-v7-quick-card + .offer-v7-quick-card {
    margin-top: 34px;
    padding-top: 34px;
    border-top: 1px solid var(--line);
    border-left: 0px;
  }

body[data-page="offre"] .offer-v8-transition {
    padding-top: 11px;
    padding-bottom: 44px;
  }

body[data-page="offre"] .offer-agri-lists,
body[data-page="offre"] .offer-v7-territorial-copy {
    grid-template-columns: 1fr;
  }

body[data-page="offre"] .offer-agri-lists {
    gap: 34px;
  }

body[data-page="offre"] .offer-agri .offer-v7-group + .offer-v7-group {
    padding-top: 34px;
    border-top: 1px solid rgba(245, 242, 235, 0.24);
  }

body[data-page="offre"] .offer-v7-territorial-copy {
    gap: 34px;
  }
}

/* Contact — états de soumission et lien de confidentialité */
body[data-page="contact"] .contact-v2-privacy a {
  color: var(--content-ink);
  text-underline-offset: 3px;
}

body[data-page="contact"] .contact-v2-privacy a:hover,
body[data-page="contact"] .contact-v2-privacy a:focus-visible {
  color: var(--gold);
}

body[data-page="contact"] .contact-v2-actions .button[disabled] {
  cursor: wait;
  opacity: 0.65;
  transform: none;
}

body[data-page="contact"] .form-status.is-error {
  color: #9c3a2f;
  border-left-color: #9c3a2f;
  background: rgba(156, 58, 47, 0.07);
}

body[data-page="contact"] .form-status.is-success {
  color: var(--green);
  border-left-color: var(--green);
  background: rgba(37, 86, 71, 0.09);
}

/* Soft snap : grandes sections seulement, proximité, garde-fous dynamiques */
@media (prefers-reduced-motion: no-preference) and (min-width: 801px) {
html.soft-snap-enabled {
    scroll-snap-type: y proximity;
  }

html.soft-snap-enabled .snap-section:not(.snap-section-tall) {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }

html.soft-snap-enabled.snap-content-expanded {
    scroll-snap-type: none;
  }
}

@media (max-width: 800px) {
body[data-page="accueil"] .home-v112-situation-visual img {
    width: min(116px, 32vw);
  }

  body[data-page="accueil"] .home-v112-approach-title,
body[data-page="accueil"] .home-v112-approach-statement {
    white-space: normal;
  }

body[data-page="accueil"] .home-v6-contact-link {
    margin-top: 32px;
    min-height: 54px;
    padding: 14px 28px;
    font-size: 15px;
  }

body[data-page="accueil"] .home-v2-final-content p {
    width: 100%;
  }

body[data-page="accueil"] .home-v7-agri-cta {
    width: 100%;
  }

body[data-page="accueil"] .home-v2-agri .home-v7-agri-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* H–I. V11.5 — Passe 4/5 : Méthode + Genèse */
body[data-page="methode"] .method-v2-hero {
  padding: 36px 0 72px;
}

/* Respiration après le Hero bleu : le kicker n'est plus collé en haut du bloc ivoire. */
@media (min-width: 561px) {
  body[data-page="methode"] .method-v2-progress {
    padding-top: clamp(38px, 3.6vw, 54px);
  }
}

/* Hero Méthode : suppression des lignes topographiques décoratives (pseudo-élément) */
body[data-page="methode"] .method-v2-hero::after {
  content: none;
}

body[data-page="methode"] .method-v2-hero h1 {
  max-width: none;
  font-size: clamp(42px, 3.45vw, 50px);
  letter-spacing: 0;
  white-space: nowrap;
}

body[data-page="methode"] .method-v2-hero .lead {
  max-width: 1160px;
  margin-top: 28px;
  font-size: 18px;
}

body[data-page="methode"] .method-v5-cases-conclusion {
  max-width: min(34em, 100%);
  margin: clamp(24px, 2.4vw, 34px) auto 0;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(28px, 2.1vw, 30px);
  font-weight: 400;
  line-height: 1.45;
  text-align: center;
}

body[data-page="methode"] .method-v2-cases .disclaimer {
  max-width: none;
  margin: 20px 0 0;
  padding: 0;
  border-left: 0;
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.6;
  text-align: left;
}

/* Micro-correctif — rythme vertical du bloc « À l'épreuve du réel » :
   44 px de respiration avant le kicker sur desktop (le bloc ivoire était collé
   au bloc vert précédent) et 24 px sous le disclaimer pour qu'il reste
   entièrement dans le bloc ivoire. */
body[data-page="methode"] .method-v2-cases {
  padding-top: 44px;
  padding-bottom: 24px;
}

@media (max-width: 800px) {
  body[data-page="methode"] .method-v2-cases {
    padding-top: 60px;
    padding-bottom: 24px;
  }
}

body[data-page="methode"] .method-v2-cta,
body[data-page="genese"] .genese-cta {
  padding: clamp(64px, 6vw, 84px) 0;
  color: var(--ivory);
  background: var(--master-background);
}

body[data-page="methode"] .method-v2-cta .cta-panel,
body[data-page="genese"] .genese-cta .cta-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(36px, 5vw, 72px);
  align-items: center;
  overflow: visible;
  padding: 0;
  background: transparent;
}

body[data-page="methode"] .method-v2-cta .cta-panel::after,
body[data-page="genese"] .genese-cta .cta-panel::after {
  content: none;
}

body[data-page="methode"] .method-v2-cta .cta-panel h2,
body[data-page="genese"] .genese-cta .cta-panel h2 {
  max-width: 850px;
  margin: 0;
  font-size: clamp(38px, 3.8vw, 54px);
}

body[data-page="methode"] .method-v2-cta .cta-panel p {
  max-width: 760px;
  margin: 20px 0 0;
  color: rgba(245, 242, 235, 0.74);
}

body[data-page="methode"] .method-v2-cta .button-row,
body[data-page="genese"] .genese-cta .button-row {
  justify-content: flex-start;
  width: auto;
  margin: 0;
}

body[data-page="methode"] .method-v2-cta .primary-project-cta,
body[data-page="genese"] .genese-cta .primary-project-cta {
  min-height: 66px;
  padding: 20px 46px;
}

/* CTA FINAL MÉTHODE — traitement éditorial centré (méthode uniquement) */
body[data-page="methode"] .method-v2-cta .cta-panel {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 0;
  text-align: center;
}

body[data-page="methode"] .method-v2-cta .cta-panel h2 {
  max-width: 720px;
  font-size: clamp(32px, 3.25vw, 46px);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

body[data-page="methode"] .method-v2-cta .cta-panel p {
  max-width: 620px;
  margin: 22px auto 0;
  color: var(--ivory);
  font-weight: 400;
  line-height: 1.65;
}

body[data-page="methode"] .method-v2-cta .button-row {
  justify-content: center;
  margin: 40px 0 0;
}

body[data-page="methode"] .method-v2-cta .primary-project-cta {
  min-height: 54px;
  padding: 14px 36px;
  font-weight: 600;
}

/* CTA FINAL GENÈSE — traitement éditorial centré (genèse uniquement) */
body[data-page="genese"] .genese-cta .cta-panel {
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 0;
  width: 84%;
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(46px, 4.5vw, 64px) clamp(28px, 6vw, 84px) clamp(42px, 4vw, 58px);
  border-radius: 22px;
  color: var(--content-ink);
  background: var(--ivory);
  text-align: center;
}

body[data-page="genese"] .genese-cta .cta-panel h2 {
  max-width: 720px;
  color: var(--content-ink);
  font-size: clamp(32px, 3.25vw, 46px);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.15;
}

body[data-page="genese"] .genese-cta .cta-panel p {
  margin: 0 auto;
}

body[data-page="genese"] .genese-cta .cta-panel .genese-cta-body {
  max-width: 620px;
  margin: 28px auto 0;
  color: var(--content-ink);
  font-weight: 400;
  line-height: 1.65;
}

body[data-page="genese"] .genese-cta .cta-panel .genese-cta-doctrine {
  max-width: 540px;
  margin: 28px auto 0;
  color: var(--content-ink);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
}

body[data-page="genese"] .genese-cta .button-row {
  justify-content: center;
  margin: 40px 0 0;
}

body[data-page="genese"] .genese-cta .primary-project-cta {
  min-height: 54px;
  padding: 14px 36px;
  border-color: var(--master-background);
  color: var(--ivory);
  background: var(--master-background);
  font-weight: 600;
}

body[data-page="genese"] .genese-cta .primary-project-cta:hover {
  color: var(--master-background);
  background: transparent;
  border-color: var(--master-background);
}

body[data-page="genese"] .genese-hero {
  padding: 48px 0 56px;
}

/* Hero Genèse : suppression des lignes topographiques décoratives (pseudo-élément) */
body[data-page="genese"] .genese-hero::after {
  content: none;
}

body[data-page="genese"] .genese-hero h1 {
  max-width: none;
  font-size: clamp(42px, 3.45vw, 50px);
  letter-spacing: 0;
  white-space: nowrap;
}

body[data-page="genese"] .genese-hero .genese-hero-primary {
  max-width: 1160px;
  margin-top: 32px;
  color: var(--ivory);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}

/* Transition Hero → premier chapitre : ~28 px de respiration utile, sans bande vide
   (le padding haut interne du premier chapitre est neutralisé) */
body[data-page="genese"] .genese-step:first-child {
  padding-top: 0;
}

body[data-page="genese"] .genese-resolution-section {
  padding: clamp(64px, 6.5vw, 96px) 0 0;
  color: var(--ivory);
  background: var(--master-background);
}

/* Transition bloc doctrinal → CTA final : filet safran 180×1,5 px (44 px avant, 46 px après), CTA sur le même fond vert */
body[data-page="genese"] .genese-cta {
  padding: 36px 0 44px;
}

body[data-page="genese"] .genese-doctrine-rule {
  width: 180px;
  height: 1.5px;
  margin: 0 auto 46px;
  background: var(--gold);
  opacity: 0.9;
  box-shadow: none;
  border: none;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-doctrine-rule {
    margin: 0 auto 40px;
  }

  /* Neutralise le padding de la règle mobile partagée (méthode + genèse) : la cadence vient du padding du CTA */
  body[data-page="genese"] .section.genese-cta {
    padding: 30px 0 38px;
  }
}

body[data-page="genese"] .genese-resolution-copy {
  max-width: 1200px;
}

body[data-page="genese"] .genese-resolution-kicker {
  color: var(--gold);
}

body[data-page="genese"] .genese-resolution-kicker + .genese-resolution-title {
  margin-top: 28px;
}

body[data-page="genese"] .genese-resolution-title {
  max-width: 1200px;
  margin: 0 0 clamp(26px, 2.6vw, 38px);
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-align: left;
}

/* Titre doctrinal → premier paragraphe : 40 px sur desktop */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-resolution-title {
    margin-bottom: 40px;
  }
}

body[data-page="genese"] .genese-resolution-copy > p:not(.genese-resolution-kicker):not(.genese-resolution-last) {
  max-width: 100%;
  margin: 0 0 22px;
  color: rgba(245, 242, 235, 0.88);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 450;
  line-height: 1.76;
  text-align: left;
}

body[data-page="genese"] .genese-resolution-last {
  max-width: 100%;
  margin: clamp(28px, 2.8vw, 40px) auto 0;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(28px, 2.1vw, 30px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-resolution-last {
    font-size: 20px;
  }
}

/* Desktop uniquement : corps du bloc doctrinal — largeur fixe 1080 px,
   décalage fixe de 92 px à gauche, lignes plus courtes qu'avant */
@media (min-width: 900px) {
  body[data-page="genese"] .genese-resolution-copy > p:not(.genese-resolution-kicker):not(.genese-resolution-last) {
    width: 1080px;
    max-width: calc(100% - 140px);
    margin-left: 92px;
    margin-right: auto;
  }

  body[data-page="genese"] .genese-resolution-last {
    width: min(950px, 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 1180px) {
  body[data-page="methode"] .method-v2-hero h1 {
    font-size: clamp(40px, 4.3vw, 48px);
    white-space: normal;
    text-wrap: balance;
  }

  body[data-page="genese"] .genese-hero h1 {
    white-space: normal;
    text-wrap: balance;
  }
}

@media (max-width: 800px) {
  body[data-page="methode"] .method-v2-hero,
  body[data-page="genese"] .genese-hero {
    padding: 58px 0 70px;
  }

  body[data-page="methode"] .method-v2-hero h1 {
    font-size: clamp(36px, 9.5vw, 44px);
  }

  body[data-page="methode"] .method-v2-hero .lead,
  body[data-page="genese"] .genese-hero .genese-hero-primary {
    margin-top: 28px;
    font-size: 17px;
  }


  body[data-page="methode"] .method-v2-cta,
  body[data-page="genese"] .genese-cta {
    padding: 58px 0;
  }

  body[data-page="methode"] .method-v2-cta .cta-panel,
  body[data-page="genese"] .genese-cta .cta-panel {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  body[data-page="methode"] .method-v2-cta .cta-panel h2,
  body[data-page="genese"] .genese-cta .cta-panel h2 {
    font-size: clamp(34px, 9vw, 42px);
  }

  body[data-page="methode"] .method-v2-cta .primary-project-cta,
  body[data-page="genese"] .genese-cta .primary-project-cta {
    width: 100%;
    padding-inline: 24px;
  }

  /* CTA final Méthode — mobile */
  body[data-page="methode"] .method-v2-cta .cta-panel {
    gap: 0;
  }

  body[data-page="methode"] .method-v2-cta .cta-panel h2 {
    font-size: clamp(29px, 7.6vw, 36px);
  }

  body[data-page="methode"] .method-v2-cta .cta-panel p {
    margin-top: 20px;
  }

  body[data-page="methode"] .method-v2-cta .button-row {
    margin-top: 32px;
  }

  body[data-page="methode"] .method-v2-cta .primary-project-cta {
    width: auto;
    min-height: 52px;
    padding: 13px 32px;
  }

  /* CTA final Genèse — mobile */
  body[data-page="genese"] .genese-cta .cta-panel {
    gap: 0;
    width: 100%;
    max-width: none;
    padding: 38px 22px 34px;
    border-radius: 20px;
  }

  body[data-page="genese"] .genese-cta .cta-panel h2 {
    font-size: clamp(29px, 7.6vw, 36px);
  }

  body[data-page="genese"] .genese-cta .genese-cta-body {
    margin-top: 20px;
  }

  body[data-page="genese"] .genese-cta .genese-cta-doctrine {
    max-width: 100%;
    font-size: 18px;
  }

  body[data-page="genese"] .genese-cta .button-row {
    margin-top: 36px;
  }

  body[data-page="genese"] .genese-cta .primary-project-cta {
    width: auto;
    min-height: 52px;
    padding: 13px 32px;
  }

  body[data-page="genese"] .genese-hero h1 {
    font-size: clamp(36px, 9.5vw, 44px);
  }

  body[data-page="genese"] .genese-resolution-copy,
  body[data-page="genese"] .genese-resolution-copy > p:not(.genese-resolution-kicker) {
    max-width: 100%;
  }
}

/* J. Pages légales */
body[data-page="confidentialite"] .legal-copy,
body[data-page="mentions-legales"] .legal-copy {
  max-width: min(100%, 900px);
}

body[data-page="confidentialite"] .legal-copy h2,
body[data-page="mentions-legales"] .legal-copy h2 {
  margin: 38px 0 12px;
  font-size: clamp(20px, 1.8vw, 26px);
}

body[data-page="confidentialite"] .legal-copy p,
body[data-page="mentions-legales"] .legal-copy p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.7;
}

body[data-page="confidentialite"] .legal-note,
body[data-page="mentions-legales"] .legal-note {
  margin-top: 34px;
  color: var(--muted);
  font-size: 13.5px;
}

body[data-page="accueil"] .home-v2-situations {
  margin-top: clamp(32px, 3.35vw, 48px);
}


@media (max-width: 800px) {
.section-kicker {
    font-size: 15px;
    white-space: normal;
  }

.primary-project-cta {
    width: 100%;
    min-height: 58px;
    padding: 16px 24px;
    text-align: center;
  }
}

/* Correctif — fin de page Offres : espace sous le cadre d'intervention réduit d'environ 55 %.
   Ne concerne que l'espace entre le bas des trois colonnes du CADRE D'INTERVENTION
   et le filet précédant « Parlons de votre projet. » Le CTA final n'est pas modifié. */
body[data-page="offre"] .offer-governance {
  padding-bottom: clamp(12px, 1.4vw, 20px);
}

body[data-page="offre"] .offer-final-cta-section {
  padding-top: clamp(24px, 2.6vw, 40px);
}

/* Mobile : la règle générique .section ajoute 60 px de bas — ramenée au même niveau
   de respiration pour conserver la réduction d'environ 55 % sur petit écran. */
@media (max-width: 800px) {
  body[data-page="offre"] .offer-governance-section {
    padding-bottom: 28px;
  }
}

/* ==========================================================================
   Micro-correctif final — page Offres (finitions uniquement)
   ========================================================================== */

/* 1 & 2. Texte courant bleu dans les blocs ivoire : réutilisation exacte du
   bleu texte secondaire existant (--ink-soft, déjà utilisé ailleurs sur la
   page). Tailles et graisses inchangées ; interlignage aligné sur 1.7 pour
   une densité identique aux paragraphes du bloc territorial. */
body[data-page="offre"] .offer-core-section .offer-v7-group li {
  color: var(--content-ink);
  line-height: 1.7;
}

/* 5. Signets safran : filet aligné sur la première ligne du kicker.
   Longueur, épaisseur et couleur inchangées ; position horizontale inchangée. */
body[data-page="offre"] .offer-agri-kicker,
body[data-page="offre"] .offer-v7-territorial > .section-kicker,
body[data-page="offre"] .offer-v112-governance-eyebrow {
  align-items: flex-start;
}

body[data-page="offre"] .offer-agri-kicker::before,
body[data-page="offre"] .offer-v7-territorial > .section-kicker::before,
body[data-page="offre"] .offer-v112-governance-eyebrow::before {
  margin-top: 0.6em;
}

/* ==========================================================================
   Page Genèse — chapitre « Décider avec le réel » uniquement
   (titre −15 % en casse normale, corps bleu texte, phrase de synthèse
   transversale pleine largeur hors colonne de texte)
   ========================================================================== */

body[data-page="genese"] .genese-step-real {
  row-gap: 0;
}

body[data-page="genese"] .genese-step-real h2 {
  max-width: 320px;
  font-size: clamp(29px, 2.64vw, 39px);
  font-weight: 400;
  letter-spacing: -0.025em;
}

body[data-page="genese"] .genese-step-real .genese-step-copy > p {
  color: var(--content-ink);
  font-weight: 450;
  line-height: 1.72;
}

body[data-page="genese"] .genese-step-real .genese-principle-full {
  grid-column: 1 / -1;
  max-width: min(76%, 880px);
  margin-top: clamp(34px, 3vw, 46px);
  color: var(--content-ink);
  font-size: clamp(21px, 1.8vw, 25px);
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
}

@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-real {
    grid-template-columns: minmax(0, 0.66fr) minmax(0, 1fr);
  }

  body[data-page="genese"] .genese-step-real h2 {
    grid-column: 1 / -1;
  }

  body[data-page="genese"] .genese-step-real .genese-step-copy {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
  }

  body[data-page="genese"] .genese-step-real .genese-step-copy > p:first-child {
    margin-top: 0;
  }

  body[data-page="genese"] .genese-step-real .genese-principle-full {
    grid-row: 3;
  }
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step-real h2 {
    max-width: 280px;
    margin-bottom: 26px;
    font-size: clamp(26px, 7.6vw, 33px);
  }

  body[data-page="genese"] .genese-step-real .genese-step-copy > p {
    font-size: 16px;
  }

  body[data-page="genese"] .genese-step-real .genese-principle-full {
    max-width: 100%;
    padding-right: 8%;
    margin-top: 30px;
    font-size: 21px;
  }
}

/* ==========================================================================
   Page Genèse — bloc photo « Décider avec le réel » uniquement
   (grille 2×2 desktop / 1 colonne mobile, recadrage 3:2 homogène,
   légendes titre court + phrase explicative en bleu maître)
   ========================================================================== */

body[data-page="genese"] .genese-reel-gallery {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 30px) clamp(22px, 2.4vw, 32px);
  margin-top: 0;
}

body[data-page="genese"] .genese-reel-item {
  margin: 0;
}

body[data-page="genese"] .genese-reel-item img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 14px;
}

body[data-page="genese"] .genese-reel-item figcaption {
  margin-top: 14px;
  color: var(--content-ink);
}

body[data-page="genese"] .genese-reel-item figcaption strong {
  display: block;
  font-weight: 600;
  font-size: clamp(15px, 1.15vw, 17px);
  line-height: 1.4;
}

body[data-page="genese"] .genese-reel-item figcaption span {
  display: block;
  margin-top: 4px;
  font-weight: 400;
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.55;
  opacity: 0.82;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-reel-gallery {
    grid-template-columns: 1fr;
    gap: 26px;
    margin-top: 34px;
  }

  body[data-page="genese"] .genese-reel-item img {
    border-radius: 12px;
  }

  body[data-page="genese"] .genese-reel-item figcaption {
    margin-top: 11px;
  }

  body[data-page="genese"] .genese-reel-item figcaption strong {
    font-size: 15px;
  }

  body[data-page="genese"] .genese-reel-item figcaption span {
    font-size: 14px;
  }
}

/* ==========================================================================
   Page Genèse — chapitre « Conseiller sans se substituer » uniquement
   (même traitement que « Décider avec le réel » : titre en casse normale,
   corps bleu texte, phrase de synthèse transversale hors colonne)
   ========================================================================== */

body[data-page="genese"] .genese-step-conseil {
  row-gap: 0;
}

body[data-page="genese"] .genese-step-conseil h2 {
  max-width: 320px;
  font-size: clamp(29px, 2.64vw, 39px);
  font-weight: 400;
  letter-spacing: -0.025em;
}

body[data-page="genese"] .genese-step-conseil .genese-step-copy > p {
  color: var(--content-ink);
  font-weight: 450;
  line-height: 1.72;
}

body[data-page="genese"] .genese-step-conseil .genese-principle-full {
  grid-column: 1 / -1;
  max-width: min(76%, 880px);
  margin-top: clamp(34px, 3vw, 46px);
  color: var(--content-ink);
  font-size: clamp(21px, 1.8vw, 25px);
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step-conseil h2 {
    max-width: 280px;
    margin-bottom: 26px;
    font-size: clamp(26px, 7.6vw, 33px);
  }

  body[data-page="genese"] .genese-step-conseil .genese-step-copy > p {
    font-size: 16px;
  }

  body[data-page="genese"] .genese-step-conseil .genese-principle-full {
    max-width: 100%;
    padding-right: 8%;
    margin-top: 30px;
    font-size: 21px;
  }
}

/* ============= Genèse — chapitre 3 « Développer dans la complexité »
   (même traitement que les deux chapitres précédents : titre en casse
   normale, corps bleu texte, phrase de synthèse transversale centrée)
   ========================================================================== */

body[data-page="genese"] .genese-step-dev {
  row-gap: 0;
}

/* Colonne gauche ~38–40 % pour ce chapitre uniquement : le visuel circulaire
   (430–460 px) tient à gauche du texte, dans la même rangée. */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-dev {
    grid-template-columns: minmax(0px, 0.75fr) minmax(0px, 1fr);
  }

  body[data-page="genese"] .genese-step-dev .genese-step-copy {
    grid-column: 2;
    grid-row: 2;
  }
}

body[data-page="genese"] .genese-step-dev h2 {
  grid-column: 1 / -1;
  grid-row: 1;
  max-width: 320px;
  font-size: clamp(29px, 2.64vw, 39px);
  font-weight: 500;
  letter-spacing: -0.025em;
}

body[data-page="genese"] .genese-step-dev .genese-step-copy > p {
  color: var(--content-ink);
  font-weight: 450;
  line-height: 1.72;
}

body[data-page="genese"] .genese-principle-center {
  grid-column: 1 / -1;
  grid-row: 3;
  max-width: 75%;
  margin-inline: auto;
  margin-top: clamp(34px, 3vw, 46px);
  color: var(--content-ink);
  font-size: clamp(21px, 1.55vw, 22px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step-dev h2 {
    max-width: 280px;
    margin-bottom: 26px;
    font-size: clamp(26px, 7.6vw, 33px);
  }

  body[data-page="genese"] .genese-step-dev .genese-step-copy > p {
    font-size: 16px;
  }

  body[data-page="genese"] .genese-principle-center {
    max-width: 100%;
    margin-top: 30px;
    font-size: 21px;
  }
}

/* Visuel circulaire — Développer dans la complexité (objet éditorial posé
   sur le fond ivoire, sans cadre ni ombre, ratio 1:1 conservé ; placé dans
   la colonne gauche, sous le titre, en regard des paragraphes) */
body[data-page="genese"] .genese-dev-visual {
  display: block;
  grid-column: 1;
  grid-row: 2;
  align-self: start;
  justify-self: center;
  width: min(460px, 100%);
  height: auto;
  margin: 0;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-dev-visual {
    margin-top: 34px;
  }
}

/* ==========================================================================
   Page Genèse — harmonisation globale des trois chapitres
   (titres uniformes en Medium, phrases conclusives centrées identiques,
   espacements verticaux resserrés)
   ========================================================================== */

body[data-page="genese"] .genese-step {
  padding: clamp(32px, 3vw, 36px) 0;
}

body[data-page="genese"] .genese-step:first-child {
  padding-top: 0;
}

body[data-page="genese"] .genese-step:last-child {
  padding-bottom: 0;
}

body[data-page="genese"] .genese-progression {
  padding-bottom: clamp(56px, 6vw, 80px);
}

body[data-page="genese"] .genese-step-real h2,
body[data-page="genese"] .genese-step-conseil h2,
body[data-page="genese"] .genese-step-dev h2 {
  max-width: 340px;
  font-family: var(--serif);
  font-size: clamp(30px, 2.75vw, 41px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.16;
  color: var(--content-ink);
}

body[data-page="genese"] .genese-step .genese-principle-full {
  grid-column: 1 / -1;
  max-width: min(75%, 1080px);
  margin: clamp(48px, 4vw, 56px) auto 0;
  padding: 0;
  border: 0;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step {
    padding: 34px 0;
  }

  body[data-page="genese"] .genese-step:first-child {
    padding-top: 0;
  }

  body[data-page="genese"] .genese-step:last-child {
    padding-bottom: 0;
  }

  body[data-page="genese"] .genese-progression {
    padding-bottom: 48px;
  }

  body[data-page="genese"] .genese-step-real h2,
  body[data-page="genese"] .genese-step-conseil h2,
  body[data-page="genese"] .genese-step-dev h2 {
    max-width: 300px;
    font-size: clamp(26px, 7.6vw, 33px);
    font-weight: 500;
    line-height: 1.16;
  }

  body[data-page="genese"] .genese-step .genese-principle-full {
    max-width: 100%;
    margin-top: 34px;
    padding-right: 0;
    font-size: 21px;
    text-align: left;
  }
}

/* Ajustements fin d'harmonisation : largeur des phrases conclusives portée
   à ~1080 px, espacement inter-chapitres resserré à ~64–72 px, mobile */
body[data-page="genese"] .genese-step {
  padding: clamp(30px, 2.6vw, 32px) 0;
}

body[data-page="genese"] .genese-step:first-child {
  padding-top: 0;
}

body[data-page="genese"] .genese-step:last-child {
  padding-bottom: 0;
}

body[data-page="genese"] .genese-step .genese-principle-full {
  max-width: min(92%, 1080px);
}

/* Genèse — composition commune des trois situations : titre et visuel à
   gauche, texte à droite, conclusions transversales. */
body[data-page="genese"] .genese-step-aside {
  min-width: 0;
}

body[data-page="genese"] .genese-step-aside h2 {
  margin-top: 0;
}

body[data-page="genese"] .genese-conseil-visual {
  display: block;
  width: min(440px, 100%);
  height: auto;
  margin: clamp(28px, 3vw, 40px) auto 0;
}

@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-real,
  body[data-page="genese"] .genese-step-conseil,
  body[data-page="genese"] .genese-step-dev {
    grid-template-columns: minmax(0, 0.66fr) minmax(0, 1fr);
    column-gap: clamp(64px, 8vw, 116px);
    row-gap: 0;
    align-items: start;
  }

  body[data-page="genese"] .genese-step-aside {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }

  body[data-page="genese"] .genese-step .genese-step-copy {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }

  body[data-page="genese"] .genese-step .genese-step-copy > p:first-child {
    margin-top: 0;
  }

  body[data-page="genese"] .genese-step .genese-principle-full {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  body[data-page="genese"] .genese-reel-gallery {
    grid-column: auto;
    grid-row: auto;
    margin-top: clamp(28px, 3vw, 40px);
  }

  body[data-page="genese"] .genese-dev-visual {
    grid-column: auto;
    grid-row: auto;
    width: min(440px, 100%);
    margin: clamp(28px, 3vw, 40px) auto 0;
  }
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step-aside {
    display: contents;
  }

  body[data-page="genese"] .genese-conseil-visual {
    width: min(440px, 100%);
    margin: 34px auto 0;
  }

  body[data-page="genese"] .genese-step .genese-principle-full {
    max-width: 100%;
    text-align: center;
  }

  body[data-page="genese"] .genese-resolution-copy > p:not(.genese-resolution-kicker),
  body[data-page="genese"] .genese-resolution-last {
    max-width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-resolution-copy.genese-resolution-copy > p:not(.genese-resolution-kicker):not(.genese-resolution-last) {
    max-width: 100%;
  }
}

/* ==========================================================================
   V11.7 — Transition Situations → Périmètres : bandeau plein couleur maître
   ========================================================================== */
body[data-page="accueil"] .home-section-divider {
  background: var(--ivory);
  padding: 32px 0;
}

body[data-page="accueil"] .home-section-band {
  height: 11px;
  background: var(--master-background);
}


/* ==========================================================================
   V11.9 — Genèse : phrases conclusives des trois chapitres + séparateurs
   (serif Medium 27px centré 1020px, marqueur safran au-dessus, filet discret
   entre chapitres) — Offres : intertitres fonctionnels en Medium 500
   ========================================================================== */

body[data-page="genese"] .genese-step .genese-principle-full,
body[data-page="genese"] .genese-principle-center {
  max-width: min(92%, 1020px);
  margin: clamp(42px, 3.5vw, 49px) auto 0;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-align: center;
  text-wrap: balance;
}

body[data-page="genese"] .genese-step .genese-principle-full::before,
body[data-page="genese"] .genese-principle-center::before {
  display: block;
  width: 56px;
  height: 1.5px;
  margin: 0 auto 28px;
  background: var(--gold);
  content: "";
}

body[data-page="genese"] .genese-chapter-rule {
  width: 180px;
  height: 1.5px;
  margin: 42px auto 46px;
  border: 0;
  background: var(--gold);
  opacity: 0.9;
}

/* Le padding vertical des chapitres est absorbé par les espacements du filet */
body[data-page="genese"] .genese-step {
  padding: 0;
}

body[data-page="genese"] .genese-progression {
  padding-bottom: clamp(24px, 2.2vw, 32px);
}

body[data-page="genese"] .genese-chapter-rule-last {
  margin-bottom: 0;
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step .genese-principle-full,
  body[data-page="genese"] .genese-principle-center {
    max-width: 100%;
    font-size: 21px;
  }

  body[data-page="genese"] .genese-chapter-rule {
    margin: 36px auto 40px;
  }
}

/* ==========================================================================
   Micro-batch 2B — Genèse : conclusions des trois situations dans la colonne
   de droite, titre situation 2 sur une ligne, respirations bloc bleu et CTA
   ========================================================================== */

body[data-page="genese"] .genese-step-copy > p.genese-principle-inline {
  max-width: 100%;
  margin: 36px 0 0;
  padding: 0;
  border: 0;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(28px, 2.1vw, 30px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: left;
  text-wrap: balance;
}

body[data-page="genese"] .genese-step-copy > p.genese-principle-inline::before {
  display: block;
  width: 56px;
  height: 1.5px;
  margin: 0 auto 24px;
  background: var(--gold);
  content: "";
}

@media (max-width: 800px) {
  body[data-page="genese"] .genese-step-copy > p.genese-principle-inline {
    margin-top: 32px;
    font-size: 20px;
  }
}

/* Situation 2 — titre sur une seule ligne sur desktop */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-conseil {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  }

  body[data-page="genese"] .genese-step-conseil h2 {
    max-width: none;
    font-size: clamp(28px, 2.4vw, 35px);
    white-space: nowrap;
  }
}

/* Bloc bleu doctrinal — kicker remonté (padding haut −32 %) */
body[data-page="genese"] .genese-resolution-section {
  padding-top: clamp(44px, 4.4vw, 65px);
}


/* CTA final ivoire — carte resserrée à 77 % et centrée */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-cta .cta-panel {
    width: 77%;
  }
}

/* Acteurs territoriaux — repère de lecture au-dessus des trois items de la colonne de droite. */
body[data-page="offre"] .offer-v7-territorial-copy .offer-v7-territorial-label,
body[data-page="offre"] .offer-v7-territorial-copy p.offer-v7-territorial-label {
  margin: 0px 0px 12px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* ==========================================================================
   Micro-correction — Genèse : élargissement des conclusions des situations
   2 et 3 vers le centre de la page, bord droit conservé (desktop)
   ========================================================================== */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-conseil .genese-step-copy > p.genese-principle-inline {
    width: min(925px, 100vw - var(--space-container-gutter));
    max-width: none;
    margin-left: calc(100% - min(925px, 100vw - var(--space-container-gutter)));
  }

  body[data-page="genese"] .genese-step-dev .genese-step-copy > p.genese-principle-inline {
    width: min(975px, 100vw - var(--space-container-gutter));
    max-width: none;
    margin-left: calc(100% - min(975px, 100vw - var(--space-container-gutter)));
  }
}

/* ==========================================================================
   Micro-batch — Politique de confidentialité : Hero resserré (~-28 %),
   kicker safran aligné sur le système global, transition ivoire maîtrisée
   et largeur de lecture limitée. Aucun texte modifié.
   ========================================================================== */
body[data-page="confidentialite"] .legal-hero {
  padding: clamp(50px, 6.4vw, 78px) 0px clamp(46px, 5.6vw, 68px);
}

body[data-page="confidentialite"] .legal-hero .eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  color: var(--gold);
  font-family: var(--sans);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-align: left;
  text-transform: uppercase;
}

body[data-page="confidentialite"] .legal-hero .eyebrow::before {
  width: 34px;
  height: 1px;
  flex: 0 0 auto;
  background: currentcolor;
  content: "";
}

/* Niveau typographique du H1 aligné sur les autres Hero internes (Genèse, Méthode) */
body[data-page="confidentialite"] .legal-hero h1 {
  max-width: none;
  letter-spacing: 0;
  font-size: clamp(42px, 3.45vw, 50px);
}

/* Kicker repositionné sous le H1, même langage graphique safran */
body[data-page="confidentialite"] .legal-hero h1 + .eyebrow {
  margin-top: clamp(24px, 2.2vw, 36px);
}

/* Suppression des lignes topographiques décoratives à droite */
body[data-page="confidentialite"] .legal-hero::after {
  content: none;
}

body[data-page="confidentialite"] .legal-section {
  padding-top: clamp(45px, 4vw, 55px);
}

body[data-page="confidentialite"] .legal-copy {
  max-width: 1150px;
  margin-inline: auto;
}

@media (max-width: 800px) {
  body[data-page="confidentialite"] .legal-hero .eyebrow {
    font-size: 15px;
  }
}

/* ==========================================================================
   Micro-batch — Genèse — 2 corrections :
   1) « Conseiller sans se substituer » : phrase conclusive centrée
      horizontalement sur sa zone, alignée sur l'axe des filets safran.
      Largeur, police, taille, graisse, couleur et texte inchangés.
   2) Les trois blocs : la colonne de droite descend sous le niveau du titre
      (padding-top 56 px, ~2 lignes de respiration). Images et largeurs inchangées.
   ========================================================================== */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-conseil .genese-step-copy > p.genese-principle-inline {
    text-align: center;
  }

  body[data-page="genese"] .genese-step-real .genese-step-copy,
  body[data-page="genese"] .genese-step-conseil .genese-step-copy,
  body[data-page="genese"] .genese-step-dev .genese-step-copy {
    padding-top: 56px;
  }
}

/* Situation 3 — titre sur une seule ligne sur desktop */
@media (min-width: 801px) {
  body[data-page="genese"] .genese-step-dev {
    grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  }

  body[data-page="genese"] .genese-step-dev h2 {
    max-width: none;
    font-size: clamp(28px, 2.4vw, 35px);
    white-space: nowrap;
  }
}

/* ==========================================================================
   Accueil — Sous-bloc « Autres configurations photovoltaïques »
   (section dédiée après l'Approche Convergence, avant la section finale. Traitement
   secondaire : filet discret, micro-intitulé sans-serif, deux paragraphes
   de lecture. Aucune nouvelle couleur, aucune carte, aucun pictogramme.)
   ========================================================================== */
body[data-page="accueil"] .home-v13-pv-autres {
  max-width: 800px;
  margin: clamp(48px, 4.4vw, 68px) auto 0;
  padding-top: clamp(26px, 2.4vw, 36px);
  border-top: 1px solid var(--line);
  color: var(--content-ink);
}

body[data-page="accueil"] .home-v13-pv-autres-title {
  margin: 0 0 16px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="accueil"] .home-v13-pv-autres p {
  margin: 0;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.62;
}

body[data-page="accueil"] .home-v13-pv-autres p + p {
  margin-top: 14px;
}

@media (max-width: 800px) {
  body[data-page="accueil"] .home-v13-pv-autres p {
    font-size: 16px;
    line-height: 1.62;
  }
}

/* V11.14 — Réorganisation de la séquence centrale :
   Agrivoltaïsme → transition → Approche Convergence → Autres configurations PV.
   La phrase de transition reprend le traitement éditorial des conclusions du site. */
body[data-page="accueil"] .home-v14-agri-transition {
  max-width: 900px;
  margin: clamp(48px, 4.4vw, 64px) auto 0;
  font-family: var(--serif);
  font-size: clamp(1.25rem, 1.1rem + 0.65vw, 1.7rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  text-align: center;
}

/* Section hôte du sous-bloc « Autres configurations photovoltaïques »,
   déplacé après l'Approche Convergence ; traitement secondaire inchangé. */
body[data-page="accueil"] .home-v13-pv-section {
  padding: 0 0 clamp(52px, 4.6vw, 72px);
  background: var(--ivory);
  color: var(--content-ink);
}

/* V11.7 — Périmètres d'intervention : trois blocs Situation / Réponse / Valeur */
body[data-page="accueil"] .home-v112-scope-levels p.home-v112-scope-label {
  margin: 18px 0 0;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="accueil"] .home-v112-scope-levels p.home-v112-scope-label + p {
  margin-top: 8px;
}

/* ==========================================================================
   Page Offre — architecture en quatre familles d'intervention (V14)
   ========================================================================== */
body[data-page="offre"] .offer-families-section {
  padding-top: clamp(44px, 4.4vw, 68px);
  padding-bottom: clamp(20px, 2vw, 32px);
}

body[data-page="offre"] .offer-family + .offer-family {
  margin-top: clamp(52px, 5.4vw, 84px);
  padding-top: clamp(40px, 4vw, 60px);
  border-top: 1px solid var(--line);
}

body[data-page="offre"] .offer-family-head {
  display: flex;
  align-items: baseline;
  gap: clamp(14px, 1.6vw, 22px);
}

body[data-page="offre"] .offer-family-number {
  color: var(--gold);
  font-family: var(--serif);
  font-size: clamp(24px, 2vw, 32px);
  font-variant-numeric: lining-nums tabular-nums;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

body[data-page="offre"] .offer-family-head h2 {
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(28px, 2.5vw, 38px);
  font-weight: 500;
  letter-spacing: -0.012em;
  line-height: 1.12;
}

body[data-page="offre"] .offer-sub {
  margin-top: clamp(30px, 3vw, 44px);
}

body[data-page="offre"] .offer-sub-title {
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

body[data-page="offre"] .offer-sub .offer-v7-promise {
  margin-top: 14px;
}

body[data-page="offre"] .offer-family-details {
  margin-top: clamp(24px, 2.4vw, 34px);
  padding-bottom: 0px;
}

@media (min-width: 901px) {
  body[data-page="offre"] .offer-family-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: clamp(42px, 6vw, 80px);
    align-items: start;
  }
}

/* Famille Agrivoltaïsme — panneau vert conservé à l'intérieur de la famille */
body[data-page="offre"] .offer-family-agri .offer-agri {
  margin-top: clamp(20px, 2vw, 28px);
  padding: clamp(30px, 3.2vw, 48px) clamp(24px, 3vw, 48px);
  background: var(--agri-background);
  color: var(--ivory);
}

body[data-page="offre"] .offer-family-agri .offer-agri-intro h2 {
  margin-top: 0px;
}

body[data-page="offre"] .offer-family-agri .offer-agri-lists {
  padding-bottom: 0px;
}

@media (max-width: 800px) {
  body[data-page="offre"] .offer-family-head h2 {
    font-size: clamp(24px, 6.5vw, 30px);
  }
}

/* V14 — Conduire le développement / Reconfigurer une trajectoire : contenus éditoriaux */
body[data-page="offre"] .offer-v14-modality-sep {
  margin: clamp(36px, 3.6vw, 52px) 0 0;
  border: 0;
  border-top: 1px solid var(--line);
}

body[data-page="offre"] .offer-v14-body {
  max-width: 70ch;
  margin-top: 16px;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
}

body[data-page="offre"] .offer-v14-value {
  max-width: 70ch;
  margin-top: clamp(24px, 2.4vw, 34px);
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(22px, 1.75vw, 25px);
  font-weight: 500;
  line-height: 1.45;
}

body[data-page="offre"] .offer-v14-scope {
  max-width: 70ch;
  margin-top: clamp(30px, 3vw, 44px);
  padding-top: clamp(18px, 1.8vw, 24px);
  border-top: 1px solid var(--line);
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.6;
}

/* V14 — Décider avant d'engager / Agrivoltaïsme : contenus éditoriaux */
body[data-page="offre"] .offer-family-intro {
  max-width: 70ch;
  margin-top: clamp(18px, 1.8vw, 26px);
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.58;
}

body[data-page="offre"] .offer-family-agri .offer-agri .offer-v14-body {
  color: var(--ivory);
}

body[data-page="offre"] .offer-family-agri .offer-agri .offer-agri-overview {
  margin-bottom: clamp(24px, 2.4vw, 34px);
}

/* ========================================================================== 
   Page Offre — hiérarchie typographique et rythme communs aux familles 1 à 4
   ========================================================================== */
body[data-page="offre"] .offer-families-section {
  padding-top: clamp(44px, 4.2vw, 62px);
  padding-bottom: clamp(20px, 2vw, 32px);
}

body[data-page="offre"] .offer-families-kicker {
  margin-bottom: clamp(38px, 3.8vw, 54px);
  font-size: 15px;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.14em;
}

body[data-page="offre"] .offer-family {
  max-width: 1100px;
}

body[data-page="offre"] .offer-family + .offer-family {
  margin-top: clamp(38px, 3.8vw, 52px);
  padding-top: clamp(38px, 3.8vw, 52px);
}

body[data-page="offre"] .offer-family-head {
  gap: clamp(14px, 1.5vw, 20px);
}

body[data-page="offre"] .offer-family-number {
  font-size: clamp(25px, 2vw, 30px);
  font-weight: var(--font-weight-regular);
}

body[data-page="offre"] .offer-family-head h2 {
  font-size: clamp(30px, 2.55vw, 38px);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.16;
}

body[data-page="offre"] .offer-sub {
  margin-top: clamp(32px, 3vw, 40px);
}

body[data-page="offre"] .offer-sub-title {
  max-width: 92ch;
  font-size: 13px;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.12em;
  line-height: 1.5;
}

body[data-page="offre"] .offer-family-intro,
body[data-page="offre"] .offer-sub .offer-v7-promise,
body[data-page="offre"] .offer-v14-body,
body[data-page="offre"] .offer-v14-scope {
  max-width: 78ch;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.65;
}

body[data-page="offre"] .offer-family-intro {
  margin-top: 24px;
}

body[data-page="offre"] .offer-sub .offer-v7-promise,
body[data-page="offre"] .offer-sub-title + .offer-v14-body {
  margin-top: 24px;
}

body[data-page="offre"] .offer-sub .offer-v7-promise + .offer-v14-body,
body[data-page="offre"] .offer-agri .offer-v14-body + .offer-v14-body {
  margin-top: 22px;
}

body[data-page="offre"] .offer-v14-value {
  max-width: 78ch;
  margin-top: clamp(30px, 2.8vw, 38px);
  font-family: var(--serif);
  font-size: clamp(22px, 1.7vw, 25px);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.45;
}

body[data-page="offre"] .offer-v14-scope {
  margin-top: 28px;
  padding-top: 20px;
}

body[data-page="offre"] .offer-v14-modality-sep {
  margin: clamp(30px, 3vw, 36px) 0 0;
}

body[data-page="offre"] .offer-v14-modality-sep + .offer-sub {
  margin-top: clamp(24px, 2.4vw, 30px);
}

body[data-page="offre"] .offer-family-agri .offer-agri {
  margin-top: 24px;
}

@media (max-width: 800px) {
  body[data-page="offre"] .offer-families-kicker {
    margin-bottom: 34px;
    font-size: 13px;
  }

  body[data-page="offre"] .offer-family + .offer-family {
    margin-top: 36px;
    padding-top: 36px;
  }

  body[data-page="offre"] .offer-family-head h2 {
    font-size: clamp(26px, 7vw, 30px);
  }
}

/* Accueil — Agrivoltaïsme : séquence éditoriale verticale */
body[data-page="accueil"] .home-v2-agri-section {
  padding: clamp(54px, 5vw, 74px) 0 clamp(58px, 5.2vw, 78px);
  color: var(--ivory);
  background: var(--agri-background);
}

body[data-page="accueil"] .home-v2-agri {
  width: min(1180px, calc(100% - clamp(48px, 8vw, 96px)));
}

body[data-page="accueil"] .home-v2-agri h2 {
  margin-top: clamp(22px, 2vw, 30px);
  color: var(--ivory);
  font-size: clamp(2.05rem, 2.85vw, 2.7rem);
  line-height: 1.15;
}

body[data-page="accueil"] .home-v6-agri-opening {
  width: 92%;
  max-width: 1080px;
  margin-top: clamp(28px, 2.6vw, 38px);
  margin-right: auto;
  margin-left: auto;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(1.3rem, 1.1rem + 0.65vw, 1.65rem);
  font-weight: var(--font-weight-medium);
  line-height: 1.42;
  text-align: left;
}

body[data-page="accueil"] .home-v6-agri-fields {
  display: flex;
  max-width: 1100px;
  margin-top: clamp(38px, 3.4vw, 50px);
  flex-direction: column;
  gap: 0;
}

body[data-page="accueil"] .home-v6-agri-fields::before {
  content: "";
  display: block;
  width: 33.33%;
  height: 1px;
  margin: 0 auto clamp(30px, 2.8vw, 40px);
  background: rgba(189, 142, 49, 0.75);
}

body[data-page="accueil"] .home-v6-agri-fields article,
body[data-page="accueil"] .home-v6-agri-fields article:first-child,
body[data-page="accueil"] .home-v6-agri-fields article:last-child {
  padding: 0 0 clamp(34px, 3.2vw, 46px);
}

body[data-page="accueil"] .home-v6-agri-fields article + article {
  padding-top: 0;
  border-top: 0;
  border-left: 0;
}

body[data-page="accueil"] .home-v6-agri-fields article + article::before {
  content: "";
  display: block;
  width: 33.33%;
  height: 1px;
  margin: 0 auto clamp(30px, 2.8vw, 40px);
  background: rgba(189, 142, 49, 0.75);
}

body[data-page="accueil"] .home-v6-agri-fields h3 {
  min-height: 0;
  color: var(--ivory);
  font-size: clamp(1.65rem, 2.15vw, 2rem);
  line-height: 1.25;
}

body[data-page="accueil"] .home-v6-agri-fields p {
  max-width: 106ch;
  color: var(--ivory);
}

body[data-page="accueil"] .home-v6-agri-conclusion {
  max-width: 900px;
  margin-top: clamp(12px, 1.4vw, 20px);
  color: var(--ivory);
  font-size: clamp(1.55rem, 1.3rem + 0.8vw, 2rem);
  line-height: 1.45;
}

body[data-page="accueil"] .home-v7-agri-cta {
  margin-top: clamp(40px, 3.8vw, 54px);
}

body[data-page="accueil"] .home-v7-agri-cta p {
  color: var(--ivory);
}

body[data-page="accueil"] .home-v14-transition-section {
  padding: clamp(38px, 3.6vw, 52px) 0;
  color: var(--content-ink);
  background: var(--ivory);
}

body[data-page="accueil"] .home-v14-transition-section .home-v14-agri-transition {
  max-width: 1100px;
  margin: 0 auto;
  color: var(--content-ink);
}

@media (max-width: 800px) {
  body[data-page="accueil"] .home-v2-agri {
    width: min(1180px, calc(100% - 40px));
  }

  body[data-page="accueil"] .home-v6-agri-opening {
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.5;
  }

  body[data-page="accueil"] .home-v6-agri-fields {
    margin-top: 36px;
  }

  body[data-page="accueil"] .home-v6-agri-fields article,
  body[data-page="accueil"] .home-v6-agri-fields article:first-child,
  body[data-page="accueil"] .home-v6-agri-fields article:last-child {
    padding-bottom: 30px;
  }

  body[data-page="accueil"] .home-v6-agri-fields article + article {
    padding-top: 0;
  }

  body[data-page="accueil"] .home-v6-agri-fields::before,
  body[data-page="accueil"] .home-v6-agri-fields article + article::before {
    margin-bottom: 28px;
  }
}

/* ==========================================================================
   Page Offre — système typographique cohérent et constant (V15)
   ========================================================================== */
/* Kicker : entrée de section nette */
body[data-page="offre"] .offer-families-kicker {
  margin-bottom: clamp(26px, 2.6vw, 36px);
}

/* Axe gauche et conteneur communs à toutes les familles */
body[data-page="offre"] .offer-family {
  max-width: 1100px;
  margin-inline: 0;
}

/* Entre deux grandes familles : respiration marquée (70–85 px) */
body[data-page="offre"] .offer-family + .offer-family {
  margin-top: clamp(38px, 4vw, 50px);
  padding-top: clamp(30px, 3vw, 35px);
}

/* Titres des grandes familles : serif éditorial, casse naturelle, bleu */
body[data-page="offre"] .offer-family-head h2 {
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(32px, 3vw, 42px);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.12;
  text-transform: none;
}

body[data-page="offre"] .offer-family-number {
  color: var(--gold);
  font-family: var(--serif);
  font-size: clamp(24px, 2vw, 30px);
  font-weight: var(--font-weight-regular);
  line-height: 1;
}

/* Titres des modalités : sans-serif capitales, homogènes, secondaires */
body[data-page="offre"] .offer-sub-title {
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: clamp(15px, 1.15vw, 17px);
  font-weight: 550;
  letter-spacing: 0.09em;
  line-height: 1.45;
  text-transform: uppercase;
}

/* Corps de texte : uniforme sur toute la page */
body[data-page="offre"] .offer-family-intro,
body[data-page="offre"] .offer-sub .offer-v7-promise,
body[data-page="offre"] .offer-v14-body,
body[data-page="offre"] .offer-v14-scope {
  max-width: 78ch;
  color: var(--content-ink);
  font-family: var(--sans);
  font-size: clamp(17px, 1.4vw, 20px);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.53;
}

/* Phrases de valeur : serif, conclusions de modalité */
body[data-page="offre"] .offer-v14-value {
  max-width: 56ch;
  color: var(--content-ink);
  font-family: var(--serif);
  font-size: clamp(24px, 1.9vw, 27px);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.35;
}

/* Rythme vertical constant */
/* Entre le titre de modalité et la première phrase : 20–24 px */
body[data-page="offre"] .offer-sub .offer-v7-promise,
body[data-page="offre"] .offer-sub-title + .offer-v14-body {
  margin-top: 22px;
}

/* Entre deux paragraphes liés : 18–22 px */
body[data-page="offre"] .offer-sub .offer-v7-promise + .offer-v14-body,
body[data-page="offre"] .offer-agri .offer-v14-body + .offer-v14-body {
  margin-top: 20px;
}

/* Avant la phrase de valeur : 28–34 px */
body[data-page="offre"] .offer-v14-value {
  margin-top: clamp(28px, 2.6vw, 34px);
}

/* Après la phrase de valeur : 38–45 px */
body[data-page="offre"] .offer-v14-scope {
  margin-top: clamp(38px, 3.6vw, 45px);
  padding-top: 20px;
}

/* Entre deux modalités d'une même famille : filet discret, 44–52 px avant, 36–44 px après */
body[data-page="offre"] .offer-v14-modality-sep {
  margin: clamp(44px, 4.2vw, 52px) 0 0;
}

body[data-page="offre"] .offer-v14-modality-sep + .offer-sub {
  margin-top: clamp(36px, 3.4vw, 44px);
}

@media (max-width: 800px) {
  body[data-page="offre"] .offer-families-kicker {
    margin-bottom: 24px;
  }

  body[data-page="offre"] .offer-family + .offer-family {
    margin-top: 40px;
    padding-top: 30px;
  }

  body[data-page="offre"] .offer-family-head h2 {
    font-size: clamp(26px, 7vw, 32px);
  }

  body[data-page="offre"] .offer-sub-title {
    font-size: 14px;
  }

  body[data-page="offre"] .offer-v14-value {
    font-size: clamp(21px, 5.6vw, 24px);
  }
}

/* ==========================================================================
   Page Offre — largeur de composition des textes (V16)
   ========================================================================== */
/* Paragraphes : ~75–85 % de la largeur utile, jamais jusqu'au bord droit */
body[data-page="offre"] .offer-family-intro,
body[data-page="offre"] .offer-sub .offer-v7-promise,
body[data-page="offre"] .offer-v14-body,
body[data-page="offre"] .offer-v14-scope {
  max-width: min(85%, 1000px);
  text-wrap: pretty;
}

/* Phrases de valeur : largeur légèrement maîtrisée, lignes équilibrées */
body[data-page="offre"] .offer-v14-value {
  max-width: min(78%, 900px);
  text-wrap: balance;
}

/* Le panneau vert Agrivoltaïsme suit la même règle de largeur */
body[data-page="offre"] .offer-family-agri .offer-agri .offer-v14-body {
  max-width: 100%;
}

/* ==========================================================================
   Page Offre — familles 1 à 3 : largeur, hiérarchie et rythme (V17)
   ========================================================================== */
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) {
  width: 100%;
  max-width: none;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-sub {
  margin-top: 32px;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) :is(.offer-family-intro, .offer-v7-promise, .offer-v14-body, .offer-v14-scope) {
  width: 85%;
  max-width: 1200px;
  font-family: var(--sans);
  font-size: clamp(19px, 1.4vw, 20px);
  font-weight: var(--font-weight-regular);
  line-height: 1.43;
  text-wrap: pretty;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-sub-title {
  color: var(--ink);
  font-family: var(--sans);
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 550;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-sub .offer-v7-promise,
body[data-page="offre"] #decider-avant-engager .offer-family-intro {
  margin-top: 20px;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-sub .offer-v7-promise + .offer-v14-body {
  margin-top: 18px;
}

body[data-page="offre"] #decider-avant-engager .offer-sub-title + .offer-v14-body {
  margin-top: 20px;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-v17-value-label {
  width: 85%;
  max-width: 1200px;
  margin-top: 26px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 550;
  letter-spacing: 0.09em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-v14-value {
  width: 85%;
  max-width: 1150px;
  margin-top: 12px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(23px, 1.8vw, 26px);
  font-weight: var(--font-weight-regular);
  line-height: 1.3;
  text-wrap: pretty;
}

body[data-page="offre"] :is(#conduire-developpement, #decider-avant-engager) .offer-v14-modality-sep {
  margin-top: 36px;
}

body[data-page="offre"] :is(#conduire-developpement, #decider-avant-engager) .offer-v14-modality-sep + .offer-sub {
  margin-top: 34px;
}

body[data-page="offre"] #reconfigurer-trajectoire .offer-v14-scope {
  margin-top: 34px;
  padding-top: 20px;
}

body[data-page="offre"] :is(#reconfigurer-trajectoire, #decider-avant-engager) {
  margin-top: 36px;
  padding-top: 34px;
}

@media (max-width: 800px) {
  body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) :is(.offer-family-intro, .offer-v7-promise, .offer-v14-body, .offer-v14-scope, .offer-v17-value-label, .offer-v14-value) {
    width: 100%;
    max-width: none;
  }

  body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) :is(.offer-family-intro, .offer-v7-promise, .offer-v14-body, .offer-v14-scope) {
    font-size: 17px;
    line-height: 1.5;
  }

  body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-sub {
    margin-top: 28px;
  }
}

/* ==========================================================================
   Page Offre — spécialisation agrivoltaïque : section verte, hors numérotation (V18)
   Le bloc devient une spécialisation identifiable (fond vert profond, textes
   ivoire, kicker safran) et non une quatrième famille numérotée.
   ========================================================================== */
body[data-page="offre"] #agrivoltaisme {
  width: 100%;
  max-width: none;
  margin-top: clamp(44px, 4.2vw, 60px);
  padding: clamp(34px, 3.4vw, 52px) clamp(26px, 3vw, 48px);
  background: var(--agri-background);
  color: var(--ivory);
}

/* Kicker de spécialisation : traitement existant (safran, filet), filet aligné
   sur la première ligne du kicker lorsque l'intitulé passe sur deux lignes. */
body[data-page="offre"] #agrivoltaisme .offer-agri-spec-kicker {
  align-items: flex-start;
}

body[data-page="offre"] #agrivoltaisme .offer-agri-spec-kicker::before {
  margin-top: 0.6em;
}

/* Hiérarchie du premier sous-bloc : titre, accroche et corps en ivoire,
   largeur de lecture généreuse alignée sur les familles 1 à 3. */
body[data-page="offre"] #agrivoltaisme .offer-sub-title {
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(15px, 1.1vw, 17px);
  font-weight: 550;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

body[data-page="offre"] #agrivoltaisme .offer-v7-promise,
body[data-page="offre"] #agrivoltaisme .offer-v14-body {
  width: 85%;
  max-width: 1200px;
  color: var(--ivory);
  font-family: var(--sans);
  font-size: clamp(19px, 1.4vw, 20px);
  font-weight: var(--font-weight-regular);
  line-height: 1.43;
  text-wrap: pretty;
}

body[data-page="offre"] #agrivoltaisme .offer-v14-body + .offer-v14-body {
  margin-top: 20px;
}

/* Filet entre les deux sous-blocs, lisible sur fond vert */
body[data-page="offre"] #agrivoltaisme .offer-v14-modality-sep {
  border-top-color: rgba(245, 242, 235, 0.3);
}

/* L'ancien panneau vert du sous-bloc Agriculteurs devient transparent :
   la section entière porte désormais le fond vert. Contenus inchangés. */
body[data-page="offre"] #agrivoltaisme .offer-agri {
  margin-top: 0;
  padding: 0;
  background: transparent;
  color: var(--ivory);
}

@media (max-width: 800px) {
  body[data-page="offre"] #agrivoltaisme {
    padding: 30px 22px 36px;
  }

  body[data-page="offre"] #agrivoltaisme .offer-v7-promise,
  body[data-page="offre"] #agrivoltaisme .offer-v14-body {
    width: 100%;
    max-width: none;
    font-size: 17px;
    line-height: 1.5;
  }
}

/* ==========================================================================
   Page Offre — spécialisation agrivoltaïque : sous-bloc Agriculteurs &
   Porteurs de projets agricoles, image de transition et ancre CTA (V19)
   L'image conserve ses proportions, reste intégrée au fond vert et sert de
   transition entre le sous-bloc de qualification et celui des agriculteurs.
   ========================================================================== */
body[data-page="offre"] #offre-agrivoltaique .offer-agri-overview {
  margin: 0 0 clamp(26px, 2.6vw, 36px);
}

body[data-page="offre"] #offre-agrivoltaique .offer-agri-image {
  width: min(100%, 760px);
}

/* ==========================================================================
   Page Offre — spécialisation agrivoltaïque : bande verte pleine largeur (V20)
   Correction strictement structurelle : le fond vert s'étend de bord gauche à
   bord droit de la page ; le contenu suit un conteneur éditorial large et
   centré ; les paragraphes utilisent réellement la largeur disponible sur
   desktop. Aucune modification de texte, de couleur ou de typographie.
   ========================================================================== */

/* Bande verte pleine largeur : le fond quitte le conteneur intérieur. */
body[data-page="offre"] .offer-agri-band {
  margin-top: clamp(44px, 4.2vw, 60px);
  padding: clamp(34px, 3.4vw, 52px) 0;
  background: var(--agri-background);
  color: var(--ivory);
}

/* Conteneur éditorial intérieur : large et centré, aligné avec les grandes
   sections du site. Seuls les contenus respectent ces marges. */
body[data-page="offre"] .offer-agri-container {
  width: 93%;
  max-width: 1380px;
  margin-inline: auto;
}

/* Le bloc lui-même ne porte plus le fond ni les marges latérales : la bande
   pleine largeur les assume. */
body[data-page="offre"] #agrivoltaisme {
  width: 100%;
  max-width: none;
  margin-top: 0;
  padding: 0;
  background: none;
}

/* Paragraphes : environ 90 % du conteneur intérieur, soit ~1 240 px utiles
   sur desktop large. Aucune largeur fixe en pixels bloquante sous le seuil. */
body[data-page="offre"] #agrivoltaisme .offer-v7-promise,
body[data-page="offre"] #agrivoltaisme .offer-v14-body {
  width: 90%;
  max-width: 1250px;
}

@media (max-width: 800px) {
  body[data-page="offre"] .offer-agri-band {
    padding: 30px 0 36px;
  }

  body[data-page="offre"] .offer-agri-container {
    width: calc(100% - 44px);
  }

  body[data-page="offre"] #agrivoltaisme {
    padding: 0;
  }
}

/* ========================================================================== 
   Page Offre — familles 1 à 3 : séparateurs safran et rythme compact (V21)
   ========================================================================== */
body[data-page="offre"] :is(#conduire-developpement, #decider-avant-engager) .offer-v14-modality-sep {
  width: 33%;
  margin: 25px auto 0;
  border: 0;
  border-top: 1px solid var(--gold);
}

body[data-page="offre"] :is(#conduire-developpement, #decider-avant-engager) .offer-v14-modality-sep + .offer-sub {
  margin-top: 23px;
}

body[data-page="offre"] :is(#reconfigurer-trajectoire, #decider-avant-engager) {
  margin-top: 29px;
  padding-top: 27px;
  border-top: 0;
  background: linear-gradient(var(--gold), var(--gold)) top center / 33% 1px no-repeat;
}

body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-v14-value {
  width: 100%;
  max-width: 1250px;
}

body[data-page="offre"] #reconfigurer-trajectoire .offer-v14-scope {
  margin-top: 27px;
  padding-top: 0;
  border-top: 0;
}

body[data-page="offre"] #reconfigurer-trajectoire .offer-v17-value-label {
  margin-top: 21px;
}

@media (max-width: 800px) {
  body[data-page="offre"] :is(#conduire-developpement, #decider-avant-engager) .offer-v14-modality-sep {
    width: 34%;
    margin-top: 25px;
  }

  body[data-page="offre"] :is(#conduire-developpement, #decider-avant-engager) .offer-v14-modality-sep + .offer-sub {
    margin-top: 24px;
  }

  body[data-page="offre"] :is(#reconfigurer-trajectoire, #decider-avant-engager) {
    margin-top: 27px;
    padding-top: 25px;
    background-size: 34% 1px;
  }
}

/* ========================================================================== 
   Page Offre — spécialisation agrivoltaïque : titres et composition (V22)
   ========================================================================== */
body[data-page="offre"] #agrivoltaisme .offer-sub-title {
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(27px, 2.35vw, 35px);
  font-weight: var(--font-weight-regular);
  letter-spacing: 0;
  line-height: 1.18;
  text-transform: none;
}

body[data-page="offre"] #agrivoltaisme .offer-agri-qualification {
  margin-top: 28px;
}

body[data-page="offre"] #agrivoltaisme .offer-agri-qualification .offer-v7-promise {
  margin-top: 18px;
}

body[data-page="offre"] #agrivoltaisme .offer-agri-qualification .offer-v7-promise + .offer-v14-body,
body[data-page="offre"] #agrivoltaisme .offer-agri-qualification .offer-v14-body + .offer-v14-body {
  margin-top: 18px;
}

body[data-page="offre"] #agrivoltaisme > .offer-v14-modality-sep {
  width: 33%;
  margin: 30px auto 0;
  border: 0;
  border-top: 1px solid var(--gold);
}

body[data-page="offre"] #agrivoltaisme > .offer-v14-modality-sep + .offer-sub-agri {
  margin-top: 30px;
}

body[data-page="offre"] #offre-agrivoltaique .offer-agri-composition {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: clamp(34px, 4vw, 56px);
  align-items: start;
  margin-top: clamp(28px, 2.6vw, 36px);
}

body[data-page="offre"] #offre-agrivoltaique .offer-agri-overview {
  display: block;
  grid-template-columns: none;
  margin: 0;
}

body[data-page="offre"] #offre-agrivoltaique .offer-agri-image {
  display: block;
  width: 100%;
  height: clamp(300px, 28vw, 390px);
  object-fit: cover;
}

/* V95 — Offres : à 1440 px, le bas de la photo s'aligne sur la fin du bloc texte */
/* V96 — photo = hauteur du bloc texte tant que les colonnes sont côte à côte */
@media (min-width: 760px) {
  html body[data-page="offre"] #offre-agrivoltaique .offer-agri-composition { align-items: stretch !important; }
  html body[data-page="offre"] #offre-agrivoltaique .offer-agri-overview { align-self: stretch !important; position: relative; min-height: 0; }
  html body[data-page="offre"] #offre-agrivoltaique .offer-agri-image { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: 72% 60%; }
  html body[data-page="offre"] #offre-agrivoltaique .offer-agri-copy > .offer-agri > p:last-child { margin-bottom: 0 !important; }
}

body[data-page="offre"] #offre-agrivoltaique .offer-agri-copy {
  min-width: 0;
}

body[data-page="offre"] #offre-agrivoltaique :is(.offer-v7-promise, .offer-v14-body) {
  width: 100%;
  max-width: none;
}

body[data-page="offre"] #offre-agrivoltaique .offer-v7-promise {
  margin-top: 0;
}

body[data-page="offre"] #offre-agrivoltaique .offer-v7-promise + .offer-agri {
  margin-top: 20px;
}

body[data-page="offre"] #offre-agrivoltaique .offer-agri-body + .offer-agri-body {
  margin-top: 20px;
}

@media (max-width: 800px) {
  body[data-page="offre"] #agrivoltaisme .offer-sub-title {
    font-size: clamp(26px, 7.4vw, 31px);
  }

  body[data-page="offre"] #agrivoltaisme > .offer-v14-modality-sep {
    width: 34%;
    margin-top: 27px;
  }

  body[data-page="offre"] #agrivoltaisme > .offer-v14-modality-sep + .offer-sub-agri {
    margin-top: 27px;
  }

  body[data-page="offre"] #offre-agrivoltaique .offer-agri-composition {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    margin-top: 28px;
  }

  body[data-page="offre"] #offre-agrivoltaique .offer-agri-image {
    height: auto;
  }
}

/* V23 — Accueil : bloc de positionnement + lien Offres (Périmètres) */
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro {
  margin: 22px 0 0 clamp(40px, 4vw, 60px);
}
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p + p { margin-top: 10px; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-link {
  display: inline-block;
  margin: 32px 0 0 clamp(40px, 4vw, 60px);
}

/* V24 — Offres : note transversale expertises */
body[data-page="offre"] .offer-expertise-note { margin: 0 0 clamp(32px, 3.5vw, 48px); max-width: none; }
body[data-page="offre"] .offer-expertise-note p { margin: 0; font-size: clamp(1rem, 0.96rem + 0.3vw, 1.15rem); line-height: 1.62; color: var(--content-ink); }
body[data-page="offre"] .offer-expertise-note p + p { margin-top: 10px; }

/* PATCH 1 — Périmètres partie haute (Accueil) */
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-eyebrow { margin-bottom: 0 !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-heading { margin-top: 10px !important; margin-bottom: 0 !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro { margin: 24px 0 56px !important; max-width: none !important; padding: 0 !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p { margin: 0 !important; max-width: 1120px !important; font-family: var(--sans) !important; font-size: 18px !important; line-height: 1.46 !important; font-weight: var(--font-weight-regular) !important; font-style: normal !important; text-align: left !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p + p { margin-top: 14px !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p:first-child { max-width: 980px !important; font-family: var(--serif) !important; font-size: 30px !important; line-height: 1.22 !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p:first-child + p { margin-top: 22px !important; }
body[data-page="accueil"] .home-v112-scope > .home-v112-scope-levels { margin-top: 0 !important; }
@media (max-width: 767px) {
  body[data-page="accueil"] .home-v112-scope > .home-v112-scope-heading { margin-top: 8px !important; }
  body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro { margin: 18px 0 40px !important; }
  body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p { font-size: 17px !important; line-height: 1.45 !important; }
  body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p + p { margin-top: 12px !important; }
  body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p:first-child { font-size: 24px !important; line-height: 1.25 !important; }
  body[data-page="accueil"] .home-v112-scope > .home-v112-scope-intro p:first-child + p { margin-top: 22px !important; }
}

/* PATCH 2 — Trois colonnes (Accueil) */
body[data-page="accueil"] .home-v112-scope-levels { align-items: start !important; }
body[data-page="accueil"] .home-v112-scope-levels article h3 { font-family: var(--serif) !important; font-size: 30px !important; line-height: 1.15 !important; font-weight: var(--font-weight-regular) !important; text-transform: none !important; letter-spacing: normal !important; margin: 0 !important; }
body[data-page="accueil"] .home-v112-scope-levels .home-v112-situation-visual { width: 80px !important; height: 80px !important; min-height: 0 !important; margin: 20px auto 24px !important; padding: 0 !important; display: flex !important; align-items: center; justify-content: center; }
body[data-page="accueil"] .home-v112-scope-levels .home-v112-situation-visual img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain !important; margin: 0 !important; }
body[data-page="accueil"] .home-v112-scope-levels p.home-v112-scope-label { color: var(--gold) !important; font-family: var(--sans) !important; font-size: 12px !important; line-height: 1 !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body[data-page="accueil"] .home-v112-scope-levels p.home-v112-scope-label::before { content: "" !important; display: block !important; width: 34px !important; height: 1px !important; background: var(--gold) !important; margin: 0 0 8px !important; position: static !important; }
body[data-page="accueil"] .home-v112-scope-levels p:not(.home-v112-scope-label) { font-size: 18px !important; line-height: 1.45 !important; margin: 8px 0 0 !important; }
body[data-page="accueil"] .home-v112-scope-levels p:not(.home-v112-scope-label) + p.home-v112-scope-label { margin-top: 28px !important; }
@media (max-width: 767px) {
  body[data-page="accueil"] .home-v112-scope-levels article h3 { font-size: 26px !important; line-height: 1.18 !important; }
  body[data-page="accueil"] .home-v112-scope-levels p:not(.home-v112-scope-label) { font-size: 17px !important; }
}

/* PATCH 4 — transition ivoire Accueil */
body[data-page="accueil"] section.home-v14-transition-section{padding:60px 0 !important;margin:0 !important}
body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition{font-family:var(--serif) !important;font-size:27px !important;line-height:1.30 !important;font-weight:400 !important;font-style:normal;max-width:960px !important;margin:0 auto !important;padding:0 !important;text-align:center !important;color:var(--content-ink) !important;border:0 !important}
body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition::before,body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition::after{content:none !important;display:none !important}
@media (max-width:760px){body[data-page="accueil"] section.home-v14-transition-section{padding:38px 0 !important}body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition{font-size:22px !important;line-height:1.35 !important}}

/* PATCH 5 — Approche Convergence phrase */
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{font-family:var(--serif) !important;font-size:32px !important;line-height:1.22 !important;font-weight:400 !important;max-width:900px !important;margin-left:auto !important;margin-right:auto !important;margin-bottom:42px !important;text-align:center !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title + figure{margin-top:0 !important}
@media (max-width:760px){body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{font-size:25px !important;line-height:1.28 !important;margin-bottom:30px !important}}

/* PATCH 6 — Approche Convergence phrase conclusive */
body[data-page="accueil"] .home-v112-approach figure.home-v112-approach-figure{margin-bottom:0 !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement{font-family:var(--serif) !important;font-size:36px !important;line-height:1.18 !important;font-weight:400 !important;font-style:normal !important;max-width:980px !important;margin:46px auto 88px !important;padding:0 !important;text-align:center !important;border:0 !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement::before,body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement::after{content:none !important;display:none !important}
@media (max-width:760px){body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement{font-size:27px !important;line-height:1.22 !important;margin:36px auto 64px !important}}

/* PATCH 7 — Autres configurations PV */
body[data-page="accueil"] section.home-v13-pv-section{padding:84px 0 56px !important;margin:0 !important}
body[data-page="accueil"] .home-v13-pv-autres{max-width:1100px !important;margin:0 auto !important}
body[data-page="accueil"] .home-v13-pv-autres h3.home-v13-pv-autres-title{font-size:34px !important;line-height:1.15 !important}
body[data-page="accueil"] .home-v13-pv-autres p{font-size:18px !important;line-height:1.45 !important;max-width:1100px !important;margin-top:0 !important;margin-bottom:0 !important}
body[data-page="accueil"] .home-v13-pv-autres p + p{margin-top:14px !important}
@media (max-width:760px){body[data-page="accueil"] section.home-v13-pv-section{padding:56px 0 40px !important}body[data-page="accueil"] .home-v13-pv-autres h3.home-v13-pv-autres-title{font-size:27px !important;line-height:1.18 !important}body[data-page="accueil"] .home-v13-pv-autres p{font-size:17px !important;max-width:100% !important}}

/* PATCH 8 — espace avant CTA final (fin du texte PV → début CTA) */
body[data-page="accueil"] section.home-v13-pv-section{padding-bottom:48px !important}
body[data-page="accueil"] section.home-v2-final{margin-top:0 !important}
@media (max-width:760px){body[data-page="accueil"] section.home-v13-pv-section{padding-bottom:36px !important}}

/* PATCH — typographie globale des paragraphes courants sans-serif */
html body main .cv-body:not(#_a):not(#_b){font-size:17px!important;font-weight:500!important;line-height:1.42!important;letter-spacing:0!important}
html body main .cv-body-next:not(#_a):not(#_b){margin-bottom:14px!important}
html body main .cv-body-prev:not(#_a):not(#_b){margin-top:0!important}
@media (max-width:767px){html body main .cv-body:not(#_a):not(#_b){font-size:16.5px!important;line-height:1.44!important}}
/* Doctrine couleurs : filets en currentColor conservent leur couleur d'origine */
.cv-keep-before-bg::before{background-color:var(--cv-before)!important}.cv-keep-before-bd::before{border-color:var(--cv-before)!important}
.cv-keep-after-bg::after{background-color:var(--cv-after)!important}.cv-keep-after-bd::after{border-color:var(--cv-after)!important}

/* BATCH 1+2 Offres — grille gauche/droite modalités 1 et 2 */
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire).offer-family{display:grid !important;grid-template-columns:300px minmax(0,1fr) !important;column-gap:56px !important;row-gap:0 !important;align-items:start !important;max-width:1160px !important;width:100% !important;margin-left:auto !important;margin-right:auto !important;padding:56px 0 !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) > *{grid-column:2 !important;min-width:0;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) > .offer-family-head{grid-column:1 !important;grid-row:1 / span 20 !important;display:block !important;margin:0 !important;padding:0 !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-family-number{display:block !important;font-family:var(--sans) !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.12em !important;line-height:1.2 !important;margin:0 0 14px !important;color:#12213D !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-family-head h2{margin:0 !important;color:#12213D !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-sub{margin:0 !important;padding:0 !important;max-width:none !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) :is(.offer-v7-promise,.offer-v14-body,.offer-v14-scope){font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;letter-spacing:0 !important;max-width:none !important;color:#12213D !important;}
body[data-page="offre"] #conduire-developpement .offer-sub-title{font-family:var(--sans) !important;font-size:14px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;line-height:1.3 !important;color:#12213D !important;margin:0 0 14px !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-v17-value-label{position:relative !important;font-family:var(--sans) !important;font-size:12px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.08em !important;line-height:1 !important;color:#12213D !important;margin:28px 0 10px !important;padding:9px 0 0 !important;border:0 !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-v17-value-label::before{content:"" !important;display:block !important;position:absolute !important;left:0 !important;top:0 !important;width:34px !important;height:1px !important;background:var(--gold) !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) .offer-v14-value{font-family:var(--serif) !important;font-size:25px !important;line-height:1.25 !important;font-weight:400 !important;font-style:normal !important;color:#12213D !important;margin:0 !important;max-width:none !important;}
body[data-page="offre"] #conduire-developpement > .offer-v14-modality-sep{width:100% !important;max-width:none !important;height:0 !important;border:0 !important;border-top:1px solid rgba(18,33,61,.18) !important;background:none !important;margin:38px 0 !important;justify-self:stretch !important;}
body[data-page="offre"] #conduire-developpement > .offer-v14-modality-sep + .offer-sub{margin-top:0 !important;padding-top:0 !important;}
body[data-page="offre"] #reconfigurer-trajectoire .offer-mission-boundary{margin-top:28px !important;padding-top:22px !important;border-top:1px solid rgba(18,33,61,.18) !important;}
body[data-page="offre"] #reconfigurer-trajectoire .offer-mission-boundary-label{font-family:var(--sans) !important;font-size:12px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.08em !important;line-height:1 !important;color:#12213D !important;margin:0 0 8px !important;}
body[data-page="offre"] #reconfigurer-trajectoire .offer-v14-scope{margin:0 !important;}
@media (max-width:759px){
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire).offer-family{grid-template-columns:minmax(0,1fr) !important;row-gap:0 !important;padding:42px 0 !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) > *{grid-column:1 !important;}
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire) > .offer-family-head{grid-row:auto !important;margin-bottom:22px !important;}
}

/* BATCH 3 Offres — modalité 3 même grille */
body[data-page="offre"] #decider-avant-engager.offer-family{display:grid !important;grid-template-columns:300px minmax(0,1fr) !important;column-gap:56px !important;row-gap:0 !important;align-items:start !important;max-width:1160px !important;width:100% !important;margin-left:auto !important;margin-right:auto !important;padding:56px 0 !important;}
body[data-page="offre"] #decider-avant-engager > *{grid-column:2 !important;min-width:0;}
body[data-page="offre"] #decider-avant-engager > .offer-family-head{grid-column:1 !important;grid-row:1 / span 20 !important;display:block !important;margin:0 !important;padding:0 !important;}
body[data-page="offre"] #decider-avant-engager .offer-family-number{display:block !important;font-family:var(--sans) !important;font-size:13px !important;font-weight:600 !important;letter-spacing:.12em !important;line-height:1.2 !important;margin:0 0 14px !important;color:#12213D !important;}
body[data-page="offre"] #decider-avant-engager .offer-family-head h2{margin:0 !important;color:#12213D !important;}
body[data-page="offre"] #decider-avant-engager .offer-family-intro{margin:0 0 28px !important;max-width:none !important;}
body[data-page="offre"] #decider-avant-engager .offer-sub{margin:0 !important;padding:0 !important;max-width:none !important;}
body[data-page="offre"] #decider-avant-engager .offer-level-number{font-family:var(--sans) !important;font-size:12px !important;font-weight:600 !important;letter-spacing:.10em !important;line-height:1 !important;color:#12213D !important;margin:0 0 8px !important;}
body[data-page="offre"] #decider-avant-engager .offer-sub-title{font-family:var(--sans) !important;font-size:14px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;line-height:1.3 !important;color:#12213D !important;margin:0 0 10px !important;}
body[data-page="offre"] #decider-avant-engager .offer-v14-body{font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;letter-spacing:0 !important;max-width:none !important;color:#12213D !important;margin:0 !important;}
body[data-page="offre"] #decider-avant-engager > .offer-v14-modality-sep{width:100% !important;max-width:none !important;height:0 !important;border:0 !important;border-top:1px solid rgba(18,33,61,.18) !important;background:none !important;margin:28px 0 !important;justify-self:stretch !important;}
body[data-page="offre"] #decider-avant-engager > .offer-v14-modality-sep + .offer-sub{margin-top:0 !important;padding-top:0 !important;}
body[data-page="offre"] #decider-avant-engager .offer-v17-value-label{position:relative !important;font-family:var(--sans) !important;font-size:12px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.08em !important;line-height:1 !important;color:#12213D !important;margin:28px 0 10px !important;padding:9px 0 0 !important;border:0 !important;}
body[data-page="offre"] #decider-avant-engager .offer-v17-value-label::before{content:"" !important;display:block !important;position:absolute !important;left:0 !important;top:0 !important;width:34px !important;height:1px !important;background:var(--gold) !important;}
body[data-page="offre"] #decider-avant-engager .offer-v14-value{font-family:var(--serif) !important;font-size:25px !important;line-height:1.25 !important;font-weight:400 !important;font-style:normal !important;color:#12213D !important;margin:0 !important;max-width:none !important;}
@media (max-width:759px){
body[data-page="offre"] #decider-avant-engager.offer-family{grid-template-columns:minmax(0,1fr) !important;padding:42px 0 !important;}
body[data-page="offre"] #decider-avant-engager > *{grid-column:1 !important;}
body[data-page="offre"] #decider-avant-engager > .offer-family-head{grid-row:auto !important;margin-bottom:22px !important;}
}

/* BATCH 4 Offres — spécialisation agrivoltaïque, partie principale en grille */
body[data-page="offre"] #agrivoltaisme .offer-agri-main{display:grid !important;grid-template-columns:300px minmax(0,1fr) !important;column-gap:56px !important;align-items:start !important;max-width:1160px !important;margin:0 auto !important;width:100% !important;}
body[data-page="offre"] #agrivoltaisme .offer-agri-main-head .offer-sub-title{margin-top:18px !important;}
body[data-page="offre"] #agrivoltaisme .offer-agri-main-body{min-width:0;}
body[data-page="offre"] #agrivoltaisme .offer-agri-porteur{margin:0 0 32px !important;}
body[data-page="offre"] #agrivoltaisme .offer-agri-porteur-title{font-family:var(--sans) !important;font-size:14px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.06em !important;line-height:1.3 !important;color:var(--ivory) !important;margin:0 0 14px !important;}
body[data-page="offre"] #agrivoltaisme :is(.offer-agri-porteur p,.offer-agri-qualification p:not(.offer-v7-promise)){font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;letter-spacing:0 !important;color:var(--ivory) !important;max-width:none !important;margin:0 0 14px !important;}
body[data-page="offre"] #agrivoltaisme :is(.offer-agri-porteur,.offer-agri-qualification) p:last-child{margin-bottom:0 !important;}
body[data-page="offre"] #agrivoltaisme .offer-agri-qualification{margin:0 !important;padding:0 !important;max-width:none !important;width:auto !important;}
body[data-page="offre"] #agrivoltaisme > .offer-sub-agri{margin-top:56px !important;}
@media (max-width:759px){
body[data-page="offre"] #agrivoltaisme .offer-agri-main{grid-template-columns:minmax(0,1fr) !important;row-gap:24px !important;}
body[data-page="offre"] #agrivoltaisme :is(.offer-agri-porteur p,.offer-agri-qualification p:not(.offer-v7-promise)){font-size:16.5px !important;line-height:1.44 !important;}
}

/* BATCH 5 Offres — Collectivités en deux colonnes + espace CTA */
body[data-page="offre"] .offer-terr-grid{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;gap:64px !important;align-items:start !important;max-width:1160px !important;margin-left:auto !important;margin-right:auto !important;}
body[data-page="offre"] .offer-terr-left p:not(.section-kicker){font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;color:#12213D !important;max-width:none !important;margin:0 0 14px !important;}
body[data-page="offre"] .offer-terr-left p:last-child{margin-bottom:0 !important;}
body[data-page="offre"] .offer-terr-label{font-family:var(--sans) !important;font-size:12px !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:.08em !important;line-height:1 !important;color:#12213D !important;margin:0 0 8px !important;}
body[data-page="offre"] .offer-terr-list{list-style:none !important;margin:0 !important;padding:0 !important;}
body[data-page="offre"] .offer-terr-list li{list-style:none !important;margin:0 !important;padding:16px 0 !important;border-bottom:1px solid rgba(18,33,61,.18) !important;font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;color:#12213D !important;}
body[data-page="offre"] .offer-terr-list li::before{content:none !important;display:none !important;}
body[data-page="offre"] .offer-terr-list li:last-child{border-bottom:0 !important;}
body[data-page="offre"] .offer-territorial-section{padding-bottom:60px !important;margin-bottom:0 !important;}
body[data-page="offre"] .offer-final-cta-section{margin-top:0 !important;}
@media (max-width:759px){
body[data-page="offre"] .offer-terr-grid{grid-template-columns:minmax(0,1fr) !important;gap:32px !important;}
body[data-page="offre"] .offer-territorial-section{padding-bottom:40px !important;}
}

/* BATCH 2 Méthode — phrase de sortie */
body[data-page="methode"] .method-v5-cases-conclusion{font-family:var(--serif) !important;font-size:30px !important;line-height:1.24 !important;font-weight:400 !important;max-width:900px !important;text-align:center !important;color:#12213D !important;margin:52px auto 64px !important;}
body[data-page="methode"] .method-v2-cases{padding-bottom:0 !important;}
@media (max-width:759px){body[data-page="methode"] .method-v5-cases-conclusion{font-size:24px !important;line-height:1.30 !important;margin:38px auto 46px !important;}}

/* BATCH 3 Méthode — À l'épreuve du réel, chapitres */
body[data-page="methode"] .method-cases-anon{font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;letter-spacing:0 !important;max-width:760px !important;color:#12213D !important;margin:18px 0 14px !important;}
body[data-page="methode"] .method-v5-accordions{max-width:1160px !important;margin-left:auto !important;margin-right:auto !important;display:block !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion{border:0 !important;border-top:1px solid rgba(18,33,61,.18) !important;background:none !important;box-shadow:none !important;padding:44px 0 !important;margin:0 !important;border-radius:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion:first-child{border-top:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion h3{margin:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle{display:grid !important;grid-template-columns:260px minmax(0,1fr) !important;column-gap:56px !important;align-items:start !important;padding:0 !important;background:none !important;border:0 !important;text-align:left !important;width:100% !important;}
body[data-page="methode"] .method-v5-accordions .method-case-num{grid-column:1;grid-row:1;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.10em;line-height:1.2;color:#12213D;margin-bottom:12px;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{grid-column:1 !important;grid-row:2 !important;margin:0 0 10px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-title{grid-column:1 !important;grid-row:3 !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{grid-column:2 !important;grid-row:1 / span 3 !important;font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;color:#12213D !important;margin:0 !important;max-width:none !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{grid-column:2 !important;grid-row:4 !important;justify-self:start !important;margin-top:14px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel{margin:24px 0 0 316px !important;padding:0 !important;border:0 !important;background:none !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel p:not(.case-conclusion){font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;}
@media (max-width:759px){
body[data-page="methode"] .method-v5-accordions .case-accordion{padding:32px 0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle{grid-template-columns:minmax(0,1fr) !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle > *{grid-column:1 !important;grid-row:auto !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{margin-top:14px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel{margin-left:0 !important;}
body[data-page="methode"] :is(.method-cases-anon,.method-v5-accordions .method-v11-case-preview,.method-v5-accordions .case-accordion-panel p:not(.case-conclusion)){font-size:16.5px !important;line-height:1.44 !important;}
}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle{row-gap:0 !important;gap:0 56px !important;min-height:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle > *{margin-top:0 !important;margin-bottom:0 !important;}
body[data-page="methode"] .method-v5-accordions .method-case-num{margin-bottom:12px !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{margin-bottom:10px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{margin-top:14px !important;}
@media (max-width:759px){body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{margin-top:14px !important;}}

/* BATCH CORRECTIF — Accueil — Périmètres (hiérarchie) */
html body[data-page="accueil"] main .home-v112-scope-eyebrow{color:var(--gold)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.12em!important}
html body[data-page="accueil"] main .home-v112-scope-heading{font-family:var(--serif)!important;font-size:46px!important;font-weight:500!important;line-height:1.08!important;letter-spacing:-.015em!important;color:#12213D!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-intro>p:first-child{font-family:var(--serif)!important;font-size:28px!important;font-weight:500!important;line-height:1.22!important;letter-spacing:-.01em!important;max-width:980px!important;color:#12213D!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-intro>p:not(:first-child){font-family:var(--sans)!important;font-size:17px!important;font-weight:500!important;line-height:1.42!important;letter-spacing:0!important;max-width:1120px!important;color:#12213D!important;margin-top:0!important;margin-bottom:14px!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-intro>p:last-child{margin-bottom:0!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels .home-v112-col-num{font-family:var(--sans)!important;font-size:13px!important;font-weight:600!important;letter-spacing:.10em!important;line-height:1!important;color:var(--gold)!important;margin:0 0 10px!important;padding:0!important;text-transform:none!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title{font-family:var(--serif)!important;font-size:27px!important;font-weight:500!important;line-height:1.1!important;letter-spacing:-.015em!important;color:#12213D!important;margin-top:0!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title::after{content:"";display:block;width:32px;height:1px;background:var(--gold);margin-top:14px}
@media (min-width:1100px){html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title{white-space:nowrap!important}}
@media (max-width:759px){
html body[data-page="accueil"] main .home-v112-scope-heading{font-size:36px!important;line-height:1.1!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-intro>p:first-child{font-size:24px!important;line-height:1.25!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title{font-size:26px!important;line-height:1.12!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-intro>p:not(:first-child){font-size:16.5px!important;line-height:1.44!important}}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-intro>p:nth-child(2){margin-top:22px!important}
/* BATCH CORRECTIF FINAL — Accueil — Périmètres */
html body[data-page="accueil"] main .home-v112-scope-eyebrow{font-size:18px!important;font-weight:600!important;letter-spacing:.14em!important;line-height:1.4!important;text-transform:uppercase!important;color:var(--gold)!important}
html body[data-page="accueil"] main .home-v112-scope-heading{font-size:42px!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title::after{content:none!important;display:none!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels .home-v112-situation-visual{margin-bottom:16px!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels p.home-v112-scope-label{font-size:13px!important;letter-spacing:.10em!important;line-height:1.1!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels p:not(.home-v112-scope-label):not(.home-v112-col-num){font-size:17px!important;line-height:1.42!important;font-weight:500!important;color:#12213D!important;margin:10px 0 0!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels article+article{border-color:rgba(18,33,61,.12)!important}
@media (min-width:760px){
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels{grid-template-rows:repeat(9,auto)!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article{display:grid!important;grid-row:span 9!important;grid-template-rows:subgrid!important;row-gap:0!important;align-content:start}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article>*{align-self:start}}
@media (max-width:759px){html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels p:not(.home-v112-scope-label):not(.home-v112-col-num){font-size:16.5px!important;line-height:1.44!important}}
@media (max-width:759px){html body[data-page="accueil"] main .home-v112-scope-heading{font-size:36px!important}}
@media (max-width:760px){html body[data-page="accueil"] main .home-v112-scope-eyebrow{font-size:15px!important}}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels p.home-v112-scope-label{color:var(--gold)!important}

/* V15 — Accueil : composition agrivoltaïque à quatre visuels */
body[data-page="accueil"] .home-v15-agri-compo{position:relative;max-width:1240px;margin:0 auto;padding:54px 0 48px;display:grid;grid-template-columns:48% 48%;justify-content:space-between;row-gap:20px}
body[data-page="accueil"] .home-v15-agri-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
body[data-page="accueil"] .home-v15-agri-links path{fill:none;stroke:#BD8E31;stroke-opacity:.4;stroke-width:1;vector-effect:non-scaling-stroke}
body[data-page="accueil"] .home-v15-pole{position:relative;z-index:1;display:flex;align-items:center;gap:28px}
body[data-page="accueil"] .home-v15-pole-text{flex:1;min-width:0;text-align:left}
body[data-page="accueil"] .home-v15-pole h3{font-family:var(--font-serif,"Cormorant Garamond",serif);font-size:27px;font-weight:500;line-height:1.15;color:#F5F2EB;margin:0 0 14px;text-transform:none;letter-spacing:0}
body[data-page="accueil"] .home-v15-pole p{font-size:17px;font-weight:500;line-height:1.42;color:#F5F2EB;margin:0 0 14px;max-width:none;text-align:left}
body[data-page="accueil"] .home-v15-pole p:last-child{margin-bottom:0}
body[data-page="accueil"] .home-v15-img{width:285px;max-width:48%;height:auto;object-fit:contain;flex:none;background:none;box-shadow:none;border:0}
body[data-page="accueil"] .home-v15-img-mobile{display:none}
body[data-page="accueil"] .home-v15-core{grid-column:1/-1;position:relative;z-index:1;margin:0 auto;width:430px;max-width:38%;text-align:center}
body[data-page="accueil"] .home-v15-core img{width:100%;height:auto;object-fit:contain;display:block}
body[data-page="accueil"] .home-v15-core figcaption{margin-top:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#F5F2EB}
body[data-page="accueil"] .home-v15-pole-terr{grid-column:1/-1;margin:12px auto 0;max-width:760px;display:grid;grid-template-columns:300px 1fr;gap:42px}
body[data-page="accueil"] .home-v15-pole-terr .home-v15-img{width:300px;max-width:100%}
body[data-page="accueil"] .home-v15-agri-compo + .home-v7-agri-cta{margin-top:52px}
@media (max-width:1100px){
 body[data-page="accueil"] .home-v15-agri-links{display:none}
 body[data-page="accueil"] .home-v15-agri-compo{grid-template-columns:1fr;row-gap:44px}
 body[data-page="accueil"] .home-v15-img{max-width:260px;width:40%}
 body[data-page="accueil"] .home-v15-core{width:390px;max-width:100%}
 body[data-page="accueil"] .home-v15-pole-terr{grid-template-columns:260px 1fr;margin-top:0}
}
@media (max-width:759px){
 body[data-page="accueil"] .home-v15-img-desk{display:none}
 body[data-page="accueil"] .home-v15-img-mobile{display:block;width:78%;max-width:300px;height:auto;object-fit:contain;margin:6px auto 16px}
 body[data-page="accueil"] .home-v15-pole,body[data-page="accueil"] .home-v15-pole-terr{display:block}
 body[data-page="accueil"] .home-v15-core{width:88%;max-width:360px}
 body[data-page="accueil"] .home-v15-pole h3{font-size:24px;line-height:1.18}
 body[data-page="accueil"] .home-v15-pole p{font-size:16.5px;line-height:1.44}
}
@media (min-width:1101px){body[data-page="accueil"] .home-v15-core{margin-top:-90px}}

/* V16 — Accueil · L'Approche Convergence (rééquilibrage) */
body[data-page="accueil"] .home-v112-approach-eyebrow.cv-saffron{color:#BD8E31 !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{font-family:"Cormorant Garamond",Georgia,serif !important;font-size:31px !important;font-weight:500 !important;line-height:1.22 !important;color:#F5F2EB !important;text-align:center !important;max-width:900px !important;margin-left:auto !important;margin-right:auto !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{margin-bottom:34.44px !important}
body[data-page="accueil"] .home-v112-approach figure.home-v112-approach-figure img{width:967.6px !important;max-width:100% !important;height:auto !important;margin-left:auto !important;margin-right:auto !important;display:block}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement{font-family:"Cormorant Garamond",Georgia,serif !important;font-size:35px !important;font-weight:500 !important;line-height:1.18 !important;color:#F5F2EB !important;text-align:center !important;max-width:980px !important;margin-left:auto !important;margin-right:auto !important;margin-top:42px !important}
@media (max-width:1100px){
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{font-size:28px !important;line-height:1.24 !important}
body[data-page="accueil"] .home-v112-approach figure.home-v112-approach-figure img{width:90% !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement{font-size:32px !important;line-height:1.2 !important}}
@media (max-width:759px){
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{font-size:24px !important;line-height:1.28 !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-title{margin-bottom:24.6px !important}
body[data-page="accueil"] .home-v112-approach figure.home-v112-approach-figure img{width:100% !important}
body[data-page="accueil"] .home-v112-approach p.home-v112-approach-statement{font-size:27px !important;line-height:1.23 !important}}

/* V17 — Accueil · Spécialisation agrivoltaïque (compacité + schéma) */
body[data-page="accueil"] .home-v6-agri-eyebrow.cv-saffron{color:#BD8E31 !important}
body[data-page="accueil"] .home-v6-agri-eyebrow.cv-saffron::before{background:#BD8E31 !important;border-color:#BD8E31 !important}
@media (min-width:1101px){
body[data-page="accueil"] .home-v15-agri-compo{padding:36px 0 28px;row-gap:0}
body[data-page="accueil"] .home-v15-img{width:215px}
body[data-page="accueil"] .home-v15-core{width:225px;max-width:none;margin-top:6px}
body[data-page="accueil"] .home-v15-pole-terr{grid-template-columns:215px 1fr;max-width:720px;margin-top:34px}
body[data-page="accueil"] .home-v15-pole-terr .home-v15-img{width:215px}
body[data-page="accueil"] .home-v15-agri-compo + .home-v7-agri-cta{margin-top:40px}
body[data-page="accueil"] .home-v15-agri-links path{stroke-opacity:.55}}
@media (min-width:760px) and (max-width:1100px){body[data-page="accueil"] .home-v15-core{width:270px;max-width:100%}}
@media (max-width:759px){body[data-page="accueil"] .home-v15-core{width:81%;max-width:312px}}
@media (min-width:1101px){
body[data-page="accueil"] .home-v15-pole-agri,body[data-page="accueil"] .home-v15-pole-site{flex-direction:row-reverse;align-items:flex-start;gap:34px}
body[data-page="accueil"] .home-v15-core{margin-top:34px}
body[data-page="accueil"] .home-v15-pole-terr{grid-template-columns:215px 440px;max-width:none;justify-content:start;margin-left:calc(50% - 107.5px);margin-right:0;margin-top:40px}}
@media (min-width:1101px){body[data-page="accueil"] .home-v15-core{margin-top:4px}}

/* V18 — Accueil · fin de page (transition, Autres typologies, rapprochement CTA) */
body[data-page="accueil"] section.home-v14-transition-section{padding:58px 0 !important}
body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition{font-family:var(--serif) !important;font-size:27px !important;font-weight:500 !important;line-height:1.28 !important;color:#12213D !important;text-align:center !important;max-width:1180px !important;margin-left:auto !important;margin-right:auto !important}
body[data-page="accueil"] section.home-v13-pv-section{padding-top:53.8px !important;padding-bottom:54px !important}
body[data-page="accueil"] .home-v13-pv-autres{position:relative;max-width:none !important;border-top:0 !important}
body[data-page="accueil"] .home-v13-pv-autres::before{content:"";position:absolute;top:0;left:9%;width:82%;height:1px;background:rgba(18,33,61,.16)}
body[data-page="accueil"] .home-v13-pv-autres h3.home-v13-pv-autres-title{font-family:var(--serif) !important;font-size:34px !important;font-weight:500 !important;line-height:1.12 !important;letter-spacing:-.01em !important;text-transform:none !important;color:#12213D !important;margin:0 0 22px !important}
body[data-page="accueil"] .home-v13-pv-autres p{font-family:var(--sans) !important;font-size:17px !important;font-weight:500 !important;line-height:1.42 !important;color:#12213D !important;max-width:1360px !important;text-align:left !important}
body[data-page="accueil"] .home-v13-pv-autres p + p{margin-top:18px !important}
body[data-page="accueil"] section.home-v2-final{margin-top:0 !important}
@media (max-width:759px){
body[data-page="accueil"] section.home-v14-transition-section{padding:40px 0 !important}
body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition{font-size:22px !important;line-height:1.32 !important;max-width:calc(100% - 40px) !important}
body[data-page="accueil"] section.home-v13-pv-section{padding-top:33.6px !important}
body[data-page="accueil"] .home-v13-pv-autres h3.home-v13-pv-autres-title{font-size:28px !important;line-height:1.15 !important}
body[data-page="accueil"] .home-v13-pv-autres p{font-size:16.5px !important;line-height:1.44 !important}}
body[data-page="accueil"] section.home-v13-pv-section .home-v13-pv-autres p + p{margin-top:18px !important}
html body[data-page="accueil"] main section.home-v13-pv-section .home-v13-pv-autres p{margin-top:0 !important;margin-bottom:18px !important}html body[data-page="accueil"] main section.home-v13-pv-section .home-v13-pv-autres p:last-child{margin-bottom:0 !important}
html body main section.home-v13-pv-section .home-v13-pv-autres p.cv-body-next:not(#_a):not(#_b):not(#_c){margin-bottom:18px!important}html body main section.home-v13-pv-section .home-v13-pv-autres p:last-child:not(#_a):not(#_b):not(#_c){margin-bottom:0!important}

/* V19 — Accueil · Hero plein premier écran (≥1100px), visuel ancré bas-droite */
@media (min-width:1100px){
body[data-page="accueil"] .home-v2-hero{min-height:calc(100svh - var(--cv-stable-header-height,var(--cv-header-h,133px))) !important;overflow:hidden !important;box-sizing:border-box}
body[data-page="accueil"] .home-v112-topo{top:0 !important;right:0 !important;bottom:0 !important;left:0 !important;overflow:hidden !important}
body[data-page="accueil"] .home-v112-topo-frame{height:auto !important;aspect-ratio:1557/1262 !important}
}
@media (min-width:760px) and (max-width:1099px){
body[data-page="accueil"] .home-v2-hero{min-height:auto !important;overflow:hidden !important}}

/* V20 — Accueil · L'Approche Convergence : compaction laptop */
html body[data-page="accueil"] main section.home-v112-approach-section{padding-top:68.43px !important;padding-bottom:59.04px !important}
html body[data-page="accueil"] main .home-v112-approach p.home-v112-approach-title{margin-bottom:26.14px !important}
html body[data-page="accueil"] main .home-v112-approach figure.home-v112-approach-figure img{width:861.2px !important;max-width:100% !important}
html body[data-page="accueil"] main .home-v112-approach p.home-v112-approach-statement{margin-top:30.24px !important;margin-bottom:57.2px !important}
@media (max-width:1099px){
html body[data-page="accueil"] main section.home-v112-approach-section{padding-top:56.32px !important;padding-bottom:47.56px !important}
html body[data-page="accueil"] main .home-v112-approach figure.home-v112-approach-figure img{width:80.1% !important}}
@media (max-width:759px){
html body[data-page="accueil"] main .home-v112-approach p.home-v112-approach-title{margin-bottom:18.7px !important}
html body[data-page="accueil"] main .home-v112-approach figure.home-v112-approach-figure img{width:89% !important}
html body[data-page="accueil"] main .home-v112-approach p.home-v112-approach-statement{margin-bottom:41.6px !important}}

/* V21 — Accueil · Hero : espacements du bloc texte (≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main .home-v2-hero{position:relative !important;overflow:hidden !important}
html body[data-page="accueil"] main .home-v2-hero .home-v11-hero-layout h1{margin-top:0 !important;margin-bottom:42px !important}
html body[data-page="accueil"] main .home-v2-hero p.home-v6-hero-eyebrow{margin-top:0 !important;margin-bottom:32px !important}
html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers{display:grid !important;row-gap:14px !important;margin-top:0 !important;margin-bottom:42px !important}
html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers li{margin:0 !important}
html body[data-page="accueil"] main .home-v2-hero .home-v11-audiences{display:grid !important;row-gap:17px !important;margin-top:0 !important}
html body[data-page="accueil"] main .home-v2-hero .home-v11-audiences p:not(#_a):not(#_b):not(#_c){margin:0 !important}}

/* V22 — Accueil · transition courte + kicker « Autres typologies photovoltaïques » */
html body[data-page="accueil"] main section.home-v14-transition-section{padding-top:56px !important;padding-bottom:56px !important}
html body[data-page="accueil"] main .home-v14-transition-section p.home-v14-agri-transition{max-width:1120px !important;margin:0 auto !important;text-align:center !important}
html body[data-page="accueil"] main section.home-v13-pv-section{padding-top:64px !important;padding-bottom:64px !important}
html body[data-page="accueil"] main .home-v13-pv-autres{max-width:1320px !important;margin-left:auto !important;margin-right:auto !important;padding-top:0 !important;border-top:0 !important;margin-top:0 !important}
html body[data-page="accueil"] main .home-v13-pv-autres::before{content:none !important;display:none !important}
html body[data-page="accueil"] main .home-v13-pv-autres p.home-v13-pv-kicker:not(#_a):not(#_b):not(#_c){display:flex !important;align-items:center !important;gap:18px !important;margin:0 0 28px !important;color:#BD8E31 !important;text-align:left !important;max-width:none !important}
html body[data-page="accueil"] main .home-v13-pv-autres p.home-v13-pv-kicker::before{content:"" !important;display:block !important;position:static !important;width:44px !important;height:1px !important;flex:none !important;background:#BD8E31 !important;margin:0 !important}
html body[data-page="accueil"] main .home-v13-pv-autres p.home-v13-pv-kicker::after{content:none !important}
html body main section.home-v13-pv-section .home-v13-pv-autres p.cv-body-next:not(#_a):not(#_b):not(#_c){margin-bottom:28px!important}
html body main section.home-v13-pv-section .home-v13-pv-autres p:last-child:not(#_a):not(#_b):not(#_c){margin-bottom:0!important}
html body[data-page="accueil"] main .home-v13-pv-autres p.home-v13-pv-kicker:not(#_a):not(#_b):not(#_c):not(#_d){font-family:var(--sans) !important;font-size:18px !important;font-weight:600 !important;letter-spacing:.14em !important;line-height:1.4 !important;text-transform:uppercase !important}
@media (max-width:759px){html body[data-page="accueil"] main .home-v13-pv-autres p.home-v13-pv-kicker:not(#_a):not(#_b):not(#_c):not(#_d){font-size:15px !important}}

/* V23 — Accueil · normalisation des paddings verticaux (desktop ≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-scope-section,
html body[data-page="accueil"] main section.home-v2-agri-section,
html body[data-page="accueil"] main section.home-v112-approach-section,
html body[data-page="accueil"] main section.home-v13-pv-section{padding-top:64px !important;padding-bottom:64px !important}
html body[data-page="accueil"] main section.home-v14-transition-section{padding-top:40px !important;padding-bottom:40px !important}
html body[data-page="accueil"] main section.home-v2-final{padding-top:48px !important;padding-bottom:48px !important}}

/* V24 — Accueil · bloc ivoire de transition : hauteur verticale réduite */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v14-transition-section{padding-top:22px !important;padding-bottom:22px !important;min-height:0 !important;height:auto !important}}
html body[data-page="accueil"] main .home-v14-transition-section .container{margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important;min-height:0 !important}
html body[data-page="accueil"] main .home-v14-transition-section p.home-v14-agri-transition{margin-top:0 !important;margin-bottom:0 !important}

/* V26 — Approche Convergence : espacements verticaux resserrés (desktop) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section{padding-top:40px !important;padding-bottom:40px !important;min-height:0 !important;height:auto !important}
html body[data-page="accueil"] main section.home-v112-approach-section > .home-v112-approach{margin-top:0 !important;margin-bottom:0 !important}
html body[data-page="accueil"] main .home-v112-approach > :first-child{margin-top:0 !important}
html body[data-page="accueil"] main .home-v112-approach > :last-child{margin-bottom:0 !important}
html body[data-page="accueil"] main .home-v112-approach h2.home-v112-approach-eyebrow{margin-bottom:28px !important}
html body[data-page="accueil"] main .home-v112-approach p.home-v112-approach-title{margin-top:0 !important;margin-bottom:28px !important}
html body[data-page="accueil"] main .home-v112-approach figure.home-v112-approach-figure{margin-top:0 !important;margin-bottom:0 !important}
html body[data-page="accueil"] main .home-v112-approach p.home-v112-approach-statement{margin-top:28px !important}
}
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach h2.home-v112-approach-eyebrow{margin-top:0 !important}
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach a.home-v6-method-link{margin-bottom:0 !important}
}

/* V27 — Approche Convergence : phrase haute sur une ligne, retour conclusif */
.cv-approach-br{display:none}
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-statement{max-width:1400px !important}
html body[data-page="accueil"] main section.home-v112-approach-section .cv-approach-br{display:inline}
}
@media (min-width:1280px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-title{max-width:1400px !important;width:calc(100% - 80px) !important;margin-left:auto !important;margin-right:auto !important;margin-bottom:18px !important}
}

/* V28 — Périmètres : titres de colonnes safran ; padding mobile 40 px */
html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope-levels h3.home-v112-col-title{color:#BD8E31 !important}
@media (max-width:759px){
html body[data-page="accueil"] main section.home-v112-scope-section{padding-top:40px !important;padding-bottom:40px !important}
}

/* V29 — Approche Convergence : schéma remonté, conclusion réduite (~13 %) */
@media (min-width:1280px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure{margin-top:-28px !important}
}
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-statement{font-size:30.5px !important}
}
@media (min-width:760px) and (max-width:1099px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-statement{font-size:28px !important}
}

/* V30 — Accueil · Périmètres d'intervention : padding vertical global resserré (desktop/laptop, rythme du bloc ivoire) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-scope-section{padding-top:22px !important;padding-bottom:22px !important;min-height:0 !important;height:auto !important}
html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope{margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important;min-height:0 !important}
html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope > :first-child{margin-top:0 !important}
html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope > :last-child{margin-bottom:0 !important}
}

/* V31 — Approche Convergence : intro 1 ligne, schéma remonté, conclusion 27px (actif dès 1100 px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-title.home-v112-approach-title{white-space:nowrap !important;width:max-content !important;max-width:none !important;margin-left:auto !important;margin-right:auto !important}
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure.home-v112-approach-figure{margin-top:0 !important}
}
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-statement.home-v112-approach-statement{font-size:27px !important}
}

/* V32 — Accueil · Autres typologies photovoltaïques : padding vertical resserré (desktop/laptop, rythme du bloc ivoire) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v13-pv-section{padding-top:22px !important;padding-bottom:22px !important;min-height:0 !important;height:auto !important}
html body[data-page="accueil"] main section.home-v13-pv-section .home-v13-pv-autres{margin-top:0 !important;margin-bottom:0 !important;padding-top:0 !important;padding-bottom:0 !important;min-height:0 !important}
html body[data-page="accueil"] main section.home-v13-pv-section .home-v13-pv-autres > :first-child{margin-top:0 !important}
html body[data-page="accueil"] main section.home-v13-pv-section .home-v13-pv-autres > :last-child{margin-bottom:0 !important}
}
/* V33 — Approche : phrase remontée 22px + schéma +10 % (≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-title.home-v112-approach-title{transform:translateY(-10px) !important}
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure img{width:947.3px !important;max-width:100% !important;height:auto !important}
}
/* V34 — Spécialisation agrivoltaïque : modules compacts (≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main .home-v15-agri-compo{grid-template-columns:minmax(0,1fr) 236px minmax(0,1fr) !important;column-gap:22px !important;row-gap:0 !important;align-items:start !important;padding-bottom:0 !important}
html body[data-page="accueil"] main .home-v15-pole-agri,html body[data-page="accueil"] main .home-v15-pole-site{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:18px !important;grid-row:1 !important}
html body[data-page="accueil"] main .home-v15-pole-agri{grid-column:1 !important}
html body[data-page="accueil"] main .home-v15-pole-site{grid-column:3 !important}
html body[data-page="accueil"] main .home-v15-pole-agri .home-v15-img-desk{order:-1;align-self:flex-start}
html body[data-page="accueil"] main .home-v15-pole-site .home-v15-img-desk{align-self:flex-end}
html body[data-page="accueil"] main .home-v15-pole-agri .home-v15-img-desk,html body[data-page="accueil"] main .home-v15-pole-site .home-v15-img-desk{width:215px !important;max-width:none !important;flex:0 0 auto !important}
html body[data-page="accueil"] main .home-v15-core.home-v15-core{grid-column:2 !important;grid-row:1 !important;width:236px !important;margin:190px auto 0 !important}
html body[data-page="accueil"] main .home-v15-pole-terr.home-v15-pole-terr{grid-row:2 !important;grid-column:1/-1 !important;margin-top:24px !important}
html body[data-page="accueil"] main .home-v15-agri-compo + .home-v7-agri-cta{margin-top:40px !important}
}

/* V35 — Approche : tailles des deux phrases éditoriales (desktop/laptop ≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-title.home-v112-approach-title{font-size:27px !important}
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach p.home-v112-approach-statement.home-v112-approach-statement{font-size:31px !important}
}
/* V36 — Approche : nouveau schéma, jamais déformé */
html body[data-page="accueil"] .home-v112-approach-figure img{height:auto!important;object-fit:contain!important;}
/* V37 — Spécialisation agrivoltaïque : padding 22px, CTA décalé, bouton une ligne (≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v2-agri-section{padding-top:22px!important;padding-bottom:22px!important;min-height:0!important;height:auto!important;}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v7-agri-cta{transform:translateX(-120px)!important;}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v7-agri-link{white-space:nowrap!important;width:max-content!important;max-width:none!important;}
}
/* V38 — Spécialisation agrivoltaïque : haut du bloc resserré (≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v2-agri-section .home-v2-agri > h2{margin-top:14.4px!important;}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v2-agri > h2 + *{margin-top:18.7px!important;}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-agri-compo{margin-top:-45px!important;}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-core{margin-top:235px!important;}
}
/* V39 — Spécialisation agrivoltaïque : visuels réduits et remontés (≥1100px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-pole-agri .home-v15-img-desk,html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-pole-site .home-v15-img-desk{width:185px!important;height:auto!important}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-pole-agri,html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-pole-site{margin-top:-20px!important}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-core.home-v15-core{width:215px!important;margin-top:205px!important}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-core img{width:100%!important;height:auto!important}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-pole-terr .home-v15-img-desk{width:191px!important;height:auto!important}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-pole-terr.home-v15-pole-terr{margin-top:-6px!important}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-agri-compo + .home-v7-agri-cta{margin-top:15px!important}
}

/* V39 — CTA agrivoltaïque : phrase sur une seule ligne (desktop/laptop ≥ 1100 px) */
@media (min-width:1100px){
html body[data-page="accueil"] main section.home-v2-agri-section .home-v7-agri-cta p{
  white-space:nowrap!important;
  width:max-content!important;
  max-width:none!important;
}
html body[data-page="accueil"] main section.home-v2-agri-section .home-v7-agri-cta{
  width:max-content!important;
  gap:48px!important;
  transform:translateX(max(-120px,calc(-50vw + 500px)))!important;
}
}

/* V40 — Hero Offres : espacement des deux lignes du titre à 26 px (≥ 1100 px) */
@media (min-width:1100px){
body[data-page="offre"] .offer-v2-hero h1 span + span{
  margin-top:26px!important;
}
}

/* V41 — Hero Offres : espacements des paragraphes introductifs (≥ 1100 px) */
@media (min-width:1100px){
  .page-hero.offer-v2-hero{padding-bottom:32px !important;min-height:0 !important;height:auto !important}
  .offer-v2-hero .offer-v7-hero-intro{margin-top:36px !important;margin-bottom:0 !important;padding-bottom:0 !important;display:flex !important;flex-direction:column !important;gap:18px !important}
  .offer-v2-hero .offer-v7-hero-intro p{margin:0 !important}
  .offer-v2-hero h1{margin-bottom:0 !important}
}

/* V42 — Offres : bloc ivoire sous le Hero, compacté (≥ 1100 px) */
@media (min-width:1100px){
  .offer-families-section{padding-top:22px !important;min-height:0 !important;height:auto !important}
  .offer-families-section .offer-expertise-note{margin-top:0 !important;margin-bottom:22px !important;padding:0 !important;min-height:0 !important;height:auto !important}
  html body main .offer-families-section .offer-expertise-note p:not(#_a):not(#_b){line-height:1.38 !important;margin:0 0 16px !important}
  html body main .offer-families-section .offer-expertise-note p:last-child:not(#_a):not(#_b){margin-bottom:0 !important}
}

/* V44 — Offre : entrée Modalités + bloc « Conduire le développement » */
html body main .offer-families-section .offer-families-kicker:not(#_a):not(#_b){margin-bottom:28px !important}
html body main .offer-families-section .offer-expertise-note:not(#_a):not(#_b){margin:0 0 48px !important}
html body main .offer-families-section .offer-expertise-note p:not(#_a):not(#_b){margin:0 !important}
html body main .offer-families-section .offer-expertise-note p + p:not(#_a):not(#_b){margin-top:6px !important}
body[data-page="offre"] #conduire-developpement.offer-family > .offer-family-head > .offer-family-number.offer-family-number{color:#BD8E31 !important;}
body[data-page="offre"] #conduire-developpement.offer-family > .offer-family-head > h2{color:#12213D !important;}
body[data-page="offre"] #conduire-developpement .offer-sub-title.offer-sub-title,
body[data-page="offre"] #conduire-developpement .offer-v17-value-label.offer-v17-value-label{color:#BD8E31 !important;}
html body main #conduire-developpement .offer-v14-value:not(#_a):not(#_b){font-family:var(--sans) !important;font-style:normal !important;font-size:18px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0 !important}
body[data-page="offre"] #conduire-developpement .offer-family-visual{display:block;width:210px;max-width:100%;height:auto;object-fit:contain;margin:28px auto 0;background:none;border:0;box-shadow:none;}
body[data-page="offre"] #reconfigurer-trajectoire .offer-family-visual{display:block;width:210px;max-width:100%;height:auto;object-fit:contain;margin:28px auto 0;background:none;border:0;box-shadow:none;}

/* V45 — Offre : bloc « 1 / Conduire le développement », espacements verticaux (≥ 1100 px) */
@media (min-width:1100px){
  html body main #conduire-developpement.offer-family:not(#_a){padding-top:22px !important;padding-bottom:22px !important;min-height:0 !important;height:auto !important;margin-top:0 !important;margin-bottom:0 !important}
  html body main #conduire-developpement.offer-family > :first-child:not(#_a){margin-top:0 !important}
  html body main #conduire-developpement.offer-family > :last-child:not(#_a){margin-bottom:0 !important}
  html body main #conduire-developpement .offer-v14-modality-sep:not(#_a){margin-top:28px !important;margin-bottom:28px !important}
}

/* V46 — Offre : « Conduire le développement », deux modules éditoriaux distincts */
html body main #conduire-developpement .offer-sub:not(#_a){border-left:2px solid #BD8E31 !important;padding-left:28px !important;background:none !important;box-shadow:none !important}
html body main #conduire-developpement .offer-v14-modality-sep:not(#_a){border:0 !important;border-top:1px solid rgba(18,33,61,.16) !important;height:0 !important;background:none !important;margin-top:40px !important;margin-bottom:40px !important;width:100% !important}
@media (max-width:640px){html body main #conduire-developpement .offer-sub:not(#_a){padding-left:18px !important}}

/* V47 — Offre : « Conduire le développement », titre de sous-offre → première phrase = label → bénéfice */
html body main #conduire-developpement .offer-sub-title:not(#_a){margin-bottom:10px !important}
html body main #conduire-developpement .offer-sub-title + .offer-v7-promise:not(#_a):not(#_b){margin-top:0 !important}

/* V48 — Offre : « 2 / Reconfigurer une trajectoire » aligné sur le bloc 1 */
body[data-page="offre"] #reconfigurer-trajectoire.offer-family > .offer-family-head > .offer-family-number.offer-family-number{color:#BD8E31 !important;}
body[data-page="offre"] #reconfigurer-trajectoire.offer-family > .offer-family-head > h2{color:#12213D !important;}
body[data-page="offre"] #reconfigurer-trajectoire .offer-v17-value-label.offer-v17-value-label{color:#BD8E31 !important;}
html body main #reconfigurer-trajectoire .offer-v14-value:not(#_a):not(#_b){font-family:var(--sans) !important;font-style:normal !important;font-size:18px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0 !important;color:#12213D !important}
html body main #reconfigurer-trajectoire .offer-sub:not(#_a){border-left:2px solid #BD8E31 !important;padding-left:28px !important;background:none !important;box-shadow:none !important}
html body main #reconfigurer-trajectoire .offer-sub > :first-child:not(#_a):not(#_b){margin-top:0 !important}
html body main #reconfigurer-trajectoire .offer-mission-boundary:not(#_a){border:0 !important;background:none !important;padding:0 !important;box-shadow:none !important}
html body main #reconfigurer-trajectoire .offer-mission-boundary-label:not(#_a):not(#_b){margin-bottom:10px !important}
html body main #reconfigurer-trajectoire .offer-v14-scope:not(#_a):not(#_b){margin-top:0 !important}
@media (max-width:640px){html body main #reconfigurer-trajectoire .offer-sub:not(#_a){padding-left:18px !important}}
@media (min-width:1100px){
  html body main #reconfigurer-trajectoire.offer-family:not(#_a){padding-top:22px !important;padding-bottom:22px !important;min-height:0 !important;height:auto !important;margin-top:0 !important;margin-bottom:0 !important}
}

/* V49 — Offre : rupture entre familles 1 et 2 (≥ 1100 px) */
@media (min-width:1100px){
  html body main #reconfigurer-trajectoire.offer-family:not(#_a):not(#_b){margin-top:56px !important}
}
/* V50 — Offre bloc 3 Décider */
body[data-page="offre"] #decider-avant-engager.offer-family > .offer-family-head > .offer-family-number.offer-family-number{color:#BD8E31 !important;}
body[data-page="offre"] #decider-avant-engager .offer-family-head h2{color:#12213D !important;}
body[data-page="offre"] #decider-avant-engager .offer-level-number:not(#_a):not(#_b){color:#12213D !important;margin:0 0 6px !important}
body[data-page="offre"] #decider-avant-engager .offer-sub-title:not(#_a):not(#_b){color:#BD8E31 !important;margin-top:0 !important;margin-bottom:10px !important}
body[data-page="offre"] #decider-avant-engager .offer-sub-title + .offer-v14-body:not(#_a):not(#_b){margin-top:0 !important}
body[data-page="offre"] #decider-avant-engager .offer-sub:not(#_a){border-left:2px solid #BD8E31 !important;padding-left:28px !important;background:none !important;box-shadow:none !important}
body[data-page="offre"] #decider-avant-engager .offer-sub > :last-child:not(#_a):not(#_b){margin-bottom:0 !important}
body[data-page="offre"] #decider-avant-engager .offer-v14-modality-sep:not(#_a){border:0 !important;border-top:1px solid rgba(18,33,61,.16) !important;height:0 !important;background:none !important;margin-top:40px !important;margin-bottom:40px !important;width:100% !important}
body[data-page="offre"] #decider-avant-engager .offer-v17-value-label.offer-v17-value-label{color:#BD8E31 !important;}
body[data-page="offre"] #decider-avant-engager .offer-v14-value:not(#_a):not(#_b){font-family:var(--sans) !important;font-style:normal !important;font-size:18px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0 !important;color:#12213D !important}
@media (max-width:640px){ body[data-page="offre"] #decider-avant-engager .offer-sub:not(#_a){padding-left:18px !important} }
@media (min-width:1100px){ html body main #decider-avant-engager.offer-family:not(#_a):not(#_b){padding-top:22px !important;padding-bottom:22px !important;min-height:0 !important;height:auto !important;margin-top:56px !important;margin-bottom:0 !important} }
body[data-page="offre"] #decider-avant-engager .offer-family-visual:not(#_a):not(#_b){display:block;width:210px !important;max-width:100%;height:auto !important;object-fit:contain;margin:28px auto 0 !important;background:none;border:0;box-shadow:none}

/* V52 — Accueil Périmètres : liens par colonne + ancres Offres */
body[data-page="accueil"] .home-v112-scope-link{display:none !important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article:not(#_a){grid-row:span 10!important}
body[data-page="accueil"] a.home-v112-col-link{margin-top:0;padding-top:24px;align-self:flex-start;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.02em;color:#12213D !important;text-decoration:none;border:0;background:none}
body[data-page="accueil"] a.home-v112-col-link:hover,body[data-page="accueil"] a.home-v112-col-link:focus-visible{text-decoration:underline;text-underline-offset:4px}
body[data-page="offre"] .offer-family{position:relative}
body[data-page="offre"] .offer-anchor{position:absolute;top:0;left:0;width:0;height:0;scroll-margin-top:0}

/* V52 — Bloc 2 : traits safran de clôture */
body[data-page="offre"] #reconfigurer-trajectoire .offer-v17-value-label:not(#_a):not(#_b)::before{content:none !important;display:none !important}
body[data-page="offre"] #reconfigurer-trajectoire .offer-v17-value-label:not(#_a):not(#_b){padding-left:0 !important}
body[data-page="offre"] #reconfigurer-trajectoire .offer-v14-scope:not(#_a):not(#_b)::after,
body[data-page="offre"] #reconfigurer-trajectoire .offer-v14-value:not(#_a):not(#_b)::after{content:"";display:block;width:34px;height:1px;background:#BD8E31;margin-top:14px}
body[data-page="offre"] #reconfigurer-trajectoire .offer-mission-boundary:not(#_a):not(#_b){margin-bottom:32px !important}

/* V53 — Offres : fin du bloc ivoire avant Spécialisation agrivoltaïque */
@media (min-width:1100px){
html body main .offer-families-section:not(#_a):not(#_b){padding-bottom:22px !important;min-height:0 !important;height:auto !important;margin-bottom:0 !important}
html body main .offer-families-section .container:not(#_a):not(#_b){padding-bottom:0 !important;margin-bottom:0 !important}
html body main #decider-avant-engager.offer-family:not(#_a):not(#_b){padding-bottom:0 !important;margin-bottom:0 !important}
html body main #decider-avant-engager .offer-v14-value:not(#_a):not(#_b){margin-bottom:0 !important}
html body main .offer-families-section + .offer-agri-band:not(#_a):not(#_b){margin-top:0 !important}
}

/* V54 — Offres blocs 1/2/3 : intros safran + grands traits en clôture */
html body main #reconfigurer-trajectoire .offer-v7-promise.cv-saffron:not(#_a):not(#_b),
html body main #decider-avant-engager .offer-family-intro.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important}
html body main .offer-families-section .offer-family:not(#_a):not(#_b){background-image:linear-gradient(#BD8E31,#BD8E31) !important;background-size:33% 1px !important;background-position:50% 100% !important;background-repeat:no-repeat !important}
@media (min-width:1100px){
html body main #decider-avant-engager.offer-family:not(#_a):not(#_b){padding-bottom:22px !important}
}

/* V55 — Offres agrivoltaïques : 2 sous-offres */
html body main .offer-agri-spec-kicker.cv-saffron{color:#BD8E31 !important}
html body main .offer-agri-main-body h4.offer-agri-porteur-title.cv-saffron{color:#BD8E31 !important}
html body main .offer-agri-main-body > .offer-agri-porteur,html body main .offer-agri-main-body > .offer-agri-qualification{border-left:2px solid #BD8E31 !important;padding-left:28px !important;background:none !important;box-shadow:none !important}
html body main .offer-agri-main-body > .offer-agri-qualification{margin-top:40px !important;position:relative}
html body main .offer-agri-main-body > .offer-agri-qualification::before{content:"";position:absolute;left:-2px;right:0;top:-20px;height:1px;background:rgba(245,242,235,.22)}
html body main .offer-agri-main-body > .offer-agri-qualification:not(#_a):not(#_b){padding-left:28px !important;padding-right:0 !important}
html body main .offer-agri-main-body h4.offer-agri-porteur-title.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important}

/* V56 — Conduire : petits tirets supprimés (espacements conservés) ; phrase conclusive agri en serif */
html body[data-page="offre"] main #conduire-developpement.offer-family .offer-v17-value-label::before{background:transparent !important;border:0 !important;box-shadow:none !important;}
html body main .offer-agri-porteur p.offer-agri-porteur-conclusion:not(#_a):not(#_b){font-family:var(--serif) !important;}

/* V57 — Kicker « OFFRES AGRIVOLTAÏQUES » sur une ligne (≥1100px) */
@media (min-width:1100px){html body[data-page="offre"] main .offer-agri-main-head p.offer-agri-spec-kicker.section-kicker:not(#_a){white-space:nowrap !important;width:max-content !important;max-width:none !important;flex-shrink:0 !important;}}
/* V58 — agri : phrase serif 18.5px + colonne droite décalée de 28px (≥1100px) */
@media (min-width:1100px){
html body[data-page="offre"] main #agrivoltaisme .offer-agri-main:not(#_a){column-gap:84px !important;}
html body[data-page="offre"] main .offer-agri-porteur p.offer-agri-porteur-conclusion:not(#_a):not(#_b){font-size:18.5px !important;line-height:1.36 !important;}
}
/* V59 — agri : kicker +24px, titre gauche descendu, sous-bloc agriculteurs hiérarchisé (≥1100px) */
@media (min-width:1100px){
html body[data-page="offre"] main .offer-agri-main-head p.offer-agri-spec-kicker.section-kicker:not(#_a){transform:translateX(24px) !important;}
html body[data-page="offre"] main #agrivoltaisme .offer-agri-main-head:not(#_a){align-self:stretch !important;}
html body[data-page="offre"] main #agrivoltaisme .offer-agri-main-head .offer-sub-title:not(#_a){margin-top:var(--agri-title-drop,180px) !important;}
html body[data-page="offre"] main .offer-agri-copy:not(#_a){max-width:800px !important;}
html body main .offer-agri-copy h4.offer-agri-copy-title.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important;margin:0 0 12px !important;}
html body main .offer-agri-copy p.offer-agri-copy-pivot:not(#_a):not(#_b){font-family:var(--serif) !important;font-size:20px !important;font-weight:500 !important;line-height:1.35 !important;margin:0 0 26px !important;}
html body main .offer-agri-copy .offer-agri p.offer-agri-body:not(#_a):not(#_b){margin:0 0 10px !important;}
html body main .offer-agri-copy .offer-agri p.offer-agri-body:last-child:not(#_a):not(#_b){margin-bottom:0 !important;}
}
/* V60 — Collectivités : kicker safran + titre éditorial serif */
html body main .offer-terr-left p.offer-terr-kicker.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important;margin-top:0 !important;margin-bottom:14px !important;}
html body main .offer-terr-left p.offer-terr-title:not(#_a):not(#_b){font-family:var(--serif) !important;color:#12213D !important;font-size:26px !important;font-weight:500 !important;line-height:1.28 !important;text-transform:none !important;letter-spacing:0 !important;margin:0 0 24px !important;}
/* V61 — Collectivités colonne droite : label safran, filets atténués, respiration */
html body main .offer-terr-right p.offer-terr-label.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important;}
html body main .offer-terr-right .offer-terr-list li:not(#_a):not(#_b){padding-top:20px !important;padding-bottom:20px !important;border-top:0 !important;border-bottom:1px solid rgba(18,33,61,.10) !important;}
html body main .offer-terr-right .offer-terr-list li:first-child:not(#_a):not(#_b){padding-top:12px !important;}
html body main .offer-terr-right .offer-terr-list li:last-child:not(#_a):not(#_b){border-bottom:0 !important;padding-bottom:0 !important;}
/* V62 — kicker agri −28px ; tirets safran bénéfices Collectivités */
@media (min-width:1100px){html body[data-page="offre"] main .offer-agri-main-head p.offer-agri-spec-kicker.section-kicker:not(#_a):not(#_b){transform:translateX(-4px) !important;}}
html body main .offer-terr-right .offer-terr-list li:not(#_a):not(#_b){position:relative !important;padding-left:32px !important;list-style:none !important;}
html body main .offer-terr-right .offer-terr-list li:not(#_a):not(#_b)::before{content:"" !important;position:absolute !important;left:0 !important;width:20px !important;height:1px !important;background:#BD8E31 !important;top:calc(20px + 0.72em) !important;display:block !important;opacity:1 !important;visibility:visible !important;transform:none !important;}
html body main .offer-terr-right .offer-terr-list li:first-child:not(#_a):not(#_b)::before{top:calc(12px + 0.72em) !important;}
/* V63 — Collectivités : 34px kicker → titre (≥1100px) */
@media (min-width:1100px){html body[data-page="offre"] main .offer-terr-left p.offer-terr-kicker.cv-saffron:not(#_a):not(#_b){margin-bottom:34px !important;}}
/* V64 — Collectivités : kicker global au-dessus des 2 colonnes */
html body main .offer-terr-grid > p.offer-terr-kicker.cv-saffron:not(#_a):not(#_b){grid-column:1 / -1 !important;color:#BD8E31 !important;margin:0 0 14px !important;}
@media (min-width:1100px){html body[data-page="offre"] main .offer-terr-grid > p.offer-terr-kicker.cv-saffron:not(#_a):not(#_b){margin-bottom:34px !important;}}
html body main .offer-terr-grid:not(#_a){row-gap:0 !important;}
html body main .offer-terr-left > p.offer-terr-title:not(#_a):not(#_b),html body main .offer-terr-right > p.offer-terr-label:not(#_a):not(#_b){margin-top:0 !important;}
/* V65 — Collectivités : tirets/rythme uniformes ; CTA final compacté */
html body main .offer-terr-right p.offer-terr-label:not(#_a):not(#_b){margin-bottom:8px !important;}
html body main .offer-terr-right .offer-terr-list:not(#_a):not(#_b){margin:0 !important;padding:0 !important;}
html body main .offer-terr-right .offer-terr-list li:not(#_a):not(#_b),html body main .offer-terr-right .offer-terr-list li:first-child:not(#_a):not(#_b),html body main .offer-terr-right .offer-terr-list li:last-child:not(#_a):not(#_b){position:relative !important;padding:18px 0 18px 32px !important;margin:0 !important;border-top:0 !important;}
html body main .offer-terr-right .offer-terr-list li:not(:last-child):not(#_a):not(#_b){border-bottom:1px solid rgba(18,33,61,.10) !important;}
html body main .offer-terr-right .offer-terr-list li:last-child:not(#_a):not(#_b){border-bottom:0 !important;padding-bottom:0 !important;}
html body main .offer-terr-right .offer-terr-list li:not(#_a):not(#_b)::before,html body main .offer-terr-right .offer-terr-list li:first-child:not(#_a):not(#_b)::before{content:"" !important;display:block !important;position:absolute !important;left:0 !important;top:30px !important;width:20px !important;height:1px !important;background:#BD8E31 !important;flex-shrink:0 !important;transform:none !important;opacity:1 !important;}
@media (min-width:1100px){
html body main .offer-terr-left > p.offer-terr-title:not(#_a):not(#_b){margin-bottom:32px !important;}
html body[data-page="offre"] main .offer-final-cta-section:not(#_a){padding-top:0 !important;padding-bottom:40px !important;}
html body[data-page="offre"] main .offer-final-cta-section .offer-final-cta:not(#_a){border-top:0 !important;padding-top:64px !important;padding-bottom:0 !important;}
@media (min-width:1100px){html body[data-page="offre"] main .offer-final-cta-section .offer-final-cta:not(#_a){padding-top:40px !important;}}
html body[data-page="offre"] main .offer-final-cta h2:not(#_a):not(#_b){margin-top:0 !important;margin-bottom:24px !important;}
html body[data-page="offre"] main .offer-final-cta > p:not(#_a):not(#_b){margin-top:0 !important;margin-bottom:34px !important;}
html body[data-page="offre"] main .offer-final-cta .button-row:not(#_a):not(#_b){margin-top:0 !important;margin-bottom:0 !important;}
}
html body main .offer-terr-right .offer-terr-list li:not(#_a):not(#_b){line-height:24px !important;}
/* Micro-patch — Page Méthode, Hero uniquement : kicker « LA MÉTHODE CONVERGENCE »
   passe au safran (exception cv-saffron), même grammaire que les kickers validés.
   Texte, position, tailles et espacements du Hero inchangés. */
body[data-page="methode"] .method-v2-hero .section-kicker.cv-saffron{color:#BD8E31 !important;}
body[data-page="methode"] .method-v2-hero .section-kicker.cv-saffron::before{background:#BD8E31 !important;}
/* V68 — Hero Méthode : resserrement vertical ≥1100px */
@media (min-width:1100px){
  body[data-page="methode"] .method-v2-hero{padding-bottom:58px;}
  body[data-page="methode"] .method-v2-hero h1{margin-top:40px;}
  body[data-page="methode"] .method-v2-hero .lead{margin-top:30px;}
}
/* V69 — Méthode : bloc cinq étapes */
body[data-page="methode"] .method-v2-progress .section-kicker.cv-saffron{color:#BD8E31 !important;}
body[data-page="methode"] .method-v2-progress .section-kicker.cv-saffron::before{background:#BD8E31 !important;}
@media (min-width:1100px){
  body[data-page="methode"] .method-v2-progress .method-v2-intro .section-kicker{margin-bottom:0;}
  body[data-page="methode"] .method-v2-progress .method-v2-intro h2{margin-top:30px;}
  body[data-page="methode"] .method-v2-progress .method-v2-intro{margin-bottom:0;padding-bottom:0;}
  body[data-page="methode"] .method-v2-progress .method-v11-steps-svg{margin-top:40px;}
  body[data-page="methode"] .method-v2-progress{padding-bottom:56px;}
  body[data-page="methode"] .method-v2-progress .method-v5-process-caption{margin-bottom:0;}
}
/* V70 — Méthode : bas du bloc cinq étapes (≥1100px) */
@media (min-width:1100px){
  body[data-page="methode"] .method-v2-progress .method-v11-steps-svg{margin-bottom:-5.47%;}
  body[data-page="methode"] .method-v2-progress .method-v5-process-caption{margin-top:56px;font-size:27px;max-width:1000px;margin-left:auto;margin-right:auto;}
}
/* V71 — Méthode : rythme vertical bloc cinq étapes (≥1100px) */
@media (min-width:1100px){
  body[data-page="methode"] .method-v2-progress .method-v2-intro .section-kicker{margin-bottom:30px;}
  body[data-page="methode"] .method-v2-progress .method-v2-intro h2{margin-top:0;}
  body[data-page="methode"] .method-v2-progress .method-v11-steps-svg{margin-top:calc(36px - 2.448%);}
  body[data-page="methode"] .method-v2-progress .method-v5-process-caption{margin-top:40px;}
  body[data-page="methode"] .method-v2-progress{padding-bottom:48px;}
}

/* V68 — Méthode : frise native cinq étapes + pictogrammes Principes */
body[data-page="methode"] .cv-steps{position:relative;margin:36px auto 0;max-width:1180px;padding-top:34px;}
body[data-page="methode"] .cv-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);column-gap:24px;position:relative;}
body[data-page="methode"] .cv-steps-loop{position:absolute;top:0;left:0;width:100%;height:60px;overflow:visible;}
body[data-page="methode"] .cv-step{position:relative;text-align:center;}
body[data-page="methode"] .cv-step:not(:last-child)::after{content:"";position:absolute;top:36px;left:calc(50% + 44px);width:calc(100% - 88px + 24px);height:1px;background:#BD8E31;}
body[data-page="methode"] .cv-step:not(:last-child)::before{content:"";position:absolute;top:32px;left:calc(100% + 12px - 6px);width:7px;height:7px;border-top:1.4px solid #BD8E31;border-right:1.4px solid #BD8E31;transform:rotate(45deg);}
body[data-page="methode"] .cv-step-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#12213D;border:1.5px solid #BD8E31;color:#BD8E31;position:relative;z-index:1;}
body[data-page="methode"] .cv-step-icon svg{width:40px;height:40px;}
body[data-page="methode"] .cv-step h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:26px;line-height:1.15;color:#12213D;margin:14px 0 10px;}
body[data-page="methode"] .cv-step-num{color:#BD8E31;}
body[data-page="methode"] .cv-step p{font-size:14px;line-height:1.5;color:#12213D;max-width:210px;margin:0 auto;}
body[data-page="methode"] .method-v2-progress .method-v5-process-caption{margin-top:40px !important;}
@media (max-width:760px){
  body[data-page="methode"] .cv-steps{padding-top:0;margin-top:28px;}
  body[data-page="methode"] .cv-steps-loop{display:none;}
  body[data-page="methode"] .cv-steps ol{grid-template-columns:1fr;row-gap:28px;}
  body[data-page="methode"] .cv-step{display:grid;grid-template-columns:64px 1fr;column-gap:18px;text-align:left;align-items:start;}
  body[data-page="methode"] .cv-step-icon{width:60px;height:60px;grid-row:span 2;}
  body[data-page="methode"] .cv-step-icon svg{width:34px;height:34px;}
  body[data-page="methode"] .cv-step h3{margin:6px 0 6px;font-size:24px;}
  body[data-page="methode"] .cv-step p{margin:0;max-width:none;font-size:15px;}
  body[data-page="methode"] .cv-step:not(:last-child)::after{top:62px;left:30px;width:1px;height:calc(100% - 34px);}
  body[data-page="methode"] .cv-step:not(:last-child)::before{display:none;}
}
body[data-page="methode"] .method-v2-principles .principles{position:relative;}
body[data-page="methode"] .method-v2-principles .principle{position:relative;}
body[data-page="methode"] .cv-principle-icon{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;border:1.5px solid #BD8E31;color:#BD8E31;margin:0 0 22px;position:relative;z-index:1;}
body[data-page="methode"] .cv-principle-icon svg{width:52px;height:52px;}
@media (min-width:761px){
  body[data-page="methode"] .method-v2-principles .principle:not(:last-child)::after{content:"";position:absolute;top:48px;left:106px;right:-10px;height:1px;background:#BD8E31;}
}
body[data-page="methode"] .cv-step-icon svg{width:40px !important;height:40px !important;max-width:none !important;}
body[data-page="methode"] .cv-principle-icon svg{width:54px !important;height:54px !important;max-width:none !important;}
body[data-page="methode"] .method-v2-principles .principle h3{font-family:"Cormorant Garamond",Georgia,serif !important;font-weight:500 !important;font-size:28px !important;letter-spacing:0 !important;}
@media (min-width:761px){
  body[data-page="methode"] .method-v2-principles .principle + .principle{border-left:0 !important;}
  body[data-page="methode"] .method-v2-principles .principle:not(:last-child)::after{left:104px;right:-38px;}
}
@media (max-width:760px){body[data-page="methode"] .cv-step-icon svg{width:34px !important;height:34px !important;}}

/* V72 — À l'épreuve du réel : intro deux colonnes + panneau */
body[data-page="methode"] .method-v2-cases .method-v2-intro{display:grid !important;grid-template-columns:minmax(0,60fr) minmax(0,40fr);column-gap:64px;align-items:start;max-width:1160px;margin-left:auto;margin-right:auto;padding-bottom:44px;border-bottom:1px solid rgba(18,33,61,.18);}
body[data-page="methode"] .method-v2-cases .method-v2-intro > :not(.cv-cases-panel){grid-column:1;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel{grid-column:2;grid-row:2 / span 3;margin:8px 0 0;display:flex;justify-content:center;align-self:start;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel img{display:block;width:100%;max-width:500px;height:auto;background:none;border:0;box-shadow:none;}
@media (max-width:1099px){body[data-page="methode"] .method-v2-cases .method-v2-intro{column-gap:36px;grid-template-columns:minmax(0,58fr) minmax(0,42fr);}}
@media (max-width:760px){body[data-page="methode"] .method-v2-cases .method-v2-intro{grid-template-columns:1fr;padding-bottom:32px;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel{grid-column:1;grid-row:auto;margin:28px auto 0;width:80%;}}
body[data-page="methode"] .method-v2-cases .method-v2-intro{column-gap:48px;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel{margin-top:40px;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel img{max-width:510px;}
@media (max-width:760px){body[data-page="methode"] .method-v2-cases .cv-cases-panel{margin-top:28px;}}
body[data-page="methode"] .method-v2-cases .method-v2-intro{border-bottom:0 !important;}
body[data-page="methode"] .method-v2-cases .section-kicker.cv-saffron{color:#BD8E31 !important;}
body[data-page="methode"] .method-v2-cases .section-kicker.cv-saffron::before{background:#BD8E31 !important;}
/* V73 — Trois cas : finition graphique */
body[data-page="methode"] .method-v5-accordions .case-accordion{padding:52px 0 !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision.cv-saffron{color:#BD8E31 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{margin-top:24px !important;color:#12213D !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command::after{content:" →";color:#BD8E31;display:inline-block;margin-left:6px;transition:transform .2s ease;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle:hover .case-accordion-command::after{transform:translateX(3px);}
@media (min-width:1100px){
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle{grid-template-columns:27% minmax(0,1fr) !important;column-gap:48px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel{margin-left:calc(27% + 48px) !important;}
}
@media (min-width:760px) and (max-width:1099px){
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle{grid-template-columns:28% minmax(0,1fr) !important;column-gap:32px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel{margin-left:calc(28% + 32px) !important;}
}
@media (max-width:759px){body[data-page="methode"] .method-v5-accordions .case-accordion{padding:36px 0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{margin-top:18px !important;}}
@media (min-width:760px){
body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{grid-row:1 / span 2 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{grid-row:3 !important;align-self:start !important;}
}
body[data-page="methode"] .method-v5-accordions .case-accordion-command::after{font-size:15px;line-height:1;}
/* V74 — À l'épreuve du réel : panneau à gauche, texte à droite */
body[data-page="methode"] .method-v2-cases .method-v2-intro{grid-template-columns:minmax(0,39fr) minmax(0,61fr) !important;column-gap:56px !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .section-kicker,
body[data-page="methode"] .method-v2-cases .method-v2-intro > h2{grid-column:1 / -1 !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > p:not(.section-kicker){grid-column:2 !important;max-width:680px;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .method-cases-anon{margin-top:36px !important;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel{grid-column:1 !important;grid-row:3 / span 2 !important;margin:20px 0 0 !important;}
@media (max-width:1099px){body[data-page="methode"] .method-v2-cases .method-v2-intro{column-gap:36px !important;}}
@media (max-width:760px){
body[data-page="methode"] .method-v2-cases .method-v2-intro{grid-template-columns:1fr !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > *{grid-column:1 !important;grid-row:auto !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > p:not(.section-kicker){order:2;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel{order:1;margin:24px auto 4px !important;width:80%;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .method-cases-anon{margin-top:18px !important;}
}
@media (min-width:1100px){body[data-page="methode"] .method-v2-cases .method-v2-intro{grid-template-columns:minmax(0,41fr) minmax(0,59fr) !important;column-gap:48px !important;}}
@media (max-width:760px){body[data-page="methode"] .method-v2-cases .cv-cases-panel{display:block !important;justify-self:center;width:80% !important;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel img{width:100% !important;max-width:none !important;}}
@media (max-width:760px){body[data-page="methode"] .method-v2-cases .method-v2-intro > p:not(.section-kicker){grid-column:1 !important;}}
@media (min-width:761px){body[data-page="methode"] .method-v2-cases .method-v2-intro{grid-template-rows:auto auto auto 1fr !important;}}
/* V75 — Trois situations : microtypographie */
@media (min-width:1100px){
body[data-page="methode"] .method-v5-accordions .method-case-num{font-size:16px !important;font-weight:500 !important;margin-bottom:14px !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{font-size:17px !important;font-weight:600 !important;letter-spacing:.15em !important;line-height:1.2 !important;margin-bottom:26px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-title{font-size:30px !important;line-height:1.17 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{font-size:15px !important;font-weight:600 !important;letter-spacing:.1em !important;margin-top:24px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion{padding:48px 0 !important;}
}
body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{font-weight:400 !important;line-height:1.42 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{position:relative;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command::after{margin-left:10px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command::before{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:#BD8E31;transition:width .25s ease;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle:hover .case-accordion-command::before{width:28px;}
@media (max-width:1099px){
body[data-page="methode"] .method-v5-accordions .method-case-num{font-size:14px !important;font-weight:500 !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{font-size:14px !important;font-weight:600 !important;letter-spacing:.14em !important;margin-bottom:18px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-title{font-size:25px !important;line-height:1.18 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{font-size:13.5px !important;font-weight:600 !important;}
}
body[data-page="methode"] .method-v5-accordions .case-accordion-command::after{font-size:18px !important;vertical-align:-1px;}
/* V76 — À l'épreuve du réel : densification */
@media (min-width:1100px){
body[data-page="methode"] .method-v2-cases .method-v2-intro{column-gap:42px !important;padding-bottom:8px !important;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel img{max-width:410px !important;}
body[data-page="methode"] .method-v2-cases .cv-cases-panel{margin-top:14px !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .method-cases-anon{margin-top:24px !important;}
}
@media (min-width:761px) and (max-width:1099px){body[data-page="methode"] .method-v2-cases .method-v2-intro{column-gap:30px !important;padding-bottom:20px !important;}}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .method-cases-anon{font-weight:500 !important;line-height:1.4 !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .method-v7-cases-intro{font-weight:400 !important;line-height:1.4 !important;}
/* V77 — Numéro + décision sur une même ligne */
body[data-page="methode"] .method-v5-accordions .method-case-num{grid-row:1 !important;grid-column:1 !important;width:28px;margin:0 !important;align-self:baseline !important;white-space:nowrap;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{grid-row:1 !important;grid-column:1 !important;padding-left:56px !important;margin:0 !important;align-self:baseline !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-title{margin-top:26px !important;}
@media (min-width:760px){
body[data-page="methode"] .method-v5-accordions .case-accordion-title{grid-row:2 / span 2 !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{grid-row:1 / span 2 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{grid-row:3 !important;}
}
@media (max-width:759px){
body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{padding-left:44px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-title{grid-row:2 !important;margin-top:20px !important;}
body[data-page="methode"] .method-v5-accordions .method-v11-case-preview{grid-row:3 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-command{grid-row:4 !important;}
}
@media (min-width:760px){body[data-page="methode"] .method-v5-accordions .case-accordion-toggle{grid-template-rows:auto auto auto 1fr !important;}body[data-page="methode"] .method-v5-accordions .case-accordion-title{grid-row:2 / span 3 !important;}}
/* V78 — À l'épreuve du réel : rapport de masse panneau / texte */
@media (min-width:1100px){
body[data-page="methode"] .method-v2-cases .cv-cases-panel img{max-width:355px !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > .method-cases-anon{margin-top:44px !important;}
body[data-page="methode"] .method-v2-cases .method-v2-intro > p:not(.section-kicker){max-width:640px !important;}
}
@media (min-width:761px) and (max-width:1099px){body[data-page="methode"] .method-v2-cases .cv-cases-panel img{max-width:88% !important;margin:0 auto;}}
@media (min-width:1100px){body[data-page="methode"] .method-v2-cases .method-v2-intro{margin-bottom:-24px !important;}}
/* V79 — Volet ouvert des cas */
body[data-page="methode"] .method-v5-accordions .case-accordion-panel h4{color:#BD8E31 !important;font-family:var(--sans) !important;font-size:15px !important;font-weight:600 !important;letter-spacing:.14em !important;text-transform:uppercase;line-height:1.2 !important;margin:36px 0 16px !important;padding:0 !important;border:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel h4:first-child{margin-top:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel p:not(.case-conclusion){font-weight:400 !important;line-height:1.5 !important;color:#12213D !important;margin:0 0 20px !important;max-width:820px;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel h4 + p{margin-top:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion{margin:52px 0 0 !important;padding:36px 0 0 !important;border-top:1px solid rgba(18,33,61,.14) !important;border-left:0 !important;background:none !important;font-family:var(--serif) !important;font-size:29px !important;line-height:1.3 !important;font-weight:400 !important;color:#12213D !important;max-width:760px;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion strong{display:block !important;color:#BD8E31 !important;font-family:var(--sans) !important;font-size:15px !important;font-weight:600 !important;letter-spacing:.14em !important;line-height:1.2 !important;margin:0 0 16px !important;}
@media (min-width:1100px){
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle[aria-expanded="true"]{grid-template-columns:25% minmax(0,1fr) !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle[aria-expanded="true"] + .case-accordion-panel,
body[data-page="methode"] .method-v5-accordions h3:has(> [aria-expanded="true"]) + .case-accordion-panel{margin-left:calc(25% + 48px) !important;}
}
@media (max-width:759px){
body[data-page="methode"] .method-v5-accordions .case-accordion-panel h4{margin:28px 0 12px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion{font-size:23px !important;margin-top:36px !important;padding-top:26px !important;}
}
/* V80 — Cas 3 : titre + espace avant la phrase de synthèse */
body[data-page="methode"] .method-v5-accordions .cv-nowrap{white-space:nowrap;}
@media (max-width:1099px){body[data-page="methode"] .method-v5-accordions .cv-br-desk{display:none;}}
@media (min-width:1100px){body[data-page="methode"] .method-v5-cases-conclusion{margin-top:-12px !important;}}

/* V81 — volet ouvert des cas en pleine largeur utile */
body[data-page="methode"] .method-v5-accordions .case-accordion-panel,
body[data-page="methode"] .method-v5-accordions .case-accordion-toggle[aria-expanded="true"] + .case-accordion-panel,
body[data-page="methode"] .method-v5-accordions h3:has(> [aria-expanded="true"]) + .case-accordion-panel{margin:36px 28px 0 !important;max-width:1220px;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel h4{margin:32px 0 14px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel h4:first-child{margin-top:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel p:not(.case-conclusion){max-width:1220px !important;margin-bottom:18px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion{margin-top:36px !important;padding-top:30px !important;max-width:1000px !important;}
@media (max-width:1099px){body[data-page="methode"] .method-v5-accordions .case-accordion-panel,body[data-page="methode"] .method-v5-accordions h3:has(> [aria-expanded="true"]) + .case-accordion-panel{margin:28px 0 0 !important;}}
/* V82 — système commun des trois volets ouverts */
html body[data-page="methode"] main .method-v5-accordions .case-accordion-panel > p:not(.case-conclusion):not(#_a):not(#_b){margin-bottom:20px !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion{margin-top:30px !important;padding-top:26px !important;}

/* V83 — Genèse : Hero + « Décider avec le réel » */
html body[data-page="genese"] .genese-hero .genese-v115-eyebrow.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important;}
@media (min-width:760px){html body[data-page="genese"] .page-hero.genese-hero:not(#_a){padding-top:26px !important;padding-bottom:22px !important;}}
html body[data-page="genese"] .genese-reel-gallery:not(#_a){column-gap:24px !important;row-gap:24px !important;align-items:start !important;}
html body[data-page="genese"] .genese-reel-item figcaption:not(#_a){margin-top:10px !important;}
html body[data-page="genese"] .genese-reel-item figcaption span:not(#_a){font-size:13.5px !important;line-height:1.5 !important;font-weight:400 !important;}
html body[data-page="genese"] main .genese-step-real .genese-step-copy > p:not(.genese-principle):not(#_a):not(#_b){line-height:1.58 !important;margin:0 0 18px !important;max-width:640px !important;}
html body[data-page="genese"] main .genese-step-real .genese-principle:not(#_a):not(#_b){font-size:27px !important;line-height:1.32 !important;max-width:580px !important;margin-top:26px !important;}
@media (max-width:759px){html body[data-page="genese"] main .genese-step-real .genese-principle:not(#_a):not(#_b){font-size:23px !important;}}
@media (max-width:759px){html body[data-page="genese"] .page-hero.genese-hero:not(#_a){padding-top:36px !important;padding-bottom:40px !important;}}

/* V84 — Genèse : « Conseiller sans se substituer » */
@media (min-width:1100px){
html body[data-page="genese"] main .genese-step-conseil:not(#_a){grid-template-columns:39% minmax(0,1fr) !important;column-gap:56px !important;}
html body[data-page="genese"] main .genese-step-conseil .genese-conseil-visual:not(#_a){max-width:400px !important;width:100% !important;height:auto !important;}
html body[data-page="genese"] main .genese-step-conseil .genese-step-copy:not(#_a){padding-top:44px !important;}
}
html body[data-page="genese"] main .genese-step-conseil .genese-step-copy > p:not(.genese-principle):not(#_a):not(#_b){line-height:1.5 !important;margin:0 0 14px !important;max-width:680px !important;}
html body[data-page="genese"] main .genese-step-conseil .genese-step-copy > p:first-child:not(#_a):not(#_b){margin-bottom:22px !important;max-width:600px !important;}
html body[data-page="genese"] main .genese-step-conseil .genese-principle:not(#_a):not(#_b){font-size:28px !important;line-height:1.35 !important;margin-top:30px !important;}
@media (max-width:759px){
html body[data-page="genese"] main .genese-step-conseil .genese-conseil-visual:not(#_a){max-width:280px !important;margin:0 auto !important;display:block !important;}
html body[data-page="genese"] main .genese-step-conseil .genese-principle:not(#_a):not(#_b){font-size:23px !important;}
}

/* V85 — Genèse : Développer dans la complexité + synthèse + CTA */
@media (min-width:1100px){
html body[data-page="genese"] main .genese-step-dev:not(#_a){grid-template-columns:39% minmax(0,1fr) !important;column-gap:56px !important;}
html body[data-page="genese"] main .genese-step-dev .genese-dev-visual:not(#_a){max-width:400px !important;width:100% !important;height:auto !important;}
html body[data-page="genese"] main .genese-step-dev .genese-step-copy:not(#_a){padding-top:44px !important;}
}
html body[data-page="genese"] main .genese-step-dev .genese-step-copy > p:not(.genese-principle):not(#_a):not(#_b){line-height:1.5 !important;margin:0 0 12px !important;max-width:680px !important;}
html body[data-page="genese"] main .genese-step-dev .genese-principle:not(#_a):not(#_b){font-size:28px !important;line-height:1.35 !important;margin-top:28px !important;}
html body[data-page="genese"] .genese-resolution-kicker.cv-saffron:not(#_a):not(#_b){color:#BD8E31 !important;}
html body[data-page="genese"] main .genese-resolution-copy h2.genese-resolution-title:not(#_a){margin-bottom:28px !important;}
html body[data-page="genese"] main .genese-resolution-copy > p:not(.genese-resolution-last):not(#_a):not(#_b){line-height:1.5 !important;margin-bottom:10px !important;}
html body[data-page="genese"] main .genese-resolution-copy > p.genese-resolution-last:not(#_a):not(#_b){font-size:28px !important;line-height:1.35 !important;max-width:900px !important;margin:24px auto 0 !important;}
@media (min-width:760px){
html body[data-page="genese"] .genese-cta .cta-panel:not(#_a){width:74% !important;max-width:none !important;margin-left:auto !important;margin-right:auto !important;padding-top:43px !important;padding-bottom:38px !important;}
html body[data-page="genese"] .section.genese-cta:not(#_a){padding-bottom:32px !important;}
}
html body[data-page="genese"] .genese-cta .cta-panel h2:not(#_a){font-size:clamp(28px,2.6vw,34px) !important;line-height:1.18 !important;}
html body[data-page="genese"] main .genese-cta .cta-panel .genese-cta-body:not(#_a):not(#_b){margin-top:20px !important;}
html body[data-page="genese"] main .genese-cta .cta-panel .genese-cta-doctrine:not(#_a):not(#_b){margin-top:18px !important;}
html body[data-page="genese"] .genese-cta .cta-panel .button-row:not(#_a){margin-top:26px !important;}
@media (max-width:759px){
html body[data-page="genese"] main .genese-step-dev .genese-dev-visual:not(#_a){max-width:280px !important;margin:0 auto !important;display:block !important;}
html body[data-page="genese"] main .genese-step-dev .genese-principle:not(#_a):not(#_b),html body[data-page="genese"] main .genese-resolution-copy > p.genese-resolution-last:not(#_a):not(#_b){font-size:23px !important;}
}

/* V86 — Méthode : principe directeur + CTA bleu compact */
body[data-page="methode"] .method-v5-principle-kicker{display:flex !important;justify-content:center !important;align-items:center !important;margin:44px auto 18px !important;text-align:center !important;}
body[data-page="methode"] .method-v5-cases-conclusion{margin:0 auto 62px !important;font-size:31px !important;line-height:1.3 !important;max-width:880px !important;}
body[data-page="methode"] .method-v2-cta .cta-panel{padding-top:72px !important;padding-bottom:72px !important;}
body[data-page="methode"] .method-v2-cta{padding-top:0 !important;padding-bottom:0 !important;}
body[data-page="methode"] .method-v2-cta .cta-panel h2{font-size:42px !important;line-height:1.18 !important;max-width:none !important;}
body[data-page="methode"] .method-v2-cta .cta-panel p{margin-top:28px !important;}
body[data-page="methode"] .method-v2-cta .button-row{margin-top:36px !important;}
@media (max-width:1099px){body[data-page="methode"] .method-v2-cta .cta-panel{padding-top:56px !important;padding-bottom:56px !important;}body[data-page="methode"] .method-v2-cta .cta-panel h2{font-size:34px !important;}}
@media (max-width:759px){body[data-page="methode"] .method-v5-principle-kicker{margin:34px auto 14px !important;}body[data-page="methode"] .method-v5-cases-conclusion{font-size:24px !important;margin-bottom:46px !important;}body[data-page="methode"] .method-v2-cta .cta-panel{padding-top:44px !important;padding-bottom:44px !important;}body[data-page="methode"] .method-v2-cta .cta-panel h2{font-size:28px !important;}body[data-page="methode"] .method-v2-cta .cta-panel p{margin-top:20px !important;}body[data-page="methode"] .method-v2-cta .button-row{margin-top:28px !important;}}

/* V86 — Genèse : bloc « Du terrain à la conduite des projets » (inset réduit, paragraphes 20 px, rupture avant conclusion) */
html body[data-page="genese"] main .genese-resolution-copy > p:not(.genese-resolution-last):not(.genese-resolution-kicker):not(#_a):not(#_b){margin-bottom:20px !important;}
html body[data-page="genese"] main .genese-resolution-copy > p.genese-resolution-last:not(#_a):not(#_b){margin-top:64px !important;}
@media (min-width:1100px){html body[data-page="genese"] main .genese-resolution-copy > p:not(.genese-resolution-last):not(.genese-resolution-kicker):not(#_a):not(#_b){margin-left:44px !important;}}
@media (min-width:760px) and (max-width:1099px){html body[data-page="genese"] main .genese-resolution-copy > p:not(.genese-resolution-last):not(.genese-resolution-kicker):not(#_a):not(#_b){margin-left:40px !important;}}
@media (max-width:759px){html body[data-page="genese"] main .genese-resolution-copy > p.genese-resolution-last:not(#_a):not(#_b){margin-top:44px !important;}}

/* V87 — Genèse : bloc « Du terrain… » retrait subtil du corps, conclusion élargie */
@media (min-width:1100px){html body[data-page="genese"] main .genese-resolution-copy > p:not(.genese-resolution-last):not(.genese-resolution-kicker):not(#_a):not(#_b){margin-left:8px !important;}
html body[data-page="genese"] main .genese-resolution-copy > p.genese-resolution-last:not(#_a):not(#_b){max-width:1150px !important;width:100% !important;text-wrap:balance !important;}}
@media (min-width:760px) and (max-width:1099px){html body[data-page="genese"] main .genese-resolution-copy > p:not(.genese-resolution-last):not(.genese-resolution-kicker):not(#_a):not(#_b){margin-left:12px !important;}
html body[data-page="genese"] main .genese-resolution-copy > p.genese-resolution-last:not(#_a):not(#_b){max-width:min(100%,900px) !important;}}

/* V88 — Méthode : fin « À l'épreuve du réel » (double filet, transition, haut du bandeau bleu) */
body[data-page="methode"] .method-v5-principle-kicker::after{content:"" !important;display:block !important;flex:0 0 auto !important;width:34px !important;height:1px !important;background:#BD8E31 !important;}
@media (min-width:760px){body[data-page="methode"] .method-v5-cases-conclusion{margin-bottom:72px !important;}}
@media (min-width:1100px){body[data-page="methode"] .method-v2-cta .cta-panel{padding-top:36px !important;}}
@media (min-width:760px) and (max-width:1099px){body[data-page="methode"] .method-v2-cta .cta-panel{padding-top:36px !important;}}

/* V89 — CTA éditorial doctrine agrivoltaïque (offre) */
body[data-page="offre"] .offer-agri-doctrine-cta{margin:56px 0 56px;max-width:760px;}
body[data-page="offre"] .offer-agri-doctrine-rule{display:block;width:34px;height:1px;background:#BD8E31;margin-bottom:18px;}
body[data-page="offre"] .offer-agri-doctrine-title{font-family:var(--serif);font-size:26px;line-height:1.3;color:var(--content-ink,#173A32);margin:0 0 22px;font-weight:400;}
body[data-page="offre"] .offer-agri-doctrine-text{font-size:inherit;line-height:1.55;color:var(--content-ink,#173A32);max-width:680px;margin:0 0 26px;font-weight:400;}
body[data-page="offre"] .offer-agri-doctrine-link{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#12213D;text-decoration:none;padding:6px 0;}
body[data-page="offre"] .offer-agri-doctrine-link span{color:#BD8E31;margin-left:6px;transition:transform .2s;display:inline-block;}
body[data-page="offre"] .offer-agri-doctrine-link:hover span{transform:translateX(4px);}
@media (max-width:1099px){body[data-page="offre"] .offer-agri-doctrine-cta{margin:44px 0;}body[data-page="offre"] .offer-agri-doctrine-title{font-size:23px;}}
@media (max-width:759px){body[data-page="offre"] .offer-agri-doctrine-cta{margin:36px 0 40px;}body[data-page="offre"] .offer-agri-doctrine-title{font-size:21px;margin-bottom:18px;}body[data-page="offre"] .offer-agri-doctrine-text{margin-bottom:22px;}}
html body[data-page="accueil"] #doctrine-agrivoltaique{scroll-margin-top:calc(var(--sticky-header-height,var(--header-h,72px)) + 8px);}
body[data-page="offre"] .offer-agri-doctrine-title,body[data-page="offre"] .offer-agri-doctrine-link{color:#F5F2EB;}
body[data-page="offre"] .offer-agri-doctrine-text{color:inherit;}
/* V90 — CTA doctrine agrivoltaïque : titre + filet sur une ligne, paragraphe élargi, lien souligné safran */
body[data-page="offre"] .offer-agri-doctrine-cta{max-width:1150px;margin:56px 0 52px;}
body[data-page="offre"] .offer-agri-doctrine-title{display:flex;align-items:baseline;gap:18px;color:#BD8E31;margin:0 0 26px;}
body[data-page="offre"] .offer-agri-doctrine-rule{flex:0 0 40px;width:40px;margin:0;align-self:center;}
body[data-page="offre"] .offer-agri-doctrine-text{max-width:1150px;margin:0 0 30px;}
body[data-page="offre"] .offer-agri-doctrine-link{cursor:pointer;color:#F5F2EB;padding:4px 0 8px;background-image:linear-gradient(#BD8E31,#BD8E31);background-repeat:no-repeat;background-size:100% 1px;background-position:0 100%;transition:background-size .2s;}
body[data-page="offre"] .offer-agri-doctrine-link:hover{color:#F5F2EB;background-size:100% 2px;}
@media (max-width:759px){body[data-page="offre"] .offer-agri-doctrine-title{gap:14px;margin-bottom:22px;}body[data-page="offre"] .offer-agri-doctrine-rule{flex-basis:32px;width:32px;align-self:auto;margin-top:.7em;}body[data-page="offre"] .offer-agri-doctrine-cta{margin:36px 0 44px;}}
html body[data-page="offre"] .offer-agri-doctrine-title{color:#BD8E31!important;}
@media (max-width:759px){body[data-page="offre"] .offer-agri-doctrine-link{display:inline;line-height:2;-webkit-box-decoration-break:clone;box-decoration-break:clone;}}
/* V91 — Contact : Hero resserré */
html body[data-page="contact"] .contact-v2-hero{padding-top:32px!important;padding-bottom:36px!important;min-height:0!important;}
@media (min-width:1100px){html body[data-page="contact"] .contact-v2-hero .lead{max-width:900px!important;}}
@media (max-width:1099px){html body[data-page="contact"] .contact-v2-hero{padding-top:34px!important;padding-bottom:40px!important;}}
@media (max-width:759px){html body[data-page="contact"] .contact-v2-hero{padding-top:38px!important;padding-bottom:42px!important;}}
/* V92 — Contact : bouton du formulaire au style des boutons principaux */
html body[data-page="contact"] .contact-v2-actions button[type="submit"]{-webkit-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;background:#12213D;color:#F5F2EB;border:1px solid #12213D;border-radius:0;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:16px 30px;min-height:52px;box-shadow:none;cursor:pointer;transition:background-color .2s,border-color .2s;}
html body[data-page="contact"] .contact-v2-actions button[type="submit"]:hover{background:#1c3159;border-color:#1c3159;}
html body[data-page="contact"] .contact-v2-actions button[type="submit"]:focus-visible{outline:2px solid #BD8E31;outline-offset:3px;}
/* V93 — Offre : transition compacte sous le CTA doctrine */
html body[data-page="offre"] .offer-agri-doctrine-cta{margin-bottom:0!important;}
html body[data-page="offre"] .offer-agri-band{padding-bottom:22px!important;}
@media (max-width:759px){html body[data-page="offre"] .offer-agri-band{padding-bottom:18px!important;}}
/* V94 — Offre : resserrement autour du bloc Agriculteurs */
html body[data-page="offre"] #agrivoltaisme > #offre-agrivoltaique.offer-sub-agri{margin-top:44px!important;}
html body[data-page="offre"] .offer-agri-doctrine-cta{margin-top:36px!important;}
@media (max-width:1099px){html body[data-page="offre"] #agrivoltaisme > #offre-agrivoltaique.offer-sub-agri{margin-top:40px!important;}html body[data-page="offre"] .offer-agri-doctrine-cta{margin-top:32px!important;}}
@media (max-width:759px){html body[data-page="offre"] #agrivoltaisme > #offre-agrivoltaique.offer-sub-agri{margin-top:36px!important;}html body[data-page="offre"] .offer-agri-doctrine-cta{margin-top:28px!important;}}
/* V95 — Contact : titre du Hero réduit (~−19 %) et padding ajusté */
html body[data-page="contact"] .contact-v2-hero h1{font-size:60px!important;line-height:1.08!important;}
html body[data-page="contact"] .contact-v2-hero{padding-top:28px!important;padding-bottom:32px!important;}
@media (max-width:1299px){html body[data-page="contact"] .contact-v2-hero h1{font-size:54px!important;}}
@media (max-width:1099px){html body[data-page="contact"] .contact-v2-hero h1{font-size:47px!important;}html body[data-page="contact"] .contact-v2-hero{padding-top:30px!important;padding-bottom:36px!important;}}
@media (max-width:759px){html body[data-page="contact"] .contact-v2-hero h1{font-size:36px!important;line-height:1.1!important;}html body[data-page="contact"] .contact-v2-hero{padding-top:34px!important;padding-bottom:38px!important;}}

/* V95 — liens juridiques du footer */
.footer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.footer-legal{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 10px;font-family:var(--sans);font-size:12px;line-height:1.4}
.footer-legal a{color:rgba(245,242,235,.72);text-decoration:none;padding:4px 0}
.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--ivory);text-decoration:underline;text-underline-offset:3px}
.footer-legal a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.footer-legal-sep{color:rgba(245,242,235,.4)}
@media (max-width:800px){
.footer-meta{align-items:stretch;padding-top:14px;border-top:1px solid rgba(245,242,235,.13);gap:6px}
.footer-meta .footer-copyright{padding-top:0;border-top:0}
.footer-legal{justify-content:flex-start;gap:2px 10px}
.footer-legal a{padding:8px 0;min-height:24px}
}

/* V97 — filet de cas déplacé après la conclusion */
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion{margin-top:32px !important;padding-top:0 !important;border-top:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion-panel{padding-bottom:36px !important;}
@media (max-width:759px){body[data-page="methode"] .method-v5-accordions .case-accordion-panel{padding-bottom:30px !important;}}
body[data-page="methode"] .method-v5-accordions .case-accordion:has(.case-accordion-toggle[aria-expanded="true"]){padding-bottom:0 !important;}
body[data-page="methode"] .method-v5-accordions .case-accordion:last-child:has(.case-accordion-toggle[aria-expanded="true"]){border-bottom:1px solid rgba(18,33,61,.18) !important;}

/* V98 — Offres : fin de section sobre, transition vers OFFRES AGRIVOLTAÏQUES */
html body main .offer-families-section .offer-family:not(#_a):not(#_b):not(#_c){background-image:none !important;}
body[data-page="offre"] #agrivoltaisme .offer-agri-spec-kicker::before{display:none !important;content:none !important;}
html body[data-page="offre"] main .offer-agri-main-head p.offer-agri-spec-kicker.section-kicker:not(#_a):not(#_b):not(#_c){transform:none !important;padding-left:0 !important;}
html body main .offer-families-section .offer-family:last-child:not(#_a):not(#_b){padding-bottom:10px !important;}
html body[data-page="offre"] main .offer-agri-band:not(#_a){padding-top:33px !important;}
@media (max-width:1099px){
 html body main .offer-families-section .offer-family:last-child:not(#_a):not(#_b){padding-bottom:40px !important;}
 html body[data-page="offre"] main .offer-agri-band:not(#_a){margin-top:36px !important;padding-top:30px !important;}
}
@media (max-width:759px){
 html body main .offer-families-section .offer-family:last-child:not(#_a):not(#_b){padding-bottom:30px !important;}
 html body[data-page="offre"] main .offer-agri-band:not(#_a){margin-top:40px !important;padding-top:24px !important;}
}
@media (min-width:1100px){html body main #decider-avant-engager.offer-family:not(#_a):not(#_b):not(#_c){padding-bottom:10px !important}}
.cv-hp{position:absolute !important;left:-10000px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;}
html body[data-page="genese"] .genese-reel-item img:not(#_a){height:auto !important;}

/* V100 — Offres : suppression des petits filets safran internes + resserrement « Décider avant d'engager » */
html body[data-page="offre"] main .offer-family:not(#_a):not(#_b) .offer-v17-value-label::before,
html body[data-page="offre"] main .offer-family:not(#_a):not(#_b) .offer-v14-scope::after,
html body[data-page="offre"] main .offer-family:not(#_a):not(#_b) .offer-v14-value::after{content:none!important;display:none!important}
html body[data-page="offre"] main #decider-avant-engager hr.offer-v14-modality-sep:not(#_a){margin-top:18px!important;margin-bottom:0!important}
html body[data-page="offre"] main #decider-avant-engager hr.offer-v14-modality-sep:not(#_a) + .offer-sub{margin-top:18px!important}
/* V101 listes pages juridiques */
body[data-page="confidentialite"] .legal-copy ul{margin:0 0 16px;padding-left:22px}
body[data-page="confidentialite"] .legal-copy li,body[data-page="confidentialite"] .legal-copy p,body[data-page="mentions-legales"] .legal-copy p{font-size:16.5px;font-weight:500;line-height:1.44}
body[data-page="confidentialite"] .legal-copy li+li{margin-top:4px}

/* V101 — charte texte : corps courant sur fond clair en --body-copy-blue ; structure/conclusions en #12213D */
.offer-v14-value, .offer-v14-value *, .offer-agri-porteur-conclusion, .offer-agri-porteur-conclusion *,
.case-conclusion, .case-conclusion *, .method-v5-cases-conclusion, .method-v5-cases-conclusion *,
.genese-principle, .genese-principle *, .genese-principle-inline, .genese-principle-inline *,
.genese-resolution-last, .genese-resolution-last *, .genese-cta-doctrine, .genese-cta-doctrine *,
.principle-statement, .principle-statement *, .home-v112-approach-statement, .home-v112-approach-statement * { --cv-body-ink: #12213D; }

/* ==========================================================================
   FINAL — harmonisation du bleu éditorial sur fond ivoire
   ========================================================================== */
body[data-page="accueil"] a.home-v112-col-link { color: var(--body-copy-blue) !important; }
body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition { color: var(--body-copy-blue) !important; }
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-v14-value { color: var(--body-copy-blue) !important; }
body[data-page="genese"] .genese-principle,
body[data-page="genese"] .genese-principle-inline,
body[data-page="genese"] .genese-principle-full { color: var(--body-copy-blue) !important; }
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion { color: var(--body-copy-blue) !important; }
body[data-page="methode"] .method-v5-cases-conclusion { color: var(--body-copy-blue) !important; }
/* Relais pour le script de couleur (couleur inline) — mêmes six groupes */
body[data-page="accueil"] a.home-v112-col-link,
body[data-page="accueil"] .home-v14-transition-section p.home-v14-agri-transition,
body[data-page="offre"] :is(#conduire-developpement, #reconfigurer-trajectoire, #decider-avant-engager) .offer-v14-value,
body[data-page="genese"] :is(.genese-principle, .genese-principle-inline, .genese-principle-full),
body[data-page="methode"] .method-v5-accordions .case-accordion-panel .case-conclusion,
body[data-page="methode"] .method-v5-cases-conclusion { --cv-strong-ink: var(--body-copy-blue); }
body[data-page="accueil"] a.home-v112-col-link *,
body[data-page="offre"] .offer-v14-value *,
body[data-page="genese"] :is(.genese-principle, .genese-principle-inline, .genese-principle-full) *,
body[data-page="methode"] .case-conclusion *,
body[data-page="methode"] .method-v5-cases-conclusion * { --cv-strong-ink: var(--body-copy-blue); }
body[data-page="accueil"] a.home-v112-col-link .cv-saffron, body[data-page="accueil"] a.home-v112-col-link [class*="arrow"] { --cv-strong-ink: initial; }

/* ACCUEIL — trois offres en trois volets */
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article:not(#_a){background:transparent!important;border:1px solid rgba(18,33,61,.14)!important;border-radius:10px!important;padding:32px 30px 30px!important;box-shadow:0 4px 18px rgba(18,33,61,.045)!important;height:100%;box-sizing:border-box;min-width:0}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article:not(#_a) a.home-v112-col-link{margin-top:auto}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title{white-space:normal!important}
@media (min-width:981px){
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels:not(#_a){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;column-gap:20px!important;row-gap:0!important;align-items:stretch!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article:not(#_a) a.home-v112-col-link{align-self:end!important}}
@media (max-width:980px){
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels:not(#_a){display:grid!important;grid-template-columns:1fr!important;grid-template-rows:none!important;gap:16px!important}
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article:not(#_a){display:flex!important;flex-direction:column;grid-row:auto!important}}
@media (max-width:759px){
html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels>article:not(#_a){padding:26px 22px 24px!important}}

/* V103 — Animation Approche : la figure porte la largeur affichée pour que l'image et le SVG partagent le même conteneur */
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure[data-convergence-animation]{width:80.1% !important;max-width:100% !important;margin-left:auto !important;margin-right:auto !important}
html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure[data-convergence-animation] > img{width:100% !important;max-width:100% !important;height:auto !important}
@media (min-width:1100px){html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure[data-convergence-animation]{width:947.3px !important}}
@media (max-width:759px){html body[data-page="accueil"] main section.home-v112-approach-section .home-v112-approach figure.home-v112-approach-figure[data-convergence-animation]{width:89% !important}}

/* Titres des trois volets Accueil : safran (micro-correctif) */
html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope-levels article h3.home-v112-col-title{color:#BD8E31 !important}

/* PATCH — texte ivoire unique sur fonds foncés */
:root{--text-on-dark:#F2EDE3;}
/* Genèse — phrase d'introduction « Décider avec le réel » */
html body[data-page="genese"] main .genese-step-real h2:not(#_a){margin-bottom:18px !important;}
html body[data-page="genese"] main .genese-step-real .genese-real-intro:not(#_a):not(#_b){color:#233A68 !important;font-family:inherit;font-style:normal !important;font-weight:400 !important;font-size:15px !important;line-height:1.35 !important;max-width:540px !important;margin:0 0 32px !important;}
@media (max-width:759px){html body[data-page="genese"] main .genese-step-real .genese-real-intro:not(#_a):not(#_b){font-size:15px !important;line-height:1.4 !important;}}
/* Principes de travail — géométrie : 3 colonnes égales, cercles centrés, 2 segments hors cercles */
body[data-page="methode"] .method-v2-principles .principles{--principle-circle-size:96px;--principles-gap:clamp(52px,5.2vw,84px);}
body[data-page="methode"] .method-v2-principles .cv-principle-icon{display:grid !important;place-items:center;width:var(--principle-circle-size);height:var(--principle-circle-size);box-sizing:border-box;margin:0 auto 22px !important;z-index:auto;}
body[data-page="methode"] .method-v2-principles .cv-principle-icon svg{display:block;margin:0;transform:none;}
@media (min-width:761px){
  body[data-page="methode"] .method-v2-principles .principles{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;column-gap:var(--principles-gap) !important;}
  body[data-page="methode"] .method-v2-principles .principle,body[data-page="methode"] .method-v2-principles .principle:first-child,body[data-page="methode"] .method-v2-principles .principle:last-child{padding:0 !important;}
  body[data-page="methode"] .method-v2-principles .principle:not(:last-child)::after{content:"";position:absolute;right:auto !important;top:calc(var(--principle-circle-size) / 2 - .5px) !important;left:calc(50% + var(--principle-circle-size) / 2 + 4px) !important;width:calc(100% + var(--principles-gap) - var(--principle-circle-size) - 8px) !important;height:1px;background:#BD8E31;}
}
@media (max-width:760px){body[data-page="methode"] .method-v2-principles .principle::after{display:none !important;}}
body[data-page="methode"] .method-v2-principles .principle::after{content:none !important;display:none !important;}
/* Pictogrammes SVG des 3 volets Accueil */
html body[data-page="accueil"] main .home-v112-scope-levels article .home-v112-situation-visual{display:flex!important;justify-content:center!important;align-items:center!important;width:92px!important;height:92px!important;margin:20px auto 20px!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
html body[data-page="accueil"] main .home-v112-scope-levels article .home-v112-situation-visual img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain!important;margin:0!important;filter:none!important;mix-blend-mode:normal!important;opacity:1!important;transform:none!important;background:none!important}
@media (max-width:1023px){html body[data-page="accueil"] main .home-v112-scope-levels article .home-v112-situation-visual{width:84px!important;height:84px!important}}
@media (max-width:767px){html body[data-page="accueil"] main .home-v112-scope-levels article .home-v112-situation-visual{width:76px!important;height:76px!important}}
html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope .home-v112-scope-levels article div.home-v112-situation-visual{margin-top:20px!important;margin-bottom:20px!important}

/* Méthode — numéros des cas supprimés : décision en tête de ligne */
html body[data-page="methode"] .method-v5-accordions .method-v11-case-decision{padding-left:0 !important;}

/* Micro-batch — respiration CTA agrivoltaïque (desktop) + filet de clôture du cas ARRÊTER */
@media (min-width:1100px){html body[data-page="accueil"] main section.home-v2-agri-section .home-v15-agri-compo + .home-v7-agri-cta.home-v7-agri-cta{margin-top:48px!important}}
body[data-page="methode"] .method-v2-cases .case-accordion:last-of-type{border-bottom:1px solid rgba(18,33,61,.18)!important;}

/* Micro-batch — Mentions légales : hero compact, kicker safran + filet, respiration, directeur/téléphone discrets */
html body[data-page="mentions-legales"] .legal-hero:not(#_a){padding:clamp(40px,4.6vw,60px) 0 clamp(38px,4.2vw,56px) !important;min-height:0 !important;height:auto !important;background:var(--navy,#12213D)}
html body[data-page="mentions-legales"] .legal-hero::after,html body[data-page="mentions-legales"] .legal-hero::before{content:none !important;display:none !important}
html body[data-page="mentions-legales"] .legal-hero .eyebrow:not(#_a){display:flex;align-items:center;gap:14px;margin:0 0 20px;color:#BD8E31 !important;font-family:var(--sans);font-size:18px;font-weight:600;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
html body[data-page="mentions-legales"] .legal-hero .eyebrow::before{content:"";width:34px;height:1px;flex:0 0 auto;background:currentcolor}
html body[data-page="mentions-legales"] .legal-hero h1{max-width:none;letter-spacing:0;font-size:clamp(34px,3.45vw,50px)}
html body[data-page="mentions-legales"] .legal-copy h2:not(:first-child){margin-top:36px !important}
html body[data-page="mentions-legales"] .legal-copy p.legal-discreet:not(#_a):not(#_b),html body[data-page="mentions-legales"] .legal-copy .legal-discreet:not(#_a),html body[data-page="mentions-legales"] .legal-copy .legal-discreet a:not(#_a){font-size:15px !important;line-height:1.55 !important;font-weight:400 !important;color:rgba(35,58,104,.82) !important}
@media (max-width:800px){html body[data-page="mentions-legales"] .legal-hero .eyebrow:not(#_a){font-size:15px}}
/* Harmonisation pages juridiques */
html body[data-page="confidentialite"] .legal-hero:not(#_a){padding:clamp(40px,4.6vw,60px) 0 clamp(38px,4.2vw,56px) !important;min-height:0 !important;height:auto !important}
html body[data-page="confidentialite"] .legal-hero::after,html body[data-page="confidentialite"] .legal-hero::before{content:none !important;display:none !important}
html body[data-page="confidentialite"] .legal-hero h1:not(#_a){margin:0 !important}
html body[data-page="confidentialite"] .legal-hero .eyebrow.cv-saffron:not(#_a):not(#_b){display:flex;align-items:center;gap:14px;margin:16px 0 0 !important;color:#D3A33C !important}
html body[data-page="confidentialite"] .legal-hero .eyebrow.cv-saffron::before{content:"" !important;display:block !important;position:static !important;width:34px !important;height:1px !important;flex:0 0 auto;background:#D3A33C !important;border:0 !important}
html body[data-page="confidentialite"] .legal-copy:not(#_a){max-width:1050px !important;margin-left:max(16px,calc((100% - 1180px) / 2)) !important;margin-right:auto !important}
html body[data-page="confidentialite"] .legal-copy h2:not(:first-child){margin-top:36px !important}
html body[data-page="confidentialite"] .legal-copy a:not(#_a),html body[data-page="mentions-legales"] .legal-copy a:not(#_a){color:#233A68 !important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Micro-correctif : bloc final « Décider avant d'engager » sur l'axe texte des sous-blocs (filet 2px + retrait). */
body[data-page="offre"] #decider-avant-engager > .offer-v17-value-label.offer-v17-value-label,
body[data-page="offre"] #decider-avant-engager > .offer-v14-value.offer-v14-value { margin-left: 30px !important; padding-left: 0 !important; width: calc(100% - 30px) !important; }
@media (max-width: 640px) {
  body[data-page="offre"] #decider-avant-engager > .offer-v17-value-label.offer-v17-value-label,
  body[data-page="offre"] #decider-avant-engager > .offer-v14-value.offer-v14-value { margin-left: 20px !important; width: calc(100% - 20px) !important; }
}

/* Micro-correctif : légère largeur supplémentaire pour les trois volets. */
@media (min-width: 760px) {
  html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope > .home-v112-scope-levels:not(#_a) { margin-right: 1.15vw !important; }
}
@media (min-width: 981px) and (max-width: 1240px) {
  html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels > article:not(#_a) { padding-inline: 20px !important; }
  html body[data-page="accueil"] main .home-v112-scope .home-v112-scope-levels h3.home-v112-col-title { font-size: clamp(21px, 2.25vw, 27px) !important; }
}

/* Correctif strict : 3 cartes de largeur identique ; seul le titre central gagne de la largeur utile (marges négatives sur le padding de la carte). */
@media (min-width: 1024px) {
  html body[data-page="accueil"] main section.home-v112-scope-section .home-v112-scope-levels > article:nth-child(2) h3.home-v112-col-title { margin-right: -30px !important; }
}

/* Batch 2 — logo du header : léger décalage optique vers la gauche (desktop/tablette uniquement, mobile inchangé) */
@media (min-width: 801px) and (max-width: 1040px) {
  body[data-page] .site-header .brand { margin-left: -10px; }
}
@media (min-width: 1041px) {
  body[data-page] .site-header .brand { margin-left: -12px; }
}

/* === BATCH 4 — Header + composition éditoriale du hero (desktop ≥ 1041px) === */
@media (min-width: 1041px) {
  html body[data-page] .site-header .header-inner { width: min(1260px, calc(100vw - 96px)); }
  html body[data-page] .site-header .nav-list { gap: 30px; }
  html body[data-page] .site-header .nav-list a { font-size: 13px; font-weight: 600; letter-spacing: 1.2px; }

  html body[data-page="accueil"] main .home-v2-hero .home-v11-hero-layout h1 { font-size: 60.2px !important; margin-bottom: 36px !important; }
  html body[data-page="accueil"] main .home-v2-hero p.home-v6-hero-eyebrow { font-size: 24px !important; font-weight: 600 !important; letter-spacing: 2.1px !important; white-space: nowrap; margin-bottom: 30px !important; }
  html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers { row-gap: 18px !important; margin-bottom: 54px !important; }
  html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers li { font-size: 20px !important; font-weight: 600 !important; padding-left: 0 !important; line-height: 1.2 !important; }
  html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers li::before { display: none !important; }
  html body[data-page="accueil"] main .home-v2-hero .home-v11-audiences { display: grid !important; row-gap: 14px !important; }
  html body[data-page="accueil"] main .home-v2-hero p.home-v2-target { font-size: 17px !important; font-weight: 500 !important; line-height: 1.3 !important; white-space: nowrap; }
  html body[data-page="accueil"] main .home-v2-hero .home-v11-audiences p.home-v2-target:not(#_a):not(#_b):not(#_c) { margin-bottom: 2px !important; }
  html body[data-page="accueil"] main .home-v2-hero p.home-v7-target-secondary { font-size: 15px !important; font-weight: 400 !important; line-height: 1.3 !important; }
}
/* Puces supprimées à toutes les largeurs */
html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers li { padding-left: 0 !important; }
html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers li::before { display: none !important; content: none !important; }

/* Stabilité de défilement : le header sticky ne doit jamais modifier la géométrie du document.
   Les anciens changements de hauteur, combinés au scroll-snap, pouvaient faire osciller la page autour du haut. */
:root { --cv-stable-header-height: 118px; }
html.soft-snap-enabled { scroll-snap-type: none !important; }
html.soft-snap-enabled .snap-section { scroll-snap-align: none !important; }
body[data-page] .site-header,
body[data-page] .site-header.is-scrolled {
  height: var(--cv-stable-header-height) !important;
  min-height: var(--cv-stable-header-height) !important;
  transition: border-color .2s ease-out, box-shadow .2s ease-out !important;
}
body[data-page] .site-header.is-scrolled { border-color: var(--line); box-shadow: rgba(18, 33, 61, .05) 0 10px 30px; }
@media (min-width: 1041px) {
  :root { --cv-stable-header-height: 132px; }
  body[data-page] .site-header .brand,
  body[data-page] .site-header.is-scrolled .brand { width: 470px !important; }
}
@media (min-width: 801px) and (max-width: 1040px) {
  body[data-page] .site-header .brand,
  body[data-page] .site-header.is-scrolled .brand { width: 350px !important; }
}
@media (max-width: 800px) {
  :root { --cv-stable-header-height: 84px; }
  body[data-page] .site-header .brand,
  body[data-page] .site-header.is-scrolled .brand { width: 270px !important; }
}

/* Navigation du header : l'état actif ne doit jamais recalculer la boîte du lien.
   scaleX anime uniquement le rendu du soulignement, sans déplacement horizontal. */
.nav-list a::after {
  right: auto;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .18s ease-out;
  will-change: transform;
  pointer-events: none;
}
.nav-list a:hover::after,
.nav-list a:focus-visible::after,
.nav-list a[aria-current="page"]::after { transform: scaleX(1); }
.nav-list .nav-contact::after { transform: none; }
.nav-list a:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

/* Hero topographique : le masque révèle uniquement l'alpha du PNG source. */
/* Le PNG fourni est au format 16:9 : il couvre la largeur du hero sans
   recadrage carré, avec son point de convergence placé en haut à droite. */
body[data-page="accueil"] .home-v112-topo { inset: 0 !important; }

body[data-page="accueil"] .home-v112-topo-frame {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  transform: none !important;
  animation: none !important;
}

body[data-page="accueil"] .home-v112-topo-art {
  position: absolute;
  inset: auto 0 0 auto;
  width: 100%;
  height: 84%;
  overflow: hidden;
}

body[data-page="accueil"] .home-v112-topo-image {
  opacity: .64;
}

/* Centre le bloc éditorial dans l'espace au-dessus du faisceau, sans déplacer
   le visuel topographique. Les écrans desktop courts conservent le flux normal. */
@media (min-width: 1100px) and (min-height: 900px) {
  html body[data-page="accueil"] main .home-v2-hero .home-v11-hero-layout {
    position: absolute;
    top: 32%;
    left: 0;
    right: 0;
    margin-inline: auto;
    translate: 0 -50%;
  }
}

/* Correctif de stabilité du header : les changements d'état liés au scroll ou
   au chargement d'une page ne doivent produire aucune animation perceptible.
   Le header garde ainsi exactement le même rendu pendant la navigation. */
body[data-page] .site-header,
body[data-page] .site-header.is-scrolled {
  border-color: transparent !important;
  box-shadow: none !important;
  transition: none !important;
}

.nav-list a::after {
  transition: none !important;
  will-change: auto;
}
/* === BATCH 4 BIS — Composition finale du hero (desktop ≥ 1041px) === */
@media (min-width: 1041px) {
  html body[data-page="accueil"] main .home-v2-hero .home-v11-hero-layout h1 { line-height: 66px !important; margin-bottom: 42px !important; }
  html body[data-page="accueil"] main .home-v2-hero p.home-v6-hero-eyebrow { font-size: clamp(22px, 2.05vw, 28px) !important; font-weight: 600 !important; letter-spacing: 1.5px !important; margin-bottom: 44px !important; }
  html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers { display: grid !important; grid-template-columns: 24fr 46fr 30fr !important; column-gap: 0 !important; row-gap: 0 !important; width: 60% !important; max-width: 60% !important; margin-bottom: 58px !important; align-items: start !important; }
  html body[data-page="accueil"] main .home-v2-hero ul.home-v2-markers li { font-size: 19.5px !important; text-align: left !important; padding-right: 28px !important; }
  html body[data-page="accueil"] main .home-v2-hero .home-v11-audiences { display: grid !important; grid-template-columns: auto auto !important; justify-content: start !important; column-gap: 88px !important; row-gap: 18px !important; max-width: 60% !important; }
  html body[data-page="accueil"] main .home-v2-hero .home-v11-audiences p.home-v2-target:not(#_a):not(#_b):not(#_c) { grid-column: 1 / -1 !important; margin-bottom: 0 !important; }
}
