.ws{--ws-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--ws-bg:#040507;--ws-hair:#181c23;--ws-hair-2:#2a303a;--ws-dim:#7d8694;--ws-pink:var(--fuchsia);--ws-w-laptop:clamp(27rem,41vw,47rem);--ws-w-phone:calc(var(--ws-w-laptop) * 0.3);--ws-gap:clamp(3rem,6.5vw,7.5rem);--ws-note-room:9.75rem;--ws-lead:2rem;position:relative;background:var(--ws-bg);color:var(--ink);overflow-x:clip}.ws p{margin:0}.ws-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ws-hero{padding:clamp(2.25rem,4vw,3.5rem) var(--gutter) clamp(1.75rem,3vw,2.5rem)}.ws-eyebrow{display:flex;flex-wrap:wrap;gap:.75rem;font:500 .6875rem/1 var(--ws-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--ws-dim)}.ws-eyebrow span:first-child{color:var(--ws-pink)}.ws-hero h1{margin-top:1.1rem;font-size:clamp(2.35rem,5.5vw,6.25rem);line-height:.92;letter-spacing:-.035em;text-transform:uppercase;color:#fff;max-width:none;text-wrap:wrap}.ws-hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.62)}.ws-hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem clamp(2rem,6vw,6rem);margin-top:1.1rem}.ws-lede{flex:1 1 22rem;max-width:35rem;font-size:1rem;line-height:1.6;color:var(--ink-soft)}.ws-spec{display:flex;flex:none;margin:0;border-left:1px solid var(--ws-hair-2);font:500 .625rem/1.35 var(--ws-mono);letter-spacing:.16em;text-transform:uppercase}.ws-spec div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.5rem;width:7.25rem;padding:.15rem .9rem;border-right:1px solid var(--ws-hair-2)}.ws-spec dt{color:var(--ws-dim)}.ws-spec dd{margin:0;font-size:1.25rem;line-height:1;letter-spacing:.04em;color:#fff;font-variant-numeric:tabular-nums}.ws-stage{position:relative;overflow:hidden;overflow:clip;border-top:1px solid var(--ws-hair);border-bottom:1px solid var(--ws-hair)}.ws-wires{position:absolute;inset:0;width:100%;height:100%;min-width:68rem;z-index:0;pointer-events:none}.ws-wires path{fill:none;stroke-width:1px;vector-effect:non-scaling-stroke}.ws-wires-g0{animation:ws-sway-a 19s ease-in-out infinite alternate}.ws-wires-g1{animation:ws-sway-b 27s ease-in-out infinite alternate}@keyframes ws-sway-a{0%{transform:translate3d(0,-5px,0)}to{transform:translate3d(0,7px,0)}}@keyframes ws-sway-b{0%{transform:translate3d(0,6px,0)}to{transform:translate3d(0,-6px,0)}}.ws-gallery{position:relative;z-index:1}.ws-bar{display:flex;align-items:center;gap:1.25rem;padding:1.5rem var(--gutter) 0}.ws-bar-label{font:500 .75rem/1 var(--ws-mono);letter-spacing:.3em;text-transform:uppercase;color:#fff}.ws-bar-rule{flex:1;height:1px;background:var(--ws-hair-2)}.ws-bar-count{font:500 .6875rem/1 var(--ws-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ws-dim)}.ws-controls{display:flex;gap:.375rem}.ws-ctl{display:inline-grid;place-items:center;min-width:2.75rem;height:2.75rem;padding:0;background:rgba(4,5,7,.7);border:1px solid var(--ws-hair-2);border-radius:0;color:#fff;cursor:pointer;transition:border-color .2s,color .2s}.ws-ctl-text{padding:0 .9rem;min-width:4.75rem;font:500 .6875rem/1 var(--ws-mono);letter-spacing:.2em;text-transform:uppercase}.ws-ctl:hover{border-color:var(--ws-pink);color:var(--ws-pink)}.ws-ctl:focus-visible,.ws-device:focus-visible{outline:2px solid var(--ws-pink);outline-offset:4px}.ws-viewport{position:relative;overflow:hidden;overflow:clip;padding:var(--ws-note-room) 0 2.25rem;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.ws-viewport.is-dragging{cursor:grabbing}.ws-viewport.is-dragging .ws-item{pointer-events:none}.ws-track{display:flex;width:max-content;will-change:transform}.ws-set{display:flex;flex:none;align-items:flex-end;gap:var(--ws-gap);padding-right:var(--ws-gap)}.ws-item{position:relative;flex:none;width:var(--ws-w-laptop)}.ws-item[data-wide=phone]{width:var(--ws-w-phone)}.ws-rig{position:relative;transition:transform .4s cubic-bezier(.2,.7,.2,1),opacity .35s}.ws-device{position:relative;display:block;width:100%;padding:0;margin:0;background:none;border:0;border-radius:0;color:inherit;font:inherit;text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}.ws-device--static{cursor:inherit}.ws-on-narrow,.ws-on-wide{display:block}.ws-on-narrow{display:none}.ws-laptop{display:block;container-type:inline-size}.ws-laptop-lid{position:relative;display:block;margin:0 5.5%;padding:2.3cqi 2.1cqi 2.5cqi;background:#0b0d11;border:1px solid #2c323c;border-bottom-color:#14171c;border-radius:2.2cqi 2.2cqi .5cqi .5cqi;box-shadow:inset 0 0 0 1px #000}.ws-laptop-cam{position:absolute;top:.9cqi;left:50%;width:.55cqi;height:.55cqi;margin-left:-.275cqi;border-radius:50%;background:#1f242c}.ws-laptop-base{position:relative;display:block;height:1.9cqi;background:linear-gradient(#444b56,#2a2f37 14%,#17191e 60%,#0c0e11);border-radius:.4cqi .4cqi 1.7cqi 1.7cqi}.ws-laptop-base span{position:absolute;top:0;left:50%;width:13%;height:.65cqi;margin-left:-6.5%;background:#0b0d10;border-radius:0 0 .7cqi .7cqi}.ws-laptop:after{content:"";display:block;height:2.2cqi;margin:0 3%;background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.75),transparent 68%)}.ws-phone{display:block;container-type:inline-size}.ws-phone-body{position:relative;display:block;padding:3.4cqi;background:#0b0d11;border:1px solid #343b46;border-radius:15.5cqi;box-shadow:inset 0 0 0 1px #000}.ws-phone-body:after,.ws-phone-body:before{content:"";position:absolute;width:2px;background:#2a3039}.ws-phone-body:before{left:-2px;top:26cqi;height:12cqi;box-shadow:0 16cqi 0 #2a3039}.ws-phone-body:after{right:-2px;top:36cqi;height:20cqi}.ws-phone-status{display:block;height:12.5cqi;background:#000;border-radius:12.4cqi 12.4cqi 0 0}.ws-phone-status span{display:block;width:29cqi;height:7.6cqi;margin:0 auto;position:relative;top:3cqi;border-radius:4cqi;background:#14171c}.ws-phone:after{content:"";display:block;height:6cqi;margin:0 6%;background:radial-gradient(ellipse at 50% 0,rgba(0,0,0,.7),transparent 68%)}.ws-screen{position:relative;display:block;overflow:hidden;background:#0d0f13}.ws-screen--laptop{aspect-ratio:16/10;border-radius:.4cqi}.ws-screen--phone{aspect-ratio:9/18;border-radius:0 0 12.4cqi 12.4cqi}.ws-screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;pointer-events:none}.ws-screen:after{content:"";position:absolute;inset:0;background-color:rgba(4,5,7,.2);transition:opacity .35s,background-color .35s}.ws-cue{position:absolute;left:50%;bottom:18%;z-index:2;padding:.6rem .8rem;background:#fff;color:#040507;font:700 .625rem/1 var(--ws-mono);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translate(-50%,6px);transition:opacity .25s,transform .25s;pointer-events:none}.ws-item[data-visibility=case-study] .ws-device:not(a) .ws-cue,.ws-item[data-visibility=private] .ws-cue{background:#040507;color:#fff;box-shadow:inset 0 0 0 1px var(--ws-hair-2)}.ws-note{position:absolute;left:14%;bottom:calc(100% + var(--ws-lead));z-index:3;width:max-content;max-width:min(19rem,80%);background:rgba(4,5,7,.94);border:1px solid var(--ws-hair-2);cursor:default;transition:opacity .35s}.ws-item[data-wide=phone] .ws-note{left:50%;max-width:17rem}.ws-note:before{content:"";position:absolute;left:1.1rem;top:100%;width:1px;height:calc(var(--ws-lead) + 1px);background:linear-gradient(var(--ws-hair-2),#5a6370)}.ws-note:after{content:"";position:absolute;left:calc(1.1rem - 3px);top:calc(100% + var(--ws-lead));width:7px;height:1px;background:var(--ws-pink)}.ws-note-head{display:flex;align-items:center;gap:1rem;width:100%;padding:.6rem .75rem;background:none;border:0;border-radius:0;color:#fff;font:500 .65625rem/1.3 var(--ws-mono);letter-spacing:.17em;text-transform:uppercase;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.ws-plus{position:relative;flex:none;width:.5625rem;height:.5625rem;margin-left:auto}.ws-plus:after,.ws-plus:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:var(--ws-pink);transition:transform .25s}.ws-plus:after{transform:rotate(90deg)}.ws-note-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.ws-note-body>div{min-height:0;overflow:hidden}.ws-note-text{padding:.1rem .75rem .7rem;font-size:.8125rem;line-height:1.5;color:var(--ink-soft);white-space:normal}.ws-note-action{display:block;padding:.6rem .75rem .65rem;border-top:1px solid var(--ws-hair);font:500 .625rem/1 var(--ws-mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ws-pink)}.ws-note-action--closed{color:var(--ws-dim)}.ws-item.is-open .ws-note,.ws-item:focus-within .ws-note{border-color:#4a5260}.ws-item.is-open .ws-note-body,.ws-item:focus-within .ws-note-body{grid-template-rows:1fr}.ws-item.is-open .ws-plus:after,.ws-item:focus-within .ws-plus:after{transform:rotate(0deg)}.ws-item.is-open .ws-screen:after,.ws-item:focus-within .ws-screen:after{opacity:0}.ws-item:focus-within .ws-cue{opacity:1;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.ws-viewport:not(.is-dragging) .ws-item:hover .ws-rig{transform:translate3d(0,-8px,0)}.ws-viewport:not(.is-dragging) .ws-track:has(.ws-item:hover) .ws-item:not(:hover) .ws-screen:after{background-color:rgba(4,5,7,.68)}.ws-viewport:not(.is-dragging) .ws-track:has(.ws-item:hover) .ws-item:not(:hover) :is(.ws-meta,.ws-note){opacity:.4}.ws-item:hover .ws-screen:after{opacity:0}.ws-item:hover .ws-cue{opacity:1;transform:translate(-50%)}.ws-item:hover .ws-note{border-color:#4a5260}.ws-item:hover .ws-note-body{grid-template-rows:1fr}.ws-item:hover .ws-plus:after{transform:rotate(0deg)}.ws-item:hover .ws-arrow{color:var(--ws-pink);transform:translate(2px,-2px)}}.ws-meta{transition:opacity .35s;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:1rem;padding:0 5.5%}.ws-item[data-wide=phone] .ws-meta{padding:0 2%}.ws-name{font-family:var(--body);font-size:1.0625rem;font-weight:600;line-height:1.25;color:#fff}.ws-cat{margin-top:.45rem!important;font:500 .65625rem/1.4 var(--ws-mono)}.ws-cat,.ws-go{letter-spacing:.17em;text-transform:uppercase;color:var(--ws-dim)}.ws-go{display:flex;align-items:center;gap:.75rem;flex:none;font:500 .65625rem/1.6 var(--ws-mono)}.ws-arrow{display:inline-block;font-size:1.05rem;line-height:1;color:#fff;transition:color .2s,transform .2s}.ws-tag{padding:.3rem .45rem;border:1px solid var(--ws-hair-2);font-size:.5625rem;line-height:1;color:#aeb6c2}.ws-hint{display:flex;justify-content:flex-end;gap:1.75rem;padding:0 var(--gutter) 1.5rem;font:500 .625rem/1 var(--ws-mono);letter-spacing:.22em;text-transform:uppercase;color:#586170}.ws-index{padding:clamp(3rem,6vw,5rem) var(--gutter) clamp(2.5rem,5vw,4rem)}.ws-index-head{display:flex;align-items:baseline;gap:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--ws-hair-2)}.ws-index-head h2{font:500 .75rem/1 var(--ws-mono);letter-spacing:.3em;text-transform:uppercase;color:#fff}.ws-index-head p{font-size:.875rem;color:var(--ws-dim)}.ws-rows{margin:0;padding:0;list-style:none}.ws-row{display:grid;grid-template-columns:3rem minmax(0,1fr) 10rem 13.5rem;align-items:baseline;gap:.5rem 1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--ws-hair)}.ws-row-action,.ws-row-num,.ws-row-type{font:500 .6875rem/1.5 var(--ws-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ws-dim)}.ws-row-main h3{font-family:var(--body);font-size:1.0625rem;font-weight:600;line-height:1.3;letter-spacing:0;color:#fff}.ws-row-main p{margin-top:.25rem;max-width:44rem;font-size:.9375rem;line-height:1.55;color:var(--ink-soft)}.ws-row-type{color:#c2c8d1}.ws-row-action{text-align:right}.ws-row-action a{color:var(--ws-pink);text-decoration:none}.ws-row-action a:hover{text-decoration:underline;text-underline-offset:.3em}.ws-close{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem;padding:0 var(--gutter) clamp(3rem,6vw,5rem)}.ws-close>p{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:700;line-height:1.1;letter-spacing:-.015em;color:#fff}.ws-close>div{display:flex;flex-wrap:wrap;gap:.75rem 2rem}.ws-close-link{font:500 .75rem/1 var(--ws-mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#fff;padding:.5rem 0;border-bottom:1px solid var(--ws-pink)}.ws-close-link:hover{color:var(--ws-pink)}@media (max-width:1000px){.ws-hero-row{flex-direction:column;align-items:flex-start}.ws-lede{flex:none}.ws-row{grid-template-columns:2.5rem minmax(0,1fr) 11rem}.ws-row-type{grid-column:2;grid-row:2}.ws-row-action{grid-column:3;grid-row:1}.ws-hint span:nth-child(2){display:none}}@media (max-width:760px){.ws{--ws-w-phone:min(54vw,14.5rem);--ws-w-laptop:min(80vw,28rem);--ws-gap:8vw;--ws-note-room:4.75rem;--ws-lead:1rem;--ws-note-head:2.5rem}.ws-on-wide{display:none}.ws-on-narrow{display:block}.ws-item,.ws-item[data-wide=phone]{width:var(--ws-w-laptop)}.ws-item[data-narrow=phone]{width:var(--ws-w-phone)}.ws-viewport{padding-bottom:1.75rem;-webkit-mask-image:none;mask-image:none}.ws-track{padding-left:var(--gutter)}.ws-item[data-wide=phone] .ws-note,.ws-note{left:0;bottom:auto;top:calc(-1 * (var(--ws-note-head) + var(--ws-lead)));width:max-content;min-width:100%;max-width:min(17rem,78vw);background:#040507}.ws-note:before{top:var(--ws-note-head);height:var(--ws-lead)}.ws-note:after{top:calc(var(--ws-note-head) + var(--ws-lead) - 1px)}.ws-item.is-open .ws-note:after,.ws-item.is-open .ws-note:before{display:none}.ws-note-head{height:var(--ws-note-head);padding:0 .7rem;font-size:.59375rem;letter-spacing:.14em;white-space:nowrap}.ws-cat{font-size:.59375rem;letter-spacing:.13em}.ws-item[data-wide=phone] .ws-meta,.ws-meta{padding:0 3%;margin-top:.5rem}.ws-item[data-narrow=laptop] .ws-meta{padding:0 5.5%}.ws-cue,.ws-num,.ws-screen:after{display:none}.ws-name{font-size:1rem}.ws-bar{gap:.75rem}.ws-bar-count{display:none}.ws-hint{justify-content:flex-start}.ws-hint span:not(:first-child){display:none}.ws-hint span:first-child:before{content:"Swipe or "}.ws-spec{display:none}.ws-lede{font-size:.9375rem}.ws-index-head{flex-direction:column;gap:.6rem}.ws-row{grid-template-columns:2rem minmax(0,1fr);gap:.4rem .75rem}.ws-row-action,.ws-row-type{grid-column:2;grid-row:auto;text-align:left}}@media (prefers-reduced-motion:reduce){.ws-wires-g0,.ws-wires-g1{animation:none}.ws-arrow,.ws-cue,.ws-note-body,.ws-plus:after,.ws-plus:before,.ws-rig,.ws-screen:after{transition:none}.ws-viewport:not(.is-dragging) .ws-item:hover .ws-rig{transform:none}}