:root{--t:1;--gut:clamp(1rem, 4vw, 2.5rem);--bp-c:#7d3df38c;--grid-c:#7d3df317}@supports (color:lab(0% 0 0)){:root{--bp-c:lab(43.1905% 57.081 -82.3122/.55);--grid-c:lab(43.1905% 57.081 -82.3122/.09)}}html.bp-fast{--t:.45}.lab-wrap{max-width:90rem;padding-inline:var(--gut);margin-inline:auto}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem}.t-hero{letter-spacing:-.038em;text-wrap:balance;font-size:clamp(2.5rem,5.6vw,5.1rem);font-weight:560;line-height:1}.t-case{letter-spacing:-.035em;margin-top:.4rem;font-size:clamp(2.2rem,4.4vw,3.8rem);font-weight:560;line-height:1}.btn{transition:background-color .3s var(--ease), color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.btn--lg{padding:.85rem 1.35rem;font-size:1rem}.btn--ink{background:var(--ink);color:var(--paper)}.btn--ink:hover{background:var(--violet)}.btn--line{box-shadow:inset 0 0 0 1px var(--line);background:var(--paper)}.btn--line:hover{box-shadow:inset 0 0 0 1px var(--ink)}.btn:active{transform:scale(.97)}.chip{box-shadow:inset 0 0 0 1px var(--line);background:var(--paper);color:var(--ink-2);border-radius:6px;padding:.3rem .55rem}.dot{width:.5rem;height:.5rem;animation:dot 2.2s var(--ease) infinite;vertical-align:.05em;background:#20c45f;background:lab(69.8839% -57.6973 38.4293);border-radius:50%;display:inline-block;box-shadow:0 0 #20c45f80;box-shadow:0 0 lab(69.8839% -57.6973 38.4293/.5)}.dot--off{box-shadow:inset 0 0 0 1.5px var(--ink-2);background:0 0;animation:none}@keyframes dot{70%,to{box-shadow:0 0 0 .45rem #20c45f00;box-shadow:0 0 0 .45rem lab(69.8839% -57.6973 38.4293/0)}}.bp-grid{pointer-events:none;position:fixed;inset:0}.bp-grid:before{content:"";inset:0 max(var(--gut), calc((100% - 90rem) / 2 + var(--gut)));border-right:1px solid var(--grid-c);background:repeating-linear-gradient(to right, var(--grid-c) 0 1px, transparent 1px calc(100% / 4));animation:grid-draw calc(.9s * var(--t)) var(--ease) both, grid-rest calc(.8s * var(--t)) ease calc(1.7s * var(--t)) forwards;position:absolute}@media (min-width:768px){.bp-grid:before{background:repeating-linear-gradient(to right, var(--grid-c) 0 1px, transparent 1px calc(100% / 12))}}@keyframes grid-draw{0%{clip-path:inset(0 0 100%)}}@keyframes grid-rest{0%{opacity:1}to{opacity:.6}}.bp{--base:.25s;--d:calc((var(--base) + var(--i,0) * .11s) * var(--t));--r:calc((var(--base) + .95s + var(--i,0) * 75ms) * var(--t));position:relative}.bp-box{pointer-events:none;position:absolute;inset:-6px}.bp-box i{background:var(--bp-c);animation:bp-draw calc(.55s * var(--t)) var(--ease) var(--d) both, bp-out calc(.45s * var(--t)) ease calc(var(--r) + .25s * var(--t)) forwards;position:absolute}.bp-box i:first-child{transform-origin:0;--from:scaleX(0);height:1px;inset:0 0 auto}.bp-box i:nth-child(2){transform-origin:top;--from:scaleY(0);width:1px;inset:0 0 0 auto}.bp-box i:nth-child(3){transform-origin:100%;--from:scaleX(0);height:1px;inset:auto 0 0}.bp-box i:nth-child(4){transform-origin:bottom;--from:scaleY(0);width:1px;inset:0 auto 0 0}@keyframes bp-draw{0%{transform:var(--from)}}@keyframes bp-out{to{opacity:0;visibility:hidden}}.bp-tag{z-index:2;font:500 10px/1.2 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:var(--paper);background:var(--violet);pointer-events:none;animation:bp-type calc(.42s * var(--t)) steps(10) calc(var(--d) + .15s * var(--t)) both, bp-out calc(.35s * var(--t)) ease calc(var(--r) + .25s * var(--t)) forwards;padding:2px 5px;position:absolute;top:-6px;left:-6px;translate:0 -100%}@keyframes bp-type{0%{clip-path:inset(0 100% 0 0)}}.bp-scan{z-index:2;overflow-clip-margin:20px;opacity:0;pointer-events:none;animation:bp-scan calc(.7s * var(--t)) var(--ease-io) var(--r) both;position:absolute;inset:-6px 0;overflow:clip}.bp-scan:before{content:"";border-right:1px solid var(--violet);animation:bp-scan-move calc(.7s * var(--t)) var(--ease-io) var(--r) both;background:linear-gradient(270deg,#7d3df359,#0000 16px);background:linear-gradient(270deg,lab(43.1905% 57.081 -82.3122/.35),#0000 16px);position:absolute;inset:0;translate:-100%}@keyframes bp-scan{0%,85%{opacity:1}to{opacity:0}}@keyframes bp-scan-move{to{translate:0}}.bp-body{animation:bp-render calc(.7s * var(--t)) var(--ease-io) var(--r) backwards}@keyframes bp-render{0%{clip-path:inset(0 100% 0 0);filter:blur(3px)}to{clip-path:inset(0);filter:blur()}}.bp[data-reveal].rv-pre{opacity:1}.bp.rv-pre :is(.bp-box i,.bp-tag,.bp-scan,.bp-body),.bp.rv-pre .bp-scan:before{animation:none}.bp.rv-pre :is(.bp-box,.bp-tag){opacity:0}.bp.rv-pre .bp-body{clip-path:inset(0 100% 0 0)}.bp.rv-in{--base:0s;--t:.75}@property --n{syntax:"<integer>";inherits:false;initial-value:0}.hud{z-index:60;right:var(--gut);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:15rem;box-shadow:0 0 0 1px var(--line), 0 20px 40px -24px #2f215b59;color:var(--ink-2);pointer-events:none;animation:bp-out calc(.5s * var(--t)) ease calc(2.45s * var(--t)) forwards;background:#fefdffe6;background:lab(99.3763% .692785 -1.30981/.9);border-radius:10px;gap:.6rem;padding:.85rem 1rem 1rem;font-size:11px;line-height:1.6;display:grid;position:fixed;bottom:1.25rem;overflow:clip}@supports (color:lab(0% 0 0)){.hud{box-shadow:0 0 0 1px var(--line), 0 20px 40px -24px lab(17.2581% 19.4111 -33.4361/.35)}}.hud-log li{animation:hud-line calc(.2s * var(--t)) steps(4) calc((.15s + var(--i) * .42s) * var(--t)) both}.hud-log span{color:var(--violet)}@keyframes hud-line{0%{clip-path:inset(0 100% 0 0)}}.hud-n{border-top:1px solid var(--line);letter-spacing:.1em;padding-top:.5rem}.hud-n b{color:var(--ink);animation:hud-count calc(2.15s * var(--t)) cubic-bezier(.5, 0, .2, 1) calc(.15s * var(--t)) both;counter-reset:n var(--n);font-weight:600}.hud-n b:after{content:counter(n)}@keyframes hud-count{to{--n:100}}.hud-bar{background:var(--grad);transform-origin:0;height:2px;animation:hud-bar calc(2.3s * var(--t)) cubic-bezier(.5, 0, .2, 1) both;position:absolute;inset:auto 0 0}@keyframes hud-bar{0%{transform:scaleX(0)}}.lab-nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fefdffd9;background:lab(99.3763% .692785 -1.30981/.85);position:sticky;top:0}.lab-nav .bp-box{inset:4px calc(var(--gut) - 6px)}.lab-nav .bp-tag{top:auto;bottom:4px;left:calc(var(--gut) - 6px);translate:0 100%}.hero{gap:clamp(2rem,5vw,3.5rem);padding-block:clamp(2.5rem,7vw,5.5rem) clamp(2rem,5vw,3.5rem);display:grid}.hero-copy .bp-body{animation:none}.hero-copy .bp-scan{display:none}.hero-copy{align-content:center;gap:1.5rem;display:grid}.hero-stage{padding-bottom:8%;position:relative}.hero-phone{width:27%;position:absolute;bottom:0;right:-2%}.hero-stats dl{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem;padding-top:1.25rem;display:grid}.hero-stats dt,.case-spec dt,.spec-row dt{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);font-size:.7rem}.hero-stats dd{margin-top:.35rem;font-weight:500}@media (min-width:1024px){.hero{min-height:calc(100svh - var(--nav-h));grid-template-columns:repeat(12,minmax(0,1fr));align-content:center;column-gap:1.5rem}.hero-copy{grid-column:1/span 6}.hero-stage{grid-column:7/span 6;align-self:center}.hero-stats{grid-column:1/-1}.hero-stats dl{grid-template-columns:repeat(4,minmax(0,1fr))}}.frame{background:var(--paper);box-shadow:0 0 0 1px var(--line), 0 40px 80px -45px #2f215b73;border-radius:14px;position:relative;overflow:clip}@supports (color:lab(0% 0 0)){.frame{box-shadow:0 0 0 1px var(--line), 0 40px 80px -45px lab(17.2581% 19.4111 -33.4361/.45)}}.frame-bar{border-bottom:1px solid var(--line);background:var(--paper-2);align-items:center;gap:6px;height:32px;padding:0 12px;display:flex}.frame-bar i{background:var(--line);border-radius:50%;width:9px;height:9px}.frame-url{background:var(--paper);box-shadow:0 0 0 1px var(--line);font:500 11px/1.4 var(--font-mono);color:var(--ink-2);border-radius:6px;margin-inline:auto;padding:2px 14px}.frame-view{aspect-ratio:16/10;background:var(--paper-2);position:relative;overflow:clip;container-type:size}.phone{background:var(--ink);border-radius:13%/6%;padding:5%;box-shadow:0 0 0 1px #2d2c37,0 30px 60px -25px #19053f8c;box-shadow:0 0 0 1px lab(18.5935% 2.67324 -6.9638),0 30px 60px -25px lab(5.54796% 22.1195 -32.8721/.55)}.phone .frame-view{aspect-ratio:9/19.5;border-radius:9%/4.2%}.pan{width:100%;max-width:none;height:auto;display:block}.pan--auto{animation:pan-auto 28s var(--ease-io) calc(2.2s * var(--t)) infinite alternate}.phone .pan--auto{animation-duration:36s}@keyframes pan-auto{0%,8%{transform:translateY(0)}92%,to{transform:translateY(min(0px,100cqh - 100%))}}@supports (animation-timeline:view()){.case-stage{view-timeline:--case block}.pan--scroll{animation:linear both pan-scroll;animation-timeline:--case;animation-range:cover 15% cover 85%}.case-phone{animation:linear both phone-float;animation-timeline:--case;animation-range:cover}}@keyframes pan-scroll{to{transform:translateY(min(0px,100cqh - 100%))}}@keyframes phone-float{0%{translate:0 18%}to{translate:0 -12%}}.sec{border-top:1px solid var(--line);padding-block:clamp(5rem,12vw,10rem);position:relative}.sec:before{content:"+";top:0;left:calc(var(--gut) - .3em);font:400 16px/1 var(--font-mono);color:var(--violet);position:absolute;translate:0 -55%}.cases{gap:clamp(5rem,12vw,9rem);display:grid}.case{gap:2rem;display:grid}.case-meta{align-content:start;gap:1.5rem;display:grid}.case-spec{border-top:1px solid var(--line);grid-template-columns:auto 1fr;align-items:baseline;gap:.55rem 1.5rem;padding-top:1rem;display:grid}.case-spec dd{font-weight:500}.case-stage{padding-bottom:10%;position:relative}.case-phone{width:24%;position:absolute;bottom:0;right:3%}@media (min-width:1024px){.case{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.5rem}.case-meta{top:calc(var(--nav-h) + 3rem);grid-column:1/span 4;align-self:start;position:sticky}.case-stage{grid-column:6/span 7}.case--alt .case-meta{grid-area:1/9/auto/span 4}.case--alt .case-stage{grid-area:1/1/auto/span 7}.case--alt .case-phone{left:3%;right:auto}}.wi-head,.wi-row{grid-template-columns:2.5rem 1fr auto;align-items:center;gap:1rem;display:grid}.wi-head{border-bottom:1px solid var(--ink);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);padding-bottom:.75rem;font-size:.7rem}.wi-head span:nth-child(3),.wi-row>span:nth-child(3){display:none}.wi-row{isolation:isolate;border-bottom:1px solid var(--line);padding-block:1rem;font-size:.8rem;position:relative}.wi-row:before{content:"";z-index:-1;background:var(--paper-2);transform-origin:bottom;transition:transform .45s var(--ease);position:absolute;inset:0;transform:scaleY(0)}.wi-title{letter-spacing:-.025em;transition:transform .45s var(--ease);align-items:center;gap:.9rem;font-size:clamp(1.25rem,2.4vw,1.9rem);font-weight:540;display:flex}.wi-thumb{width:4rem;height:auto;box-shadow:0 0 0 1px var(--line);border-radius:4px}.wi-preview{z-index:40;pointer-events:none;width:22rem;display:none;position:fixed;top:0;left:0}.wi-preview img{width:100%;height:auto;box-shadow:0 0 0 1px var(--line), 0 30px 60px -30px #2f215b80;opacity:0;transition:opacity .3s var(--ease), transform .45s var(--ease);border-radius:10px;position:absolute;top:1.25rem;left:1.25rem;transform:scale(.92)}@supports (color:lab(0% 0 0)){.wi-preview img{box-shadow:0 0 0 1px var(--line), 0 30px 60px -30px lab(17.2581% 19.4111 -33.4361/.5)}}.wi-preview img.on{opacity:1;transform:none}@media (min-width:768px){.wi-head,.wi-row{grid-template-columns:3.5rem 1fr 12rem 4rem}.wi-head span:nth-child(3),.wi-row>span:nth-child(3){display:block}}@media (hover:hover){.wi-preview{display:block}.wi-thumb{display:none}.wi-row:hover:before,.wi-row:focus-visible:before{transform:scaleY(1)}.wi-row:hover .wi-title{transform:translate(.75rem)}}.cards{gap:3rem 1.5rem;margin-top:clamp(5rem,12vw,9rem);display:grid}.card{align-content:start;gap:1rem;display:grid;position:relative}.card-meta{gap:.35rem;display:grid}.card-title{letter-spacing:-.025em;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:540}.card-link:after{content:"";z-index:1;position:absolute;inset:0}.card .credit{z-index:2;position:relative}.pan--hover{transition:transform 1.2s var(--ease)}@media (hover:hover){.card:hover .pan--hover{transition-duration:9s;transition-timing-function:linear;transform:translateY(min(0px,100cqh - 100%))}}@media (min-width:768px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.credit{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:.72rem}.credit a{color:var(--violet);text-underline-offset:.2em;text-decoration:underline}.wi-out{color:var(--ink-2);font-size:.6em}.wi-credit{color:var(--violet)}.sides{border-top:1px solid var(--line);padding-block:clamp(4rem,10vw,7rem);position:relative}.sides-stick{align-items:center;gap:2.5rem;display:grid}.sides-copy{display:grid}.sides-a,.sides-b{grid-area:1/1}.sides-render{position:absolute;inset:0}.sides-scan{display:none}.sides-rail{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:.75rem;margin-top:1rem;font-size:.7rem;display:flex}.sides-rail i{background:var(--line);flex:1;height:1px;position:relative}.sides-rail b{background:var(--violet);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:0}@supports not (animation-timeline:view()){.sides-copy{gap:2.5rem}.sides-a,.sides-b{grid-area:auto}.sides-rail{display:none}}@supports (animation-timeline:view()){.sides{view-timeline:--sides block;height:260vh;padding:0}.sides-stick{top:var(--nav-h);height:calc(100svh - var(--nav-h));position:sticky}.sides-render,.sides-scan,.sides-rail b,.sides-a,.sides-b{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--sides;animation-range:contain 15% contain 80%}.sides-render{animation-name:sides-wipe}.sides-scan{z-index:2;background:var(--violet);width:2px;animation-name:sides-scan;display:block;position:absolute;top:0;bottom:0;box-shadow:0 0 22px 5px #7d3df373;box-shadow:0 0 22px 5px lab(43.1905% 57.081 -82.3122/.45)}.sides-rail b{animation-name:sides-dot}.sides-a{animation-name:sides-out}.sides-b{animation-name:sides-in}}@keyframes sides-wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes sides-scan{0%{opacity:0;left:0}4%,96%{opacity:1}to{opacity:0;left:100%}}@keyframes sides-dot{to{left:calc(100% - 7px)}}@keyframes sides-out{0%,40%{opacity:1;transform:none}55%,to{opacity:0;visibility:hidden;transform:translateY(-1.5rem)}}@keyframes sides-in{0%,50%{opacity:0;visibility:hidden;transform:translateY(1.5rem)}65%,to{opacity:1;transform:none}}@media (min-width:1024px){.sides-stick{grid-template-columns:5fr 7fr;gap:4rem}}.dash{background:linear-gradient(var(--grid-c) 1px, transparent 1px) 0 0 / 100% 24px, linear-gradient(90deg, var(--grid-c) 1px, transparent 1px) 0 0 / 24px 100%, var(--paper);font:500 clamp(7px, .9cqw, 11px) / 1 var(--font-mono);color:var(--ink-2);grid-template-columns:22% 1fr;display:grid;position:absolute;inset:0}.dash-side{border-right:1px dashed var(--bp-c);align-content:start;gap:5%;padding:8% 10%;display:grid}.dash-side span{border-radius:4px;padding:6% 8%}.dash-side .on{box-shadow:inset 0 0 0 1px var(--bp-c);color:var(--violet)}.dash-logo{width:50%;height:1.4em;box-shadow:inset 0 0 0 1px var(--bp-c);margin-bottom:20%}.dash-main{grid-template-rows:auto auto 1fr auto;gap:4cqh;padding:4cqh 4%;display:grid}.dash-top{justify-content:space-between;display:flex}.dash-search{width:40%;height:6cqh;box-shadow:inset 0 0 0 1px var(--bp-c);border-radius:999px}.dash-avatar{width:6cqh;height:6cqh;box-shadow:inset 0 0 0 1px var(--bp-c);border-radius:50%}.dash-kpis{grid-template-columns:repeat(3,1fr);gap:3%;display:grid}.dash-kpis span{box-shadow:inset 0 0 0 1px var(--bp-c);border-radius:6px;gap:1.6cqh;padding:3cqh 8%;display:grid}.dash-kpis b,.dash-rows b{background:var(--grid-c);width:45%;height:2cqh;box-shadow:inset 0 0 0 1px var(--bp-c);border-radius:2px}.dash-kpis em{background:#7d3df324;background:lab(43.1905% 57.081 -82.3122/.14);border-radius:2px;width:70%;height:4cqh}.dash-chart{width:100%;height:100%;box-shadow:inset 0 0 0 1px var(--bp-c);border-radius:6px}.dash-chart polyline{fill:none;stroke:var(--violet);stroke-width:1.5px;vector-effect:non-scaling-stroke}.dash-chart .b{stroke:var(--bp-c);stroke-dasharray:4 4}.dash-rows{gap:1.4cqh;display:grid}.dash-rows span{border-bottom:1px dashed var(--bp-c);grid-template-columns:1fr 1fr 12%;gap:4%;padding-block:1.2cqh;display:grid}.dash-rows em,.dash-rows i{background:var(--grid-c);border-radius:2px;height:2cqh}.dash-note{background:var(--violet);color:var(--paper);text-transform:uppercase;letter-spacing:.06em;padding:2px 5px;font-size:clamp(7px,.85cqw,10px);position:absolute}.spec{gap:.5rem;display:grid}.spec-row{border-bottom:1px solid var(--line);gap:.75rem;padding-block:1.25rem;display:grid}.spec-row dd{letter-spacing:-.02em;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:500;display:flex}@media (min-width:768px){.spec-row{grid-template-columns:14rem 1fr;align-items:baseline}}.lab-foot{z-index:1;border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:2rem;font-size:.75rem;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.hud,.bp-box,.bp-tag,.bp-scan,.sides-scan{display:none!important}.bp-grid:before{opacity:.6;animation:none}.bp-body{animation:rm-fade .6s ease var(--d) backwards}.bp.rv-pre .bp-body{clip-path:none;opacity:0}.pan--auto,.pan--scroll,.case-phone{animation:none!important}.card:hover .pan--hover{transform:none}.dot{animation:none}}@keyframes rm-fade{0%{opacity:0}}
