/* Copie légère de /assets/phare.css (commentaires retirés) — tools/prod-css-purge.mjs — source-sha1:a72d78123423fbc56641c11f9e6fe5bcbd9d1c26 — ne pas éditer, relancer l'outil. */
body.labo{--p-papier: #FFFFFF;
    --p-brume: #F5F4F3;
    --p-nuit: #000000;
    
    --p-encre: #0A0A0A;
    --p-doux: #5F5F5F;
    --p-mute: #767676;
    --p-filet: #E6E5E3;

    
    --p-braise: #B9485C;
    --p-coeur: #E8607A;

    --p-marge: clamp(20px, 6.25vw, 120px);
    --p-large: 1680px;
    --p-r: 22px;}
@property --p-tour{
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: true;
}
@keyframes phare-tour{
    to { --p-tour: 1turn; }
}
body.labo{--p-lueur: conic-gradient(from var(--p-tour),
        rgba(123, 45, 59, 0)      0turn,
        rgba(123, 45, 59, 0)      0.09turn,
        rgba(123, 45, 59, 0.30)   0.145turn,
        rgba(185, 72, 92, 0.85)   0.185turn,
        var(--p-coeur)            0.205turn,
        rgba(185, 72, 92, 0.85)   0.225turn,
        rgba(123, 45, 59, 0.30)   0.265turn,
        rgba(123, 45, 59, 0)      0.32turn,

        rgba(123, 45, 59, 0)      0.59turn,
        rgba(123, 45, 59, 0.30)   0.645turn,
        rgba(185, 72, 92, 0.85)   0.685turn,
        var(--p-coeur)            0.705turn,
        rgba(185, 72, 92, 0.85)   0.725turn,
        rgba(123, 45, 59, 0.30)   0.765turn,
        rgba(123, 45, 59, 0)      0.82turn,
        rgba(123, 45, 59, 0)      1turn);}
.phare-halo{position: relative;
    padding: 2px;
    border-radius: var(--p-r);
    background-color: var(--p-filet);
    background-image: var(--p-lueur);
    animation: phare-tour 9s linear infinite;}
.phare-halo-in{position: relative;
    z-index: 1;
    border-radius: calc(var(--p-r) - 2px);
    background: var(--p-papier);}
.phare-halo::after{content: "";
    position: absolute;
    inset: -18px;
    z-index: -1;
    border-radius: calc(var(--p-r) + 18px);
    background-image: var(--p-lueur);
    filter: blur(26px);
    opacity: 0.85;
    pointer-events: none;}
.phare-annonce{background: var(--p-nuit);
    color: #FFFFFF;
    font-family: var(--font-nav);}
.phare-annonce a{display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 52px;
    padding: 10px var(--p-marge);
    color: inherit;
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 400;
    letter-spacing: -0.006em;
    text-align: center;
    transition: opacity 0.18s var(--ease-out-soft, ease);}
.phare-annonce-i{font-size: 15px;          
    opacity: 0.75;}
.phare-annonce a:hover{opacity: 0.75;}
.phare-annonce a:focus-visible{outline: 2px solid #FFFFFF; outline-offset: -4px;}
.phare-fleche{transition: translate 0.22s var(--ease-out-soft, ease);}
.phare-annonce a:hover .phare-fleche{translate: 3px 0;}
.phare-annonce .pa-court{display: none;}
@media (max-width: 640px){
.phare-annonce .pa-long{display: none;}
.phare-annonce .pa-court{display: inline; text-wrap: balance;}
}
body.labo #devis{scroll-margin-top: calc(var(--p-barre-h) + 24px);}
body.labo > nav:not(.breadcrumb):not(.breadcrumb-inline){position: sticky;
    top: 0;
    padding: 0;
    pointer-events: auto;
    background: var(--p-papier);
    border-bottom: 1px solid var(--p-filet);}
body.labo .nav-inner{position: static;
    padding-inline: var(--p-marge);
    max-width: var(--p-large);
    height: var(--p-barre-h);
    gap: 18px;
    border-radius: 0;
    background: none;
    box-shadow: none;
    overflow: visible;}
body.labo .nav-inner::after{display: none;}
body.labo .nav-logo,body.labo .nav-links,body.labo .nav-actions{height: auto;
    border-radius: 0;
    background: none;
    box-shadow: none;}
body.labo .nav-links{padding: 0; gap: 4px;}
body.labo .nav-actions{padding: 0; gap: 10px;}
body.labo .nav-espace{display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: none;
    
    height: 40px;
    padding: 0 14px;
    border: 1px solid var(--p-filet);
    
    border-radius: 10px;
    font-family: var(--font-nav);
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: -0.011em;
    color: var(--p-encre);
    text-decoration: none;
    white-space: nowrap;
    transition:
        border-color 0.2s var(--p-survol-courbe, ease),
        background-color 0.2s var(--p-survol-courbe, ease);}
body.labo .nav-espace:hover{border-color: #B4B2AF;
    background: rgba(10, 10, 10, 0.03);}
body.labo .nav-espace svg{flex: none;}
body.labo .nav-espace:focus-visible{outline: 2px solid var(--burgundy);
    outline-offset: 2px;}
body.labo{--p-barre-h: 68px;}
body.labo .nav-logo,body.labo .nav-links,body.labo .nav-actions{height: var(--p-barre-h);}
body.labo .nav-logo,body.labo .nav-links,body.labo .nav-actions,body.labo > nav:not(.breadcrumb):not(.breadcrumb-inline){animation: none;}
body.labo .nav-word{position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip-path: none;
    font-family: var(--font-nav);
    font-size: 1.0625rem;
    font-weight: 600;
    letter-spacing: -0.015em;
    text-transform: none;
    color: var(--p-encre);}
body.labo .nav-logo{width: auto;
    justify-content: flex-start;
    gap: 10px;
    padding-right: 6px;}
body.labo .nav-mark{width: 30px; height: 30px;}
body.labo .nav-inner{gap: 28px;}
body.labo .nav-sit{height: var(--p-barre-h);
    align-items: center;}
body.labo .nav-links > a:not(.nav-cta),body.labo .nav-sit-btn{height: 40px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-family: var(--font-nav);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: -0.014em;
    color: var(--p-encre);
    background: none;}
body.labo .nav-links > a:not(.nav-cta):hover,body.labo .nav-sit-btn:hover{color: var(--p-encre);
    background: rgba(0, 0, 0, 0.04);}
body.labo .nav-links > a[aria-current="page"],body.labo .nav-sit--here.nav-sit .nav-sit-btn{color: var(--p-encre);
    background: none;}
body.labo .nav-sit--here.nav-sit .nav-sit-chev{color: inherit;}
body.labo .nav-sit.open .nav-sit-btn,body.labo .nav-sit:hover .nav-sit-btn{border-color: var(--p-filet);
    background: none;}
body.labo .nav-inner a.nav-cta{height: 40px !important;
    padding: 0 16px !important;
    border: 0;
    
    border-radius: 10px !important;
    background: var(--burgundy) !important;
    color: #FFFFFF !important;
    font-family: var(--font-nav);
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em;
    box-shadow: none;}
body.labo .nav-inner .nav-espace{font-size: 0.9375rem;}
body.labo .nav-inner .nav-phone{height: 40px; border-radius: 10px; font-size: 0.9375rem;}
@media (min-width: 861px) and (max-width: 1240px){
body.labo .nav-actions{gap: 8px;}
body.labo .nav-inner a.nav-cta{padding: 0 14px !important; font-size: 0.8125rem !important;}
body.labo .nav-inner .nav-espace{padding: 0 12px; gap: 7px; font-size: 0.8125rem;}
}
body.labo .nav-inner a.nav-cta{transition:
        transform 0.2s var(--ease-out-soft),
        box-shadow 0.2s var(--ease-out-soft),
        background-color 0.2s var(--ease-out-soft) !important;}
body.labo .nav-inner a.nav-cta:hover{background: var(--burgundy-dark) !important;
    transform: translateY(-1px);
    box-shadow: var(--shadow-cta);}
body.labo .nav-inner a.nav-cta:active{transform: translateY(0);}
body.labo .nav-inner a.nav-cta:focus-visible{outline: 2px solid var(--burgundy);
    outline-offset: 2px;}
body.labo .nav-cta:hover .roll > span:nth-child(1){transform: translateY(-100%);}
body.labo .nav-cta:hover .roll > span:nth-child(2){transform: translateY(0);}
body.labo .nav-phone{font-family: var(--font-nav);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: -0.014em;
    color: var(--p-encre);}
body.labo{--pn-ecart: clamp(0px, calc(1.35vw - 14px), 12px);}
body.labo .nav-sit-panel{--pn-py: clamp(26px, 2.8vw, 44px);
    --pn-px: var(--p-marge);

    
    
    --pn-vig: clamp(42px, 2.5vw, 48px);
    --pn-ico: clamp(21px, 1.45vw, 27px);
    --pn-lib: 0.9375rem;
    --pn-tit: 0.875rem;
    --pn-gap: 12px;
    --pn-row-y: 8px;
    --pn-row-x: 10px;

    
    top: calc(var(--p-barre-h) - 1px);
    left: 0;
    right: 0;
    width: auto;
    max-width: none;
    transform: translateY(-6px);
    padding: calc(var(--pn-py) + var(--pn-ecart, 0px)) var(--pn-px) var(--pn-py);
    border-radius: 0;
    border-bottom: 1px solid var(--p-filet);
    background: var(--p-papier);
    box-shadow: 0 24px 44px -30px rgba(0, 0, 0, 0.35);
    gap: 0 clamp(28px, 3.5vw, 64px);}
body.labo .nav-sit:hover .nav-sit-panel,body.labo .nav-sit.open .nav-sit-panel{transform: translateY(0);}
body.labo .nav-sit-panel::before{display: none;}
body.labo{--p-courbe: cubic-bezier(0.22, 1, 0.36, 1);   
    --p-ouv: 0.44s;
    --phn-h: auto;

    
    --p-survol: 0.2s;
    --p-survol-courbe: cubic-bezier(0.4, 0, 0.2, 1);}
body.labo.phn-pilote .phn-scene{position: absolute;
    top: calc(var(--p-barre-h) - 1px);
    left: 0;
    right: 0;
    width: auto;
    
    height: var(--phn-h);
    
    min-height: 360px;
    background: var(--p-papier);
    border-bottom: 1px solid var(--p-filet);
    
    box-shadow:
        0 1px 0 rgba(17, 17, 17, 0.05),
        0 16px 26px -16px rgba(17, 17, 17, 0.20),
        0 44px 70px -38px rgba(17, 17, 17, 0.30);
    z-index: 299;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.24s var(--p-courbe),
        height 0.4s var(--p-courbe),
        visibility 0.24s;}
body.labo.phn-pilote.phn-ouvert .phn-scene{opacity: 1;
    visibility: visible;
    pointer-events: auto;}
body.labo.phn-pilote .nav-sit-panel{background: none;
    box-shadow: none;
    border: 0;
    height: var(--phn-h);
    overflow: hidden;}
body.labo.phn-pilote .nav-sit-panel,body.labo.phn-pilote .nav-sit:hover .nav-sit-panel,body.labo.phn-pilote .nav-sit.open .nav-sit-panel{opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    
    transition:
        opacity 0.12s linear,
        height 0.4s var(--p-courbe),
        visibility 0.12s;}
body.labo.phn-pilote .nav-sit.phn-on .nav-sit-panel{opacity: 1;
    visibility: visible;
    pointer-events: auto;
    
    transition:
        opacity 0.26s var(--p-courbe) 0.08s,
        height 0.4s var(--p-courbe),
        visibility 0s;}
body.labo .nav-sit-panel{min-height: 360px;}
body.labo .nav-sit.phn-on .nav-sit-btn{border-color: var(--p-filet);}
body.labo .nav-sit-chev{margin: 0 0 0 2px;
    translate: 0 -2px;
    opacity: 0.55;
    transition:
        rotate 0.28s var(--p-survol-courbe),
        translate 0.28s var(--p-survol-courbe),
        opacity var(--p-survol) var(--p-survol-courbe),
        color var(--p-survol) var(--p-survol-courbe);}
body.labo .nav-sit:hover .nav-sit-chev{opacity: 1;}
body.labo .nav-sit.phn-on .nav-sit-chev{rotate: 225deg;
    translate: 0 2px;
    opacity: 1;}
body.labo.phn-pilote .nav-sit-col,body.labo.phn-pilote .nav-sit-foot{opacity: 0;
    translate: -22px 0;
    transition:
        opacity 0.34s var(--p-courbe) var(--phn-d, 0s),
        translate 0.52s var(--p-courbe) var(--phn-d, 0s);}
body.labo.phn-pilote .nav-sit.phn-on .nav-sit-col,body.labo.phn-pilote .nav-sit.phn-on .nav-sit-foot{opacity: 1;
    translate: 0 0;}
body.labo .nav-sit-col:nth-child(2){--phn-d: 0.06s;}
body.labo .nav-sit-col:nth-child(3){--phn-d: 0.12s;}
body.labo .nav-sit-col:nth-child(4){--phn-d: 0.18s;}
body.labo .nav-sit-foot{--phn-d: 0.24s;}
body.labo.phn-pilote .phn-enchaine .nav-sit-col,body.labo.phn-pilote .phn-enchaine .nav-sit-foot{translate: -14px 0;
    transition:
        opacity 0.26s var(--p-courbe) var(--phn-d, 0s),
        translate 0.38s var(--p-courbe) var(--phn-d, 0s);}
body.labo.phn-pilote .phn-enchaine .nav-sit-col:nth-child(2){--phn-d: 0.035s;}
body.labo.phn-pilote .phn-enchaine .nav-sit-col:nth-child(3){--phn-d: 0.07s;}
body.labo.phn-pilote .phn-enchaine .nav-sit-col:nth-child(4){--phn-d: 0.105s;}
body.labo.phn-pilote .phn-enchaine .nav-sit-foot{--phn-d: 0.14s;}
body.labo #nav-sit-panel,body.labo #nav-blog-panel{grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(230px, 300px);}
body.labo #nav-perso-panel{grid-template-columns: repeat(2, minmax(0, 340px)) 1fr minmax(230px, 300px);}
body.labo .nav-sit-col{min-width: 0;}
body.labo .nav-sit-col-h{font-size: var(--pn-tit, 0.875rem);
    font-weight: 600;
    text-transform: none;
    letter-spacing: -0.011em;
    color: var(--p-encre);
    padding: 0 0 12px;
    margin: 0 0 10px;
    border-bottom: 1px solid var(--p-filet);
    display: flex;
    align-items: center;
    gap: 9px;}
body.labo .nav-sit-row{display: flex;
    align-items: center;
    gap: var(--pn-gap, 12px);
    padding: var(--pn-row-y, 8px) var(--pn-row-x, 10px);
    
    margin-inline: calc(var(--pn-row-x, 10px) * -1);
    border-radius: 10px;}
body.labo .phn-vig{flex-shrink: 0;
    width: var(--pn-vig, 42px);
    height: var(--pn-vig, 42px);
    display: grid;
    place-content: center;
    border: 0;
    
    border-radius: calc(var(--pn-vig, 42px) * 0.26);
    background: #F1F1F2;
    color: var(--p-doux);
    
    box-shadow: inset 0 0 0 1px rgba(17, 17, 17, 0.035);
    transition:
        background-color var(--p-survol) var(--p-survol-courbe),
        color var(--p-survol) var(--p-survol-courbe);}
body.labo .nav-sit-row:hover .phn-vig{background: #E9E9EB;
    color: var(--p-encre);}
body.labo .phn-vig .epure-ico{font-size: var(--pn-ico, 21px);}
body.labo .nav-sit-row .s{font-size: var(--pn-lib, 0.9375rem);
    font-weight: 500;
    letter-spacing: -0.011em;
    line-height: 1.3;
    color: var(--p-doux);
    white-space: normal;
    
    transition:
        color var(--p-survol) var(--p-survol-courbe),
        translate var(--p-survol) var(--p-survol-courbe);}
body.labo .nav-sit-row:hover .s{color: var(--p-encre);
    translate: 3px 0;}
body.labo .nav-sit-row .s[aria-current="page"]{color: var(--burgundy); font-weight: 600;}
body.labo .nav-sit-foot{grid-column: -2 / -1;
    grid-row: 1;
    margin: calc(var(--pn-py) * -1) calc(var(--pn-px) * -1) calc(var(--pn-py) * -1) 0;
    padding: var(--pn-py) var(--pn-px) var(--pn-py) clamp(22px, 2.2vw, 36px);
    border-top: 0;
    
    border-left: 1px solid var(--p-filet);
    background: #F7F7F8;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;}
body.labo .nav-sit-foot > span{display: flex;
    align-items: center;
    gap: 9px;
    font-size: var(--pn-tit, 0.875rem);
    font-weight: 600;
    color: var(--p-encre);
    padding-bottom: 12px;
    border-bottom: 1px solid var(--p-filet);
    align-self: stretch;}
body.labo .nav-sit-foot a{white-space: normal;}
body.labo .phn-promo{display: block;
    align-self: stretch;
    margin-top: 14px;
    text-decoration: none;}
body.labo .phn-promo-vue{position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
    overflow: hidden;
    
    background: #171717;}
body.labo .phn-promo-vue::before{content: attr(data-mot);
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    font-family: var(--font-caps);
    font-size: 3.4rem;
    line-height: 1;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.17);
    white-space: nowrap;}
body.labo .phn-promo-vue img{position: relative;
    display: block;
    width: 100%;
    height: 100%;
    
    object-fit: contain;
    transition: scale 0.5s var(--p-courbe);}
body.labo .phn-promo-play{position: absolute;
    inset: 0;
    margin: auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-content: center;
    background: rgba(0, 0, 0, 0.55);
    color: #FFFFFF;
    transition:
        background-color 0.18s var(--ease-out-soft, ease),
        scale 0.18s var(--ease-out-soft, ease);}
body.labo .phn-promo-play svg{width: 18px; height: 18px; margin-left: 2px;}
body.labo .phn-promo-t{display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin-top: 12px;
    font-size: 0.9375rem;
    font-weight: 600;
    letter-spacing: -0.011em;
    line-height: 1.35;
    color: var(--p-encre);
    transition: color 0.16s var(--ease-out-soft, ease);}
body.labo .phn-promo:hover .phn-promo-vue img{scale: 1.03;}
body.labo .phn-promo:hover .phn-promo-play{background: rgba(0, 0, 0, 0.72);}
body.labo .phn-promo-f{display: inline-block;
    transition: translate 0.2s var(--ease-out-soft, ease);}
body.labo .phn-promo:hover .phn-promo-f{translate: 3px 0;}
body.labo .phn-promo-s{display: block;
    margin-top: 6px;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--p-doux);}
body.labo #nav-blog-panel.phn-res{grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(250px, 320px);}
body.labo .phn-res-col .nav-sit-col-h{justify-content: space-between;}
body.labo .phn-res-tout{display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    font-size: var(--pn-tit, 0.875rem);
    font-weight: 500;
    letter-spacing: -0.011em;
    color: var(--burgundy);
    text-decoration: none;
    white-space: nowrap;}
body.labo .phn-res-tout::after{content: "→";
    transition: translate var(--p-survol) var(--p-survol-courbe);}
body.labo .phn-res-tout:hover::after{translate: 3px 0;}
body.labo .phn-res-row{text-decoration: none;}
body.labo .phn-res-txt{display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;}
body.labo .phn-res-row .s{color: var(--p-encre);}
body.labo .phn-res-sous{font-size: 0.8125rem;
    line-height: 1.35;
    letter-spacing: -0.006em;
    color: var(--p-doux);
    transition: translate var(--p-survol) var(--p-survol-courbe);}
body.labo .phn-res-row:hover .phn-res-sous{translate: 3px 0;}
body.labo::after{content: "";
    position: fixed;
    inset: 0;
    z-index: 90;
    background: rgba(17, 17, 17, 0.22);
    -webkit-backdrop-filter: blur(3px);
            backdrop-filter: blur(3px);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s var(--p-courbe),
        visibility 0.3s;}
body.labo.phn-ouvert::after{opacity: 1;
    visibility: visible;}
body.labo.phn-barre #nav-sit-panel{grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(260px, 320px);}
body.labo.phn-barre #nav-blog-panel{grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(260px, 320px);}
body.labo.phn-barre #nav-cab-panel{grid-template-columns: repeat(2, minmax(0, 340px)) 1fr minmax(260px, 320px);}
@media (max-width: 1279px){
body.labo.phn-barre .nav-sit-panel{column-gap: 20px;}
body.labo.phn-barre #nav-sit-panel{grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(220px, 240px);}
body.labo.phn-barre #nav-blog-panel{grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(220px, 240px);}
body.labo.phn-barre #nav-cab-panel{grid-template-columns: repeat(2, minmax(0, 320px)) 1fr minmax(220px, 240px);}
body.labo.phn-barre .nav-sit-foot{padding-left: 20px;}
body.labo.phn-barre .phn-plan{grid-template-columns: minmax(0, 1fr);}
}
body.labo .phn-vig > svg{width: var(--pn-ico, 21px); height: var(--pn-ico, 21px);}
body.labo.phn-barre .phn-res-row .s{display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;}
body.labo.phn-barre .nav-links > a[aria-current="page"],body.labo.phn-barre .nav-sit--here .nav-sit-btn{position: relative;}
body.labo.phn-barre .nav-links > a[aria-current="page"]::after,body.labo.phn-barre .nav-sit--here .nav-sit-btn::after{content: "";
    position: absolute;
    left: 14px;
    bottom: 4px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--burgundy);}
@media (min-width: 1041px) and (max-width: 1240px){
body.labo .nav-links > a:not(.nav-cta){padding: 0 10px; font-size: 0.8125rem;}
body.labo.phn-barre .nav-links > a[aria-current="page"]::after,body.labo.phn-barre .nav-sit--here .nav-sit-btn::after{left: 10px;}
}
body.labo.phn-barre .phn-pied{gap: 0;}
body.labo .phn-porte{display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 12px;
    align-self: stretch;
    padding: 16px;
    border-radius: 14px;
    background: #FFFFFF;
    box-shadow:
        inset 0 0 0 1px var(--p-filet),
        0 1px 2px rgba(17, 17, 17, 0.04);
    color: var(--p-encre);
    text-decoration: none;
    transition: box-shadow var(--p-survol) var(--p-survol-courbe);}
body.labo .phn-porte:hover{box-shadow:
        inset 0 0 0 1px #D6D4D1,
        0 14px 26px -18px rgba(17, 17, 17, 0.32);}
body.labo .phn-porte:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 2px;}
body.labo .phn-porte-fav{--fav-encre: #16161A;
    --fav-filet: #E1E1E6;
    display: grid;
    place-content: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #FFFFFF;
    box-shadow: inset 0 0 0 1px var(--fav-filet);
    color: var(--fav-encre);}
body.labo .phn-porte-fav > svg{width: 20px; height: 20px;}
body.labo .phn-porte-fav--sapin{--fav-encre: #1F4D38; --fav-filet: #D0E4D7;}
body.labo .phn-porte-fav--marine{--fav-encre: #1F3A57; --fav-filet: #D3DFEB;}
body.labo .phn-porte-fav--prune{--fav-encre: #6B2A3F; --fav-filet: #E9D3DA;}
body.labo .phn-porte-nom,body.labo .phn-porte-aller{color: var(--p-encre);}
body.labo .phn-porte-nom{font-size: 1rem;
    font-weight: 600;
    letter-spacing: -0.016em;
    line-height: 1.25;}
body.labo .phn-porte-dit{grid-column: 1 / -1;
    margin-top: 10px;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--p-doux);}
body.labo .phn-porte-aller{grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 38px;
    margin-top: 14px;
    padding: 0 12px;
    border-radius: 10px;
    background: #F1F1F2;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: -0.011em;
    transition: background-color var(--p-survol) var(--p-survol-courbe);}
body.labo .phn-porte:hover .phn-porte-aller{background: #E9E9EB;}
body.labo .phn-porte-f::after{content: "→";
    display: inline-block;
    transition: translate var(--p-survol) var(--p-survol-courbe);}
body.labo .phn-porte:hover .phn-porte-f::after{translate: 3px 0;}
body.labo .phn-plan-t{align-self: stretch;
    margin: 20px 0 4px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: -0.004em;
    color: var(--p-doux);}
body.labo .phn-plan{align-self: stretch;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;}
body.labo .phn-plan--seul{grid-template-columns: minmax(0, 1fr);}
body.labo .phn-plan a{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 0;
    border-bottom: 1px solid var(--p-filet);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: -0.008em;
    line-height: 1.3;
    color: var(--p-encre);
    text-decoration: none;}
body.labo .phn-plan a::after{content: "→";
    flex: none;
    color: var(--p-doux);
    transition: translate var(--p-survol) var(--p-survol-courbe), color var(--p-survol) var(--p-survol-courbe);}
body.labo .phn-plan a:hover::after{translate: 3px 0; color: var(--p-encre);}
body.labo .phn-plan a:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 2px;}
.phare{position: relative;
    isolation: isolate;
    
    overflow: hidden;
    overflow: clip;                 
    background: linear-gradient(180deg, var(--p-papier) 0%, var(--p-brume) 100%);}
.phare-fond{position: absolute;
    inset: -20% -10%;
    z-index: -1;
    pointer-events: none;}
.phare-voile{position: absolute;
    display: block;
    width: 46vw;
    aspect-ratio: 1;
    border-radius: 50%;
    will-change: transform;}
.phare-voile-a{top: -8%;
    right: 6%;
    background: radial-gradient(circle at 50% 50%,
        rgba(123, 45, 59, 0.07) 0%,
        rgba(123, 45, 59, 0.025) 45%,
        rgba(123, 45, 59, 0) 70%);
    animation: phare-derive-a 34s ease-in-out infinite alternate;}
.phare-voile-b{bottom: -18%;
    left: -6%;
    background: radial-gradient(circle at 50% 50%,
        rgba(185, 72, 92, 0.06) 0%,
        rgba(185, 72, 92, 0.02) 45%,
        rgba(185, 72, 92, 0) 70%);
    animation: phare-derive-b 46s ease-in-out infinite alternate;}
@keyframes phare-derive-a{
    from { translate: 0 0;    scale: 1;    }
    to   { translate: -7% 6%; scale: 1.14; }
}
@keyframes phare-derive-b{
    from { translate: 0 0;    scale: 1.08; }
    to   { translate: 9% -5%; scale: 0.94; }
}
.phare-inner{max-width: var(--p-large);
    margin: 0 auto;
    padding: clamp(56px, 7vw, 130px) var(--p-marge) clamp(64px, 7.5vw, 140px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
    align-items: start;
    gap: clamp(40px, 6vw, 100px);}
.phare-titre{margin: 0;
    display: flex;
    flex-direction: column;
    font-family: var(--font-nav);
    font-weight: 600;
    font-size: clamp(2.625rem, 5.4vw, 5rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--p-encre);}
.ph-cle{color: var(--burgundy);
    font-weight: 500;}
.ph-fort{color: var(--p-encre);
    font-weight: 500;}
.phare-texte{margin: clamp(24px, 2.4vw, 36px) 0 0;
    max-width: 54ch;
    font-family: var(--font-nav);
    font-size: clamp(1.0625rem, 1.2vw, 1.25rem);
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: -0.011em;
    color: var(--p-doux);}
.phare-lien{display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-top: clamp(24px, 2.4vw, 36px);
    font-family: var(--font-nav);
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: -0.011em;
    color: var(--burgundy);
    text-decoration: none;}
.phare-lien:hover{color: var(--burgundy-dark);}
.phare-lien:focus-visible{outline: 2px solid var(--burgundy); outline-offset: 3px; border-radius: 4px;}
.phare-lien svg{width: 17px; height: 17px; flex-shrink: 0;}
.phare-lien span{transition: translate 0.22s var(--ease-out-soft, ease);}
.phare-lien:hover span{translate: 2px 0;}
.phare-vue{min-width: 0;}
@media (max-width: 1040px){
body.labo{--w-carte-max: 640px;}
.phare-inner{display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
        padding-top: clamp(40px, 7vw, 72px);}
.phare-dire{display: contents;}
.phare-titre{order: 1; align-items: center; text-align: center;}
.phare-texte{order: 2; margin-inline: auto; text-align: center;}
.phare-vue{order: 3; margin-top: clamp(30px, 5vw, 50px);}
.preuve-zone{order: 4;}
.phare-vue,.preuve-zone{width: 100%;
        max-width: calc(var(--w-carte-max, 640px) + 3px);}
}
@media (max-width: 560px){
.phare-voile{width: 92vw;}
.phare-halo::after{inset: -18px; filter: blur(28px);}
}
@media (prefers-reduced-motion: reduce){
.phare-halo,.phare-voile{animation: none;}
.phare-annonce a,.phare-fleche,.phare-lien span{transition: none;}
body.labo .nav-sit-panel,body.labo::after,body.labo .phn-scene,body.labo .nav-sit-row,body.labo .phn-vig,body.labo .nav-sit-col,body.labo .nav-sit-foot,body.labo .phn-promo-vue img,body.labo .phn-promo-t,body.labo .phn-promo-f,body.labo .phn-promo-play{transition: none;}
body.labo .nav-sit-col,body.labo .nav-sit-foot{translate: 0 0;}
body.labo .phn-promo:hover .phn-promo-vue img{scale: 1;}
body.labo .nav-cta .roll > span{transition: none;}
body.labo .nav-cta:hover .roll > span:nth-child(1){transform: none;}
body.labo .nav-cta:hover .roll > span:nth-child(2){transform: translateY(100%);}
body.labo .nav-links > a.nav-cta:hover{transform: none;}
body.labo .nav-sit-chev{transition: none;}
}
@supports (padding: env(safe-area-inset-top)){
body.labo .phare-annonce{padding-top: calc(env(safe-area-inset-top) + min(10px, env(safe-area-inset-top)));}
body.labo:not(.ph-colle)::before{content: "";
        position: fixed;
        inset: 0 0 auto;
        z-index: 1000;
        height: env(safe-area-inset-top);
        background: var(--p-nuit);
        pointer-events: none;}
body.labo.ph-colle > nav:not(.breadcrumb):not(.breadcrumb-inline){padding-top: env(safe-area-inset-top);
        background: rgba(253, 252, 252, 0.82);
        -webkit-backdrop-filter: blur(14px) saturate(1.4);
                backdrop-filter: blur(14px) saturate(1.4);
        transition:
            padding-top 0.22s var(--ease-out-soft, ease),
            background-color 0.22s var(--ease-out-soft, ease);}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
body.labo.ph-colle > nav:not(.breadcrumb):not(.breadcrumb-inline){background: var(--p-papier);}
}
}
body.labo #assu-retour{left: calc(20px + env(safe-area-inset-left));
    right: auto;
    bottom: calc(20px + env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    gap: 2px;
    max-width: min(440px, calc(100vw - 40px));
    padding: 6px;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(14px) saturate(1.3);
            backdrop-filter: blur(14px) saturate(1.3);
    box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.06), 0 2px 6px rgba(10, 10, 10, 0.06), 0 28px 50px -26px rgba(10, 10, 10, 0.5);
    color: #0A0A0A;
    font-family: var(--font-nav);}
body.labo #assu-retour .assu-retour-go{display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
    min-width: 0;
    padding: 0 10px 0 0;
    border-radius: 12px;
    font-size: 14px;
    text-align: left;
    white-space: normal;}
body.labo #assu-retour .assu-retour-go:hover{text-decoration: none;}
body.labo #assu-retour .assu-retour-go:focus-visible,body.labo #assu-retour .assu-retour-x:focus-visible{outline: 2px solid var(--burgundy, #7B2D3B); outline-offset: 2px;}
.ar-fav{flex: none;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border-radius: 11px;
    background: #FFFFFF;
    box-shadow: inset 0 0 0 1px var(--ar-filet, #E3E3E7), 0 1px 2px rgba(10, 10, 10, 0.06);
    color: var(--ar-encre, #16161A);}
.ar-svg{display: block; width: 20px; height: 20px;}
.ar-fav--nuit{--ar-encre: #16161A; --ar-filet: #E1E1E6;}
.ar-fav--marine{--ar-encre: #1F3A57; --ar-filet: #D3DFEB;}
.ar-fav--sapin{--ar-encre: #1F4D38; --ar-filet: #D0E4D7;}
.ar-fav--prune{--ar-encre: #6B2A3F; --ar-filet: #E9D3DA;}
.ar-fav--marque{background: var(--burgundy, #7B2D3B); box-shadow: 0 6px 14px -8px rgba(123, 45, 59, 0.9); color: #FFFFFF;}
.ar-txt{display: flex; flex-direction: column; gap: 2px; min-width: 0;}
.ar-txt small{font-size: 12px; font-weight: 500; line-height: 1.2; color: #6B6B6B;}
.ar-txt b{overflow: hidden; font-size: 14px; font-weight: 600; line-height: 1.3; letter-spacing: -0.012em; white-space: nowrap; text-overflow: ellipsis;}
.ar-fleche{flex: none;
    width: 32px;
    height: 32px;
    margin-left: auto;
    border-radius: 9px;
    background: #F4F4F5 center / 16px no-repeat;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 12H5M11 6l-6 6 6 6' fill='none' stroke='%230A0A0A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    transition: translate .25s ease, background-color .25s ease;}
.assu-retour-go:hover .ar-fleche{background-color: #EAEAEC;}
.assu-retour-go:hover .ar-fleche{translate: -2px 0;}
body.labo #assu-retour .assu-retour-x{display: grid;
    place-items: center;
    flex: none;
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 10px;
    font-size: 18px;
    color: #5F5F5F;}
body.labo #assu-retour .assu-retour-x:hover{background: #F4F4F5; opacity: 1;}
@media (max-width: 700px){
body.labo #assu-retour{top: auto;
        bottom: calc(14px + env(safe-area-inset-bottom));
        left: 12px;
        right: calc(78px + env(safe-area-inset-right));
        max-width: none;}
.ar-fav{width: 38px; height: 38px;}
.ar-txt b{font-size: 13.5px;}
}
