/* CFEC — realisations et comparaison manuelle, sans dependance externe. */
.realisation-section .section-heading{max-width:820px}
.before-after{margin:30px 0 0;max-width:1000px}
.ba-stage{background:#e7ece8;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ba-image{position:relative;margin:0;background:#e7ece8}
.ba-image img{display:block;width:100%;height:auto;object-fit:contain}
.ba-badge{position:absolute;top:18px;padding:8px 14px;border-radius:999px;background:#102b38;color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 2px 12px #102b3833;z-index:2}
.ba-before .ba-badge{left:18px}
.ba-after .ba-badge{right:18px;background:#fff;color:#102b38}
.ba-range,.ba-divider,.ba-controls,.ba-hint{display:none}
.before-after.is-ready .ba-stage{position:relative;aspect-ratio:4/3;isolation:isolate;--split:50%}
.before-after.is-ready .ba-image{position:absolute;inset:0;width:100%;height:100%}
.before-after.is-ready .ba-image img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.before-after.is-ready .ba-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);z-index:2}
.before-after.is-ready .ba-after{z-index:1}
.before-after.is-ready .ba-divider{display:block;position:absolute;inset:0 auto 0 var(--split);width:2px;transform:translateX(-50%);background:#fff;z-index:3;pointer-events:none;box-shadow:0 0 9px #102b3870}
.ba-grip{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:54px;height:54px;display:grid;place-items:center;background:#fff;color:#102b38;border:1px solid #102b3822;border-radius:50%;box-shadow:0 4px 24px #102b3850}
.ba-grip svg{width:28px;height:28px}
.before-after.is-ready .ba-range{display:block;position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.ba-stage:focus-within{outline:3px solid #19798a;outline-offset:5px}
.before-after.is-ready .ba-hint{display:block}
.before-after.is-ready .ba-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ba-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px 0 6px}
.ba-caption p{margin:0;font-weight:700;font-size:.95rem}
.ba-caption p small{display:block;margin-top:4px;font-size:.8rem;font-weight:400;color:var(--muted)}
.ba-controls button{appearance:none;font:inherit;font-size:.82rem;font-weight:700;min-height:42px;padding:8px 14px;border:1px solid var(--line);background:transparent;color:var(--ink,#102b38);border-radius:999px;cursor:pointer}
.ba-controls button:hover,.ba-controls button[aria-pressed="true"]{background:#102b38;color:#fff;border-color:#102b38}
.ba-controls button:focus-visible,.photo-link:focus-visible{outline:3px solid #19798a;outline-offset:4px}
.ba-context{font-size:.85rem;color:var(--muted);max-width:75ch;margin:10px 0}
.ba-originals{display:flex;gap:20px;flex-wrap:wrap;margin-top:16px}
.photo-link.gallery-open{display:inline-flex;width:auto;height:auto;aspect-ratio:auto;padding:8px 0;background:none;border:0;border-radius:0;color:#102b38;text-align:left;font:inherit;font-size:.88rem;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.photo-link.gallery-open:hover{color:#c94620;background:none}
.realisation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.realisation-grid figure{margin:0;min-width:0}
.realisation-grid .gallery-open{display:block;width:100%;height:auto;aspect-ratio:3/4;background:#e7ece8;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.realisation-grid .gallery-open img{display:block;width:100%;height:100%;object-fit:contain;transform:none;transition:none}
.realisation-grid .gallery-open:hover img{transform:none}
.realisation-grid figcaption{padding-top:18px}
.realisation-grid figcaption h3{margin:8px 0 10px;font-size:1.2rem;line-height:1.3}
.realisation-grid figcaption p{color:var(--muted);font-size:.9rem;max-width:50ch;margin:0}
.realisation-grid .small-label{font-size:.7rem;color:var(--muted)}
.realisation-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1000px}
.realisation-followup{margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.realisation-followup>p{max-width:75ch;color:var(--muted)}
.realisation-subnav{display:flex;gap:10px 24px;flex-wrap:wrap;margin-top:25px;font-size:.88rem;font-weight:700}
.realisation-subnav a{text-decoration:underline;text-underline-offset:5px}
.realisation-section{scroll-margin-top:110px}
@media(max-width:980px){.realisation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.realisation-grid{grid-template-columns:1fr;gap:32px}.realisation-grid .gallery-open{max-height:520px}.ba-stage{border-radius:12px}.ba-badge{top:10px;padding:6px 10px;font-size:.65rem}.ba-before .ba-badge{left:10px}.ba-after .ba-badge{right:10px}.ba-grip{width:44px;height:44px}.ba-caption{gap:12px}.ba-controls{width:100%}.ba-controls button{flex:1}.realisation-followup .button-row{align-items:stretch;flex-direction:column}.realisation-followup .button{justify-content:center}.ba-originals{gap:6px 18px}.realisation-subnav{gap:12px 20px}}
