/* Additions scoped to the Réalisations page, loaded after the shared stylesheet. */
.before-after-card.work-featured{grid-column:1/-1}
.work-featured .ba-visual{aspect-ratio:16/8}
.ba-visual{--ba-position:50%;cursor:zoom-in}
.ba-before,.ba-after img{filter:none}
.work-divider{position:absolute;left:var(--ba-position,50%);top:0;bottom:0;width:2px;transform:translateX(-50%);background:rgba(255,255,255,.95);z-index:3;pointer-events:none}
.work-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;z-index:5;cursor:ew-resize;touch-action:pan-y}
.ba-visual:focus-within{outline:3px solid var(--green-620);outline-offset:4px}
.work-expand{position:absolute;right:15px;bottom:15px;z-index:6;display:flex;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.6);border-radius:999px;padding:10px 15px;background:rgba(255,253,248,.96);color:var(--green-950);font:600 12px Inter,Arial,sans-serif;cursor:pointer}
.work-discover{display:inline-flex;align-items:center;gap:25px;margin-top:20px;padding:12px 0 7px;background:none;border:0;border-bottom:1px solid rgba(7,28,20,.25);color:var(--green-950);font:700 13px Inter,Arial,sans-serif;cursor:pointer}
.work-modal{width:min(1140px,calc(100% - 40px));max-height:94dvh;overflow:auto;border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:0;background:#fffdf8;color:var(--green-950);box-shadow:0 30px 100px rgba(0,0,0,.4)}
.work-modal::backdrop{background:rgba(7,28,20,.88);backdrop-filter:blur(7px)}
.work-modal-toolbar,.work-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 26px}
.work-modal-toolbar{justify-content:flex-end;border-bottom:1px solid rgba(7,28,20,.1)}
.work-modal-toolbar>span{font:700 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.work-modal-toolbar button,.work-modal-footer button{display:flex;gap:15px;align-items:center;border:0;background:none;color:var(--green-950);font:600 13px Inter,Arial,sans-serif;cursor:pointer;padding:6px}
.work-modal-toolbar button span{font-size:27px;line-height:1}
.work-modal .ba-visual{margin:0;aspect-ratio:4/3;border-radius:0;cursor:default}
.work-modal .ba-before,.work-modal .ba-after img{object-fit:cover}
.work-modal .ba-content{padding:30px 38px}
.work-modal h2{font-family:"Cormorant Garamond","Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04;margin:12px 0 16px;color:var(--green-950)}
.work-modal .ba-content>p{margin-bottom:24px}
.work-modal-footer{border-top:1px solid rgba(7,28,20,.12)}
.work-modal-footer>span{font-size:11px;color:var(--steel-700)}
.work-modal .work-caption{font-size:11px;color:var(--steel-700);margin:20px 0 0;line-height:1.6}
body.work-modal-open{overflow:hidden}
.work-discover:focus-visible,.work-expand:focus-visible,.work-modal button:focus-visible{outline:3px solid var(--green-620);outline-offset:4px}
@media(min-width:981px){.work-featured{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center}.work-featured .ba-visual{aspect-ratio:4/3;margin:28px 0 28px 28px}.work-featured .ba-content{padding:30px}.work-featured .ba-points{grid-template-columns:1fr;gap:12px}.work-featured .ba-content>p{margin-bottom:22px}}
@media(max-width:760px){.work-modal{width:calc(100% - 16px);max-height:94dvh;border-radius:16px}.work-modal-toolbar,.work-modal-footer{padding:12px 16px}.work-modal-toolbar>span{font-size:9px}.work-modal-toolbar button,.work-modal-footer button{font-size:11px}.work-modal-footer>span{display:none}.work-modal .ba-content{padding:24px}.work-modal .ba-points{grid-template-columns:1fr;gap:14px}.work-expand{padding:8px 12px;font-size:11px}.work-featured .ba-visual{aspect-ratio:16/9}}
/* Five cards make this wrapper taller than the original reveal threshold permits. */
.work-studio.reveal{opacity:1;transform:none}
.work-modal-toolbar{position:sticky;top:0;z-index:8;background:#fffdf8}
/* Keep the pool project readable while revealing the lawn and pool edges. */
@media(min-width:761px){.case-study-card.pool-case .case-panel{top:24px;bottom:auto;width:min(310px,calc(100% - 48px))}}
.work-gallery{background:#f7faf8;color:var(--green-950);padding-top:40px}
.work-gallery-heading h2{color:var(--green-950)}
.work-gallery-wall{columns:3;column-gap:18px}
.work-gallery-item{margin:0 0 18px;break-inside:avoid;border-radius:14px;overflow:hidden;background:#e7ede5}
.work-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}
.work-gallery-item.landscape{aspect-ratio:4/3}
.work-gallery-item.portrait{aspect-ratio:3/4}
.work-gallery-item.square{aspect-ratio:1/1}
@media(max-width:980px){.work-gallery-wall{columns:2;column-gap:14px}.work-gallery-item{margin-bottom:14px}}
@media(max-width:480px){.work-gallery-wall{column-gap:10px}.work-gallery-item{margin-bottom:10px;border-radius:9px}.work-gallery{padding-top:25px}}
.work-gallery-heading .eyebrow{color:var(--green-620)}
/* Keep the reveal edge, divider and handle in sync throughout a drag. */
.portfolio-page .ba-after{border:0;box-shadow:none;transition:none}
.portfolio-page .ba-handle{transition:none}
.work-range{appearance:none;-webkit-appearance:none;padding:0;border:0;background:transparent}
.work-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:44px;height:44px}
.work-range::-moz-range-thumb{width:44px;height:44px;border:0}
