@font-face{font-family:sans;src:url(../media/geist_latin-s.p.6435ea53.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans;src:url(../media/geist_latin_ext-s.p.b97b3418.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:100.5%;descent-override:29.5%;line-gap-override:0.0%;size-adjust:100.0%}.sans_f9fc34ee-module__9DwAiG__className{font-family:sans,sans Fallback}.sans_f9fc34ee-module__9DwAiG__variable{--font-sans:"sans","sans Fallback"}
@font-face{font-family:mono;src:url(../media/geist_mono_latin-s.p.dbea232f.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:mono;src:url(../media/geist_mono_latin_ext-s.p.799d8ef8.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:mono Fallback;src:local(Arial);ascent-override:100.5%;descent-override:29.5%;line-gap-override:0.0%;size-adjust:100.0%}.mono_6e0f07dc-module__-S6rUG__className{font-family:mono,mono Fallback}.mono_6e0f07dc-module__-S6rUG__variable{--font-mono:"mono","mono Fallback"}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[9999\]{z-index:9999}.col-start-2{grid-column-start:2}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-3{margin-bottom:.75rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-10{width:2.5rem;height:2.5rem}.size-2{width:.5rem;height:.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1\.15rem\]{height:1.15rem}.h-\[169\%\]{height:169%}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:0}.min-h-4{min-height:1rem}.min-h-\[80px\]{min-height:80px}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[138\%\]{width:138%}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-5{min-width:1.25rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-max{max-width:max-content}.max-w-none{max-width:none}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-y-0\.5{--tw-translate-y:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.scroll-py-1{scroll-padding-top:.25rem;scroll-padding-bottom:.25rem}.list-none{list-style-type:none}.appearance-none{appearance:none}.grid-cols-\[0_1fr\]{grid-template-columns:0 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-items-start{justify-items:start}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-y-0\.5{row-gap:.125rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*calc(1 - var(--tw-space-x-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-border\/50{border-color:hsl(var(--border)/.5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/20{background-color:#0003}.bg-black\/50{background-color:#00000080}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/20{background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:#fff3}.bg-white\/50{background-color:#ffffff80}.bg-\[radial-gradient\(circle_at_center\,var\(--tw-gradient-stops\)\,transparent_80\%\)\]{background-image:radial-gradient(circle at center,var(--tw-gradient-stops),transparent 80%)}.from-zinc-50{--tw-gradient-from:#fafafa var(--tw-gradient-from-position);--tw-gradient-to:#fafafa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-zinc-100{--tw-gradient-to:#f4f4f500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f4f4f5 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-zinc-200{--tw-gradient-to:#e4e4e7 var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary))}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[0\.8rem\]{font-size:.8rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal)var(--tw-slashed-zero)var(--tw-numeric-figure)var(--tw-numeric-spacing)var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-primary{--tw-ring-color:hsl(var(--primary))}.ring-ring\/50{--tw-ring-color:hsl(var(--ring)/.5)}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px);filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px);filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.filter{filter:var(--tw-blur)var(--tw-brightness)var(--tw-contrast)var(--tw-grayscale)var(--tw-hue-rotate)var(--tw-invert)var(--tw-saturate)var(--tw-sepia)var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}:root{--paper:#f3f4f6;--ink:#0a0c10;--blue:#2348ec;--muted-ink:#5b616d;--rule:#d8dbe1;--ease:cubic-bezier(.22,1,.36,1);--background:220 14% 96%;--foreground:220 23% 5%;--primary:229 84% 53%;--primary-foreground:0 0% 100%;--muted:220 13% 91%;--muted-foreground:220 9% 39%;--border:220 13% 86%;--input:220 13% 86%;--ring:229 84% 53%;--radius:0;--destructive:0 70% 40%}*{box-sizing:border-box;border-color:var(--rule)}html{scroll-behavior:smooth;scroll-padding-top:110px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans),Arial,sans-serif;-webkit-font-smoothing:antialiased;margin:0}::selection{color:#fff;background:var(--blue)}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}a,button{transition:color .2s,background .2s,border-color .2s}a:hover{color:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:5px}main:focus{outline:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1{letter-spacing:-.065em;font-size:clamp(3rem,6.8vw,7.2rem);line-height:1.04}h2{letter-spacing:-.055em;font-size:clamp(2rem,3.8vw,4rem);line-height:1.1}h3{letter-spacing:-.045em;font-size:clamp(1.5rem,2.6vw,2.5rem);line-height:1.17}p{font-size:17px;line-height:1.65}img{max-width:100%;height:auto}button{border-radius:0}svg{max-width:100%}.wrap{width:calc(100% - 112px);max-width:1488px;margin-inline:auto}.mono,.eyebrow,.image-meta,.intro-rule,.footer-bottom,.breadcrumbs,.filter-bar{font-family:var(--font-mono),monospace;letter-spacing:.02em;font-size:11px;font-weight:400;line-height:1.6}.eyebrow{text-transform:uppercase;align-items:baseline;gap:20px;display:flex}.section-number{color:var(--blue)}.muted{color:#7d838f}.section{padding-block:110px}.section-heading{grid-template-columns:1fr 2fr;gap:40px;margin-bottom:60px;display:grid}.section-heading p{max-width:650px;color:var(--muted-ink);margin-top:24px}.action{background:var(--blue);border:1px solid var(--blue);color:#fff;justify-content:space-between;align-items:center;gap:36px;min-height:54px;padding:16px 23px;font-size:13px;font-weight:500;line-height:1.3;display:inline-flex}.action:hover{color:#fff;background:var(--ink);border-color:var(--ink)}.action .arrow,.action>span:last-child{font-size:21px}.text-link{border-bottom:1px solid;padding-block:10px;font-size:14px;display:inline-block}.skip-link{z-index:1000;background:var(--ink);color:#fff;padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{color:#fff;top:12px}.site-header{z-index:50;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0}.header-inner{align-items:center;gap:42px;min-height:98px;display:flex}.wordmark{letter-spacing:-.06em;flex-shrink:0;align-items:center;gap:11px;font-size:20px;font-weight:760;line-height:.91;display:flex}.brand-period{color:var(--blue)}.brand-symbol{grid-template-columns:1fr 1fr;gap:3px;width:31px;height:35px;display:grid;transform:skewY(-10deg)}.brand-symbol i{background:var(--ink)}.brand-symbol i:nth-child(2){background:var(--blue)}.brand-symbol i:last-child{border:2px solid var(--ink);background:0 0}.header-note{color:var(--muted-ink);font-size:10px;line-height:1.5}.desktop-nav{gap:32px;margin-left:auto;font-size:13px;display:flex}.desktop-nav [aria-current=page]{color:var(--blue)}.header-actions{align-items:center;gap:28px;display:flex}.language-switch{font-family:var(--font-mono),monospace;white-space:nowrap;gap:7px;padding:12px 0;font-size:11px;display:flex}.language-switch>span:first-child{color:var(--muted-ink)}.language-divider{color:#93958e}.header-contact{background:var(--ink);color:var(--paper);gap:24px;padding:15px 20px;font-size:12px;display:flex}.header-contact:hover{background:var(--blue);color:#fff}.menu-toggle{font-family:var(--font-mono),monospace;background:0 0;border:0;padding:12px 0;font-size:12px;display:none}.mobile-menu[hidden]{display:none}.mobile-menu{padding-block:12px 32px}.mobile-menu>a{border-top:1px solid var(--rule);align-items:center;gap:24px;padding:18px 0;font-size:32px;display:flex}.mobile-menu>a:last-child{font-size:16px}.page-intro{padding-top:66px;padding-bottom:36px}.page-intro>.eyebrow{margin-bottom:50px}.intro-grid{grid-template-columns:2fr 1fr;align-items:end;gap:7%;display:grid}.intro-aside p{color:var(--muted-ink);max-width:420px;font-size:16px}.intro-rule{border-top:1px solid var(--rule);color:var(--muted-ink);justify-content:space-between;gap:20px;margin-top:55px;padding-top:20px;font-size:10px;display:flex}.breadcrumbs{color:var(--muted-ink);padding-top:24px;font-size:10px}.breadcrumbs+.page-intro,.breadcrumbs+.case-intro{padding-top:40px}.breadcrumbs span[aria-current]{color:var(--ink)}.selected-work{grid-template-columns:repeat(2,minmax(0,1fr));gap:60px 32px;margin-bottom:48px;display:grid}.work-image{background:var(--panel);padding:58px 6% 40px;display:block;position:relative;overflow:hidden}.image-meta{text-transform:uppercase;justify-content:space-between;gap:18px;font-size:9px;display:flex}.work-image .image-meta{color:#42473f;position:absolute;top:20px;left:24px;right:24px}.project-image{-o-object-fit:contain;object-fit:contain;-o-object-position:top center;object-position:top center;width:100%;display:block}.work-image>.project-image{height:330px;transition:transform .7s var(--ease);filter:drop-shadow(0 15px 15px #16262018)}.work-image:hover>.project-image{transform:translateY(-6px)}.image-open{background:var(--paper);width:38px;height:38px;color:var(--ink);place-items:center;font-size:22px;transition:background .2s,color .2s;display:grid;position:absolute;bottom:20px;right:20px}.work-image:hover .image-open{background:var(--blue);color:#fff}.work-caption{justify-content:space-between;align-items:end;gap:20px;padding-top:23px;display:flex}.work-caption .eyebrow{color:var(--muted-ink);margin-bottom:9px;font-size:9px}.work-caption>.mono{color:var(--muted-ink);text-align:right;max-width:45%;font-size:10px}.work-collection{padding-top:30px;padding-bottom:110px}.filter-bar{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:30px;display:flex}.filter-bar a{border-bottom:2px solid #0000;min-height:48px;padding:18px 0;font-size:11px}.filter-bar a[aria-current]{color:var(--blue);border-color:var(--blue)}.filter-bar sup{margin-left:6px;font-size:8px;top:-.3em}.collection-heading{justify-content:space-between;margin:40px 0;display:flex}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 32px;display:grid}.related-work{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;display:grid}.related-work .work-image{padding:48px 20px 25px}.related-work .project-image{height:200px}.related-work .work-caption{flex-direction:column;align-items:start;gap:12px}.related-work .work-caption>.mono{text-align:left;max-width:none}.related-work h3{font-size:26px}.image-unavailable{place-items:center;min-height:200px;font-size:32px;display:grid}.lifecycle{grid-template-columns:repeat(4,1fr);padding-top:55px;padding-bottom:40px;display:grid}.lifecycle>div{border-left:1px solid var(--rule);padding:0 25px}.lifecycle>div:first-child{border-left:0;padding-left:0}.lifecycle .mono{color:var(--blue);justify-content:space-between;margin-bottom:50px;display:flex}.lifecycle h2{margin-bottom:20px;font-size:clamp(2rem,3.5vw,3.6rem)}.lifecycle p{color:var(--muted-ink);max-width:210px;font-size:14px}.services-editorial{margin-top:36px}.services-editorial article{border-top:1px solid var(--rule);grid-template-columns:1fr 2fr;gap:40px;padding:55px 0;display:grid}.service-number{letter-spacing:-.07em;color:#747b6c;font-size:clamp(3rem,6vw,6rem);line-height:1}.services-editorial .eyebrow{color:var(--blue);margin-bottom:25px}.services-editorial h2{max-width:740px}.services-editorial p{max-width:640px;color:var(--muted-ink);margin:25px 0}.service-system{background:var(--ink);color:var(--paper);margin-top:34px;padding-block:90px}.service-system .section-number{color:#8fa5ff}.service-system .section-heading p{color:#b7b9af}.narrative-section{grid-template-columns:1fr 2fr;gap:40px;display:grid}.narrative-row{border-bottom:1px solid var(--rule);grid-template-columns:45px 1fr;gap:25px;margin-bottom:40px;padding-bottom:46px;display:grid}.narrative-row h2{letter-spacing:-.045em;font-size:32px}.narrative-row p{max-width:660px;color:var(--muted-ink);margin-top:20px}.technology-line p{font-family:var(--font-mono),monospace;margin-top:20px;font-size:13px;line-height:2.2}.service-nav{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:30px;padding-block:30px;font-size:12px;display:flex}.editorial-aside{grid-template-columns:1fr 2fr;gap:28px 40px;display:grid}.editorial-aside h2,.editorial-aside p,.editorial-aside a{grid-column:2}.editorial-aside p{max-width:650px;color:var(--muted-ink)}.editorial-aside a{justify-self:start}.case-intro{padding:65px 0 55px}.case-intro h1{overflow-wrap:anywhere;margin:35px 0 45px;font-size:clamp(4rem,10vw,10rem)}.case-intro-bottom{grid-template-columns:1.5fr 1fr;align-items:start;gap:12%;display:grid}.case-intro-bottom>p{max-width:650px;font-size:20px}.case-intro dl{flex-wrap:wrap;gap:45px;margin:0;display:flex}.case-intro dt{font-family:var(--font-mono),monospace;text-transform:uppercase;color:var(--muted-ink);margin-bottom:14px;font-size:10px}.case-intro dd{margin:0;font-size:13px}.case-hero{padding:24px 5% 28px}.case-hero .project-image{max-height:700px;margin:35px 0}.case-hero figcaption{font-family:var(--font-mono),monospace;color:#4b5247;font-size:10px}.case-context{grid-template-columns:1fr 2fr;gap:60px;display:grid}.case-sidebar{flex-direction:column;gap:16px;max-width:270px;margin-top:60px;font-size:13px;display:flex}.case-sidebar>.eyebrow{color:var(--muted-ink);margin-top:20px}.case-sidebar>.mono{font-size:11px;line-height:2}.case-copy{color:var(--muted-ink);max-width:750px;margin-top:28px;font-size:18px}.case-implementation{margin-top:70px}.case-implementation>.eyebrow{margin-bottom:25px}.dissection{background:#dfe3d7;padding:90px 0}.dissection-layers{max-width:960px;margin-left:auto}.dissection details{border-top:1px solid #afb5a6}.dissection details:last-child{border-bottom:1px solid #afb5a6}.dissection summary{cursor:pointer;align-items:center;gap:35px;padding:30px 0;list-style:none;display:flex}.dissection summary::-webkit-details-marker{display:none}.dissection summary h3{font-size:30px}.dissection-plus{color:var(--blue);margin-left:auto;font-size:30px;transition:transform .3s}.dissection details[open] .dissection-plus{transform:rotate(45deg)}.dissection details>div{max-width:800px;padding:0 60px 35px}.dissection details>div>.mono{color:var(--blue);margin-bottom:18px;font-size:11px;display:block}.dissection details p{font-size:16px}.case-gallery{padding-bottom:50px}.gallery-figure{margin-bottom:34px;padding:40px 5% 20px}.gallery-figure .project-image{-o-object-fit:contain;object-fit:contain;max-height:780px}.gallery-figure figcaption{font-family:var(--font-mono),monospace;color:#485044;justify-content:space-between;margin-top:30px;font-size:10px;display:flex}.delivered{grid-template-columns:1fr 2fr;gap:40px;padding-block:70px 110px;display:grid}.delivered h2{font-size:clamp(1.7rem,3vw,3rem)}.case-navigation{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;margin-bottom:35px;display:grid}.case-navigation>a{flex-direction:column;gap:18px;padding:45px 0;display:flex}.case-navigation>a>span:last-child{letter-spacing:-.05em;font-size:clamp(1.7rem,4vw,4rem)}.case-navigation .next-project{border-left:1px solid var(--rule);padding-left:45px}.case-navigation .eyebrow{color:var(--muted-ink)}.case-back{margin-bottom:80px}.brand-equation{grid-template-columns:1fr .35fr 1fr;align-items:center;gap:40px;padding-block:60px 95px;display:grid}.brand-equation>div:last-child{color:var(--blue)}.brand-equation .eyebrow{margin-bottom:25px}.brand-equation h2{font-size:clamp(2.5rem,5vw,5rem)}.brand-equation p{color:var(--muted-ink);margin-top:20px;font-size:14px}.equation-cross{text-align:center;color:var(--blue);font-size:110px;font-weight:200}.principles{border-top:1px solid var(--rule);grid-template-columns:1fr 2fr;gap:40px;display:grid}.principle{grid-template-columns:100px 1fr;gap:30px;margin-bottom:65px;display:grid}.principle h2{font-size:clamp(1.8rem,3vw,3rem)}.principle p{color:var(--muted-ink);margin-top:24px}.principle .service-number{font-size:70px}.about-technology{background:#e2e4dc;padding-block:100px}.technology-table{margin-top:50px}.technology-table>div{border-top:1px solid #bcc2b4;grid-template-columns:1fr 1.5fr 1fr;align-items:baseline;gap:40px;padding:28px 0;display:grid}.technology-table h3{font-size:24px}.technology-table p{color:var(--muted-ink);font-size:13px}.technology-table .mono{font-size:12px;line-height:2}.empty-notebook{grid-template-columns:1fr 2fr;gap:40px;min-height:320px;display:grid}.notebook-index{font-family:var(--font-mono),monospace;letter-spacing:-.08em;color:#747b6c;font-size:clamp(3rem,7vw,7rem)}.empty-notebook h2{margin-block:25px}.empty-notebook p{max-width:630px;color:var(--muted-ink);margin-bottom:30px}.article-index-row{border-bottom:1px solid var(--rule);grid-template-columns:70px 1fr 50px;gap:30px;padding-block:42px;display:grid}.article-index-row h2{max-width:900px;margin:18px 0;font-size:38px}.article-index-row p{max-width:740px;color:var(--muted-ink)}.article-index-arrow{font-size:34px}.article-page{max-width:1100px;padding-top:50px}.article-page>header h1{margin:26px 0;font-size:clamp(2.5rem,5.5vw,5.5rem)}.article-deck{color:var(--muted-ink);max-width:820px;font-size:21px}.article-meta{flex-wrap:wrap;gap:25px;padding-block:30px;display:flex}.article-image{-o-object-fit:cover;object-fit:cover;width:100%;max-height:650px;margin:20px 0 60px}.reading-body{overflow-wrap:break-word;max-width:740px;margin-inline:auto;font-size:17px;line-height:1.85}.reading-body h2{letter-spacing:-.035em;margin:48px 0 20px;font-size:30px;line-height:1.3}.reading-body h2:first-child{margin-top:0}.reading-body h3{margin:30px 0 18px;font-size:24px}.reading-body p{margin-bottom:20px;font-size:17px;line-height:1.85}.reading-body ul,.reading-body ol{margin:20px 0 30px;padding-left:25px}.reading-body ul{list-style:outside}.reading-body ol{list-style:decimal}.reading-body li{margin-block:8px}.reading-body a{color:var(--blue);text-underline-offset:4px;text-decoration:underline}.reading-body pre{color:#e5ece3;background:#222722;border-radius:0;margin-block:30px;padding:24px;font-size:13px;overflow-x:auto}.reading-body code{font-family:var(--font-mono),monospace}.reading-body blockquote{border-left:2px solid var(--blue);margin-block:32px;padding:12px 25px}.reading-body table{border-collapse:collapse;margin-block:25px;display:block;overflow-x:auto}.reading-body td,.reading-body th{border:1px solid var(--rule);text-align:left;padding:10px 15px}.article-footer{border-top:1px solid var(--rule);flex-wrap:wrap;gap:24px;max-width:740px;margin:45px auto 80px;padding-top:25px;display:flex}.related-article{padding-top:30px;font-size:32px}.legal-section{padding-block:65px 120px}.legal-layout{grid-template-columns:1fr 2fr;gap:40px;display:grid}.legal-body{grid-column:2;width:100%;margin:0}.legal-body h2{font-size:26px}.legal-body p,.legal-body li{color:#44483f}.contact-layout{grid-template-columns:1fr 1.7fr;gap:10%;padding-top:65px;display:grid}.contact-details h2{margin:30px 0;font-size:38px}.contact-details>a{margin:15px 0;font-size:16px;display:block}.contact-location{margin-top:65px}.contact-location p,.contact-next p{color:var(--muted-ink);margin-top:18px;font-size:14px;line-height:1.8}.contact-next{border-top:1px solid var(--rule);max-width:300px;margin-top:35px;padding-top:25px}.form-heading{border-top:1px solid var(--rule);justify-content:space-between;gap:20px;margin-bottom:30px;padding-top:26px;display:flex}.form-heading>span:last-child:not(.eyebrow){color:var(--muted-ink);font-size:11px}.form-two{grid-template-columns:1fr 1fr;gap:28px;display:grid}.form-field{min-width:0;margin-bottom:30px}.form-field label{margin-bottom:12px;font-size:13px;display:block}.form-field input,.form-field select,.form-field textarea{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #999e91;border-radius:0;min-height:48px;padding:14px 0;font-size:15px;display:block}.form-field input::-moz-placeholder{color:#74796b;font-size:14px}.form-field textarea::-moz-placeholder{color:#74796b;font-size:14px}.form-field input::placeholder,.form-field textarea::placeholder{color:#74796b;font-size:14px}.form-field select{padding-right:20px}.form-field textarea{resize:vertical;border:1px solid #999e91;min-height:160px;padding:17px}.form-hint{color:var(--muted-ink);margin-top:10px;font-size:11px}.form-consents{flex-direction:column;gap:22px;padding:10px 0 25px;display:flex}.form-consents label{cursor:pointer;align-items:flex-start;gap:13px;font-size:12px;line-height:1.7;display:flex}.form-consents input{width:18px;min-width:18px;height:18px;accent-color:var(--blue);margin-top:2px}.form-consents a{text-underline-offset:3px;text-decoration:underline}.form-submit{width:100%;margin-top:15px}.form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-status.error{color:#8b1919;background:#eadbce;border-left:3px solid #a42121;margin-bottom:15px;padding:18px;font-size:14px;line-height:1.6}.confirmation{min-height:65vh}.confirmation-links{flex-wrap:wrap;gap:25px;padding-block:25px 100px;display:flex}.recovery{min-height:75vh;padding-block:70px 110px}.recovery-mark{font-family:var(--font-mono),monospace;letter-spacing:-.09em;color:var(--blue);padding-block:30px;font-size:100px}.recovery h1{max-width:850px}.recovery p{max-width:580px;color:var(--muted-ink);margin:25px 0}.recovery-actions{flex-wrap:wrap;gap:20px;display:flex}.contact-band{background:var(--blue);color:#fff;padding-block:65px 75px}.contact-band .section-number{color:#fff}.contact-band-grid{grid-template-columns:1.5fr 1fr;align-items:end;gap:10%;margin-top:45px;display:grid}.contact-band h2{max-width:750px;font-size:clamp(3rem,5.2vw,5.6rem)}.contact-band p{color:#ecedff;max-width:390px;margin-bottom:28px;font-size:15px}.contact-band .action{color:var(--blue);background:#fff;border-color:#fff}.contact-band .action:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.site-footer{color:#e4e7df;background:#1b201d;padding-top:65px}.site-footer a:hover{color:#a8bcff}.footer-top{border-bottom:1px solid #424940;justify-content:space-between;align-items:center;gap:40px;padding-bottom:45px;display:flex}.footer-top>p{letter-spacing:-.04em;font-size:28px;line-height:1.25}.footer-email{letter-spacing:-.025em;font-size:clamp(1rem,2vw,1.9rem)}.footer-columns{grid-template-columns:1.4fr .8fr 1.2fr 1fr;gap:40px;padding-block:55px 60px;display:grid}.footer-columns nav{flex-direction:column;align-items:start;gap:12px;display:flex}.footer-columns .eyebrow{color:#9da797;margin-bottom:12px;font-size:9px}.footer-columns p{margin:15px 0;font-size:12px;line-height:1.8}.footer-columns a{font-size:12px;line-height:1.5}.footer-wordmark{letter-spacing:-.075em;white-space:nowrap;justify-content:space-between;font-size:clamp(4rem,11.6vw,12.2rem);font-weight:630;line-height:1.2;display:flex}.footer-wordmark>span{color:#acb89e;font-weight:300}.footer-bottom{color:#a3ab9e;border-top:1px solid #424940;justify-content:space-between;gap:20px;margin-top:20px;padding:30px 0;font-size:9px;display:flex}@media (max-width:1150px){.wrap{width:calc(100% - 64px)}.header-note{display:none}.header-inner{gap:25px}.header-actions{gap:22px}.desktop-nav{gap:25px}.section{padding-block:85px}.section-heading{gap:30px}.intro-grid{grid-template-columns:1.7fr 1fr;gap:40px}.intro-aside p{font-size:14px}.work-image>.project-image{height:260px}.related-work .project-image{height:150px}.related-work .image-meta>span:last-child{display:none}.principle{grid-template-columns:70px 1fr}.principle .service-number{font-size:55px}.case-intro-bottom{gap:8%}.case-intro dl{gap:25px}.contact-layout{grid-template-columns:1fr 1.7fr;gap:7%}.footer-columns{gap:25px}}@media (max-width:850px){.header-inner{min-height:82px}.header-contact{display:none}.desktop-nav{margin-left:auto}.header-actions{gap:25px}.section-heading{grid-template-columns:1fr 2fr;gap:25px}.section-heading .eyebrow{max-width:160px}.eyebrow{gap:12px;font-size:10px}.page-intro{padding-top:45px}.page-intro>.eyebrow{margin-bottom:35px}.intro-grid{grid-template-columns:1fr}.intro-grid h1{max-width:850px;font-size:clamp(3.5rem,8vw,5.5rem)}.intro-aside{max-width:520px;margin-left:33.3%}.intro-aside p{font-size:16px}.intro-rule{margin-top:40px}.related-work{grid-template-columns:1fr 1fr}.related-work>article:last-child{grid-column:1/-1;max-width:65%}.lifecycle>div{padding-inline:16px}.lifecycle h2{font-size:32px}.lifecycle p{font-size:12px}.lifecycle .mono{margin-bottom:30px}.narrative-section{grid-template-columns:1fr;gap:40px}.narrative-section>div{margin-left:15%}.services-editorial article{grid-template-columns:1fr 3fr}.service-system{padding-block:65px}.case-intro h1{font-size:11vw}.case-intro-bottom>p{font-size:18px}.case-context{grid-template-columns:1fr 2fr;gap:35px}.case-copy{font-size:16px}.case-context h2{font-size:32px}.case-sidebar{margin-top:30px}.dissection summary h3{font-size:25px}.principles{grid-template-columns:1fr}.principles>div{margin-left:20%}.technology-table>div{grid-template-columns:1fr 2fr}.technology-table p{grid-column:2}.contact-layout{grid-template-columns:1fr;gap:55px}.contact-details{grid-template-columns:1fr 1fr;gap:10px 30px;display:grid}.contact-details>.eyebrow,.contact-details h2,.contact-details>a{grid-column:1}.contact-details h2{margin:15px 0}.contact-details>a{margin:0}.contact-location{grid-area:2/2/5;margin:0}.contact-next{display:none}.footer-columns{grid-template-columns:1fr 1fr;gap:40px}.footer-top>p{font-size:23px}.contact-band-grid{gap:40px}.contact-band p{font-size:14px}.contact-band h2{font-size:45px}.footer-bottom>span:nth-child(2){display:none}.legal-layout{grid-template-columns:1fr}.legal-body{grid-column:1;max-width:740px;margin:auto}}@media (max-width:600px){.wrap{width:calc(100% - 40px)}.header-inner{gap:16px;min-height:76px}.wordmark{gap:8px;font-size:17px}.brand-symbol{width:25px;height:29px}.desktop-nav{display:none}.header-actions{gap:20px;margin-left:auto}.menu-toggle{display:block}.language-switch{font-size:10px}.section{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:26px;margin-bottom:32px}.section-heading .eyebrow{max-width:none}.section-heading h2{font-size:34px}.section-heading p{margin-top:18px;font-size:15px}.page-intro{padding-top:40px;padding-bottom:20px}.page-intro>.eyebrow{margin-bottom:32px}.intro-grid{gap:27px}.intro-grid h1{font-size:clamp(2.7rem,10.2vw,4rem);line-height:1.06}.intro-aside{max-width:460px;margin-left:0}.intro-aside p{font-size:15px}.intro-rule{gap:12px;margin-top:35px;font-size:8px}.intro-rule>span:last-child{text-align:right;max-width:150px}.breadcrumbs{padding-top:20px;font-size:8px;line-height:1.9}.selected-work,.portfolio-grid,.related-work{display:block}.work-entry{margin-bottom:38px}.work-image{padding:48px 6% 38px}.work-image>.project-image{height:230px}.work-image .image-meta{gap:8px;font-size:7px;top:17px;left:16px;right:16px}.work-caption{gap:15px;padding-top:18px}.work-caption h3{font-size:26px}.work-caption>.mono{max-width:40%;font-size:8px}.work-caption .eyebrow{font-size:8px}.image-open{width:30px;height:30px;font-size:20px;bottom:12px;right:12px}.selected-work{margin-bottom:30px}.work-collection{padding-top:15px;padding-bottom:45px}.filter-bar{gap:0 22px}.filter-bar a{padding-block:14px;font-size:10px}.collection-heading{margin-block:28px}.related-work>article:last-child{max-width:none}.related-work .project-image{height:230px}.related-work .image-meta>span:last-child{display:block}.related-work .work-caption{flex-direction:row;align-items:end}.related-work .work-caption>.mono{max-width:40%}.lifecycle{grid-template-columns:1fr 1fr;gap:32px 0;padding-top:35px;padding-bottom:0}.lifecycle>div{padding-left:18px}.lifecycle>div:nth-child(odd){border:0;padding-left:0}.lifecycle h2{font-size:34px}.lifecycle p{max-width:150px;font-size:13px}.lifecycle .mono{margin-bottom:20px}.services-editorial article{grid-template-columns:45px 1fr;gap:20px;padding-block:33px}.services-editorial .service-number{font-size:42px}.services-editorial .eyebrow{margin-bottom:18px;font-size:8px}.services-editorial h2{font-size:29px}.services-editorial p{margin-block:18px;font-size:14px}.service-system{margin-top:20px;padding-block:50px}.narrative-section>div{margin-left:0}.narrative-row{grid-template-columns:25px 1fr;gap:18px;margin-bottom:28px;padding-bottom:28px}.narrative-row h2{font-size:27px}.narrative-row p{font-size:15px}.technology-line p{font-size:12px}.service-nav{gap:22px;font-size:11px}.editorial-aside{display:block}.editorial-aside h2{margin-top:28px;font-size:34px}.editorial-aside p{margin-top:22px;font-size:15px}.editorial-aside a{margin-top:25px}.case-intro{padding-bottom:30px}.case-intro h1{margin-block:25px;font-size:14vw;line-height:1.02}.case-intro-bottom{grid-template-columns:1fr;gap:28px}.case-intro-bottom>p{font-size:16px}.case-intro dl{gap:28px}.case-intro dt{margin-bottom:8px;font-size:9px}.case-intro dd{font-size:12px}.case-hero{padding:18px 18px 20px}.case-hero .image-meta{font-size:7px}.case-hero .project-image{margin-block:23px}.case-hero figcaption{font-size:8px}.case-context{flex-direction:column-reverse;gap:40px;display:flex}.case-context h2{font-size:32px}.case-copy{margin-top:20px;font-size:16px}.case-implementation{margin-top:40px}.case-sidebar{gap:12px;max-width:none;margin-top:20px;display:flex}.case-sidebar .text-link{align-self:start}.case-sidebar>.eyebrow{margin-top:10px}.dissection{padding-block:50px}.dissection summary{gap:16px;padding-block:25px}.dissection summary h3{font-size:23px}.dissection summary .mono{font-size:9px}.dissection details>div{padding:0 0 28px 33px}.dissection details>div>.mono{font-size:10px}.dissection details p{font-size:14px}.case-gallery{padding-bottom:25px}.gallery-figure{margin-bottom:22px;padding:22px 18px 16px}.gallery-figure figcaption{margin-top:20px;font-size:8px}.delivered{padding-block:35px 55px;display:block}.delivered h2{margin-top:25px;font-size:28px}.case-navigation{grid-template-columns:1fr}.case-navigation>a{gap:15px;padding-block:28px}.case-navigation .next-project{border-left:0;border-top:1px solid var(--rule);padding-left:0}.case-navigation .eyebrow{font-size:8px}.case-navigation>a>span:last-child{overflow-wrap:anywhere;font-size:26px}.case-back{margin-bottom:50px}.brand-equation{grid-template-columns:1fr;gap:25px;padding-block:35px 50px}.brand-equation .eyebrow{margin-bottom:18px}.brand-equation h2{font-size:46px}.brand-equation p{margin-top:15px}.equation-cross{text-align:left;font-size:60px;line-height:.8}.brand-equation>div:last-child{margin-left:0}.principles{gap:32px}.principles>div{margin-left:0}.principle{grid-template-columns:45px 1fr;gap:22px;margin-bottom:40px}.principle .service-number{font-size:44px}.principle h2{font-size:28px}.principle p{margin-top:20px;font-size:15px}.about-technology{padding-block:55px}.technology-table{margin-top:30px}.technology-table>div{grid-template-columns:1fr;gap:17px;padding-block:25px}.technology-table p{grid-column:1}.technology-table .mono{font-size:11px}.technology-table h3{font-size:25px}.empty-notebook{grid-template-columns:1fr;gap:35px}.notebook-index{font-size:64px}.empty-notebook h2{font-size:36px}.empty-notebook p{font-size:15px}.article-index-row{grid-template-columns:25px 1fr;gap:18px}.article-index-arrow{display:none}.article-index-row h2{font-size:28px}.article-index-row p{font-size:14px}.article-page{padding-top:35px}.article-page>header h1{font-size:38px}.article-deck{font-size:18px}.article-meta{gap:16px;font-size:9px}.article-image{margin-block:10px 35px}.reading-body p,.reading-body li{font-size:16px;line-height:1.8}.reading-body h2{margin-top:35px;font-size:26px}.reading-body pre{padding:17px;font-size:12px}.legal-section{padding-block:35px 70px}.legal-body h2{font-size:24px}.contact-layout{padding-top:35px}.contact-details{display:block}.contact-details h2{margin:22px 0;font-size:33px}.contact-details>a{margin-bottom:12px}.contact-location{margin-top:28px}.contact-location p{margin-top:10px;font-size:12px}.form-two{grid-template-columns:1fr;gap:0}.form-field{margin-bottom:26px}.form-field input,.form-field select,.form-field textarea{font-size:16px}.form-heading{margin-bottom:25px;padding-top:20px}.form-consents label{font-size:12px}.contact-band{padding-block:40px 50px}.contact-band-grid{grid-template-columns:1fr;gap:26px;margin-top:30px}.contact-band h2{font-size:44px}.contact-band p{max-width:380px;margin-bottom:22px;font-size:14px}.site-footer{padding-top:40px}.footer-top{padding-bottom:32px;display:block}.footer-top>p{margin-bottom:25px;font-size:26px}.footer-email{font-size:19px}.footer-columns{grid-template-columns:1fr 1fr;gap:35px 20px;padding-block:35px 45px}.footer-columns .eyebrow{font-size:8px}.footer-columns p,.footer-columns a{font-size:11px}.footer-wordmark{font-size:11.4vw}.footer-wordmark>span{display:none}.footer-bottom{gap:12px;margin-top:17px;padding-block:23px;font-size:8px}.footer-bottom>span:first-child{max-width:220px}.confirmation-links{gap:15px;padding-bottom:65px}.recovery{padding-block:40px 70px}.recovery-mark{font-size:80px}.recovery h1{font-size:45px}.recovery p{font-size:16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.work-image:hover>.project-image{transform:none}}.collection-title{color:var(--ink);letter-spacing:.02em}.intro-grid>*,.narrative-row>div{min-width:0}.intro-grid h1{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.data-flow-visual{color:#f0f3ed;background:#202923;padding:35px 8%}.data-flow-visual>.eyebrow{color:#c1cebc;font-size:10px}.data-flow-visual ol{margin:30px 0;padding:0;list-style:none}.data-flow-visual li{border-top:1px solid #65735e;align-items:center;gap:25px;padding:20px 0;font-size:clamp(18px,2.4vw,34px);display:flex}.data-flow-visual li>span:last-child{color:#c1cebc;margin-left:auto}.data-flow-visual p{font-family:var(--font-mono),monospace;color:#c1cebc;font-size:10px}.work-image .data-flow-visual p{font-size:8px}.case-hero .data-flow-visual{margin-block:30px}@media (max-width:600px){.data-flow-visual{padding:25px 20px}.data-flow-visual li{gap:16px}.data-flow-visual>.eyebrow,.data-flow-visual p{font-size:9px}}svg.arrow{vertical-align:-.12em;flex-shrink:0;width:1em;min-width:1em;height:1em;display:inline-block}.original-logo{border-radius:6px;width:50px;height:50px}@media (max-width:600px){.original-logo{width:42px;height:42px}}.portfolio-grid .work-image,.selected-work .work-image{aspect-ratio:1.4;align-items:center;width:100%;min-width:0;min-height:280px;padding:52px 8% 44px;display:flex}.portfolio-grid .project-image,.selected-work .project-image{-o-object-position:center;object-position:center;height:100%}.project-system-model{color:#f0f0e9;background:#1b252b;width:100%;padding:clamp(20px,4vw,60px)}.project-system-model>.eyebrow{color:#b9ced9;font-size:10px}.project-system-model ol{margin:24px 0 0;padding:0;list-style:none}.project-system-model li{border-top:1px solid #50616b;grid-template-columns:36px 1fr;gap:16px;padding:22px 0;display:grid}.project-system-model li:last-child{padding-bottom:0}.project-system-model .mono{color:#b9ced9;font-size:11px}.project-system-model strong{font-size:clamp(20px,3vw,38px);font-weight:500}.project-system-model p{color:#c4d0d6;max-width:650px;margin:8px 0 0}.work-image .project-system-model{padding:18px}.work-image .project-system-model ol{margin-top:12px}.work-image .project-system-model li{grid-template-columns:26px 1fr;gap:8px;padding:8px 0}.work-image .project-system-model strong{font-size:16px}.work-image .project-system-model p{display:none}.work-image .data-flow-visual{width:100%}@media (max-width:600px){.portfolio-grid .work-image,.selected-work .work-image{aspect-ratio:1.25;padding:43px 7% 38px}.project-system-model li{grid-template-columns:22px 1fr;gap:10px}.project-system-model p{font-size:14px}.work-image .project-system-model{padding:16px}.work-image .project-system-model>.eyebrow{font-size:8px}.work-image .project-system-model strong{font-size:16px}}.work-image .data-flow-visual{padding:18px}.work-image .data-flow-visual>.eyebrow{font-size:9px}.work-image .data-flow-visual ol{margin:12px 0 0}.work-image .data-flow-visual li{gap:10px;padding:8px 0;font-size:14px}.work-image .data-flow-visual li:last-child{padding-bottom:0}.work-image .data-flow-visual p{display:none}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-width:0}.checked\:border-primary:checked{border-color:hsl(var(--primary))}.checked\:bg-primary:checked{background-color:hsl(var(--primary))}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-black\/70:hover{background-color:#000000b3}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted)/.5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:ring-4:hover{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:hsl(var(--ring))}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:hsl(var(--ring))}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:hsl(var(--ring)/.5)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100,.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\>svg\]\:grid-cols-\[calc\(var\(--spacing\)\*4\)_1fr\]:has(>svg){grid-template-columns:calc(var(--spacing)*4)1fr}.has-\[\>svg\]\:gap-x-3:has(>svg){-moz-column-gap:.75rem;column-gap:.75rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-primary[aria-selected=true]{background-color:hsl(var(--primary))}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:text-primary-foreground[aria-selected=true]{color:hsl(var(--primary-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{left:0;right:0}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{top:0;bottom:0}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{left:0;right:0}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:0}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:0}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:0}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:0}.data-\[active\=true\]\:z-10[data-active=true]{z-index:10}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:6rem}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:6rem}.data-\[orientation\=horizontal\]\:h-4[data-orientation=horizontal]{height:1rem}.data-\[orientation\=horizontal\]\:h-full[data-orientation=horizontal]{height:100%}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom],.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[orientation\=vertical\]\:min-h-44[data-orientation=vertical]{min-height:11rem}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-1\.5[data-orientation=vertical]{width:.375rem}.data-\[orientation\=vertical\]\:w-auto[data-orientation=vertical]{width:auto}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical],.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[variant\=outline\]\:border-l-0[data-variant=outline]{border-left-width:0}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-width:1px}.data-\[active\=true\]\:border-ring[data-active=true]{border-color:hsl(var(--ring))}.data-\[active\=true\]\:bg-accent\/50[data-active=true]{background-color:hsl(var(--accent)/.5)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-card[data-state=active]{background-color:hsl(var(--card))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[inset\]\:pl-8[data-inset]{padding-left:2rem}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-accent-foreground[data-active=true]{color:hsl(var(--accent-foreground))}.data-\[error\=true\]\:text-destructive[data-error=true]{color:hsl(var(--destructive))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true],.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:hsl(var(--destructive))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[active\=true\]\:ring-\[3px\][data-active=true]{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.data-\[active\=true\]\:ring-ring\/50[data-active=true]{--tw-ring-color:hsl(var(--ring)/.5)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed],.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.\*\:data-\[slot\=alert-description\]\:text-destructive\/90[data-slot=alert-description]>*{color:hsl(var(--destructive)/.9)}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.data-\[variant\=outline\]\:first\:border-l:first-child[data-variant=outline]{border-left-width:1px}.data-\[active\=true\]\:hover\:bg-accent:hover[data-active=true],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open],.data-\[active\=true\]\:focus\:bg-accent:focus[data-active=true],.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open]{background-color:hsl(var(--accent))}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10:focus[data-variant=destructive]{background-color:hsl(var(--destructive)/.1)}.data-\[variant\=destructive\]\:focus\:text-destructive:focus[data-variant=destructive]{color:hsl(var(--destructive))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width)*-1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width)*-1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:top-full{top:100%}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:mt-1\.5{margin-top:.375rem}.group\/drawer-content[data-vaul-drawer-direction=bottom] .group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block{display:block}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + (--spacing(4)) + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden,.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:rounded-md{border-radius:calc(var(--radius) - 2px)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border,.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:bg-popover{background-color:hsl(var(--popover))}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:text-popover-foreground{color:hsl(var(--popover-foreground))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:duration-200{transition-duration:.2s;animation-duration:.2s}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.group\/navigation-menu[data-viewport=false] .group-data-\[viewport\=false\]\/navigation-menu\:data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/80{background-color:hsl(var(--background)/.8)}}.dark\:bg-input\/30:is(.dark *){background-color:hsl(var(--input)/.3)}.dark\:text-muted-foreground:is(.dark *){color:hsl(var(--muted-foreground))}.dark\:data-\[state\=active\]\:border-input[data-state=active]:is(.dark *){border-color:hsl(var(--input))}.dark\:data-\[state\=active\]\:bg-input\/30[data-state=active]:is(.dark *){background-color:hsl(var(--input)/.3)}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]:is(.dark *){background-color:hsl(var(--primary-foreground))}.dark\:data-\[state\=unchecked\]\:bg-card-foreground[data-state=unchecked]:is(.dark *){background-color:hsl(var(--card-foreground))}.dark\:data-\[state\=unchecked\]\:bg-input\/80[data-state=unchecked]:is(.dark *){background-color:hsl(var(--input)/.8)}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]:is(.dark *){color:hsl(var(--foreground))}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:focus[data-variant=destructive]:is(.dark *){background-color:hsl(var(--destructive)/.2)}@media (min-width:640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-\[600px\]{height:600px}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:pl-2\.5{padding-left:.625rem}.sm\:pr-2\.5{padding-right:.625rem}.sm\:text-left{text-align:left}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:24rem}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}}@media (min-width:1024px){.lg\:hidden{display:none}.lg\:w-\[84\%\]{width:84%}}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:translate-y-0\.5>svg{--tw-translate-y:.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:text-current>svg{color:currentColor}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border)/.5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:hsl(var(--muted-foreground))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}
:root{--ease-inout:cubic-bezier(.65,0,.35,1);--dur-micro:.18s;--dur-ui:.42s;--dur-reveal:.9s}html[data-motion=pending] [data-reveal]:not([data-reveal=lines][data-trigger=load]){opacity:0;animation:0s linear 3s forwards bb-failsafe}@keyframes bb-failsafe{to{opacity:1}}.bb-line-mask{margin-bottom:-.26em;padding-block:.1em .16em;position:relative;top:-.1em}.bb-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-motion=on] :is([data-draw=top],[data-draw=bottom]){border-color:#0000;position:relative}html[data-motion=on] :is([data-draw=top],[data-draw=bottom]):after{content:"";background:var(--draw-color,var(--rule));height:1px;transform:scaleX(var(--draw,1));transform-origin:0;pointer-events:none;position:absolute;left:0;right:0}html[data-motion=on] [data-draw=top]:after{top:-1px}html[data-motion=on] [data-draw=bottom]:after{bottom:-1px}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.site-header{--condense:34px;transition:transform var(--dur-ui)var(--ease)}.site-header .header-inner,.site-header .original-logo,.site-header .header-note{transition:transform var(--dur-ui)var(--ease),opacity var(--dur-ui)var(--ease)}.site-header[data-state=condensed]{transform:translateY(calc(var(--condense)*-1))}.site-header[data-state=condensed] .header-inner{transform:translateY(calc(var(--condense)/2))}.site-header[data-state=condensed] .header-note{opacity:0}.site-header[data-state=condensed] .original-logo{transform:scale(.84)}.site-header[data-state=hidden]{transform:translateY(-100%)}.site-header:focus-within,.site-header:focus-within .header-inner{transform:none}@media (max-width:850px){.site-header{--condense:18px}}@media (max-width:600px){.site-header{--condense:12px}}.site-header:after,.site-header:before{content:"";background:var(--blue);transform-origin:0;pointer-events:none;height:1px;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.site-header:after{animation:linear both bb-progress;animation-timeline:scroll(root)}}@keyframes bb-progress{to{transform:scaleX(1)}}html:active-view-transition .site-header:before{animation:bb-sweep .64s var(--ease-inout)both}@keyframes bb-sweep{0%{opacity:1;transform:scaleX(0)}70%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.text-link{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;border-bottom-color:#0000}.text-link:hover,.text-link:focus-visible{animation:bb-underline .7s var(--ease-inout)}@keyframes bb-underline{0%{background-position:100% 100%;background-size:100% 1px}50%{background-position:100% 100%;background-size:0% 1px}50.01%{background-position:0 100%}to{background-position:0 100%;background-size:100% 1px}}.action{isolation:isolate;position:relative;overflow:hidden}.action:before{content:"";z-index:-1;background:var(--ink);transform-origin:100%;transition:transform var(--dur-ui)var(--ease);position:absolute;inset:-1px;transform:scaleX(0)}.action:hover:before,.action:focus-visible:before{transform-origin:0;transform:scaleX(1)}.action:hover{background:var(--blue)}.contact-band .action{transition:color var(--dur-ui)var(--ease)}.contact-band .action:hover{background:#fff}.site-footer{overflow-x:clip}.site-footer .wrap{container-type:inline-size}.footer-wordmark{font-size:16.1cqi;display:block}.footer-wordmark>.wm-word{font-weight:inherit;color:inherit;display:inline-block}@supports (animation-timeline:view()){.footer-wordmark>.wm-word{animation:linear both bb-wordmark;animation-timeline:view();animation-range:entry}.footer-wordmark>.wm-word:first-child{--from:-22%}.footer-wordmark>.wm-word:last-child{--from:22%}}@keyframes bb-wordmark{0%{transform:translateX(var(--from))}}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-old(.bb-page){animation:bb-page-out .22s var(--ease-inout)both}::view-transition-new(.bb-page){animation:bb-page-in .42s var(--ease).17s both}@keyframes bb-page-out{to{opacity:0;transform:translateY(-24px)}}@keyframes bb-page-in{0%{opacity:0;transform:translateY(24px)}}.filter-bar a{position:relative}.filter-bar a[aria-current]{border-color:#0000}.filter-indicator{background:var(--blue);height:2px;position:absolute;bottom:-2px;left:0;right:0}.hover-preview{z-index:60;background:var(--panel);pointer-events:none;opacity:0;width:280px;transition:opacity var(--dur-ui)var(--ease),scale var(--dur-ui)var(--ease);padding:10px;position:fixed;top:0;left:0;scale:.94}.hover-preview[data-visible]{opacity:1;scale:1}.hover-preview img{width:100%;height:auto;display:block}@media (max-width:850px),(pointer:coarse){.hover-preview{display:none}}.lifecycle{position:relative}.lifecycle-line{clip-path:inset(-6px 0);pointer-events:none;height:1px;position:absolute;top:28px;left:0;right:0}.lifecycle-line i{background:var(--blue);transform:translateX(calc((var(--draw,1) - 1)*100%));position:absolute;inset:0}.lifecycle-line i:after{content:"";background:var(--blue);width:9px;height:9px;position:absolute;top:-4px;right:0}.equation-cross svg{fill:none;stroke:currentColor;stroke-width:3.5px;width:.8em;height:.8em}.form-field :is(input,select,textarea){background-image:linear-gradient(var(--blue),var(--blue));transition:background-size var(--dur-ui)var(--ease);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px}.form-field :is(input,select,textarea):focus{background-size:100% 2px}.form-marker{width:9px;height:9px;transition:background var(--dur-ui)var(--ease),border-color var(--dur-ui)var(--ease);border:1px solid;display:inline-block}.form-heading[data-complete] .form-marker{background:var(--blue);border-color:var(--blue)}
:root{--void:#05070b;--panel:#0a0d13;--line-dark:#161d2e;--trace:#18223d;--signal:#3d66ff;--ice:#c7d4ff;--on-dark:#e8ecf5;--muted-dark:#7c8598;--brain-trace:#1c2850;--brain-bit:#16203a;--brain-bit-on:#8ea6ff}[data-surface=dark]:not(.site-header){isolation:isolate;background:var(--void);color:var(--on-dark);--muted-ink:var(--muted-dark);--rule:var(--line-dark);position:relative;overflow:clip}[data-surface=dark]:not(.site-header):before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#6e8cff0e 1px,#0000 1px),linear-gradient(90deg,#6e8cff0e 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 70% 40%,#000 30%,#0000 80%);mask-image:radial-gradient(at 70% 40%,#000 30%,#0000 80%)}[data-surface=dark] .section-number{color:#7d97ff}[data-surface=dark] .eyebrow{color:var(--muted-dark)}[data-surface=dark] .muted{color:#8a93a6}[data-surface=dark] .section-heading p{color:#a9b2c4}[data-surface=dark] .action:before{background:#fff}[data-surface=dark] .action:hover{color:var(--ink);background:var(--blue)}.action-ghost{color:var(--on-dark);background:0 0;border-color:#2a3350}[data-surface=dark] :focus-visible{outline-color:var(--signal)}.site-header{transition:transform var(--dur-ui)var(--ease),background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}.site-header[data-surface=dark]{background:var(--void);color:var(--on-dark);border-color:var(--line-dark)}.site-header[data-surface=dark] :is(.header-note,.language-switch>span:first-child){color:var(--muted-dark)}.site-header[data-surface=dark] .header-contact{color:var(--on-dark);background:0 0;box-shadow:inset 0 0 0 1px #2a3350}.site-header[data-surface=dark] .header-contact:hover{background:var(--blue);color:#fff;box-shadow:none}.site-header[data-surface=dark] .desktop-nav [aria-current=page]{color:var(--ice)}.site-header[data-surface=dark] .mobile-menu>a{border-color:var(--line-dark)}.site-header[data-state=condensed]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f3f4f6e0}.site-header[data-state=condensed][data-surface=dark]{background:#05070bdb}.site-footer{background:var(--void);color:var(--on-dark)}.site-footer :is(.footer-top,.footer-bottom){border-color:var(--line-dark)}.site-footer :is(.footer-columns .eyebrow,.footer-bottom){color:var(--muted-dark)}.site-footer a:hover{color:var(--ice)}.footer-wordmark>.wm-word{color:var(--on-dark)}.footer-wordmark>.wm-word:first-child{font-weight:630}.footer-wordmark>.wm-word:last-child{color:#8ea6ff}.contact-band{background:var(--void);padding-block:110px 100px}.contact-band>.wrap{z-index:1;position:relative}.contact-band p{color:#a9b2c4}.contact-band .action{background:var(--blue);border-color:var(--blue);color:#fff}.contact-band .action:hover{background:var(--blue);color:var(--ink)}.contact-band h2 .accent{color:#8ea6ff}.hero-circuit{align-content:center;min-height:calc(100svh - 98px);padding-block:40px 96px;display:grid}.hero-circuit-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:2%;display:grid}.hero-lede .eyebrow:before{content:"";background:var(--signal);width:8px;height:8px;box-shadow:0 0 12px var(--signal);align-self:center}.hero-lede h1{letter-spacing:-.065em;margin:28px 0;font-size:clamp(56px,7.4vw,124px);font-weight:520;line-height:.95}.hero-out{color:#0000;background:linear-gradient(90deg,#fff 0%,#9db1ff 45%,var(--signal)100%);-webkit-background-clip:text;background-clip:text}.hero-lede p{color:#b7bfcf;max-width:470px;margin:0 0 34px;font-size:18px;line-height:1.6}.hero-buttons{flex-wrap:wrap;gap:14px;display:flex}.hero-brain{justify-self:end;width:min(100%,680px)}.circuit-brain{aspect-ratio:1;position:relative}.circuit-brain>:is(svg,canvas){width:100%;height:100%;position:absolute;inset:0}.circuit-brain>svg{transition:opacity .4s}.circuit-brain[data-ready]>svg{opacity:0}.hero-readouts{color:var(--muted-dark);justify-content:space-between;gap:12px 20px;margin-top:24px;display:flex}.hero-readouts b{color:var(--ice);font-weight:500}@media (max-width:899px){.hero-circuit-grid{grid-template-columns:1fr}.hero-brain{justify-self:center;width:min(92%,520px);margin-top:8px}.hero-readouts{flex-wrap:wrap}.hero-readouts span:is(:nth-child(2),:last-child){display:none}}:lang(pl) .hero-lede h1{font-size:clamp(44px,5.2vw,86px)}@media (max-width:899px){:lang(pl) .hero-lede h1{font-size:clamp(34px,10.4vw,64px)}}.led-rows{border-top:1px solid var(--rule)}.led-row{border-bottom:1px solid var(--rule);grid-template-columns:120px 1fr 1fr 40px;align-items:center;gap:24px;padding:34px 0;display:grid;position:relative}.led-row>.mono{color:var(--muted-ink)}.led-row h3{letter-spacing:-.045em;transition:transform .45s var(--ease);margin:0;font-size:clamp(26px,2.4vw,40px);font-weight:500}.led-row p{max-width:440px;color:var(--muted-ink);margin:0;font-size:14px;line-height:1.6}.led{border:1px solid #b9bfca;justify-self:end;width:9px;height:9px;transition:background .3s,box-shadow .3s,border-color .3s}.led-row:after{content:"";background:var(--blue);transform-origin:0;height:1px;transition:transform .6s var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.led-row:is(:hover,:focus-visible):after{transform:scaleX(1)}.led-row:is(:hover,:focus-visible) h3{transform:translate(10px)}.led-row:is(:hover,:focus-visible) .led{background:var(--signal);border-color:var(--signal);box-shadow:0 0 12px var(--signal)}.services-editorial article:has(a:is(:hover,:focus-visible)):after{background:var(--signal);border-color:var(--signal);box-shadow:0 0 12px var(--signal)}.ai-badge{vertical-align:middle;background:var(--blue);color:#fff;letter-spacing:.06em;margin-left:12px;padding:4px 7px;font-size:10px;display:inline-block;transform:translateY(-4px)}.services-editorial article{position:relative}.services-editorial article:after{content:"";border:1px solid #b9bfca;width:9px;height:9px;transition:background .3s,box-shadow .3s,border-color .3s;position:absolute;top:40px;right:0}@media (max-width:899px){.led-row{grid-template-columns:1fr auto;gap:10px 16px;padding:24px 0}.led-row h3,.led-row p{grid-column:1/-1}.led{grid-area:1/2}}@media (prefers-reduced-motion:reduce){.led-row h3,.led-row:after{transition:none}}.ai-section{padding-block:140px 120px}.ai-plate{z-index:-1;-o-object-fit:cover;object-fit:cover;-o-object-position:right center;object-position:right center;opacity:.42;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 25%,#000 75%);mask-image:linear-gradient(90deg,#0000 25%,#000 75%)}.pipe-head{border-top:1px solid var(--line-dark);color:var(--muted-dark);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 20px;margin-bottom:26px;padding-top:18px;display:flex}.pipe-head>.mono{text-transform:uppercase}.pipe-tabs{flex-wrap:wrap;gap:6px;display:flex}.pipe-tabs button{color:var(--muted-dark);font:10.5px/1.2 var(--font-mono),monospace;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #1d2539;padding:9px 12px;transition:color .2s,border-color .2s}.pipe-tabs button[aria-selected=true]{color:#fff;border-color:var(--signal);box-shadow:inset 0 -2px 0 var(--signal)}.pipe-tabs button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.pipe-nodes{grid-template-columns:repeat(6,minmax(0,1fr));gap:40px;margin:0;padding:0;list-style:none;display:grid}.pipe-node{background:#0a0e18e0;border:1px solid #222c48;flex-direction:column;gap:10px;min-height:132px;padding:14px;transition:border-color .25s,background-color .25s;display:flex;position:relative}.pipe-label{color:var(--muted-dark);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #1a2238;padding-bottom:10px;font-size:10px}.pipe-text{color:var(--on-dark);font-size:15px;line-height:1.35}.pipe-status{color:var(--muted-dark);letter-spacing:.06em;text-transform:uppercase;margin-top:auto;font-size:9.5px}.pipe-node[data-state=running]{border-color:var(--signal);background:#141e48eb}.pipe-node[data-state=running] .pipe-status{color:#9fb4ff}.pipe-node[data-state=done]{background:#0c1228eb;border-color:#2b3a6b}.pipe-node[data-state=done] .pipe-status{color:#3ddc97}.pipe-brain{opacity:.45;--brain-trace:#7d97ff;--brain-bit:#7d97ff;--brain-bit-on:#c7d4ff;width:22px;height:22px;position:absolute;top:9px;right:10px}.pipe-brain svg{width:100%;height:100%}.pipe-brain svg g:first-child{stroke-width:18px}.pipeline[data-live] .pipe-node[data-state=running] .pipe-brain{animation:.3s ease-in-out infinite alternate pipe-think}@keyframes pipe-think{to{opacity:1}}.pipe-wire{background:#1f2a47;width:40px;height:2px;position:absolute;top:50%;left:100%}.pipe-wire:before{content:"";background:var(--signal);box-shadow:0 0 8px var(--signal);transform-origin:0;transition:transform .35s ease-in-out;position:absolute;inset:0;transform:scaleX(0)}.pipe-wire[data-lit]:before{transform:scaleX(1)}.pipe-wire b{width:14px;height:14px;box-shadow:0 0 10px var(--signal);opacity:0;background:#9fb4ff;margin-left:-7px;position:absolute;top:-6px;left:0}.pipeline[data-live] .pipe-wire[data-lit] b{animation:.35s ease-in-out pipe-packet}@keyframes pipe-packet{0%{opacity:1;left:0}to{opacity:1;left:100%}}@keyframes pipe-packet-down{0%{opacity:1;top:0}to{opacity:1;top:100%}}.ai-grid{grid-template-columns:1.25fr 1fr;gap:64px;margin-top:72px;display:grid}.ai-sub{color:var(--muted-dark);text-transform:uppercase;margin:0 0 18px;font-size:11px;font-weight:400}.proof,.chips{margin:0;padding:0;list-style:none}.proof{border-top:1px solid var(--line-dark)}.proof li{border-bottom:1px solid var(--line-dark);grid-template-columns:130px 160px 1fr;align-items:baseline;gap:18px;padding:18px 0;display:grid}.proof li>.mono{color:#8790a5;text-transform:uppercase;font-size:10px}.proof b{letter-spacing:-.03em;font-size:19px;font-weight:500}.proof a:is(:hover,:focus-visible) b{color:var(--ice)}.proof p{color:#a9b2c4;margin:0;font-size:14px;line-height:1.55}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips li{color:#c4cce0;letter-spacing:.04em;text-transform:uppercase;background:#0c101cb3;border:1px solid #222b42;padding:10px 12px;font-size:11px}.ai-section .text-link{margin-top:48px}@media (max-width:899px){.pipe-nodes{grid-template-columns:1fr;gap:28px}.pipe-node{min-height:0}.pipe-wire{width:2px;height:28px;top:100%;left:28px}.pipe-wire:before{transform-origin:top;transform:scaleY(0)}.pipe-wire[data-lit]:before{transform:scaleY(1)}.pipe-wire b{margin:-7px 0 0;top:0;left:-6px}.pipeline[data-live] .pipe-wire[data-lit] b{animation-name:pipe-packet-down}.ai-grid{grid-template-columns:1fr;gap:48px}.proof li{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){.pipe-node,.pipe-wire:before{transition:none}}.chip-frame{isolation:isolate;background:var(--panel);color:var(--on-dark);border:1px solid #1a2133}.chip-frame:before{content:"";z-index:-1;pointer-events:none;background-image:radial-gradient(#7896ff29 1px,#0000 1.2px);background-size:16px 16px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 60%);mask-image:linear-gradient(#0000,#000 60%)}.chip-frame .image-meta,.chip-frame figcaption,.gallery-figure.chip-frame figcaption{color:var(--muted-dark)}.chip-led{vertical-align:1px;background:#3ddc97;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 8px #3ddc97}.chip-frame>.project-image{filter:drop-shadow(0 18px 24px #00000080)}.chip-scan{pointer-events:none;background:linear-gradient(#0000,#3d66ff2e,#0000);height:30%;position:absolute;top:-30%;left:0;right:0}.chip-frame:is(:hover,:focus-visible) .chip-scan{animation:chip-scan 1.4s var(--ease)}@keyframes chip-scan{to{top:100%}}.chip-corners i{border:0 solid var(--signal);opacity:0;width:14px;height:14px;transition:opacity .3s;position:absolute}.chip-corners i:first-child{border-width:1px 0 0 1px;top:8px;left:8px}.chip-corners i:nth-child(2){border-width:1px 1px 0 0;top:8px;right:8px}.chip-corners i:nth-child(3){border-width:0 0 1px 1px;bottom:8px;left:8px}.chip-corners i:nth-child(4){border-width:0 1px 1px 0;bottom:8px;right:8px}.chip-frame:is(:hover,:focus-visible) .chip-corners i{opacity:1}.chip-frame .image-open{background:var(--panel);color:var(--on-dark);border:1px solid #222b42}.chip-frame:is(:hover,:focus-visible) .image-open{background:var(--blue);color:#fff}.chip-frame .project-system-model,.chip-frame .data-flow-visual{color:var(--on-dark);background:#0d1220}.chip-frame .project-system-model li,.chip-frame .data-flow-visual li{border-color:#222c48}.chip-frame :is(.project-system-model,.data-flow-visual) :is(.eyebrow,.mono,p,li>span:last-child){color:#9fb4ff}.chip-frame .project-system-model li>.mono:after{content:"";background:var(--signal);width:7px;height:7px;box-shadow:0 0 8px var(--signal);margin-top:6px;display:block}.filter-bar a:before{content:"";vertical-align:1px;border:1px solid #b9bfca;width:7px;height:7px;margin-right:9px;display:inline-block}.filter-bar a[aria-current]:before{background:var(--signal);border-color:var(--signal);box-shadow:0 0 8px var(--signal)}@media (prefers-reduced-motion:reduce){.chip-scan{display:none}}.machine-scene,.machine-stage{position:relative}.machine[data-scene=on] .machine-scene{height:520vh}.machine[data-scene=on] .machine-stage{height:100vh;position:sticky;top:0;overflow:hidden}.m-rail,.machine-svg{display:none}.machine[data-scene=on] .m-rail{z-index:2;grid-template-columns:repeat(4,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:104px;left:56px;right:56px}.m-rail li{color:var(--muted-dark);border-top:1px solid #1d2539;padding-top:12px;transition:color .3s,border-color .3s}.m-rail li[data-on]{color:var(--on-dark);border-color:var(--signal)}.machine[data-scene=on][data-layout=landscape] .machine-svg[data-layout=landscape],.machine[data-scene=on][data-layout=portrait] .machine-svg[data-layout=portrait]{width:100%;height:calc(100% - 140px);display:block;position:absolute;inset:140px 0 0}.machine-svg text{font-family:var(--font-mono),monospace}.machine-svg .m-req-text{font-family:var(--font-sans),sans-serif}.machine-title{padding-block:110px 40px}.machine-title h2{letter-spacing:-.05em;max-width:640px;margin:14px 0 0;font-size:clamp(30px,3vw,48px);line-height:1.05}.machine[data-scene=on] .machine-title{z-index:2;width:auto;max-width:560px;margin:0;padding:0;position:absolute;bottom:32px;left:56px}.machine-static{grid-template-columns:1fr 1fr 1.3fr;gap:32px;padding-bottom:48px;display:grid}.machine[data-scene=on] .machine-static{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.machine-static h3{color:var(--muted-dark);text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:400}.machine-reqs{border-top:1px solid var(--line-dark);margin:0;padding:0;list-style:none}.machine-reqs li{border-bottom:1px solid var(--line-dark);grid-template-columns:64px 1fr;gap:2px 12px;padding:12px 0;font-size:15px;display:grid}.machine-reqs li>.mono{color:var(--muted-dark)}.machine-reqs li>.mono:last-child{color:#8ea6ff;grid-column:2;font-size:10px}.machine-layers>div{background:#0a0e18;border:1px solid #222c48;margin-bottom:8px;padding:12px}.machine-layers>div>.mono{color:var(--muted-dark)}.machine-layers ul{grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.machine-layers li{border:1px solid var(--signal);color:var(--ice);font:10px var(--font-mono),monospace;text-align:center;background:#152054;padding:9px 4px}.machine-note{color:var(--muted-dark);margin-top:12px}.machine-app-static{border:1px solid #2b3758;margin:0;position:relative}.machine-app-static img{width:100%;height:auto;display:block}.machine-tag{background:var(--blue);color:#fff;padding:2px 5px;font-size:9px;position:absolute;transform:translate(-4px,-50%)}.machine-foot{padding-block:8px 72px}@media (max-width:899px){.machine-static{grid-template-columns:1fr;gap:48px}.machine-title{padding-top:80px}}.bus-stem{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.bus-stem path{fill:none;stroke-width:2px}.bus-stem-base{stroke:#1f2c52}.bus-stem-flow{stroke:var(--signal);stroke-dasharray:10 22;animation:1.2s linear infinite bus-flow}@keyframes bus-flow{to{stroke-dashoffset:-32px}}.bus-track{position:relative}.bus-line{z-index:3;pointer-events:none;background:#8c96ac52;width:2px;position:absolute;top:0;bottom:0;left:27px}.bus-lit{height:calc(var(--bus,0)*100%);background:linear-gradient(var(--blue),var(--signal));position:absolute;top:0;left:0;right:0;box-shadow:0 0 10px #3d66ff99}.bus-head{top:calc(var(--bus,0)*100% - 5px);width:10px;height:10px;opacity:min(1,calc(var(--bus,0)*50));background:var(--signal);position:absolute;left:-4px;box-shadow:0 0 14px 3px #3d66ffb3}.method-section>.action{margin-top:56px}.method-circuit{grid-template-columns:repeat(4,1fr);margin:20px 0 0;padding:0;list-style:none;display:grid;position:relative}.method-circuit:before,.method-circuit:after{content:"";background:var(--rule);height:1px;position:absolute;top:37px;left:0;right:0}.method-circuit:after{background:var(--blue);transform-origin:0;height:3px;top:36px;box-shadow:0 0 10px #3d66ff99}.method-circuit[data-live]:after{transform:scaleX(var(--p,0))}.method-circuit li{padding-right:30px;position:relative}.method-chip{z-index:1;border:1px solid var(--ink);background:var(--ink);color:#fff;width:74px;height:74px;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);place-items:center;font-size:12px;display:grid;position:relative;box-shadow:0 0 0 4px #2348ec1f,0 10px 30px #2348ec40}.method-circuit[data-live] li:not([data-on]) .method-chip{background:var(--paper);color:var(--ink);box-shadow:none;border-color:#b9bfca}.method-chip:before,.method-chip:after{content:"";background-image:repeating-linear-gradient(90deg,#b9bfca 0 2px,#0000 2px 9px);height:6px;position:absolute;left:12px;right:12px}.method-chip:before{top:-7px}.method-chip:after{bottom:-7px}.method-circuit h3{letter-spacing:-.05em;margin:28px 0 10px;font-size:34px;font-weight:520}.method-circuit p{max-width:230px;color:var(--muted-ink);margin:0;font-size:14px;line-height:1.6}.band-brain{opacity:.55;pointer-events:none;width:min(46vw,720px);position:absolute;top:50%;right:-6%;transform:translateY(-50%)}@media (max-width:899px){.bus-line{left:9px}.method-circuit{grid-template-columns:1fr 1fr;gap:40px 0}.method-circuit:before,.method-circuit:after{display:none}.band-brain{opacity:.3;width:90vw;right:-30%}}@media (prefers-reduced-motion:reduce){.bus-stem-flow{animation:none}.method-chip{transition:none}}.service-chips{grid-template-columns:repeat(4,1fr);gap:24px;margin:55px 0 0;padding:0;list-style:none;display:grid;position:relative}.service-chips:before,.service-chips:after{content:"";background:var(--line-dark);height:1px;position:absolute;top:37px;left:37px;right:37px}.service-chips:after{background:var(--signal);height:3px;transform:scaleX(var(--draw,1));transform-origin:0;top:36px}.service-chips li{align-content:start;gap:22px;display:grid;position:relative}.service-system .method-chip{color:var(--on-dark);box-shadow:0 0 0 calc(var(--pulse,0)*6px)#3d66ff40;background:#0e1426;border-color:#2b3a6b}.service-system .method-chip:before,.service-system .method-chip:after{background-image:repeating-linear-gradient(90deg,#2b3a6b 0 2px,#0000 2px 9px)}.service-chip-label{letter-spacing:-.04em;font-size:clamp(20px,2vw,28px);font-weight:500}.service-system{background:var(--void)}.ai-band{padding-block:100px}.ai-band .pipeline{margin-top:32px}@media (max-width:899px){.service-chips{grid-template-columns:1fr 1fr}.service-chips:before,.service-chips:after{display:none}}.dissection{background:var(--void)}.dissection details,.dissection details:last-child{border-color:var(--line-dark)}.dissection :is(.dissection-plus,details>div>.mono){color:#8ea6ff}.dissection details p{color:#a9b2c4}.about-technology{background:var(--void)}.about-technology .technology-table>div{border-color:var(--line-dark)}.about-technology .technology-table .mono{color:#8ea6ff}.about-technology .technology-table p{color:#a9b2c4}.about-brain{z-index:-1;opacity:.2;pointer-events:none;width:min(44vw,640px);height:auto;position:absolute;top:50%;right:-14%;transform:translateY(-50%)}.form-field :is(input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (min-width:900px) and (max-width:1150px){.bus-line{left:14px}}.chip-frame .project-system-model li{--pad:22px;position:relative}.chip-frame.work-image .project-system-model li,.work-image .chip-frame .project-system-model li{--pad:8px}.chip-frame .project-system-model li:not(:last-child):before{content:"";left:3px;top:calc(var(--pad) + 30.6px);bottom:calc(-1*(var(--pad) + 23.6px));background:var(--signal);opacity:.6;width:1px;position:absolute}label[for=projectType]:before{content:"";vertical-align:1px;border:1px solid #b9bfca;width:7px;height:7px;margin-right:9px;transition:background .3s,border-color .3s,box-shadow .3s;display:inline-block}.form-field:has(#projectType option:checked:not([value=""])) label[for=projectType]:before{background:var(--signal);border-color:var(--signal);box-shadow:0 0 8px var(--signal)}@media (max-width:600px){.filter-bar{scrollbar-width:none;flex-wrap:nowrap;gap:12px;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-bar a{letter-spacing:0;white-space:nowrap;flex:none;font-size:9.5px}.filter-bar a:before{display:none}.filter-bar sup{margin-left:2px}}@media (max-width:899px){.machine[data-scene=on] .machine-scene{height:400svh}.machine[data-scene=on] .machine-stage{height:100svh}.machine[data-scene=on] .m-rail{top:72px;left:20px;right:20px}.machine[data-scene=on] .m-rail li{letter-spacing:0;white-space:nowrap;padding-top:8px;font-size:8.5px}.machine[data-scene=on][data-layout=portrait] .machine-svg[data-layout=portrait]{height:calc(100% - 216px);top:104px}.machine[data-scene=on] .machine-title{max-width:none;bottom:18px;left:20px;right:20px}.machine[data-scene=on] .machine-title h2{margin-top:8px;font-size:22px}}@media (max-width:600px){.pipe-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:4px;width:100%;overflow-x:auto}.pipe-tabs::-webkit-scrollbar{display:none}.pipe-tabs button{letter-spacing:0;flex:none;padding:8px 7px;font-size:9px}}.circuit-brain>canvas{-webkit-mask-composite:source-in;-webkit-mask-composite:source-in,xor;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000),linear-gradient(#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000),linear-gradient(#0000,#000 6% 94%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}
