/*
 * CYBERLEN – mouvement et habillage graphique (chargé sur tout le site par le mu-plugin cyberlen-seo).
 * Fil conducteur : la fine ligne de progression du diaporama d'accueil, reprise pour la barre de lecture,
 * les titres, le sommaire et les étapes. Tout est désactivé si le visiteur a demandé moins d'animations.
 */

/* ---------- 1. Transition entre les pages (navigateurs récents ; sans effet ailleurs) ---------- */
@view-transition { navigation: auto; }
@keyframes cy-vt-out { to { opacity: 0; } }
@keyframes cy-vt-in { from { opacity: 0; transform: translateY(12px); } }
::view-transition-old(root) { animation: cy-vt-out .22s cubic-bezier(.4, 0, .2, 1) both; }
::view-transition-new(root) { animation: cy-vt-in .45s cubic-bezier(.2, .7, .2, 1) both; }

/* ---------- 2. Barre de progression de lecture ---------- */
.cy-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 100001; pointer-events: none; }
.admin-bar .cy-progress { top: 32px; }
.cy-progress::before { content: ""; display: block; height: 100%; background: linear-gradient(90deg, #5e7982, #c9d3d6); transform-origin: 0 50%; transform: scaleX(var(--cy-p, 0)); }
@keyframes cy-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@supports (animation-timeline: scroll()) {
	.cy-progress--css::before { animation: cy-grow linear both; animation-timeline: scroll(root block); }
}

/* ---------- 3. Apparition au défilement (classes posées par cy-motion.js, donc rien n'est masqué sans JavaScript) ---------- */
.cy-rv { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1) var(--cy-d, 0ms), transform .8s cubic-bezier(.2, .7, .2, 1) var(--cy-d, 0ms) !important; will-change: opacity, transform; }
.cy-rv.cy-in { opacity: 1; transform: none; }

/* ---------- 4. Bandeau de titre des pages : le titre monte, la ligne se trace ---------- */
@keyframes cy-rise { from { opacity: 0; transform: translateY(22px); } }
@keyframes cy-draw { from { transform: scaleX(0); } }
.qodef-page-title .qodef-m-title { animation: cy-rise .9s cubic-bezier(.2, .7, .2, 1) .05s both; }
.qodef-page-title.qodef-title--standard { overflow: hidden; }
.qodef-page-title.qodef-title--standard::before,
.qodef-page-title.qodef-title--standard::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; z-index: 2; }
.qodef-page-title.qodef-title--standard::before { width: 100%; background: rgba(255, 255, 255, .18); }
.qodef-page-title.qodef-title--standard::after { width: 38%; background: #fff; transform-origin: 0 50%; animation: cy-draw 1.4s cubic-bezier(.65, 0, .35, 1) .25s both; }

/* ---------- 5. Survols ---------- */
/* Liens dans les textes : le soulignement se trace de gauche à droite. */
.cy-doc .qodef-page-content-section p a,
.cy-doc .qodef-page-content-section li a,
.elementor-widget-text-editor p a:not(.qodef-button):not([class*="qodef-link"]),
.elementor-widget-text-editor li a:not([class*="qodef-link"]) { text-decoration: none; background-image: linear-gradient(currentColor, currentColor), linear-gradient(rgba(34, 48, 53, .28), rgba(34, 48, 53, .28)); background-repeat: no-repeat; background-position: 0 100%, 0 100%; background-size: 0 1px, 100% 1px; transition: background-size .45s cubic-bezier(.2, .7, .2, 1), color .25s; padding-bottom: 1px; }
.cy-doc .qodef-page-content-section p a:hover,
.cy-doc .qodef-page-content-section li a:hover,
.elementor-widget-text-editor p a:not(.qodef-button):not([class*="qodef-link"]):hover,
.elementor-widget-text-editor li a:not([class*="qodef-link"]):hover { background-size: 100% 1px, 100% 1px; }
/* Images du blog et images simples : léger zoom. */
.qodef-blog .qodef-e-media-image, .elementor-widget-image .elementor-widget-container { overflow: hidden; }
.qodef-blog .qodef-e-media-image img, .elementor-widget-image img { transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.qodef-blog .qodef-e-media-image:hover img, .elementor-widget-image:hover img { transform: scale(1.04); }

/* ---------- 6. Accueil : les quatre services du texte de présentation deviennent quatre cartes ---------- */
/* Le bloc occupait 70 % de la largeur : les cartes prennent toute la ligne, le texte garde une longueur de ligne confortable. */
.elementor-element.elementor-element-cy10ca4 { width: 100% !important; max-width: 100% !important; }
.elementor-element-cy10ca4 p { max-width: 820px; }
.elementor-element-cy10ca4 ul { list-style: none; margin: 34px 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.elementor-element-cy10ca4 ul li { position: relative; margin: 0; padding: 26px 24px 58px; background: #fff; border-radius: 4px; font-size: 15px !important; line-height: 1.55 !important; color: #5c696e; transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s cubic-bezier(.2, .7, .2, 1), background-color .45s, color .45s; }
.elementor-element-cy10ca4 ul li::before { content: none; }
.elementor-element-cy10ca4 ul li a { display: block; margin-bottom: 10px; background: none !important; padding: 0; font-family: "Dm Sans", sans-serif; font-size: 20px; line-height: 1.3; color: #20282d; transition: color .45s; }
.elementor-element-cy10ca4 ul li a strong { font-weight: 500; }
.elementor-element-cy10ca4 ul li a::after { content: ""; position: absolute; inset: 0; }
.elementor-element-cy10ca4 ul li::after { content: ""; position: absolute; left: 24px; bottom: 24px; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='.9'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='.9'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.elementor-element-cy10ca4 ul li:hover, .elementor-element-cy10ca4 ul li:focus-within { transform: translateY(-6px); background: #223035; color: rgba(255, 255, 255, .78); box-shadow: 0 22px 40px -22px rgba(34, 48, 53, .55); }
.elementor-element-cy10ca4 ul li:hover a, .elementor-element-cy10ca4 ul li:focus-within a { color: #fff; }
.elementor-element-cy10ca4 ul li:hover::after, .elementor-element-cy10ca4 ul li:focus-within::after { transform: translate(4px, -4px); }
.elementor-element-cy10ca4 ul li a:focus-visible { outline: none; }
.elementor-element-cy10ca4 ul li:focus-within { outline: 2px solid #223035; outline-offset: 3px; }
@media only screen and (max-width: 1024px) { .elementor-element-cy10ca4 ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media only screen and (max-width: 600px) { .elementor-element-cy10ca4 ul { grid-template-columns: 1fr; gap: 12px; } .elementor-element-cy10ca4 ul li { padding: 22px 20px 52px; } .elementor-element-cy10ca4 ul li::after { left: 20px; bottom: 20px; } }

/* ---------- 7. Pages de texte (pages de service, politique de confidentialité) ---------- */
.cy-doc #qodef-page-inner { padding-top: 84px; padding-bottom: 110px; }
.cy-doc .qodef-page-content-section { max-width: 760px; margin-left: auto; margin-right: auto; }
.cy-doc .qodef-page-content-section > * { margin-top: 0; margin-bottom: 0; }
.cy-doc .qodef-page-content-section > * + * { margin-top: 20px; }
.cy-doc .qodef-page-content-section > p,
.cy-doc .qodef-page-content-section li,
.cy-doc .cy-faq-a p { font-size: 17px; line-height: 1.72; color: #3f4c52; }
/* Premier paragraphe : chapeau. */
.cy-doc .qodef-page-content-section > p:first-of-type { font-family: "Dm Sans", sans-serif; font-size: 23px; line-height: 1.5; color: #20282d; }
.cy-doc .qodef-page-content-section > h2 { margin-top: 76px; font-size: 34px; line-height: 1.2; scroll-margin-top: 130px; }
.cy-doc .qodef-page-content-section > h2::before { content: ""; display: block; width: 56px; height: 2px; margin-bottom: 26px; background: #223035; transform-origin: 0 50%; transition: transform .9s cubic-bezier(.65, 0, .35, 1) .2s; }
.cy-doc .qodef-page-content-section > h2.cy-rv:not(.cy-in)::before { transform: scaleX(0); }
.cy-doc .qodef-page-content-section > h2 + * { margin-top: 24px; }
/* Listes à puces : coche dans un cercle. */
.cy-doc .qodef-page-content-section > ul.wp-block-list { list-style: none; padding: 0; margin-left: 0; }
.cy-doc .qodef-page-content-section > ul.wp-block-list > li { position: relative; padding: 13px 0 13px 42px; border-bottom: 1px solid #e6e9ea; }
.cy-doc .qodef-page-content-section > ul.wp-block-list > li:first-child { border-top: 1px solid #e6e9ea; }
.cy-doc .qodef-page-content-section > ul.wp-block-list > li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 22px; height: 22px; border: 1px solid #223035; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='m6.5 11.3 3 3 6-6.4' fill='none' stroke='%23223035' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
/* Listes numérotées : étapes reliées par une ligne. */
.cy-doc .qodef-page-content-section > ol.wp-block-list { list-style: none; padding: 0; margin-left: 0; counter-reset: cy-step; }
.cy-doc .qodef-page-content-section > ol.wp-block-list > li { position: relative; counter-increment: cy-step; padding: 6px 0 30px 62px; min-height: 42px; }
.cy-doc .qodef-page-content-section > ol.wp-block-list > li:last-child { padding-bottom: 6px; }
.cy-doc .qodef-page-content-section > ol.wp-block-list > li::before { content: counter(cy-step); position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%; background: #223035; color: #fff; font-family: "Dm Sans", sans-serif; font-size: 16px; font-weight: 500; line-height: 40px; text-align: center; }
.cy-doc .qodef-page-content-section > ol.wp-block-list > li::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 6px; width: 1px; background: #cfd6d8; }
.cy-doc .qodef-page-content-section > ol.wp-block-list > li:last-child::after { content: none; }
/* Questions fréquentes : chaque question s'ouvre et se referme (structure posée par cy-motion.js). */
.cy-doc .qodef-page-content-section > h3 { margin-top: 34px; font-size: 21px; line-height: 1.35; font-weight: 500; }
.cy-doc .cy-faq { margin-top: 0 !important; border-bottom: 1px solid #dfe3e4; }
.cy-doc h2 + .cy-faq { margin-top: 28px !important; border-top: 1px solid #dfe3e4; }
.cy-doc .cy-faq summary { position: relative; display: block; padding: 22px 54px 22px 0; cursor: pointer; list-style: none; }
.cy-doc .cy-faq summary::-webkit-details-marker { display: none; }
.cy-doc .cy-faq summary h3 { margin: 0; font-size: 20px; line-height: 1.4; font-weight: 500; transition: color .25s; }
.cy-doc .cy-faq summary::before, .cy-doc .cy-faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 16px; height: 1px; background: #223035; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.cy-doc .cy-faq summary::after { transform: rotate(90deg); }
.cy-doc .cy-faq[open] summary::after { transform: rotate(0deg); }
.cy-doc .cy-faq summary:focus-visible { outline: 2px solid #223035; outline-offset: 4px; }
.cy-doc .cy-faq-a { padding: 0 54px 24px 0; }
.cy-doc .cy-faq-a > * { margin: 0; }
.cy-doc .cy-faq-a > * + * { margin-top: 12px; }
@supports (interpolate-size: allow-keywords) {
	.cy-doc .cy-faq { interpolate-size: allow-keywords; }
	.cy-doc .cy-faq::details-content { height: 0; overflow: clip; transition: height .5s cubic-bezier(.2, .7, .2, 1), content-visibility .5s allow-discrete; }
	.cy-doc .cy-faq[open]::details-content { height: auto; }
}
/* Liens vers les autres services et bouton de contact. */
.cy-doc .cy-autres-services { margin-top: 56px !important; font-size: 15px !important; color: #6b7a7f !important; }
.cy-doc .wp-block-buttons { margin-top: 34px !important; }
.cy-doc .wp-block-button__link { display: inline-flex; align-items: center; gap: 12px; padding: 14px 34px; border: 1px solid #223035; border-radius: 40px; background: #223035; color: #fff; font-family: "Dm Sans", sans-serif; font-size: 15px; font-weight: 500; line-height: 1.4; transition: background-color .35s, color .35s; }
.cy-doc .wp-block-button__link::after { content: ""; width: 10px; height: 10px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.cy-doc .wp-block-button__link:hover, .cy-doc .wp-block-button__link:focus-visible { background: transparent; color: #223035; }
.cy-doc .wp-block-button__link:hover::after, .cy-doc .wp-block-button__link:focus-visible::after { transform: translate(3px, -3px); }

/* ---------- 8. Page « Mes clients » ---------- */
/* En-tête : même principe que la page À propos (photo, panneau sombre flouté à gauche, titre en bas). */
.elementor-element-cycl003 h1.elementor-heading-title { font-family: "Dm Sans", sans-serif; font-size: 42px; font-weight: 400; line-height: 1.2; }
.elementor-element-cycl004 p.elementor-heading-title { font-family: "Roboto", "Heebo", sans-serif; font-size: 22px; font-weight: 400; line-height: 1.4; color: rgba(255, 255, 255, .82); }
.elementor-element.elementor-element-cycl004 { margin-top: 14px; }
/* Phrase d'introduction au-dessus de la grille. */
.elementor-element-cycl007 p { max-width: 760px; margin: 0; font-family: "Dm Sans", sans-serif; font-size: 23px !important; line-height: 1.5 !important; color: #20282d; }
.elementor-element.elementor-element-cycl007 { margin-bottom: 54px; }
/* Grille : cases de même taille, logos en gris au repos et en couleur au survol, nom du client sous le logo. */
.cy-clients { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #d5dbdd; border-left: 1px solid #d5dbdd; }
.cy-clients > li { margin: 0; padding: 0; border-right: 1px solid #d5dbdd; border-bottom: 1px solid #d5dbdd; }
.cy-clients > li::before { content: none; }
.cy-client { position: relative; display: flex; align-items: center; justify-content: center; height: 100%; min-height: 218px; padding: 30px 26px 62px; background: #fff; color: #20282d; transition: background-color .45s; }
.cy-client-logo { display: flex; align-items: center; justify-content: center; }
.cy-client-logo img { max-width: 100%; height: auto; filter: grayscale(1); opacity: .68; transition: filter .5s, opacity .5s, transform .7s cubic-bezier(.2, .7, .2, 1); }
.cy-client-name { position: absolute; left: 24px; right: 52px; bottom: 20px; font-family: "Dm Sans", sans-serif; font-size: 14px; line-height: 1.35; color: #7b898e; transition: color .35s; }
a.cy-client::after { content: ""; position: absolute; right: 24px; bottom: 23px; width: 11px; height: 11px; background: #223035; opacity: 0; transform: translate(-5px, 5px); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='1'/%3E%3C/svg%3E") center/contain no-repeat; transition: opacity .35s, transform .45s cubic-bezier(.2, .7, .2, 1); }
a.cy-client:hover, a.cy-client:focus-visible { background: #f3f5f5; }
a.cy-client:hover .cy-client-logo img, a.cy-client:focus-visible .cy-client-logo img { filter: none; opacity: 1; transform: scale(1.05); }
a.cy-client:hover .cy-client-name, a.cy-client:focus-visible .cy-client-name { color: #20282d; }
a.cy-client:hover::after, a.cy-client:focus-visible::after { opacity: 1; transform: none; }
a.cy-client:focus-visible { outline: 2px solid #223035; outline-offset: -2px; }
/* Dernière case : invitation à prendre contact. Elle remplit ce qui reste de la dernière ligne. */
.cy-clients > .cy-clients-cta { grid-column: span var(--cy-span-4, 1); background: #223035; }
.cy-clients-cta a { display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; height: 100%; min-height: 218px; padding: 30px 26px 26px; color: #fff; }
.cy-clients-cta-title { font-family: "Dm Sans", sans-serif; font-size: 26px; line-height: 1.2; }
.cy-clients-cta-link { display: inline-flex; align-items: center; gap: 10px; font-family: "Dm Sans", sans-serif; font-size: 15px; color: rgba(255, 255, 255, .78); transition: color .35s; }
.cy-clients-cta-link::after { content: ""; width: 10px; height: 10px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.8 9.8'%3E%3Cpath d='M.4 9.4 9.3.5M1.7.5h7.6v7.6' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }
.cy-clients-cta a:hover .cy-clients-cta-link, .cy-clients-cta a:focus-visible .cy-clients-cta-link { color: #fff; }
.cy-clients-cta a:hover .cy-clients-cta-link::after, .cy-clients-cta a:focus-visible .cy-clients-cta-link::after { transform: translate(4px, -4px); }
.cy-clients-cta a:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }
@media only screen and (max-width: 1024px) {
	.cy-clients { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cy-clients > .cy-clients-cta { grid-column: span var(--cy-span-3, 1); }
	.elementor-element-cycl003 h1.elementor-heading-title { font-size: 34px; }
}
@media only screen and (max-width: 680px) {
	.cy-clients { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cy-clients > .cy-clients-cta { grid-column: span var(--cy-span-2, 1); }
	.cy-client { min-height: 168px; padding: 22px 16px 54px; }
	.cy-client-logo img { max-width: 82%; max-height: 74px; width: auto; filter: none; opacity: 1; }
	.cy-client-name { left: 14px; right: 14px; bottom: 14px; font-size: 13px; }
	a.cy-client::after { content: none; }
	.cy-clients-cta a { min-height: 168px; padding: 20px 16px 18px; }
	.cy-clients-cta-title { font-size: 21px; }
	.elementor-element-cycl003 h1.elementor-heading-title { font-size: 28px; line-height: 1.25; }
	.elementor-element-cycl004 p.elementor-heading-title { font-size: 17px; }
	.elementor-element-cycl007 p { font-size: 19px !important; }
	.elementor-element.elementor-element-cycl007 { margin-bottom: 34px; }
}

/* Sommaire (posé par cy-motion.js) : colonne fixe à gauche sur grand écran, masqué ailleurs. */
.cy-toc { display: none; }
@media only screen and (min-width: 1180px) {
	.cy-has-toc .qodef-page-content-section { display: grid; grid-template-columns: 230px minmax(0, 740px); column-gap: 96px; justify-content: center; max-width: none; }
	.cy-has-toc .qodef-page-content-section > * { grid-column: 2; }
	.cy-has-toc .qodef-page-content-section > .cy-toc { display: block; grid-column: 1; grid-row: 1 / span 400; align-self: start; position: sticky; top: 150px; margin: 6px 0 0; }
	.cy-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid #dfe3e4; }
	.cy-toc li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	.cy-toc li::before, .cy-toc li::after { content: none !important; }
	.cy-toc a { display: block; margin-left: -1px; padding: 8px 0 8px 20px; border-left: 1px solid transparent; font-family: "Dm Sans", sans-serif; font-size: 14px; line-height: 1.4; color: #7b898e; transition: color .3s, border-color .3s, padding-left .3s cubic-bezier(.2, .7, .2, 1); }
	.cy-doc .qodef-page-content-section .cy-toc a { background-image: none; }
	.cy-toc a:hover { color: #20282d; }
	.cy-toc a.cy-on { color: #20282d; border-left-color: #223035; padding-left: 26px; }
}

@media only screen and (max-width: 767px) {
	.cy-doc #qodef-page-inner { padding-top: 44px; padding-bottom: 70px; }
	.cy-doc .qodef-page-content-section > p, .cy-doc .qodef-page-content-section li, .cy-doc .cy-faq-a p { font-size: 16px !important; line-height: 1.65 !important; }
	.cy-doc .qodef-page-content-section > p:first-of-type { font-size: 19px !important; line-height: 1.5 !important; }
	.cy-doc .qodef-page-content-section > h2 { margin-top: 54px; font-size: 26px; scroll-margin-top: 90px; }
	.cy-doc .qodef-page-content-section > h2::before { margin-bottom: 20px; }
	.cy-doc .cy-faq summary { padding: 18px 44px 18px 0; }
	.cy-doc .cy-faq summary h3 { font-size: 18px; }
	.cy-doc .cy-faq-a { padding-right: 0; }
	.cy-doc .qodef-page-content-section > ol.wp-block-list > li { padding-left: 56px; }
	.qodef-page-title.qodef-title--standard::after { width: 56%; }
}

/* ---------- Moins d'animations si le visiteur l'a demandé ---------- */
@media (prefers-reduced-motion: reduce) {
	::view-transition-old(root), ::view-transition-new(root) { animation: none; }
	.cy-rv { opacity: 1; transform: none; transition: none !important; }
	.qodef-page-title .qodef-m-title, .qodef-page-title.qodef-title--standard::after { animation: none; }
	.cy-doc .qodef-page-content-section > h2::before { transition: none; transform: none !important; }
	.elementor-element-cy10ca4 ul li, .elementor-widget-image img, .qodef-blog .qodef-e-media-image img { transition: none; }
	.cy-client, .cy-client-logo img, a.cy-client::after, .cy-clients-cta-link::after { transition: none; }
}

/* ---------- Impression : rien d'animé, rien de masqué ---------- */
@media print {
	.cy-rv { opacity: 1 !important; transform: none !important; }
	.cy-progress, .cy-toc { display: none !important; }
}
