*,:before,:after{box-sizing:border-box}*{font:inherit;vertical-align:baseline;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}ul,ol{list-style:none}a{color:inherit;text-decoration:none}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.2}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:100%;margin:0 auto;padding:0 clamp(1rem,4vw,2.5rem)}@media (width>=576px){.container{max-width:540px}}@media (width>=768px){.container{max-width:720px}}@media (width>=992px){.container{max-width:960px}}@media (width>=1200px){.container{max-width:1140px}}@media (width>=1400px){.container{max-width:1320px}}.contact-section{padding-top:var(--section-gap)}.contact{border:1px solid var(--surface-border);border-radius:var(--panel-radius);background:var(--panel-ticks), var(--card-lattice-quiet), var(--surface-panel);flex-wrap:wrap;align-items:stretch;gap:clamp(2rem,5vw,4rem);padding:clamp(1.5rem,4vw,3rem);display:flex}.contact .contact-info{color:var(--color-secondary);flex-direction:column;flex:22rem;justify-content:space-between;display:flex}.contact .contact-info-text{align-items:center;gap:1rem;display:flex}.contact .contact-info-text svg{width:2rem;min-width:2rem;height:2rem;color:var(--color-highlight)}.contact h3{text-transform:none;text-wrap:balance;margin-bottom:1.5rem;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.15}.contact p{max-width:34rem;color:var(--text-body);font-size:var(--fs-lead);line-height:1.6}.contact .contact-info-icons{flex-wrap:wrap;justify-content:flex-end;gap:1rem;margin-top:3rem;display:flex}.contact .contact-info-icons a{width:3.25rem;height:3.25rem;color:var(--color-highlight);border:1px solid var(--surface-border);background:var(--surface-hover);border-radius:16px;place-items:center;padding:0;transition:color .3s,border-color .3s,transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s;display:grid}.contact .contact-info-icons a:hover{color:var(--color-secondary);border-color:var(--surface-border-hover);box-shadow:var(--elev-2);text-decoration:none;transform:translateY(-3px)}.contact .contact-info-icons svg{width:1.25rem;min-width:1.25rem;height:1.25rem}.contact-form{border:1px solid var(--surface-border);min-width:min(100%,300px);color:var(--color-secondary);background:linear-gradient(#ffffff13,#ffffff08);border-radius:24px;flex-direction:column;flex:24rem;gap:1.25rem;padding:clamp(1.5rem,3vw,2.5rem);display:flex}.contact-form .row{flex-wrap:wrap;gap:1.25rem;display:flex}.contact-form .row>*{flex:12rem;min-width:0}.contact-form .form-group{flex-direction:column;gap:.5rem;display:flex}.contact-form label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary);font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700}.contact-form label .required{color:var(--color-highlight)}.contact-form input,.contact-form textarea{border:1px solid var(--surface-border);background:color-mix(in srgb, var(--background-dark) 55%, transparent);width:100%;color:var(--color-secondary);border-radius:12px;padding:.875rem 1rem;font-weight:400;transition:border-color .25s,background-color .25s,box-shadow .25s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-primary);opacity:.55;font-weight:400}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--surface-border-hover)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-highlight);background:color-mix(in srgb, var(--background-dark) 75%, transparent);outline:none;box-shadow:0 0 0 3px #00aefe2e}.contact-form textarea{resize:vertical;min-height:8rem;line-height:1.6}.contact-form button{letter-spacing:.08em;text-transform:uppercase;color:var(--text-on-highlight);background:var(--color-highlight);cursor:pointer;border:none;border-radius:999px;align-self:flex-end;align-items:center;gap:.6rem;margin-top:.5rem;padding:.875rem 2.25rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.9375rem;font-weight:700;transition:background .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:inline-flex;box-shadow:0 8px 30px -12px #00aefee6}.contact-form button:hover{background:var(--color-highlight-light);color:var(--text-on-highlight);transform:translateY(-2px);box-shadow:0 14px 40px -12px #00aefe}.contact-form button .button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;display:none}.contact-form button.is-submitting{cursor:progress}.contact-form button.is-submitting .button-spinner{animation:.7s linear infinite button-spin;display:inline-block}@keyframes button-spin{to{transform:rotate(360deg)}}.contact-form .form-error{font-size:var(--fs-body);color:#ff8a8a;background:#ff8a8a1a;border:1px solid #ff8a8a73;border-radius:12px;margin:0;padding:.875rem 1rem}.contact-form .field-error{color:#ff8a8a;margin:0;font-size:.875rem}.contact-form input[aria-invalid=true],.contact-form textarea[aria-invalid=true]{border-color:#ff8a8ab3}.contact-form .char-count{font-variant-numeric:tabular-nums;color:var(--color-primary);align-self:flex-end;margin:0;font-size:.8125rem;transition:color .25s}.contact-form .char-count--near{color:var(--color-highlight-light)}.contact-form .cf-turnstile{max-width:100%;overflow:hidden}@media (width<=479px){.contact{gap:1.5rem;padding:1rem}.contact-form{gap:1rem;padding:1.25rem}.contact-form input,.contact-form textarea{padding:.75rem .875rem}}.welcome{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(2rem,5vw,4rem);min-height:min(88vh,900px);padding:clamp(2rem,6vh,5rem) 0;display:grid}.welcome>div:first-child{width:100%;max-width:46rem;container-type:inline-size}.welcome>div:first-child>p:first-child{letter-spacing:.22em;text-transform:uppercase;color:var(--color-highlight);align-items:center;gap:.75rem;margin-bottom:1.25rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;display:inline-flex}.welcome>div:first-child>p:first-child:before{content:"";background:var(--accent-gradient);border-radius:2px;width:2.5rem;height:2px}.welcome .dc{text-transform:uppercase;white-space:nowrap;letter-spacing:calc(.5px - .0094em);word-spacing:-.04em;color:var(--color-secondary);filter:drop-shadow(0 .05em .22em #00000080);padding-bottom:.08em;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:min(9.2rem,22.4cqw);font-weight:700;line-height:.92}.welcome .dc>span{letter-spacing:calc(-.0094em + .5px + var(--kern,0em))}.welcome .dc>span:first-child{--kern:-.006em}.welcome .dc>span:nth-child(2){--kern:-.012em}.welcome .dc>span:nth-child(4){--kern:-.018em}.welcome .dc>span:nth-child(5){--kern:-.015em}.welcome .dc>span:nth-child(6){--kern:-.013em}.welcome .dc>span:nth-child(7){--kern:-.017em}.welcome .dc>span:nth-child(8){--kern:-.03em}.welcome .dc>span:nth-child(9){letter-spacing:0}.welcome h1{max-width:38rem;font-family:Fira Sans Condensed,Fira Sans Condensed Fallback,sans-serif;font-size:var(--fs-lead);text-transform:initial;letter-spacing:0;color:var(--color-primary);margin-top:1.5rem;font-weight:400;line-height:1.45}.welcome h1 .highlight{font-weight:500}.welcome>div:first-child>p:last-child{color:var(--text-muted);margin-top:1rem}.welcome h1,.welcome>div:first-child>p:not(.dc),.welcome .photo-container{animation:.9s cubic-bezier(.16,1,.3,1) backwards hero-fade}@keyframes hero-fade{0%{opacity:0}to{opacity:1}}.welcome .dc{animation:1.1s cubic-bezier(.4,0,.2,1) backwards dc-wipe}@keyframes dc-wipe{0%{clip-path:polygon(-12% -60%,-12% -60%,-54% 160%,-12% 160%)}to{clip-path:polygon(-12% -60%,154% -60%,112% 160%,-12% 160%)}}.welcome>div:first-child>p:first-child{animation-delay:50ms}.welcome .dc{animation-delay:.15s}.welcome h1{animation-delay:.25s}.welcome .photo-container{animation-delay:.3s}.welcome>div:first-child>p:last-child{animation-delay:.35s}.photo-container{justify-self:center;position:relative}.photo-container:before{content:"";aspect-ratio:1;z-index:0;pointer-events:none;background:radial-gradient(circle,#00aefe38 0%,#00aefe14 40%,#0000 68%);border-radius:50%;width:200%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome .reticle{z-index:1;width:200%;height:200%;max-width:unset;pointer-events:none;transform:translate(-50%, -50%) scale(calc(1 + var(--cursor-near,0) * .035));transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:50%;left:50%;overflow:visible}.reticle-arc,.reticle-bloom,.reticle-pointer{fill:none;stroke:var(--color-highlight);stroke-width:.45px;stroke-linecap:round;transform-box:fill-box;transform-origin:50%}.reticle-arc--inner{stroke-dasharray:44 12.55;opacity:calc(.34 + var(--cursor-near,0) * .4);animation:40s linear infinite reticle-spin}.reticle-arc--mid{stroke-dasharray:76 21.39;opacity:calc(.22 + var(--cursor-near,0) * .34);animation:65s linear infinite reticle-spin-reverse}.reticle-arc--outer{stroke-dasharray:41 13.98;opacity:calc(.16 + var(--cursor-near,0) * .3);animation:90s linear infinite reticle-spin}.reticle-pointer{stroke-width:calc(.85 + var(--cursor-near,0) * .4);stroke-dasharray:26 338.42;stroke-dashoffset:13px;stroke:color-mix(in srgb, var(--color-highlight) 45%, #fff);opacity:calc(.1 + var(--cursor-near,0) * .9);transform:rotate(calc(var(--cursor-angle,-90) * 1deg));transition:opacity .3s,stroke-width .3s}.reticle-bloom{stroke-dasharray:26 338.42;stroke-dashoffset:13px;opacity:calc(.015 + var(--cursor-near,0) * .065);transform:rotate(calc(var(--cursor-angle,-90) * 1deg));transition:opacity .3s}.reticle-bloom--1{stroke-width:4.3px}.reticle-bloom--2{stroke-width:3.6px}.reticle-bloom--3{stroke-width:3px}.reticle-bloom--4{stroke-width:2.5px}.reticle-bloom--5{stroke-width:2.05px}.reticle-bloom--6{stroke-width:1.65px}.reticle-bloom--7{stroke-width:1.3px}@keyframes reticle-spin{to{transform:rotate(360deg)}}@keyframes reticle-spin-reverse{to{transform:rotate(-360deg)}}.welcome .photo-container .img-container{aspect-ratio:1;border:6px solid var(--color-highlight);z-index:2;border-radius:50%;width:clamp(12rem,25vw,22rem);height:auto;position:relative;overflow:hidden;box-shadow:0 0 0 1px #00aefe40,0 0 70px -8px #00aefe73}.welcome .photo-container .img-container img{object-fit:cover;width:100%;height:100%;translate:calc(var(--parallax-x,0) * 2%) calc(var(--parallax-y,0) * 2%);transition:translate .5s cubic-bezier(.16,1,.3,1),scale .5s cubic-bezier(.16,1,.3,1)}.welcome .photo-container .img-container img:hover{scale:1.06}.welcome .photo-container .img-container{translate:calc(var(--parallax-x,0) * 0.9%) calc(var(--parallax-y,0) * 0.9%);transition:translate .5s cubic-bezier(.16,1,.3,1)}.photo-container.parallaxing .img-container{transition:translate .12s linear}.photo-container.parallaxing .img-container img{transition:translate .12s linear,scale .5s cubic-bezier(.16,1,.3,1);scale:1.06}@media (width<=767px){.welcome{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:3.75rem;min-height:0;padding-bottom:2rem}.welcome>div:first-child>p:first-child{justify-content:center}.welcome h1,.welcome>div:first-child{margin-left:auto;margin-right:auto}.welcome .photo-container .img-container{border-width:4px;width:clamp(9rem,44vw,13rem)}.photo-container:before{width:160%}.reticle-arc{stroke-width:.9px}.reticle-pointer{stroke-width:1.8px}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:scroll()){.welcome h1,.welcome>div:first-child>p:not(.dc),.welcome .photo-container{animation-name:hero-fade,hero-drift;animation-duration:.9s, auto;animation-timing-function:cubic-bezier(.16,1,.3,1),linear;animation-fill-mode:backwards,forwards;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}.welcome>div:first-child>p:first-child{--drift:-52px;animation-delay:50ms,0s}.welcome .dc{animation-name:dc-wipe,hero-drift;animation-duration:1.1s, auto;--drift:-18px;animation-timing-function:cubic-bezier(.4,0,.2,1),linear;animation-delay:.15s,0s;animation-fill-mode:backwards,forwards;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}.welcome h1{--drift:-36px;animation-delay:.25s,0s}.welcome .photo-container{--drift:-70px;animation-delay:.3s,0s}.welcome>div:first-child>p:last-child{--drift:-44px;animation-delay:.35s,0s}@keyframes hero-drift{to{transform:translateY(var(--drift,0px))}}}@supports (animation-timeline:view()){section.clients .logos{animation:linear logos-drift;animation-timeline:view();animation-range:cover}@keyframes logos-drift{0%{transform:translateY(36px)}to{transform:translateY(-36px)}}}}.about{padding:clamp(2rem, 6vh, 4.5rem) 0 var(--section-gap) 0;text-align:center;flex-direction:column;align-items:center;display:flex}.about p{max-width:52rem;font-size:var(--fs-lead);color:var(--color-secondary);text-wrap:balance;line-height:1.65}@media (width<=767px){.about{padding-top:1.5rem}}.about a{margin-top:2.5rem}.services{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));align-items:stretch;gap:clamp(1rem,1.6vw,1.5rem);max-width:100%;margin:0 auto;padding-top:0;display:grid;position:relative}.services h2{grid-column:1/-1;margin-bottom:clamp(2.5rem,6vh,4rem)}.service{color:inherit;border:1px solid var(--surface-border);border-radius:var(--card-radius);background:var(--card-ticks), var(--card-lattice), var(--card-panel);transform:translateY(var(--lift,0px));will-change:transform;transition-behavior:allow-discrete;flex-direction:column;align-items:flex-start;gap:1.25rem;margin-bottom:0;padding:clamp(1.5rem,2.5vw,2.25rem);text-decoration:none;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,background-color .4s,box-shadow .4s,transform-style 0s linear .5s;display:flex;position:relative}.service.reveal{transform:translateY(28px)}.service.reveal.visible{transform:translateY(var(--lift,0px))}.service.tilting,.service.reveal.visible.tilting{transform-style:preserve-3d;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px));transition:transform 80ms linear,border-color .4s,background-color .4s,box-shadow .4s}.service:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:var(--card-lit);-webkit-mask-image:radial-gradient(circle calc(var(--field-cell) * 7.08) at var(--pointer-x,50%) var(--pointer-y,50%), #000 0%, #000000a3 33.3%, #0000002b 66.7%, transparent 100%);-webkit-mask-image:radial-gradient(circle calc(var(--field-cell) * 7.08) at var(--pointer-x,50%) var(--pointer-y,50%), #000 0%, #000000a3 33.3%, #0000002b 66.7%, transparent 100%);mask-image:radial-gradient(circle calc(var(--field-cell) * 7.08) at var(--pointer-x,50%) var(--pointer-y,50%), #000 0%, #000000a3 33.3%, #0000002b 66.7%, transparent 100%);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s linear .4s;position:absolute;inset:0}.service:hover:after,.service.tilting:after{opacity:1;visibility:visible;transition:opacity .4s}.service:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:var(--card-pulse-lattice);opacity:0;animation:6s linear infinite field-pulse;animation-delay:var(--pulse-delay,0s);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.service:before{animation:none}}.service.service-right{text-align:left;flex-direction:column}.service:hover,.service.tilting{border-color:var(--surface-border-hover);background:var(--card-ticks-lit), var(--card-lattice), var(--card-panel-hover);box-shadow:0 24px 60px -30px #00aefe8c}.service.tilting{--lift:-8px}.service .service-info{transition-behavior:allow-discrete;transition:transform .5s cubic-bezier(.16,1,.3,1),transform-style 0s linear .5s}.service.tilting .service-info{transform-style:preserve-3d;transform:translateZ(12px)}.service.tilting .service-info h3{transform:translateZ(24px)}.service .service-info p{transition:transform .5s cubic-bezier(.16,1,.3,1),color .3s}.service.tilting .service-info p{transform:translateZ(10px)}.service .service-info{max-width:100%}.service .service-info h3{color:var(--color-secondary);margin-bottom:.625rem;transition:transform .5s cubic-bezier(.16,1,.3,1),color .3s}.service:hover{text-decoration:none}.service:hover .service-info h3{color:var(--color-highlight)}.service:hover .service-info p{color:var(--text-lead)}.service-more{letter-spacing:.1em;text-transform:uppercase;color:var(--color-highlight);align-self:flex-end;align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;transition:transform .5s cubic-bezier(.16,1,.3,1),gap .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.service.tilting .service-more{transform:translateZ(20px)}.service-more svg.bi{width:.9em;height:.9em}.service:hover .service-more{gap:.85rem}.services-empty{color:var(--text-muted);grid-column:1/-1}.service .service-info p{color:var(--text-body);font-size:.9375rem;line-height:1.6}.service>svg.bi{width:2rem;min-width:2rem;height:2rem;color:var(--color-highlight);transition:transform .5s cubic-bezier(.16,1,.3,1),color .4s}.service.tilting>svg.bi{transform:translateZ(60px)}.service:hover>svg.bi{color:var(--color-highlight-light)}.service:nth-child(3n+2){--reveal-delay:60ms}.service:nth-child(3n+3){--reveal-delay:.12s}section.clients{padding:var(--section-gap) 0 0;margin:0}section.clients .logos{grid-template-columns:repeat(6,1fr);place-items:stretch stretch;gap:1rem;padding-top:clamp(2.5rem,6vh,4rem);display:grid}section.clients .logos .logo{grid-template:minmax(0,1fr)/minmax(0,1fr);justify-self:center;width:100%;max-width:160px;height:5.5rem;transition:opacity .4s,transform .4s cubic-bezier(.16,1,.3,1);display:grid}section.clients .logos .logo img{object-fit:contain;grid-area:1/1;width:100%;height:100%;padding:1rem;transition:opacity .4s}section.clients .logos .logo img+img{opacity:0}section.clients .logos .logo:hover{transform:scale(1.08)}section.clients .logos .logo:hover img{opacity:0}section.clients .logos .logo:hover img+img{opacity:1}@media (width<=1199px){section.clients .logos{grid-template-columns:repeat(4,1fr)}}@media (width<=767px){section.clients .logos{grid-template-columns:repeat(3,1fr)}section.clients .logos .logo{height:4rem}section.clients .logos .logo img{padding:.5rem}}@media (width<=479px){section.clients .logos{grid-template-columns:repeat(2,1fr)}}.home section h2,.contact-section>h2,section.blog>h2{text-align:center}section.clients h2,.services h2,section.apps>h2,section.blog>h2,.contact-section>h2{padding-bottom:1rem;position:relative}section.clients h2:after,.services h2:after,section.apps>h2:after,section.blog>h2:after,.contact-section>h2:after{content:"";background:var(--accent-gradient);border-radius:3px;width:4rem;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}section.apps>h2,section.blog>h2,.contact-section>h2{margin-bottom:clamp(2.5rem,6vh,4rem)}.article{padding-block:clamp(2rem,5vh,3.5rem) clamp(4rem,10vh,6rem)}.article-header{margin-inline:auto;text-align:center;max-width:42rem;margin-bottom:clamp(3.5rem,10vh,7rem)}.article-header .article-meta,.article .breadcrumbs ol{justify-content:center}.article-header h1{letter-spacing:-.02em;text-wrap:balance;text-transform:none;margin:1.25rem 0 0;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05}.article-lead{margin-top:1.5rem;max-width:28rem;font-size:var(--fs-lead);color:var(--text-lead);margin-inline:auto;line-height:1.6}.article-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;display:flex}.article-meta>*+:before{content:"";vertical-align:middle;opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px;margin-right:.75rem;display:inline-block}.article-layout{grid-template-columns:14rem minmax(0,32rem) 14rem;justify-content:center;align-items:start;column-gap:3.5rem;display:grid}.article-intro{grid-area:1/1/auto/-1}.article-figure{grid-area:2/1/auto/-1}.article-main{grid-area:3/2;max-width:100%}.article-aside{grid-area:3/3;align-self:stretch}.article-layout>.hub-secondary{grid-area:4/1/auto/-1}.article-layout>.cta{grid-area:5/1/auto/-1}.article-layout--single{grid-template-columns:minmax(0,32rem)}.article-layout--single .article-intro,.article-layout--single .article-figure,.article-layout--single .article-main,.article-layout--single .article-aside{grid-column:1}.article-aside-inner{flex-direction:column;gap:1.75rem;display:flex;position:sticky;top:2.5rem}@media (width<=1399px){.article-layout,.article-layout--single{grid-template-columns:minmax(0,32rem)}.article-intro,.article-figure,.article-main,.article-aside,.article-layout>.hub-secondary,.article-layout>.cta{grid-area:auto/1}.article-aside-inner{position:static}.aside-card{display:none}}@media (width<=767px){.article-aside{display:none}}.toc{padding-left:.1rem}.toc-heading{letter-spacing:.2em;text-transform:uppercase;color:var(--color-highlight);margin-bottom:.875rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.75rem;font-weight:700}.toc ul{flex-direction:column;gap:.125rem;list-style:none;display:flex}.toc a{font-size:var(--fs-small);color:var(--text-muted);border-left:2px solid var(--surface-border);padding:.4rem 0 .4rem .875rem;line-height:1.4;transition:color .25s,border-color .25s,padding-left .25s cubic-bezier(.16,1,.3,1);display:block}.toc a:hover{color:var(--color-secondary);border-left-color:var(--color-highlight-dark);text-decoration:none}.toc a.current{color:var(--color-highlight);border-left-color:var(--color-highlight)}@media (width<=991px){.toc ul{flex-flow:wrap;gap:.5rem}.toc a{border-left:0;border:1px solid var(--surface-border);border-radius:999px;padding:.5rem .9rem}.toc a:hover,.toc a.current{border-color:var(--surface-border-hover)}}.aside-card{border-top:1px solid var(--surface-border);padding-top:1.5rem}.aside-card-title{text-transform:uppercase;letter-spacing:-.01em;color:var(--color-secondary);margin-bottom:.5rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:1.125rem;font-weight:700}.aside-card p{font-size:var(--fs-small);color:var(--text-muted);line-height:1.6}.aside-card a{letter-spacing:.1em;text-transform:uppercase;color:var(--color-highlight);align-items:center;gap:.5rem;margin-top:1rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;transition:gap .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.aside-card a:hover{gap:.85rem;text-decoration:none}.aside-card a svg{width:.9em;height:.9em}.article-body{color:var(--text-body);font-size:var(--fs-body);line-height:1.75}.article-body>*+*{margin-top:1.75rem}.article-body h2{letter-spacing:-.01em;text-wrap:balance;text-transform:none;margin-top:clamp(2.5rem,6vh,3.5rem);margin-bottom:1.25rem;padding-bottom:.9rem;scroll-margin-top:2rem;font-size:clamp(1.55rem,2.7vw,2.15rem);position:relative}.article-body h2:after{content:"";background:var(--accent-gradient);border-radius:3px;width:2.5rem;height:3px;position:absolute;bottom:0;left:0}.article-body h3{font-size:var(--fs-h3);text-transform:none;letter-spacing:-.01em;color:var(--color-secondary);margin-top:2.25rem;margin-bottom:.875rem}.article-body strong{color:var(--color-secondary);font-weight:500}.article-body em{font-style:italic}.article-body a{color:var(--color-highlight);text-underline-offset:.2em;-webkit-text-decoration:underline #00aefe66;text-decoration:underline #00aefe66;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.article-body a:hover{color:var(--color-highlight-light);text-decoration-color:currentColor}.article-body ul,.article-body ol{padding-left:1.35rem}.article-body ul{list-style:outside}.article-body ol{list-style:decimal}.article-body li{margin-top:.6rem;padding-left:.35rem}.article-body li::marker{color:var(--color-highlight)}.article-body blockquote{border-left:2px solid var(--color-highlight);font-size:var(--fs-lead);color:var(--color-secondary);padding:.25rem 0 .25rem 1.5rem;line-height:1.6}.article-body hr{background:linear-gradient(90deg, var(--surface-border) 0%, transparent 100%);border:0;height:1px;margin:clamp(2.5rem,6vh,3.5rem) 0}.article-body code{color:var(--color-highlight-light);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em}.article-body pre{border:1px solid var(--surface-border);background:var(--background-dark);box-shadow:var(--elev-1);border-radius:16px;max-width:100%;padding:1.15rem 1.35rem;overflow-x:auto}.article-body pre code{color:var(--color-primary);white-space:pre;background:0 0;border:0;border-radius:0;padding:0;font-size:.8125rem;line-height:1.7;display:block}.article-body table{border-collapse:collapse;width:100%;font-size:var(--fs-small)}.article-body th,.article-body td{text-align:left;border-bottom:1px solid var(--surface-border);padding:.75rem 1rem}.article-body th{letter-spacing:.08em;text-transform:uppercase;color:var(--color-secondary);font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-weight:700}.article-body img{border:1px solid var(--surface-border);border-radius:18px;max-width:100%;height:auto;margin-inline:auto;display:block}.article-figure img{object-fit:cover;border:0;border-radius:0;width:100%;height:auto;max-height:24rem}.article-figure{border:1px solid var(--surface-border);border-radius:var(--panel-radius);box-shadow:var(--elev-2);margin-bottom:clamp(2.5rem,6vh,4rem);overflow:hidden}.cta{border:1px solid var(--surface-border);border-radius:var(--panel-radius);background:var(--panel-ticks), var(--card-lattice-quiet), var(--surface-panel);box-shadow:var(--elev-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(1.5rem,4vw,3rem);margin-top:clamp(3.5rem,9vh,5.5rem);padding:clamp(1.75rem,4vw,2.75rem);display:flex;position:relative;overflow:hidden}.cta:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 140% at 100% 0,#00aefe24 0%,#0000 60%);position:absolute;inset:0}.cta-copy{flex:22rem;position:relative}.cta h2{text-transform:none;text-wrap:balance;margin:1rem 0 .75rem;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15}.cta p{max-width:34rem;color:var(--text-muted);line-height:1.65}.cta .btn{flex:none;position:relative}.cta .btn svg{width:.9em;height:.9em;transition:transform .25s cubic-bezier(.16,1,.3,1)}.cta .btn:hover svg{transform:translate(3px)}.hub-secondary>h2{letter-spacing:-.01em;text-transform:none;margin-bottom:2rem;padding-bottom:.9rem;font-size:clamp(1.55rem,2.7vw,2.15rem);position:relative}.hub-secondary>h2:after{content:"";background:var(--accent-gradient);border-radius:3px;width:2.5rem;height:3px;position:absolute;bottom:0;left:0}.hub-secondary .hub-card h3{text-transform:none;letter-spacing:-.01em}.faqs{border-top:1px solid var(--surface-border);margin-top:clamp(3rem,8vh,5rem);padding-top:clamp(2rem,5vh,3rem)}.faqs>h2{margin-bottom:1rem;font-size:clamp(1.4rem,2.4vw,1.85rem)}.faq{border-bottom:1px solid var(--surface-border);interpolate-size:allow-keywords}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.15rem 0;list-style:none;transition:color .25s;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:hover h3{color:var(--color-highlight)}.faq summary:focus-visible{outline:2px solid var(--color-highlight);outline-offset:4px;border-radius:4px}.faq summary h3{font-size:var(--fs-h3);text-transform:none;letter-spacing:-.01em;color:var(--color-secondary);margin:0;transition:color .25s}.faq summary svg{width:1rem;height:1rem;color:var(--color-highlight);flex:none;transition:transform .3s cubic-bezier(.16,1,.3,1)}.faq[open] summary svg{transform:rotate(180deg)}.faq>p{max-width:38rem;color:var(--text-body);padding-bottom:1.35rem;line-height:1.75}@supports selector(::details-content){.faq::details-content{opacity:0;block-size:0;transition:block-size .35s cubic-bezier(.16, 1, .3, 1), content-visibility .35s allow-discrete, opacity .25s ease;overflow:hidden}.faq[open]::details-content{opacity:1;block-size:auto}}@media (prefers-reduced-motion:reduce){@supports selector(::details-content){.faq::details-content{transition:none}}}.hub{padding-block:4rem 6rem}.hub-header{margin-inline:auto;text-align:center;max-width:48rem;margin-bottom:clamp(3rem,8vh,5rem)}.hub-header .eyebrow:after{content:"";background:var(--accent-gradient);border-radius:2px;width:2.5rem;height:2px;transform:scaleX(-1)}.hub .breadcrumbs ol{justify-content:center}.hub--centred{text-align:center;flex-direction:column;align-items:center;padding-top:clamp(4rem,14vh,9rem);display:flex}.hub--centred .eyebrow:before,.hub--centred .eyebrow:after{display:none}.hub--centred .hub-links{justify-content:center}.hub-panel{border:1px solid var(--surface-border);border-radius:var(--panel-radius);background:var(--panel-ticks), var(--card-lattice-quiet), var(--surface-panel);width:min(100%,40rem);padding:clamp(2rem,5vw,3.5rem) clamp(1.5rem,5vw,3.5rem)}.hub-panel .hub-header{margin-bottom:2rem}.hub-header h1{letter-spacing:-.02em;margin:1.25rem 0 0;font-size:clamp(2rem,5vw,3.25rem)}.hub-intro{margin-top:1.25rem;max-width:30rem;font-size:var(--fs-lead);color:var(--text-lead);margin-inline:auto;line-height:1.6}.hub-empty{color:var(--text-muted);line-height:1.7}.breadcrumbs ol{font-size:var(--fs-small);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"/";opacity:.45;margin-right:.5rem}.breadcrumbs a{color:var(--text-muted);transition:color .25s}.breadcrumbs a:hover{color:var(--color-highlight)}.breadcrumbs [aria-current=page]{color:var(--color-secondary)}@media (width<=767px){.breadcrumbs [aria-current=page]{display:none}}.hub-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:stretch;gap:clamp(1rem,1.6vw,1.5rem);margin:0;padding:0;list-style:none;display:grid;position:relative}.hub-list--stacked{grid-template-columns:1fr;max-width:52rem;margin-inline:auto}.hub-list--icons{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr))}.hub-list--compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}.hub-list--compact .hub-card{gap:.5rem;padding:clamp(1.15rem,2vw,1.5rem)}.hub-list--compact .hub-card p{font-size:var(--fs-small)}.hub-card{border:1px solid var(--surface-border);border-radius:var(--card-radius);background:var(--card-ticks), var(--card-lattice), var(--surface-panel);isolation:isolate;transform:translateY(var(--lift,0px));will-change:transform;flex-direction:column;align-items:flex-start;gap:.75rem;padding:clamp(1.5rem,2.5vw,2.25rem);transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,background-color .4s,box-shadow .4s;display:flex;position:relative}.hub-card.reveal{transform:translateY(28px)}.hub-card.reveal.visible{transform:translateY(var(--lift,0px))}.hub-card.tilting,.hub-card.reveal.visible.tilting{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px));--lift:-8px;transition:transform 80ms linear,border-color .4s,background-color .4s,box-shadow .4s}.hub-card:before,.hub-card:after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.hub-card:after{background:var(--card-lit);-webkit-mask-image:radial-gradient(circle calc(var(--field-cell) * 7.08) at var(--pointer-x,50%) var(--pointer-y,50%), #000 0%, #000000a3 33.3%, #0000002b 66.7%, transparent 100%);-webkit-mask-image:radial-gradient(circle calc(var(--field-cell) * 7.08) at var(--pointer-x,50%) var(--pointer-y,50%), #000 0%, #000000a3 33.3%, #0000002b 66.7%, transparent 100%);mask-image:radial-gradient(circle calc(var(--field-cell) * 7.08) at var(--pointer-x,50%) var(--pointer-y,50%), #000 0%, #000000a3 33.3%, #0000002b 66.7%, transparent 100%);opacity:0;visibility:hidden;transition:opacity .4s,visibility 0s linear .4s}.hub-card:hover:after,.hub-card.tilting:after{opacity:1;visibility:visible;transition:opacity .4s}.hub-card:before{background:var(--card-pulse-lattice);opacity:0;animation:6s linear infinite field-pulse;animation-delay:var(--pulse-delay,0s)}@media (prefers-reduced-motion:reduce){.hub-card:before{animation:none}}.hub-card:hover,.hub-card.tilting{border-color:var(--surface-border-hover);background:var(--card-ticks-lit), var(--card-lattice), var(--surface-panel-hover);box-shadow:0 24px 60px -30px #00aefe8c}.hub-card h2,.hub-card h3{font-size:var(--fs-h3);margin:0}.hub-list--stacked .hub-card h2,.hub-list--stacked .hub-card h3,.hub-list--home-blog .hub-card h2,.hub-list--home-blog .hub-card h3{text-transform:none;letter-spacing:-.01em}.hub-card a{color:var(--color-secondary)}.hub-card a:after{content:"";position:absolute;inset:0}.hub-card a:hover{color:var(--color-highlight);text-decoration:none}.hub-card p{color:var(--text-body);margin:0;line-height:1.7}.hub-card:hover p,.hub-card.tilting p{color:var(--text-lead)}.hub-card-icon{color:var(--color-highlight);margin-bottom:.25rem;transition:color .4s;display:inline-flex}.hub-card-icon svg{width:2rem;height:2rem}.hub-card:hover .hub-card-icon{color:var(--color-highlight-light)}.hub-card time,.hub-card-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--color-highlight);flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;display:flex}.hub-card-tag{color:var(--color-highlight)}.hub-card-reading{color:var(--text-muted);letter-spacing:.12em}.hub-card-reading:before,.hub-card-tag+.hub-card-tag:before{content:"";vertical-align:middle;opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px;margin-right:.6rem;display:inline-block}.hub-list--home-blog .hub-card-more{align-self:flex-end}.hub-list--stacked .hub-card-more{margin-top:0}.hub-card-more{letter-spacing:.1em;text-transform:uppercase;color:var(--color-highlight);align-items:center;gap:.5rem;margin-top:auto;padding-top:.5rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;transition:gap .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.hub-card-more svg{width:.9em;height:.9em}.hub-card:hover .hub-card-more{gap:.85rem}.hub-secondary{margin-top:clamp(3rem,8vh,5rem)}.hub-secondary h2{font-size:var(--fs-h3);margin-bottom:1.5rem}.hub-secondary-intro{max-width:42rem;color:var(--text-muted);margin:-.75rem 0 1.5rem;line-height:1.7}.hub-links{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.hub-links a{font-size:var(--fs-small);color:var(--text-muted);border:1px solid var(--surface-border);background:var(--surface-panel);box-shadow:var(--elev-1);border-radius:999px;align-items:center;padding:.7rem 1.35rem;line-height:1;transition:color .25s,border-color .25s,background .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:inline-flex}.hub-links a:hover{color:var(--color-secondary);border-color:var(--surface-border-hover);background:var(--surface-panel-hover);box-shadow:var(--elev-2);text-decoration:none;transform:translateY(-2px)}.hub-links--large a{font-size:var(--fs-body);padding:.875rem 1.75rem}section.apps,section.blog{margin-top:var(--section-gap)}section.apps .btn,section.blog .btn{width:fit-content;margin:2rem auto 0;display:flex}.hub-list--home-blog{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));position:relative}.hub-list--home-blog .hub-card{gap:.5rem;padding:clamp(1.15rem,1.8vw,1.5rem)}.hub-list--home-blog .hub-card h3{font-size:var(--fs-body)}.hub-list--home-blog .hub-card p{font-size:var(--fs-small)}.app-launch{flex-direction:column;align-items:center;gap:.9rem;margin-top:2.25rem;display:flex}.btn--launch{padding:1.1rem 2.5rem 1.1rem 2.1rem;font-size:1.0625rem}.btn--launch svg{width:1.4em;height:1.4em}.app-launch-note{font-size:var(--fs-small);color:var(--text-muted);margin:0}.app-showcase{max-width:68rem;margin-inline:auto;position:relative}.app-window{border:1px solid var(--surface-border);border-radius:var(--card-radius);background:#000;overflow:hidden}.app-window-bar{border-bottom:1px solid var(--surface-border);background:var(--surface-panel);grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:1rem;height:2.5rem;padding:0 1rem;display:grid}.app-window-dots{gap:.4rem;display:flex}.app-window-dots i{background:#ffffff2e;border-radius:50%;width:.65rem;height:.65rem}.app-window-address{white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted);background:#00000059;border-radius:999px;padding:.3rem 1.25rem;font-size:.75rem;overflow:hidden}.app-window-screen{aspect-ratio:16/10;display:block;position:relative}.app-window-screen img{object-fit:cover;width:100%;height:100%;display:block}.app-play{aspect-ratio:1;width:clamp(4rem,9vw,6rem);color:var(--text-on-highlight);background:var(--color-highlight);opacity:0;border-radius:50%;place-items:center;transition:opacity .3s,transform .4s cubic-bezier(.16,1,.3,1);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.85);box-shadow:0 0 0 .6rem #00aefe4d}.app-play svg{width:42%;height:42%;margin-left:8%}.app-window-screen:hover .app-play,.app-window-screen:focus-visible .app-play{opacity:1;transform:translate(-50%,-50%)scale(1)}.app-phone{background:#05070a;border:1px solid #ffffff29;border-radius:1.75rem;width:19%;padding:.4rem;position:absolute;bottom:-2.5rem;right:-1.25rem}.app-phone img{aspect-ratio:390/844;object-fit:cover;border-radius:1.4rem;width:100%;display:block}@media (width<=767px){.app-phone,.app-window-dots{display:none}.app-window-bar{grid-template-columns:minmax(0,1fr);justify-items:center}}.app-steps{margin-top:var(--section-gap)}.app-steps h2{text-align:center;margin:0 0 clamp(2rem,5vh,3rem)}.app-step-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(1rem,1.6vw,1.5rem);margin:0;padding:0;list-style:none;display:grid}.app-step{border:1px solid var(--surface-border);border-radius:var(--card-radius);background:var(--surface-panel);will-change:transform;flex-direction:column;display:flex;overflow:hidden}.app-step img{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--surface-border);width:100%;display:block}.app-step-copy{padding:clamp(1.25rem,2vw,1.75rem)}.app-step-number{width:2rem;height:2rem;color:var(--color-highlight);border:1px solid #00aefe80;border-radius:50%;place-items:center;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-weight:700;display:inline-grid}.app-step h3{margin:.9rem 0 .5rem}.app-step p{color:var(--text-muted);margin:0;line-height:1.65}.app-launch-band{margin-top:var(--section-gap);text-align:center}.app-launch-band h2{margin:0}.app-launch-band .app-launch{margin-top:1.75rem}.hub-list--apps{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.app-card{gap:clamp(1.25rem,2vw,1.5rem)}.app-card-shot{aspect-ratio:16/10;border:1px solid var(--surface-border);border-radius:calc(var(--card-radius) * .5);background:#000;width:100%;transition:border-color .4s;overflow:hidden}.app-card-shot img{object-fit:cover;width:100%;height:100%;display:block}.app-card:hover .app-card-shot,.app-card.tilting .app-card-shot{border-color:var(--surface-border-hover)}.app-card-copy{flex-direction:column;flex:1;align-items:flex-start;gap:.75rem;display:flex}@media (width>=900px){.app-card:only-child{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:center;gap:clamp(2rem,4vw,3.5rem);display:grid}.app-card:only-child .app-card-copy{gap:1rem}.app-card:only-child h2,.app-card:only-child h3{font-size:var(--fs-h1)}.app-card:only-child p:not(.hub-card-meta){font-size:var(--fs-lead);line-height:1.6}.app-card:only-child .hub-card-more{margin-top:.5rem}}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/barlow-condensed-700-latin-DDMez4TK.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/build/assets/barlow-condensed-700-latin-ext-Ca1nonoA.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/fira-sans-condensed-400-latin-BQE129sb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans Condensed;font-style:normal;font-weight:400;font-display:swap;src:url(/build/assets/fira-sans-condensed-400-latin-ext-Bzvm7UmB.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/fira-sans-condensed-500-latin-QkSRSQz3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Sans Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(/build/assets/fira-sans-condensed-500-latin-ext-BY3aAPp3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Sans Condensed Fallback;src:local(Arial),local(Helvetica),local(Roboto);size-adjust:90.12%;ascent-override:103.2%;descent-override:28.9%;line-gap-override:0%}@font-face{font-family:Barlow Condensed Fallback;src:local(Arial),local(Helvetica),local(Roboto);font-weight:700;size-adjust:75.25%;ascent-override:132.9%;descent-override:26.6%;line-gap-override:0%}@keyframes field-pulse{0%{opacity:.25}6%{opacity:0}94%{opacity:0}to{opacity:.25}}:root{--color-primary:#85a8bd;--color-secondary:#fff;--color-highlight:#00aefe;--color-highlight-light:#65c2ff;--color-highlight-dark:#0084c3;--text-on-highlight:#0c1017;--background-light:#78d8ff;--background-dark:#0c1017;--background-dark-hover:#111b25;--surface:#ffffff09;--surface-hover:#ffffff0f;--surface-panel:linear-gradient(#ffffff0e, #ffffff08), #1a202a;--surface-panel-hover:linear-gradient(#ffffff16, #ffffff0e), #202833;--card-panel:linear-gradient(#ffffff26 0 1px, #ffffff0e 1px, #ffffff08), #1a202a;--card-panel-hover:linear-gradient(#ffffff36 0 1px, #ffffff16 1px, #ffffff0e), #202833;--surface-border:#ffffff21;--surface-border-hover:#00aefe80;--field-cell:calc(100vh / 35);--card-cell:calc(var(--field-cell) / 2);--card-dot-r:calc(var(--card-cell) * .085);--card-radius:calc(var(--field-cell) * .5);--panel-radius:calc(var(--card-radius) * 1.5);--card-lattice:radial-gradient(circle at 50% 50%, #545e7340 0 var(--card-dot-r), transparent calc(var(--card-dot-r) + .5px)) 0 0 / var(--card-cell) var(--card-cell);--card-lattice-quiet:radial-gradient(circle at 50% 50%, #545e731f 0 var(--card-dot-r), transparent calc(var(--card-dot-r) + .5px)) 0 0 / var(--card-cell) var(--card-cell);--card-lit-core:#00aefe52;--card-lit-halo:#00aefe24;--card-lit:radial-gradient(circle at 50% 50%, var(--card-lit-core) 0 var(--card-dot-r), var(--card-lit-halo) calc(var(--card-dot-r) + .4px), transparent calc(var(--card-cell) * .267)) 0 0 / var(--card-cell) var(--card-cell);--card-pulse-lattice:radial-gradient(circle at 50% 50%, #545e73 0 calc(var(--card-cell) * .18), transparent calc(var(--card-cell) * .18 + .5px)) 0 0 / var(--card-cell) var(--card-cell);--card-tick:var(--field-cell);--card-tick-color:#00aefe8c;--card-tick-color-lit:#65c2fff2;--card-ticks:linear-gradient(var(--card-tick-color) 0 0) left var(--card-radius) top 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) left 0 top var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right var(--card-radius) top 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right 0 top var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) left var(--card-radius) bottom 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) left 0 bottom var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right var(--card-radius) bottom 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right 0 bottom var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 100% 100%, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) left top / var(--card-radius) var(--card-radius) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 0 100%, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) right top / var(--card-radius) var(--card-radius) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 100% 0, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) left bottom / var(--card-radius) var(--card-radius) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 0 0, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) right bottom / var(--card-radius) var(--card-radius) no-repeat border-box border-box;--card-ticks-lit:linear-gradient(var(--card-tick-color-lit) 0 0) left var(--card-radius) top 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) left 0 top var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) right var(--card-radius) top 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) right 0 top var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) left var(--card-radius) bottom 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) left 0 bottom var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) right var(--card-radius) bottom 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color-lit) 0 0) right 0 bottom var(--card-radius) / 1px var(--card-tick) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 100% 100%, transparent calc(100% - 1px), var(--card-tick-color-lit) calc(100% - 1px)) left top / var(--card-radius) var(--card-radius) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 0 100%, transparent calc(100% - 1px), var(--card-tick-color-lit) calc(100% - 1px)) right top / var(--card-radius) var(--card-radius) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 100% 0, transparent calc(100% - 1px), var(--card-tick-color-lit) calc(100% - 1px)) left bottom / var(--card-radius) var(--card-radius) no-repeat border-box border-box, radial-gradient(circle var(--card-radius) at 0 0, transparent calc(100% - 1px), var(--card-tick-color-lit) calc(100% - 1px)) right bottom / var(--card-radius) var(--card-radius) no-repeat border-box border-box;--panel-ticks:linear-gradient(var(--card-tick-color) 0 0) left var(--panel-radius) top 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) left 0 top var(--panel-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right var(--panel-radius) top 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right 0 top var(--panel-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) left var(--panel-radius) bottom 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) left 0 bottom var(--panel-radius) / 1px var(--card-tick) no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right var(--panel-radius) bottom 0 / var(--card-tick) 1px no-repeat border-box border-box, linear-gradient(var(--card-tick-color) 0 0) right 0 bottom var(--panel-radius) / 1px var(--card-tick) no-repeat border-box border-box, radial-gradient(circle var(--panel-radius) at 100% 100%, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) left top / var(--panel-radius) var(--panel-radius) no-repeat border-box border-box, radial-gradient(circle var(--panel-radius) at 0 100%, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) right top / var(--panel-radius) var(--panel-radius) no-repeat border-box border-box, radial-gradient(circle var(--panel-radius) at 100% 0, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) left bottom / var(--panel-radius) var(--panel-radius) no-repeat border-box border-box, radial-gradient(circle var(--panel-radius) at 0 0, transparent calc(100% - 1px), var(--card-tick-color) calc(100% - 1px)) right bottom / var(--panel-radius) var(--panel-radius) no-repeat border-box border-box;--text-muted:#85a8bdeb;--text-body:#c9dae3;--text-lead:#e3ecf0;--accent-gradient:linear-gradient(100deg, var(--color-highlight-light) 0%, var(--color-highlight) 50%, var(--color-highlight-dark) 100%);--fs-hero:clamp(2.25rem, 10vw, 7.5rem);--fs-h1:clamp(1.59rem, 3.01vw, 2.6rem);--fs-h2:clamp(1.74rem, 3.47vw, 2.89rem);--fs-h3:clamp(1.23rem, 1.5vw, 1.45rem);--fs-lead:clamp(1.0625rem, 1.5vw, 1.375rem);--fs-body:1rem;--fs-small:.875rem;--section-gap:clamp(5rem, 12vh, 10rem);--elev-1:0 1px 2px #0006, 0 3px 10px #00000047;--elev-2:0 2px 4px #00000073, 0 10px 28px #00000059;--elev-3:0 4px 10px #00000080, 0 22px 55px #00000073;--elev-4:0 10px 20px #0000008c, 0 44px 95px #0000008c}html,body{color:var(--color-primary);background-color:var(--background-dark);margin:0;padding:0;font-family:Fira Sans Condensed,Fira Sans Condensed Fallback,sans-serif;font-size:112.5%;font-style:normal;font-weight:400;overflow-x:clip}h1,h2,h3,h4,h5,h6{font-optical-sizing:auto;text-transform:uppercase;color:var(--color-secondary);letter-spacing:-.01em;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-weight:700}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{letter-spacing:.08em;font-size:1.16rem}h5{font-size:1.085rem}canvas.app-canvas{background:#0c1017 url(data:image/webp;base64,UklGRr4CAABXRUJQVlA4TLICAAAvX8AFAAmFbdugIaVjiOh/ANH/ofIDjypC7ihVlcQBC8Jso2Lsef6mZxDR/4SpPBbfiWTbtm3bVm1Dg6G/rs+cc+0qGJGYaVILjAS5MgQgk7ZJr/lXPANp23S7jvt3ucYE/L734p9AvP2SH5Qfqaeeen605/kN8+/8++N+05l5Kn9i8gf+5J/2B+///7137r1z587LJjc3k/vKTDLOXfaZt3RprdH9Q631WKtN+1N7+FMo7TzWV5h4o0sd/PJh8IE4/8hXfx/xZpdjv4qQQxeejUt+JWj9+diWmI/i+WrnceyFmHj7QRHcX9HwIYnMR93+0l+t8MUHQVUoyn/iXChohpChMYtYPxAjj/B9UpttZ6C9GWtdGtXK8Yp9bBtV/Nj/ElIXnnlU9CbOrXVp2/LYF9QSrmy2JdYPmYlKzyPf/j6px9pMxhfKWptCltqd49ahCqFpROTmXpnc3IQPH0iWSRxfh+fyouJ564pWm31oaFwmMXaJpm2HMNmp18GLg1ZLNlzK+2ntAyM3d8gkN9auNggysS+U+A+KNtYg3g60D4LJnVRMMrkZa2KsGShdPN2DQJc1g9hntw+dDhkZPeJmkgnlvGtKUcgsD0XIIEucR6MjIq4U5MrEFVco5VhKK28+yhoyyzDZDEHHB5GIWkwy4dq3HGjqOaVraUNkrEEZYt+kJe6OTFwkGVRbmyrVVQhGQVMNu4IRyBJpwSfleIkR+xGIIVzxq1XWounSEEZIQzsWwsS5YsQ+I+6pDoLYlm2GINAkoayxzVK2GbLgCncpx0K8nwnEiPZutfPQUQsyh8jI8m5lUIdiECb26QO1lO1o74dBXHmPkfZ2ZAQZtPfbsZgUtYt9RtxNH4bUJjsmyIhzH0QrpGxLF5kTVwiDsY3tkCXICDE05fxBlzeryzEG4gI=) 50%/auto 100% no-repeat;width:100vw;height:100dvh;display:block;position:fixed;inset:0}body.reading canvas.app-canvas{opacity:.4}.ui{z-index:1;position:relative}.highlight{color:var(--color-highlight)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--color-highlight);align-items:center;gap:.75rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.8125rem;font-weight:700;display:inline-flex}.eyebrow:before{content:"";background:var(--accent-gradient);border-radius:2px;width:2.5rem;height:2px}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);transform:translateY(28px)}.reveal.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.site-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.wordmark{letter-spacing:-.01em;text-transform:uppercase;color:var(--color-secondary);padding:1.75rem 0;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:1.35rem;font-weight:700;transition:color .25s}.wordmark:hover{color:var(--color-highlight);text-decoration:none}.site-header nav{letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-left:auto;padding:1.75rem 0;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.875rem;display:flex}.site-header nav>a{color:var(--color-primary);border:1px solid var(--surface-border);background:var(--surface-panel);box-shadow:var(--elev-1);border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.35rem;line-height:1;text-decoration:none;transition:color .25s,border-color .25s,background .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;display:inline-flex}.site-header nav>a:hover{color:var(--color-secondary);border-color:var(--surface-border-hover);background:var(--surface-panel-hover);box-shadow:var(--elev-2);text-decoration:none;transform:translateY(-2px)}.site-header nav>a>svg.bi-box-arrow-up-right{opacity:.75;width:.8em;height:.8em;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s}.site-header nav>a:hover>svg.bi-box-arrow-up-right{opacity:1;transform:translate(2px,-2px)}.site-header nav>a.nav-cta{color:var(--text-on-highlight);background:var(--color-highlight);box-shadow:var(--elev-2), 0 10px 26px -12px #00aefed9;border-color:#0000}.site-header nav>a.nav-cta:hover{color:var(--text-on-highlight);background:var(--color-highlight-light);box-shadow:var(--elev-3), 0 16px 36px -12px #00aefe;border-color:#0000}.site-header nav>a.current{color:var(--color-secondary);border-color:var(--surface-border-hover)}@media (width<=767px){.wordmark{font-size:1.15rem}.site-header nav{gap:.5rem;font-size:.8125rem}.site-header nav>a{padding:.6rem 1rem}.site-header nav>a.nav-external{display:none}}a:hover{text-decoration:underline}.btn,.about a.highlight{letter-spacing:.08em;text-transform:uppercase;color:var(--text-on-highlight);background:var(--color-highlight);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.6rem;padding:.875rem 2rem;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:.9375rem;font-weight:700;text-decoration:none;transition:background .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 8px 30px -12px #00aefee6}.btn:hover,.about a.highlight:hover{background:var(--color-highlight-light);color:var(--text-on-highlight);text-decoration:none;transform:translateY(-2px);box-shadow:0 14px 40px -12px #00aefe}footer{margin-top:var(--section-gap);text-align:left;border-top:1px solid var(--surface-border);background-color:color-mix(in srgb, var(--background-dark) 92%, transparent);padding:clamp(2.5rem,6vh,3.75rem) 0 1.75rem;position:relative}footer:before{content:"";background:linear-gradient(90deg,#0000 0%,#00aefe8c 50%,#0000 100%);height:2px;position:absolute;top:-1px;left:0;right:0}footer .links-container{text-align:left;grid-template-columns:1.6fr repeat(3,minmax(0,1fr));gap:clamp(1.75rem,4vw,3.5rem);display:grid}footer .footer-brand{max-width:24rem}footer .footer-wordmark{text-transform:uppercase;letter-spacing:.02em;color:var(--color-highlight);font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-size:1.5rem;font-weight:700}footer .footer-tagline{font-size:var(--fs-body);color:var(--text-muted);margin-top:.625rem;line-height:1.6}footer .footer-social{gap:.75rem;margin-top:1.75rem;display:flex}footer .footer-social a{width:2.75rem;height:2.75rem;color:var(--color-highlight);border:1px solid var(--surface-border);background:var(--surface);border-radius:12px;place-items:center;transition:color .3s,border-color .3s,transform .3s cubic-bezier(.16,1,.3,1);display:grid}footer .footer-social a:hover{color:var(--color-secondary);border-color:var(--surface-border-hover);box-shadow:var(--elev-2);text-decoration:none;transform:translateY(-3px)}footer .footer-social svg{width:1.125rem;height:1.125rem}footer .footer-heading{color:var(--color-secondary);letter-spacing:.18em;margin-bottom:1.25rem;font-size:1.16rem}footer .links{text-align:left;flex-direction:column;gap:.75rem;display:flex}footer .links a{width:fit-content;font-size:var(--fs-body);color:var(--text-muted);transition:color .25s}footer .links a:hover{color:var(--color-highlight);text-decoration:none}footer>.container>p{border-top:1px solid var(--surface-border);text-align:center;text-transform:uppercase;font-family:Barlow Condensed,Barlow Condensed Fallback,sans-serif;font-weight:700;font-size:var(--fs-small);letter-spacing:.02em;color:var(--text-muted);margin-top:clamp(1.75rem,4vh,2.75rem);padding-top:1.25rem}@media (width<=991px){footer .links-container{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=767px){footer .links-container{grid-template-columns:1fr 1fr}footer .footer-brand{grid-column:1/-1;max-width:none}}@media (width<=419px){footer .links-container{grid-template-columns:1fr}}
