.page .projects__lead{max-width:62ch;font-size:18px;line-height:1.65}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 8px}.chip{padding:9px 20px;border-radius:999px;font-size:15px;letter-spacing:.04em;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--dim);transition:background .25s,color .25s,border-color .25s}.chip:hover{color:var(--ink);border-color:#fff6}.chip[aria-pressed=true]{color:#141b30;background:#fff;border-color:#fff}.projects__grid{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:28px}.demo[hidden]{display:none}.demo__link{position:relative;display:grid;gap:10px;overflow:visible;align-content:start;height:100%;padding:14px 14px 22px;border-radius:20px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(155deg,#ffffff21,#ffffff0d);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:inset 0 1px #ffffff29,0 24px 50px -30px #050a1c99;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .45s}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.demo__link{background:#1d2547eb}}.demo:hover .demo__link,.demo__link:focus-visible{transform:translateY(-6px);border-color:#ffffff5c;box-shadow:inset 0 1px #fff3,0 34px 60px -28px #050a1cd9}.demo__view{position:relative;display:block}.demo__chrome{display:flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:12px 12px 0 0;background:#e9ebf1}.demo__chrome i{width:8px;height:8px;border-radius:50%;background:#b9bdca}.demo__chrome i:first-child{background:#ff6b63}.demo__chrome i:nth-child(2){background:#ffc24a}.demo__chrome i:nth-child(3){background:#3fcf6b}.demo__chrome b{margin:0 auto;padding:2px 16px;border-radius:999px;background:#fff;color:#6b7080;font:400 11px/1.5 var(--font-body);letter-spacing:.03em}.demo__shot{display:block;position:relative;aspect-ratio:960 / 560;overflow:hidden;border-radius:0 0 12px 12px;background:#fff;box-shadow:0 18px 40px -18px #000000a6}.demo__scroll{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;transform:translateY(0);transition:transform var(--dur, 6s) cubic-bezier(.45,.05,.35,1)}.demo:hover .demo__link .demo__scroll,.demo__link:focus-visible .demo__scroll{transform:translateY(var(--pan))}.demo__phone{position:absolute;right:-6px;bottom:-18px;width:24%;height:auto;border-radius:16px;border:4px solid #0b0f1e;background:#0b0f1e;box-shadow:0 20px 34px -10px #000000bf,0 0 0 1px #ffffff2e;transform:rotate(3deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}.demo:hover .demo__link .demo__phone{transform:rotate(0) translateY(-10px) scale(1.04)}@media(hover:none){.demo__scroll{animation:demo-pan calc(var(--dur, 6s) * 2) ease-in-out infinite alternate}@keyframes demo-pan{to{transform:translateY(var(--pan))}}}.demo__cta{display:inline-flex;align-items:center;gap:8px;margin:10px 6px 0;padding:9px 18px;width:fit-content;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);transition:background .3s,color .3s}.demo:hover .demo__link .demo__cta,.demo__link:focus-visible .demo__cta{background:#fff;color:#141b30}.demo__meta{display:flex;justify-content:space-between;gap:12px;margin:14px 6px 0;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.page .demo__title{margin:0 6px;font:400 clamp(21px,1vw + 16px,25px)/1.25 var(--font-display);letter-spacing:.04em;text-transform:none}.demo__text{margin:0 6px;font-size:16.5px;line-height:1.6;color:var(--dim);font-weight:400}.demo__cta{font-size:15.5px;letter-spacing:.06em}.demo__cta svg{transition:transform .3s}.demo:hover .demo__link .demo__cta svg{transform:translate(5px)}.page .projects__note{margin-top:36px;max-width:68ch;font-size:14.5px;line-height:1.6;color:var(--dim)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;grid-template-rows:auto 1fr;background:#0c1122;color:var(--ink);padding-top:env(safe-area-inset-top,0px);animation:v-in .35s cubic-bezier(.2,.7,.2,1)}.viewer[hidden]{display:none}@keyframes v-in{0%{opacity:0;transform:scale(.985)}}.viewer__bar{display:flex;align-items:center;gap:14px;padding:10px clamp(12px,2vw,24px);border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#ffffff14,#ffffff05);flex-wrap:wrap}.viewer__title{display:flex;align-items:center;gap:6px;font-size:17px;letter-spacing:.04em}.viewer__title strong{font-weight:400;min-width:6ch;text-align:center}.viewer__pages{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px}.viewer__pages::-webkit-scrollbar{display:none}.vpage{flex:none;padding:7px 14px;border-radius:999px;font-size:14px;color:var(--dim);border:1px solid transparent;transition:background .2s,color .2s}.vpage:hover{color:var(--ink);background:#ffffff14}.vpage[aria-current=true]{color:#141b30;background:#fff}.viewer__tools{display:flex;align-items:center;gap:10px;margin-left:auto}.viewer__dev{display:flex;gap:2px;padding:3px;border-radius:12px;background:#ffffff12}.vbtn{display:inline-grid;place-items:center;grid-auto-flow:column;gap:8px;min-width:38px;height:38px;padding:0 9px;border-radius:10px;color:var(--dim);transition:background .2s,color .2s}.vbtn:hover{color:var(--ink);background:#ffffff1a}.vbtn[aria-pressed=true]{color:#141b30;background:#fff}.vbtn--close{padding:0 14px 0 10px;border:1px solid rgba(255,255,255,.2);color:var(--ink);font-size:15px}.viewer__order{padding:9px 20px;font-size:15px;white-space:nowrap}.viewer__stage{position:relative;display:flex;justify-content:center;align-items:stretch;overflow:auto;padding:0;background:radial-gradient(800px 500px at 50% 0,rgba(120,140,210,.18),transparent 70%),#0c1122;transition:padding .4s}.viewer__frame{position:relative;width:100%;background:#0c1122;transition:width .45s cubic-bezier(.2,.7,.2,1),border-radius .4s,margin .4s;overflow:hidden}.viewer__frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:transparent;opacity:0;transition:opacity .25s ease}.viewer__frame iframe.is-on{opacity:1}.viewer__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#fff9;font-size:15px;letter-spacing:.12em;background:#0c1122;opacity:0;pointer-events:none;transition:opacity .3s}.viewer__loading.is-wait{opacity:1}.viewer[data-dev=tablet] .viewer__stage,.viewer[data-dev=mobile] .viewer__stage{padding:22px}.viewer[data-dev=tablet] .viewer__frame{width:min(820px,100%);border-radius:22px;box-shadow:0 0 0 9px #1b2240,0 40px 80px -20px #000}.viewer[data-dev=mobile] .viewer__frame{width:min(390px,100%);border-radius:34px;box-shadow:0 0 0 10px #1b2240,0 40px 80px -20px #000}html.viewer-open{overflow:hidden}@media(max-width:900px){.viewer__bar{gap:8px 10px}.viewer__pages{order:5;flex-basis:100%}.viewer__dev{display:none}.viewer[data-dev] .viewer__stage{padding:0}.viewer[data-dev] .viewer__frame{width:100%;border-radius:0;box-shadow:none}.vbtn--close span{display:none}.vbtn--close{padding:0}.viewer__order{padding:8px 14px;font-size:14px}}@media(prefers-reduced-motion:reduce){.viewer{animation:none}.demo__scroll{animation:none!important;transition:none}.demo:hover .demo__link .demo__scroll,.demo:hover .demo__link{transform:none}.demo:hover .demo__link .demo__cta svg{transform:none}}@media(max-width:600px){.viewer__tools>a.vbtn{display:none}.viewer__title{flex:1;min-width:0;justify-content:center;font-size:16px}.viewer__title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer__order{padding:8px 12px;font-size:13.5px}.viewer__bar{padding:8px 10px}}.demo__link>*:not(.snake){position:relative;z-index:1}.demo__link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 40%,rgba(255,255,255,.18) 50%,transparent 60%) 130% 0 / 250% 100% no-repeat;transition:background-position .9s cubic-bezier(.2,.7,.2,1)}.demo:hover .demo__link:after,.demo__link:focus-visible:after{background-position:-30% 0}.demo:hover .demo__link,.demo__link:focus-visible{transform:translateY(-10px);background:linear-gradient(155deg,#ffffff2b,#ffffff12)}.demo:hover .demo__link .snake,.demo__link:focus-visible .snake,.demo__link:active .snake{opacity:1}.demo:hover .demo__link .snake:before,.demo__link:focus-visible .snake:before,.demo__link:active .snake:before{animation:snake-run 2.2s linear infinite}.demo__link{will-change:transform}.projects__grid>li.reveal:not(.reveal-done){pointer-events:none}@media(prefers-reduced-motion:reduce){.demo__link .snake,.demo__link:after{display:none}}.demo{position:relative}.demo:before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}.ready{margin-top:clamp(48px,7vw,88px)}.ready h2{font:300 clamp(20px,2.6vw,32px)/1.2 var(--font-display);letter-spacing:.24em;text-transform:uppercase;margin-bottom:12px;overflow-wrap:anywhere}.page .ready__intro{max-width:62ch;font-size:17px;line-height:1.65;color:var(--dim)}.demo--ready .demo__title{margin:0}
