/* ==========================================================================
   Direction artistique « Registre » — 08/10/2026. Premier client : Maître
   Morgane Lambret (avocate, Meaux). Classes rg-* (scripts/directions/registre.py).

   Sobre, élégant, moderne, peu de dorure : compositions alignées à gauche et
   asymétriques, lignes de registre séparées par des filets fins, angles
   droits, aucune ombre. Bleu marine (primary) pour les fonds forts, noir
   (ink) pour les bandes, or (accent) uniquement en filet de 1 px, petit
   carré et survol. Titres Newsreader, texte Instrument Sans.
   Rôles : paper = blanc, surface = gris bleuté très clair, ink = noir bleuté,
   secondary = marine (fiche), primary = noir, accent = or, --atelier-accent-strong = or foncé (texte
   sur clair). Rien n'est caché sans JavaScript.
   ========================================================================== */
body.dir-registre {
  --ac-fs-1: 0.75rem;                                    /* 12 : surtitres, étiquettes */
  --ac-fs-2: 0.875rem;                                   /* 14 : petit texte, notes */
  --ac-fs-3: 1rem;                                       /* 16 : texte courant */
  --ac-fs-4: 1.375rem;                                   /* 22 : titres d'éléments */
  --ac-fs-5: clamp(1.6rem, 1.35rem + 0.9vw, 2.05rem);    /* 33 : sous-titres */
  --ac-fs-6: clamp(2rem, 1.5rem + 2vw, 2.85rem);         /* 46 : titres de section */
  --ac-fs-7: clamp(2.35rem, 1.6rem + 3.2vw, 4rem);       /* 64 : titre de page */
  --wp--preset--font-size--small: var(--ac-fs-2);
  --wp--preset--font-size--medium: var(--ac-fs-3);
  --wp--preset--font-size--large: var(--ac-fs-5);
  --wp--preset--font-size--x-large: var(--ac-fs-6);
  --wp--preset--font-size--xx-large: var(--ac-fs-7);
  --rg-marine: var(--wp--preset--color--secondary);
  --rg-noir: var(--wp--preset--color--ink);
  --rg-or: var(--wp--preset--color--accent);
  --rg-or-fort: var(--atelier-accent-strong, #8A5E05);
  --rg-or-clair: color-mix(in srgb, var(--wp--preset--color--accent) 68%, #FFFFFF); /* or lisible sur marine / noir */
  --rg-gris: var(--wp--preset--color--surface);
  --rg-ligne: var(--wp--preset--color--line);
  --rg-doux: var(--wp--preset--color--ink-soft);
  --rg-blanc-doux: color-mix(in srgb, #FFFFFF 78%, transparent);
  --rg-ligne-claire: color-mix(in srgb, #FFFFFF 18%, transparent);
  font-size: var(--ac-fs-3);
  line-height: 1.7;
  font-feature-settings: "kern", "liga";
}
body.dir-registre :is(h1, h2, h3, h4) { font-family: var(--wp--preset--font-family--heading); font-weight: 400; letter-spacing: -0.012em; }
body.dir-registre ::selection { background: color-mix(in srgb, var(--rg-or) 30%, transparent); }
body.dir-registre :focus-visible { outline: 2px solid var(--rg-or); outline-offset: 3px; }
body.dir-registre .accent-word { font-style: italic; color: inherit; }
body.dir-registre .ink-underline { background: none; text-decoration: none; }

/* --- Titres, surtitres, textes ------------------------------------------- */
.rg-surtitre { display: flex; align-items: center; gap: 0.8rem; margin: 0 !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rg-marine); }
.rg-surtitre::before { content: ""; flex: 0 0 28px; height: 1px; background: var(--rg-or); }
.rg-surtitre--clair, :is(.has-secondary-background-color, .has-ink-background-color) .rg-surtitre { color: #FFFFFF; }
.rg-titre { margin: 0.9rem 0 0 !important; font-size: var(--ac-fs-6) !important; line-height: 1.08; max-width: 20ch; text-wrap: balance; }
.rg-titre em, .rg-hero-titre em { font-style: italic; }
.rg-intro { max-width: 40rem; margin: 1.1rem 0 0 !important; font-size: 1.0625rem; line-height: 1.7; color: var(--rg-doux); }
.rg-intro--clair, :is(.has-secondary-background-color, .has-ink-background-color) .rg-intro { color: var(--rg-blanc-doux); }
.rg-prose { max-width: 42rem; margin: 0 0 1rem !important; color: var(--rg-doux); }
.rg-prose--lead { font-size: 1.0625rem; color: var(--wp--preset--color--ink); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-prose { color: var(--rg-blanc-doux); }
.rg-note { margin-top: 1.6rem !important; margin-bottom: 0 !important; padding-left: 1rem; border-left: 1px solid var(--rg-or); font-size: var(--ac-fs-2); color: var(--rg-doux); }
.rg-note--clair, :is(.has-secondary-background-color, .has-ink-background-color) .rg-note { color: var(--rg-blanc-doux); }

.rg-sec > .rg-note { padding-right: max(0px, calc(100% - 46rem)); }
.rg-note:not(.rg-sec > .rg-note) { max-width: 46rem; }

/* Tête de section : titre à gauche, introduction à droite (sur la grille large) */
.rg-tete { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 1rem 4rem; align-items: end; margin-bottom: 2.6rem !important; }
.rg-tete > * { margin: 0 !important; }
.rg-tete .rg-intro { margin: 0 !important; padding-bottom: 0.3rem; }
.rg-tete--seule { display: block; }
.rg-tete-titre > * + * { margin-top: 0.9rem !important; }
@media (max-width: 860px) { .rg-tete { grid-template-columns: 1fr; gap: 1.1rem; } }

/* --- Boutons (angles droits) ------------------------------------------------ */
.rg-btn .wp-block-button__link { display: inline-flex; align-items: center; gap: 0.6rem; min-height: 50px; padding: 0 1.5rem !important; border-radius: 0 !important; border: 1px solid transparent; font-size: var(--ac-fs-2); font-weight: 600; letter-spacing: 0.04em; text-decoration: none; transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; }
.rg-btn--plein .wp-block-button__link { background: var(--rg-marine) !important; color: #FFFFFF !important; }
.rg-btn--plein .wp-block-button__link:hover { background: var(--rg-noir) !important; }
.rg-btn--or .wp-block-button__link { background: #FFFFFF !important; color: var(--rg-marine) !important; }
.rg-btn--or .wp-block-button__link:hover { background: var(--rg-or) !important; color: var(--rg-noir) !important; }
.rg-btn--contour .wp-block-button__link { background: transparent !important; border-color: var(--rg-marine); color: var(--rg-marine) !important; }
.rg-btn--contour .wp-block-button__link:hover { border-color: var(--rg-or); color: var(--rg-noir) !important; }
.rg-btn--contour-clair .wp-block-button__link { background: transparent !important; border-color: var(--rg-ligne-claire); color: #FFFFFF !important; }
.rg-btn--contour-clair .wp-block-button__link:hover { border-color: var(--rg-or); }
.rg-btn--lien .wp-block-button__link { min-height: 0; padding: 0 0 0.25rem !important; background: transparent !important; color: var(--rg-marine) !important; border: 0; border-bottom: 1px solid var(--rg-or); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-btn--lien .wp-block-button__link { color: #FFFFFF !important; }
.rg-fleche { transition: transform 0.2s ease; }
.rg-btn .wp-block-button__link:hover .rg-fleche { transform: translateX(4px); }
.rg-hero-btns, .rg-bande-btns { gap: 0.75rem !important; margin-top: 2rem !important; }

/* --- En-têtes de page -------------------------------------------------------- */
.rg-fil { margin: 0 !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rg-doux); }
.rg-fil a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--rg-ligne); }
.rg-fil a:hover { border-bottom-color: var(--rg-or); }
.rg-fil--clair, .rg-fil--clair a { color: #FFFFFF !important; }
.rg-fil--clair a { border-bottom-color: var(--rg-ligne-claire); }
.rg-hero-titre { margin: 1.1rem 0 0 !important; font-size: var(--ac-fs-7) !important; line-height: 1.03; letter-spacing: -0.02em; max-width: 16ch; text-wrap: balance; }
.rg-h1-surtitre { display: block; margin-bottom: 0.9rem; font-family: var(--wp--preset--font-family--body); font-size: var(--ac-fs-1); font-style: normal; font-weight: 600; letter-spacing: 0.18em; line-height: 1.5; text-transform: uppercase; color: var(--rg-or-fort); }
.has-secondary-background-color .rg-h1-surtitre { color: var(--rg-or-clair); }
.rg-chapo { max-width: 36rem; margin: 1.4rem 0 0 !important; font-size: 1.125rem; line-height: 1.65; color: var(--rg-doux); }
.rg-chapo--clair { color: var(--rg-blanc-doux); }
.rg-hero-cols { gap: clamp(2rem, 6vw, 5.5rem) !important; }
.rg-hero-points { margin: 1.8rem 0 0 !important; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0.5rem 1.6rem; font-size: var(--ac-fs-2); color: var(--rg-doux); }
.rg-hero-points li { display: flex; align-items: center; gap: 0.55rem; }
.rg-hero-points li::before { content: ""; width: 6px; height: 6px; background: var(--rg-or); }
.rg-hero-dossier .rg-hero-points { color: var(--rg-blanc-doux); }
.rg-hero-sobre { border-bottom: 1px solid var(--rg-ligne); }
.rg-hero-sobre-inner > * { max-width: 54rem; }
.rg-hero-sobre-inner .rg-hero-titre { max-width: 22ch; }
.rg-hero-sobre-inner::after { content: ""; display: block; width: 64px; height: 1px; margin-top: 2rem; background: var(--rg-or); }
/* Accueil : photo qui déborde jusqu'au bord droit de l'écran */
@media (min-width: 782px) {
  .rg-hero-une .rg-hero-cols > .wp-block-column:last-child { margin-right: calc(-1 * max(var(--wp--style--root--padding-right, 1.5rem), (100vw - 1200px) / 2)); }
  .rg-hero-une .rg-cadre--hero .rg-photo img { aspect-ratio: 4 / 4.6; max-height: 640px; }
}

/* --- Photos encadrées : cadre décalé d'un filet ------------------------------ */
.rg-cadre { position: relative; }
.rg-cadre::before { content: ""; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid var(--rg-or); pointer-events: none; }
.rg-cadre .wp-block-image { position: relative; z-index: 1; margin: 0 !important; }
.rg-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.rg-cadre--haut .rg-photo img { aspect-ratio: 4 / 5; }
.rg-cadre--hero .rg-photo img { aspect-ratio: 5 / 4; max-height: 560px; }
.has-secondary-background-color .rg-cadre::before { border-color: color-mix(in srgb, var(--rg-or) 70%, transparent); }
.rg-hero-une .rg-cadre::before { inset: auto auto -18px -18px; width: 40%; height: 55%; border: 0; background: var(--rg-marine); }
@media (max-width: 781px) { .rg-cadre::before { inset: 10px -10px -10px 10px; } .rg-hero-une .rg-cadre::before { display: none; } }

/* --- Portes d'entrée par profil ------------------------------------------- */
.rg-portes-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--rg-ligne); }
.rg-porte { position: relative; padding: clamp(1.8rem, 4vw, 3.2rem); background: #FFFFFF; }
.rg-porte + .rg-porte { border-left: 1px solid var(--rg-ligne); }
.rg-portes-grille.rg-n4 .rg-porte:nth-child(n + 3) { border-top: 1px solid var(--rg-ligne); }
.rg-portes-grille.rg-n4 .rg-porte:nth-child(3) { border-left: 0; }
.rg-porte > * { margin: 0 !important; }
.rg-porte--marine { background: var(--rg-marine); color: #FFFFFF; }
.rg-porte-tag { font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rg-or-fort); }
.rg-porte--marine .rg-porte-tag { color: var(--rg-or-clair); }
.rg-porte-titre { margin-top: 0.8rem !important; font-size: var(--ac-fs-5) !important; line-height: 1.12; }
.rg-porte--marine .rg-porte-titre { color: #FFFFFF; }
.rg-porte-texte { margin-top: 1rem !important; color: var(--rg-doux); max-width: 34rem; }
.rg-porte--marine .rg-porte-texte { color: var(--rg-blanc-doux); }
.rg-porte-points { margin-top: 1.2rem !important; padding: 0; list-style: none; }
.rg-porte-points li { padding: 0.6rem 0; border-top: 1px solid var(--rg-ligne); font-size: 0.9375rem; }
.rg-porte--marine .rg-porte-points li { border-top-color: var(--rg-ligne-claire); }
.rg-porte-lien { margin-top: 1.6rem !important; font-weight: 600; font-size: var(--ac-fs-2); letter-spacing: 0.04em; }
.rg-porte-lien a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--rg-or); padding-bottom: 0.2rem; }
@media (max-width: 781px) { .rg-portes-grille { grid-template-columns: 1fr; } .rg-porte + .rg-porte { border-left: 0; border-top: 1px solid var(--rg-ligne); } }

/* --- Registre (lignes à filets) -------------------------------------------- */
.rg-lignes { border-top: 1px solid var(--rg-noir); }
.rg-ligne { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 0.6rem 3rem; padding: 1.5rem 0; border-bottom: 1px solid var(--rg-ligne); transition: background-color 0.2s ease; }
.rg-ligne > * { margin: 0 !important; }
.rg-ligne-titre { font-size: var(--ac-fs-4) !important; line-height: 1.2; }
.rg-ligne-texte { color: var(--rg-doux); }
.rg-ligne-texte a, .rg-tuile-texte a, .rg-porte-texte a, .rg-prose a, .rg-droits-liste a, .rg-etape-texte a { color: var(--rg-marine); text-decoration: underline; text-decoration-color: var(--rg-or); text-underline-offset: 3px; }
:is(.has-secondary-background-color, .has-ink-background-color, .rg-porte--marine) a { color: #FFFFFF !important; }
.rg-lignes--etroites .rg-ligne { grid-template-columns: 1fr; gap: 0.35rem; padding: 1.1rem 0; }
.rg-lignes--etroites .rg-ligne-titre { font-size: 1.25rem !important; }
@media (max-width: 781px) { .rg-ligne { grid-template-columns: 1fr; gap: 0.4rem; } }

/* --- Tuiles ----------------------------------------------------------------- */
.rg-tuiles-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--rg-noir); }
.rg-tuile { padding: 1.8rem 1.8rem 2rem 0; border-bottom: 1px solid var(--rg-ligne); }
.rg-tuile:not(:nth-child(3n + 1)) { padding-left: 1.8rem; border-left: 1px solid var(--rg-ligne); }
.rg-tuile > * { margin: 0 !important; }
.rg-carre { display: block; width: 8px; height: 8px; background: var(--rg-or); }
.rg-tuile-titre { margin-top: 1.1rem !important; font-size: var(--ac-fs-4) !important; line-height: 1.2; }
.rg-tuile-texte { margin-top: 0.6rem !important; font-size: 0.9375rem; color: var(--rg-doux); }
@media (max-width: 900px) { .rg-tuiles-grille { grid-template-columns: 1fr; } .rg-tuile, .rg-tuile:not(:nth-child(3n + 1)) { padding: 1.4rem 0; border-left: 0; } }

/* --- Étapes sur rail, frise ------------------------------------------------ */
.rg-split { gap: clamp(2rem, 6vw, 5rem) !important; }
.rg-etapes-rail { position: relative; }
.rg-etape { display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); gap: 1rem; padding: 1.4rem 0; border-top: 1px solid var(--rg-ligne); }
.rg-etape:last-child { border-bottom: 1px solid var(--rg-ligne); }
.rg-etape > *, .rg-etape-corps > * { margin: 0 !important; }
.rg-etape-num { font-family: var(--wp--preset--font-family--heading); font-size: 2.25rem; line-height: 1; color: var(--rg-marine); font-variant-numeric: lining-nums tabular-nums; }
.rg-etape-titre { font-size: var(--ac-fs-4) !important; line-height: 1.2; }
.rg-etape-texte { margin-top: 0.45rem !important; color: var(--rg-doux); }
.rg-frise-ligne { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 2rem; border-top: 1px solid var(--rg-ligne-claire); }
.rg-frise-ligne.rg-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rg-frise-ligne.rg-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rg-jalon { position: relative; padding-top: 1.6rem; }
.rg-jalon::before { content: ""; position: absolute; top: -4px; left: 0; width: 8px; height: 8px; background: var(--rg-or); }
.rg-jalon > * { margin: 0 !important; }
.rg-jalon-num { font-family: var(--wp--preset--font-family--heading); font-size: 1.75rem; line-height: 1; color: var(--rg-or-clair); }
.rg-jalon-titre { margin-top: 0.9rem !important; font-size: var(--ac-fs-4) !important; line-height: 1.2; color: #FFFFFF; }
.rg-jalon-texte { margin-top: 0.5rem !important; font-size: 0.9375rem; color: var(--rg-blanc-doux); }
@media (max-width: 900px) { .rg-frise-ligne, .rg-frise-ligne.rg-n3 { grid-template-columns: 1fr; gap: 1.8rem; border-top: 0; } .rg-jalon { border-top: 1px solid var(--rg-ligne-claire); } }

/* --- Colonnes comparées ----------------------------------------------------- */
.rg-vav { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 0; border: 1px solid var(--rg-ligne); }
.rg-vav-col { padding: 2rem; background: #FFFFFF; }
.rg-vav-col + .rg-vav-col { border-left: 1px solid var(--rg-ligne); }
.rg-vav-col > * { margin: 0 !important; }
.rg-vav-nom { font-size: var(--ac-fs-5) !important; line-height: 1.12; }
.rg-vav-tag { margin-top: 0.5rem !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rg-or-fort); }
.rg-vav-points { margin-top: 1.2rem !important; padding: 0; list-style: none; }
.rg-vav-points li { position: relative; padding: 0.7rem 0 0.7rem 1.2rem; border-top: 1px solid var(--rg-ligne); font-size: 0.9375rem; color: var(--rg-doux); }
.rg-vav-points li::before { content: ""; position: absolute; left: 0; top: 1.3rem; width: 6px; height: 6px; background: var(--rg-marine); }
@media (max-width: 781px) { .rg-vav-col + .rg-vav-col { border-left: 0; border-top: 1px solid var(--rg-ligne); } }

/* --- Texte, apartés, étiquettes ------------------------------------------- */
.rg-texte-cols .rg-titre, .rg-it-cols .rg-titre { max-width: 16ch; }
.rg-apartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 1.6rem !important; }
.rg-aparte { padding: 1.3rem 1.4rem; background: var(--rg-gris); border-top: 2px solid var(--rg-marine); }
.has-surface-background-color .rg-aparte { background: #FFFFFF; }
.rg-aparte > * { margin: 0 !important; }
.rg-aparte-titre { font-family: var(--wp--preset--font-family--heading); font-size: 1.1875rem; line-height: 1.25; color: var(--rg-noir); }
.rg-aparte-texte { margin-top: 0.45rem !important; font-size: 0.9375rem; color: var(--rg-doux); }
.rg-etiquettes { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.4rem !important; }
.rg-etiquette { margin: 0 !important; padding: 0.4rem 0.8rem; border: 1px solid var(--rg-ligne); font-size: var(--ac-fs-2); color: var(--rg-noir); background: #FFFFFF; }
.ac-more summary { color: var(--rg-marine); font-weight: 600; font-size: var(--ac-fs-2); letter-spacing: 0.04em; }

/* --- Droits --------------------------------------------------------------- */
.rg-droits-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; margin-top: 0 !important; margin-bottom: 0 !important; padding: 0; list-style: none; border-top: 1px solid var(--rg-noir); }
.rg-droits-liste li { position: relative; padding: 1rem 0 1rem 1.5rem; border-bottom: 1px solid var(--rg-ligne); }
.rg-droits-liste li::before { content: ""; position: absolute; left: 0; top: 1.55rem; width: 7px; height: 7px; background: var(--rg-or); }
@media (max-width: 781px) { .rg-droits-liste { grid-template-columns: 1fr; } }

/* --- Chiffres ----------------------------------------------------------------- */
.rg-chiffres-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1.6rem 2.4rem; }
.rg-chiffre { padding-top: 1.2rem; border-top: 1px solid var(--rg-ligne-claire); }
.rg-chiffre > * { margin: 0 !important; }
.rg-chiffre-valeur { font-family: var(--wp--preset--font-family--heading); font-size: clamp(2.4rem, 1.9rem + 2vw, 3.4rem); line-height: 1; color: #FFFFFF; font-variant-numeric: lining-nums; }
.rg-chiffre-libelle { margin-top: 0.7rem !important; font-size: var(--ac-fs-2); color: var(--rg-blanc-doux); max-width: 26ch; }

/* --- FAQ ------------------------------------------------------------------- */
.rg-faq-liste .faq-item { padding: 1.15rem 0; border-color: var(--rg-ligne); }
.rg-faq-liste .faq-item:first-child { border-top: 1px solid var(--rg-noir); }
.rg-faq-liste .faq-item summary { font-size: 1.1875rem; line-height: 1.35; color: var(--rg-noir); }
.rg-faq-liste .faq-item summary::after { content: ""; width: 12px; height: 12px; flex: 0 0 12px; border-right: 1px solid var(--rg-or-fort); border-bottom: 1px solid var(--rg-or-fort); transform: rotate(45deg) translate(-3px, -3px); transition: transform 0.25s ease; }
.rg-faq-liste .faq-item[open] summary::after { transform: rotate(225deg) translate(-3px, -3px); }
.rg-faq-liste .faq-item p { max-width: 44rem; color: var(--rg-doux); }
.rg-faq-deux { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 3rem; }
@media (max-width: 781px) { .rg-faq-deux { grid-template-columns: 1fr; } .rg-faq-deux .rg-faq-liste + .rg-faq-liste .faq-item:first-child { border-top: 0; } }

/* --- Domaines -------------------------------------------------------------- */
.rg-domaines-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--rg-noir); border-left: 1px solid var(--rg-ligne); }
.rg-domaines-grille.rg-n4, .rg-domaines-grille.rg-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* 5 domaines : deux grandes tuiles puis trois, pas de case vide */
.rg-domaines-grille.rg-n5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.rg-domaines-grille.rg-n5 .rg-domaine { grid-column: span 2; }
.rg-domaines-grille.rg-n5 .rg-domaine:nth-child(-n + 2) { grid-column: span 3; }
.rg-domaine { position: relative; display: flex; flex-direction: column; gap: 0.6rem; padding: 1.8rem 1.8rem 3.4rem; border-right: 1px solid var(--rg-ligne); border-bottom: 1px solid var(--rg-ligne); background: #FFFFFF; transition: background-color 0.25s ease, color 0.25s ease; }
.has-paper-background-color .rg-domaine { background: transparent; }
.rg-domaine > * { margin: 0 !important; }
.rg-domaine-nom { font-size: var(--ac-fs-4) !important; line-height: 1.2; }
.rg-domaine-nom a { color: inherit; text-decoration: none; }
.rg-domaine-nom a::after { content: ""; position: absolute; inset: 0; }
.rg-domaine-resume { font-size: 0.9375rem; color: var(--rg-doux); }
.rg-domaine-fleche { position: absolute; left: 1.8rem; bottom: 1.4rem; color: var(--rg-or-fort); transition: transform 0.25s ease; }
.rg-domaine:hover { background: var(--rg-marine); color: #FFFFFF; }
.rg-domaine:hover .rg-domaine-resume { color: var(--rg-blanc-doux); }
.rg-domaine:hover .rg-domaine-fleche { color: var(--rg-or); transform: translateX(6px); }
.rg-domaines-lignes { border-top: 1px solid var(--rg-noir); }
.rg-domaines-lignes .rg-domaine { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) 2rem; align-items: baseline; gap: 2rem; padding: 1.4rem 0; border-right: 0; background: transparent; }
.rg-domaines-lignes .rg-domaine-fleche { position: static; }
.rg-domaines-lignes .rg-domaine:hover { background: transparent; color: inherit; }
.rg-domaines-lignes .rg-domaine:hover .rg-domaine-nom a { color: var(--rg-marine); }
.rg-domaines-lignes .rg-domaine:hover .rg-domaine-resume { color: var(--rg-doux); }
@media (max-width: 900px) { .rg-domaines-grille, .rg-domaines-grille.rg-n4, .rg-domaines-grille.rg-n5 { grid-template-columns: 1fr; } .rg-domaines-grille.rg-n5 .rg-domaine { grid-column: auto !important; } .rg-domaines-lignes .rg-domaine { grid-template-columns: 1fr; gap: 0.3rem; } .rg-domaines-lignes .rg-domaine-fleche { display: none; } }

/* --- Bandes (rendez-vous) ------------------------------------------------- */
.rg-bande-inner { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem 4rem; flex-wrap: wrap; position: relative; z-index: 1; }
.rg-bande-inner > * { margin: 0 !important; }
.rg-bande-texte { max-width: 44rem; }
.rg-bande-texte .rg-titre { color: #FFFFFF; max-width: 22ch; }
.rg-bande .rg-bande-btns, .rg-bande-photo .rg-bande-btns { margin-top: 0 !important; }
.rg-bande-photo { position: relative; overflow: hidden; }
.rg-bande-photo .rg-bande-fond { position: absolute !important; inset: 0; margin: 0 !important; width: 100% !important; max-width: none !important; height: 100%; }
.rg-bande-photo .rg-bande-fond img { width: 100%; height: 100%; object-fit: cover; }
.rg-bande-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, color-mix(in srgb, var(--rg-noir) 92%, transparent) 0%, color-mix(in srgb, var(--rg-noir) 78%, transparent) 60%, color-mix(in srgb, var(--rg-marine) 70%, transparent) 100%); }

/* --- Citation ---------------------------------------------------------------- */
.rg-citation-cadre > * { max-width: 52rem; }
.rg-citation-bloc { margin: 1.4rem 0 0 !important; padding: 0 0 0 2rem !important; border-left: 1px solid var(--rg-or) !important; }
.rg-citation-bloc p { font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-5); line-height: 1.35; font-style: italic; color: var(--rg-noir); }
.rg-citation-bloc cite { display: block; margin-top: 1rem; font-style: normal; font-size: var(--ac-fs-2); letter-spacing: 0.04em; color: var(--rg-doux); }

/* --- Portrait ------------------------------------------------------------------ */
.rg-portrait-fig { position: relative; }
.rg-portrait-fig > * { margin: 0 !important; }
.rg-portrait-img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%; }
.rg-portrait-fig::after { content: ""; position: absolute; left: -14px; top: -14px; width: 46%; height: 30%; border-left: 1px solid var(--rg-or); border-top: 1px solid var(--rg-or); pointer-events: none; }
.rg-legende { margin-top: 0.9rem !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rg-doux); }

/* --- Qualités, coordonnées, adresse ---------------------------------------- */
.rg-qualites-ligne { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 2rem 2.4rem; }
.rg-qualite { padding-top: 1.2rem; border-top: 1px solid var(--rg-noir); }
.rg-qualite > * { margin: 0 !important; }
.rg-qualite-titre { font-size: var(--ac-fs-4) !important; line-height: 1.2; }
.rg-qualite-titre::before { content: ""; display: block; width: 8px; height: 8px; margin-bottom: 1rem; background: var(--rg-or); }
.rg-qualite-texte { margin-top: 0.6rem !important; font-size: 0.9375rem; color: var(--rg-doux); }
.rg-coords { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); border-top: 1px solid var(--rg-noir); }
.rg-coord { padding: 1.5rem 1.5rem 1.6rem 0; border-bottom: 1px solid var(--rg-ligne); }
.rg-coord + .rg-coord { padding-left: 1.5rem; border-left: 1px solid var(--rg-ligne); }
.rg-coord > * { margin: 0 !important; }
.rg-coord-libelle { font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--rg-or-fort); }
.rg-coord-valeur { margin-top: 0.6rem !important; font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem; line-height: 1.3; }
.rg-coord-valeur a { color: inherit; text-decoration: none; border-bottom: 1px solid var(--rg-ligne); }
.rg-coord-aide { margin-top: 0.4rem !important; font-size: var(--ac-fs-2); color: var(--rg-doux); }
@media (max-width: 781px) { .rg-coord + .rg-coord { padding-left: 0; border-left: 0; } }

/* --- Fonds sombres ---------------------------------------------------------- */
.rg-sec:is(.has-secondary-background-color, .has-ink-background-color) { color: #FFFFFF; }
.rg-sec:is(.has-secondary-background-color, .has-ink-background-color) :is(h2, h3) { color: #FFFFFF; }
.has-surface-background-color .rg-porte:not(.rg-porte--marine), .has-surface-background-color .rg-vav-col { background: #FFFFFF; }

/* --- En-tête du site --------------------------------------------------------- */
.rg-topbar { font-size: var(--ac-fs-2); letter-spacing: 0.01em; }
.rg-topbar p { margin: 0 !important; }
.rg-topbar a { color: inherit; text-decoration: none; }
.rg-topbar a:hover { color: var(--rg-or-clair); }
.rg-topbar .rg-topbar-tel a { font-weight: 600; }
.rg-head { border-bottom: 1px solid var(--rg-ligne); }
.rg-head .rg-marque { gap: 0.9rem !important; flex-wrap: nowrap !important; }
.rg-head .rg-marque > * { margin: 0 !important; }
.rg-head .rg-monogramme img { width: 92px; height: auto; display: block; }
.rg-marque-nom { font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem; line-height: 1.05; letter-spacing: 0.01em; white-space: nowrap; }
.rg-marque-nom a { color: var(--rg-noir); text-decoration: none; }
.rg-marque-sous { margin-top: 0.25rem !important; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rg-or-fort); white-space: nowrap; }
.rg-head .nav-links { gap: 0.3rem 1.6rem; }
.rg-head .nav-links p { margin: 0 !important; }
.rg-head .nav-links a { position: relative; color: var(--rg-noir) !important; font-size: var(--ac-fs-2); font-weight: 500; text-decoration: none; padding: 0.4rem 0; }
.rg-head .nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 1px; background: var(--rg-or); transition: right 0.25s ease; }
.rg-head .nav-links a:hover::after, .rg-head .nav-links a[aria-current="page"]::after { right: 0; }
.rg-head .rg-btn .wp-block-button__link { min-height: 42px; padding: 0 1.1rem !important; }
@media (max-width: 1180px) and (min-width: 1080px) { .rg-head .nav-links { gap: 0.3rem 1.1rem; } .rg-marque-sous { display: none; } }
@media (max-width: 599px) { .rg-head .rg-monogramme img { width: 64px; } .rg-marque-nom { font-size: 1.125rem; } .rg-marque-sous { font-size: 0.625rem; letter-spacing: 0.14em; } .rg-topbar-adresse { display: none; } }

/* --- Pied du site ------------------------------------------------------------- */
.rg-pied { font-size: var(--ac-fs-2); line-height: 1.8; color: var(--rg-blanc-doux); }
.rg-pied .wp-block-column p { margin: 0 !important; }
.rg-pied > p { margin-bottom: 0 !important; }
.rg-pied a { color: #FFFFFF; text-decoration: none; }
.rg-pied a:hover { color: var(--rg-or-clair); }
.rg-pied-grille { gap: 2.5rem !important; }
.rg-pied-nom { font-family: var(--wp--preset--font-family--heading); font-size: 1.75rem; line-height: 1.1; color: #FFFFFF; }
.rg-pied-sous { margin-top: 0.4rem !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--rg-or-clair) !important; }
.rg-pied-titre { margin-bottom: 0.6rem !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--rg-or-clair) !important; }
.rg-pied-bas { margin-top: 2.6rem !important; padding-top: 1.4rem; border-top: 1px solid var(--rg-ligne-claire); font-size: var(--ac-fs-1); letter-spacing: 0.02em; }
.rg-pied .rg-monogramme img { width: 110px; height: auto; }

/* --- Formulaire, documents ------------------------------------------------------ */
body.dir-registre .contact-form-row input, body.dir-registre .contact-form-row select, body.dir-registre .contact-form-row textarea { border-radius: 0 !important; }
body.dir-registre .contact-form button[type="submit"], body.dir-registre .contact-form .wp-block-button__link { border-radius: 0 !important; background: var(--rg-marine) !important; color: #FFFFFF !important; }
body.dir-registre .contact-form button[type="submit"]:hover { background: var(--rg-noir) !important; }

/* --- Mouvement ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .rg-domaine, .rg-domaine-fleche, .rg-fleche, .rg-head .nav-links a::after, .rg-btn .wp-block-button__link { transition: none !important; }
}

/* ==========================================================================
   v1.1 — 09/10/2026 (retours d'Aymeric) : une version plus douce.
   - angles arrondis sur tous les blocs, photos, boutons (pilule) et sur les
     sections sombres, posées en panneaux arrondis dans la page ;
   - grilles à cloisons → cartes séparées ; listes → panneaux arrondis ;
   - bouton lien : vraie marge intérieure, plus d'ombre collée au texte ;
   - menu en Newsreader (serif du logo), plus de sans-serif sec ;
   - H1 sur marine : mot d'accent en or clair, filigrane du monogramme ;
   - sections « marine » / « photo » de milieu de page (registre.py › fond).
   ========================================================================== */
body.dir-registre {
  --rg-r-s: 10px;   /* étiquettes, petits éléments */
  --rg-r: 16px;     /* cartes, panneaux */
  --rg-r-l: 22px;   /* photos */
  --rg-r-xl: 30px;  /* sections sombres */
}
/* --- Boutons : pilules, sans ombre ni saut --------------------------------- */
body.dir-registre .rg-btn .wp-block-button__link,
body.dir-registre .contact-form button[type="submit"],
body.dir-registre .contact-form .wp-block-button__link { border-radius: 999px !important; box-shadow: none !important; transform: none !important; opacity: 1 !important; }
body.dir-registre .rg-btn--lien .wp-block-button__link { min-height: 46px; padding: 0 1.3rem !important; border: 1px solid var(--rg-ligne) !important; background: #FFFFFF !important; color: var(--rg-marine) !important; }
body.dir-registre .rg-btn--lien .wp-block-button__link:hover { border-color: var(--rg-or) !important; background: color-mix(in srgb, var(--rg-or) 8%, #FFFFFF) !important; }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-btn--lien .wp-block-button__link { background: transparent !important; border-color: var(--rg-ligne-claire) !important; color: #FFFFFF !important; }
.rg-porte-lien a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 1.1rem; border: 1px solid var(--rg-ligne); border-radius: 999px; transition: border-color 0.2s ease, background-color 0.2s ease; }
.rg-porte--marine .rg-porte-lien a { border-color: var(--rg-ligne-claire); }
.rg-porte-lien a:hover { border-color: var(--rg-or); }
.rg-etiquette { border-radius: 999px; padding: 0.4rem 0.95rem; }

/* --- Photos ---------------------------------------------------------------- */
.rg-photo img, .rg-portrait-img img { border-radius: var(--rg-r-l); }
.rg-cadre::before { border-radius: var(--rg-r-l); }
.rg-hero-une .rg-cadre::before { border-radius: var(--rg-r-l); }
.rg-portrait-fig::after { border-top-left-radius: var(--rg-r-l); }
@media (min-width: 782px) { .rg-hero-une .rg-cadre--hero .rg-photo img { border-radius: var(--rg-r-l) 0 0 var(--rg-r-l); } }

/* --- Cartes et panneaux ------------------------------------------------------ */
.rg-portes-grille { gap: 1rem; border: 0; }
.rg-porte { border: 1px solid var(--rg-ligne); border-radius: var(--rg-r); }
.rg-porte--marine { border-color: var(--rg-marine); }
.rg-porte + .rg-porte, .rg-portes-grille.rg-n4 .rg-porte:nth-child(n + 3) { border-left: 1px solid var(--rg-ligne); border-top: 1px solid var(--rg-ligne); }
.rg-porte--marine + .rg-porte, .rg-portes-grille .rg-porte--marine { border-color: var(--rg-marine); }
.rg-porte:not(.rg-porte--marine) { border-color: var(--rg-ligne) !important; }

.rg-lignes, .rg-droits-liste, .rg-etapes-rail { padding: 0.4rem 1.6rem; background: #FFFFFF; border: 1px solid var(--rg-ligne) !important; border-radius: var(--rg-r); }
.rg-lignes .rg-ligne:last-child, .rg-droits-liste li:nth-last-child(-n + 2), .rg-etapes-rail .rg-etape:last-child { border-bottom: 0; }
.rg-etape:first-child { border-top: 0; }
.rg-lignes--etroites { padding: 0.2rem 1.3rem; }
.has-paper-background-color :is(.rg-lignes, .rg-droits-liste, .rg-etapes-rail) { background: var(--rg-gris); border-color: transparent !important; }
@media (max-width: 781px) { .rg-droits-liste li:nth-last-child(2) { border-bottom: 1px solid var(--rg-ligne); } .rg-lignes, .rg-droits-liste, .rg-etapes-rail { padding: 0.2rem 1.1rem; } }

.rg-tuiles-grille { gap: 1rem; border-top: 0; }
.rg-tuile, .rg-tuile:not(:nth-child(3n + 1)) { padding: 1.6rem 1.6rem 1.8rem; background: #FFFFFF; border: 1px solid var(--rg-ligne); border-radius: var(--rg-r); }
.has-surface-background-color .rg-tuile { border-color: transparent; }

.rg-vav { gap: 1rem; border: 0; }
.rg-vav-col, .rg-vav-col + .rg-vav-col { border: 1px solid var(--rg-ligne); border-radius: var(--rg-r); }

.rg-domaines-grille { gap: 1rem; border: 0; }
.rg-domaine { border: 1px solid var(--rg-ligne) !important; border-radius: var(--rg-r); background: #FFFFFF; }
.has-surface-background-color .rg-domaine { border-color: transparent !important; }
.rg-domaines-lignes { border-top: 0; display: grid; gap: 0.6rem; }
.rg-domaines-lignes .rg-domaine { padding: 1.2rem 1.5rem; background: #FFFFFF; }
.has-paper-background-color .rg-domaines-lignes .rg-domaine { background: var(--rg-gris); border-color: transparent !important; }
.rg-domaines-lignes .rg-domaine:hover { background: var(--rg-marine); color: #FFFFFF; }
.rg-domaines-lignes .rg-domaine:hover .rg-domaine-nom a { color: #FFFFFF; }
.rg-domaines-lignes .rg-domaine:hover .rg-domaine-resume { color: var(--rg-blanc-doux); }

.rg-faq-liste { display: grid; gap: 0.6rem; }
.rg-faq-liste .faq-item, .rg-faq-liste .faq-item:first-child { padding: 1rem 1.3rem; border: 1px solid var(--rg-ligne); border-radius: var(--rg-r); background: #FFFFFF; }
.has-paper-background-color .rg-faq-liste .faq-item { background: var(--rg-gris); border-color: transparent; }
.rg-faq-deux { gap: 0.6rem 1rem; }

.rg-coords { gap: 1rem; border-top: 0; }
.rg-coord, .rg-coord + .rg-coord { padding: 1.4rem 1.5rem; border: 1px solid var(--rg-ligne); border-radius: var(--rg-r); background: #FFFFFF; }
.has-surface-background-color .rg-coord { border-color: transparent; }

.rg-qualite { padding: 1.5rem; border: 1px solid var(--rg-ligne); border-top: 1px solid var(--rg-ligne); border-radius: var(--rg-r); background: #FFFFFF; }
.has-surface-background-color .rg-qualite { border-color: transparent; }
.rg-aparte { border-radius: var(--rg-r); border-top: 0; border-left: 3px solid var(--rg-marine); }
.rg-note { border-left: 0; padding: 0.9rem 1.2rem !important; background: color-mix(in srgb, var(--rg-or) 9%, transparent); border-radius: var(--rg-r-s); }
.rg-sec > .rg-note { padding-right: 1.2rem !important; max-width: 46rem; margin-left: max(0px, calc((100% - 1200px) / 2)) !important; margin-right: auto !important; }
.rg-citation-bloc { border-left: 0 !important; padding: 1.6rem 2rem !important; border-radius: var(--rg-r); background: var(--rg-gris); position: relative; }
.rg-citation-bloc::before { content: ""; position: absolute; left: 0; top: 1.6rem; bottom: 1.6rem; width: 3px; border-radius: 3px; background: var(--rg-or); }
.rg-chiffre { padding: 1.4rem; border: 1px solid var(--rg-ligne-claire); border-radius: var(--rg-r); }
.rg-jalon { padding: 1.4rem; border: 1px solid var(--rg-ligne-claire); border-radius: var(--rg-r); }
.rg-jalon::before { top: 1.4rem; left: auto; right: 1.4rem; border-radius: 50%; }
.rg-frise-ligne { gap: 1rem; border-top: 0; }
.rg-carre, .rg-qualite-titre::before, .rg-hero-points li::before, .rg-droits-liste li::before, .rg-vav-points li::before { border-radius: 50%; }
.rg-faq-liste .faq-item summary::after { border-radius: 1px; }

/* Formulaire */
body.dir-registre .contact-form-row input, body.dir-registre .contact-form-row select, body.dir-registre .contact-form-row textarea { border-radius: var(--rg-r-s) !important; }

/* --- Sections sombres : panneaux arrondis posés dans la page ------------------ */
.rg-sec:is(.has-secondary-background-color, .has-ink-background-color),
.rg-hero.has-secondary-background-color {
  margin-left: clamp(8px, 1.4vw, 22px) !important;
  margin-right: clamp(8px, 1.4vw, 22px) !important;
  width: auto !important;
  max-width: none !important;
  border-radius: var(--rg-r-xl);
  overflow: hidden;
}
.rg-hero.has-secondary-background-color { margin-top: clamp(8px, 1.4vw, 22px) !important; }
.rg-sec:is(.has-secondary-background-color, .has-ink-background-color) { margin-top: clamp(8px, 1.4vw, 22px) !important; margin-bottom: clamp(8px, 1.4vw, 22px) !important; }

/* Sur fond sombre : listes, qualités, citation, droits */
:is(.has-secondary-background-color, .has-ink-background-color) .rg-droits-liste { background: color-mix(in srgb, #FFFFFF 6%, transparent); border-color: var(--rg-ligne-claire) !important; }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-droits-liste li { border-bottom-color: var(--rg-ligne-claire); color: #FFFFFF; }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-qualite { background: color-mix(in srgb, #FFFFFF 6%, transparent); border-color: var(--rg-ligne-claire); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-qualite-texte { color: var(--rg-blanc-doux); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-citation-bloc { background: color-mix(in srgb, #FFFFFF 7%, transparent); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-citation-bloc p { color: #FFFFFF; }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-citation-bloc cite { color: var(--rg-blanc-doux); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-note { background: color-mix(in srgb, #FFFFFF 8%, transparent); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-aparte { background: color-mix(in srgb, #FFFFFF 8%, transparent); border-left-color: var(--rg-or-clair); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-aparte-titre { color: #FFFFFF; }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-aparte-texte { color: var(--rg-blanc-doux); }
:is(.has-secondary-background-color, .has-ink-background-color) .rg-surtitre::before { background: var(--rg-or-clair); }

/* Texte sur photo voilée */
.rg-texte-photo { position: relative; }
.rg-texte-photo .rg-fond-photo { position: absolute !important; inset: 0; margin: 0 !important; z-index: 0; }
.rg-texte-photo .rg-fond-photo img { width: 100%; height: 100%; object-fit: cover; }
.rg-texte-photo::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(100deg, color-mix(in srgb, var(--rg-marine) 94%, transparent) 0%, color-mix(in srgb, var(--rg-marine) 86%, transparent) 55%, color-mix(in srgb, var(--rg-noir) 70%, transparent) 100%); }
.rg-texte-photo > .wp-block-columns { position: relative; z-index: 1; }
.rg-texte-photo .rg-prose { color: var(--rg-blanc-doux); }
.rg-texte-photo .rg-prose--lead { color: #FFFFFF; }

/* --- Menu : Newsreader, comme le logo -------------------------------------- */
.rg-head .nav-links { gap: 0.3rem 1.25rem; flex-wrap: nowrap; }
.rg-head .nav-links a { font-family: var(--wp--preset--font-family--heading); font-size: 1rem; font-weight: 400; letter-spacing: 0; white-space: nowrap; }
.rg-head .wp-block-button__link { white-space: nowrap; }
@media (max-width: 1320px) and (min-width: 1080px) { .rg-head .nav-links { gap: 0.3rem 0.95rem; } .rg-head .nav-links a { font-size: 0.9375rem; } .rg-marque-sous { display: none; } .rg-head .rg-monogramme img { width: 72px; } }
/* 20/10/2026 : libellés plus longs (« Recouvrement et exécution », « Immobilier & locatif ») :
   le menu se resserre par paliers au lieu de chevaucher le nom du cabinet. */
@media (min-width: 1080px) { .rg-head .nav-links { gap: 0.3rem 0.85rem; } .rg-head .nav-links a { font-size: 0.9375rem; } .rg-marque-sous { display: none; } }
@media (max-width: 1320px) and (min-width: 1080px) { .rg-head .nav-links { gap: 0.3rem 0.7rem; } .rg-head .nav-links a { font-size: 0.875rem; } }
@media (max-width: 1220px) and (min-width: 1080px) { .rg-head .rg-marque-nom { display: none; } .rg-head .nav-links { gap: 0.3rem 0.6rem; } .rg-head .nav-links a { font-size: 0.8125rem; } }

/* --- Titres H1 : relief sur marine ------------------------------------------- */
.rg-hero-dossier { position: relative; background-image: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, #FFFFFF 9%, transparent) 0%, transparent 55%); }
.rg-hero-dossier::before { content: ""; position: absolute; left: -2%; bottom: -8%; width: 46%; aspect-ratio: 1382 / 562; background: var(--rg-filigrane, none) no-repeat center / contain; opacity: 0.09; pointer-events: none; }
.rg-hero-dossier .rg-hero-cols { position: relative; z-index: 1; }
.rg-hero-dossier .rg-hero-titre em, .rg-hero-dossier .rg-hero-titre .accent-word { color: var(--rg-or-clair); }
.rg-hero-dossier .rg-fil { color: var(--rg-or-clair) !important; }
.rg-hero-dossier .rg-fil a { color: #FFFFFF !important; }
.rg-hero-une .rg-hero-titre em, .rg-hero-sobre .rg-hero-titre em { color: var(--rg-marine); }
/* Chiffres et frise posés sur un fond clair (après un en-tête sombre, grounds() les éclaircit) */
.rg-chiffres:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-chiffre { border-color: var(--rg-ligne); background: #FFFFFF; }
.rg-chiffres:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-chiffre-valeur { color: var(--rg-marine); }
.rg-chiffres:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-chiffre-libelle { color: var(--rg-doux); }
.rg-frise:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-jalon { border-color: var(--rg-ligne); background: #FFFFFF; }
.rg-frise:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-jalon-titre { color: var(--rg-noir); }
.rg-frise:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-jalon-texte { color: var(--rg-doux); }
.rg-frise:not(.has-secondary-background-color):not(.has-ink-background-color) .rg-jalon-num { color: var(--rg-marine); }

/* ==========================================================================
   14/10/2026 — Accueil immersif (retour cliente Lambret : « trop simple,
   on arrive sur un domaine sans présentation du cabinet »).
   rg-hero-plein · rg-cabinet · rg-domaines-images · repères (faits).
   ========================================================================== */

/* --- En-tête plein écran ---------------------------------------------------- */
.rg-hero-plein { position: relative; isolation: isolate; overflow: hidden; min-height: min(86vh, 840px); display: flex; flex-direction: column; justify-content: flex-end; }
.rg-hero-plein > .rg-hero-fond { position: absolute !important; inset: 0; z-index: -3; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; overflow: hidden; }
.rg-hero-plein > .rg-hero-fond img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%; border-radius: 0 !important; transform: scale(1.06); animation: rg-hero-recul 2.4s cubic-bezier(.2,.7,.2,1) both; }
@keyframes rg-hero-recul { to { transform: scale(1); } }
.rg-hero-plein::before {
  content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--rg-noir) 94%, transparent) 0%, color-mix(in srgb, var(--rg-noir) 80%, transparent) 38%, color-mix(in srgb, var(--rg-noir) 34%, transparent) 72%, color-mix(in srgb, var(--rg-noir) 22%, transparent) 100%),
    linear-gradient(0deg, color-mix(in srgb, var(--rg-noir) 78%, transparent) 0%, transparent 46%);
}
.rg-hero-filigrane { position: absolute; z-index: -1; right: clamp(-60px, -2vw, 0px); top: 14%; width: min(40vw, 560px); aspect-ratio: 1024 / 416; background: var(--rg-filigrane) center / contain no-repeat; opacity: 0.16; pointer-events: none; }
.rg-hero-plein-texte { max-width: 1200px; width: 100%; margin-left: auto !important; margin-right: auto !important; }
.rg-hero-plein-texte > * { max-width: 44rem; }
.rg-hero-plein .rg-hero-titre { max-width: 15ch; color: #FFFFFF; font-size: clamp(2.6rem, 1.6rem + 3.6vw, 4.6rem) !important; }
.rg-hero-plein .rg-hero-titre em { color: var(--rg-or-clair); }
.rg-hero-plein .rg-h1-surtitre { display: flex; align-items: center; gap: 0.8rem; color: #FFFFFF; }
.rg-hero-plein .rg-h1-surtitre::before { content: ""; flex: 0 0 28px; height: 1px; background: var(--rg-or-clair); }
.rg-hero-plein .rg-chapo { margin-top: 1.5rem !important; color: var(--rg-blanc-doux); font-size: 1.0625rem; max-width: 38rem; }

/* --- Repères (faits) : en bas du hero et sous la présentation du cabinet ----- */
.rg-reperes { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); max-width: 1200px; width: 100%; margin: clamp(2.5rem, 5vw, 4rem) auto 0 !important; border-top: 1px solid var(--rg-ligne); }
.rg-reperes.rg-n4 { --n: 4; } .rg-reperes.rg-n2 { --n: 2; }
.rg-repere { padding: 1.3rem 1.6rem 0 0; }
.rg-repere + .rg-repere { padding-left: 1.6rem; border-left: 1px solid var(--rg-ligne); }
.rg-repere-valeur { margin: 0 !important; font-family: var(--wp--preset--font-family--heading); font-size: var(--ac-fs-4); line-height: 1.25; color: var(--rg-noir); }
.rg-repere-libelle { margin: 0.35rem 0 0 !important; font-size: var(--ac-fs-1); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--rg-doux); }
.rg-reperes--hero { border-top-color: var(--rg-ligne-claire); margin-top: clamp(3rem, 7vh, 5rem) !important; }
.rg-reperes--hero .rg-repere + .rg-repere { border-left-color: var(--rg-ligne-claire); }
.rg-reperes--hero .rg-repere-valeur { color: #FFFFFF; }
.rg-reperes--hero .rg-repere-libelle { color: var(--rg-blanc-doux); }

/* --- Présentation du cabinet ---------------------------------------------- */
.rg-cabinet-cols { gap: clamp(2rem, 6vw, 5.5rem) !important; }
.rg-cabinet-fig { position: relative; isolation: isolate; margin: 0 1.4rem 0 0 !important; }

.rg-cabinet-img { position: relative; margin: 0 !important; }
.rg-cabinet-img::before { content: ""; position: absolute; inset: 1.4rem -1.4rem -1.4rem 1.4rem; border: 1px solid var(--rg-or); border-radius: var(--rg-r-l); z-index: -1; }
.rg-cabinet-img img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; border-radius: var(--rg-r-l); }
.rg-cabinet-fig .rg-legende { margin-top: 2.2rem !important; }
.rg-cabinet-cols .rg-titre { margin-bottom: 1.4rem !important; }
.rg-cabinet-liens { gap: 0.75rem !important; margin-top: 1.8rem !important; }

/* --- Domaines en grandes images ------------------------------------------- */
.rg-dimg-grille { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 20px); margin-top: clamp(2rem, 4vw, 3rem) !important; }
.rg-dimg { position: relative; isolation: isolate; overflow: hidden; grid-column: span 2; aspect-ratio: 4 / 3; border-radius: var(--rg-r); background: var(--rg-noir); }
.rg-dimg-grille.rg-n5 .rg-dimg:nth-child(-n+2), .rg-dimg-grille.rg-n4 .rg-dimg { grid-column: span 3; aspect-ratio: 16 / 9; }
.rg-dimg-photo { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.rg-dimg-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform 0.9s cubic-bezier(.2,.7,.2,1); }
.rg-dimg::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, color-mix(in srgb, var(--rg-noir) 88%, transparent) 0%, color-mix(in srgb, var(--rg-noir) 45%, transparent) 45%, transparent 75%); transition: opacity 0.4s ease; }
.rg-dimg-texte { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(1.1rem, 2vw, 1.6rem); padding-right: 3.6rem; }
.rg-dimg-nom { margin: 0 !important; font-size: var(--ac-fs-5) !important; line-height: 1.15; color: #FFFFFF; }
.rg-dimg-nom a { color: inherit !important; text-decoration: none; }
.rg-dimg-nom a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.rg-dimg-grille.rg-n5 .rg-dimg:nth-child(n+3) .rg-dimg-nom { font-size: var(--ac-fs-4) !important; }
.rg-dimg-resume { margin: 0.45rem 0 0 !important; font-size: var(--ac-fs-2); line-height: 1.55; color: var(--rg-blanc-doux); max-width: 34rem; }
.rg-dimg-fleche { position: absolute; right: clamp(1.1rem, 2vw, 1.6rem); bottom: clamp(1.1rem, 2vw, 1.6rem); width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--rg-ligne-claire); border-radius: 999px; color: #FFFFFF; transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.3s ease; }
.rg-dimg:hover .rg-dimg-photo img, .rg-dimg:focus-within .rg-dimg-photo img { transform: scale(1.05); }
.rg-dimg:hover .rg-dimg-fleche, .rg-dimg:focus-within .rg-dimg-fleche { background: var(--rg-or); border-color: var(--rg-or); color: var(--rg-noir); transform: translateX(3px); }
.rg-dimg:focus-within { outline: 2px solid var(--rg-or); outline-offset: 3px; }

@media (max-width: 1080px) {
  .rg-dimg-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-dimg, .rg-dimg-grille.rg-n5 .rg-dimg:nth-child(-n+2), .rg-dimg-grille.rg-n4 .rg-dimg { grid-column: span 1; aspect-ratio: 4 / 3; }
  .rg-dimg-grille.rg-n5 .rg-dimg:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
}
@media (max-width: 781px) {
  .rg-hero-plein { min-height: 0; padding-top: 9rem !important; }
  .rg-hero-plein::before { background: linear-gradient(0deg, color-mix(in srgb, var(--rg-noir) 96%, transparent) 0%, color-mix(in srgb, var(--rg-noir) 80%, transparent) 55%, color-mix(in srgb, var(--rg-noir) 45%, transparent) 100%); }
  .rg-hero-filigrane { width: 70vw; top: 6%; right: -10vw; opacity: 0.14; }
  .rg-reperes { grid-template-columns: minmax(0, 1fr); }
  .rg-repere, .rg-repere + .rg-repere { padding: 1rem 0; border-left: 0; border-bottom: 1px solid var(--rg-ligne); }
  .rg-reperes--hero .rg-repere { border-bottom-color: var(--rg-ligne-claire); }
  .rg-repere:last-child { border-bottom: 0; }
  .rg-dimg-grille { grid-template-columns: minmax(0, 1fr); }
  .rg-dimg, .rg-dimg-grille.rg-n5 .rg-dimg:first-child { grid-column: auto; aspect-ratio: 4 / 3; }
  .rg-cabinet-fig { max-width: 420px; }
}
@media (prefers-reduced-motion: reduce) {
  .rg-hero-plein > .rg-hero-fond img { animation: none; transform: none; }
  .rg-dimg-photo img, .rg-dimg::before, .rg-dimg-fleche { transition: none; }
}

/* --- propre au client (theme-client.css) --- */
/* Lambret (26/10/2026, demande d'Aymeric) : photo « rendez-vous au cabinet » (#382) dans la bande « Prendre rendez-vous » :
   cadrée sur le visage de l'avocate (en haut, aux deux tiers à droite de la photo), sur ordinateur comme sur mobile. */
.rg-bande-photo .rg-bande-fond img.wp-image-382 { object-position: 70% 22%; }
