/* == tokens ================================================================ */
@font-face{font-family:'League Spartan';src:url('/source-smart/type/ls700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/source-smart/type/pp400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/source-smart/type/pp500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/source-smart/type/pp600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Poppins';src:url('/source-smart/type/pp700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
    --main:#25ec84;
    --spot:#8c74ff;
    --accent-pressed:#7351ff;
    --canvas:#262929;
    --raised:#313535;
    --reading:#ffffff;
    --quiet:#c0c0c0;
    --rule:#3c4141;
    --edge-hard:#5a6060;
    --fade-top:#f9f8ff;
    --ramp-end:#b7a6ff;
    --age-band:#a51d1d;
    --ink-deep:#141617;

    --s-step-0:4px;
    --s-step-1:7px;
    --s-step-2:11px;
    --s-step-3:17px;
    --s-step-4:26px;
    --s-step-5:40px;
    --s-step-6:60px;
    --s-step-7:90px;

    --r-step-0:1px;
    --r-step-1:2px;
    --r-step-2:6px;
    --r-step-3:8px;
    --r-step-4:14px;
    --r-step-5:20px;
    --r-step-6:26px;
    --r-step-7:34px;
    --lozenge:9999px;
    --round-full:50%;

    --d-step-0:0 1px 1px rgba(0,0,0,0.04);
    --d-step-1:0 1px 2px rgba(0,0,0,0.05);
    --d-step-2:0 2px 4px rgba(0,0,0,0.08);
    --d-step-3:0 4px 10px rgba(0,0,0,0.10);
    --d-step-4:0 8px 20px rgba(0,0,0,0.14);
    --d-step-5:0 12px 28px rgba(0,0,0,0.18);
    --d-step-6:0 18px 40px rgba(0,0,0,0.22);
    --d-step-7:0 26px 60px rgba(0,0,0,0.28);

    --banner:'League Spartan','Trebuchet MS',sans-serif;
    --copy:'Poppins','Segoe UI',sans-serif;

    --display-1:64px;
    --xl-2:40px;
    --h3:28px;
    --sub-2:22px;
    --sm-2:18px;
    --h6:16px;
    --base:17px;
    --sm:14px;
    --tiny:12px;

    --close:1.1;
    --normal:1.5;
    --loose:1.75;
    --snug:-0.02em;
    --even:0;
    --open:0.04em;
    --book:400;
    --semi:500;
    --black:700;

    --short:152ms;
    --steady:300ms;
    --long:548ms;
    --exit:cubic-bezier(0.29, 0.83, 0.36, 0.93);
    --both:cubic-bezier(0.61, 0.11, 0.34, 0.99);
    --spring:cubic-bezier(0.28, 1, 0.56, 1.25);

    --max:1160px;
    --column:1160px;
    --slim:660px;
    --pad-lg:56px;
    --pad-md:32px;
    --padding-mobile:16px;

    --light:1px;
    --regular:2px;
    --heavy:3px;

    --tall:58px;
    --h-short:52px;
    --sec-y:44px;
}

/* == base ================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{overflow-x:clip}
body{
    background:var(--canvas);
    color:var(--reading);
    display:flex;
    flex-direction:column;
    font-family:var(--copy);
    font-size:var(--base);
    font-weight:var(--book);
    line-height:var(--loose);
    margin:0;
    min-height:100vh;
}
img{max-width:100%}
main.sheet{display:block;flex:1 0 auto}
h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere;margin:0}
h1{font-family:var(--banner);font-size:var(--display-1);font-weight:var(--black);letter-spacing:var(--snug);line-height:var(--close);text-transform:uppercase}
h2{font-family:var(--banner);font-size:var(--xl-2);font-weight:var(--black);letter-spacing:var(--snug);line-height:var(--close);margin-block-start:0}
h3{font-family:var(--banner);font-size:var(--h3);font-weight:var(--black);letter-spacing:var(--even);line-height:var(--close);margin:0}
p{margin-block:0 var(--s-step-3)}
p:last-child{margin-block-end:0}
strong{font-weight:var(--black)}
:where(a):focus-visible,:where(button):focus-visible,:where(input):focus-visible,:where(textarea):focus-visible{outline:var(--heavy) solid var(--main);outline-offset:3px}

.skip-jump{background:var(--main);color:var(--ink-deep);font-weight:var(--black);left:var(--s-step-3);padding:var(--s-step-2) var(--s-step-4);position:fixed;text-decoration:none;z-index:200}
.skip-jump:not(:focus){top:-200px}
.skip-jump:focus{top:var(--s-step-2)}
.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}

/* == shared section frame ================================================== */
.affiche-guts,.atrium-guts,.balise-guts,.bandeau-guts,.cartouche-guts,.chevet-guts,
.console-guts,.feuille-guts,.fresque-guts,.nef-guts,.panneau-guts,.retable-guts,
.vestiaire-guts,.volume-guts,.voute-guts,.zone-guts{
    display:block;
    margin-inline:auto;
    max-width:calc(var(--max) + 2 * var(--pad-lg));
    padding-inline:var(--pad-lg);
    width:100%;
}
.affiche,.atrium,.balise,.cartouche,.chevet,.nef,.retable,.voute,.zone{padding-block:var(--sec-y)}
.bandeau{padding-block:var(--sec-y)}

/* == motion ================================================================ */
[data-motion]{
    opacity:0;
    transform:translateY(12px) scaleY(0.985);
    transform-origin:top center;
    transition:opacity var(--long) var(--exit),transform var(--long) var(--exit);
}
[data-motion].is-visible{opacity:1;transform:none}
@keyframes rise-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* == affiche (faq FAQ-01) ================================================== */
.affiche-head{margin-block-end:var(--s-step-4)}
.affiche-series{margin:0;padding:0}
.affiche-item{border-block-end:var(--light) solid var(--rule);padding-block:var(--s-step-3)}
.affiche-ask{margin:0}
.affiche-trigger{
    align-items:center;
    background:var(--canvas);
    border:0;
    color:var(--reading);
    cursor:pointer;
    display:flex;
    font-family:var(--copy);
    font-size:var(--sm-2);
    font-weight:var(--black);
    gap:var(--s-step-3);
    justify-content:space-between;
    line-height:var(--normal);
    min-height:44px;
    padding:var(--s-step-1) 0;
    text-align:left;
    width:100%;
}
.affiche-trigger:hover{background:var(--canvas);color:var(--main)}
.affiche-sign{color:var(--main);flex-shrink:0;font-size:var(--h3);line-height:1;transition:transform var(--short) var(--exit)}
.affiche-trigger[aria-expanded='true'] .affiche-sign{transform:rotate(45deg)}
.affiche-fill{margin:0;padding-block-start:var(--s-step-2)}
.affiche-fill[hidden]{display:none}
.affiche-words{color:var(--quiet);font-size:var(--base);line-height:var(--loose)}
.affiche-trigger .affiche-words{color:var(--reading);font-size:var(--sm-2)}

/* == atrium (items-grid GRID-11) =========================================== */
.atrium-head{margin-block-end:var(--s-step-4)}
.atrium-stack{display:grid;gap:var(--s-step-3);grid-auto-rows:minmax(170px,auto);grid-template-columns:repeat(4,minmax(0,1fr))}
.atrium-item{
    background:var(--raised);
    border:var(--light) solid var(--rule);
    border-radius:var(--r-step-3);
    display:flex;
    flex-direction:column;
    gap:var(--s-step-2);
    padding:var(--s-step-4);
    position:relative;
    transition:border-color var(--steady) var(--exit);
}
.atrium-item::after{background:var(--main);content:'';height:var(--heavy);inset-block-start:0;inset-inline-start:0;position:absolute;transition:width var(--steady) var(--exit);width:0}
.atrium-item:hover::after{width:100%}
.atrium-item:hover{border-color:var(--edge-hard)}
.atrium-item--big{grid-column:span 2;grid-row:span 2;justify-content:flex-start}
.atrium-item--big .atrium-top{font-size:var(--xl-2)}
.atrium-item--big .atrium-words{font-size:var(--sm-2)}
.atrium-item--wide{grid-column:span 2}
.atrium-plate{align-items:flex-start;display:flex;flex-direction:column;gap:var(--s-step-2);margin-block-start:auto;padding-block-start:var(--s-step-3)}
.atrium-fine{color:var(--quiet);font-size:var(--sm);line-height:var(--normal)}
.atrium-glyph{align-items:center;background:var(--canvas);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-2);color:var(--main);display:inline-flex;height:38px;justify-content:center;padding:var(--s-step-1);width:38px}
.atrium-glyph svg{display:block;fill:none;height:21px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:21px}
.atrium-top{color:var(--reading);font-size:var(--sub-2);margin:0}
.atrium-words{color:var(--quiet);font-size:var(--sm);line-height:var(--loose);margin:0}
.atrium-push{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}

/* == balise (contact-form FORM-04) ========================================= */
.balise-head{font-family:var(--copy);font-size:var(--sm-2);font-weight:var(--semi);letter-spacing:var(--even);line-height:var(--normal);margin-block-end:var(--s-step-4);text-transform:none}
.balise-rank{display:flex;flex-wrap:wrap;gap:var(--s-step-2)}
.balise-cell{display:flex;flex:1 1 240px;flex-direction:column;gap:var(--s-step-0)}
.balise-cell--wide{flex:1 1 100%}
.balise-note{color:var(--quiet);font-size:var(--sm);letter-spacing:var(--open)}
.balise-entry{background:var(--raised);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-2);color:var(--reading);font-family:var(--copy);font-size:var(--base);min-height:46px;padding:var(--s-step-2) var(--s-step-3);width:100%}
.balise-entry--tall{min-height:120px;resize:vertical}
.balise-send{background:var(--main);border:0;border-radius:var(--r-step-2);color:var(--ink-deep);cursor:pointer;flex:0 0 auto;font-family:var(--banner);font-size:var(--h6);font-weight:var(--black);letter-spacing:var(--open);min-height:48px;padding-inline:var(--s-step-5);text-transform:uppercase;transition:transform var(--steady) var(--exit)}
.balise-send:hover{background:var(--main);color:var(--ink-deep);transform:translateY(-6px)}
.balise-blurb{background:var(--raised);border-inline-start:var(--heavy) solid var(--main);border-radius:var(--r-step-2);color:var(--reading);margin-block-start:var(--s-step-3);padding:var(--s-step-3)}
.balise-blurb[hidden]{display:none}
.balise-words{color:var(--quiet);margin-block-start:var(--s-step-3)}
.balise-words a{color:var(--main)}
.balise-words a:hover{background:var(--main);color:var(--ink-deep)}

/* == bandeau (cta-block CTA-01) ============================================ */
.bandeau{background:var(--spot);color:var(--ink-deep)}
.bandeau-guts{align-items:center;display:flex;gap:var(--s-step-5);justify-content:space-between}
.bandeau-words{max-width:var(--slim)}
.bandeau-head{color:var(--ink-deep);font-size:var(--xl-2);text-transform:uppercase}
.bandeau-second{color:var(--ink-deep);margin-block-start:var(--s-step-2)}
.bandeau-fine{color:var(--ink-deep);display:block;font-size:var(--sm);font-weight:var(--semi);margin-block-start:var(--s-step-2)}
.bandeau-push{align-items:center;box-shadow:0 0 0 3px var(--ink-deep);display:inline-flex;flex-shrink:0;justify-content:center;min-width:220px;text-decoration:none}

/* == cartouche (data-table TABLE-03) ======================================= */
.cartouche-head{margin-block-end:var(--s-step-4)}
.cartouche-scroll{overflow-x:auto}
.cartouche-grid{border-collapse:collapse;width:100%}
.cartouche-grid th{background:var(--spot);color:var(--ink-deep);font-family:var(--banner);font-size:var(--h6);letter-spacing:var(--open);padding:var(--s-step-3);text-align:left;text-transform:uppercase}
.cartouche-grid td{background:var(--raised);border-block-start:var(--light) solid var(--rule);color:var(--reading);padding:var(--s-step-3)}
.cartouche-note{color:var(--quiet);font-size:var(--sm);margin-block-start:var(--s-step-3)}

/* == chevet (legal-section LEGAL-03) ======================================= */
.chevet-guts{display:grid;gap:var(--s-step-6);grid-template-columns:240px minmax(0,1fr)}
.chevet-toc{align-self:start;background:var(--raised);border:var(--light) solid var(--rule);border-radius:var(--r-step-3);padding:var(--s-step-3);position:sticky;top:var(--s-step-6)}
.chevet-top{font-family:var(--banner);font-size:var(--sub-2);font-weight:var(--black);margin:0 0 var(--s-step-2)}
.chevet-top--toc{font-size:var(--h6);letter-spacing:var(--open);text-transform:uppercase}
.chevet-series{color:var(--quiet);font-size:var(--sm);margin:0;padding-inline-start:var(--s-step-4)}
.chevet-item{margin-block-end:var(--s-step-1)}
.chevet-href{background:var(--raised);color:var(--quiet);text-decoration:none}
.chevet-href:hover{background:var(--canvas);color:var(--main)}
.chevet-fill{display:block}
.chevet-lead{color:var(--reading);font-size:var(--sm-2);line-height:var(--loose);margin-block-end:var(--s-step-5)}
.chevet-part{display:block;margin-block-end:var(--s-step-5)}
.chevet-words{color:var(--quiet);line-height:var(--loose)}
.chevet-blurb{background:var(--raised);border-inline-start:var(--heavy) solid var(--age-band);border-radius:var(--r-step-2);color:var(--quiet);font-size:var(--sm);padding:var(--s-step-3)}

/* == console (author-card AUTH-02) ========================================= */
.console{display:block;padding-block:var(--s-step-6)}
.console-guts{max-width:calc(var(--max) + 2 * var(--pad-lg));text-align:center}
.console-headshot{border-radius:var(--round-full);display:block;height:140px;margin:0 auto var(--s-step-4);object-fit:cover;width:140px}
.console-job{color:var(--main);font-size:var(--sm);letter-spacing:var(--open);margin:0;text-transform:uppercase}
.console-handle{font-family:var(--banner);font-size:var(--xl-2);font-weight:var(--black);letter-spacing:var(--snug);line-height:var(--close);margin:var(--s-step-1) 0 var(--s-step-3)}
.console-blurb{color:var(--quiet);line-height:var(--loose);margin-inline:auto;max-width:var(--column)}
.console-series{display:flex;flex-wrap:wrap;gap:var(--s-step-2);justify-content:center;list-style:none;margin:var(--s-step-4) 0 0;padding:0}
.console-item{background:var(--raised);border:var(--light) solid var(--rule);border-radius:var(--lozenge);color:var(--quiet);font-size:var(--sm);padding:var(--s-step-1) var(--s-step-3)}
.console-articles{margin-inline:auto;margin-block-start:var(--s-step-5);max-width:calc(var(--max) + 2 * var(--pad-lg));padding-inline:var(--pad-lg);text-align:center}
.console-top{font-family:var(--banner);font-size:var(--sub-2);font-weight:var(--black);letter-spacing:var(--even);margin:0 0 var(--s-step-3)}
.console-series--links{gap:var(--s-step-2)}
.console-series--links .console-item{background:var(--canvas);border-color:var(--edge-hard)}
.console-href{background:var(--canvas);color:var(--main);text-decoration:none}
.console-href:hover{background:var(--ink-deep);color:var(--main)}

/* == feuille (header HEAD-LEFT, sticky-shrink) ============================= */
.feuille{background:var(--canvas);box-shadow:var(--d-step-3);position:sticky;top:0;z-index:60}
.feuille.is-shrunk{backdrop-filter:blur(8px)}
.feuille-bar{
    align-items:center;
    display:flex;
    gap:var(--s-step-3);
    height:58px;
    margin-inline:auto;
    max-width:1440px;
    padding-inline:var(--pad-lg);
    position:relative;
    transition:height var(--steady) var(--exit);
}
.feuille.is-shrunk .feuille-bar{height:46px}
.feuille-sign{align-items:center;display:inline-flex;flex-shrink:0;text-decoration:none}
.feuille-sign img{display:block;height:40px;transition:height var(--steady) var(--exit);width:auto}
.feuille.is-shrunk .feuille-sign img{height:32px}
.feuille-trigger{
    align-items:center;
    background:var(--canvas);
    border:var(--light) solid var(--edge-hard);
    border-radius:var(--r-step-1);
    color:var(--reading);
    cursor:pointer;
    display:inline-flex;
    font-family:var(--copy);
    font-size:var(--sm);
    font-weight:600;
    gap:var(--s-step-1);
    margin-inline-start:auto;
    min-height:44px;
    order:3;
    padding:var(--s-step-1) var(--s-step-2);
}
.feuille-lines{background:currentColor;display:inline-block;height:2px;position:relative;width:16px}
.feuille-lines::before,.feuille-lines::after{background:currentColor;content:'';height:2px;inset-inline-start:0;position:absolute;width:16px}
.feuille-lines::before{inset-block-start:-5px}
.feuille-lines::after{inset-block-start:5px}
.feuille-word{white-space:nowrap}
.feuille-map{display:block;flex:0 0 auto;order:2}
.feuille-series{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--s-step-2);list-style:none;margin:0;padding:0}
.feuille-item{align-items:center;display:flex;flex-shrink:0}
.feuille-item[hidden]{display:none}
.feuille-item + .feuille-item::before{color:var(--edge-hard);content:'/';margin-inline-end:var(--s-step-2)}
.feuille-href{
    border-radius:var(--r-step-1);
    color:var(--reading);
    display:inline-flex;
    align-items:center;
    font-size:15px;
    font-weight:600;
    letter-spacing:var(--even);
    min-height:44px;
    padding-inline:var(--s-step-1);
    text-decoration:none;
    white-space:nowrap;
}
.feuille-href:hover{background:var(--raised);color:var(--reading)}
.feuille-href[aria-current='page']{background:var(--canvas);color:var(--main)}
.feuille-item--more{position:relative}
.feuille-more-opener{align-items:center;background:var(--canvas);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-1);color:var(--reading);cursor:pointer;display:inline-flex;justify-content:center;min-height:44px;padding-inline:var(--s-step-2)}
.feuille-dots{background:currentColor;border-radius:var(--round-full);display:inline-block;height:3px;position:relative;width:3px}
.feuille-dots::before,.feuille-dots::after{background:currentColor;border-radius:var(--round-full);content:'';height:3px;position:absolute;inset-block-start:0;width:3px}
.feuille-dots::before{inset-inline-start:-6px}
.feuille-dots::after{inset-inline-start:6px}
.feuille-more-pane{background:var(--raised);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-2);display:none;inset-block-start:calc(100% + 6px);inset-inline-end:0;list-style:none;margin:0;max-height:70vh;min-width:220px;overflow-y:auto;padding:var(--s-step-2);position:absolute;z-index:70}
.feuille-more-pane.is-open{display:block}
.feuille-more-item{display:block}
.feuille-more-item a{border-radius:var(--r-step-1);color:var(--reading);display:block;font-size:15px;font-weight:600;padding:var(--s-step-1) var(--s-step-2);text-decoration:none;white-space:nowrap}
.feuille-more-item a:hover{background:var(--canvas);color:var(--main)}
.feuille-buttons{align-items:center;display:flex;flex-shrink:0;gap:var(--s-step-2);margin-inline-start:auto;order:4}
.feuille-btn{
    align-items:center;
    border-radius:0;
    display:inline-flex;
    font-family:var(--banner);
    font-size:var(--sm);
    font-weight:var(--black);
    justify-content:center;
    letter-spacing:var(--open);
    min-height:44px;
    padding-inline:var(--s-step-4);
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
}
.feuille-btn--quiet{background:var(--canvas);border:var(--light) solid var(--edge-hard);color:var(--reading)}
.feuille-btn--quiet:hover{background:var(--raised);color:var(--reading)}
.feuille-btn--lead{background:var(--main);color:var(--ink-deep)}
.feuille-dock{background:var(--canvas);border-block-start:var(--light) solid var(--rule);box-shadow:var(--d-step-4);display:none;inset-block-start:100%;inset-inline:0;max-height:72vh;overflow-y:auto;padding:var(--s-step-3) var(--pad-md);position:absolute;z-index:65}
.feuille-dock.is-open{display:block;}
.feuille-dock-map{display:block}
.feuille-dock-series{list-style:none;margin:0;padding:0}
.feuille-dock-item{display:block}
.feuille-dock-href{border-block-end:var(--light) solid var(--rule);color:var(--reading);display:flex;align-items:center;font-size:var(--sm-2);font-weight:600;min-height:48px;text-decoration:none}
.feuille-dock-href:hover{background:var(--raised);color:var(--main)}
.feuille-dock-href[aria-current='page']{background:var(--canvas);color:var(--main)}

/* == fresque (author-byline BYLINE-03) ===================================== */
.fresque{border-block-end:var(--light) solid var(--rule);padding-block:var(--s-step-2)}
.fresque-guts{align-items:center;display:flex;gap:var(--s-step-2)}
.fresque-headshot{border-radius:var(--round-full);flex-shrink:0;height:34px;object-fit:cover;width:34px}
.fresque-tag{color:var(--quiet);font-size:var(--sm);line-height:var(--normal)}
.fresque-handle{background:var(--canvas);color:var(--main);text-decoration:none}
.fresque-handle:hover{background:var(--ink-deep);color:var(--main)}
.fresque-job{color:var(--quiet)}

/* == nef (reviews REV-03) ================================================== */
.nef-head{margin-block-end:var(--s-step-4)}
.nef-rail{display:flex;gap:var(--s-step-3);overflow-x:auto;padding-block-end:var(--s-step-2);scroll-snap-type:x mandatory}
.nef-box{background:var(--raised);border:var(--light) solid var(--rule);border-radius:var(--r-step-3);display:flex;flex:0 0 360px;flex-direction:column;gap:var(--s-step-2);min-height:240px;padding:var(--s-step-4);scroll-snap-align:start;width:360px}
.nef-crest{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--s-step-1);justify-content:space-between}
.nef-handle{color:var(--reading);font-family:var(--banner);font-size:var(--sm-2);font-weight:var(--black)}
.nef-score{color:var(--main);font-size:var(--sm);white-space:nowrap}
.nef-gauge{background:var(--edge-hard);border-radius:var(--lozenge);display:block;height:4px;overflow:hidden;width:60%}
.nef-gauge-fill{background:var(--main);display:block;height:4px}
.nef-words{color:var(--quiet);font-size:var(--sm);line-height:var(--loose);margin:0}
.nef-pips{display:flex;flex-wrap:wrap;gap:var(--s-step-1);margin-block-start:var(--s-step-3)}
.nef-pips .nef-pip{background:var(--edge-hard);border:0;border-radius:var(--round-full);cursor:pointer;height:10px;padding:0;width:10px}
.nef-pips .nef-pip.is-on{background:var(--main)}

/* == panneau (error-block ERR-04) ========================================== */
.panneau{align-items:center;background:var(--canvas);background-image:linear-gradient(180deg,rgba(38,41,41,0.35),rgba(20,22,23,0.92)),url('/source-smart/picture.webp');background-position:center;background-size:cover;display:flex;flex:1 0 auto;min-height:calc(100vh - 220px);padding-block:var(--sec-y)}
.panneau-guts{text-align:center}
.panneau-eye{color:var(--main);font-family:var(--banner);font-size:var(--display-1);font-weight:var(--black);letter-spacing:var(--open);margin:0}
.panneau-head{margin-inline:auto;max-width:var(--slim)}
.panneau-words{color:var(--quiet);margin:var(--s-step-3) auto 0;max-width:var(--slim)}
.panneau-return{background:var(--main);border-radius:var(--r-step-2);color:var(--ink-deep);display:inline-flex;align-items:center;font-family:var(--banner);font-weight:var(--black);letter-spacing:var(--open);margin-block-start:var(--s-step-4);min-height:48px;padding-inline:var(--s-step-5);text-decoration:none;text-transform:uppercase}
.panneau-return:hover{background:var(--main);color:var(--ink-deep);transform:translateY(-6px)}

/* == retable (hero HERO-02) ================================================ */
.retable{padding-block:var(--sec-y)}
.retable-guts{align-items:center;display:grid;gap:var(--s-step-6);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
.retable-words{animation:rise-in var(--long) var(--exit) both;display:block}
.retable-eye{color:var(--main);display:block;font-size:var(--sm);font-weight:var(--semi);letter-spacing:var(--open);margin-block-end:var(--s-step-2);text-transform:uppercase}
.retable-head{color:var(--reading)}
.retable-second{color:var(--quiet);font-size:var(--sm-2);line-height:var(--normal);margin-block-start:var(--s-step-3);max-width:var(--slim)}
.retable-buttons{display:flex;flex-wrap:wrap;gap:var(--s-step-3);margin-block-start:var(--s-step-4)}
.retable-push{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}
.retable-side{align-items:center;background:var(--canvas);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-2);color:var(--reading);display:inline-flex;font-family:var(--banner);font-weight:var(--black);justify-content:center;letter-spacing:var(--open);min-height:48px;padding-inline:var(--s-step-4);text-decoration:none;text-transform:uppercase}
.retable-side:hover{background:var(--raised);color:var(--reading)}
.retable-fine{color:var(--quiet);display:block;font-size:var(--sm);margin-block-start:var(--s-step-2);max-width:var(--slim)}
.retable-shot{margin:0;overflow:hidden;border-radius:var(--r-step-4);box-shadow:var(--d-step-4)}
.retable-shot img{aspect-ratio:4/5;display:block;height:auto;max-height:62vh;object-fit:cover;transition:transform var(--long) var(--exit);width:100%}
.retable-shot:hover img{transform:scale(1.04)}

/* == vestiaire (cookie-banner COOK-03) ===================================== */
.vestiaire{background:var(--raised);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-4);box-shadow:var(--d-step-4);inset-block-end:var(--s-step-3);inset-inline-end:var(--s-step-3);max-width:360px;padding:var(--s-step-4);position:fixed;width:360px;z-index:90}
.vestiaire[hidden]{display:none}
.vestiaire.is-gone{opacity:0;pointer-events:none;transform:translateY(140%);visibility:hidden}
.vestiaire-guts{display:flex;flex-direction:column;gap:var(--s-step-2);margin-inline:0;max-width:none;padding-inline:0}
.vestiaire-top{color:var(--main);font-family:var(--banner);font-size:var(--sm-2);font-weight:var(--black);letter-spacing:var(--open);margin:0;text-transform:uppercase}
.vestiaire-blurb{color:var(--quiet);font-size:var(--sm);line-height:var(--normal);margin:0}
.vestiaire-buttons{display:flex;gap:var(--s-step-2)}
.vestiaire-agree,.vestiaire-refuse{align-items:center;border-radius:var(--r-step-2);cursor:pointer;display:inline-flex;flex:1 1 50%;font-family:var(--copy);font-size:var(--sm);font-weight:var(--black);justify-content:center;min-height:44px;padding:var(--s-step-1) var(--s-step-2)}
.vestiaire-agree{background:var(--main);border:0;color:var(--ink-deep)}
.vestiaire-refuse{background:var(--canvas);border:var(--light) solid var(--edge-hard);color:var(--reading)}
.vestiaire-agree:hover{background:var(--main);color:var(--ink-deep)}
.vestiaire-refuse:hover{background:var(--raised);color:var(--reading)}

/* == volume (footer FOOT-09 + rg-banner RG-07) ============================= */
.volume{background:var(--main);color:var(--ink-deep);padding-block:var(--s-step-3)}
.volume-caution{border-block-end:var(--light) solid rgba(20,22,23,0.28);color:var(--ink-deep);font-size:var(--sm);font-weight:var(--semi);line-height:var(--normal);margin:0;padding-block-end:var(--s-step-2);text-align:center}
.volume-mark{background:var(--age-band);border-radius:var(--r-step-1);color:#ffffff;display:inline-block;font-weight:var(--black);margin-inline-end:var(--s-step-1);padding:2px var(--s-step-1)}
.volume-help{background:var(--main);color:var(--ink-deep);font-weight:var(--black)}
.volume-help:hover{background:var(--reading);color:var(--ink-deep)}
.volume-rank{align-items:center;display:flex;flex-wrap:wrap;gap:var(--s-step-3);justify-content:space-between;padding-block-start:var(--s-step-3)}
.volume-sign{align-items:center;background:var(--ink-deep);border-radius:var(--r-step-2);color:var(--reading);display:inline-flex;flex-shrink:0;padding:var(--s-step-1) var(--s-step-3)}
.volume-sign img{display:block;height:36px;width:auto}
.volume-map{display:block}
.volume-map--fine{display:block}
.volume-series{display:flex;flex-wrap:wrap;gap:var(--s-step-3);list-style:none;margin:0;padding:0}
.volume-series--fine{gap:var(--s-step-2)}
.volume-item{display:inline-flex}
.volume-href{background:var(--main);color:var(--ink-deep);font-size:var(--sm);letter-spacing:var(--open);text-decoration:none}
.volume-href:hover{background:var(--reading);color:var(--ink-deep)}
.volume-href--fine{font-size:var(--tiny)}
.volume-stamp{color:var(--ink-deep);font-size:var(--tiny)}

/* == voute (page-header PHEAD-05) ========================================== */
.voute-crumbs{color:var(--quiet);font-size:var(--tiny);letter-spacing:var(--open);text-transform:uppercase}
.voute-href{background:var(--canvas);color:var(--quiet);text-decoration:none}
.voute-href:hover{background:var(--ink-deep);color:var(--main)}
.voute-head{margin-block-start:var(--s-step-3)}

/* == zone (prose PROSE-26 — dashed line along the whole section) =========== */
.zone-guts{border-inline-start:var(--regular) dashed var(--main);padding-inline-start:var(--s-step-6)}
.zone-top{font-family:var(--banner);font-size:var(--xl-2);font-weight:600;letter-spacing:var(--snug);line-height:var(--close);margin-block:0 var(--s-step-4)}
.zone-words{color:var(--quiet);line-height:var(--loose);margin-block-end:var(--s-step-4)}
.zone-words a{color:var(--main)}
.zone-words a:hover{background:var(--main);color:var(--ink-deep)}
.zone-series{color:var(--quiet);line-height:var(--loose);margin-block:0 var(--s-step-4);padding-inline-start:var(--s-step-4)}
.zone-series .zone-item{margin-block-end:var(--s-step-1)}
.zone-frame{display:block;margin:0 0 var(--s-step-4);overflow:hidden;border-radius:var(--r-step-3)}
.zone-frame img{display:block;height:clamp(220px,38vh,420px);object-fit:cover;width:100%}
.zone-frame--side{float:none}
.zone-pair{display:grid;gap:var(--s-step-3);grid-template-columns:repeat(2,minmax(0,1fr))}
.zone-frame--pair{margin-block-end:0}
.zone-plate{align-items:center;background:var(--raised);border:var(--light) solid var(--edge-hard);border-radius:var(--r-step-3);display:flex;flex-wrap:wrap;gap:var(--s-step-3);margin-block-start:var(--s-step-4);padding:var(--s-step-4)}
.zone-push{align-items:center;display:inline-flex;flex-shrink:0;justify-content:center;text-decoration:none}
.zone-fine{color:var(--quiet);flex:1 1 260px;font-size:var(--sm);line-height:var(--normal)}

/* == breakpoints (desktop-first) =========================================== */
@media (max-width:1240px){
    .feuille-bar{padding-inline:var(--pad-md)}
    .feuille-btn--quiet{display:none}
}
@media (max-width:1080px){
    :root{--display-1:44px;--xl-2:32px;--h3:24px;--pad-lg:32px;--sec-y:40px}
    .atrium-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
    .atrium-item--big{grid-column:span 2;grid-row:auto}
    .atrium-item--wide{grid-column:span 2}
    .chevet-guts{gap:var(--s-step-5);grid-template-columns:1fr}
    .chevet-toc{position:static}
    .retable-guts{gap:var(--s-step-5)}
}
@media (max-width:900px){
    .retable-guts{grid-template-columns:minmax(0,1fr);gap:var(--s-step-4)}
    .retable-shot img{aspect-ratio:16/9;max-height:320px}
    .retable-second,.retable-fine{max-width:none}
}
@media (max-width:1023px){
    .feuille-map{display:none}
    .feuille-trigger{display:inline-flex}
    .feuille-buttons{margin-inline-start:0}
}
@media (max-width:760px){
    :root{
        --display-1:34px;
        --xl-2:26px;
        --h3:21px;
        --sub-2:18px;
        --sm-2:16px;
        --h6:14px;
        --base:16px;
        --sm:13px;
        --tiny:11px;
        --pad-lg:16px;
        --pad-md:16px;
        --sec-y:34px;
    }
    .atrium-stack{grid-template-columns:minmax(0,1fr)}
    .atrium-item--big,.atrium-item--wide{grid-column:span 1}
    .atrium-item{padding:var(--s-step-3)}
    .balise-cell{flex:0 0 auto;width:100%}
    .balise-send{width:100%}
    .bandeau-guts{flex-direction:column;align-items:flex-start;gap:var(--s-step-3)}
    .bandeau-push{width:100%}
    .cartouche-grid,.cartouche-grid thead,.cartouche-grid tbody,.cartouche-grid tr,.cartouche-grid td{display:block}
    .cartouche-grid thead{display:none}
    .cartouche-grid tr{background:var(--raised);border:var(--light) solid var(--rule);border-radius:var(--r-step-3);margin-block-end:var(--s-step-3);padding:var(--s-step-3)}
    .cartouche-grid td{background:var(--raised);border:0;padding:var(--s-step-1) 0}
    .cartouche-grid td::before{color:var(--quiet);content:attr(data-note);display:block;font-size:var(--tiny);letter-spacing:var(--open);text-transform:uppercase}
    .console-headshot{height:112px;width:112px}
    .feuille-bar{gap:var(--s-step-2);height:52px;padding-inline:var(--padding-mobile)}
    .feuille.is-shrunk .feuille-bar{height:52px}
    .feuille-sign img{height:32px}
    .feuille.is-shrunk .feuille-sign img{height:32px}
    .feuille-btn{font-size:var(--tiny);padding-inline:var(--s-step-2)}
    .feuille-word{display:none}
    .feuille-dock{padding-inline:var(--padding-mobile)}
    .nef-box{flex:0 0 82vw;min-height:auto;padding:var(--s-step-3);width:82vw}
    .panneau{min-height:auto}
    .retable-guts{grid-template-columns:minmax(0,1fr);gap:var(--s-step-4)}
    .retable-shot img{aspect-ratio:16/9;max-height:280px}
    .retable-buttons .retable-push,.retable-side{width:100%}
    .vestiaire{inset-inline:var(--s-step-2);max-width:none;padding:12px 14px;width:auto}
    .vestiaire-top{display:none}
    .vestiaire-blurb{font-size:13px;line-height:1.35}
    .vestiaire-agree,.vestiaire-refuse{font-size:12px;min-height:44px;padding:8px 14px}
    .volume-rank{gap:var(--s-step-2);justify-content:flex-start}
    .zone-guts{padding-inline-start:var(--s-step-3)}
    .zone-pair{grid-template-columns:minmax(0,1fr)}
    .zone-plate{padding:var(--s-step-3)}
    .zone-push{width:100%}
}
@media (max-width:560px){
    .feuille-bar{gap:var(--s-step-1);padding-inline:var(--s-step-2)}
    .feuille-sign img{height:26px}
    .feuille.is-shrunk .feuille-sign img{height:26px}
    .feuille-trigger{padding:var(--s-step-1)}
    .feuille-btn{font-size:11px;letter-spacing:var(--even);padding-inline:var(--s-step-1)}
}
@media (min-width:1024px){
    .feuille-trigger{display:none}
}
@media (max-width:430px){
    .vestiaire-buttons{flex-direction:column}
    .vestiaire-agree,.vestiaire-refuse{flex:0 0 auto;white-space:normal;width:100%}
}

@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
    [data-motion]{opacity:1 !important;transform:none !important}
}

/* == offer button (scripts/cta-style.mjs) ================================= */
.dossier-pick{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--s-step-4);min-height:48px;border-radius:var(--r-step-2);border:var(--light) solid var(--edge-hard);font-weight:var(--black);letter-spacing:var(--open)}
.dossier-pick{position:relative;
  background:#65A30D;color:#141617;text-decoration:none;text-transform:uppercase;
  transition:background 0.1s linear;}
.dossier-pick.dossier-pick{color:#141617;text-decoration:none;}
.dossier-pick:hover{background:#4D7C0F;color:#FFFFFF;animation:none}
.dossier-pick.dossier-pick:hover{color:#FFFFFF;text-decoration:none}
.dossier-pick:hover::after{animation:none}
.dossier-pick:active{background:#3F6212;color:#FFFFFF}
.dossier-pick:focus-visible{outline:3px solid #141617;outline-offset:3px}
@keyframes dossier-drift{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.dossier-pick::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:2px;background:currentColor;opacity:.5;transform-origin:left;animation:dossier-drift 1.7s linear infinite}
@media (prefers-reduced-motion:reduce){.dossier-pick,.dossier-pick::after{animation:none!important;transition:none!important}}

@media (max-width: 1043px) {
  .feuille-map,
  .feuille-series,
  .feuille-href { display: none !important; }
  .feuille-trigger { display: flex !important; }
}
