:root {
      --primary: #1F5159;        
      --primary-700: #163E45;    
      --primary-900: #0F3238;    
      --primary-050: #EEF4F3;    
      --mint: #CFE6E1;           
      --accent: #17C2B1;         
      --accent-light: #7FE3D8;   
      --accent-ink: #0B7A70;     
      --ink: #052C32;            
      --muted: #4A6469;          
      --line: #D9E3E2;           
      --paper: #FFFFFF;
      --paper-2: #F5F8F7;        
      --radius: 4px;             
      --font-head: "Literata", Georgia, "Times New Roman", serif;
      --font-body: "Albert Sans", "Segoe UI", system-ui, sans-serif;
      --wrap: 1200px;
      --header-h: 72px;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body { margin: 0; font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.68; color: var(--ink); background: var(--paper); overflow-x: hidden; }
    img { max-width: 100%; height: auto; }
    a { color: var(--accent-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
    a:hover { color: var(--primary); }
    :focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
    .ecrin { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
    @media (min-width: 640px) { .ecrin { padding: 0 28px; } }
    section[id], main[id] { scroll-margin-top: calc(var(--header-h) + 12px); }
    h1, h2, h3, h4 { font-family: var(--font-head); color: var(--primary); font-weight: 600; letter-spacing: -.01em; }
    .aller { position: absolute; left: -9999px; top: 0; }
    .aller:focus { left: 16px; top: 8px; z-index: 100; background: var(--paper); padding: 8px 14px; }

    .declic { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 22px; font: 700 .98rem/1.2 var(--font-body); letter-spacing: .01em; color: #fff; background: var(--primary); border: 2px solid var(--primary); border-radius: var(--radius); text-decoration: none; transition: background .2s, border-color .2s, color .2s; }
    .declic:hover { color: #fff; background: var(--primary-700); border-color: var(--primary-700); }
    .declic::after { content: ""; width: 14px; height: 2px; background: currentColor; transition: transform .2s; }
    .declic:hover::after { transform: translateX(3px); }
    .declic--lumineux { color: var(--primary); background: #fff; border-color: #fff; }
    .declic--lumineux:hover { color: var(--primary-700); background: var(--mint); border-color: var(--mint); }
    .declic--discret { color: var(--primary); background: transparent; }
    .declic--discret:hover { color: #fff; }

    .topbar { background: var(--primary); color: rgba(255, 255, 255, .86); font-size: .8rem; letter-spacing: .04em; }
    .topbar .ecrin { display: flex; justify-content: space-between; gap: 16px; padding-top: 7px; padding-bottom: 7px; }
    .topbar strong { color: #fff; font-weight: 600; }
    .topbar .topbar-by { display: none; }
    @media (min-width: 760px) { .topbar .topbar-by { display: inline; } }
    .adresse-couronne { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--line); }
    @supports (backdrop-filter: blur(8px)) { .adresse-couronne { background: rgba(255, 255, 255, .9); backdrop-filter: blur(8px); } }
    .adresse-couronne .ecrin { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 24px; padding-top: 12px; padding-bottom: 10px; }
    .embleme { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); min-width: 0; }
    .embleme-titre { font: 600 1.2rem/1.1 var(--font-head); color: var(--primary); letter-spacing: -.015em; white-space: nowrap; }
    .embleme-titre em { font-style: italic; font-weight: 500; color: var(--ink); }
    .embleme-by { display: inline-flex; align-items: center; gap: 6px; padding-left: 12px; border-left: 1px solid var(--line); font-size: .78rem; color: var(--muted); white-space: nowrap; }
    .embleme-by img { height: 14px; width: auto; flex: none; display: block; }
    @media (max-width: 389px) { .embleme-by { display: none; } }
    .adresse-menu { display: flex; align-items: center; gap: 4px; width: 100%; overflow-x: auto; scrollbar-width: none; margin: 0 -4px; }
    .adresse-menu::-webkit-scrollbar { display: none; }
    .adresse-menu a { flex: none; padding: 8px 10px; font-size: .93rem; font-weight: 500; color: var(--ink); text-decoration: none; border-bottom: 2px solid transparent; }
    .adresse-menu a:hover { color: var(--primary); border-bottom-color: var(--accent); }
    .adresse-menu a.menu-incitation { margin-left: auto; padding: 8px 14px; color: #fff; background: var(--primary); border-radius: var(--radius); border-bottom: 0; font-weight: 700; }
    .adresse-menu a.menu-incitation:hover { background: var(--primary-700); }
    @media (min-width: 980px) {
      .adresse-couronne .ecrin { flex-wrap: nowrap; min-height: var(--header-h); padding-top: 0; padding-bottom: 0; }
      .adresse-menu { width: auto; overflow: visible; margin: 0; }
      .adresse-menu a.menu-incitation { margin-left: 12px; padding: 10px 18px; }
    }

    .proscenium { position: relative; overflow: hidden; background: var(--paper); padding: 40px 0 0; border-bottom: 6px double var(--primary); }
    .proscenium-canevas { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: start; }
    .proscenium-susucription { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 18px; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--primary); }
    .proscenium-susucription span { padding: 4px 9px; color: #fff; background: var(--primary); letter-spacing: .12em; }
    .proscenium h1 { margin: 0 0 20px; font-weight: 600; font-size: clamp(2.15rem, 1.35rem + 3.2vw, 3.7rem); line-height: 1.07; letter-spacing: -.025em; color: var(--primary); }
    .proscenium .abrege { margin: 0 0 26px; max-width: 36em; font-size: clamp(1.08rem, 1rem + .35vw, 1.24rem); line-height: 1.6; color: var(--ink); }
    .puces { list-style: none; margin: 0 0 8px; padding: 18px 0 0; display: flex; flex-wrap: wrap; gap: 10px 0; border-top: 1px solid var(--line); }
    .puces li { display: inline-flex; align-items: center; gap: 9px; padding: 0 18px 0 0; margin-right: 18px; font-size: .9rem; font-weight: 600; color: var(--primary); border-right: 1px solid var(--line); }
    .puces li:last-child { border-right: 0; margin-right: 0; }
    .puces li::before { content: ""; width: 9px; height: 9px; flex: none; background: var(--accent); }
    .puces li:nth-child(2)::before { border-radius: 50%; }
    .puces li:nth-child(3)::before { border-radius: 0 9px 0 0; background: var(--primary); }
    .proscenium-discours { padding-bottom: 8px; }

    .proscenium-aile { position: relative; margin: 0 -16px; padding: 40px 16px 44px; }
    .proscenium-art { position: absolute; inset: 0; background: var(--primary); overflow: hidden; }
    .proscenium-art::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 56px); }
    .proscenium-art .g { position: absolute; display: block; }
    .proscenium-art .g1 { top: 0; right: 0; width: 46%; max-width: 260px; aspect-ratio: 1; background: var(--accent); border-radius: 0 0 0 100%; }
    .proscenium-art .g2 { bottom: 0; left: 8%; width: 58%; max-width: 320px; aspect-ratio: 2 / 1; background: var(--primary-900); border-radius: 999px 999px 0 0; }
    .proscenium-art .g3 { bottom: 9%; right: 7%; width: 72px; height: 72px; background: var(--mint); }
    .proscenium-art .g4 { top: 22%; left: -60px; width: 170px; height: 170px; border: 2px solid var(--accent); border-radius: 50%; }
    .proscenium-art .g5 { top: 46%; right: 0; width: 22%; height: 10px; background: var(--accent-light); }

    .hs-formulaire-plaquette { position: relative; z-index: 1; max-width: 520px; margin: 0 auto; background: var(--paper); border-radius: var(--radius); padding: 26px 22px 22px; box-shadow: 0 24px 48px -20px rgba(5, 44, 50, .55); border-top: 6px solid var(--accent); }
    .hs-formulaire-plaquette .formulaire-denomination { margin: 0 0 6px; font-size: 1.32rem; line-height: 1.25; color: var(--primary); }
    .hs-formulaire-plaquette .formulaire-complement { margin: 0 0 18px; font-size: .94rem; line-height: 1.5; color: var(--muted); }
    @media (min-width: 640px) { .proscenium-aile { margin: 0 -28px; padding: 48px 28px 52px; } .hs-formulaire-plaquette { padding: 30px 30px 26px; } }

    .hs-formulaire-plaquette [data-lead-form] { --lf-accent: #1F5159; --lf-accent-ink: #FFFFFF; --lf-ink: #052C32; --lf-muted: #4A6469; --lf-line: #C9D8D6; --lf-bg: #FFFFFF; --lf-error: #B3261E; --lf-radius: 4px; --lf-font: "Albert Sans", "Segoe UI", system-ui, sans-serif; min-height: 300px; }
    .hs-formulaire-plaquette .lf-step-title { font-family: var(--font-head); font-weight: 600; color: var(--primary); }
    .hs-formulaire-plaquette .lf-btn { font-family: var(--font-body); font-weight: 700; letter-spacing: .01em; }

    @media (min-width: 1000px) {
      .proscenium { padding: 0; }
      .proscenium-canevas { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 0; align-items: stretch; }
      .proscenium-discours { padding: 76px 64px 64px 0; align-self: center; }
      .proscenium-aile { margin: 0; padding: 56px 0 56px 56px; display: flex; align-items: center; }
      .proscenium-art { inset: 0 -50vw 0 0; }

      .proscenium-art .g1 { right: auto; left: calc(100% - 50vw - 150px); width: 300px; max-width: none; }
      .proscenium-art .g2 { left: 36px; width: 300px; }
      .proscenium-art .g3 { right: auto; left: calc(100% - 50vw - 36px); bottom: 12%; }
      .proscenium-art .g4 { left: -85px; }
      .proscenium-art .g5 { right: auto; left: calc(100% - 50vw + 60px); width: 50vw; }
      .hs-formulaire-plaquette { margin: 0; width: 100%; max-width: 470px; }
    }

    #confiance { padding: 64px 0; background: var(--paper); }
    .section-cime { display: grid; gap: 10px; margin-bottom: 32px; }
    .section-susucription { margin: 0; font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-ink); }
    .section-cime h2, .section-denomination { margin: 0; font-size: clamp(1.7rem, 1.25rem + 1.6vw, 2.45rem); line-height: 1.15; }
    .section-cime p:not(.section-susucription) { margin: 0; max-width: 46em; color: var(--muted); }
    @media (min-width: 900px) { .section-cime--partage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; gap: 48px; } }
    .blasons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .blasons li { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; padding: 14px 18px; background: var(--paper-2); border-radius: var(--radius); }
    .blasons img { display: block; width: 100%; height: 100%; max-height: 58px; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: .78; mix-blend-mode: multiply; transition: filter .25s, opacity .25s; }
    .blasons li:hover img { filter: none; opacity: 1; }
    .blasons li.blasons-aplat { background: var(--primary); position: relative; overflow: hidden; }
    .blasons li.blasons-aplat::before { content: ""; position: absolute; right: 0; bottom: 0; width: 62%; aspect-ratio: 1; background: var(--accent); border-radius: 100% 0 0 0; }
    .blasons li.blasons-aplat::after { content: ""; position: absolute; left: 14%; top: 18%; width: 22%; aspect-ratio: 1; background: var(--mint); }
    @media (min-width: 560px) { .blasons { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
    @media (min-width: 900px) { .blasons { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; } }
    @media (min-width: 1200px) { .blasons { grid-template-columns: repeat(10, minmax(0, 1fr)); } .blasons li { aspect-ratio: 1 / 1; padding: 12px; } }

    #contenu { padding: 24px 0 72px; background: var(--paper); border-top: 1px solid var(--line); }
    .texte { max-width: 1120px; }
    .feature { padding: 48px 0 8px; border-top: 1px solid var(--line); }
    .feature:first-child { border-top: 0; }
    .feature > h2 { margin: 0 0 22px; font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.3rem); line-height: 1.16; letter-spacing: -.02em; }
    .feature > h2::before { content: ""; display: block; width: 46px; height: 8px; margin: 0 0 16px; background: linear-gradient(90deg, var(--primary) 0 32px, transparent 32px 38px, var(--accent) 38px 46px); }
    .feature h3 { margin: 1.9em 0 .55em; font-size: clamp(1.18rem, 1.08rem + .45vw, 1.38rem); line-height: 1.3; }
    .feature h4 { margin: 1.5em 0 .4em; font: 700 1.04rem/1.35 var(--font-body); color: var(--ink); letter-spacing: 0; }
    .feature p { margin: 0 0 1.1em; }
    .feature > p:first-of-type { font-size: 1.12rem; }
    .feature strong { font-weight: 700; color: var(--ink); }
    .feature ul, .feature ol:not(.marches) { margin: 0 0 1.3em; padding-left: 1.3em; }
    .feature ul { list-style: none; padding-left: 0; }
    .feature ul li { position: relative; padding-left: 26px; margin: 0 0 .5em; }
    .feature ul li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; background: var(--accent); }
    .feature ol:not(.marches) li { margin: 0 0 .5em; padding-left: 4px; }
    .feature ol:not(.marches) li::marker { font-family: var(--font-head); font-weight: 600; color: var(--primary); }
    .lettrine::first-letter { float: left; margin: .06em .12em 0 0; font: 600 3.6em/.82 var(--font-head); color: var(--primary); }
    @media (min-width: 1024px) {
      .feature { display: grid; grid-template-columns: 300px minmax(0, 1fr); column-gap: 64px; row-gap: 0; padding-top: 64px; }
      .feature > * { grid-column: 2; min-width: 0; }
      .feature > h2 { grid-column: 1; grid-row: 1 / span 80; align-self: start; position: sticky; top: calc(var(--header-h) + 28px); margin: 0; font-size: 2rem; }
      .feature > :nth-child(2) { margin-top: 0; }
      .feature > p, .feature > ul, .feature > ol, .feature > h3, .feature > h4 { max-width: 760px; }
    }

    .aplat { height: 200px; margin: 2em 0; border-radius: var(--radius); background-color: var(--primary); }
    .aplat--1 { background: radial-gradient(circle at 80% 100%, var(--accent) 0 108px, transparent 109px), linear-gradient(90deg, var(--primary) 0 64%, var(--mint) 64% 100%); }
    .aplat--2 { background: radial-gradient(circle at 18% 50%, transparent 0 58px, var(--accent) 59px 62px, transparent 63px), conic-gradient(from 90deg at 62% 50%, var(--primary) 0 25%, var(--mint) 0 50%, var(--primary-900) 0 75%, var(--accent) 0); }
    .aplat--3 { background: linear-gradient(0deg, var(--accent) 0 14px, transparent 14px), radial-gradient(circle at 30% 0, var(--primary-900) 0 120px, transparent 121px), repeating-linear-gradient(90deg, var(--primary) 0 44px, var(--primary-700) 44px 88px); }
    @media (min-width: 640px) { .aplat { height: 240px; } }

    .releve-pochette { margin: 1.6em 0 2em; overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 3px solid var(--primary); border-bottom: 1px solid var(--line); }
    .releve-pochette:focus-visible { outline-offset: 2px; }
    table.releves { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .96rem; line-height: 1.5; font-variant-numeric: tabular-nums; }

    table.releves:not(:has(tr > :nth-child(3))) { min-width: 0; }
    table.releves caption { caption-side: top; text-align: left; padding: 12px 0 10px; font: italic 500 1.02rem/1.4 var(--font-head); color: var(--primary); }
    table.releves th, table.releves td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
    table.releves thead th { font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--primary); border-bottom: 0; }
    table.releves tbody th { font-weight: 700; color: var(--primary); }
    table.releves tbody tr:nth-child(even) { background: var(--paper-2); }
    table.releves tbody tr:last-child > * { border-bottom: 0; }

    .chiffres { position: relative; overflow: hidden; display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); margin: 2em 0; padding: 14px 8px 8px; color: #fff; background: var(--primary); border-radius: var(--radius); }
    .chiffres::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; background: linear-gradient(90deg, var(--accent) 0 34%, transparent 34% 36%, var(--mint) 36% 44%, transparent 44%); pointer-events: none; }
    .mesure { position: relative; z-index: 1; padding: 22px 20px; border-left: 1px solid rgba(255, 255, 255, .18); }
    .mesure:first-child { border-left: 0; }
    .mesure-nombre { display: block; margin-bottom: 6px; font: 600 clamp(2.2rem, 1.8rem + 1.6vw, 3.1rem)/1 var(--font-head); color: var(--accent-light); letter-spacing: -.02em; }
    .mesure-intitulecourt { display: block; font-size: .95rem; line-height: 1.45; color: rgba(255, 255, 255, .9); }
    .mesure-source { display: block; position: relative; z-index: 1; padding: 0 20px 14px; font-size: .78rem; color: rgba(255, 255, 255, .72); grid-column: 1 / -1; }

    ol.marches { list-style: none; counter-reset: step; margin: 1.6em 0 2.2em; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px 32px; }
    ol.marches > li { counter-increment: step; position: relative; padding: 18px 0 0 0; border-top: 3px solid var(--primary); }
    ol.marches > li::before { content: counter(step, decimal-leading-zero); display: inline-flex; align-items: flex-end; justify-content: flex-start; width: 64px; height: 52px; margin: 0 0 10px; padding: 0 0 2px 0; font: italic 500 2.5rem/1 var(--font-head); color: var(--primary); background: linear-gradient(var(--mint), var(--mint)) right top / 26px 26px no-repeat; }
    ol.marches > li::after { content: ""; position: absolute; top: -3px; left: 0; width: 34%; height: 3px; background: var(--accent); }
    ol.marches > li h3 { margin: 0 0 .4em; font-size: 1.2rem; }
    ol.marches > li p { margin: 0; color: var(--ink); }
    @media (min-width: 640px) { ol.marches { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

    .incitation-enligne { position: relative; overflow: hidden; margin: 2.4em 0; padding: 30px 24px; color: #fff; background: var(--primary); border-radius: var(--radius); }
    .incitation-enligne::before { content: ""; position: absolute; right: -60px; bottom: -60px; width: 140px; height: 140px; background: var(--accent); border-radius: 50%; }
    .incitation-enligne::after { content: ""; position: absolute; right: 120px; top: -50px; width: 110px; height: 110px; border: 2px solid rgba(255, 255, 255, .25); border-radius: 50%; }
    .incitation-enligne > * { position: relative; z-index: 1; max-width: 540px; }
    @media (min-width: 640px) { .incitation-enligne > * { max-width: min(540px, calc(100% - 90px)); } }
    .incitation-enligne .incitation-denomination { margin: 0 0 .4em; font: 600 clamp(1.3rem, 1.15rem + .7vw, 1.65rem)/1.25 var(--font-head); color: #fff; }
    .incitation-enligne p { margin: 0 0 1.2em; color: rgba(255, 255, 255, .9); }
    .incitation-enligne .declic { margin-top: 4px; }
    @media (min-width: 640px) { .incitation-enligne { padding: 38px 40px; } }

    .remarque { position: relative; margin: 2em 0; padding: 30px 24px 20px; background: var(--paper-2); border-radius: var(--radius); }
    .remarque::after { content: ""; position: absolute; top: 0; right: 0; width: 44px; height: 44px; background: var(--mint); clip-path: polygon(0 0, 100% 0, 100% 100%); }
    .remarque-intitulecourt { position: absolute; top: -12px; left: 24px; margin: 0; padding: 4px 10px; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: var(--primary); }
    .remarque p:last-child { margin-bottom: 0; }
    .remarque--cas { background: var(--primary-050); border-left: 6px solid var(--accent); }
    .remarque--cas .remarque-intitulecourt { color: var(--ink); background: var(--accent); }
    .remarque--cas::after { background: var(--primary); }

    .pullquote { margin: 2em 0; padding: 22px 0 18px; border-top: 2px solid var(--primary); border-bottom: 1px solid var(--line); font: italic 500 clamp(1.25rem, 1.1rem + .7vw, 1.6rem)/1.4 var(--font-head); color: var(--primary); }
    .pullquote p { margin: 0; }
    .pullquote cite { display: block; margin-top: 10px; font: normal 600 .86rem var(--font-body); color: var(--muted); }
    .feature > p.texte-metadonnees { margin-top: 2.4em; padding-top: 14px; border-top: 1px solid var(--line); font-size: .88rem; color: var(--muted); }

    #qui-sommes-nous { position: relative; overflow: hidden; padding: 72px 0; color: #fff; background: var(--primary); }
    #qui-sommes-nous::before { content: ""; position: absolute; top: 0; right: 0; width: 220px; height: 220px; background: var(--accent); border-radius: 0 0 0 100%; opacity: .9; }
    #qui-sommes-nous::after { content: ""; position: absolute; left: -90px; bottom: -90px; width: 260px; height: 260px; border: 2px solid rgba(255, 255, 255, .16); border-radius: 50%; }
    .editeur { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
    .editeur h2 { margin: 0 0 18px; font-size: clamp(1.7rem, 1.25rem + 1.6vw, 2.45rem); line-height: 1.15; color: #fff; }
    .editeur h2::before { content: ""; display: block; width: 46px; height: 8px; margin: 0 0 16px; background: linear-gradient(90deg, #fff 0 32px, transparent 32px 38px, var(--accent) 38px 46px); }
    .editeur p { margin: 0 0 1.1em; color: rgba(255, 255, 255, .92); font-size: 1.08rem; }
    .editeur a { color: #fff; font-weight: 700; }
    .editeur a:hover { color: var(--accent-light); }
    .editeur-elements { align-self: center; padding: 26px 24px; background: var(--primary-900); border-radius: var(--radius); }
    .editeur-elements ul { list-style: none; margin: 0 0 22px; padding: 0; counter-reset: fact; }
    .editeur-elements li { counter-increment: fact; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .92); font-size: .98rem; line-height: 1.5; }
    .editeur-elements li:first-child { padding-top: 0; }
    .editeur-elements li::before { content: counter(fact, decimal-leading-zero); font: italic 500 1.3rem/1.1 var(--font-head); color: var(--accent-light); }
    .legendes { display: flex; flex-wrap: wrap; gap: 12px; }
    .legendes img { height: 64px; width: auto; padding: 8px 12px; background: #fff; border-radius: var(--radius); }
    @media (min-width: 900px) { .editeur { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; } .editeur-elements { padding: 32px; } }

    #faq { padding: 72px 0 80px; background: var(--paper); }
    .eclairages-colonne { margin-top: 8px; border-bottom: 1px solid var(--line); }
    #faq details { position: relative; border-top: 1px solid var(--line); transition: background .2s; }
    #faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) 40px; align-items: center; gap: 20px; padding: 22px 0; font: 600 clamp(1.08rem, 1rem + .45vw, 1.32rem)/1.35 var(--font-head); color: var(--ink); }
    #faq summary::-webkit-details-marker { display: none; }
    #faq summary::after { content: ""; width: 40px; height: 40px; border: 1.5px solid var(--primary); border-radius: var(--radius); background: linear-gradient(var(--primary), var(--primary)) center / 14px 2px no-repeat, linear-gradient(var(--primary), var(--primary)) center / 2px 14px no-repeat; transition: transform .25s, background-color .2s; }
    #faq summary:hover { color: var(--primary); }
    #faq summary:focus-visible { outline-offset: -3px; }
    #faq details[open] { background: var(--primary); box-shadow: 0 0 0 100vmax var(--primary); clip-path: inset(0 -100vmax); border-top-color: var(--primary); }
    #faq details[open] + details { border-top-color: var(--primary); }
    #faq details[open] summary { color: #fff; }
    #faq details[open] summary::after { transform: rotate(180deg); border-color: var(--accent); background: var(--accent) linear-gradient(var(--ink), var(--ink)) center / 14px 2px no-repeat; }
    #faq details > :not(summary) { max-width: 820px; margin: 0 0 1em; color: rgba(255, 255, 255, .92); }
    #faq details > :last-child { padding-bottom: 26px; margin-bottom: 0; }
    #faq details .eclairages-developpement > * { margin: 0 0 1em; }
    #faq details .eclairages-developpement > :last-child { margin-bottom: 0; }
    #faq details a { color: var(--accent-light); }
    #faq details ul { padding-left: 1.2em; }
    @media (min-width: 900px) { #faq details > :not(summary) { margin-left: 0; } #faq summary { padding: 26px 0; } }

    .adresse-embase { background: var(--primary-700); color: rgba(255, 255, 255, .82); font-size: .93rem; border-top: 8px solid var(--accent); }
    .adresse-embase .ecrin { display: grid; gap: 18px; padding-top: 44px; padding-bottom: 36px; }
    .embase-embleme { margin: 0; font: 600 1.3rem/1.2 var(--font-head); color: #fff; }
    .embase-embleme em { font-weight: 500; }
    .adresse-embase p { margin: 0; max-width: 62em; }
    .adresse-embase strong { color: #fff; }
    .adresse-embase a { color: #fff; }
    .adresse-embase a:hover { color: var(--accent-light); }
    .embase-legal { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .16); font-size: .85rem; color: rgba(255, 255, 255, .72); }

    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }

    [data-lead-form] .lf-native-step + .lf-native-step { display: none; }

    [data-lead-form] .lf-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
    [data-lead-form] .lf-native-step { margin: 0 0 18px; padding: 0; border: 0; min-width: 0; }
    [data-lead-form] .lf-native .lf-step-title { display: block; margin: 0 0 12px; padding: 0; font-weight: 600; }
    [data-lead-form] .lf-native .lf-grid { display: grid; gap: 12px; }
    [data-lead-form] .lf-native .lf-field { margin: 0; padding: 0; border: 0; min-width: 0; }
    [data-lead-form] .lf-native .lf-label, [data-lead-form] .lf-native .lf-field legend { display: block; margin: 0 0 5px; font-size: .875rem; font-weight: 600; }
    [data-lead-form] .lf-native .lf-input { display: block; width: 100%; box-sizing: border-box; padding: 11px 12px; font: inherit; font-size: 1rem; border: 1px solid var(--lf-line, #d5dae3); border-radius: var(--lf-radius, 6px); background: var(--lf-bg, #fff); color: inherit; }
    [data-lead-form] .lf-native textarea.lf-input { min-height: 96px; }
    [data-lead-form] .lf-native .lf-check { display: flex; gap: 10px; align-items: flex-start; font-size: .8rem; line-height: 1.45; }
    [data-lead-form] .lf-native .lf-check input { margin: 2px 0 0; width: 18px; height: 18px; flex: none; }
    [data-lead-form] .lf-native .lf-btn { display: block; width: 100%; padding: 14px 18px; font: inherit; font-size: 1rem; font-weight: 700; border: 0; border-radius: var(--lf-radius, 6px); cursor: pointer; background: var(--lf-accent, #ff9e24); color: var(--lf-accent-ink, #14213d); }
