/* ==========================================================================
   ANALOG · thème du site (refonte du 20 octobre 2026)
   Direction: editorial institutional design with an automotive identity.
   - Typography carries the identity: Archivo at expanded widths for headings and labels.
   - Photography in wide « windscreen » crops with large radii (echo of the logo ellipse).
   - White and cool paper grounds, navy ink, cyan as the signal accent, violet only in the brand rule.
   Tokens come from theme.json; this file holds the components of the templates and of the
   « ANALOG Core » dynamic blocks. Breakpoints: 1280 · 1023 · 900 · 700 · 600.
   ========================================================================== */

/* Metric-matched fallback shown while IBM Plex Sans loads (Plex is 0.7 % wider than Arial; hhea 1025 / 275 / 0). */
@font-face { font-family: "IBM Plex Sans Fallback"; src: local("Arial"), local("ArialMT"), local("Helvetica"); size-adjust: 100.7%; ascent-override: 101.8%; descent-override: 27.3%; line-gap-override: 0%; }

:root {
	--ink: var(--wp--preset--color--ink);
	--ink-2: var(--wp--preset--color--ink-2);
	--text: var(--wp--preset--color--text);
	--stone: var(--wp--preset--color--stone);
	--cyan: var(--wp--preset--color--cyan);
	--cyan-ink: var(--wp--preset--color--cyan-ink);
	--violet: var(--wp--preset--color--violet);
	--paper: var(--wp--preset--color--paper);
	--mist: var(--wp--preset--color--mist);
	--line: var(--wp--preset--color--line);
	--line-ink: rgba(255, 255, 255, .14);
	--field: #74808f;
	--g: var(--wp--style--root--padding-left, 1.25rem);
	--wide: 82rem;
	--header-h: 4.875rem;
	/* Type system · IBM Plex Sans (variable, used at 400 / 500 / 600 / 700 only).
	   Fluid scale, desktop max → phone min: hero 46 → 32 · page title 40 → 30 · h2 32 → 24 · h3 22 → 19 · h4 20 → 18 ·
	   lead 18 → 17 · reading text 17 → 16 · UI text 16 · small 14 · labels 12. */
	--fs-hero: clamp(2.125rem, 1.45rem + 2.1vw, 3.25rem);
	--fs-h1: clamp(2rem, 1.5rem + 1.6vw, 2.75rem);
	--fs-h2: clamp(1.625rem, 1.25rem + 1.15vw, 2.25rem);
	--fs-h3: clamp(1.25rem, 1.1rem + .45vw, 1.5rem);
	--fs-h4: clamp(1.125rem, 1.05rem + .25vw, 1.25rem);
	--fs-lead: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);
	--fs-read: max(16px, clamp(1rem, .96rem + .14vw, 1.0625rem));
	--fs-small: max(14px, .9375rem);
	--fs-xs: max(13px, .875rem);
	--fs-2xs: max(12px, .8125rem);
	--fs-label: max(12px, .75rem);
	--lh-read: 1.7;
	--measure: 68ch;
	--w-head: 600;
	--track-label: .08em;
	--r-s: .625rem;
	--r: 1.125rem;
	--r-l: clamp(1.25rem, 2.4vw, 2.125rem);
	--ease: cubic-bezier(.22, 1, .36, 1);
	--section: clamp(3.5rem, 2rem + 4.5vw, 6rem);
	--shadow: 0 40px 80px -48px rgba(10, 26, 46, .5);
	--brand-rule: linear-gradient(90deg, var(--cyan) 0 62%, var(--violet) 62% 100%);
	--arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13 5l7 7-7 7M20 12H4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

/* Global scale (client decision, 20 Oct 2026): the site is set at the proportions the client approved at 90 %
   browser zoom, natively at 100 %. Every size in this theme is in rem, so the root size scales the whole system:
   100 % up to 768 px (phones and portrait tablets unchanged), easing to 90 % from 1024 px. Readability floors below
   (--fs-read, --fs-small, --fs-xs, --fs-2xs, --fs-label) keep small and reading text from shrinking. */
html { font-size: clamp(90%, 130% - .625vw, 100%); -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
/* The root padding variable is defined by WordPress on body, not :root: resolve the gutter token here. */
body { --g: var(--wp--style--root--padding-left, 1.25rem); color: var(--text); font-kerning: normal; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
h1, h2, h3, h4, h5, h6 { text-wrap: balance; }
p, li, dd { text-wrap: pretty; }
[id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
img { height: auto; }
a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
::selection { background: rgba(1, 161, 228, .22); }
.wp-site-blocks > * + * { margin-block-start: 0; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 3px; border-radius: 4px; }
:where(.analog-band--ink, .analog-cta__panel, .analog-nav .is-menu-open, .analog-coords-col) :where(a, button, input, [tabindex]):focus-visible { outline-color: #fff; }

.analog-icon { flex: none; width: 1.25em; height: 1.25em; }
/* Legal references (Dahir n° 1-14-116, loi n° 104-12) must not break at their hyphens. */
.analog-nowrap { white-space: nowrap; }
.screen-reader-text:not(:focus) { clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; word-wrap: normal !important; }

/* Label: small expanded capitals preceded by the brand rule (cyan / violet, as in the logo). */
.analog-kicker { display: flex; align-items: center; gap: .75rem; margin: 0; font-size: var(--fs-label); font-weight: 600; letter-spacing: .1em; line-height: 1; text-transform: uppercase; color: var(--stone); }
.analog-kicker::before { content: ""; flex: none; width: 2rem; height: 3px; border-radius: 2px; background: var(--brand-rule); }
.analog-lead { font-size: var(--fs-lead); line-height: 1.55; letter-spacing: 0; color: var(--ink); }

/* Buttons ------------------------------------------------------------------ */
.wp-element-button, .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 3rem; text-decoration: none; transition: background-color .25s, color .25s, box-shadow .25s, transform .35s var(--ease); }
.wp-block-button__link::after { content: ""; flex: none; width: 1.125rem; height: 1.125rem; background: currentColor; -webkit-mask: var(--arrow) center / contain no-repeat; mask: var(--arrow) center / contain no-repeat; transition: transform .35s var(--ease); }
.wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button__link:active, .wp-element-button:active { transform: translateY(1px); }
.wp-element-button .analog-icon { width: 1.125rem; height: 1.125rem; transition: transform .35s var(--ease); }
.wp-element-button:hover .analog-icon { transform: translateX(4px); }
.wp-block-button.is-style-analog-light .wp-block-button__link { background: #fff; color: var(--ink); }
.wp-block-button.is-style-analog-light .wp-block-button__link:hover { background: var(--cyan); color: var(--ink); }
.wp-block-button.is-style-analog-outline-light .wp-block-button__link { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .6); }
/* Arrow link: a text action with its arrow, for secondary actions (no outlined box). */
.wp-block-button.is-style-analog-link .wp-block-button__link { min-height: 44px; padding: .5rem 0; border-radius: 0; background: none; color: var(--ink); box-shadow: inset 0 -1.5px 0 currentColor; }
.wp-block-button.is-style-analog-link .wp-block-button__link:hover { background: none; color: var(--cyan-ink); }
:where(.analog-band--ink, .analog-cta__panel) .wp-block-button.is-style-analog-link .wp-block-button__link { color: #fff; }

/* --------------------------------------------------------------------------
   Header & navigation
   -------------------------------------------------------------------------- */

.analog-site-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .97); border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s, transform .35s var(--ease); }
/* Blur on a pseudo-element: a backdrop-filter on the header would trap the fixed mobile overlay. */
@supports (backdrop-filter: blur(1px)) {
	.analog-site-header { background: transparent; }
	.analog-site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255, 255, 255, .9); backdrop-filter: saturate(1.6) blur(16px); }
}
.analog-site-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 12px 32px -28px rgba(10, 26, 46, .6); }
/* Slid away while scrolling down (site.js). The transform exists only while hidden: the mobile overlay needs an untransformed header. */
.analog-site-header.is-hidden { transform: translateY(-100%); box-shadow: none; }
body.admin-bar .analog-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .analog-site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .analog-site-header { top: 0; } }

.analog-header__bar { min-height: var(--header-h); gap: 1.5rem; transition: min-height .35s var(--ease); }
.analog-site-header.is-scrolled .analog-header__bar { min-height: 4rem; }
.analog-header__brand { gap: 1.125rem; min-width: 0; }
.analog-header__logo { flex: none; margin: 0; }
.analog-header__logo img { display: block; width: 5rem; transition: width .35s var(--ease); }
.analog-site-header.is-scrolled .analog-header__logo img { width: 4.375rem; }
.analog-header__name { max-width: 17rem; margin: 0; padding-left: 1.125rem; border-left: 1px solid var(--line); font-size: var(--fs-2xs); font-weight: 500; line-height: 1.35; color: var(--stone); }
@media (max-width: 1279px) { .analog-header__name { display: none; } }
.analog-header__right { gap: clamp(.75rem, 1.6vw, 1.75rem); }
.analog-header__cta .wp-block-button__link { min-height: 2.625rem; padding: .625rem 1.125rem; font-size: var(--fs-xs); }
.analog-header__cta .wp-block-button__link::after { width: 1rem; height: 1rem; }

.wp-block-navigation.analog-nav { gap: 0; font-size: max(14px, .9375rem); }
.wp-block-navigation.analog-nav .wp-block-navigation__container { gap: .125rem; }
.wp-block-navigation.analog-nav .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 44px; padding: .5rem .75rem; color: var(--ink); text-decoration: none; transition: color .2s; }
.wp-block-navigation.analog-nav .wp-block-navigation-item__content:hover { color: var(--cyan-ink); }
.wp-block-navigation.analog-nav :not(.is-menu-open) .wp-block-navigation-item__content[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--cyan); text-decoration-thickness: 2px; text-underline-offset: .55em; }
.wp-block-navigation.analog-nav .wp-block-navigation__submenu-icon svg { width: .75rem; height: .75rem; stroke-width: 2.5px; }
.wp-block-navigation.analog-nav .wp-block-navigation-submenu__toggle { width: 1.75rem; height: 44px; margin-left: -.625rem; padding: 0 .375rem 0 0; }
.wp-block-navigation.analog-nav .has-child .wp-block-navigation__submenu-container { min-width: 18rem !important; padding: .625rem; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 30px 60px -30px rgba(10, 26, 46, .45); }
.wp-block-navigation.analog-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .75rem .875rem; border-radius: 10px; }
.wp-block-navigation.analog-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--paper); color: var(--ink); }
.wp-block-navigation.analog-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] { background: var(--paper); text-decoration: none; }
.wp-block-navigation.analog-nav .wp-block-navigation__responsive-container-open { width: 48px; height: 48px; align-items: center; justify-content: center; border-radius: 12px; background: var(--paper); }
.wp-block-navigation.analog-nav .wp-block-navigation__responsive-container-open svg { width: 26px; height: 26px; }

/* Five entries (one with a sub-menu) and the call to action need about 1024 px: below, the overlay. */
@media (min-width: 600px) and (max-width: 1023px) {
	.wp-block-navigation.analog-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.wp-block-navigation.analog-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* Overlay menu: full-screen ink, large expanded links. */
.analog-site-header .wp-block-navigation.analog-nav:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open { padding: calc(var(--header-h) + .5rem) var(--g) 2.5rem; background: var(--ink); color: #fff; }
body.admin-bar .wp-block-navigation.analog-nav .wp-block-navigation__responsive-container.is-menu-open { margin-top: 0; top: 46px; }
@media (min-width: 783px) { body.admin-bar .wp-block-navigation.analog-nav .wp-block-navigation__responsive-container.is-menu-open { top: 32px; } }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: calc((var(--header-h) - 48px) / 2 - var(--header-h) - .5rem); right: 0; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: color-mix(in srgb, #fff 8%, var(--ink)); color: #fff; }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; gap: 0; padding-top: 0; }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation__container { align-items: stretch; gap: 0; width: 100%; }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation-item { width: 100%; align-items: stretch; border-bottom: 1px solid var(--line-ink); }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation-item__content { min-height: 56px; padding: .75rem 0; font-size: clamp(1.375rem, 5.4vw, 1.75rem); font-weight: 600; letter-spacing: -.015em; color: #fff; }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation__submenu-container { min-width: 0 !important; padding: 0 0 1rem !important; border: 0; background: none; box-shadow: none; gap: 0; }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.wp-block-navigation.analog-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { min-height: 48px; padding: .5rem 0 .5rem 1.25rem !important; font-size: 1rem; font-weight: 500; letter-spacing: 0; color: rgba(255, 255, 255, .78); background: none; }
.wp-block-navigation.analog-nav .is-menu-open [aria-current="page"] { color: var(--cyan) !important; text-decoration: none; }

/* --------------------------------------------------------------------------
   Page structure
   -------------------------------------------------------------------------- */

.analog-main { min-height: 50vh; }
.wp-block-post-content > .analog-band:first-child, .analog-hero { margin-block-start: 0 !important; }

/* Page head: breadcrumb, expanded title, À propos tabs. */
.analog-pagehead { padding-block: clamp(1.75rem, 3.2vw, 2.75rem) 0; background: #fff; }
.analog-pagehead:not(:has(.analog-tabs)) { padding-bottom: clamp(1.75rem, 3.2vw, 2.75rem); border-bottom: 1px solid var(--line); }
.analog-pagehead__inner > * { margin: 0; }
.analog-pagehead__title, .analog-pagehead h1 { max-width: 34ch; margin: clamp(.875rem, 1.6vw, 1.25rem) 0 0 !important; font-size: var(--fs-h1); font-weight: var(--w-head); letter-spacing: -.02em; line-height: 1.1; color: var(--ink); }
.analog-pagehead__lead { max-width: 38rem; margin-top: 1.25rem !important; font-size: var(--fs-lead); color: var(--text); }
.analog-pagehead .analog-search { max-width: 34rem; margin-top: 2rem !important; }
.analog-pagehead--404 .analog-backlink { margin-top: 1.25rem !important; }
/* 404: no rule under the head (nothing follows it), the section rhythm closes the page. */
.analog-pagehead.analog-pagehead--404 { padding-bottom: var(--section); border-bottom: 0; }

.analog-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .625rem; margin: 0; padding: 0; list-style: none; font-size: var(--fs-2xs); color: var(--stone); }
.analog-crumbs li { display: flex; align-items: center; gap: .625rem; }
.analog-crumbs li + li::before { content: ""; width: .375rem; height: .375rem; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .55; }
.analog-crumbs a { display: inline-flex; align-items: center; min-height: 24px; color: var(--stone); text-decoration: none; }
.analog-crumbs a:hover { color: var(--ink); text-decoration: underline; }
.analog-crumbs [aria-current] { color: var(--ink); font-weight: 500; }

.analog-tabs { margin-top: clamp(1.5rem, 2.8vw, 2.25rem) !important; border-bottom: 1px solid var(--line); }
.analog-tabs ul { display: flex; gap: clamp(1.25rem, 3vw, 2.75rem); margin: 0; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; }
.analog-tabs ul::-webkit-scrollbar { display: none; }
.analog-tabs a { display: flex; align-items: center; min-height: 3rem; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: var(--fs-small); font-weight: 500; color: var(--stone); text-decoration: none; white-space: nowrap; transition: color .2s, border-color .2s; }
.analog-tabs a:hover { color: var(--ink); }
.analog-tabs a[aria-current] { border-bottom-color: var(--ink); color: var(--ink); font-weight: 600; }

/* Panoramic featured image under the head (only pages that have one). */
.analog-pagemedia { padding-top: clamp(1.25rem, 2.4vw, 2rem); }
.analog-pagemedia:not(:has(img)) { display: none; }
.analog-pagemedia__img { margin: 0; }
.analog-pagemedia__img img { display: block; width: 100%; height: clamp(13.75rem, 28vw, 26.25rem) !important; object-fit: cover; border-radius: var(--r-l); }

.analog-page-body { padding-block: clamp(2rem, 3.5vw, 3.25rem) var(--section); }
.analog-page-body:has(> .wp-block-post-content > .analog-band:last-child) { padding-bottom: 0; }
.analog-page-body > .wp-block-post-content > * + * { margin-block-start: var(--section); }
.analog-page-body > .wp-block-post-content > .analog-band { margin-block-start: var(--section); }
.analog-page-body > .wp-block-post-content > .analog-band + * { margin-block-start: var(--section); }
.analog-page-body > .wp-block-post-content > :first-child { margin-block-start: 0; }
.analog-main .is-layout-constrained > :is(.analog-members, .analog-board, .analog-wall, .analog-news) { max-width: var(--wp--style--global--wide-size); }

.analog-backlink { margin: 0; font-size: var(--fs-small); font-weight: 600; }
.analog-backlink a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: var(--ink); text-decoration: none; }
.analog-backlink a::before { content: "←"; transition: transform .3s var(--ease); }
.analog-backlink a:hover::before { transform: translateX(-4px); }

/* Bands -------------------------------------------------------------------- */
.analog-band { position: relative; padding-block: var(--section); }
.analog-band > * { margin-block: 0; }
.analog-band--paper { background: var(--paper); }
.analog-band--ink { background: var(--ink); color: rgba(255, 255, 255, .8); }
.analog-band--ink :is(h2, h3, .analog-lead) { color: #fff; }
.analog-band--ink .analog-kicker { color: rgba(255, 255, 255, .72); }
.analog-band--ink a:not(.wp-block-button__link) { color: #fff; }
.analog-news-band:not(:has(.analog-news)) { display: none; }

/* Section head: label + title, action on the right. */
.analog-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.75rem, 3vw, 2.75rem) !important; }
.analog-section-head__title > * { margin: 0; }
.analog-section-head h2 { margin-top: 1rem; max-width: 30ch; font-size: var(--fs-h2); }
.analog-section-head__actions { margin: 0; }

/* Split: heading column + reading column. The reading column has a fixed comfortable measure
   (about 70-75 characters of 17 px Plex); the heading column takes the remaining width. */
.analog-split { display: grid; grid-template-columns: minmax(15rem, 1fr) minmax(0, 41rem); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.analog-split > * { margin: 0 !important; }
.analog-split h2 { margin: 0; font-size: clamp(1.5rem, 1.2rem + .9vw, 2rem); line-height: 1.18; max-width: 18ch; }
.analog-split__head > * + * { margin-block-start: 1.5rem; }
.analog-split__head .analog-lead + p { margin-top: 1.5rem; }
.analog-split__body > * { margin: 0; }
.analog-split__body > * + * { margin-top: 1.25rem; }
.analog-split__body p, .analog-split__head p:not(.analog-lead):not(.analog-kicker) { font-size: var(--fs-read); line-height: var(--lh-read); }
.analog-split .analog-lead { font-size: clamp(1.125rem, 1rem + .4vw, 1.3125rem); line-height: 1.55; }
.analog-inset { margin: 2rem 0 0 !important; max-width: 26.25rem; }
.analog-inset img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--r); }
/* Desktop: a split with a photograph stretches its heading column to the text height and the photograph fills
   the rest of that column, so image and text end on the same line (no empty space under a small inset). */
@media (min-width: 901px) {
	.analog-split:has(> .analog-split__head .analog-inset) { align-items: stretch; }
	.analog-split__head:has(.analog-inset) { display: flex; flex-direction: column; }
	.analog-split__head .analog-inset { position: relative; flex: 1 1 auto; min-height: 15rem; max-width: none; }
	.analog-split__head .analog-inset img { position: absolute; inset: 0; height: 100% !important; aspect-ratio: auto; }
}

/* Statement (Notre mission): the founding sentence, set as a readable paragraph, not a poster. */
.analog-statement { max-width: 52rem; }
.analog-statement > * { margin: 0; }
.analog-statement__label { display: flex; align-items: center; gap: .75rem; font-size: var(--fs-label) !important; font-weight: 600; letter-spacing: var(--track-label) !important; line-height: 1 !important; text-transform: uppercase; color: var(--stone) !important; }
.analog-statement__label::before { content: ""; width: 2rem; height: 3px; border-radius: 2px; background: var(--brand-rule); }
.analog-statement__text { max-width: 50rem; margin-top: 1.25rem !important; font-size: clamp(1.25rem, 1.05rem + .65vw, 1.625rem); font-weight: 400; letter-spacing: -.005em; line-height: 1.42; color: var(--ink); }

/* Notre mission: founding sentence beside the page photograph (the panorama is hidden on this page). */
.analog-main:has(.analog-statement--media) .analog-pagemedia { display: none; }
.analog-statement--media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: clamp(2rem, 5vw, 5rem); align-content: center; max-width: var(--wide) !important; }
.analog-statement--media > .analog-statement__label { grid-column: 1; grid-row: 1; align-self: end; }
.analog-statement--media > .analog-statement__text { grid-column: 1; grid-row: 2; align-self: start; max-width: none; }
.analog-statement--media > .analog-statement__media { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0 !important; }
.analog-statement__media img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-l); }
@media (max-width: 900px) {
	.analog-statement--media { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
	.analog-statement--media > * { grid-column: 1 !important; grid-row: auto !important; }
	.analog-statement--media > .analog-statement__media { margin-top: 1.75rem !important; }
	.analog-statement__media img { aspect-ratio: 16 / 9; }
}

/* Lists -------------------------------------------------------------------- */
/* Numbered clauses (missions, undertakings, advantages): number and first line share a baseline;
   reading size, generous line height, one hairline between clauses. */
.is-style-analog-numbered { counter-reset: analog-n; list-style: none; margin: 0; padding: 0; }
/* The number is positioned (not a grid column) so inline markup inside a clause stays in the text flow;
   its line box equals the text line box, so number and first line share a baseline. */
.is-style-analog-numbered > li { --num-w: 3.5rem; counter-increment: analog-n; position: relative; padding: 1.125rem 0 1.25rem var(--num-w); border-top: 1px solid var(--line); font-size: var(--fs-read); line-height: 1.65; }
.is-style-analog-numbered > li:last-child { border-bottom: 1px solid var(--line); }
.is-style-analog-numbered > li::before { content: counter(analog-n, decimal-leading-zero); position: absolute; left: 0; top: 1.125rem; font-size: var(--fs-small); font-weight: 600; font-variant-numeric: tabular-nums lining-nums; letter-spacing: .02em; line-height: calc(var(--fs-read) * 1.65); color: var(--cyan-ink); }
.analog-band--paper .is-style-analog-numbered > li { border-color: #d3dbe5; }
.analog-band--ink .is-style-analog-numbered > li { border-color: var(--line-ink); color: rgba(255, 255, 255, .88); }
.analog-band--ink .is-style-analog-numbered > li::before { color: var(--cyan); }
/* Two reading columns that flow (01-08 then 09-16) instead of a row grid: no gaps when clauses differ in length. */
@media (min-width: 901px) {
	.analog-grid-2 { columns: 2; column-gap: clamp(2.5rem, 5vw, 5rem); }
	.analog-grid-2 > li { break-inside: avoid; }
	.analog-grid-2 > li:last-child { border-bottom: 0; }
}
.analog-missions > .analog-section-head { margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important; }
/* « s'interdisent de »: the heading spans the band on one line above the two clause columns. */
.analog-interdits .analog-section-head h2 { max-width: none; margin-top: 0; }

.is-style-analog-check { list-style: none; margin: 0; padding: 0; }
.is-style-analog-check > li { position: relative; padding: .4375rem 0 .4375rem 2rem; }
.is-style-analog-check > li::before { content: ""; position: absolute; left: .125rem; top: .95em; width: .875rem; height: .5rem; border-left: 2px solid var(--cyan-ink); border-bottom: 2px solid var(--cyan-ink); transform: rotate(-45deg); }
.analog-band--ink .is-style-analog-check > li::before { border-color: var(--cyan); }

/* --------------------------------------------------------------------------
   Home · hero: typographic head, Casablanca panorama, figures bar
   -------------------------------------------------------------------------- */

.analog-hero { --edge: clamp(.5rem, 1.25vw, 1.25rem); padding-block: clamp(1.75rem, 3.2vw, 3rem) 0; }
.analog-hero > * { margin-block: 0 !important; }
.analog-hero__head > * { margin: 0; }
.analog-hero__title { margin-top: clamp(1rem, 1.8vw, 1.375rem) !important; max-width: 25ch; font-size: var(--fs-hero); font-weight: var(--w-head); letter-spacing: -.02em; line-height: 1.08; color: var(--ink); }
.analog-hero__title { max-width: none; }
.analog-hero__title mark { background: none; color: var(--cyan-ink) !important; }
@media (min-width: 1180px) { .analog-hero__title mark { display: block; } }
.analog-hero__foot { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; gap: 1.25rem 4rem; margin-top: clamp(1.25rem, 2.2vw, 1.75rem) !important; }
.analog-hero__foot > * { margin: 0; }
.analog-hero__lead { max-width: 40em; font-size: var(--fs-lead); line-height: 1.6; color: var(--text); }
.analog-hero__actions { justify-content: flex-end; gap: .75rem 2rem; }

.analog-hero__media.alignfull { margin: clamp(1.75rem, 2.8vw, 2.5rem) calc(var(--wp--style--root--padding-right) * -1 + var(--edge)) 0 calc(var(--wp--style--root--padding-left) * -1 + var(--edge)) !important; max-width: none !important; overflow: hidden; border-radius: var(--r-l); background: var(--ink-2); }
.analog-hero__media img { display: block; width: 100%; height: clamp(17.5rem, 34vw, 31.25rem) !important; object-fit: cover; object-position: 50% 78%; }

/* Figures panel (refined 21 Oct 2026): the caption is centred on the figures; each figure is a subgrid, so the numbers
   share one row line and the labels the next across all five, even when a label wraps; a soft floating shadow. */
.analog-hero__figures { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(0, 9.9fr); align-items: center; margin-top: calc(-1 * clamp(3.5rem, 5.5vw, 5rem)) !important; padding: clamp(1rem, 1.6vw, 1.375rem); border-radius: var(--r); background: #fff; box-shadow: 0 12px 32px rgba(10, 26, 46, .09); }
.analog-figures-title { display: flex; align-items: center; margin: 0; padding: .5rem 1.25rem .5rem .5rem; font-size: clamp(1rem, .9rem + .3vw, 1.125rem); line-height: 1.12; letter-spacing: -.01em; }
.analog-figures { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }
.analog-figures__item { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; min-width: 0; padding: .375rem clamp(.875rem, 1.4vw, 1.25rem); border-left: 1px solid var(--line); }
.analog-figures__label { grid-row: 2; margin: 1rem 0 0; font-size: var(--fs-2xs); line-height: 1.35; color: var(--stone); }
.analog-figures__value { grid-row: 1; align-self: start; display: flex; flex-wrap: wrap; align-items: baseline; gap: .125rem .375rem; margin: 0; color: var(--ink); }
.analog-figures__number { font-size: clamp(1.5rem, 1rem + 1.3vw, 2.125rem); font-weight: var(--w-head); letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.analog-figures__unit { font-size: var(--fs-xs); font-weight: 600; color: var(--cyan-ink); }

/* --------------------------------------------------------------------------
   Members wall (home, À propos)
   -------------------------------------------------------------------------- */

.analog-wall { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.5rem, 1vw, .875rem); margin: 0; padding: 0; list-style: none; }
.analog-wall__tile { position: relative; display: flex; flex-direction: column; aspect-ratio: 16 / 10; padding: .875rem 1rem; border-radius: var(--r); background: #fff; color: var(--ink); text-decoration: none; box-shadow: inset 0 0 0 1px rgba(10, 26, 46, .06); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.analog-section .analog-wall__tile { background: var(--paper); box-shadow: none; }
.analog-wall__logo { flex: 1; display: grid; place-items: center; min-height: 0; }
.analog-wall__logo img { display: block; width: auto; height: calc(var(--h, 2.5rem) * 1.2); max-width: 72%; object-fit: contain; mix-blend-mode: multiply; transition: transform .6s var(--ease); }
.analog-wall__name { padding-right: 2rem; font-size: var(--fs-2xs); font-weight: 500; line-height: 1.3; color: var(--stone); transition: color .3s; }
.analog-wall__arrow { position: absolute; right: 1.125rem; bottom: 1rem; width: 1.25rem; height: 1.25rem; color: var(--cyan-ink); opacity: 0; transform: translateX(-6px); transition: opacity .35s, transform .45s var(--ease); }
.analog-wall__tile:hover, .analog-wall__tile:focus-visible { transform: translateY(-4px); box-shadow: 0 30px 50px -36px rgba(10, 26, 46, .5), inset 0 0 0 1px rgba(10, 26, 46, .08); }
.analog-wall__tile:hover img, .analog-wall__tile:focus-visible img { transform: scale(1.05); }
.analog-wall__tile:hover .analog-wall__name, .analog-wall__tile:focus-visible .analog-wall__name { color: var(--ink); }
.analog-wall__tile:hover .analog-wall__arrow, .analog-wall__tile:focus-visible .analog-wall__arrow { opacity: 1; transform: none; }

/* --------------------------------------------------------------------------
   La LLD: ink section, key-handover photograph, advantages explorer
   -------------------------------------------------------------------------- */

.analog-lld__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: clamp(2rem, 5vw, 4.5rem); margin-bottom: clamp(2.5rem, 4.5vw, 4rem) !important; }
.analog-lld__head > * { margin: 0 !important; }
.analog-lld__text > * { margin: 0; }
.analog-lld__title { margin-top: 1rem !important; font-size: var(--fs-h2); }
.analog-lld__actions { margin-top: 1.75rem !important; }
.analog-lld__img img { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: cover; object-position: 50% 45%; border-radius: var(--r-l); }
.analog-advantages > .analog-section-head { margin-bottom: clamp(2rem, 3.5vw, 3rem) !important; }

/* Without JavaScript: every advantage visible, two columns of panels. */
.analog-adv-grid { counter-reset: analog-adv; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.analog-adv-grid > * { margin: 0 !important; }
.analog-adv { counter-increment: analog-adv; position: relative; padding: clamp(1.5rem, 2.8vw, 2.25rem); border-radius: var(--r); background: var(--ink-2); color: rgba(255, 255, 255, .8); }
.analog-adv::before { content: counter(analog-adv, decimal-leading-zero) " / 08"; display: block; margin-bottom: 1rem; font-size: var(--fs-label); font-weight: 600; letter-spacing: .08em; color: var(--cyan); }
.analog-adv h3 { margin: 0 0 1rem; font-size: var(--fs-h3); line-height: 1.15; color: #fff; }
.analog-adv > * + * { margin-top: 1rem; }
.analog-adv p { margin-bottom: 0; font-size: 1rem; line-height: 1.7; }
.analog-adv:target, .analog-adv:has(:target) { box-shadow: 0 0 0 2px var(--cyan); }

/* Explorer (built by site.js): index of the eight advantages + reading panel. */
.analog-adv-grid.is-explorer { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto auto; gap: 1rem clamp(2rem, 4.5vw, 4rem); align-items: start; }
.analog-explorer__nav { grid-column: 1; grid-row: 1 / span 2; margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--line-ink); }
.analog-explorer__tab { position: relative; display: grid; grid-template-columns: 2.75rem minmax(0, 1fr); align-items: baseline; width: 100%; min-height: 3rem; padding: .8125rem 0; border: 0; border-top: 1px solid var(--line-ink); background: none; color: rgba(255, 255, 255, .66); font: inherit; font-size: var(--fs-small); font-weight: 500; line-height: 1.35; text-align: left; cursor: pointer; transition: color .25s; }
.analog-explorer__tab::after { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.analog-explorer__num { font-size: var(--fs-2xs); font-weight: 600; letter-spacing: .06em; color: rgba(255, 255, 255, .5); transition: color .25s; }
.analog-explorer__tab:hover { color: rgba(255, 255, 255, .92); }
.analog-explorer__tab[aria-selected="true"] { color: #fff; }
.analog-explorer__tab[aria-selected="true"]::after { transform: scaleX(1); }
.analog-explorer__tab[aria-selected="true"] .analog-explorer__num { color: var(--cyan); }
.analog-explorer__tab:focus-visible { outline-offset: -2px; }
.analog-explorer__panels { grid-column: 2; grid-row: 1; }
.is-explorer .analog-adv { display: none; padding: clamp(1.75rem, 3vw, 2.5rem); border-radius: var(--r-l); }
.is-explorer .analog-adv.is-active { display: block; }
.is-explorer .analog-adv[data-pos]::before { content: attr(data-pos); }
@media (prefers-reduced-motion: no-preference) { .is-explorer .analog-adv.is-active { animation: analog-panel .6s var(--ease) both; } }
@keyframes analog-panel { from { opacity: 0; transform: translateY(12px); } }
.is-explorer .analog-adv h3 { font-size: var(--fs-h3); }
.analog-explorer__ctrl { grid-column: 2; grid-row: 2; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
@media (min-width: 901px) { .analog-explorer__count { visibility: hidden; } }
.analog-explorer__count { font-size: var(--fs-2xs); font-weight: 600; letter-spacing: .08em; color: rgba(255, 255, 255, .7); font-variant-numeric: tabular-nums; }
.analog-explorer__btns { display: flex; gap: .5rem; }
.analog-explorer__btn { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 12px; background: color-mix(in srgb, #fff 8%, var(--ink)); color: #fff; cursor: pointer; }
.analog-explorer__btn:hover { background: color-mix(in srgb, #fff 16%, var(--ink)); }
.analog-explorer__btn svg { width: 1.25rem; height: 1.25rem; }
.analog-explorer__btn--prev svg { transform: scaleX(-1); }

/* --------------------------------------------------------------------------
   « Découvrez plus »: editorial index + featured photograph
   Desktop / tablet: heading and index on the left, one large photograph on the right that follows the
   destination being hovered or focused (site.js; the first by default). Phones: swipeable rail.
   -------------------------------------------------------------------------- */

.analog-discover-band .analog-section-head h2 { background: none; }
.analog-discover__list { margin: 0; padding: 0; list-style: none; }
.analog-discover__link { position: relative; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem; align-items: center; gap: 1rem; min-height: 44px; padding: clamp(.875rem, 1.3vw, 1.125rem) 0; border-top: 1px solid var(--line); color: var(--stone); text-decoration: none; transition: color .3s; }
.analog-discover__item:last-child .analog-discover__link { border-bottom: 1px solid var(--line); }
.analog-discover__link::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--cyan); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.analog-discover__num { font-size: var(--fs-label); font-weight: 600; letter-spacing: .08em; color: var(--stone); transition: color .3s; }
.analog-discover__label { font-size: clamp(1.125rem, .95rem + .55vw, 1.5rem); font-weight: 500; letter-spacing: -.01em; line-height: 1.2; }
.analog-discover__arrow { width: 1.25rem; height: 1.25rem; justify-self: end; opacity: .45; transition: transform .5s var(--ease), opacity .3s; }
.analog-discover__media { display: none; }
.analog-discover__item.is-active .analog-discover__link, .analog-discover__link:hover, .analog-discover__link:focus-visible { color: var(--ink); }
.analog-discover__item.is-active .analog-discover__link::before { transform: scaleX(1); }
.analog-discover__item.is-active .analog-discover__num { color: var(--cyan-ink); }
.analog-discover__item.is-active .analog-discover__arrow, .analog-discover__link:hover .analog-discover__arrow, .analog-discover__link:focus-visible .analog-discover__arrow { opacity: 1; color: var(--cyan-ink); transform: translateX(4px); }
.analog-discover__link:focus-visible { outline-offset: 4px; }

.analog-discover__stage { position: relative; min-height: clamp(21.25rem, 30vw, 28.75rem); overflow: hidden; border-radius: var(--r-l); background: var(--paper); }
.analog-discover__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .6s var(--ease); }
.analog-discover__slide img { display: block; width: 100%; height: 100% !important; object-fit: cover; transform: scale(1.04); transition: transform 1.4s var(--ease); }
.analog-discover__slide.is-active { opacity: 1; }
.analog-discover__slide.is-active img { transform: none; }

@media (min-width: 701px) {
	/* The band becomes a two-column grid; the block wrapper steps aside (display: contents). */
	.analog-discover-band { --dgap: clamp(2rem, 5vw, 4.5rem); --dw: min(100%, var(--wide)); display: grid; grid-template-columns: calc((var(--dw) - var(--dgap)) * 5 / 11) calc((var(--dw) - var(--dgap)) * 6 / 11); grid-template-rows: auto 1fr; column-gap: var(--dgap); justify-content: center; }
	.analog-discover-band > * { grid-column: 1; max-width: none !important; margin: 0 !important; }
	.analog-discover-band > .analog-section-head { grid-row: 1; margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem) !important; }
	.analog-discover-band > .analog-discover { display: contents; }
	.analog-discover__list { grid-column: 1; grid-row: 2; align-self: end; }
	.analog-discover__stage { grid-column: 2; grid-row: 1 / span 2; }
}

/* News (home, hidden while nothing is published) */
.analog-news__heading { margin: 0; font-size: var(--fs-h2); }
.analog-news { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); margin: 2.5rem 0 0; padding: 0; list-style: none; }
.analog-news__link { display: flex; flex-direction: column; gap: .75rem; height: 100%; color: var(--ink); text-decoration: none; }
.analog-news__img { display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: var(--r); background: var(--paper); }
.analog-news__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.analog-news__link:hover img { transform: scale(1.04); }
.analog-news__meta { font-size: var(--fs-2xs); color: var(--stone); }
.analog-news__title { font-size: var(--wp--preset--font-size--heading-4); font-weight: var(--w-head); line-height: 1.2; }

/* Closing call to action: contained ink panel. */
.analog-cta { padding-block: 0 var(--section); }
.analog-cta__panel { position: relative; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; gap: 2rem clamp(2rem, 5vw, 5rem); padding: clamp(2rem, 4.5vw, 3.75rem); overflow: hidden; border-radius: var(--r-l); background: var(--ink); color: #fff; isolation: isolate; }
/* The logo's ellipse, drawn once, large and faint. */
.analog-cta__panel::before { content: ""; position: absolute; z-index: -1; right: -18%; top: -55%; width: 78%; aspect-ratio: 1.9; border: 1.5px solid rgba(1, 161, 228, .32); border-radius: 50%; transform: rotate(-8deg); }
.analog-cta__panel::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--brand-rule); }
.analog-cta__panel > * { margin: 0 !important; }
.analog-cta__title { max-width: 16ch; font-size: var(--fs-h2); letter-spacing: -.015em; line-height: 1.12; color: #fff; }
.analog-cta__contact > * { margin: 0; }
.analog-cta__label { font-size: var(--fs-label); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .7); }
.analog-cta__phone { margin-top: .625rem !important; }
.analog-cta__phone a { display: inline-block; font-size: clamp(1.5rem, 1rem + 1.2vw, 2.125rem); font-weight: var(--w-head); letter-spacing: -.015em; line-height: 1.1; color: #fff; text-decoration: none; font-variant-numeric: tabular-nums; }
.analog-cta__phone a:hover { color: var(--cyan); }
.analog-cta__actions { margin-top: 1.5rem !important; }

/* --------------------------------------------------------------------------
   Inner pages
   -------------------------------------------------------------------------- */

/* Members directory: wide cards, logo tile + facts. */
.analog-members { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 1.4vw, 1.25rem); margin: 0; padding: 0; list-style: none; }
.analog-members__card { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); padding: .5rem; border-radius: 22px; background: var(--paper); transition: box-shadow .5s var(--ease), transform .5s var(--ease); }
.analog-members__card:hover { transform: translateY(-3px); box-shadow: 0 34px 60px -44px rgba(10, 26, 46, .55); }
.analog-members__logo { display: grid; place-items: center; min-height: 12.25rem; padding: 1.5rem; border-radius: 16px; background: #fff; }
.analog-members__logo img { width: auto; max-width: 74%; max-height: 4.5rem; object-fit: contain; transition: transform .6s var(--ease); }
.analog-members__card:hover .analog-members__logo img { transform: scale(1.05); }
.analog-members__body { display: flex; flex-direction: column; min-width: 0; padding: 1.25rem 1rem .75rem 1.5rem; }
.analog-members__name { margin: 0 0 .875rem; font-size: var(--fs-h4); letter-spacing: -.01em; }
.analog-members__name a { color: var(--ink); text-decoration: none; }
.analog-members__name a:hover { color: var(--cyan-ink); }
.analog-members__facts { display: grid; gap: .625rem; margin: 0 0 1.25rem; padding: 0; list-style: none; font-size: var(--fs-small); line-height: 1.5; color: var(--text); }
.analog-members__facts li { display: grid; grid-template-columns: 1.125rem minmax(0, 1fr); gap: .75rem; }
.analog-members__facts .analog-icon { width: 1.125rem; height: 1.125rem; margin-top: .1em; color: var(--stone); }
.analog-members__facts a { color: var(--ink); overflow-wrap: anywhere; text-decoration-color: rgba(10, 26, 46, .3); }
.analog-members__more { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 44px; margin-top: auto; padding-top: .625rem; border-top: 1px solid var(--line); font-size: var(--fs-xs); font-weight: 600; color: var(--ink); text-decoration: none; }
.analog-members__more .analog-icon { width: 1.25rem; height: 1.25rem; color: var(--cyan-ink); transition: transform .35s var(--ease); }
.analog-members__more:hover { color: var(--cyan-ink); }
.analog-members__more:hover .analog-icon { transform: translateX(4px); }

/* Member page: logo tile in the head, facts and text below. */
.analog-pagehead--member { display: grid; grid-template-columns: minmax(0, 1fr) minmax(13.75rem, 18.75rem); align-items: center; gap: 2rem clamp(2rem, 5vw, 5rem); }
.analog-pagehead--member > * { grid-column: auto; max-width: none !important; margin: 0 !important; }
.analog-pagehead--member > .analog-pagehead__inner { grid-column: 1; }
.analog-pagehead--member { padding-inline: max(var(--g), calc((100% - var(--wide)) / 2)) !important; }
.analog-pagehead__logo { display: grid; place-items: center; aspect-ratio: 16 / 9; padding: 1.25rem; border-radius: var(--r); background: var(--paper); }
.analog-pagehead__logo img { width: auto !important; max-width: 74%; max-height: 5.5rem; height: auto !important; object-fit: contain; mix-blend-mode: multiply; }
.single-analog_membre .analog-profile__logo { display: none; }
.analog-member-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.analog-member-layout > * { margin: 0 !important; }
.analog-member-layout:not(:has(.analog-member-layout__text > *)) { grid-template-columns: minmax(0, 1fr); }
.analog-member-layout:not(:has(.analog-member-layout__text > *)) .analog-member-layout__text { display: none; }
.analog-member-layout:not(:has(.analog-member-layout__text > *)) .analog-profile__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
/* Members without a text: the address on its own row, then 4 columns, so 8 or 9 facts fill 2 rows with no orphan. */
@media (min-width: 1024px) { .analog-member-layout:not(:has(.analog-member-layout__text > *)) .analog-profile__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.analog-profile__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; margin: 0; }
.analog-profile__facts > div { min-width: 0; padding: 1rem 0; border-top: 1px solid var(--line); }
.analog-profile__facts > div:first-child { grid-column: 1 / -1; }
.analog-profile__facts dt { margin-bottom: .375rem; font-size: var(--fs-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--stone); }
.analog-profile__facts dd { margin: 0; font-size: 1rem; color: var(--ink); overflow-wrap: anywhere; }
.analog-profile__facts a { color: var(--ink); text-decoration-color: rgba(10, 26, 46, .3); }
.analog-member-layout__text > :first-child { margin-top: 0; }
.analog-member-layout__text p { font-size: var(--fs-read); line-height: var(--lh-read); }
.analog-member-layout__text { max-width: 41rem; }
.analog-member-layout__text > p:first-child { font-size: var(--fs-lead); line-height: 1.5; color: var(--ink); }
.analog-member-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: 2.25rem 0 !important; padding: 0; }
.analog-member-stats > li { display: flex; flex-direction: column; gap: .25rem; padding: 1.125rem 1.125rem; border-radius: 14px; background: var(--paper); font-size: var(--fs-xs); color: var(--stone); }
.analog-member-stats > li::before { display: none; }
.analog-member-stats strong { font-size: 1.25rem; font-weight: var(--w-head); letter-spacing: 0; color: var(--ink); }
.analog-page-body > .analog-backlink { max-width: var(--wide); margin-top: clamp(2rem, 4vw, 3.5rem) !important; }

/* Bureau: one card per member (logo tile, role, name, company). The president's card is set in ink. */
.analog-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 1.4vw, 1.25rem); margin: 0; padding: 0; list-style: none; }
.analog-board__card { display: flex; flex-direction: column; min-width: 0; padding: .5rem; border-radius: 22px; background: var(--paper); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.analog-board__card:hover { transform: translateY(-3px); box-shadow: 0 30px 54px -38px rgba(10, 26, 46, .5); }
.analog-board__logo { display: grid; place-items: center; height: clamp(6.25rem, 8.5vw, 7.75rem); padding: 1rem; border-radius: 14px; background: #fff; }
.analog-board__logo img { display: block; width: auto; max-width: 66%; max-height: 3.5rem; object-fit: contain; }
.analog-board__body { display: flex; flex-direction: column; flex: 1; margin: 0; padding: 1.25rem 1rem 1rem; }
.analog-board__body dd { margin: 0; }
.analog-board__role { font-size: var(--fs-label); font-weight: 600; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; color: var(--cyan-ink); }
.analog-board__name { margin-top: .375rem !important; font-size: clamp(1.0625rem, .95rem + .4vw, 1.25rem); font-weight: var(--w-head); letter-spacing: -.01em; line-height: 1.15; color: var(--ink); }
.analog-board__company-row { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem 1rem; margin-top: auto; padding-top: 1.125rem; }
.analog-board__company-row::before { content: ""; flex-basis: 100%; height: 1px; margin-bottom: .875rem; background: rgba(10, 26, 46, .1); }
.analog-board__company-row dt { font-size: var(--fs-xs); color: var(--stone); }
.analog-board__company { font-size: var(--fs-small); font-weight: 500; color: var(--ink); }
.analog-board__card.is-lead { background: var(--ink); }
.analog-board__card.is-lead .analog-board__role { color: var(--cyan); }
.analog-board__card.is-lead .analog-board__name, .analog-board__card.is-lead .analog-board__company { color: #fff; }
.analog-board__card.is-lead .analog-board__company-row dt { color: rgba(255, 255, 255, .7); }
.analog-board__card.is-lead .analog-board__company-row::before { background: var(--line-ink); }

/* Contact and membership: ink coordinates panel or framed photograph, form on white. */
.analog-intro--form { gap: clamp(1.5rem, 4vw, 4rem) !important; align-items: start !important; }
.analog-coords-col { padding: clamp(1.5rem, 2.5vw, 2rem); border-radius: var(--r-l); background: var(--ink); color: #fff; }
.analog-coords-col > :first-child { margin-top: 0; }
.analog-intro--form .analog-media-col .wp-block-image { margin: 0; }
.analog-intro--form .analog-media-col img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--r-l); }

.analog-coords { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.analog-coords__item { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; align-items: start; }
.analog-coords__item > .analog-icon { grid-row: span 2; }
.analog-coords__label { font-size: var(--fs-label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--stone); }
.analog-coords__value { color: var(--ink); overflow-wrap: anywhere; }
.analog-coords--cards { gap: 0; }
.analog-coords--cards .analog-coords__item { padding: 1.25rem 0; border-top: 1px solid var(--line-ink); }
.analog-coords--cards .analog-coords__item:first-child { padding-top: 0; border-top: 0; }
.analog-coords--cards .analog-coords__item > .analog-icon { width: 2.5rem; height: 2.5rem; padding: .625rem; border-radius: 12px; background: color-mix(in srgb, #fff 8%, var(--ink)); color: var(--cyan); }
.analog-coords--cards .analog-coords__label { color: rgba(255, 255, 255, .66); }
.analog-coords--cards .analog-coords__value { margin-top: .25rem; font-size: 1.0625rem; font-weight: 500; line-height: 1.45; color: #fff; }
.analog-coords--cards .analog-coords__value a { color: #fff; text-decoration-color: rgba(255, 255, 255, .4); }
.analog-coords__map { display: inline-flex; align-items: center; min-height: 44px; margin-top: .25rem; font-size: var(--fs-small); font-weight: 600; }

/* Contact (desktop): the coordinates become a full-width ink strip (telephone · e-mail · address side by side)
   above the form, instead of a short card beside a tall form. */
@media (min-width: 901px) {
	.analog-intro--form:has(> .analog-coords-col) { flex-direction: column; gap: clamp(1rem, 1.6vw, 1.5rem) !important; }
	.analog-intro--form:has(> .analog-coords-col) > .wp-block-column { flex-basis: auto !important; align-self: stretch; }
	.analog-coords-col .analog-coords--cards { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(1.5rem, 3vw, 3rem); }
	.analog-coords-col .analog-coords--cards .analog-coords__item { align-content: start; }
	.analog-coords-col .analog-coords--cards .analog-coords__item, .analog-coords-col .analog-coords--cards .analog-coords__item:first-child { padding: 0 0 0 clamp(1.5rem, 3vw, 3rem); border-top: 0; border-left: 1px solid var(--line-ink); }
	.analog-coords-col .analog-coords--cards .analog-coords__item:first-child { padding-left: 0; border-left: 0; }
}

/* Forms */
.analog-form { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.analog-form__form { padding: clamp(1.25rem, 2.6vw, 2.25rem); border: 1px solid var(--line); border-radius: var(--r-l); background: #fff; }
.analog-form__hint { margin: 0 0 1.5rem; font-size: var(--fs-small); color: var(--stone); }
.analog-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.analog-form__field { display: flex; flex-direction: column; gap: .5rem; margin: 0; }
.analog-form__field--textarea { grid-column: 1 / -1; }
.analog-form__field label { font-size: var(--fs-small); font-weight: 500; color: var(--ink); }
.analog-form__field input, .analog-form__field textarea { box-sizing: border-box; width: 100%; min-height: 3rem; padding: .6875rem .9375rem; border: 1px solid var(--field); border-radius: 10px; background: #fff; color: var(--ink); font: inherit; font-size: max(15px, 1rem); transition: border-color .2s, box-shadow .2s; }
.analog-form__field textarea { min-height: 9.5rem; resize: vertical; }
.analog-form__field input:hover, .analog-form__field textarea:hover { border-color: var(--ink); }
.analog-form__field input:focus-visible, .analog-form__field textarea:focus-visible { outline: none; border-color: var(--cyan-ink); box-shadow: 0 0 0 4px rgba(0, 114, 168, .2); }
.analog-form__field.has-error input, .analog-form__field.has-error textarea { border-color: #b42318; border-width: 2px; }
.analog-form__error { display: flex; align-items: center; gap: .375rem; font-size: var(--fs-xs); font-weight: 600; color: #b42318; }
.analog-form__error::before { content: "!"; display: inline-grid; place-items: center; width: 1.125rem; height: 1.125rem; border-radius: 50%; background: #b42318; color: #fff; font-size: var(--fs-label); }
.analog-form__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.analog-form__consent { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem; margin: 1.5rem 0 0; font-size: var(--fs-small); line-height: 1.55; }
.analog-form__consent input { flex: none; width: 1.375rem; height: 1.375rem; margin: .1rem 0 0; accent-color: var(--cyan-ink); }
.analog-form__consent label { flex: 1; min-width: 0; }
.analog-form__consent .analog-form__error { flex-basis: 100%; }
.analog-form__submit { margin: 1.5rem 0 0; }
.analog-form__submit .wp-element-button { min-width: 12rem; border: 0; cursor: pointer; }
.analog-form__notice { margin-bottom: 1.25rem; padding: 1rem 1.25rem; border-radius: 12px; font-weight: 600; }
.analog-form__notice:focus { outline: 2px solid currentColor; outline-offset: 2px; }
.analog-form__notice--ok { border: 1px solid #94cfae; background: #e9f7ef; color: #145232; }
.analog-form__notice--error { border: 1px solid #f0b4ad; background: #fdeeec; color: #8a1c12; }
.analog-form-col > :first-child, .analog-coords-col > :first-child { margin-top: 0; }

/* News archive, articles, search */
.analog-posts__grid { gap: clamp(1.25rem, 2.5vw, 2rem) !important; }
.analog-posts__card { display: flex; flex-direction: column; gap: .875rem; height: 100%; }
.analog-posts__card > * { margin: 0 !important; }
.analog-posts__img img { border-radius: var(--r); }
.analog-posts__meta { gap: .5rem; font-size: var(--fs-2xs); color: var(--stone); }
.analog-posts__meta a { color: var(--cyan-ink); font-weight: 600; text-decoration: none; }
.analog-posts__title { font-size: var(--wp--preset--font-size--heading-4); }
.analog-posts__title a { color: var(--ink); text-decoration: none; }
.analog-posts__title a:hover { color: var(--cyan-ink); }
.analog-posts .wp-block-query-pagination { margin-top: 3rem; gap: .5rem; }
.analog-posts .wp-block-query-pagination a, .analog-posts .wp-block-query-pagination .current { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .75rem; border-radius: 10px; }
.analog-posts .wp-block-query-pagination .current { background: var(--ink); color: #fff; }
.analog-empty { margin: 0; padding: clamp(2.5rem, 5vw, 4rem) 2rem; border-radius: var(--r-l); background: var(--paper); color: var(--stone); font-size: 1rem; text-align: center; }

.analog-article__meta { gap: .75rem; margin-top: 1.5rem !important; font-size: var(--fs-xs); color: var(--stone); }
.analog-article__meta a { color: var(--cyan-ink); font-weight: 600; text-decoration: none; }
.analog-article .wp-block-post-content p { font-size: 1.0625rem; line-height: 1.75; }

.analog-results__list { margin: 0; padding: 0; list-style: none; }
.analog-results__item { padding: 1.5rem 0; border-top: 1px solid var(--line); }
.analog-results__item > * { margin: 0 !important; }
.analog-results__item > * + * { margin-top: .5rem !important; }
.analog-results__item a { color: var(--ink); text-decoration: none; }
.analog-results__item a:hover { color: var(--cyan-ink); }

.analog-search .wp-block-search__inside-wrapper { gap: .5rem; padding: 0; border: 0; }
.analog-search .wp-block-search__input { min-height: 3rem; padding: 0 1.125rem; border: 1px solid var(--field); border-radius: 12px; font: inherit; }
.analog-search .wp-block-search__button { min-height: 3rem; margin: 0; }

/* --------------------------------------------------------------------------
   Footer: deep navy, four-column grid (identity · menu · À propos · contact), discreet bottom bar.
   The logo is shown exactly as supplied (no recolouring).
   -------------------------------------------------------------------------- */

.analog-footer { position: relative; padding-block: clamp(3rem, 4.5vw, 4rem) 0; background: var(--ink); color: rgba(255, 255, 255, .72); font-size: var(--fs-small); }
.analog-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--brand-rule); }
.analog-footer__top { display: grid; grid-template-columns: minmax(0, 3.8fr) minmax(0, 2.2fr) minmax(0, 2.6fr) minmax(0, 3.2fr); gap: 2.25rem clamp(1.5rem, 3.5vw, 3.5rem); }
.analog-footer__top > * { margin: 0 !important; }
.analog-footer__logo { margin: 0 0 1.25rem; }
.analog-footer__logo img { display: block; width: 6rem; }
.analog-footer__name { max-width: 31ch; margin: 0; font-size: var(--fs-small); line-height: 1.6; color: rgba(255, 255, 255, .72); }
.analog-footer__h { margin: 0 0 .75rem; font-size: var(--fs-label) !important; font-weight: 600; letter-spacing: .06em !important; line-height: 1.3 !important; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.analog-footer a { color: #fff; }
.analog-footer :where(a, button):focus-visible { outline-color: #fff; }
.analog-footer__menu { margin: 0; padding: 0; list-style: none; }
.analog-footer__menu a { display: inline-flex; align-items: center; min-height: 2.25rem; color: rgba(255, 255, 255, .86); text-decoration: none; background: linear-gradient(var(--cyan), var(--cyan)) 0 calc(100% - 7px) / 0 1px no-repeat; transition: color .2s, background-size .35s var(--ease); }
.analog-footer__menu a:hover, .analog-footer__menu a:focus-visible { color: #fff; background-size: 100% 1px; }
.analog-footer__menu a[aria-current] { color: #fff; }
.analog-coords--footer { gap: 1rem; }
.analog-coords--footer .analog-coords__item { grid-template-columns: 1rem minmax(0, 1fr); column-gap: .75rem; }
.analog-coords--footer .analog-icon { width: 1rem; height: 1rem; margin-top: .125rem; color: var(--cyan); }
.analog-coords--footer .analog-coords__label { font-size: var(--fs-label); font-weight: 500; letter-spacing: .02em; text-transform: none; color: rgba(255, 255, 255, .55); }
.analog-coords--footer .analog-coords__value { margin-top: .125rem; font-size: var(--fs-small); line-height: 1.5; color: #fff; }
.analog-coords--footer .analog-coords__value a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .3); text-underline-offset: .25em; transition: text-decoration-color .2s; }
.analog-coords--footer .analog-coords__value a:hover { text-decoration-color: var(--cyan); }
.analog-footer .analog-pending { background: #3a2f12; color: #ffd98a; }
.analog-footer__bottom { margin-top: clamp(2.5rem, 4vw, 3.25rem) !important; padding-block: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .12); gap: .5rem 2rem; font-size: var(--fs-2xs); line-height: 1.5; color: rgba(255, 255, 255, .55); }
.analog-footer__bottom p { margin: 0; }
/* Bottom-row links (design credit, legal pages once published): muted, with the footer's soft underline. */
.analog-footer__bottom a { color: rgba(255, 255, 255, .8); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .3); text-underline-offset: .25em; transition: color .2s, text-decoration-color .2s; }
.analog-footer__bottom a:hover, .analog-footer__bottom a:focus-visible { color: #fff; text-decoration-color: var(--cyan); }
/* Copyright followed by the legal-page links (rendered only once the pages are published), separated by middots. */
.analog-footer__legal { display: flex; flex-wrap: wrap; align-items: baseline; }
.analog-footer__sep { margin-inline: .625rem; color: rgba(255, 255, 255, .35); }
.analog-cta { padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
@media (max-width: 1180px) {
	.analog-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.4fr); }
	.analog-footer__brand { grid-column: 1 / -1; display: flex; align-items: center; gap: 1.5rem; }
	.analog-footer__brand .analog-footer__logo { margin: 0; flex: none; }
	.analog-footer__name { max-width: 44ch; }
}
@media (max-width: 700px) {
	.analog-footer { padding-top: 2.5rem; }
	.analog-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 2rem 1.25rem; }
	.analog-footer__brand { align-items: flex-start; gap: 1rem; }
	.analog-footer__brand .analog-footer__logo img { width: 72px; }
	.analog-footer__name { font-size: var(--fs-xs); }
	.analog-footer__col--contact { grid-column: 1 / -1; }
	.analog-footer__menu a { min-height: 44px; }
	.analog-footer__bottom { flex-direction: column; align-items: flex-start !important; margin-top: 2rem !important; padding-block: 1rem; font-size: var(--fs-label); }
	.analog-footer__legal { flex-direction: column; align-items: flex-start; gap: .5rem; }
	.analog-footer__sep--lead { display: none; }
	.analog-footer__sep { margin-inline: .5rem; }
}

/* --------------------------------------------------------------------------
   Legal pages (Mentions légales, Politique de confidentialité)
   One wrapper group, so the page-body section rhythm applies once; an index column and a reading column on desktop.
   Facts use the member pages' label/value language (hairlines, small uppercase labels).
   -------------------------------------------------------------------------- */
.analog-legal { max-width: var(--wide); }
.analog-legal__layout { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 50rem); gap: 0 clamp(2.5rem, 5vw, 5rem); align-items: start; }
.analog-legal__layout > * { margin: 0 !important; }
.analog-legal__aside { padding-top: .375rem; }
.analog-legal__aside .analog-kicker { margin-bottom: 1rem !important; }
.analog-legal__toc { margin: 0 !important; padding: 0; list-style: none; border-left: 1px solid var(--line); }
.analog-legal__toc li { margin: 0; }
.analog-legal__toc a { display: block; padding: .4375rem 0 .4375rem 1rem; margin-left: -1px; border-left: 2px solid transparent; font-size: var(--fs-small); line-height: 1.4; color: var(--text); text-decoration: none; transition: color .2s, border-color .2s; }
.analog-legal__toc a:hover, .analog-legal__toc a:focus-visible { color: var(--cyan-ink); border-left-color: var(--cyan); }
.analog-legal__meta { margin: 1.5rem 0 0 !important; font-size: var(--fs-xs); color: var(--stone); }
.analog-legal__body > * { margin-block: 0; }
.analog-legal__lead { margin: 0 0 clamp(2rem, 3.5vw, 2.75rem) !important; font-size: var(--fs-lead); line-height: 1.6; color: var(--ink); }
.analog-legal__section { scroll-margin-top: 2rem; }
.analog-legal__section + .analog-legal__section { margin-top: clamp(1.75rem, 3vw, 2.5rem) !important; padding-top: clamp(1.75rem, 3vw, 2.5rem); border-top: 1px solid var(--line); }
.analog-legal__section > * { margin-block: 0; }
.analog-legal__section > * + * { margin-top: .875rem !important; }
.analog-legal__section h2 { scroll-margin-top: 2rem; font-size: var(--fs-h3); font-weight: var(--w-head); letter-spacing: -.01em; line-height: 1.25; color: var(--ink); }
.analog-legal__section h3 { margin-top: 1.75rem !important; font-size: var(--fs-read); font-weight: 600; line-height: 1.4; color: var(--ink); }
.analog-legal__section h2 + * { margin-top: 1rem !important; }
.analog-legal__section h3 + * { margin-top: .625rem !important; }
.analog-legal__body p, .analog-legal__body li { font-size: var(--fs-read); line-height: 1.65; color: var(--text); }
.analog-legal__body :is(p, li) a { color: var(--cyan-ink); text-decoration: underline; text-decoration-color: rgba(0, 114, 168, .35); text-decoration-thickness: 1px; text-underline-offset: .2em; transition: text-decoration-color .2s; }
.analog-legal__body :is(p, li) a:hover { text-decoration-color: currentColor; }
.analog-legal__body ul:not(.analog-legal-facts) { padding-left: 1.25rem; }
.analog-legal__body ul:not(.analog-legal-facts) li + li { margin-top: .375rem; }
.analog-legal__body ul:not(.analog-legal-facts) li::marker { color: var(--stone); }
.analog-legal__body strong { font-weight: 600; color: var(--ink); }
/* Label / value facts: the dynamic identity block (dl) and editable lists whose items start with a bold label. */
.analog-legal-facts { margin: 0; padding: 0; list-style: none; }
.analog-legal-facts > :is(div, li) { margin: 0 !important; padding: .75rem 0; border-top: 1px solid var(--line); }
.analog-legal-facts > div { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: .25rem 1.5rem; }
/* Editable list rows: the bold label sits in the left column; the value flows as ordinary inline text (links, spans). */
.analog-legal-facts > li { position: relative; padding-left: 16.5rem; }
.analog-legal-facts > li > strong:first-child { position: absolute; top: .75rem; left: 0; width: 15rem; }
.analog-legal-facts :is(dt, li > strong:first-child) { padding-top: .1875rem; font-size: var(--fs-label); font-weight: 600; letter-spacing: var(--track-label); line-height: 1.4; text-transform: uppercase; color: var(--stone); }
.analog-legal-facts dd { margin: 0; }
.analog-legal-facts :is(dd, li) { font-size: var(--fs-read); line-height: 1.55; color: var(--ink); overflow-wrap: anywhere; }
.analog-legal-facts a { color: var(--ink); text-decoration: underline; text-decoration-color: rgba(10, 26, 46, .3); text-underline-offset: .2em; }
.analog-legal-facts a:hover { text-decoration-color: var(--cyan); }
@media (max-width: 1023px) {
	.analog-legal__layout { grid-template-columns: minmax(0, 1fr); }
	.analog-legal__aside { margin-bottom: clamp(1.75rem, 4vw, 2.5rem) !important; padding: 0 0 1.25rem; border-bottom: 1px solid var(--line); }
	.analog-legal__aside .analog-kicker { margin-bottom: .75rem !important; }
	.analog-legal__toc { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .125rem 1.25rem; border-left: 0; }
	.analog-legal__toc a { padding: .3125rem 0; margin: 0; border: 0; }
	.analog-legal__meta { margin-top: .875rem !important; }
}
@media (max-width: 700px) {
	.analog-legal-facts > :is(div, li) { padding: .6875rem 0; }
	.analog-legal-facts > div { grid-template-columns: minmax(0, 1fr); }
	.analog-legal-facts > li > strong:first-child { position: static; display: block; width: auto; margin-bottom: .25rem; }
}

/* --------------------------------------------------------------------------
   Editorial review layer (shown to logged-in editors only)
   -------------------------------------------------------------------------- */

.analog-pending { display: inline-flex; align-items: center; gap: .25rem; margin-left: .375rem; padding: .125rem .5rem; border-radius: 99px; background: #fff1cc; color: #6b4708; font-size: var(--fs-label); font-weight: 700; letter-spacing: .02em; line-height: 1.5; vertical-align: middle; white-space: nowrap; cursor: help; }
.analog-pending::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: #b7791f; }
.analog-band--ink .analog-pending, .analog-coords-col .analog-pending { background: #3a2f12; color: #ffd98a; }
.analog-form .analog-pending { margin: .75rem 0 0; }

/* --------------------------------------------------------------------------
   Reveal on scroll (site.js marks only what starts below the fold)
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: no-preference) {
	.analog-hero__media img { animation: analog-settle 1.6s var(--ease) both; }
	.analog-hero__head > * { animation: analog-rise .9s var(--ease) both; }
	.analog-hero__head > :nth-child(2) { animation-delay: .08s; }
	.analog-hero__head > :nth-child(3) { animation-delay: .16s; }
	.analog-hero__figures { animation: analog-rise 1s var(--ease) .35s both; }
}
@keyframes analog-rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes analog-settle { from { transform: scale(1.06); } }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

/* 1179, not 1180: at exactly 1180 px the desktop panorama rule (min-width: 1180px) applies too. */
@media (max-width: 1179px) {
	.analog-hero__figures { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
	/* Caption on its own row: as much space above it as below the last labels (same panel height). */
	.analog-figures-title { padding: .375rem clamp(.875rem, 1.4vw, 1.25rem) 0; }
	.analog-figures__item { padding-bottom: .25rem; }
	.analog-figures__item:first-child { border-left: 0; }
}

@media (max-width: 1023px) {
	:root { --header-h: 4.75rem; }
	.analog-header__logo img, .analog-site-header.is-scrolled .analog-header__logo img { width: 4.375rem; }
	.analog-site-header.is-scrolled .analog-header__bar { min-height: 4.25rem; }
	.analog-wall__tile { aspect-ratio: 1 / 1; padding: 1rem; }
	.analog-wall__logo img { height: calc(var(--h, 40px) * 1.05); max-width: 84%; }
	.analog-wall__arrow { display: none; }
	.analog-members { grid-template-columns: minmax(0, 1fr); }
	.analog-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.analog-board__card.is-lead { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.analog-board__card.is-lead .analog-board__logo { height: auto; min-height: 9.25rem; }
}

@media (max-width: 900px) {
	.analog-hero__foot { grid-template-columns: minmax(0, 1fr); }
	.analog-hero__actions { justify-content: flex-start; }
	.analog-figures { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.analog-figures-title { padding: .75rem .875rem 0; }
	.analog-figures__item { padding: 1.125rem .875rem; border-left: 0; border-top: 1px solid var(--line); }
	/* Bottom row (the first figure spans the full width, the others pair up): .5rem moves to the caption above. */
	.analog-figures__item:last-child, .analog-figures__item:nth-last-child(2):nth-child(2n) { padding-bottom: .625rem; }
	.analog-figures__item:nth-child(2n) { border-left: 1px solid var(--line); }
	.analog-figures__item:first-child { grid-column: 1 / -1; border-top: 0; }
	.analog-figures__item:first-child ~ .analog-figures__item:nth-child(2n) { border-left: 0; }
	.analog-figures__item:first-child ~ .analog-figures__item:nth-child(2n+1) { border-left: 1px solid var(--line); }
	.analog-split, .analog-lld__head, .analog-member-layout, .analog-cta__panel { grid-template-columns: minmax(0, 1fr); }
	.analog-split h2 { max-width: 22ch; }
	.analog-inset { max-width: none; }
	.analog-inset img { aspect-ratio: 16 / 9; }
	.analog-adv-grid { grid-template-columns: minmax(0, 1fr); }
	.analog-adv-grid.is-explorer { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 1rem; }
	.analog-explorer__nav { grid-column: 1; grid-row: 1; display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; border: 0; scrollbar-width: none; }
	.analog-explorer__nav::-webkit-scrollbar { display: none; }
	.analog-explorer__tab { flex: none; display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 14px; background: color-mix(in srgb, #fff 7%, var(--ink)); }
	.analog-explorer__tab::after { display: none; }
	.analog-explorer__tab .analog-explorer__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
	.analog-explorer__num { font-size: var(--fs-xs); color: rgba(255, 255, 255, .78); }
	.analog-explorer__tab[aria-selected="true"] { background: #fff; }
	.analog-explorer__tab[aria-selected="true"] .analog-explorer__num { color: var(--ink); }
	.analog-explorer__panels { grid-column: 1; grid-row: 2; }
	.analog-explorer__ctrl { grid-column: 1; grid-row: 3; }
	.analog-pagehead--member { grid-template-columns: minmax(0, 1fr); }
	.analog-pagehead__logo { max-width: 320px; aspect-ratio: 16 / 9; }
	.analog-member-layout:not(:has(.analog-member-layout__text > *)) .analog-profile__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.analog-intro--form { flex-direction: column; }
	.analog-coords-col, .analog-intro--form .analog-media-col { position: static; }
	.analog-intro--form .analog-media-col img { aspect-ratio: 16 / 9; }
	.analog-news { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.analog-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 781px) {
	.analog-intro--form > .wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 700px) {
	:root { --header-h: 64px; }
	.analog-header__logo img, .analog-site-header.is-scrolled .analog-header__logo img { width: 64px; }
	.analog-header__cta .wp-block-button__link { min-height: 44px; padding: .625rem .875rem; font-size: var(--fs-xs); }
	.analog-header__cta .wp-block-button__link::after { display: none; }
	.analog-header__right { gap: .5rem; }
	.analog-hero__title { font-size: clamp(1.75rem, 7.6vw, 2.125rem); letter-spacing: -.015em; line-height: 1.12; }
	.analog-hero__actions { gap: .5rem 1.5rem; }
	.analog-hero__media img { height: 260px !important; object-position: 58% 72%; }
	.analog-hero__figures { margin-top: -2.5rem !important; padding: .875rem; }
	.analog-figures__number { font-size: 1.625rem; }
	.analog-wall { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
	.analog-wall__tile { padding: .875rem 1rem; aspect-ratio: 1 / 1; }
	.analog-wall__logo img { height: calc(var(--h, 40px) * 1.05); max-width: 86%; }
	.analog-wall__name { font-size: var(--fs-2xs); }
	.analog-wall__arrow { display: none; }
	/* « Découvrez plus » on phones: a swipeable rail, each destination with its own photograph. */
	.analog-discover__stage { display: none; }
	.analog-discover__list { display: flex; gap: .75rem; margin-inline: calc(var(--g) * -1); padding: 0 var(--g) .25rem; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--g); scrollbar-width: none; }
	.analog-discover__list::-webkit-scrollbar { display: none; }
	.analog-discover__item { flex: 0 0 78%; scroll-snap-align: start; }
	.analog-discover__link, .analog-discover__item:last-child .analog-discover__link { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; gap: .875rem .5rem; padding: 0; border: 0; color: var(--ink); }
	.analog-discover__link::before { display: none; }
	.analog-discover__media { display: block; grid-column: 1 / -1; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--r); background: var(--paper); }
	.analog-discover__media img { display: block; width: 100%; height: 100% !important; object-fit: cover; }
	.analog-discover__label { font-size: 1.125rem; }
	.analog-discover__num { color: var(--cyan-ink); }
	.analog-discover__arrow { opacity: 1; color: var(--cyan-ink); }
	.analog-cta__phone a { font-size: 1.625rem; }
	.analog-cta__panel::before { width: 160%; right: -80%; top: -30%; }
	.analog-members__card { grid-template-columns: minmax(0, 1fr); }
	.analog-members__logo { min-height: 112px; padding: 1rem; }
	.analog-members__logo img { max-height: 56px; }
	.analog-members__body { padding: 1.25rem .75rem .5rem; }
	.analog-board { grid-template-columns: minmax(0, 1fr); }
	.analog-board__card, .analog-board__card.is-lead { display: flex; }
	.analog-board__logo, .analog-board__card.is-lead .analog-board__logo { height: 92px; min-height: 0; padding: 1rem; }
	.analog-board__logo img { max-width: 72%; max-height: 48px; }
	.analog-board__body { padding: 1.25rem .875rem .75rem; }
	.analog-board__company-row { display: block; padding-top: 1rem; }
	.analog-board__company-row::before { display: block; margin-bottom: .75rem; }
	.analog-board__company-row dd { margin-top: .125rem; }
	.analog-profile__facts, .analog-member-layout:not(:has(.analog-member-layout__text > *)) .analog-profile__facts { grid-template-columns: minmax(0, 1fr); }
	.analog-member-stats { grid-template-columns: minmax(0, 1fr); }
	.is-style-analog-numbered > li { --num-w: 2.75rem; padding: 1rem 0 1.125rem var(--num-w); }
	.is-style-analog-numbered > li::before { top: 1rem; }
	.analog-form__grid { grid-template-columns: minmax(0, 1fr); }
	.analog-form__submit .wp-element-button { width: 100%; }
	.analog-news, .analog-posts__grid { grid-template-columns: minmax(0, 1fr) !important; }
	.analog-pagemedia__img img { height: 200px !important; }
	.analog-tabs ul { -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent); mask-image: linear-gradient(90deg, #000 82%, transparent); padding-right: 2rem; }
	.analog-main:has(.analog-pagemedia img) .analog-inset { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

@media print {
	.analog-site-header, .analog-footer, .analog-pending, .analog-form, .analog-explorer__nav, .analog-explorer__ctrl { display: none !important; }
	.analog-band--ink, .analog-cta__panel, .analog-coords-col { background: none !important; color: #000 !important; }
	.is-explorer .analog-adv { opacity: 1 !important; visibility: visible !important; transform: none !important; }
}

/* --------------------------------------------------------------------------
   Final polish (20 Oct 2026): hero composition, members wall, La LLD explorer,
   closing call to action. Desktop rules are width-scoped so the mobile compositions stay intact.
   -------------------------------------------------------------------------- */

/* Hero proportions (20 Oct 2026, client review): tighter rhythm above the photograph, and on desktop the
   panorama follows the viewport height so the key figures sit in the first screen (1920 x 1080, 1536 x 864,
   1440 x 900, 1366 x 768); with the 90 % root scale the panorama is 450 px at 1440 x 900. */
.analog-hero { padding-top: clamp(1.25rem, 2vw, 2rem); }
.analog-hero__foot { margin-top: clamp(1rem, 1.6vw, 1.375rem) !important; }
.analog-hero__media.alignfull { margin-top: clamp(1.5rem, 2vw, 1.875rem) !important; }
.analog-hero__media img { height: clamp(17.5rem, 34vw, 31.25rem) !important; }
@media (min-width: 1180px) { .analog-hero__media img { height: clamp(17.5rem, min(34vw, 100svh - 29rem), 31.25rem) !important; } }
@media (min-width: 901px) and (max-width: 1179px) { .analog-hero__media img { height: clamp(17.5rem, min(34vw, 100svh - 33rem), 31.25rem) !important; } }

/* Hero: below 1180 px the mission text and the actions stack instead of squeezing the text. */
@media (max-width: 1179px) {
	.analog-hero__foot { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.analog-hero__lead { max-width: 46em; }
	.analog-hero__actions { justify-content: flex-start; }
}

/* Hero refinement (21 Oct 2026, client): same composition, polished. The fleet photograph is framed on its middle
   rows; the headline is 6 % smaller from 701 px (phones unchanged); a little more air between the headline and the
   mission, set slightly tighter; on desktop the two actions stay on the right and sit on the baseline of the
   mission's last line. (Figures panel: the stacked caption now aligns with the figures, see the 1179 / 900 px rules.) */
.analog-hero__media img { object-position: 50% 55%; }
@media (min-width: 701px) { .analog-hero__title { font-size: calc(var(--fs-hero) * .94); } }
.analog-hero__foot { margin-top: clamp(1.25rem, 2vw, 1.75rem) !important; }
.analog-hero__lead { line-height: 1.55; }
@media (min-width: 1180px) { .analog-hero__foot { align-items: last baseline; } }

/* Members wall: calmer tile proportions, visible keyboard focus. */
.analog-wall__tile { aspect-ratio: 16 / 9; }
.analog-wall__tile:focus-visible { outline: 2px solid var(--cyan-ink); outline-offset: 3px; }
@media (max-width: 1023px) { .analog-wall__tile { aspect-ratio: 4 / 3; } }
@media (max-width: 700px) { .analog-wall__tile { aspect-ratio: 5 / 4; padding: .75rem .875rem; } }

/* La LLD: the photograph and the reading panel share one column; larger tabs, emphasised active tab. */
@media (min-width: 901px) {
	.analog-lld__head { margin-bottom: clamp(2rem, 3.5vw, 3rem) !important; }
	.analog-adv-grid.is-explorer { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: clamp(2rem, 5vw, 4.5rem); row-gap: .75rem; align-items: stretch; }
	.analog-explorer__nav { align-self: start; display: grid; gap: .25rem; border: 0; }
	.analog-explorer__tab { min-height: 54px; padding: .875rem 1rem; border: 0; border-radius: 12px; font-size: 1rem; color: rgba(255, 255, 255, .74); transition: color .25s, box-shadow .3s; }
	.analog-explorer__tab::after { display: none; }
	.analog-explorer__tab:hover { background: color-mix(in srgb, #fff 4%, var(--ink)); color: #fff; }
	.analog-explorer__tab[aria-selected="true"] { background: color-mix(in srgb, #fff 9%, var(--ink)); box-shadow: inset 3px 0 0 var(--cyan); color: #fff; }
	.analog-explorer__ctrl { align-self: end; }
	.is-explorer .analog-adv.is-active { display: flex; flex-direction: column; min-height: 100%; }
}
.is-explorer .analog-adv p, .is-explorer .analog-adv li { font-size: 1.0625rem; line-height: 1.75; color: rgba(255, 255, 255, .88); }
.is-explorer .analog-adv h3 { margin-bottom: 1.125rem; }
.analog-explorer__count { visibility: hidden; }
.analog-explorer__ctrl { justify-content: flex-end; }
@media (max-width: 900px) { .analog-explorer__nav { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); padding-right: 2.5rem; } }

/* Closing call to action: heading and a contact block in balance; the phone number is the primary action. */
.analog-cta__panel { align-items: center; padding: clamp(2rem, 4vw, 3.5rem) clamp(1.75rem, 4.5vw, 4rem); }
.analog-cta__panel::before { border-color: rgba(1, 161, 228, .2); }
.analog-cta__contact { justify-self: end; width: 100%; max-width: 27rem; padding: clamp(1.25rem, 2vw, 1.75rem); border-radius: 18px; background: color-mix(in srgb, #fff 6%, var(--ink)); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1); }
.analog-cta__phone a { display: inline-flex; align-items: center; gap: .875rem; min-height: 3rem; }
.analog-cta__phone a::before { content: ""; flex: none; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--cyan) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z' fill='%230a1a2e'/%3E%3C/svg%3E") center / 1.25rem no-repeat; transition: transform .35s var(--ease); }
.analog-cta__phone a:hover::before { transform: scale(1.06); }
.analog-cta__actions { margin-top: 1.25rem !important; padding-top: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.analog-cta .wp-block-button.is-style-analog-light .wp-block-button__link { min-height: 44px; padding: .5rem 0; border-radius: 0; background: none; color: #fff; box-shadow: inset 0 -1.5px 0 rgba(255, 255, 255, .55); }
.analog-cta .wp-block-button.is-style-analog-light .wp-block-button__link:hover { background: none; color: var(--cyan); box-shadow: inset 0 -1.5px 0 currentColor; }
@media (max-width: 900px) { .analog-cta__contact { justify-self: stretch; max-width: none; } }
/* Membership page on phones: the decorative photograph after the form only adds length. */
@media (max-width: 700px) { .analog-intro--form .analog-media-col { display: none; } }

/* WCAG 2.2 · 2.5.8: standalone contact links get a 24 px minimum target. */
.analog-coords__value a, .analog-members__facts a, .analog-profile__facts a, .analog-members__name a { display: inline-block; min-height: 24px; padding-block: .1875rem; }

/* ==========================================================================
   La LLD · « La LLD, en dossier » (20 Oct 2026). Page-specific: every rule is scoped to .analog-spread or
   .analog-advantages, which exist only on La LLD (the homepage explorer is untouched).
   Chapter 1 · an image-led spread: a quiet heading, the opening sentence as the statement (its two defined terms
   emphasised), the thesis, the explanation; the key-handover photograph bleeds off the right edge, full height.
   Chapter 2 · the eight advantages as numbered chapters: every title visible, the open one lifts into a white sheet
   whose layout follows its content (one column; paragraphs + list side by side; a list in two columns).
   ========================================================================== */
.analog-main:has(.analog-spread) .analog-pagemedia { display: none; }
/* La LLD type scale (client specification, 21 Oct 2026). Values at 1440 / 1920 px (root 14.4 px):
   page title 36 · section heading 26 · lead 18 · body 16 · accordion title 16 · accordion text 16 · labels 13.
   Phones (root 16 px): 32 · 22 · 17 · 16 · 16 · 16 · 13. Both section headings use the same token, and each
   heading is followed by a lead set two steps below it, so a heading always outranks the paragraph beneath it. */
.analog-main:has(.analog-spread) {
	--lld-h1: clamp(2rem, 1.4rem + 1.5vw, 2.5rem);
	--lld-h2: clamp(1.375rem, 1.1rem + .9vw, 1.8056rem);
	--lld-lead: clamp(1.0625rem, .95rem + .35vw, 1.25rem);
	--lld-body: var(--fs-read);
	--lld-label: 13px;
	--lld-desc: 15px;
}
.analog-main:has(.analog-spread) .analog-pagehead h1 { font-size: var(--lld-h1); letter-spacing: -.02em; }
/* Section headings (both sections): same size, weight, leading, tracking, brand rule and spacing to the lead. */
:is(.analog-spread__text, .analog-advantages .analog-section-head) h2 { margin: 0; max-width: 34ch; font-size: var(--lld-h2); font-weight: 600; line-height: 1.2; letter-spacing: -.01em; color: var(--ink); text-wrap: balance; }
:is(.analog-spread__text .analog-lead, .analog-adv-stage__sub) { margin: .875rem 0 0 !important; font-size: var(--lld-lead); font-weight: 400; line-height: 1.6; letter-spacing: 0; color: var(--ink); }

/* The photo bleeds to the screen edge, but its height follows the photo column (container units), so it widens on
   large screens instead of growing taller. */
.analog-spread { --bleed: max(var(--g), (100vw - var(--wide)) / 2); --gap: clamp(2.5rem, 5.5vw, 5.5rem); container-type: inline-size; display: grid; grid-template-columns: minmax(0, 12fr) minmax(0, 11fr); column-gap: var(--gap); align-items: start; }
.analog-spread > * { margin: 0 !important; }
.analog-spread__text > * { margin: 0; }
.analog-spread__text h2::before, .analog-advantages .analog-section-head h2::before { content: ""; display: block; width: 2rem; height: 3px; margin-bottom: 1rem; border-radius: 2px; background: var(--brand-rule); }
.analog-term { font-weight: 600; color: var(--ink); }
.analog-term--lld { color: var(--cyan-ink); }
.analog-spread__thesis { margin-top: 1.5rem !important; padding-top: 1.5rem; border-top: 1px solid var(--line); }
/* Body: the thesis and the two explanatory paragraphs share one style and one paragraph spacing. */
.analog-spread__text p:not(.analog-lead) { font-size: var(--lld-body); line-height: 1.7; color: var(--text); }
.analog-spread__text p:not(.analog-lead) + p { margin-top: 1rem; }
.analog-spread > .analog-spread__img { margin-right: calc(-1 * var(--bleed)) !important; }
.analog-spread__img img { display: block; width: 100%; height: calc((100cqw - var(--gap)) * 11 / 23 * .9) !important; object-fit: cover; object-position: 46% 50%; border-radius: var(--r-l) 0 0 var(--r-l); }
@media (max-width: 900px) {
	.analog-spread { grid-template-columns: minmax(0, 1fr); }
	.analog-spread__text { display: contents; }
	.analog-spread__text h2 { order: 1; }
	.analog-spread__text .analog-lead { order: 2; max-width: 41rem; }
	.analog-spread > .analog-spread__img { order: 3; min-height: 0; margin: 1.75rem calc(-1 * var(--g)) 0 !important; }
	.analog-spread__img img { position: static; height: auto !important; aspect-ratio: 16 / 10; border-radius: 0; }
	.analog-spread__text p:not(.analog-lead) { order: 4; max-width: 41rem; }
	.analog-spread__thesis { margin-top: 1.75rem !important; padding-top: 0; border-top: 0; }
}

/* Chapter 2 · heading */
.analog-advantages .analog-section-head { display: block; margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important; }
.analog-adv-stage__sub { max-width: 46rem; }

/* Chapter 2 · the chapters (accordion built by site.js) */
.analog-advantages .analog-adv-grid.is-accordion { --sheet: clamp(1rem, 2.2vw, 2rem); --num: 2.75rem; display: block; margin: 0; border-bottom: 1px solid #d3dbe5; }
.analog-advantages .is-accordion .analog-adv { position: relative; margin: 0; padding: 0; border-top: 1px solid #d3dbe5; border-radius: 0; background: none; color: var(--text); }
.analog-advantages .is-accordion .analog-adv::before { display: none; }
.analog-advantages .is-accordion .analog-adv h3 { margin: 0; font-size: inherit; line-height: inherit; }
.analog-acc__btn { display: grid; grid-template-columns: var(--num) minmax(0, 1fr) 2.25rem; align-items: center; column-gap: 1rem; width: 100%; min-height: 3.875rem; padding: .875rem 0; border: 0; background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.analog-acc__num { font-size: var(--lld-label); font-weight: 600; line-height: 1; letter-spacing: .04em; color: var(--stone); font-variant-numeric: tabular-nums lining-nums; }
.analog-acc__title { font-size: var(--lld-body); font-weight: 600; line-height: 1.4; }
.analog-acc__icon { position: relative; justify-self: end; width: 2.25rem; height: 2.25rem; border-radius: 50%; box-shadow: inset 0 0 0 1px #c3cdd9; }
.analog-acc__icon::before, .analog-acc__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: .875rem; height: 1.5px; margin: -.75px 0 0 -.4375rem; border-radius: 1px; background: currentColor; }
.analog-acc__icon::after { transform: rotate(90deg); }
.analog-acc__btn:hover .analog-acc__num { color: var(--cyan-ink); }
.analog-acc__btn:hover .analog-acc__icon { box-shadow: inset 0 0 0 1px var(--ink); }
.analog-acc__btn:focus-visible { outline-offset: 4px; }

/* The open chapter: a white sheet lifted from the paper (inset so the text stays on the same alignment). */
.analog-advantages .is-accordion .analog-adv.is-open { z-index: 1; margin-inline: calc(-1 * var(--sheet)) !important; padding-inline: var(--sheet); border-top-color: transparent; border-radius: var(--r-l); background: #fff; box-shadow: 0 34px 60px -44px rgba(10, 26, 46, .45); }
.analog-advantages .is-accordion .analog-adv.is-open + .analog-adv { border-top-color: transparent; }
.analog-adv.is-open .analog-acc__num { color: var(--cyan-ink); }
.analog-adv.is-open .analog-acc__icon { background: var(--ink); box-shadow: none; color: #fff; }
.analog-adv.is-open .analog-acc__icon::after { transform: none; opacity: 0; }

.analog-acc__body { padding: 0 0 clamp(1.75rem, 3vw, 2.5rem) calc(var(--num) + 1rem); }
.analog-acc__body { margin-top: .25rem; } /* replaces the inherited block gap: title → text about 22 px (was 32) */
.analog-acc__body[hidden] { display: none; }
.analog-acc__body > * { margin: 0; }
.analog-acc__body > * + * { margin-top: .75rem; }
.analog-acc__body p, .analog-acc__body li { font-size: var(--lld-desc); font-weight: 400; line-height: 1.6; color: var(--text); }
.analog-acc__body .is-style-analog-check > li { padding-block: .1875rem; }
/* Paragraphs then a list (advantage 04): the list sits beside the paragraph that introduces it. */
/* Layout by content type, decided by the chapter's own width (container query):
   · paragraphs only: one column at the reading measure, aligned under the title;
   · paragraphs + list (04): paragraphs at the left, the list beside them beyond a hairline (wide chapters only);
   · list only (05): two columns (wide chapters only). Narrow chapters stack everything in one column. */
.analog-advantages .is-accordion .analog-adv { container-type: inline-size; }
@container (min-width: 48rem) {
	.analog-acc__body:has(> p + ul, > p + ol) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(1.75rem, 3vw, 2.75rem); }
	.analog-acc__body:has(> p + ul, > p + ol) > p { grid-column: 1; max-width: none; }
	.analog-acc__body:has(> p + ul, > p + ol) > :is(ul, ol) { grid-column: 2; grid-row: 1 / span 9; align-self: start; max-width: none; margin-top: 0; padding-left: clamp(1.25rem, 2.2vw, 1.75rem); border-left: 1px solid var(--line); }
	.analog-acc__body:not(:has(> p)) > :is(ul, ol) { max-width: none; columns: 2; column-gap: clamp(1.75rem, 3vw, 2.75rem); }
	.analog-acc__body:not(:has(> p)) > :is(ul, ol) > li { break-inside: avoid; }
}

@media (max-width: 900px) {
	.analog-advantages .analog-adv-grid.is-accordion { --num: 2.5rem; --sheet: .875rem; }
	.analog-acc__btn { column-gap: .75rem; min-height: 3.5rem; padding: .875rem 0; }
	.analog-acc__body { padding-left: 0; }
}
@media print { .analog-acc__body[hidden] { display: block; } }
/* No scroll anchoring on this page: opening a chapter must not scroll the page (the script keeps the opened title
   in view instead). */
html:has(.analog-advantages .is-accordion) { overflow-anchor: none; }
