/* === REALISATION DETAIL — Critical CSS === */

/* Top wrapper — no WP constraints on children */
.realisation-detail.is-layout-flow > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Global reset for all is-layout-flow children inside realisation-detail */
.realisation-detail .is-layout-flow > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; }

/* Hero */
.wp-block-group.project-hero { padding-top: 120px !important; background: var(--beige) !important; overflow: hidden !important; position: relative !important; }
.realisation-detail .wp-block-group.hero-inner,
.realisation-detail .wp-block-group.hero-inner.is-layout-flow { max-width: 1200px !important; margin: 0 auto !important; padding: 80px 48px 0 !important; display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 64px !important; align-items: end !important; }
.realisation-detail .wp-block-group.hero-left { padding-bottom: 64px !important; }
p.hero-back { font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--gray) !important; margin-bottom: 32px !important; }
p.hero-back a { color: var(--gray) !important; text-decoration: none !important; }
p.project-tag { font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--red) !important; margin-bottom: 20px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
p.project-tag::before { content: '' !important; display: inline-block !important; width: 20px !important; height: 1px !important; background: var(--red) !important; }
h1.project-title, .wp-block-heading.project-title { font-family: 'Space Grotesk', sans-serif !important; font-weight: 700 !important; font-size: clamp(36px, 4.5vw, 62px) !important; letter-spacing: -.03em !important; line-height: .95 !important; color: var(--black) !important; margin-bottom: 24px !important; }
h1.project-title em, .wp-block-heading.project-title em { font-style: normal !important; color: var(--red) !important; }
p.project-summary { font-size: 17px !important; line-height: 1.7 !important; color: var(--gray) !important; font-weight: 300 !important; max-width: 420px !important; margin-bottom: 40px !important; }
p.project-summary strong { color: var(--black) !important; font-weight: 500 !important; }
a.project-site-link { display: inline-flex !important; align-items: center !important; gap: 8px !important; font-family: 'Space Grotesk', sans-serif !important; font-size: 13px !important; font-weight: 600 !important; color: var(--white) !important; background: var(--black) !important; padding: 12px 28px !important; border-radius: 100px !important; text-decoration: none !important; margin-bottom: 40px !important; transition: background 0.2s !important; }
a.project-site-link:hover { background: var(--red) !important; }
.wp-block-group.hero-meta-grid, .wp-block-group.hero-meta-grid.is-layout-flow { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 1px !important; background: var(--beige-dark) !important; border: 1px solid var(--beige-dark) !important; border-radius: 12px !important; overflow: hidden !important; }
.wp-block-group.meta-item { background: var(--beige) !important; padding: 16px 20px !important; }
p.meta-label { font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--gray-light) !important; margin-bottom: 4px !important; }
p.meta-value { font-size: 14px !important; font-weight: 500 !important; color: var(--black) !important; }
.wp-block-group.hero-right { position: relative !important; align-self: stretch !important; display: flex !important; flex-direction: column !important; align-items: flex-end !important; justify-content: flex-end !important; }
.project-hero-tags { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; justify-content: flex-end !important; margin-bottom: 20px !important; }
.project-hero-tag { display: inline-block !important; padding: 6px 16px !important; background: rgba(247,42,33,0.08) !important; color: var(--red) !important; font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; border-radius: 100px !important; white-space: nowrap !important; }
.wp-block-group.hero-mockup-wrap, .wp-block-group.hero-mockup-wrap.is-layout-flow { width: 100% !important; min-height: 580px !important; position: relative !important; display: block !important; }
.wp-block-group.hero-mockup-main, .wp-block-group.hero-mockup-main.is-layout-flow { position: absolute !important; bottom: 0 !important; right: 0 !important; width: 100% !important; border-radius: 16px 16px 0 0 !important; overflow: hidden !important; box-shadow: 0 -20px 60px rgba(13,13,13,.08) !important; display: block !important; background: #fff !important; }
.wp-block-group.hero-mockup-float, .wp-block-group.hero-mockup-float.is-layout-flow { position: absolute !important; top: 20px !important; left: 0 !important; width: 42% !important; background: #fff !important; border-radius: 12px !important; border: 1px solid var(--beige-dark) !important; box-shadow: 0 16px 48px rgba(13,13,13,.1) !important; z-index: 2 !important; overflow: hidden !important; display: block !important; }
.wp-block-group.hero-mockup-main .wp-block-image, .wp-block-group.hero-mockup-float .wp-block-image { width: 100% !important; }
.wp-block-group.hero-mockup-main .wp-block-image img, .wp-block-group.hero-mockup-float .wp-block-image img { width: 100% !important; height: auto !important; object-fit: contain !important; }
p.hero-number { display: none !important; }

/* KPIs */
.wp-block-group.kpi-band, .wp-block-group.kpi-band.is-layout-flow { background: var(--black) !important; padding: 64px 48px !important; }
.wp-block-group.kpi-inner, .wp-block-group.kpi-inner.is-layout-flow { max-width: 1200px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }
.wp-block-group.kpi-item { padding: 40px 32px !important; border-right: 1px solid rgba(255,255,255,.06) !important; text-align: center !important; }
.wp-block-group.kpi-item:last-child { border-right: none !important; }
p.kpi-number { font-family: 'Space Grotesk', sans-serif !important; font-weight: 800 !important; font-size: clamp(36px, 4vw, 60px) !important; letter-spacing: -.03em !important; line-height: 1 !important; color: var(--white) !important; margin-bottom: 8px !important; }
p.kpi-number mark.kpi-suffix { color: var(--red) !important; background: none !important; }
p.kpi-label { font-size: 13px !important; color: rgba(255,255,255,.4) !important; font-weight: 300 !important; line-height: 1.5 !important; }

/* Section shared */
.realisation-detail .wp-block-group.section-pad, .realisation-detail .wp-block-group.section-pad.is-layout-flow { padding: 100px 48px !important; }
.realisation-detail .wp-block-group.section-inner, .realisation-detail .wp-block-group.section-inner.is-layout-flow { max-width: 1200px !important; margin: 0 auto !important; }
.realisation-detail .wp-block-group p.section-tag { font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--red) !important; display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 28px !important; line-height: 1.4 !important; }
.realisation-detail .wp-block-group p.section-tag::before { content: '' !important; display: inline-block !important; width: 20px !important; height: 1px !important; background: var(--red) !important; }
.realisation-detail h2.section-title, .realisation-detail .wp-block-heading.section-title { font-family: 'Playfair Display', serif !important; font-weight: 700 !important; font-size: clamp(28px, 3.5vw, 48px) !important; letter-spacing: -.02em !important; line-height: 1.15 !important; color: var(--black) !important; margin-bottom: 24px !important; white-space: normal !important; }
.realisation-detail h2.section-title em, .realisation-detail .wp-block-heading.section-title em { font-style: italic !important; color: var(--red) !important; }

/* Context grid */
.wp-block-group.context-grid, .wp-block-group.context-grid.is-layout-flow { display: grid !important; grid-template-columns: 1.2fr 1fr !important; gap: 80px !important; align-items: start !important; }
.wp-block-group.context-text p:not(.section-tag) { font-size: 17px !important; line-height: 1.8 !important; color: #4A4845 !important; font-weight: 300 !important; margin-bottom: 20px !important; }
.wp-block-group.context-text p:not(.section-tag):last-of-type { margin-bottom: 0 !important; }
.wp-block-group.context-text strong { color: var(--black) !important; font-weight: 500 !important; }
.wp-block-group.context-aside, .wp-block-group.context-aside.is-layout-flow { display: flex !important; flex-direction: column !important; gap: 16px !important; position: sticky !important; top: 92px !important; }
.wp-block-group.insight-card, .wp-block-group.insight-card.is-layout-flow { background: var(--beige) !important; border-radius: 12px !important; padding: 24px !important; position: relative !important; overflow: hidden !important; }
.wp-block-group.insight-card::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 3px !important; height: 100% !important; background: var(--red) !important; }
p.insight-label { font-family: 'Space Grotesk', sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--red) !important; margin-bottom: 8px !important; }
p.insight-text { font-size: 15px !important; line-height: 1.6 !important; color: var(--gray) !important; font-weight: 300 !important; }
p.insight-text strong { color: var(--black) !important; font-weight: 500 !important; }

/* Visual fullwidth */
.wp-block-group.visual-fullwidth, .wp-block-group.visual-fullwidth.is-layout-flow { background: var(--white) !important; display: block !important; overflow: hidden !important; }
.wp-block-group.visual-fullwidth .wp-block-image { width: 100% !important; }
.wp-block-group.visual-fullwidth .wp-block-image img { width: 100% !important; height: auto !important; object-fit: contain !important; display: block !important; }
p.visual-fullwidth-label { display: none !important; }

/* Approche */
.wp-block-group.approche-section { background: var(--beige) !important; }
.wp-block-group.approche-grid, .wp-block-group.approche-grid.is-layout-flow { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 80px !important; align-items: center !important; }
.wp-block-group.approche-steps, .wp-block-group.approche-steps.is-layout-flow { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.wp-block-group.step-item, .wp-block-group.step-item.is-layout-flow { display: flex !important; gap: 24px !important; padding: 28px 0 !important; border-bottom: 1px solid var(--beige-dark) !important; cursor: pointer !important; }
.wp-block-group.step-item:first-child { padding-top: 0 !important; }
.wp-block-group.step-item:last-child { border-bottom: none !important; padding-bottom: 0 !important; }
p.step-num { font-family: 'Space Grotesk', sans-serif !important; font-weight: 800 !important; font-size: 11px !important; color: var(--gray-light) !important; letter-spacing: .1em !important; flex-shrink: 0 !important; padding-top: 3px !important; width: 28px !important; transition: color .25s !important; }
.wp-block-group.step-item.active p.step-num { color: var(--red) !important; }
.wp-block-group.step-content, .wp-block-group.step-content.is-layout-flow { flex: 1 !important; min-width: 0 !important; }
p.step-content-title { font-family: 'Space Grotesk', sans-serif !important; font-weight: 700 !important; font-size: 16px !important; color: var(--black) !important; margin-bottom: 8px !important; }
.wp-block-group.step-item.active p.step-content-title { color: var(--red) !important; }
p.step-content-text { font-size: 15px !important; line-height: 1.65 !important; color: var(--gray) !important; font-weight: 300 !important; max-height: 0 !important; overflow: hidden !important; opacity: 0 !important; transition: max-height .4s ease, opacity .3s !important; }
.wp-block-group.step-item.active p.step-content-text { max-height: 200px !important; opacity: 1 !important; }
.wp-block-group.approche-visual, .wp-block-group.approche-visual.is-layout-flow { position: relative !important; overflow: visible !important; }
.wp-block-group.approche-img-main, .wp-block-group.approche-img-main.is-layout-flow { position: relative !important; background: transparent !important; border-radius: 0 !important; overflow: visible !important; display: block !important; }
.wp-block-group.approche-img-main .wp-block-image { width: 100% !important; }
.wp-block-group.approche-img-main .wp-block-image img { width: 100% !important; height: auto !important; object-fit: contain !important; display: block !important; }
.wp-block-group.approche-img-float, .wp-block-group.approche-img-float.is-layout-flow { position: absolute !important; bottom: 0 !important; right: -30px !important; width: 240px !important; background: transparent !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; overflow: visible !important; z-index: 2 !important; display: block !important; }
.wp-block-group.approche-img-float .wp-block-image img { width: 100% !important; height: auto !important; object-fit: contain !important; }

/* Mockups */
.realisation-detail .wp-block-group.mockups-section,
.realisation-detail .wp-block-group.mockups-section.is-layout-flow,
.realisation-detail section.mockups-section,
section.wp-block-group.section-pad.mockups-section { background: #fff !important; background-color: #fff !important; }
.realisation-detail .wp-block-group.mockups-section *:not(.mockup-item-label) { background-color: #fff !important; }
.wp-block-group.mockups-grid, .wp-block-group.mockups-grid.is-layout-flow { display: grid !important; grid-template-columns: repeat(12, 1fr) !important; grid-template-rows: auto auto !important; gap: 16px !important; }
.wp-block-group.mockup-item, .wp-block-group.mockup-item.is-layout-flow { background: transparent !important; background-color: transparent !important; border-radius: 0 !important; display: flex !important; flex-direction: column !important; align-items: stretch !important; justify-content: flex-start !important; overflow: visible !important; position: relative !important; }
.wp-block-group.mockup-item .wp-block-image { width: 100% !important; }
.wp-block-group.mockup-item .wp-block-image img { width: 100% !important; height: auto !important; object-fit: contain !important; display: block !important; border-radius: 0 !important; }
.wp-block-group.mockup-item:nth-child(1) { grid-column: span 7 !important; }
.wp-block-group.mockup-item:nth-child(2) { grid-column: span 5 !important; }
.wp-block-group.mockup-item:nth-child(3) { grid-column: span 5 !important; }
.wp-block-group.mockup-item:nth-child(4) { grid-column: span 7 !important; }
p.mockup-item-label { position: static !important; font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--gray-light) !important; background: none !important; padding: 12px 12px 8px !important; border-radius: 0 !important; z-index: 2 !important; text-align: left !important; }

/* Alternance */
.wp-block-group.alternance-section { background: var(--white) !important; padding-top: 0 !important; }
.wp-block-group.alternance-block, .wp-block-group.alternance-block.is-layout-flow { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 !important; align-items: stretch !important; margin-bottom: 2px !important; }
.wp-block-group.alternance-block:last-child { margin-bottom: 0 !important; }
.wp-block-group.alternance-block.reverse, .wp-block-group.alternance-block.reverse.is-layout-flow { direction: rtl !important; display: grid !important; grid-template-columns: 1fr 1fr !important; }
.wp-block-group.alternance-block.reverse > * { direction: ltr !important; }
.wp-block-group.alternance-content, .wp-block-group.alternance-content.is-layout-flow { padding: 80px 64px !important; display: flex !important; flex-direction: column !important; justify-content: center !important; background: var(--beige) !important; }
.wp-block-group.alternance-block.reverse .wp-block-group.alternance-content { background: var(--black) !important; }
p.alternance-step { font-family: 'Space Grotesk', sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--red) !important; margin-bottom: 16px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
p.alternance-step::before { content: '' !important; display: inline-block !important; width: 16px !important; height: 1px !important; background: var(--red) !important; }
.wp-block-group.alternance-block.reverse p.alternance-step { color: rgba(255,255,255,.2) !important; }
h3.alternance-title, .wp-block-heading.alternance-title { font-family: 'Playfair Display', serif !important; font-weight: 700 !important; font-size: clamp(22px, 2.5vw, 32px) !important; letter-spacing: -.02em !important; line-height: 1.2 !important; color: var(--black) !important; margin-bottom: 16px !important; }
.wp-block-group.alternance-block.reverse .wp-block-heading.alternance-title { color: var(--white) !important; }
p.alternance-text { font-size: 16px !important; line-height: 1.75 !important; color: var(--gray) !important; font-weight: 300 !important; }
.wp-block-group.alternance-block.reverse p.alternance-text { color: rgba(255,255,255,.5) !important; }
.wp-block-group.alternance-image, .wp-block-group.alternance-image.is-layout-flow { background: transparent !important; min-height: 300px !important; display: flex !important; align-items: center !important; justify-content: center !important; overflow: visible !important; position: relative !important; }
.wp-block-group.alternance-image .wp-block-image { width: 100% !important; }
.wp-block-group.alternance-image .wp-block-image img { width: 100% !important; height: auto !important; object-fit: contain !important; }

/* Tech */
.wp-block-group.tech-section { background: var(--beige) !important; }
.realisation-detail .wp-block-group.tech-inner,
.realisation-detail .wp-block-group.tech-inner.is-layout-flow { max-width: 1200px !important; margin: 0 auto !important; display: grid !important; grid-template-columns: 1fr 2fr !important; gap: 80px !important; align-items: start !important; }
.realisation-detail .wp-block-group.tech-title-col,
.realisation-detail .wp-block-group.tech-title-col.is-layout-flow { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.realisation-detail .wp-block-group.tech-title-col p.section-tag { margin-bottom: 28px !important; }
.realisation-detail .wp-block-group.tech-title-col .wp-block-heading.section-title { margin-bottom: 24px !important; }
.realisation-detail .wp-block-group.tech-title-col p:not(.section-tag) { font-size: 15px !important; color: var(--gray) !important; font-weight: 300 !important; line-height: 1.7 !important; margin-top: 0 !important; }
.wp-block-group.tech-categories, .wp-block-group.tech-categories.is-layout-flow { display: flex !important; flex-direction: column !important; gap: 32px !important; }
p.tech-category-label { font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--gray-light) !important; margin-bottom: 12px !important; }
p.tech-pills { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
p.tech-pills mark.tech-pill { font-family: 'Space Grotesk', sans-serif !important; font-size: 12px !important; font-weight: 600 !important; padding: 8px 16px !important; border-radius: 100px !important; background: var(--white) !important; border: 1.5px solid var(--beige-dark) !important; color: var(--black) !important; letter-spacing: .02em !important; display: inline-flex !important; }
p.tech-pills mark.tech-pill.highlight { background: var(--black) !important; border-color: var(--black) !important; color: var(--white) !important; }

/* Testimonial */
.wp-block-group.testimonial-section, .wp-block-group.testimonial-section.is-layout-flow { background: var(--black) !important; padding: 100px 48px !important; }
.wp-block-group.testimonial-inner, .wp-block-group.testimonial-inner.is-layout-flow { max-width: 900px !important; margin: 0 auto !important; text-align: center !important; }
p.quote-mark { font-family: 'Playfair Display', serif !important; font-size: 80px !important; color: var(--red) !important; line-height: .6 !important; margin-bottom: 32px !important; opacity: .6 !important; }
p.testimonial-text { font-family: 'Playfair Display', serif !important; font-weight: 600 !important; font-size: clamp(20px, 2.8vw, 34px) !important; font-style: italic !important; letter-spacing: -.01em !important; line-height: 1.4 !important; color: var(--white) !important; margin-bottom: 40px !important; }
.wp-block-group.testimonial-author, .wp-block-group.testimonial-author.is-layout-flow { display: flex !important; align-items: center !important; justify-content: center !important; gap: 16px !important; }
.wp-block-group.testimonial-avatar, p.testimonial-avatar { display: none !important; }
p.testimonial-name { font-size: 15px !important; font-weight: 500 !important; color: var(--white) !important; }
p.testimonial-role { font-size: 13px !important; color: rgba(255,255,255,.4) !important; font-weight: 300 !important; }
.wp-block-group.testimonial-divider { display: none !important; }
p.testimonial-logo { font-family: 'Space Grotesk', sans-serif !important; font-weight: 800 !important; font-size: 18px !important; color: rgba(255,255,255,.25) !important; letter-spacing: -.02em !important; }

/* CTA */
.realisation-detail .wp-block-group.cta-section, .realisation-detail .wp-block-group.cta-section.is-layout-flow { background: var(--beige) !important; padding: 100px 48px !important; text-align: center !important; }
.realisation-detail .wp-block-group.cta-inner, .realisation-detail .wp-block-group.cta-inner.is-layout-flow { max-width: 600px !important; margin: 0 auto !important; }
p.cta-label { font-family: 'Space Grotesk', sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .15em !important; text-transform: uppercase !important; color: var(--red) !important; margin-bottom: 16px !important; }
h2.cta-title, .wp-block-heading.cta-title { font-family: 'Playfair Display', serif !important; font-weight: 700 !important; font-size: clamp(28px, 4vw, 48px) !important; letter-spacing: -.02em !important; line-height: 1.15 !important; color: var(--black) !important; margin-bottom: 16px !important; }
h2.cta-title em, .wp-block-heading.cta-title em { font-style: italic !important; color: var(--red) !important; }
p.cta-text { font-size: 16px !important; color: var(--gray) !important; font-weight: 300 !important; line-height: 1.65 !important; margin-bottom: 32px !important; }
.wp-block-group.cta-inner .wp-block-buttons { justify-content: center !important; }
.wp-block-group.cta-inner .wp-block-button .wp-block-button__link { background: var(--red) !important; color: white !important; padding: 16px 36px !important; border-radius: 100px !important; font-family: 'Space Grotesk', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; border: none !important; cursor: pointer !important; transition: transform .2s, box-shadow .2s !important; text-decoration: none !important; }
.wp-block-group.cta-inner .wp-block-button .wp-block-button__link:hover { transform: translateY(-2px) !important; box-shadow: 0 12px 40px rgba(247,42,33,.35) !important; }

/* ============================================================
   RESPONSIVE — Tablet (max-width: 900px)
   ============================================================ */
@media (max-width: 900px) {
	.realisation-detail .wp-block-group.hero-inner, .realisation-detail .wp-block-group.hero-inner.is-layout-flow { grid-template-columns: 1fr !important; gap: 40px !important; padding: 60px 24px 0 !important; }
	.realisation-detail .wp-block-group.hero-left, .realisation-detail .wp-block-group.hero-left.is-layout-flow { padding-bottom: 0 !important; }
	.realisation-detail .wp-block-group.hero-right, .realisation-detail .wp-block-group.hero-right.is-layout-flow { display: none !important; }
	.wp-block-group.kpi-band, .wp-block-group.kpi-band.is-layout-flow { padding: 40px 24px !important; }
	.wp-block-group.kpi-inner, .wp-block-group.kpi-inner.is-layout-flow { grid-template-columns: 1fr 1fr !important; }
	.wp-block-group.kpi-item, .wp-block-group.kpi-item.is-layout-flow { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.06) !important; padding: 24px 16px !important; }
	.realisation-detail .wp-block-group.section-pad, .realisation-detail .wp-block-group.section-pad.is-layout-flow { padding: 60px 24px !important; }
	.wp-block-group.context-grid, .wp-block-group.context-grid.is-layout-flow { grid-template-columns: 1fr !important; gap: 40px !important; }
	.wp-block-group.context-aside, .wp-block-group.context-aside.is-layout-flow { position: static !important; }
	.wp-block-group.approche-grid, .wp-block-group.approche-grid.is-layout-flow { grid-template-columns: 1fr !important; gap: 40px !important; }
	.wp-block-group.approche-visual, .wp-block-group.approche-visual.is-layout-flow { height: auto !important; }
	.wp-block-group.mockups-grid, .wp-block-group.mockups-grid.is-layout-flow { grid-template-columns: 1fr 1fr !important; }
	.wp-block-group.mockup-item:nth-child(1), .wp-block-group.mockup-item:nth-child(2), .wp-block-group.mockup-item:nth-child(3), .wp-block-group.mockup-item:nth-child(4) { grid-column: span 1 !important; grid-row: span 1 !important; aspect-ratio: 4/3 !important; }
	.wp-block-group.alternance-block, .wp-block-group.alternance-block.is-layout-flow { grid-template-columns: 1fr !important; }
	.wp-block-group.alternance-block.reverse, .wp-block-group.alternance-block.reverse.is-layout-flow { direction: ltr !important; grid-template-columns: 1fr !important; }
	.wp-block-group.alternance-content, .wp-block-group.alternance-content.is-layout-flow { padding: 48px 24px !important; }
	.wp-block-group.alternance-image, .wp-block-group.alternance-image.is-layout-flow { min-height: 280px !important; }
	.wp-block-group.tech-inner, .wp-block-group.tech-inner.is-layout-flow { grid-template-columns: 1fr !important; gap: 40px !important; }
	.wp-block-group.testimonial-section, .wp-block-group.testimonial-section.is-layout-flow { padding: 60px 24px !important; }
	.wp-block-group.testimonial-author, .wp-block-group.testimonial-author.is-layout-flow { flex-wrap: wrap !important; gap: 12px !important; }
	.wp-block-group.next-header, .wp-block-group.next-header.is-layout-flow { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
	.wp-block-group.visual-fullwidth, .wp-block-group.visual-fullwidth.is-layout-flow { height: 320px !important; }
	.realisation-detail .wp-block-group.cta-section, .realisation-detail .wp-block-group.cta-section.is-layout-flow { padding: 60px 24px !important; }
}

/* ============================================================
   RESPONSIVE — Small mobile (max-width: 600px)
   ============================================================ */
@media (max-width: 600px) {
	.wp-block-group.kpi-inner, .wp-block-group.kpi-inner.is-layout-flow { grid-template-columns: 1fr !important; }
	.wp-block-group.kpi-item, .wp-block-group.kpi-item.is-layout-flow { padding: 24px 16px !important; }
	p.kpi-number { font-size: clamp(28px, 8vw, 42px) !important; }
	.wp-block-group.mockups-grid, .wp-block-group.mockups-grid.is-layout-flow { grid-template-columns: 1fr !important; }
	h1.project-title, .wp-block-heading.project-title { font-size: clamp(32px, 8vw, 50px) !important; }
	.realisation-detail h2.section-title, .realisation-detail .wp-block-heading.section-title { font-size: clamp(24px, 6vw, 36px) !important; }
	.wp-block-group.hero-meta-grid, .wp-block-group.hero-meta-grid.is-layout-flow { grid-template-columns: 1fr !important; }
	.wp-block-group.approche-visual, .wp-block-group.approche-visual.is-layout-flow { height: auto !important; }
	.wp-block-group.approche-img-float, .wp-block-group.approche-img-float.is-layout-flow { width: 140px !important; height: 110px !important; bottom: -10px !important; right: -10px !important; }
	.wp-block-group.visual-fullwidth, .wp-block-group.visual-fullwidth.is-layout-flow { height: 220px !important; }
	.wp-block-group.step-item, .wp-block-group.step-item.is-layout-flow { gap: 16px !important; padding: 20px 0 !important; }
	.wp-block-group.alternance-content, .wp-block-group.alternance-content.is-layout-flow { padding: 32px 20px !important; }
	.wp-block-group.alternance-image, .wp-block-group.alternance-image.is-layout-flow { min-height: 200px !important; }
	p.testimonial-text { font-size: clamp(18px, 5vw, 24px) !important; }
	p.quote-mark { font-size: 48px !important; margin-bottom: 20px !important; }
	h2.cta-title, .wp-block-heading.cta-title { font-size: clamp(24px, 6vw, 36px) !important; }
	.wp-block-group.next-grid, .wp-block-group.next-grid.is-layout-flow { gap: 12px !important; }
	.wp-block-group.context-text p:not(.section-tag) { font-size: 15px !important; }
	p.project-summary { font-size: 15px !important; }
}

/* ============================================================
   RESPONSIVE — Mobile padding uniformisation
   ============================================================ */
@media (max-width: 768px) {
	.realisation-detail .wp-block-group.section-pad,
	.realisation-detail .wp-block-group.section-pad.is-layout-flow,
	.realisation-detail .wp-block-group.kpi-band,
	.realisation-detail .wp-block-group.kpi-band.is-layout-flow,
	.realisation-detail .wp-block-group.testimonial-section,
	.realisation-detail .wp-block-group.testimonial-section.is-layout-flow,
	.realisation-detail .wp-block-group.cta-section,
	.realisation-detail .wp-block-group.cta-section.is-layout-flow,
	.realisation-detail .wp-block-group.alternance-section,
	.realisation-detail .wp-block-group.alternance-section.is-layout-flow {
		padding: var(--section-pad-y-mobile) var(--section-pad-x-mobile) !important;
	}
}

@media (max-width: 480px) {
	.realisation-detail .wp-block-group.section-pad,
	.realisation-detail .wp-block-group.section-pad.is-layout-flow,
	.realisation-detail .wp-block-group.kpi-band,
	.realisation-detail .wp-block-group.kpi-band.is-layout-flow,
	.realisation-detail .wp-block-group.testimonial-section,
	.realisation-detail .wp-block-group.testimonial-section.is-layout-flow,
	.realisation-detail .wp-block-group.cta-section,
	.realisation-detail .wp-block-group.cta-section.is-layout-flow,
	.realisation-detail .wp-block-group.alternance-section,
	.realisation-detail .wp-block-group.alternance-section.is-layout-flow {
		padding: var(--section-pad-y-small) var(--section-pad-x-small) !important;
	}
}
