.service--interactive,.service__btn{cursor:pointer}.service__btn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-align:left}.service__btn:after{content:"";position:absolute;inset:0;border-radius:var(--r-lg);z-index:1}.service__btn:focus-visible{outline:none}.service__btn:focus-visible:after{outline:2px solid var(--signal);outline-offset:3px}.service--interactive:hover{border-color:var(--signal)}.service--interactive:hover h3{color:var(--signal)}.service--interactive h3{transition:color .3s ease}.service__cue{margin-top:auto;padding-top:1.2rem;display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--signal)}.service__cue .arrow{transition:transform .4s var(--ease)}.service--interactive:focus-within .service__cue .arrow,.service--interactive:hover .service__cue .arrow{transform:translateX(4px)}.services__more{margin-top:1.8rem}.sx-dialog{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(1rem,4vh,2.5rem) var(--gutter);background:rgba(8,11,17,.62);backdrop-filter:blur(3px);animation:sx-fade .25s ease both}.sx-dialog__panel{width:min(880px,100%);max-height:min(88vh,960px);display:flex;flex-direction:column;background:var(--panel);color:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lift),0 40px 90px -30px rgba(0,0,0,.55);overflow:hidden;animation:sx-rise .35s var(--ease-out) both}.sx-dialog__panel:focus{outline:none}.sx-dialog__head{display:flex;align-items:flex-start;gap:1rem;padding:1.3rem 1.4rem 1.1rem 1.8rem;border-bottom:1px solid var(--line)}.sx-dialog__heading{flex:1;min-width:0}.sx-dialog__kicker{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--signal);margin-bottom:.55rem}.sx-dialog__title{font-size:clamp(1.45rem,1.1rem + 1.4vw,2.1rem);line-height:1.08}.sx-dialog__close{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line-strong);background:transparent;color:var(--paper-dim);cursor:pointer;transition:color .2s ease,border-color .2s ease}.sx-dialog__close:hover{color:var(--signal);border-color:var(--signal)}.sx-dialog__close svg path{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;fill:none}.sx-dialog__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.4rem 1.8rem 1.8rem}.sx-dialog__lead{color:var(--paper-dim);font-size:1.02rem;line-height:1.55;max-width:62ch;margin-bottom:1.6rem}.sx-dialog__foot{border-top:1px solid var(--line);padding:.75rem 1.2rem;background:var(--panel-2)}.sx-pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.8rem}.sx-pager__btn{justify-self:start;display:inline-flex;align-items:center;gap:.5em;max-width:100%;min-height:40px;padding:.5em .85em;border-radius:9px;border:1px solid var(--line-strong);background:transparent;color:var(--paper);font-family:var(--font-mono);font-size:.76rem;letter-spacing:.02em;cursor:pointer;transition:color .2s ease,border-color .2s ease}.sx-pager__btn--next{justify-self:end}.sx-pager__btn:hover{color:var(--signal);border-color:var(--signal)}.sx-pager__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:22ch}.sx-pager__short{display:none}.sx-pager__all{justify-self:center;white-space:nowrap}.sx-pager__count{justify-self:center;font-family:var(--font-mono);font-size:.74rem;color:var(--paper-faint)}@keyframes sx-fade{0%{opacity:0}to{opacity:1}}@keyframes sx-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes sx-sheet{0%{transform:translateY(100%)}to{transform:none}}@media (max-width:640px){.sx-dialog{padding:0;place-items:end stretch;inset:0 auto auto 0;width:100vw;max-width:100vw;height:100vh;height:100dvh}.sx-dialog__panel{width:100vw;max-width:100vw;height:calc(100vh - .75rem);height:calc(100dvh - .75rem);max-height:none;border-radius:16px 16px 0 0;border-bottom:0;animation:sx-sheet .35s var(--ease-out) both}.sx-dialog__head{padding:1rem 1rem .9rem 1.2rem}.sx-dialog__body{padding:1.1rem 1.2rem 1.6rem}.sx-dialog__foot{padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom))}.sx-pager__label{display:none}.sx-pager__short{display:inline}}@media (prefers-reduced-motion:reduce){.sx-dialog,.sx-dialog__panel{animation:none}}.sx-samples{display:flex;flex-direction:column;gap:1.2rem}.sx-sample{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-2);overflow:hidden}.sx-sample__visual{padding:1.2rem;border-bottom:1px solid var(--line);background:var(--ink-2)}.sx-sample__text{padding:1.1rem 1.2rem 1.25rem}.sx-sample__title{font-size:1.22rem;line-height:1.2;margin-bottom:.5rem}.sx-sample__text p{color:var(--paper-dim);font-size:.95rem;line-height:1.55;margin-bottom:.9rem}.sx-sample__more{margin-top:.9rem}.sx-tags{display:flex;flex-wrap:wrap;gap:.4rem}.sx-tags .tag{font-size:.7rem;padding:.3em .7em}.sx-visual-stack{display:flex;flex-direction:column;gap:1rem}.sx-note{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;color:var(--paper-dim)}:is([data-theme=paper],[data-theme=sosw],[data-theme=figma]) .sx-note{color:var(--paper-faint)}.sx-flow{container-type:inline-size;width:100%}.sx-flow svg{height:auto;margin-inline:auto;overflow:visible}.sx-flow__h{width:100%}.sx-flow__v{display:none;width:100%;max-width:380px}@container (max-width: 560px){.sx-flow--s3 .sx-flow__h,.sx-flow--s4 .sx-flow__h,.sx-flow--s5 .sx-flow__h{display:none}.sx-flow--s3 .sx-flow__v,.sx-flow--s4 .sx-flow__v,.sx-flow--s5 .sx-flow__v{display:block}}@container (max-width: 640px){.sx-flow--s4 .sx-flow__h,.sx-flow--s5 .sx-flow__h{display:none}.sx-flow--s4 .sx-flow__v,.sx-flow--s5 .sx-flow__v{display:block}}@container (max-width: 720px){.sx-flow--s5 .sx-flow__h{display:none}.sx-flow--s5 .sx-flow__v{display:block}}@container (max-width: 380px){.sx-flow--s2 .sx-flow__h{display:none}.sx-flow--s2 .sx-flow__v{display:block}}.sx-node rect{stroke-width:1.2}.sx-node--gray rect{fill:var(--panel);stroke:var(--line-strong)}.sx-node--signal rect{fill:var(--signal-tint);stroke:var(--signal)}.sx-node--azure rect{fill:var(--azure-tint);stroke:var(--azure)}.sx-node__l{fill:var(--paper);font-family:var(--font-display);font-weight:600;letter-spacing:-.005em;word-spacing:.12em}.sx-node__s{fill:var(--paper-dim);font-family:var(--font-mono)}.sx-edge{fill:none;stroke:var(--paper-faint);stroke-width:1.3}.sx-arrowhead{fill:var(--paper-faint)}.sx-flow--compact .sx-edge{stroke-width:1.6}.sx-metrics{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.6rem}.sx-metric{display:flex;flex-direction:column;gap:.25rem;padding:.85rem .95rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.sx-metric--signal{border-color:var(--signal);background:var(--signal-tint)}.sx-metric--azure{border-color:var(--azure);background:var(--azure-tint)}.sx-metric__v{font-family:var(--font-display);font-weight:700;font-size:1.7rem;line-height:1;letter-spacing:-.03em;color:var(--paper)}.sx-metric__l{font-family:var(--font-mono);font-size:.72rem;color:var(--paper-dim);letter-spacing:.02em}.sx-metrics--compact{grid-template-columns:repeat(3,1fr);gap:.45rem}.sx-metrics--compact .sx-metric{padding:.65rem .7rem}.sx-metrics--compact .sx-metric__v{font-size:1.45rem}.sx-bars ul{list-style:none;display:grid;grid-template-columns:minmax(6.5rem,max-content) 1fr max-content;column-gap:.75rem;row-gap:.6rem}.sx-bars__title{font-size:.74rem;color:var(--paper-dim);letter-spacing:.04em;margin-bottom:.7rem}.sx-bar,.sx-bars__title{font-family:var(--font-mono)}.sx-bar{display:grid;grid-column:1/-1;grid-template-columns:minmax(6.5rem,auto) 1fr auto;grid-template-columns:subgrid;align-items:center;column-gap:.75rem;font-size:.76rem}.sx-bar__l{color:var(--paper)}.sx-bar__d{color:var(--paper-dim);white-space:nowrap}.sx-bar__track{width:100%;height:12px;overflow:visible;border-radius:6px}.sx-bar__bg{fill:var(--line)}.sx-bar--gray .sx-bar__fill{fill:var(--paper-faint)}.sx-bar--signal .sx-bar__fill{fill:var(--signal)}.sx-bar--azure .sx-bar__fill{fill:var(--azure)}.sx-bar__mark{stroke:var(--paper);stroke-width:2}.sx-bars--compact ul{grid-template-columns:5.5rem 1fr max-content}.sx-bars--compact .sx-bar{font-size:.74rem}@media (max-width:480px){.sx-bars:not(.sx-bars--compact) ul{grid-template-columns:1fr max-content}.sx-bars:not(.sx-bars--compact) .sx-bar{row-gap:.35rem}.sx-bars:not(.sx-bars--compact) .sx-bar__track{grid-column:1/-1;grid-row:2}}.sx-spark figcaption{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.sx-spark__l{font-family:var(--font-mono);font-size:.74rem;color:var(--paper-dim)}.sx-spark__v{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--paper)}.sx-spark svg{width:100%;height:64px}.sx-spark--compact svg{height:72px}.sx-spark__line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.sx-spark--signal .sx-spark__line{stroke:var(--signal)}.sx-spark--signal .sx-spark__area{fill:var(--signal-tint)}.sx-spark--azure .sx-spark__line{stroke:var(--azure)}.sx-spark--azure .sx-spark__area{fill:var(--azure-tint)}.sx-code{margin:0;padding:.95rem 1.05rem;border:1px solid var(--line);border-radius:10px;background:var(--ink-3);color:var(--paper);font-family:var(--font-mono);font-size:.78rem;line-height:1.6;overflow-x:auto;white-space:pre;tab-size:2}.sx-code--compact{font-size:.74rem;overflow:hidden}.sx-code__line{display:block}@media (max-width:640px){.sx-code{overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.sx-code__line{padding-left:calc((var(--ind, 0) + 2) * 1ch);text-indent:calc((var(--ind, 0) + 2) * -1ch)}}.sx-projects__hero{padding-top:clamp(3.5rem,8vw,7rem);padding-bottom:clamp(1rem,2vw,1.5rem)}.sx-projects__title{margin-top:1.6rem;margin-bottom:1.5rem}.sx-projects__lead{max-width:56ch}.sx-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem}.sx-chip{display:inline-flex;align-items:center;gap:.55em;min-height:38px;padding:.45em .95em;border-radius:9px;border:1px solid var(--line-strong);background:transparent;color:var(--paper-dim);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.sx-chip:hover{color:var(--signal);border-color:var(--signal)}.sx-chip[aria-pressed=true]{color:var(--paper);border-color:var(--signal);background:var(--signal-tint)}.sx-chip__n{color:var(--paper-faint);font-size:.7rem}.sx-grid__note{margin:-.6rem 0 1.1rem}.sx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.sx-tile{display:flex;flex-direction:column;padding:1.1rem 1.1rem 1.3rem;cursor:pointer}.sx-tile:hover{border-color:var(--signal)}.sx-tile__thumb{height:150px;display:flex;align-items:center;justify-content:center;padding:.9rem;margin-bottom:1.1rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-2);overflow:hidden}.sx-tile__thumb>*{width:100%}.sx-tile__kind{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint);margin-bottom:.5rem}.sx-tile__title{font-size:1.22rem;line-height:1.2;letter-spacing:-.012em;margin-bottom:.5rem;transition:color .3s ease}.sx-tile:hover .sx-tile__title{color:var(--signal)}.sx-tile__btn{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;cursor:pointer}.sx-tile__btn:after{content:"";position:absolute;inset:0;border-radius:var(--r-lg);z-index:1}.sx-tile__btn:focus-visible{outline:none}.sx-tile__btn:focus-visible:after{outline:2px solid var(--signal);outline-offset:3px}.sx-tile__caption{color:var(--paper-dim);font-size:.93rem;line-height:1.5;margin-bottom:.9rem}.sx-tile .sx-tags{margin-top:auto}.sx-projects__cta .kicker{margin-bottom:1.2rem}.sx-projects__cta h2{margin-bottom:1rem}.sx-projects__cta .lead{margin-bottom:1.6rem}.sx-detail__visual{padding:1.2rem;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-2);margin-bottom:1.5rem}.sx-detail__points{list-style:none;display:flex;flex-direction:column;gap:.85rem;margin-bottom:1.4rem}.sx-detail__points li{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;font-size:.96rem;line-height:1.5;color:var(--paper)}.sx-detail__label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--signal);padding-top:.2rem}.sx-detail__points li.sx-detail__cont{margin-top:-.3rem}@media (max-width:980px){.sx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.sx-grid{grid-template-columns:minmax(0,1fr)}.sx-detail__points li{grid-template-columns:1fr;gap:.2rem}.sx-detail__cont .sx-detail__label{display:none}}