/* Clémentine Mailhac sections: only what blocks cannot say. Colours, type, spacing and grounds are theme.json, style
   variations (Soft, Deep, Cobalt, Eyebrow, Section title, Hero title, Arrow, Outline arrow, Accordion) and block
   attributes (tools/build-site.py). Kept here: the editorial labels of the mock-up, the composed grids (numbered rows,
   timelines, figures strips), the portrait frame, the carousel, the press list, the gallery and the pager.
   Token variables only; raw values are limited to 0, 1px hairlines, percentages and breakpoints. */

/* ---------- labels and small type ---------- */
.cm-num,
.cm-kicker,
.cm-label,
.cm-meta,
.cm-note,
.cm-tlink,
.cm-footer-label {
	font-family: var(--wp--preset--font-family--label);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: var(--wp--custom--letter-spacing--eyebrow);
	text-transform: uppercase;
}
.cm-num { color: var(--wp--preset--color--accent-4); }
.cm-kicker { font-weight: var(--wp--custom--font-weight--semibold); }
.cm-label, .cm-meta { color: var(--wp--preset--color--accent-4); }
.cm-note { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); }
.cm-note::before { content: ""; width: 7px; height: 7px; border-radius: var(--wp--custom--radius--badge); background: var(--wp--preset--color--signature); flex: none; }
:where(.is-style-section-deep, .is-style-section-cobalt) :is(.cm-num, .cm-label, .cm-meta, .is-style-eyebrow) { color: var(--wp--preset--color--on-dark-muted); }
:where(.is-style-section-cobalt) :is(.cm-num, .cm-label, .cm-meta, .is-style-eyebrow) { color: var(--wp--preset--color--on-accent); }
.cm-item-title { font-size: var(--wp--preset--font-size--large); }
.cm-item-text { font-size: var(--wp--preset--font-size--small); }
:where(.is-style-section-deep) .cm-item-text { color: var(--wp--preset--color--on-dark-muted); }
.cm-display { font-family: var(--wp--preset--font-family--heading); font-weight: var(--wp--custom--font-weight--bold); font-size: var(--wp--preset--font-size--xxx-large); line-height: var(--wp--custom--line-height--display); text-transform: uppercase; }
.cm-page-title { font-size: var(--wp--preset--font-size--xxx-large); line-height: var(--wp--custom--line-height--display); }
.cm-accroche { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--x-large); line-height: var(--wp--custom--line-height--snug); letter-spacing: var(--wp--custom--letter-spacing--accent); }

/* ---------- text links (DM Sans capitals, underlined, arrow) ---------- */
.cm-tlink { font-weight: var(--wp--custom--font-weight--semibold); }
.cm-tlink a { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--20); min-height: var(--wp--custom--control--min); color: inherit; text-decoration: underline; text-underline-offset: 0.35em; text-decoration-thickness: 1px; }
.cm-tlink a::after,
.cm-tlink--ext a::after { content: ""; width: 1em; height: 1em; flex: none; background: currentColor; -webkit-mask: var(--wp--custom--icon-url--arrow-right) center / contain no-repeat; mask: var(--wp--custom--icon-url--arrow-right) center / contain no-repeat; }
.cm-tlink--ext a::after { transform: rotate(-45deg); }
.cm-tlink a:hover { color: var(--wp--preset--color--accent-1); }
:where(.is-style-section-deep, .is-style-section-cobalt, .wp-block-cover) .cm-tlink a:hover { color: inherit; text-decoration-color: var(--wp--preset--color--signature); }
.cm-prev a { flex-direction: row-reverse; }
.cm-prev a::after { transform: rotate(180deg); }

/* ---------- buttons: external, anchor, on dark grounds ---------- */
.wp-block-button.cm-ext .wp-block-button__link::after { transform: rotate(-45deg); }
.wp-block-button.cm-down .wp-block-button__link::after { transform: rotate(90deg); }
.wp-block-button.cm-tel .wp-block-button__link::after { display: none; }
.cm-on-dark .wp-block-button:not(.is-style-outline-arrow) .wp-block-button__link { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--base); }
.cm-on-dark .wp-block-button:not(.is-style-outline-arrow) .wp-block-button__link:hover { background: transparent; color: var(--wp--preset--color--on-accent); border-color: var(--wp--preset--color--on-accent); }
.cm-on-dark .wp-block-button.is-style-outline-arrow .wp-block-button__link { color: var(--wp--preset--color--on-accent); border-color: var(--wp--preset--color--on-accent); }
.cm-on-dark .wp-block-button.is-style-outline-arrow .wp-block-button__link:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.cm-small .wp-block-button__link { padding-inline: var(--wp--preset--spacing--30) !important; }

/* ---------- deep band keeps the red hairline of the mock-up ---------- */
.is-style-section-deep { border-bottom: var(--wp--custom--border--strong) solid var(--wp--preset--color--signature); }

/* ---------- project cards: the whole card is the link ---------- */
.cm-pcard { position: relative; }
.cm-pcard .wp-block-image { margin: 0; }
.cm-pcard .wp-block-image img { transition: opacity var(--wp--custom--transition--base); }
.cm-pcard:hover .wp-block-image img { opacity: 0.88; }
.cm-card.cm-pcard:has(h3 a):hover { transform: none; box-shadow: none; }
.cm-pcard .cm-item-title { font-size: var(--wp--preset--font-size--medium); }
.cm-pcard .cm-item-title a { color: inherit; text-decoration: none; }
.cm-pcard .cm-item-title a::after { content: ""; position: absolute; inset: 0; }
.cm-pcard:hover .cm-item-title a { text-decoration: underline; text-decoration-color: var(--wp--preset--color--signature); text-underline-offset: 0.3em; }
.cm-pcard .cm-meta { margin: 0; }

/* ---------- numbered rows beside the head ---------- */
.cm-nlist { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.cm-nrow { grid-template-columns: 3rem 1fr !important; padding-block: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--accent-6); }
:where(.is-style-section-deep, .is-style-section-cobalt) :is(.cm-nlist, .cm-nrow) { border-color: color-mix(in srgb, var(--wp--preset--color--on-accent) 20%, transparent); }
.cm-nrow .cm-num { padding-top: 0.3em; }

/* ---------- grids of items, timelines, panels ---------- */
.cm-nitem { padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--accent-6); }
:where(.is-style-section-deep, .is-style-section-cobalt) .cm-nitem { border-color: color-mix(in srgb, var(--wp--preset--color--on-accent) 25%, transparent); }
.cm-timeline .cm-nitem { border-top: var(--wp--custom--border--strong) solid var(--wp--preset--color--contrast); }
.cm-timeline .cm-nitem .cm-num { color: var(--wp--preset--color--accent-1); font-weight: var(--wp--custom--font-weight--semibold); }
.cm-panel { padding: var(--wp--preset--spacing--50); background: var(--wp--preset--color--soft); }
.is-style-section-soft .cm-panel { background: var(--wp--preset--color--base); }
.cm-panel .wp-block-buttons { margin-top: auto; }
.cm-step, .cm-path, .cm-offer { display: flex; flex-direction: column; }
.cm-sublist { padding-top: var(--wp--preset--spacing--30); }
.cm-subitem { padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--accent-6); }
.cm-subitem .cm-item-title { font-size: var(--wp--preset--font-size--medium); }
.cm-box { padding: var(--wp--preset--spacing--50); border: 1px solid var(--wp--preset--color--signature); background: var(--wp--preset--color--base); }
.cm-dash-list { list-style: none; padding-left: 0; }
.cm-dash-list li { padding-left: 1.4em; position: relative; }
.cm-dash-list li::before { content: "—"; position: absolute; left: 0; color: var(--wp--preset--color--signature); }
.cm-num-list { list-style: none; padding-left: 0; counter-reset: cm; }
.cm-num-list li { counter-increment: cm; display: flex; gap: var(--wp--preset--spacing--30); padding-block: var(--wp--preset--spacing--20); border-bottom: 1px solid var(--wp--preset--color--accent-6); font-family: var(--wp--preset--font-family--heading); text-transform: uppercase; }
.cm-num-list li::before { content: counter(cm, decimal-leading-zero); font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); letter-spacing: var(--wp--custom--letter-spacing--eyebrow); color: var(--wp--preset--color--signature); padding-top: 0.2em; }

/* ---------- figures ---------- */
.cm-stats--strip { border-block: 1px solid var(--wp--preset--color--accent-6); padding-block: var(--wp--preset--spacing--30); }
.cm-stats--strip .cm-value, .cm-stats--inline .cm-value { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); text-transform: uppercase; }
.cm-stats--inline { padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--accent-6); width: 100%; }
.cm-stats--proof .cm-value { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--xx-large); text-transform: uppercase; line-height: var(--wp--custom--line-height--heading); }
.cm-stats--proof .cm-stat > :last-child { font-size: var(--wp--preset--font-size--small); }
.cm-stat > * { margin: 0; }

/* ---------- portrait frame (Imperial Red, offset) ---------- */
.wp-block-image.cm-frame { position: relative; margin: 0 var(--wp--custom--layout--portrait-frame) var(--wp--custom--layout--portrait-frame) 0; }
.wp-block-image.cm-frame::after { content: ""; position: absolute; inset: var(--wp--custom--layout--portrait-frame) calc(-1 * var(--wp--custom--layout--portrait-frame)) calc(-1 * var(--wp--custom--layout--portrait-frame)) var(--wp--custom--layout--portrait-frame); border: 1px solid var(--wp--preset--color--signature); pointer-events: none; }
.wp-block-image.cm-frame img { position: relative; z-index: 1; }

/* ---------- press ---------- */
.cm-logos .cm-press-logo { margin: 0; }
.cm-logos .cm-press-logo img { height: 28px; width: auto; opacity: 0.85; }
@media (max-width: 599px) { .cm-logos .cm-press-logo img { height: 20px; } }
.cm-articles { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.cm-article { padding-block: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--accent-6); }
.cm-article > * { margin: 0; }
.cm-article-title { font-size: var(--wp--preset--font-size--large); }
.cm-article-title a { color: inherit; text-decoration: none; display: inline-flex; gap: var(--wp--preset--spacing--20); align-items: center; }
.cm-article-title a:hover { text-decoration: underline; text-decoration-color: var(--wp--preset--color--signature); text-underline-offset: 0.3em; }
@media (min-width: 900px) {
	.cm-article { display: grid !important; grid-template-columns: 14rem 1fr auto; align-items: center; gap: var(--wp--preset--spacing--40); }
}

/* ---------- quotes carousel (one quote at a time; arrows added by assets/js/carousel.js) ---------- */
.cm-carousel { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-top: var(--wp--preset--spacing--40); }
.cm-carousel::-webkit-scrollbar { display: none; }
.cm-carousel > .cm-slide { flex: 0 0 100%; scroll-snap-align: start; margin: 0; padding: 0 var(--wp--preset--spacing--40); border: 0; text-align: center; display: grid; justify-items: center; gap: var(--wp--preset--spacing--40); box-sizing: border-box; }
.cm-slide p { max-width: 62ch; font-style: italic; font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--snug); }
.cm-slide p::before { content: "“"; display: block; font-family: var(--wp--preset--font-family--accent); font-size: 3.5rem; line-height: 0.6; color: var(--wp--preset--color--signature); margin-bottom: var(--wp--preset--spacing--30); }
.cm-slide cite { font-style: normal; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--accent-4); }
.cm-slide cite a { color: var(--wp--preset--color--contrast); }
.cm-arrows { display: flex; justify-content: center; gap: var(--wp--preset--spacing--20); }
.cm-arrows button { width: var(--wp--custom--control--min); height: var(--wp--custom--control--min); border: 0; background: transparent; color: var(--wp--preset--color--contrast); font-size: 1.6rem; cursor: pointer; }

/* ---------- call to action ---------- */
.cm-cta-title { font-size: var(--wp--preset--font-size--xxx-large); line-height: 1; }
.cm-cta-title em { display: inline-block; font-family: var(--wp--preset--font-family--accent); font-weight: 400; font-style: italic; text-transform: none; letter-spacing: var(--wp--custom--letter-spacing--accent); padding: 0 0 0.08em 1.4em; } /* the accent line set off to the right (owner 2026-11-04) */
.cm-cta-center .is-style-lead { max-width: 46ch; margin-inline: auto; }
.cm-small-link a::after { display: none; }
.cm-small-link a { color: var(--wp--preset--color--link); }
.cm-tags { list-style: none; margin: var(--wp--preset--spacing--40) 0 0; padding: var(--wp--preset--spacing--40) 0 0; border-top: 1px solid color-mix(in srgb, currentColor 35%, transparent); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--wp--preset--spacing--30); font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); letter-spacing: var(--wp--custom--letter-spacing--eyebrow); text-transform: uppercase; }

/* ---------- gallery: whole photos (no crop), rows of 2 · 3 · 2 · 1 ---------- */
.cm-gallery { margin-block: 0 !important; }
.cm-gallery.wp-block-gallery figure.wp-block-image img { height: auto !important; object-fit: contain !important; }
.cm-gallery.wp-block-gallery figure.wp-block-image figcaption { position: static; background: none; color: var(--wp--preset--color--accent-4); font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); letter-spacing: var(--wp--custom--letter-spacing--eyebrow); text-transform: uppercase; padding: var(--wp--preset--spacing--20) 0 0; text-align: left; }
.cm-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
.cm-gallery.wp-block-gallery figure.wp-block-image { align-self: flex-start; }

/* ---------- pager and full-width photo ---------- */
.cm-pager-band { border-top: 1px solid var(--wp--preset--color--accent-6); }
.cm-banner { margin: 0 !important; }

/* ---------- legal pages ---------- */
.cm-toc { list-style: none; padding: 0; columns: 2; font-size: var(--wp--preset--font-size--small); }
.cm-toc a { color: inherit; display: inline-flex; min-height: var(--wp--custom--control--min); align-items: center; }
.cm-legal-title { font-size: var(--wp--preset--font-size--large); padding-top: var(--wp--preset--spacing--40); border-top: 1px solid var(--wp--preset--color--accent-6); }

/* ---------- linked cards (kit) ---------- */
.cm-card { position: relative; }
.cm-card .wp-block-image { margin: 0; }

/* lead text on dark and cobalt grounds keeps its ground's text colour */
:where(.is-style-section-deep, .is-style-section-cobalt, .wp-block-cover) .is-style-lead { color: inherit; }

/* ---------- owner feedback 2026-11-04 ---------- */
/* the Agence facts on one line, smaller */
.cm-stats--inline { display: flex !important; flex-wrap: nowrap; gap: var(--wp--preset--spacing--40); justify-content: space-between; }
.cm-stats--inline > * { min-width: 0; }
.cm-stats--inline .cm-value { font-size: var(--wp--preset--font-size--medium); white-space: nowrap; }
@media (max-width: 599px) { .cm-stats--inline { gap: var(--wp--preset--spacing--30); } .cm-stats--inline .cm-value { font-size: var(--wp--preset--font-size--small); } }
/* review links: a row of text links (cm-tlink) */
.cm-quiet { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--40); margin: 0; }
.cm-quiet p { margin: 0; }
/* a card photo framed on its right side on phones (Notting Hill) */
@media (max-width: 781px) { .cm-crop-right img { object-position: right center; } }
/* footer: two columns on phones, the logo across */
@media (max-width: 781px) {
	.cm-footer > .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; }
	.cm-footer > .wp-block-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
}
/* the contact band title centred on every screen (the heading's align attribute is not printed by this WordPress) */
.cm-cta-center .cm-cta-title { text-align: center; }

/* ---------- owner feedback 2026-11-04, second round ---------- */
/* contact band: everything centred, the lead as plain text */
.cm-cta-center .wp-block-group > * { text-align: center; margin-inline: auto; }
.cm-cta-center .wp-block-buttons { justify-content: center; }
.cm-cta-center .is-style-lead { font-size: var(--wp--preset--font-size--medium); line-height: var(--wp--custom--line-height--body); color: inherit; max-width: 46ch; }
/* accent kickers: DM Serif Display italic */
.cm-split-title + .cm-kicker, .cm-offer .cm-item-title + .cm-kicker, .cm-sublead {
	font-family: var(--wp--preset--font-family--accent); font-style: italic; font-weight: 400; text-transform: none;
	letter-spacing: var(--wp--custom--letter-spacing--accent); font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--snug);
}
.cm-offer .cm-item-title + .cm-kicker, .cm-sublead { color: var(--wp--preset--color--signature); }
.cm-subitem { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); column-gap: var(--wp--preset--spacing--30); row-gap: var(--wp--preset--spacing--10); align-items: baseline; }
.cm-subitem > * { margin: 0 !important; }
.cm-subitem > .cm-item-text { grid-column: 1 / -1; }
/* offers: the label in the place of the number, a red line over the turnkey offer, a dark one over the modular */
.cm-offer-label { font-weight: inherit; color: var(--wp--preset--color--accent-4); }
.cm-offers .cm-offer { border-top: var(--wp--custom--border--strong) solid var(--wp--preset--color--accent-3); }
.cm-offers .cm-offer:first-child { border-top-color: var(--wp--preset--color--signature); }
/* first steps on the dark ground: the title on a third, the steps stacked on two thirds */
.cm-steps-split .cm-panel { background: transparent; padding: var(--wp--preset--spacing--40) 0; border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 25%, transparent); }
/* head on the left third, content on the right two thirds (first steps, questions) */
@media (min-width: 782px) {
	:is(.cm-steps-split, .cm-faq-split) > .wp-block-group { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: var(--wp--preset--spacing--60); row-gap: var(--wp--preset--spacing--30); align-items: start; }
	:is(.cm-steps-split, .cm-faq-split) > .wp-block-group > * { margin: 0 !important; grid-column: 1; }
	:is(.cm-steps-split, .cm-faq-split) > .wp-block-group > :nth-child(3) { grid-column: 2; grid-row: 1 / span 3; }
	.cm-steps-split > .wp-block-group > :nth-child(3) { display: grid !important; grid-template-columns: 1fr !important; }
}
/* page heroes: a blue first button, the call link in white */
.cm-hero .cm-blue .wp-block-button__link { background: var(--wp--preset--color--accent-1) !important; border-color: var(--wp--preset--color--accent-1) !important; color: var(--wp--preset--color--on-accent) !important; }
.cm-hero .cm-blue .wp-block-button__link:hover { background: var(--wp--preset--color--base) !important; border-color: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast) !important; }
.cm-hero__aside .cm-tlink a { color: var(--wp--preset--color--on-accent); }
/* the lead set as an accent line in blue */
.cm-accent-lead { font-family: var(--wp--preset--font-family--accent); font-style: italic; color: var(--wp--preset--color--accent-1); font-size: var(--wp--preset--font-size--x-large); line-height: var(--wp--custom--line-height--snug); letter-spacing: var(--wp--custom--letter-spacing--accent); }
/* figures strip: smaller values, no overlap */
.cm-stats--proof .cm-value { font-size: var(--wp--preset--font-size--x-large) !important; overflow-wrap: anywhere; }
.cm-stats--proof > * { min-width: 0; }
/* approach: the two offers on an anthracite panel, title and text side by side */
.cm-approach .cm-panel { background: var(--wp--preset--color--accent-3); color: var(--wp--preset--color--on-accent); border-bottom: var(--wp--custom--border--strong) solid var(--wp--preset--color--signature); }
.cm-approach .cm-panel :is(.cm-kicker, .cm-num, .cm-item-text) { color: var(--wp--preset--color--on-dark-muted); }
.cm-approach .cm-panel .cm-nitem { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--wp--preset--spacing--40); border-color: color-mix(in srgb, var(--wp--preset--color--on-accent) 25%, transparent); }
.cm-approach .cm-panel .cm-nitem > * { margin: 0; }
.cm-approach .cm-panel .cm-nitem .cm-num { grid-column: 1 / -1; }
/* activities: one per line, a red bullet, the activity on the left and its text on the right */
.cm-ngrid:not(.cm-timeline) { display: block !important; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.cm-ngrid:not(.cm-timeline) > .cm-nitem { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--wp--preset--spacing--10); padding-block: var(--wp--preset--spacing--30); }
@media (min-width: 782px) { .cm-ngrid:not(.cm-timeline) > .cm-nitem { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: var(--wp--preset--spacing--50); align-items: baseline; } }
.cm-ngrid:not(.cm-timeline) > .cm-nitem > * { margin: 0 !important; }
.cm-ngrid:not(.cm-timeline) .cm-item-title { display: flex; gap: 0.6em; align-items: baseline; font-size: var(--wp--preset--font-size--medium); }
.cm-ngrid:not(.cm-timeline) .cm-item-title::before { content: ""; width: 0.55em; height: 0.55em; border-radius: 50%; background: var(--wp--preset--color--signature); flex: none; }
/* compliance file: a cobalt block, the title in DM Serif italic on one half, the list on the other */
.cm-box { background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--on-accent); border: 0; padding: var(--wp--preset--spacing--60); display: grid; gap: var(--wp--preset--spacing--40); align-items: start; }
@media (min-width: 782px) { .cm-box { grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--60); } }
.cm-box > * { margin: 0 !important; }
.cm-box .cm-item-title { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: var(--wp--custom--letter-spacing--accent); font-size: var(--wp--preset--font-size--xx-large); line-height: var(--wp--custom--line-height--snug); color: var(--wp--preset--color--on-accent); }
.cm-box .cm-dash-list li::before { color: var(--wp--preset--color--on-accent); }
/* the contact person: a smaller photo */
@media (min-width: 782px) {
	.cm-person .wp-block-columns > .wp-block-column:first-child { flex-basis: 28% !important; flex-grow: 0; }
	.cm-person .wp-block-columns > .wp-block-column:last-child { flex-basis: 0 !important; flex-grow: 1; }
}

/* ---------- ERP page closer to the reference (owner 2026-11-04) ---------- */
/* the file, piece by piece: anthracite band, three lists, the continuous tasks across */
.cm-pieces :has(> .cm-lists-group) { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
@media (min-width: 782px) { .cm-pieces :has(> .cm-lists-group) { grid-template-columns: repeat(3, minmax(0, 1fr)); } .cm-pieces .cm-lists-group:last-child { grid-column: 1 / -1; } }
.cm-pieces .cm-lists-group { background: transparent; padding: 0; gap: 0; }
.cm-pieces .cm-lists-group > * { margin: 0 !important; }
.cm-pieces .cm-lists-group .cm-kicker { color: var(--wp--preset--color--on-accent); padding-bottom: var(--wp--preset--spacing--30); border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 20%, transparent); }
.cm-pieces .cm-num-list li, .cm-pieces .cm-dash-list li { font-family: var(--wp--preset--font-family--body); text-transform: none; font-size: var(--wp--preset--font-size--medium); padding-block: var(--wp--preset--spacing--30); border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 15%, transparent); margin: 0; }
.cm-pieces .cm-num-list li:last-child { border-bottom: 0; }
.cm-pieces .cm-num-list li::before { color: var(--wp--preset--color--on-dark-muted); min-width: 2.5rem; padding-top: 0.25em; }
.cm-pieces .cm-dash-list li { padding-left: 3.2rem; border-bottom: 0; }
.cm-pieces .cm-dash-list li::before { top: var(--wp--preset--spacing--30); }
@media (min-width: 782px) { .cm-pieces .cm-dash-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--wp--preset--spacing--50); } }
/* going further: cobalt, the title across, the text on the left and the button on the right */
@media (min-width: 782px) {
	.cm-further .wp-block-columns { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--wp--preset--spacing--60); row-gap: var(--wp--preset--spacing--30); align-items: center; }
	.cm-further .wp-block-column { display: contents; }
	.cm-further .wp-block-column > * { margin: 0 !important; }
	.cm-further .wp-block-column:first-child > * { grid-column: 1 / -1; }
	.cm-further .wp-block-column:last-child > p { max-width: 78ch; }
}
/* method steps: up to five on one row */
@media (min-width: 1100px) { .cm-timeline:not(:has(> :nth-child(6))) { grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); } }

/* ---------- owner feedback 2026-11-04, third round ---------- */
/* hero titles set on paragraphs: the title face, Josefin Sans bold capitals */
.is-style-hero-title { font-family: var(--wp--preset--font-family--heading) !important; font-weight: var(--wp--custom--font-weight--bold); text-transform: uppercase; }
.cm-stats--proof .cm-value { font-weight: var(--wp--custom--font-weight--bold); }
/* section labels in cobalt and smaller on light grounds */
main .is-style-eyebrow:not(.wp-block-cover *):not(.is-style-section-deep *):not(.is-style-section-cobalt *) { color: var(--wp--preset--color--accent-1); font-size: 0.6875rem; }
/* a blue button wherever it is asked for */
.cm-blue .wp-block-button__link { background: var(--wp--preset--color--accent-1) !important; border-color: var(--wp--preset--color--accent-1) !important; color: var(--wp--preset--color--on-accent) !important; }
.cm-blue .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; border-color: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--on-contrast) !important; }
/* approach: the whole band anthracite (the red line comes with the Deep ground) */
.cm-approach.is-style-section-deep .cm-panel { background: transparent; border-bottom: 0; padding: 0; }
.cm-paren { font-size: 0.5em; vertical-align: 0.15em; }
/* questions: a bold cobalt plus */
.is-style-accordion > summary::after { -webkit-mask: none !important; mask: none !important; width: 1.1em !important; height: 1.1em !important;
	background: linear-gradient(var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-1)) center / 100% 3px no-repeat, linear-gradient(var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-1)) center / 3px 100% no-repeat !important; }
/* contact band: the accent line set further right when the first line is short */
.cm-cta-title--far em { padding-left: 2.8em; }

/* ---------- owner feedback 2026-11-04, fourth round ---------- */
/* every contact band: the accent line further right; the footer opens on a red line */
.cm-cta-title em { padding-left: 2.8em; }
.cm-footer { border-top: var(--wp--custom--border--strong) solid var(--wp--preset--color--signature); }
/* questions: the plus a third smaller */
.is-style-accordion > summary::after { width: 0.75em !important; height: 0.75em !important;
	background: linear-gradient(var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-1)) center / 100% 2px no-repeat, linear-gradient(var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-1)) center / 2px 100% no-repeat !important; }
/* page heroes: room under the small H1 line */
.cm-hero--page .cm-hero__copy > :first-child { margin-bottom: var(--wp--preset--spacing--40) !important; }
/* press logos label in grey */
.wp-block-group:has(> .cm-logos) > .is-style-eyebrow { color: var(--wp--preset--color--accent-4) !important; }
/* activity tags on cobalt: the line under them, closer to the words */
.cm-tags { border-top: 0 !important; padding: 0 0 var(--wp--preset--spacing--20) !important; border-bottom: 1px solid color-mix(in srgb, currentColor 35%, transparent); }
/* page openings: title on the left, the lead on the right and smaller; the H1 label in grey on light grounds */
@media (min-width: 782px) {
	.cm-intro--split > .wp-block-group { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 26rem); column-gap: var(--wp--preset--spacing--70); align-items: end; max-width: var(--wp--custom--layout--wide) !important; }
	.cm-intro--split > .wp-block-group > * { margin: 0 !important; grid-column: 1; max-width: none !important; }
	.cm-intro--split > .wp-block-group > .is-style-lead { grid-column: 2; grid-row: 1 / span 2; align-self: end; }
}
.cm-intro--split .is-style-lead { font-size: var(--wp--preset--font-size--medium); line-height: var(--wp--custom--line-height--body); }
.cm-intro--split:not(.is-style-section-deep) .is-style-eyebrow { color: var(--wp--preset--color--accent-4) !important; }
/* the call button on Réalisations and L'Agence: no colour change, the label turns bold */
body.page-id-303 .cm-cta-center .is-style-arrow .wp-block-button__link:hover,
body.page-id-318 .cm-cta-center .is-style-arrow .wp-block-button__link:hover { background: var(--wp--preset--color--contrast) !important; border-color: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--on-contrast) !important; font-weight: 800; }
/* agency figures: bold, two columns when there are four */
.cm-stats--inline .cm-value { font-weight: var(--wp--custom--font-weight--bold); }
.cm-stats--inline:has(> :nth-child(4)) { display: grid !important; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
/* values: anthracite, two columns, the number on the left of each title and text */
.cm-values .cm-ngrid:not(.cm-timeline) { display: grid !important; grid-template-columns: minmax(0, 1fr); column-gap: var(--wp--preset--spacing--60); border-bottom: 0; }
@media (min-width: 782px) { .cm-values .cm-ngrid:not(.cm-timeline) { grid-template-columns: 1fr 1fr; } }
.cm-values .cm-ngrid:not(.cm-timeline) > .cm-nitem { grid-template-columns: 3.5rem minmax(0, 1fr) !important; column-gap: var(--wp--preset--spacing--20); row-gap: var(--wp--preset--spacing--20); padding-block: var(--wp--preset--spacing--40); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 20%, transparent); }
.cm-values .cm-nitem > .cm-num { grid-row: 1 / span 2; padding-top: 0.45em; }
.cm-values .cm-nitem > :not(.cm-num) { grid-column: 2; }
.cm-values .cm-ngrid:not(.cm-timeline) .cm-item-title { font-size: var(--wp--preset--font-size--large); }
.cm-values .cm-ngrid:not(.cm-timeline) .cm-item-title::before { display: none; }
/* two paths side by side (agency method, contact): a red line for private clients, a blue one for professionals */
.cm-duo > * { border-top: 3px solid var(--wp--preset--color--signature); padding: var(--wp--preset--spacing--40) 0 0 !important; background: transparent !important; }
.cm-duo > :nth-child(2) { border-top-color: var(--wp--preset--color--accent-1); }
.cm-duo > * > .cm-kicker { color: var(--wp--preset--color--signature); font-weight: var(--wp--custom--font-weight--bold); }
.cm-duo > :nth-child(2) > .cm-kicker { color: var(--wp--preset--color--accent-1); }
.cm-duo .cm-item-title { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-weight: 400; text-transform: none; letter-spacing: var(--wp--custom--letter-spacing--accent); font-size: var(--wp--preset--font-size--x-large); line-height: var(--wp--custom--line-height--snug); }
.cm-duo .cm-num-list { border-top: 1px solid var(--wp--preset--color--accent-6); margin: 0; }
.cm-duo .cm-num-list li { font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); letter-spacing: var(--wp--custom--letter-spacing--eyebrow); padding-block: var(--wp--preset--spacing--30); align-items: baseline; }
.cm-duo > :first-child .cm-num-list li::before { color: var(--wp--preset--color--signature); }
.cm-duo > :nth-child(2) .cm-num-list li::before { color: var(--wp--preset--color--accent-1); }
.cm-duo > * > .cm-tlink { display: inline-flex; margin-right: var(--wp--preset--spacing--40); }
.cm-duo > :nth-child(2) .cm-tlink a { color: var(--wp--preset--color--accent-1); }
/* agency press: light grey, a narrower list, tighter rows, smaller titles, the awards line centred */
.cm-press-page .cm-articles { max-width: 58rem; margin-inline: auto !important; }
.cm-press-page .cm-article { padding-block: var(--wp--preset--spacing--20) !important; }
.cm-press-page .cm-article-title { font-size: var(--wp--preset--font-size--medium); }
.cm-press-page .cm-tlink a { min-height: 0; }
.cm-press-page .wp-block-group > .cm-meta { text-align: center; }
/* contact details: bold, grey, no underline; the outside links carry an arrow */
.cm-contact-details, .cm-contact-details p:not(.cm-label) { color: var(--wp--preset--color--accent-4); }
.cm-contact-details p:not(.cm-label) { font-weight: var(--wp--custom--font-weight--bold); }
.cm-contact-details a { color: inherit !important; text-decoration: none !important; }
.cm-contact-details a[target="_blank"] { display: inline-flex; align-items: center; gap: 0.4em; min-height: 32px; }
.cm-contact-details a[target="_blank"]::after { content: ""; width: 0.9em; height: 0.9em; background: currentColor; -webkit-mask: var(--wp--custom--icon-url--arrow-right) center / contain no-repeat; mask: var(--wp--custom--icon-url--arrow-right) center / contain no-repeat; transform: rotate(-45deg); }
/* quote request: the head on the left third, the form on the right */
@media (min-width: 1024px) {
	.cm-form-split > .wp-block-group { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); column-gap: var(--wp--preset--spacing--60); row-gap: var(--wp--preset--spacing--30); align-items: start; }
	.cm-form-split > .wp-block-group > * { margin: 0 !important; grid-column: 1; }
	.cm-form-split > .wp-block-group > :last-child { grid-column: 2; grid-row: 1 / span 4; }
}
/* what happens next: rows of number, title and text on the right two thirds */
@media (min-width: 782px) {
	.cm-steps-rows > .wp-block-group { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); column-gap: var(--wp--preset--spacing--60); row-gap: var(--wp--preset--spacing--30); align-items: start; }
	.cm-steps-rows > .wp-block-group > * { margin: 0 !important; grid-column: 1; }
	.cm-steps-rows > .wp-block-group > :nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
	.cm-steps-rows > .wp-block-group > :nth-child(4) { grid-column: 2; grid-row: 3; }
	.cm-steps-rows .cm-step { grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.2fr) !important; }
}
.cm-steps-rows :has(> .cm-step) { display: block !important; border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.cm-steps-rows .cm-step { display: grid !important; grid-template-columns: 3rem minmax(0, 1fr); column-gap: var(--wp--preset--spacing--30); row-gap: var(--wp--preset--spacing--10); align-items: baseline; background: transparent !important; padding: var(--wp--preset--spacing--30) 0 !important; border-top: 1px solid var(--wp--preset--color--accent-6); }
.cm-steps-rows .cm-step > * { margin: 0 !important; }
.cm-steps-rows .cm-step .cm-num { color: var(--wp--preset--color--accent-1); }
.cm-steps-rows .cm-step .cm-item-title { font-size: var(--wp--preset--font-size--medium); }
/* project story: anthracite, the title and first paragraph on the left, the others between lines on the right */
.cm-story-cols { column-gap: var(--wp--preset--spacing--70) !important; }
.cm-story-cols .cm-story-lead { font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--snug); color: var(--wp--preset--color--on-accent); }
.cm-story-cols > .wp-block-column:last-child > p { margin: 0; padding-block: var(--wp--preset--spacing--40); border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 20%, transparent); color: var(--wp--preset--color--on-dark-muted); }
.cm-story-cols > .wp-block-column:last-child > p:last-child { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 20%, transparent); }
/* project opening line: the text beside the accent line carries a red vertical rule */
.wp-block-columns:has(> .wp-block-column > .cm-accroche) { align-items: center !important; }
.wp-block-columns:has(> .wp-block-column > .cm-accroche) > .wp-block-column:last-child { border-left: var(--wp--custom--border--strong) solid var(--wp--preset--color--signature); padding-left: var(--wp--preset--spacing--40); }
.wp-block-columns:has(> .wp-block-column > .cm-accroche) .is-style-lead { font-size: var(--wp--preset--font-size--medium); line-height: var(--wp--custom--line-height--body); color: var(--wp--preset--color--accent-4); }
/* project galleries: justified rows, every photo whole, one height per row (ratio set per photo, inc/sections.php) */
.cm-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 0 !important; flex: var(--cm-r, 1) 1 0% !important; align-self: stretch; }
.cm-gallery.wp-block-gallery figure.wp-block-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
@media (max-width: 599px) { .cm-gallery.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: 100% !important; flex: 0 0 100% !important; } }
.cm-story .cm-story-cols { max-width: none !important; }
.cm-intro--split > .wp-block-group { row-gap: var(--wp--preset--spacing--30); }
.cm-intro--split .cm-display, .cm-intro--split .cm-page-title { line-height: 1; }
/* decorative frames and offsets never widen the page on phones */
main#contenu { overflow-x: clip; }
/* page openings: the small H1 line sits clearly above the big title, about twice the gap between the title lines (owner 2026-11-04) */
:is(.cm-hero__copy, .cm-intro > .wp-block-group, .cm-intro-split .wp-block-column) > :is(.is-style-eyebrow, .cm-hero__h1):not(.cm-hero__h1--display) + :is(.is-style-hero-title, .cm-hero__h1--display, .cm-display, .cm-page-title) { margin-top: 0.5em !important; }
/* white buttons on cobalt: the label in cobalt */
.is-style-section-cobalt .cm-on-dark .wp-block-button:not(.is-style-outline-arrow) .wp-block-button__link { color: var(--wp--preset--color--accent-1); }
/* contact band with a phone link: the button and the number on one line */
.cm-cta-center > .wp-block-group:has(> .cm-tlink a[href^="tel:"]) > .wp-block-buttons { display: inline-flex !important; vertical-align: middle; }
.cm-cta-center > .wp-block-group > .cm-tlink:has(a[href^="tel:"]) { display: inline-flex !important; vertical-align: middle; margin: 0 0 0 var(--wp--preset--spacing--40) !important; }
/* heroes: no white line above the caption */
.cm-hero__foot { border-top: 0 !important; }
.cm-cta-center > .wp-block-group:has(> .cm-tlink a[href^="tel:"]) { text-align: center; }
/* section labels set in dark grey where asked */
main .is-style-eyebrow.cm-eyebrow-dark { color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, var(--wp--preset--color--base)) !important; }
/* activity tags on cobalt: a line above and below */
.cm-tags { border-top: 1px solid color-mix(in srgb, currentColor 35%, transparent) !important; padding-top: var(--wp--preset--spacing--20) !important; }
/* every hero title at one size: 80 px on wide screens, smaller on phones (owner 2026-11-04) */
.wp-block-cover.cm-hero :is(.is-style-hero-title, .cm-hero__h1--display) { font-size: clamp(2.375rem, 1.13rem + 5.1vw, 5rem) !important; max-width: 18ch; }
/* approach band: no vertical red rule (it belongs to the project opening line only) */
.cm-approach .wp-block-columns > .wp-block-column:last-child { border-left: 0 !important; padding-left: 0 !important; }
/* activity bullets: red, blue, orange, anthracite in turn (owner reference 2026-11-04) */
.cm-ngrid:not(.cm-timeline) > .cm-nitem:nth-child(4n+2) .cm-item-title::before { background: var(--wp--preset--color--accent-1); }
.cm-ngrid:not(.cm-timeline) > .cm-nitem:nth-child(4n+3) .cm-item-title::before { background: #f4511e; }
.cm-ngrid:not(.cm-timeline) > .cm-nitem:nth-child(4n+4) .cm-item-title::before { background: var(--wp--preset--color--contrast); }
/* press article links: the small arrow in red */
.cm-article-title a::after { background: var(--wp--preset--color--signature) !important; }
/* footer: half the space between the lines of links */
.cm-footer .wp-block-navigation-item__content { min-height: 32px !important; }
.cm-footer .cm-footer-ext a { min-height: 26px !important; }
.cm-footer .wp-block-group:has(> .cm-footer-ext) { gap: 0 !important; }
.cm-footer .wp-block-group:has(> .cm-footer-ext) > * { margin-block: 0 !important; }
/* ---------- owner feedback 2026-11-05 ---------- */
/* buttons a quarter lower */
.wp-block-button__link, .cm-header-cta .wp-block-button__link, .wpcf7 input[type="submit"] { min-height: 39px !important; }
/* contact band accent line a third larger */
.cm-cta-title em { font-size: 1.333em; }
/* section labels sit closer to their title: half the section title size */
.is-style-eyebrow + :is(.is-style-section-title, .cm-cta-title, h2) { margin-top: calc(var(--wp--preset--font-size--xx-large) * 0.5) !important; }
:is(.wp-block-group, .wp-block-column) > .is-style-eyebrow:has(+ :is(.is-style-section-title, .cm-cta-title, h2)) { margin-bottom: 0 !important; }
/* heroes on wide screens: the small H1 line at a third of the photo, the big title from its middle */
@media (min-width: 782px) {
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) { --cm-h: max(var(--wp--custom--layout--hero-min), 100svh); --cm-pad: calc(var(--cm-header-h, 0px) + var(--wp--preset--spacing--60)); align-items: stretch !important; }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-project-hero { --cm-h: max(var(--wp--custom--layout--hero-min), 86svh); }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-intro-cover { --cm-h: max(calc(var(--wp--custom--layout--hero-min) * 0.85), 72svh); }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .wp-block-cover__inner-container { display: flex; flex-direction: column; }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__in { flex: 1; grid-template-rows: 1fr auto; }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__copy { align-self: start !important; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); padding-top: max(0px, calc(var(--cm-h) / 3 - var(--cm-pad))); }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__copy > * { margin: 0 !important; }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__copy > :first-child { min-height: calc(var(--cm-h) / 6 - var(--wp--preset--spacing--30)); }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__aside { align-self: end !important; }
}
/* footer menus in lower case */
.cm-footer .cm-footer-nav .wp-block-navigation-item__content { text-transform: none !important; letter-spacing: 0.02em; }
/* agency figures twice as large (home and L'Agence) */
.cm-stats--inline .cm-value { font-size: calc(var(--wp--preset--font-size--medium) * 2) !important; line-height: 1.1; }
@media (max-width: 599px) { .cm-stats--inline { flex-wrap: wrap !important; } }
/* Particuliers */
.cm-split-title + .cm-kicker { font-size: calc(var(--wp--preset--font-size--large) * 1.333) !important; }
.wp-block-column > .cm-num:has(+ .cm-split-title) { color: var(--wp--preset--color--signature); }
.cm-offer > .cm-item-title { font-size: calc(var(--wp--preset--font-size--large) * 2) !important; }
.cm-offer .cm-item-title + .cm-kicker { font-size: calc(var(--wp--preset--font-size--large) * 1.333) !important; }
.cm-offer .is-style-eyebrow { color: var(--wp--preset--color--accent-4) !important; }
.cm-steps-split :has(> .cm-step) { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--on-accent) 25%, transparent); }
@media (min-width: 782px) {
	.cm-steps-split .cm-step { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); column-gap: var(--wp--preset--spacing--50); row-gap: var(--wp--preset--spacing--20); align-items: start; }
	.cm-steps-split .cm-step > * { margin: 0 !important; grid-column: 1; }
	.cm-steps-split .cm-step > .cm-item-text { grid-column: 2; grid-row: 1 / span 2; }
	.cm-steps-split .cm-step > .wp-block-buttons { grid-column: 2; grid-row: 3; margin-top: var(--wp--preset--spacing--20) !important; }
}
.cm-steps-split .cm-step .cm-item-text { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-size: var(--wp--preset--font-size--x-large); line-height: var(--wp--custom--line-height--snug); letter-spacing: var(--wp--custom--letter-spacing--accent); color: var(--wp--preset--color--on-accent) !important; }
/* numbered rows (Aménagement, Dossier ERP): blue bold numbers */
.cm-nrow .cm-num { color: var(--wp--preset--color--accent-1) !important; font-weight: var(--wp--custom--font-weight--bold); }
/* blue accent line with a vertical blue rule; its link underlined only */
.cm-accent-lead { border-left: var(--wp--custom--border--strong) solid var(--wp--preset--color--accent-1); padding-left: var(--wp--preset--spacing--30); }
.cm-accent-lead ~ .cm-tlink a::after { display: none; }
/* title then lead: a third of the usual space */
.is-style-section-title + .is-style-lead { margin-top: calc(var(--wp--preset--spacing--50) / 3) !important; }
/* phone number aligned with the button label */
.cm-cta-center .cm-tlink:has(a[href^="tel:"]) a { min-height: 39px; }
/* Dossier ERP */
body.page-id-302 .wp-block-cover.cm-hero img.wp-block-cover__image-background { filter: contrast(1.7) brightness(1.05); }
.cm-pieces .cm-dash-list li::before { content: "" !important; width: 0.45em; height: 0.45em; border-radius: 50%; background: var(--wp--preset--color--accent-1); top: calc(var(--wp--preset--spacing--30) + 0.55em) !important; }
body.page-id-302 .cm-timeline .cm-item-title { font-size: calc(var(--wp--preset--font-size--large) * 0.75); }
.cm-title-up { font-size: calc(var(--wp--preset--font-size--xx-large) * 1.2) !important; }
/* Réalisations and Contact: page titles half as large again */
body:is(.page-id-303, .page-id-319) .cm-intro--split :is(.cm-display, .cm-page-title) { font-size: calc(var(--wp--preset--font-size--xxx-large) * 1.5) !important; }
/* L'Agence: lower photo band, press label centred, project links smaller and grey */
.cm-banner img { aspect-ratio: 7 / 2 !important; object-fit: cover; }
.cm-press-page .wp-block-group:has(> .cm-logos) > .is-style-eyebrow { text-align: center; }
.cm-press-page .cm-article > .cm-tlink:not(.cm-article-title) { font-size: calc(var(--wp--preset--font-size--x-small) - 2px); }
.cm-press-page .cm-article > .cm-tlink:not(.cm-article-title) a { color: var(--wp--preset--color--accent-4); }
/* project pages: bold figures 2px larger, opening line a third larger, press band like L'Agence */
.cm-stats--strip .cm-value { font-weight: var(--wp--custom--font-weight--bold); font-size: calc(var(--wp--preset--font-size--large) + 2px) !important; }
.wp-block-column > .cm-accroche { font-size: calc(var(--wp--preset--font-size--x-large) * 1.333); }
.cm-press-page > .wp-block-group > .is-style-eyebrow { text-align: center; color: color-mix(in srgb, var(--wp--preset--color--contrast) 85%, var(--wp--preset--color--base)) !important; }
/* galleries: a lone photo never taller than the screen */
.cm-gallery.columns-1 figure.wp-block-image img { max-height: 85svh; }
/* heroes: the photo holds the grid (third / half), no inherited spacing inside the copy */
@media (min-width: 782px) {
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-intro-cover { --cm-h: max(calc(var(--wp--custom--layout--hero-min) * 0.85), 84svh); }
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) { min-height: var(--cm-h) !important; }
	body .wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-hero .cm-hero__copy > :nth-child(n) { margin: 0 !important; }
}
/* split bands without their label: the list still goes to the right column */
@media (min-width: 782px) {
	:is(.cm-steps-split, .cm-faq-split) > .wp-block-group > :last-child:not(:first-child) { grid-column: 2; grid-row: 1 / span 3; }
	.cm-steps-split > .wp-block-group > :last-child:not(:first-child) { display: grid !important; grid-template-columns: 1fr !important; }
}
/* button and phone number share one line: same top margin */
.cm-cta-center > .wp-block-group:has(> .cm-tlink a[href^="tel:"]) > :is(.wp-block-buttons, .cm-tlink) { margin-top: var(--wp--preset--spacing--50) !important; }
/* galleries: rows of photos spaced like the photos themselves; a lone photo spans the full width */
.cm-gallery + .cm-gallery { margin-top: var(--wp--style--unstable-gallery-gap, var(--wp--style--gallery-gap-default, 16px)) !important; }
.cm-gallery.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) { flex: 1 1 100% !important; width: 100% !important; max-width: none !important; }
.cm-gallery.wp-block-gallery.columns-1 figure.wp-block-image img { max-height: 85svh; }
/* heroes (owner 2026-11-05 09:31): small top line right above the big title, three times its own size apart; the pair centred in the photo */
body .wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-hero .cm-hero__copy > .is-style-eyebrow:first-child:nth-child(n) { min-height: 0; margin-bottom: 3em !important; }
body .wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-hero .cm-hero__copy > .is-style-eyebrow:first-child + :nth-child(n) { margin-top: 0 !important; }
@media (min-width: 782px) {
	.wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__copy { align-self: center !important; padding-top: 0; gap: 0; }
	body .wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-hero .cm-hero__copy > :not(:first-child):not(:nth-child(2)) { margin-top: var(--wp--preset--spacing--30) !important; }
}
body .wp-block-cover.cm-hero:not(.cm-hero--page):not(.cm-project-hero).cm-hero .cm-hero__copy > :not(:first-child):not(:nth-child(2)) { margin-top: var(--wp--preset--spacing--30) !important; }
/* numbered rows on a dark band: white numbers (home) */
:is(.is-style-section-deep, .is-style-section-accent, .is-style-section-contrast) .cm-nrow .cm-num { color: var(--wp--preset--color--on-accent) !important; }
/* tag line: words centred between its two rules */
ul.cm-tags { align-items: center !important; padding-block: var(--wp--preset--spacing--20) !important; }
ul.cm-tags > li { margin-block: 0 !important; line-height: 1.6; }
/* heroes (owner 2026-11-05 09:55): the small H1 line also sits right above the title; home title at the bottom, level with the text on the right */
body .wp-block-cover.cm-hero.cm-hero:not(.cm-hero--page):not(.cm-project-hero) .cm-hero__copy > .cm-hero__h1:not(.cm-hero__h1--display):first-child:nth-child(n) { min-height: 0; margin-bottom: 3em !important; }
@media (min-width: 782px) {
	body:is(.page-id-299, .home) .wp-block-cover.cm-hero .cm-hero__copy { align-self: end !important; }
}
/* project heroes like the owner's Cinétique image (2026-11-05 09:58): label, title close below, address line further down */
body .wp-block-cover.cm-hero.cm-project-hero .cm-hero__copy > .is-style-eyebrow { letter-spacing: 0.2em; }
body .wp-block-cover.cm-hero.cm-project-hero .cm-hero__copy > .is-style-eyebrow + .is-style-hero-title { margin-top: var(--wp--preset--spacing--30) !important; }
body .wp-block-cover.cm-hero.cm-project-hero .cm-hero__copy > .cm-hero__small { margin-top: clamp(1.25rem, 2.5vw, 2.25rem) !important; font-size: var(--wp--preset--font-size--small); letter-spacing: 0.16em; }
/* project heroes: address line bold and twice as large (owner 2026-11-05 10:03) */
body .wp-block-cover.cm-hero.cm-project-hero .cm-hero__copy > .cm-hero__small { font-size: calc(var(--wp--preset--font-size--small) * 2); font-weight: var(--wp--custom--font-weight--bold); letter-spacing: 0.08em; }
/* project hero title half as large again (owner 2026-11-05 10:05): 120px on wide screens, never wider than a phone */
body .wp-block-cover.cm-hero.cm-project-hero .cm-hero__copy > .is-style-hero-title { font-size: clamp(2.25rem, 0.5rem + 8vw, 7.5rem) !important; max-width: none; }
/* project hero address line a third smaller (owner 2026-11-05 10:07) */
body .wp-block-cover.cm-hero.cm-project-hero .cm-hero__copy > .cm-hero__small { font-size: calc(var(--wp--preset--font-size--small) * 4 / 3); }
/* home (owner 2026-11-05 10:11): title a third larger; hero text column and "Défiler" share the header's edges, so the right column ends under "Réserver un appel" at every width */
body:is(.page-id-299, .home) .wp-block-cover.cm-hero .cm-hero__copy > .is-style-hero-title { font-size: clamp(3.1667rem, 1.5067rem + 6.8vw, 6.6667rem) !important; max-width: none; }
.wp-block-cover.cm-hero .wp-block-cover__inner-container > :is(.cm-hero__in, .cm-hero__foot) { width: 100% !important; max-width: none !important; margin-inline: 0 !important; box-sizing: border-box; }
.wp-block-cover.cm-hero > .wp-block-cover__inner-container { margin-inline: auto !important; }
@media (min-width: 782px) { body:is(.page-id-299, .home) .wp-block-cover.cm-hero.cm-hero.cm-hero.cm-hero .cm-hero__copy { align-self: end !important; } }
/* open / closed pairs: one photo, the second fading in and out over the first (owner 2026-11-05 10:45) */
figure.cm-pair-on { position: relative; }
figure.cm-pair-on .cm-pair-stack { position: relative; display: block; flex: 1 1 auto; min-height: 0; width: 100%; height: 100%; overflow: hidden; }
figure.cm-pair-on .cm-pair-stack > img { display: block; width: 100% !important; height: 100% !important; object-fit: cover !important; }
figure.cm-pair-on .cm-pair-stack > img.cm-pair-top { position: absolute; inset: 0; opacity: 0; animation: cm-pair 7s ease-in-out infinite; }
@keyframes cm-pair { 0%, 35% { opacity: 0; } 50%, 85% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { figure.cm-pair-on .cm-pair-stack > img.cm-pair-top { animation: none; } }
/* gallery as a band: full width, half the usual height (owner 2026-11-05 11:10, Escher last photo) */
.cm-gallery.cm-gallery--band figure.wp-block-image img { height: clamp(13rem, 26.5vw, 24rem) !important; max-height: none !important; object-fit: cover !important; }
/* project heroes: the photo exactly as in the file, no dark overlay (owner 2026-11-05 11:12); a soft shadow under the white text keeps it legible */
.wp-block-cover.cm-project-hero > .wp-block-cover__background { opacity: 0 !important; background: none !important; }
.wp-block-cover.cm-project-hero .cm-hero__copy, .wp-block-cover.cm-project-hero .cm-hero__foot { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 0 24px rgba(0, 0, 0, 0.25); }
body:has(.cm-project-hero):not(.cm-is-scrolled) .cm-header-wrap { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 0 18px rgba(0, 0, 0, 0.25); }
/* ---------- owner mock-ups 2026-11-05 11:14: 404, Merci, Mentions légales, Politique de confidentialité ---------- */
:is(.cm-thanks, .cm-404, .cm-intro--rule) .is-style-eyebrow { color: var(--wp--preset--color--accent-4) !important; }
/* Merci: one light grey band filling the screen, everything centred */
.cm-thanks { min-height: calc(100svh - var(--cm-header-h, 80px)); display: flex !important; flex-direction: column; justify-content: center; }
.cm-thanks .cm-page-title { text-align: center; }
:is(.cm-thanks__lead, .cm-404__title) { font-family: var(--wp--preset--font-family--accent); font-style: italic; font-weight: 400; font-size: var(--wp--preset--font-size--xx-large); line-height: 1.25; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--contrast); }
.cm-thanks__lead { max-width: 28em; margin-inline: auto !important; }
/* 404: the big number on the left, the message on the right */
.cm-404 { min-height: calc(100svh - var(--cm-header-h, 80px)); display: flex !important; flex-direction: column; justify-content: center; }
.cm-404__cols { align-items: center !important; column-gap: var(--wp--preset--spacing--70) !important; }
.cm-404__num { margin: 0; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: clamp(6rem, 3rem + 12vw, 13rem); line-height: 0.9; letter-spacing: -0.01em; color: var(--wp--preset--color--contrast); }
.cm-404__title { margin-top: var(--wp--preset--spacing--30) !important; }
.cm-404 .cm-404__text { margin-top: var(--wp--preset--spacing--30) !important; }
.cm-404 .wp-block-buttons { margin-top: var(--wp--preset--spacing--40) !important; }
/* legal pages: a rule under the opening, a summary on the left, numbered sections on the right */
.cm-intro--rule { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.cm-legal { counter-reset: cm-legal; }
.cm-legal > .cm-toc { columns: auto; margin: 0 0 var(--wp--preset--spacing--50) !important; }
.cm-legal > .cm-toc::before { content: "Sommaire"; display: block; margin-bottom: var(--wp--preset--spacing--20); font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); letter-spacing: var(--wp--custom--letter-spacing--eyebrow); text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.cm-legal > .cm-toc li { border-bottom: 1px solid var(--wp--preset--color--accent-6); }
.cm-legal > .cm-toc a { min-height: 0; padding: 0.35em 0; text-decoration: none; }
.cm-legal > .cm-toc a:hover { text-decoration: underline; }
.cm-legal > .cm-legal-title { counter-increment: cm-legal; position: relative; margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--50); padding-left: 4rem; }
.cm-legal > .cm-legal-title::before { content: counter(cm-legal, decimal-leading-zero); position: absolute; left: 0; top: calc(var(--wp--preset--spacing--50) + 0.45em); font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); font-weight: 400; letter-spacing: 0.1em; color: var(--wp--preset--color--signature); }
.cm-legal > p { margin-top: var(--wp--preset--spacing--20) !important; padding-left: 4rem; }
.cm-legal > .cm-legal-title + p { padding-bottom: var(--wp--preset--spacing--30); }
.cm-legal > .is-style-eyebrow:last-child { margin-top: var(--wp--preset--spacing--60) !important; padding-left: 0; border-top: 1px solid var(--wp--preset--color--accent-6); padding-top: var(--wp--preset--spacing--50); color: var(--wp--preset--color--accent-4) !important; }
.cm-legal .cm-note { color: var(--wp--preset--color--accent-4); }
@media (min-width: 900px) {
	.cm-legal { display: grid !important; grid-template-columns: minmax(0, 14rem) minmax(0, 46rem); column-gap: clamp(2rem, 1rem + 4vw, 4rem); align-items: start; max-width: none !important; }
	.cm-legal > * { grid-column: 2; max-width: none !important; margin-inline: 0 !important; }
	.cm-legal > .cm-toc { grid-column: 1; grid-row: 1 / span 40; position: sticky; top: calc(var(--cm-header-h, 80px) + var(--wp--preset--spacing--50)); margin: var(--wp--preset--spacing--70) 0 0 !important; }
	.cm-legal > .cm-legal-title:nth-child(2) { margin-top: 0 !important; }
}
@media (max-width: 899px) { .cm-legal > :is(.cm-legal-title, p) { padding-left: 3rem; } }
@media (max-width: 781px) { .cm-404__num { text-align: left; } }
/* Dossier ERP hero: the plan exactly as in the file, no overlay and no contrast filter (owner 2026-11-05 11:16) */
body.page-id-302 .wp-block-cover.cm-hero > .wp-block-cover__background { opacity: 0 !important; background: none !important; }
body.page-id-302 .wp-block-cover.cm-hero img.wp-block-cover__image-background { filter: none !important; }
body.page-id-302 .wp-block-cover.cm-hero .cm-hero__in { text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 0 24px rgba(0, 0, 0, 0.25); }
@media (min-width: 782px) { .cm-404__cols > .wp-block-column:first-child { flex-basis: 46% !important; } .cm-404__cols > .wp-block-column:last-child { flex-basis: 54% !important; } }
.cm-404__num { white-space: nowrap; font-size: clamp(5rem, 1rem + 11vw, 12rem) !important; }
:is(.cm-404, .cm-thanks) > * { width: 100%; }
@media (min-width: 782px) { .cm-404__num { font-size: clamp(5rem, 1rem + 15.5vw, 15rem) !important; } }
.cm-thanks .cm-thanks__lead { font-size: calc(var(--wp--preset--font-size--x-large) * 1.25); max-width: 17em; }
.cm-thanks .cm-page-title { font-size: calc(var(--wp--preset--font-size--xxx-large) * 1.4) !important; }
.cm-legal > .cm-legal-title { margin-top: var(--wp--preset--spacing--40) !important; padding-top: var(--wp--preset--spacing--40); }
.cm-legal > .cm-legal-title::before { top: calc(var(--wp--preset--spacing--40) + 0.45em); }
.cm-legal > .cm-legal-title + p { padding-bottom: var(--wp--preset--spacing--20); }
.cm-legal p a { color: inherit; text-decoration: underline; text-underline-offset: 0.15em; }
.cm-intro--rule .cm-page-title { max-width: none !important; }
/* Dossier ERP hero: a 5% black veil (owner 2026-11-05 11:25) */
body.page-id-302 .wp-block-cover.cm-hero > .wp-block-cover__background { opacity: 1 !important; background: rgba(0, 0, 0, 0.05) !important; }
body.page-id-302 .wp-block-cover.cm-hero > .wp-block-cover__background { background: rgba(0, 0, 0, 0.15) !important; }
/* numbered rows on phones: the text sits under its title, not under the number (owner 2026-11-05 11:30, Demande de devis) */
@media (max-width: 781px) { .cm-steps-rows .cm-step > :not(.cm-num) { grid-column: 2; } }
/* Notting Hill hero on phones: the right part of the photo (owner 2026-11-05 11:32) */
@media (max-width: 781px) { body.page-id-304 .wp-block-cover.cm-hero img.wp-block-cover__image-background { object-position: 100% 50% !important; } }
.cm-gallery.cm-gallery--band figure.wp-block-image img { object-position: 50% 78% !important; }
.cm-gallery.cm-gallery--band figure.wp-block-image img { object-position: 50% 70% !important; }
/* Escher band: the owner's framing (2026-11-05 11:39) - wide 2000:930, from the towel shelves to the vanity */
.cm-gallery.cm-gallery--band figure.wp-block-image img { height: auto !important; aspect-ratio: 2000 / 930; object-position: 50% 80% !important; }
/* Matomo opt-out on the privacy page, aligned with the section text */
.cm-legal > :is(form, div) { padding-left: 4rem; margin-top: var(--wp--preset--spacing--20) !important; font-size: var(--wp--preset--font-size--small); }
.cm-legal > form input[type="checkbox"] { accent-color: var(--wp--preset--color--accent-1); margin-right: 0.5em; }
@media (max-width: 899px) { .cm-legal > :is(form, div) { padding-left: 3rem; } }
/* project gallery lightbox (owner 2026-11-09) */
.cm-gallery figure.cm-zoomable { cursor: zoom-in; }
.cm-gallery figure.cm-zoomable:focus-visible { outline: 2px solid var(--wp--preset--color--accent-1); outline-offset: 2px; }
html.cm-lightbox-open { overflow: hidden; }
.cm-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(20, 20, 20, 0.96); }
.cm-lightbox[hidden] { display: none; }
.cm-lightbox__img { max-width: calc(100vw - 8rem); max-height: calc(100vh - 6rem); width: auto; height: auto; object-fit: contain; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4); }
.cm-lightbox__btn { position: absolute; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; background: transparent; color: #fff; font: 300 30px/1 var(--wp--preset--font-family--body); cursor: pointer; transition: background 0.2s; }
.cm-lightbox__btn:hover, .cm-lightbox__btn:focus-visible { background: rgba(255, 255, 255, 0.14); outline: none; }
.cm-lightbox__close { top: 1.25rem; right: 1.25rem; }
.cm-lightbox__prev { left: 1.25rem; top: 50%; transform: translateY(-50%); }
.cm-lightbox__next { right: 1.25rem; top: 50%; transform: translateY(-50%); }
.cm-lightbox__count { position: absolute; bottom: 1rem; left: 0; right: 0; margin: 0; text-align: center; color: rgba(255, 255, 255, 0.75); font-family: var(--wp--preset--font-family--label); font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.15em; }
@media (max-width: 781px) { .cm-lightbox__img { max-width: 100vw; max-height: calc(100vh - 8rem); } .cm-lightbox__prev, .cm-lightbox__next { top: auto; bottom: 0.75rem; transform: none; } .cm-lightbox__count { bottom: 1.6rem; } }
