/* The same camera framing is retained in both layers, without cropping. */
.service-copy-section.service-comparison-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,90px);align-items:start}
.service-comparison-section .service-comparison-copy{max-width:580px;min-width:0}
.service-comparison-copy h2{color:var(--ink);margin-bottom:28px}
.image-comparison{margin:0;min-width:0}
.image-comparison-stage{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/3;background:var(--sand);user-select:none}
.image-comparison-stage img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.image-comparison-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0)}
.image-comparison-label{position:absolute;top:16px;z-index:2;padding:5px 12px;background:var(--paper);color:var(--ink);font-size:12px;line-height:1.5;letter-spacing:.06em;pointer-events:none}
.image-comparison-label-before{left:16px}.image-comparison-label-after{right:16px}
.image-comparison-divider{position:absolute;inset-block:0;left:var(--comparison-position);width:2px;transform:translateX(-50%);background:#fff;box-shadow:0 0 3px #0008;z-index:3;pointer-events:none}
.image-comparison-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:46px;height:46px;border:1px solid #fff;background:var(--paper);border-radius:50%;color:var(--ink);box-shadow:0 2px 12px #0003}
.image-comparison-range{position:absolute;inset:0;z-index:4;display:block;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.image-comparison-range[hidden],.image-comparison-divider[hidden]{display:none}
.image-comparison-stage:has(.image-comparison-range:focus-visible){outline:2px solid var(--ink);outline-offset:5px}
.image-comparison-stage:has(.image-comparison-range:focus-visible) .image-comparison-handle{outline:3px solid var(--ink);outline-offset:3px}
.image-comparison figcaption{font-size:12px;line-height:1.6;letter-spacing:0;padding-top:12px}
@media(max-width:800px){.service-copy-section.service-comparison-section{grid-template-columns:1fr;gap:28px}.service-comparison-section .service-comparison-copy{max-width:none}.image-comparison-label{top:12px}.image-comparison-label-before{left:12px}.image-comparison-label-after{right:12px}}
