@font-face{font-family:"Roboto";font-style:normal;font-weight:600 700;font-display:swap;src:url("/vault/roboto-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Roboto";font-style:normal;font-weight:800 900;font-display:swap;src:url("/vault/roboto-latin-900-normal.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:400;font-display:swap;src:url("/vault/montserrat-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:italic;font-weight:400;font-display:swap;src:url("/vault/montserrat-latin-400-italic.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url("/vault/montserrat-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600 700;font-display:swap;src:url("/vault/montserrat-latin-600-normal.woff2") format("woff2");}

:root {
    --jw-house: #3d266d;
    --jw-focus: #f1ce6b;
    --jw-accent-pressed: #edc846;
    --jw-back: #3b303b;
    --jw-panel: #463a47;
    --jw-deep: #2b232c;
    --jw-front: #FFFFFF;
    --jw-text-muted: #bebbbb;
    --jw-rule: #574a58;
    --jw-stroke-heavy: #7a6b7b;
    --jw-gradient-light: #fcf7df;
    --jw-blend-b: #f3d990;
    --jw-age-band: #d00000;
    --jw-on-gold: #2a1d33;
    --jw-slash: #a597a6;

    --jw-1: 4px;
    --jw-2: 8px;
    --jw-3: 12px;
    --jw-4: 16px;
    --jw-5: 24px;
    --jw-6: 32px;
    --jw-7: 48px;
    --jw-8: 64px;
    --jw-sec: 44px;

    --jw-capsule: 999px;
    --jw-circle: 50%;
    --r-1: 2px;
    --r-2: 3px;
    --r-3: 5px;
    --r-4: 8px;
    --r-5: 12px;
    --r-6: 16px;
    --r-7: 22px;
    --r-8: 30px;

    --jw-head: "Roboto", "Helvetica Neue", Arial, sans-serif;
    --jw-prose: "Montserrat", "Segoe UI", Arial, sans-serif;
    --jw-title: clamp(30px, 5.2vw, 62px);
    --jw-xl-2: clamp(24px, 3vw, 36px);
    --jw-h3: 22px;
    --jw-md-2: 19px;
    --jw-sm-2: 17px;
    --jw-xs-2: 14px;
    --jw-reading: 17px;
    --jw-petite: 14px;
    --jw-tiny: 12px;
    --jw-compact: 1.15;
    --jw-regular: 1.62;
    --jw-roomy: 1.8;
    --jw-book: 400;
    --jw-medium: 500;
    --jw-black: 700;
    --jw-snug: -0.01em;
    --jw-even: 0;
    --jw-airy: 0.12em;

    --d-1: 0 1px 2px rgba(0, 0, 0, 0.25);
    --d-3: 0 4px 12px rgba(0, 0, 0, 0.28);
    --d-4: 0 10px 26px rgba(0, 0, 0, 0.34);
    --d-5: 0 18px 40px rgba(0, 0, 0, 0.4);

    --jw-fast: 177ms;
    --jw-mid: 370ms;
    --jw-calm: 765ms;
    --jw-release: cubic-bezier(0.32, 0.56, 0.55, 0.99);
    --jw-smooth: cubic-bezier(0.54, 0.11, 0.48, 0.88);
    --jw-bounce: cubic-bezier(0.4, 1.8, 0.63, 1.15);
    --jw-lift: 3px;
    --jw-grow: 1.025;

    --jw-outer: 1020px;
    --jw-narrow: 620px;
    --jw-padding-desktop: 32px;
    --jw-inset-tablet: 24px;
    --jw-pad-sm: 16px;
    --jw-side: var(--jw-padding-desktop);
    --jw-thin: 1px;
    --b-regular: 2px;
    --jw-thick: 4px;
    --jw-height-desktop: 62px;
    --jw-size-mobile: 56px;
    --jw-bar: var(--jw-height-desktop);
    --jw-ck: 0px;
}

@media (max-width: 1024px) {
    :root { --jw-side: var(--jw-inset-tablet); }
}
@media (max-width: 640px) {
    :root {
        --jw-side: var(--jw-pad-sm);
        --jw-bar: var(--jw-size-mobile);
        --jw-reading: 16px;
        --jw-h3: 19px;
        --jw-md-2: 17px;
        --jw-sec: 36px;
    }
}

*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { scroll-padding-top: calc(var(--jw-bar) + var(--jw-ck) + var(--jw-4)); -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    margin-block-start: var(--jw-ck);
    background-color: var(--jw-back);
    color: var(--jw-front);
    font-family: var(--jw-prose);
    font-size: var(--jw-reading);
    line-height: var(--jw-regular);
    font-weight: var(--jw-book);
}
img { max-width: 100%; display: block; }
h1, h2, h3, h4, h5, h6 { font-family: var(--jw-head); line-height: var(--jw-compact); overflow-wrap: anywhere; margin: 0; }
p { margin: 0 0 var(--jw-4); }
a { color: var(--jw-focus); text-underline-offset: 3px; }
a:hover { color: var(--jw-accent-pressed); background-color: var(--jw-house); }
main { display: flow-root; }
[id] { scroll-margin-block-start: calc(var(--jw-bar) + var(--jw-ck) + var(--jw-4)); }

.skip-anchor { position: absolute; left: var(--jw-4); top: -200px; z-index: 200; padding: var(--jw-2) var(--jw-4); background-color: var(--jw-focus); color: var(--jw-on-gold); }
.skip-anchor:focus { top: var(--jw-2); }
.skip-anchor:not(:focus) { top: -200px !important; }
:focus-visible { outline: 2px solid var(--jw-focus); outline-offset: 2px; }

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

.rg-banner { background-color: var(--jw-deep); color: var(--jw-front); border-bottom: 3px solid var(--jw-age-band); padding: 6px var(--jw-side); text-align: center; font-size: var(--jw-tiny); line-height: 1.4; }
.rg-banner-copy { margin: 0; }
.rg-banner-copy strong { display: inline-block; margin-right: var(--jw-2); padding: 0 6px; border: 1px solid var(--jw-age-band); border-radius: var(--r-2); font-family: var(--jw-head); }
.rg-banner-copy a { color: var(--jw-front); text-decoration-color: var(--jw-age-band); text-decoration-thickness: 2px; }

.chapitre { position: sticky; top: var(--jw-ck); z-index: 90; background-color: var(--jw-deep); color: var(--jw-front); transition: box-shadow var(--jw-mid) var(--jw-release), background-color var(--jw-mid) var(--jw-release); }
body[data-shell='over'] .chapitre { margin-block-end: calc(var(--jw-bar) * -1); }
body[data-shell='over'] .chapitre:not(.is-stuck) { background-color: transparent; }
body[data-shell='over'] .chapitre.is-menu { background-color: var(--jw-deep); }
.chapitre.is-stuck { box-shadow: var(--d-4); }
.chapitre-bar { height: 62px; max-width: 1440px; margin-inline: auto; padding-inline: var(--jw-6); display: flex; align-items: center; gap: var(--jw-5); }
.chapitre-brand { display: flex; align-items: center; flex-shrink: 0; }
.chapitre-brand:hover { background-color: transparent; }
.chapitre-brand img { height: 46px; width: auto; flex-shrink: 0; }
.chapitre-menu { display: none; flex: 1 1 0; min-width: 0; align-items: center; justify-content: flex-end; gap: var(--jw-2); }
.chapitre-run { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--jw-2); list-style: none; margin: 0; padding: 0; }
.chapitre-slot { display: flex; align-items: center; gap: var(--jw-2); flex-shrink: 0; }
.chapitre-run .chapitre-slot + .chapitre-slot::before { content: "/"; color: var(--jw-slash, #a597a6); font-size: var(--jw-petite); }
.chapitre-anchor { display: inline-block; padding: 5px 12px; border-radius: var(--jw-capsule); color: var(--jw-front); font-size: 16px; font-weight: 500; font-variant: small-caps; letter-spacing: 0.02em; white-space: nowrap; text-decoration: none; transition: transform var(--jw-fast) var(--jw-release), color var(--jw-fast) var(--jw-release); }
.chapitre-anchor:hover { color: var(--jw-focus); background-color: var(--jw-deep); transform: translateY(-2px); }
.chapitre-anchor[aria-current='page'] { background-color: var(--jw-house); color: var(--jw-front); }
.chapitre-more { display: none; position: relative; flex-shrink: 0; }
.chapitre-more.is-needed { display: block; }
.chapitre-more-switch { background: none; border: 0; color: var(--jw-front); font: inherit; font-size: 16px; font-weight: 500; font-variant: small-caps; padding: 5px 12px; cursor: pointer; white-space: nowrap; }
.chapitre-more-switch::after { content: " +"; color: var(--jw-focus); }
.chapitre-more-switch[aria-expanded='true']::after { content: " −"; }
.chapitre-more-menu { display: none; position: absolute; right: 0; top: calc(100% + 12px); min-width: 230px; list-style: none; margin: 0; padding: var(--jw-2); background-color: var(--jw-deep); border: 1px solid var(--jw-rule); border-radius: var(--r-4); box-shadow: var(--d-4); z-index: 5; }
.chapitre-more-menu.is-open { display: block; }
.chapitre-more-menu .chapitre-anchor { display: block; padding: 8px 12px; }
.chapitre-press { order: 2; margin-left: auto; flex-shrink: 0; white-space: nowrap; display: inline-flex; align-items: center; min-height: 44px; padding-inline: var(--jw-5); border: 2px solid var(--jw-focus); border-radius: var(--r-1); background-color: var(--jw-deep); color: var(--jw-focus); font-weight: 600; font-size: 15px; text-decoration: none; }
.chapitre-switch { order: 3; display: grid; grid-template-columns: repeat(2, 6px); gap: 4px; place-content: center; width: 44px; height: 44px; margin-left: 0; padding: 0; border: 0; border-radius: var(--r-3); background-color: var(--jw-house); cursor: pointer; flex-shrink: 0; }
.chapitre-switch i { display: block; width: 6px; height: 6px; border-radius: 1px; background-color: var(--jw-focus); transition: transform var(--jw-fast) var(--jw-release); }
.chapitre-switch[aria-expanded='true'] i:nth-child(1), .chapitre-switch[aria-expanded='true'] i:nth-child(4) { transform: scale(1.35); }
.chapitre-drawer { display: none; position: absolute; left: 0; right: 0; top: 100%; max-height: calc(100vh - var(--jw-bar) - var(--jw-ck)); overflow-y: auto; padding: var(--jw-3) var(--jw-side) var(--jw-5); background-color: var(--jw-deep); border-top: 1px solid var(--jw-rule); box-shadow: var(--d-5); }
.chapitre-drawer.is-open { display: block; }
.chapitre-drawer-run { list-style: none; margin: 0; padding: 0; }
.chapitre-drawer-anchor { display: block; padding: 12px 4px; border-bottom: 1px solid var(--jw-rule); color: var(--jw-front); text-decoration: none; font-variant: small-caps; font-weight: 500; }
.chapitre-drawer-anchor[aria-current='page'] { color: var(--jw-focus); background-color: var(--jw-deep); }
.chapitre-drawer-press { display: flex; justify-content: center; align-items: center; margin-top: var(--jw-4); min-height: 48px; padding-inline: var(--jw-5); font-weight: 600; text-decoration: none; }
@media (min-width: 1025px) {
    .chapitre-menu { display: flex; }
    .chapitre-switch { display: none; }
    .chapitre-drawer { display: none !important; }
    .chapitre-menu + .chapitre-press { margin-left: 0; }
}
@media (max-width: 1024px) {
    .chapitre-bar { padding-inline: var(--jw-side); gap: var(--jw-3); }
}
@media (max-width: 640px) {
    .chapitre-bar { height: var(--jw-bar); }
    .chapitre-brand img { height: 38px; }
}
@media (max-width: 560px) {
    .chapitre-bar .chapitre-press { min-height: 40px; padding-inline: var(--jw-3); font-size: 14px; }
}
@media (max-width: 379px) {
    .chapitre-bar .chapitre-press { display: none; }
    .chapitre-switch { margin-left: auto; }
}

.fenetre { background-color: var(--jw-back); border-top: 1px solid rgba(255, 255, 255, 0.1); padding-block: var(--jw-6); color: var(--jw-text-muted); }
.fenetre-guts { max-width: calc(var(--jw-outer) + 2 * var(--jw-padding-desktop)); margin-inline: auto; padding-inline: var(--jw-side); }
.fenetre-strip { display: flex; justify-content: space-between; gap: var(--jw-6); }
.fenetre-top { align-items: center; padding-bottom: var(--jw-5); }
.fenetre-brand { flex-shrink: 0; }
.fenetre-brand:hover { background-color: transparent; }
.fenetre-brand img { height: 64px; width: auto; }
.fenetre-run { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--jw-2) var(--jw-5); list-style: none; margin: 0; padding: 0; }
.fenetre-anchor { color: var(--jw-text-muted); font-size: var(--jw-petite); text-decoration: none; }
.fenetre-anchor:hover { color: var(--jw-front); background-color: var(--jw-house); }
.fenetre-base { align-items: flex-start; padding-top: var(--jw-4); border-top: 1px solid rgba(255, 255, 255, 0.08); }
.fenetre-copy { display: block; max-width: var(--jw-narrow); font-size: var(--jw-tiny); line-height: 1.5; color: var(--jw-text-muted); }
.fenetre-legal .fenetre-run { gap: var(--jw-2); flex-shrink: 0; }
.fenetre-legal li + li::before { content: "·"; margin-right: var(--jw-2); color: var(--jw-text-muted); }
.fenetre-legal .fenetre-anchor { font-size: var(--jw-tiny); }
@media (max-width: 768px) {
    .fenetre-strip { flex-direction: column; align-items: center; text-align: center; gap: var(--jw-4); }
    .fenetre-menu .fenetre-run { flex-direction: column; align-items: center; gap: var(--jw-2); }
    .fenetre-legal .fenetre-run { justify-content: center; }
    .fenetre-brand img { height: 52px; }
}

.ardoise { position: fixed; inset-block-start: 0; inset-inline: 0; z-index: 95; background-color: var(--jw-panel); color: var(--jw-front); border-bottom: 1px solid rgba(255, 255, 255, 0.12); padding-block: var(--jw-4); box-shadow: var(--d-3); }
.ardoise[hidden] { display: none; }
.ardoise-guts { max-width: var(--jw-outer); margin-inline: auto; padding-inline: var(--jw-side); display: flex; align-items: center; justify-content: space-between; gap: var(--jw-4); }
.ardoise-copy { margin: 0; font-size: var(--jw-petite); color: var(--jw-front); }
.ardoise-copy a { color: var(--jw-focus); }
.ardoise-keys { display: flex; gap: var(--jw-3); flex-shrink: 0; }
.ardoise-ok, .ardoise-no { min-height: 40px; padding: 8px 18px; border-radius: var(--r-2); font: inherit; font-size: var(--jw-petite); font-weight: 600; cursor: pointer; }
.ardoise-ok { background-color: var(--jw-focus); color: var(--jw-on-gold); border: 0; }
.ardoise-no { background-color: var(--jw-panel); color: var(--jw-front); border: 1px solid var(--jw-stroke-heavy); }
@media (max-width: 700px) {
    .ardoise-guts { flex-direction: column; align-items: stretch; }
    .ardoise-keys { justify-content: flex-end; }
}
@media (max-width: 720px) {
    .ardoise, .ardoise-guts { padding: 12px 14px !important; gap: 8px !important; font-size: 13px !important; line-height: 1.35 !important; }
    .ardoise button { padding: 8px 14px !important; font-size: 12px !important; min-height: 36px !important; }
}

.panneau, .relief, .vitrail, .volume, .cour, .affiche, .dossier, .arcade { padding-block: var(--jw-sec); }
.panneau-guts, .relief-guts, .vitrail-guts, .volume-guts, .cour-guts, .affiche-guts, .dossier-guts, .arcade-guts, .placard-guts, .cartouche-guts, .chambre-guts {
    max-width: calc(var(--jw-outer) + 2 * var(--jw-padding-desktop));
    margin-inline: auto;
    padding-inline: var(--jw-side);
}
.relief-caption, .vitrail-caption, .volume-caption, .cour-caption, .dossier-caption, .cartouche-caption { font-size: var(--jw-xl-2); font-weight: var(--jw-black); letter-spacing: var(--jw-snug); margin-bottom: var(--jw-5); }

.crypte { position: relative; isolation: isolate; min-height: max(600px, 100vh); display: flex; flex-direction: column; align-items: center; justify-content: space-between; overflow: hidden; background-color: var(--jw-deep); color: var(--jw-front); }
.crypte-shot { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; z-index: -2; pointer-events: none; }
.crypte-veil { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), rgba(0, 0, 0, 0.4)); pointer-events: none; }
.crypte-cover { flex: 1; width: 100%; max-width: calc(var(--jw-outer) + 2 * var(--jw-padding-desktop)); padding: calc(var(--jw-bar) + var(--jw-6)) var(--jw-side) var(--jw-6); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--jw-4); text-align: center; }
.crypte-issue { font-size: var(--jw-tiny); text-transform: uppercase; letter-spacing: var(--jw-airy); color: #dcd6dc; }
.crypte-banner { font-size: var(--jw-title); font-weight: 900; letter-spacing: var(--jw-snug); color: #ffffff; text-wrap: balance; }
.crypte-deck { margin: 0; max-width: var(--jw-narrow); font-size: var(--jw-md-2); line-height: 1.55; color: #ebe6eb; }
.crypte-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--jw-3); font-size: var(--jw-petite); color: #dcd6dc; }
.crypte-facts span + span { border-left: 1px solid rgba(255, 255, 255, 0.35); padding-left: var(--jw-3); }
.crypte-hint { display: flex; flex-direction: column; align-items: center; gap: var(--jw-1); padding-bottom: var(--jw-5); font-size: var(--jw-tiny); text-transform: uppercase; letter-spacing: var(--jw-airy); color: #dcd6dc; }
.crypte-hint span { font-size: var(--jw-md-2); color: var(--jw-focus); }

.panneau-part + .panneau-part { margin-top: var(--jw-6); }
.panneau-caption { position: relative; text-align: right; font-size: var(--jw-xl-2); font-weight: var(--jw-black); letter-spacing: var(--jw-snug); padding-bottom: var(--jw-3); margin-bottom: var(--jw-4); }
.panneau-caption::after { content: ""; position: absolute; right: 0; bottom: 0; width: 38%; height: 2px; background-color: var(--jw-focus); }
.panneau-sub { font-size: var(--jw-md-2); margin: var(--jw-4) 0 var(--jw-2); }
.panneau-guts p { margin-bottom: var(--jw-3); line-height: 1.58; }
.panneau-run { margin: 0 0 var(--jw-3); padding-left: 1.3em; line-height: 1.55; }
.panneau-run li { margin-bottom: var(--jw-2); }
.panneau-run li::marker { color: var(--jw-focus); }
.panneau-guts strong { color: var(--jw-gradient-light); font-weight: 600; }
.panneau-fig { margin: var(--jw-5) 0; }
.panneau-fig img { width: 100%; height: auto; margin-inline: auto; border-radius: var(--r-4); }
.panneau-wide img { max-width: 760px; }
.panneau-even img { max-width: 440px; }
.panneau-tall img { max-width: 360px; }
@media (max-width: 640px) {
    .panneau-caption { text-align: left; }
    .panneau-caption::after { right: auto; left: 0; width: 64px; }
}

.panneau-plug, .relief-plug, .vitrail-plug { display: flex; flex-wrap: wrap; align-items: center; gap: var(--jw-3) var(--jw-4); margin: var(--jw-5) 0; padding: var(--jw-4) var(--jw-5); background-color: var(--jw-panel); border-left: 3px solid var(--jw-focus); border-radius: var(--r-4); }
.panneau-fine, .relief-fine, .vitrail-fine, .cour-fine { font-size: var(--jw-tiny); color: var(--jw-text-muted); }
.panneau-press, .relief-press, .vitrail-press, .placard-press, .cour-press, .chapitre-drawer-press { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding-inline: var(--jw-5); border-radius: var(--r-2); font-weight: var(--jw-black); text-decoration: none; transition: transform var(--jw-fast) var(--jw-release); }
.panneau-press:hover, .relief-press:hover, .vitrail-press:hover, .placard-press:hover, .cour-press:hover { transform: scale(var(--jw-grow)); }

.relief-run { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--jw-5); list-style: none; margin: 0; padding: 0; }
.relief-plate { padding: var(--jw-5); background-color: var(--jw-panel); border: 1px solid rgba(190, 187, 187, 0.15); border-radius: var(--r-4); transition: border-color var(--jw-mid) var(--jw-release), box-shadow var(--jw-mid) var(--jw-release); }
.relief-plate:hover { border-color: var(--jw-focus); box-shadow: var(--d-4); }
.relief-shot { display: block; width: 32px; height: 32px; margin-bottom: var(--jw-3); fill: none; stroke: var(--jw-focus); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.relief-banner { font-size: var(--jw-md-2); font-weight: var(--jw-black); margin-bottom: var(--jw-3); color: var(--jw-front); }
.relief-prose { margin: 0; color: var(--jw-text-muted); line-height: var(--jw-regular); }
.relief-offer { display: flex; flex-direction: column; justify-content: center; gap: var(--jw-3); background-color: var(--jw-house); border-color: var(--jw-focus); }
.relief-lead { font-family: var(--jw-head); font-size: var(--jw-md-2); font-weight: var(--jw-black); color: var(--jw-front); }
.relief-offer .relief-plug { margin: 0; padding: 0; border-left: 0; background-color: var(--jw-house); }
.relief-offer .relief-fine { color: #d2cde0; }
@media (max-width: 1024px) { .relief-run { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .relief-run { grid-template-columns: 1fr; } }

.volume { background-color: var(--jw-deep); }
.volume-run { display: flex; gap: var(--jw-5); overflow-x: auto; scroll-snap-type: x mandatory; list-style: none; margin: 0; padding: 0 0 var(--jw-3); scrollbar-width: thin; scrollbar-color: var(--jw-stroke-heavy) transparent; }
.volume-plate { flex: 0 0 min(360px, 82vw); scroll-snap-align: start; min-height: 240px; display: flex; flex-direction: column; gap: var(--jw-2); padding: var(--jw-5); background-color: var(--jw-back); border: 1px solid var(--jw-rule); border-radius: var(--r-4); }
.volume-author { font-weight: 600; color: var(--jw-front); }
.volume-score { font-size: var(--jw-petite); font-weight: 600; color: var(--jw-focus); }
.volume-gauge { display: block; width: 60%; height: 4px; border-radius: 2px; background-color: #5f5360; overflow: hidden; }
.volume-fill { display: block; height: 100%; background-color: var(--jw-focus); }
.volume-prose { margin: var(--jw-2) 0 0; font-size: var(--jw-petite); line-height: 1.6; color: var(--jw-text-muted); }
.volume-dots { display: flex; justify-content: center; gap: var(--jw-1); margin-top: var(--jw-3); }
.volume-dot { width: 24px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.volume-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background-color: #75697a; transition: background-color var(--jw-fast) var(--jw-release); }
.volume-dot.is-on::before { background-color: var(--jw-focus); }

.vitrail-box { background-color: #3f3243; border: 1px solid rgba(190, 187, 187, 0.1); border-radius: var(--r-5); padding: var(--jw-7); }
.vitrail-slot { padding-left: calc(var(--jw-4) + 4px); box-shadow: inset 4px 0 0 var(--jw-focus); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.vitrail-slot:last-child { border-bottom: 0; }
.vitrail-ask { display: flex; justify-content: space-between; align-items: center; gap: var(--jw-4); padding: var(--jw-4) 0; cursor: pointer; list-style: none; }
.vitrail-ask::-webkit-details-marker { display: none; }
.vitrail-ask::after { content: "+"; flex-shrink: 0; font-size: var(--jw-md-2); font-weight: var(--jw-black); color: var(--jw-focus); }
.vitrail-slot[open] > .vitrail-ask::after { content: "\2212"; }
.vitrail-banner { font-size: var(--jw-sm-2); font-weight: var(--jw-black); line-height: 1.35; }
.vitrail-meat { padding-bottom: var(--jw-4); color: var(--jw-text-muted); overflow: hidden; }
.vitrail-meat p { margin: 0; }
.vitrail-slot[open] .vitrail-meat { animation: vitrail-open var(--jw-mid) var(--jw-release); }
@keyframes vitrail-open { from { opacity: 0; max-height: 0; } to { opacity: 1; max-height: 40em; } }
.vitrail-plug { margin: var(--jw-4) 0; background-color: var(--jw-panel); }
@media (max-width: 640px) { .vitrail-box { padding: var(--jw-2) var(--jw-4); } }

.cour { background-color: var(--jw-deep); text-align: center; }
.cour-guts { display: flex; flex-direction: column; align-items: center; }
.cour-caption { margin-bottom: var(--jw-3); }
.cour-prose { max-width: var(--jw-narrow); color: var(--jw-text-muted); }
.cour-keys { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--jw-4); margin-top: var(--jw-2); }
.cour-press { background-color: var(--jw-focus); color: var(--jw-on-gold); }
.cour-press:hover { background-color: var(--jw-accent-pressed); color: var(--jw-on-gold); }
.cour-alt { display: inline-flex; align-items: center; min-height: 48px; padding-inline: var(--jw-5); border: 1px solid var(--jw-text-muted); border-radius: var(--r-2); background-color: var(--jw-deep); color: var(--jw-front); text-decoration: none; transition: border-color var(--jw-fast) var(--jw-release), transform var(--jw-fast) var(--jw-release); }
.cour-alt:hover { border-color: var(--jw-front); background-color: var(--jw-house); color: var(--jw-front); transform: scale(var(--jw-grow)); }
.cour-fine { display: block; margin-top: var(--jw-3); }

.chambre { padding-block: var(--jw-4); }
.chambre-guts { display: flex; align-items: center; gap: var(--jw-3); }
.chambre-avatar { display: block; width: 48px; height: 48px; border-radius: var(--jw-circle); overflow: hidden; flex-shrink: 0; }
.chambre-avatar:hover { background-color: transparent; }
.chambre-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.chambre-credit { margin: 0; color: var(--jw-text-muted); }
.chambre-position { margin: var(--jw-1) 0 0; font-size: var(--jw-petite); font-style: italic; color: var(--jw-text-muted); }

.rubrique-lead{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--jw-5);min-height:44px;border-radius:var(--r-1);font-size:15px;font-weight:600}
.rubrique-lead{position:relative;
  background:#16A34A;color:#2A1D33;text-decoration:none;
  transition:background var(--jw-fast) var(--jw-release),border-color var(--jw-fast) var(--jw-release);}
.rubrique-lead.rubrique-lead{color:#2A1D33;text-decoration:none;}
.rubrique-lead:hover{background:#15803D;color:#FFFFFF;animation:none}
.rubrique-lead.rubrique-lead:hover{color:#FFFFFF;text-decoration:none}
.rubrique-lead:hover::after{animation:none}
.rubrique-lead:active{background:#166534;color:#FFFFFF}
.rubrique-lead:focus-visible{outline:3px solid var(--jw-focus);outline-offset:3px}
@keyframes rubrique-sway{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.rubrique-lead::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:3px;background:currentColor;opacity:.5;transform-origin:left;animation:rubrique-sway 1.8s var(--jw-smooth) infinite}
@media (prefers-reduced-motion:reduce){.rubrique-lead,.rubrique-lead::after{animation:none!important;transition:none!important}}
.chapitre-press.rubrique-lead { background: var(--jw-deep); color: var(--jw-focus); border: 2px solid var(--jw-focus); }
.chapitre-press.rubrique-lead:hover { background: var(--jw-focus); color: var(--jw-on-gold); }
.panneau-press.rubrique-lead, .relief-press.rubrique-lead, .vitrail-press.rubrique-lead, .placard-press.rubrique-lead, .cour-press.rubrique-lead, .chapitre-drawer-press.rubrique-lead { min-height: 48px; font-size: 16px; font-weight: 700; padding-inline: var(--jw-5); }
.cour-press.rubrique-lead { min-height: 52px; padding-inline: var(--jw-6); font-size: 17px; }
.relief-offer .rubrique-lead { box-shadow: 0 0 0 2px var(--jw-deep); }

.placard { padding-block: var(--jw-8) var(--jw-7); background-color: var(--jw-back); text-align: center; }
.placard-guts { display: flex; flex-direction: column; align-items: center; }
.placard-banner { font-size: clamp(30px, 6vw, 72px); font-weight: 900; line-height: var(--jw-compact); letter-spacing: var(--jw-snug); text-wrap: balance; }
.placard-dot { display: block; font-family: var(--jw-head); font-size: var(--jw-xl-2); line-height: 1; color: var(--jw-focus); margin: var(--jw-3) 0; }
.placard-sub { max-width: var(--jw-narrow); margin: 0; font-size: var(--jw-md-2); font-style: italic; color: var(--jw-text-muted); }
.placard-keys { margin-top: var(--jw-5); }

.affiche-frame { border-radius: var(--r-4); overflow: hidden; border: 1px solid var(--jw-rule); }
.affiche-grid { width: 100%; border-collapse: collapse; background-color: var(--jw-panel); }
.affiche-grid th { padding: var(--jw-4); background-color: var(--jw-house); color: var(--jw-focus); font-family: var(--jw-prose); font-weight: var(--jw-medium); font-size: var(--jw-xs-2); text-transform: uppercase; letter-spacing: var(--jw-airy); text-align: left; }
.affiche-grid td { padding: var(--jw-4); font-size: var(--jw-reading); color: var(--jw-text-muted); background-color: var(--jw-panel); text-align: left; transition: background-color var(--jw-fast) var(--jw-release); }
.affiche-grid td:first-child { color: var(--jw-front); font-weight: var(--jw-medium); }
.affiche-grid tbody tr:nth-child(even) td { background-color: #4a3e4b; }
.affiche-grid tbody tr:hover td { background-color: #504351; }
@media (max-width: 640px) {
    .affiche-grid th, .affiche-grid td { padding: var(--jw-2) 6px; font-size: 12px; letter-spacing: 0; hyphens: auto; }
    .affiche-grid th { font-size: 11px; }
}

.dossier-guts { counter-reset: dossier-part; }
.dossier-part { counter-increment: dossier-part; margin-bottom: var(--jw-6); }
.dossier-caption { font-size: var(--jw-h3); margin-bottom: var(--jw-3); }
.dossier-caption::before { content: counter(dossier-part) ". "; color: var(--jw-focus); font-family: var(--jw-head); font-weight: var(--jw-black); margin-right: var(--jw-2); }
.dossier-part p, .dossier-run { padding-left: var(--jw-4); color: var(--jw-text-muted); }
.dossier-run { margin: 0; padding-left: calc(var(--jw-4) + 1.2em); }
.dossier-run li { margin-bottom: var(--jw-2); }
.dossier-fine { font-size: var(--jw-petite); font-style: italic; color: var(--jw-text-muted); border-top: 1px solid var(--jw-rule); padding-top: var(--jw-4); }
@media (max-width: 640px) { .dossier-part p { padding-left: 0; } .dossier-run { padding-left: 1.2em; } }

.arcade-frame { display: flex; flex-direction: column; gap: var(--jw-2); padding: var(--jw-6); border: 2px solid var(--jw-focus); border-radius: var(--r-4); }
.arcade-lead { color: var(--jw-text-muted); }
.arcade-note { font-size: var(--jw-tiny); text-transform: uppercase; letter-spacing: var(--jw-airy); color: var(--jw-text-muted); margin-top: var(--jw-3); }
.arcade-control { width: 100%; padding: var(--jw-2) 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); background-color: var(--jw-back); color: var(--jw-front); font: inherit; font-size: var(--jw-md-2); resize: vertical; }
.arcade-control:focus { outline: none; border-bottom-color: var(--jw-focus); }
.arcade-send { align-self: flex-start; margin-top: var(--jw-5); min-height: 48px; padding-inline: var(--jw-6); border: 0; border-radius: var(--r-2); background-color: var(--jw-focus); color: var(--jw-on-gold); font: inherit; font-weight: var(--jw-black); cursor: pointer; transition: transform var(--jw-fast) var(--jw-release); }
.arcade-send:hover { transform: scale(var(--jw-grow)); background-color: var(--jw-accent-pressed); color: var(--jw-on-gold); }
.arcade-done { margin: var(--jw-3) 0 0; color: var(--jw-focus); font-weight: 600; }
@media (max-width: 640px) { .arcade-frame { padding: var(--jw-5) var(--jw-4); } }

.bureau { display: inline-flex; align-items: center; gap: var(--jw-3); margin-top: var(--jw-5); text-align: left; }
.bureau-avatar { width: 64px; height: 64px; border-radius: var(--jw-circle); object-fit: cover; object-position: center top; flex-shrink: 0; }
.bureau-meat { display: flex; flex-direction: column; }
.bureau-author { font-size: var(--jw-reading); font-weight: var(--jw-black); color: var(--jw-front); }
.bureau-position { font-size: var(--jw-tiny); color: var(--jw-text-muted); }

.cartouche { padding-block: var(--jw-8); text-align: center; }
.cartouche-guts { display: flex; flex-direction: column; align-items: center; }
.cartouche-code { font-family: var(--jw-head); font-weight: 900; font-size: clamp(64px, 14vw, 140px); line-height: 1; color: var(--jw-focus); }
.cartouche-banner { max-width: var(--jw-narrow); font-size: var(--jw-xl-2); margin: var(--jw-4) 0; }
.cartouche-prose { max-width: var(--jw-narrow); color: var(--jw-text-muted); }
.cartouche-home { display: inline-flex; align-items: center; min-height: 48px; padding-inline: var(--jw-6); margin-top: var(--jw-2); border: 1px solid var(--jw-focus); border-radius: var(--r-2); background-color: var(--jw-back); color: var(--jw-focus); font-weight: var(--jw-black); text-decoration: none; }
.cartouche-home:hover { background-color: var(--jw-house); color: var(--jw-focus); }
.cartouche-hints { width: 100%; margin-top: var(--jw-7); padding: var(--jw-6); background-color: var(--jw-panel); border-radius: var(--r-4); }
.cartouche-caption { font-size: var(--jw-md-2); margin-bottom: var(--jw-4); }
.cartouche-run { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--jw-4); list-style: none; margin: 0; padding: 0; }
.cartouche-anchor { color: var(--jw-focus); background-color: var(--jw-panel); text-decoration: none; }
.cartouche-anchor:hover { text-decoration: underline; color: var(--jw-focus); background-color: var(--jw-panel); }
.chambre-meat { min-width: 0; }
.chambre-author { font-weight: 600; color: var(--jw-focus); }
.dossier-help { padding-top: var(--jw-4); border-top: 1px solid var(--jw-rule); }
.fenetre-copy { flex: 1 1 auto; }
.fenetre-legal { flex-shrink: 0; }
@media (min-width: 769px) { .fenetre-legal .fenetre-run { flex-wrap: nowrap; } }

@media (max-width: 1059px) {
  .chapitre-menu,
  .chapitre-run,
  .chapitre-anchor,
  .chapitre-more,
  .chapitre-press { display: none !important; }
  .chapitre-switch { display: grid !important; }
}
