@font-face{font-family:sans;src:url(../media/sans-s.p.1lf96kbl_wni-.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:sans Fallback;src:local(Arial);ascent-override:94.36%;descent-override:29.49%;line-gap-override:0.0%;size-adjust:105.13%}.hzCHfG_className{font-family:sans,sans Fallback;font-weight:400}.hzCHfG_variable{--font-sans:"sans", "sans Fallback"}
@font-face{font-family:"serif";src:url(../media/serif-s.p.1cjvt01sio8vf.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:"serif";src:url(../media/serif_italic-s.p.33a29xz-z_fkg.ttf)format("truetype");font-display:swap;font-weight:400;font-style:italic}@font-face{font-family:serif Fallback;src:local(Arial);ascent-override:102.23%;descent-override:33.06%;line-gap-override:0.0%;size-adjust:101.35%}._GTbZG_className{font-family:"serif",serif Fallback}._GTbZG_variable{--font-serif:"serif", "serif Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--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-font-weight:initial;--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-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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-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;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--radius-md:var(--radius);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}}@layer components;@layer utilities{.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}.fixed{position:fixed}.static{position:static}.inset-0{inset:0}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.z-50{z-index:50}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-auto{height:auto}.w-fit{width:fit-content}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.overflow-hidden{overflow:hidden}.rounded-4xl{border-radius:var(--radius)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md), 10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md), 12px)}.rounded-lg{border-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--paper)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, 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-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-clip-padding{background-clip:padding-box}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.font-heading{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-\[0\.8rem\]{font-size:.8rem}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--ink)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.italic{font-style:italic}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-\[color\,background-color\,border-color\,box-shadow\,transform\]{transition-property:color,background-color,border-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-\[transform\,opacity\]{transition-property:transform,opacity;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}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.running{animation-play-state:running}@media (hover:hover){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_oklch\,var\(--secondary\)\,var\(--foreground\)_5\%\)\]:hover{background-color:color-mix(in oklch,var(--secondary),var(--foreground) 5%)}}.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\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.hover\:text-foreground:hover{color:var(--ink)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:border-destructive\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:border-destructive\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.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\/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)}}.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-lg{border-radius:var(--radius)}.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-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)}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--ink)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-3[aria-invalid=true]{--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)}.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-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-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, )}}@media (min-width:40rem){.data-\[side\=left\]\:sm\:max-w-sm[data-side=left],.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/20{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/20{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\:hover\:bg-destructive\/30:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-destructive\/30:hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\:hover\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\:hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:focus-visible\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:border-destructive\/50[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:aria-invalid\:ring-destructive\/40[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, 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\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.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\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.data-horizontal\:h-px:where([data-orientation=horizontal]){height:1px}.data-horizontal\:w-full:where([data-orientation=horizontal]){width:100%}.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)}@media (hover:hover){.\[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\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-primary\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.\[a\]\:hover\:bg-secondary\/80:is(a):hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.\[a\]\:hover\:text-muted-foreground:is(a):hover{color:var(--muted-foreground)}}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\!>svg{width:calc(var(--spacing) * 3)!important;height:calc(var(--spacing) * 3)!important}}@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}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--background:var(--paper);--foreground:var(--ink);--card:var(--paper);--card-foreground:var(--ink);--popover:var(--paper);--popover-foreground:var(--ink);--primary:var(--ink);--primary-foreground:var(--paper);--secondary:var(--wash);--secondary-foreground:var(--ink);--muted:var(--wash);--muted-foreground:var(--text-muted);--accent:var(--wash);--accent-foreground:var(--ink);--destructive:#9b342b;--border:var(--line);--input:var(--line);--ring:var(--green);--radius:0rem;--paper:#f7f6f0;--ink:#242820;--text-muted:#62665d;--line:#d6d7ce;--green:#374837;--wash:#e8eae1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}::selection{background:#d3dbc9}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:6px}h1,h2,h3,h4,p{margin:0}h1,h2{font-family:var(--font-serif), Georgia, serif;letter-spacing:-.035em;font-weight:400;line-height:1.08}h1{font-size:clamp(58px,7.5vw,108px)}h2{font-size:clamp(42px,4.7vw,66px)}h3,h4{font-weight:600}em{color:#53604c;font-weight:400}p{color:var(--text-muted)}.shell{width:calc(100% - 112px);max-width:1280px;margin-inline:auto}.eyebrow{letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:500;line-height:1.6}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:32px;height:112px;display:flex}.wordmark{letter-spacing:-.04em;white-space:nowrap;font-size:20px;font-weight:700;line-height:1.25}.wordmark span{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-top:7px;font-size:9px;font-weight:400;display:block}.desktop-nav{gap:29px;font-size:13px;display:flex}.desktop-nav a,.site-footer a{transition:color .2s}.desktop-nav a:hover,.site-footer a:hover{color:#728267}.cv-link{border-bottom:1px solid var(--ink);padding-block:9px;font-size:12px}.cv-link span{margin-left:18px}.mobile-menu{display:none}.hero{padding-top:64px;padding-bottom:24px}.hero-eyebrow{margin-bottom:26px}.hero-eyebrow span{margin:0 8px}.hero h1{max-width:1100px;line-height:1.04}.hero h1 em{padding-bottom:6px;line-height:1.12;display:inline-block}.hero-bottom{grid-template-columns:1fr 1fr;align-items:center;gap:60px;margin-top:36px;display:grid}.hero-description{max-width:470px;font-size:15px;line-height:1.75}.hero-actions{justify-content:flex-end;align-items:center;gap:32px;display:flex}.button{background:var(--ink);color:var(--paper);white-space:nowrap;justify-content:space-between;align-items:center;gap:46px;min-height:52px;padding:16px 24px;font-size:13px;line-height:1.4;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:var(--green);transform:translateY(-2px)}.arrow{font-family:Arial,sans-serif;font-size:1.35em;line-height:1;transition:transform .25s;display:inline-block}.text-link{color:var(--ink);border-bottom:1px solid var(--ink);align-items:center;gap:20px;width:fit-content;padding-block:9px;font-size:12px;display:inline-flex}.text-link:hover .arrow,a:hover>h3 .arrow,a:hover h3 .arrow{transform:translate(3px,-3px)}.hero-footnote{color:var(--text-muted);justify-content:space-between;margin-top:48px;font-size:10px;display:flex}.capability-strip{border-block:1px solid var(--line);margin-top:0}.capability-strip>.shell{grid-template-columns:repeat(4,1fr);display:grid}.capability-strip>.shell>span{padding:22px 0;font-size:13px}.strip-number{vertical-align:super;color:var(--text-muted);margin-right:14px;font-size:9px}.work-section{padding-top:100px;padding-bottom:110px}.section-heading{grid-template-columns:1fr 2fr;align-items:start;gap:25px;margin-bottom:44px;display:grid}.section-heading>.section-label{grid-column:1}.section-heading>h2{grid-area:1/2/3}.section-heading>p:not(.section-label),.section-heading>a{grid-area:2/1;align-self:end;font-size:13px;line-height:1.8}.section-label{gap:22px;display:flex}.section-label>span{letter-spacing:0;font-size:10px}.project-image-link{display:block;overflow:hidden}.project-visual{background:#e2e6dc;padding:50px 70px;transition:background .4s;overflow:hidden}.browser-frame{background:var(--paper);transition:transform .6s cubic-bezier(.2,.8,.2,1);box-shadow:0 14px 40px #34402c12}.project-image-link:hover .browser-frame{transform:translateY(-5px)}.browser-bar{color:#686c61;background:#f9faf7;border-bottom:1px solid #e2e4dc;justify-content:space-between;align-items:center;padding:8px 15px;font-size:9px;display:flex}.browser-dots{letter-spacing:2px;color:#7b8272;font-size:14px;line-height:1}.browser-frame img{aspect-ratio:1.66;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.flagship-copy{grid-template-columns:1fr 1fr;gap:60px;padding:30px 0 25px;display:grid}.flagship h3{font-family:var(--font-serif);letter-spacing:-.03em;font-size:54px;font-weight:400;line-height:1.3}.flagship h3 a{align-items:center;gap:30px;width:fit-content;display:flex}.flagship h3 .arrow{font-size:30px}.flagship-copy>div>p:not(.eyebrow){max-width:490px;margin-bottom:17px;font-size:16px}.live-marker{vertical-align:middle;background:#516749;border-radius:50%;width:5px;height:5px;margin-right:9px;display:inline-block}.inline-links{flex-wrap:wrap;gap:28px;display:flex}.muted-link{color:var(--text-muted);border-color:var(--line)}.workflow{border-top:1px solid var(--line);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:19px 0;font-size:11px;list-style:none;display:flex}.workflow li{align-items:center;display:flex}.flow-arrow{color:#88917e;margin-inline:30px}.selected-projects{gap:66px;padding-top:72px;display:grid}.project-row{grid-template-columns:1.25fr 1fr;align-items:center;gap:64px;display:grid}.project-row .project-visual{background:#e9e5d8;padding:32px}.project-row .browser-frame img{aspect-ratio:1.45}.project-row .browser-bar{font-size:8px}.project-row-copy .eyebrow{font-size:10px}.index{margin-right:19px}.project-row-copy h3{font-family:var(--font-serif);letter-spacing:-.025em;margin:17px 0;font-size:40px;font-weight:400;line-height:1.15}.project-row-copy h3 a{justify-content:space-between;align-items:center;gap:20px;display:flex}.project-row-copy h3 .arrow{font-size:27px}.project-row-copy>p:not(.eyebrow){max-width:350px;font-size:14px;line-height:1.8}.project-row-copy>.text-link{margin-top:22px}.system-visual{background:#e6e8de;flex-direction:column;justify-content:space-between;min-height:310px;padding:35px 32px;display:flex;overflow:hidden}.system-title{font-family:var(--font-serif);color:var(--ink);letter-spacing:-.02em;margin:30px 0;font-size:33px;line-height:1.22}.system-nodes{border-top:1px solid #bfc7b7;grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;padding-top:15px;display:grid}.system-nodes>div{flex-direction:column;gap:4px;font-size:10px;display:flex}.node-number{color:#53604c;font-size:9px}.visual-caption{text-transform:uppercase;letter-spacing:.1em;margin-top:25px;font-size:9px}.ai-workflow-systems.system-visual{background:#e5e5df}.all-work{margin-top:48px}.business-band{background:var(--ink);color:var(--paper);padding:90px 0}.business-layout{grid-template-columns:1fr 2fr;gap:30px;display:grid}.business-band p{color:#c1c5b8}.business-band h2{font-size:clamp(38px,4.25vw,60px)}.business-band em{color:#bbc7ad}.business-copy{grid-template-columns:1fr 1fr;gap:36px;margin-top:34px;font-size:14px;line-height:1.9;display:grid}.business-keywords{color:#c1c5b8;border-top:1px solid #4d5247;flex-wrap:wrap;gap:12px 25px;margin-top:36px;padding-top:24px;font-size:10px;display:flex}.approach{grid-template-columns:1fr 1fr;gap:80px;padding-block:110px;display:grid}.approach-intro h2{margin:30px 0 24px;font-size:clamp(40px,4vw,56px)}.approach-intro>p:not(.eyebrow){font-size:13px;line-height:1.9}.method-list{margin:0;padding:0;list-style:none}.method-list li{border-top:1px solid var(--line);grid-template-columns:28px 1fr;gap:5px 20px;padding:24px 0;display:grid}.method-number{color:var(--text-muted);grid-row:1/3;padding-top:5px;font-size:10px}.method-list h3{letter-spacing:-.025em;font-size:19px;font-weight:500}.method-list p{max-width:350px;font-size:13px;line-height:1.8}.experience-section{border-top:1px solid var(--line);padding-block:90px}.experience-layout{grid-template-columns:2fr 1fr;gap:100px;margin-top:56px;display:grid}.experience-item{border-top:1px solid var(--line);padding:24px 0}.job-top{justify-content:space-between;gap:24px;display:flex}.job-top h3{letter-spacing:-.02em;font-size:17px}.job-top span{color:var(--text-muted);white-space:nowrap;font-size:11px}.job-role{color:var(--ink);margin:3px 0 13px;font-size:12px}.experience-item>p:last-child{max-width:570px;font-size:13px;line-height:1.85}.credentials{border-left:1px solid var(--line);padding-left:36px}.credentials>h3{letter-spacing:-.03em;margin-top:27px;font-size:20px;font-weight:500}.credentials p{font-size:12px;line-height:1.85}.credentials .eyebrow{font-size:10px}.credentials>div{margin-top:28px}.credentials h4{margin-bottom:4px;font-size:13px;font-weight:500}.credentials .text-link{margin-top:32px}.capabilities{padding-block:20px 90px}.capability-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:40px;margin-top:28px;padding-top:28px;display:grid}.capability-grid h3{margin-bottom:12px;font-size:15px;font-weight:500}.capability-grid p{font-size:12px;line-height:1.9}.contact{border-top:1px solid var(--line);padding-top:60px;padding-bottom:70px}.contact-top{justify-content:space-between;gap:24px;display:flex}.contact-top>p:last-child{font-size:12px;line-height:1.8}.contact h2{max-width:1000px;margin:25px 0 42px;font-size:clamp(70px,9.5vw,136px);line-height:1.02}.contact h2 em{padding-bottom:8px;display:inline-block}.contact-bottom{align-items:center;gap:36px;display:flex}.contact-bottom .text-link:last-child{margin-left:auto}.site-footer{border-top:1px solid var(--line);justify-content:space-between;gap:25px;padding-block:25px;font-size:10px;display:flex}.site-footer>div{gap:20px;display:flex}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:10px 20px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.will-reveal{opacity:0;transition:opacity .65s,transform .65s;transform:translateY(18px)}.index-page,.experience-page{padding-top:70px;padding-bottom:100px}.index-page h1,.experience-page h1{margin-top:20px;font-size:clamp(56px,6.7vw,96px)}.page-intro{max-width:550px;margin-top:30px;font-size:16px;line-height:1.85}.work-index{gap:65px;margin-top:65px;display:grid}.additional-work{border-top:1px solid var(--line);margin-top:90px;padding-top:32px}.additional-work h2{margin:20px 0 32px;font-size:40px}.additional-work>div{grid-template-columns:1fr 1fr;gap:60px;display:grid}.additional-work h3{margin-bottom:14px;font-size:18px}.additional-work article p{font-size:14px;line-height:1.85}.case-page{padding-top:38px;padding-bottom:70px}.back-link{border:0}.case-title{padding:52px 0 40px}.case-title h1{margin-top:16px;font-size:clamp(62px,8.5vw,120px)}.case-summary{max-width:720px;margin-top:24px;font-size:22px;line-height:1.6}.case-meta{border-top:1px solid var(--line);grid-template-columns:1.3fr .7fr 1fr;gap:35px;margin:0 0 25px;padding:25px 0;display:grid}.case-meta dt{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:9px;font-size:10px}.case-meta dd{margin:0;font-size:12px}.case-page>.system-visual{min-height:450px;padding:60px}.case-page>.system-visual .system-title{font-size:60px}.case-page>.system-visual .system-nodes>div{font-size:14px}.case-story{grid-template-columns:1fr 2fr;gap:80px;margin-top:80px;display:grid}.case-story>aside{align-self:start;position:sticky;top:40px}.case-story .workflow{gap:6px 0;max-width:270px;margin:20px 0 30px;line-height:2;display:flex}.case-story .flow-arrow{margin-inline:10px}.case-story section{margin-bottom:65px}.case-story h2{margin:20px 0 24px;font-size:54px}.case-story section>p:not(.eyebrow){max-width:630px;font-size:16px;line-height:1.9}.case-details{gap:28px;margin-top:35px;display:grid}.case-details h3{margin-bottom:8px;font-size:18px;font-weight:500}.case-details p{font-size:14px;line-height:1.85}.boundary{border-left:2px solid var(--green);background:var(--wash);margin-top:24px;padding:20px 24px;font-size:13px!important}.next-project{border-top:1px solid var(--line);padding-top:32px;display:block}.next-project>span:last-child{font-family:var(--font-serif);letter-spacing:-.03em;justify-content:space-between;align-items:center;margin-top:14px;font-size:50px;display:flex}.expanded-experience{margin-top:65px}.expanded-experience>article{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:40px;padding:32px 0;display:grid}.expanded-experience h2{font-family:var(--font-sans);letter-spacing:-.03em;font-size:26px;line-height:1.4}.expanded-experience h3{margin:5px 0 15px;font-size:15px;font-weight:400}.expanded-experience p{max-width:650px;font-size:14px;line-height:1.9}.education-detail{border-top:1px solid var(--line);margin-top:40px;margin-left:calc(33.333% + 13px);padding-top:30px}.education-detail h2{margin:18px 0 24px;font-size:44px}.education-detail h3{margin-top:26px;margin-bottom:12px;font-size:17px;font-weight:500}.education-detail>p:not(.eyebrow){max-width:650px;margin-bottom:15px;font-size:14px;line-height:1.85}.credential-list{color:var(--text-muted);padding-left:18px;font-size:14px;line-height:1.9}.credential-list li{margin-bottom:15px}.education-detail .button{margin-top:24px}.not-found{padding-block:100px}.not-found h1{margin:25px 0}.not-found .button{margin-top:30px}@media (min-width:1450px){.hero{padding-top:80px}.hero-bottom{margin-top:48px}.hero-footnote{margin-top:60px}}@media (max-width:1100px){.shell{width:calc(100% - 64px)}.desktop-nav{gap:19px}.hero-actions{gap:18px}.hero-bottom{gap:32px}.project-row{gap:35px}.project-row-copy h3{font-size:35px}.section-heading{grid-template-columns:1fr 1.8fr}.experience-layout{gap:50px}.capability-grid{gap:25px}.project-visual{padding:40px}.approach{gap:50px}.flow-arrow{margin-inline:23px}.business-layout{grid-template-columns:1fr 2.4fr}.system-title{font-size:28px}.contact-bottom{gap:25px}}@media (max-width:767px){.shell{width:calc(100% - 40px)}.site-header{gap:15px;height:87px}.wordmark{font-size:18px}.wordmark span{font-size:8px}.desktop-nav,.cv-link{display:none}.mobile-menu{font-size:12px;display:block}.hero{padding-top:38px;padding-bottom:22px}.hero-eyebrow{letter-spacing:.08em;max-width:300px;margin-bottom:26px;font-size:9px;line-height:1.9}.hero-eyebrow span{margin-inline:3px}.hero h1{letter-spacing:-.035em;font-size:clamp(48px,10.8vw,80px);line-height:1.06}.desktop-break{display:none}.hero h1 em{padding-bottom:4px;line-height:1.15}.hero-bottom{grid-template-columns:1fr;gap:24px;margin-top:24px}.hero-description{max-width:480px;font-size:14px;line-height:1.8}.hero-actions{flex-wrap:wrap;justify-content:flex-start;gap:23px}.hero-actions .button{gap:30px;padding:15px 20px}.hero-actions .text-link{gap:12px;font-size:11px}.hero-footnote{align-items:start;gap:18px;margin-top:35px;font-size:9px}.hero-footnote span:last-child{text-align:right;max-width:145px}.capability-strip>.shell{grid-template-columns:1fr 1fr}.capability-strip>.shell>span{padding:15px 0;font-size:11px}.capability-strip>.shell>span:nth-child(-n+2){border-bottom:1px solid var(--line)}.strip-number{margin-right:9px;font-size:8px}.work-section{padding-top:58px;padding-bottom:60px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.section-heading>.section-label,.section-heading>h2,.section-heading>p:not(.section-label),.section-heading>a{grid-area:auto}.section-heading h2{font-size:44px}.section-heading>p:not(.section-label){font-size:12px}.section-label{gap:17px;font-size:10px}.project-visual{padding:20px 15px}.browser-bar{padding:6px 10px;font-size:8px}.browser-frame img{aspect-ratio:1.4}.flagship-copy{grid-template-columns:1fr;gap:15px;padding-top:23px;padding-bottom:20px}.flagship h3{font-size:44px}.flagship h3 a{justify-content:space-between;width:100%}.flagship-copy>div>p:not(.eyebrow){font-size:14px}.inline-links{gap:25px}.text-link{gap:13px;font-size:11px}.flagship .workflow{gap:9px 0;font-size:9px}.flow-arrow{margin-inline:11px}.selected-projects{gap:40px;padding-top:42px}.project-row{grid-template-columns:1fr;gap:23px}.project-row .project-visual{padding:20px 15px}.project-row .browser-frame img{aspect-ratio:1.45}.project-row-copy h3{margin-block:11px;font-size:35px}.project-row-copy>p:not(.eyebrow){max-width:100%;font-size:13px}.project-row-copy>.text-link{margin-top:14px}.system-visual{min-height:290px;padding:27px 23px}.system-title{font-size:33px}.system-nodes>div{font-size:9px}.system-nodes{gap:8px}.all-work{margin-top:35px}.business-band{padding-block:50px}.business-layout{grid-template-columns:1fr;gap:28px}.business-band h2{font-size:40px}.business-copy{grid-template-columns:1fr;gap:15px;margin-top:26px;font-size:13px}.business-keywords{gap:10px 20px;margin-top:26px;font-size:9px}.approach{grid-template-columns:1fr;gap:32px;padding-block:60px}.approach-intro h2{margin-block:23px 18px;font-size:42px}.method-list li{padding-block:20px}.method-list h3{font-size:18px}.method-list p{max-width:none;font-size:12px}.experience-section{padding-block:55px}.experience-layout{grid-template-columns:1fr;gap:36px;margin-top:32px}.job-top h3{font-size:15px}.job-top span{font-size:10px}.job-top{gap:12px}.job-role{font-size:11px}.experience-item>p:last-child{font-size:12px}.credentials{border-left:0;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px;padding:25px 0 0;display:grid}.credentials>.eyebrow{grid-column:1/-1}.credentials>h3{grid-area:2/1;margin:0;font-size:17px}.credentials>p:not(.eyebrow){grid-area:3/1;margin-top:-15px}.credentials>div{margin:0}.credentials>div:first-of-type{grid-area:2/2/4}.credentials .text-link{align-self:start;margin-top:0}.capabilities{padding-block:5px 55px}.capability-grid{grid-template-columns:1fr 1fr;gap:26px;margin-top:22px;padding-top:22px}.capability-grid h3{font-size:13px}.capability-grid p{font-size:11px}.contact{padding-block:37px 42px}.contact-top{display:block}.contact-top>p:last-child{margin-top:16px;font-size:11px}.contact h2{margin:26px 0;font-size:clamp(59px,14vw,100px)}.contact-bottom{flex-wrap:wrap;gap:24px}.contact-bottom .button{min-width:150px}.email-link{order:3;font-size:12px}.contact-bottom .text-link:last-child{margin-left:0}.site-footer{flex-wrap:wrap;gap:16px;padding-block:22px;font-size:9px}.site-footer>p:nth-child(2){order:3;width:100%}.site-footer>div{margin-left:auto}.index-page,.experience-page{padding-top:42px;padding-bottom:60px}.index-page h1,.experience-page h1{font-size:53px}.page-intro{margin-top:23px;font-size:14px}.work-index{gap:42px;margin-top:38px}.additional-work{margin-top:55px}.additional-work h2{font-size:34px}.additional-work>div{grid-template-columns:1fr;gap:30px}.additional-work h3{font-size:17px}.additional-work p{font-size:13px}.case-page{padding-top:25px;padding-bottom:45px}.case-title{padding:32px 0 26px}.case-title h1{overflow-wrap:anywhere;font-size:clamp(48px,12vw,80px)}.case-summary{margin-top:18px;font-size:18px}.case-meta{grid-template-columns:1fr 1fr;gap:22px;padding-top:20px}.case-meta>div:first-child{grid-column:1/-1}.case-meta dd{font-size:11px}.case-page>.system-visual{min-height:310px;padding:28px 22px}.case-page>.system-visual .system-title{font-size:34px}.case-page>.system-visual .system-nodes>div{font-size:10px}.case-story{grid-template-columns:1fr;gap:32px;margin-top:35px}.case-story>aside{position:static}.case-story .workflow{max-width:none;margin-block:15px 20px}.case-story h2{margin-block:15px 20px;font-size:41px}.case-story section>p:not(.eyebrow){font-size:14px}.case-story section{margin-bottom:42px}.case-details h3{font-size:17px}.case-details p{font-size:13px}.next-project>span:last-child{gap:20px;font-size:35px;line-height:1.2}.next-project .arrow{font-size:32px}.expanded-experience{margin-top:40px}.expanded-experience>article{grid-template-columns:1fr;gap:12px;padding-block:25px}.expanded-experience h2{font-size:24px}.expanded-experience h3,.expanded-experience p{font-size:13px}.education-detail{margin-left:0}.education-detail h2{font-size:36px}.education-detail h3{font-size:15px}.education-detail>p:not(.eyebrow),.credential-list{font-size:13px}.not-found{padding-block:60px}.not-found h1{font-size:50px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.will-reveal{opacity:1;transform:none}}@media print{.site-header,.site-footer,.contact,.mobile-menu{display:none}.will-reveal{opacity:1;transform:none}body{background:#fff}.shell{width:100%}}.button{border:0;border-radius:0;height:auto;font-weight:400}button:focus-visible{outline:2px solid var(--green);outline-offset:6px}.status-badge{border-color:var(--line);white-space:normal;text-align:left;border-radius:0;justify-content:flex-start;max-width:100%;height:auto;padding:4px 8px;font-size:11px}.mobile-menu-trigger{height:auto;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:0;gap:22px;padding:0 0 0 10px;font-size:12px;font-weight:400}.mobile-menu-trigger>span{font-size:21px}.portfolio-sheet{border-color:var(--line);gap:22px;width:min(420px,100vw);max-width:100vw;padding:32px 28px;overflow-y:auto;box-shadow:-10px 0 40px #2428200d}.portfolio-sheet-header{gap:8px;padding:0 45px 0 0}.portfolio-sheet-header [data-slot=sheet-title]{font-family:var(--font-sans), Arial, sans-serif;letter-spacing:-.035em;font-size:20px;font-weight:600}.portfolio-sheet-header [data-slot=sheet-description]{letter-spacing:.13em;text-transform:uppercase;font-size:9px}.portfolio-sheet>button[data-slot=sheet-close]{cursor:pointer;width:44px;height:44px;top:26px;right:22px}.portfolio-mobile-links{display:grid}.portfolio-mobile-links a{font-size:28px;font-family:var(--font-serif), Georgia, serif;letter-spacing:-.025em;justify-content:space-between;align-items:center;gap:20px;padding-block:15px;display:flex}.portfolio-mobile-links a:hover{color:var(--green)}.portfolio-mobile-links a>span{font-size:21px}.mobile-cv{font-size:12px}.portfolio-sheet-footer{gap:18px;padding:28px 0 0}.portfolio-sheet-footer p{font-size:12px}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1)}.reading-progress{z-index:60;background:var(--green);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto}.page-stage{animation:page-arrive .3s var(--ease-out) both}@keyframes page-arrive{0%{transform:translateY(16px)}to{transform:none}}.hero-statement .hero-line{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:clip}.hero-line>span{transform-origin:0 100%;max-width:100%;animation:headline-arrive .7s var(--ease-out) both;display:inline-block}.hero-line:nth-child(2)>span{animation-delay:70ms}.hero-line:nth-child(3)>span{animation-delay:.14s}@keyframes headline-arrive{0%{transform:translateY(112%)rotate(1.5deg)}to{transform:translateY(0)rotate(0)}}.hero-eyebrow{animation:detail-arrive .5s var(--ease-out) both}@keyframes detail-arrive{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}.magnetic-target{vertical-align:middle;flex-shrink:0;display:inline-flex}.project-image-mask{overflow:hidden}.project-image-depth{transform-origin:50%}.will-reveal{opacity:0;transition:transform .7s var(--ease-out), opacity .5s var(--ease-out);transition-delay:calc(var(--reveal-order,0) * 45ms);transform:translateY(36px)}.will-reveal.in-view,.workflow.will-reveal,.system-nodes.will-reveal{opacity:1;transform:none}.workflow.will-reveal li,.system-nodes.will-reveal>div{opacity:0;transition:transform .5s var(--ease-out), opacity .3s var(--ease-out);transform:translate(-12px)}.workflow.in-view li,.system-nodes.in-view>div{opacity:1;transform:none}.workflow li:nth-child(2),.system-nodes>div:nth-child(2){transition-delay:60ms}.workflow li:nth-child(3),.system-nodes>div:nth-child(3){transition-delay:.12s}.workflow li:nth-child(4),.system-nodes>div:nth-child(4){transition-delay:.18s}.workflow li:nth-child(5),.system-nodes>div:nth-child(5){transition-delay:.24s}.browser-frame{transition:transform .5s var(--ease-out)}.button{transition:transform .16s var(--ease-out), background-color .16s ease}.button:hover{transform:none}.button:active{transform:scale(.97)}.text-link .arrow{transition:transform .16s var(--ease-out)}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";transform-origin:0;height:1px;transition:transform .16s var(--ease-out);background:currentColor;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){.project-image-link:hover .browser-frame{transform:translateY(-8px)scale(1.012)}.button:hover .arrow,.text-link:hover .arrow{transform:translate(3px,-3px)}.desktop-nav a:hover:after{transform:scaleX(1)}}@media (hover:none),(pointer:coarse){.project-image-link:hover .browser-frame,.text-link:hover .arrow{transform:none}}.portfolio-sheet[data-state=open]{animation:sheet-arrive .28s var(--ease-drawer) both}.portfolio-sheet[data-state=closed]{animation:sheet-leave .22s var(--ease-out) both}@keyframes sheet-arrive{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sheet-leave{0%{transform:translate(0)}to{transform:translate(100%)}}.portfolio-sheet[data-state=open] .portfolio-mobile-links a{animation:menu-link-arrive .25s var(--ease-out) both}.portfolio-sheet[data-state=open] .portfolio-mobile-links a:nth-child(2){animation-delay:35ms}.portfolio-sheet[data-state=open] .portfolio-mobile-links a:nth-child(3){animation-delay:70ms}.portfolio-sheet[data-state=open] .portfolio-mobile-links a:nth-child(4){animation-delay:.105s}@keyframes menu-link-arrive{0%{opacity:.3;transform:translate(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}.reading-progress{display:none}.page-stage,.hero-line>span,.project-image-depth,.magnetic-target,.will-reveal,.workflow.will-reveal li,.system-nodes.will-reveal>div,.portfolio-mobile-links a,.project-image-link:hover .browser-frame,.text-link:hover .arrow{opacity:1;transform:none!important}}@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-font-weight{syntax:"*";inherits:false}@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}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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-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}@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))}}
