/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) 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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--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:"Geist Variable", sans-serif;--color-neutral-100:oklch(97% 0 none);--color-neutral-200:oklch(92.2% 0 none);--color-neutral-300:oklch(87% 0 none);--color-neutral-400:oklch(70.8% 0 none);--color-neutral-500:oklch(55.6% 0 none);--color-neutral-600:oklch(43.9% 0 none);--color-neutral-700:oklch(37.1% 0 none);--color-neutral-800:oklch(26.9% 0 none);--color-neutral-900:oklch(20.5% 0 none);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--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;--font-weight-semibold:600;--font-weight-extrabold:800;--radius-md:calc(var(--radius) * .8);--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--font-heading:var(--font-sans);--color-accent:var(--accent)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.invisible{visibility:hidden}.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}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.right-0{right:0}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-\[2px\]{bottom:-2px}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-full{left:100%}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[5\/4\]{aspect-ratio:5/4}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-\[250px\]{height:250px}.h-full{height:100%}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[410px\]{min-height:410px}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.overflow-hidden{overflow:hidden}.overflow-x-clip{overflow-x:clip}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[color-mix\(in_srgb\,var\(--color-bg\)_60\%\,transparent\)\]{border-color:var(--color-bg)}@supports (color:color-mix(in lab, red, red)){.border-\[color-mix\(in_srgb\,var\(--color-bg\)_60\%\,transparent\)\]{border-color:color-mix(in srgb,var(--color-bg) 60%,transparent)}}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-bg\)\]{border-color:var(--color-bg)}.border-\[var\(--color-divider\)\]{border-color:var(--color-divider)}.border-\[var\(--color-neutral-900\)\]{border-color:var(--color-neutral-900)}.border-transparent{border-color:#0000}.bg-\[color-mix\(in_srgb\,\#201e1d_35\%\,transparent\)\]{background-color:#201e1d59}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-neutral-100\)\]{background-color:var(--color-neutral-100)}.bg-\[var\(--color-neutral-900\)\]{background-color:var(--color-neutral-900)}.bg-transparent{background-color:#0000}.bg-linear-to-t{--tw-gradient-position:to top}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-t{--tw-gradient-position:to top in oklab}}.bg-linear-to-t{background-image:linear-gradient(var(--tw-gradient-stops))}.from-background\/35{--tw-gradient-from:var(--background)}@supports (color:color-mix(in lab, red, red)){.from-background\/35{--tw-gradient-from:color-mix(in oklab, var(--background) 35%, transparent)}}.from-background\/35{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-16{padding-top:calc(var(--spacing) * 16)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-4{padding-left:calc(var(--spacing) * 4)}.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-\[11px\]{font-size:11px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--color-accent-700\)\]{color:var(--color-accent-700)}.text-\[var\(--color-bg\)\]{color:var(--color-bg)}.text-\[var\(--color-bg\)\]\!{color:var(--color-bg)!important}.text-\[var\(--color-neutral-900\)\]\!{color:var(--color-neutral-900)!important}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text\)\]\!{color:var(--color-text)!important}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-foreground{color:var(--foreground)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-\[cubic-bezier\(0\.23\,1\,0\.32\,1\)\]{--tw-ease:cubic-bezier(.23,1,.32,1);transition-timing-function:cubic-bezier(.23,1,.32,1)}.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){.group-hover\/cutout\:scale-\[1\.03\]:is(:where(.group\/cutout):hover *){scale:1.03}.hover\:border-\[var\(--color-bg\)\]:hover{border-color:var(--color-bg)}.hover\:border-\[var\(--color-neutral-900\)\]:hover{border-color:var(--color-neutral-900)}.hover\:bg-\[color-mix\(in_srgb\,var\(--color-bg\)_12\%\,transparent\)\]:hover{background-color:var(--color-bg)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--color-bg\)_12\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--color-bg) 12%,transparent)}}.hover\:bg-\[var\(--color-neutral-200\)\]:hover{background-color:var(--color-neutral-200)}.hover\:bg-\[var\(--color-surface\)\]:hover{background-color:var(--color-surface)}.hover\:bg-black:hover{background-color:var(--color-black)}.hover\:text-\[var\(--color-bg\)\]\!:hover{color:var(--color-bg)!important}.hover\:text-\[var\(--color-neutral-900\)\]\!:hover{color:var(--color-neutral-900)!important}.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}.hover\:text-\[var\(--color-text\)\]\!:hover{color:var(--color-text)!important}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--color-accent\)\]:focus-visible{outline-color:var(--color-accent)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-ending-style\:opacity-0[data-ending-style],.data-starting-style\:opacity-0[data-starting-style]{opacity:0}.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\=bottom\]\:data-ending-style\:translate-y-\[2\.5rem\][data-side=bottom][data-ending-style],.data-\[side\=bottom\]\:data-starting-style\:translate-y-\[2\.5rem\][data-side=bottom][data-starting-style]{--tw-translate-y:2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.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\=left\]\:data-ending-style\:translate-x-\[-2\.5rem\][data-side=left][data-ending-style],.data-\[side\=left\]\:data-starting-style\:translate-x-\[-2\.5rem\][data-side=left][data-starting-style]{--tw-translate-x:-2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.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-2[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:2px}.data-\[side\=right\]\:data-ending-style\:translate-x-\[2\.5rem\][data-side=right][data-ending-style],.data-\[side\=right\]\:data-starting-style\:translate-x-\[2\.5rem\][data-side=right][data-starting-style]{--tw-translate-x:2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}.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}.data-\[side\=top\]\:data-ending-style\:translate-y-\[-2\.5rem\][data-side=top][data-ending-style],.data-\[side\=top\]\:data-starting-style\:translate-y-\[-2\.5rem\][data-side=top][data-starting-style]{--tw-translate-y:-2.5rem;translate:var(--tw-translate-x) var(--tw-translate-y)}@media (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)}}.dark\:from-background\/50:is(.dark *){--tw-gradient-from:var(--background)}@supports (color:color-mix(in lab, red, red)){.dark\:from-background\/50:is(.dark *){--tw-gradient-from:color-mix(in oklab, var(--background) 50%, transparent)}}.dark\:from-background\/50:is(.dark *){--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}}@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:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@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}:root{--color-bg:#f3f2f2;--color-surface:#eae9e9;--color-text:#201e1d;--color-accent:#ec3013;--color-accent-2:#e15b47;--color-divider:#201e1d66;--color-neutral-100:#f8f4f4;--color-neutral-200:#eae7e7;--color-neutral-300:#d7d3d3;--color-neutral-400:#bab6b6;--color-neutral-500:#9b9797;--color-neutral-600:#7d7979;--color-neutral-700:#605d5d;--color-neutral-800:#444141;--color-neutral-900:#2d2b2b;--color-accent-100:#fff2ef;--color-accent-600:#dd2b0f;--color-accent-700:#ae1800;--color-accent-800:#7c1405;--color-text-muted:var(--color-neutral-700);--font-heading:"Archivo", system-ui, sans-serif;--font-heading-weight:800;--font-body:"Archivo", system-ui, sans-serif;--font-math:"STIX Two Math","Latin Modern Math","Cambria Math",math,serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-md:0px;--nav-h:66px;--shadow-sm:0 1px 2px #2d2b2b24;--ink:var(--color-text);--ink-2:var(--color-neutral-700);--ink-3:var(--color-neutral-800);--line:var(--color-divider);--accent:var(--color-accent)}*,:before,:after{box-sizing:border-box}html{scrollbar-color:var(--color-neutral-600) var(--color-bg)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);caret-color:var(--color-accent);accent-color:var(--color-accent);margin:0;font-size:16px;line-height:1.55}h1,h2,h3,h4,h5{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:-.015em;margin:0 0 var(--space-2);text-wrap:balance;line-height:1.12}h1{font-size:42px}h2{font-size:32px}h3{font-size:22px}h4{font-size:18px}h5{font-size:16px}p{margin:0 0 var(--space-3);text-wrap:pretty}a{color:var(--color-neutral-900);text-underline-offset:3px}a:hover{color:var(--color-accent-700)}img{max-width:100%;display:block}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 25%, transparent)}.grayscale{filter:grayscale()contrast(1.08)}.wrap{padding-inline:clamp(20px,5vw,64px)}.skip{z-index:100;background:var(--color-neutral-900);color:var(--color-bg);padding:12px 16px;font-weight:800;text-decoration:none;position:absolute;top:8px;left:-9999px}.skip:hover,.skip:focus{color:var(--color-bg)}.skip:focus{left:16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hr{height:2px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);color:var(--color-text);background:0 0;border:1px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:12px 16px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-neutral-900);color:var(--color-bg);border-color:var(--color-neutral-900)}.btn-primary:hover{background:var(--color-neutral-700);color:var(--color-bg)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent);color:var(--color-text)}.btn-lg{padding:14px 22px;font-size:16px}.card{padding:var(--space-4);border:1px solid var(--color-divider);background:var(--color-surface);border-radius:0}.figure-card{border:1px solid var(--color-divider);background:var(--color-surface);max-width:820px;padding:var(--space-4);margin:var(--space-3) 0;scrollbar-color:var(--color-neutral-600) transparent;border-radius:0;overflow-x:auto}.figure-card--fit{max-width:520px}.figure-card svg{width:100%;max-width:460px;height:auto;margin-inline:auto;display:block}.figure-card img{width:100%;max-width:520px;height:auto;margin-inline:auto;display:block}.figure-card model-viewer{--poster-color:transparent;width:100%;height:380px;display:block}.tradespace-tabs{margin-bottom:var(--space-3);flex-wrap:wrap;gap:6px;display:flex}.tradespace-tab{font:600 13px/1 var(--font-body);border:1px solid var(--color-divider);min-height:44px;color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:0;padding:12px 14px}.tradespace-tab[aria-pressed=true]{background:var(--color-neutral-900);color:var(--color-bg);border-color:var(--color-neutral-900)}.tradespace-legend{color:var(--color-text-muted);margin-bottom:var(--space-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.tradespace-legend-item{align-items:center;gap:6px;display:inline-flex}.tradespace-dot{width:8px;height:8px;display:inline-block}.tradespace-canvas-wrap{position:relative}.tradespace-canvas-wrap canvas{touch-action:pan-y;width:100%;height:340px;display:block}.tradespace-canvas-wrap canvas:focus-visible{outline-offset:-2px}.tradespace-hint{color:var(--color-text-muted);max-width:70ch;margin-top:4px;font-size:13px}.tradespace-axis-label{color:var(--color-text-muted);text-align:center;margin-top:4px;font-size:12px}.tradespace-tooltip{pointer-events:none;background:var(--color-bg);border:1px solid var(--color-divider);color:var(--color-text);white-space:nowrap;opacity:0;font-variant-numeric:tabular-nums;padding:6px 9px;font-size:12px;line-height:1.5;transition:opacity .1s;position:absolute}.tradespace-tooltip .t-veh{font-weight:700}.tradespace-tooltip .t-status{font-size:12px;font-weight:600}.figure-title{letter-spacing:.01em;color:var(--color-text-muted);margin-bottom:var(--space-3);font-size:13px;font-weight:600}.figure-caption{color:var(--color-text-muted);margin-top:var(--space-3);max-width:75ch;font-size:14px}.eqn-block{border:1px solid var(--color-divider);background:var(--color-surface);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;scrollbar-color:var(--color-neutral-600) transparent;max-width:820px;overflow-x:auto}.eqn-label{letter-spacing:.01em;color:var(--color-text-muted);margin-bottom:6px;font-size:13px;font-weight:600}.eqn-block math{font-family:var(--font-math);margin:.35em 0;font-size:1.2em}.eqn-note{color:var(--color-text-muted);margin:var(--space-2) 0 0;max-width:70ch;font-size:14px}.method-copy p{max-width:70ch}.method-copy code{background:var(--color-neutral-100);padding:1px 5px}.method-copy h4{margin-top:var(--space-6);margin-bottom:var(--space-2)}.method-copy math{font-family:var(--font-math);font-size:1.1em}header{z-index:40;position:sticky;top:0}.nav{align-items:center;gap:var(--space-4);padding:var(--space-2) clamp(20px,5vw,64px);border-bottom:2px solid var(--color-divider);background:var(--color-bg);display:flex}.nav-brand{font-family:var(--font-heading);letter-spacing:-.01em;white-space:nowrap;margin-right:auto;font-size:17px;font-weight:800}.nav a{color:inherit;align-items:center;min-height:44px;padding:12px 4px;font-size:14px;text-decoration:none;display:inline-flex}.nav a.btn{padding:12px 16px}.nav a:hover{color:var(--color-accent-700)}.nav a.btn:hover{color:var(--color-text)}@media (width<=600px){.nav{gap:var(--space-3)}.nav .nav-skills,.nav .nav-linkedin{display:none}}.hero{border-bottom:2px solid var(--color-divider);grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(48px,9vw,110px) clamp(20px,5vw,64px) clamp(40px,6vw,72px);display:grid}.hero h1{max-width:26ch;margin-bottom:var(--space-4);font-size:clamp(28px,3.6vw,46px)}.hero-sub{margin-top:var(--space-2);color:var(--color-neutral-800);font-size:.55em;line-height:1.3;display:block}.hero p{max-width:58ch;color:var(--color-neutral-800);margin-bottom:var(--space-6);font-size:clamp(16px,1.6vw,18px)}.hero-figure{border:1px solid var(--color-divider);background:var(--color-neutral-100);width:100%;max-width:520px;color:inherit;margin-left:auto;text-decoration:none;display:block}.hero-figure:hover{color:inherit}.hero-figure img{aspect-ratio:5/4;object-fit:contain;width:100%;height:auto}.hero-figure .frame-tb{border-style:solid;border-width:1px 0 0;margin-top:0}.hero-figure .tb-cta .tb-value{font-weight:800}.hero-figure:hover .tb-cta .tb-value{text-underline-offset:3px;text-decoration:underline}.headshot-photo{aspect-ratio:4/5;border:1px solid var(--color-divider);object-fit:cover;object-position:center 20%;width:100%;max-width:200px;margin-bottom:var(--space-4);display:block}@media (width<=760px){.hero{grid-template-columns:1fr}.hero-figure{margin-left:0}}#reel{scroll-margin-top:var(--nav-h)}.sheet-head{padding:clamp(28px,4vw,56px) clamp(20px,5vw,64px) clamp(12px,2vw,20px)}.sheet-head h2{margin:0}.sheet-head p{margin:var(--space-2) 0 0;color:var(--color-text-muted);max-width:60ch}.sheetset{margin:0 clamp(20px,5vw,64px) var(--space-8);border:2px solid var(--color-divider)}.sheetset-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-divider);flex-wrap:wrap;display:flex}.sheetset-head h3{margin:0;font-size:18px}.sheet{background:var(--color-divider);grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;display:grid}@media (width<=1100px){.sheet{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.sheet{grid-template-columns:1fr}}.frame{background:var(--color-bg);color:inherit;flex-direction:column;gap:10px;padding:clamp(14px,1.8vw,22px);text-decoration:none;display:flex;box-shadow:inset 0 3px #0000}@supports (grid-template-rows:subgrid){.frame{grid-row:span 5;grid-template-rows:subgrid;align-content:start;row-gap:10px;display:grid}}.frame:hover{color:inherit;background:var(--color-surface);box-shadow:inset 0 3px 0 var(--color-accent)}.frame:focus-visible{outline:2px solid var(--color-accent);outline-offset:-5px}.frame-fig{background:var(--color-neutral-100);justify-content:center;align-items:center;width:100%;height:clamp(120px,13vw,160px);display:flex}.frame-fig svg{width:100%;height:100%}.frame-fig img{object-fit:cover;width:100%;height:100%}.frame h4{margin:0;font-size:clamp(17px,1.8vw,20px)}.frame p{color:var(--color-neutral-800);margin:0;font-size:14px}.frame .view-link{font:600 14px var(--font-heading);color:var(--color-neutral-900)}.frame-tb{background:var(--color-divider);border:1px solid var(--color-divider);grid-template-columns:1fr 1fr;gap:1px;margin-top:auto;display:grid}.frame-tb>div{background:var(--color-bg);min-width:0;padding:6px 10px}.frame:hover .frame-tb>div{background:var(--color-surface)}.frame-tb .tb-value{overflow-wrap:anywhere;font-size:14px}.frame-tb .tb-wide{grid-column:1/-1}.frame-tb .tb-result{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.4;display:block}.frame-tb .tb-result strong{color:var(--color-accent-700);font-weight:800}.sheet-rows{background:var(--color-divider);gap:2px;display:grid}.row{gap:var(--space-4);background:var(--color-bg);padding:var(--space-4) clamp(14px,1.8vw,22px);color:inherit;grid-template-columns:230px minmax(0,1fr) 190px;align-items:baseline;text-decoration:none;display:grid;box-shadow:inset 0 3px #0000}.row:hover{color:inherit;background:var(--color-surface);box-shadow:inset 0 3px 0 var(--color-accent)}.row:focus-visible{outline:2px solid var(--color-accent);outline-offset:-5px}.row h4{margin:0;font-size:clamp(17px,1.8vw,20px)}.row p{color:var(--color-neutral-800);max-width:72ch;margin:0;font-size:14px}.row-meta{color:var(--color-text-muted);text-align:right;text-wrap:balance;font-size:13px}@media (width<=900px){.row{grid-template-columns:minmax(0,1fr) auto}.row p{grid-area:2/1/auto/-1}}@media (width<=600px){.row{grid-template-columns:1fr;gap:4px}.row p{grid-area:auto}.row-meta{white-space:normal;text-align:left}}.project-section{border-bottom:2px solid var(--color-divider);scroll-margin-top:var(--nav-h);padding:clamp(48px,7vw,88px) clamp(20px,5vw,64px);display:none}.project-section:target{display:block}.back-to-reel{font:600 14px var(--font-heading);color:var(--color-text-muted);min-height:44px;margin-bottom:var(--space-2);align-items:center;padding:0 8px 0 0;display:inline-flex}.project-head{max-width:820px;margin-bottom:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-head h2{max-width:22ch}.project-tagline{max-width:70ch;color:var(--color-neutral-800);font-size:17px}.subhead{scroll-margin-top:calc(var(--nav-h) + 16px);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-top:var(--space-8);font-size:14px}.toc{z-index:5;top:calc(var(--nav-h) + 32px);border-left:2px solid var(--color-divider);width:172px;padding-left:var(--space-3);flex-direction:column;align-items:flex-start;gap:2px;display:flex;position:fixed;left:calc(clamp(20px,5vw,64px) + 900px)}.toc-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2);font-size:12px}.toc button{font:600 14px var(--font-heading);color:var(--color-text-muted);text-align:left;cursor:pointer;background:0 0;border:0;min-height:32px;padding:6px 0}.toc button:hover{color:var(--color-text)}.toc button[aria-current=true]{color:var(--color-text);text-decoration:underline;-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent);text-underline-offset:5px;text-decoration-thickness:2px;box-shadow:inset 2px 0 #0000}.toc button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=1199px){.toc{display:none}}.glance{max-width:820px;margin:var(--space-4) 0 var(--space-6)}.jump{align-items:center;gap:var(--space-2);margin:0 0 var(--space-6);flex-wrap:wrap;display:flex}.jump-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-right:var(--space-1);font-size:12px}.jump button{font:600 14px var(--font-heading);color:var(--color-text);border:1px solid var(--color-divider);cursor:pointer;background:0 0;min-height:44px;padding:8px 12px}.jump button:hover{background:var(--color-surface)}.jump button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width>=1200px){.jump{display:none}}.project-next{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:820px;margin-top:var(--space-8);padding-top:var(--space-4);border-top:2px solid var(--color-divider);flex-wrap:wrap;display:flex}.project-next a{font:600 15px var(--font-heading);color:var(--color-text);align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.project-next a:hover{color:var(--color-accent-700)}.caution{color:var(--color-accent-800);background:var(--color-accent-100);border:1px solid var(--color-accent);max-width:64ch;margin:var(--space-3) 0;padding:9px 12px;font-size:14px}.tb-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;display:block}.tb-value{font-size:15px;font-weight:800;display:block}.about{border-bottom:2px solid var(--color-divider);grid-template-columns:1.4fr 1fr;gap:clamp(28px,4vw,56px);padding:clamp(48px,7vw,96px) clamp(20px,5vw,64px);display:grid}.about h2{max-width:22ch;margin-bottom:var(--space-4)}.about p{color:var(--color-neutral-800);max-width:60ch;font-size:17px}.skills{border-bottom:2px solid var(--color-divider);padding:clamp(48px,7vw,96px) clamp(20px,5vw,64px)}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,40px);display:grid}.skills-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-item{align-items:center;gap:8px;font-size:15px;display:flex}.skill-dot{background:var(--color-neutral-900);flex:none;width:6px;height:6px}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.about{grid-template-columns:1fr}}@media (width<=520px){.skills-grid{grid-template-columns:1fr}}.resume-band{background:var(--color-neutral-900);color:var(--color-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:clamp(48px,8vw,100px) clamp(20px,5vw,64px);display:flex}.resume-band h2{color:var(--color-bg);margin-bottom:var(--space-2)}.resume-band p{color:var(--color-neutral-300);max-width:46ch;margin-bottom:0;font-size:18px}.resume-band .btn{border:1px solid var(--color-bg);color:var(--color-bg)}.resume-band .btn:hover{background:color-mix(in srgb, var(--color-bg) 12%, transparent);color:var(--color-bg)}.resume-band .btn-light{background:var(--color-bg);color:var(--color-neutral-900)}.resume-band .btn-light:hover{background:var(--color-neutral-200);color:var(--color-neutral-900)}.resume-band .btn:focus-visible{outline-color:var(--color-bg)}.about,.skills,.resume-band{scroll-margin-top:var(--nav-h)}footer{padding:var(--space-6) clamp(20px,5vw,64px);border-top:2px solid var(--color-divider);color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;display:flex}.rc-title{margin:0 0 4px;padding-right:28px;font-size:clamp(17px,1.8vw,20px)}.rc-link{color:inherit;text-decoration:none}.rc-link:after{content:"";z-index:5;position:absolute;inset:0}.rc-link:focus-visible{outline:none}.rc-link:focus-visible:after{outline:2px solid var(--color-accent);outline-offset:-5px}.rc-media{border:1px solid var(--color-divider)}.rc-fig{background:var(--color-neutral-100);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.rc-fig svg{width:100%;height:100%}.rc-fig img{object-fit:cover;width:100%;height:100%;display:block}.rc-view{font:600 14px var(--font-heading);height:40px;color:var(--color-neutral-900);align-items:center;gap:6px;display:flex}.rc-desc{color:var(--color-neutral-800);margin:0 0 12px;font-size:14px}.sheet .frame-tb{margin-top:0}.sheet>div{min-width:0}.nav-links{align-items:center;gap:var(--space-4);display:flex}.nav .nav-links a:not([data-slot=button]){padding:12px 4px}.nav a[data-slot=button]{padding:0 16px}.nav-menu{display:none}@media (width<=600px){.nav-links{display:none}.nav-menu{display:inline-flex}}.sheet-link{min-height:52px;font:800 22px var(--font-heading);letter-spacing:-.01em;color:var(--color-text);border-bottom:1px solid var(--color-divider);align-items:center;text-decoration:none;display:flex}.sheet-link:hover{color:var(--color-accent-700)}.rc-view{gap:6px}.rc-view svg{flex:none}
