@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-content:"";--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--color-gray-200:#e5e7eb;--color-gray-400:#99a1af;--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--tracking-widest:.1em;--leading-snug:1.375;--animate-spin:spin 1s linear infinite;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-gray-200:lab(91.6229% -.159115 -2.26791);--color-gray-400:lab(65.9269% -.832707 -8.17473)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}*{box-sizing:border-box}body{background-color:var(--background);color:var(--foreground);text-rendering:geometricprecision;margin:0}html{font-family:var(--font-geist-sans);overscroll-behavior-y:none;scroll-behavior:smooth;scroll-padding-top:4rem;overflow-x:clip}body{overscroll-behavior-y:none;overflow-x:clip}a,button{touch-action:manipulation}::selection{color:var(--background);background:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:calc(var(--spacing) * 0)}.top-\[-26px\]{top:-26px}.right-2{right:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.z-40{z-index:40}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.\!container{width:100%!important}@media (min-width:40rem){.\!container{max-width:40rem!important}}@media (min-width:48rem){.\!container{max-width:48rem!important}}@media (min-width:64rem){.\!container{max-width:64rem!important}}@media (min-width:80rem){.\!container{max-width:80rem!important}}@media (min-width:96rem){.\!container{max-width:96rem!important}}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.-mb-px{margin-bottom:-1px}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-\[-26px\]{margin-bottom:-26px}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-5{height:calc(var(--spacing) * 5)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-full{height:100%}.h-min{height:min-content}.h-px{height:1px}.max-h-\(--available-height\){max-height:var(--available-height)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-\[calc\(100svh-4rem\)\]{min-height:calc(100svh - 4rem)}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-\(--anchor-width\){width:var(--anchor-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[22rem\]{max-width:22rem}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-11{min-width:calc(var(--spacing) * 11)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[96px\]{min-width:96px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.origin-\(--transform-origin\){transform-origin:var(--transform-origin)}.translate-y-\[calc\(-50\%-2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.auto-rows-min{grid-auto-rows:min-content}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[2px\]{border-radius:2px}.rounded-\[var\(--radius-geist-6\)\]{border-radius:var(--radius-geist-6)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-geist-12)}.rounded-md{border-radius:var(--radius-geist-6)}.rounded-t-\[var\(--radius-geist-6\)\]{border-top-left-radius:var(--radius-geist-6);border-top-right-radius:var(--radius-geist-6)}.rounded-b-\[var\(--radius-geist-6\)\]{border-bottom-right-radius:var(--radius-geist-6);border-bottom-left-radius:var(--radius-geist-6)}.border{border-style:var(--tw-border-style);border-width:1px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-solid{--tw-border-style:solid;border-style:solid}.border-border,.border-border\/70{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/70{border-color:color-mix(in oklab, var(--border) 70%, transparent)}}.border-current{border-color:currentColor}.border-destructive\/30{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\/30{border-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-400{border-color:var(--color-gray-400)}.border-transparent{border-color:#0000}.border-r-transparent{border-right-color:#0000}.bg-background,.bg-background\/88{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\/88{background-color:color-mix(in oklab, var(--background) 88%, transparent)}}.bg-border{background-color:var(--border)}.bg-destructive\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-\[3px\]{padding:3px}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-\[env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.font-mono{font-family:var(--font-geist-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.\[color\:var\(--destructive\)\]{color:var(--destructive)}.\[color\:var\(--primary-foreground\)\]{color:var(--primary-foreground)}.\[color\:var\(--secondary-foreground\)\]{color:var(--secondary-foreground)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\/60{color:color-mix(in oklab, var(--foreground) 60%, transparent)}}.text-link{color:var(--link)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-70{opacity:.7}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\,transform\]{transition-property:background-color,border-color,color,box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\]{transition-property:background-color,border-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}.group-focus\/dropdown-menu-item\:text-accent-foreground:is(:where(.group\/dropdown-menu-item):focus *){color:var(--accent-foreground)}.group-data-\[size\=sm\]\/card\:p-3:is(:where(.group\/card)[data-size=sm] *){padding:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/card\:px-3:is(:where(.group\/card)[data-size=sm] *){padding-inline:calc(var(--spacing) * 3)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-horizontal\/tabs\:h-8:is(:where(.group\/tabs):where([data-orientation=horizontal]) *){height:calc(var(--spacing) * 8)}.group-data-vertical\/tabs\:h-fit:is(:where(.group\/tabs):where([data-orientation=vertical]) *){height:fit-content}.group-data-vertical\/tabs\:w-full:is(:where(.group\/tabs):where([data-orientation=vertical]) *){width:100%}.group-data-vertical\/tabs\:flex-col:is(:where(.group\/tabs):where([data-orientation=vertical]) *){flex-direction:column}.group-data-vertical\/tabs\:justify-start:is(:where(.group\/tabs):where([data-orientation=vertical]) *){justify-content:flex-start}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-horizontal\/tabs\:after\:inset-x-0:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-horizontal\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);bottom:-5px}.group-data-horizontal\/tabs\:after\:h-0\.5:is(:where(.group\/tabs):where([data-orientation=horizontal]) *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-vertical\/tabs\:after\:inset-y-0:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-vertical\/tabs\:after\:-right-1:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-vertical\/tabs\:after\:w-0\.5:is(:where(.group\/tabs):where([data-orientation=vertical]) *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[color\:var\(--geist-border-5\)\]:hover{border-color:var(--geist-border-5)}.hover\:border-\[color\:var\(--signal-accent\)\]:hover{border-color:var(--signal-accent)}.hover\:bg-\[color\:var\(--geist-component-background-2\)\]:hover{background-color:var(--geist-component-background-2)}.hover\:bg-destructive\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-primary\/85:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/85:hover{background-color:color-mix(in oklab, var(--primary) 85%, transparent)}}.hover\:\[color\:var\(--foreground\)\]:hover,.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-50:focus{z-index:50}.focus\:rounded-lg:focus{border-radius:var(--radius-geist-12)}.focus\:rounded-md:focus{border-radius:var(--radius-geist-6)}.focus\:border:focus{border-style:var(--tw-border-style);border-width:1px}.focus\:border-border:focus{border-color:var(--border)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-background:focus{background-color:var(--background)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-3:focus{padding-block:calc(var(--spacing) * 3)}.focus\:font-mono:focus{font-family:var(--font-geist-mono)}.focus\:text-sm:focus{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.focus\:text-xs:focus{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.focus\:tracking-\[0\.16em\]:focus{--tw-tracking:.16em;letter-spacing:.16em}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-foreground:focus{color:var(--foreground)}.focus\:uppercase:focus{text-transform:uppercase}.focus\:shadow-lg:focus{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring\/35:focus{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-ring\/35:focus{--tw-ring-color:color-mix(in oklab, var(--ring) 35%, transparent)}}:is(.focus\:\*\*\:text-accent-foreground:focus *),:is(.not-data-\[variant\=destructive\]\:focus\:\*\*\:text-accent-foreground:not([data-variant=destructive]):focus *){color:var(--accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:text-foreground:focus-visible{color:var(--foreground)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible,.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 30%, transparent)}}.focus-visible\:ring-ring\/35:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/35:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 35%, transparent)}}.focus-visible\:ring-ring\/45:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/45:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 45%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-popover:focus-visible{--tw-ring-offset-color:var(--popover)}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:border-\[color\:var\(--geist-border-6\)\]:active{border-color:var(--geist-border-6)}.active\:bg-\[color\:var\(--geist-component-background-2\)\]:active{background-color:var(--geist-component-background-2)}.active\:bg-\[color\:var\(--geist-component-background-3\)\]:active{background-color:var(--geist-component-background-3)}.active\:bg-destructive\/25:active{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.active\:bg-destructive\/25:active{background-color:color-mix(in oklab, var(--destructive) 25%, transparent)}}.active\:bg-primary\/75:active{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.active\:bg-primary\/75:active{background-color:color-mix(in oklab, var(--primary) 75%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\[slot\=button-group\]\:rounded-\[var\(--radius-geist-6\)\]{border-radius:var(--radius-geist-6)}.has-data-\[icon\=inline-end\]\:pr-1:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1)}.has-data-\[icon\=inline-end\]\:pr-1\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-end\]\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-end\]\:pr-2\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2.5)}.has-data-\[icon\=inline-end\]\:pr-3\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 3.5)}.has-data-\[icon\=inline-start\]\:pl-1:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1)}.has-data-\[icon\=inline-start\]\:pl-1\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\[icon\=inline-start\]\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.has-data-\[icon\=inline-start\]\:pl-2\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2.5)}.has-data-\[icon\=inline-start\]\:pl-3\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 3.5)}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[slot\=card-description\]\:grid-rows-\[auto_auto\]:has([data-slot=card-description]){grid-template-rows:auto auto}.has-data-\[slot\=card-footer\]\:pb-0:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}.has-data-\[slot\=kbd\]\:pr-1\.5:has([data-slot=kbd]){padding-right:calc(var(--spacing) * 1.5)}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:calc(var(--spacing) * 0)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:\[color\:var\(--foreground\)\][aria-expanded=true]{color:var(--foreground)}.aria-expanded\:\[color\:var\(--secondary-foreground\)\][aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--destructive\)_20\%\,transparent\)\][aria-invalid=true]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--destructive))}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--destructive\)_20\%\,transparent\)\][aria-invalid=true]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in oklab,var(--destructive) 20%,transparent))}}.aria-invalid\:shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--destructive\)_20\%\,transparent\)\][aria-invalid=true]{box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-inset\:pl-7[data-inset]{padding-left:calc(var(--spacing) * 7)}.data-popup-open\:bg-accent[data-popup-open]{background-color:var(--accent)}.data-popup-open\:text-accent-foreground[data-popup-open]{color:var(--accent-foreground)}.data-\[instant\]\:animate-none[data-instant]{animation:none}.data-\[instant\]\:duration-0[data-instant]{--tw-duration:0s;transition-duration:0s}.data-\[side\=bottom\]\:top-1[data-side=bottom]{top:calc(var(--spacing) * 1)}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\[side\=inline-end\]\:top-1\/2\![data-side=inline-end]{top:50%!important}.data-\[side\=inline-end\]\:-left-1[data-side=inline-end]{left:calc(var(--spacing) * -1)}.data-\[side\=inline-end\]\:-translate-y-1\/2[data-side=inline-end]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=inline-start\]\:top-1\/2\![data-side=inline-start]{top:50%!important}.data-\[side\=inline-start\]\:-right-1[data-side=inline-start]{right:calc(var(--spacing) * -1)}.data-\[side\=inline-start\]\:-translate-y-1\/2[data-side=inline-start]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:top-1\/2\![data-side=left]{top:50%!important}.data-\[side\=left\]\:-right-1[data-side=left]{right:calc(var(--spacing) * -1)}.data-\[side\=left\]\:-translate-y-1\/2[data-side=left]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=right\]\:top-1\/2\![data-side=right]{top:50%!important}.data-\[side\=right\]\:-left-1[data-side=right]{left:calc(var(--spacing) * -1)}.data-\[side\=right\]\:-translate-y-1\/2[data-side=right]{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=top\]\:-bottom-2\.5[data-side=top]{bottom:calc(var(--spacing) * -2.5)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-block:calc(var(--spacing) * 3)}.data-\[size\=sm\]\:has-data-\[slot\=card-footer\]\:pb-0[data-size=sm]:has([data-slot=card-footer]){padding-bottom:calc(var(--spacing) * 0)}:is(.\*\*\:data-\[slot\=kbd\]\:relative *)[data-slot=kbd]{position:relative}:is(.\*\*\:data-\[slot\=kbd\]\:isolate *)[data-slot=kbd]{isolation:isolate}:is(.\*\*\:data-\[slot\=kbd\]\:z-50 *)[data-slot=kbd]{z-index:50}:is(.\*\*\:data-\[slot\=kbd\]\:rounded-sm *)[data-slot=kbd]{border-radius:var(--radius-geist-6)}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (prefers-reduced-motion:reduce){.motion-reduce\:transform-none{transform:none}.motion-reduce\:transition-none{transition-property:none}}@media (min-width:40rem){.sm\:max-w-\[78rem\]{max-width:78rem}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:48rem){.md\:mb-\[90px\]{margin-bottom:90px}.md\:grid-cols-\[8rem_minmax\(0\,1fr\)\]{grid-template-columns:8rem minmax(0,1fr)}}@media (min-width:64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-h-\[34rem\]{min-height:34rem}.lg\:justify-center{justify-content:center}.lg\:px-10{padding-inline:calc(var(--spacing) * 10)}.lg\:first\:pt-0:first-child{padding-top:calc(var(--spacing) * 0)}.lg\:first\:pt-\[calc\(var\(--banner-min-height\)\)\]:first-child{padding-top:calc(var(--banner-min-height))}}@container (min-width:28rem){.\@md\:top-\[-42px\]{top:-42px}.\@md\:mb-\[-42px\]{margin-bottom:-42px}}@container (min-width:32rem){.\@lg\:top-\[-50px\]{top:-50px}.\@lg\:mb-\[-50px\]{margin-bottom:-50px}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media (hover:hover){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--destructive\)_40\%\,transparent\)\]:is(.dark *)[aria-invalid=true]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--destructive))}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--destructive\)_40\%\,transparent\)\]:is(.dark *)[aria-invalid=true]{--tw-shadow:0 0 0 3px var(--tw-shadow-color,color-mix(in oklab,var(--destructive) 40%,transparent))}}.dark\:aria-invalid\:shadow-\[0_0_0_3px_color-mix\(in_oklab\,var\(--destructive\)_40\%\,transparent\)\]:is(.dark *)[aria-invalid=true]{box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:bg-accent:where([data-state=open]),.data-open\:bg-accent:where([data-open]:not([data-open=false])){background-color:var(--accent)}.data-open\:text-accent-foreground:where([data-state=open]),.data-open\:text-accent-foreground:where([data-open]:not([data-open=false])){color:var(--accent-foreground)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}@media (prefers-reduced-motion:reduce){.motion-reduce\:data-open\:animate-none:where([data-state=open]),.motion-reduce\:data-open\:animate-none:where([data-open]:not([data-open=false])){animation:none}}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:overflow-hidden:where([data-state=closed]),.data-closed\:overflow-hidden:where([data-closed]:not([data-closed=false])){overflow:hidden}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}@media (prefers-reduced-motion:reduce){.motion-reduce\:data-closed\:animate-none:where([data-state=closed]),.motion-reduce\:data-closed\:animate-none:where([data-closed]:not([data-closed=false])){animation:none}}.data-disabled\:pointer-events-none:where([data-disabled=true]),.data-disabled\:pointer-events-none:where([data-disabled]:not([data-disabled=false])){pointer-events:none}.data-disabled\:opacity-50:where([data-disabled=true]),.data-disabled\:opacity-50:where([data-disabled]:not([data-disabled=false])){opacity:.5}.data-active\:bg-background:where([data-state=active]),.data-active\:bg-background:where([data-active]:not([data-active=false])){background-color:var(--background)}.data-active\:text-foreground:where([data-state=active]),.data-active\:text-foreground:where([data-active]:not([data-active=false])){color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-state=active]),.group-data-\[variant\=default\]\/tabs-list\:data-active\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *):where([data-active]:not([data-active=false])){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:is(.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.group-data-\[variant\=line\]\/tabs-list\:data-active\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false]))):after{content:var(--tw-content);opacity:1}.dark\:data-active\:border-input:is(.dark *):where([data-state=active]),.dark\:data-active\:border-input:is(.dark *):where([data-active]:not([data-active=false])){border-color:var(--input)}.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:data-active\:bg-input\/30:is(.dark *):where([data-state=active]),.dark\:data-active\:bg-input\/30:is(.dark *):where([data-active]:not([data-active=false])){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}.dark\:data-active\:text-foreground:is(.dark *):where([data-state=active]),.dark\:data-active\:text-foreground:is(.dark *):where([data-active]:not([data-active=false])){color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-state=active]),.dark\:group-data-\[variant\=line\]\/tabs-list\:data-active\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *):where([data-active]:not([data-active=false])){background-color:#0000}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.data-horizontal\:flex-col:where([data-orientation=horizontal]){flex-direction:column}.data-vertical\:w-px:where([data-orientation=vertical]){width:1px}.data-vertical\:self-stretch:where([data-orientation=vertical]){align-self:stretch}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\.border-b\]\:pb-4.border-b{padding-bottom:calc(var(--spacing) * 4)}.group-data-\[size\=sm\]\/card\:\[\.border-b\]\:pb-3:is(:where(.group\/card)[data-size=sm] *).border-b{padding-bottom:calc(var(--spacing) * 3)}@media (hover:hover){.\[a\]\:hover\:bg-\[color\:var\(--geist-component-background-2\)\]:is(a):hover{background-color:var(--geist-component-background-2)}.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-destructive\/20:is(a):hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.\[a\]\:hover\:bg-muted:is(a):hover{background-color:var(--muted)}.\[a\]\:hover\:bg-primary\/85:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/85:is(a):hover{background-color:color-mix(in oklab, var(--primary) 85%, transparent)}}.\[a\]\:hover\:text-foreground:is(a):hover{color:var(--foreground)}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}.\[a\]\:hover\:underline:is(a):hover{text-decoration-line:underline}}:is(.\*\:\[img\:first-child\]\:rounded-t-\[var\(--radius-geist-6\)\]>*):is(img:first-child){border-top-left-radius:var(--radius-geist-6);border-top-right-radius:var(--radius-geist-6)}:is(.\*\:\[img\:last-child\]\:rounded-b-\[var\(--radius-geist-6\)\]>*):is(img:last-child){border-bottom-right-radius:var(--radius-geist-6);border-bottom-left-radius:var(--radius-geist-6)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive[data-variant=destructive]>*):is(svg){color:var(--destructive)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}.text-heading-72,.text-heading-64,.text-heading-56,.text-heading-48,.text-heading-40,.text-heading-32,.text-heading-24,.text-heading-20,.text-heading-16,.text-heading-14,.text-button-16,.text-button-14,.text-button-12,.text-label-20,.text-label-18,.text-label-16,.text-label-14,.text-label-13,.text-label-12,.text-copy-24,.text-copy-20,.text-copy-18,.text-copy-16,.text-copy-14,.text-copy-13{font-family:var(--font-geist-sans), sans-serif;letter-spacing:0}.text-label-14-mono,.text-label-13-mono,.text-label-12-mono,.text-copy-13-mono{font-family:var(--font-geist-mono), monospace;letter-spacing:0}.text-heading-72{font-size:4.5rem;font-weight:620;line-height:1}.text-heading-64{font-size:4rem;font-weight:620;line-height:1}.text-heading-56{font-size:3.5rem;font-weight:620;line-height:1.02}.text-heading-48{font-size:3rem;font-weight:600;line-height:1.04}.text-heading-40{font-size:2.5rem;font-weight:600;line-height:1.08}.text-heading-32{font-size:2rem;font-weight:600;line-height:1.12}.text-heading-24{font-size:1.5rem;font-weight:600;line-height:1.2}.text-heading-20{font-size:1.25rem;font-weight:600;line-height:1.25}.text-heading-16{font-size:1rem;font-weight:600;line-height:1.35}.text-heading-14{font-size:.875rem;font-weight:600;line-height:1.4}.text-button-16{font-size:1rem;font-weight:500;line-height:1.25}.text-button-14{font-size:.875rem;font-weight:500;line-height:1.25}.text-button-12{font-size:.75rem;font-weight:500;line-height:1.25}.text-label-20{font-size:1.25rem;font-weight:400;line-height:1.45}.text-label-18{font-size:1.125rem;font-weight:400;line-height:1.45}.text-label-16{font-size:1rem;font-weight:400;line-height:1.45}.text-label-14,.text-label-14-mono{font-size:.875rem;font-weight:400;line-height:1.43}.text-label-13,.text-label-13-mono{font-size:.8125rem;font-weight:400;line-height:1.38}.text-label-12,.text-label-12-mono{font-size:.75rem;font-weight:400;line-height:1.33}.text-copy-24{font-size:1.5rem;font-weight:400;line-height:1.45}.text-copy-20{font-size:1.25rem;font-weight:400;line-height:1.5}.text-copy-18{font-size:1.125rem;font-weight:400;line-height:1.55}.text-copy-16{font-size:1rem;font-weight:400;line-height:1.6}.text-copy-14{font-size:.875rem;font-weight:400;line-height:1.55}.text-copy-13,.text-copy-13-mono{font-size:.8125rem;font-weight:400;line-height:1.5}:where(.text-heading-72,.text-heading-64,.text-heading-56,.text-heading-48,.text-heading-40,.text-heading-32,.text-heading-24,.text-heading-20,.text-heading-16,.text-heading-14,.text-label-20,.text-label-18,.text-label-16,.text-label-14,.text-label-13,.text-label-12,.text-copy-24,.text-copy-20,.text-copy-18,.text-copy-16,.text-copy-14,.text-copy-13) strong{font-weight:600}.material-base{background:var(--surface-1);border:1px solid var(--geist-border-4);border-radius:var(--radius-geist-6);box-shadow:var(--shadow-material-base)}.material-small{background:var(--surface-1);border:1px solid var(--geist-border-4);border-radius:var(--radius-geist-6);box-shadow:var(--shadow-material-small)}.material-medium{background:var(--surface-1);border:1px solid var(--geist-border-4);border-radius:var(--radius-geist-12);box-shadow:var(--shadow-material-medium)}.material-large{background:var(--surface-1);border:1px solid var(--geist-border-4);border-radius:var(--radius-geist-12);box-shadow:var(--shadow-material-large)}.material-tooltip{background:var(--foreground);border-radius:var(--radius-geist-6);box-shadow:var(--shadow-material-tooltip);color:var(--background)}.material-menu{background:var(--popover);border:1px solid var(--geist-border-4);border-radius:var(--radius-geist-12);box-shadow:var(--shadow-material-menu)}.material-modal{background:var(--popover);border:1px solid var(--geist-border-4);border-radius:var(--radius-geist-12);box-shadow:var(--shadow-material-modal)}.material-fullscreen{background:var(--background);border-radius:var(--radius-geist-16);box-shadow:var(--shadow-material-fullscreen)}.focus-ring{outline:none}.focus-ring:focus-visible{border-color:var(--ring);box-shadow:var(--focus-ring-shadow);outline:none}@media (forced-colors:active){.focus-ring:focus-visible{outline-offset:2px;outline:2px solid canvastext}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--geist-background-1:#fff;--geist-background-2:#fafafa;--geist-component-background-1:#fafafa;--geist-component-background-2:#f5f5f5;--geist-component-background-3:#eee;--geist-border-4:#eaeaea;--geist-border-5:#dedede;--geist-border-6:#c7c7c7;--geist-contrast-background-7:#333;--geist-contrast-background-8:#1f1f1f;--geist-text-9:#666;--geist-text-10:#000;--geist-blue-9:#0070f3;--geist-red-9:#ff3b30;--geist-green-9:#0f7a4d;--geist-amber-9:#9a6a18;--background:var(--geist-background-1);--foreground:var(--geist-text-10);--signal-accent:var(--geist-blue-9);--fault-accent:var(--geist-red-9);--fault-red:var(--fault-accent);--live-green:var(--geist-green-9);--proof-amber:var(--geist-amber-9);--proof-warm:#fffdf8;--signal-accent-foreground:#fff;--workbench-accent:var(--signal-accent);--workbench-blue:#27272a;--workbench-copper:#52525b;--workbench-green:var(--signal-accent);--workbench-red:#52525b;--card:var(--geist-background-1);--card-foreground:var(--geist-text-10);--popover:var(--geist-component-background-1);--popover-foreground:var(--geist-text-10);--primary:var(--geist-text-10);--primary-foreground:var(--geist-background-1);--secondary:var(--geist-component-background-1);--secondary-foreground:var(--geist-text-10);--muted:var(--geist-component-background-1);--muted-foreground:var(--geist-text-9);--accent:var(--geist-component-background-1);--accent-foreground:var(--geist-text-10);--destructive:var(--fault-accent);--destructive-foreground:#fff;--success:var(--live-green);--warning:var(--proof-amber);--info:var(--signal-accent);--link:var(--signal-accent);--border:var(--geist-border-4);--input:var(--geist-border-4);--ring:var(--signal-accent);--surface-1:var(--geist-background-1);--surface-2:var(--geist-background-2);--surface-3:var(--geist-component-background-2);--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--radius-geist-6:6px;--radius-geist-12:12px;--radius-geist-16:16px;--radius:var(--radius-geist-6);--focus-ring-color:var(--ring)}@supports (color:lab(0% 0 0)){:root{--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046)}}@supports (color:color-mix(in lab, red, red)){:root{--focus-ring-color:color-mix(in oklab, var(--ring) 24%, transparent)}}:root{--focus-ring-strong-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){:root{--focus-ring-strong-color:color-mix(in oklab, var(--ring) 32%, transparent)}}:root{--focus-ring-shadow:0 0 0 3px var(--focus-ring-color);--focus-ring-strong-shadow:0 0 0 4px var(--focus-ring-strong-color);--focus-ring-outline:2px solid var(--ring);--shadow-material-base:inset 0 0 0 1px var(--geist-border-4);--shadow-material-small:0 1px 2px var(--foreground), inset 0 0 0 1px var(--geist-border-4)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-small:0 1px 2px color-mix(in oklab, var(--foreground) 8%, transparent), inset 0 0 0 1px var(--geist-border-4)}}:root{--shadow-material-medium:0 4px 12px var(--foreground), inset 0 0 0 1px var(--geist-border-4)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-medium:0 4px 12px color-mix(in oklab, var(--foreground) 10%, transparent), inset 0 0 0 1px var(--geist-border-4)}}:root{--shadow-material-large:0 8px 24px var(--foreground), inset 0 0 0 1px var(--geist-border-4)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-large:0 8px 24px color-mix(in oklab, var(--foreground) 12%, transparent), inset 0 0 0 1px var(--geist-border-4)}}:root{--shadow-material-tooltip:0 4px 12px var(--foreground), inset 0 0 0 1px var(--background)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-tooltip:0 4px 12px color-mix(in oklab, var(--foreground) 18%, transparent), inset 0 0 0 1px color-mix(in oklab, var(--background) 14%, transparent)}}:root{--shadow-material-menu:0 8px 28px var(--foreground), inset 0 0 0 1px var(--geist-border-4)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-menu:0 8px 28px color-mix(in oklab, var(--foreground) 16%, transparent), inset 0 0 0 1px var(--geist-border-4)}}:root{--shadow-material-modal:0 16px 48px var(--foreground), inset 0 0 0 1px var(--geist-border-4)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-modal:0 16px 48px color-mix(in oklab, var(--foreground) 18%, transparent), inset 0 0 0 1px var(--geist-border-4)}}:root{--shadow-material-fullscreen:0 24px 72px var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-material-fullscreen:0 24px 72px color-mix(in oklab, var(--foreground) 20%, transparent)}}:root{--sidebar:#fafafa;--sidebar-foreground:#000;--sidebar-primary:#000;--sidebar-primary-foreground:#fff;--sidebar-accent:#fafafa;--sidebar-accent-foreground:#000;--sidebar-border:#eaeaea;--sidebar-ring:#999}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--geist-background-1:#000;--geist-background-2:#111;--geist-component-background-1:#0a0a0a;--geist-component-background-2:#111;--geist-component-background-3:#1a1a1a;--geist-border-4:#1f1f1f;--geist-border-5:#333;--geist-border-6:#444;--geist-contrast-background-7:#ededed;--geist-contrast-background-8:#fafafa;--geist-text-9:#a1a1a1;--geist-text-10:#ededed;--geist-blue-9:#3291ff;--geist-red-9:#ff6b5f;--geist-green-9:#62d18f;--geist-amber-9:#e4a83d;--background:var(--geist-background-1);--foreground:var(--geist-text-10);--signal-accent:var(--geist-blue-9);--fault-accent:var(--geist-red-9);--fault-red:var(--fault-accent);--live-green:var(--geist-green-9);--proof-amber:var(--geist-amber-9);--proof-warm:#17130d;--signal-accent-foreground:#000;--workbench-accent:var(--signal-accent);--workbench-blue:#fafafa;--workbench-copper:#a1a1aa;--workbench-green:var(--signal-accent);--workbench-red:#a1a1aa;--card:var(--geist-component-background-1);--card-foreground:var(--geist-text-10);--popover:var(--geist-component-background-1);--popover-foreground:var(--geist-text-10);--primary:var(--geist-text-10);--primary-foreground:var(--geist-background-1);--secondary:var(--geist-component-background-2);--secondary-foreground:var(--geist-text-10);--muted:var(--geist-component-background-2);--muted-foreground:var(--geist-text-9);--accent:var(--geist-component-background-2);--accent-foreground:var(--geist-text-10);--destructive:var(--fault-accent);--destructive-foreground:#000;--success:var(--live-green);--warning:var(--proof-amber);--info:var(--signal-accent);--link:var(--signal-accent);--border:var(--geist-border-4);--input:var(--geist-border-4);--ring:var(--signal-accent);--surface-1:var(--geist-background-1);--surface-2:var(--geist-background-2);--surface-3:var(--geist-component-background-3);--chart-1:#d4d4d4;--chart-2:#737373;--chart-3:#525252;--chart-4:#404040;--chart-5:#262626;--sidebar:#0a0a0a;--sidebar-foreground:#ededed;--sidebar-primary:#ededed;--sidebar-primary-foreground:#000;--sidebar-accent:#111;--sidebar-accent-foreground:#ededed;--sidebar-border:#1f1f1f;--sidebar-ring:#666}@supports (color:lab(0% 0 0)){.dark{--chart-1:lab(84.92% 0 -.0000119209);--chart-2:lab(48.496% 0 0);--chart-3:lab(34.924% 0 0);--chart-4:lab(27.036% 0 0);--chart-5:lab(15.204% 0 -.00000596046)}}.i18n-text{display:contents}.site-page-shell,.site-footer-shell{width:100%;max-width:96rem;padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right));margin-inline:auto}.site-header-shell{width:100%;max-width:96rem;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));margin-inline:auto}@media (min-width:640px){.site-page-shell,.site-footer-shell,.site-header-shell{padding-left:max(2rem, env(safe-area-inset-left));padding-right:max(2rem, env(safe-area-inset-right))}}.site-footer-shell{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;padding-bottom:2rem;font-size:.875rem;line-height:1.5;display:flex}.site-footer-shell p{margin:0}.site-footer-home{color:var(--foreground);border-radius:6px;outline:none;align-items:center;min-height:2.75rem;font-weight:500;text-decoration:none;transition:color .16s;display:inline-flex}.site-footer-home:hover,.site-footer-home:focus-visible{color:var(--muted-foreground)}header nav a[aria-current=location]{color:var(--foreground);background:0 0;position:relative}header nav a[aria-current=location]:after{content:"";pointer-events:none;background:var(--foreground);border-radius:999px;height:1px;position:absolute;bottom:7px;left:12px;right:12px}@supports (color:color-mix(in lab, red, red)){header nav a[aria-current=location]:after{background:color-mix(in oklab, var(--foreground) 74%, transparent)}}#joe-title,.joe-hero,.joe-section,.joe-section h2,.joe-contact h2{scroll-margin-top:5rem}#joe-title:focus:not(:focus-visible),.joe-section h2:focus:not(:focus-visible),.joe-contact h2:focus:not(:focus-visible){outline:none}.site-header{backface-visibility:hidden;transform:translate(0)}.site-header-home{color:var(--foreground)}.site-brand-lockup{align-items:center;gap:.55rem;display:inline-flex}.site-brand-monogram{border:1px solid var(--border);color:var(--foreground);font-family:var(--font-geist-pixel-square), var(--font-geist-mono), monospace;border-radius:4px;place-items:center;width:1.25rem;height:1.25rem;font-size:.58rem;line-height:1;display:grid;overflow:hidden}.site-brand-avatar{filter:grayscale()contrast(1.1);object-fit:cover;width:100%;height:100%}.site-language-trigger{position:relative}.site-language-code{background:var(--background);border:1px solid var(--border);color:var(--muted-foreground);font-family:var(--font-geist-mono), monospace;border-radius:999px;padding:.1rem .16rem;font-size:.5rem;font-weight:600;line-height:1;position:absolute;bottom:.08rem;right:.08rem}@media (max-width:700px){.site-footer-shell{flex-direction:column;align-items:flex-start;gap:.25rem;padding-top:1.5rem;padding-bottom:1.5rem}}.site-shell{width:100%;max-width:96rem;padding-left:max(1.25rem, env(safe-area-inset-left));padding-right:max(1.25rem, env(safe-area-inset-right));margin-inline:auto}.joe-site{--joe-bg:var(--background);--joe-ink:var(--foreground);--joe-muted:var(--muted-foreground);--joe-faint:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-site{--joe-faint:color-mix(in oklab, var(--foreground) 68%, transparent)}}.joe-site{--joe-line:var(--border);--joe-grid-line:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-site{--joe-grid-line:color-mix(in oklab, var(--foreground) 8%, transparent)}}.joe-site{--joe-grid-line-strong:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-site{--joe-grid-line-strong:color-mix(in oklab, var(--foreground) 14%, transparent)}}.joe-site{--joe-line-strong:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-site{--joe-line-strong:color-mix(in oklab, var(--foreground) 26%, transparent)}}.joe-site{--joe-panel:var(--card);--joe-panel-strong:var(--muted);background:var(--joe-bg);color:var(--joe-ink);isolation:isolate;position:relative}.dark .joe-site{--joe-grid-line:#ffffff1a;--joe-grid-line-strong:#ffffff2b;--joe-line-strong:#ffffff38;--joe-panel:#0a0a0a;--joe-panel-strong:#111}@supports (color:lab(0% 0 0)){.dark .joe-site{--joe-grid-line:lab(100% -.0000298023 .0000119209/.1);--joe-grid-line-strong:lab(100% -.0000298023 .0000119209/.17);--joe-line-strong:lab(100% -.0000298023 .0000119209/.22)}}.joe-site *,.joe-site :before,.joe-site :after{box-sizing:border-box}.joe-site .site-shell{max-width:1216px}.joe-site>*{z-index:1;position:relative}.joe-site :is(h1,h2,h3,p){margin:0}.joe-site :is(h1,h2,h3):focus:not(:focus-visible),.joe-site :is(h1,h2,h3):focus-visible{outline:none}.site-header :is(a,button):focus-visible,.joe-site :is(a,button):focus-visible,.joe-site [tabindex]:not(h1):not(h2):not(h3):focus-visible{box-shadow:var(--focus-ring-strong-shadow);outline:var(--focus-ring-outline);outline-offset:2px}.joe-section-label{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;align-items:center;gap:.5rem;margin:0;font-size:.75rem;line-height:1.4;display:inline-flex}.joe-hero{align-items:start;min-height:auto;padding:0;display:grid}.joe-hero-stage{isolation:isolate;gap:0;display:grid;position:relative;overflow:visible}.joe-signature-stage{text-align:center;place-items:center;min-height:clamp(31rem,62svh,43rem);padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(2.75rem,6vw,5rem);display:grid;position:relative;overflow:visible}.joe-identity-core{text-align:center;z-index:4;grid-template-columns:minmax(0,1fr);grid-template-areas:"title""body""stack";align-content:center;justify-items:center;gap:.95rem;width:100%;min-width:0;max-width:76rem;margin:auto;display:grid;position:relative}.joe-hero-title-group{grid-area:title;justify-items:center;gap:.75rem;min-width:0;display:grid}.joe-hero h1{font-family:var(--font-geist-pixel-square), var(--font-geist-mono), monospace;letter-spacing:0;text-wrap:balance;gap:0;font-size:clamp(4.4rem,8.6vw,8.25rem);font-weight:500;line-height:.94;display:block}.joe-hero h1 span{display:block}.joe-name-particles{touch-action:manipulation;height:clamp(14rem,26vw,22rem);inline-size:min(100vw,90rem);place-items:center;max-width:calc(100vw - 1rem);margin-inline:auto;display:grid;position:relative;overflow:visible}.joe-name-particles h1{font-family:var(--font-geist-sans), sans-serif;letter-spacing:0;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:1;font-size:clamp(5.4rem,12vw,11rem);font-weight:620;line-height:.94;transition:opacity .18s;display:inline-block;position:relative}.joe-name-particles-canvas{opacity:0;touch-action:none;z-index:2;transition:opacity .24s;position:absolute;inset:0}.joe-name-particles[data-particles-ready=true] .joe-name-particles-canvas{opacity:1}.joe-name-particles[data-particles-ready=true] h1{opacity:0}.joe-hero-subhead{background:var(--joe-bg);color:var(--joe-ink);padding-inline:.35rem;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.24}.joe-hero-body{background:var(--joe-bg);color:var(--joe-muted);grid-area:body;max-width:43rem;margin:0;padding-inline:.35rem;font-size:clamp(.95rem,1.1vw,1.08rem);line-height:1.58}.joe-hero-stack{background:var(--joe-bg);color:var(--joe-ink)}@supports (color:color-mix(in lab, red, red)){.joe-hero-stack{color:color-mix(in oklab, var(--joe-ink) 76%, var(--joe-bg))}}.joe-hero-stack{font-family:var(--font-geist-sans), sans-serif;letter-spacing:0;grid-area:stack;margin:0;padding-inline:.35rem;font-size:.8rem;line-height:1.5}.joe-contact-actions,.joe-dialog-actions{flex-wrap:wrap;gap:.5rem;display:flex}.joe-contact-actions a,.joe-work-table button,.joe-dialog-actions a,.joe-dialog-actions button{border:1px solid var(--joe-line);color:var(--joe-ink);font:inherit;font-family:var(--font-geist-sans), sans-serif;background:0 0;border-radius:6px;align-items:center;gap:.5rem;min-height:2.85rem;padding:0 .95rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.joe-action-primary,.joe-contact-actions .joe-action-primary{background:var(--joe-ink);border-color:var(--joe-ink);color:var(--joe-bg)}.joe-contact-actions a:hover,.joe-contact-actions a:focus-visible,.joe-work-table button:hover,.joe-work-table button:focus-visible,.joe-dialog-actions a:hover,.joe-dialog-actions a:focus-visible,.joe-dialog-actions button:hover,.joe-dialog-actions button:focus-visible{border-color:var(--joe-line-strong);background:var(--joe-panel);box-shadow:0 0 0 2px var(--focus-ring-color);outline:none}.joe-contact-actions .joe-action-primary:hover,.joe-contact-actions .joe-action-primary:focus-visible{background:var(--joe-ink);color:var(--joe-bg)}.joe-contact-actions a,.joe-dialog-actions a,.joe-dialog-actions button,.joe-dialog-close{will-change:transform}@media (hover:hover) and (pointer:fine){.joe-contact-actions a:hover,.joe-dialog-actions a:hover,.joe-dialog-actions button:hover,.joe-dialog-close:hover{transform:translateY(-1px)}}.joe-work-index,.joe-timeline-index,.joe-blog-row>span,.joe-dialog-copy>p{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.75rem;line-height:1.1}.joe-work-table h3,.joe-timeline h3,.joe-blog-row h3,.joe-dialog-copy h2{text-wrap:balance;font-size:1.55rem;font-weight:560;line-height:1.14}.joe-work-table h3{letter-spacing:0;overflow-wrap:anywhere;font-size:clamp(1rem,1.4vw,1.24rem);line-height:1.08}.joe-section-head p,.joe-contact p,.joe-dialog-description{color:var(--joe-muted);font-size:.875rem;line-height:1.55}.joe-dialog-media{background:var(--joe-bg);border:1px solid var(--joe-line);border-radius:6px;margin:0;position:relative;overflow:hidden}.joe-cover-image{filter:grayscale()saturate(0)contrast(1.06);object-fit:cover;transition:filter .18s,transform .18s}.joe-dialog-media .joe-cover-image{object-fit:contain}.joe-work-table article:focus-within .joe-cover-image,.joe-photo-card:hover .joe-cover-image,.joe-photo-card:focus-within .joe-cover-image,.joe-dialog-media .joe-cover-image{filter:grayscale(0)saturate()contrast()}@media (hover:hover) and (pointer:fine){.joe-photo-card:hover .joe-cover-image{transform:scale(1.012)}}.joe-dialog-copy dl{border-top:1px solid var(--joe-line);gap:0;margin:0;padding-top:0;display:grid}.joe-dialog-copy dl div{grid-template-columns:5rem minmax(0,1fr);gap:.75rem;padding:.625rem 0;display:grid}.joe-dialog-copy dt{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.75rem}.joe-dialog-copy dd{margin:0}.joe-section{padding:clamp(1rem,2.4vw,2.5rem) 0}.joe-section.joe-work{padding-top:0}.joe-grid-shell{padding-bottom:clamp(3rem,6vw,5rem)}.joe-page-grid{border:1px solid var(--joe-line);grid-template-columns:repeat(12,minmax(0,1fr));display:grid;overflow:hidden}.joe-page-grid>.joe-section{border-bottom:1px solid var(--joe-line);grid-column:1/-1;min-width:0;padding:0;display:grid}.joe-page-grid>.joe-section>.site-shell{width:100%;min-width:0;max-width:none;padding-left:0;padding-right:0}.joe-page-grid .joe-work-table,.joe-page-grid .joe-timeline,.joe-page-grid .joe-certification-grid,.joe-page-grid .joe-photo-marquee,.joe-page-grid .joe-blog-row,.joe-page-grid .joe-contact-actions{border:0;margin-top:0}.joe-page-grid .joe-work-table{overflow:visible}.joe-page-grid .joe-section-head:not(.joe-section-head-minimal){border-bottom:1px solid var(--joe-line);max-width:none;padding:1.25rem}.joe-page-grid .joe-contact{padding:0}.joe-page-grid .joe-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));height:100%}.joe-page-grid .joe-contact-actions a{min-height:5.05rem}.joe-page-grid .joe-contact-actions a:nth-child(2n){border-right:0}.joe-page-grid .joe-contact-actions a:nth-child(-n+2){border-bottom:1px solid var(--joe-line)}.joe-section:not(.joe-contact)>.site-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(1.4rem,2.4vw,2rem);display:grid}.joe-section:not(.joe-contact)>.site-shell>:not(.joe-section-head){grid-column:1}.joe-section.joe-work>.site-shell{grid-template-columns:minmax(0,1fr)}.joe-section.joe-work>.site-shell>:not(.joe-section-head),.joe-section.joe-work .joe-section-head{grid-column:1}.joe-section.joe-work .joe-section-head{max-width:34rem;position:static}.joe-section.joe-community>.site-shell{grid-template-columns:minmax(0,1fr);gap:0}.joe-section.joe-community>.site-shell>.joe-photo-marquee{grid-column:1}.joe-section-head{grid-column:1;grid-template-columns:minmax(0,1fr);align-items:start;gap:.65rem;max-width:42rem;margin-bottom:0;display:grid;position:static}.joe-section-head-minimal{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.joe-section h2,.joe-contact h2{font-family:var(--font-geist-sans), var(--font-geist-mono), sans-serif;letter-spacing:0;text-wrap:balance;font-size:clamp(1.8rem,2.6vw,3rem);font-weight:560;line-height:.96}.joe-dialog-copy ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.joe-dialog-copy li{color:var(--joe-muted);font-size:.875rem;line-height:1.45}.joe-dialog-copy li:before{color:var(--joe-faint);content:"-";margin-right:.45rem}.joe-work-table{border-bottom:1px solid var(--joe-line);border-left:1px solid var(--joe-line);border-right:1px solid var(--joe-line);border-top:1px solid var(--joe-line);margin-top:0;display:grid;overflow:hidden}.joe-work-table-head{background:var(--joe-panel-strong);align-items:center}@supports (color:color-mix(in lab, red, red)){.joe-work-table-head{background:color-mix(in oklab, var(--joe-panel-strong) 54%, transparent)}}.joe-work-table-head{border-bottom:1px solid var(--joe-line);color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:0;text-transform:uppercase;grid-template-columns:4.25rem minmax(15rem,1.05fr) minmax(7rem,.42fr) minmax(8.5rem,.55fr) minmax(11rem,15rem) minmax(6.25rem,7.25rem);gap:0;min-height:3.4rem;font-size:.6875rem;display:grid}.joe-work-table-head>span{border-right:1px solid var(--joe-line);place-items:center start;min-width:0;height:100%;padding:0 1rem;display:grid}.joe-work-table-head>span:last-child{border-right:0}.joe-work-table article,.joe-timeline article,.joe-blog-row{border-bottom:1px solid var(--joe-line)}@supports (color:color-mix(in lab, red, red)){.joe-work-table article,.joe-timeline article,.joe-blog-row{border-bottom:1px solid color-mix(in oklab, var(--joe-line) 70%, transparent)}}.joe-work-table article,.joe-timeline article,.joe-blog-row{gap:1rem;display:grid}.joe-work-table article{background:no-repeat;grid-template-columns:4.25rem minmax(15rem,1.05fr) minmax(7rem,.42fr) minmax(8.5rem,.55fr) minmax(11rem,15rem) minmax(6.25rem,7.25rem);grid-template-areas:"index title started status media action";align-items:center;gap:0;min-height:6.25rem;padding:0;transition:background-color .16s,border-color .16s}.joe-work-table article:last-child{border-bottom:0}.joe-work-table article:focus-within{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-work-table article:focus-within{background:color-mix(in oklab, var(--foreground) 2.4%, transparent)}}.joe-work-title{border-right:1px solid var(--joe-line);grid-area:title;grid-template-columns:minmax(0,1fr);align-self:stretch;align-items:start;min-width:0;padding:1rem 1.1rem;display:grid}.joe-work-index{border-right:1px solid var(--joe-line);color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;grid-area:index;justify-content:center;place-self:stretch stretch;align-items:center;width:auto;height:100%;font-size:.92rem;display:inline-flex}.joe-work-started,.joe-work-status{border-right:1px solid var(--joe-line);color:var(--joe-muted);align-self:stretch;align-items:center;min-width:0;padding:1rem;font-size:.8125rem;line-height:1.35;display:grid}.joe-work-started{grid-area:started}.joe-work-started>span{color:var(--joe-muted)}@supports (color:color-mix(in lab, red, red)){.joe-work-started>span{color:color-mix(in oklab, var(--joe-muted) 62%, transparent)}}.joe-work-started>span{font-family:var(--font-geist-mono), monospace;margin-top:.18rem;font-size:.6875rem;display:block}.joe-work-status{grid-area:status}.joe-work-table article>button{border:0;border-radius:0;grid-area:action;place-self:stretch stretch;min-height:100%;margin-left:0;padding:0 .85rem}.joe-work-table p,.joe-work-summary,.joe-work-meta{color:var(--joe-muted);font-family:var(--font-geist-sans), sans-serif;text-transform:none;margin:.38rem 0 0;font-size:.8125rem;line-height:1.45}.joe-work-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:26rem;margin-top:.45rem;display:-webkit-box;overflow:hidden}.joe-work-meta{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.joe-work-thumb{aspect-ratio:16/9;background:var(--joe-panel-strong);border:0;border-right:1px solid var(--joe-line);opacity:.82;grid-area:media;place-self:center stretch;width:100%;max-width:none;height:auto;max-height:none;display:block;position:relative;overflow:hidden}.joe-work-thumb-empty{background:linear-gradient(var(--joe-panel), var(--joe-panel)), repeating-linear-gradient(135deg, transparent 0 8px, var(--joe-ink) 8px 9px)}@supports (color:color-mix(in lab, red, red)){.joe-work-thumb-empty{background:linear-gradient(var(--joe-panel), var(--joe-panel)), repeating-linear-gradient(135deg, transparent 0 8px, color-mix(in oklab, var(--joe-ink) 8%, transparent) 8px 9px)}}.joe-timeline{border-bottom:1px solid var(--joe-line);border-left:1px solid var(--joe-line);border-right:1px solid var(--joe-line);border-top:1px solid var(--joe-line);grid-template-columns:minmax(0,1fr);gap:0;margin-top:0;display:grid;overflow:hidden}.joe-timeline article{border:0;border-bottom:1px solid var(--joe-line);background:0 0;align-items:center}@supports (color:color-mix(in lab, red, red)){.joe-timeline article{border-bottom:1px solid color-mix(in oklab, var(--joe-line) 70%, transparent)}}.joe-timeline article{grid-template-columns:5.25rem 4.25rem minmax(15rem,.52fr) minmax(0,1fr);gap:0;min-height:7.2rem;padding:0}.joe-timeline-index{border-right:1px solid var(--joe-line);color:var(--joe-ink);place-self:stretch stretch;align-items:center;padding:0 1.35rem;font-size:1.55rem;display:grid}.joe-timeline article:last-child{border-bottom:0}.joe-timeline-node{border-right:1px solid var(--joe-line);align-self:stretch;place-items:center;display:grid;position:relative}.joe-timeline-node:before{background:var(--joe-bg);border:1px solid var(--joe-ink);content:"";z-index:1;border-radius:999px;width:.68rem;height:.68rem;display:block}.joe-timeline article>div{border-right:1px solid var(--joe-line);gap:.35rem;min-width:0;height:100%;padding:1.25rem 1.4rem;display:grid}.joe-timeline p,.joe-timeline small,.joe-blog-row p{color:var(--joe-muted);font-size:.875rem;line-height:1.55}.joe-timeline small{padding:1.25rem 1.4rem;font-size:.875rem}.joe-blog-row{border-bottom:1px solid var(--joe-line);border-left:1px solid var(--joe-line);border-right:1px solid var(--joe-line);border-top:1px solid var(--joe-line);background:0 0;grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;padding:1rem;transition:background-color .16s}.joe-blog-row:hover,.joe-blog-row:focus-within{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-blog-row:hover,.joe-blog-row:focus-within{background:color-mix(in oklab, var(--foreground) 2.2%, transparent)}}.joe-blog-row>div{gap:.25rem;display:grid}.joe-blog-row a{border:1px solid var(--joe-line);color:var(--joe-ink);border-radius:6px;align-items:center;min-height:2.75rem;padding:0 .875rem;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.joe-blog-row a:hover,.joe-blog-row a:focus-visible{background:var(--joe-panel);border-color:var(--joe-line-strong);box-shadow:0 0 0 2px var(--focus-ring-color);outline:none}.joe-section.joe-credentials>.site-shell{grid-template-columns:minmax(0,1fr);gap:clamp(1.4rem,2.4vw,2rem);min-width:0;display:grid}.joe-section.joe-credentials>.site-shell>:not(.joe-section-head),.joe-section.joe-credentials .joe-section-head{grid-column:1}.joe-section.joe-credentials .joe-section-head{max-width:42rem;position:static}.joe-certification-grid{border:1px solid var(--joe-line);grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;margin-top:.25rem;display:grid}.joe-certification-tile{border-left:1px solid var(--joe-line);border-top:1px solid var(--joe-line);background:0 0;align-content:space-between;gap:1.25rem;min-width:0;min-height:8rem;margin-top:-1px;margin-left:-1px;padding:1.1rem 1rem;transition:background-color .16s;display:grid;position:relative}.joe-certification-tile:hover{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-certification-tile:hover{background:color-mix(in oklab, var(--foreground) 2.2%, transparent)}}.joe-certification-tile:hover .joe-certification-badge-image,.joe-certification-tile:focus-within .joe-certification-badge-image{filter:grayscale(0)saturate()contrast()}.joe-certification-tile-mark{place-items:center start;width:3rem;min-width:0;height:3rem;display:grid}.joe-certification-badge-image{filter:grayscale()saturate(0)contrast(1.08);object-fit:contain;width:auto;max-width:3rem;height:auto;max-height:2.55rem;transition:filter .18s;display:block}.joe-certification-company-logo{max-width:1.75rem;height:auto;max-height:1.65rem}.dark .joe-certification-company-logo{filter:grayscale()saturate(0)contrast(1.08)invert()}.dark .joe-certification-tile:hover .joe-certification-company-logo,.dark .joe-certification-tile:focus-within .joe-certification-company-logo{filter:grayscale(0)saturate()contrast()}.dark .joe-certification-tile:hover .joe-certification-company-logo[data-mark=vercel],.dark .joe-certification-tile:focus-within .joe-certification-company-logo[data-mark=vercel]{filter:grayscale(0)saturate()contrast()invert()}.joe-certification-tile-copy{gap:.38rem;min-width:0;display:grid}.joe-certification-name{color:var(--joe-ink);overflow-wrap:anywhere;text-align:left;text-wrap:auto;max-width:none;margin:0;font-size:.8125rem;font-weight:500;line-height:1.3}.joe-hero{background:var(--joe-bg)}.joe-signature-stage{--joe-hero-grid-x:clamp(4.5rem, 7.5vw, 5.75rem);--joe-hero-grid-y:clamp(4.5rem, 8vw, 6.5rem);background:repeating-linear-gradient(90deg, transparent 0 calc(var(--joe-hero-grid-x) - 1px), var(--joe-grid-line) calc(var(--joe-hero-grid-x) - 1px) var(--joe-hero-grid-x)), repeating-linear-gradient(180deg, transparent 0 calc(var(--joe-hero-grid-y) - 1px), var(--joe-grid-line) calc(var(--joe-hero-grid-y) - 1px) var(--joe-hero-grid-y)), var(--joe-bg);border-left:1px solid var(--joe-line);border-right:1px solid var(--joe-line);border-top:1px solid var(--joe-line);background-position:top;min-height:clamp(35rem,68svh,46rem)}.joe-signature-stage:before,.joe-signature-stage:after{content:"";pointer-events:none;position:absolute}.joe-signature-stage:before{background:linear-gradient(90deg, var(--joe-grid-line-strong) 0 1px, transparent 1px calc(100% - 1px), var(--joe-grid-line-strong) calc(100% - 1px)), linear-gradient(180deg, var(--joe-grid-line-strong) 0 1px, transparent 1px calc(100% - 1px), var(--joe-grid-line-strong) calc(100% - 1px));opacity:.82;z-index:0;inset:clamp(4.5rem,8vw,6.5rem) clamp(4.5rem,7.5vw,5.75rem)}.joe-signature-stage:after{background:linear-gradient(90deg, transparent 0 calc(50% - .5px), var(--joe-grid-line-strong) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(180deg, transparent 0 calc(50% - .5px), var(--joe-grid-line-strong) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px));z-index:1;width:1.35rem;height:1.35rem;top:clamp(2.35rem,5vw,3.8rem);left:clamp(2.35rem,5vw,3.8rem)}.joe-page-grid{background:var(--joe-bg);border-color:var(--joe-line)}.joe-page-grid>.joe-section{border-bottom:1px solid var(--joe-line)}.joe-page-grid .joe-section-head:not(.joe-section-head-minimal){padding:clamp(1.75rem,3vw,2.6rem)}.joe-page-grid .joe-section-head:not(.joe-section-head-minimal) h2{font-size:clamp(2.35rem,5vw,4.5rem);font-weight:620;line-height:.98}.joe-page-grid .joe-work-table{border:0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;margin:0;display:grid;overflow:visible}.joe-page-grid .joe-work-table-head{background:var(--joe-panel-strong);align-content:start}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-table-head{background:color-mix(in oklab, var(--joe-panel-strong) 58%, transparent)}}.joe-page-grid .joe-work-table-head{border-bottom:1px solid var(--joe-line);border-right:1px solid var(--joe-line);color:var(--joe-ink);text-transform:none;grid-template-columns:minmax(0,1fr);gap:1rem;min-height:clamp(23rem,29vw,28rem);padding:clamp(1.6rem,3vw,2.6rem);display:grid}.joe-page-grid .joe-work-table-head h2{letter-spacing:0;text-wrap:balance;max-width:10ch;margin:0;font-size:clamp(2.15rem,4.5vw,3.9rem);font-weight:620;line-height:1.02}.joe-page-grid .joe-work-table-head p{color:var(--joe-muted);font-family:var(--font-geist-sans), sans-serif;text-transform:none;max-width:18rem;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.5}.joe-page-grid .joe-work-card{background:var(--joe-bg);border-bottom:1px solid var(--joe-line);border-right:1px solid var(--joe-line);grid-template:"index action""title title"minmax(6.5rem,1fr)"started status""media media"/minmax(0,1fr) auto;align-content:start;gap:1.1rem;min-height:clamp(23rem,29vw,28rem);padding:clamp(1.25rem,2vw,1.7rem);transition:background-color .16s,border-color .16s,transform .16s;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{background:color-mix(in oklab, var(--foreground) 2.2%, var(--joe-bg))}}.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{border-color:var(--joe-line-strong)}.joe-page-grid .joe-work-index{border:1px solid var(--joe-line);color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;border-radius:999px;grid-area:index;justify-content:center;place-self:start;align-items:center;width:auto;height:2rem;padding:0 .72rem;font-size:.72rem;display:inline-grid}.joe-page-grid .joe-work-title{border:0;grid-area:title;align-self:stretch;padding:0;display:grid}.joe-page-grid .joe-work-title>div{align-content:start;gap:.52rem;display:grid}.joe-page-grid .joe-work-table h3{overflow-wrap:normal;font-size:clamp(1.55rem,2.55vw,2.2rem);font-weight:620;line-height:1.05}.joe-page-grid .joe-work-summary{color:var(--joe-muted);-webkit-line-clamp:unset;max-width:24rem;margin:0;font-size:.93rem;line-height:1.5;display:block;overflow:visible}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{border:1px solid var(--joe-line);color:var(--joe-muted);border-radius:999px;place-self:end start;align-items:center;gap:.45rem;width:fit-content;min-width:0;min-height:2rem;padding:0 .72rem;font-size:.72rem;line-height:1.2;display:inline-flex}.joe-page-grid .joe-work-thumb{aspect-ratio:16/9;background:var(--joe-panel-strong);border:1px solid var(--joe-line);border-radius:var(--radius-geist-6);opacity:.88;grid-area:media;place-self:end start;width:min(14rem,100%);max-width:100%;height:auto;display:block;position:relative;overflow:hidden}.joe-page-grid .joe-work-card-action svg{width:1rem;height:1rem}.joe-page-grid .joe-timeline{border:0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;overflow:visible}.joe-page-grid .joe-timeline article{background:var(--joe-bg);border:0;border-bottom:1px solid var(--joe-line);border-right:1px solid var(--joe-line);grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:1rem;min-height:clamp(18rem,23vw,23rem);padding:clamp(1.35rem,2.2vw,2rem);display:grid}.joe-page-grid .joe-systems-copy-cell{gap:1rem}.joe-page-grid .joe-systems-copy-cell p,.joe-page-grid .joe-systems-diagram p{color:var(--joe-muted);max-width:24rem;font-size:clamp(.95rem,1.25vw,1.08rem);line-height:1.55}.joe-diagram-stack{aspect-ratio:16/7;border:1px solid var(--joe-line);border-radius:var(--radius-geist-12);place-items:center;display:grid;position:relative;overflow:hidden}.joe-diagram-stack:before{background:linear-gradient(90deg, transparent 0 calc(50% - .5px), var(--joe-line) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)), linear-gradient(transparent 0 calc(50% - .5px), var(--joe-line) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px));content:"";opacity:.9;position:absolute;inset:0}.joe-diagram-core,.joe-diagram-node{background:var(--joe-bg);border:1px solid var(--joe-line-strong);color:var(--joe-ink);z-index:1;border-radius:999px;align-items:center;gap:.45rem;min-height:2.35rem;padding:0 .8rem;font-size:.78rem;display:inline-flex;position:absolute}.joe-diagram-core{font-family:var(--font-geist-mono), monospace;top:50%;left:50%;transform:translate(-50%,-50%)}.joe-diagram-node svg{width:.95rem;height:.95rem}.joe-diagram-node[data-node=Server]{top:18%;left:10%}.joe-diagram-node[data-node=Backup]{top:18%;right:10%}.joe-diagram-node[data-node=Security]{bottom:18%;left:14%}.joe-diagram-node[data-node=Workflow]{bottom:18%;right:14%}.joe-page-grid .joe-system-role-card{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);gap:1rem}.joe-page-grid .joe-system-role-card .joe-timeline-index{border:1px solid var(--joe-line);color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;border-radius:999px;justify-content:center;justify-self:start;align-items:center;width:auto;height:2rem;padding:0 .72rem;font-size:.72rem;display:inline-grid}.joe-page-grid .joe-system-role-card>div{border:0;grid-column:1/-1;gap:.45rem;height:auto;padding:0;display:grid}.joe-page-grid .joe-system-role-card small{color:var(--joe-muted);grid-column:1/-1;padding:0;font-size:.88rem;line-height:1.55}.joe-page-grid .joe-certification-grid{border:0;grid-template-columns:repeat(6,minmax(0,1fr));margin:0}.joe-page-grid .joe-certification-tile{min-height:7.25rem;padding:1rem}.joe-page-grid .joe-photo-marquee{border:0;margin:0}.joe-page-grid .joe-blog-row{border:0;min-height:10rem;padding:clamp(1.35rem,2.2vw,2rem)}.joe-page-grid .joe-contact-actions{border:0}@media (max-width:1180px) and (min-width:981px){.joe-page-grid .joe-certification-grid{--joe-cert-grid-columns:4;--joe-cert-grid-column-width:25%;grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:980px){.joe-signature-stage{min-height:auto}.joe-page-grid .joe-work-table,.joe-page-grid .joe-timeline{grid-template-columns:minmax(0,1fr)}.joe-page-grid .joe-work-card:first-of-type,.joe-page-grid .joe-work-card:last-of-type,.joe-page-grid .joe-systems-diagram{grid-column:auto}.joe-page-grid .joe-work-table-head,.joe-page-grid .joe-work-card,.joe-page-grid .joe-timeline article{min-height:0}.joe-page-grid .joe-work-card{grid-template-rows:auto minmax(0,1fr) auto auto}.joe-page-grid .joe-work-thumb{width:min(18rem,100%)}.joe-page-grid .joe-certification-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.joe-signature-stage{border-left:0;border-right:0}.joe-page-grid .joe-work-table-head,.joe-page-grid .joe-work-card,.joe-page-grid .joe-timeline article,.joe-page-grid .joe-blog-row{padding:1rem}.joe-page-grid .joe-work-card{grid-template-areas:"index action""title title""started started""status status""media media"}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{justify-self:start}.joe-page-grid .joe-certification-grid{--joe-cert-grid-columns:2;--joe-cert-grid-column-width:50%;grid-template-columns:repeat(2,minmax(0,1fr))}.joe-diagram-stack{aspect-ratio:1}.joe-diagram-node[data-node=Server]{top:12%;left:8%}.joe-diagram-node[data-node=Backup]{top:12%;right:8%}.joe-diagram-node[data-node=Security]{bottom:12%;left:8%}.joe-diagram-node[data-node=Workflow]{bottom:12%;right:8%}}@media (prefers-reduced-motion:reduce){.joe-certification-badge-image{transition:none}}.joe-photo-marquee{border-bottom:1px solid var(--joe-line);border-left:1px solid var(--joe-line);border-right:1px solid var(--joe-line);border-top:1px solid var(--joe-line);scrollbar-width:none;margin-top:0;position:relative;overflow:hidden}.joe-photo-marquee::-webkit-scrollbar{display:none}.joe-photo-marquee:focus-visible{box-shadow:0 0 0 2px var(--focus-ring-color);border-radius:6px;outline:none}.joe-photo-marquee-track{will-change:transform;width:max-content;animation:58s linear infinite joe-photo-marquee-right;display:flex}.joe-photo-marquee:hover .joe-photo-marquee-track,.joe-photo-marquee:focus-visible .joe-photo-marquee-track,.joe-photo-marquee:focus-within .joe-photo-marquee-track,.joe-photo-marquee[data-paused=true] .joe-photo-marquee-track{animation-play-state:paused}.joe-photo-sheet{flex:none;min-width:max-content;display:flex}.joe-photo-card{border-right:1px solid var(--joe-line);background:0 0;flex:0 0 clamp(18rem,24vw,25rem);gap:0;margin:0;transition:border-color .16s,background-color .16s;display:grid;overflow:hidden}.joe-photo-card:hover,.joe-photo-card:focus-within{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-photo-card:hover,.joe-photo-card:focus-within{background:color-mix(in oklab, var(--foreground) 2.2%, transparent)}}.joe-photo-card:hover,.joe-photo-card:focus-within{border-color:var(--joe-line-strong)}.joe-photo-frame{aspect-ratio:16/10;display:block;position:relative;overflow:hidden}@keyframes joe-photo-marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.blog-page{min-height:calc(100svh - 10rem);padding:clamp(3rem,7vw,6rem) 0}.blog-page-shell{grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);max-width:72rem;display:grid}.blog-page-heading{gap:1rem;max-width:42rem;display:grid}.blog-page-heading h1{letter-spacing:0;margin:0;font-size:clamp(3rem,7vw,6rem);font-weight:560;line-height:.95}.blog-page-heading p{color:var(--muted-foreground);max-width:36rem;margin:0;font-size:1rem;line-height:1.6}.blog-empty-state{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-self:start;align-items:center;gap:1.25rem;min-width:0;max-width:42rem;padding:1.25rem;display:flex}.blog-empty-state div{gap:.4rem;min-width:0;display:grid}.blog-empty-state h2{margin:0;font-size:1.125rem;font-weight:560;line-height:1.25}.blog-empty-state p{color:var(--muted-foreground);margin:0;font-size:.875rem;line-height:1.55}.joe-contact{padding:clamp(1rem,2.4vw,2.5rem) 0 clamp(3rem,6vw,5rem)}.joe-contact-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.joe-contact-actions{border:1px solid var(--joe-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;width:100%;display:grid}.joe-contact-actions a{border:0;border-right:1px solid var(--joe-line);border-radius:0;justify-content:center;width:100%;min-height:3.85rem}.joe-contact-actions a:last-child{border-right:0}.joe-contact-actions svg,.joe-dialog-actions svg{width:1rem;height:1rem}.joe-dialog-backdrop{z-index:80;background:#00000085;background:lab(0% 0 0/.52);position:fixed;inset:0}.joe-dialog-layer{overscroll-behavior:contain;z-index:81;place-items:center;padding:clamp(1rem,4vw,3rem);display:grid;position:fixed;inset:0;overflow-y:auto}.joe-project-dialog{background:var(--background);border:1px solid var(--joe-line-strong);border-radius:12px;outline:none;grid-template-columns:minmax(0,.56fr) minmax(18rem,.44fr);width:100%;max-width:min(1040px,100%);min-height:24rem;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000052;box-shadow:0 24px 80px lab(0% 0 0/.32)}@media (prefers-reduced-motion:no-preference){.joe-dialog-backdrop{animation:.18s both joe-backdrop-in}.joe-project-dialog{animation:.36s cubic-bezier(.16,1,.3,1) both joe-dialog-in}@keyframes joe-backdrop-in{0%{opacity:0}}@keyframes joe-dialog-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}}.joe-dialog-close{background:var(--popover);border:1px solid var(--joe-line-strong);color:var(--foreground);z-index:2;border-radius:999px;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex;position:absolute;top:.85rem;right:.85rem;box-shadow:0 8px 22px #0000002e;box-shadow:0 8px 22px lab(0% 0 0/.18)}.joe-dialog-close:hover,.joe-dialog-close:focus-visible{background:var(--joe-panel);border-color:var(--foreground);box-shadow:var(--focus-ring-shadow), 0 10px 26px #0003;outline:none}@supports (color:lab(0% 0 0)){.joe-dialog-close:hover,.joe-dialog-close:focus-visible{box-shadow:var(--focus-ring-shadow), 0 10px 26px lab(0% 0 0/.2)}}.joe-dialog-close svg{width:1rem;height:1rem}.joe-dialog-media{aspect-ratio:auto;background:var(--joe-panel);border:0;border-radius:0;min-height:100%}.joe-dialog-copy{align-content:start;gap:1rem;padding:clamp(1.4rem,3vw,2.5rem);display:grid}.work-case{--work-case-line:var(--border);--work-case-panel:var(--surface-2);gap:clamp(3rem,6vw,5rem);padding-bottom:clamp(4rem,8vw,7rem);display:grid}.work-case-hero{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:stretch;gap:clamp(1rem,3vw,2rem);padding-top:clamp(2rem,5vw,4rem);display:grid}.work-case-hero-copy,.work-case-section-head,.work-case-story-grid article,.work-case-panel>div{gap:.85rem;display:grid}.work-case-hero-copy,.work-case-media{min-width:0}.work-case-back{border:1px solid var(--work-case-line);border-radius:var(--radius-geist-6);color:var(--foreground);font-family:var(--font-geist-sans), sans-serif;align-items:center;gap:.5rem;width:fit-content;min-height:2.75rem;padding:0 .9rem;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-flex}.work-case-actions [data-slot=button-link]{text-align:left;white-space:normal;max-width:100%}.work-case-back svg{transform:rotate(225deg)}.work-case-back:hover,.work-case-back:focus-visible{background:var(--muted);border-color:var(--geist-border-6);box-shadow:var(--focus-ring-shadow);outline:none}.work-case-kicker,.work-case-section-head>p,.work-case-panel>div>p:first-child,.work-case-meta dt,.work-case-panel small{color:var(--muted-foreground);font-family:var(--font-geist-mono), monospace;letter-spacing:0;text-transform:uppercase;margin:0;font-size:.75rem;line-height:1.35}.work-case h1{margin:0;font-size:clamp(2.75rem,6.5vw,4.8rem);font-weight:620;line-height:.95}.work-case-summary,.work-case-section-head h2{color:var(--foreground);max-width:48rem;margin:0;font-size:clamp(1.25rem,2.4vw,2rem);font-weight:500;line-height:1.18}.work-case-meta{border-block:1px solid var(--work-case-line);gap:0;max-width:48rem;margin:0;display:grid}.work-case-meta div{border-bottom:1px solid var(--work-case-line)}@supports (color:color-mix(in lab, red, red)){.work-case-meta div{border-bottom:1px solid color-mix(in oklab, var(--work-case-line) 72%, transparent)}}.work-case-meta div{grid-template-columns:7rem minmax(0,1fr);gap:.35rem;padding:.8rem 0;display:grid}.work-case-meta div:last-child{border-bottom:0}.work-case-meta dd{margin:0}.work-case-actions{flex-wrap:wrap;gap:.5rem;display:flex}.work-case-media{aspect-ratio:16/10;background:var(--work-case-panel);border:1px solid var(--work-case-line);border-radius:var(--radius-geist-12);min-width:0;min-height:18rem;margin:0;position:relative;overflow:hidden}.work-case-media img,.work-case-media video{object-fit:cover;width:100%;height:100%}.work-case-media video{display:block}.work-case-hero>.work-case-media img{object-fit:contain}.work-case-section{gap:1.25rem;display:grid}.work-case-story-grid,.work-case-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.work-case-story-grid article,.work-case-panel,.work-case-claim-list{border:1px solid var(--work-case-line);border-radius:var(--radius-geist-12);background:var(--background)}.work-case-story-grid article{padding:1rem}.work-case-story-grid h3,.work-case-panel h3{margin:0;font-size:1rem;font-weight:600;line-height:1.3}.work-case-story-grid p,.work-case-panel p,.work-case-claim-list li{color:var(--muted-foreground);margin:0;font-size:.95rem;line-height:1.6}.work-case-panel{grid-template-rows:auto 1fr;display:grid;overflow:hidden}.work-case-panel .work-case-media{border:0;border-bottom:1px solid var(--work-case-line);border-radius:0;min-height:12rem}.work-case-panel>div{padding:1rem}.work-case-claim-list{margin:0;padding:0;list-style:none;display:grid}.work-case-claim-list li{border-bottom:1px solid var(--work-case-line)}@supports (color:color-mix(in lab, red, red)){.work-case-claim-list li{border-bottom:1px solid color-mix(in oklab, var(--work-case-line) 72%, transparent)}}.work-case-claim-list li{padding:1rem}.work-case-claim-list li:last-child{border-bottom:0}@media (max-width:1180px) and (min-width:981px){.joe-certification-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.joe-work-table-head,.joe-work-table article{grid-template-columns:3.5rem minmax(13rem,1fr) minmax(6.25rem,.36fr) minmax(7rem,.45fr) minmax(9rem,12rem) minmax(5.75rem,6.5rem)}}@media (max-width:980px){.joe-contact-shell,.joe-project-dialog,.work-case-hero,.work-case-story-grid,.work-case-panels{grid-template-columns:minmax(0,1fr)}.work-case-hero{padding-top:2rem}.work-case-meta div{grid-template-columns:minmax(0,1fr)}.work-case-media{width:100%;max-width:100%;min-height:0}.joe-hero-stage,.joe-signature-stage{min-height:auto}.joe-signature-stage{grid-template-columns:1fr;gap:1rem;padding:1rem 0 1.25rem;display:grid;overflow:visible}.joe-identity-core{grid-template-columns:minmax(0,1fr);grid-template-areas:"title""body""stack";gap:.68rem;width:100%;min-height:auto}.joe-section:not(.joe-contact)>.site-shell{grid-template-columns:minmax(0,1fr)}.joe-section:not(.joe-contact)>.site-shell>:not(.joe-section-head),.joe-section-head{grid-column:1}.joe-page-grid{grid-template-columns:minmax(0,1fr)}.joe-page-grid>.joe-blog,.joe-page-grid>.joe-contact{border-right:0;grid-column:1}.joe-page-grid>.joe-blog{border-bottom:1px solid var(--joe-line)}.joe-certification-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.joe-section-head{position:static}.joe-section-head-minimal{position:absolute}.blog-page-shell{grid-template-columns:minmax(0,1fr)}.joe-dialog-media{aspect-ratio:16/10;min-height:0}.joe-dialog-layer{padding-top:max(1rem, env(safe-area-inset-top));align-items:start}.joe-project-dialog{max-block-size:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 2rem);overscroll-behavior:contain;overflow:auto}.joe-dialog-close{justify-self:end;width:2.75rem;height:2.75rem;position:sticky;top:.75rem}.joe-work-table-head{display:none}.joe-work-table article{grid-template-columns:3.75rem minmax(0,1fr) minmax(6.5rem,auto);grid-template-areas:"index title action""index started status""media media media";gap:0;min-height:0;padding:0}.joe-work-title{border-bottom:1px solid var(--joe-line);border-right:0;grid-template-columns:minmax(0,1fr);align-self:stretch;padding:1rem}.joe-work-table article>button{border-bottom:1px solid var(--joe-line);border-left:1px solid var(--joe-line);place-self:stretch stretch;min-height:100%;margin-left:0}.joe-work-table h3{overflow-wrap:normal;word-break:normal;font-size:1.35rem;line-height:1.08}.joe-work-thumb{aspect-ratio:16/9;border-right:0;border-top:1px solid var(--joe-line);width:100%;height:auto;margin-left:0;display:block}.joe-work-started,.joe-work-status{border-right:0;padding:.8rem 1rem}.joe-work-started{border-right:1px solid var(--joe-line)}.joe-timeline{grid-template-columns:minmax(0,1fr)}.joe-timeline article{border-bottom:1px solid var(--joe-line);border-right:0;grid-template-columns:4rem 3rem minmax(0,1fr);align-items:start;gap:0;min-height:0}.joe-timeline article>div{border-right:0;padding:1rem}.joe-timeline small{border-left:0;grid-column:3;padding:0 1rem 1rem}.joe-timeline article:last-child{border-bottom:0}.joe-work-table article>p:last-of-type{display:block}.joe-photo-card{flex-basis:clamp(16rem,42vw,22rem)}}@media (max-width:700px){.joe-site .site-shell{width:100%;padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right))}.joe-hero{min-height:auto;padding:.75rem 0 0}.joe-hero h1{font-size:4rem;line-height:.9}.joe-name-particles{max-width:calc(100vw - .5rem);height:clamp(8rem,30vw,10.5rem)}.joe-name-particles h1{font-size:clamp(3.2rem,14vw,4.5rem)}.joe-hero-subhead{font-size:1rem}.joe-hero-body{max-width:34rem;font-size:.88rem;line-height:1.46}.joe-hero-stack{font-size:.72rem}.joe-section h2,.joe-contact h2{font-size:clamp(2.125rem,10.5vw,3rem)}.joe-work-table h3,.joe-timeline h3,.joe-dialog-copy h2{font-size:1.35rem}.joe-contact-actions{grid-template-columns:minmax(0,1fr);align-items:stretch}.joe-page-grid .joe-contact-actions{grid-template-columns:minmax(0,1fr)}.joe-contact-actions a{border-bottom:1px solid var(--joe-line);border-right:0;justify-content:center;width:100%}.joe-page-grid .joe-contact-actions a{border-bottom:1px solid var(--joe-line);border-right:0;min-height:3.85rem}.joe-contact-actions a:last-child,.joe-page-grid .joe-contact-actions a:last-child{border-bottom:0}.joe-section-head,.joe-timeline article,.joe-blog-row{grid-template-columns:minmax(0,1fr)}.joe-certification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.joe-certification-tile{min-height:6.25rem}.joe-certification-badge-image{max-height:2rem}.joe-blog-row{align-items:stretch}.joe-blog-row a{justify-content:center;width:100%}.blog-empty-state{flex-direction:column;align-items:stretch}.joe-work-table article{grid-template-columns:3.2rem minmax(0,1fr);grid-template-areas:"index title""started started""status status""media media""action action";padding:0}.joe-work-table article>p{display:block}.joe-work-table article>button{border-left:0;border-top:1px solid var(--joe-line);justify-self:stretch;min-height:3rem;margin-left:0}.joe-work-title{grid-template-columns:minmax(0,1fr)}.joe-timeline article{grid-template-columns:3.2rem minmax(0,1fr);gap:0}.joe-timeline-node{display:none}.joe-timeline small{border-left:0;grid-column:2;padding:0 1rem 1rem}.joe-work-table article>p:first-of-type,.joe-work-table article>p:nth-of-type(2),.joe-work-table article>p:nth-of-type(3){padding-left:0}.joe-work-table h3{font-size:1.3rem;line-height:1.06}.joe-work-thumb{width:100%;margin-left:0}.joe-photo-card{flex-basis:min(82vw,21rem)}.joe-photo-frame{aspect-ratio:16/10}.joe-dialog-copy dl div{grid-template-columns:minmax(0,1fr)}}.joe-page-grid,.joe-page-grid>.joe-section{background:var(--joe-bg)}.joe-page-grid .joe-work-table{grid-template-columns:repeat(3,minmax(0,1fr))}.joe-page-grid .joe-work-table-head{background:var(--joe-bg);border-bottom:1px solid var(--joe-line);border-right:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(18rem,.52fr);grid-template-areas:"label copy""title copy";align-items:end;gap:.45rem clamp(1rem,3vw,2rem);min-height:0;padding:clamp(1.25rem,2.2vw,1.9rem);display:grid}.joe-page-grid .joe-work-table-head h2{grid-area:title;max-width:none;font-size:clamp(1.85rem,3.2vw,3rem);line-height:1.02}.joe-page-grid .joe-work-table-head p{text-align:right;grid-area:copy;place-self:end;max-width:24rem;font-size:.94rem;line-height:1.55}.joe-page-grid .joe-work-card:first-of-type,.joe-page-grid .joe-work-card:last-of-type{grid-column:auto}.joe-page-grid .joe-work-card{background:var(--joe-bg);grid-template-rows:auto minmax(5.35rem,1fr) auto auto;gap:.9rem;min-height:clamp(18rem,23vw,22rem);padding:clamp(1.05rem,1.65vw,1.35rem);transition:background-color .16s,border-color .16s,box-shadow .16s,transform .18s cubic-bezier(.16,1,.3,1)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), color-mix(in oklab, var(--foreground) 7%, transparent), transparent 42%), color-mix(in oklab, var(--foreground) 1.8%, var(--joe-bg))}}.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{box-shadow:inset 0 1px 0 var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{box-shadow:inset 0 1px 0 color-mix(in oklab, var(--foreground) 6%, transparent)}}@media (hover:hover) and (pointer:fine){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-system-role-card:hover,.joe-page-grid .joe-certification-tile:hover,.joe-page-grid .joe-blog-row:hover,.joe-page-grid .joe-contact-actions a:hover{transform:translateY(-1px)}}.joe-page-grid .joe-work-table h3{font-size:clamp(1.32rem,2vw,1.72rem);line-height:1.08}.joe-page-grid .joe-work-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:20rem;font-size:.875rem;line-height:1.48;display:-webkit-box;overflow:hidden}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status,.joe-page-grid .joe-work-index,.joe-page-grid .joe-system-role-card .joe-timeline-index{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status,.joe-page-grid .joe-work-index,.joe-page-grid .joe-system-role-card .joe-timeline-index{background:color-mix(in oklab, var(--foreground) 1.6%, var(--joe-bg))}}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status,.joe-page-grid .joe-work-index,.joe-page-grid .joe-system-role-card .joe-timeline-index{border-color:var(--joe-line)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status,.joe-page-grid .joe-work-index,.joe-page-grid .joe-system-role-card .joe-timeline-index{border-color:color-mix(in oklab, var(--joe-line) 86%, transparent)}}.joe-page-grid .joe-work-thumb{opacity:.72;width:min(11.5rem,100%);transition:border-color .16s,opacity .16s,transform .22s cubic-bezier(.16,1,.3,1)}.joe-page-grid .joe-timeline article{background:var(--joe-bg);min-height:clamp(15rem,19vw,19rem);transition:background-color .16s,border-color .16s,transform .18s cubic-bezier(.16,1,.3,1)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-timeline article:hover,.joe-page-grid .joe-timeline article:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), color-mix(in oklab, var(--foreground) 6%, transparent), transparent 42%), color-mix(in oklab, var(--foreground) 1.6%, var(--joe-bg))}}.joe-page-grid .joe-systems-copy-cell h2{max-width:11ch;font-size:clamp(1.75rem,2.85vw,2.45rem)}.joe-page-grid .joe-systems-copy-cell p,.joe-page-grid .joe-systems-diagram p{font-size:.92rem}.joe-diagram-stack{background:linear-gradient(var(--joe-bg), var(--joe-bg)) padding-box, linear-gradient(180deg, var(--foreground), var(--foreground)) border-box}@supports (color:color-mix(in lab, red, red)){.joe-diagram-stack{background:linear-gradient(var(--joe-bg), var(--joe-bg)) padding-box, linear-gradient(180deg, color-mix(in oklab, var(--foreground) 18%, transparent), color-mix(in oklab, var(--foreground) 7%, transparent)) border-box}}.joe-diagram-stack:after{background:linear-gradient(90deg, transparent, var(--foreground), transparent)}@supports (color:color-mix(in lab, red, red)){.joe-diagram-stack:after{background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--foreground) 22%, transparent), transparent)}}.joe-diagram-stack:after{content:"";height:1px;position:absolute;top:50%;left:12%;right:12%;transform:translate(-18%)}.joe-diagram-node{transition:border-color .16s,color .16s,transform .18s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:no-preference){.joe-diagram-stack:after{animation:4.8s ease-in-out infinite joe-diagram-scan}.joe-diagram-node{animation:5.2s ease-in-out infinite joe-node-breathe}.joe-diagram-node[data-node=Backup]{animation-delay:.8s}.joe-diagram-node[data-node=Security]{animation-delay:1.6s}.joe-diagram-node[data-node=Workflow]{animation-delay:2.4s}}@keyframes joe-diagram-scan{0%,to{opacity:.18;transform:translate(-18%)}50%{opacity:.72;transform:translate(18%)}}@keyframes joe-node-breathe{0%,to{border-color:var(--joe-line-strong)}50%{border-color:color-mix(in oklab, var(--foreground) 40%, transparent)}}.joe-page-grid .joe-certification-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.joe-page-grid .joe-certification-tile{background:var(--joe-bg);gap:.85rem;min-height:6.35rem;padding:.82rem;transition:background-color .16s,border-color .16s,transform .18s cubic-bezier(.16,1,.3,1)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-certification-tile:hover,.joe-page-grid .joe-certification-tile:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), color-mix(in oklab, var(--foreground) 7%, transparent), transparent 44%), color-mix(in oklab, var(--foreground) 1.6%, var(--joe-bg))}}.joe-certification-tile-mark{width:2.85rem;height:2.45rem}.joe-certification-badge-image{max-width:2.85rem;max-height:2.25rem}.joe-certification-company-logo{max-width:1.65rem;max-height:1.45rem}.joe-certification-name{color:var(--joe-ink)}@supports (color:color-mix(in lab, red, red)){.joe-certification-name{color:color-mix(in oklab, var(--joe-ink) 86%, var(--joe-bg))}}.joe-certification-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.74rem;line-height:1.25;display:-webkit-box;overflow:hidden}.joe-photo-marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 3rem calc(100% - 3rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 3rem calc(100% - 3rem),#0000)}.joe-photo-frame{aspect-ratio:16/9}.joe-page-grid .joe-blog-row{background:var(--joe-bg);min-height:8.2rem}.joe-page-grid .joe-contact-actions a{background:var(--joe-bg);transition:background-color .16s,border-color .16s,color .16s,transform .18s cubic-bezier(.16,1,.3,1)}@media (max-width:1180px) and (min-width:981px){.joe-page-grid .joe-certification-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (max-width:980px){.joe-page-grid .joe-work-table{grid-template-columns:minmax(0,1fr)}.joe-page-grid .joe-work-table-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""title""copy"}.joe-page-grid .joe-work-table-head p{text-align:left;justify-self:start}.joe-page-grid .joe-work-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"index action""title title""started status""media media"}.joe-page-grid .joe-certification-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:700px){.joe-page-grid .joe-work-table-head{padding:1rem}.joe-page-grid .joe-work-table-head h2{font-size:1.75rem}.joe-page-grid .joe-work-card{min-height:0}.joe-page-grid .joe-work-summary{-webkit-line-clamp:3}.joe-page-grid .joe-certification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.joe-photo-marquee{-webkit-mask-image:none;mask-image:none}}@media (prefers-reduced-motion:reduce){html,body{scroll-behavior:auto!important}*,:before,:after{transition:none!important;animation:none!important}.joe-name-particles-canvas{display:none}.joe-name-particles[data-particles-ready=true] h1{opacity:1}.joe-photo-marquee{scroll-snap-type:x proximity;scrollbar-width:none;overflow-x:auto}.joe-photo-marquee-track{animation:none;transform:none}.joe-photo-marquee-copy[aria-hidden=true]{display:none}.joe-photo-card{scroll-snap-align:start}}.site-header{backface-visibility:visible;transform:none;border-bottom:0!important}.site-header:after{background:var(--border);content:"";pointer-events:none;height:1px;position:absolute;bottom:0;left:0;right:0}.joe-hero-news{color:var(--joe-ink);border-radius:999px;justify-content:center;align-items:center;gap:.72rem;max-width:fit-content;min-height:2.5rem;margin:clamp(1rem,2vw,1.35rem) auto 0;padding:.35rem .35rem .35rem .45rem;font-size:.875rem;line-height:1.2;text-decoration:none;transition:background-color .16s,color .16s,transform .18s cubic-bezier(.16,1,.3,1);display:flex}.joe-hero-news:hover,.joe-hero-news:focus-visible{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-hero-news:hover,.joe-hero-news:focus-visible{background:color-mix(in oklab, var(--foreground) 3%, var(--joe-bg))}}.joe-hero-news-label{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-hero-news-label{background:color-mix(in oklab, var(--foreground) 3.5%, var(--joe-bg))}}.joe-hero-news-label{border:1px solid var(--joe-line);color:var(--joe-muted);font-family:var(--font-geist-sans), sans-serif;white-space:nowrap;border-radius:999px;flex:none;padding:.36rem .64rem;font-size:.75rem;line-height:1}.joe-hero-news-copy{color:var(--joe-ink)}@supports (color:color-mix(in lab, red, red)){.joe-hero-news-copy{color:color-mix(in oklab, var(--joe-ink) 82%, var(--joe-bg))}}.joe-hero-news-copy{min-width:0}.joe-hero-news-icon{background:var(--joe-ink);color:var(--joe-bg);border-radius:999px;flex:none;width:1.75rem;height:1.75rem;padding:.44rem;transition:transform .18s cubic-bezier(.16,1,.3,1)}.joe-hero-news:hover .joe-hero-news-icon,.joe-hero-news:focus-visible .joe-hero-news-icon{transform:translate(2px)}.joe-name-particles-canvas{inset:auto 0}.joe-signature-stage{background:var(--joe-bg);border:0;min-height:clamp(25rem,54svh,35rem);padding-top:clamp(1.35rem,4vw,2.75rem);padding-bottom:clamp(2.1rem,5vw,4rem)}.joe-signature-stage:before,.joe-signature-stage:after{display:none}@media (min-width:981px){.joe-signature-stage{min-height:clamp(28rem,54svh,37rem);padding-top:clamp(1.35rem,3vw,2.4rem);padding-bottom:clamp(2rem,4.5vw,3.7rem)}}.joe-site .joe-grid-shell{max-width:1120px;padding-top:0;padding-bottom:clamp(3rem,6vw,5rem)}.joe-page-grid{background:var(--joe-bg);border:1px solid var(--joe-line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;display:grid;overflow:hidden}.joe-page-grid>.joe-section{background:var(--joe-bg);border-bottom:1px solid var(--joe-line);grid-column:auto;min-width:0;padding:0;display:grid}.joe-page-grid>.joe-work,.joe-page-grid>.joe-systems,.joe-page-grid>.joe-credentials{grid-column:1/-1}.joe-page-grid>.joe-community{border-bottom:1px solid var(--joe-line);border-right:0;grid-column:1/-1}.joe-page-grid>.joe-blog{border-bottom:0;border-right:1px solid var(--joe-line);grid-column:1/7}.joe-page-grid>.joe-contact{border-bottom:0;grid-column:7/-1}.joe-page-grid>.joe-section>.site-shell{width:100%;min-width:0;max-width:none;padding-left:0;padding-right:0;display:block}.joe-page-grid .joe-work-table,.joe-page-grid .joe-timeline,.joe-page-grid .joe-certification-grid,.joe-page-grid .joe-photo-marquee,.joe-page-grid .joe-blog-row,.joe-page-grid .joe-contact-actions{border:0;margin:0}.joe-page-grid .joe-work-table{background:var(--joe-bg);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(clamp(13.5rem,15vw,16rem),auto);align-items:stretch;display:grid;overflow:hidden}.joe-page-grid .joe-work-table-head{background:var(--joe-bg);border-bottom:1px solid var(--joe-line);color:var(--joe-ink);text-transform:none;border-right:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(18rem,31rem);grid-template-areas:"label copy""title copy";align-content:center;align-items:end;gap:.75rem clamp(1.5rem,4vw,3rem);min-height:0;padding:clamp(1.25rem,2.2vw,2rem);display:grid}.joe-page-grid .joe-work-table-head .joe-section-label{grid-area:label;justify-self:start}.joe-page-grid .joe-work-table-head h2{letter-spacing:0;text-wrap:balance;grid-area:title;max-width:12ch;margin:0;font-size:clamp(2.1rem,4vw,3.8rem);font-weight:620;line-height:.98}.joe-page-grid .joe-work-table-head p{color:var(--joe-muted);font-family:var(--font-geist-sans), sans-serif;text-align:right;text-transform:none;grid-area:copy;place-self:end;max-width:25rem;font-size:.95rem;line-height:1.55}.joe-page-grid .joe-work-card{background:var(--joe-bg);border-bottom:1px solid var(--joe-line);border-right:1px solid var(--joe-line);grid-template:"index action""title title""media media""started status"/minmax(0,1fr) auto;grid-area:span 1/span 1;align-content:start;gap:.82rem;height:100%;min-height:0;padding:clamp(1.05rem,1.6vw,1.35rem);transition:background-color .16s,border-color .16s,box-shadow .16s,transform .18s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.joe-page-grid .joe-work-card[data-featured=true]{grid-area:span 2/span 2;grid-template-rows:auto minmax(7rem,auto) minmax(12rem,1fr) auto;padding:clamp(1.35rem,2.2vw,1.9rem)}.joe-page-grid .joe-work-card:last-of-type:not([data-featured=true]){grid-template:"index title media action""started title media status"/auto minmax(0,.72fr) minmax(20rem,1.28fr) auto;grid-column:1/-1;align-items:center;min-height:clamp(15rem,19vw,18.5rem)}.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), var(--foreground), transparent 44%), var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), color-mix(in oklab, var(--foreground) 6%, transparent), transparent 44%), color-mix(in oklab, var(--foreground) 1.2%, var(--joe-bg))}}.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{border-color:var(--joe-line-strong);box-shadow:inset 0 1px 0 var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-work-card:focus-within{box-shadow:inset 0 1px 0 color-mix(in oklab, var(--foreground) 5%, transparent)}}.joe-page-grid .joe-work-index{background:var(--foreground);align-self:start;align-items:center}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-index{background:color-mix(in oklab, var(--foreground) 1.6%, var(--joe-bg))}}.joe-page-grid .joe-work-index{border:1px solid var(--joe-line)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-index{border:1px solid color-mix(in oklab, var(--joe-line) 88%, transparent)}}.joe-page-grid .joe-work-index{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;border-radius:999px;grid-area:index;justify-content:center;justify-self:start;width:auto;height:2rem;padding:0 .72rem;font-size:.72rem;line-height:1;display:inline-grid}.joe-page-grid .joe-work-title{border:0;grid-area:title;align-self:stretch;min-width:0;padding:0;display:grid}.joe-page-grid .joe-work-title>div{align-content:start;gap:.46rem;min-width:0;display:grid}.joe-page-grid .joe-work-table h3{overflow-wrap:anywhere;text-wrap:balance;margin:0;font-size:clamp(1.2rem,1.8vw,1.7rem);font-weight:560;line-height:1.08}.joe-page-grid .joe-work-card[data-featured=true] h3{max-width:13ch;font-size:clamp(1.7rem,2.8vw,2.55rem);font-weight:620}.joe-page-grid .joe-work-summary{color:var(--joe-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:25rem;margin:0;font-size:.86rem;line-height:1.5;display:-webkit-box;overflow:hidden}.joe-page-grid .joe-work-card[data-featured=true] .joe-work-summary{-webkit-line-clamp:3;font-size:.95rem}.joe-page-grid .joe-work-card:last-of-type:not([data-featured=true]) .joe-work-summary{max-width:24rem}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{background:var(--foreground);align-self:end;align-items:center}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{background:color-mix(in oklab, var(--foreground) 1.6%, var(--joe-bg))}}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{border:1px solid var(--joe-line)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{border:1px solid color-mix(in oklab, var(--joe-line) 88%, transparent)}}.joe-page-grid .joe-work-started,.joe-page-grid .joe-work-status{color:var(--joe-muted);border-radius:999px;justify-self:start;gap:.42rem;width:fit-content;min-width:0;min-height:2rem;padding:0 .72rem;font-size:.72rem;line-height:1.2;display:inline-flex}.joe-page-grid .joe-work-started{grid-area:started}.joe-page-grid .joe-work-status{grid-area:status}.joe-page-grid .joe-work-started>span{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;font-size:inherit;margin:0;display:inline}.joe-page-grid .joe-work-thumb{aspect-ratio:16/8.35;background:var(--joe-panel-strong);border:1px solid var(--joe-line);border-radius:var(--radius-geist-6);opacity:.78;grid-area:media;place-self:start stretch;width:100%;max-width:none;height:auto;max-height:none;display:block;position:relative;overflow:hidden}.joe-page-grid .joe-work-card[data-featured=true] .joe-work-thumb{aspect-ratio:16/9;opacity:.92;align-self:start;margin-top:clamp(.45rem,1vw,.85rem)}.joe-page-grid .joe-work-card:last-of-type:not([data-featured=true]) .joe-work-thumb{aspect-ratio:16/7;align-self:center}.joe-page-grid .joe-work-card:hover .joe-work-thumb,.joe-page-grid .joe-work-card:focus-within .joe-work-thumb{border-color:var(--joe-line-strong);opacity:1}.joe-page-grid .joe-work-card:hover .joe-cover-image,.joe-page-grid .joe-work-card:focus-within .joe-cover-image{filter:grayscale(0)saturate()contrast()}.joe-page-grid .joe-work-card-action{border-radius:999px;grid-area:action;place-self:start end;min-width:2.75rem;min-height:2.75rem;padding:0}.joe-page-grid .joe-work-card-action svg,.joe-page-grid .joe-blog-row a{transition:transform .18s cubic-bezier(.16,1,.3,1)}.joe-page-grid .joe-work-card:hover .joe-work-card-action svg,.joe-page-grid .joe-work-card:focus-within .joe-work-card-action svg,.joe-page-grid .joe-blog-row:hover a,.joe-page-grid .joe-blog-row:focus-within a{transform:translate(2px)}.joe-page-grid .joe-timeline{background:var(--joe-bg);grid-template-columns:repeat(6,minmax(0,1fr));display:grid;overflow:hidden}.joe-page-grid .joe-timeline article{background:var(--joe-bg);border:0;border-bottom:1px solid var(--joe-line);border-right:1px solid var(--joe-line);grid-column:span 2;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;gap:1rem;min-height:clamp(13rem,18vw,17rem);padding:clamp(1.05rem,1.75vw,1.55rem);transition:background-color .16s,border-color .16s,transform .18s cubic-bezier(.16,1,.3,1);display:grid}.joe-page-grid .joe-systems-copy-cell{grid-column:span 2}.joe-page-grid .joe-systems-diagram{grid-column:span 4;gap:clamp(1rem,2vw,1.5rem)}.joe-page-grid .joe-system-role-card:nth-last-child(-n+2){grid-column:span 3}.joe-page-grid .joe-timeline article:hover,.joe-page-grid .joe-timeline article:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), var(--foreground), transparent 44%), var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-timeline article:hover,.joe-page-grid .joe-timeline article:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), color-mix(in oklab, var(--foreground) 5.5%, transparent), transparent 44%), color-mix(in oklab, var(--foreground) 1.1%, var(--joe-bg))}}.joe-page-grid .joe-systems-copy-cell h2{text-wrap:balance;max-width:11ch;margin:0;font-size:clamp(1.65rem,2.5vw,2.35rem);font-weight:620;line-height:1.02}.joe-page-grid .joe-systems-copy-cell p,.joe-page-grid .joe-systems-diagram p,.joe-page-grid .joe-system-role-card small{color:var(--joe-muted);font-size:.86rem;line-height:1.55}.joe-diagram-stack{aspect-ratio:16/7;background:linear-gradient(var(--joe-bg), var(--joe-bg)) padding-box, linear-gradient(180deg, var(--foreground), var(--foreground)) border-box}@supports (color:color-mix(in lab, red, red)){.joe-diagram-stack{background:linear-gradient(var(--joe-bg), var(--joe-bg)) padding-box, linear-gradient(180deg, color-mix(in oklab, var(--foreground) 18%, transparent), color-mix(in oklab, var(--foreground) 7%, transparent)) border-box}}.joe-diagram-stack{border-radius:var(--radius-geist-12);border:1px solid #0000}.joe-page-grid .joe-system-role-card .joe-timeline-index{background:var(--foreground);align-items:center}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-system-role-card .joe-timeline-index{background:color-mix(in oklab, var(--foreground) 1.6%, var(--joe-bg))}}.joe-page-grid .joe-system-role-card .joe-timeline-index{border:1px solid var(--joe-line)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-system-role-card .joe-timeline-index{border:1px solid color-mix(in oklab, var(--joe-line) 88%, transparent)}}.joe-page-grid .joe-system-role-card .joe-timeline-index{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;border-radius:999px;justify-content:center;justify-self:start;width:auto;height:2rem;padding:0 .72rem;font-size:.72rem;display:inline-grid}.joe-page-grid .joe-system-role-card .joe-timeline-node{display:none}.joe-page-grid .joe-system-role-card>div{border:0;gap:.42rem;height:auto;padding:0;display:grid}.joe-page-grid .joe-system-role-card small{padding:0}.joe-page-grid .joe-credentials>.site-shell{grid-template-rows:auto 1fr;height:100%;display:grid}.joe-page-grid .joe-credentials .joe-section-head{border-bottom:1px solid var(--joe-line);max-width:none;padding:clamp(1rem,1.8vw,1.35rem)}.joe-page-grid .joe-credentials .joe-section-head h2{font-size:clamp(1.45rem,2vw,2rem);font-weight:620;line-height:1.05}.joe-page-grid .joe-systems .joe-section-head,.joe-page-grid .joe-credentials .joe-section-head{grid-template-columns:minmax(0,1fr) minmax(14rem,25rem);grid-template-areas:"label copy""title copy";align-items:end;gap:.75rem clamp(1.5rem,4vw,3rem);min-height:clamp(11rem,17vw,15rem);padding:clamp(1.35rem,2.8vw,2.45rem);display:grid}.joe-page-grid .joe-systems .joe-section-head .joe-section-label,.joe-page-grid .joe-credentials .joe-section-head .joe-section-label{grid-area:label}.joe-page-grid .joe-systems .joe-section-head h2,.joe-page-grid .joe-credentials .joe-section-head h2{text-wrap:balance;grid-area:title;max-width:13ch;font-size:clamp(2.1rem,4vw,3.65rem);font-weight:620;line-height:.98}.joe-page-grid .joe-credentials .joe-section-head h2{max-width:12ch;font-size:clamp(2rem,3.3vw,3.1rem)}.joe-page-grid .joe-systems .joe-section-head p:not(.joe-section-label),.joe-page-grid .joe-credentials .joe-section-head p:not(.joe-section-label){color:var(--joe-muted);text-align:right;grid-area:copy;place-self:end;max-width:24rem;margin:0;font-size:.95rem;line-height:1.55}.joe-page-grid .joe-systems .joe-timeline article,.joe-page-grid .joe-systems .joe-systems-diagram,.joe-page-grid .joe-systems .joe-system-role-card:nth-last-child(-n+2){grid-column:span 3}.joe-page-grid .joe-certification-grid{--joe-cert-grid-columns:9;--joe-cert-grid-column-width:11.1111%;grid-template-columns:repeat(9,minmax(0,1fr));min-width:0;display:grid;position:relative}.joe-page-grid .joe-certification-grid:after{background-image:linear-gradient(90deg, transparent calc(100% - 1px), var(--joe-line) calc(100% - 1px));background-repeat:repeat;background-size:var(--joe-cert-grid-column-width) 100%;content:"";pointer-events:none;z-index:2;position:absolute;inset:0}.joe-page-grid .joe-certification-tile{background:var(--joe-bg);border:0;border-bottom:1px solid var(--joe-line);text-align:center;z-index:1;grid-template-columns:minmax(0,1fr);align-content:center;place-items:center;gap:.55rem;min-height:6.9rem;margin:0;padding:.7rem .55rem;transition:background-color .16s,border-color .16s,transform .18s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.joe-page-grid .joe-certification-tile:hover,.joe-page-grid .joe-certification-tile:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), var(--foreground), transparent 44%), var(--foreground)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-certification-tile:hover,.joe-page-grid .joe-certification-tile:focus-within{background:radial-gradient(circle at var(--surface-x,50%) var(--surface-y,0%), color-mix(in oklab, var(--foreground) 6%, transparent), transparent 44%), color-mix(in oklab, var(--foreground) 1.1%, var(--joe-bg))}}.joe-page-grid .joe-certification-tile-mark{justify-items:center;width:100%;height:2rem}.joe-page-grid .joe-certification-badge-image{max-width:2.45rem;max-height:2rem}.joe-page-grid .joe-certification-company-logo{max-width:1.75rem;max-height:1.45rem}.joe-page-grid .joe-certification-name{color:var(--joe-ink)}@supports (color:color-mix(in lab, red, red)){.joe-page-grid .joe-certification-name{color:color-mix(in oklab, var(--joe-ink) 86%, var(--joe-bg))}}.joe-page-grid .joe-certification-name{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.65rem;font-weight:500;line-height:1.2;display:-webkit-box;overflow:hidden}.joe-photo-marquee{background:var(--joe-bg);min-height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}.joe-photo-card{flex-basis:clamp(16rem,23vw,21rem)}.joe-photo-frame{aspect-ratio:4/3;border-radius:0}.joe-page-grid .joe-blog-row{background:var(--joe-bg);grid-template-columns:minmax(0,1fr);align-content:space-between;align-items:start;gap:1rem;min-height:100%;padding:clamp(1.05rem,1.8vw,1.35rem);transition:background-color .16s,border-color .16s,transform .18s cubic-bezier(.16,1,.3,1);display:grid}.joe-page-grid .joe-blog-row>span{color:var(--joe-muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:.72rem}.joe-page-grid .joe-blog-row h3{font-size:clamp(1.15rem,1.8vw,1.55rem);font-weight:560;line-height:1.12}.joe-page-grid .joe-blog-row p{color:var(--joe-muted);font-size:.82rem;line-height:1.5}.joe-page-grid .joe-blog-row a{justify-self:start}.joe-page-grid .joe-contact-shell{height:100%}.joe-page-grid .joe-contact-actions{grid-template-columns:repeat(2,minmax(0,1fr));height:100%;display:grid}.joe-page-grid .joe-contact-actions a{background:var(--joe-bg);border:0;border-bottom:1px solid var(--joe-line);border-right:1px solid var(--joe-line);justify-content:flex-start;align-items:center;gap:.55rem;min-height:3.6rem;padding:0 clamp(1rem,1.8vw,1.35rem);transition:background-color .16s,border-color .16s,color .16s,transform .18s cubic-bezier(.16,1,.3,1);display:flex}.joe-page-grid .joe-contact-actions a:last-child,.joe-page-grid .joe-contact-actions a:nth-child(2n){border-right:0}.joe-page-grid .joe-contact-actions a:nth-last-child(-n+2){border-bottom:0}.joe-page-grid .joe-contact-actions .joe-action-primary{background:var(--joe-ink);color:var(--joe-bg)}@media (hover:hover) and (pointer:fine){.joe-page-grid .joe-work-card:hover,.joe-page-grid .joe-system-role-card:hover,.joe-page-grid .joe-certification-tile:hover,.joe-page-grid .joe-blog-row:hover,.joe-page-grid .joe-contact-actions a:hover{transform:translateY(-1px)}}@media (max-width:1180px){.joe-page-grid>.joe-systems,.joe-page-grid>.joe-credentials,.joe-page-grid>.joe-community,.joe-page-grid>.joe-blog,.joe-page-grid>.joe-contact{border-bottom:1px solid var(--joe-line);border-right:0;grid-column:1/-1}.joe-page-grid>.joe-contact{border-bottom:0}.joe-page-grid .joe-work-table{grid-template-columns:repeat(2,minmax(0,1fr))}.joe-page-grid .joe-work-card[data-featured=true],.joe-page-grid .joe-work-card:last-of-type:not([data-featured=true]){grid-column:1/-1}.joe-page-grid .joe-work-card[data-featured=true]{grid-row:span 1}.joe-page-grid .joe-work-card:last-of-type:not([data-featured=true]){grid-template:"index action""title title""media media""started status"/minmax(0,1fr) auto;min-height:0}.joe-page-grid .joe-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.joe-page-grid .joe-systems-copy-cell,.joe-page-grid .joe-systems-diagram,.joe-page-grid .joe-system-role-card,.joe-page-grid .joe-system-role-card:nth-last-child(-n+2),.joe-page-grid .joe-systems .joe-timeline article,.joe-page-grid .joe-systems .joe-systems-diagram,.joe-page-grid .joe-systems .joe-system-role-card:nth-last-child(-n+2){grid-column:span 1}.joe-page-grid .joe-certification-grid{--joe-cert-grid-columns:3;--joe-cert-grid-column-width:33.3333%;grid-template-columns:repeat(3,minmax(0,1fr))}.joe-page-grid .joe-contact-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.joe-page-grid .joe-contact-actions a{border-bottom:0;border-right:1px solid var(--joe-line)}.joe-page-grid .joe-contact-actions a:nth-child(2n){border-right:1px solid var(--joe-line)}.joe-page-grid .joe-contact-actions a:nth-last-child(-n+2){border-bottom:0}.joe-page-grid .joe-contact-actions a:last-child{border-right:0}}@media (max-width:760px){.joe-hero-news{justify-content:flex-start;width:100%;max-width:none;font-size:.8125rem}.joe-page-grid,.joe-page-grid .joe-work-table,.joe-page-grid .joe-timeline{grid-template-columns:minmax(0,1fr)}.joe-page-grid .joe-work-table-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""title""copy";padding:1rem}.joe-page-grid .joe-systems .joe-section-head,.joe-page-grid .joe-credentials .joe-section-head{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""title""copy";min-height:0;padding:1rem}.joe-page-grid .joe-work-table-head h2{font-size:clamp(1.75rem,10vw,2.35rem)}.joe-page-grid .joe-work-table-head p,.joe-page-grid .joe-systems .joe-section-head p:not(.joe-section-label),.joe-page-grid .joe-credentials .joe-section-head p:not(.joe-section-label){text-align:left;justify-self:start}.joe-page-grid .joe-work-card,.joe-page-grid .joe-work-card[data-featured=true],.joe-page-grid .joe-work-card:last-of-type:not([data-featured=true]),.joe-page-grid .joe-systems-copy-cell,.joe-page-grid .joe-systems-diagram,.joe-page-grid .joe-system-role-card,.joe-page-grid .joe-system-role-card:nth-last-child(-n+2){grid-column:1/-1}.joe-page-grid .joe-work-card{grid-template-rows:auto auto auto auto;min-height:0}.joe-page-grid .joe-work-card[data-featured=true]{grid-row:span 1}.joe-page-grid .joe-work-card[data-featured=true] h3{max-width:none}.joe-page-grid .joe-certification-grid{--joe-cert-grid-columns:3;--joe-cert-grid-column-width:33.3333%;grid-template-columns:repeat(3,minmax(0,1fr))}.joe-photo-marquee{-webkit-mask-image:none;mask-image:none}.joe-page-grid .joe-blog-row{min-height:12rem}.joe-page-grid .joe-contact-actions{grid-template-columns:minmax(0,1fr)}.joe-page-grid .joe-contact-actions a{border-bottom:1px solid var(--joe-line);border-right:0}.joe-page-grid .joe-contact-actions a:nth-child(2n){border-right:0}.joe-page-grid .joe-contact-actions a:nth-last-child(-n+2){border-bottom:1px solid var(--joe-line)}.joe-page-grid .joe-contact-actions a:last-child{border-bottom:0}}@media (max-width:430px){.joe-page-grid .joe-certification-grid{--joe-cert-grid-columns:1;--joe-cert-grid-column-width:100%;grid-template-columns:minmax(0,1fr)}.joe-page-grid .joe-certification-tile{text-align:left;grid-template-columns:2.35rem minmax(0,1fr);justify-items:start;gap:.72rem;min-height:5.35rem;padding:.72rem}.joe-page-grid .joe-certification-tile-mark{justify-items:start;width:2.35rem;height:2.1rem}.joe-page-grid .joe-certification-badge-image{max-width:2.35rem}.joe-page-grid .joe-certification-name{-webkit-line-clamp:2;font-size:.72rem;line-height:1.25}}@media (prefers-reduced-motion:reduce){.joe-photo-marquee{scrollbar-width:none;scroll-snap-type:x proximity;overflow-x:auto;-webkit-mask-image:none;mask-image:none}.joe-photo-marquee-track{animation:none;transform:none}.joe-photo-marquee-copy[aria-hidden=true]{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}@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));filter:blur(var(--tw-enter-blur,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));filter:blur(var(--tw-exit-blur,0))}}
