.nvm-numi-before-after{ --nvm-ba-pos:50%; max-width:1232px; margin:0 auto; width:100%; }
.nvm-ba__stage{ position:relative; border-radius:26px; overflow:hidden; aspect-ratio:16/9;
  box-shadow:0 30px 80px rgba(45,31,19,.18); isolation:isolate; user-select:none; -webkit-user-select:none; }
/* the theme reset's img{height:auto} loads after this file, so qualify these */
.nvm-numi-before-after .nvm-ba__after, .nvm-numi-before-after .nvm-ba__before{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; max-width:none; }
.nvm-ba__before{ clip-path:inset(0 calc(100% - var(--nvm-ba-pos)) 0 0); }
.nvm-ba__line{ position:absolute; top:0; bottom:0; left:var(--nvm-ba-pos); width:2px; margin-left:-1px; z-index:3;
  background:rgba(255,255,255,.92); box-shadow:0 0 18px rgba(15,10,7,.4); pointer-events:none; }
.nvm-ba__knob{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:54px; height:54px;
  border-radius:50%; background:#fff; color:#2D1F13; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 28px rgba(45,31,19,.4); }
.nvm-ba__tag{ position:absolute; top:18px; z-index:2; padding:7px 15px; border-radius:100px; pointer-events:none;
  font-size:.7rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:#fff;
  background:rgba(15,10,7,.45); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.nvm-ba__tag--b{ left:18px; }
.nvm-ba__tag--a{ right:18px; }
.nvm-ba__range{ position:absolute; inset:0; z-index:4; width:100%; height:100%; margin:0; opacity:0; cursor:ew-resize;
  -webkit-appearance:none; appearance:none; background:none; }
.nvm-ba__range::-webkit-slider-thumb{ -webkit-appearance:none; width:54px; height:100vh; }
.nvm-ba__stage:has(.nvm-ba__range:focus-visible) .nvm-ba__knob{ outline:2px solid #D2831A; outline-offset:3px; }
.nvm-ba__tabs{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.nvm-ba__tab{ font-family:inherit; font-size:.88rem; font-weight:500; color:#554A41; cursor:pointer;
  background:#FFFFFF; border:1px solid #E7E2D9; border-radius:100px; padding:10px 20px;
  transition:background .18s, color .18s, border-color .18s; }
.nvm-ba__tab:hover{ border-color:#2D1F13; color:#2D1F13; }
.nvm-ba__tab.is-on{ background:#2D1F13; border-color:#2D1F13; color:#fff; }
@media(max-width:760px){
  .nvm-ba__stage{ aspect-ratio:4/3; }
  .nvm-ba__knob{ width:46px; height:46px; }
  .nvm-ba__tag{ top:12px; font-size:.62rem; padding:6px 12px; }
  .nvm-ba__tag--b{ left:12px; }
  .nvm-ba__tag--a{ right:12px; }
}