/* La régie — refonte du 1er octobre 2026. */
.site-nav a[aria-current="page"] { color: var(--text); background: var(--wash); }

/* Objets de papier : couleurs fixes, lisibles dans les deux thèmes. */
:root {
  --papier-rg-ink: #303044;
  --papier-rg-muted: #686579;
  --papier-rg-line: #e6e3ea;
  --papier-rg-green-bg: #e8f0eb;
  --papier-rg-green: #3e6a54;
  --papier-rg-amber-bg: #f5ecda;
  --papier-rg-amber: #815d24;
  --papier-rg-red-bg: #f8e5e5;
  --papier-rg-red: #a54444;
  --papier-rg-gray-bg: #ecebf0;
  --papier-rg-gray: #5f5d69;
  --papier-rg-shadow-hairline: #1d1a2814;
  --papier-rg-shadow-soft: #1d1a2859;
  --papier-rg-shadow-edge: #1d1a2826;
  --papier-rg-shadow-drop: #1d1a2833;
  --papier-rg-shadow-dark: #000000a6;
  --papier-rg-mask-clear: #0000;
  --papier-rg-mask-ink: #000;
  --papier-rg-dots: #b9b3c8;
  --papier-rg-dash: #cdc8d6;
  --papier-rg-shadow-dark-edge: #0006;
  --papier-rg-shadow-dark-soft: #000c;
  --papier-rg-accent: #69598f;
  --papier-rg-accent-line: #cfc8e0;
  --papier-rg-wash: #eeebf6;
  --papier-rg-white: #fff;
  --papier-rg-shadow-art: #1d1a2880;
  --papier-rg-tape: #efe6d1d9;
  --papier-rg-shadow-tape: #0000001a;
  --papier-rg-shadow-tag: #1d1a281f;
  --papier-rg-shadow-card: #1d1a2866;
  --papier-rg-shadow-hole: #0004;
  --papier-rg-thread: #9a8c72;
  --papier-rg-expire: #7a561f;
  --papier-rg-photo-bg: #efedea;
  --papier-rg-palette-bg: #faf9f6;
  --papier-rg-palette-edge: #ffffff14;
  --papier-rg-palette-shadow: #000000cc;
  --papier-rg-palette-foot: #f3f2ee;
  --papier-rg-rule-red: #e3a7a2;
  --papier-rg-ledger-shadow: #000d;
  --papier-rg-binding-rule: #d9d3e4;
  --papier-rg-binding-low: #e9e4f0;
  --papier-rg-binding-high: #f6f3ef;
  --papier-rg-correction-bg: #f5ecda8c;
  --papier-rg-stamp-bg: #f3f7f2;
  --papier-rg-stamp-line: #3e6a5466;
  --rg-wall-hi: var(--stage); --rg-wall-lo: color-mix(in srgb, var(--stage) 85%, var(--muted));
  --rg-floor: color-mix(in srgb, var(--stage) 70%, var(--muted));
  --rg-oak-1: color-mix(in srgb, var(--st-amber) 50%, var(--st-amber-bg)); --rg-oak-2: var(--st-amber); --rg-oak-3: color-mix(in srgb, var(--st-amber) 65%, var(--st-amber-bg));
  --rg-mat: var(--paper); --rg-card: var(--paper); --rg-card-rule: var(--ink-line); --rg-card-red: var(--st-red); --rg-manila: var(--st-amber-bg);
  --rg-dot-red: var(--st-red); --rg-dot-amber: var(--st-amber); --rg-pin-bg: var(--accent); --rg-pin-fg: var(--on-accent);
}

/* ---------- Jetons propres à la page ---------- */

/* ---------- En-tête : page courante ---------- */

/* ---------- Éléments partagés ---------- */
/* Panneaux d'interface : suivent le thème. Objets de papier : restent clairs. */
.rg-sale-panel .mbtn { background: var(--surface); }
.rg-morning .mbtn { background: var(--surface); }
.rg-hang .mbtn { background: var(--surface); }
.rg-object .mbtn.primary { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.rg-blur { filter: blur(4px); user-select: none; font-variant-numeric: tabular-nums; }

/* Le recadrage d'une photo d'œuvre sur sa seule toile (les photos montrent aussi le mur). */
.rg-canvas { position: relative; overflow: hidden; aspect-ratio: var(--ar, 1); width: 100%; }
.rg-canvas img {
  position: absolute; max-width: none;
  width: calc(100% / (1 - var(--l) - var(--r)));
  height: calc(100% / (1 - var(--t) - var(--b)));
  left: calc(-100% * var(--l) / (1 - var(--l) - var(--r)));
  top: calc(-100% * var(--t) / (1 - var(--t) - var(--b)));
}

/* Les repères : un numéro sur l'objet, le même devant la ligne du texte. */
.rg-pin {
  font-variant-numeric: tabular-nums; letter-spacing: 0; font-style: normal;
  font: 600 11.5px/1 var(--sans); border-radius: 50%; height: 22px;
  width: 22px; flex: none; place-items: center;
  display: inline-grid;
  background: var(--rg-pin-bg); color: var(--rg-pin-fg);
  margin-left: 8px; vertical-align: middle;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--rg-pin-bg) 22%, transparent), 0 4px 10px -4px color-mix(in srgb, var(--ink) 50.2%, transparent);
}
.rg-n {
  font-variant-numeric: tabular-nums; letter-spacing: 0; font-style: normal;
  font: 600 11.5px/1 var(--sans); border-radius: 50%; height: 22px;
  width: 22px; flex: none; place-items: center;
  display: inline-grid; border: 1.5px solid var(--accent); color: var(--accent); background: transparent; }

/* ---------- Ouverture ---------- */
.rg-hero { padding-bottom: clamp(48px, 6vw, 80px); }
.rg-hero-stage { display: grid; grid-template-columns: minmax(0, 1fr) clamp(200px, 19vw, 260px); gap: clamp(28px, 3.5vw, 48px); align-items: center; }
.rg-browser { min-width: 0; }
.rg-hero-wall { position: relative; display: grid; gap: 22px; justify-items: start; animation: rise .9s cubic-bezier(.2,.7,.2,1) .45s both; }
.rg-hero-work { box-shadow: var(--shadow-art); outline: 6px solid var(--ink); }
:root[data-theme="dark"] .rg-hero-work { outline-color: var(--ink); }
.rg-hero-cartel { width: 82%; margin-left: 4px; }

.rg-app { --ink-line: var(--line); --ink-muted: var(--muted);
  --ink: var(--text); display: grid; grid-template-columns: 200px minmax(0, 1fr); background: var(--bg); font-size: 14px; line-height: 1.4; }
.rg-side { background: var(--surface); border-right: 1px solid var(--line); padding: 18px 12px; display: flex; flex-direction: column; gap: 2px; }
.rg-side-brand { display: flex; align-items: center; gap: 7px; padding: 4px 10px 18px; color: var(--text); }
.rg-side-brand svg { width: 18px; height: 22px; color: var(--accent); }
.rg-side-brand svg.w { width: 76px; height: 16px; color: var(--text); }
.rg-nav-item { display: flex; align-items: center; gap: 11px; padding: 9px 10px; border-radius: 10px; color: var(--muted); font-size: 14px; white-space: nowrap; }
.rg-nav-item svg { width: 18px; height: 18px; flex: none; }
.rg-nav-item.on { background: var(--wash); color: var(--accent); font-weight: 500; }
.rg-main { min-width: 0; display: flex; flex-direction: column; }
.rg-top { display: flex; align-items: center; gap: 16px; padding: 13px 22px; background: var(--surface); border-bottom: 1px solid var(--line); }
.rg-top > b { font-weight: 500; font-size: 14.5px; white-space: nowrap; }
.rg-search { flex: 1 1 auto; max-width: 400px; min-width: 0; display: flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 10px; background: var(--bg); border: 1px solid var(--line); color: var(--muted); font-size: 13.5px; }
.rg-search > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rg-search svg { width: 16px; height: 16px; flex: none; }
.rg-search kbd { margin-left: auto; font: 500 11px/1.5 var(--sans); padding: 1px 6px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); background: var(--surface); }
.rg-top .app-btn { margin-left: auto; }
.rg-body { padding: 22px 24px 26px; }
.rg-title-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 14px; }
.rg-screen-title { font-size: 28px; font-weight: 500; letter-spacing: -0.015em; line-height: 1.1; }
.rg-count { color: var(--muted); font-size: 14px; }
.rg-tools { margin-left: auto; display: flex; gap: 8px; align-self: center; }
.rg-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 14px; }
.rg-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 12px; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); font-size: 13px; white-space: nowrap; }
.rg-chip svg { width: 14px; height: 14px; color: var(--muted); }
.rg-table { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.rg-tr { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1.5fr) minmax(0, 1.3fr) minmax(0, 1.2fr) 100px; gap: 14px; align-items: center; padding: 9px 18px; border-top: 1px solid var(--line); }
.rg-tr > * { min-width: 0; }
.rg-tr.on { background: color-mix(in srgb, var(--wash) 70%, var(--surface)); }
.rg-tr.on::before { content: ''; position: absolute; left: 0; top: 8px; bottom: 8px; width: 3px; border-radius: 0 3px 3px 0; background: var(--accent); }
.rg-th { border-top: 0; padding-block: 10px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); background: color-mix(in srgb, var(--bg) 60%, var(--surface)); }
.rg-tr img { width: 38px; height: 46px; object-fit: cover; border-radius: 2px; box-shadow: 0 3px 8px -3px color-mix(in srgb, var(--ink) 40%, transparent); }
.rg-tr b { display: block; font-weight: 500; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rg-tr small { display: block; font-size: 12.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rg-tr .c-tech { font-size: 13.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rg-tr.on small, .rg-tr.on .c-tech { color: var(--text); }
.rg-tr .c-loc { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-size: 13.5px; color: var(--text); }
.rg-tr .pill { justify-self: start; }

/* Le cartel : un petit carton au mur, avec sa pastille. */
.rg-cartel {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink);
  position: relative; background: var(--paper); padding: 16px 18px 16px; border-radius: 2px;
  box-shadow: 0 1px 1px var(--papier-rg-shadow-hairline), 0 8px 18px -10px var(--papier-rg-shadow-soft); font-size: 12.5px; line-height: 1.4;
}
.rg-cartel .a { font-weight: 600; font-size: 13px; }
.rg-cartel .t { font-family: var(--serif); font-size: 19px; line-height: 1.15; margin-top: 2px; }
.rg-cartel .m { color: var(--ink-muted); margin-top: 6px; }
.rg-dot { position: absolute; top: 14px; right: 14px; width: 13px; height: 13px; border-radius: 50%; box-shadow: inset 0 -1px 2px color-mix(in srgb, var(--ink) 20%, transparent), 0 1px 1px color-mix(in srgb, var(--ink) 13.3%, transparent); }
.rg-dot.amber { background: var(--rg-dot-amber); }
.rg-dot.red { background: var(--rg-dot-red); }
.rg-dot.sm { position: static; width: 10px; height: 10px; box-shadow: 0 0 0 2px var(--on-accent); }

/* ---------- Sommaire ---------- */
.rg-toc { padding-block: clamp(8px, 2vw, 24px) clamp(8px, 2vw, 24px); }
.rg-toc-title { font: 500 13px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.rg-toc-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rg-toc-list a {
  display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 12px;
  min-height: 72px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 14px;
  background: var(--surface); text-decoration: none; font-size: 16px; font-weight: 500; line-height: 1.3;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.rg-toc-list .n { font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1; color: var(--accent); }
.rg-toc-list a:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: var(--shadow-soft); }

/* ---------- Chapitres ---------- */
.rg-chap { padding-block: var(--section); position: relative; }
.rg-alt { background: var(--surface); border-block: 1px solid var(--line); }
.rg-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px clamp(40px, 6vw, 96px); align-items: center; }
.rg-grid.flip { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.rg-grid.flip.wide { grid-template-columns: minmax(0, 7.4fr) minmax(0, 4.6fr); }
.rg-grid.flip > .rg-text { order: 2; }
.rg-grid > * { min-width: 0; }
.rg-text h2 { margin-top: 18px; }
.rg-text .lede { margin-top: 22px; }
.rg-kick { display: flex; align-items: center; gap: 16px; }
.rg-kick .kicker { margin: 0; }
.rg-num { font-family: var(--serif); font-size: 46px; line-height: .9; color: var(--accent); letter-spacing: -0.02em; }
.rg-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px clamp(40px, 6vw, 96px); align-items: end; margin-bottom: clamp(40px, 5vw, 64px); }
.rg-head h2 { margin-top: 18px; }

.rg-notes { margin-top: 30px; display: grid; border-top: 1px solid var(--line); }
.rg-notes li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 14px; align-items: start; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 15.5px; line-height: 1.45; }
.rg-notes .rg-n { margin-top: -1px; }
.rg-notes-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 28px; border-top: 0; margin-top: 0; }
.rg-notes-cols li { border-bottom: 0; border-top: 1px solid var(--line); padding-top: 16px; }
.rg-notes-cols.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.rg-aside { margin-top: 24px; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; padding: 14px 18px; border-radius: 14px; background: var(--wash); font-size: 14.5px; line-height: 1.5; }
.rg-aside > svg { width: 20px; height: 20px; color: var(--accent); margin-top: 1px; }
.rg-aside a { color: var(--accent); font-weight: 500; text-underline-offset: 3px; }

/* La cimaise : un mur clair, une lumière d'en haut, une plinthe. */
.rg-wall {
  position: relative; isolation: isolate; border-radius: 28px; overflow: hidden;
  background:
    radial-gradient(42% 55% at 26% 0%, color-mix(in srgb, var(--surface) 70.2%, transparent), transparent 72%),
    radial-gradient(30% 45% at 80% 0%, color-mix(in srgb, var(--surface) 50.2%, transparent), transparent 72%),
    linear-gradient(180deg, var(--rg-wall-hi), var(--rg-wall-lo) 88%);
}
:root[data-theme="dark"] .rg-wall {
  background: radial-gradient(42% 55% at 26% 0%, color-mix(in srgb, var(--surface) 9%, transparent), transparent 72%), radial-gradient(30% 45% at 80% 0%, color-mix(in srgb, var(--surface) 5.9%, transparent), transparent 72%), linear-gradient(180deg, var(--rg-wall-hi), var(--rg-wall-lo) 88%);
}
.rg-floor { position: absolute; z-index: -1; inset: auto 0 0 0; height: 64px; background: linear-gradient(180deg, color-mix(in srgb, var(--rg-floor) 80%, var(--ink) 6%) 0 2px, var(--rg-floor) 2px); }

.rg-frame.oak {
  padding: clamp(8px, 1vw, 13px);
  background: linear-gradient(135deg, var(--rg-oak-1), var(--rg-oak-2) 48%, var(--rg-oak-3));
  box-shadow: var(--shadow-art), inset 0 0 0 1px color-mix(in srgb, var(--ink) 14.9%, transparent), inset 0 0 0 3px color-mix(in srgb, var(--surface) 12.2%, transparent);
}
.rg-frame.oak .rg-mat { background: var(--rg-mat); padding: 15% 13% 17%; box-shadow: inset 0 1px 3px color-mix(in srgb, var(--ink) 18%, transparent); }
.rg-frame.thin { padding: 5px; background: var(--ink); box-shadow: var(--shadow-art); }

/* ---------- 01. La fiche ---------- */
.rg-fiche-stage { display: grid; grid-template-columns: minmax(0, 0.74fr) minmax(0, 1.26fr); align-items: start; padding: clamp(36px, 4vw, 56px) clamp(22px, 3vw, 40px) 92px; }
.rg-fiche-stage .rg-frame { margin-top: 26px; position: relative; z-index: 1; }
.rg-fiche { --ink-line: var(--line); --ink-muted: var(--muted);
  --ink: var(--text); position: relative; z-index: 2; margin-left: -28px; margin-top: 64px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-paper); color: var(--text); font-size: 13.5px; line-height: 1.45; }
.rg-fiche-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 12.5px; color: var(--muted); }
.rg-panel-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); font-size: 12.5px; color: var(--muted); }
.rg-fiche-bar .crumbs { white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.rg-panel-bar .crumbs { white-space: nowrap; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.rg-fiche-bar .crumbs b { color: var(--text); font-weight: 500; }
.rg-panel-bar .crumbs b { color: var(--text); font-weight: 500; }
.rg-tabs { display: flex; gap: 2px; }
.rg-tabs span { padding: 4px 8px; border-radius: 8px; white-space: nowrap; }
.rg-tabs .on { background: var(--wash); color: var(--accent); font-weight: 500; }
.rg-fiche-body { padding: 16px 18px 18px; display: grid; gap: 16px; }
.rg-views { position: relative; display: grid; grid-template-columns: repeat(3, 58px); gap: 8px; align-items: center; }
.rg-views span { display: block; aspect-ratio: 4 / 5; border-radius: 6px; overflow: hidden; border: 1px solid var(--line); }
.rg-views span.on { outline: 2px solid var(--accent); outline-offset: 2px; }
.rg-views img { width: 100%; height: 100%; object-fit: cover; }
.rg-views .rg-pin { margin-left: 4px; }
.rg-fiche-info .fc-title { font-size: 25px; }
.rg-fiche .fc-dl { position: relative; }
.rg-fiche .fc-dl > .rg-pin { position: absolute; left: -32px; top: 50%; margin: -11px 0 0; }
.rg-status { margin-top: 14px; display: grid; justify-items: start; gap: 6px; }
.rg-status-btn { display: inline-flex; align-items: center; gap: 9px; padding: 6px 10px 6px 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); font-weight: 500; font-size: 13px; }
.rg-status-btn > svg { width: 14px; height: 14px; color: var(--muted); transform: rotate(180deg); }
.rg-status-btn .rg-pin { margin-left: 2px; }
.rg-menu { min-width: 236px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-soft); }
.rg-menu li { display: flex; align-items: center; padding: 8px 10px; border-radius: 8px; font-size: 13px; }
.rg-menu li.on { background: var(--wash); color: var(--accent); font-weight: 500; }
.rg-menu li.sep { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--line); border-radius: 0; color: var(--muted); }

/* ---------- 02. La réserve ---------- */
.rg-reserve { display: grid; grid-template-columns: minmax(0, 3.6fr) minmax(0, 5.4fr) minmax(0, 3fr); gap: 0 clamp(28px, 3.5vw, 48px); align-items: start; }
.rg-reserve-photo { position: relative; aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; box-shadow: var(--shadow-soft); }
.rg-reserve-photo img { width: 100%; height: 100%; object-fit: cover; }
.rg-reserve-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--ink) 34.9%, transparent)); }
.rg-loc-tag {
  position: absolute; z-index: 1; left: 9%; top: 42%; display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 12px 7px 9px; border-radius: 30px; background: color-mix(in srgb, var(--surface) 94.9%, transparent); color: var(--text); font-size: 12.5px; font-weight: 500;
  box-shadow: 0 6px 18px -6px color-mix(in srgb, var(--ink) 50.2%, transparent);
}
.rg-loc-tag svg { width: 15px; height: 15px; color: var(--accent); }
.rg-loc-tag::after { content: ''; position: absolute; left: 22px; top: 100%; width: 1.5px; height: 38px; background: color-mix(in srgb, var(--surface) 85.1%, transparent); }
.rg-loc-tag::before { content: ''; position: absolute; left: 18px; top: calc(100% + 36px); width: 10px; height: 10px; border-radius: 50%; background: var(--on-accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--surface) 34.9%, transparent); }
.rg-lieux { --ink-line: var(--line); --ink-muted: var(--muted);
  --ink: var(--text); position: relative; z-index: 1; margin: 72px 0 0 calc(-1 * clamp(64px, 7vw, 110px)); background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-paper); font-size: 13.5px; overflow: hidden; }
.rg-lieux-body { padding: 4px 0; }
.rg-lieu { display: grid; grid-template-columns: 30px minmax(0, 1fr) 76px 64px; gap: 12px; align-items: center; padding: 9px 16px; border-top: 1px solid var(--line); }
.rg-lieu:first-child { border-top: 0; }
.rg-lieu > * { min-width: 0; }
.rg-lieu-h { font-size: 11.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); padding-block: 10px 8px; }
.rg-lieu-h span { display: inline-flex; align-items: center; }
.rg-lieu-h .rg-pin { margin-left: 6px; }
.rg-lieu.on { background: color-mix(in srgb, var(--wash) 70%, var(--surface)); box-shadow: inset 3px 0 0 var(--accent); }
.rg-lieu.closed { color: var(--muted); }
.rg-lieu.closed b { font-weight: 500; text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--muted) 55%, transparent); }
.rg-lieu .ic { width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: var(--wash); color: var(--accent); }
.rg-lieu .ic svg { width: 16px; height: 16px; }
.rg-lieu .ic.foire { background: var(--st-amber-bg); color: var(--st-amber); }
.rg-lieu .ic.ext { background: var(--st-gray-bg); color: var(--st-gray); }
.rg-lieu .ic.cli { background: var(--st-green-bg); color: var(--st-green); }
.rg-lieu b { display: block; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rg-lieu small { display: block; color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rg-type { justify-self: start; font-size: 11.5px; padding: 2px 9px; border: 1px solid var(--line); border-radius: 20px; color: var(--muted); }
.rg-cnt { font-family: var(--serif); font-size: 21px; text-align: right; font-variant-numeric: tabular-nums; display: inline-flex; align-items: flex-end; justify-content: flex-end; flex-direction: column; }
.rg-cnt .rg-pin { font-family: var(--sans); }
.rg-lieu-h .r { justify-content: flex-end; }
.rg-move { display: flex; align-items: center; gap: 10px; margin: 0; padding: 12px 16px; border-top: 1px dashed var(--line); background: var(--bg); font-size: 12.5px; color: var(--muted); }
.rg-move svg { width: 16px; height: 16px; color: var(--accent); flex: none; }
.rg-move b { color: var(--text); font-weight: 500; }
.rg-move > span:not(.d) { min-width: 0; flex: 1; }
.rg-move .d { font-variant-numeric: tabular-nums; }
.rg-notes-side { margin-top: 72px; }

.rg-import { display: grid; grid-template-columns: minmax(0, 5fr) auto minmax(0, 4fr); gap: 32px clamp(28px, 4vw, 56px); align-items: center; margin-top: clamp(64px, 8vw, 104px); padding-top: clamp(48px, 6vw, 72px); border-top: 1px solid var(--line); }
.rg-import-text h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.12; }
.rg-import-text p { color: var(--muted); font-size: 16px; margin: 14px 0 10px; max-width: 34em; }
.rg-files { display: grid; justify-items: center; gap: 10px; }
.rg-file { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border-radius: 10px; background: var(--bg); border: 1px solid var(--line); font-size: 13px; font-weight: 500; white-space: nowrap; }
.rg-file svg { width: 17px; height: 17px; color: var(--accent); }
.rg-file.xls { transform: rotate(-2deg); }
.rg-file.zip { transform: rotate(1.5deg) translateX(10px); }
.rg-files-arrow { width: 26px; height: 26px; color: var(--accent); transform: rotate(90deg); }
.rg-slip {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink); justify-self: start; width: min(100%, 340px); filter: drop-shadow(0 1px 1px var(--papier-rg-shadow-edge)) drop-shadow(0 18px 24px var(--papier-rg-shadow-drop)); transform: rotate(1.6deg); }
:root[data-theme="dark"] .rg-slip { filter: drop-shadow(0 18px 26px var(--papier-rg-shadow-dark)); }
.rg-slip > div {
  background: var(--paper); padding: 26px 24px 28px; font-size: 13px; line-height: 1.45;
  --sc: radial-gradient(circle 6px at 50% 0, var(--papier-rg-mask-clear) 97%, var(--papier-rg-mask-ink)) 50% 0 / 15px 51% repeat-x, radial-gradient(circle 6px at 50% 100%, var(--papier-rg-mask-clear) 97%, var(--papier-rg-mask-ink)) 50% 100% / 15px 51% repeat-x;
  -webkit-mask: var(--sc); mask: var(--sc);
}
.rg-slip-head { display: grid; gap: 2px; padding-bottom: 12px; margin-bottom: 8px; border-bottom: 1.5px solid var(--ink); }
.rg-slip-head b { font-family: var(--serif); font-weight: 400; font-size: 21px; }
.rg-slip-head small { color: var(--ink-muted); font-size: 12px; }
.rg-slip-row { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; }
.rg-slip-row::after { content: ''; order: 1; flex: 1; border-bottom: 1.5px dotted var(--papier-rg-dots); transform: translateY(-4px); }
.rg-slip-row b { order: 2; font-family: var(--serif); font-weight: 400; font-size: 22px; line-height: 1; font-variant-numeric: tabular-nums; }
.rg-slip-row.ok b { color: var(--st-green); }
.rg-slip-row.ko b { color: var(--st-red); }
.rg-slip-line { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--papier-rg-dash); color: var(--ink-muted); font-size: 12.5px; }
.rg-slip-line.ko { color: var(--st-red); background: var(--st-red-bg); border: 0; padding: 7px 10px; border-radius: 6px; margin-top: 8px; }

/* ---------- 03. Le fichier de fiches ---------- */
.rg-cards { position: relative; padding-top: 128px; max-width: 560px; justify-self: center; width: 100%; }
.rg-card {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink);
  position: relative; background-color: var(--rg-card); border-radius: 6px;
  background-image: linear-gradient(var(--rg-card-red), var(--rg-card-red));
  background-size: 100% 1.5px; background-position: 0 86px; background-repeat: no-repeat;
  box-shadow: 0 1px 1px var(--papier-rg-shadow-hairline), 0 18px 40px -16px var(--papier-rg-shadow-soft); font-size: 13.5px; line-height: 1.45;
}
:root[data-theme="dark"] .rg-card { box-shadow: 0 1px 1px var(--papier-rg-shadow-dark-edge), 0 22px 50px -16px var(--papier-rg-shadow-dark-soft); }
.rg-card-tab {
  position: absolute; bottom: 100%; left: 36px; width: 64px; height: 30px; display: grid; place-items: center;
  background: var(--rg-card); border-radius: 8px 8px 0 0; font-family: var(--serif); font-size: 18px; color: var(--papier-rg-accent);
  box-shadow: 0 -3px 8px -6px var(--papier-rg-shadow-soft);
}
.rg-card.back { position: absolute; top: 30px; left: 7%; right: -3%; height: 150px; transform: rotate(-2.6deg); padding: 18px 22px; background-image: repeating-linear-gradient(180deg, transparent 0 31px, var(--rg-card-rule) 31px 32px); background-position: 0 26px; background-size: 100% 100%; }
.rg-card-artist { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.rg-card-artist img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; }
.rg-card-artist small { display: block; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); }
.rg-card-artist b { display: block; font-family: var(--serif); font-weight: 400; font-size: 20px; line-height: 1.15; }
.rg-card-artist em { display: block; font-style: normal; color: var(--ink-muted); font-size: 12.5px; }
.rg-langs { display: inline-flex; align-items: center; gap: 4px; }
.rg-langs i { font-style: normal; font-size: 11px; font-weight: 600; padding: 2px 6px; border: 1px solid var(--papier-rg-accent-line); border-radius: 5px; color: var(--papier-rg-accent); }
.rg-card-artist > .rg-pin { position: absolute; top: -11px; right: 150px; margin: 0; }
.rg-card.front { z-index: 1; padding: 22px 24px 20px; transform: rotate(.6deg); }
.rg-card.front .rg-card-tab { left: auto; right: 40px; }
.rg-contact-head { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 52px; }
.rg-contact-head b { display: block; font-family: var(--serif); font-weight: 400; font-size: 24px; line-height: 1.1; }
.rg-contact-head small { display: block; color: var(--ink-muted); font-size: 12.5px; }
.rg-avatar { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--papier-rg-wash); color: var(--papier-rg-accent); font-family: var(--serif); font-size: 18px; flex: none; }
.rg-avatar.sm { width: 34px; height: 34px; font-size: 14px; }
.rg-merge { display: flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 12.5px; color: var(--ink-muted); }
.rg-merge svg { width: 15px; height: 15px; color: var(--papier-rg-accent); }
.rg-consent { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding: 7px 10px; border-radius: 8px; background: var(--st-green-bg); color: var(--st-green); font-size: 12.5px; font-weight: 500; }
.rg-consent svg { width: 14px; height: 14px; flex: none; }
.rg-block { margin-top: 14px; }
.rg-block-title { display: flex; align-items: center; gap: 8px; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); font-weight: 500; padding-bottom: 6px; }
.rg-block-title small { text-transform: none; letter-spacing: 0; font-size: 12px; }
.rg-block-title .rg-pin { margin-left: 2px; }
.rg-badge { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--papier-rg-wash); color: var(--papier-rg-accent); font-size: 11.5px; letter-spacing: 0; }
.rg-req { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid var(--ink-line); }
.rg-req img { width: 36px; height: 44px; object-fit: cover; border-radius: 2px; }
.rg-req b { display: block; font-weight: 500; }
.rg-req small { display: block; font-size: 12px; color: var(--ink-muted); }
.rg-contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--ink-line); }

/* ---------- 04. Le plan d'accrochage ---------- */
.rg-hang { --ink-line: var(--line); --ink-muted: var(--muted);
  --ink: var(--text); background: var(--surface); border: 1px solid var(--line); border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-soft); }
.rg-alt .rg-hang { background: var(--bg); }
.rg-hang-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.rg-hang-head > span:first-child { display: grid; }
.rg-hang-head small { color: var(--muted); font-size: 12.5px; }
.rg-hang-head b { font-family: var(--serif); font-weight: 400; font-size: 26px; line-height: 1.15; }
.rg-hang-head .pill { font-size: 12.5px; }
.rg-hang-head .pill .rg-pin { margin-left: 6px; }
.rg-hang-wall { display: grid; grid-template-columns: clamp(170px, 17vw, 230px) minmax(0, 1fr); gap: 0 clamp(16px, 2.4vw, 36px); padding: 0 clamp(16px, 2.4vw, 32px); background: linear-gradient(180deg, var(--surface), var(--surface) 340px, transparent 340px); }
.rg-polaroid {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink); position: relative; align-self: start; margin-top: 38px; background: var(--papier-rg-white); padding: 10px 10px 12px; transform: rotate(-3deg); box-shadow: 0 1px 1px var(--papier-rg-shadow-hairline), 0 14px 26px -12px var(--papier-rg-shadow-art); }
.rg-polaroid::before { content: ''; position: absolute; top: -10px; left: 50%; width: 74px; height: 22px; transform: translateX(-50%) rotate(2deg); background: var(--papier-rg-tape); box-shadow: 0 1px 2px var(--papier-rg-shadow-tape); }
.rg-polaroid img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.rg-polaroid figcaption { margin-top: 8px; font-size: 11.5px; color: var(--ink-muted); }
.rg-polaroid .rg-pin { position: absolute; top: -8px; right: -8px; margin: 0; }
.rg-hang-works { --pich: 250px; position: relative; display: grid; grid-template-columns: 1fr 0.95fr 1.2fr 1fr; align-items: stretch; }
.rg-hang-works::before { /* l'axe d'accrochage, à hauteur d'œil */
  content: ''; position: absolute; left: -8px; right: -8px; top: 160px; border-top: 1px dashed color-mix(in srgb, var(--band-line) 34.9%, transparent); pointer-events: none;
}
.rg-hang-works li { position: relative; display: grid; grid-template-rows: 340px auto; min-width: 0; }
.rg-hang-pic { position: relative; display: grid; place-items: center; padding: 30px clamp(10px, 1.6vw, 22px) 40px; }
.rg-hang-pic::after { content: ''; position: absolute; inset: auto 0 0 0; height: 40px; background: linear-gradient(180deg, var(--stage) 0 2px, var(--stage) 2px); }
.rg-hang-pic .rg-canvas { box-shadow: 0 2px 3px color-mix(in srgb, var(--ink) 14.9%, transparent), 0 16px 26px -12px color-mix(in srgb, var(--ink) 40%, transparent); }
.w1 .rg-canvas { width: min(78%, calc(var(--pich) * var(--ar) * .82)); }
.w3 .rg-canvas { width: min(82%, calc(var(--pich) * var(--ar))); }
.w4 .rg-canvas { width: min(70%, calc(var(--pich) * var(--ar) * .92)); }
.w2 .rg-hang-pic { align-items: end; padding-bottom: 34px; }
.moving .rg-canvas { transform: translateY(-8px) rotate(1.4deg); outline: 1.5px dashed var(--accent); outline-offset: 7px; box-shadow: 0 30px 40px -20px color-mix(in srgb, var(--ink) 50.2%, transparent); }
.rg-hang-works li > .rg-pin { position: absolute; top: 18px; left: 12px; margin: 0; }
.rg-hang-cartel { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 4px 10px; align-items: start; padding: 16px 12px 20px; font-size: 13px; line-height: 1.35; }
.rg-hang-cartel .k { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--text); color: var(--bg); font-size: 12px; font-weight: 600; }
.rg-hang-cartel b { display: block; font-weight: 500; font-size: 14px; }
.rg-hang-cartel small { display: block; color: var(--muted); font-size: 12px; }
.rg-hang-cartel .pill { grid-column: 2; justify-self: start; margin-top: 4px; }
.rg-hang-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 24px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.rg-hang-foot .mbtn .rg-pin { margin-left: 4px; box-shadow: none; background: var(--on-accent); color: var(--accent); }
.rg-after { display: grid; gap: 24px; margin-top: clamp(32px, 4vw, 48px); }
.rg-after .rg-aside { justify-self: start; margin-top: 0; }

/* ---------- 05. Le cartel et sa pastille ---------- */
.rg-sale { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.82fr); grid-template-areas: "work side" "panel panel"; gap: 28px clamp(24px, 3vw, 40px); padding: clamp(36px, 4vw, 56px) clamp(22px, 3vw, 44px) 40px; }
.rg-sale-work { grid-area: work; align-self: start; }
.rg-sale-side { grid-area: side; display: grid; gap: 0; align-content: start; justify-items: start; padding-top: 22%; }
.rg-sale-side .rg-cartel { width: min(100%, 210px); }
.rg-tag {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink);
  position: relative; margin: 46px 0 0 30px; width: min(100%, 262px); padding: 16px 16px 16px 34px;
  background: var(--rg-manila); border-radius: 4px 10px 10px 4px; transform: rotate(4deg); transform-origin: 20px 0;
  font-size: 12.5px; line-height: 1.45; box-shadow: 0 1px 1px var(--papier-rg-shadow-tag), 0 12px 20px -10px var(--papier-rg-shadow-card);
  clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 calc(100% - 14px), 0 14px);
}
.rg-tag-hole { position: absolute; left: 12px; top: 50%; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--rg-wall-lo); box-shadow: inset 0 1px 2px var(--papier-rg-shadow-hole); }
.rg-sale-side::after { /* la ficelle qui relie le cartel à l'étiquette */
  content: ''; order: -1; position: relative; display: none;
}
.rg-tag::before { content: ''; position: absolute; left: 16px; bottom: calc(100% - 4px); width: 1.5px; height: 52px; background: var(--papier-rg-thread); transform: rotate(-14deg); transform-origin: bottom; }
.rg-tag p + p { margin-top: 4px; }
.rg-tag .s { margin-bottom: 6px; }
.rg-tag b { font-weight: 600; }
.rg-expire { display: flex; align-items: center; gap: 6px; color: var(--papier-rg-expire); font-weight: 500; }
.rg-expire svg { width: 14px; height: 14px; flex: none; }
.rg-sale-panel { --ink-line: var(--line); --ink-muted: var(--muted);
  --ink: var(--text); grid-area: panel; position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; padding: 16px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-paper); }
.rg-prices { position: relative; display: flex; flex-wrap: wrap; gap: 6px 24px; flex: 1 1 280px; }
.rg-prices div { display: grid; gap: 2px; }
.rg-prices dt { font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.rg-prices dd { margin: 0; font-family: var(--serif); font-size: 21px; }
.rg-prices .marge dd { color: var(--st-green); }
.rg-prices > .rg-pin { align-self: center; }
.rg-sale-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rg-sale-actions .mbtn.primary { gap: 8px; }

/* ---------- 06. Les feuilles sur la table ---------- */
.rg-desk {
  position: relative; isolation: isolate; border-radius: 28px; overflow: hidden; min-height: 600px;
  background: radial-gradient(70% 60% at 30% 20%, color-mix(in srgb, var(--surface) 65.1%, transparent), transparent 70%), linear-gradient(160deg, var(--stage), var(--stage));
}
:root[data-theme="dark"] .rg-desk { background: radial-gradient(70% 60% at 30% 20%, color-mix(in srgb, var(--surface) 7.1%, transparent), transparent 70%), linear-gradient(160deg, var(--ink), var(--ink)); }
.rg-sheet {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink); position: absolute; background: var(--paper); aspect-ratio: 1 / 1.414; border-radius: 2px; box-shadow: var(--shadow-paper); display: flex; flex-direction: column; }
.rg-sheet.front { left: 7%; top: 8%; width: 47%; padding: 5.2% 5% 4%; transform: rotate(-2.2deg); z-index: 2; font-size: 12px; line-height: 1.45; }
.rg-sheet.back { right: 6%; top: 15%; width: 44%; padding: 5% 4.5% 4%; transform: rotate(3.4deg); z-index: 1; font-size: 11px; }
.rg-sheet-top { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.rg-sheet-top b { font-family: var(--serif); font-weight: 400; font-size: 17px; }
.rg-sheet-top span { font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-muted); }
.rg-sheet-art { margin-top: 9%; aspect-ratio: 1 / 0.92; background: var(--papier-rg-photo-bg); display: grid; place-items: center; overflow: hidden; }
.rg-sheet-cartel { margin-top: 8%; }
.rg-sheet-cartel .a { font-weight: 600; font-size: 12.5px; }
.rg-sheet-cartel .t { font-family: var(--serif); font-size: 21px; line-height: 1.1; margin-top: 2px; }
.rg-sheet-cartel .m { color: var(--ink-muted); font-size: 11.5px; margin-top: 5px; }
.rg-sheet-text { margin-top: 6%; font-size: 11.5px; color: var(--ink); max-width: 30em; }
.rg-sheet-foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--ink-line); display: flex; justify-content: space-between; font-size: 9.5px; color: var(--ink-muted); }
.rg-sheet .pl-title { font-size: 21px; }
.rg-pl-rows { margin-top: 12%; border-top: 1px solid var(--ink); }
.rg-pl-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--ink-line); }
.rg-pl-row img { width: 28px; height: 34px; object-fit: cover; }
.rg-pl-row b { display: block; font-weight: 500; font-size: 11.5px; }
.rg-pl-row small { display: block; font-size: 10px; color: var(--ink-muted); }
.rg-pl-row .amt { font-size: 11.5px; font-variant-numeric: tabular-nums; filter: blur(3.5px); user-select: none; }
.rg-pl-col { display: flex; justify-content: flex-end; align-items: center; gap: 0; margin-top: 8px; font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); }
.rg-sheet > .rg-pin { position: absolute; top: -10px; left: -10px; margin: 0; }
.rg-sheet.back > .rg-pin.p2 { left: auto; right: -10px; }
.rg-desk-pen { position: absolute; z-index: 3; left: 52%; bottom: 6%; width: 34%; height: 9px; border-radius: 5px; transform: rotate(-24deg); background: linear-gradient(90deg, var(--ink) 0 84%, var(--muted) 84% 92%, var(--ink) 92%); box-shadow: 0 10px 14px -6px color-mix(in srgb, var(--ink) 60%, transparent); }

/* ---------- 07. La recherche : la bande sombre ---------- */
.rg-band { background: var(--band); color: var(--band-text); border: 0; }
.rg-band-head { max-width: 760px; margin: 0 auto clamp(40px, 5vw, 56px); text-align: center; display: grid; justify-items: center; }
.rg-band .kicker { color: var(--band-accent); }
.rg-band .rg-num { color: var(--band-accent); }
.rg-band h2 { color: var(--band-text); margin-top: 18px; }
.rg-band .lede { color: var(--band-muted); margin-top: 20px; }
.rg-kbd { display: inline-grid; place-items: center; min-width: 26px; height: 26px; padding: 0 6px; border: 1px solid var(--band-line); border-bottom-width: 2px; border-radius: 7px; font: 500 13px/1 var(--sans); color: var(--band-text); background: color-mix(in srgb, var(--surface) 5.1%, transparent); vertical-align: 2px; }
.rg-palette {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink); max-width: 920px; margin: 0 auto; background: var(--papier-rg-palette-bg); border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 1px var(--papier-rg-palette-edge), 0 40px 90px -30px var(--papier-rg-palette-shadow); font-size: 13.5px; --rg-pin-bg: var(--papier-rg-accent); --rg-pin-fg: var(--papier-rg-white); }
.rg-pal-input { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--ink-line); font-size: 20px; }
.rg-pal-input svg { width: 20px; height: 20px; color: var(--ink-muted); }
.rg-pal-input .caret { display: inline-block; width: 1.5px; height: 22px; margin-left: 2px; vertical-align: -4px; background: var(--papier-rg-accent); animation: rg-blink 1.1s steps(1) infinite; }
@keyframes rg-blink { 50% { opacity: 0; } }
.rg-pal-input kbd { border-radius: 6px; border: 1px solid var(--line); padding: 1px 6px; font: 500 11px/1.5 var(--sans); margin-left: auto; color: var(--ink-muted); border-color: var(--ink-line); background: var(--papier-rg-white); }
.rg-pal-cols { display: grid; grid-template-columns: 1.15fr 1fr; }
.rg-pal-cols > div + div { border-left: 1px solid var(--ink-line); }
.rg-pal-group { padding: 12px 10px 6px; }
.rg-pal-group > p { display: flex; align-items: center; padding: 2px 10px 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-muted); font-weight: 500; }
.rg-pal-row { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 7px 10px; border-radius: 10px; }
.rg-pal-row.on { background: var(--papier-rg-wash); }
.rg-pal-row img { width: 34px; height: 34px; object-fit: cover; border-radius: 5px; }
.rg-pal-row b { display: block; font-weight: 500; }
.rg-pal-row small { display: block; color: var(--ink-muted); font-size: 12px; }
.rg-pal-row .ret { width: 16px; height: 16px; color: var(--papier-rg-accent); }
.rg-pal-row .ic { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: var(--papier-rg-wash); color: var(--papier-rg-accent); }
.rg-pal-row .ic svg { width: 17px; height: 17px; }
.rg-pal-foot { display: flex; align-items: center; gap: 18px; padding: 11px 22px; border-top: 1px solid var(--ink-line); background: var(--papier-rg-palette-foot); font-size: 12px; color: var(--ink-muted); }
.rg-pal-foot span { display: inline-flex; align-items: center; gap: 5px; }
.rg-pal-foot kbd { background: var(--papier-rg-white); border-color: var(--ink-line); color: var(--ink-muted); margin-left: auto; font: 500 11px/1.5 var(--sans); padding: 1px 6px; border: 1px solid var(--line); border-radius: 6px; margin: 0; }
.rg-band .rg-notes-cols { max-width: 920px; margin: clamp(36px, 4vw, 48px) auto 0; }
.rg-band .rg-notes-cols li { border-top-color: var(--band-line); color: var(--band-text); }
.rg-band .rg-n { border-color: var(--band-accent); color: var(--band-accent); }

/* ---------- 08. La page du matin ---------- */
.rg-morning { --ink-line: var(--line); --ink-muted: var(--muted);
  --ink: var(--text); max-width: 560px; width: 100%; justify-self: center; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow-paper); padding: 24px; display: grid; gap: 18px; font-size: 13.5px; }
.rg-morning-head { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; }
.rg-date { width: 78px; display: grid; justify-items: center; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: var(--bg); box-shadow: 0 6px 14px -10px color-mix(in srgb, var(--ink) 50.2%, transparent); }
.rg-date b { order: 2; font-family: var(--serif); font-weight: 400; font-size: 40px; line-height: 1.05; padding: 4px 0 2px; }
.rg-morning-head > span:last-child b { display: block; font-family: var(--serif); font-weight: 400; font-size: 30px; line-height: 1.1; }
.rg-morning-head > span:last-child small { display: block; color: var(--muted); font-size: 14px; margin-top: 4px; }
.rg-prio { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px; border-radius: 14px; background: var(--st-amber-bg); color: var(--ink); }
.rg-prio-art { display: block; width: 64px; height: 76px; overflow: hidden; border-radius: 3px; box-shadow: 0 6px 12px -6px color-mix(in srgb, var(--ink) 50.2%, transparent); }
.rg-prio small { display: block; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--st-amber); font-weight: 500; }
.rg-prio b { display: block; font-family: var(--serif); font-weight: 400; font-size: 21px; color: var(--st-amber); }
.rg-prio em { display: block; font-style: normal; font-size: 12.5px; color: var(--band-line); }
.rg-prio .mbtn { background: var(--on-accent); color: var(--text); border-color: var(--stage); }
.rg-prio > .rg-pin { position: absolute; top: -9px; left: -9px; margin: 0; }
.rg-kpis { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.rg-kpis span { padding: 12px 12px 12px 0; display: grid; font-size: 12.5px; color: var(--muted); line-height: 1.3; }
.rg-kpis span + span { padding-left: 14px; border-left: 1px solid var(--line); }
.rg-kpis b { font-family: var(--serif); font-weight: 400; font-size: 32px; line-height: 1.05; color: var(--text); }
.rg-kpis > .rg-pin { position: absolute; top: -11px; right: -6px; margin: 0; }
.rg-morning-list { display: grid; gap: 2px; }
.rg-morning-list .rg-block-title { color: var(--muted); margin-top: 6px; }
.rg-mrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--line); }
.rg-mrow span:first-child { font-weight: 500; }
.rg-mrow small { display: block; font-weight: 400; color: var(--muted); font-size: 12px; }

/* ---------- 09. Le registre ---------- */
.rg-ledger {
  color: var(--ink); --st-gray: var(--papier-rg-gray); --st-gray-bg: var(--papier-rg-gray-bg); --st-red: var(--papier-rg-red);
  --st-red-bg: var(--papier-rg-red-bg); --st-amber: var(--papier-rg-amber); --st-amber-bg: var(--papier-rg-amber-bg); --st-green: var(--papier-rg-green);
  --st-green-bg: var(--papier-rg-green-bg); --ink-line: var(--papier-rg-line); --ink-muted: var(--papier-rg-muted);
  --ink: var(--papier-rg-ink);
  position: relative; background-color: var(--rg-card); border-radius: 4px; padding: 0 0 46px;
  box-shadow: 0 1px 1px var(--papier-rg-shadow-hairline), 0 26px 60px -24px var(--papier-rg-shadow-card); font-size: 13px; line-height: 1.4;
  background-image: linear-gradient(90deg, transparent 112px, var(--papier-rg-rule-red) 112px 113.5px, transparent 113.5px 116px, var(--papier-rg-rule-red) 116px 117.5px, transparent 117.5px);
}
:root[data-theme="dark"] .rg-ledger { box-shadow: 0 1px 1px var(--papier-rg-shadow-dark-edge), 0 30px 70px -24px var(--papier-rg-ledger-shadow); }
.rg-ledger::before { /* la reliure */
  content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; border-radius: 4px 0 0 4px;
  background: repeating-linear-gradient(180deg, var(--papier-rg-binding-rule) 0 2px, transparent 2px 22px), linear-gradient(90deg, var(--papier-rg-binding-low), var(--papier-rg-binding-high));
}
.rg-ledger-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 22px 24px 14px 132px; border-bottom: 2px solid var(--ink); }
.rg-ledger-head small { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-muted); }
.rg-ledger-head b { display: block; font-family: var(--serif); font-weight: 400; font-size: 26px; line-height: 1.1; }
.rg-team { display: inline-flex; align-items: center; }
.rg-team i { width: 30px; height: 30px; border-radius: 50%; display: inline-grid; place-items: center; font-style: normal; font-size: 11px; font-weight: 600; background: var(--papier-rg-wash); color: var(--papier-rg-accent); border: 2px solid var(--rg-card); }
.rg-team i + i { margin-left: -8px; }
.rg-team i.b { background: var(--papier-rg-green-bg); color: var(--papier-rg-green); }
.rg-jr .who i.b { background: var(--papier-rg-green-bg); color: var(--papier-rg-green); }
.rg-team i.c { background: var(--papier-rg-amber-bg); color: var(--papier-rg-amber); }
.rg-jr .who i.c { background: var(--papier-rg-amber-bg); color: var(--papier-rg-amber); }
.rg-team .rg-pin { border: 0; width: 22px; height: 22px; margin-left: 10px; background: var(--papier-rg-accent); color: var(--papier-rg-white); }
.rg-jr { display: grid; grid-template-columns: 100px minmax(0, 1fr) 104px; gap: 16px; align-items: center; min-height: 52px; padding: 8px 20px 8px 14px; border-bottom: 1px solid var(--rg-card-rule); }
.rg-jr > span:first-child { font-size: 12px; color: var(--ink-muted); font-variant-numeric: tabular-nums; padding-left: 4px; }
.rg-jr > span:nth-child(2) { padding-left: 14px; }
.rg-jr small { display: block; color: var(--ink-muted); font-size: 12px; }
.rg-jh { min-height: 0; padding-block: 10px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-muted); }
.rg-jh span { display: inline-flex; align-items: center; }
.rg-jr .who { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; white-space: nowrap; }
.rg-jr .who i { color: var(--papier-rg-accent); background: var(--papier-rg-wash); font-weight: 600; font-style: normal; place-items: center; display: inline-grid; border-radius: 50%; width: 26px; height: 26px; font-size: 10px; border: 0; }
.rg-jr.fix { background: var(--papier-rg-correction-bg); }
.rg-stamp {
  position: absolute; right: 26px; bottom: -22px; display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 14px; border: 2px solid var(--papier-rg-green); border-radius: 8px; color: var(--papier-rg-green); background: var(--papier-rg-stamp-bg);
  font-size: 11.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; transform: rotate(-4deg);
  box-shadow: inset 0 0 0 2px var(--papier-rg-stamp-bg), inset 0 0 0 3px var(--papier-rg-stamp-line), 0 10px 18px -10px var(--papier-rg-shadow-card);
}
.rg-stamp svg { width: 18px; height: 18px; }
.rg-stamp .rg-pin { margin-left: 2px; background: var(--papier-rg-accent); color: var(--papier-rg-white); }

/* ---------- Garanties, au-delà du cœur ---------- */
.rg-assurances { padding-top: 28px; }
.rg-beyond-copy .actions { margin-top: 18px; }

/* ---------- Mouvement : les objets se posent quand on arrive sur eux ---------- */
@keyframes rg-settle { from { opacity: .25; transform: translateY(36px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .rg-chap .rg-object { animation: rg-settle linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
    .rg-reserve-photo { animation: rg-settle linear both; animation-timeline: view(); animation-range: entry 0% entry 60%; }
  }
}
@media (prefers-reduced-motion: reduce) {
  .rg-pal-input .caret { animation: none; }
}
@media print { .rg-chap .rg-object { animation: none !important; } .rg-reserve-photo { animation: none !important; } }

/* ---------- Adaptations ---------- */
@media (max-width: 1180px) {
  .rg-reserve { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
  .rg-notes-side { grid-column: 1 / -1; margin-top: 40px; grid-template-columns: 1fr 1fr; gap: 0 32px; border-top: 0; }
  .rg-notes-side li { border-top: 1px solid var(--line); border-bottom: 0; }
  .rg-notes-cols { grid-template-columns: 1fr 1fr; }
  .rg-hang-works { --pich: 225px; }
  .rg-hang-works li { grid-template-rows: 300px auto; }
  .rg-hang-works::before { top: 140px; }
}

@media (max-width: 1020px) {
  .rg-hero-stage { grid-template-columns: minmax(0, 1fr); }
  .rg-hero-wall { grid-template-columns: 150px minmax(0, 240px); justify-content: center; align-items: end; gap: 24px; }
  .rg-hero-cartel { width: 100%; margin: 0; }
  .rg-app { grid-template-columns: minmax(0, 1fr); }
  .rg-side { display: none; }
  .rg-toc-list { grid-template-columns: 1fr 1fr; }
  .rg-grid { grid-template-columns: minmax(0, 1fr); }
  .rg-grid.flip { grid-template-columns: minmax(0, 1fr); }
  .rg-grid.flip.wide { grid-template-columns: minmax(0, 1fr); }
  .rg-head { grid-template-columns: minmax(0, 1fr); }
  .rg-grid.flip > .rg-text { order: 0; }
  .rg-import { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rg-import-text { grid-column: 1 / -1; }
  .rg-files { justify-items: start; }
  .rg-files-arrow { transform: none; }
  .rg-hang-wall { grid-template-columns: minmax(0, 1fr); background: linear-gradient(180deg, var(--surface), var(--surface)); }
  .rg-polaroid { width: 220px; margin: 28px 0 18px 8px; }
  .rg-hang-works::before { display: none; }
  .rg-hang-works { grid-template-columns: 1fr 1fr; --pich: 205px; }
  .rg-hang-works li { grid-template-rows: 280px auto; }
  .rg-hang-cartel { background: var(--bg); }
  .rg-alt .rg-hang-cartel { background: var(--bg); }
  .rg-desk { min-height: 0; aspect-ratio: 5 / 4; }
}

@media (max-width: 720px) {
  .rg-hero-wall { grid-template-columns: 116px minmax(0, 1fr); gap: 18px; padding-left: 6px; }
  .rg-hero-cartel .t { font-size: 17px; }
  .rg-top { padding: 10px 12px; gap: 10px; }
  .rg-search > span { display: none; }
  .rg-search kbd { display: none; }
  .rg-search { flex: 0 0 auto; padding: 8px; }
  .rg-body { padding: 16px 12px 18px; }
  .rg-tools { display: none; }
  .rg-screen-title { font-size: 24px; }
  .rg-filters { flex-wrap: nowrap; overflow: hidden; mask-image: linear-gradient(90deg, var(--ink) 80%, transparent); }
  .rg-tr { grid-template-columns: 34px minmax(0, 1fr) auto; gap: 12px; padding: 9px 12px; }
  .rg-tr .c-tech { display: none; }
  .rg-tr .c-loc { display: none; }
  .rg-tr img { width: 34px; height: 42px; }

  .rg-toc-list { grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--line); }
  .rg-toc-list a { min-height: 56px; padding: 10px 2px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; grid-template-columns: 40px minmax(0, 1fr); }
  .rg-toc-list .n { font-size: 24px; }
  .rg-toc-list a:hover { transform: none; box-shadow: none; }

  .rg-num { font-size: 38px; }
  .rg-notes li { font-size: 15px; }
  .rg-notes-cols { grid-template-columns: minmax(0, 1fr); }
  .rg-notes-cols.three { grid-template-columns: minmax(0, 1fr); }
  .rg-notes-side { grid-template-columns: minmax(0, 1fr); }
  .rg-notes-cols li { padding-block: 12px; }
  .rg-notes-side li { padding-block: 12px; }

  .rg-wall { border-radius: 22px; }
  .rg-fiche-stage { grid-template-columns: minmax(0, 1fr); padding: 28px 14px 60px; }
  .rg-fiche-stage .rg-frame { width: 64%; margin: 0 0 0 4%; }
  .rg-fiche { margin: -48px 0 0; }
  .rg-fiche .fc-dl > .rg-pin { left: -26px; top: -11px; margin: 0; }
  .rg-tabs span:not(.on) { display: none; }

  .rg-reserve { grid-template-columns: minmax(0, 1fr); }
  .rg-reserve-photo { aspect-ratio: 4 / 3.4; }
  .rg-lieux { margin: -56px 8px 0; }
  .rg-lieu { grid-template-columns: 30px minmax(0, 1fr) 66px 50px; gap: 8px; padding: 9px 12px; }
  .rg-lieu-h { font-size: 10px; letter-spacing: .04em; }
  .rg-lieu-h .rg-pin { margin-left: 3px; }
  .rg-move { padding: 11px 12px; }
  .rg-import { grid-template-columns: minmax(0, 1fr); }
  .rg-files { grid-auto-flow: column; justify-content: start; align-items: center; }
  .rg-file.zip { transform: rotate(1.5deg); }
  .rg-slip { justify-self: center; transform: rotate(1deg); }

  .rg-cards { padding-top: 150px; }
  .rg-card.back { height: 160px; left: 3%; right: 1%; padding: 16px; }
  .rg-card.front { padding: 20px 16px 18px; transform: none; background-image: none; }
  .rg-card.front .rg-card-tab { right: 24px; }
  .rg-card-artist { grid-template-columns: 48px minmax(0, 1fr); }
  .rg-card-artist img { width: 48px; height: 48px; }
  .rg-langs { display: none; }
  .rg-contact-head { grid-template-columns: 46px minmax(0, 1fr); }
  .rg-contact-head .pill { grid-column: 2; justify-self: start; }
  .rg-req { grid-template-columns: 32px minmax(0, 1fr); }
  .rg-req .pill { grid-column: 2; justify-self: start; }

  .rg-hang { border-radius: 20px; }
  .rg-hang-head { padding: 16px; align-items: flex-start; }
  .rg-hang-head b { font-size: 22px; }
  .rg-hang-wall { padding: 0 10px; }
  .rg-polaroid { width: 180px; }
  .rg-hang-works { --pich: 150px; }
  .rg-hang-works li { grid-template-rows: 200px auto; }
  .rg-hang-pic { padding: 18px 8px 30px; }
  .rg-hang-pic::after { height: 30px; }
  .w2 .rg-hang-pic { padding-bottom: 26px; }
  .rg-hang-cartel { grid-template-columns: 22px minmax(0, 1fr); padding: 12px 8px 16px; font-size: 12.5px; }
  .rg-hang-cartel .k { width: 22px; height: 22px; font-size: 11px; }
  .rg-hang-cartel b { font-size: 13px; }
  .rg-hang-foot { padding: 12px 16px; }
  .rg-sale { gap: 22px 16px; padding: 24px 14px 20px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "work cartel" "tag tag" "panel panel"; }
  .rg-sale-side { display: contents; }
  .rg-sale-side .rg-cartel { margin-top: 8%; align-self: start; grid-area: cartel; padding: 12px; }
  .rg-sale-side .rg-cartel .t { font-size: 16px; }
  .rg-dot { top: 10px; right: 10px; width: 11px; height: 11px; }
  .rg-tag { grid-area: tag; justify-self: end; margin: 0 6px 0 0; width: min(100%, 280px); padding-left: 30px; font-size: 12.5px; transform: rotate(2deg); }
  .rg-tag::before { display: none; }
  .rg-sale-panel { padding: 14px; }
  .rg-prices { gap: 6px 18px; }

  .rg-desk { aspect-ratio: auto; min-height: 0; display: grid; padding: 28px 18px 52px; }
  .rg-sheet { position: relative; left: auto; right: auto; top: auto; }
  .rg-sheet.front .rg-sheet-foot { margin-top: 14px; }
  .rg-sheet.back { width: 70%; justify-self: end; order: -1; padding: 18px 14px 14px; }
  .rg-sheet.front { aspect-ratio: auto; padding: 22px 18px 16px; width: 84%; margin-top: -26%; }
  .rg-desk-pen { display: none; }

  .rg-band-head { text-align: left; justify-items: start; }
  .rg-palette { border-radius: 16px; }
  .rg-pal-input { padding: 14px 16px; font-size: 18px; }
  .rg-pal-cols { grid-template-columns: minmax(0, 1fr); }
  .rg-pal-cols > div + div { border-left: 0; border-top: 1px solid var(--ink-line); }
  .rg-pal-row .pill { font-size: 11px; padding: 2px 8px; }
  .rg-pal-foot { padding: 10px 16px; }

  .rg-morning { padding: 18px 14px; }
  .rg-morning-head > span:last-child b { font-size: 25px; }
  .rg-date { width: 70px; }
  .rg-date small { font-size: 9px; letter-spacing: .02em; }
  .rg-date b { font-size: 34px; }
  .rg-prio { grid-template-columns: 52px minmax(0, 1fr); }
  .rg-prio-art { width: 52px; height: 64px; }
  .rg-prio .mbtn { grid-column: 2; justify-self: start; }
  .rg-kpis b { font-size: 26px; }
  .rg-kpis span + span { padding-left: 10px; }

  .rg-ledger { background-image: linear-gradient(90deg, transparent 22px, var(--papier-rg-rule-red) 22px 23.5px, transparent 23.5px); padding-bottom: 54px; }
  .rg-ledger-head { padding: 18px 14px 12px 34px; flex-wrap: wrap; }
  .rg-jr { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 10px 14px 10px 34px; }
  .rg-jr > span:first-child { padding-left: 0; }
  .rg-jr > span:nth-child(2) { padding-left: 0; }
  .rg-jh { display: none; }
  .rg-stamp { right: 14px; bottom: -18px; font-size: 10.5px; padding: 8px 10px; }
}

@media (max-width: 400px) {
  .rg-hero-wall { grid-template-columns: 96px minmax(0, 1fr); }
  .rg-sheet.front { width: 88%; }
}

/* Au-delà du cœur : le titre tient sur trois lignes */
.rg-beyond-box { margin-top: 0; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.rg-beyond-box h2 { font-size: clamp(30px, 3.2vw, 44px); }
.rg-beyond-copy p { margin-top: 0; font-size: 16.5px; color: var(--text); }
@media (max-width: 1020px) { .rg-beyond-box { grid-template-columns: minmax(0, 1fr); } }

.rg-lieu .rg-cnt small { font: 400 10px/1.2 var(--sans); margin-left: 0; white-space: normal; overflow: visible; }
.rg-date small { text-transform: uppercase; letter-spacing: .06em; line-height: 1.25; font-size: 10.5px; color: var(--on-accent); background: var(--accent); text-align: center; width: 100%; order: 1; padding: 8px 4px; }
/* Objet avant texte en mobile, texte avant objet dans le DOM. */
@media (max-width: 767px) {
 .rg-grid > .rg-text { order: 2; }
 .rg-grid.flip > .rg-text { order: 2; }
 .rg-grid > .rg-object { order: 1; }
 #reserve > .wrap { display: flex; flex-direction: column; }
 #expositions > .wrap { display: flex; flex-direction: column; }
 #recherche > .wrap { display: flex; flex-direction: column; }
 #reserve .rg-head { order: 2; margin-top: 36px; }
 #expositions .rg-head { order: 2; margin-top: 36px; }
 #recherche .rg-band-head { order: 2; margin-top: 36px; }
 #expositions .rg-hang { order: 1; width: 100%; }
 #recherche .rg-palette { order: 1; width: 100%; }
 #expositions .rg-after { order: 3; }
 #recherche .rg-notes-cols { order: 3; }
 #reserve .rg-reserve { width: 100%; order: 1; display: contents; }
 #reserve .rg-reserve-photo { order: 0; }
 #reserve .rg-lieux { order: 1; width: calc(100% - 16px); }
 #reserve .rg-notes-side { order: 3; }
 #reserve .rg-import { order: 4; }
 .rg-import { display: flex; flex-direction: column; align-items: stretch; }
 .rg-import-text { order: 2; }
 .rg-files { order: 0; }
 .rg-slip { order: 1; align-self: center; }
 .rg-loc-tag { max-width: 82%; }
}
/* Recadrages des photos d'œuvres (à refaire si une photo change) */
.rg-crop-1 { --l:.13;--r:.135;--t:.075;--b:.195;--ar:.839; }
.rg-crop-2 { --l:.135;--r:.14;--t:.078;--b:.19;--ar:.775; }
.rg-crop-3 { --l:.13;--r:.11;--t:.04;--b:.01;--ar:.92; }
.rg-crop-4 { --l:.13;--r:.135;--t:.075;--b:.195;--ar:.839; }
.rg-crop-5 { --l:.1;--r:.1;--t:.075;--b:.095;--ar:.722; }
.rg-crop-6 { --l:.13;--r:.135;--t:.075;--b:.195;--ar:.839; }
.rg-views img.v2 { transform: scale(2.4); object-position: 40% 55%; }
.rg-views img.v3 { transform: scale(3); object-position: 70% 35%; }
.w2 .rg-hang-pic img { z-index: 1; position: relative; mix-blend-mode: multiply; object-fit: cover; aspect-ratio: 1; width: min(92%, calc(var(--pich) * .9)); object-position: 50% 70%; }
.rg-sheet-art img { object-fit: cover; height: 100%; width: 100%; object-position: 50% 60%; }
.rg-prio-art img { object-fit: cover; height: 100%; width: 100%; object-position: 50% 40%; }
.rg-lieu.on small { color: var(--text); }
.rg-lieu.on .rg-type { color: var(--text); }
.rg-beyond-box .kicker { color: var(--text); }
:root[data-theme="dark"] .rg-prices .marge dd { color: var(--band-accent); }
