/* =========================================================================
   RUE DE LA CLE - feuille du theme WordPress
   Concatenation de rdlc.css et rdlc-chrome.css de la maquette Next.
   PIEGE PAYE : l enveloppe de couche a ete DESENVELOPPEE proprement. Laisser
   une accolade nue a sa place est du CSS invalide et fait jeter TOUT le socle
   par le navigateur : fond, fontes, titres, et les liens repassent en bleu
   souligne.
   ========================================================================= */

/* =========================================================================
   SOCLE. Tailwind fournissait ces regles dans la maquette Next ; sans elles
   le theme WordPress est faux partout.
   PIEGE PAYE : sans border-box, un conteneur en width:100% avec 3.5rem de
   marge interieure mesure 1440+112 = 1552 px sur une fenetre de 1440, et la
   barre de navigation depasse de l ecran.
   ========================================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
ul,
ol,
dl,
dd {
  margin: 0;
}

/* Gutenberg enveloppe TOUTE image dans un <figure class="wp-block-image">.
   La maquette n'a aucun figure : cette boite en trop casse chaque image censee
   remplir son conteneur. Le hero n'affichait plus que 219 px d'image sur 900
   en mobile, le reste en aplat anthracite. `display: contents` rend le figure
   transparent a la mise en page ; l'image redevient enfant direct de son
   conteneur, avec ses propres classes. */
.rdlc-page figure.wp-block-image {
  display: contents;
}

ul,
ol {
  padding: 0;
  /* Tailwind supprime les puces dans la maquette. Sans cette ligne, chaque
     liste du site retrouve ses points noirs et son retrait : « Le Trousseau
     Signature » gagnait 392 px de haut. */
  list-style: none;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

/* -------------------------------------------------------------------------
   FONTES AUTO-HEBERGEES. Ce sont les FICHIERS EXACTS de la maquette Next,
   deposes dans la mediatheque. Ne pas repasser par fonts.googleapis.com :
   l'URL CSS2 ne sert pas les axes SOFT/WONK, l'italique de Fraunces repart
   alors en forme « wonky » et gagne 4 % de chasse par rapport a la maquette.
   Bonus : une requete tierce en moins, et aucune donnee visiteur envoyee a
   Google (le site a une politique de confidentialite).
   Regles reprises telles quelles de next/font, unicode-range compris.
   ------------------------------------------------------------------------- */

@font-face {
  font-family: Fraunces;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/fraunces-italic-latinext.woff2")
    format("woff2");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/fraunces-italic-latin.woff2")
    format("woff2");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/fraunces-latinext.woff2")
    format("woff2");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Fraunces;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/fraunces-latin.woff2")
    format("woff2");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/inter-latinext.woff2")
    format("woff2");
  unicode-range:
    U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301,
    U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/inter-latinext.woff2")
    format("woff2");
  unicode-range:
    U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329,
    U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0,
    U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/wp-content/uploads/2026/08/inter-latin.woff2")
    format("woff2");
  unicode-range:
    U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329,
    U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-fraunces: "Fraunces";
  --font-inter: "Inter";
}

/* =========================================================================
   RUE DE LA CLÉ : système de design
   Palette, échelle typographique, ornements et composants issus de la charte
   graphique fournie par la cliente. Tout est ciblé par CLASSES : la
   transposition WordPress supprime les attributs data-* sur les div.
   ========================================================================= */

:root {
  /* Palette cliente, au hex près */
  --rdlc-lin: #faf7f2;
  --rdlc-ivoire: #f2eee6;
  --rdlc-sauge: #a3ad9f;
  --rdlc-sauge-profond: #75816f;
  --rdlc-champagne: #a9886c;
  /* Encres accessibles (audit du 05/09/2026) : meme teinte, meme saturation,
     luminosite abaissee jusqu'a 4,5:1 sur lin (#faf7f2) et ivoire (#f2eee6).
     Reservees au TEXTE ; les ornements gardent --rdlc-champagne et
     --rdlc-sauge-profond. */
  --rdlc-champagne-encre: #83664d;
  --rdlc-sauge-encre: #656f60;
  --rdlc-anthracite: #1f1f1f;

  --rdlc-anthracite-70: rgba(31, 31, 31, 0.7);
  --rdlc-anthracite-45: rgba(31, 31, 31, 0.45);
  --rdlc-trait: rgba(31, 31, 31, 0.14);
  --rdlc-trait-clair: rgba(31, 31, 31, 0.08);

  /* Rythme vertical */
  /* Resserre le 03/08 : « ya beaucoup de vide aussi ». 9,5 rem en haut ET en
     bas de chaque section faisaient 19 rem entre deux blocs de contenu, soit
     plus de 300 px de creux sur un grand ecran, onze fois par page. Sa charte
     demande « marges genereuses » et « respirations larges », pas des trous. */
  --rdlc-section: clamp(4rem, 6.2vw, 6.75rem);
  --rdlc-gouttiere: clamp(1.25rem, 4vw, 3.5rem);
  --rdlc-max: 90rem;
  --rdlc-texte-max: 40rem;

  /* Mouvement : une seule courbe pour tout le site */
  --rdlc-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --rdlc-lent: 900ms;
  --rdlc-moyen: 620ms;
  --rdlc-court: 320ms;
}

/* -------------------------------------------------------------------------
   Défauts d'éléments : OBLIGATOIREMENT dans @layer base :
   hors layer, ils écraseraient les utilitaires Tailwind v4.
   ------------------------------------------------------------------------- */
/* socle d elements, desenveloppe : sans Tailwind il n y a pas
   d utilitaires a battre */

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: auto;
}

body {
  background: var(--rdlc-lin);
  color: var(--rdlc-anthracite);
  font-family: var(--font-inter), system-ui, sans-serif;
  font-size: clamp(1rem, 0.97rem + 0.15vw, 1.0625rem);
  line-height: 1.68;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 100;
  font-weight: 300;
  letter-spacing: -0.012em;
  line-height: 1.12;
  color: var(--rdlc-anthracite);
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
video {
  display: block;
  max-width: 100%;
}

::selection {
  background: var(--rdlc-sauge);
  color: #fff;
}

:focus-visible {
  outline: 1px solid var(--rdlc-champagne);
  outline-offset: 3px;
}

/* =========================================================================
   MISE EN PAGE
   ========================================================================= */

/* Filet de securite 07/08 : aucun debord horizontal ne doit jamais creer de
   scroll lateral. clip ne cree PAS de scroll container : sticky et reveals
   restent intacts. */
main {
  overflow-x: clip;
}

.rdlc-shell {
  width: 100%;
  max-width: var(--rdlc-max);
  margin-inline: auto;
  padding-inline: var(--rdlc-gouttiere);
}

.rdlc-shell--etroit {
  max-width: 62rem;
}

.rdlc-section {
  padding-block: var(--rdlc-section);
}
.rdlc-section--ivoire {
  background: var(--rdlc-ivoire);
}
.rdlc-section--sauge {
  background: var(--rdlc-sauge-profond);
  color: var(--rdlc-lin);
}
.rdlc-section--sauge h1,
.rdlc-section--sauge h2,
.rdlc-section--sauge h3 {
  color: var(--rdlc-lin);
}

.rdlc-mesure {
  max-width: var(--rdlc-texte-max);
}

/* =========================================================================
   TYPOGRAPHIE
   ========================================================================= */

.rdlc-kicker {
  font-family: var(--font-inter), sans-serif;
  font-size: clamp(0.6875rem, 0.66rem + 0.1vw, 0.75rem);
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--rdlc-champagne-encre);
  line-height: 1;
}

.rdlc-section--sauge .rdlc-kicker {
  color: #faf7f2;
}

.rdlc-hero-titre {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 144;
  font-weight: 300;
  /* Borné à 4.25rem : la colonne du hero ne fait que 42 %, au-delà le titre
     part sur cinq lignes et écrase le reste de la colonne. */
  font-size: clamp(2.5rem, 1.7rem + 2.6vw, 4.25rem);
  line-height: 1.08;
  letter-spacing: -0.016em;
}

.rdlc-h1 {
  font-size: clamp(2.125rem, 1.5rem + 2.5vw, 3.5rem);
  line-height: 1.1;
}

.rdlc-h2 {
  font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.25rem);
  line-height: 1.18;
  color: var(--rdlc-sauge-encre);
}

.rdlc-h3 {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 24;
  font-weight: 600;
  font-size: clamp(0.9375rem, 0.9rem + 0.15vw, 1.0625rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rdlc-champagne-encre);
  line-height: 1.4;
}

/* L'italique porte le mot qui compte : relevé sur ses références */
.rdlc-italique {
  font-style: italic;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 144;
}

.rdlc-chapo {
  font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
  line-height: 1.62;
  color: var(--rdlc-anthracite-70);
}

.rdlc-legende {
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--rdlc-anthracite-70);
}

/* =========================================================================
   ORNEMENTS : signatures de la maison
   ========================================================================= */

/* Filet à losange : le séparateur officiel, repris de sa charte.
   Aucun autre séparateur n'est admis sur le site. */
.rdlc-filet {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  width: 100%;
}

.rdlc-filet::before,
.rdlc-filet::after {
  content: "";
  height: 1px;
  flex: 1;
  background: var(--rdlc-champagne);
  opacity: 0.5;
}

.rdlc-filet i {
  width: 6px;
  height: 6px;
  flex: none;
  background: var(--rdlc-champagne);
  transform: rotate(45deg);
}

.rdlc-filet--court::before,
.rdlc-filet--court::after {
  max-width: 4.5rem;
}

.rdlc-filet--pointille::before,
.rdlc-filet--pointille::after {
  background: none;
  border-top: 1px dashed var(--rdlc-champagne);
  opacity: 0.45;
}

/* Quadrilobe : l'anneau de la clé réduit en puce de liste.
   Remplace toutes les puces du site. */
.rdlc-liste {
  list-style: none;
  padding: 0;
  margin: 0;
}

.rdlc-liste > li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.7rem;
}

.rdlc-liste > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 9px;
  height: 9px;
  background: var(--rdlc-champagne);
  -webkit-mask: var(--rdlc-quadrilobe) center / contain no-repeat;
  mask: var(--rdlc-quadrilobe) center / contain no-repeat;
}

:root {
  --rdlc-quadrilobe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6 A6 6 0 0 1 18 6 A6 6 0 0 1 18 18 A6 6 0 0 1 6 18 A6 6 0 0 1 6 6 Z' fill='%23000'/%3E%3C/svg%3E");
}

/* Arche : masque réservé à TROIS emplacements dans tout le site.
   Rayon en haut uniquement, montants droits, jamais de pilule. */
.rdlc-arche {
  border-start-start-radius: 50vw;
  border-start-end-radius: 50vw;
  overflow: hidden;
}

/* =========================================================================
   BOUTONS ET LIENS
   Relevé au zoom sur ses documents : libellés en serif petites capitales
   espacées, bouton plein avec liseré intérieur (double cadre).
   ========================================================================= */

.rdlc-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.05rem 2.1rem;
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 24;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  background: var(--rdlc-sauge-profond);
  color: var(--rdlc-lin);
  overflow: hidden;
  isolation: isolate;
  transition: color var(--rdlc-court) var(--rdlc-ease);
}

/* le liseré intérieur du double cadre */
.rdlc-btn::before {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px solid rgba(250, 247, 242, 0.34);
  pointer-events: none;
  z-index: 2;
}

/* remplissage vertical au survol */
.rdlc-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--rdlc-anthracite);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
  z-index: -1;
}

.rdlc-btn:hover::after,
.rdlc-btn:focus-visible::after {
  transform: scaleY(1);
}

.rdlc-btn--ghost {
  background: transparent;
  color: var(--rdlc-anthracite);
  box-shadow: inset 0 0 0 1px var(--rdlc-trait);
}

.rdlc-btn--ghost::before {
  display: none;
}
.rdlc-btn--ghost::after {
  background: var(--rdlc-anthracite);
}
.rdlc-btn--ghost:hover,
.rdlc-btn--ghost:focus-visible {
  color: var(--rdlc-lin);
}

.rdlc-btn--clair {
  background: transparent;
  color: var(--rdlc-lin);
  box-shadow: inset 0 0 0 1px rgba(250, 247, 242, 0.4);
}
.rdlc-btn--clair::before {
  display: none;
}
.rdlc-btn--clair::after {
  background: var(--rdlc-lin);
}
.rdlc-btn--clair:hover,
.rdlc-btn--clair:focus-visible {
  color: var(--rdlc-anthracite);
}

/* Lien texte : souligné qui se déploie depuis la gauche + flèche qui avance */
.rdlc-lien {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--font-inter), sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--rdlc-sauge-encre);
  padding-bottom: 3px;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 1px;
  transition:
    color var(--rdlc-court) var(--rdlc-ease),
    background-size var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-lien svg {
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}
.rdlc-lien:hover svg,
.rdlc-lien:focus-visible svg {
  transform: translateX(4px);
}

/* Variante des cartes : le trait se déploie au survol de la carte entière */
.rdlc-lien--retractable {
  background-size: 0% 1px;
}
.rdlc-carte:hover .rdlc-lien--retractable,
.rdlc-lien--retractable:hover,
.rdlc-lien--retractable:focus-visible {
  background-size: 100% 1px;
}

/* =========================================================================
   CARTES : anatomie relevée sur sa charte :
   pastille ronde à icône chevauchant le bord supérieur, titre serif en
   petites capitales, sous-titre italique champagne, filet à losange en pied.
   ========================================================================= */

.rdlc-carte {
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--rdlc-lin);
  /* Seul rayon du site : sa charte montre une carte a coins arrondis.
     Partout ailleurs, angles vifs. */
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px var(--rdlc-trait-clair);
  transition:
    box-shadow var(--rdlc-moyen) var(--rdlc-ease),
    opacity var(--rdlc-moyen) var(--rdlc-ease),
    filter var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-carte__pastille {
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  width: 3.9rem;
  height: 3.9rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--rdlc-lin);
  box-shadow: inset 0 0 0 1px var(--rdlc-champagne);
  color: var(--rdlc-champagne-encre);
  z-index: 3;
}

/* Hauteur imposée : sans elle, un titre sur deux lignes décale l'image de sa
   carte et les trois trousseaux ne s'alignent plus. */
.rdlc-carte__entete {
  border-start-start-radius: 14px;
  border-start-end-radius: 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 9.5rem;
  background: var(--rdlc-sauge-profond);
  color: var(--rdlc-lin);
  text-align: center;
  padding: 2.4rem 1.5rem 1.4rem;
}

.rdlc-carte__titre {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 24;
  font-weight: 400;
  font-size: clamp(0.9375rem, 0.88rem + 0.24vw, 1.125rem);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--rdlc-lin);
  line-height: 1.35;
}

.rdlc-carte__soustitre {
  margin-top: 0.45rem;
  font-family: var(--font-fraunces), Georgia, serif;
  font-style: italic;
  font-size: 0.9375rem;
  color: #faf7f2;
}

.rdlc-carte__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

.rdlc-carte__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  scale: 1.06;
  transition: scale var(--rdlc-lent) var(--rdlc-ease);
}

.rdlc-carte:hover .rdlc-carte__media img {
  scale: 1;
}

.rdlc-carte__corps {
  border-end-start-radius: 14px;
  border-end-end-radius: 14px;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.8rem 1.6rem 1.5rem;
  text-align: center;
}

.rdlc-carte__pied {
  margin-top: auto;
  padding-top: 1.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.9rem;
}

/* Grille intelligente : la carte survolée reste nette, ses sœurs s'effacent */
.rdlc-jeu-cartes:hover .rdlc-carte:not(:hover) {
  opacity: 0.58;
  filter: saturate(0.55);
}

/* =========================================================================
   RÉVÉLATIONS
   Un seul IntersectionObserver + balayage de secours (l'IO rate les éléments
   traversés trop vite). Jamais d'animation par élément en GSAP.
   ========================================================================= */

/* Amplitude relevée au getComputedStyle sur les templates haut de gamme
   (Sillage) : opacité 0.94 et 8 px de translation, PAS un 0 vers 1 à 40 px.
   Stagger mesuré à 60-80 ms par ligne. C'est très exactement ce qui sépare
   le luxe discret du template : une animation qu'on ne remarque pas. */
.rdlc-reveal {
  opacity: 0.94;
  transform: translate3d(0, 8px, 0);
  transition:
    opacity var(--rdlc-moyen) var(--rdlc-ease),
    transform var(--rdlc-moyen) var(--rdlc-ease);
  transition-delay: calc(var(--i, 0) * 70ms);
}

.rdlc-reveal.is-in {
  opacity: 1;
  transform: none;
}

/* Les images ne bougent pas : elles se posent d'un souffle d'échelle. */
.rdlc-reveal-media {
  opacity: 0.96;
  transform: scale(1.012);
  transition:
    opacity var(--rdlc-lent) var(--rdlc-ease),
    transform var(--rdlc-lent) var(--rdlc-ease);
  transition-delay: calc(var(--i, 0) * 70ms);
}

.rdlc-reveal-media.is-in {
  opacity: 1;
  transform: none;
}

/* Révélation d'image par masque plumeux : l'image se forme en fondu vaporeux */
.rdlc-voile-media {
  --rdlc-masque: linear-gradient(to top, transparent 0%, #000 42%, #000 100%);
  -webkit-mask-image: var(--rdlc-masque);
  mask-image: var(--rdlc-masque);
  -webkit-mask-size: 100% 260%;
  mask-size: 100% 260%;
  -webkit-mask-position: 0 -160%;
  mask-position: 0 -160%;
  transition:
    mask-position 1100ms var(--rdlc-ease),
    -webkit-mask-position 1100ms var(--rdlc-ease);
}

.rdlc-voile-media.is-in {
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
}

/* Composition du titre mot à mot, sous masque */
.rdlc-mot {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}

.rdlc-mot > span {
  display: inline-block;
  transform: translate3d(0, 108%, 0);
  transition: transform var(--rdlc-lent) var(--rdlc-ease);
  transition-delay: calc(var(--i, 0) * 70ms);
}

.rdlc-mot.is-in > span {
  transform: none;
}

/* Voile de lisibilité, systématique sur tout texte posé sur une image */
.rdlc-voile {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(20, 18, 16, 0.7) 0%,
    rgba(20, 18, 16, 0.42) 45%,
    rgba(20, 18, 16, 0.22) 100%
  );
  pointer-events: none;
}

/* Variante des bandeaux où le texte est centré sur toute la hauteur : le
   dégradé de bas en page ne suffit pas, le titre passe sur une zone claire. */
.rdlc-voile--plein {
  background: linear-gradient(
    to top,
    rgba(20, 18, 16, 0.56) 0%,
    rgba(20, 18, 16, 0.48) 50%,
    rgba(20, 18, 16, 0.56) 100%
  );
}

/* =========================================================================
   ACCESSIBILITÉ
   ========================================================================= */

@media (prefers-reduced-motion: reduce) {
  .rdlc-reveal,
  .rdlc-mot > span,
  .rdlc-voile-media {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
  }
}

.rdlc-invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Petite clé dans le bouton principal : elle en met une sur son modèle,
   à droite du libellé. Masque SVG pour qu'elle suive la couleur du texte. */
.rdlc-btn:not(.rdlc-btn--ghost):not(.rdlc-btn--clair)::after {
  content: "";
  position: absolute;
  inset: auto 1.15rem auto auto;
  width: 13px;
  height: 26px;
  background: currentColor;
  transform: none;
  z-index: 2;
  opacity: 0.9;
  -webkit-mask: var(--rdlc-cle) center / contain no-repeat;
  mask: var(--rdlc-cle) center / contain no-repeat;
  transition: opacity var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-btn:not(.rdlc-btn--ghost):not(.rdlc-btn--clair) {
  padding-right: 3.1rem;
}

/* le remplissage vertical du survol repasse en pseudo-element dedie */
.rdlc-btn::before {
  z-index: 2;
}

:root {
  --rdlc-cle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='8.5 4 17 32' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.2 7.9A3.5 3.5 0 0 1 20.2 7.9A3.5 3.5 0 0 1 20.2 14.9A3.5 3.5 0 0 1 13.2 14.9A3.5 3.5 0 0 1 13.2 7.9Z'/%3E%3Cpath d='M16.7 16.6V33'/%3E%3Cpath d='M16.7 22.6h4.6M16.7 26.4h3.4'/%3E%3C/svg%3E");
}

/* Filet du hero : plus court, aligné à gauche comme sur son modèle. */
.rdlc-hero__filet {
  max-width: 22rem;
  justify-content: flex-start;
  margin-block: 0.2rem;
}

.rdlc-hero__filet::before {
  max-width: 9rem;
}

.rdlc-hero__filet::after {
  max-width: 11rem;
}

/* Le lien de carte est en serif capitales espacées sur son modèle, pas en
   Inter bas de casse. */
.rdlc-carte__pied .rdlc-lien {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 24;
  font-weight: 500;
  /* Une ligne, dans les TROIS cartes. « Decouvrir le Trousseau de mise en
     place » cassait en deux et le pied de cette carte ne s'alignait plus. */
  font-size: 0.6875rem;
  letter-spacing: 0.115em;
  text-transform: uppercase;
  color: var(--rdlc-champagne-encre);
  text-align: center;
  line-height: 1.5;
}

/* Visuel posé dans le flux d'une note du Carnet : il déborde légèrement de la
   colonne de lecture pour respirer, sans jamais sortir de la page. */
.rdlc-note__visuel {
  width: 100%;
  overflow: hidden;
  border-radius: 14px;
}

@media (min-width: 60rem) {
  .rdlc-note__visuel {
    /* Deborde de la colonne SANS depasser la gouttiere : entre 960 et
       1100 px la gouttiere fait moins de 3rem et le visuel sortait de la
       page de 13 px (defaut pre-existant, attrape par la QA du 07/08). */
    width: calc(100% + 2 * min(3rem, var(--rdlc-gouttiere)));
    margin-inline: calc(-1 * min(3rem, var(--rdlc-gouttiere)));
  }
}

.rdlc-note__visuel img {
  width: 100%;
  height: clamp(14rem, 30vw, 24rem);
  object-fit: cover;
  display: block;
}
/* =========================================================================
   RUE DE LA CLÉ : anatomies de page
   Relevées sur la marketplace Framer (Lucera, The Aubrey, Sillage, Aurelia
   House, Avery Estate) puis réécrites aux codes de la charte cliente.
   Aucune composition n'est reprise telle quelle.
   ========================================================================= */

/* Rail de méta : la manchette de revue, sous la barre de navigation. */
.rdlc-rail {
  border-block: 1px solid var(--rdlc-trait-clair);
  font-size: 0.6875rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rdlc-anthracite-45);
}

.rdlc-rail__interieur {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 2.5rem;
}

@media (max-width: 47.9375rem) {
  .rdlc-rail__droite {
    display: none;
  }
}

/* -------------------------------------------------------------------------
   Navigation caméléon : transparente sur le hero, ivoire au scroll.
   ------------------------------------------------------------------------- */
/* Fond ivoire dès le repos : le hero est un split, la moitié droite est une
   photo sombre, et des liens anthracite posés dessus étaient illisibles.
   Lucera fait exactement cela : barre sur l'ivoire, photo qui commence
   dessous. */
.rdlc-nav {
  position: fixed;
  inset: 0 0 auto;
  z-index: 60;
  color: var(--rdlc-anthracite);
  background: var(--rdlc-lin);
  transition:
    background-color 350ms var(--rdlc-ease),
    color 350ms var(--rdlc-ease),
    box-shadow 350ms var(--rdlc-ease),
    transform 420ms var(--rdlc-ease);
}

.rdlc-nav .rdlc-shell {
  max-width: 102rem;
}

.rdlc-nav__interieur {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(2rem, 4vw, 4.5rem);
  height: 7rem;
  transition: height 350ms var(--rdlc-ease);
}

/* Une fois passe le hero : verre clair, la page defile visiblement dessous. */
.rdlc-nav.is-posee {
  background: rgba(250, 247, 242, 0.82);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
  box-shadow: inset 0 -1px 0 var(--rdlc-trait-clair);
}

/* Navigateurs sans backdrop-filter : on retombe sur un aplat opaque. */
@supports not (
  (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))
) {
  .rdlc-nav.is-posee {
    background: var(--rdlc-lin);
  }
  .rdlc-nav.is-claire {
    background: rgba(24, 24, 24, 0.62);
  }
}

.rdlc-nav.is-posee .rdlc-nav__interieur {
  height: 5rem;
}

/* La barre RESTE visible au defilement. Elle se retirait vers le haut des
   qu'on descendait : le menu n'etait plus accessible en pleine page. */
.rdlc-nav.is-cachee {
  transform: none;
}

.rdlc-nav__liens {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 1.7vw, 2.1rem);
}

@media (max-width: 74.9375rem) {
  .rdlc-nav__liens {
    display: none;
  }
}

.rdlc-nav__lien {
  position: relative;
  white-space: nowrap;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding-block: 0.35rem;
}

.rdlc-nav__lien::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-nav__lien:hover::after,
.rdlc-nav__lien[aria-current="page"]::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Bouton du menu au format tablette et mobile */
.rdlc-burger {
  display: none;
  align-items: center;
  gap: 0.6rem;
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: inherit;
}

@media (max-width: 74.9375rem) {
  .rdlc-burger {
    display: inline-flex;
  }
}

.rdlc-burger__traits {
  display: grid;
  gap: 4px;
  width: 20px;
}

.rdlc-burger__traits i {
  height: 1px;
  background: currentColor;
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-tiroir {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: var(--rdlc-lin);
  display: grid;
  align-content: center;
  gap: 0.5rem;
  padding: var(--rdlc-gouttiere);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 420ms var(--rdlc-ease),
    visibility 420ms;
}

.rdlc-tiroir.is-ouvert {
  opacity: 1;
  visibility: visible;
}

.rdlc-tiroir__lien {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 72;
  font-weight: 300;
  font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.75rem);
  line-height: 1.35;
  border-bottom: 1px solid var(--rdlc-trait-clair);
  padding-block: 0.6rem;
}

.rdlc-tiroir__fermer {
  position: absolute;
  top: 1.6rem;
  right: var(--rdlc-gouttiere);
  background: none;
  border: 0;
  cursor: pointer;
  font-size: 0.6875rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rdlc-anthracite);
}

/* -------------------------------------------------------------------------
   Marque
   ------------------------------------------------------------------------- */
.rdlc-marque {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.rdlc-marque img {
  height: 5.4rem;
  width: auto;
  transition: height 350ms var(--rdlc-ease);
}

.rdlc-nav.is-posee .rdlc-marque img {
  height: 4rem;
}

.rdlc-marque__nom {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 48;
  font-weight: 400;
  font-size: clamp(1.3rem, 1.2rem + 0.35vw, 1.6rem);
  line-height: 1;
  letter-spacing: -0.005em;
  white-space: nowrap;
}

.rdlc-marque__signature {
  display: block;
  margin-top: 0.34rem;
  font-family: var(--font-inter), sans-serif;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--rdlc-champagne-encre);
  white-space: nowrap;
}

/* -------------------------------------------------------------------------
   HERO PLEIN CADRE, anatomie relevée sur Aurelia House (Framer).
   Le split texte/média était le pattern le plus faible : au mobile il donnait
   un gros pavé de texte suivi d'une petite vidéo. Ici le média occupe tout
   l'écran, le texte s'ancre en bas à gauche, le lien en bas à droite.
   ------------------------------------------------------------------------- */
.rdlc-hero {
  position: relative;
  display: grid;
  align-items: end;
  min-height: 100svh;
  overflow: hidden;
  background: var(--rdlc-anthracite);
  isolation: isolate;
}

.rdlc-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.rdlc-hero__media video,
.rdlc-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Voile directionnel depuis le coin où vit le texte, jamais un voile uniforme
   qui grise la photo. */
.rdlc-hero__voile {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  /* Allege le 03/08 : « l'overlay est trop violent ». La photo doit rester
     lisible, le texte aussi. Le voile se concentre donc sur le bas-gauche,
     la ou vit le texte, et lache la photo partout ailleurs. */
  background:
    linear-gradient(
      to top,
      rgba(18, 17, 15, 0.62) 0%,
      rgba(18, 17, 15, 0.3) 34%,
      rgba(18, 17, 15, 0.04) 62%,
      rgba(18, 17, 15, 0.1) 100%
    ),
    linear-gradient(
      to right,
      rgba(18, 17, 15, 0.34) 0%,
      rgba(18, 17, 15, 0.08) 40%,
      transparent 66%
    );
}

.rdlc-hero__corps {
  position: relative;
  z-index: 1;
  color: var(--rdlc-lin);
  padding-top: 12rem;
  padding-bottom: clamp(3rem, 6vw, 5.5rem);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.5rem;
  flex-wrap: wrap;
}

.rdlc-hero__texte {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  max-width: 46rem;
}

/* Le defaut d element h1 pose dans @layer base impose l anthracite : il gagne
   sur la couleur heritee du conteneur. Le titre du hero etait donc anthracite
   sur une photo sombre, quasi invisible. */
.rdlc-hero__texte h1,
.rdlc-hero__texte .rdlc-hero-titre {
  color: var(--rdlc-lin);
}

.rdlc-hero .rdlc-kicker {
  color: #faf7f2;
}

.rdlc-hero__chapo {
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.1875rem);
  line-height: 1.6;
  color: #faf7f2;
  max-width: 34rem;
}

.rdlc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 0.6rem;
}

/* Ancré sur la même ligne de base, à l'opposé : la diagonale vaut mieux qu'un
   centrage. */
.rdlc-hero__coin {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.9rem;
  padding-bottom: 0.4rem;
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #faf7f2;
  text-align: right;
}

@media (max-width: 59.9375rem) {
  .rdlc-hero__coin {
    display: none;
  }
  .rdlc-hero__corps {
    padding-top: 14rem;
  }
}

/* Barre en verre depoli au-dessus du hero plein cadre.
   Elle etait TRANSPARENTE : le logo creme se posait sur les rideaux creme de
   la photo et devenait illisible. Un voile sombre floute garantit le contraste
   quelle que soit l'image derriere, sans masquer le hero. */
.rdlc-nav.is-claire {
  background: linear-gradient(
    to bottom,
    rgba(24, 24, 24, 0.46),
    rgba(24, 24, 24, 0.22)
  );
  -webkit-backdrop-filter: blur(14px) saturate(115%);
  backdrop-filter: blur(14px) saturate(115%);
  color: var(--rdlc-lin);
  box-shadow: inset 0 -1px 0 rgba(250, 247, 242, 0.16);
}

.rdlc-nav.is-claire .rdlc-marque__signature {
  color: #e4d4c2;
}

.rdlc-nav.is-claire .rdlc-nav__lien[style] {
  box-shadow: inset 0 0 0 1px rgba(250, 247, 242, 0.4) !important;
}

/* -------------------------------------------------------------------------
   Marquee de territoire
   ------------------------------------------------------------------------- */
.rdlc-marquee {
  overflow: hidden;
  border-block: 1px solid var(--rdlc-trait-clair);
  padding-block: 1.15rem;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent,
    #000 13%,
    #000 87%,
    transparent
  );
  mask-image: linear-gradient(
    90deg,
    transparent,
    #000 13%,
    #000 87%,
    transparent
  );
}

.rdlc-marquee__piste {
  display: flex;
  width: max-content;
  animation: rdlc-defile 62s linear infinite;
}

.rdlc-marquee__lot {
  display: flex;
  align-items: center;
  gap: 1.7rem;
  padding-right: 1.7rem;
  font-size: 0.6875rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rdlc-anthracite-45);
  white-space: nowrap;
}

.rdlc-marquee__lot svg {
  width: 5px;
  height: 5px;
  flex: none;
  color: var(--rdlc-champagne-encre);
}

@keyframes rdlc-defile {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rdlc-marquee__piste {
    animation: none;
  }
}

/* -------------------------------------------------------------------------
   Duo à colonne collante et étapes numérotées
   ------------------------------------------------------------------------- */
.rdlc-duo {
  display: grid;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}

@media (min-width: 60rem) {
  .rdlc-duo {
    grid-template-columns: 38% minmax(0, 1fr);
  }

  .rdlc-duo__collant {
    position: sticky;
    top: 7.5rem;
  }
}

.rdlc-etape {
  display: grid;
  gap: 0.7rem;
  padding-block: clamp(1.8rem, 3vw, 2.6rem);
  border-top: 1px solid var(--rdlc-trait-clair);
}

.rdlc-etape:last-child {
  border-bottom: 1px solid var(--rdlc-trait-clair);
}

.rdlc-etape__numero {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 24;
  font-variant-numeric: oldstyle-nums;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  color: var(--rdlc-champagne-encre);
}

/* -------------------------------------------------------------------------
   Accordéon des objections
   ------------------------------------------------------------------------- */
.rdlc-accordeon__item {
  border-top: 1px solid var(--rdlc-trait-clair);
}

.rdlc-accordeon__item:last-child {
  border-bottom: 1px solid var(--rdlc-trait-clair);
}

.rdlc-accordeon__bouton {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
  padding-block: clamp(1.2rem, 2vw, 1.6rem);
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 48;
  font-weight: 300;
  font-size: clamp(1.0625rem, 0.98rem + 0.4vw, 1.375rem);
  line-height: 1.35;
  color: var(--rdlc-anthracite);
  transition: color var(--rdlc-court) var(--rdlc-ease);
}

.rdlc-accordeon__bouton:hover {
  color: var(--rdlc-sauge-encre);
}

.rdlc-accordeon__signe {
  position: relative;
  flex: none;
  width: 12px;
  height: 12px;
  align-self: center;
}

.rdlc-accordeon__signe::before,
.rdlc-accordeon__signe::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: var(--rdlc-champagne);
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-accordeon__signe::after {
  transform: rotate(90deg);
}

.rdlc-accordeon__item.is-ouvert .rdlc-accordeon__signe::after {
  transform: rotate(0deg);
}

.rdlc-accordeon__panneau {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 480ms var(--rdlc-ease);
}

.rdlc-accordeon__item.is-ouvert .rdlc-accordeon__panneau {
  grid-template-rows: 1fr;
}

.rdlc-accordeon__contenu {
  overflow: hidden;
  color: var(--rdlc-anthracite-70);
}

.rdlc-accordeon__contenu > p {
  padding-bottom: 1.6rem;
  max-width: 34rem;
}

/* -------------------------------------------------------------------------
   Liste de territoire avec aperçu photo
   ------------------------------------------------------------------------- */
.rdlc-territoire {
  position: relative;
}

.rdlc-territoire__ligne {
  display: flex;
  align-items: baseline;
  gap: 1.4rem;
  padding-block: clamp(1.3rem, 2.4vw, 1.9rem);
  border-top: 1px solid var(--rdlc-trait-clair);
}

.rdlc-territoire__ligne:last-of-type {
  border-bottom: 1px solid var(--rdlc-trait-clair);
}

.rdlc-territoire__nom {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 72;
  font-weight: 300;
  font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.375rem);
  line-height: 1.15;
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-territoire__ligne:hover .rdlc-territoire__nom {
  transform: translateX(12px);
}

.rdlc-territoire__apercu {
  position: absolute;
  top: calc(-1 * clamp(9rem, 15vw, 13rem));
  right: 0;
  width: clamp(20rem, 26vw, 25rem);
  aspect-ratio: 4 / 5;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-territoire__apercu img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* L'apercu est VISIBLE par defaut, pas seulement au survol : sinon la moitie
   droite de la section reste vide sur une page au repos, et personne ne
   decouvre que la liste est survolable. */
.rdlc-territoire__apercu.is-actif {
  opacity: 1;
}

@media (max-width: 71.9375rem) {
  .rdlc-territoire__apercu {
    display: none;
  }
}

/* -------------------------------------------------------------------------
   Formulaire : étiquette flottante, filet qui passe en champagne au focus
   ------------------------------------------------------------------------- */
.rdlc-form {
  display: grid;
  gap: 1.9rem;
}

@media (min-width: 45rem) {
  .rdlc-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .rdlc-form__large {
    grid-column: 1 / -1;
  }
}

.rdlc-form__groupe {
  position: relative;
}

.rdlc-form__groupe input,
.rdlc-form__groupe select,
.rdlc-form__groupe textarea {
  width: 100%;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--rdlc-trait);
  padding: 1.4rem 0 0.6rem;
  font-family: inherit;
  font-size: 1rem;
  color: var(--rdlc-anthracite);
  border-radius: 0;
}

.rdlc-form__groupe textarea {
  resize: vertical;
  min-height: 6.5rem;
}

.rdlc-form__groupe input:focus,
.rdlc-form__groupe select:focus,
.rdlc-form__groupe textarea:focus {
  outline: none;
  border-bottom-color: var(--rdlc-champagne);
}

.rdlc-form__etiquette {
  position: absolute;
  left: 0;
  top: 1.35rem;
  font-size: 0.9375rem;
  color: var(--rdlc-anthracite-45);
  pointer-events: none;
  transform-origin: left top;
  transition:
    transform 220ms var(--rdlc-ease),
    color 220ms var(--rdlc-ease);
}

.rdlc-form__groupe:focus-within .rdlc-form__etiquette,
.rdlc-form__groupe input:not(:placeholder-shown) ~ .rdlc-form__etiquette,
.rdlc-form__groupe textarea:not(:placeholder-shown) ~ .rdlc-form__etiquette,
.rdlc-form__groupe select.is-rempli ~ .rdlc-form__etiquette {
  transform: translateY(-1.35rem) scale(0.76);
  color: var(--rdlc-champagne-encre);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* -------------------------------------------------------------------------
   Parallaxe, pilotée par la boucle unique de RevealManager
   ------------------------------------------------------------------------- */
.rdlc-parallaxe {
  overflow: hidden;
}

.rdlc-parallaxe > img,
.rdlc-parallaxe > video {
  transform: translate3d(0, var(--y, 0px), 0);
  will-change: transform;
  scale: 1.12;
}

/* -------------------------------------------------------------------------
   Grille de trois colonnes, filets obtenus par gap 1px sur fond.
   En auto-fit une grille de six items partait sur quatre colonnes et laissait
   deux cellules vides visibles. Le nombre de colonnes est donc imposé.
   ------------------------------------------------------------------------- */
.rdlc-grille-3 {
  display: grid;
  gap: 1px;
  background: var(--rdlc-trait-clair);
  border: 1px solid var(--rdlc-trait-clair);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 40rem) {
  .rdlc-grille-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 62rem) {
  .rdlc-grille-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.rdlc-grille-3 > * {
  background: var(--rdlc-lin);
  padding: clamp(1.8rem, 3vw, 2.6rem);
}

.rdlc-section--ivoire .rdlc-grille-3 > * {
  background: var(--rdlc-ivoire);
}

/* -------------------------------------------------------------------------
   SIGNATURE : la branche qui se dessine.
   Une seule polyligne, un seul stroke-dashoffset, piloté par --p que la
   boucle unique de RevealManager pose sur l'ancêtre .rdlc-jauge.
   Employée UNE SEULE FOIS sur tout le site (bloc du parcours).
   ------------------------------------------------------------------------- */
.rdlc-branche {
  position: absolute;
  top: 0;
  left: -4.5rem;
  width: 4rem;
  height: 100%;
  pointer-events: none;
  overflow: visible;
}

.rdlc-branche path {
  stroke-dashoffset: calc(var(--longueur, 2400) * (1px - var(--p, 0) * 1px));
  transition: stroke-dashoffset 120ms linear;
}

@media (max-width: 63.9375rem) {
  .rdlc-branche {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rdlc-branche path {
    stroke-dashoffset: 0;
  }
}

/* -------------------------------------------------------------------------
   FAMILLE DES TRACÉS QUI SE DESSINENT AU SCROLL
   Un path, un dasharray, un dashoffset piloté par --p que la boucle unique
   pose sur l'ancêtre .rdlc-jauge. Chaque page a son motif, jamais le même
   deux fois : c'est ce qui distingue une signature d'un gimmick.
   ------------------------------------------------------------------------- */
.rdlc-trace {
  position: absolute;
  top: 0;
  width: 4rem;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 1;
}

.rdlc-trace--gauche {
  left: -4.5rem;
}

.rdlc-trace--droite {
  right: -4.5rem;
}

.rdlc-trace path {
  stroke-dashoffset: calc(var(--longueur, 2400) * (1px - var(--p, 0) * 1px));
  transition: stroke-dashoffset 120ms linear;
}

/* Sous 1280px les gouttières latérales disparaissent : le tracé n'a plus de
   place et chevaucherait le texte. */
@media (max-width: 79.9375rem) {
  .rdlc-trace {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rdlc-trace path {
    stroke-dashoffset: 0;
  }
}

/* -------------------------------------------------------------------------
   Le filet à losange se trace lui aussi : les deux traits partent du losange
   et se déploient vers les bords. Présent partout, coût nul, jamais bruyant.
   ------------------------------------------------------------------------- */
.rdlc-trace-filet::before,
.rdlc-trace-filet::after {
  transform: scaleX(0);
  transition: transform 900ms var(--rdlc-ease);
}

.rdlc-trace-filet::before {
  transform-origin: right center;
}

.rdlc-trace-filet::after {
  transform-origin: left center;
}

.rdlc-trace-filet i {
  transform: rotate(45deg) scale(0);
  transition: transform 620ms var(--rdlc-ease);
}

.rdlc-trace-filet.is-in::before,
.rdlc-trace-filet.is-in::after {
  transform: scaleX(1);
}

.rdlc-trace-filet.is-in i {
  transform: rotate(45deg) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .rdlc-trace-filet::before,
  .rdlc-trace-filet::after {
    transform: scaleX(1);
  }
  .rdlc-trace-filet i {
    transform: rotate(45deg) scale(1);
  }
}

/* Motif a ratio conserve : il occupe le haut de la colonne, pas sa hauteur. */
.rdlc-trace--ratio {
  height: auto;
  aspect-ratio: 120 / 900;
}

/* -------------------------------------------------------------------------
   Rangée d'icônes des trousseaux : relevée telle quelle sur son modèle de
   homepage. Picto filaire au-dessus, libellé sur deux lignes en dessous.
   ------------------------------------------------------------------------- */
.rdlc-rangee {
  list-style: none;
  margin: 1.8rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
  gap: 1.1rem 0.6rem;
}

.rdlc-rangee > li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--rdlc-anthracite-70);
  text-wrap: balance;
}

.rdlc-rangee > li > span {
  color: var(--rdlc-champagne-encre);
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-carte:hover .rdlc-rangee > li > span {
  transform: translateY(-2px);
}

/* -------------------------------------------------------------------------
   Bandeau des CINQ valeurs de sa plaquette : icône à gauche, titre en
   capitales, deux lignes. Séparateurs verticaux fins. Repris de sa charte.
   auto-fit plutôt qu'un nombre de colonnes figé : à 4 valeurs la grille
   tombait juste en repeat(4), à 5 elle laissait la dernière seule sur une
   ligne. auto-fit range ce qui tient et donne les 5 de front dès 62rem.
   ------------------------------------------------------------------------- */
.rdlc-valeurs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1px;
  background: var(--rdlc-trait-clair);
}

@media (min-width: 40rem) {
  .rdlc-valeurs {
    grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
  }
}

.rdlc-valeurs > li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  background: var(--rdlc-lin);
  padding: clamp(1.6rem, 2.6vw, 2.2rem) clamp(1.2rem, 2vw, 1.8rem);
}

.rdlc-valeurs__picto {
  flex: none;
  color: var(--rdlc-champagne-encre);
  margin-top: 0.15rem;
}

.rdlc-valeurs__titre {
  font-family: var(--font-inter), sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rdlc-anthracite);
}

.rdlc-valeurs__texte {
  margin-top: 0.55rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--rdlc-anthracite-70);
}

/* =========================================================================
   PIED DE PAGE, repris de SA charte : bandeau vert sauge, marque en réserve,
   colonnes séparées par des filets verticaux, branche d'olivier qui déborde.
   ========================================================================= */
.rdlc-pied {
  position: relative;
  overflow: hidden;
  background: var(--rdlc-sauge-profond);
  color: #faf7f2;
}

.rdlc-pied__ornement {
  position: absolute;
  right: -4.5rem;
  bottom: -4.5rem;
  width: clamp(12rem, 21vw, 20rem);
  opacity: 0.85;
  height: auto;
  pointer-events: none;
}

.rdlc-pied__corps {
  position: relative;
  z-index: 1;
  display: grid;
  gap: clamp(2.4rem, 4vw, 3.5rem);
  grid-template-columns: minmax(0, 1fr);
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}

@media (min-width: 45rem) {
  .rdlc-pied__corps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Cinq colonnes seulement a partir de 80rem : a 1150px elles etaient trop
   etroites et le verrou de marque debordait sur les liens. */
@media (min-width: 80rem) {
  .rdlc-pied__corps {
    /* minmax et pas 1.35fr sec : a 1280 px exactement la colonne tombait a
       226 px alors que le verrou de marque en demande 239, et « MAISON DE
       CONCIERGERIE » etait coupe. Le plancher de 16rem le garantit. */
    grid-template-columns: minmax(16rem, 1.35fr) repeat(3, 1fr) 1.25fr;
    gap: clamp(1.5rem, 2.4vw, 2.6rem);
  }
}

/* Filets verticaux entre les colonnes, comme sur sa charte. */
@media (min-width: 80rem) {
  .rdlc-pied__colonne {
    padding-left: clamp(1.2rem, 2vw, 2.2rem);
    border-left: 1px solid rgba(242, 238, 230, 0.22);
  }
}

.rdlc-pied__marque img {
  height: 8.5rem;
  width: auto;
}

.rdlc-pied__marque > a {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  min-width: 0;
}

.rdlc-pied__nom {
  display: block;
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 72;
  font-weight: 400;
  font-size: clamp(1.5rem, 1.3rem + 0.6vw, 1.9rem);
  line-height: 1;
  color: #f7f4ee;
}

@media (min-width: 80rem) {
  .rdlc-pied__nom {
    white-space: nowrap;
  }
}

.rdlc-pied__signature {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.5625rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #d8c3a6;
}

.rdlc-pied__adresse {
  margin-top: 1.8rem;
  font-size: 0.8125rem;
  line-height: 2;
  color: #faf7f2;
}

.rdlc-pied__adresse a {
  border-bottom: 1px solid rgba(242, 238, 230, 0.35);
  padding-bottom: 1px;
}

.rdlc-pied__titre {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 24;
  font-weight: 500;
  font-size: 0.8125rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #f7f4ee;
  margin-bottom: 1.1rem;
}

.rdlc-pied__colonne ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.rdlc-pied__colonne li {
  margin-bottom: 0.65rem;
}

.rdlc-pied__colonne a {
  font-size: 0.875rem;
  line-height: 1.5;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 1px;
  padding-bottom: 2px;
  transition:
    color var(--rdlc-court) var(--rdlc-ease),
    background-size var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-pied__colonne a:hover {
  color: #f7f4ee;
  background-size: 100% 1px;
}

.rdlc-pied__texte {
  font-size: 0.8125rem;
  line-height: 1.65;
  color: #faf7f2;
  margin-bottom: 1.3rem;
  max-width: 24rem;
}

.rdlc-champ {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-bottom: 1px solid rgba(242, 238, 230, 0.35);
  padding-bottom: 0.6rem;
  max-width: 24rem;
}

.rdlc-champ input {
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  color: #f7f4ee;
  font-family: inherit;
  font-size: 0.9375rem;
  padding: 0.3rem 0;
}

.rdlc-champ input::placeholder {
  color: #faf7f2;
}

.rdlc-champ input:focus {
  outline: none;
}

.rdlc-champ button {
  flex: none;
  background: none;
  border: 0;
  cursor: pointer;
  color: #e4d4c2;
  font-family: var(--font-fraunces), Georgia, serif;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.rdlc-pied__bas {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.6rem;
  justify-content: space-between;
  padding-block: 1.3rem;
  border-top: 1px solid rgba(242, 238, 230, 0.22);
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #faf7f2;
}

.rdlc-pied__bas-liens {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}

.rdlc-pied__bas a:hover {
  color: #f7f4ee;
}

/* -------------------------------------------------------------------------
   Barre persistante : le CTA en pied d'écran demandé par le blueprint.
   Discrète par construction : filet champagne, fond ivoire, une phrase serif.
   ------------------------------------------------------------------------- */
.rdlc-barre {
  position: fixed;
  inset: auto 0 0;
  z-index: 55;
  background: var(--rdlc-ivoire);
  border-top: 1px solid var(--rdlc-champagne);
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  transition:
    transform 520ms var(--rdlc-ease),
    opacity 380ms var(--rdlc-ease),
    visibility 520ms;
}

.rdlc-barre.is-visible {
  transform: none;
  opacity: 1;
  visibility: visible;
}

.rdlc-barre__interieur {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-block: 0.85rem;
}

.rdlc-barre__phrase {
  font-family: var(--font-fraunces), Georgia, serif;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0,
    "opsz" 48;
  font-weight: 300;
  font-size: clamp(0.9375rem, 0.9rem + 0.3vw, 1.125rem);
  line-height: 1.3;
  color: var(--rdlc-anthracite);
  margin: 0;
}

.rdlc-barre__actions {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.8rem);
  flex: none;
}

.rdlc-barre__lien {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rdlc-sauge-encre);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  white-space: nowrap;
}

.rdlc-barre__bouton {
  padding: 0.8rem 1.5rem;
  font-size: 0.6875rem;
  white-space: nowrap;
}

/* Au mobile la phrase disparaît, on ne garde que l'action. */
@media (max-width: 47.9375rem) {
  .rdlc-barre__phrase {
    display: none;
  }
  .rdlc-barre__interieur {
    justify-content: center;
  }
  .rdlc-barre__actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* Sous 30rem les deux actions ne tiennent plus cote a cote : le libelle du
   bouton etait rogne et la cle mordait dessus. On ne garde que l action
   principale, pleine largeur. */
@media (max-width: 29.9375rem) {
  .rdlc-barre__lien {
    display: none;
  }
  .rdlc-barre__actions {
    justify-content: stretch;
  }
  .rdlc-barre__bouton {
    flex: 1;
    padding-inline: 1rem 2.6rem;
    font-size: 0.625rem;
    letter-spacing: 0.14em;
  }
}

/* Le pied de page ne doit pas rester masqué sous la barre. */
.rdlc-pied {
  padding-bottom: 4.5rem;
}

@media (prefers-reduced-motion: reduce) {
  .rdlc-barre {
    transition: none;
  }
}

/* =========================================================================
   Complements propres a WordPress : ce que la maquette Next portait en
   styles en ligne dans ses composants doit ici vivre en CLASSES, sinon
   Gutenberg les perd.
   ========================================================================= */

.rdlc-nav__lien--encadre {
  box-shadow: inset 0 0 0 1px var(--rdlc-trait);
  padding: 0.7rem 1.2rem;
}

.rdlc-nav.is-claire .rdlc-nav__lien--encadre {
  box-shadow: inset 0 0 0 1px rgba(250, 247, 242, 0.4);
}

/* Fondu croise des images de l accordeon */
.rdlc-accordeon__images {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--rdlc-ivoire);
}

.rdlc-accordeon__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  scale: 1.03;
  transition:
    opacity 600ms var(--rdlc-ease),
    scale 900ms var(--rdlc-ease);
}

.rdlc-accordeon__image.is-actif {
  opacity: 1;
  scale: 1;
}

.rdlc-form__reponse {
  margin-top: 1.2rem;
  font-size: 0.9375rem;
  color: var(--rdlc-sauge-encre);
}

/* Gutenberg enrobe le contenu : on neutralise ses marges par defaut pour que
   le rythme vertical reste celui de la maquette. */
.entry-content > *,
main > .wp-block-group {
  margin-block: 0;
}

/* -------------------------------------------------------------------------
   La fleche des liens passe en PSEUDO-ELEMENT au lieu d'un <svg> dans le <a>.
   Raison : un svg a l'interieur forcait le lien en bloc HTML brut cote
   Gutenberg. Sans lui, le lien tient dans un paragraphe et la cliente peut
   changer son libelle et sa destination d'un clic, comme le reste du texte.
   Rendu identique : meme trace, meme taille, meme decalage au survol.
   ------------------------------------------------------------------------- */
.rdlc-lien::after {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13.4 6.4 5.6 5.6-5.6 5.6'/%3E%3C/svg%3E")
    center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15'/%3E%3Cpath d='m13.4 6.4 5.6 5.6-5.6 5.6'/%3E%3C/svg%3E")
    center / contain no-repeat;
  transition: transform var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-lien:hover::after,
.rdlc-lien:focus-visible::after {
  transform: translateX(4px);
}

/* L'enveloppe posee autour d'un bouton isole pour qu'il devienne un bloc
   editable. Transparente a la mise en page cote site ; visible dans
   l'editeur, sinon le bloc serait impossible a selectionner. */
body:not(.wp-admin) .rdlc-enveloppe {
  display: contents;
}

/* Signature de l'agence : le LOGO, comme sur tous les autres sites du
   portefeuille. Blanc sur le vert sauge de la barre basse. */
.rdlc-pied__credit a {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  opacity: 0.85;
  transition: opacity var(--rdlc-moyen) var(--rdlc-ease);
}

.rdlc-pied__credit a:hover {
  opacity: 1;
}

.rdlc-pied__credit img {
  height: 20px;
  width: auto;
  display: block;
}

/* GENERE PAR wp/transpile.py — NE PAS EDITER A LA MAIN.
   Chaque regle reprend un style en ligne de la maquette Next.
   Selecteur triple : un style en ligne battait tout, une classe
   simple perdrait contre les regles a deux ou trois niveaux
   d app.css. */

.rdlc-s4c23632.rdlc-s4c23632.rdlc-s4c23632 { --i:0; }
figure.wp-block-image.rdlc-s4c23632 > img { --i:0; }
.rdlc-s1cdb0a7.rdlc-s1cdb0a7.rdlc-s1cdb0a7 { --i:1; }
figure.wp-block-image.rdlc-s1cdb0a7 > img { --i:1; }
.rdlc-sbb14b06.rdlc-sbb14b06.rdlc-sbb14b06 { --i:2; }
figure.wp-block-image.rdlc-sbb14b06 > img { --i:2; }
.rdlc-sc10b5dd.rdlc-sc10b5dd.rdlc-sc10b5dd { align-self:center;color:var(--rdlc-champagne-encre); }
figure.wp-block-image.rdlc-sc10b5dd > img { align-self:center;color:var(--rdlc-champagne-encre); }
.rdlc-s636bb02.rdlc-s636bb02.rdlc-s636bb02 { aspect-ratio:16 / 9; }
figure.wp-block-image.rdlc-s636bb02 > img { aspect-ratio:16 / 9; }
.rdlc-s8326189.rdlc-s8326189.rdlc-s8326189 { aspect-ratio:16 / 9;margin-top:0.6rem; }
figure.wp-block-image.rdlc-s8326189 > img { aspect-ratio:16 / 9;margin-top:0.6rem; }
.rdlc-sae2bc40.rdlc-sae2bc40.rdlc-sae2bc40 { aspect-ratio:3 / 4; }
figure.wp-block-image.rdlc-sae2bc40 > img { aspect-ratio:3 / 4; }
.rdlc-sa7c243c.rdlc-sa7c243c.rdlc-sa7c243c { aspect-ratio:3 / 4;direction:ltr; }
figure.wp-block-image.rdlc-sa7c243c > img { aspect-ratio:3 / 4;direction:ltr; }
.rdlc-scdb47cd.rdlc-scdb47cd.rdlc-scdb47cd { aspect-ratio:3 / 4;overflow:hidden; }
figure.wp-block-image.rdlc-scdb47cd > img { aspect-ratio:3 / 4;overflow:hidden; }
.rdlc-s3108742.rdlc-s3108742.rdlc-s3108742 { aspect-ratio:4 / 3;overflow:hidden;margin-bottom:1.8rem; }
figure.wp-block-image.rdlc-s3108742 > img { aspect-ratio:4 / 3;overflow:hidden;margin-bottom:1.8rem; }
.rdlc-sfc27e8b.rdlc-sfc27e8b.rdlc-sfc27e8b { aspect-ratio:4 / 5; }
figure.wp-block-image.rdlc-sfc27e8b > img { aspect-ratio:4 / 5; }
.rdlc-s6e49f3c.rdlc-s6e49f3c.rdlc-s6e49f3c { aspect-ratio:4 / 5;direction:ltr; }
figure.wp-block-image.rdlc-s6e49f3c > img { aspect-ratio:4 / 5;direction:ltr; }
.rdlc-sf1ca1c5.rdlc-sf1ca1c5.rdlc-sf1ca1c5 { aspect-ratio:4 / 5;overflow:hidden; }
figure.wp-block-image.rdlc-sf1ca1c5 > img { aspect-ratio:4 / 5;overflow:hidden; }
.rdlc-seeeaec5.rdlc-seeeaec5.rdlc-seeeaec5 { border-top:1px solid var(--rdlc-trait); }
figure.wp-block-image.rdlc-seeeaec5 > img { border-top:1px solid var(--rdlc-trait); }
.rdlc-s016b04a.rdlc-s016b04a.rdlc-s016b04a { border-top:1px solid var(--rdlc-trait-clair); }
figure.wp-block-image.rdlc-s016b04a > img { border-top:1px solid var(--rdlc-trait-clair); }
.rdlc-s543d41a.rdlc-s543d41a.rdlc-s543d41a { color:rgba(250,247,242,.75); }
figure.wp-block-image.rdlc-s543d41a > img { color:rgba(250,247,242,.75); }
.rdlc-se814450.rdlc-se814450.rdlc-se814450 { color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-se814450 > img { color:var(--rdlc-anthracite-70); }
.rdlc-sbd6a28f.rdlc-sbd6a28f.rdlc-sbd6a28f { color:var(--rdlc-anthracite-70);max-width:36rem; }
figure.wp-block-image.rdlc-sbd6a28f > img { color:var(--rdlc-anthracite-70);max-width:36rem; }
.rdlc-s6a46711.rdlc-s6a46711.rdlc-s6a46711 { color:var(--rdlc-champagne-encre); }
figure.wp-block-image.rdlc-s6a46711 > img { color:var(--rdlc-champagne-encre); }
.rdlc-sc9b5fe3.rdlc-sc9b5fe3.rdlc-sc9b5fe3 { color:var(--rdlc-sauge-encre);box-shadow:inset 0 -1px 0 currentColor; }
figure.wp-block-image.rdlc-sc9b5fe3 > img { color:var(--rdlc-sauge-encre);box-shadow:inset 0 -1px 0 currentColor; }
.rdlc-s99dc7ab.rdlc-s99dc7ab.rdlc-s99dc7ab { direction:ltr; }
figure.wp-block-image.rdlc-s99dc7ab > img { direction:ltr; }
.rdlc-s207541d.rdlc-s207541d.rdlc-s207541d { direction:ltr;min-width:0; }
figure.wp-block-image.rdlc-s207541d > img { direction:ltr;min-width:0; }
.rdlc-sfa9aecc.rdlc-sfa9aecc.rdlc-sfa9aecc { display:block; }
figure.wp-block-image.rdlc-sfa9aecc > img { display:block; }
.rdlc-sfdb5c99.rdlc-sfdb5c99.rdlc-sfdb5c99 { display:block;margin-top:0.5rem;max-width:34rem; }
figure.wp-block-image.rdlc-sfdb5c99 > img { display:block;margin-top:0.5rem;max-width:34rem; }
.rdlc-s4e87414.rdlc-s4e87414.rdlc-s4e87414 { display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.5rem, 3vw, 3rem);padding-block:clamp(2.2rem, 4vw, 3.4rem);border-top:1px solid var(--rdlc-trait-clair); }
figure.wp-block-image.rdlc-s4e87414 > img { display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.5rem, 3vw, 3rem);padding-block:clamp(2.2rem, 4vw, 3.4rem);border-top:1px solid var(--rdlc-trait-clair); }
.rdlc-secfe95e.rdlc-secfe95e.rdlc-secfe95e { display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.5rem, 3vw, 3rem);padding-block:clamp(2rem, 3.5vw, 3rem);border-top:1px solid var(--rdlc-trait); }
figure.wp-block-image.rdlc-secfe95e > img { display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.5rem, 3vw, 3rem);padding-block:clamp(2rem, 3.5vw, 3rem);border-top:1px solid var(--rdlc-trait); }
.rdlc-sb5c6218.rdlc-sb5c6218.rdlc-sb5c6218 { display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;margin-top:1.8rem; }
figure.wp-block-image.rdlc-sb5c6218 > img { display:flex;flex-wrap:wrap;gap:1.6rem 2.6rem;margin-top:1.8rem; }
.rdlc-s78f2717.rdlc-s78f2717.rdlc-s78f2717 { display:grid;gap:1.3rem;margin-top:1.8rem; }
figure.wp-block-image.rdlc-s78f2717 > img { display:grid;gap:1.3rem;margin-top:1.8rem; }
.rdlc-s74531fc.rdlc-s74531fc.rdlc-s74531fc { display:grid;gap:clamp(1.25rem, 2.5vw, 2rem);grid-template-columns:repeat(auto-fit, minmax(11rem, 1fr)); }
figure.wp-block-image.rdlc-s74531fc > img { display:grid;gap:clamp(1.25rem, 2.5vw, 2rem);grid-template-columns:repeat(auto-fit, minmax(11rem, 1fr)); }
.rdlc-sa601af7.rdlc-sa601af7.rdlc-sa601af7 { display:grid;gap:clamp(2rem, 3.5vw, 3.2rem);grid-template-columns:repeat(auto-fit, minmax(min(100%, 30rem), 1fr)); }
figure.wp-block-image.rdlc-sa601af7 > img { display:grid;gap:clamp(2rem, 3.5vw, 3.2rem);grid-template-columns:repeat(auto-fit, minmax(min(100%, 30rem), 1fr)); }
.rdlc-s5191eb8.rdlc-s5191eb8.rdlc-s5191eb8 { display:grid;gap:clamp(2rem, 3vw, 2.5rem);grid-template-columns:repeat(auto-fit, minmax(17rem, 1fr));margin-top:clamp(4.5rem, 7vw, 6rem); }
figure.wp-block-image.rdlc-s5191eb8 > img { display:grid;gap:clamp(2rem, 3vw, 2.5rem);grid-template-columns:repeat(auto-fit, minmax(17rem, 1fr));margin-top:clamp(4.5rem, 7vw, 6rem); }
.rdlc-sb0eac38.rdlc-sb0eac38.rdlc-sb0eac38 { display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 14rem), 1fr));column-gap:1.6rem;font-size:0.9375rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
figure.wp-block-image.rdlc-sb0eac38 > img { display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 14rem), 1fr));column-gap:1.6rem;font-size:0.9375rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
.rdlc-s7dbd9d2.rdlc-s7dbd9d2.rdlc-s7dbd9d2 { display:inline-flex;align-items:center;gap:1.7rem; }
figure.wp-block-image.rdlc-s7dbd9d2 > img { display:inline-flex;align-items:center;gap:1.7rem; }
.rdlc-s115d716.rdlc-s115d716.rdlc-s115d716 { flex:0 0 auto;font-family:var(--font-fraunces), Georgia, serif;font-variant-numeric:oldstyle-nums;font-size:0.875rem;letter-spacing:0.1em;color:var(--rdlc-champagne-encre);padding-top:0.3rem; }
figure.wp-block-image.rdlc-s115d716 > img { flex:0 0 auto;font-family:var(--font-fraunces), Georgia, serif;font-variant-numeric:oldstyle-nums;font-size:0.875rem;letter-spacing:0.1em;color:var(--rdlc-champagne-encre);padding-top:0.3rem; }
.rdlc-sda5cd67.rdlc-sda5cd67.rdlc-sda5cd67 { flex:1; }
figure.wp-block-image.rdlc-sda5cd67 > img { flex:1; }
.rdlc-se5a9ca5.rdlc-se5a9ca5.rdlc-se5a9ca5 { flex:1 1 16rem;min-width:0;aspect-ratio:4 / 3;overflow:hidden; }
figure.wp-block-image.rdlc-se5a9ca5 > img { flex:1 1 16rem;min-width:0;aspect-ratio:4 / 3;overflow:hidden; }
.rdlc-sed72fbe.rdlc-sed72fbe.rdlc-sed72fbe { flex:1 1 18rem;min-width:0;aspect-ratio:4 / 3;overflow:hidden; }
figure.wp-block-image.rdlc-sed72fbe > img { flex:1 1 18rem;min-width:0;aspect-ratio:4 / 3;overflow:hidden; }
.rdlc-sb9f901f.rdlc-sb9f901f.rdlc-sb9f901f { flex:999 1 21rem;min-width:0; }
figure.wp-block-image.rdlc-sb9f901f > img { flex:999 1 21rem;min-width:0; }
.rdlc-saf6c5b0.rdlc-saf6c5b0.rdlc-saf6c5b0 { font-family:var(--font-fraunces), Georgia, serif;color:var(--rdlc-champagne-encre); }
figure.wp-block-image.rdlc-saf6c5b0 > img { font-family:var(--font-fraunces), Georgia, serif;color:var(--rdlc-champagne-encre); }
.rdlc-s9abb8a9.rdlc-s9abb8a9.rdlc-s9abb8a9 { font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.1rem, 1rem + 0.5vw, 1.35rem);line-height:1.4; }
figure.wp-block-image.rdlc-s9abb8a9 > img { font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.1rem, 1rem + 0.5vw, 1.35rem);line-height:1.4; }
.rdlc-s2e91310.rdlc-s2e91310.rdlc-s2e91310 { font-size:1.0625rem; }
figure.wp-block-image.rdlc-s2e91310 > img { font-size:1.0625rem; }
.rdlc-sd094390.rdlc-sd094390.rdlc-sd094390 { font-size:clamp(1.35rem, 1.1rem + 0.8vw, 1.9rem); }
figure.wp-block-image.rdlc-sd094390 > img { font-size:clamp(1.35rem, 1.1rem + 0.8vw, 1.9rem); }
.rdlc-sba647f8.rdlc-sba647f8.rdlc-sba647f8 { font-size:clamp(1.3rem, 1rem + 1vw, 1.85rem);line-height:1.18;max-width:24ch; }
figure.wp-block-image.rdlc-sba647f8 > img { font-size:clamp(1.3rem, 1rem + 1vw, 1.85rem);line-height:1.18;max-width:24ch; }
.rdlc-sc78a118.rdlc-sc78a118.rdlc-sc78a118 { font-weight:500;color:var(--rdlc-anthracite); }
figure.wp-block-image.rdlc-sc78a118 > img { font-weight:500;color:var(--rdlc-anthracite); }
.rdlc-s023ebce.rdlc-s023ebce.rdlc-s023ebce { margin-bottom:1.4rem; }
figure.wp-block-image.rdlc-s023ebce > img { margin-bottom:1.4rem; }
.rdlc-s85225a5.rdlc-s85225a5.rdlc-s85225a5 { margin-bottom:2.6rem; }
figure.wp-block-image.rdlc-s85225a5 > img { margin-bottom:2.6rem; }
.rdlc-s1b73012.rdlc-s1b73012.rdlc-s1b73012 { margin-bottom:clamp(2.5rem, 4vw, 3.5rem); }
figure.wp-block-image.rdlc-s1b73012 > img { margin-bottom:clamp(2.5rem, 4vw, 3.5rem); }
.rdlc-s53896af.rdlc-s53896af.rdlc-s53896af { margin-top:0; }
figure.wp-block-image.rdlc-s53896af > img { margin-top:0; }
.rdlc-s0480b56.rdlc-s0480b56.rdlc-s0480b56 { margin-top:0.55rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s0480b56 > img { margin-top:0.55rem;color:var(--rdlc-anthracite-70); }
.rdlc-s3a2abb6.rdlc-s3a2abb6.rdlc-s3a2abb6 { margin-top:0.7rem; }
figure.wp-block-image.rdlc-s3a2abb6 > img { margin-top:0.7rem; }
.rdlc-sa44326b.rdlc-sa44326b.rdlc-sa44326b { margin-top:0.8rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-sa44326b > img { margin-top:0.8rem;color:var(--rdlc-anthracite-70); }
.rdlc-s74290e0.rdlc-s74290e0.rdlc-s74290e0 { margin-top:0.9rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s74290e0 > img { margin-top:0.9rem;color:var(--rdlc-anthracite-70); }
.rdlc-sca6d6ec.rdlc-sca6d6ec.rdlc-sca6d6ec { margin-top:0;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-sca6d6ec > img { margin-top:0;color:var(--rdlc-anthracite-70); }
.rdlc-sd9c9c41.rdlc-sd9c9c41.rdlc-sd9c9c41 { margin-top:1.1rem;font-size:clamp(1.4rem, 1.05rem + 1.1vw, 2.125rem);line-height:1.16;max-width:24ch; }
figure.wp-block-image.rdlc-sd9c9c41 > img { margin-top:1.1rem;font-size:clamp(1.4rem, 1.05rem + 1.1vw, 2.125rem);line-height:1.16;max-width:24ch; }
.rdlc-s02a008f.rdlc-s02a008f.rdlc-s02a008f { margin-top:1.2rem; }
figure.wp-block-image.rdlc-s02a008f > img { margin-top:1.2rem; }
.rdlc-s84358e6.rdlc-s84358e6.rdlc-s84358e6 { margin-top:1.2rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s84358e6 > img { margin-top:1.2rem;color:var(--rdlc-anthracite-70); }
.rdlc-sdf45c9b.rdlc-sdf45c9b.rdlc-sdf45c9b { margin-top:1.2rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
figure.wp-block-image.rdlc-sdf45c9b > img { margin-top:1.2rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
.rdlc-sf379dbd.rdlc-sf379dbd.rdlc-sf379dbd { margin-top:1.2rem;font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.1rem, 1rem + 0.5vw, 1.35rem);line-height:1.35;color:var(--rdlc-sauge-encre); }
figure.wp-block-image.rdlc-sf379dbd > img { margin-top:1.2rem;font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.1rem, 1rem + 0.5vw, 1.35rem);line-height:1.35;color:var(--rdlc-sauge-encre); }
.rdlc-sc3ba22f.rdlc-sc3ba22f.rdlc-sc3ba22f { margin-top:1.2rem;font-size:clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem); }
figure.wp-block-image.rdlc-sc3ba22f > img { margin-top:1.2rem;font-size:clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem); }
.rdlc-s0d3c425.rdlc-s0d3c425.rdlc-s0d3c425 { margin-top:1.2rem;margin-inline:auto; }
figure.wp-block-image.rdlc-s0d3c425 > img { margin-top:1.2rem;margin-inline:auto; }
.rdlc-s8739c37.rdlc-s8739c37.rdlc-s8739c37 { margin-top:1.3rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s8739c37 > img { margin-top:1.3rem;color:var(--rdlc-anthracite-70); }
.rdlc-s5a77155.rdlc-s5a77155.rdlc-s5a77155 { margin-top:1.4rem; }
figure.wp-block-image.rdlc-s5a77155 > img { margin-top:1.4rem; }
.rdlc-s8f2a1f2.rdlc-s8f2a1f2.rdlc-s8f2a1f2 { margin-top:1.4rem;color:rgba(250,247,242,.8); }
figure.wp-block-image.rdlc-s8f2a1f2 > img { margin-top:1.4rem;color:rgba(250,247,242,.8); }
.rdlc-s5e9e445.rdlc-s5e9e445.rdlc-s5e9e445 { margin-top:1.4rem;color:rgba(250,247,242,.85); }
figure.wp-block-image.rdlc-s5e9e445 > img { margin-top:1.4rem;color:rgba(250,247,242,.85); }
.rdlc-sf39af67.rdlc-sf39af67.rdlc-sf39af67 { margin-top:1.4rem;color:var(--rdlc-anthracite); }
figure.wp-block-image.rdlc-sf39af67 > img { margin-top:1.4rem;color:var(--rdlc-anthracite); }
.rdlc-se6ea6ad.rdlc-se6ea6ad.rdlc-se6ea6ad { margin-top:1.4rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-se6ea6ad > img { margin-top:1.4rem;color:var(--rdlc-anthracite-70); }
.rdlc-s67dfb4c.rdlc-s67dfb4c.rdlc-s67dfb4c { margin-top:1.4rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
figure.wp-block-image.rdlc-s67dfb4c > img { margin-top:1.4rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
.rdlc-s23f5fa7.rdlc-s23f5fa7.rdlc-s23f5fa7 { margin-top:1.4rem;color:var(--rdlc-lin); }
figure.wp-block-image.rdlc-s23f5fa7 > img { margin-top:1.4rem;color:var(--rdlc-lin); }
.rdlc-s01f3595.rdlc-s01f3595.rdlc-s01f3595 { margin-top:1.4rem;font-size:0.9375rem; }
figure.wp-block-image.rdlc-s01f3595 > img { margin-top:1.4rem;font-size:0.9375rem; }
.rdlc-s99914a1.rdlc-s99914a1.rdlc-s99914a1 { margin-top:1.4rem;margin-inline:auto; }
figure.wp-block-image.rdlc-s99914a1 > img { margin-top:1.4rem;margin-inline:auto; }
.rdlc-s23a8155.rdlc-s23a8155.rdlc-s23a8155 { margin-top:1.4rem;max-width:22ch; }
figure.wp-block-image.rdlc-s23a8155 > img { margin-top:1.4rem;max-width:22ch; }
.rdlc-s680854b.rdlc-s680854b.rdlc-s680854b { margin-top:1.4rem;max-width:36rem; }
figure.wp-block-image.rdlc-s680854b > img { margin-top:1.4rem;max-width:36rem; }
.rdlc-sb06fb3d.rdlc-sb06fb3d.rdlc-sb06fb3d { margin-top:1.5rem; }
figure.wp-block-image.rdlc-sb06fb3d > img { margin-top:1.5rem; }
.rdlc-s93c7f6a.rdlc-s93c7f6a.rdlc-s93c7f6a { margin-top:1.5rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s93c7f6a > img { margin-top:1.5rem;color:var(--rdlc-anthracite-70); }
.rdlc-s356750a.rdlc-s356750a.rdlc-s356750a { margin-top:1.6rem; }
figure.wp-block-image.rdlc-s356750a > img { margin-top:1.6rem; }
.rdlc-sfa772ad.rdlc-sfa772ad.rdlc-sfa772ad { margin-top:1.6rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-sfa772ad > img { margin-top:1.6rem;color:var(--rdlc-anthracite-70); }
.rdlc-s405b025.rdlc-s405b025.rdlc-s405b025 { margin-top:1.6rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
figure.wp-block-image.rdlc-s405b025 > img { margin-top:1.6rem;color:var(--rdlc-anthracite-70);max-width:38rem; }
.rdlc-s977f8b9.rdlc-s977f8b9.rdlc-s977f8b9 { margin-top:1.6rem;margin-bottom:1rem; }
figure.wp-block-image.rdlc-s977f8b9 > img { margin-top:1.6rem;margin-bottom:1rem; }
.rdlc-s8ce0456.rdlc-s8ce0456.rdlc-s8ce0456 { margin-top:1.6rem;max-width:40rem; }
figure.wp-block-image.rdlc-s8ce0456 > img { margin-top:1.6rem;max-width:40rem; }
.rdlc-s096d3af.rdlc-s096d3af.rdlc-s096d3af { margin-top:1.6rem;max-width:44rem; }
figure.wp-block-image.rdlc-s096d3af > img { margin-top:1.6rem;max-width:44rem; }
.rdlc-s8712371.rdlc-s8712371.rdlc-s8712371 { margin-top:1.6rem;text-align:left;font-size:0.9375rem; }
figure.wp-block-image.rdlc-s8712371 > img { margin-top:1.6rem;text-align:left;font-size:0.9375rem; }
.rdlc-s55653f7.rdlc-s55653f7.rdlc-s55653f7 { margin-top:1.8rem; }
figure.wp-block-image.rdlc-s55653f7 > img { margin-top:1.8rem; }
.rdlc-s318ad53.rdlc-s318ad53.rdlc-s318ad53 { margin-top:1.8rem;font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);line-height:1.35;color:var(--rdlc-sauge-encre); }
figure.wp-block-image.rdlc-s318ad53 > img { margin-top:1.8rem;font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);line-height:1.35;color:var(--rdlc-sauge-encre); }
.rdlc-s9dae1d0.rdlc-s9dae1d0.rdlc-s9dae1d0 { margin-top:1rem; }
figure.wp-block-image.rdlc-s9dae1d0 > img { margin-top:1rem; }
.rdlc-s879d672.rdlc-s879d672.rdlc-s879d672 { margin-top:1rem;max-width:36rem;color:var(--rdlc-anthracite-70);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
figure.wp-block-image.rdlc-s879d672 > img { margin-top:1rem;max-width:36rem;color:var(--rdlc-anthracite-70);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
.rdlc-sba9ddcd.rdlc-sba9ddcd.rdlc-sba9ddcd { margin-top:2.2rem; }
figure.wp-block-image.rdlc-sba9ddcd > img { margin-top:2.2rem; }
.rdlc-s726d321.rdlc-s726d321.rdlc-s726d321 { margin-top:2.2rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s726d321 > img { margin-top:2.2rem;color:var(--rdlc-anthracite-70); }
.rdlc-sfbe360b.rdlc-sfbe360b.rdlc-sfbe360b { margin-top:2.2rem;color:var(--rdlc-anthracite-70);max-width:36rem; }
figure.wp-block-image.rdlc-sfbe360b > img { margin-top:2.2rem;color:var(--rdlc-anthracite-70);max-width:36rem; }
.rdlc-sc042eea.rdlc-sc042eea.rdlc-sc042eea { margin-top:2.2rem;max-width:34rem; }
figure.wp-block-image.rdlc-sc042eea > img { margin-top:2.2rem;max-width:34rem; }
.rdlc-sb58db2d.rdlc-sb58db2d.rdlc-sb58db2d { margin-top:2.4rem; }
figure.wp-block-image.rdlc-sb58db2d > img { margin-top:2.4rem; }
.rdlc-s74271c4.rdlc-s74271c4.rdlc-s74271c4 { margin-top:2.4rem;display:flex;flex-direction:column;gap:0.9rem;align-items:flex-start; }
figure.wp-block-image.rdlc-s74271c4 > img { margin-top:2.4rem;display:flex;flex-direction:column;gap:0.9rem;align-items:flex-start; }
.rdlc-sdd88479.rdlc-sdd88479.rdlc-sdd88479 { margin-top:2.4rem;display:flex;gap:0.9rem;justify-content:center;flex-wrap:wrap; }
figure.wp-block-image.rdlc-sdd88479 > img { margin-top:2.4rem;display:flex;gap:0.9rem;justify-content:center;flex-wrap:wrap; }
.rdlc-s6653e67.rdlc-s6653e67.rdlc-s6653e67 { margin-top:2.4rem;max-width:18rem; }
figure.wp-block-image.rdlc-s6653e67 > img { margin-top:2.4rem;max-width:18rem; }
.rdlc-s858011e.rdlc-s858011e.rdlc-s858011e { margin-top:2.4rem;max-width:34rem;border:1px solid var(--rdlc-trait);padding:clamp(1.5rem, 3vw, 2.2rem); }
figure.wp-block-image.rdlc-s858011e > img { margin-top:2.4rem;max-width:34rem;border:1px solid var(--rdlc-trait);padding:clamp(1.5rem, 3vw, 2.2rem); }
.rdlc-s513812a.rdlc-s513812a.rdlc-s513812a { margin-top:2.4rem;max-width:34rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-s513812a > img { margin-top:2.4rem;max-width:34rem;color:var(--rdlc-anthracite-70); }
.rdlc-sc812894.rdlc-sc812894.rdlc-sc812894 { margin-top:2.5rem;max-width:20rem; }
figure.wp-block-image.rdlc-sc812894 > img { margin-top:2.5rem;max-width:20rem; }
.rdlc-s7120008.rdlc-s7120008.rdlc-s7120008 { margin-top:2.5rem;max-width:22rem; }
figure.wp-block-image.rdlc-s7120008 > img { margin-top:2.5rem;max-width:22rem; }
.rdlc-sed462be.rdlc-sed462be.rdlc-sed462be { margin-top:2.6rem; }
figure.wp-block-image.rdlc-sed462be > img { margin-top:2.6rem; }
.rdlc-s758a88e.rdlc-s758a88e.rdlc-s758a88e { margin-top:2.6rem;aspect-ratio:3 / 4; }
figure.wp-block-image.rdlc-s758a88e > img { margin-top:2.6rem;aspect-ratio:3 / 4; }
.rdlc-s928fd84.rdlc-s928fd84.rdlc-s928fd84 { margin-top:2.6rem;aspect-ratio:3 / 4;overflow:hidden; }
figure.wp-block-image.rdlc-s928fd84 > img { margin-top:2.6rem;aspect-ratio:3 / 4;overflow:hidden; }
.rdlc-s4a04507.rdlc-s4a04507.rdlc-s4a04507 { margin-top:2.6rem;max-width:36rem;font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);line-height:1.35;color:var(--rdlc-sauge-encre); }
figure.wp-block-image.rdlc-s4a04507 > img { margin-top:2.6rem;max-width:36rem;font-family:var(--font-fraunces), Georgia, serif;font-size:clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);line-height:1.35;color:var(--rdlc-sauge-encre); }
.rdlc-s831acaf.rdlc-s831acaf.rdlc-s831acaf { margin-top:2rem; }
figure.wp-block-image.rdlc-s831acaf > img { margin-top:2rem; }
.rdlc-s7193930.rdlc-s7193930.rdlc-s7193930 { margin-top:2rem;font-style:normal; }
figure.wp-block-image.rdlc-s7193930 > img { margin-top:2rem;font-style:normal; }
.rdlc-sb433835.rdlc-sb433835.rdlc-sb433835 { margin-top:2rem;max-width:26rem; }
figure.wp-block-image.rdlc-sb433835 > img { margin-top:2rem;max-width:26rem; }
.rdlc-seaae533.rdlc-seaae533.rdlc-seaae533 { margin-top:2rem;max-width:34rem;color:var(--rdlc-anthracite-70); }
figure.wp-block-image.rdlc-seaae533 > img { margin-top:2rem;max-width:34rem;color:var(--rdlc-anthracite-70); }
.rdlc-s49c6780.rdlc-s49c6780.rdlc-s49c6780 { margin-top:3.5rem;aspect-ratio:16 / 9; }
figure.wp-block-image.rdlc-s49c6780 > img { margin-top:3.5rem;aspect-ratio:16 / 9; }
.rdlc-s920781c.rdlc-s920781c.rdlc-s920781c { margin-top:3.5rem;aspect-ratio:4 / 3; }
figure.wp-block-image.rdlc-s920781c > img { margin-top:3.5rem;aspect-ratio:4 / 3; }
.rdlc-s778ace4.rdlc-s778ace4.rdlc-s778ace4 { margin-top:3rem; }
figure.wp-block-image.rdlc-s778ace4 > img { margin-top:3rem; }
.rdlc-s78e37cd.rdlc-s78e37cd.rdlc-s78e37cd { margin-top:3rem;aspect-ratio:16 / 10; }
figure.wp-block-image.rdlc-s78e37cd > img { margin-top:3rem;aspect-ratio:16 / 10; }
.rdlc-s738b35b.rdlc-s738b35b.rdlc-s738b35b { margin-top:3rem;aspect-ratio:16 / 9; }
figure.wp-block-image.rdlc-s738b35b > img { margin-top:3rem;aspect-ratio:16 / 9; }
.rdlc-s72e2af0.rdlc-s72e2af0.rdlc-s72e2af0 { margin-top:3rem;max-width:30rem; }
figure.wp-block-image.rdlc-s72e2af0 > img { margin-top:3rem;max-width:30rem; }
.rdlc-sdbc3125.rdlc-sdbc3125.rdlc-sdbc3125 { margin-top:4rem; }
figure.wp-block-image.rdlc-sdbc3125 > img { margin-top:4rem; }
.rdlc-s1375a7a.rdlc-s1375a7a.rdlc-s1375a7a { margin-top:clamp(2.2rem, 3.5vw, 3rem);padding:clamp(1.6rem, 3vw, 2.4rem);background:var(--rdlc-ivoire); }
figure.wp-block-image.rdlc-s1375a7a > img { margin-top:clamp(2.2rem, 3.5vw, 3rem);padding:clamp(1.6rem, 3vw, 2.4rem);background:var(--rdlc-ivoire); }
.rdlc-sfa03fcf.rdlc-sfa03fcf.rdlc-sfa03fcf { margin-top:clamp(2.4rem, 4vw, 3.2rem); }
figure.wp-block-image.rdlc-sfa03fcf > img { margin-top:clamp(2.4rem, 4vw, 3.2rem); }
.rdlc-s045341f.rdlc-s045341f.rdlc-s045341f { margin-top:clamp(2.5rem, 4vw, 3.5rem); }
figure.wp-block-image.rdlc-s045341f > img { margin-top:clamp(2.5rem, 4vw, 3.5rem); }
.rdlc-s691e3a3.rdlc-s691e3a3.rdlc-s691e3a3 { margin-top:clamp(2.5rem, 4vw, 3.5rem);aspect-ratio:2048 / 750; }
figure.wp-block-image.rdlc-s691e3a3 > img { margin-top:clamp(2.5rem, 4vw, 3.5rem);aspect-ratio:2048 / 750; }
.rdlc-s3a4abbf.rdlc-s3a4abbf.rdlc-s3a4abbf { margin-top:clamp(2.5rem, 4vw, 3.5rem);height:clamp(12rem, 24vw, 19rem); }
figure.wp-block-image.rdlc-s3a4abbf > img { margin-top:clamp(2.5rem, 4vw, 3.5rem);height:clamp(12rem, 24vw, 19rem); }
.rdlc-s7f093a3.rdlc-s7f093a3.rdlc-s7f093a3 { margin-top:clamp(2.5rem, 4vw, 3.5rem);max-width:44rem; }
figure.wp-block-image.rdlc-s7f093a3 > img { margin-top:clamp(2.5rem, 4vw, 3.5rem);max-width:44rem; }
.rdlc-sb528a44.rdlc-sb528a44.rdlc-sb528a44 { margin-top:clamp(2.6rem, 4vw, 3.4rem); }
figure.wp-block-image.rdlc-sb528a44 > img { margin-top:clamp(2.6rem, 4vw, 3.4rem); }
.rdlc-s05195f6.rdlc-s05195f6.rdlc-s05195f6 { margin-top:clamp(2.6rem, 4vw, 3.4rem);margin-bottom:clamp(2.6rem, 4vw, 3.4rem); }
figure.wp-block-image.rdlc-s05195f6 > img { margin-top:clamp(2.6rem, 4vw, 3.4rem);margin-bottom:clamp(2.6rem, 4vw, 3.4rem); }
.rdlc-s6417979.rdlc-s6417979.rdlc-s6417979 { margin-top:clamp(2.8rem, 4.5vw, 3.8rem); }
figure.wp-block-image.rdlc-s6417979 > img { margin-top:clamp(2.8rem, 4.5vw, 3.8rem); }
.rdlc-s00de962.rdlc-s00de962.rdlc-s00de962 { margin-top:clamp(2rem, 3.5vw, 3rem);max-width:32rem;margin-inline:auto; }
figure.wp-block-image.rdlc-s00de962 > img { margin-top:clamp(2rem, 3.5vw, 3rem);max-width:32rem;margin-inline:auto; }
.rdlc-sf7b8ab8.rdlc-sf7b8ab8.rdlc-sf7b8ab8 { margin-top:clamp(2rem, 3.5vw, 3rem);max-width:36rem;font-family:var(--font-fraunces), Georgia, serif;font-style:italic;font-size:clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);line-height:1.55;color:var(--rdlc-sauge-encre); }
figure.wp-block-image.rdlc-sf7b8ab8 > img { margin-top:clamp(2rem, 3.5vw, 3rem);max-width:36rem;font-family:var(--font-fraunces), Georgia, serif;font-style:italic;font-size:clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);line-height:1.55;color:var(--rdlc-sauge-encre); }
.rdlc-s011c6b4.rdlc-s011c6b4.rdlc-s011c6b4 { margin-top:clamp(3.5rem, 6vw, 5.5rem); }
figure.wp-block-image.rdlc-s011c6b4 > img { margin-top:clamp(3.5rem, 6vw, 5.5rem); }
.rdlc-s9e9c680.rdlc-s9e9c680.rdlc-s9e9c680 { margin-top:clamp(3.5rem, 6vw, 5.5rem);direction:rtl; }
figure.wp-block-image.rdlc-s9e9c680 > img { margin-top:clamp(3.5rem, 6vw, 5.5rem);direction:rtl; }
.rdlc-sa60d8fd.rdlc-sa60d8fd.rdlc-sa60d8fd { margin-top:clamp(3.5rem, 6vw, 5rem); }
figure.wp-block-image.rdlc-sa60d8fd > img { margin-top:clamp(3.5rem, 6vw, 5rem); }
.rdlc-se0fd778.rdlc-se0fd778.rdlc-se0fd778 { margin-top:clamp(3rem, 5vw, 4.5rem); }
figure.wp-block-image.rdlc-se0fd778 > img { margin-top:clamp(3rem, 5vw, 4.5rem); }
.rdlc-s210b578.rdlc-s210b578.rdlc-s210b578 { margin-top:clamp(3rem, 5vw, 4.5rem);aspect-ratio:21 / 9; }
figure.wp-block-image.rdlc-s210b578 > img { margin-top:clamp(3rem, 5vw, 4.5rem);aspect-ratio:21 / 9; }
.rdlc-sf3f2c38.rdlc-sf3f2c38.rdlc-sf3f2c38 { margin-top:clamp(3rem, 5vw, 4rem); }
figure.wp-block-image.rdlc-sf3f2c38 > img { margin-top:clamp(3rem, 5vw, 4rem); }
.rdlc-s1386d50.rdlc-s1386d50.rdlc-s1386d50 { margin:0; }
figure.wp-block-image.rdlc-s1386d50 > img { margin:0; }
.rdlc-s117aa84.rdlc-s117aa84.rdlc-s117aa84 { margin:clamp(2.8rem, 4.5vw, 3.8rem) 0 clamp(2rem, 4vw, 3rem); }
figure.wp-block-image.rdlc-s117aa84 > img { margin:clamp(2.8rem, 4.5vw, 3.8rem) 0 clamp(2rem, 4vw, 3rem); }
.rdlc-scb5dc53.rdlc-scb5dc53.rdlc-scb5dc53 { max-width:40rem; }
figure.wp-block-image.rdlc-scb5dc53 > img { max-width:40rem; }
.rdlc-s209eddb.rdlc-s209eddb.rdlc-s209eddb { max-width:40rem;margin:0 auto; }
figure.wp-block-image.rdlc-s209eddb > img { max-width:40rem;margin:0 auto; }
.rdlc-sedc5ba6.rdlc-sedc5ba6.rdlc-sedc5ba6 { max-width:40rem;margin:0 auto;color:var(--rdlc-lin); }
figure.wp-block-image.rdlc-sedc5ba6 > img { max-width:40rem;margin:0 auto;color:var(--rdlc-lin); }
.rdlc-sca6ad3f.rdlc-sca6ad3f.rdlc-sca6ad3f { max-width:40rem;margin:0 auto;text-align:center; }
figure.wp-block-image.rdlc-sca6ad3f > img { max-width:40rem;margin:0 auto;text-align:center; }
.rdlc-sb22b8e2.rdlc-sb22b8e2.rdlc-sb22b8e2 { max-width:40rem;margin:clamp(3rem, 5vw, 4rem) auto 0;text-align:center; }
figure.wp-block-image.rdlc-sb22b8e2 > img { max-width:40rem;margin:clamp(3rem, 5vw, 4rem) auto 0;text-align:center; }
.rdlc-saa98ae2.rdlc-saa98ae2.rdlc-saa98ae2 { max-width:42rem; }
figure.wp-block-image.rdlc-saa98ae2 > img { max-width:42rem; }
.rdlc-s46818a6.rdlc-s46818a6.rdlc-s46818a6 { max-width:44rem; }
figure.wp-block-image.rdlc-s46818a6 > img { max-width:44rem; }
.rdlc-sbf84f94.rdlc-sbf84f94.rdlc-sbf84f94 { max-width:46rem;text-align:center; }
figure.wp-block-image.rdlc-sbf84f94 > img { max-width:46rem;text-align:center; }
.rdlc-s3e3b3e7.rdlc-s3e3b3e7.rdlc-s3e3b3e7 { overflow:hidden; }
figure.wp-block-image.rdlc-s3e3b3e7 > img { overflow:hidden; }
.rdlc-se63c7fe.rdlc-se63c7fe.rdlc-se63c7fe { padding-block:clamp(2.5rem, 5vw, 4.5rem);border-top:1px solid var(--rdlc-trait-clair); }
figure.wp-block-image.rdlc-se63c7fe > img { padding-block:clamp(2.5rem, 5vw, 4.5rem);border-top:1px solid var(--rdlc-trait-clair); }
.rdlc-s36baeb1.rdlc-s36baeb1.rdlc-s36baeb1 { padding-block:clamp(2.5rem, 5vw, 4.5rem);border-top:1px solid var(--rdlc-trait-clair);direction:rtl; }
figure.wp-block-image.rdlc-s36baeb1 > img { padding-block:clamp(2.5rem, 5vw, 4.5rem);border-top:1px solid var(--rdlc-trait-clair);direction:rtl; }
.rdlc-s5a6f5be.rdlc-s5a6f5be.rdlc-s5a6f5be { padding-block:clamp(2.5rem, 5vw, 4rem); }
figure.wp-block-image.rdlc-s5a6f5be > img { padding-block:clamp(2.5rem, 5vw, 4rem); }
.rdlc-s8a671fc.rdlc-s8a671fc.rdlc-s8a671fc { padding-block:clamp(3.5rem, 6vw, 5.5rem); }
figure.wp-block-image.rdlc-s8a671fc > img { padding-block:clamp(3.5rem, 6vw, 5.5rem); }
.rdlc-s78d9668.rdlc-s78d9668.rdlc-s78d9668 { padding-block:clamp(3.5rem, 6vw, 6rem); }
figure.wp-block-image.rdlc-s78d9668 > img { padding-block:clamp(3.5rem, 6vw, 6rem); }
.rdlc-sbbba29a.rdlc-sbbba29a.rdlc-sbbba29a { padding-bottom:var(--rdlc-section); }
figure.wp-block-image.rdlc-sbbba29a > img { padding-bottom:var(--rdlc-section); }
.rdlc-s511cd16.rdlc-s511cd16.rdlc-s511cd16 { padding-top:0; }
figure.wp-block-image.rdlc-s511cd16 > img { padding-top:0; }
.rdlc-s513d1b1.rdlc-s513d1b1.rdlc-s513d1b1 { padding-top:5.5rem;background:var(--rdlc-lin); }
figure.wp-block-image.rdlc-s513d1b1 > img { padding-top:5.5rem;background:var(--rdlc-lin); }
.rdlc-s17ed2d8.rdlc-s17ed2d8.rdlc-s17ed2d8 { padding-top:7rem;background:var(--rdlc-lin);overflow:hidden; }
figure.wp-block-image.rdlc-s17ed2d8 > img { padding-top:7rem;background:var(--rdlc-lin);overflow:hidden; }
.rdlc-s2e5dc42.rdlc-s2e5dc42.rdlc-s2e5dc42 { position:absolute;inset:0; }
figure.wp-block-image.rdlc-s2e5dc42 > img { position:absolute;inset:0; }
.rdlc-s9e8b756.rdlc-s9e8b756.rdlc-s9e8b756 { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.03;transition:opacity 600ms var(--rdlc-ease), scale 900ms var(--rdlc-ease); }
figure.wp-block-image.rdlc-s9e8b756 > img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;scale:1.03;transition:opacity 600ms var(--rdlc-ease), scale 900ms var(--rdlc-ease); }
.rdlc-s3b0f268.rdlc-s3b0f268.rdlc-s3b0f268 { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;scale:1;transition:opacity 600ms var(--rdlc-ease), scale 900ms var(--rdlc-ease); }
figure.wp-block-image.rdlc-s3b0f268 > img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;scale:1;transition:opacity 600ms var(--rdlc-ease), scale 900ms var(--rdlc-ease); }
.rdlc-sc451fdb.rdlc-sc451fdb.rdlc-sc451fdb { position:relative; }
figure.wp-block-image.rdlc-sc451fdb > img { position:relative; }
.rdlc-sca10820.rdlc-sca10820.rdlc-sca10820 { position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--rdlc-ivoire); }
figure.wp-block-image.rdlc-sca10820 > img { position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--rdlc-ivoire); }
.rdlc-sb12b34e.rdlc-sb12b34e.rdlc-sb12b34e { position:relative;overflow:hidden; }
figure.wp-block-image.rdlc-sb12b34e > img { position:relative;overflow:hidden; }
.rdlc-s7dcec1f.rdlc-s7dcec1f.rdlc-s7dcec1f { position:relative;z-index:2;padding-block:clamp(4.5rem, 8vw, 7.5rem);color:var(--rdlc-lin); }
figure.wp-block-image.rdlc-s7dcec1f > img { position:relative;z-index:2;padding-block:clamp(4.5rem, 8vw, 7.5rem);color:var(--rdlc-lin); }
.rdlc-s59a9d30.rdlc-s59a9d30.rdlc-s59a9d30 { position:relative;z-index:2;text-align:center; }
figure.wp-block-image.rdlc-s59a9d30 > img { position:relative;z-index:2;text-align:center; }
.rdlc-sbe4b2e5.rdlc-sbe4b2e5.rdlc-sbe4b2e5 { text-align:center;margin-top:2.5rem; }
figure.wp-block-image.rdlc-sbe4b2e5 > img { text-align:center;margin-top:2.5rem; }
.rdlc-s4b90804.rdlc-s4b90804.rdlc-s4b90804 { text-align:center;max-width:42rem;margin:0 auto; }
figure.wp-block-image.rdlc-s4b90804 > img { text-align:center;max-width:42rem;margin:0 auto; }
.rdlc-s6d56738.rdlc-s6d56738.rdlc-s6d56738 { width:100%; }
figure.wp-block-image.rdlc-s6d56738 > img { width:100%; }
.rdlc-sc858897.rdlc-sc858897.rdlc-sc858897 { width:100%;display:block; }
figure.wp-block-image.rdlc-sc858897 > img { width:100%;display:block; }
.rdlc-sfc4f3d1.rdlc-sfc4f3d1.rdlc-sfc4f3d1 { width:100%;height:100%;object-fit:cover; }
figure.wp-block-image.rdlc-sfc4f3d1 > img { width:100%;height:100%;object-fit:cover; }
.rdlc-sa0b08d4.rdlc-sa0b08d4.rdlc-sa0b08d4 { width:100%;height:clamp(16rem, 38vw, 34rem); }
figure.wp-block-image.rdlc-sa0b08d4 > img { width:100%;height:clamp(16rem, 38vw, 34rem); }

/* Zone tactile de 44 px pour le burger et le bouton Fermer (audit 05/09/2026).
   Portee par un pseudo-element : la cible grandit, le rendu ne bouge pas. */
.rdlc-burger {
  position: relative;
}
.rdlc-burger::after,
.rdlc-tiroir__fermer::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: max(100%, 44px);
  height: max(100%, 44px);
}
