/* Structure visuelle */
:root {
  --brand-petrol:#102a31;
  --brand-ivory:#fffdf8;
  --surface-aqua:#e7f2f1;
  --surface-aqua-soft:#f1f7f6;
  --brand-border:rgba(16,42,49,.14);
}

/* EN-034/M1 V2.3 — owner-review visual corrections. */

/* High-contrast secondary actions on dark heroes. */
.home-hero .button.secondary,
.pro-hero .button.secondary,
.elan-hero .button.secondary {
  background:#fffdf8 !important;
  border-color:#fffdf8 !important;
  color:#102a31 !important;
}
.home-hero .button.secondary:hover,
.pro-hero .button.secondary:hover,
.elan-hero .button.secondary:hover { background:#dcebea !important; }

/* Home: clearer section separation and less Word-like first blocks. */
.home-orientation { background:#f0e8dc; }
.home-orientation .home-orientation-grid article:first-child { background:#d9ece9 !important; }
.home-orientation .home-orientation-grid article:nth-child(2) { background:#f3d9b1 !important; }
.home-orientation-grid article { border:1px solid rgba(16,42,49,.08) !important; }
.home-romain .home-romain-grid>div:first-child { max-width:none !important;padding:0 !important;background:transparent !important;border-radius:0 !important; }
.home-romain .home-romain-grid>div:first-child::after { display:none !important; }
.home-romain-card { padding:1.4rem 1.6rem;background:#e6f1ef;border-radius:1.6rem; }
.home-romain-card h2 { margin-bottom:0; }

/* Professional proof cards: same visual weight. */
.pro-proof-secondary { display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:1rem; }
.pro-proof-secondary article,
.pro-proof-secondary article:nth-child(2) { display:flex;flex-direction:column;height:100%;margin:0 !important;box-sizing:border-box; }
.pro-proof-secondary article a { margin-top:auto; }

/* Shared interactive format deck for Pro and Particuliers. */
.format-deck { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2.4rem; }
.format-card { position:relative;overflow:hidden;background:#fffdf8;border:1px solid rgba(16,42,49,.14);border-radius:1.4rem;box-shadow:0 10px 26px rgba(16,42,49,.06); }
.format-card:nth-child(2n) { background:#eef5f3; }
.format-card summary { display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:7.5rem;padding:1.25rem 1.35rem;cursor:pointer;list-style:none; }
.format-card summary::-webkit-details-marker { display:none; }
.format-card-index { display:grid;width:2.4rem;height:2.4rem;place-items:center;border-radius:50%;background:#102a31;color:#fffdf8;font-size:.75rem;font-weight:900; }
.format-card-title small,.format-card-title strong { display:block; }
.format-card-title small { margin-bottom:.25rem;color:var(--color-primary);font-size:.76rem;font-weight:850; }
.format-card-title strong { color:var(--color-primary-dark);font-size:1.18rem;line-height:1.25; }
.format-card-more { color:var(--color-primary);font-size:.82rem;font-weight:850;white-space:nowrap; }
.format-card-more::after { content:" +";font-size:1rem; }
.format-card[open] .format-card-more::after { content:" −"; }
.format-card-body { padding:0 1.35rem 1.4rem 5.15rem;animation:format-card-reveal .18s ease-out; }
.format-card-body p { color:var(--color-muted);line-height:1.58; }
.format-card-body a { display:inline-block;margin-top:.45rem;font-weight:850; }
@keyframes format-card-reveal { from { opacity:0;transform:translateY(-5px) } to { opacity:1;transform:none } }
@media (prefers-reduced-motion: reduce) { .format-card-body { animation:none; } }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .format-card { transition:transform .18s ease,box-shadow .18s ease; }
  .format-card:hover { transform:translateY(-3px);box-shadow:0 16px 34px rgba(16,42,49,.1); }
  .format-card:hover .format-card-more { text-decoration:underline;text-underline-offset:.16em; }
}
.pro-format-intro,.individual-format-intro { max-width:48rem;color:var(--color-muted); }

/* Particuliers: image and process alignment. */
.individual-hero figure :is(img,picture img) { min-height:0 !important;max-height:none !important;aspect-ratio:4/5;object-fit:cover !important;object-position:58% 42% !important;border-radius:2rem .6rem 2rem .6rem !important; }
.individual-work .individual-steps::before { top:2.82rem !important;left:10% !important;right:10% !important; }
.individual-work .individual-steps span { position:relative;z-index:2; }
.individual-price { grid-template-columns:1fr !important;border-radius:1.5rem !important; }
.individual-price strong,.individual-price span { display:block; }

/* Situations: jump buttons and alternating readable families. */
.situations-jump-button { display:inline-flex;padding:.65rem 1rem;border:1px solid rgba(16,42,49,.18);border-radius:999px;background:#f0e8dc;color:#102a31;text-decoration:none;font-weight:850; }
.situations-jump-button:last-child { background:#dcebea; }
.situations-jump-button:hover,.situations-jump-button:focus-visible { background:#102a31;color:#fffdf8; }
.situations-case-list { grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
.situations-case-list article { min-height:12rem; }
.situations-case-list--pro article:nth-child(4n+1),.situations-case-list--pro article:nth-child(4n+4) { background:#f0e8dc; }
.situations-case-list--pro article:nth-child(4n+2),.situations-case-list--pro article:nth-child(4n+3) { background:#e6f1ef; }
.situations-case-list--personal article { border:1px solid rgba(255,253,248,.18); }
.situations-case-list--personal article:nth-child(even) { background:rgba(121,200,199,.13); }
.situations-case-list--personal .situations-index { color:#79c8c7; }

/* Elan Naturel: readable flow, not a compressed timeline. */
.elan-use-grid a { transition:transform .18s ease,background .18s ease; }
.elan-use-grid a:hover,.elan-use-grid a:focus-visible { transform:translateY(-2px);background:#e6f1ef; }

/* About: avoid two weak beige blocks in succession. */
.about-presence { background:#e6f1ef; }

/* Resources: preserve editorial compositions and use a relevant release visual. */
.resources-image.resources-image--engagement :is(img,picture img) { width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center; }
.resources-secondary-image.resources-image--repair :is(img,picture img) { width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center; }

/* Repeated end-of-page call to action: dark frame. */
.home-contact,.pro-contact,.individual-contact,.situations-contact,.elan-contact,.about-contact,.resources-contact { background:#102a31;color:#fffdf8;border-top:0; }
.home-contact :is(.eyebrow,h2,.lead,a),.pro-contact :is(.eyebrow,h2,a),.individual-contact :is(.eyebrow,h2,a),.situations-contact :is(.eyebrow,h2,.lead,a),.elan-contact :is(.eyebrow,h2,.lead,a),.about-contact :is(.eyebrow,h2,a),.resources-contact :is(.eyebrow,h2,a) { color:#fffdf8; }
.home-contact .button,.pro-contact .button,.individual-contact .button,.situations-contact .button,.elan-contact .button,.about-contact .button,.resources-contact .button { background:#79c8c7;color:#102a31;border-color:#79c8c7; }
.individual-contact-note { color:rgba(255,253,248,.74); }

@media(max-width:900px){
  .format-deck,.situations-case-list { grid-template-columns:1fr; }
}
@media(max-width:820px){
  .format-card summary { grid-template-columns:2.8rem 1fr; }
  .format-card-more { grid-column:2; }
  .format-card-body { padding-left:1.35rem; }
  .individual-work .individual-steps::before { left:3.35rem !important;right:auto !important;top:1rem !important; }
}

/* Affinements visuels */
/* EN-034/M1 V2.5 visual system — refined through V2.7. */
/* Frame: petrol above and below, quiet neutral field in between. */
.site-header { background:var(--brand-petrol) !important;border-bottom:1px solid rgba(255,255,255,.12) !important;box-shadow:0 8px 24px rgba(16,42,49,.12) !important; }
.site-header .nav-links a,.site-header .mobile-menu-button,.site-header .mobile-menu-label { color:var(--brand-ivory) !important; }
.site-header .nav-links a:hover,.site-header .nav-links a:focus-visible { color:var(--color-accent) !important; }
.site-header .nav-cta { background:var(--color-accent) !important;color:var(--brand-petrol) !important;border-color:var(--color-accent) !important; }
.site-header .logo-mark { filter:brightness(0) invert(1); }
.site-header .mobile-menu-icon span { background:var(--brand-ivory) !important; }
.mobile-nav[open] .mobile-nav-links { background:var(--brand-petrol) !important;border-color:rgba(255,255,255,.14) !important; }
.footer-logo { filter:brightness(0) invert(1); }

/* Remove the accumulated beige/kaki/salmon palette. */
.home-romain,.pro-formats,.individual-voices-section,.resources-published,.situations-family { background:var(--brand-ivory) !important; }
.home-reasons,.home-cases,.pro-proof,.pro-diagnostic,.individual-hero,.individual-work,.individual-frame,.elan-schema,.elan-story,.about-hero,.about-presence,.resources-themes { background:var(--surface-aqua-soft) !important; }
.home-orientation,.pro-signals,.elan-use { background:var(--surface-aqua) !important; }

/* End-of-page CTA remains distinct from the petrol footer. */
.home-contact,.pro-contact,.individual-contact,.situations-contact,.elan-contact,.about-contact,.resources-contact {
  background:var(--brand-ivory) !important;color:var(--brand-petrol) !important;border-top:1px solid var(--brand-border) !important;
}
.home-contact :is(.eyebrow,h2,.lead,a),.pro-contact :is(.eyebrow,h2,a),.individual-contact :is(.eyebrow,h2,a),.situations-contact :is(.eyebrow,h2,.lead,a),.elan-contact :is(.eyebrow,h2,.lead,a),.about-contact :is(.eyebrow,h2,a),.resources-contact :is(.eyebrow,h2,a) { color:inherit !important; }
.home-contact .button,.pro-contact .button,.individual-contact .button,.situations-contact .button,.elan-contact .button,.about-contact .button,.resources-contact .button { background:var(--brand-petrol) !important;color:var(--brand-ivory) !important;border-color:var(--brand-petrol) !important; }
.individual-contact-note { color:var(--color-muted) !important; }

/* Hero rhythm. */
.home-hero .actions { margin-bottom:1.5rem; }
.home-signature { margin-top:1.15rem; }

/* Shared radial grammar: one idea, several satellites. Kept only where it carries real meaning. */
.radial-map { position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem;max-width:58rem;margin-inline:auto; }
.radial-map-center { grid-column:1/-1;justify-self:center;max-width:30rem;padding:1.3rem 1.6rem;border:2px solid var(--color-accent);border-radius:999px;background:var(--brand-petrol);color:var(--brand-ivory);text-align:center;font-weight:850;line-height:1.35;box-shadow:0 12px 28px rgba(16,42,49,.12); }
.radial-map-node { position:relative;padding:1.25rem 1.35rem;border:1px solid var(--brand-border);border-radius:1.4rem;background:var(--brand-ivory);box-shadow:0 8px 22px rgba(16,42,49,.05); }
.radial-map-node::before { content:"";position:absolute;top:-1.15rem;width:1px;height:1.15rem;background:var(--color-accent); }
.radial-map-node:nth-of-type(odd)::before { right:24%;transform:rotate(22deg);transform-origin:bottom; }
.radial-map-node:nth-of-type(even)::before { left:24%;transform:rotate(-22deg);transform-origin:bottom; }
.radial-map-node span { display:inline-grid;place-items:center;width:2rem;height:2rem;margin-bottom:.65rem;border-radius:50%;background:var(--surface-aqua);color:var(--brand-petrol);font-size:.75rem;font-weight:900; }
.radial-map-node h3 { margin:.1rem 0 .45rem;font-size:1.18rem; }
.radial-map-node p { margin:0;color:var(--color-muted);font-size:.96rem;line-height:1.58; }

/* Home: one conceptual section, without turning its central sentence into a fake CTA. */
.home-reasons { padding-block:clamp(4rem,7vw,6.5rem); }
.home-reasons-head { max-width:54rem;margin-bottom:2.4rem; }
.home-reasons-map { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;position:relative; }
.home-reasons-center { grid-column:1/-1;justify-self:start;max-width:40rem;margin:.1rem 0 .5rem;padding:.45rem 0 .45rem 1rem;border-left:4px solid var(--color-accent);border-radius:0;background:transparent;color:var(--brand-petrol);font-weight:850;text-align:left; }
.home-reason { padding:1.5rem;border:1px solid var(--brand-border);border-top:5px solid var(--color-accent);border-radius:1.4rem;background:var(--brand-ivory); }
.home-reason:nth-child(3) { border-top-color:var(--brand-petrol); }
.home-reason h3 { margin:.2rem 0 .7rem;font-size:1.4rem; }
.home-reason ul { margin:.8rem 0 0;padding-left:1.2rem;color:var(--color-muted);line-height:1.6; }

/* Home portals are actual doors: the complete card is clickable. */
.home-orientation-grid > a.home-portal { display:block;padding:clamp(1.5rem,3vw,2.2rem);border:1px solid var(--brand-border);border-radius:1.5rem;background:var(--brand-ivory);color:inherit;text-decoration:none;box-shadow:0 10px 24px rgba(16,42,49,.05); }
.home-orientation-grid > a.home-portal:nth-child(2) { background:var(--surface-aqua-soft); }
.home-portal:hover,.home-portal:focus-visible { transform:translateY(-2px);box-shadow:0 16px 32px rgba(16,42,49,.09); }
.home-portal .home-enter { display:inline-block;margin-top:1rem;color:var(--color-primary);font-weight:850; }

/* Home examples: three peers, no unexplained featured card. */
.home-case-strip { grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:1rem !important;align-items:stretch !important; }
.home-case-strip article,.home-case-strip article:first-child { height:100%;padding:1.45rem !important;border:1px solid var(--brand-border) !important;border-top:4px solid var(--brand-petrol) !important;border-radius:1.15rem !important;background:var(--brand-ivory) !important;box-shadow:0 7px 18px rgba(16,42,49,.04) !important; }
.home-case-strip article:nth-child(2) { border-top-color:var(--color-accent) !important; }
.home-case-strip article:nth-child(3) { border-top-color:rgba(16,42,49,.48) !important; }
.home-case-strip p:not(.home-case-label) { font-size:.96rem;line-height:1.58; }

/* Home Romain card: text left, balanced circular portrait right. */
.home-romain-grid { align-items:center; }
.home-romain-card { grid-template-columns:minmax(0,1fr) 6.4rem;background:var(--surface-aqua-soft); }
.home-romain-card > div { order:1; }
.home-romain-card :is(img,picture) { order:2;justify-self:end; }
.home-romain-card img { width:6.4rem;height:6.4rem;object-position:center 20%; }

/* Professionals. */
.pro-proof { color:var(--brand-petrol); }
.pro-proof .eyebrow,.pro-proof h2,.pro-proof-head>a { color:inherit; }
.pro-frame { background:var(--surface-aqua);color:var(--brand-petrol); }
.pro-frame .eyebrow,.pro-frame h2,.pro-frame .lead,.pro-frame p:not(.eyebrow):not(.lead) { color:inherit; }

/* Particuliers. */
.individual-hero figure :is(img,picture img) { aspect-ratio:4/3;object-position:center 36%;border-radius:1.7rem; }
.individual-intro { max-width:45rem;color:var(--color-muted);line-height:1.62; }
.individual-price { display:block;max-width:26rem;padding:1.3rem 1.45rem;border:1px solid var(--brand-border);border-left:1px solid var(--brand-border);border-radius:1.5rem;background:var(--brand-ivory); }
.individual-price strong { display:block; }
.individual-price span { display:block;margin-top:.35rem; }
.individual-steps { position:relative; }
.individual-steps::before { content:"";position:absolute;left:1rem;top:2.2rem;bottom:2.2rem;width:1px;background:var(--color-accent); }
.individual-steps article { position:relative; }

/* Offer cards: keep compact interaction, make useful text comfortably readable. */
.format-card-title small { font-size:.82rem;line-height:1.35; }
.format-card-title strong { font-size:1.18rem;line-height:1.18; }
.format-card-body { font-size:.98rem;line-height:1.58; }

/* Situations: same grammar for both families, no dark lower half. */
.situations-family--personal { background:var(--surface-aqua) !important;color:var(--brand-petrol) !important; }
.situations-family--personal .eyebrow,.situations-family--personal h2,.situations-family--personal h3,.situations-family--personal a { color:inherit !important; }
.situations-case-list--personal article,.situations-case-list--personal article:nth-child(even) { background:var(--brand-ivory) !important;border:1px solid var(--brand-border) !important; }
.situations-case-list--personal article:nth-child(odd) { background:var(--surface-aqua-soft) !important; }
.situations-case-list--personal .situations-index { color:var(--color-primary) !important; }
.situations-case-list--personal p { color:var(--color-muted) !important;font-size:.96rem;line-height:1.58 !important; }
.situations-case-list--pro article:nth-child(4n+1),.situations-case-list--pro article:nth-child(4n+4) { background:var(--surface-aqua-soft) !important; }
.situations-case-list--pro article:nth-child(4n+2),.situations-case-list--pro article:nth-child(4n+3) { background:var(--brand-ivory) !important; }

/* Elan Naturel: temporary mark removed; causal sequence becomes one visual story. */
.elan-hero-grid { grid-template-columns:1fr; }
.elan-story { padding-block:clamp(4rem,7vw,6.5rem); }
.elan-story-head { max-width:60rem;margin-bottom:2.5rem; }
.elan-causal { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;align-items:stretch; }
.elan-causal article { position:relative;padding:1.25rem 1.15rem;border:1px solid var(--brand-border);border-radius:1.25rem;background:var(--brand-ivory); }
.elan-causal article:not(:last-child)::after { content:"→";position:absolute;right:-.72rem;top:50%;z-index:2;color:var(--color-primary);font-weight:900; }
.elan-causal span { color:var(--color-primary);font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em; }
.elan-causal h3 { margin:.55rem 0 .45rem;font-size:1.08rem;line-height:1.25; }
.elan-causal p { margin:0;color:var(--color-muted);font-size:.92rem;line-height:1.55; }
.elan-branch { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.2rem; }
.elan-branch article { padding:1.3rem;border:1px solid var(--brand-border);border-radius:1.25rem;background:var(--brand-ivory); }
.elan-branch article:last-child { border-top:5px solid var(--color-accent); }
.elan-branch article:first-child { border-top:5px solid var(--brand-petrol); }
.elan-branch h3 { margin:.1rem 0 .45rem; }
.elan-depth { background:var(--brand-petrol); }

/* About: human relationship first, analytic structure second. */
.about-presence { background:var(--surface-aqua) !important; }

/* Resources: final art direction stays separate from the site; no hidden fallback visual. */

@media(max-width:900px){
  .radial-map,.home-reasons-map,.elan-branch { grid-template-columns:1fr; }
  .radial-map-center { grid-column:auto;border-radius:1.4rem; }
  .home-reasons-center { grid-column:auto; }
  .radial-map-node::before { display:none; }
  .elan-causal { grid-template-columns:1fr; }
  .elan-causal article:not(:last-child)::after { content:"↓";right:auto;top:auto;bottom:-1rem;left:50%; }
  .home-case-strip { grid-template-columns:1fr !important; }
}
@media(max-width:820px){
  .home-romain-card { grid-template-columns:1fr !important; }
  .home-romain-card :is(img,picture) { order:0;justify-self:start; }
}

/* Direction V2.9 */
/* EN-034/M1 — V2.9 pre-reader visual corrections. */
/* V2.9-01 + V2.9-07 — actual radial mind maps: four satellites around one centered idea. */
.home-elan-map,
.elan-movement-map {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(13rem,.72fr) minmax(0,1fr);
  grid-template-rows:auto minmax(4.5rem,auto) auto;
  column-gap:clamp(3rem,7vw,6rem);
  row-gap:clamp(2.8rem,5vw,4.8rem);
  max-width:70rem;
  margin-inline:auto;
  align-items:center;
  isolation:isolate;
}
.home-elan-map::before,
.elan-movement-map::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:12% 15%;
  pointer-events:none;
  background:
    linear-gradient(to bottom right,transparent calc(50% - 1px),rgba(121,200,199,.72) 50%,transparent calc(50% + 1px)),
    linear-gradient(to bottom left,transparent calc(50% - 1px),rgba(121,200,199,.72) 50%,transparent calc(50% + 1px));
}
.home-elan-map > *,
.elan-movement-map > * { position:relative;z-index:1; }
.home-elan-map .radial-map-center,
.elan-movement-map .radial-map-center {
  grid-column:2;
  grid-row:2;
  align-self:center;
  justify-self:stretch;
  max-width:none;
  margin:0;
  padding:1.25rem 1.35rem;
  border-radius:1.35rem;
  text-align:center;
  box-shadow:0 10px 24px rgba(16,42,49,.1);
  cursor:default;
}
.home-elan-map .radial-map-center {
  border:1px solid rgba(121,200,199,.78);
  background:var(--surface-aqua);
  color:var(--brand-petrol);
}
.elan-movement-map .radial-map-center {
  border:1px solid var(--brand-petrol);
  background:var(--brand-petrol);
  color:var(--brand-ivory);
}
.home-elan-map .radial-map-node,
.elan-movement-map .radial-map-node {
  min-height:100%;
  margin:0;
}
.home-elan-map .radial-map-node::before,
.elan-movement-map .radial-map-node::before { content:none; }
.home-elan-map .radial-map-node:nth-of-type(1),
.elan-movement-map .radial-map-node:nth-of-type(1) { grid-column:1;grid-row:1; }
.home-elan-map .radial-map-node:nth-of-type(2),
.elan-movement-map .radial-map-node:nth-of-type(2) { grid-column:3;grid-row:1; }
.home-elan-map .radial-map-node:nth-of-type(3),
.elan-movement-map .radial-map-node:nth-of-type(3) { grid-column:1;grid-row:3; }
.home-elan-map .radial-map-node:nth-of-type(4),
.elan-movement-map .radial-map-node:nth-of-type(4) { grid-column:3;grid-row:3; }

/* V2.9-03 — five entry phrases become a disciplined grid. */
.individual-voice-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.individual-voice-grid blockquote:nth-child(n) {
  grid-column:auto !important;
  margin:0 !important;
  min-height:7.4rem !important;
  display:flex !important;
  align-items:center !important;
  padding:1.3rem 1.4rem !important;
  border:1px solid var(--brand-border) !important;
  border-top:4px solid var(--color-accent) !important;
  border-left:1px solid var(--brand-border) !important;
  border-radius:1.2rem !important;
  background:var(--surface-aqua-soft) !important;
  box-shadow:0 7px 18px rgba(16,42,49,.04) !important;
}
.individual-voice-grid blockquote:nth-child(5) {
  grid-column:1/-1 !important;
  width:calc(50% - .5rem) !important;
  justify-self:center !important;
}

/* V2.9-04 — the vertical axis is mathematically centered on 01 / 02 / 03. */

/* V2.9-05 — one regular rounded price cartouche on every edge. */
.individual-price {
  display:block;
  width:min(100%,26rem);
  padding:1.35rem 1.5rem;
  border:1px solid var(--brand-border);
  border-radius:1.6rem;
  background:var(--brand-ivory);
  overflow:hidden;
  clip-path:inset(0 round 1.6rem);
}

/* V2.9-06 — Situations hero: bounded human crop instead of an oversized window field. */
.situations-hero-grid {
  grid-template-columns:minmax(0,1.18fr) minmax(18rem,.62fr) !important;
  gap:clamp(2rem,5vw,4.5rem) !important;
}
.situations-hero figure {
  width:min(100%,28rem) !important;
  height:clamp(19rem,27vw,23rem) !important;
  justify-self:end !important;
  overflow:hidden !important;
}
.situations-hero figure :is(img,picture img) {
  width:100% !important;
  height:100% !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:20% 40% !important;
}

/* V2.9-08 — hierarchy without creating another generic card collection. */
.elan-depth-point {
  padding:1.15rem 0 1.2rem !important;
  border-top:1px solid rgba(255,253,248,.22);
}
.elan-depth-point:first-child { padding-top:0 !important;border-top:0; }
.elan-depth-label {
  margin:0 0 .45rem !important;
  color:var(--color-accent) !important;
  font-size:.74rem !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  line-height:1.2 !important;
  text-transform:uppercase;
}
.elan-depth-point > p:last-child { margin:0 !important; }
.elan-depth-point--meaning > p:last-child {
  padding-left:1rem;
  border-left:3px solid rgba(121,200,199,.72);
}
.elan-depth-point--stake > p:last-child {
  color:var(--brand-ivory) !important;
  font-size:1.12rem;
  font-weight:750;
}

/* V2.9-09 — protect the approved About H1 from optical line collisions. */
.about-hero h1 {
  max-width:14.5ch !important;
  font-size:clamp(2.6rem,4.7vw,4.55rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.025em;
  text-wrap:balance;
}

@media (min-width:851px) and (max-width:1120px) {
  .situations-hero-grid { grid-template-columns:minmax(0,1fr) minmax(17rem,.58fr) !important;gap:2rem !important; }
  .situations-hero figure { width:min(100%,24rem) !important;height:20rem !important; }
  .about-hero h1 { max-width:15.5ch !important;font-size:clamp(2.45rem,4.2vw,3.85rem) !important;line-height:1.1 !important; }
}

@media (max-width:760px) {
  .home-elan-map,
  .elan-movement-map {
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
    gap:1rem !important;
    padding-left:2rem;
  }
  .home-elan-map::before,
  .elan-movement-map::before {
    inset:6.8rem auto 2.4rem .95rem;
    width:2px;
    background:rgba(121,200,199,.7);
  }
  .home-elan-map .radial-map-center,
  .elan-movement-map .radial-map-center,
  .home-elan-map .radial-map-node:nth-of-type(n),
  .elan-movement-map .radial-map-node:nth-of-type(n) {
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .home-elan-map .radial-map-center,
  .elan-movement-map .radial-map-center { margin-bottom:.7rem !important; }
  .individual-voice-grid { grid-template-columns:1fr !important; }
  .individual-voice-grid blockquote:nth-child(5) { grid-column:auto !important;width:auto !important;justify-self:stretch !important; }
}

@media (max-width:850px) {
  .situations-hero figure {
    order:-1;
    width:min(100%,32rem) !important;
    height:20rem !important;
    justify-self:start !important;
  }
  .situations-hero figure :is(img,picture img) { object-position:20% 36% !important; }
}

/* Corrections de recette propriétaire */
/* EN-034/M1 — V2.9 owner review: compact the two radial mind maps.
   Reference: the compact professional diagram validated by Romain on 2026-08-12.
   This layer only changes geometry; copy and semantic order stay untouched. */

@media (min-width:761px) {
  .home-elan-map,
  .elan-movement-map {
    position:relative !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-template-rows:repeat(2,minmax(8.6rem,auto)) !important;
    column-gap:clamp(4.8rem,7vw,6rem) !important;
    row-gap:clamp(3.6rem,5vw,4.8rem) !important;
    max-width:42rem !important;
    margin-inline:auto !important;
    padding:.35rem 0 !important;
    align-items:stretch !important;
    isolation:isolate;
  }

  .home-elan-map::before,
  .elan-movement-map::before {
    inset:16% 18% !important;
    background:
      linear-gradient(to bottom right,transparent calc(50% - 1px),rgba(121,200,199,.66) 50%,transparent calc(50% + 1px)),
      linear-gradient(to bottom left,transparent calc(50% - 1px),rgba(121,200,199,.66) 50%,transparent calc(50% + 1px)) !important;
  }

  .home-elan-map .radial-map-center,
  .elan-movement-map .radial-map-center {
    position:absolute !important;
    z-index:3 !important;
    top:50% !important;
    left:50% !important;
    grid-column:auto !important;
    grid-row:auto !important;
    width:10.2rem !important;
    height:10.2rem !important;
    max-width:10.2rem !important;
    margin:0 !important;
    padding:1rem !important;
    display:grid !important;
    place-items:center !important;
    transform:translate(-50%,-50%) !important;
    border-radius:50% !important;
    font-size:.92rem !important;
    line-height:1.28 !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  .elan-movement-map .radial-map-center {
    width:10.8rem !important;
    height:10.8rem !important;
    max-width:10.8rem !important;
    padding:1.05rem !important;
    font-size:.86rem !important;
    line-height:1.3 !important;
  }

  .home-elan-map .radial-map-node,
  .elan-movement-map .radial-map-node {
    min-height:8.6rem !important;
    height:auto !important;
    padding:1.05rem 1.15rem !important;
    margin:0 !important;
    display:block !important;
  }

  .home-elan-map .radial-map-node span,
  .elan-movement-map .radial-map-node span {
    width:1.9rem !important;
    height:1.9rem !important;
    margin-bottom:.55rem !important;
  }

  .home-elan-map .radial-map-node h3,
  .elan-movement-map .radial-map-node h3 {
    margin:.05rem 0 .38rem !important;
    font-size:1.05rem !important;
    line-height:1.16 !important;
  }

  .home-elan-map .radial-map-node p,
  .elan-movement-map .radial-map-node p {
    font-size:.9rem !important;
    line-height:1.48 !important;
  }

  .home-elan-map .radial-map-node:nth-of-type(1),
  .elan-movement-map .radial-map-node:nth-of-type(1) {
    grid-column:1 !important;
    grid-row:1 !important;
  }
  .home-elan-map .radial-map-node:nth-of-type(2),
  .elan-movement-map .radial-map-node:nth-of-type(2) {
    grid-column:2 !important;
    grid-row:1 !important;
  }
  .home-elan-map .radial-map-node:nth-of-type(3),
  .elan-movement-map .radial-map-node:nth-of-type(3) {
    grid-column:1 !important;
    grid-row:2 !important;
  }
  .home-elan-map .radial-map-node:nth-of-type(4),
  .elan-movement-map .radial-map-node:nth-of-type(4) {
    grid-column:2 !important;
    grid-row:2 !important;
  }
}

@media (min-width:761px) and (max-width:980px) {
  .home-elan-map,
  .elan-movement-map {
    max-width:38rem !important;
    column-gap:4.6rem !important;
    row-gap:3.3rem !important;
    grid-template-rows:repeat(2,minmax(8.2rem,auto)) !important;
  }

  .home-elan-map .radial-map-center {
    width:9.3rem !important;
    height:9.3rem !important;
    max-width:9.3rem !important;
    font-size:.86rem !important;
  }

  .elan-movement-map .radial-map-center {
    width:9.8rem !important;
    height:9.8rem !important;
    max-width:9.8rem !important;
    font-size:.8rem !important;
  }

  .home-elan-map .radial-map-node,
  .elan-movement-map .radial-map-node {
    min-height:8.2rem !important;
    padding:.95rem 1rem !important;
  }

  .home-elan-map .radial-map-node h3,
  .elan-movement-map .radial-map-node h3 {
    font-size:1rem !important;
  }

  .home-elan-map .radial-map-node p,
  .elan-movement-map .radial-map-node p {
    font-size:.86rem !important;
  }
}

/* V2.9 owner review round 2 — Particuliers: one compact timeline, one simple price bubble. */

.individual-price {
  display:block;
  width:min(100%,24rem);
  margin:1.15rem 0 0;
  padding:1.05rem 1.2rem;
  border:1px solid rgba(16,42,49,.14);
  border-radius:1.25rem;
  background:#fffdf8;
  box-shadow:none;
  clip-path:none;
  overflow:visible;
  filter:none;
}
.individual-price::before,
.individual-price::after {
  content:none;
  display:none;
}
.individual-price strong,
.individual-price span {
  display:block;
}
.individual-price span {
  margin-top:.32rem;
}

/* V2.9 owner review round 2 — Élan Naturel: show the mechanism in one compact field. */
.elan-story {
  padding-block:clamp(2.8rem,4vw,4rem);
}
.elan-story .container {
  max-width:78rem;
}
.elan-causal {
  position:relative;
  max-width:72rem;
  margin-inline:auto;
  gap:.55rem;
  align-items:stretch;
}
.elan-causal article {
  min-height:0;
  padding:.9rem .85rem;
  border-radius:1rem;
  box-shadow:none;
}
.elan-causal article:nth-child(odd) {
  border-top:4px solid #102a31;
}
.elan-causal article:nth-child(even) {
  border-top:4px solid #79c8c7;
}
.elan-causal article:not(:last-child)::after {
  right:-.48rem;
  top:50%;
  font-size:1rem;
}
.elan-causal span {
  display:inline-flex;
  margin:0;
  padding:.26rem .45rem;
  border-radius:999px;
  background:#e7f2f1;
  color:#102a31;
  font-size:.66rem;
  line-height:1;
}
.elan-causal h3 {
  margin:.42rem 0 .3rem;
  font-size:.98rem;
  line-height:1.18;
}
.elan-causal p {
  margin:0;
  font-size:.83rem;
  line-height:1.42;
}
.elan-branch-title {
  max-width:44rem;
  margin:1.35rem auto .75rem;
  font-size:clamp(1.25rem,2vw,1.6rem);
  line-height:1.14;
}
.elan-branch {
  max-width:72rem;
  margin:.75rem auto 0;
  gap:.8rem;
}
.elan-branch article {
  padding:1rem 1.05rem;
  border-radius:1rem;
}
.elan-branch h3 {
  margin:.08rem 0 .32rem;
  font-size:1.08rem;
}
.elan-branch p:not(.eyebrow) {
  margin:0;
  font-size:.9rem;
  line-height:1.46;
}

@media (min-width:960px) {
  .elan-story-head {
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);
    grid-template-areas:
      "eyebrow eyebrow"
      "title lead";
    gap:.45rem 2.2rem;
    max-width:none;
    margin-bottom:1.55rem;
    align-items:end;
  }
  .elan-story-head > .eyebrow {
    grid-area:eyebrow;
    margin:0;
  }
  .elan-story-head > h2 {
    grid-area:title;
    max-width:18ch;
    margin:0;
    font-size:clamp(2rem,3vw,3rem);
    line-height:1.04;
  }
  .elan-story-head > .lead {
    grid-area:lead;
    max-width:40rem;
    margin:0;
    font-size:.98rem;
    line-height:1.5;
  }
}

/* V2.9 owner review round 2 — À propos: make the empirical progression explicit and visual. */
.about-presence {
  padding-block:clamp(3rem,4.5vw,4.5rem) !important;
}
.about-terrain-head {
  max-width:70rem !important;
}
.about-terrain-head .lead {
  max-width:56rem !important;
  margin-bottom:0 !important;
}
.about-terrain-flow {
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:.85rem !important;
  margin-top:2rem !important;
}
.about-terrain-flow::before {
  content:"";
  position:absolute;
  z-index:0;
  top:1.35rem;
  left:6%;
  right:6%;
  height:2px;
  background:linear-gradient(90deg,#102a31 0%,#79c8c7 100%);
}
.about-terrain-flow article {
  position:relative !important;
  z-index:1 !important;
  min-height:13rem !important;
  padding:3.15rem 1rem 1rem !important;
  border:1px solid rgba(16,42,49,.14) !important;
  border-radius:1rem !important;
  background:#fffdf8 !important;
  box-shadow:none !important;
}
.about-terrain-step {
  position:absolute !important;
  top:.62rem !important;
  left:.9rem !important;
  display:grid !important;
  place-items:center !important;
  width:1.5rem !important;
  height:1.5rem !important;
  border-radius:50% !important;
  background:#102a31 !important;
  color:#fffdf8 !important;
  font-size:.66rem !important;
  font-weight:900 !important;
}
.about-terrain-flow article:nth-child(even) .about-terrain-step {
  background:#79c8c7 !important;
  color:#102a31 !important;
}
.about-terrain-flow h3 {
  margin:0 0 .45rem !important;
  font-size:1.08rem !important;
  line-height:1.2 !important;
}
.about-terrain-flow p {
  margin:0 !important;
  color:#5f7177 !important;
  font-size:.9rem !important;
  line-height:1.48 !important;
}
.about-terrain-conclusion {
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr) !important;
  gap:1rem 2rem !important;
  margin-top:1.25rem !important;
  padding:1.05rem 1.15rem !important;
  border-left:4px solid #79c8c7 !important;
  background:rgba(255,253,248,.72) !important;
}
.about-terrain-conclusion p {
  margin:0 !important;
  line-height:1.52 !important;
}
.about-terrain-conclusion .about-terrain-relation {
  font-weight:700 !important;
}
.about-terrain-link {
  grid-column:1/-1 !important;
}

@media (max-width:900px) {
  .about-terrain-flow {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .about-terrain-flow::before {
    display:none !important;
  }
  .about-terrain-flow article {
    min-height:0 !important;
  }
  .about-terrain-conclusion {
    grid-template-columns:1fr !important;
  }
  .about-terrain-link {
    grid-column:auto !important;
  }
}

@media (max-width:620px) {
  .about-terrain-flow {
    grid-template-columns:1fr !important;
    margin-top:1.4rem !important;
  }
}
