/* Preserve each photograph's geometry within the selected frame. The earlier
 * image is clipped, never resized or warped as the range moves. */
.comparison{--comparison-position:50%;--comparison-thumb:48px;margin:0;min-width:0;color:var(--ink,#2c2e33);font-family:var(--font,Manrope,Arial,sans-serif)}
.comparison-stage{position:relative;isolation:isolate;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius,4px);background:var(--mist,#edf2f3);touch-action:pan-y}
.comparison-after,.comparison-before{position:absolute;inset:0}
.comparison-stage img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;user-select:none;-webkit-user-select:none}
.comparison-before{z-index:1;clip-path:inset(0 calc(100% - var(--comparison-position)) 0 0)}
.comparison-label{position:absolute;top:16px;z-index:3;display:inline-flex;align-items:center;min-height:32px;padding:5px 12px;background:var(--ink,#2c2e33);color:#fff;border:1px solid #ffffff35;border-radius:2px;font-size:12px;font-weight:650;line-height:1.3;letter-spacing:.02em;pointer-events:none}
.comparison-label-before{left:16px}
.comparison-label-after{right:16px}
.comparison-label[hidden]{display:none}
.comparison-divider{position:absolute;z-index:2;inset-block:0;left:var(--comparison-position);width:2px;transform:translateX(-50%);background:#fff;box-shadow:0 0 4px #0004;pointer-events:none}
.comparison-controls{position:absolute;z-index:4;top:50%;left:0;right:0;height:var(--comparison-thumb);transform:translateY(-50%)}
.comparison-controls[hidden]{display:none}
.comparison-range{display:block;position:absolute;top:0;left:calc(var(--comparison-thumb)/-2);width:calc(100% + var(--comparison-thumb));height:var(--comparison-thumb);margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink,#2c2e33);cursor:ew-resize;-webkit-appearance:none;appearance:none;touch-action:pan-y;box-shadow:none}
.comparison-range:focus{outline:none}
.comparison-range::-webkit-slider-runnable-track{height:var(--comparison-thumb);background:transparent;border:0;box-shadow:none}
.comparison-range::-moz-range-track{height:var(--comparison-thumb);background:transparent;border:0;box-shadow:none}
.comparison-range::-webkit-slider-thumb{width:var(--comparison-thumb);height:var(--comparison-thumb);margin-top:0;border:2px solid #fff;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='m10 9-5 5 5 5m8-10 5 5-5 5' stroke='%232c2e33' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/28px no-repeat;box-shadow:0 2px 14px #0003;-webkit-appearance:none;appearance:none;transition:box-shadow .2s}
.comparison-range::-moz-range-thumb{box-sizing:border-box;width:var(--comparison-thumb);height:var(--comparison-thumb);border:2px solid #fff;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' fill='none'%3E%3Cpath d='m10 9-5 5 5 5m8-10 5 5-5 5' stroke='%232c2e33' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/28px no-repeat;box-shadow:0 2px 14px #0003;transition:box-shadow .2s}
.comparison-range:focus-visible::-webkit-slider-thumb{outline:3px solid var(--teal,#087495);outline-offset:3px}
.comparison-range:focus-visible::-moz-range-thumb{outline:3px solid var(--teal,#087495);outline-offset:3px}
.comparison-caption{padding-top:17px}
.comparison-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.comparison-actions[hidden]{display:none}
.comparison-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 17px;border:1px solid var(--line,#dfe3e5);border-radius:var(--radius,4px);background:#fff;color:var(--ink,#2c2e33);font:inherit;font-size:13px;font-weight:600;line-height:1.4;cursor:pointer;touch-action:manipulation;transition:background .2s,border-color .2s,color .2s}
.comparison-actions button[aria-pressed=true]{background:var(--ink,#2c2e33);border-color:var(--ink,#2c2e33);color:#fff}
.comparison-actions button:focus-visible{outline:3px solid var(--teal,#087495);outline-offset:3px}
.comparison-caption .comparison-hint{margin:0 0 16px;color:var(--muted,#5e6269);font-size:12px;line-height:1.6;letter-spacing:.005em}
.comparison-caption h3{margin:0;font-size:clamp(22px,2.2vw,29px);font-weight:500;line-height:1.1;letter-spacing:-.035em;text-wrap:balance}
.comparison-caption .comparison-description{margin:12px 0 0;color:var(--muted,#5e6269);font-size:15px;line-height:1.75;max-width:56ch}
.comparison-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(hover:hover){.comparison-range:hover::-webkit-slider-thumb{box-shadow:0 0 0 5px #ffffff3b,0 2px 14px #0003}.comparison-range:hover::-moz-range-thumb{box-shadow:0 0 0 5px #ffffff3b,0 2px 14px #0003}.comparison-actions button:hover{background:var(--teal,#087495);border-color:var(--teal,#087495);color:#fff}}
@media(max-width:600px){.comparison-label{top:12px;padding:5px 10px;font-size:11px}.comparison-label-before{left:12px}.comparison-label-after{right:12px}.comparison-caption{padding-top:14px}.comparison-caption .comparison-hint{font-size:12px;margin-bottom:13px}.comparison-caption .comparison-description{font-size:15px;line-height:1.65}}
@media(prefers-reduced-motion:reduce){.comparison-range::-webkit-slider-thumb{transition:none}.comparison-range::-moz-range-thumb{transition:none}.comparison-actions button{transition:none}}
@media(forced-colors:active){.comparison-label{border:1px solid CanvasText}.comparison-divider{background:CanvasText}.comparison-range::-webkit-slider-thumb{border:2px solid ButtonText;background-color:ButtonFace}.comparison-range::-moz-range-thumb{border:2px solid ButtonText;background-color:ButtonFace}}
