/*
 * Design G (owner, 21/10), the article page first: plates G-article-bureau
 * (1440) and G-article-mobile (390) of the design canvas. Scoped to `.dp-g`, so
 * the pages not yet in G keep their look until their own turn.
 *
 * Sora and Inter, SIL Open Font License 1.1, served by the site (latin subset,
 * variable weights): no request to Google.
 */
@font-face {
	font-family: "Sora";
	font-style: normal;
	font-weight: 500 700;
	font-display: swap;
	src: url(fonts/sora-latin-var.woff2) format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url(fonts/inter-latin-var.woff2) format("woff2");
}
/* Thierry's serif for the Unlock Breath title (his mock-up of 01/11). */
@font-face {
	font-family: "Crimson Pro";
	font-style: normal;
	font-weight: 500 600;
	font-display: swap;
	src: url(fonts/crimson-pro-latin-var.woff2) format("woff2");
}

.dp-g {
	/* The fees box of the appointment form, his mock-up of 01/11. */
	--g-form-tint: #f6eee8;
	/* Thierry's charter (PDF « Typographie et couleurs », 02/11): exact values. */
	--g-ink: #1a1b1e;
	--g-graphite: #1e1f23;
	--g-muted: #5b5c61;
	--g-text: #45464b;
	--g-rose: #f3e3d8;
	--g-beige: #ece9e3;
	--g-primary-strong: #7a3c27;
	--g-band-hover: #3e3f42;
	--g-label-hover: #ded6ca;
	--g-line: #e6e3de;
	--g-sand: #f3f1ec;
	--g-field: #8a8d92;
	--g-primary: #9a4f35;
	--g-on-dark: #c9c8c5;
	--g-on-dark-soft: #d6d5d2;
	--g-accent-on-dark: #e8b49a;
	--g-title: "Sora", system-ui, sans-serif;
	/* The layout follows the screen (owner, 23/10, « bonnes pratiques modernes
	   responsives »): margins grow from 16 px on a phone to 96 px; bands, grids,
	   header and footer stand on 1600 px at most, an article's columns on 1280;
	   running text keeps 648 px, about 68 characters of the 18 px text; titles
	   grow with the screen, at their plate's size at 1440 px. */
	--g-gutter: clamp(16px, 5vw - 4px, 96px);
	--g-wide: 1600px;
	--g-main: 1280px;
	--g-measure: 648px;
	--g-fs-display: clamp(40px, 2.6vw + 25px, 72px);
	--g-fs-hero: clamp(34px, 2.2vw + 20px, 62px);
	--g-fs-section: clamp(28px, 1vw + 21.6px, 42px);
	background: #fff;
	color: var(--g-ink);
	font-family: "Inter", system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.6;
}
.dp-g :where(.wp-block-group, .wp-block-post-content) > * { margin-block-start: 0; }
.dp-g a { color: var(--g-ink); }
.dp-g a:hover { color: var(--g-primary); }
.dp-g img { max-width: 100%; height: auto; }
.dp-g svg { flex: none; }

/* Head: graphite, header, breadcrumb, chips, title, author. */
.dp-g-hero { background: var(--g-graphite); color: #fff; padding: 0 var(--g-gutter) 72px; }
.dp-g-article:has(.dp-g-lead:not(.dp-g-lead--unavailable)) .dp-g-hero { padding-bottom: 232px; }
.dp-g-hero a { color: #fff; }
.dp-g-header {
	max-width: var(--g-wide); margin: 0 auto; min-height: 88px;
	display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px;
}
.dp-g-logo { display: flex; align-items: center; gap: 12px; justify-self: start; text-decoration: none; font-family: var(--g-title); font-size: 18px; font-weight: 600; color: #fff; }
.dp-g-logo__mark { display: block; width: 40px; height: 40px; border-radius: 10px; background: #fff url(logo-terracotta.webp) center / 28px no-repeat; }
.dp-g-logo__mark--bare { width: 30px; height: 30px; border-radius: 0; background-size: 30px; background-color: transparent; }
.dp-g .dp-g-nav { display: flex; align-items: center; padding: 4px; gap: 4px; border-radius: 12px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.2); font-size: 15px; font-weight: 500; }
/* The main menu (main-menu block in dos-posture-core), the same in every
   version of the head: Thierry's three entries (mock-up of 01/11), a plain
   link, a button opening its panel, a plain link; the version only changes
   the look of the entries, the links drawn as the button is. The entry of the
   page being read wears his light terracotta, underlined (aria-current). A panel opens on hover for a pointer that
   hovers, when its button says so (assets/main-menu.js: a click, a tap, Enter),
   and, before that script runs, on focus. Owner's UX pass, 23/10. */
.dp-menu { position: relative; display: flex; align-items: center; gap: inherit; margin: 0; padding: 0; list-style: none; }
.dp-menu__item { display: flex; }
.dp-menu__toggle { display: inline-flex; align-items: center; gap: 6px; margin: 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.dp-menu__toggle[aria-expanded="true"] .dp-menu__chevron { transform: rotate(180deg); }
.dp-menu__link { display: inline-flex; align-items: center; text-decoration: none; }
:is(.dp-menu__toggle, .dp-menu__link):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.dp-menu:is(.dp-menu--g, .dp-menu--header) :is(.dp-menu__toggle, .dp-menu__link) { min-height: 42px; padding: 0 14px 0 16px; border-radius: 8px; color: #fff; }
.dp-menu--1 :is(.dp-menu__toggle, .dp-menu__link) { min-height: 44px; padding: 0; color: #fff; }
.dp-menu--2 :is(.dp-menu__toggle, .dp-menu__link) { min-height: 52px; padding: 0; color: #fff; }
.dp-menu--2 .dp-menu__chevron { width: 13px; height: 13px; }
.dp-menu--3 :is(.dp-menu__toggle, .dp-menu__link) { min-height: 44px; padding: 0 14px; border-radius: 8px; color: #15171a; }
.dp-menu:is(.dp-menu--g, .dp-menu--header) .dp-menu__item:hover > :is(.dp-menu__toggle, .dp-menu__link),
.dp-menu:is(.dp-menu--g, .dp-menu--header) .dp-menu__toggle[aria-expanded="true"] { background: rgba(255, 255, 255, 0.18); }
.dp-menu--3 .dp-menu__item:hover > :is(.dp-menu__toggle, .dp-menu__link),
.dp-menu--3 .dp-menu__toggle[aria-expanded="true"] { background: #f1efeb; }
.dp-menu:is(.dp-menu--1, .dp-menu--2) .dp-menu__item:hover > :is(.dp-menu__toggle, .dp-menu__link),
.dp-menu:is(.dp-menu--1, .dp-menu--2) .dp-menu__toggle[aria-expanded="true"] { color: var(--g-accent-on-dark); text-decoration: none; }
/* « L'approche » (Thierry, 02/11): its words lead to /cabinet, the chevron
   beside them opens the panel; together one pill, lit as one. */
.dp-menu .dp-menu__item--split > .dp-menu__link { padding-right: 4px; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.dp-menu .dp-menu__item--split > .dp-menu__toggle { padding-left: 4px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.dp-menu:is(.dp-menu--g, .dp-menu--header) .dp-menu__item--split:has(> .dp-menu__toggle[aria-expanded="true"]) > .dp-menu__link { background: rgba(255, 255, 255, 0.18); }
.dp-menu--3 .dp-menu__item--split:has(> .dp-menu__toggle[aria-expanded="true"]) > .dp-menu__link { background: #f1efeb; }
.dp-menu__panel { position: absolute; top: 100%; left: 50%; z-index: 40; width: max-content; max-width: min(860px, calc(100vw - 32px)); padding-top: 10px; transform: translateX(-50%); visibility: hidden; transition: visibility 0s linear 0.15s; text-align: left; text-transform: none; letter-spacing: normal; font-size: 15px; font-weight: 400; }
.dp-menu:not(.is-ready) .dp-menu__item:focus-within > .dp-menu__panel,
.dp-menu__toggle[aria-expanded="true"] + .dp-menu__panel { visibility: visible; transition-delay: 0s; }
.dp-menu__item.is-dismissed > .dp-menu__panel { transition: none; }
@media (hover: hover) {
	.dp-menu__item:hover:not(.is-dismissed) > .dp-menu__panel { visibility: visible; transition-delay: 0s; }
}
.dp-menu__box { display: flex; gap: 32px; padding: 24px 28px; border-radius: 14px; background: #fff; color: var(--g-ink); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3); }
.dp-menu__group { flex: 1 1 220px; min-width: 0; max-width: 320px; }
.dp-menu__item--articles .dp-menu__group { max-width: none; }
.dp-menu__item--articles .dp-menu__links { columns: 2; column-gap: 32px; }
.dp-g .dp-menu__head { display: flex; align-items: center; gap: 8px; min-height: 40px; margin: 0; font-family: var(--g-title); font-size: 17px; font-weight: 600; color: var(--g-ink); text-decoration: none; }
.dp-menu__head svg { flex: none; }
.dp-menu__links { margin: 4px 0 0; padding: 6px 0 0; border-top: 1px solid #e6e3de; list-style: none; }
.dp-g .dp-menu__label { margin: 4px 0 0; padding: 12px 0 2px; border-top: 1px solid #e6e3de; font-size: 13px; font-weight: 500; letter-spacing: 0.02em; color: #6a6b70; }
.dp-menu__label + .dp-menu__links { margin-top: 0; padding-top: 0; border-top: 0; }
.dp-menu .dp-menu__item > :is(.dp-menu__toggle, .dp-menu__link)[aria-current] { color: #e8b49a; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.dp-menu--3 .dp-menu__item > :is(.dp-menu__toggle, .dp-menu__link)[aria-current] { color: var(--g-primary); }
.dp-menu .dp-menu__item--split > .dp-menu__link[aria-current] + .dp-menu__toggle { color: #e8b49a; }
.dp-menu--3 .dp-menu__item--split > .dp-menu__link[aria-current] + .dp-menu__toggle { color: var(--g-primary); }
.dp-g .dp-menu__box a[aria-current="page"] { color: var(--g-primary); }
.dp-menu__links li { break-inside: avoid; }
.dp-g .dp-menu__links a { display: flex; align-items: center; min-height: 38px; color: var(--g-ink); text-decoration: none; }
.dp-g .dp-menu__links a:hover, .dp-g a.dp-menu__head:hover { text-decoration: underline; text-underline-offset: 4px; }
/* His « menu » button and its drawer (the main menu on a phone, at the end):
   on a wider screen the button is not shown and the drawer is no box, its
   entries in the bar. */
.dp-menu__open, .dp-menu__rdv { display: none; }
/* gap: inherit on .dp-menu reads its parent, the sheet: both pass the gap of
   the bar on, or the entries touch (owner, 02/11). */
.dp-menu__drawer, .dp-menu__sheet { display: contents; gap: inherit; }
.dp-g-header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.dp-g-hm--2 .dp-g-hm__logo { grid-column: 2; }
.dp-g-hm--2 .dp-g-hm__contact { grid-column: 3; }
.dp-g-header__search { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; box-sizing: border-box; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.08); }
.dp-g .dp-g-header__contact { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 10px; background: #fff; color: var(--g-ink); text-decoration: none; font-weight: 600; }

.dp-g-hero__inner { max-width: var(--g-main); margin: 0 auto; padding-top: 40px; }
.dp-g .dp-breadcrumb__list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 15px; color: var(--g-on-dark); }
.dp-g .dp-breadcrumb__item + .dp-breadcrumb__item::before { content: "›"; margin-right: 10px; }
.dp-g .dp-breadcrumb__item:last-child:has([aria-current]) { display: none; }
.dp-g .dp-breadcrumb a { color: var(--g-on-dark); text-underline-offset: 4px; }
.dp-g-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 40px; }
.dp-g .dp-g-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; box-sizing: border-box; padding: 0 12px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.32); background: rgba(255, 255, 255, 0.08); color: #fff; text-decoration: none; font-size: 14px; font-weight: 600; }
.dp-g .dp-g-chip--video { padding-left: 4px; border: 0; background: #fff; color: var(--g-ink); }
.dp-g-chip__icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px; background: var(--g-primary); color: #fff; }
.dp-g .dp-g-head__title { max-width: 980px; margin: 20px 0 0; font-family: var(--g-title); font-size: var(--g-fs-hero); font-weight: 600; line-height: 1.1; letter-spacing: -0.035em; text-wrap: balance; color: #fff; }
.dp-g-byline { display: flex; align-items: center; gap: 14px; margin-top: 28px; line-height: 1.4; }
.dp-g .dp-g-byline__photo { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; object-position: 37% 25%; }
.dp-g-byline p { margin: 0; }
.dp-g-byline__name { font-weight: 600; }
.dp-g-byline__meta { font-size: 14px; color: var(--g-on-dark); }

/* The opening video, across both columns, behind a click. */
.dp-g-lead { max-width: var(--g-main); margin: 0 auto; padding: 0 var(--g-gutter); }
.dp-g-article:has(.dp-g-lead:not(.dp-g-lead--unavailable)) .dp-g-lead { margin-top: -192px; }
.dp-g-lead .dp-video { margin: 0; }
/* A video page whose video cannot be played: its message under the head, not across it. */
.dp-g-lead--unavailable { margin-top: 48px; }
/* 16/9 before the click too: the body videos' phone rule (style.css) made it
   160 px high at 390 px, the top of its picture cut (owner, 24/10). */
.dp-g .dp-g-lead .dp-video__frame:not([data-dp-video-loaded="true"]) { aspect-ratio: 16 / 9; }
.dp-g-lead .dp-video__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: var(--g-ink); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18); }
.dp-g-lead .dp-video__poster { position: absolute; inset: 0; grid-area: auto; justify-self: stretch; display: block; }
.dp-g-lead .dp-video__poster-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.dp-g-lead .dp-video__poster::after { content: ""; position: absolute; inset: 0; background: rgba(12, 13, 15, 0.28); }
.dp-g-lead .dp-video__poster-label { position: absolute; left: 24px; right: 24px; bottom: 20px; z-index: 1; color: #fff; font-size: 15px; }
.dp-g-lead .dp-video__poster:has(img) .dp-video__poster-label { display: none; }
.dp-g .dp-video__load { grid-area: auto; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2; display: inline-flex; align-items: center; gap: 14px; min-height: 64px; padding: 0 26px 0 8px; border: 0; border-radius: 14px; background: #fff; color: var(--g-ink); font: inherit; font-size: 17px; font-weight: 600; white-space: nowrap; cursor: pointer; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25); }
.dp-g .dp-video__load-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 10px; background: var(--g-primary); color: #fff; font-size: 18px; }
.dp-g .dp-video__caption { display: flex; flex-direction: column; gap: 4px; margin-top: 16px; font-size: 15px; line-height: 1.55; color: var(--g-muted); }

/* Two columns: summary and topic on the left, the text on the right. */
.dp-g-article__cols { max-width: var(--g-main); margin: 0 auto; padding: 72px var(--g-gutter) 0; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 48px 96px; }
.dp-g-aside { flex: 1 1 260px; min-width: 0; }
.dp-g .dp-g-toc__title { margin: 0; font-family: inherit; font-size: 14px; font-weight: 600; letter-spacing: 0; color: var(--g-muted); }
.dp-g-toc__list { margin: 12px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--g-line); }
.dp-g .dp-g-toc__link { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--g-line); text-decoration: none; font-size: 15px; font-weight: 600; line-height: 1.4; }
.dp-g-toc__num { font-family: var(--g-title); color: var(--g-primary); }
.dp-g .dp-g-topicbox { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 28px; padding: 16px 18px; border-radius: 12px; background: var(--g-sand); text-decoration: none; }
.dp-g-topicbox__text { display: flex; flex-direction: column; line-height: 1.35; }
.dp-g-topicbox__name { font-family: var(--g-title); font-size: 17px; font-weight: 600; }
.dp-g-topicbox__count { font-size: 14px; color: var(--g-muted); }

.dp-g-article__body { flex: 999 1 560px; max-width: var(--g-measure); min-width: 0; font-size: 18px; line-height: 1.7; }
.dp-g-article__body .wp-block-post-content > * { max-width: none; margin: 0 0 22px; }
.dp-g-article__body .wp-block-post-content h2,
.dp-g-article__body .wp-block-post-content h3 { margin: 56px 0 20px; font-family: var(--g-title); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--g-ink); }
.dp-g-article__body .wp-block-post-content h3 { margin-top: 40px; font-size: 22px; }
/* Old inline colours of the headings give way to G's ink: display only. */
.dp-g-article__body .wp-block-post-content :is(h2, h3) [style*="color"] { color: inherit !important; }
.dp-g-article__body .wp-block-post-content :is(h2, h3) strong { font-weight: inherit; }
.dp-g-article__body .wp-block-image,
.dp-g-article__body .wp-block-image figure { margin: 12px 0 34px; }
.dp-g-article__body .wp-block-image img { display: block; width: 100%; border-radius: 12px; border: 1px solid var(--g-line); box-sizing: border-box; }
.dp-g-article__body .wp-block-spacer { display: none; }
.dp-g-article__body .dp-video { margin: 12px 0 34px; }
.dp-g-article__body .dp-video__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: var(--g-ink); }
.dp-g-article__body .dp-video__poster-label { position: absolute; left: 20px; right: 20px; bottom: 16px; color: #fff; font-size: 15px; }

.dp-g-author { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 20px; align-items: center; margin-top: 56px; padding: 20px; border-radius: 16px; background: var(--g-sand); line-height: 1.5; }
.dp-g .dp-g-author__photo { width: 80px; height: 80px; border-radius: 12px; object-fit: cover; object-position: 37% 25%; }
.dp-g-author p { margin: 0; }
.dp-g-author__name { font-family: var(--g-title); font-size: 19px; font-weight: 600; }
.dp-g-author__line { margin-top: 2px; font-size: 15px; color: var(--g-muted); }
.dp-g .dp-g-arrowlink { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; font-weight: 600; text-underline-offset: 5px; }

/* À lire aussi. */
.dp-g-related { margin-top: 96px; padding: 80px var(--g-gutter); border-top: 1px solid var(--g-line); }
.dp-g-related__head, .dp-g-related__list { max-width: var(--g-wide); margin-left: auto; margin-right: auto; }
.dp-g-related__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.dp-g .dp-g-related__title { margin: 0; font-family: var(--g-title); font-size: var(--g-fs-section); font-weight: 600; line-height: 1.1; letter-spacing: -0.03em; }
.dp-g-related__all { font-size: 16px; }
.dp-g-related__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 20px; margin-top: 28px; padding: 0; list-style: none; }
.dp-g .dp-g-card { display: flex; flex-direction: column; text-decoration: none; }
.dp-g .dp-g-card__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; }
.dp-g-card__image--none { background: var(--g-sand); }
.dp-g-card__topic { margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g-card__title { margin-top: 4px; font-family: var(--g-title); font-size: 18px; font-weight: 600; line-height: 1.3; }

/* Search and cabinet. */
.dp-g-search { padding: 72px var(--g-gutter) 88px; background: var(--g-sand); }
.dp-g-search__grid, .dp-g-cabinet { max-width: var(--g-wide); margin-left: auto; margin-right: auto; box-sizing: border-box; }
.dp-g-search__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 48px; align-items: start; }
.dp-g .dp-g-search__title { margin: 0; font-family: var(--g-title); font-size: 32px; font-weight: 600; line-height: 1.12; letter-spacing: -0.03em; }
.dp-g-search__form { display: flex; align-items: center; gap: 8px; padding: 8px 8px 8px 22px; border: 1px solid var(--g-field); border-radius: 14px; background: #fff; }
.dp-g-search__icon { color: var(--g-muted); }
.dp-g-search__form input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 14px 0; font: inherit; font-size: 17px; color: var(--g-ink); }
.dp-g-search__form button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; border: 0; border-radius: 10px; background: var(--g-ink); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.dp-g-search__submit-icon { display: none; }
.dp-g-search__topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.dp-g .dp-g-topic { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 10px; background: #fff; text-decoration: none; font-weight: 600; }
.dp-g-topic__count { font-size: 14px; font-weight: 500; color: var(--g-muted); }
.dp-g-cabinet { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; margin-top: 56px; padding: 34px 36px; border-radius: 16px; background: var(--g-graphite); color: #fff; }
.dp-g-cabinet p { margin: 0; }
.dp-g-cabinet__warning { margin-bottom: 12px !important; font-size: 14px; color: var(--g-on-dark-soft); }
.dp-g-cabinet__text { flex: 1 1 420px; min-width: 0; }
.dp-g-cabinet__address { font-family: var(--g-title); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; }
.dp-g-cabinet__access { margin-top: 10px !important; font-size: 16px; line-height: 1.5; color: var(--g-on-dark-soft); }
.dp-g .dp-g-cabinet__contact { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 10px; background: var(--g-primary); color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }
.dp-g .dp-g-cabinet__contact:hover { background: var(--g-ink); color: #fff; }
.dp-g .dp-g-unvalidated { font-style: italic; }

/* Rubrique: plates G-rubrique-bureau (1440) and G-rubrique-mobile (390). */
.dp-g-rubrique .dp-g-hero { padding-bottom: 40px; }
.dp-g-rubrique .dp-g-hero__inner { max-width: var(--g-wide); }
.dp-g-rubrique .dp-breadcrumb__item:last-child:has([aria-current]) { display: list-item; color: #fff; }
.dp-g-rubrique-head__intro { margin-top: 36px; }
.dp-g-rubrique-head__intro--drawn { display: grid; grid-template-columns: 200px minmax(0, 1fr); grid-template-rows: 1fr auto; column-gap: 40px; align-items: end; }
.dp-g .dp-g-rubrique-head__image { grid-row: 1 / span 2; display: block; width: 200px; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 14px; }
.dp-g-rubrique-head__intro--drawn > :not(img) { grid-column: 2; }
.dp-g .dp-g-rubrique-head__kicker { margin: 0; font-size: 15px; font-weight: 600; color: var(--g-accent-on-dark); }
.dp-g .dp-g-rubrique-head__title { margin: 10px 0 0; font-family: var(--g-title); font-size: var(--g-fs-display); font-weight: 600; line-height: 1.05; letter-spacing: -0.035em; color: #fff; }
.dp-g .dp-g-rubrique-head__text { max-width: 680px; margin: 18px 0 0; font-size: 18px; line-height: 1.6; color: var(--g-on-dark-soft); }
.dp-g-subnav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 44px; padding-top: 24px; border-top: 1px solid #3a3d42; }
.dp-g .dp-g-subnav__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; box-sizing: border-box; padding: 0 14px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.32); background: rgba(255, 255, 255, 0.08); color: #fff; text-decoration: none; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-subnav__link[aria-current] { border-color: #fff; background: #fff; color: var(--g-ink); }
.dp-g-subnav__count { font-size: 14px; font-weight: 500; color: var(--g-on-dark); }
.dp-g-subnav__link[aria-current] .dp-g-subnav__count { color: var(--g-muted); }
.dp-g-rubrique-head__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 44px; padding-top: 24px; border-top: 1px solid #3a3d42; }
.dp-g-rubrique-head__tools .dp-g-subnav { margin: 0; padding: 0; border: 0; }
.dp-g-sort { display: flex; align-items: center; gap: 10px; margin: 0 0 0 auto; }
.dp-g-sort__label { font-size: 15px; color: var(--g-on-dark); }
.dp-g .dp-g-sort__select { min-height: 44px; padding: 0 12px; border: 1px solid rgba(255, 255, 255, 0.32); border-radius: 10px; background: rgba(255, 255, 255, 0.08); color: #fff; color-scheme: dark; font: inherit; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-sort__select option { background: var(--g-graphite); color: #fff; }
.dp-g .dp-g-sort__apply { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.32); border-radius: 10px; background: rgba(255, 255, 255, 0.08); color: #fff; cursor: pointer; }
.dp-g .dp-g-sort__select:hover, .dp-g .dp-g-sort__apply:hover { border-color: #fff; }

.dp-g-rubrique-list { max-width: var(--g-wide); margin: 0 auto; padding: 72px var(--g-gutter) 0; }
.dp-g-rubrique-list__empty { margin: 0; font-size: 18px; color: var(--g-muted); }
.dp-g-feature { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: center; }
.dp-g-feature__media { position: relative; display: block; }
.dp-g .dp-g-feature__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; }
.dp-g-feature__text p { margin: 0; }
.dp-g-feature__kicker { font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g .dp-g-feature__title { margin: 10px 0 0; font-family: var(--g-title); font-size: 32px; font-weight: 600; line-height: 1.15; letter-spacing: -0.03em; }
.dp-g-feature__title a { text-decoration: none; }
.dp-g-feature__text .dp-g-feature__excerpt { margin-top: 16px; font-size: 17px; color: var(--g-muted); }
.dp-g .dp-g-feature__more { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin-top: 24px; padding: 0 22px; border-radius: 10px; background: var(--g-ink); color: #fff; text-decoration: none; font-weight: 600; }
.dp-g .dp-g-feature__more:hover { color: #fff; background: var(--g-primary); }
.dp-g-rubrique-list__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 20px; margin: 72px 0 0; padding: 0; list-style: none; }
.dp-g-feature + .dp-g-rubrique-list__grid { margin-top: 72px; }
.dp-g-rubrique-list__empty + .dp-g-rubrique-list__grid, .dp-g-rubrique-list > .dp-g-rubrique-list__grid:first-child { margin-top: 0; }
.dp-g-card__media { position: relative; display: block; }
/* Thierry, 24/10: the yellow and blue of his YouTube thumbnails break the
   palette. A list draws them in black and white warmed towards the beige, never
   brown (the owner, 21/10); the « Vidéo » badge and the players keep their colours. */
.dp-g img.dp-g-card__image, .dp-g img.dp-g-feature__image { filter: grayscale(1) sepia(0.2) contrast(0.85) brightness(1.08); }
.dp-g-card__video { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 8px; min-height: 34px; box-sizing: border-box; padding: 0 12px 0 4px; border-radius: 8px; background: #fff; color: var(--g-ink); font-size: 13px; font-weight: 600; line-height: 1; }
.dp-g-card__video .dp-g-chip__icon { width: 26px; height: 26px; }
.dp-g-feature__media .dp-g-card__video { left: 16px; bottom: 16px; min-height: 44px; padding: 0 16px 0 6px; font-size: 14px; }
.dp-g-feature__media .dp-g-card__video .dp-g-chip__icon { width: 32px; height: 32px; border-radius: 8px; }
.dp-g-rubrique-list .dp-g-card__title { font-size: 17px; line-height: 1.35; }

.dp-g-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-top: 56px; }
.dp-g-pager__count { display: none; font-size: 15px; color: var(--g-muted); }
.dp-g .dp-g-pager__num, .dp-g .dp-g-pager__step { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 46px; min-height: 46px; box-sizing: border-box; padding: 0 14px; border-radius: 10px; border: 1px solid var(--g-line); text-decoration: none; font-weight: 600; }
.dp-g .dp-g-pager__num[aria-current] { border-color: var(--g-ink); background: var(--g-ink); color: #fff; }
.dp-g .dp-g-pager__gap { border: 0; color: var(--g-muted); }
.dp-g .dp-g-pager__step { border: 1.5px solid var(--g-ink); }
.dp-g-pager__step--next { margin-left: 8px; }
.dp-g-pager__step--prev { margin-right: 8px; }
.dp-g-pager__step--prev svg { transform: scaleX(-1); }

.dp-g-others { margin-top: 88px; padding: 64px var(--g-gutter) 80px; border-top: 1px solid var(--g-line); }
.dp-g-others__inner { max-width: var(--g-wide); margin: 0 auto; }
.dp-g .dp-g-others__title { margin: 0; font-family: var(--g-title); font-size: var(--g-fs-section); font-weight: 600; line-height: 1.1; letter-spacing: -0.03em; }
.dp-g-others__list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.dp-g-others .dp-g-topic { background: var(--g-sand); font-size: 15px; }
.dp-g-rubrique .dp-g-search { margin-top: 0; }
.dp-g-rubrique-list + .dp-g-search { margin-top: 88px; }

/* The list of all the articles, /douleurs-et-exercices (plate G-articles). */
.dp-g-hub .dp-g-hero { padding-bottom: 48px; }
.dp-g-hub .dp-g-hero__inner { max-width: var(--g-wide); }
.dp-g .dp-g-hub-head__kicker { margin: 0 0 14px; font-size: 15px; font-weight: 600; line-height: 1.4; color: #e8b49a; }
.dp-g-hub-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: end; margin-top: 36px; }
/* His board keeps « Exercices et articles » on one line on a computer. */
.dp-g .dp-g-hub-head .dp-g-head__title { margin: 0; font-size: clamp(44px, 3.4vw, 60px); line-height: 1.05; }
.dp-g-hub-head__intro p { margin: 18px 0 0; font-size: 17px; line-height: 1.6; color: #d6d5d2; }
.dp-g-hub-search { border: 0; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); color: var(--g-muted); }
.dp-g .dp-g-hub-search button { background: var(--g-primary); }
.dp-g #recherche, .dp-g #honoraires { scroll-margin-top: 32px; }
.dp-g-hub-topics { margin-top: 40px; }
/* « Avant de commencer » of his board: a sand card on the left edge of the list below. */
.dp-g .dp-g-hub-before { box-sizing: border-box; width: min(620px, calc(100% - 2 * var(--g-gutter))); margin: 48px auto 0 max(var(--g-gutter), calc((100% - var(--g-wide)) / 2)); padding: 22px 24px; border-radius: 16px; background: var(--g-sand); color: var(--g-ink); }
.dp-g .dp-g-hub-before p { margin: 10px 0 0; font-size: 15px; line-height: 1.6; }
.dp-g .dp-g-hub-before .dp-g-hub-before__label { margin: 0; font-weight: 600; color: var(--g-primary); }
.dp-g .dp-g-hub-before a { font-weight: 600; color: var(--g-ink); text-underline-offset: 3px; }
.dp-g-hub-list { padding-top: 48px; }
.dp-g-hub-list__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.dp-g .dp-g-hub-list__title { margin: 0; font-family: var(--g-title); font-size: 28px; font-weight: 600; line-height: 1.15; letter-spacing: -0.025em; color: var(--g-ink); }
.dp-g-sort { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--g-muted); }
.dp-g-sort select { min-height: 44px; padding: 0 12px; border: 1px solid var(--g-field); border-radius: 10px; background: #fff; color: var(--g-ink); font: inherit; font-weight: 600; }
.dp-g-sort button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1.5px solid var(--g-ink); border-radius: 10px; background: #fff; color: var(--g-ink); cursor: pointer; }
.dp-g-hub-list__bar + .dp-g-rubrique-list__grid, .dp-g-hub-list__bar + .dp-g-rubrique-list__empty { margin-top: 32px; }
.dp-g-search--cabinet { padding-top: 0; background: none; }
.dp-g-hub-list + .dp-g-search--cabinet { margin-top: 88px; }
.dp-g-search--cabinet .dp-g-cabinet { margin-top: 0; max-width: var(--g-wide); }

/* The search, /?s=<mot> (plates G-recherche-bureau and G-recherche-mobile). */
.dp-g-searchpage .dp-g-hero { padding-bottom: 48px; }
.dp-g-searchpage .dp-g-hero__inner { max-width: var(--g-wide); }
.dp-g-searchpage .dp-breadcrumb__item:last-child:has([aria-current]) { display: list-item; color: #fff; }
.dp-g .dp-g-search-head__title { margin: 36px 0 0; font-family: var(--g-title); font-size: var(--g-fs-hero); font-weight: 600; line-height: 1.1; letter-spacing: -0.035em; color: #fff; overflow-wrap: anywhere; }
.dp-g .dp-g-search-head__count { margin: 12px 0 0; font-size: 18px; color: var(--g-on-dark-soft); }
.dp-g-search-head__form { max-width: 720px; margin-top: 32px; box-sizing: border-box; }
.dp-g-results { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); grid-template-areas: "main topic" "main others"; grid-template-rows: auto 1fr; gap: 16px 72px; align-items: start; max-width: var(--g-wide); margin: 0 auto; padding: 40px var(--g-gutter) 0; }
.dp-g-results__main { grid-area: main; }
.dp-g .dp-g-results__topic { grid-area: topic; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: center; padding: 14px; border-radius: 16px; background: var(--g-sand); text-decoration: none; }
.dp-g .dp-g-results__topic-image { display: block; width: 96px; aspect-ratio: 4 / 5; object-fit: cover; object-position: 30% center; border-radius: 10px; }
.dp-g-results__topic-initial { display: flex; align-items: center; justify-content: center; background: #fff; font-family: var(--g-title); font-size: 36px; font-weight: 600; color: var(--g-primary); }
.dp-g-results__topic-text { display: flex; flex-direction: column; }
.dp-g-results__topic-kicker { font-size: 14px; font-weight: 600; color: var(--g-muted); }
.dp-g-results__topic-name { margin-top: 2px; font-family: var(--g-title); font-size: 22px; font-weight: 600; line-height: 1.25; }
.dp-g-results__topic-count { font-size: 15px; color: var(--g-muted); }
.dp-g-results__topic-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-weight: 600; }
.dp-g-results__others { grid-area: others; padding: 22px; border: 1px solid var(--g-line); border-radius: 16px; }
.dp-g .dp-g-results__others-title { margin: 0; font-family: var(--g-title); font-size: 18px; font-weight: 600; }
.dp-g-results__others-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.dp-g-results__others .dp-g-topic { background: var(--g-sand); font-size: 15px; }
.dp-g .dp-g-results__note { margin: 0; font-size: 15px; color: var(--g-muted); }
.dp-g-results__list { margin-top: 4px; }
.dp-g-result { padding: 28px 0; border-bottom: 1px solid var(--g-line); }
.dp-g .dp-g-result__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; }
.dp-g-result__topic { font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g-result__meta .dp-g-card__video { position: static; min-height: 0; padding: 0; gap: 6px; background: none; color: var(--g-muted); font-size: 14px; }
.dp-g-result__meta .dp-g-chip__icon { width: 22px; height: 22px; border-radius: 5px; }
.dp-g .dp-g-result__title { margin: 8px 0 0; font-family: var(--g-title); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; }
.dp-g-result__title a { text-decoration: none; }
.dp-g .dp-g-result__excerpt { margin: 8px 0 0; font-size: 16px; color: var(--g-muted); }
.dp-g-results mark { padding: 0 2px; border-radius: 3px; background: #f8e9e1; color: inherit; }
.dp-g .dp-g-results__none { margin: 0; font-family: var(--g-title); font-size: 28px; font-weight: 600; line-height: 1.15; letter-spacing: -0.025em; }
.dp-g .dp-g-results__help { margin: 12px 0 0; font-size: 17px; color: var(--g-muted); }
.dp-g .dp-g-results__all { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin-top: 24px; padding: 0 22px; border-radius: 10px; background: var(--g-ink); color: #fff; text-decoration: none; font-weight: 600; }
.dp-g .dp-g-results__all:hover { color: #fff; background: var(--g-primary); }
.dp-g-results + .dp-g-search--cabinet { margin-top: 88px; }

/* Footer. */
.dp-g-footer { padding: 40px var(--g-gutter); border-top: 1px solid var(--g-line); }
.dp-g-footer__inner { max-width: var(--g-wide); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.dp-g-footer__brand { display: flex; align-items: center; gap: 10px; font-family: var(--g-title); font-size: 17px; font-weight: 600; }
.dp-g-footer__copy { margin: 8px 0 0; font-size: 14px; color: var(--g-muted); }
.dp-g-footer__nav { display: flex; flex-wrap: wrap; gap: 0 22px; font-size: 15px; }
.dp-g-footer__nav a { display: inline-flex; align-items: center; min-height: 44px; }

/* Running text keeps its measure in its own size, whatever holds it; so do the
   excerpts of a topic's lead article and of the search results (74 and 78
   characters a line once the 44 articles came back, measured 24/10). */
.dp-g :is(.dp-g-page__body, .dp-g-article__body, .dp-g-cabinet-body) :is(p, li),
.dp-g :is(.dp-g-feature__excerpt, .dp-g-result__excerpt) { max-width: 36em; }
/* Its leading is its box's, as on the plates: 1.7 in an article, 1.6 in the
   boxes; the old theme's 1.72 for every paragraph stays out (owner, 24/10). */
:where(.dp-g) .entry-content p { line-height: inherit; }

/* Plain pages: contact, the legal pages, and every page without a template of
   its own (owner's queue, 22/10). The graphite head, then one readable column. */
.dp-g-page__body { max-width: calc(var(--g-measure) + 2 * var(--g-gutter)); margin: 0 auto; padding: 64px var(--g-gutter) 96px; font-size: 18px; line-height: 1.7; }
.dp-g-page__body .wp-block-post-content > * { max-width: none; margin: 0 0 20px; }
.dp-g-page__body .wp-block-post-content :is(h2, h3) { margin: 52px 0 18px; font-family: var(--g-title); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--g-ink); }
.dp-g-page__body .wp-block-post-content h3 { margin-top: 36px; font-size: 21px; }
.dp-g-page__body .wp-block-post-content > :first-child { margin-top: 0; }
.dp-g-page__body .wp-block-post-content :is(ul, ol) { padding-left: 1.2em; }
.dp-g-page__body .dp-toc { margin: 0 0 48px; padding: 22px 26px; border: 0; border-radius: 12px; background: var(--g-sand); font-size: 16px; line-height: 1.5; }
.dp-g-page__body .dp-toc__title { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--g-muted); }
.dp-g-page__body .dp-toc__list { margin: 0; padding-left: 1.2em; }
.dp-g-page__body .dp-toc__item + .dp-toc__item { margin-top: 6px; }
.dp-g-page__body .dp-legal { margin: 0 0 28px; padding: 0; border: 0; border-radius: 0; background: none; }
.dp-g-page__body .dp-legal__list { margin: 0; border-top: 1px solid var(--g-line); }
.dp-g-page__body .dp-legal__row { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 2px 24px; padding: 12px 0; border-bottom: 1px solid var(--g-line); }
.dp-g-page__body .dp-legal__label { font-size: 16px; color: var(--g-muted); }
.dp-g-page__body .dp-legal__value { margin: 0; }
.dp-g-page__body .dp-g-idline { min-height: 0; }
.dp-g-page__body .dp-g-contact__lines > * { margin: 0; }
.dp-g-page__body .dp-g-contact__lines > * + * { margin-top: 6px; }
/* « À valider »: what Thierry checks before the site goes live. */
.dp-g .dp-g-check { padding: 18px 22px; border-left: 4px solid var(--g-primary); border-radius: 0 10px 10px 0; background: #f8e9e1; font-size: 16px; line-height: 1.6; }
.dp-g .dp-g-check > * { margin: 0; }
.dp-g .dp-g-check > * + * { margin-top: 8px; }
.dp-g .dp-g-check__label { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--g-primary); }

/* « Plan du site » (Thierry, 03/11): the pages, then each theme with its
   articles, plain lists in the reading column; a theme's name on a thin line. */
.dp-g-sitemap > section + section { margin-top: 56px; }
.dp-g-page__body .dp-g-sitemap h2 { margin: 0 0 18px; }
.dp-g-page__body .dp-g-sitemap h3 { margin: 32px 0 10px; padding-top: 16px; border-top: 1px solid var(--g-line); font-size: 20px; }
.dp-g-page__body .dp-g-sitemap h3 a { color: var(--g-ink); text-decoration: none; transition: color .2s ease; }
.dp-g-page__body .dp-g-sitemap h3 a:hover { color: var(--g-primary); }
.dp-g-sitemap__list { margin: 0; padding-left: 1.2em; font-size: 17px; line-height: 1.5; }
.dp-g-sitemap__list li + li { margin-top: 8px; }
.dp-g-sitemap__list--sub { margin-bottom: 10px; font-weight: 600; }

/* « Douleur persistante » (owner's queue, 22/10): the current page's blocks side
   by side need more than the reading column, so its columns take an article's
   width while the text keeps its measure; the texts set side by side sit on
   sand, as on grey there, and pass to the next line under 300 px. */
.dp-g-page__body:has(.dp-g-dp__cols) { max-width: calc(var(--g-main) + 2 * var(--g-gutter)); }
.dp-g .wp-block-columns.dp-g-dp__cols--text { flex-wrap: wrap !important; }
.dp-g .dp-g-page__body .dp-g-dp__cols--text > .wp-block-column { flex: 1 1 300px; }
.dp-g-page__body:has(.dp-g-dp__cols) :is(.dp-toc, .wp-block-post-content > :not(.dp-g-dp__cols)) { max-width: var(--g-measure); margin-left: auto; margin-right: auto; }
.dp-g .dp-g-dp__lede { font-family: var(--g-title); font-size: 22px; line-height: 1.4; letter-spacing: -0.01em; color: var(--g-ink); }
.dp-g .dp-g-dp__lede sup { font-size: 13px; }
.dp-g-page__body .wp-block-post-content > .dp-g-dp__cols { gap: 28px; margin: 32px auto; }
.dp-g-dp__cols--text > .wp-block-column { padding: 24px 26px; border-radius: 12px; background: var(--g-sand); font-size: 17px; line-height: 1.65; }
.dp-g-dp__cols--media { align-items: center; }
.dp-g-dp__cols > .wp-block-column > * { margin: 0; }
.dp-g-dp__cols > .wp-block-column > * + * { margin-top: 16px; }
.dp-g-page__body .dp-g-dp__cols > .wp-block-column > h3:first-child { margin-top: 0; }
.dp-g-dp__cols img { display: block; width: 100%; height: auto; border-radius: 12px; }

/* The reconstruction posturale page (owner's queue, 23/10) adds to these: the
   line under its name, three videos in a row, each view's two photographs side
   by side, and its one note closing the page. */
.dp-g .dp-g-dp__kicker { margin-top: 6px; font-size: 17px; font-weight: 600; color: var(--g-primary); }
.dp-g-page__body .wp-block-post-content > .dp-g-dp__cols--videos { gap: 20px; }
.dp-g-dp__cols--photos .wp-block-gallery { gap: 10px; }
.dp-g-dp__cols--photos .wp-block-gallery img { border-radius: 8px; }
.dp-g-page__body .dp-g-dp__notes { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--g-line); font-size: 15px; color: var(--g-muted); }

/* Thierry's mock-up of 01/11 for the same page: its phases and indications as
   cards, each phase's step above its name; each photograph labelled « Avant »
   or « Après » by its caption, a tag over its corner; and its small notes. */
.dp-g-dp__cols--cards > .wp-block-column { padding: 22px 24px; border-radius: 18px; }
.dp-g-dp__cols--cards > .wp-block-column > p:not(.dp-g-dp__step):not(.dp-g-dp__aside) { font-size: 16px; color: #45464b; }
.dp-g .dp-g-dp__step { font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g-dp__cols > .wp-block-column > .dp-g-dp__step + * { margin-top: 4px; }
.dp-g-page__body .dp-g-dp__cols--cards h3 { font-size: 20px; line-height: 1.3; }
.dp-g .dp-g-dp__cols--photos .wp-block-gallery.has-nested-images figure.wp-block-image { position: relative; }
.dp-g .dp-g-dp__cols--photos .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { content: none; }
.dp-g .dp-g-dp__cols--photos .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: absolute; left: 8px; bottom: 8px; width: auto; max-height: none; margin: 0; padding: 3px 9px; overflow: visible; border-radius: 6px; background: rgba(255, 255, 255, .92); font-size: 13px; font-weight: 600; line-height: 1.4; color: var(--g-ink); text-align: left; text-shadow: none; }
.dp-g-page__body .dp-g-dp__aside { font-size: 15px; line-height: 1.6; color: var(--g-muted); }
.dp-g-page__body .wp-block-post-content > .dp-g-dp__cols--photos + .dp-g-dp__aside { margin-top: 12px; }
.dp-g-page__body .wp-block-post-content > .dp-g-dp__keep + .dp-g-dp__aside { margin-top: 24px; }

/* The Mézières page (Thierry, 24/10) adds its highlighted sentences, quotes on
   a terracotta rule in the title face, and its closing link to the page that
   follows it, the reconstruction posturale. */
.dp-g-page__body .wp-block-quote.dp-g-dp__quote { margin: 36px auto; padding: 2px 0 2px 22px; border-left: 3px solid var(--g-primary); font-family: var(--g-title); font-size: 20px; line-height: 1.45; letter-spacing: -0.01em; color: var(--g-ink); }
.dp-g-page__body .wp-block-quote.dp-g-dp__quote p { margin: 0; }
.dp-g-page__body .dp-g-dp__next { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--g-line); }
.dp-g .dp-g-dp__next a { font-weight: 600; color: var(--g-primary); text-underline-offset: 3px; }
.dp-g .dp-g-dp__next a::after { content: " →"; }
/* « Comprendre la douleur », Thierry's mock-up of 01/11: « L’essentiel » in a
   dark box beside the summary the template draws (the body becomes a grid, its
   content box steps aside so the box can sit in the summary's row), his
   statements in the title face, a note card, his stories in « Exemple »
   boxes, his advice numbered in terracotta, the points to remember as one card
   and the references in small type. On a phone the box comes first, the
   summary under it. */
.dp-g-page__body:has(.dp-g-dp__essentiel) { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.dp-g-page__body:has(.dp-g-dp__essentiel) > * { grid-column: 1 / -1; min-width: 0; }
.dp-g-page__body:has(.dp-g-dp__essentiel) > .wp-block-post-content { display: contents; }
.dp-g-page__body:has(.dp-g-dp__essentiel) .wp-block-post-content > * { grid-column: 1 / -1; min-width: 0; }
/* A grid item with auto side margins shrinks to its text: a short title would
   stand centred. Full width, held to its measure, it keeps its left edge. */
.dp-g-page__body:has(.dp-g-dp__essentiel) .wp-block-post-content > :not(.dp-g-dp__num) { width: 100%; box-sizing: border-box; }
.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) .wp-block-post-content > .dp-g-dp__essentiel { grid-row: 1; max-width: none; margin: 0 0 20px; padding: 28px 30px; border-radius: 18px; background: var(--g-graphite); color: #fff; }
.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) > .dp-toc { grid-row: 2; max-width: none; margin: 0 0 56px; padding: 28px 30px; border-radius: 18px; }
@media (min-width: 48em) {
	.dp-g-page__body:has(.dp-g-dp__essentiel) { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 20px; align-items: stretch; }
	.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) .wp-block-post-content > .dp-g-dp__essentiel { grid-column: 1; margin-bottom: 64px; }
	.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) > .dp-toc { grid-column: 2; grid-row: 1; margin-bottom: 64px; }
}
.dp-g .dp-g-dp__essentiel > * { margin: 0; }
.dp-g .dp-g-dp__essentiel > .dp-g-dp__label { margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--g-accent-on-dark); }
.dp-g .dp-g-dp__essentiel ul { padding-left: 1.1em; }
.dp-g .dp-g-page__body .dp-g-dp__essentiel li { max-width: none; font-size: 17px; line-height: 1.6; color: #f1f0ed; }
.dp-g .dp-g-dp__essentiel li + li { margin-top: 10px; }
.dp-g .dp-g-page__body .dp-g-dp__say { font-family: var(--g-title); font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: -0.01em; color: var(--g-ink); }
.dp-g .dp-g-page__body .dp-g-dp__note { max-width: none; padding: 20px 22px; border-radius: 14px; background: var(--g-sand); font-size: 16px; line-height: 1.6; }
.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-dp__example { margin-top: 32px; margin-bottom: 32px; padding: 24px 28px; border-radius: 18px; background: var(--g-form-tint); }
.dp-g .dp-g-dp__cols--text > .wp-block-column.dp-g-dp__example { background: var(--g-form-tint); }
.dp-g .dp-g-dp__example > * { margin: 0; }
.dp-g .dp-g-dp__example > * + * { margin-top: 10px; }
.dp-g .dp-g-page__body .dp-g-dp__example p { font-size: 17px; line-height: 1.65; color: #34363a; }
.dp-g .dp-g-page__body .dp-g-dp__tag { width: fit-content; padding: 2px 9px; border-radius: 6px; background: var(--g-primary); font-size: 13px; font-weight: 700; line-height: 1.5; color: #fff; }
.dp-g .dp-g-page__body:has(.dp-g-dp__cols) .wp-block-post-content > .dp-g-dp__num,
.dp-g .dp-g-page__body .dp-g-dp__num { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; max-width: none; margin: 48px 0 12px max(0px, calc((100% - var(--g-measure)) / 2)); border-radius: 50%; background: var(--g-primary); font-size: 15px; font-weight: 700; line-height: 1; color: #fff; }
.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-dp__num + h3 { margin-top: 0; }
.dp-g .dp-g-page__body .dp-g-dp__cols .dp-g-dp__num { margin: 0; }
.dp-g-dp__cols > .wp-block-column > .dp-g-dp__num + h3 { margin-top: 12px; }
.dp-g .dp-g-page__body:has(.dp-g-dp__cols) .wp-block-post-content > ul.dp-g-dp__points { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px 36px; max-width: none; margin: 24px 0 56px; padding: 28px 30px 28px 48px; border-radius: 18px; background: var(--g-sand); }
.dp-g .dp-g-page__body .dp-g-dp__points li { max-width: none; margin: 0; font-size: 16px; line-height: 1.55; }
.dp-g .dp-g-page__body .dp-g-dp__refs li { font-size: 14px; line-height: 1.55; color: var(--g-muted); }
.dp-g .dp-g-dp__refs li + li { margin-top: 8px; }
/* His sources of inspiration, after his mock-up of 01/11: the whole path, the
   kicker above the title and the lede (the page's excerpt) under it, in the
   dark header; the six laws as cards; a card that leads on. */
.dp-g .dp-breadcrumb--whole .dp-breadcrumb__item:last-child:has([aria-current]) { display: list-item; color: #fff; }
.dp-g .dp-page-intro { margin: 0; }
.dp-g .dp-page-intro--kicker { margin-top: 28px; font-size: 15px; font-weight: 600; line-height: 1.4; color: #e8b49a; }
.dp-g .dp-page-intro--kicker + .dp-g-head__title { margin-top: 12px; }
.dp-g .dp-page-intro--lede { max-width: 680px; margin-top: 18px; font-size: 19px; line-height: 1.65; color: #e3e1dc; }
.dp-g .dp-g-page__body:has(.dp-g-dp__cols) .wp-block-post-content > ul.dp-g-dp__laws { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 16px; max-width: none; margin: 28px 0 0; padding: 0; list-style: none; }
.dp-g-page__body .dp-g-dp__laws > li { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 22px 24px; border-radius: 18px; background: var(--g-sand); font-size: 16px; line-height: 1.6; color: #34363a; }
.dp-g-dp__laws > li::marker { content: none; }
.dp-g-dp__laws > li br { display: none; }
.dp-g-dp__laws > li strong { font-family: var(--g-title); font-size: 15px; font-weight: 600; color: var(--g-primary); }
.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-dp__keep { margin-top: 72px; padding: 36px; border-radius: 22px; background: var(--g-sand); }
.dp-g-page__body .dp-g-dp__keep > * { margin: 0; }
.dp-g-page__body .dp-g-dp__keep > * + * { margin-top: 16px; }
.dp-g-page__body .dp-g-dp__keep h2 { font-size: 28px; line-height: 1.2; }
.dp-g-page__body .dp-g-dp__keep > .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; margin-top: 22px; }
.dp-g .dp-g-dp__keep .wp-block-button__link { display: inline-block; padding: 15px 24px; border-radius: 12px; background: var(--g-ink); font-size: 16px; font-weight: 600; line-height: 1.3; color: #fff; text-decoration: none; transition: background-color .2s ease; }
.dp-g .dp-g-dp__keep .wp-block-button__link:hover { background: var(--g-primary); }
.dp-g .dp-g-dp__keep .is-style-dp-link .wp-block-button__link { padding: 12px 0; background: none; color: var(--g-ink); text-decoration: underline; text-underline-offset: 4px; }
.dp-g .dp-g-dp__keep .is-style-dp-link .wp-block-button__link:hover { background: none; color: var(--g-primary); }
.dp-g .dp-g-dp__portrait img { aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; }

/* Présentation, the page /cabinet, after Thierry's texts of 24/10: no photo
   band, the G menu on its bar, the page opening on the breadcrumb, then his
   photo beside the title. Icons are drawn here, so the page content stays
   plain blocks that Thierry edits. The photo hero below is the 404's. */
.dp-g-cabinet-page { --g-cab-pad: max(var(--g-gutter), calc((100% - var(--g-wide)) / 2)); --g-tint: #f8e9e1; }
.dp-g-hero.dp-g-hero--bar { padding-bottom: 0; }
.dp-g-hero--photo { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; min-height: 640px; box-sizing: border-box; padding-bottom: 72px; }
.dp-g-hero--photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(12, 13, 15, 0.52); }
.dp-g :is(.dp-g-cabinet-head__photo, .dp-g-404-head__photo) { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 62%; }
.dp-g-hero--photo .dp-g-nav { background: rgba(255, 255, 255, 0.12); }
.dp-g-cabinet-head { flex: 1; display: flex; flex-direction: column; }
.dp-g .dp-g-cab-crumbs { padding: 40px var(--g-cab-pad) 0; }
.dp-g .dp-g-cab-crumbs :is(.dp-breadcrumb__list, a) { color: var(--g-muted); }
.dp-g-cab-crumbs + .dp-g-cabinet-body > :first-child { padding-top: 32px; }
.dp-g-cabinet-head__body { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 24px; text-align: center; }
.dp-g-cabinet-head__body p { margin: 0; }
.dp-g-cabinet-head__warning { margin-bottom: 16px !important; font-size: 14px; color: var(--g-on-dark-soft); }
.dp-g-cabinet-head__kicker { font-size: 15px; font-weight: 500; color: #ecebe8; }
.dp-g .dp-g-cabinet-head__title { max-width: 900px; margin: 18px 0 0; font-family: var(--g-title); font-size: clamp(38px, 2.4vw + 23.5px, 68px); font-weight: 600; line-height: 1.08; letter-spacing: -0.035em; text-wrap: balance; color: #fff; }
.dp-g-cabinet-head__address { margin-top: 18px !important; font-size: 19px; color: #ecebe8; }
.dp-g-cabinet-head__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 36px; }
.dp-g .dp-g-cabinet-head__call, .dp-g .dp-g-cabinet-head__way { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; box-sizing: border-box; padding: 0 24px; border-radius: 10px; color: #fff; text-decoration: none; font-weight: 600; white-space: nowrap; }
.dp-g .dp-g-cabinet-head__call { background: var(--g-primary); }
.dp-g .dp-g-cabinet-head__way { border: 1.5px solid rgba(255, 255, 255, 0.7); background: rgba(255, 255, 255, 0.08); }

.dp-g-cabinet-body > * { margin: 0; padding: 88px var(--g-cab-pad); }
.dp-g-cabinet-body h2 { margin: 0; font-family: var(--g-title); font-size: var(--g-fs-section); font-weight: 600; line-height: 1.12; letter-spacing: -0.03em; color: var(--g-ink); }
.dp-g-cabinet-body h3 { font-family: var(--g-title); font-weight: 600; color: var(--g-ink); }
.dp-g-cabinet-body p { margin: 0; }
/* L'approche, after Thierry's mock-up of 01/11: his title and lede beside the
   photo of a session; his text in one reading column; a wide photo; his path
   on sand beside his portrait; his formations in four cards. */
.dp-g-cab-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 56px; align-items: center; }
.dp-g-cabinet-body > .dp-g-cab-intro { padding-bottom: 0; }
.dp-g-cab-intro__photo { margin: 0; }
.dp-g .dp-g-cab-intro__photo img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 24px; }
.dp-g .dp-g-cabinet-body .dp-g-cab-intro__title { margin: 0; font-family: var(--g-title); font-size: clamp(34px, 1vw + 27px, 48px); font-weight: 600; line-height: 1.12; letter-spacing: -0.02em; text-wrap: balance; color: var(--g-ink); }
.dp-g-cabinet-body .dp-g-cab-intro__lede { margin-top: 18px; font-size: 19px; line-height: 1.6; color: #45474c; }
.dp-g-cabinet-body > .dp-g-cab-read { display: block; padding-top: 96px; padding-bottom: 0; font-size: 18px; line-height: 1.75; color: #34363a; }
.dp-g-cabinet-body .dp-g-cab-read > * { box-sizing: border-box; max-width: 712px; margin: 16px auto 0; }
.dp-g-cabinet-body .dp-g-cab-read > :first-child { margin-top: 0; }
/* His column is the measure: the paragraphs fill it, as his headings do. */
.dp-g .dp-g-cabinet-body .dp-g-cab-read > p { max-width: 712px; }
.dp-g .dp-g-cabinet-body :is(.dp-g-cab-card, .dp-g-cab-parcours__text) p { max-width: none; }
.dp-g-cabinet-body .dp-g-cab-read h2 { font-size: 30px; line-height: 1.2; letter-spacing: -0.02em; }
.dp-g-cabinet-body .dp-g-cab-read > h2:not(:first-child), .dp-g-cabinet-body .dp-g-cab-read > .dp-g-cab-card { margin-top: 56px; }
.dp-g-cabinet-body .dp-g-cab-read > .dp-g-cab-quote { margin-top: 24px; margin-bottom: 8px; padding: 4px 0 4px 28px; border: 0; border-left: 3px solid var(--g-primary); font-family: var(--g-title); font-size: 24px; font-weight: 500; font-style: normal; line-height: 1.45; color: var(--g-ink); }
.dp-g-cab-quote p { font: inherit; }
.dp-g-cabinet-body > .dp-g-cab-wide { padding-top: 72px; padding-bottom: 0; }
.dp-g .dp-g-cab-wide img { display: block; width: 100%; height: 520px; object-fit: cover; object-position: center 30%; border-radius: 24px; }
.dp-g-cabinet-body > .dp-g-cab-text--porte { padding-top: 72px; padding-bottom: 112px; }
.dp-g-cab-card { padding: 36px; border-radius: 22px; background: var(--g-sand); }
.dp-g-cabinet-body .dp-g-cab-card > p { margin-top: 16px; }
.dp-g-cabinet-body > .dp-g-cab-text--parcours { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: 64px; align-items: start; padding-top: 96px; padding-bottom: 96px; background: var(--g-sand); }
.dp-g-cab-parcours__photo { margin: 0; }
.dp-g .dp-g-cab-parcours__photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 22px; }
.dp-g-cab-parcours__text { font-size: 18px; line-height: 1.75; color: #34363a; }
.dp-g-cabinet-body .dp-g-cab-parcours__text > * + * { margin-top: 18px; }
.dp-g-cab-parcours__text strong { color: var(--g-ink); }
.dp-g-cabinet-body .dp-g-cab-since { font-family: var(--g-title); font-size: 20px; font-weight: 500; line-height: 1.4; color: var(--g-primary); }
.dp-g-cabinet-body > .dp-g-cab-text--formations { padding-top: 96px; }
.dp-g-cab-formations { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 32px; }
.dp-g-cab-formation { padding: 26px; border-radius: 20px; background: var(--g-sand); }
.dp-g-cabinet-body .dp-g-cab-formation h3 { margin: 0; font-size: 19px; line-height: 1.3; letter-spacing: -0.01em; }
.dp-g-cabinet-body .dp-g-cab-formation ul { display: flex; flex-direction: column; gap: 10px; margin: 14px 0 0; padding-left: 18px; font-size: 15px; line-height: 1.55; color: #45474c; }
.dp-g-cab-formation li::marker { color: var(--g-primary); }
.dp-g-pro { margin-top: 36px; padding: 28px; border-radius: 16px; background: var(--g-sand); }
.dp-g-pro p { margin: 0; }
.dp-g-pro__warning { margin-bottom: 12px !important; font-size: 14px; color: var(--g-muted); }
.dp-g-pro__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; }
.dp-g-cabinet-body .dp-g-pro__name { margin: 0; font-size: 22px; letter-spacing: -0.02em; }
.dp-g-pro__title { font-size: 15px; font-weight: 600; color: var(--g-primary); }
.dp-g-pro__heading { margin: 22px 0 6px; font-size: 14px; font-weight: 600; color: var(--g-muted); }
.dp-g-pro__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--g-line); }
.dp-g-pro__list li { display: flex; align-items: center; gap: 12px; min-height: 48px; border-bottom: 1px solid var(--g-line); font-weight: 500; }
.dp-g-pro__tick { display: flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: var(--g-tint); color: var(--g-primary); }
.dp-g-pro__note { margin-top: 16px !important; font-size: 14px; color: var(--g-muted); }
.dp-g-pro__note + .dp-g-pro__ids { margin-top: 4px !important; }

.dp-g-transport::before, .dp-g-note::before { content: ""; display: block; width: 44px; height: 44px; border-radius: 10px; background: var(--g-tint) center / 22px no-repeat; }
.dp-g-cab-hours { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; align-items: start; }
.dp-g-cab-hours h2 { font-size: 32px; line-height: 1.15; }
.dp-g-hours { margin-top: 24px; }
.dp-g-hours__warning { margin-bottom: 8px !important; font-size: 14px; color: var(--g-muted); }
.dp-g .dp-g-rows { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--g-line); }
.dp-g-cab-hours__main > .dp-g-rows--notes:not(.dp-g-hours + *) { margin-top: 24px; }
.dp-g-hours + .dp-g-rows { border-top: 0; }
.dp-g .dp-g-rows li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--g-line); }
.dp-g-rows__icon, .dp-g-rows--notes li::before { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px; background: var(--g-ink) center / 17px no-repeat; color: #fff; }
.dp-g-rows--notes li::before { content: ""; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v4h4M10 12h5M10 16h5'/%3E%3C/svg%3E"); }
.dp-g-rows--notes li:first-child::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M4 10h16M9 3v4M15 3v4'/%3E%3C/svg%3E"); }
.dp-g-note { padding: 32px; border-radius: 16px; background: var(--g-tint); }
.dp-g-note::before { background-color: var(--g-primary); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 7.5v.5'/%3E%3C/svg%3E"); }
.dp-g-cabinet-body .dp-g-note h3 { margin: 18px 0 0; font-size: 22px; letter-spacing: -0.02em; }
.dp-g-cabinet-body .dp-g-note p { margin-top: 12px; font-size: 17px; }

.dp-g-cab-access { padding-top: 80px; padding-bottom: 80px; background: var(--g-graphite); color: #fff; }
.dp-g-cab-access a { color: #fff; }
.dp-g-access-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.dp-g-cabinet-body .dp-g-access-head__title { font-size: clamp(32px, 1.6vw + 21px, 52px); line-height: 1.08; letter-spacing: -0.035em; color: #fff; }
.dp-g-access-head__warning { margin-top: 8px !important; font-size: 14px; color: var(--g-on-dark-soft); }
.dp-g-access-head__address { margin-top: 12px !important; font-size: 17px; color: var(--g-on-dark-soft); }
.dp-g-access-head__entrance { margin-top: 4px !important; font-size: 15px; color: var(--g-on-dark-soft); }
.dp-g .dp-g-access-head__map { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 20px; border-radius: 10px; background: #fff; color: var(--g-ink); text-decoration: none; font-weight: 600; }
.dp-g-cab-access__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 36px; }
.dp-g-transport { padding: 24px; border-radius: 16px; border: 1px solid #3a3d42; }
.dp-g-transport::before { background-color: rgba(255, 255, 255, 0.08); }
.dp-g-cabinet-body .dp-g-transport h3 { margin: 18px 0 8px; font-family: inherit; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--g-accent-on-dark); }
.dp-g-transport p { font-size: 16px; }
.dp-g-transport p + p { margin-top: 8px; }
.dp-g-transport--metro::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23e9a27f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='14' rx='3'/%3E%3Cpath d='M5 10h14M8 21l2-4M16 21l-2-4'/%3E%3C/svg%3E"); }
.dp-g-transport--bus::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23e9a27f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='15' rx='3'/%3E%3Cpath d='M4 11h16M7 21v-3M17 21v-3'/%3E%3C/svg%3E"); }
.dp-g-transport--rer::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23e9a27f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10a2 2 0 0 1 2 2v9a3 3 0 0 1-3 3H8a3 3 0 0 1-3-3V5a2 2 0 0 1 2-2z'/%3E%3Cpath d='M5 9h14M9 21l1-4M15 21l-1-4'/%3E%3C/svg%3E"); }
.dp-g-transport--parking::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23e9a27f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='3'/%3E%3Cpath d='M10 16V8h3a2.5 2.5 0 0 1 0 5h-3'/%3E%3C/svg%3E"); }

/* The cabinet's access on « Prendre rendez-vous » (Thierry, 24/10): the
   graphite band of the former cabinet page becomes a card of the readable
   column, its four ways one under the other, the icon beside the words (two
   columns held 17 characters a line, 27/10). */
.dp-g-page__body .dp-g-cab-access { position: relative; margin: 56px 0 0; padding: 40px; border-radius: 16px; }
.dp-g-page__body .wp-block-post-content .dp-g-access-head__title { margin: 0; font-size: 28px; color: #fff; }
.dp-g-page__body .dp-g-cab-access__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 28px; }
.dp-g-page__body .dp-g-transport { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 18px; }
.dp-g-page__body .dp-g-transport::before { grid-row: 1 / 9; }
.dp-g-page__body .wp-block-post-content .dp-g-transport h3 { margin: 0 0 8px; font-family: inherit; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--g-accent-on-dark); }
.dp-g .dp-g-page__body .dp-g-transport p { margin: 0; font-size: 16px; line-height: 1.5; }
.dp-g .dp-g-page__body .dp-g-transport p + p { margin-top: 8px; }
.dp-g-page__body :is(.dp-g-note, .dp-g-transport)::before { background-position: center; background-size: 22px; background-repeat: no-repeat; }
.dp-g-page__body .wp-block-post-content .dp-g-note h3 { margin: 18px 0 0; font-size: 22px; }
.dp-g .dp-g-page__body .dp-g-note p { margin: 12px 0 0; }
.dp-g-cab-site { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: start; }
.dp-g-cab-site h2 { font-size: 32px; line-height: 1.15; }
.dp-g-cab-site__text { font-size: 17px; }
.dp-g .dp-g-numlist { margin: 0; padding: 0; list-style: none; counter-reset: dp-g-num; border-top: 1px solid var(--g-line); }
.dp-g .dp-g-numlist li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--g-line); counter-increment: dp-g-num; }
.dp-g-numlist li::before { content: counter(dp-g-num, decimal-leading-zero); font-family: var(--g-title); font-weight: 600; color: var(--g-primary); }
.dp-g-cab-site__text > p { margin-top: 12px; }
.dp-g-cab-site__text > .dp-g-numlist + p { margin-top: 22px; }
.dp-g-cab-site .wp-block-buttons { margin-top: 24px; }
/* The fees grid, last of the conditions of access: a line button with its download mark. */
.dp-g-cab-hours__main .wp-block-buttons { margin-top: 24px; }
.dp-g .dp-g-filebutton .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; box-sizing: border-box; padding: 10px 20px; border-radius: 10px; border: 1.5px solid var(--g-ink); background: #fff; color: var(--g-ink); font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.dp-g .dp-g-filebutton .wp-block-button__link:hover { background: var(--g-sand); }
.dp-g .dp-g-filebutton .wp-block-button__link::before { content: ""; flex: none; width: 17px; height: 17px; 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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%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='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v11M7 10l5 5 5-5M5 20h14'/%3E%3C/svg%3E") center / contain no-repeat; }
.dp-g .dp-g-darkbutton .wp-block-button__link { display: inline-flex; align-items: center; min-height: 48px; box-sizing: border-box; padding: 0 22px; border-radius: 10px; background: var(--g-ink); color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; }

/* Home page: the versions the owner kept (22/10), one per section, until
   Thierry chooses. The patterns carry the preview's own styles; the nested
   menu, the identity lines and the panel of /?versions are drawn here. */
.dp-g-home-v--menu { display: contents; }
/* The headings take the colour of their section, as on the preview, not the
   ink that theme.json gives every heading. */
.dp-g-home-v :is(h1, h2, h3) { color: inherit; }
.dp-g .dp-g-idline { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #fff; text-decoration: none; font-weight: 600; }
.dp-g .dp-g-idline--ink { color: var(--g-ink); }
.dp-g .dp-g-idline--address, .dp-g .dp-g-idline--hours { min-height: 0; color: inherit; font-weight: 400; }
.dp-g .dp-g-ec__nets .dp-g-idline { min-height: 24px; font-weight: inherit; }
.dp-g-chooser { position: fixed; right: 16px; bottom: 16px; z-index: 99; padding: 12px 14px; border-radius: 12px; background: var(--g-ink); color: #fff; font: 500 14px/1.3 "Inter", system-ui, sans-serif; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3); }
.dp-g-chooser__title { margin: 0 0 6px; font-weight: 600; color: var(--g-accent-on-dark); }
.dp-g-chooser__row { display: flex; align-items: center; gap: 6px; margin: 4px 0; }
.dp-g-chooser__label { flex: 1; min-width: 150px; }
.dp-g .dp-g-chooser__v { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 30px; box-sizing: border-box; border: 1px solid #5b5e63; border-radius: 7px; color: #fff; text-decoration: none; }
.dp-g .dp-g-chooser__v[aria-current] { border-color: var(--g-primary); background: var(--g-primary); }
.dp-g .dp-g-chooser__v:hover { border-color: #fff; color: #fff; }
/* The same panel folded for a phone (see the block's render): hidden here. */
.dp-g-chooser--phone { display: none; }
/* The other pages: the menu and logo and the band of header C chosen in the
   tool (HomeVersions) are the home page's own patterns; they cross the gutter
   of the head as on the home page. */
.dp-g-hero > :is(.dp-g-hm, .dp-g-ec__top) { margin-right: calc(-1 * var(--g-gutter)); margin-left: calc(-1 * var(--g-gutter)); }

/* Home sections drawn by the theme's classes: categories, pain, articles. */
.dp-g-homesec { padding: 96px var(--g-gutter); }
.dp-g-homesec--sand { background: var(--g-sand); }
.dp-g-homesec__inner { max-width: var(--g-wide); margin: 0 auto; }
.dp-g-homesec__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.dp-g .dp-g-homesec__title { margin: 0; font-family: var(--g-title); font-size: var(--g-fs-section); font-weight: 600; line-height: 1.12; letter-spacing: -0.03em; }
.dp-g .dp-g-homesec__intro { max-width: 640px; margin: 10px 0 0; color: var(--g-muted); }
.dp-g .dp-g-homesec__all { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--g-ink); font-weight: 600; text-underline-offset: 5px; }
.dp-g .dp-g-homesec__all svg { flex: none; }
.dp-g-ea__hint, .dp-g-ea__arrow { display: none; }
/* One column per drawn rubrique, six at most; the drawings keep the height of
   six portrait tiles whatever their number. The others are labels. */
.dp-g-rubs__tiles { display: grid; grid-template-columns: repeat(var(--dp-tiles, 6), minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.dp-g-rubs__labels { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.dp-g-rubs__tiles + .dp-g-rubs__labels { margin-top: 16px; }
.dp-g-rubs__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; margin-top: 24px; border-top: 1px solid var(--g-line); }
.dp-g .dp-g-rub { display: flex; text-decoration: none; }
.dp-g .dp-g-rub--tile { flex-direction: column; overflow: hidden; border-radius: 12px; background: #333; color: #fff; }
.dp-g .dp-g-rub--tile:hover { color: #fff; }
.dp-g .dp-g-rub--tile.dp-g-rub--dos-et-rachis { background: #eaeaea; color: var(--g-ink); }
.dp-g .dp-g-rub__image { display: block; width: 100%; aspect-ratio: 4.8 / var(--dp-tiles, 6); object-fit: cover; }
.dp-g-rub--dos-et-rachis .dp-g-rub__image, .dp-g .dp-g-drawing--dos-et-rachis { object-position: 66% center; }
.dp-g-rub--sciatique-et-douleurs-irradiees .dp-g-rub__image, .dp-g .dp-g-drawing--sciatique-et-douleurs-irradiees { object-position: 30% center; }
.dp-g-rub--cou-tete-et-machoire .dp-g-rub__image, .dp-g .dp-g-drawing--cou-tete-et-machoire { object-position: 24% center; }
.dp-g-rub__text { display: flex; flex-direction: column; min-width: 0; }
.dp-g-rub--tile .dp-g-rub__text { padding: 12px 16px 16px; }
.dp-g-rub__name { font-family: var(--g-title); font-size: 17px; font-weight: 600; line-height: 1.3; }
.dp-g-rub__count { font-size: 14px; color: var(--g-text); }
.dp-g-rub--tile:not(.dp-g-rub--dos-et-rachis) .dp-g-rub__count { color: #d0d0d0; }
.dp-g .dp-g-rub--label { align-items: baseline; gap: 8px; min-height: 44px; box-sizing: border-box; padding: 11px 14px; border-radius: 8px; background: var(--g-sand); }
.dp-g-rub--label .dp-g-rub__name { font-size: 16px; }
.dp-g-rub__unit { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dp-g .dp-g-rub--card { align-items: center; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--g-line); }
.dp-g-rub__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.dp-g-rub__head .dp-g-rub__count { flex: none; }
.dp-g-rub__desc { margin-top: 6px; font-size: 14px; color: var(--g-text); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.dp-g-rubs--list .dp-g-rub__image { flex: none; width: 96px; height: 96px; aspect-ratio: auto; border-radius: 10px; background: var(--g-sand); }
.dp-g-rubs--list .dp-g-rub__text { flex: 1; }
.dp-g-rub__arrow { flex: none; color: var(--g-muted); }
.dp-g-pain__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; }
.dp-g-pain__tag { display: inline-flex; align-items: center; min-height: 30px; padding: 0 12px; border-radius: 8px; background: #f8e9e1; font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g .dp-g-pain__title { margin: 14px 0 0; font-family: var(--g-title); font-size: 34px; font-weight: 600; line-height: 1.15; letter-spacing: -0.025em; }
.dp-g .dp-g-pain__lede { margin: 16px 0 0; font-size: 17px; color: var(--g-text); }
.dp-g .dp-g-pain__more { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; margin-top: 28px; padding: 0 22px; border-radius: 10px; background: var(--g-primary); color: #fff; text-decoration: none; font-weight: 600; }
.dp-g .dp-g-pain__more:hover { color: #fff; background: var(--g-ink); }
.dp-g-pain__panel { padding: 28px; border-radius: 16px; background: var(--g-graphite); color: #fff; }
.dp-g-pain__panel-title { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; }
.dp-g-pain__gauge { display: flex; align-items: flex-end; gap: 8px; height: 120px; margin-top: 24px; padding: 0 4px; }
.dp-g-pain__gauge span { flex: 1; border-radius: 4px; background: #3a3d42; }
.dp-g-pain__gauge .is-on { background: var(--g-accent-on-dark); }
.dp-g .dp-g-pain__advice-title { margin: 28px 0 12px; font-size: 14px; font-weight: 600; color: var(--g-accent-on-dark); }
.dp-g-pain__advice { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.dp-g-pain__advice li { display: flex; align-items: center; gap: 14px; min-height: 60px; margin: 0; padding: 0 16px; border-radius: 10px; background: #26292d; }
.dp-g-pain__icon { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; background: rgba(233, 162, 127, 0.16); color: var(--g-accent-on-dark); }
.dp-g-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.dp-g .dp-g-filter { display: inline-flex; align-items: center; min-height: 40px; box-sizing: border-box; padding: 0 14px; border-radius: 8px; border: 1px solid var(--g-line); text-decoration: none; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-filter[aria-current] { border-color: var(--g-ink); background: var(--g-ink); color: #fff; }
.dp-g-homeposts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; margin: 28px 0 0; padding: 0; list-style: none; }
.dp-g-homeposts .dp-g-card__title { font-size: 17px; line-height: 1.35; }
.dp-g-homeposts--feature { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px; align-items: start; margin-top: 32px; }
.dp-g-homeposts__lead { display: block; }
.dp-g-homeposts__lead .dp-g-feature__text { margin-top: 24px; }
.dp-g-homeposts__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 0 22px 0 8px; border-radius: 12px; background: #fff; color: var(--g-ink); font-weight: 600; white-space: nowrap; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25); }
.dp-g-homeposts__play .dp-g-chip__icon { width: 40px; height: 40px; border-radius: 8px; }
.dp-g-homeposts__choose label { display: block; font-size: 14px; font-weight: 600; color: var(--g-muted); }
.dp-g-homeposts__field { display: flex; gap: 8px; margin-top: 6px; }
.dp-g-homeposts__field select { flex: 1; min-width: 0; min-height: 48px; padding: 0 12px; border: 1px solid var(--g-field); border-radius: 10px; background: #fff; font: inherit; color: var(--g-ink); }
.dp-g-homeposts__field button { min-height: 48px; padding: 0 20px; border: 0; border-radius: 10px; background: var(--g-ink); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.dp-g-homeposts__list { margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--g-line); }
.dp-g .dp-g-homeposts__list .dp-g-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--g-line); }
.dp-g-homeposts__list .dp-g-card__media { grid-row: 1 / 3; }
.dp-g .dp-g-homeposts__list .dp-g-card__image { aspect-ratio: 4 / 3; border-radius: 8px; }
.dp-g-homeposts__list .dp-g-card__video { display: none; }
.dp-g-homeposts__list .dp-g-card__topic { margin-top: 0; font-size: 13px; }
.dp-g-homeposts__list .dp-g-card__title { font-size: 15px; }

/* Home sections, cabinet A, B, C and newsletter and footer B, C. The
   identity lines inside a button (`.dp-g-btnlike`) take its look. */
.dp-g-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.dp-g-btnlike { display: contents; }
.dp-g :is(.dp-g-btn, .dp-g-btnlike > .dp-g-idline) { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; box-sizing: border-box; padding: 0 22px; border-radius: 10px; text-decoration: none; font-size: 16px; font-weight: 600; }
.dp-g .dp-g-btn--ink { background: var(--g-ink); color: #fff; }
.dp-g .dp-g-btn--primary { background: var(--g-primary); color: #fff; }
.dp-g :is(.dp-g-btn--ink, .dp-g-btn--primary):hover { background: var(--g-graphite); color: #fff; }
.dp-g .dp-g-btn--primary:hover { background: var(--g-ink); }
.dp-g .dp-g-btnlike--line > .dp-g-idline { border: 1.5px solid var(--g-ink); background: #fff; color: var(--g-ink); }
.dp-g .dp-g-btnlike--line-light > .dp-g-idline { border: 1.5px solid #fff; color: #fff; }
.dp-g .dp-g-btnlike > .dp-g-idline:hover { border-color: var(--g-primary); color: var(--g-primary); }
.dp-g :is(.dp-g-idline--practitioner, .dp-g-idline--practice) { min-height: 0; color: inherit; font-weight: inherit; }
.dp-g-homesec.dp-g-cabh { padding-top: 80px; padding-bottom: 80px; }
.dp-g .dp-g-cabh__eyebrow { margin: 0; font-size: 15px; font-weight: 600; color: var(--g-primary); }
.dp-g .dp-g-cabh__eyebrow--light { color: var(--g-accent-on-dark); }
.dp-g .dp-g-cabh__title { margin: 0; font-family: var(--g-title); font-size: 32px; font-weight: 600; line-height: 1.12; letter-spacing: -0.03em; }
.dp-g .dp-g-cabh__title--big { margin-top: 10px; font-size: var(--g-fs-section); }
.dp-g .dp-g-cabh__kicker { margin: 0; font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g .dp-g-cabh__photo { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: 37% 25%; border-radius: 12px; }
.dp-g-cabh :is(h3, p) { margin: 0; }
.dp-g-cabh__top, .dp-g-cabh__methods, .dp-g-cabh__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px; }
.dp-g-cabh__methods { margin-top: 16px; }
.dp-g-cabh__card { padding: 16px 16px 28px; border-radius: 16px; background: #fff; }
.dp-g-cabh__card-text { padding: 0 12px; }
.dp-g-cabh__card .dp-g-cabh__eyebrow { margin-top: 20px; }
.dp-g .dp-g-cabh__who { margin-top: 2px; font-size: 15px; color: var(--g-muted); }
.dp-g .dp-g-cabh__text { margin-top: 14px; color: var(--g-text); }
.dp-g-cabh__card .dp-g-btns { margin-top: 18px; }
.dp-g-cabh__axes-wrap { display: flex; flex-direction: column; gap: 16px; }
.dp-g-cabh__axes-wrap .dp-g-cabh__title { padding: 8px 8px 0; }
.dp-g-cabh__axes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dp-g-cabh__axis { padding: 24px; border-radius: 14px; background: #fff; }
.dp-g-cabh__icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: #f8e9e1; color: var(--g-primary); }
.dp-g .dp-g-cabh__axis h3 { margin: 16px 0 6px; font-family: var(--g-title); font-size: 18px; font-weight: 600; line-height: 1.3; }
.dp-g .dp-g-cabh__axis p { font-size: 15px; color: var(--g-muted); }
.dp-g-cabh__method { padding: 28px; border-radius: 14px; background: #fff; }
.dp-g .dp-g-cabh__method-title { margin-top: 4px; font-family: var(--g-title); font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -0.02em; }
.dp-g-cabh__links { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 28px; margin-top: 16px; border-top: 1px solid var(--g-line); }
.dp-g-cabh__links--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dp-g .dp-g-cabh__links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 46px; border-bottom: 1px solid var(--g-line); text-decoration: none; font-size: 15px; font-weight: 500; }
.dp-g-cabh__band { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 16px; padding: 24px 28px; border-radius: 16px; background: var(--g-graphite); color: #fff; }
.dp-g-cabh__band-info { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; font-size: 15px; color: var(--g-on-dark-soft); }
.dp-g .dp-g-cabh__band .dp-g-idline--address { font-family: var(--g-title); font-size: 19px; font-weight: 600; color: #fff; }
.dp-g .dp-g-cabh__band .dp-g-idline--phone { min-height: 0; color: var(--g-on-dark-soft); font-weight: 400; }
/* The home page as Thierry wrote it on 24/10: his title on the photo, his
   card and the roots, the first step to turn the volume down, the search
   under the rubriques, the band of the appointment. */
.dp-g .dp-g-ea__title--photo { max-width: 760px; margin: 0; font-family: var(--g-title); font-size: 30px; font-weight: 500; line-height: 1.25; letter-spacing: -0.01em; color: #fff; text-align: left; text-wrap: balance; }
.dp-g-cabh__card--wide { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: center; padding: 16px; }
.dp-g .dp-g-cabh__card--wide .dp-g-cabh__photo { aspect-ratio: 4 / 5; }
.dp-g-cabh__card--wide .dp-g-cabh__card-text { padding: 16px 24px 16px 0; }
.dp-g .dp-g-cabh__card--wide .dp-g-cabh__eyebrow { margin-top: 0; font-size: 17px; }
.dp-g .dp-g-cabh__card--wide .dp-g-cabh__text { max-width: 36em; margin-top: 20px; font-size: 18px; line-height: 1.65; }
.dp-g .dp-g-cabh__card--wide .dp-g-cabh__title { margin: 20px 0 0; font-size: 40px; line-height: 1.15; letter-spacing: -0.02em; }
.dp-g-cabh__card--wide .dp-g-btns { margin-top: 20px; }
.dp-g-cabh__card--wide .dp-g-cabh__roots { margin-top: 28px; padding-top: 24px; }
.dp-g .dp-g-cabh__card--wide .dp-g-cabh__text strong { color: var(--g-ink); font-weight: 600; }
.dp-g-cabh__roots { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--g-line); font-size: 15px; color: var(--g-muted); }
.dp-g .dp-g-cabh__roots-links { display: flex; flex-wrap: wrap; gap: 0 24px; margin-top: 4px; }
.dp-g .dp-g-cabh__roots-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--g-ink); font-weight: 500; text-underline-offset: 4px; }
/* Thierry's mock-up of 01/11: the eyebrow over his title, the heading of his card, the two links inside the sentence of the roots. */
.dp-g .dp-g-ea__eyebrow { display: block; margin-bottom: 10px; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.4; letter-spacing: 0.14em; text-transform: uppercase; color: var(--g-rose); }
.dp-g .dp-g-cabh__title { margin: 12px 0 4px; font-family: var(--g-title); font-size: clamp(26px, 1.2vw + 18px, 34px); font-weight: 600; line-height: 1.15; letter-spacing: -0.025em; color: var(--g-ink); text-wrap: balance; }
.dp-g .dp-g-cabh__roots a { color: var(--g-ink); font-weight: 600; text-underline-offset: 3px; }
.dp-g-pain__advice li.is-first { background: var(--g-primary); font-weight: 600; }
.dp-g-pain__advice li.is-first .dp-g-pain__icon { background: rgba(255, 255, 255, 0.18); color: #fff; }
.dp-g-homesearch { display: flex; align-items: center; gap: 10px; width: 100%; max-width: 600px; box-sizing: border-box; margin-top: 24px; padding: 6px 6px 6px 16px; border: 1px solid var(--g-line); border-radius: 12px; background: #fff; }
.dp-g-homesearch:focus-within { border-color: var(--g-ink); }
.dp-g-homesearch svg { flex: none; color: var(--g-muted); }
.dp-g .dp-g-homesearch input { flex: 1; min-width: 0; padding: 12px 0; border: 0; background: transparent; font: inherit; font-size: 16px; color: var(--g-ink); }
.dp-g .dp-g-homesearch button { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border: 0; border-radius: 9px; background: var(--g-primary); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.dp-g .dp-g-homeposts__all { margin-top: 24px; }
.dp-g-homesec.dp-g-rdv { padding-top: 40px; padding-bottom: 40px; }
.dp-g-rdv .dp-g-cabh__band { margin-top: 0; }
/* The band as on his mock-up of 01/11: a wider, rounder card, the address
   larger, the days in plain text. The home's sections and its footer meet
   without the white strip WordPress's flow layout put between them. */
.dp-g-home > * { margin-block-start: 0; }
.dp-g-rdv .dp-g-cabh__band { padding: 28px 36px; border-radius: 24px; }
.dp-g-rdv .dp-g-cabh__band-info { font-size: 16px; }
.dp-g .dp-g-rdv .dp-g-cabh__band .dp-g-idline--address { font-size: 22px; text-wrap: balance; }

/* Unlock Breath (Thierry, 24/10), hidden until his go-ahead: the block after
   « Dernières publications » in the form of his mock-up of 01/11, the note at
   the bottom of a list. */
.dp-g-homesec.dp-g-ubsec { padding-top: 0; }
.dp-g-ub { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); overflow: hidden; box-sizing: border-box; border: 1px solid #e8dccb; border-radius: 26px; background: #f6eee3; }
.dp-g-ub__visual { display: flex; align-items: center; justify-content: center; min-height: 360px; padding: 32px; box-sizing: border-box; background: #efe1d0; }
.dp-g-ub__visual svg { display: block; width: 100%; max-width: 280px; height: auto; }
.dp-g-ub__body { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 48px 52px; }
.dp-g-ub__tag { font-size: 14px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #7a5a45; }
.dp-g .dp-g-ub__title { font-family: "Crimson Pro", Georgia, serif; font-size: 40px; font-weight: 600; line-height: 1.12; letter-spacing: 0; color: #3b2a22; }
.dp-g .dp-g-ub__text { max-width: var(--g-measure); margin: 0; font-size: 17px; line-height: 1.7; color: #5a4a40; }
.dp-g-ub__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 26px; margin-top: 6px; }
.dp-g .dp-g-ub__start { display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px; box-sizing: border-box; border-radius: 12px; background: #3b2a22; color: #fff; text-decoration: none; font-weight: 600; }
.dp-g .dp-g-ub__start:hover { color: #fff; background: var(--g-primary); }
.dp-g .dp-g-ub__more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #3b2a22; font-weight: 600; text-underline-offset: 5px; }
.dp-g .dp-g-ub__more:hover { color: var(--g-primary); }
:is(.dp-g-ub__start, .dp-g-ub__more):focus-visible { outline: 2px solid #3b2a22; outline-offset: 3px; }
.dp-g-ub-note { max-width: var(--g-wide); margin: 56px auto 0; padding: 0 var(--g-gutter); }
.dp-g-ub-note__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding: 18px 24px; border-radius: 14px; background: var(--g-sand); }
.dp-g-ub-note__mark { display: flex; flex: none; }
.dp-g .dp-g-ub-note__text { flex: 1 1 320px; margin: 0; color: var(--g-text); }
.dp-g .dp-g-ub-note__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--g-primary); font-weight: 600; text-underline-offset: 5px; }
.dp-g-ub-note + .dp-g-search--cabinet { margin-top: 88px; }
.dp-g-cabh__intro { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; padding-bottom: 28px; border-bottom: 1px solid var(--g-line); }
.dp-g .dp-g-cabh__avatar { display: block; width: 72px; height: 72px; object-fit: cover; object-position: 37% 25%; border-radius: 12px; }
.dp-g-cabh__intro-text { flex: 1; min-width: 280px; }
.dp-g .dp-g-cabh__name { margin: 2px 0 0; font-family: var(--g-title); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.dp-g-cabh__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.dp-g-cabh__chips li { display: inline-flex; align-items: center; min-height: 34px; margin: 0; padding: 0 12px; border-radius: 8px; background: var(--g-sand); font-size: 14px; font-weight: 500; }
.dp-g-cabh--b .dp-g-cabh__grid { margin-top: 32px; }
.dp-g-cabh__dark { padding: 32px; border-radius: 16px; background: var(--g-graphite); color: #fff; }
.dp-g .dp-g-cabh__where { margin-top: 10px; font-family: var(--g-title); font-size: 26px; font-weight: 600; line-height: 1.2; }
.dp-g .dp-g-cabh__district { margin-top: 6px; font-size: 15px; color: var(--g-on-dark-soft); }
.dp-g .dp-g-cabh__hours { margin-top: 18px; font-size: 15px; color: var(--g-on-dark-soft); }
.dp-g-cabh__transport { margin: 18px 0 0; font-size: 15px; }
.dp-g-cabh__transport div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid #3a3d42; }
.dp-g-cabh__transport dt { font-weight: 600; color: var(--g-accent-on-dark); }
.dp-g-cabh__transport dd { margin: 0; color: var(--g-on-dark-soft); }
.dp-g-cabh__dark .dp-g-btns { margin-top: 24px; }
.dp-g-cabh__side { display: flex; flex-direction: column; gap: 16px; }
.dp-g-cabh__plan { flex: 1; min-height: 380px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 32px; box-sizing: border-box; border-radius: 16px; background-color: var(--g-sand); background-image: linear-gradient(#e2ded7 1px, transparent 1px), linear-gradient(90deg, #e2ded7 1px, transparent 1px); background-size: 48px 48px; text-align: center; }
.dp-g-cabh__plan-icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 14px; background: var(--g-primary); color: #fff; }
.dp-g .dp-g-cabh__plan-title { margin-top: 6px; font-family: var(--g-title); font-size: 20px; font-weight: 600; }
.dp-g .dp-g-cabh__plan-text { font-size: 15px; color: var(--g-muted); }
.dp-g-cabh__plan .dp-g-btns { justify-content: center; margin-top: 10px; }
.dp-g-cabh__note { padding: 22px 26px; border-radius: 16px; border: 1.5px solid var(--g-ink); }
.dp-g .dp-g-cabh__note-title { font-weight: 600; }
.dp-g .dp-g-cabh__note p + p { margin-top: 4px; font-size: 15px; color: var(--g-text); }
.dp-g-cabh__split { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 64px; }
.dp-g .dp-g-cabh__lede { margin-top: 18px; font-size: 18px; color: var(--g-text); }
.dp-g-cabh__axes--lines { gap: 28px 40px; margin-top: 36px; }
.dp-g-cabh__axes--lines .dp-g-cabh__axis { padding: 16px 0 0; border-radius: 0; border-top: 1px solid var(--g-line); background: none; }
.dp-g .dp-g-cabh__axes--lines .dp-g-cabh__axis h3 { margin: 0 0 6px; }
.dp-g-cabh__aside { padding: 16px 16px 24px; border-radius: 16px; background: var(--g-sand); }
.dp-g-cabh__aside-text { padding: 0 10px; }
.dp-g .dp-g-cabh__who--title { margin-top: 16px; font-family: var(--g-title); font-size: 18px; font-weight: 600; color: var(--g-ink); }
.dp-g-cabh__facts { margin: 14px 0 0; }
.dp-g-cabh__facts div { padding: 12px 0; border-top: 1px solid #dcd8d1; }
.dp-g-cabh__facts dt { font-size: 13px; font-weight: 600; color: var(--g-muted); }
.dp-g-cabh__facts dd { margin: 2px 0 0; font-size: 15px; font-weight: 500; }
.dp-g .dp-g-cabh__facts .dp-g-idline { min-height: 0; font-weight: inherit; }
.dp-g-cabh__aside .dp-g-btns { margin-top: 18px; }
.dp-g-cabh__treat { margin-top: 56px; }
.dp-g-cabh__treat .dp-g-cabh__kicker { margin-bottom: 14px; font-size: 15px; }
.dp-g-cabh__treat-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
.dp-g .dp-g-cabh__treat-link { display: flex; flex-direction: column; padding: 24px 0; border-top: 2px solid var(--g-ink); text-decoration: none; }
.dp-g-cabh__treat-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-family: var(--g-title); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.dp-g-cabh__treat-sub { margin-top: 8px; font-size: 15px; color: var(--g-muted); }
.dp-g-homefoot--b { padding: 64px var(--g-gutter) 28px; background: var(--g-beige); }
.dp-g-homefoot__inner { max-width: var(--g-wide); margin: 0 auto; }
.dp-g-homefoot__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: 40px; align-items: start; }
.dp-g-homefoot p { margin: 0; }
.dp-g-homefoot--b .dp-g-footer__brand { font-size: 18px; }
.dp-g .dp-g-homefoot__line { margin-top: 16px; font-size: 15px; color: var(--g-text); }
.dp-g .dp-g-homefoot__contact { margin-top: 14px; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-homefoot__contact .dp-g-idline { min-height: 0; color: inherit; font-weight: inherit; }
.dp-g .dp-g-homefoot__district { margin-top: 6px; font-size: 14px; color: var(--g-muted); }
.dp-g-news--card { padding: 28px; border-radius: 16px; background: #fff; }
.dp-g .dp-g-news__title { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--g-title); font-size: 22px; font-weight: 600; line-height: 1.12; }
.dp-g-news__icon { display: flex; color: var(--g-primary); }
.dp-g .dp-g-news__text { margin: 8px 0 18px; font-size: 15px; color: var(--g-text); }
.dp-g-news__form label { display: block; font-size: 15px; font-weight: 600; }
.dp-g-news__field { display: flex; gap: 8px; margin-top: 8px; }
.dp-g-news__field input { flex: 1; min-width: 0; min-height: 50px; box-sizing: border-box; padding: 0 14px; border: 1.5px solid var(--g-field); border-radius: 10px; background: #fff; font: inherit; color: var(--g-ink); }
.dp-g-news__field button { display: inline-flex; align-items: center; min-height: 50px; padding: 0 22px; border: 0; border-radius: 10px; background: var(--g-primary); color: #fff; font: inherit; font-weight: 600; }
.dp-g-news__field :disabled { cursor: not-allowed; }
.dp-g .dp-g-news__note { margin-top: 10px; font-size: 13px; color: var(--g-muted); }
.dp-g .dp-g-news__note a, .dp-g .dp-g-news__note a:hover { color: inherit; text-decoration: underline; }
.dp-g-news--dark { padding: 32px; border-radius: 16px; background: var(--g-graphite); color: #fff; }
.dp-g .dp-g-news--dark .dp-g-news__title { font-size: 28px; letter-spacing: -0.03em; color: #fff; }
.dp-g .dp-g-news--dark .dp-g-news__text { margin-bottom: 20px; font-size: 16px; color: var(--g-on-dark-soft); }
.dp-g .dp-g-news--dark .dp-g-news__note { color: #bdbcb8; }
.dp-g-homefoot__nav { display: flex; flex-direction: column; }
.dp-g .dp-g-homefoot__nav-title { margin-bottom: 8px; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-homefoot__nav a { display: block; padding: 5px 0; color: var(--g-text); text-decoration: none; font-size: 15px; }
/* His networks as icons, as on his mock-up of 01/11: 44 px to the touch, the
   first icon's drawing aligned with the links above it. */
.dp-g-homefoot__nets { display: flex; flex-wrap: wrap; gap: 4px; margin: 12px 0 0 -10px; }
.dp-g .dp-g-homefoot__nets > .dp-g-idline--icononly { justify-content: center; width: 44px; height: 44px; border-radius: 8px; }
.dp-g .dp-g-homefoot__nets svg { width: 22px; height: 22px; }
.dp-g .dp-g-idline--icononly:hover { color: var(--g-primary); }
.dp-g .dp-g-ec__nets .dp-g-idline--icononly { justify-content: center; width: 44px; min-height: 36px; }
.dp-g .dp-g-ec__nets .dp-g-idline--icononly:hover { color: var(--g-accent-on-dark); }
.dp-g .dp-g-homefoot__copy { margin-top: 40px; padding-top: 20px; border-top: 1px solid #dcd8d1; font-size: 14px; color: var(--g-muted); }
.dp-g-homefoot__top { padding: 72px var(--g-gutter) 40px; }
.dp-g-homefoot__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.dp-g-homefoot__cab { display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 32px; border-radius: 16px; background: var(--g-sand); }
.dp-g .dp-g-homefoot__where { margin-top: 8px; font-family: var(--g-title); font-size: 26px; font-weight: 600; line-height: 1.2; }
.dp-g .dp-g-homefoot__more { margin-top: 6px; font-size: 15px; color: var(--g-text); }
.dp-g .dp-g-homefoot__more .dp-g-idline { min-height: 0; color: inherit; font-weight: inherit; }
/* Name, address, then the phone as plain text (Thierry, 24/10). */
.dp-g .dp-g-homefoot__where .dp-g-idline { min-height: 0; color: inherit; font-weight: inherit; }
.dp-g .dp-g-homefoot__where .dp-g-idline--phone { font-family: "Inter", system-ui, sans-serif; font-size: 18px; font-weight: 400; }
.dp-g-homefoot__bar { padding: 24px var(--g-gutter); border-top: 1px solid var(--g-line); }
.dp-g-homefoot__bar-inner { max-width: var(--g-wide); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; font-size: 14px; }
.dp-g-homefoot__brand { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--g-muted); }
.dp-g-homefoot__brand strong { font-family: var(--g-title); font-size: 15px; color: var(--g-ink); }
.dp-g-homefoot__brand .dp-g-logo__mark--bare { width: 26px; height: 26px; background-size: 26px; }
.dp-g-homefoot__barnav, .dp-g-homefoot__barnets { display: flex; flex-wrap: wrap; gap: 0 20px; }
.dp-g-homefoot__barnets:not(:has(*)) { display: none; }
.dp-g .dp-g-homefoot__barnav a, .dp-g .dp-g-homefoot__barnets > * { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-weight: 400; }

/* Tablet, 761 to 1100 px: the columns drawn for 1440 px fold before their text
   falls to a word or two a line (the cabinet held 9 characters a line at 768
   px). */
@media (min-width: 47.5625em) and (max-width: 68.75em) {
	.dp-g-cab-intro, .dp-g-cab-hours, .dp-g-cab-site, .dp-g-cab-text, .dp-g-feature, .dp-g-search__grid, .dp-g-pain__grid,
	.dp-g-cabh__top, .dp-g-cabh__methods, .dp-g-cabh__grid, .dp-g-cabh__split, .dp-g-homefoot__grid, .dp-g-homeposts--feature { grid-template-columns: minmax(0, 1fr); }
	.dp-g-hub-head { display: block; }
	.dp-g-results { display: block; }
	.dp-g-results__others { margin-top: 16px; }
	.dp-g-cab-access__grid, .dp-g-homeposts__grid, .dp-g-rubrique-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dp-g .dp-g-cab-intro__photo img { max-height: 480px; aspect-ratio: 4 / 3; }
	.dp-g-cabinet-body > .dp-g-cab-text--parcours { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.dp-g-cab-parcours__photo { max-width: 440px; }
	.dp-g-header { display: flex; justify-content: space-between; gap: 16px; }
	.dp-g-header__search { display: none; }
	/* Menu 2 has a row of its own: its search stays. */
	.dp-g-hm--2 .dp-g-hm__search { display: flex; }
}
/* Under 900 px the G header keeps the logo's mark, its name read aloud only. */
@media (min-width: 47.5625em) and (max-width: 56.25em) {
	.dp-g .dp-g-header .dp-g-logo { font-size: 0; }
}

/* Phone, 390 px plate. */
@media (max-width: 47.5em) {
	.dp-g-page__body { padding: 40px var(--g-gutter) 64px; font-size: 17px; }
	.dp-g-page__body .wp-block-post-content :is(h2, h3) { margin-top: 40px; font-size: 23px; }
	.dp-g-page__body .wp-block-post-content h3 { font-size: 19px; }
	.dp-g-page__body .dp-legal__row { grid-template-columns: minmax(0, 1fr); }
	.dp-g .dp-g-dp__lede { font-size: 19px; }
	.dp-g .dp-page-intro--kicker { margin-top: 18px; font-size: 14px; }
	.dp-g .dp-page-intro--lede { margin-top: 14px; font-size: 17px; line-height: 1.6; }
	.dp-g .dp-g-page__body:has(.dp-g-dp__cols) .wp-block-post-content > ul.dp-g-dp__laws { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 20px; }
	.dp-g-page__body .dp-g-dp__laws > li { padding: 18px 20px; border-radius: 16px; font-size: 15px; }
	.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-dp__keep { margin-top: 48px; padding: 24px 20px; border-radius: 18px; }
	.dp-g-page__body .dp-g-dp__keep h2 { font-size: 23px; }
	.dp-g .dp-g-dp__portrait img { border-radius: 18px; }
	.dp-g-page__body .wp-block-quote.dp-g-dp__quote { margin: 28px 0; padding-left: 16px; font-size: 18px; }
	.dp-g-page__body .wp-block-post-content > .dp-g-dp__cols { gap: 16px; margin: 24px 0; }
	.dp-g-dp__cols--text > .wp-block-column { padding: 18px 20px; font-size: 16px; }
	.dp-g-homesec { padding: 48px var(--g-gutter); }
	.dp-g .dp-g-homesec__title, .dp-g .dp-g-pain__title { font-size: 26px; }
	.dp-g-ub { display: block; border-radius: 22px; }
	.dp-g-ub__visual { min-height: 0; aspect-ratio: 16 / 10; padding: 20px; }
	.dp-g-ub__visual svg { max-width: 180px; }
	.dp-g-ub__body { gap: 14px; padding: 26px 22px 28px; }
	.dp-g-ub__tag { font-size: 12px; }
	.dp-g .dp-g-ub__title { font-size: 30px; line-height: 1.15; }
	.dp-g .dp-g-ub__text { font-size: 15px; line-height: 1.65; }
	.dp-g-ub__actions { flex-direction: column; align-items: stretch; gap: 8px; margin-top: 4px; }
	.dp-g .dp-g-ub__start { justify-content: center; text-align: center; padding: 0 20px; }
	.dp-g .dp-g-ub__more { justify-content: center; font-size: 15px; }
	.dp-g-ub-note { margin-top: 32px; }
	.dp-g-ub-note__inner { padding: 16px 18px; }
	.dp-g-ub-note + .dp-g-search--cabinet { margin-top: 48px; }
	.dp-g-rubs__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
	.dp-g .dp-g-rub__image { aspect-ratio: 4 / 5; }
	.dp-g-rub--tile .dp-g-rub__text { padding: 10px 12px 12px; }
	.dp-g-rubs__cards { grid-template-columns: 1fr; }
	.dp-g-rubs--list .dp-g-rub__image { width: 72px; height: 72px; }
	.dp-g .dp-g-rub--card { gap: 14px; }
	.dp-g-pain__grid { display: block; }
	.dp-g-pain__panel { margin-top: 32px; padding: 22px; }
	.dp-g-pain__gauge { height: 88px; gap: 6px; }
	.dp-g-filters { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--g-gutter)); padding-right: var(--g-gutter); }
	.dp-g .dp-g-filter { flex: none; }
	.dp-g-homeposts__grid { grid-template-columns: 1fr; gap: 0; margin-top: 16px; border-top: 1px solid var(--g-line); }
	.dp-g-homeposts--feature { display: block; margin-top: 24px; }
	.dp-g-homeposts__lead .dp-g-feature__text { margin-top: 0; }
	.dp-g .dp-g-homeposts__lead .dp-g-feature__more { display: inline-flex; }
	.dp-g-homeposts__play { min-height: 48px; padding: 0 16px 0 6px; font-size: 15px; }
	.dp-g-homeposts__play .dp-g-chip__icon { width: 34px; height: 34px; }
	.dp-g-homeposts__side { margin-top: 32px; }
	.dp-g-hero { padding-top: 12px; padding-bottom: 48px; }
	.dp-g-article:has(.dp-g-lead:not(.dp-g-lead--unavailable)) .dp-g-hero { padding-bottom: 128px; }
	.dp-g-header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 8px; min-height: 56px; }
	.dp-g-logo { min-height: 56px; font-size: 17px; gap: 10px; }
	.dp-g-logo__mark { width: 38px; height: 38px; background-size: 26px; }
	/* G-article-mobile: the search band stays at the foot of the page. */
	.dp-g-header__actions { gap: 8px; }
	.dp-g-header__search { display: none; }
	.dp-g-hero__inner { padding-top: 14px; }
	/* One line, as on the plates: a long last step ends in « … » rather than
	   starting a second line with « › » (owner, 24/10). */
	.dp-g .dp-breadcrumb__list { flex-wrap: nowrap; gap: 8px; font-size: 14px; }
	.dp-g .dp-breadcrumb__item { flex: none; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; line-height: 32px; }
	.dp-g .dp-breadcrumb__item:nth-last-child(2) { flex-shrink: 1; }
	.dp-g .dp-breadcrumb__item:last-child { flex-shrink: 100; }
	.dp-g .dp-breadcrumb__item + .dp-breadcrumb__item::before { margin-right: 8px; }
	.dp-g .dp-breadcrumb a { display: inline; padding: 7px 0; }
	.dp-g-chips { margin-top: 20px; gap: 8px; }
	.dp-g .dp-g-head__title { margin-top: 16px; font-size: 31px; line-height: 1.12; }
	.dp-g-byline { gap: 12px; margin-top: 22px; }
	.dp-g .dp-g-byline__photo { width: 44px; height: 44px; }
	.dp-g-byline__meta { font-size: 13px; }
	.dp-g-article:has(.dp-g-lead:not(.dp-g-lead--unavailable)) .dp-g-lead { margin-top: -104px; }
	.dp-g-lead .dp-video__frame { border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18); }
	.dp-g .dp-video__load { top: 42%; gap: 10px; min-height: 52px; padding: 0 18px 0 6px; border-radius: 12px; font-size: 15px; }
	.dp-g .dp-video__load-icon { width: 40px; height: 40px; border-radius: 8px; font-size: 15px; }
	.dp-g .dp-video__caption { margin-top: 10px; font-size: 14px; }
	.dp-g-article__cols { display: block; padding-top: 32px; }
	.dp-g-toc { padding: 16px 16px 6px; border-radius: 12px; background: var(--g-sand); }
	.dp-g-toc__list { margin-top: 8px; border-top: 0; }
	.dp-g .dp-g-toc__link { grid-template-columns: 30px minmax(0, 1fr); padding: 11px 0; border-top: 1px solid var(--g-line); border-bottom: 0; }
	.dp-g .dp-g-topicbox { display: none; }
	.dp-g-article__body { margin-top: 32px; font-size: 17px; }
	.dp-g-article__body .wp-block-post-content > * { margin-bottom: 20px; }
	.dp-g-article__body .wp-block-post-content h2 { margin: 44px 0 16px; font-size: 23px; line-height: 1.22; }
	.dp-g-author { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; margin-top: 40px; padding: 16px; border-radius: 12px; }
	.dp-g .dp-g-author__photo { width: 64px; height: 64px; border-radius: 10px; }
	.dp-g-author__name { font-size: 17px; }
	.dp-g-author__line { font-size: 14px; }
	.dp-g-related { margin-top: 56px; padding: 40px var(--g-gutter) 44px; }
	.dp-g .dp-g-related__title { font-size: 28px; }
	.dp-g-related__all { order: 2; }
	.dp-g-related__list { grid-template-columns: 1fr; gap: 0; margin-top: 16px; border-top: 1px solid var(--g-line); }
	.dp-g .dp-g-card { display: grid; grid-template-columns: 128px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--g-line); }
	.dp-g .dp-g-card__image { grid-row: 1 / 3; aspect-ratio: 4 / 3; border-radius: 10px; }
	.dp-g-card__topic { margin-top: 0; font-size: 13px; }
	.dp-g-card__title { margin-top: 2px; font-size: 15px; line-height: 1.35; }
	.dp-g-search { padding: 40px 12px 48px; }
	.dp-g-search__grid { display: block; }
	.dp-g .dp-g-search__title { margin: 0 4px; font-size: 24px; }
	.dp-g-search__form { margin-top: 16px; padding: 6px 6px 6px 16px; }
	.dp-g-search__form input { padding: 12px 0; font-size: 16px; }
	.dp-g-search__form button { width: 48px; min-height: 48px; padding: 0; }
	.dp-g-search__submit-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.dp-g-search__submit-icon { display: block; }
	.dp-g-search__topics { margin-top: 12px; }
	.dp-g-cabinet { display: block; margin-top: 32px; padding: 22px 20px 20px; }
	.dp-g-cabinet__address { font-size: 21px; line-height: 1.25; }
	.dp-g-cabinet__access { margin-top: 10px !important; font-size: 15px; }
	.dp-g .dp-g-cabinet__contact { display: flex; width: 100%; box-sizing: border-box; margin-top: 18px; }
	.dp-g-rubrique .dp-g-hero { padding-bottom: 36px; }
	.dp-g-rubrique-head__intro { margin-top: 20px; }
	.dp-g-rubrique-head__intro--drawn { grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto; column-gap: 16px; }
	.dp-g .dp-g-rubrique-head__image { grid-row: 1; width: 96px; border-radius: 10px; }
	.dp-g-rubrique-head__intro--drawn > .dp-g-rubrique-head__text { grid-column: 1 / -1; }
	.dp-g .dp-g-rubrique-head__kicker { font-size: 14px; }
	.dp-g .dp-g-rubrique-head__title { margin-top: 6px; font-size: 38px; }
	.dp-g .dp-g-rubrique-head__text { margin-top: 18px; font-size: 16px; }
	.dp-g-subnav { margin-top: 24px; padding-top: 0; border-top: 0; }
	.dp-g-rubrique-head__tools { display: block; margin-top: 24px; padding-top: 0; border-top: 0; }
	.dp-g-subnav + .dp-g-sort { margin-top: 16px; }
	/* The sort on a phone: « Trier » above, the choice across the screen beside
	   its button (at 320 px the row ran 31 px past the edge). */
	.dp-g-sort { flex: 1 1 100%; flex-wrap: wrap; gap: 6px 10px; }
	.dp-g-sort > label { flex: 1 1 100%; }
	.dp-g .dp-g-sort select { flex: 1 1 0; min-width: 0; }
	.dp-g-rubrique-list { padding-top: 32px; }
	.dp-g-feature { display: block; }
	.dp-g .dp-g-feature__image { border-radius: 12px; }
	.dp-g-feature__media .dp-g-card__video { left: 12px; bottom: 12px; min-height: 34px; padding: 0 12px 0 4px; font-size: 13px; }
	.dp-g-feature__media .dp-g-card__video .dp-g-chip__icon { width: 26px; height: 26px; border-radius: 6px; }
	.dp-g-feature__kicker { margin-top: 16px !important; font-size: 13px; }
	.dp-g .dp-g-feature__title { margin-top: 6px; font-size: 22px; line-height: 1.22; letter-spacing: -0.025em; }
	.dp-g-feature__text .dp-g-feature__excerpt { margin-top: 10px; font-size: 15px; }
	.dp-g .dp-g-feature__more { display: none; }
	.dp-g-rubrique-list__grid { grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--g-line); }
	.dp-g-feature + .dp-g-rubrique-list__grid { margin-top: 28px; }
	.dp-g-card__media { grid-row: 1 / 3; }
	.dp-g-card__media .dp-g-card__video { left: 6px; bottom: 6px; min-height: 0; padding: 0; background: none; }
	.dp-g-card__media .dp-g-card__video-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.dp-g-rubrique-list .dp-g-card__title { font-size: 15px; }
	.dp-g-hub .dp-g-hero { padding-bottom: 28px; }
	.dp-g-hub-head { display: block; margin-top: 18px; }
	.dp-g .dp-g-hub-head .dp-g-head__title { font-size: 38px; }
	.dp-g-hub-head__intro p { margin-top: 14px; font-size: 15px; }
	.dp-g-hub-search { margin-top: 20px; }
	.dp-g-hub-topics { margin-top: 16px; }
	.dp-g .dp-g-hub-before { margin-top: 28px; padding: 18px; }
	.dp-g-hub-list { padding-top: 28px; }
	.dp-g .dp-g-hub-list__title { font-size: 26px; }
	.dp-g-hub-list__bar { gap: 8px; }
	.dp-g-hub-list__bar + .dp-g-rubrique-list__grid { margin-top: 16px; }
	.dp-g-hub-list + .dp-g-search--cabinet { margin-top: 48px; }
	.dp-g-searchpage .dp-g-hero { padding-bottom: 28px; }
	.dp-g .dp-g-search-head__title { margin-top: 18px; font-size: 30px; line-height: 1.12; }
	.dp-g .dp-g-search-head__count { margin-top: 8px; font-size: 16px; }
	.dp-g-search-head__form { margin-top: 20px; }
	.dp-g-results { display: block; padding: 20px var(--g-gutter) 0; }
	.dp-g .dp-g-results__topic { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 10px 14px 10px 10px; border-radius: 14px; }
	.dp-g .dp-g-results__topic-image { width: 64px; aspect-ratio: 1; border-radius: 8px; }
	.dp-g-results__topic-initial { font-size: 26px; }
	.dp-g-results__topic-kicker { font-size: 13px; }
	.dp-g-results__topic-name { margin-top: 0; font-size: 18px; }
	.dp-g-results__topic-count { font-size: 14px; }
	.dp-g-results__topic-more { display: none; }
	.dp-g-results__topic + .dp-g-results__main { margin-top: 20px; }
	.dp-g .dp-g-results__note { font-size: 14px; }
	.dp-g-result { padding: 20px 0; }
	.dp-g .dp-g-result__meta { gap: 6px 14px; }
	.dp-g-result__topic, .dp-g-result__meta .dp-g-card__video { font-size: 13px; }
	.dp-g-result__meta .dp-g-chip__icon { width: 20px; height: 20px; }
	.dp-g .dp-g-result__title { margin-top: 6px; font-size: 18px; line-height: 1.32; letter-spacing: 0; }
	.dp-g .dp-g-result__excerpt { margin-top: 6px; font-size: 15px; }
	.dp-g .dp-g-results__none { font-size: 24px; }
	.dp-g-results__others { margin-top: 32px; padding: 18px; }
	.dp-g-results + .dp-g-search--cabinet { margin-top: 48px; }
	.dp-g-search--cabinet { padding: 0 var(--g-gutter) 48px; }
	.dp-g-pager { justify-content: space-between; margin-top: 28px; }
	.dp-g-pager__count { display: block; order: -1; margin-right: auto; }
	.dp-g .dp-g-pager__num { display: none; }
	.dp-g .dp-g-pager__step { min-width: 44px; min-height: 44px; padding: 0 12px; margin: 0; }
	.dp-g-others { margin-top: 0; padding: 48px var(--g-gutter); border-top: 0; }
	.dp-g .dp-g-others__title { font-size: 26px; line-height: 1.12; }
	.dp-g-others__list { margin-top: 16px; }
	.dp-g-rubrique-list + .dp-g-search { margin-top: 48px; }
	.dp-g-footer { padding: 32px var(--g-gutter) 36px; }
	.dp-g-footer__inner { display: block; }
	.dp-g-footer__nav { margin-top: 12px; gap: 0 20px; }
	.dp-g-hero--photo { min-height: 600px; padding-bottom: 48px; }
	.dp-g-cabinet-head__body { padding-top: 16px; }
	.dp-g-cabinet-head__kicker { font-size: 14px; }
	.dp-g .dp-g-cabinet-head__title { margin-top: 16px; font-size: 34px; line-height: 1.1; }
	.dp-g-cabinet-head__address { margin-top: 14px !important; font-size: 16px; }
	.dp-g-cabinet-head__actions { flex-direction: column; gap: 10px; margin-top: 28px; width: 100%; }
	.dp-g .dp-g-cabinet-head__call, .dp-g .dp-g-cabinet-head__way { flex: none; width: 100%; justify-content: center; padding: 0 16px; }
	/* G-cabinet-mobile: the place on a line of its own. */
	.dp-g-cabinet-head__kicker { font-size: clamp(14px, 1.25vw + 10px, 15px); line-height: 1.45; }
	.dp-g-cabinet-head__sep { display: none; }
	.dp-g-cabinet-head__place { display: block; }
	.dp-g-cabinet-head > .dp-breadcrumb { display: none; }
	.dp-g .dp-g-cab-crumbs { padding: 28px var(--g-gutter) 0; }
	.dp-g-cab-crumbs + .dp-g-cabinet-body > :first-child { padding-top: 16px; }
	.dp-g-cabinet-body > * { padding: 44px var(--g-gutter) 48px; }
	.dp-g-cabinet-body h2 { font-size: 26px; line-height: 1.15; }
	.dp-g-cab-intro, .dp-g-cab-hours, .dp-g-cab-site, .dp-g-cab-text { display: block; }
	.dp-g-cabinet-body > .dp-g-cab-intro { padding-bottom: 0; }
	.dp-g .dp-g-cabinet-body .dp-g-cab-intro__title { font-size: 32px; line-height: 1.15; }
	.dp-g-cabinet-body .dp-g-cab-intro__lede { margin-top: 14px; font-size: 17px; }
	.dp-g-cab-intro__photo { margin-top: 24px; }
	.dp-g .dp-g-cab-intro__photo img { aspect-ratio: 4 / 3; object-position: 60% center; border-radius: 18px; }
	.dp-g-cabinet-body > .dp-g-cab-read { padding-top: 48px; font-size: 16px; line-height: 1.7; }
	.dp-g-cabinet-body .dp-g-cab-read > * { margin-top: 12px; }
	.dp-g-cabinet-body .dp-g-cab-read h2 { font-size: 24px; }
	.dp-g-cabinet-body .dp-g-cab-read > h2:not(:first-child), .dp-g-cabinet-body .dp-g-cab-read > .dp-g-cab-card { margin-top: 40px; }
	.dp-g-cabinet-body .dp-g-cab-read > .dp-g-cab-quote { margin-top: 18px; padding: 2px 0 2px 18px; font-size: 19px; }
	.dp-g-cabinet-body > .dp-g-cab-wide { padding-top: 40px; }
	.dp-g .dp-g-cab-wide img { height: auto; aspect-ratio: 4 / 5; border-radius: 18px; }
	.dp-g-cabinet-body > .dp-g-cab-text--porte { padding-top: 40px; padding-bottom: 64px; }
	.dp-g-cab-card { padding: 22px 20px; border-radius: 18px; }
	.dp-g-cabinet-body .dp-g-cab-card h2 { font-size: 22px; }
	.dp-g-cabinet-body .dp-g-cab-card > p { margin-top: 12px; }
	.dp-g-cabinet-body > .dp-g-cab-text--parcours { display: block; padding-top: 48px; padding-bottom: 48px; }
	.dp-g .dp-g-cab-parcours__photo img { border-radius: 18px; }
	.dp-g-cab-parcours__text { margin-top: 28px; font-size: 16px; line-height: 1.7; }
	.dp-g-cabinet-body .dp-g-cab-parcours__text > * + * { margin-top: 16px; }
	.dp-g-cabinet-body .dp-g-cab-since { font-size: 17px; }
	.dp-g-cabinet-body > .dp-g-cab-text--formations { padding-top: 48px; }
	.dp-g-cab-formations { gap: 14px; margin-top: 18px; }
	.dp-g-cab-formation { padding: 20px; border-radius: 18px; }
	.dp-g-cabinet-body .dp-g-cab-formation h3 { font-size: 17px; }
	.dp-g-cabinet-body .dp-g-cab-formation ul { gap: 8px; margin-top: 10px; font-size: 14px; }
	.dp-g-cabinet-body .dp-g-lede { margin-top: 16px; font-size: 17px; }
	.dp-g-pro { margin-top: 28px; padding: 20px; border-radius: 12px; }
	.dp-g-cabinet-body .dp-g-pro__name { font-size: 19px; }
	.dp-g-cab-hours h2, .dp-g-cab-site h2 { font-size: 24px; line-height: 1.2; }
	.dp-g .dp-g-filebutton { width: 100%; }
	.dp-g .dp-g-filebutton .wp-block-button__link { display: flex; width: 100%; min-height: 50px; padding: 8px 16px; justify-content: flex-start; text-align: left; line-height: 1.35; }
	/* G-cabinet-mobile: the hours at 15 px, the note's icon beside its title,
	   each transport a card, Google Maps under them (owner, 24/10). */
	.dp-g .dp-g-rows li { gap: 12px; padding: 12px 0; font-size: 15px; line-height: 1.5; }
	.dp-g .dp-g-pro__note, .dp-g .dp-g-pro__ids { font-size: 13px; line-height: 1.5; }
	.dp-g-note { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; column-gap: 12px; margin-top: 24px; padding: 22px; border-radius: 14px; }
	.dp-g-note::before { width: 40px; height: 40px; }
	.dp-g-note > :not(h3) { grid-column: 1 / -1; }
	.dp-g-cabinet-body .dp-g-note h3 { margin: 0; font-size: 19px; }
	.dp-g-cabinet-body .dp-g-note p { margin-top: 14px; font-size: 16px; }
	.dp-g-cabinet-body .dp-g-note p + p { margin-top: 10px; }
	.dp-g-cabinet-body .dp-g-access-head__title { font-size: 30px; }
	.dp-g-access-head__address { margin-top: 8px !important; font-size: 15px; }
	.dp-g-cabinet-body > .dp-g-cab-access { position: relative; padding-bottom: 116px; }
	.dp-g .dp-g-cab-access .dp-g-access-head__map { position: absolute; right: var(--g-gutter); bottom: 48px; left: var(--g-gutter); justify-content: center; min-height: 50px; }
	.dp-g-cab-access__grid { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
	.dp-g-transport { display: grid; grid-template-columns: 40px minmax(0, 1fr); column-gap: 14px; padding: 18px; border-radius: 14px; }
	.dp-g-transport::before { grid-row: 1 / 9; width: 40px; height: 40px; }
	.dp-g-cabinet-body .dp-g-transport h3 { margin: 0 0 4px; }
	.dp-g-transport p { font-size: 15px; line-height: 1.5; }
	.dp-g-transport p + p { margin-top: 6px; }
	.dp-g-page__body .dp-g-cab-access { margin-top: 44px; padding: 24px 20px 104px; border-radius: 14px; }
	.dp-g-page__body .wp-block-post-content .dp-g-access-head__title { font-size: 24px; }
	.dp-g-page__body .dp-g-cab-access__grid { grid-template-columns: 1fr; margin-top: 20px; }
	.dp-g-page__body .wp-block-post-content .dp-g-transport h3 { margin: 0 0 4px; }
	.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head__map { right: 20px; bottom: 32px; left: 20px; }
	.dp-g-page__body .wp-block-post-content .dp-g-note h3 { margin: 0; font-size: 19px; }
	.dp-g-cab-site__text { margin-top: 20px; font-size: 16px; }
	.dp-g-cab-site .dp-g-darkbutton { width: 100%; }
	.dp-g .dp-g-cab-site .dp-g-darkbutton .wp-block-button__link { display: flex; justify-content: center; min-height: 50px; }
	.dp-g .dp-g-numlist li { grid-template-columns: 30px minmax(0, 1fr); }
	.dp-g-homesec.dp-g-cabh { padding-top: 44px; padding-bottom: 48px; }
	.dp-g .dp-g-cabh__title, .dp-g .dp-g-cabh__title--big { font-size: 26px; }
	.dp-g-cabh__top, .dp-g-cabh__methods, .dp-g-cabh__grid, .dp-g-cabh__split, .dp-g-cabh__axes, .dp-g-cabh__links--two, .dp-g-cabh__treat-grid, .dp-g-homefoot__grid, .dp-g-homefoot__pair { grid-template-columns: minmax(0, 1fr); }
	.dp-g-cabh__split { gap: 32px; }
	.dp-g-cabh__treat-grid { gap: 0; }
	.dp-g-cabh__axes-wrap .dp-g-cabh__title { padding: 16px 4px 0; }
	.dp-g-cabh__axis, .dp-g-cabh__method { padding: 20px; }
	.dp-g .dp-g-cabh__method-title, .dp-g-cabh__treat-title { font-size: 21px; }
	.dp-g-cabh__band { padding: 22px; }
	.dp-g-cabh__band-info { flex-direction: column; align-items: flex-start; gap: 6px; }
	.dp-g .dp-g-cabh__band .dp-g-idline--address { font-size: 17px; }
	/* His phone board of 01/11: address and days stacked, then « Prendre
	   rendez-vous » and the way, each the width of the card. */
	.dp-g-rdv .dp-g-cabh__band { flex-direction: column; align-items: stretch; gap: 14px; padding: 24px 20px; border-radius: 20px; }
	.dp-g-rdv .dp-g-cabh__band-info { gap: 14px; font-size: 15px; }
	.dp-g .dp-g-rdv .dp-g-cabh__band .dp-g-idline--address { font-size: 19px; }
	.dp-g-rdv .dp-g-btns { flex-direction: column; }
	.dp-g-rdv .dp-g-btns .dp-g-btn--primary { order: -1; }
	.dp-g .dp-g-rdv .dp-g-btns :is(.dp-g-btn, .dp-g-btnlike > .dp-g-idline) { justify-content: center; width: 100%; }
	.dp-g-cabh__intro { align-items: flex-start; gap: 16px; }
	.dp-g .dp-g-cabh__avatar { width: 56px; height: 56px; }
	.dp-g-cabh__intro-text { min-width: 0; flex-basis: calc(100% - 72px); }
	.dp-g .dp-g-cabh__name { font-size: 19px; hyphens: manual; }
	.dp-g-cabh__dark, .dp-g-news--dark, .dp-g-homefoot__cab, .dp-g-news--card { padding: 22px; }
	.dp-g .dp-g-cabh__where, .dp-g .dp-g-homefoot__where { font-size: 22px; }
	.dp-g-cabh__plan { min-height: 260px; padding: 24px; }
	.dp-g-cabh__note { padding: 20px; }
	.dp-g .dp-g-cabh__lede { font-size: 17px; }
	.dp-g-cabh__axes--lines { gap: 20px; margin-top: 28px; }
	.dp-g-cabh__treat { margin-top: 40px; }
	.dp-g-homefoot--b { padding: 44px var(--g-gutter) 28px; }
	.dp-g-homefoot__grid { gap: 28px; }
	.dp-g-homefoot__top { padding: 44px var(--g-gutter) 32px; }
	.dp-g .dp-g-news--dark .dp-g-news__title { font-size: 24px; }
	.dp-g-news__field { flex-wrap: wrap; }
	.dp-g-news__field input { flex-basis: 100%; }
	.dp-g-news__field button { flex: 1; justify-content: center; }
	.dp-g-homefoot__bar-inner { flex-direction: column; align-items: flex-start; }
	/* Home headers and menus on a phone (seen on preproduction, 22/10: logo, menu
	   and phone on top of each other, the doors three narrow columns). Their
	   patterns carry the preview's inline styles, hence !important. The bar:
	   the logo and the « menu » button on one line (the main menu on a phone,
	   further down). */
	.dp-g .dp-g-hm { padding: 8px 16px 0 !important; }
	.dp-g .dp-g-hm__row { display: flex !important; flex-wrap: wrap; justify-content: space-between; gap: 8px !important; min-height: 0 !important; padding: 0 !important; }
	.dp-g-hm--3 .dp-g-hm__row { padding: 8px 8px 4px 12px !important; }
	.dp-g-hm--2 .dp-g-hm__row2 { grid-template-columns: minmax(0, 1fr) auto !important; gap: 8px !important; padding-top: 8px !important; }
	.dp-g .dp-g-hm__logo { gap: 10px !important; font-size: 17px !important; }
	.dp-g-hm--2 .dp-g-hm__logo { grid-column: 1; justify-self: start; gap: 6px !important; font-size: 17px !important; }
	.dp-g .dp-g-hm__logo img, .dp-g .dp-g-hm__logo > span { flex: none; }
	.dp-g-hm--2 .dp-g-hm__logo img { width: 40px !important; height: 40px !important; }
	.dp-g .dp-g-ea { min-height: 0 !important; }
	/* Header C: his upright photo (the <picture> of its pattern) in a head about
	   640 px tall, as on his phone board of 01/11 (« pour qu'elle n'apparaisse
	   pas complètement comprimée », 02/11); on a short screen, no taller than
	   the screen under the band, so « Prendre rendez-vous » stays in sight. */
	.dp-g .dp-g-ec { min-height: min(640px, calc(100vh - 32px)) !important; min-height: min(640px, calc(100svh - 32px)) !important; }
	.dp-g .dp-g-ec > picture > img { object-position: center 30% !important; }
	.dp-g .dp-g-ea__hero { padding: 32px 16px 28px !important; }
	.dp-g .dp-g-ea__hero > p { font-size: 13px !important; }
	.dp-g .dp-g-ea__title { font-size: 34px !important; }
	.dp-g .dp-g-ea__search { margin-top: 0; padding: 6px 6px 6px 14px !important; }
	.dp-g .dp-g-ea__search input { padding: 12px 0 !important; font-size: 16px !important; }
	.dp-g .dp-g-ea__search button { min-height: 46px !important; padding: 0 14px !important; }
	.dp-g .dp-g-ea__doorsw { padding: 0 16px 24px !important; }
	.dp-g .dp-g-ea__doors { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
	.dp-g .dp-g-ea__doors > a { padding: 16px 18px !important; }
	/* Header C: its top line stacks, and the « Traitements » panel the 1440 px
	   page shows open stays closed (its links all lead to /cabinet, which the
	   menu reaches). */
	.dp-g .dp-g-ec__top { padding: 6px 16px !important; }
	.dp-g .dp-g-ec__topin { flex-direction: column; align-items: flex-start; gap: 2px !important; }
	.dp-g .dp-g-ec__where { flex-wrap: wrap; gap: 0 16px !important; }
	.dp-g .dp-g-ec__panel { display: none; }
	.dp-g-hero:has(> .dp-g-hm, > .dp-g-ec__top) { padding-top: 0; }
	/* The owner, 24/10, against the phone plate sent to Thierry: header C and
	   menu 3 took three storeys, about 300 px before the title. The band keeps
	   one line, the address (the hours and the networks are in the footer);
	   the logo and the « menu » button keep one line down to 320 px. */
	.dp-g .dp-g-ec__top { padding: 0 16px !important; font-size: 13px !important; }
	.dp-g .dp-g-ec__topin { flex-direction: row; align-items: center; min-height: 32px !important; }
	.dp-g .dp-g-ec__where { flex-wrap: nowrap; min-width: 0; }
	.dp-g .dp-g-ec__top .dp-g-idline--address { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.dp-g .dp-g-ec__top .dp-g-idline--hours, .dp-g .dp-g-ec__nets { display: none !important; }
	/* Fluid from 320 px (each value at its smallest) to 400 px and over. */
	.dp-g .dp-g-hm { padding: 8px clamp(12px, 5vw - 4px, 16px) 0 !important; }
	/* The dark band of the logo (Thierry, 03/11, from his phone: « un peu plus
	   large »): 14 px above the « menu » button and as many under it, 72 px in
	   all, where it was 52, the button touching its bottom. */
	.dp-g .dp-g-hm--1 { padding-top: 14px !important; padding-bottom: 14px !important; }
	.dp-g-hm--3 .dp-g-hm__row { padding: clamp(6px, 2.5vw - 2px, 8px) clamp(6px, 2.5vw - 2px, 8px) 4px clamp(10px, 2.5vw + 2px, 12px) !important; }
	.dp-g .dp-g-hm__logo { gap: clamp(6px, 5vw - 10px, 10px) !important; font-size: clamp(14px, 2.5vw + 6px, 16px) !important; }
	.dp-g .dp-g-hm__logo img { width: clamp(34px, 7.5vw + 10px, 40px) !important; height: clamp(34px, 7.5vw + 10px, 40px) !important; }
	/* The line of the cabinet: two lines meant, as on the plate. */
	.dp-g .dp-g-ea__hero > .dp-g-ea__where { font-size: clamp(14px, 1.25vw + 10px, 15px) !important; line-height: 1.45; }
	.dp-g-ea__sep { display: none; }
	.dp-g-ea__place { display: block; }
	/* The search: the plate's short words and an arrow; the button keeps its
	   name for screen readers. The long words of the field stay on a computer. */
	.dp-g .dp-g-ea__search { position: relative; }
	.dp-g .dp-g-ea__search input::placeholder { color: transparent; }
	.dp-g-ea__hint { display: block; position: absolute; top: 50%; left: 42px; right: 64px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; transform: translateY(-50%); pointer-events: none; text-align: left; font-size: 16px; color: #5b5e63; }
	.dp-g .dp-g-ea__search input:not(:placeholder-shown) ~ .dp-g-ea__hint { display: none; }
	.dp-g .dp-g-ea__search button { justify-content: center; width: 46px; padding: 0 !important; }
	.dp-g-ea__go { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.dp-g-ea__arrow { display: block; }
	/* Categories: « Toutes les catégories » on the line of the title, the tiles
	   right under it; the intro is the computer's. */
	.dp-g-home-v--categories .dp-g-homesec__head { flex-wrap: nowrap; align-items: center; }
	.dp-g-home-v--categories .dp-g-homesec__intro { display: none; }
	.dp-g .dp-g-homesec__all { font-size: 15px; text-align: right; }
	.dp-g .dp-g-rub--wide { grid-column: 1 / -1; }
	.dp-g .dp-g-rub--wide .dp-g-rub__image { aspect-ratio: 2 / 1; }
	/* The labels, one rubrique a line: its name, then its count in words. */
	.dp-g-rubs__labels { flex-direction: column; gap: 10px; }
	.dp-g-rubs__tiles + .dp-g-rubs__labels { margin-top: 10px; }
	.dp-g .dp-g-rub--label { justify-content: space-between; gap: 12px; padding: 16px 18px; border-radius: 12px; }
	.dp-g-rub--label .dp-g-rub__count { flex: none; }
	.dp-g-rub__unit { position: static; width: auto; height: auto; overflow: visible; clip: auto; }
	.dp-g-rub--tile .dp-g-rub__name { font-size: 16px; line-height: 1.25; }
	/* The versions panel, open, hid the bottom third of the screen (22/10): here
	   it is a button that opens it, and a choice reloads the page folded. */
	.dp-g-chooser--wide { display: none; }
	.dp-g-chooser--phone { display: block; max-width: calc(100vw - 32px); padding: 0; }
	.dp-g-chooser--phone > summary { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 0; padding: 0 16px; box-sizing: border-box; list-style: none; cursor: pointer; }
	.dp-g-chooser--phone > summary::-webkit-details-marker { display: none; }
	.dp-g-chooser--phone > summary::after { content: ""; width: 7px; height: 7px; margin-top: 4px; border: solid currentColor; border-width: 2px 2px 0 0; transform: rotate(-45deg); }
	.dp-g-chooser--phone[open] > summary::after { margin-top: -4px; transform: rotate(135deg); }
	.dp-g-chooser--phone > .dp-g-chooser__rows { padding: 0 14px 12px; }
	.dp-g-chooser--phone .dp-g-chooser__label { min-width: 0; }
}
/* Videos: the list (plate G-videos) and the video page (plate G-video). */
.dp-g .dp-g-subscribe { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 0 18px; border-radius: 10px; border: 1.5px solid var(--g-ink); color: var(--g-ink); text-decoration: none; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-subscribe:hover { border-color: var(--g-primary); color: var(--g-primary); }
.dp-g .dp-g-subscribe--light { min-height: 50px; padding: 0 22px; border: 0; background: #fff; color: var(--g-ink); font-size: 16px; }
.dp-g .dp-g-subscribe--light:hover { background: var(--g-sand); color: var(--g-ink); }
.dp-g-lead { position: relative; }
.dp-g-lead > .dp-g-subscribe { position: absolute; right: var(--g-gutter); bottom: 0; }
.dp-g-lead:has(> .dp-g-subscribe) .dp-video__caption { padding-right: 300px; }

.dp-g-videos .dp-g-hero__inner { max-width: var(--g-wide); }
.dp-g-videos .dp-breadcrumb__item:last-child:has([aria-current]) { display: list-item; color: #fff; }
.dp-g-vhead__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: end; margin-top: 36px; }
.dp-g-vhead__top > .dp-g-subscribe { justify-self: end; }
.dp-g .dp-g-vhead .dp-g-head__title { margin: 0; font-size: var(--g-fs-display); line-height: 1.05; }
.dp-g .dp-g-vhead__intro { max-width: 640px; margin: 18px 0 0; font-size: 17px; line-height: 1.6; color: #d6d5d2; }
.dp-g-vhead__feature { margin-top: 48px; }
.dp-g-vhead__feature .dp-g-feature__kicker { color: #e9a27f; }
.dp-g-vhead__feature .dp-g-feature__excerpt { color: #d6d5d2; }
.dp-g-vlist { padding-top: 56px; }
.dp-g-vfilter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.dp-g .dp-g-vfilter__link { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 0 14px; border-radius: 10px; background: var(--g-sand); color: var(--g-ink); text-decoration: none; font-size: 15px; font-weight: 600; }
.dp-g .dp-g-vfilter__link[aria-current] { background: var(--g-ink); color: #fff; }
.dp-g-vfilter + .dp-g-rubrique-list__grid, .dp-g-vfilter + .dp-g-rubrique-list__empty { margin-top: 0; }
.dp-g-vlist + .dp-g-search--cabinet { margin-top: 88px; }

.dp-g-video__cols { max-width: var(--g-main); margin: 0 auto; padding: 72px var(--g-gutter) 0; display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 64px; align-items: start; }
.dp-g-video__body { min-width: 0; font-size: 17px; line-height: 1.7; }
.dp-g-video__body .dp-transcript { margin: 0; padding: 0; border: 0; background: none; }
.dp-g .dp-transcript__title { margin: 0; font-family: var(--g-title); font-size: 28px; font-weight: 600; line-height: 1.2; letter-spacing: -0.025em; color: var(--g-ink); }
.dp-g .dp-transcript__intro { margin: 10px 0 0; font-size: 16px; color: var(--g-muted); }
.dp-g .dp-transcript__body { margin-top: 20px; }
.dp-g .dp-transcript__body p { margin: 0 0 18px; }
.dp-g-vside { display: flex; flex-direction: column; gap: 16px; }
.dp-g .dp-g-vside__label { margin: 0; font-size: 14px; font-weight: 600; color: var(--g-muted); }
.dp-g .dp-g-vside__card { display: flex; flex-direction: column; padding: 20px; border-radius: 16px; background: var(--g-sand); color: var(--g-ink); text-decoration: none; }
.dp-g-vside__topic { font-size: 14px; font-weight: 600; color: var(--g-primary); }
.dp-g-vside__title { margin-top: 6px; font-family: var(--g-title); font-size: 19px; font-weight: 600; line-height: 1.3; }
.dp-g-vside__excerpt { margin-top: 8px; font-size: 15px; color: var(--g-muted); }
.dp-g-vside__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-weight: 600; }
.dp-g-vothers { margin-top: 96px; padding: 80px var(--g-gutter); border-top: 1px solid var(--g-line); }
.dp-g-vothers__inner { max-width: var(--g-main); margin: 0 auto; }
.dp-g-vothers__bar { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.dp-g .dp-g-vothers__title { margin: 0; font-family: var(--g-title); font-size: 36px; font-weight: 600; line-height: 1.1; letter-spacing: -0.03em; }
.dp-g .dp-g-vothers__all { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 600; text-underline-offset: 5px; }
.dp-g .dp-g-vothers__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; }

@media (max-width: 47.5em) {
	.dp-g-lead > .dp-g-subscribe { position: static; display: flex; justify-content: center; min-height: 48px; margin-top: 16px; text-align: center; }
	.dp-g-lead:has(> .dp-g-subscribe) .dp-video__caption { padding-right: 0; }
	.dp-g-vhead__top { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 24px; }
	.dp-g-vhead__top > .dp-g-subscribe { justify-self: start; }
	.dp-g .dp-g-vhead .dp-g-head__title { font-size: 40px; }
	.dp-g-vhead__feature { margin-top: 32px; }
	.dp-g-vlist { padding-top: 32px; }
	.dp-g-vfilter { margin-bottom: 20px; }
	.dp-g-vlist + .dp-g-search--cabinet { margin-top: 56px; }
	.dp-g-video__cols { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 40px; }
	.dp-g .dp-transcript__title { font-size: 24px; }
	.dp-g-vothers { margin-top: 56px; padding: 40px var(--g-gutter) 44px; }
	.dp-g .dp-g-vothers__title { font-size: 28px; }
	.dp-g .dp-g-vothers__grid { grid-template-columns: minmax(0, 1fr); margin-top: 16px; }
}

/* The page « introuvable »: plates G-404-bureau (1440) and G-404-mobile (390).
   The head is the cabinet's, under its veil; the cards are the rubrique's. */
.dp-g-404 .dp-g-hero__inner { flex: 1; display: flex; flex-direction: column; width: 100%; max-width: var(--g-wide); padding-top: 0; }
.dp-g-404-head { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 32px; text-align: center; }
.dp-g-404-head p { margin: 0; }
.dp-g-404-head__kicker { font-size: 15px; font-weight: 500; color: #ecebe8; }
.dp-g .dp-g-404-head__title { margin: 14px 0 0; font-family: var(--g-title); font-size: var(--g-fs-display); font-weight: 600; line-height: 1.08; letter-spacing: -0.035em; color: #fff; }
.dp-g-404-head .dp-g-404-head__text { max-width: 620px; margin-top: 18px; font-size: 18px; color: #ecebe8; }
.dp-g-404-head__search { width: 100%; max-width: 720px; box-sizing: border-box; margin-top: 36px; border: 0; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); text-align: left; }
.dp-g-404-head__search button { background: var(--g-primary); }
.dp-g-404-head__topics { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; }
.dp-g .dp-g-404-head__topics .dp-g-subnav__link:hover { border-color: #fff; color: #fff; }
.dp-g-404-posts { max-width: var(--g-wide); margin: 0 auto; padding: 72px var(--g-gutter) 88px; }
.dp-g-404__ways { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 72px; }
.dp-g .dp-g-404__ways a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; box-sizing: border-box; padding: 0 22px; border-radius: 10px; border: 1.5px solid var(--g-ink); text-decoration: none; font-weight: 600; }
.dp-g .dp-g-404__home { background: var(--g-ink); color: #fff; }
.dp-g .dp-g-404__home:hover { border-color: var(--g-primary); background: var(--g-primary); color: #fff; }
.dp-g-404-posts__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.dp-g .dp-g-404-posts__title { margin: 0; font-family: var(--g-title); font-size: 36px; font-weight: 600; line-height: 1.1; letter-spacing: -0.03em; }
.dp-g .dp-g-404-posts__grid { margin-top: 28px; }
.dp-g-404-posts .dp-g-card__title { font-size: 17px; line-height: 1.35; }

@media (max-width: 47.5em) {
	.dp-g .dp-g-404-head__photo { object-position: 40% 62%; }
	.dp-g-404-head { padding-top: 40px; }
	.dp-g-404-head__kicker { font-size: 14px; }
	.dp-g .dp-g-404-head__title { margin-top: 10px; font-size: 38px; }
	.dp-g-404-head .dp-g-404-head__text { margin-top: 14px; font-size: 16px; }
	.dp-g-404-head__search { margin-top: 24px; padding: 6px 6px 6px 16px; }
	.dp-g-404-head__topics { margin-top: 14px; }
	.dp-g-404-posts { padding: 32px var(--g-gutter) 48px; }
	.dp-g-404__ways { display: grid; grid-template-columns: minmax(0, 1fr); margin-bottom: 44px; }
	.dp-g .dp-g-404__ways a { min-height: 50px; }
	.dp-g .dp-g-404-posts__title { font-size: 26px; line-height: 1.12; }
	.dp-g-404-posts__more { display: none !important; }
	.dp-g .dp-g-404-posts__grid { margin-top: 16px; }
	.dp-g-404-posts .dp-g-card__title { font-size: 15px; }
}

/* The home page as Thierry wrote it, on a phone: one column, his title
   medium on the photo. */
@media (max-width: 47.5em) {
	.dp-g .dp-g-ea__title--photo { font-size: 25px !important; }
	.dp-g .dp-g-ea__eyebrow { font-size: 14px; }
	.dp-g-cabh__card--wide { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.dp-g .dp-g-cabh__card--wide .dp-g-cabh__text { margin-top: 16px; font-size: 16px; }
	.dp-g .dp-g-cabh__card--wide .dp-g-cabh__title { margin-top: 16px; font-size: 28px; }
	.dp-g-cabh__card--wide .dp-g-btns { margin-top: 16px; }
	.dp-g-cabh__card--wide .dp-g-cabh__card-text { padding: 0 8px 12px; }
	.dp-g .dp-g-homesearch button { padding: 0 14px; }
}

/* The main menu on a phone, as on Thierry's boards of 01/11: the logo and one
   square « menu » button on the bar, no entry and no « Prendre rendez-vous »
   there. The drawer the button opens (his boards do not draw it) stands fixed
   under the head, over the page dimmed and held still (main-menu.js sets
   --dp-drawer-top and the class of the root): a white sheet with his three
   entries, « L'approche » opening its links in place, the entry of the page
   read in his terracotta, then « Prendre rendez-vous » filled. The patterns
   of the heads carry inline styles, hence !important. */
@media (max-width: 47.5em) {
	.dp-g :is(.dp-g-hm__end, .dp-g-header__actions), .dp-g .dp-g-hm--2 :is(.dp-g-hm__contact, .dp-g-hm__search) { display: none !important; }
	.dp-g :is(.dp-g-hm__nav, .dp-g-nav) { flex: none; order: 0; margin: 0 0 0 auto !important; padding: 0 !important; border: 0 !important; background: none !important; }
	/* Bar 2 puts its menu under its first row: here it stands at the right of
	   the logo, centred on it. No transform: it would hold the fixed drawer. */
	.dp-g .dp-g-hm--2 .dp-g-hm__nav { position: absolute; top: 16px; right: clamp(12px, 5vw - 4px, 16px); bottom: 0; align-items: center; }
	.dp-menu__open { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; box-sizing: border-box; margin: 0; padding: 0; border: 1.5px solid rgba(255, 255, 255, 0.85); border-radius: 10px; background: transparent; color: #fff; cursor: pointer; }
	.dp-g-hm--3 .dp-menu__open { border-color: var(--g-ink); color: var(--g-ink); }
	.dp-menu__open:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
	.dp-menu__cross, .dp-menu__open[aria-expanded="true"] .dp-menu__lines { display: none; }
	.dp-menu__open[aria-expanded="true"] .dp-menu__cross { display: block; }
	.dp-menu__drawer { display: none; }
	html.dp-menu-drawn { overflow: hidden; }
	html.dp-menu-drawn :is(.dp-g-hero, header:has(.dp-menu__open)) { position: relative; z-index: 60; }
	.dp-menu__open[aria-expanded="true"] + .dp-menu__drawer { display: block; position: fixed; top: var(--dp-drawer-top, 72px); right: 0; bottom: 0; left: 0; z-index: 60; overflow-y: auto; overscroll-behavior: contain; padding: 8px 12px 24px; background: rgba(18, 18, 20, 0.55); }
	.dp-menu__open[aria-expanded="true"] + .dp-menu__drawer .dp-menu__sheet { display: block; padding: 4px 20px 20px; border-radius: 14px; background: #fff; color: var(--g-ink); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3); text-align: left; text-transform: none; letter-spacing: normal; }
	.dp-menu__sheet .dp-menu { display: block; }
	.dp-menu__sheet .dp-menu__item { display: block; border-bottom: 1px solid #e6e3de; }
	.dp-g .dp-menu__sheet .dp-menu__item > :is(.dp-menu__toggle, .dp-menu__link) { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 56px; padding: 0; border-radius: 0; background: none; color: var(--g-ink); font-family: var(--g-title); font-size: 18px; font-weight: 600; line-height: 1.3; text-align: left; text-decoration: none; }
	.dp-g .dp-menu__sheet .dp-menu__item > :is(.dp-menu__toggle, .dp-menu__link)[aria-current] { color: var(--g-primary); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
	.dp-g .dp-menu__sheet .dp-menu__chevron { display: block; flex: none; width: 18px; height: 18px; }
	/* « L'approche »: its words and its chevron on one row, the panel under them. */
	.dp-menu__sheet .dp-menu__item--split { display: flex; flex-wrap: wrap; align-items: stretch; }
	.dp-g .dp-menu__sheet .dp-menu__item--split > .dp-menu__link { flex: 1 1 0; width: auto; min-width: 0; }
	.dp-g .dp-menu__sheet .dp-menu__item--split > .dp-menu__toggle { flex: none; justify-content: center; width: 56px; border-left: 1px solid #e6e3de; }
	.dp-g .dp-menu__sheet .dp-menu__item--split > .dp-menu__link[aria-current] + .dp-menu__toggle { color: var(--g-primary); }
	.dp-menu__sheet .dp-menu__item--split > .dp-menu__panel { flex: 0 0 100%; }
	/* A tap leaves its entry hovered: the colours of the dark bar stay out of the white sheet. */
	.dp-g .dp-menu__sheet .dp-menu .dp-menu__item:hover > :is(.dp-menu__toggle, .dp-menu__link):not([aria-current], [aria-current] + .dp-menu__toggle) { color: var(--g-ink); background: none; }
	.dp-menu__sheet .dp-menu__panel { position: static; display: none; width: auto; max-width: none; padding: 0 0 14px; transform: none; }
	.dp-menu__sheet .dp-menu__toggle[aria-expanded="true"] + .dp-menu__panel { display: block; }
	.dp-menu__sheet .dp-menu__box { display: block; padding: 0 0 0 16px; border-left: 2px solid #e6e3de; border-radius: 0; background: none; box-shadow: none; }
	.dp-menu__sheet .dp-menu__group { max-width: none; }
	.dp-g .dp-menu__sheet .dp-menu__head { min-height: 44px; font-size: 16px; }
	.dp-g .dp-menu__sheet .dp-menu__links a { min-height: 44px; font-size: 16px; font-weight: 500; }
	.dp-g .dp-menu__rdv { display: flex; align-items: center; justify-content: center; min-height: 50px; margin-top: 20px; border-radius: 10px; background: var(--g-primary); color: #fff; font-size: 16px; font-weight: 600; text-decoration: none; }
	.dp-g .dp-menu__rdv:hover { color: #fff; }
}

/* « Prendre rendez-vous » on the photo of the home page, as on Thierry's phone
   board of 01/11: filled in his terracotta under his title, as wide as its
   words. A phone's alone: on a computer the bar carries the button, and his
   computer board has none on the photo. The hero in the selectors: the
   buttons' own rule (.dp-g :is(.dp-g-btn, .dp-g-btnlike > .dp-g-idline)) weighs
   three classes, and a lighter one lost to it on a computer (01/11). */
.dp-g .dp-g-ea__hero .dp-g-ea__rdv { display: none; }
@media (max-width: 47.5em) {
	.dp-g .dp-g-ea__hero .dp-g-ea__rdv { display: inline-flex; margin-top: 20px; }
	.dp-g .dp-g-ea__hero .dp-g-ea__rdv:hover { background: #7a3c27; color: #fff; }
}

/* Prendre rendez-vous, Thierry's mock-up of 01/11 (boards « Rdv », « RdvMobile »):
   the page on sand, « Avant votre demande » in white cards beside the form's
   white card, the access in one dark card, the practitioner on one line. */
.dp-g-page:has(.dp-g-rdv) { background: var(--g-sand); }
.dp-g-page__body:has(.dp-g-rdv) { max-width: calc(var(--g-main) + 2 * var(--g-gutter)); }
.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-rdv { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 36px; align-items: start; margin: 0; }
.dp-g-rdv > .wp-block-column { min-width: 0; }
.dp-g .dp-g-page__body .dp-g-rdv h2 { margin: 0 0 20px; font-size: 30px; letter-spacing: -0.02em; }
.dp-g-rdv__before > .dp-g-rdv-card + .dp-g-rdv-card { margin-top: 16px; }
.dp-g .dp-g-page__body .dp-g-rdv-card { display: flex; flex-direction: column; gap: 10px; padding: 24px; border-radius: 20px; background: #fff; }
.dp-g .dp-g-page__body .dp-g-rdv-card > * { margin: 0; }
.dp-g .dp-g-page__body .wp-block-post-content .dp-g-rdv-card h3 { margin: 0; font-family: inherit; font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--g-primary); }
.dp-g .dp-g-page__body .dp-g-rdv-card :is(p, li) { font-size: 16px; line-height: 1.6; color: #45464b; }
.dp-g .dp-g-page__body .dp-g-rdv-card ul { padding-left: 20px; }
.dp-g .dp-g-rdv-card .dp-g-fees-link { margin-top: 4px; }
.dp-g .dp-g-fees-link .wp-block-button__link::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v4h4'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v4h4'/%3E%3C/svg%3E"); }
.dp-g .dp-g-page__body .dp-g-rdv__when { margin-top: 20px; font-size: 15px; line-height: 1.5; color: var(--g-muted); }
.dp-g .dp-g-page__body .dp-g-rdv__when > * { margin: 0; font-size: inherit; color: inherit; }
.dp-g .dp-g-rdv__when .dp-g-rows { margin: 0; padding: 0; border: 0; list-style: none; }
.dp-g .dp-g-rdv__when .dp-g-rows__item { display: block; min-height: 0; padding: 0; border: 0; font-size: 15px; font-weight: 400; }
.dp-g .dp-g-rdv__when .dp-g-rows__icon { display: none; }
.dp-g .dp-g-page__body .dp-g-rdv__card { padding: 40px; border-radius: 24px; background: #fff; }
.dp-g .dp-g-page__body .dp-g-rdv__card > h2 { margin-bottom: 6px; }
.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-cab-access { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: 48px; align-items: start; margin: 72px 0 0; padding: 48px; border-radius: 28px; background: #1e1f23; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head { flex-direction: column; align-items: flex-start; gap: 20px; }
.dp-g .dp-g-page__body .wp-block-post-content .dp-g-cab-access .dp-g-access-head__title { font-size: 30px; letter-spacing: -0.02em; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head__address { margin-top: 14px !important; font-size: 18px; color: #fff; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head__entrance { margin-top: 12px !important; font-size: 16px; line-height: 1.6; color: #d7d5d0; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head__map { min-height: 48px; padding: 0 22px; border-radius: 12px; font-size: 16px; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head__map:hover { background: #f1e1d7; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-cab-access__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-transport { display: flex; flex-direction: column; gap: 6px; padding: 20px; border-color: #3a3b41; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-transport::before { display: none; }
.dp-g .dp-g-page__body .wp-block-post-content .dp-g-cab-access .dp-g-transport h3 { margin: 0; font-size: 13px; letter-spacing: 0.08em; color: #e8b49a; }
.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-transport p + p { margin-top: 0; }
.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-pro-line { max-width: none; margin: 40px 0 0; font-size: 14px; line-height: 1.6; color: var(--g-muted); }
.dp-g .dp-g-pro-line strong { color: var(--g-ink); }
@media (max-width: 47.5em) {
	.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-rdv { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.dp-g .dp-g-page__body .dp-g-rdv h2 { margin-bottom: 14px; font-size: 24px; }
	.dp-g .dp-g-page__body .dp-g-rdv-card { padding: 20px; border-radius: 18px; }
	.dp-g .dp-g-page__body .dp-g-rdv__when { margin-top: 16px; }
	.dp-g .dp-g-page__body .dp-g-rdv__card { padding: 24px 20px; border-radius: 20px; }
	.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-cab-access { grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 40px; padding: 28px 20px; border-radius: 22px; }
	.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-cab-access__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	/* In the flow under his entrance (board RdvMobile, 01/11): the cabinet's absolute placement, kept above for
	   its reserved bottom padding, lay the button over the car parks once this card's padding replaced it. */
	.dp-g .dp-g-page__body .dp-g-cab-access .dp-g-access-head__map { position: static; align-self: stretch; justify-content: center; }
	.dp-g .dp-g-page__body .wp-block-post-content > .dp-g-pro-line { margin-top: 24px; font-size: 13px; }
}

/* « Prendre rendez-vous » in the dark head of an article, on a phone only:
   his bar there holds the « menu » button alone (01/11), and booking comes
   first (24/10). Filled in terracotta under the author, as wide as its words,
   as on the photo of the home page; on a computer the bar carries it. The
   head in the selectors, to outweigh the buttons' own rule. */
.dp-g .dp-g-head .dp-g-head__rdv { display: none; }
@media (max-width: 47.5em) {
	.dp-g .dp-g-head .dp-g-head__rdv { display: inline-flex; margin-top: 22px; }
	.dp-g .dp-g-head .dp-g-head__rdv:hover { background: #7a3c27; color: #fff; }
}

/* A theme page as on his boards « Thème : … » of 01/11: his text in two
   paragraphs under the name, then « Avant de commencer » on the left and
   « Trier » on the right, above « À la une ». */
.dp-g .dp-g-rubrique-head__text { max-width: 600px; font-size: 17px; }
.dp-g .dp-g-rubrique-head__text + .dp-g-rubrique-head__text { margin-top: 12px; }
.dp-g .dp-g-main > .dp-g-rubrique-bar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; box-sizing: content-box; max-width: var(--g-wide); margin: 48px auto 0; padding: 0 var(--g-gutter); }
.dp-g .dp-g-rubrique-bar .dp-g-hub-before { flex: 0 1 620px; width: auto; margin: 0; }
.dp-g-rubrique-sort { flex: none; }
.dp-g-rubrique-bar + .dp-g-rubrique-list { padding-top: 48px; }
@media (max-width: 47.5em) {
	.dp-g .dp-g-rubrique-head__text { font-size: 16px; }
	.dp-g .dp-g-main > .dp-g-rubrique-bar { display: block; margin-top: 28px; }
	.dp-g .dp-g-rubrique-bar .dp-g-hub-before { padding: 18px; }
	.dp-g-rubrique-sort { margin-top: 20px; }
	.dp-g-rubrique-bar + .dp-g-rubrique-list { padding-top: 28px; }
	/* His phone board keeps « Lire l'article » under « À la une », across the screen. */
	.dp-g .dp-g-rubrique-list .dp-g-feature__more { display: flex; justify-content: center; box-sizing: border-box; width: 100%; margin-top: 16px; }
}

/* Thierry's notes of 02/11 in the preview tool, and his charter: every hover
   fades over 0.2 s, never a colour that jumps; the colour it reaches belongs
   to the family of the element, alike on the whole site. Terracotta buttons
   darken, dark buttons turn terracotta, the outlined button of the head fills
   with terracotta, the outlined button of a dark band turns graphite, a theme
   label turns warm grey with a terracotta name, a theme's tile stands out as a
   whole, its drawing keeping its size in the frame (his words of 03/11: « l'ensemble
   de la vignette et pas le dessin »). */
.dp-g :where(a, button, summary, input, select, textarea) { transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, text-decoration-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.dp-g .dp-g-btn--ink:hover { background: var(--g-primary); color: #fff; }
.dp-g :is(.dp-g-btn--primary, .dp-g-pain__more):hover,
.dp-g :is(.dp-g-homesearch, .dp-g-homefoot) button:hover { background: var(--g-primary-strong); color: #fff; }
.dp-g .dp-g-btnlike--line-light > .dp-g-idline:hover { border-color: #fff; background: var(--g-band-hover); color: #fff; }
.dp-g .dp-g-hm--1 .dp-g-hm__contact { border: 1.5px solid #fff; color: #fff; }
.dp-g .dp-g-hm--1 .dp-g-hm__contact:hover { border-color: var(--g-primary); background: var(--g-primary); color: #fff; }
.dp-g .dp-g-rub--label:hover { background: var(--g-label-hover); color: var(--g-primary); }
.dp-g .dp-g-rub--tile:hover { transform: scale(1.03); box-shadow: 0 14px 32px rgba(26, 27, 30, 0.22); }
.dp-g-homesec.dp-g-pain { background: var(--g-sand); }
.dp-g-ea__l2 { display: block; }
@media (prefers-reduced-motion: reduce) {
	.dp-g .dp-g-rub--tile:hover { transform: none; }
}

/* Thierry's notes of 02/11 on three more pages, as on his board: the page on #F3F1EC, its cards white. */
/* « Comprendre la douleur » */
.dp-g-page:has(.dp-g-dp__essentiel) { background: var(--g-sand); }
.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) > .dp-toc,
.dp-g-page__body:has(.dp-g-dp__essentiel) .dp-g-dp__cols--text > .wp-block-column:not(.dp-g-dp__example),
.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) .dp-g-dp__note,
.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) .wp-block-post-content > ul.dp-g-dp__points { background: #fff; }
.dp-g .dp-g-page__body .dp-g-dp__example p.dp-g-dp__tag { padding: 4px 10px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; color: #fff; }
/* Each drawing 440 px at most, as the radio of his board; the text beside a picture or a video centred on it
   (core's columns force align-items, so each column centres itself). */
.dp-g-page__body:has(.dp-g-dp__essentiel) .dp-g-dp__cols--media > .wp-block-column { align-self: center; }
.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) .dp-g-dp__cols--media figure.wp-block-image { max-width: 440px; margin-left: auto; margin-right: auto; }
@media (min-width: 48em) {
	.dp-g .dp-g-page__body:has(.dp-g-dp__essentiel) .wp-block-post-content > .dp-g-dp__cols--media { gap: 44px; margin-top: 44px; margin-bottom: 44px; }
}
/* « L'approche neurosensorielle » */
.dp-g-cabinet-page { background: var(--g-sand); }
.dp-g-cabinet-page :is(.dp-g-cab-card, .dp-g-cab-formation) { background: #fff; }
.dp-g-cabinet-page .dp-g-cabinet-body > .dp-g-cab-text--parcours { background: var(--g-beige); }
/* « Exercices et articles » */
.dp-g.dp-g-hub { background: var(--g-sand); }
.dp-g.dp-g-hub .dp-g-hub-before { background: #fff; }
.dp-g .dp-g-hub-search button { transition: background-color .2s ease; }
.dp-g .dp-g-hub-search button:hover, .dp-g .dp-g-cabinet__contact:hover { background: var(--g-primary-strong); }
/* Page numbers as on his board. */
.dp-g .dp-g-pager__num, .dp-g .dp-g-pager__step { min-width: 48px; min-height: 48px; border: 1px solid #d9d5cd; border-radius: 12px; transition: background-color .2s ease; }
.dp-g .dp-g-pager__gap { min-width: 0; padding: 0 4px; border: 0; }
.dp-g a.dp-g-pager__num:hover, .dp-g a.dp-g-pager__step:hover { background: #e8e5de; }
