.snap-section{position:relative;background:#121310;color:#fff;font-family:Outfit,"Segoe UI",sans-serif;overflow:hidden;isolation:isolate}
.snap-stage{position:relative;min-height:980px;--split:50%;touch-action:pan-y}
.snap-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.snap-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.snap-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#121310 0%,#12131080 16%,transparent 38%,#090b1070 68%,#121310 100%)}
.snap-heading{position:relative;text-align:center;padding:70px 20px 0;margin:auto;max-width:1100px;pointer-events:none;z-index:2}
.snap-heading h2{font-size:clamp(38px,5vw,70px);font-weight:650;line-height:1.07;letter-spacing:-.025em;margin:0;text-wrap:balance}
.snap-heading p{font-size:17px;color:#e7e3de;margin:18px 0 0}
.snap-divider{position:absolute;top:235px;bottom:0;left:var(--split);width:1px;background:#ffffff80;pointer-events:none;z-index:2}
.snap-handle{position:absolute;top:35%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:#111821db;border:1px solid #dbe6f3;border-radius:50%;display:grid;place-items:center}
.snap-handle svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.snap-range{position:absolute;left:0;top:235px;width:100%;height:calc(100% - 235px);margin:0;opacity:0;cursor:ew-resize;z-index:3;touch-action:pan-y}
.snap-range:focus-visible~.snap-divider .snap-handle{outline:3px solid #8de1ff;outline-offset:5px}
.snap-state{position:absolute;top:42%;padding:9px 16px;border:1px solid #ffffff60;background:#111319bd;border-radius:30px;font-size:12px;letter-spacing:.09em;pointer-events:none;z-index:2}
.snap-state-before{left:8%}.snap-state-after{right:8%}
.snap-offer{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);z-index:4;width:min(360px,calc(100% - 40px));padding:28px 26px;background:#101319ed;border:1px solid #ffffff38;border-radius:18px;text-align:center;box-shadow:0 18px 70px #0009;box-sizing:border-box}
.snap-offer h3{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0 0 10px}
.snap-price{display:flex;align-items:baseline;justify-content:center;gap:7px;margin:10px 0}.snap-price strong{font-size:64px;font-weight:650;line-height:1;letter-spacing:-.04em}.snap-price span{font-size:20px}.snap-price small{font-size:13px;color:#d7d9df}
.snap-includes{font-size:14px;color:#e3e6ed;line-height:1.7;margin:16px 0 22px}
.snap-action{position:relative;isolation:isolate;display:block;margin:0 auto;width:100%;max-width:290px}
.snap-action:before{content:'';position:absolute;inset:-7px -8px;z-index:-1;background:conic-gradient(from 30deg,#168cff,#8343ff,#dc3caa,#168cff);filter:blur(18px);opacity:.75;border-radius:50%;animation:snap-glow 7s cubic-bezier(.77,0,.175,1) infinite alternate;animation-play-state:paused;pointer-events:none}
.snap-section.is-visible .snap-action:before{animation-play-state:running}
.snap-waitlist{display:block;width:100%;box-sizing:border-box;padding:15px 18px;border:1px solid #a8bde95e;border-radius:30px;background:#090a0f;color:#fff;text-decoration:none;font:600 15px Outfit,sans-serif;min-height:50px;cursor:pointer;transition:transform 200ms cubic-bezier(.23,1,.32,1),border-color 200ms ease}
.snap-waitlist:focus-visible{outline:3px solid #a1e0ff;outline-offset:5px}.snap-waitlist:active{transform:scale(.97)}
.snap-note{font-size:12px;line-height:1.6;color:#ccd0dc;margin:18px 0 0}
@keyframes snap-glow{from{transform:translateX(-20px) scale(.95)}to{transform:translateX(20px) scale(1.05)}}
@media(hover:hover) and (pointer:fine){.snap-waitlist:hover{border-color:#b7ceff;transform:translateY(-2px)}}
@media(max-width:700px){.snap-stage{min-height:1030px}.snap-heading{padding-top:60px}.snap-heading h2{font-size:38px}.snap-heading p{font-size:14px}.snap-image{object-position:50% 40%}.snap-state{top:43%;font-size:10px;padding:7px 10px}.snap-state-before{left:5%}.snap-state-after{right:5%}.snap-offer{bottom:28px;padding:25px}.snap-divider{top:230px}.snap-range{top:230px;height:calc(100% - 230px)}}
@media(prefers-reduced-motion:reduce){.snap-action:before{animation:none}.snap-waitlist{transition:none}}

@media(max-width:700px){.snap-image{top:200px;height:550px;object-position:50% 40%}.snap-range{height:500px}.snap-divider{bottom:300px}}
