/* Copie légère de /assets/phare-lecture.css (commentaires retirés) — tools/prod-css-purge.mjs — source-sha1:42daeaae71af58b7f72bb7bf0bc05dd0bfab9c2d — ne pas éditer, relancer l'outil. */
body.labo{--doc-barre-h: 50px;
    --doc-haut: calc(var(--p-barre-h, 68px) + var(--doc-barre-h));}
body.labo:has(.lx){--rs-large: 1656px;
    
    --lx-sol: #F4F4F5;
    
    --lx-surface: linear-gradient(180deg, #F7F7F8, #F0F0F2);
    --lx-ombre-surface: inset 0 1px 0 rgba(255, 255, 255, 0.95), 0 1px 2px rgba(10, 10, 10, 0.04), 0 22px 44px -34px rgba(10, 10, 10, 0.42);
    --lx-ombre-piece: 0 1px 2px rgba(10, 10, 10, 0.06), 0 8px 18px -12px rgba(10, 10, 10, 0.26);
    --lx-ombre-levee: 0 2px 4px rgba(10, 10, 10, 0.06), 0 22px 40px -24px rgba(10, 10, 10, 0.45);
    --lx-ombre-feuille: 0 1px 2px rgba(10, 10, 10, 0.05), 0 2px 8px -4px rgba(10, 10, 10, 0.08), 0 40px 80px -56px rgba(10, 10, 10, 0.45);
    
    --lx-rose: linear-gradient(180deg, #FAF3F4, #F3E7EA);
    --lx-bleu: linear-gradient(180deg, #F3F6F9, #E9EFF4);
    --lx-vert-fond: #E2EEE7;
    --lx-vert: #2F6B52;
    
    --lx-marge-titre: 36px;
    
    --lx-lache: clamp(240px, 42vh, 440px);
    
    --lx-art-clair: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 300' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%230A0A0A' stroke-opacity='.13' stroke-width='.6'%3E%3Cpath d='M0 84H112V176H150'/%3E%3Cpath d='M480 64H372V232H334'/%3E%3Cpath d='M0 244H70V300'/%3E%3Cpath d='M356 0V36H480'/%3E%3Cpath d='M62 0V40H150'/%3E%3C/g%3E%3Cg fill='%230A0A0A' fill-opacity='.32'%3E%3Crect x='110' y='82' width='4' height='4'/%3E%3Crect x='148' y='174' width='4' height='4'/%3E%3Crect x='370' y='230' width='4' height='4'/%3E%3Crect x='68' y='242' width='4' height='4'/%3E%3Crect x='354' y='34' width='4' height='4'/%3E%3C/g%3E%3C/svg%3E");
    background: var(--lx-sol);}
html:has(body.labo .lx){scroll-padding-top: 118px;}
html:has(body.doc-nav-ouvert),html:has(body.lx-toc-ouvert){overflow: hidden;}
:is(.lx, .doc-nav, .lx-fin) .marque{font-family: var(--font-nav); font-weight: 700; letter-spacing: -0.015em; color: inherit;}
.lx-tuile{flex: none;
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--rs-filet);
    border-radius: 11px;
    background: #FFFFFF;
    color: var(--rs-encre);
    box-shadow: 0 1px 2px rgba(10, 10, 10, 0.05);}
.lx-svg{display: block; flex: none; width: 19px; height: 19px;}
.lx-tuile--h2{width: 46px; height: 46px; border-radius: 13px;}
.lx-tuile--h2 .lx-svg{width: 23px; height: 23px;}
.doc-barre{position: sticky;
    top: var(--p-barre-h, 68px);
    z-index: 40;
    height: var(--doc-barre-h);
    border-bottom: 1px solid var(--rs-filet);
    background: rgba(255, 255, 255, 0.9);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
            backdrop-filter: blur(14px) saturate(1.3);
    font-family: var(--font-nav);}
body.labo.ph-colle .doc-barre{top: calc(var(--p-barre-h, 68px) + env(safe-area-inset-top, 0px));}
.doc-barre-in{display: flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    max-width: 1800px;
    margin-inline: auto;
    padding-inline: var(--rs-marge);}
.doc-barre-prog{position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--burgundy);
    transform-origin: 0 50%;
    scale: var(--lx-lu, 0) 1;
    pointer-events: none;}
.doc-bib-btn{display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
    height: 34px;
    padding: 0 12px 0 10px;
    border: 1px solid var(--rs-filet);
    border-radius: 10px;
    background: var(--rs-papier);
    font: inherit;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--rs-encre);
    cursor: pointer;
    transition: border-color .2s var(--rs-e), background-color .2s var(--rs-e);}
.doc-bib-btn:hover{border-color: rgba(10, 10, 10, 0.3); background: var(--rs-gris);}
.doc-bib-ico{flex: none;
    width: 14px;
    height: 10px;
    background:
        linear-gradient(currentColor, currentColor) 0 0 / 100% 1.5px no-repeat,
        linear-gradient(currentColor, currentColor) 0 50% / 64% 1.5px no-repeat,
        linear-gradient(currentColor, currentColor) 0 100% / 100% 1.5px no-repeat;}
.doc-fil{display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    font-size: 13.5px;
    white-space: nowrap;
    color: var(--rs-mute);}
.doc-fil a{flex: none; color: var(--rs-mute); text-decoration: none; transition: color .2s var(--rs-e);}
.doc-fil a:hover{color: var(--rs-encre);}
.doc-fil > span[aria-hidden]{flex: none; opacity: 0.5;}
.doc-fil [aria-current]{min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 500; color: var(--rs-encre);}
.doc-ici{display: none;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    height: 38px;
    padding: 0 8px;
    border: 0;
    border-radius: 10px;
    background: none;
    font: inherit;
    color: var(--rs-encre);
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;}
.doc-ici-t{flex: 1; min-width: 0; overflow: hidden; font-size: 14.5px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis;}
.doc-ici-chev{flex: none;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    opacity: 0.55;
    rotate: 225deg;
    translate: 0 2px;
    transition: rotate .3s var(--rs-e), translate .3s var(--rs-e);}
body.lx-toc-ouvert .doc-ici-chev{rotate: 45deg; translate: 0 -2px;}
.doc-devis{display: none;
    align-items: center;
    flex: none;
    height: 34px;
    padding: 0 14px;
    border-radius: 10px;
    background: var(--burgundy);
    font-size: 13.5px;
    font-weight: 500;
    color: #FFFFFF;
    text-decoration: none;}
.doc-k-ouvrir{display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
    min-width: 240px;
    height: 34px;
    padding: 0 6px 0 12px;
    border: 1px solid var(--rs-filet);
    border-radius: 12px;
    background: var(--rs-gris);
    font: inherit;
    font-size: 13.5px;
    color: var(--rs-mute);
    cursor: pointer;
    transition: border-color .2s var(--rs-e), background-color .2s var(--rs-e);}
.doc-k-ouvrir:hover{border-color: rgba(10, 10, 10, 0.3); background: var(--rs-papier);}
.doc-k-ouvrir .epure-ico{font-size: 15px;}
.doc-k-txt{flex: 1; text-align: left;}
.doc-nav{position: fixed;
    z-index: 150;
    top: 0;
    left: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    width: min(88vw, 360px);
    height: 100dvh;
    padding: calc(18px + env(safe-area-inset-top, 0px)) 0 0 18px;
    background: var(--rs-papier);
    box-shadow: 0 0 60px -10px rgba(0, 0, 0, 0.35);
    font-family: var(--font-nav);
    color: var(--rs-encre);
    translate: -105% 0;
    visibility: hidden;
    transition: translate .38s var(--rs-e), visibility 0s .38s;}
body.doc-nav-ouvert .doc-nav{translate: 0 0; visibility: visible; transition: translate .38s var(--rs-e), visibility 0s;}
.doc-nav-haut{padding-right: 18px;}
.doc-nav-ligne{display: flex; align-items: center; justify-content: space-between; gap: 8px;}
.doc-nav-retour{display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; color: var(--rs-doux); text-decoration: none;}
.doc-nav-retour::before{content: "←"; transition: translate .2s var(--rs-e);}
.doc-nav-retour:hover{color: var(--rs-encre);}
.doc-nav-retour:hover::before{translate: -3px 0;}
.doc-nav-fermer,.lx-toc-fermer{flex: none;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    color: var(--rs-encre);
    background-color: var(--rs-gris);
    background-image:
        linear-gradient(45deg, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px)),
        linear-gradient(-45deg, transparent calc(50% - 0.75px), currentColor calc(50% - 0.75px), currentColor calc(50% + 0.75px), transparent calc(50% + 0.75px));
    background-size: 12px 12px;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;}
.doc-nav-corps{position: relative;
    flex: 1 1 auto;
    min-height: 0;
    margin-top: 8px;
    padding: 6px 18px 48px 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--rs-filet) transparent;}
.doc-groupe{margin-top: 18px;}
.doc-groupe:first-child{margin-top: 2px;}
.doc-groupe-t{margin: 0 0 4px; padding: 0 10px; font-size: 12.5px; font-weight: 600; color: var(--rs-encre);}
.doc-nav ul{margin: 0; padding: 0; list-style: none;}
.doc-nav li a{display: block;
    padding: 7px 10px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--rs-doux);
    text-decoration: none;
    transition: color .15s var(--rs-e), background-color .15s var(--rs-e);}
.doc-nav li a:hover{color: var(--rs-encre); background: var(--rs-gris);}
.doc-nav li a[aria-current="page"]{font-weight: 600; color: var(--rs-encre); background: var(--rs-gris);}
.doc-voile{position: fixed;
    inset: 0;
    z-index: 140;
    background: rgba(10, 10, 10, 0.34);
    animation: docVoile .25s var(--rs-e);}
@keyframes docVoile{ from { opacity: 0; } }
.lx{display: block;
    max-width: 1800px;
    margin-inline: auto;
    padding-inline: var(--rs-marge);
    font-family: var(--font-nav);
    color: var(--rs-encre);}
.lx-hero{position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
    gap: clamp(28px, 4vw, 80px);
    align-items: center;
    min-height: clamp(480px, calc(100svh - 240px), 640px);
    padding-block: clamp(32px, 3.4vw, 56px) clamp(8px, 1vw, 16px);
    isolation: isolate;}
.lx-hero::before{content: "";
    position: absolute;
    z-index: -2;
    inset: 0 calc(-1 * var(--rs-marge));
    background-image: var(--lx-art-clair);
    background-size: 960px 600px;
    background-position: right -140px top -40px;
    -webkit-mask-image: radial-gradient(62% 90% at 80% 45%, #000 28%, transparent 76%);
            mask-image: radial-gradient(62% 90% at 80% 45%, #000 28%, transparent 76%);
    pointer-events: none;}
.lx-hero::after{content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    top: 8%;
    width: 52%;
    height: 84%;
    background: radial-gradient(50% 50% at 50% 50%, rgba(123, 45, 59, 0.08), transparent 72%);
    pointer-events: none;}
.lx-hero-texte{min-width: 0;}
.lx-hero-sur{display: flex; flex-wrap: wrap; gap: 8px; margin: 0;}
.lx-puce{display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 34px;
    padding: 0 12px 0 10px;
    border: 1px solid var(--rs-filet);
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--rs-encre);}
.lx-puce .lx-svg{width: 17px; height: 17px;}
.lx-puce .epure-ico{font-size: 16px;}
.lx .lx-h1{margin: 22px 0 0;
    font-family: var(--font-nav);
    font-size: clamp(36px, 3.9vw, 66px);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -0.048em;
    color: var(--rs-encre);
    text-wrap: balance;}
.lx .lx-chapo{max-width: 60ch;
    margin: 20px 0 0;
    font-family: var(--font-text);
    font-size: clamp(16px, 1.1vw, 18px);
    line-height: 1.62;
    color: var(--rs-doux);
    text-wrap: pretty;}
.lx-chapo strong{font-weight: 600; color: var(--rs-encre);}
.lx .lx-chapo a{font-weight: 500; color: var(--rs-encre); text-decoration: underline; text-decoration-color: rgba(123, 45, 59, 0.45); text-underline-offset: 3px;}
.lx-hero-actions{display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px;}
.lx-btn{display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 20px;
    border-radius: 12px;
    font-family: var(--font-nav);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: translate .2s var(--rs-e), box-shadow .2s var(--rs-e), background-color .2s var(--rs-e);}
.lx-btn--plein{background: var(--burgundy); color: #FFFFFF; box-shadow: 0 14px 28px -18px rgba(123, 45, 59, 0.9);}
.lx-btn--plein::after{content: "→"; transition: translate .2s var(--rs-e);}
.lx-btn--plein:hover{background: #6B2533; translate: 0 -1px;}
.lx-btn--plein:hover::after{translate: 3px 0;}
.lx-btn--contour{background: #FFFFFF; color: var(--rs-encre); box-shadow: inset 0 0 0 1px var(--rs-filet), 0 1px 2px rgba(10, 10, 10, 0.05);}
.lx-btn--contour:hover{box-shadow: inset 0 0 0 1px rgba(10, 10, 10, 0.3), 0 10px 20px -14px rgba(10, 10, 10, 0.4); translate: 0 -1px;}
.lx-hero-signe{display: flex; align-items: center; gap: 10px; margin: 22px 0 0; font-size: 13px; color: var(--rs-mute);}
.lx-hero-signe img{width: 26px; height: 26px; border-radius: 50%; background: #FFFFFF; box-shadow: 0 0 0 1px var(--rs-filet);}
.lx-scene{position: relative; align-self: stretch; min-height: 440px;}
.lx-scene-traits{position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible;}
.lx-scene-traits path{fill: none; stroke: rgba(10, 10, 10, 0.3); stroke-width: 1; vector-effect: non-scaling-stroke;}
.lx-sc-noeud{position: absolute; z-index: 1; width: 7px; height: 7px; background: var(--rs-encre); translate: -50% -50%;}
.lx-scene-couv{position: absolute; z-index: 2; left: 14%; right: 8%; top: 0;}
.lx-scene-couv .mn{background: none; border-radius: 0; box-shadow: none;}
.lx-scene-couv .mn::before,.lx-scene-couv .mn::after,.lx-scene-couv .rs-fleche{display: none;}
.lx-scene-couv .mn-couv{box-shadow: var(--lx-ombre-levee);}
.lx-scene-couv .mn-couv-dos{background: #FFFFFF; box-shadow: var(--lx-ombre-piece); opacity: 1;}
.lx-sc{position: absolute;
    z-index: 3;
    margin: 0;
    border-radius: 14px;
    background: #FFFFFF;
    color: var(--rs-encre);
    box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.04), var(--lx-ombre-levee);}
.lx-sc p{margin: 0;}
.lx-sc--photo{left: 0; bottom: 4%; width: min(46%, 260px); padding: 7px;}
.lx-sc-img{display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 9px; background: var(--burgundy);}
.lx-sc-img img{display: block; width: 100%; height: 100%; object-fit: cover;}
.lx-sc--photo figcaption{display: flex; flex-direction: column; gap: 2px; padding: 10px 7px 5px;}
.lx-sc--photo b{font-size: 14px; font-weight: 600; letter-spacing: -0.015em;}
.lx-sc--photo figcaption span{font-size: 12.5px; line-height: 1.4; color: var(--rs-doux);}
.lx-sc--calcul{right: 0; top: 46%; width: min(46%, 250px); padding: 14px 16px;}
.lx .lx-sc-t{font-size: 12.5px; font-weight: 500; color: var(--rs-doux);}
.lx .lx-sc-chaine{display: flex; align-items: center; gap: 6px; margin-top: 10px; font-variant-numeric: tabular-nums;}
.lx-sc-chaine span,.lx-sc-chaine b{display: grid; place-items: center; height: 34px; padding: 0 10px; border-radius: 9px; font-size: 16px; font-weight: 600; letter-spacing: -0.02em;}
.lx-sc-chaine span{background: var(--rs-gris);}
.lx-sc-chaine i{font-family: var(--rs-mono); font-size: 12px; font-style: normal; color: var(--burgundy);}
.lx-sc-chaine b{background: var(--burgundy); color: #FFFFFF;}
.lx-sc--note{right: 6%; bottom: 3%; display: flex; align-items: center; gap: 11px; padding: 9px 14px 9px 9px;}
.lx-sc-note-t{display: flex; flex-direction: column; gap: 1px;}
.lx-sc-note-t b{font-size: 13.5px; font-weight: 600; letter-spacing: -0.01em;}
.lx-sc-note-t small{font-size: 12px; color: var(--rs-doux);}
.lx-coche{position: relative; flex: none; width: 20px; height: 20px; border-radius: 6px; background: var(--rs-gris);}
.lx-coche::after{content: ""; position: absolute; left: 7px; top: 4px; width: 5px; height: 9px; border: solid var(--rs-encre); border-width: 0 1.8px 1.8px 0; rotate: 45deg;}
.lx-grille{display: grid;
    
    grid-template-columns: clamp(168px, 11vw, 216px) minmax(0, 1fr) clamp(264px, 17vw, 320px);
    column-gap: clamp(24px, 2vw, 40px);
    align-items: stretch;
    margin-top: clamp(28px, 3vw, 52px);}
.lx-corps{align-self: start;
    width: 100%;
    max-width: 1040px;
    min-width: 0;
    justify-self: center;
    padding: clamp(28px, 3vw, 56px) clamp(22px, 2.6vw, 48px) clamp(40px, 4vw, 72px);
    border-radius: 28px;
    background: #FFFFFF;
    box-shadow: var(--lx-ombre-feuille);}
.lx-section > :is(p, .doc-liste){max-width: none;}
.lx-toc,.lx-droite{padding-bottom: var(--lx-lache);}
.lx-toc-in,.lx-rail{position: sticky; top: calc(var(--doc-haut) + 28px);}
.lx-rail{display: grid; gap: 20px;}
.lx-toc-in{max-height: calc(100dvh - var(--doc-haut) - 56px);
    overflow-y: auto;
    scrollbar-width: none;}
.lx-toc-in::-webkit-scrollbar{display: none;}
.lx .lx-toc-t{display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 8px; padding-left: 12px; font-size: 13px; font-weight: 600; color: var(--rs-encre);}
.lx-toc-fermer{display: none;}
.lx-toc-nav{position: relative;}
.lx-toc-nav ol{position: relative; margin: 0; padding: 0; list-style: none;}
.lx-toc-surligne{position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--h, 0px);
    border-radius: 9px;
    background: #FFFFFF;
    box-shadow: var(--lx-ombre-piece);
    opacity: 0;
    translate: 0 var(--y, 0px);}
.lx-toc-surligne.est-pose{opacity: 1; transition: translate .55s var(--rs-e), height .55s var(--rs-e), opacity .3s var(--rs-e);}
.lx-toc-a{position: relative;
    display: block;
    padding: 7px 12px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--rs-mute);
    text-decoration: none;
    transition: color .35s var(--rs-e);
    -webkit-tap-highlight-color: transparent;}
.lx-toc-a:hover,.lx-toc-a[aria-current="true"]{color: var(--rs-encre);}
.lx-toc-bib{display: inline-flex; align-items: center; gap: 6px; margin: 14px 0 0 12px; padding: 0; border: 0; background: none; font-family: var(--font-nav); font-size: 13.5px; font-weight: 500; color: var(--rs-doux); cursor: pointer;}
.lx-toc-bib::after{content: "→"; transition: translate .2s var(--rs-e);}
.lx-toc-bib:hover{color: var(--rs-encre);}
.lx-toc-bib:hover::after{translate: 3px 0;}
.doc-toc-mobile{display: none; margin-bottom: 28px; border-radius: 14px; background: var(--rs-gris);}
.lx-corps .lp{background: #EFEFF1;}
.doc-toc-mobile summary{display: flex; justify-content: space-between; padding: 13px 16px; list-style: none; font-size: 14px; font-weight: 500; cursor: pointer;}
.doc-toc-mobile summary::-webkit-details-marker{display: none;}
.doc-toc-mobile summary::after{content: "+";}
.doc-toc-mobile[open] summary::after{content: "−";}
.doc-toc-mobile-liste{margin: 0; padding: 0 16px 10px; list-style: none;}
.doc-toc-mobile .doc-toc-mobile-liste a{display: block; padding: 8px 0; border-top: 1px solid rgba(10, 10, 10, 0.07); font-size: 14.5px; color: var(--rs-encre); text-decoration: none;}
:is(.lx-essentiel, .doc-note, .doc-plies, .doc-etapes, .doc-table-cadre){background: var(--lx-surface);
    box-shadow: var(--lx-ombre-surface);}
.doc-note--bleu{background: var(--lx-bleu);}
.doc-note--rose{background: var(--lx-rose);}
.lx-essentiel{margin: 0 0 56px; padding: clamp(20px, 2.2vw, 28px); border-radius: 24px; background: var(--lx-rose);}
.lx .lx-essentiel-t{display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font-size: 18px; font-weight: 600; letter-spacing: -0.025em; color: var(--rs-encre);}
.lx-essentiel ul{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none;}
.lx-corps .lx-essentiel li{display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 14px; background: #FFFFFF; box-shadow: var(--lx-ombre-piece); font-size: 16.5px; line-height: 1.58;}
.lx-essentiel .lx-coche{margin-top: 2px;}
.lx-section{padding: 0;}
.lx-section + .lx-section{margin-top: clamp(72px, 6vw, 116px);}
.lx-section h2{position: relative;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    max-width: 920px;
    margin: 0 0 20px;
    font-family: var(--font-nav);
    font-size: clamp(27px, 2.4vw, 38px);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.04em;
    color: var(--rs-encre);
    text-wrap: balance;}
.lx-h2-t{min-width: 0; padding-top: 3px;}
.doc-ancre{position: absolute; right: 100%; top: 6px; padding-right: 0.3em; font-weight: 400; color: var(--rs-mute); text-decoration: none; opacity: 0; transition: opacity .2s var(--rs-e);}
.lx-section h2:hover .doc-ancre,.doc-ancre:focus-visible{opacity: 1;}
.lx-corps :is(p, li){font-family: var(--font-text); font-size: clamp(18px, 1.32vw, 20px); line-height: 1.78; color: #1F1F1F;}
.lx-corps p{margin: 0 0 1.35em;}
.lx-corps strong{font-weight: 600; color: var(--rs-encre);}
.lx-section a:not([class]){font-weight: 500;
    color: var(--rs-encre);
    text-decoration: underline;
    text-decoration-color: rgba(10, 10, 10, 0.3);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: text-decoration-color .2s var(--rs-e);}
.lx-section a:not([class]):hover{text-decoration-color: var(--rs-encre);}
.lx-section > .lp,.lx-section > .lp-rangee{margin: 4px 0 30px;}
.lx-figure{display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(16px, 2vw, 28px);
    margin: 12px 0 30px;
    padding: 10px;
    border-radius: 24px;
    background: var(--lx-surface);
    box-shadow: var(--lx-ombre-surface);}
.lx-figure-img{display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 16px; background: #EDE4E6; box-shadow: var(--lx-ombre-piece);}
.lx-figure-img img{display: block; width: 100%; height: 100%; object-fit: cover;}
.lx-figure figcaption{display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 10px 16px 10px 0;}
.lx-figure figcaption .lx-tuile{margin-bottom: 8px;}
.lx-figure b{font-family: var(--font-nav); font-size: 19px; font-weight: 600; line-height: 1.25; letter-spacing: -0.025em; color: var(--rs-encre);}
.lx-figure figcaption > span:last-child{font-family: var(--font-text); font-size: 16.5px; line-height: 1.62; color: var(--rs-doux);}
.lx-figure--schema{grid-template-columns: minmax(0, 1fr);}
.lx-figure--schema .lx-figure-img{aspect-ratio: auto; background: #FFFFFF;}
.lx-figure--schema .lx-figure-img img{height: auto; object-fit: contain;}
.lx-figure--schema figcaption{padding: 4px 12px 8px;}
.doc-note{display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; margin: 8px 0 24px; padding: 18px 20px; border-radius: 20px;}
.lx .doc-note p{margin: 0; font-size: 16.5px; line-height: 1.62;}
.lx .doc-note .doc-note-t{margin: 8px 0 4px; font-family: var(--font-nav); font-size: 16px; font-weight: 600; line-height: 1.35; letter-spacing: -0.015em; color: var(--rs-encre);}
.doc-plies{display: flex; flex-direction: column; gap: 8px; margin: 8px 0 24px; padding: 8px; border-radius: 22px;}
.doc-plie{border-radius: 14px; background: #FFFFFF; box-shadow: var(--lx-ombre-piece); interpolate-size: allow-keywords;}
.doc-plie summary{list-style: none; cursor: pointer; -webkit-tap-highlight-color: transparent;}
.doc-plie summary::-webkit-details-marker{display: none;}
.doc-plie summary{display: flex; align-items: center; gap: 14px; padding: 11px 18px 11px 11px; font-family: var(--font-nav); font-size: 15.5px; font-weight: 600; letter-spacing: -0.015em;}
.doc-plie summary .lx-tuile{width: 36px; height: 36px; border-radius: 10px;}
.doc-plie summary::after{content: "";
    flex: none;
    width: 12px;
    height: 12px;
    margin-left: auto;
    background:
        linear-gradient(var(--rs-mute), var(--rs-mute)) center / 12px 1.5px no-repeat,
        linear-gradient(var(--rs-mute), var(--rs-mute)) center / 1.5px 12px no-repeat;
    transition: rotate .3s var(--rs-e);}
.doc-plie[open] summary::after{rotate: 45deg;}
.doc-plie::details-content{height: 0; overflow: clip; transition: height .32s var(--rs-e), content-visibility .32s allow-discrete;}
.doc-plie[open]::details-content{height: auto;}
.doc-plie-corps{padding: 2px 18px 4px 61px;}
.lx-corps .doc-plie-corps :is(p, li){font-size: 17px;}
.lx-corps .doc-exemple{padding: 12px 14px; border-radius: 10px; background: var(--rs-gris);}
.doc-liste{margin: 0 0 16px; padding: 0; list-style: none;}
.doc-liste li{position: relative; margin-bottom: 6px; padding-left: 22px;}
.doc-liste li::before{content: ""; position: absolute; left: 4px; top: 0.72em; width: 6px; height: 6px; border-radius: 2px; background: var(--rs-encre);}
.doc-etapes{display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 8px; margin: 8px 0 24px; padding: 8px; list-style: none; border-radius: 22px; counter-reset: etape;}
.lx-corps .doc-etapes li{position: relative; padding: 16px 18px 16px 62px; border-radius: 14px; background: #FFFFFF; box-shadow: var(--lx-ombre-piece); counter-increment: etape;}
.doc-etapes li::before{content: counter(etape);
    position: absolute;
    left: 16px;
    top: 16px;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid var(--rs-filet);
    border-radius: 9px;
    background: #FFFFFF;
    font-family: var(--font-nav);
    font-size: 15px;
    font-weight: 600;
    color: var(--rs-encre);}
.lx-corps .doc-etapes p{margin: 0; font-size: 17px; line-height: 1.66;}
.lx-corps .doc-etapes .doc-etape-t{margin: 4px 0 4px; font-family: var(--font-nav); font-size: 16.5px; font-weight: 600; letter-spacing: -0.015em; color: var(--rs-encre);}
.lx-choix{margin: 12px 0 30px;
    overflow: hidden;
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 0 0 1px var(--rs-filet), var(--lx-ombre-piece);}
.lx .lx-choix-tete{display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    margin: 0;
    border-bottom: 1px solid var(--rs-filet);
    background: var(--rs-gris);
    font-family: var(--font-nav);
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--rs-doux);}
.lx-choix-tete > span{padding: 12px 24px;}
.lx-choix-tete > span + span{padding-left: 22px; border-left: 1px solid #DFEBE3; color: var(--lx-vert);}
.lx-choix-l{margin: 0; padding: 0; list-style: none; counter-reset: choix;}
.lx-corps .lx-choix-l > li{display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    margin: 0;
    padding: 0;
    counter-increment: choix;}
.lx-choix-l > li + li{border-top: 1px solid var(--rs-filet);}
.lx-choix-err{position: relative; min-width: 0; padding: 22px 24px 22px 66px;}
.lx-choix-err::before{content: counter(choix, decimal-leading-zero);
    position: absolute;
    left: 22px;
    top: 22px;
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--rs-gris);
    font-family: var(--rs-mono);
    font-size: 11.5px;
    color: var(--rs-doux);}
.lx-corps .lx-choix-err p{margin: 0; font-size: 16.5px; line-height: 1.62; color: var(--rs-doux);}
.lx-corps .lx-choix-err .lx-choix-t{margin-bottom: 6px; font-family: var(--font-nav); font-size: 17.5px; font-weight: 600; line-height: 1.35; letter-spacing: -0.015em; color: var(--rs-encre);}
.lx-corps .lx-choix-ok{display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
    margin: 0;
    padding: 22px 24px 22px 22px;
    border-left: 1px solid #DFEBE3;
    background: linear-gradient(180deg, #F5FAF7, #EEF6F1);
    font-family: var(--font-nav);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #1E3B2E;}
.lx-choix-ok .lx-coche{margin-top: 1px; background: #FFFFFF; box-shadow: 0 0 0 1px #D3E5DA;}
.lx-choix-ok .lx-coche::after{border-color: var(--lx-vert);}
.lx-choix-ok-t{position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;}
.doc-table-cadre{margin: 8px 0 24px; overflow-x: auto; border-radius: 18px;}
.doc-table{width: 100%; min-width: 460px; border-collapse: collapse; font-family: var(--font-nav); font-size: 14.5px;}
.doc-table caption{caption-side: bottom; padding: 10px 18px 14px; font-size: 12.5px; text-align: left; color: var(--rs-mute);}
.doc-table thead th{padding: 14px 18px 10px; font-size: 12.5px; font-weight: 500; text-align: left; color: var(--rs-doux);}
.doc-table tbody th,.doc-table td{padding: 12px 18px; border-top: 1px solid rgba(10, 10, 10, 0.07); text-align: left; vertical-align: top;}
.doc-table tbody th{font-weight: 600; letter-spacing: -0.01em;}
.doc-table td{color: var(--rs-doux);}
.doc-table .doc-t-plus{font-weight: 500; color: var(--burgundy);}
.doc-table .doc-t-moins{font-weight: 500; color: var(--rs-encre);}
.lx-halo{position: relative; padding: 2px; border-radius: 26px; isolation: isolate;}
.lx-tour,.lx-lueur{position: absolute; overflow: clip; container-type: size; pointer-events: none;}
.lx-tour > span,.lx-lueur > span{position: absolute;
    left: 50%;
    top: 50%;
    width: calc(max(100cqw, 100cqh) * 1.415);
    aspect-ratio: 1;
    translate: -50% -50%;
    animation: lxTour 7s 0.6s linear infinite;}
@keyframes lxTour{ to { rotate: 1turn; } }
.lx-tour{inset: 0; border-radius: inherit;}
.lx-tour > span{background: conic-gradient(
        #E4E4E7 0deg,
        #E4E4E7 246deg,
        rgba(123, 45, 59, 0.14) 254deg,
        rgba(123, 45, 59, 0.72) 265deg,
        var(--burgundy, #7B2D3B) 272deg,
        rgba(123, 45, 59, 0.72) 279deg,
        rgba(123, 45, 59, 0.14) 290deg,
        #E4E4E7 298deg,
        #E4E4E7 360deg);}
.lx-lueur{inset: -14px; z-index: -1; border-radius: 40px; filter: blur(22px); opacity: 0.6;}
.lx-lueur > span{background: conic-gradient(
        transparent 0deg,
        transparent 240deg,
        rgba(123, 45, 59, 0.16) 250deg,
        rgba(123, 45, 59, 0.78) 264deg,
        var(--burgundy, #7B2D3B) 272deg,
        rgba(123, 45, 59, 0.78) 280deg,
        rgba(123, 45, 59, 0.16) 294deg,
        transparent 304deg,
        transparent 360deg);}
.lx-dossier{position: relative; z-index: 1; padding: 22px; border-radius: 24px; background: #FFFFFF;}
.lx .lx-dossier-t{margin: 0; font-family: var(--font-nav); font-size: 19px; font-weight: 600; line-height: 1.25; letter-spacing: -0.03em; color: var(--rs-encre); text-wrap: balance;}
.lx .lx-dossier-s{margin: 6px 0 0; font-family: var(--font-nav); font-size: 14px; line-height: 1.45; color: var(--rs-doux);}
.lx-dossier-liste{display: grid; gap: 2px; margin: 16px 0 0; padding: 0; list-style: none;}
.lx .lx-dossier-liste li{display: flex; align-items: center; gap: 12px; margin: 0; padding: 6px 0; font-family: var(--font-nav); font-size: 14px; line-height: 1.3; color: var(--rs-encre);}
.lx-dossier-liste .lx-tuile{width: 36px; height: 36px; border-radius: 10px;}
.lx-dossier-liste .lx-svg{width: 18px; height: 18px;}
.lx-dossier-liste li > span:last-child{display: flex; flex-direction: column; gap: 1px; min-width: 0;}
.lx-dossier-liste b{font-weight: 500;}
.lx-dossier-liste small{font-size: 12.5px; color: var(--rs-mute);}
.lx-dossier-cta{display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    margin-top: 16px;
    border-radius: 12px;
    background: var(--burgundy);
    font-family: var(--font-nav);
    font-size: 15px;
    font-weight: 500;
    color: #FFFFFF;
    text-decoration: none;
    box-shadow: 0 12px 24px -16px rgba(123, 45, 59, 0.8);
    transition: background-color .25s var(--rs-e), translate .25s var(--rs-e);}
.lx-dossier-cta::after{content: "→"; transition: translate .25s var(--rs-e);}
.lx-dossier-cta:hover{background: #6B2533; translate: 0 -1px;}
.lx-dossier-cta:hover::after{translate: 3px 0;}
.lx .lx-dossier-pied{margin: 10px 0 0; font-family: var(--font-nav); font-size: 12.5px; text-align: center; color: var(--rs-mute);}
.lx-halo--flux{max-width: 460px; margin: 32px 0 8px;}
.lx-halo--fin{max-width: 560px; margin: 36px 0 8px;}
.lx [hidden]{display: none !important;}
.lx-alire{padding: 8px; border-radius: 22px; background: #FFFFFF; box-shadow: var(--lx-ombre-piece);}
.lx .lx-alire-t{margin: 8px 10px 6px; font-size: 13px; font-weight: 600; color: var(--rs-encre);}
.lx-alire ul{margin: 0; padding: 0; list-style: none;}
.lx-alire li + li{border-top: 1px solid rgba(10, 10, 10, 0.06);}
.lx-alire-l{display: flex;
    align-items: center;
    gap: 12px;
    min-height: 60px;
    padding: 8px 10px;
    border-radius: 14px;
    color: var(--rs-encre);
    text-decoration: none;
    transition: background-color .2s var(--rs-e);}
.lx-alire-l:hover{background: var(--rs-gris);}
.lx-alire-l:focus-visible{outline: 2px solid var(--burgundy); outline-offset: -2px;}
.lx-alire .lx-tuile{width: 36px; height: 36px; border-radius: 10px;}
.lx-alire .lx-svg{width: 18px; height: 18px;}
.lx-alire-x{display: flex; flex: 1; flex-direction: column; gap: 1px; min-width: 0;}
.lx-alire-x small{font-size: 12px; color: var(--rs-mute);}
.lx-alire-x b{display: -webkit-box; overflow: hidden; font-size: 14px; font-weight: 500; line-height: 1.3; letter-spacing: -0.01em; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.lx-alire-sortie{flex: none; display: grid; place-items: center; width: 22px; color: var(--rs-mute);}
.lx-alire-sortie svg{width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: translate .3s var(--rs-e);}
.lx-alire-l:hover .lx-alire-sortie{color: var(--rs-encre);}
.lx-alire-l:hover .lx-alire-sortie svg{translate: 1.5px -1.5px;}
@media (max-height: 860px){
.lx-droite .lx-dossier-liste{display: none;}
}
@media (max-height: 640px){
.lx-droite .lx-alire{display: none;}
}
body.labo .lx-fin.epure{background: var(--lx-sol);}
body.labo .lx-fin.rs .epure-bande{background: transparent;
    --rs-fond: var(--lx-sol);
    --rs-fond-inv: #FFFFFF;}
.lx-fin{font-family: var(--font-nav); color: var(--rs-encre);}
.lx-memes-in{margin-inline: auto;}
.lx-memes-tete{display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-bottom: clamp(24px, 2.4vw, 36px);}
.lx-fin .lx-memes-t{margin: 0; font-family: var(--font-nav); font-size: var(--rs-t-h2); font-weight: 600; line-height: 1.04; letter-spacing: -0.045em; color: var(--rs-encre);}
.lx-cartes{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px);}
:is(.lx, .lx-fin) [id]{scroll-margin-top: var(--lx-marge-titre);}
.lx-fin > .epure-bande{scroll-margin-top: 0;}
.lx-corps,.lx-fin{transition: opacity .34s var(--rs-e);}
body.lx-saut :is(.lx-corps, .lx-fin){opacity: 0; transition-duration: .16s;}
@media (max-width: 1279px){
.lx-grille{grid-template-columns: clamp(168px, 15vw, 216px) minmax(0, 1fr);}
.lx-droite{display: none;}
}
@media (min-width: 1280px){
.lx-halo--flux{display: none;}
}
@media (max-width: 1099px){
.lx-grille{grid-template-columns: minmax(0, 1fr);}
.lx-corps{justify-self: start;}
.doc-fil{display: none;}
.doc-ici{display: inline-flex;}
.lx-hero{grid-template-columns: minmax(0, 1fr); min-height: 0;}
.lx-hero::before{background-position: center bottom -60px;
        -webkit-mask-image: radial-gradient(90% 46% at 60% 84%, #000 30%, transparent 78%);
                mask-image: radial-gradient(90% 46% at 60% 84%, #000 30%, transparent 78%);}
.lx-hero::after{left: 10%; right: 10%; top: auto; bottom: 0; width: auto; height: 50%;}
.lx-scene{min-height: 400px; max-width: 720px;}
.doc-toc-mobile{display: block;}
body.lx-js .doc-toc-mobile{display: none;}
.lx-cartes{grid-template-columns: repeat(2, minmax(0, 1fr));}
.lx-toc{position: fixed;
        z-index: 150;
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        max-height: min(78dvh, 640px);
        padding: 10px max(20px, var(--rs-marge)) calc(20px + env(safe-area-inset-bottom, 0px));
        overflow-y: auto;
        border-radius: 22px 22px 0 0;
        background: var(--rs-papier);
        box-shadow: 0 -24px 60px -24px rgba(0, 0, 0, 0.4);
        overscroll-behavior: contain;
        translate: 0 105%;
        visibility: hidden;
        transition: translate .42s var(--rs-e), visibility 0s .42s;}
.lx-toc-in{position: static; max-height: none; overflow: visible;}
body.lx-toc-ouvert .lx-toc{translate: 0 0; visibility: visible; transition: translate .42s var(--rs-e), visibility 0s;}
.lx-toc::before{content: ""; display: block; width: 40px; height: 4px; margin: 0 auto 10px; border-radius: 2px; background: #DADADA;}
.lx .lx-toc-t{position: sticky; top: -10px; z-index: 1; margin: 0 0 4px; padding: 8px 0 8px 12px; background: var(--rs-papier); font-size: 14px;}
.lx-toc-fermer{display: block;}
.lx-toc-a{padding-block: 11px; font-size: 16px;}
}
@media (max-width: 899px){
.doc-bib-btn{width: 36px; height: 36px; padding: 0; justify-content: center; font-size: 0;}
.doc-k-ouvrir{min-width: 0; width: 36px; height: 36px; padding: 0; justify-content: center;}
.doc-k-txt,.doc-k-ouvrir .rs-kbd{display: none;}
.doc-devis{display: inline-flex;}
.doc-barre-in{gap: 8px;}
}
@media (max-width: 700px){
body.labo:has(.lx){--lx-marge-titre: 24px;}
.lx-hero{gap: 8px; padding-block: 24px 0;}
.lx-puce{height: 32px; font-size: 13px;}
.lx .lx-h1{margin-top: 16px; font-size: clamp(31px, 8.6vw, 40px); line-height: 1.04; letter-spacing: -0.045em;}
.lx .lx-chapo{margin-top: 14px; font-size: 15.5px; line-height: 1.6;}
.lx-hero-actions{flex-direction: column; margin-top: 20px;}
.lx-btn{width: 100%;}
.lx-hero-signe{margin-top: 18px; font-size: 12.5px;}
.lx-scene{display: none;}
.lx-hero{padding-block: 20px 4px;}
.lx-grille{margin-top: 16px;}
.lx-corps{margin-inline: calc(-1 * var(--rs-marge)); width: auto; padding: 28px var(--rs-marge) 44px; border-radius: 22px;}
.lx-essentiel{margin-inline: calc(-1 * var(--rs-marge)); padding: 22px var(--rs-marge); border-radius: 0;}
.lx-section + .lx-section{margin-top: 56px;}
.lx-section h2{flex-direction: column; gap: 14px; font-size: clamp(25px, 7vw, 30px);}
.lx-h2-t{padding-top: 0;}
.lx-tuile--h2{width: 42px; height: 42px;}
.doc-ancre{display: none;}
.lx-corps :is(p, li){font-size: 17px; line-height: 1.72;}
.lx-figure{grid-template-columns: minmax(0, 1fr); gap: 4px; margin-inline: -6px; padding: 8px; border-radius: 22px;}
.lx-figure figcaption{padding: 12px 8px 8px;}
.lx-figure b{font-size: 17.5px;}
.doc-plies,.doc-etapes{margin-inline: calc(-1 * var(--rs-marge)); padding: 8px var(--rs-marge); border-radius: 0;}
.doc-plie summary{padding: 10px 14px 10px 10px; font-size: 15px;}
.doc-plie-corps{padding: 0 16px 4px;}
.lx-corps .doc-etapes li{padding: 14px 14px 14px 56px;}
.doc-etapes li::before{left: 12px; top: 14px;}
.lx .lx-choix-tete{display: none;}
.lx-choix{margin-inline: -6px; border-radius: 20px;}
.lx-corps .lx-choix-l > li{grid-template-columns: minmax(0, 1fr);}
.lx-choix-err{padding: 18px 16px 14px 56px;}
.lx-choix-err::before{left: 16px; top: 18px;}
.lx-corps .lx-choix-ok{margin: 0 12px 14px; padding: 12px 14px; border: 0; border-radius: 12px; font-size: 15.5px;}
.lx-choix-ok-t{position: static; display: block; width: auto; height: auto; margin-bottom: 2px; clip-path: none; font-size: 12.5px; font-weight: 600; color: var(--lx-vert);}
.lx-halo--flux{max-width: none; margin-inline: -2px;}
.lx-cartes{grid-template-columns: minmax(0, 1fr);}
.doc-table{min-width: 0;}
.doc-table thead{display: none;}
.doc-table tbody tr{display: block; padding: 12px 18px; border-top: 1px solid rgba(10, 10, 10, 0.07);}
.doc-table tbody th,.doc-table td{display: block; padding: 0; border: 0;}
.doc-table td{margin-top: 2px;}
}
@media (prefers-reduced-motion: no-preference){
.lx-sc{animation: lxPose .9s var(--rs-e) backwards;}
.lx-sc--calcul{animation-delay: .12s;}
.lx-sc--note{animation-delay: .24s;}
}
@keyframes lxPose{ from { opacity: 0; translate: 0 14px; } }
@media (prefers-reduced-motion: reduce){
.doc-nav,.lx-toc,.doc-ici-chev,.lx-toc-surligne.est-pose,.lx-corps,.lx-fin{transition: none;}
.doc-plie::details-content{transition: none;}
.doc-voile{animation: none;}
:is(.lx-tour, .lx-lueur) > span{animation: none; rotate: 300deg;}
}
