:root {
      --bg: #F7F8FA;             
      --white: #FFFFFF;          
      --surface: #EEF0F3;        
      --surface-2: #E3E6EA;      
      --line: #D8DCE2;           
      --line-strong: #B9BFC8;    
      --ink: #14192B;            
      --ink-2: #222A40;          
      --ink-soft: #2A3040;       
      --muted: #5A6170;          
      --on-ink: #F7F8FA;         
      --on-ink-soft: #C9CFD9;    
      --accent: #D0321E;         
      --accent-hover: #B5291A;   
      --accent-text: #B2281A;    
      --accent-bright: #FF7A66;  
      --accent-pale: #FBE9E6;    
      --steel: #3F5F7E;          
      --steel-soft: #7B93AA;     
      --steel-pale: #E1E8F0;     
      --steel-bright: #9DB4CC;   
      --error: #B42318;          
      --font-head: "Albert Sans", "Segoe UI", Arial, sans-serif;
      --font-body: "Literata", Georgia, "Times New Roman", serif;
      --font-ui: "Albert Sans", "Segoe UI", Arial, sans-serif;
      --radius: 6px;
      --radius-sm: 4px;
      --container: 1180px;
      --gutter: 16px;
      --header-h: 64px;
      --shadow-card: 0 20px 44px -26px rgba(20, 25, 43, .45);
      --focus: var(--steel);

      --coulisse-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22'%3E%3Crect x='0' y='0' width='2' height='22' fill='%233F5F7E'/%3E%3Crect x='30' y='0' width='2' height='22' fill='%233F5F7E'/%3E%3Crect x='5' y='3' width='22' height='2' fill='%233F5F7E'/%3E%3Crect x='5' y='8' width='22' height='2' fill='%233F5F7E'/%3E%3Crect x='5' y='13' width='22' height='3' fill='%23D0321E'/%3E%3C/svg%3E");

      --coulisse-mark-bright: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 22'%3E%3Crect x='0' y='0' width='2' height='22' fill='%239DB4CC'/%3E%3Crect x='30' y='0' width='2' height='22' fill='%239DB4CC'/%3E%3Crect x='5' y='3' width='22' height='2' fill='%239DB4CC'/%3E%3Crect x='5' y='8' width='22' height='2' fill='%239DB4CC'/%3E%3Crect x='5' y='13' width='22' height='3' fill='%23FF7A66'/%3E%3C/svg%3E");

      --rails-h: linear-gradient(180deg, var(--steel-soft) 0 1px, transparent 1px 5px, var(--steel-soft) 5px 6px);
      --rails-h-bright: linear-gradient(180deg, var(--ink-2) 0 1px, transparent 1px 5px, var(--ink-2) 5px 6px);

      --rails-bullet: linear-gradient(90deg, var(--steel) 0 2px, transparent 2px 8px, var(--steel) 8px 10px);
    }
    @media (min-width: 640px) { :root { --gutter: 28px; } }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); -webkit-text-size-adjust: 100%; }
    body { margin: 0; font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.65; color: var(--ink-soft); background: var(--bg); overflow-x: hidden; }
    img, svg { max-width: 100%; height: auto; display: block; }
    h1, h2, h3, h4 { font-family: var(--font-head); color: var(--ink); margin: 0 0 .55em; line-height: 1.15; letter-spacing: -.015em; }
    h1 { font-weight: 800; font-size: clamp(2rem, 1.25rem + 3.2vw, 3.5rem); line-height: 1.04; letter-spacing: -.025em; }
    h2 { font-weight: 700; font-size: clamp(1.55rem, 1.2rem + 1.4vw, 2.1rem); }
    h3 { font-weight: 700; font-size: clamp(1.18rem, 1.08rem + .45vw, 1.4rem); }
    h4 { font-weight: 600; font-size: 1.06rem; }
    p { margin: 0 0 1.1em; }
    a { color: var(--steel); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
    a:hover { color: var(--ink); }
    strong { color: var(--ink); font-weight: 600; }
    :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 3px; }
    .conteneur { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
    .attache { white-space: nowrap; }
    .raccourci-raccord { position: absolute; left: 12px; top: -80px; z-index: 200; padding: 10px 16px; background: var(--ink); color: var(--on-ink); font: 600 .9rem var(--font-ui); border-radius: var(--radius-sm); text-decoration: none; }
    .raccourci-raccord:focus { top: 12px; }

    .mention { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-ui); font-weight: 700; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--steel); }
    .mention::before { content: ""; width: 16px; height: 11px; background: var(--coulisse-mark) no-repeat center / contain; flex: none; }

    .declic { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; font: 700 1rem var(--font-ui); letter-spacing: .01em; color: var(--white); background: var(--accent); border: 0; border-radius: var(--radius-sm); text-decoration: none; cursor: pointer; transition: background-color .15s ease; }
    .declic:hover { background: var(--accent-hover); color: var(--white); }
    .declic:focus-visible { outline-color: var(--ink); }
    .declic-petit { min-height: 42px; padding: 9px 16px; font-size: .92rem; }
    .declic-filaire { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 2px var(--ink); }
    .declic-filaire:hover { background: var(--ink); color: var(--on-ink); }

    .domaine-haut { position: sticky; top: 0; z-index: 100; background: var(--white); border-bottom: 1px solid var(--line); }
    .domaine-haut .conteneur { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: var(--header-h); flex-wrap: wrap; }
    .enseigne { display: inline-flex; align-items: center; gap: 10px; font: 700 1.05rem var(--font-head); color: var(--ink); text-decoration: none; letter-spacing: -.02em; min-width: 0; }
    .enseigne-logotype { width: 30px; height: 30px; flex: none; }
    .enseigne .tld { color: var(--accent-text); }
    .navigation-central { display: none; gap: 2px; }
    .navigation-central a { padding: 8px 12px; font: 600 .92rem var(--font-ui); color: var(--ink-soft); text-decoration: none; border-radius: var(--radius-sm); }
    .navigation-central a:hover { background: var(--steel-pale); color: var(--ink); }
    .haut-incitation { display: inline-flex; margin-left: auto; }
    .navigation-sommairenav { position: relative; display: flex; align-items: center; }
    .navigation-commutateur { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
    .navigation-sommairenav-declic { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; font: 700 .88rem var(--font-ui); color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); cursor: pointer; background: var(--white); }
    .navigation-commutateur:checked ~ .navigation-sommairenav-declic { background: var(--steel-pale); border-color: var(--steel); }
    .navigation-commutateur:focus-visible ~ .navigation-sommairenav-declic { outline: 3px solid var(--focus); outline-offset: 3px; }
    .troistraits { width: 16px; height: 14px; background: linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 14px, var(--ink) 14px 16px), linear-gradient(180deg, transparent 0 3px, var(--ink) 3px 5px, transparent 5px 9px, var(--ink) 9px 11px, transparent 11px 14px) 4px 0 / 8px 14px no-repeat; }
    .navigation-battant { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-card); }
    .navigation-commutateur:checked ~ .navigation-battant { display: grid; }
    .navigation-battant a { display: block; padding: 14px var(--gutter); min-height: 44px; font: 600 1rem var(--font-ui); color: var(--ink); text-decoration: none; border-top: 1px solid var(--line); }
    .navigation-battant a:hover { background: var(--steel-pale); }
    @media (min-width: 900px) {
      .navigation-central { display: flex; }
      .navigation-sommairenav { display: none; }
    }
    @media (max-width: 899px) {
      .domaine-haut .conteneur, .navigation-sommairenav { position: static; }
    }
    @media (max-width: 559px) { .haut-incitation { display: none; } }

    .entree { position: relative; background: var(--bg); color: var(--ink-soft); padding: 32px 0 40px; overflow: hidden; }
    .entree::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--rails-h); pointer-events: none; }
    .entree-canevas { position: relative; z-index: 1; display: grid; gap: 28px; align-items: start; }
    .entree-ecrit { position: relative; padding-top: 4px; }
    .surtitre { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; font: 700 .76rem var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--steel); }
    .surtitre::before { content: ""; width: 18px; height: 12px; background: var(--coulisse-mark) no-repeat center / contain; flex: none; }
    .entree h1 { margin-bottom: 18px; max-width: 17ch; color: var(--ink); }
    .chapeau { font-family: var(--font-body); font-size: clamp(1.08rem, 1rem + .4vw, 1.25rem); line-height: 1.55; color: var(--ink-soft); max-width: 36rem; margin-bottom: 22px; }
    .chapeau strong { color: var(--ink); }
    .gommettes { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
    .gommettes li { display: inline-flex; align-items: center; gap: 9px; padding: 7px 13px 7px 11px; font: 600 .86rem var(--font-ui); color: var(--ink); border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: var(--white); }
    .gommettes li::before { content: ""; width: 10px; height: 10px; background: var(--rails-bullet); flex: none; }
    .entree-coulisses { display: none; margin-top: 44px; width: 100%; max-width: 440px; }
    .entree-aile { position: relative; }
    .bordereau-carte { position: relative; z-index: 1; background: var(--white); color: var(--ink-soft); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px 20px 22px; box-shadow: var(--shadow-card); }
    .bordereau-carte::before { content: ""; display: block; width: 36px; height: 24px; margin: 0 0 14px; background: var(--coulisse-mark) no-repeat left top / contain; }
    .bordereau-titraille { font-size: 1.4rem; margin: 0 0 6px; }
    .bordereau-chapeau { font-size: .95rem; color: var(--muted); margin-bottom: 18px; }

    .bordereau-carte [data-lead-form] {
      --lf-accent: var(--accent);
      --lf-accent-ink: #FFFFFF;
      --lf-ink: var(--ink);
      --lf-muted: var(--muted);
      --lf-line: var(--line-strong);
      --lf-bg: var(--bg);
      --lf-error: var(--error);
      --lf-radius: 4px;
      --lf-font: var(--font-ui);
      min-height: 300px;
    }
    @media (min-width: 640px) {
      .entree { padding: 44px 0 52px; }
      .bordereau-carte { padding: 28px 28px 26px; }
    }
    @media (min-width: 960px) {
      .entree { padding: 56px 0 68px; }
      .entree-canevas { grid-template-columns: minmax(0, 1.1fr) minmax(400px, .9fr); gap: 56px; }
      .entree-ecrit { padding-top: 16px; }
      .entree-coulisses { display: block; }
    }
    @media (min-width: 1200px) { .entree-canevas { gap: 80px; } }

    .incitation-bande { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); border-top: 1px solid var(--line); box-shadow: 0 -12px 30px -20px rgba(20, 25, 43, .5); }
    .incitation-bande .declic { width: 100%; }
    .incitation-bande { transition: opacity .2s ease, transform .2s ease; }
    .incitation-bande.etat-voile { opacity: 0; transform: translateY(100%); visibility: hidden; pointer-events: none; }
    @media (prefers-reduced-motion: reduce) { .incitation-bande { transition: none; } }
    body { padding-bottom: 76px; }
    @media (min-width: 960px) {
      .incitation-bande { display: none; }
      body { padding-bottom: 0; }
    }

    .garantie-frise { background: var(--surface); padding: 40px 0 44px; border-bottom: 1px solid var(--line); }
    .balisage { display: grid; gap: 22px; }
    .balisage-sommet { max-width: 30rem; }
    .balisage-surtitre { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 700 .74rem var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--steel); }
    .balisage-surtitre::before { content: ""; width: 16px; height: 11px; background: var(--coulisse-mark) no-repeat center / contain; flex: none; }
    .balisage-titraille { margin: 0; font: 700 clamp(1.3rem, 1.1rem + .9vw, 1.7rem) var(--font-head); line-height: 1.2; color: var(--ink); letter-spacing: -.015em; }
    .balisage-canevas { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
    .jalonnet-ligne { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 20px 20px 18px 26px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
    .jalonnet-ligne::before { content: ""; position: absolute; left: 8px; top: 16px; bottom: 16px; width: 6px; background: linear-gradient(90deg, var(--steel) 0 2px, transparent 2px 4px, var(--steel) 4px 6px); }
    .jalonnet-taux { font: 800 2.2rem var(--font-head); line-height: 1; letter-spacing: -.03em; color: var(--ink); }
    .jalonnet-taux small { display: block; margin-top: 6px; font: 700 .72rem var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--steel); }
    .jalonnet-legende { font-size: .95rem; line-height: 1.5; color: var(--ink-soft); }
    .jalonnet-reference { font-size: .8rem; color: var(--muted); }
    .balisage-glose { margin: 0; font-size: .85rem; color: var(--muted); max-width: 60rem; }
    @media (min-width: 640px) { .balisage-canevas { grid-template-columns: repeat(3, 1fr); } }
    @media (min-width: 960px) {
      .garantie-frise { padding: 48px 0 52px; }
      .balisage { grid-template-columns: minmax(260px, .9fr) minmax(0, 2.1fr); column-gap: 48px; align-items: start; }
      .balisage-glose { grid-column: 1 / -1; }
    }

    main#contenu { padding: 48px 0 24px; }
    .redaction { max-width: 780px; margin: 0 auto; }
    .redaction > .massif:first-child { padding-top: 0; }
    .redaction-introduction { margin-bottom: 8px; }
    .refonte { margin: 0 0 14px; font: 500 .82rem var(--font-ui); color: var(--muted); }
    .refonte time { color: var(--ink); font-weight: 700; }
    .introduit { font-size: clamp(1.12rem, 1.02rem + .5vw, 1.32rem); line-height: 1.5; color: var(--ink); font-weight: 500; }
    .massif { padding: 40px 0 8px; }
    .massif + .massif { position: relative; }
    .massif + .massif::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--rails-h); opacity: .55; }
    .massif h2::before { content: ""; display: block; width: 32px; height: 22px; margin: 0 0 14px; background: var(--coulisse-mark) no-repeat left top / contain; }
    .massif h3 { margin-top: 1.6em; }
    .massif h4 { margin-top: 1.3em; }
    .redaction ul:not([class]), .releve { list-style: none; margin: 0 0 1.2em; padding: 0; }
    .redaction ul:not([class]) li, .releve li { position: relative; padding-left: 24px; margin-bottom: .5em; }
    .redaction ul:not([class]) li::before, .releve li::before { content: ""; position: absolute; left: 1px; top: .55em; width: 10px; height: 10px; background: var(--rails-bullet); }
    .releve-2col { display: grid; gap: 6px 24px; }
    @media (min-width: 640px) { .releve-2col { grid-template-columns: 1fr 1fr; } }
    .redaction ol:not([class]) { margin: 0 0 1.2em; padding-left: 1.5em; }
    .redaction ol:not([class]) li { padding-left: 6px; margin-bottom: .5em; }
    .redaction ol:not([class]) li::marker { color: var(--steel); font: 700 .95em var(--font-ui); }
    blockquote { position: relative; margin: 1.4em 0; padding: 16px 20px 16px 26px; background: var(--surface); border-radius: var(--radius); font-style: italic; color: var(--ink); }
    blockquote::before { content: ""; position: absolute; left: 10px; top: 14px; bottom: 14px; width: 6px; background: linear-gradient(90deg, var(--steel) 0 2px, transparent 2px 4px, var(--steel) 4px 6px); }
    blockquote p:last-child { margin-bottom: 0; }

    .sommaire { margin: 0 0 12px; padding: 18px 20px; background: var(--surface); border-radius: var(--radius); }
    .sommaire-titre { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 700 .74rem var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--steel); }
    .sommaire-titre::before { content: ""; width: 16px; height: 11px; background: var(--coulisse-mark) no-repeat center / contain; }
    .sommaire ol { margin: 0; padding-left: 1.4em; columns: 1; column-gap: 32px; }
    .sommaire li { padding-left: 4px; margin-bottom: 6px; break-inside: avoid; font-family: var(--font-ui); font-size: .98rem; }
    .sommaire li::marker { color: var(--steel); font-weight: 700; }
    .sommaire a { color: var(--ink); text-decoration: none; }
    .sommaire a:hover { color: var(--steel); text-decoration: underline; }
    @media (min-width: 640px) { .sommaire ol { columns: 2; } }

    .matrice-enveloppe { margin: 1.4em 0; overflow-x: auto; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); }
    .matrice-enveloppe:focus-visible { outline-offset: 2px; }
    table { width: 100%; border-collapse: collapse; font-size: .95rem; min-width: 440px; }
    caption { caption-side: bottom; padding: 10px 14px; font-size: .82rem; color: var(--muted); text-align: left; }
    th, td { padding: 12px 14px; text-align: left; vertical-align: top; }
    thead th { background: var(--ink); color: var(--on-ink); font: 700 .74rem var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }
    tbody th { font-family: var(--font-ui); font-weight: 600; color: var(--ink); }
    tbody tr + tr th, tbody tr + tr td { border-top: 1px solid var(--line); }
    tbody tr:nth-child(even) th, tbody tr:nth-child(even) td { background: var(--surface); }

    .donnee { position: relative; display: grid; gap: 14px; margin: 1.6em 0; padding: 22px 22px 22px 32px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
    .donnee::before { content: ""; position: absolute; left: 12px; top: 18px; bottom: 18px; width: 6px; background: linear-gradient(90deg, var(--steel) 0 2px, transparent 2px 4px, var(--steel) 4px 6px); }
    .donnee-taux { margin: 0; font: 800 2.3rem var(--font-head); line-height: 1; letter-spacing: -.03em; color: var(--ink); }
    .donnee-taux small { display: block; margin-top: 8px; font: 700 .72rem var(--font-ui); letter-spacing: .08em; text-transform: uppercase; color: var(--steel); }
    .donnee-texte p { margin-bottom: .6em; }
    .donnee-texte p:last-child { margin-bottom: 0; }
    .donnee-reference { font-size: .82rem; color: var(--muted); }
    @media (min-width: 640px) { .donnee { grid-template-columns: 190px 1fr; align-items: start; padding: 26px 28px 26px 36px; } }

    .memo { margin: 1.6em 0; padding: 20px 22px; background: var(--steel-pale); border-radius: var(--radius); }
    .memo-mention { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 700 .74rem var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
    .memo-mention::before { content: ""; width: 16px; height: 11px; background: var(--coulisse-mark) no-repeat center / contain; flex: none; }
    .memo-avertissement { background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--error); }
    .memo-avertissement .memo-mention { color: var(--error); }
    .memo p:last-child, .memo .releve { margin-bottom: 0; }
    .memo .releve li:last-child { margin-bottom: 0; }

    .temps { list-style: none; counter-reset: etape; margin: 1.6em 0; padding: 0; display: grid; gap: 14px; }
    .temps li { counter-increment: etape; position: relative; padding: 20px 20px 18px 74px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
    .temps li::before { content: counter(etape, decimal-leading-zero); position: absolute; left: 18px; top: 18px; width: 40px; height: 40px; display: grid; place-items: center; font: 800 1rem var(--font-head); letter-spacing: -.02em; color: var(--on-ink); background: var(--ink); border-radius: var(--radius-sm); border-bottom: 3px solid var(--accent); }
    .temps li::after { content: ""; position: absolute; left: 18px; top: 66px; bottom: 18px; width: 40px; background: linear-gradient(90deg, var(--steel-soft) 0 2px, transparent 2px 38px, var(--steel-soft) 38px 40px); opacity: .6; }
    .palier-titre { display: block; margin: 0 0 4px; font: 700 1.06rem var(--font-head); color: var(--ink); letter-spacing: -.01em; }
    .temps li p { margin: 0; font-size: .97rem; }
    @media (min-width: 720px) { .temps { grid-template-columns: 1fr 1fr; } }

    .rayon { display: grid; gap: 22px; margin: 1.4em 0; }
    .rayon-ensemble { padding: 18px 20px; background: var(--surface); border-radius: var(--radius); }
    .rayon-titre { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px; font: 700 .76rem var(--font-ui); letter-spacing: .1em; text-transform: uppercase; color: var(--steel); }
    .rayon-titre::before { content: ""; width: 16px; height: 11px; background: var(--coulisse-mark) no-repeat center / contain; flex: none; }
    .rayon-rangee { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
    .rayon-rangee li { padding: 6px 12px; font: 600 .88rem var(--font-ui); color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-sm); }
    @media (min-width: 640px) { .rayon { grid-template-columns: 1fr 1fr; } }

    .incitation-tarification { position: relative; display: grid; gap: 18px; margin: 2em 0; padding: 26px 24px; background: var(--ink); color: var(--on-ink-soft); border-radius: var(--radius); align-items: center; overflow: hidden; }
    .incitation-tarification::before { content: ""; position: absolute; top: 0; bottom: 0; right: 24px; width: 40px; background: linear-gradient(90deg, var(--steel-bright) 0 2px, transparent 2px 38px, var(--steel-bright) 38px 40px); opacity: .28; pointer-events: none; }
    .incitation-tarification > * { position: relative; }
    .incitation-titre { display: block; margin: 0 0 6px; font: 700 1.35rem var(--font-head); line-height: 1.2; color: var(--on-ink); letter-spacing: -.015em; }
    .incitation-tarification p { margin: 0; font-size: .98rem; }
    .incitation-tarification .declic { justify-self: start; }
    .incitation-tarification .declic:focus-visible { outline-color: var(--on-ink); }
    @media (min-width: 720px) { .incitation-tarification { grid-template-columns: 1fr auto; padding: 30px 34px; } .incitation-tarification .declic { justify-self: end; } .incitation-tarification::before { right: auto; left: 50%; } }

    .partage-figure { display: grid; gap: 22px; margin: 2.2em 0; align-items: center; }
    .partage-figure figure { margin: 0; order: -1; }
    .partage-figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); background: var(--surface-2); }
    .partage-figure figure::before { content: ""; display: block; width: 32px; height: 22px; margin: 0 0 10px; background: var(--coulisse-mark) no-repeat left top / contain; }
    .partage-figure--inverse figure::before { margin-left: auto; background-position: right top; }
    .partage-figure figcaption { margin-top: 10px; font: 500 .82rem var(--font-ui); color: var(--muted); }
    .partage-figure-libre > :first-child { margin-top: 0; }
    .partage-figure-libre > :last-child { margin-bottom: 0; }
    .partage-figure-libre h3 { margin-top: 0; }
    @media (min-width: 760px) {
      .partage-figure { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 36px; }
      .partage-figure figure { order: 2; }
      .partage-figure--inverse figure { order: -1; }
    }
    @media (min-width: 1120px) { .partage-figure { margin-left: -130px; margin-right: -130px; gap: 48px; } }

    #a-propos { padding: 32px 0 24px; }
    .identite-carte { max-width: 780px; margin: 0 auto; padding: 26px 24px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
    .identite-carte::before { content: ""; display: block; width: 32px; height: 22px; margin: 0 0 14px; background: var(--coulisse-mark) no-repeat left top / contain; }
    .identite-carte h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); }
    .identite-carte p:last-child { margin-bottom: 0; }
    @media (min-width: 640px) { .identite-carte { padding: 32px 40px; } }

    #faq { padding: 40px 0 72px; }
    .foire-coeur { max-width: 780px; margin: 0 auto; }
    .foire-coeur h2::before { content: ""; display: block; width: 32px; height: 22px; margin: 0 0 14px; background: var(--coulisse-mark) no-repeat left top / contain; }
    .foire-rangee { margin-top: 22px; display: grid; gap: 8px; }
    .foire-ligne { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
    .foire-ligne[open] { border-color: var(--steel); }
    .foire-ligne summary { display: grid; grid-template-columns: 1fr 18px; align-items: start; gap: 14px; padding: 16px 18px; list-style: none; cursor: pointer; font: 700 1.02rem var(--font-head); line-height: 1.35; color: var(--ink); letter-spacing: -.01em; }
    .foire-ligne summary::-webkit-details-marker { display: none; }
    .foire-ligne summary::after { content: ""; width: 18px; height: 18px; margin-top: 3px; background: linear-gradient(var(--accent), var(--accent)) 5px 0 / 8px 5px no-repeat, linear-gradient(90deg, var(--steel) 0 2px, transparent 2px 16px, var(--steel) 16px 18px); transition: background-size .15s ease; }
    .foire-ligne[open] summary::after { background-size: 8px 18px, auto; }
    .foire-ligne summary:hover { color: var(--steel); }
    .foire-matiere { padding: 0 18px 18px; color: var(--ink-soft); }
    .foire-matiere p:last-child, .foire-matiere .releve { margin-bottom: 0; }

    .domaine-embase { position: relative; background: var(--ink); color: var(--on-ink-soft); padding: 44px 0 28px; font-size: .93rem; }
    .domaine-embase::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(180deg, var(--steel-bright) 0 1px, transparent 1px 5px, var(--steel-bright) 5px 6px); opacity: .5; }
    .embase-canevas { display: grid; gap: 28px; }
    .domaine-embase .enseigne { color: var(--on-ink); }
    .domaine-embase .enseigne .tld { color: var(--accent-bright); }
    .embase-descriptif { margin: 14px 0 0; max-width: 36rem; color: var(--on-ink-soft); }
    .embase-travee .mention { color: var(--steel-bright); }
    .embase-travee .mention::before { background-image: var(--coulisse-mark-bright); }
    .embase-travee p { margin: 0 0 10px; }
    .embase-travee ul { list-style: none; margin: 0; padding: 0; }
    .embase-travee li { margin: 0 0 8px; font-family: var(--font-ui); }
    .domaine-embase a { color: var(--on-ink); }
    .domaine-embase a:hover { color: var(--steel-bright); }
    .domaine-embase a:focus-visible { outline-color: var(--steel-bright); }
    .embase-socle { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--ink-2); font-size: .84rem; color: var(--on-ink-soft); }
    @media (min-width: 720px) { .embase-canevas { grid-template-columns: 1.6fr 1fr 1fr; } }

    @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); }
