:root {
      --ink: #141A2E;
      --ink-soft: #262C42;
      --navy: #22305A;
      --navy-600: #2F4079;
      --paper: #FBF8F3;
      --white: #FFFFFF;
      --sand: #F2ECE1;
      --sand-deep: #E4DAC8;
      --line: #D9CFBD;
      --muted: #535A70;
      --brick: #A93F17;
      --amber: #FF9E24;
      --amber-hover: #FFB454;
      --on-dark: #F4F1EA;
      --on-dark-muted: #C5CADB;
      --line-dark: rgba(244, 241, 234, .22);
      --focus: #22305A;

      --dpe-a: #3A9B4B;
      --dpe-b: #6DB544;
      --dpe-c: #B4CF4A;
      --dpe-d: #F2DC2E;
      --dpe-e: #F2B02A;
      --dpe-f: #E97F2D;
      --dpe-g: #D63A2A;
      --strip: linear-gradient(90deg,
        var(--dpe-a) 0 14.28%, var(--dpe-b) 14.28% 28.57%, var(--dpe-c) 28.57% 42.85%,
        var(--dpe-d) 42.85% 57.14%, var(--dpe-e) 57.14% 71.42%, var(--dpe-f) 71.42% 85.71%,
        var(--dpe-g) 85.71% 100%);

      --serif: "Newsreader", Georgia, "Times New Roman", serif;
      --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
      --container: 1160px;
      --gutter: 18px;
      --radius: 3px;
      --header-h: 66px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body {
      margin: 0;
      font-family: var(--sans);
      font-size: 1.0625rem;
      line-height: 1.65;
      color: var(--ink);
      background: var(--paper);
      overflow-wrap: break-word;
    }
    img, svg { max-width: 100%; height: auto; }
    a { color: var(--brick); text-decoration-thickness: 1px; text-underline-offset: 3px; }
    a:hover { color: var(--ink); }
    :focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
    h1, h2, h3, h4 { font-family: var(--serif); font-weight: 600; color: var(--ink); margin: 0; letter-spacing: -.012em; }
    h2 { font-size: clamp(1.7rem, 1.25rem + 1.6vw, 2.35rem); line-height: 1.14; text-wrap: balance; }
    h3 { font-size: clamp(1.28rem, 1.15rem + .5vw, 1.5rem); line-height: 1.22; }
    h4 { font-family: var(--sans); font-size: 1.05rem; letter-spacing: 0; line-height: 1.35; }
    p { margin: 0 0 1.1em; }

    .enveloppe { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
    .raccourci-acces {
      position: absolute; left: 12px; top: -80px; z-index: 100;
      background: var(--ink); color: var(--on-dark); padding: 10px 16px; border-radius: var(--radius);
    }
    .raccourci-acces:focus { top: 12px; color: var(--on-dark); }
    .dpe-strip { height: 6px; background: var(--strip); }

    .bouton {
      display: inline-flex; align-items: center; justify-content: center; gap: 10px;
      min-height: 48px; padding: 12px 22px;
      font-family: var(--sans); font-weight: 600; font-size: 1rem; line-height: 1.2;
      text-decoration: none; white-space: nowrap;
      border: 2px solid transparent; border-radius: var(--radius);
      transition: background-color .15s ease, color .15s ease, transform .15s ease;
    }
    .bouton::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
    .bouton-amber { background: var(--amber); color: var(--ink); }
    .bouton-amber:hover { background: var(--amber-hover); color: var(--ink); transform: translateY(-1px); }
    .bouton-ligne { background: transparent; color: var(--ink); border-color: var(--ink); }
    .bouton-ligne:hover { background: var(--ink); color: var(--on-dark); }
    .bouton-petit { min-height: 42px; padding: 8px 16px; font-size: .92rem; }

    .portail-haut { background: var(--paper); border-bottom: 1px solid var(--ink); }
    .haut-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; min-height: var(--header-h); }
    .marque { display: inline-flex; align-items: center; gap: 10px; padding: 10px 0; text-decoration: none; color: var(--ink); }
    .marque:hover { color: var(--ink); }
    .marque-marqueur { display: grid; gap: 2px; width: 22px; }
    .marque-marqueur i { display: block; height: 4px; border-radius: 1px; }
    .marque-marqueur i:nth-child(1) { width: 40%; background: var(--dpe-a); }
    .marque-marqueur i:nth-child(2) { width: 60%; background: var(--dpe-d); }
    .marque-marqueur i:nth-child(3) { width: 80%; background: var(--dpe-f); }
    .marque-marqueur i:nth-child(4) { width: 100%; background: var(--dpe-g); }
    .marque-titre { font-family: var(--serif); font-weight: 600; font-size: 1.22rem; letter-spacing: -.01em; line-height: 1; }
    .marque-tld { font-family: var(--sans); font-weight: 500; font-size: .8em; color: var(--muted); letter-spacing: 0; }
    .portail-aiguillage { order: 3; flex: 1 0 100%; display: flex; gap: 4px; margin: 0 -10px; border-top: 1px solid var(--line); }
    .portail-aiguillage a {
      display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px;
      font-size: .95rem; font-weight: 500; color: var(--ink); text-decoration: none;
    }
    .portail-aiguillage a:hover { color: var(--brick); text-decoration: underline; }
    .haut-incitation { margin: 10px 0; }

    .vitrine {
      --focus: #FFB454;
      color: var(--on-dark);
      background: radial-gradient(900px 520px at 88% -10%, #2A3A6E 0%, rgba(42, 58, 110, 0) 62%), var(--ink);
      padding: 40px 0 56px;
    }
    .vitrine-maillage { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; align-items: start; }
    .vitrine-redige { min-width: 0; }
    .chapeauteur {
      display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px;
      font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--brick);
    }
    .chapeauteur::before { content: ""; width: 28px; height: 2px; background: currentColor; }
    .vitrine .chapeauteur { color: var(--amber-hover); }
    .vitrine h1 {
      color: var(--white);
      font-size: clamp(2.05rem, 1.25rem + 3.2vw, 3.45rem);
      line-height: 1.07; letter-spacing: -.02em; text-wrap: balance;
      margin: 0 0 20px;
    }
    .resume { font-size: clamp(1.08rem, 1rem + .4vw, 1.24rem); line-height: 1.6; color: var(--on-dark-muted); max-width: 56ch; margin: 0 0 26px; }
    .resume strong { color: var(--on-dark); font-weight: 600; }
    .puces { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; }
    .puces li {
      display: inline-flex; align-items: center; gap: 9px;
      padding: 7px 13px 7px 11px;
      font-size: .9rem; font-weight: 500; line-height: 1.3; color: var(--on-dark);
      border: 1px solid var(--line-dark); border-radius: var(--radius);
      background: rgba(244, 241, 234, .05);
    }
    .puces li::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--amber); }

    .demande-carton {
      position: relative; min-width: 0;
      background: var(--white); color: var(--ink);
      border-radius: var(--radius);
      padding: 32px 22px 24px;
      box-shadow: 6px 6px 0 var(--navy-600);
      --focus: #22305A;
    }
    .demande-carton::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--strip); border-radius: var(--radius) var(--radius) 0 0; }
    .demande-manchette { font-size: clamp(1.45rem, 1.3rem + .6vw, 1.7rem); line-height: 1.18; margin: 0 0 10px; }
    .demande-resume { color: var(--muted); font-size: 1rem; margin: 0 0 20px; }

    .demande-carton [data-lead-form] {
      --lf-accent: var(--amber); --lf-accent-ink: var(--ink);
      --lf-ink: var(--ink); --lf-muted: var(--muted); --lf-line: var(--line);
      --lf-bg: var(--paper); --lf-error: var(--brick); --lf-radius: var(--radius);
      --lf-font: var(--sans);
      min-height: 300px;
    }
    .demande-carton .lf-step-title { font-family: var(--serif); font-size: 1.1rem; }
    .demande-carton .lf-btn { font-weight: 600; font-size: 1.05rem; min-height: 52px; }
    .demande-remarque { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: .86rem; line-height: 1.55; color: var(--muted); }
    .demande-remarque a { color: var(--brick); }
    .vitrine-cote { min-width: 0; }
    .garantie-lisere { background: var(--navy); color: var(--on-dark); padding: 34px 0 30px; border-top: 1px solid rgba(255,255,255,.12); }
    .garantie-chapeauteur { margin: 0 0 6px; font-family: var(--sans); font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--amber-hover); }
    .garantie-introduction { margin: 0 0 18px; max-width: 62ch; font-size: .98rem; line-height: 1.5; color: var(--on-dark-muted); }
    .anterieur-final { margin: 0; display: grid; gap: 1px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.14); border-radius: var(--radius); overflow: hidden; }
    .anterieur-final > div { display: grid; gap: 8px; padding: 16px 18px; background: var(--ink); }
    .anterieur-final dt { margin: 0; font-size: .84rem; line-height: 1.35; color: var(--on-dark-muted); }
    .anterieur-final dd { margin: 0; display: flex; align-items: center; gap: 12px; font-family: var(--serif); font-weight: 600; font-size: 1.5rem; line-height: 1; white-space: nowrap; }
    .anterieur-final .av { color: var(--on-dark-muted); text-decoration: line-through; text-decoration-thickness: 1px; }
    .anterieur-final .ap { color: var(--amber-hover); font-size: 1.75rem; }
    .anterieur-final .pointe { font-family: var(--sans); color: var(--on-dark-muted); font-size: 1.1rem; }
    .dpe-ecusson { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 3px; font-family: var(--sans); font-weight: 700; font-size: 1.2rem; color: #fff; }
    .dpe-ecusson.dpe-f { background: var(--dpe-f); color: var(--ink); }
    .dpe-ecusson.dpe-c { background: var(--dpe-c); color: var(--ink); }
    @media (min-width: 720px) { .anterieur-final { grid-template-columns: repeat(3, 1fr); } .anterieur-final > div { padding: 20px 22px; } }
    .garantie-maillage { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
    .dpe-scale { display: grid; gap: 5px; width: min(320px, 100%); align-self: center; }
    .dpe-scale span {
      position: relative; display: block; height: 22px; padding-left: 10px;
      font-family: var(--sans); font-size: .78rem; font-weight: 700; line-height: 22px; color: var(--ink);
      clip-path: polygon(0 0, calc(100% - 11px) 0, 100% 50%, calc(100% - 11px) 100%, 0 100%);
      opacity: .38;
    }
    .dpe-scale span:nth-child(1) { width: 40%; background: var(--dpe-a); }
    .dpe-scale span:nth-child(2) { width: 50%; background: var(--dpe-b); }
    .dpe-scale span:nth-child(3) { width: 60%; background: var(--dpe-c); }
    .dpe-scale span:nth-child(4) { width: 70%; background: var(--dpe-d); }
    .dpe-scale span:nth-child(5) { width: 80%; background: var(--dpe-e); }
    .dpe-scale span:nth-child(6) { width: 90%; background: var(--dpe-f); }
    .dpe-scale span:nth-child(7) { width: 100%; background: var(--dpe-g); }
    .dpe-scale .si-anterieur, .dpe-scale .si-final { opacity: 1; height: 28px; line-height: 28px; font-size: .9rem; }
    .dpe-scale .si-anterieur::after, .dpe-scale .si-final::after { content: "avant"; margin-left: 10px; font-size: .68rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; opacity: .75; }
    .dpe-scale .si-final::after { content: "après"; }
    @media (min-width: 900px) { .garantie-maillage { grid-template-columns: 320px minmax(0, 1fr); gap: 48px; } }
    .garantie-remarque { margin: 14px 0 0; max-width: 90ch; font-size: .78rem; line-height: 1.5; color: var(--on-dark-muted); }

    main { padding: 8px 0 24px; }
    .expose { max-width: 940px; margin: 0 auto; counter-reset: chap; }
    .partie { position: relative; counter-increment: chap; padding: 48px 0; border-top: 1px solid var(--line); }
    .partie:first-child { border-top: 0; }
    .partie::before {
      content: counter(chap, decimal-leading-zero);
      display: block; margin: 0 0 10px;
      font-family: var(--serif); font-weight: 500; font-style: italic; font-size: 1.5rem; line-height: 1; color: var(--brick);
    }
    .partie > h2 { margin: 0 0 22px; }
    .partie h3 { margin: 38px 0 14px; }
    .partie h4 { margin: 28px 0 10px; }
    .partie p, .partie li { color: var(--ink-soft); }
    .partie > p, .partie > ul, .partie > ol, .partie > blockquote { max-width: 72ch; }
    .partie > *:last-child { margin-bottom: 0; }
    .partie strong { color: var(--ink); font-weight: 600; }
    .chapeau { font-family: var(--serif); font-size: clamp(1.2rem, 1.1rem + .5vw, 1.4rem); line-height: 1.5; color: var(--ink); }

    .suite, .partie ul:not([class]) { list-style: none; margin: 0 0 1.3em; padding: 0; }
    .suite > li, .partie ul:not([class]) > li { position: relative; padding-left: 26px; margin: 0 0 .6em; }
    .suite > li::before, .partie ul:not([class]) > li::before {
      content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; background: var(--brick);
    }
    .suite-2col { columns: 1; }
    .partie ol:not([class]) { margin: 0 0 1.3em; padding-left: 1.4em; }
    .partie ol:not([class]) > li { margin: 0 0 .6em; padding-left: 4px; }
    .partie ol:not([class]) > li::marker { color: var(--brick); font-weight: 600; }

    blockquote { margin: 28px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--navy); font-family: var(--serif); font-style: italic; font-size: 1.25rem; line-height: 1.5; color: var(--ink); }
    blockquote p:last-child { margin-bottom: 0; }

    .expose-introduction { padding: 40px 0 0; }
    .expose-introduction > p, .expose-introduction li { color: var(--ink-soft); }
    .expose-introduction > p { max-width: 72ch; }
    .expose-introduction > .chapeau { color: var(--ink); }
    .expose-introduction > .revision { margin: 0 0 18px; font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
    .expose-introduction strong { color: var(--ink); font-weight: 600; }
    .expose-introduction .a-essentiel { margin-bottom: 0; }

    .soude { white-space: nowrap; }

    .table { margin: 40px 0 0; padding: 22px 22px 8px; background: var(--white); border: 1px solid var(--ink); border-radius: var(--radius); }
    .table-entetetexte { margin: 0 0 12px; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
    .table ol { margin: 0; padding: 0; list-style: none; counter-reset: som; }
    .table li { counter-increment: som; margin: 0; border-top: 1px solid var(--line); break-inside: avoid; }
    .table a { display: flex; gap: 12px; padding: 11px 0; color: var(--ink); text-decoration: none; font-weight: 500; line-height: 1.35; }
    .table a::before { content: counter(som, decimal-leading-zero); flex: none; font-family: var(--serif); font-style: italic; color: var(--brick); }
    .table a:hover { color: var(--brick); text-decoration: underline; }
    .table + .partie { border-top: 0; }

    .tablier-conteneur { margin: 28px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; background: var(--white); border-top: 3px solid var(--ink); border-bottom: 1px solid var(--ink); }
    .tablier-conteneur table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .97rem; line-height: 1.5; }
    .tablier-conteneur caption { caption-side: bottom; text-align: left; padding: 10px 14px; font-size: .85rem; color: var(--muted); border-top: 1px solid var(--line); }
    .tablier-conteneur thead th { padding: 12px 14px; text-align: left; vertical-align: bottom; font-size: .76rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--ink); background: var(--sand); border-bottom: 1px solid var(--ink); }
    .tablier-conteneur tbody th, .tablier-conteneur tbody td { padding: 13px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
    .tablier-conteneur tbody th { font-weight: 600; color: var(--navy); }
    .tablier-conteneur tbody tr:last-child > * { border-bottom: 0; }

    @media (max-width: 639.98px) {
      .tablier-conteneur table { display: flex; flex-direction: column; min-width: 0; }
      .tablier-conteneur caption { display: block; order: 2; }
      .tablier-conteneur thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
      .tablier-conteneur tbody, .tablier-conteneur tbody tr, .tablier-conteneur tbody th, .tablier-conteneur tbody td { display: block; }
      .tablier-conteneur tbody tr { padding: 10px 0 12px; border-bottom: 1px solid var(--line); }
      .tablier-conteneur tbody tr:last-child { border-bottom: 0; }
      .tablier-conteneur tbody th, .tablier-conteneur tbody td { border-bottom: 0; padding: 5px 14px; }
      .tablier-conteneur tbody td::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
    }

    .amer { display: grid; gap: 14px; margin: 32px 0; padding: 24px 22px; background: var(--white); border: 1px solid var(--ink); border-radius: var(--radius); box-shadow: 6px 6px 0 var(--sand-deep); }
    .amer-nombre { margin: 0; font-family: var(--serif); font-weight: 600; font-size: clamp(2.5rem, 2rem + 2vw, 3.4rem); line-height: 1; letter-spacing: -.02em; color: var(--navy); }
    .amer-nombre small { display: block; margin-top: 8px; font-family: var(--sans); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--brick); }
    .amer-contenu p { margin: 0 0 .7em; color: var(--ink-soft); }
    .amer-contenu p:last-child { margin-bottom: 0; }
    .amer-appui { font-size: .85rem; color: var(--muted); }

    .a-essentiel { margin: 32px 0; padding: 22px 22px 22px 24px; background: var(--sand); border-left: 4px solid var(--brick); }
    .a-essentiel-etiquette { margin: 0 0 10px; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--brick); }
    .a-essentiel p:last-child, .a-essentiel ul:last-child { margin-bottom: 0; }
    .a-essentiel .suite > li:last-child { margin-bottom: 0; }

    .jalons { list-style: none; margin: 30px 0; padding: 0; counter-reset: etape; }
    .jalons > li { position: relative; counter-increment: etape; padding: 0 0 28px 62px; }
    .jalons > li:last-child { padding-bottom: 0; }
    .jalons > li::before {
      content: counter(etape);
      position: absolute; left: 0; top: 0; width: 42px; height: 42px;
      display: grid; place-items: center;
      font-family: var(--serif); font-weight: 600; font-size: 1.3rem; line-height: 1; color: var(--ink);
      background: var(--white); border: 1.5px solid var(--ink); border-radius: var(--radius);
    }
    .jalons > li::after { content: ""; position: absolute; left: 20px; top: 48px; bottom: 6px; width: 2px; background: var(--line); }
    .jalons > li:last-child::after { display: none; }
    .etape-entetetexte { display: block; padding-top: 7px; margin: 0 0 6px; font-weight: 600; font-size: 1.1rem; line-height: 1.35; color: var(--ink); }
    .jalons p { margin: 0 0 .6em; }
    .jalons p:last-child { margin-bottom: 0; }

    .incitation-bande {
      --focus: #FFB454;
      position: relative; display: grid; gap: 18px; align-items: center;
      margin: 40px 0; padding: 28px 24px 28px 32px;
      background: var(--navy); color: var(--on-dark); border-radius: var(--radius); overflow: hidden;
    }
    .incitation-bande::before {
      content: ""; position: absolute; inset: 0 auto 0 0; width: 8px;
      background: linear-gradient(180deg,
        var(--dpe-a) 0 14.28%, var(--dpe-b) 14.28% 28.57%, var(--dpe-c) 28.57% 42.85%,
        var(--dpe-d) 42.85% 57.14%, var(--dpe-e) 57.14% 71.42%, var(--dpe-f) 71.42% 85.71%,
        var(--dpe-g) 85.71% 100%);
    }
    .incitation-entetetexte { display: block; margin: 0 0 6px; font-family: var(--serif); font-weight: 600; font-size: clamp(1.35rem, 1.2rem + .6vw, 1.6rem); line-height: 1.2; color: var(--white); }
    .incitation-bande p { margin: 0; color: var(--on-dark-muted); }
    .incitation-bande .bouton { justify-self: start; }
    .expose > .incitation-bande { margin: 8px 0 48px; }

    .module { padding: 56px 0; }
    .module-sand { background: var(--sand); }
    .diptyque { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .diptyque > h2 { padding-top: 16px; border-top: 3px solid var(--ink); }
    .presentation-texte { min-width: 0; }
    .presentation-texte p { font-size: 1.1rem; line-height: 1.7; color: var(--ink-soft); max-width: 68ch; }
    .presentation-texte p:last-child { margin-bottom: 0; }

    .eclairages-rangee { min-width: 0; border-top: 1px solid var(--ink); }
    .eclairages-element { border-bottom: 1px solid var(--line); }
    .eclairages-element:last-child { border-bottom-color: var(--ink); }
    .eclairages-element > summary {
      position: relative; display: block; list-style: none; cursor: pointer;
      padding: 20px 48px 20px 0;
      font-family: var(--serif); font-weight: 600; font-size: clamp(1.12rem, 1.05rem + .35vw, 1.28rem); line-height: 1.3; color: var(--ink);
    }
    .eclairages-element > summary::-webkit-details-marker { display: none; }
    .eclairages-element > summary::before, .eclairages-element > summary::after {
      content: ""; position: absolute; right: 8px; top: 50%; width: 18px; height: 2px; margin-top: -1px;
      background: var(--brick); transition: transform .2s ease;
    }
    .eclairages-element > summary::after { transform: rotate(90deg); }
    .eclairages-element[open] > summary::after { transform: rotate(0deg); }
    .eclairages-element > summary:hover { color: var(--brick); }
    .eclairages-texte { padding: 0 48px 22px 0; max-width: 74ch; color: var(--ink-soft); }
    .eclairages-texte p:last-child, .eclairages-texte ul:last-child { margin-bottom: 0; }

    .portail-socle { --focus: #FFB454; background: var(--ink); color: var(--on-dark-muted); font-size: .95rem; }
    .portail-socle .enveloppe { padding-top: 44px; padding-bottom: 32px; }
    .portail-socle .marque { color: var(--white); padding: 0; margin: 0 0 14px; }
    .portail-socle .marque-tld { color: var(--on-dark-muted); }
    .portail-socle p { max-width: 70ch; }
    .portail-socle a { color: var(--on-dark); }
    .portail-socle a:hover { color: var(--amber-hover); }
    .socle-chemins { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 22px 0 0; }
    .socle-chemins .sep { display: none; }
    .socle-droit { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--line-dark); font-size: .85rem; }

    @media (max-width: 400px) {
      .marque-marqueur { display: none; }
      .marque-titre { font-size: 1.05rem; }
      .haut-row { gap: 0 8px; }
      .haut-incitation.bouton-petit { padding: 8px 10px; font-size: .82rem; }
      .haut-incitation.bouton-petit::after { display: none; }
    }
    @media (min-width: 640px) {
      :root { --gutter: 28px; }
      .demande-carton { padding: 38px 32px 28px; box-shadow: 10px 10px 0 var(--navy-600); }
      .amer { grid-template-columns: minmax(150px, auto) minmax(0, 1fr); gap: 28px; align-items: center; padding: 28px 30px; }
      .incitation-bande { grid-template-columns: minmax(0, 1fr) auto; gap: 28px; padding: 32px 34px 32px 44px; }
      .incitation-bande .bouton { justify-self: end; }
      .suite-2col { columns: 2; column-gap: 36px; }
      .suite-2col > li { break-inside: avoid; }
      .table ol { columns: 2; column-gap: 36px; }
    }
    @media (min-width: 900px) {
      html { scroll-padding-top: calc(var(--header-h) + 20px); }
      .portail-haut { position: sticky; top: 0; z-index: 50; }
      .haut-row { flex-wrap: nowrap; gap: 24px; }
      .portail-aiguillage { order: 0; flex: 0 1 auto; margin: 0 0 0 auto; border-top: 0; gap: 8px; }
      .portail-aiguillage a { padding: 0 12px; }
      .diptyque { grid-template-columns: 300px minmax(0, 1fr); gap: 56px; align-items: start; }
      .diptyque > h2 { position: sticky; top: calc(var(--header-h) + 28px); }
      .module { padding: 84px 0; }
    }
    @media (min-width: 960px) {
      .vitrine { padding: 72px 0 88px; }
      .vitrine-maillage { grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); gap: 64px; }
    }
    @media (min-width: 1040px) {
      .partie { padding: 64px 0 64px 150px; }
      .partie::before { position: absolute; left: 0; top: 58px; margin: 0; font-size: 3.4rem; }
      .partie::after { content: ""; position: absolute; left: 0; top: 124px; width: 56px; height: 2px; background: var(--ink); }
      .expose > .incitation-bande, .expose > .table, .expose > .expose-introduction { margin-left: 150px; }
    }
    @media (prefers-reduced-motion: no-preference) {
      html { scroll-behavior: smooth; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
    }
    @media print {
      .portail-haut, .demande-carton, .garantie-lisere, .incitation-bande, .dpe-strip { display: none; }
      .vitrine { background: none; color: var(--ink); }
      .vitrine h1 { color: var(--ink); }
    }

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