/* Before/after section: a raw take and its Viewcat edit, revealed with a slider. */
.compare-section{display:grid;gap:clamp(56px,7vw,96px)}
.compare-title{max-width:15em}
.compare-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;gap:clamp(40px,7vw,120px)}
.compare-copy .eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:18px}
.compare-copy .eyebrow svg{width:15px;height:15px;color:#3ccf6e}
.compare-copy h3{font-size:clamp(32px,3.4vw,48px);font-weight:600;line-height:1.05;letter-spacing:-.035em}
.compare-copy p{font-size:17px;margin-top:22px;color:var(--body);max-width:30em}
.compare-copy .compare-hint{color:var(--muted);font-size:15px;margin-top:26px}
.compare-copy .text-link{margin-top:22px}
.compare{margin:0}
.compare-frame{--pos:100%;position:relative;aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#000;touch-action:pan-y;user-select:none}
.compare-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.compare-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.compare-frame.is-animating .compare-after,.compare-frame.is-animating .compare-handle{transition:clip-path .9s cubic-bezier(.6,0,.2,1),left .9s cubic-bezier(.6,0,.2,1)}
.compare-label{position:absolute;top:18px;z-index:2;padding:7px 12px;border-radius:9px;background:rgba(17,17,17,.82);color:#fff;font-size:14px;font-weight:600;pointer-events:none}
.compare-label.before{left:18px}
.compare-label.after{right:18px}
.compare-handle{position:absolute;top:0;bottom:0;left:var(--pos);z-index:2;width:2px;margin-left:-1px;background:#fff;pointer-events:none}
.compare-handle span{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:rgba(17,17,17,.82);color:#fff;font-size:20px;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.compare-range{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.compare-range:focus-visible~.compare-handle span{outline:2px solid #fff;outline-offset:3px}
.compare figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;color:var(--muted);font-size:15px}
.compare-controls{display:flex;gap:10px}
.compare-controls button{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.compare-controls button:hover{background:var(--surface)}
.compare-controls svg{width:18px;height:18px}
.compare-controls .is-hidden{display:none}
@media(max-width:860px){
  .compare-row{grid-template-columns:1fr}
  .compare{max-width:420px;width:100%;margin:0 auto}
}
@media(prefers-reduced-motion:reduce){.compare-frame.is-animating .compare-after,.compare-frame.is-animating .compare-handle{transition:none}}
